-"use strict";angular.module("xCallyShuttleApp",["adf","adf.structures.base","adf.widget.clock","adf.widget.iframe","adf.widget.counter","adf.widget.pie-chart","angular-md5","angular.filter","angularFileUpload","ngLetterAvatar","vAccordion","btford.socket-io","chart.js","checklist-model","colorpicker.module","frapontillo.bootstrap-switch","LocalStorageModule","mgo-angular-wizard","ng-slide-down","ngAnimate","ngBootstrap","ngCookies","ngCsv","ngFileSaver","ngJsTree","ngMap","ngPapaParse","ngResource","ngSanitize","notification","oc.lazyLoad","pascalprecht.translate","remoteValidation","smart-table","sprintf","timer","toastr","permission","ui-notification","ui.bootstrap.modal","ui.bootstrap.dropdown","ui.bootstrap.popover","ui.bootstrap.timepicker","ui.bootstrap.tooltip","ui.bootstrap.tpls","ui.bootstrap.accordion","ui.bootstrap.progressbar","ui.bootstrap.buttons","ui.bootstrap.typeahead","ui.grid","ui.grid.autoResize","ui.grid.draggable-rows","ui.grid.exporter","ui.grid.grouping","ui.grid.moveColumns","ui.grid.pagination","ui.grid.treeView","ui.grid.selection","ui.grid.exporter","ui.grid.resizeColumns","ui.router","ui.navbar","ui.select","ui.sortable","xeditable","ngAudio","truncate","ngScrollbars","ngEmoticons","angularSpinner","builder","builder.components","validator","angular-clipboard","ng-code-mirror","angularMoment","jsonFormatter","ui.bootstrap-slider","ui.bootstrap.datepicker","prettyBytes","bootstrapLightbox","rzModule","ckeditor","ngTagsInput","ngJoyRide","adf.widget.linklist"]).constant("CKEDITOR_BASEPATH","assets/plugins/ckeditor/").config(["$stateProvider","$urlRouterProvider","$locationProvider","$httpProvider","$translateProvider","localStorageServiceProvider","dashboardProvider","ScrollBarsProvider","tagsInputConfigProvider",function(a,b,c,d,e,f,g,h,i){i.setActiveInterpolation("tagsInput",{placeholder:!0}),b.otherwise(function(a){var b=a.get("$state");b.go("landing")}),e.useStaticFilesLoader({prefix:"assets/languages/locale-",suffix:".json"}),e.preferredLanguage("en_EN"),e.fallbackLanguage("en_EN"),e.useLocalStorage(),e.useSanitizeValueStrategy(null),c.html5Mode(!0),d.interceptors.push("authInterceptor"),g.structure("4-4-4",{rows:[{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("3-3-3-3",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"}]}]}),f.setPrefix("motion"),h.defaults={scrollButtons:{scrollAmount:"auto",enable:!0},axis:"y"}}]).factory("authInterceptor",["$rootScope","$q","$cookieStore","$location",function(a,b,c,d){return{request:function(a){return a.headers=a.headers||{},c.get("token")?a.headers.Authorization="Bearer "+c.get("token"):d.path().match(/\/reset\/.[0-9]*/)||d.path("/login"),a}}}]).run(["$rootScope","$location","$state","$stateParams","$window","$q","Auth","RoleStore","editableThemes","editableOptions","License","User","PermissionStore","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.$state=c,a.$stateParams=d,i.bs3.inputClass="input-sm",i.bs3.buttonsClass="btn-xs",j.theme="bs3",a.$on("$stateChangeStart",function(a,c){g.isLoggedInAsync(function(a){!c.authenticate||a||b.path().match(/\/reset\/.[0-9]*/)||b.path("/login")})}),a.updateTableConfig=function(a,b){var c=_.find(a,{name:"All"});c&&(c.value=b)},a.settings={patternName:"[A-Za-z0-9._\\+*!\\-\\[\\]]+",patternPassword:"^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\\-_=+\\[\\{\\]\\}.])[0-9a-zA-Z~!@#$%^&\\-_=+\\[\\{\\]\\}.]{8,}$",patternPasswordLight:"^[a-zA-Z0-9~!@#$%^&\\-_=+\\[\\{\\]\\}.]{6,}$",patternGateway:"^(?:yes|no|[0-9]+)$",patternFaxdetect:"^(?:yes|no|t38|cng|[0-9]+)$",layout:{pageSidebarClosed:n.get("sidebarClosed")||!1,pageQuickSidebarOpened:!1,pageBodySolid:!1,pageAutoScrollOnLoad:1e3}},k.get().$promise.then(function(b){a.license=b.license,a.settings.soundPath=b.soundPath||"/var/opt/motion/server/files/sounds/converted",a.settings.logo=b.logo,a.settings.defaultLogo=b.defaultLogo,a.settings.loginLogo=b.loginLogo,a.settings.defaultLoginLogo=b.defaultLoginLogo,a.settings.footerWhiteLabel=b.footerWhiteLabel,a.settings.defaultFooterWhiteLabel=b.defaultFooterWhiteLabel,m.definePermission("hasCm",function(){return a.license.cm}),m.definePermission("hasChat",function(){return a.license.chat}),m.definePermission("hasMail",function(){return a.license.mail}),m.definePermission("hasFax",function(){return a.license.fax}),m.definePermission("hasSms",function(){return a.license.messaging}),m.definePermission("hasDialer",function(){return a.license.dialer}),m.definePermission("hasJscripty",function(){return a.license.jscripty}),m.definePermission("hasUpdate",function(){return a.license.update}),m.definePermission("hasCustom",function(){return a.license.custom}),m.definePermission("hasOpenChannel",function(){return a.license.openchannel})})["catch"](function(a){console.log(a)}),m.definePermission("agent",function(){return g.isAgent()}),m.definePermission("admin",function(){return g.isAdmin()}),m.definePermission("user",function(a,b){var c=f.defer(),d=g.getCurrentUser().$promise;return d?d.then(function(a){_.includes(_.map(a.Modules,"id"),b.toState.data.permissions.id)&&"user"===a.role?c.resolve():c.reject()})["catch"](function(){c.reject()}):c.resolve(),c.promise})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics",{url:"/analytics",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:17}}})}]),angular.module("xCallyShuttleApp").factory("Extracted",["$resource",function(a){return a("/api/analytics/extracted/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.extracted",{url:"/extracted",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticExtractedListCtrl",["$scope","$translate","gridOptions","Extracted","uiGridConstants",function(a,b,c,d,e){a.moment=moment,a.Extracted=d,a.initView=function(){var b={exporterCsvFilename:"ExtractedReports.csv",columnDefs:[{name:"name"},{name:"startDate",displayName:"APPLICATION_START_DATE",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:e.filter.GREATER_THAN_OR_EQUAL,hasTime:!0},{name:"To",condition:e.filter.LESS_THAN_OR_EQUAL,hasTime:!0}],sort:{direction:e.DESC,priority:0}},{name:"endDate",displayName:"APPLICATION_END_DATE",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:e.filter.GREATER_THAN_OR_EQUAL,hasTime:!0},{name:"To",condition:e.filter.LESS_THAN_OR_EQUAL,hasTime:!0}]},{name:"createdAt",displayName:"APPLICATION_RUN_DATE",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:e.filter.GREATER_THAN_OR_EQUAL,hasTime:!0},{name:"To",condition:e.filter.LESS_THAN_OR_EQUAL,hasTime:!0}]},{name:"output"},{name:"type"},{name:"status"},{name:"action",width:140,buttons:[{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{directive:"<motion-file-download data-ng-show=\"row.entity.status == 'completed'\" resource=\"grid.appScope.Extracted\" params=\"{id:row.entity.id,controller:'download'}\" mimetype=\"'application/'+row.entity.output.toLowerCase()\" filename=\"row.entity.name+'_'+row.entity.startDate.toString()+'_'+row.entity.endDate.toString()+'.'+row.entity.output.toLowerCase()\"></motion-file-download>"}]}]};a.gridOptions=c.gridOptions(d,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.extracted.list",{url:"/list",templateUrl:"app/analytic/extracted/list/list.html",controller:"AnalyticExtractedListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("DefaultMetric",["$resource",function(a){return a("/api/analytics/metrics/default/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCreateModalCtrl",["$scope","$uibModalInstance","Metric","xAlert","$translate","report",function(a,b,c,d,e,f){a.forms={dashboard:void 0},a.item={},a.tables=f.tables,a.ok=function(){return c.save(a.item).$promise.then(function(){b.close()})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCtrl",["$scope","xAlert","Modal","$uibModal","$log","gridOptions","Metric","DefaultMetric","$translate",function(a,b,c,d,e,f,g,h,i){a.$translate=i,a.initView=function(){var b={exporterCsvFilename:"Metrics.csv",columnDefs:[{name:"name"},{name:"table",cellTemplate:"<div style=\"padding:5px\">{{'APPLICATION_'+row.entity.table.toUpperCase() | translate}}</div>"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/analytics/metrics/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]},c={exporterCsvFilename:"defaultMetrics.csv",columnDefs:[{name:"name"},{name:"table",cellTemplate:"<div style=\"padding:5px\">{{'APPLICATION_'+row.entity.table.toUpperCase() | translate}}</div>"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",name:"view",onClick:"grid.appScope.showMetric(row.entity)"},{"class":"purple",name:"clone",onClick:"grid.appScope.cloneMetric(row.entity.id)"}]}]};a.gridOptionsDefault=f.gridOptions(h,c,a,null,null,"Default"),a.gridOptions=f.gridOptions(g,b,a)},a.showMetric=function(a){d.open({animation:!0,templateUrl:"app/analytic/metric/list/view.modal.html",controller:"AnalyticMetricListViewModalCtrl",resolve:{metric:a}})},a.cloneMetric=function(c){return h.get({id:c,controller:"clone"}).$promise.then(function(){b.show(i.instant("MESSAGE_WELL_DONE"),"success"),a.gridOptions.getPage()})["catch"](function(a){b.error(a)})},a.create=function(){var c=d.open({animation:!0,templateUrl:"app/analytic/metric/list/create.modal.html",controller:"AnalyticMetricListCreateModalCtrl"});c.result.then(function(){b.show(i.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridOptions.getPage()},function(){e.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.list",{url:"/list",templateUrl:"app/analytic/metric/list/list.html",controller:"AnalyticMetricListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListViewModalCtrl",["$scope","$uibModalInstance","metric","xAlert","$translate","report",function(a,b,c,d,e,f){a.item=c,a.tables=f.tables,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").factory("Metric",["$resource",function(a){return a("/api/analytics/metrics/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics",{url:"/metrics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricViewCtrl",["$scope","xAlert","$translate","$stateParams","$location","Metric","report",function(a,b,c,d,e,f,g){a.tables=g.tables,a.getMetric=function(){return f.get({id:d.id}).$promise.then(function(b){a.metric=b})["catch"](function(a){e.path("/analytics/metrics/list")})},a.updateMetric=function(){return f.update({id:d.id},a.metric).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.view",{url:"/view/:id",templateUrl:"app/analytic/metric/view/view.html",controller:"AnalyticMetricViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.metrics.view.settings",{url:"/settings",templateUrl:"app/analytic/metric/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("CustomReport",["$resource",function(a){return a("/api/analytics/reports/custom/:precontroller/:id/:controller/:action",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("DefaultReport",["$resource",function(a){return a("/api/analytics/reports/default/:id/:controller/:action",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ReportListCopyModalCtrl",["$scope","$uibModalInstance","$log","customTreeData",function(a,b,c,d){a.customTreeData=d,a.forms={dashboard:void 0},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){c.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0}},a.ac=function(){return!0},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.open_all()},a.ok=function(){a.customTree.get_selected(!0).length?b.close({parent:a.customTree.get_selected(!0).pop().id}):a.showAlert=!0},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListCreateModalCtrl",["$scope","$uibModalInstance","path",function(a,b,c){a.path=c,a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListExtractModalCtrl",["$scope","$uibModalInstance","$translate",function(a,b,c){a.daily=!1,a.dailySwitch={onText:c.instant("APPLICATION_TODAY"),offText:c.instant("APPLICATION_RANGE"),isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"primary"},a.dates={startDate:moment().subtract(1,"days").startOf("day"),endDate:moment().subtract(1,"days").endOf("day")},a.ranges={},a.ranges[c.instant("APPLICATION_YESTERDAY")]=[moment().subtract(1,"days").startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[c.instant("APPLICATION_LAST_SEVEN_DAYS")]=[moment().subtract("days",7).startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[c.instant("APPLICATION_LAST_THIRTY_DAYS")]=[moment().subtract("days",30),moment()],a.ranges[c.instant("APPLICATION_LAST_MONTH")]=[moment().subtract(1,"months").startOf("month"),moment().subtract(1,"months").endOf("month")],a.timepicker={timePickerIncrement:1,timePicker12Hour:!1},a.dailyTime={start:moment("00:00","HH:mm"),end:moment("23:59","HH:mm")},a.maxdate=moment().subtract(1,"days").endOf("day").format("YYYY-MM-DD HH:mm"),a.extract=function(c){var d={startDate:moment(a.dates.startDate).format("YYYY-MM-DD"),endDate:moment(a.dates.endDate).format("YYYY-MM-DD"),startTime:a.daily?moment(a.dailyTime.start).format("HH:mm"):moment(a.dates.startDate).format("HH:mm"),endTime:a.daily?moment(a.dailyTime.end).format("HH:mm"):moment(a.dates.endDate).format("HH:mm"),daily:a.daily,action:c};b.close(d)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticReportListCtrl",["$scope","xAlert","$translate","$location","$log","Modal","$uibModal","FileSaver","Blob","gridOptions","CustomReport","DefaultReport","ReportTree","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){var b=n.get("lastMotionReportNode")||!1,c=n.get("lastMotionReportTree")||!1;return b&&c?(a[c+"Tree"].open_node({id:b}),a[c+"Tree"].select_node({id:b}),!0):!1}function p(b,c){var d={parent:c.id};a.selectedNode=b?a.defaultTree.get_path(c," / "):a.customTree.get_path(c," / "),a.gridOptions?a.gridOptions.getPage({parent:c.id},b?l:k):a.gridOptions=j.gridOptions(b?l:k,q,a,d)}var q={exporterCsvFilename:"reports.csv",columnDefs:[{name:"name"},{name:"description"},{name:"manage",width:120,buttons:[{"class":"{{grid.appScope.defaultTreeActive ? 'display-none' : 'blue-hoki'}}",href:"/analytics/reports/view/{{row.entity.id}}/settings",title:c.instant("APPLICATION_SETTINGS"),name:"settings"},{"class":"{{grid.appScope.defaultTreeActive ? 'display-none' : 'red-sunglo'}}",title:c.instant("APPLICATION_DELETE"),name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{"class":"green",title:c.instant("APPLICATION_COPY"),name:"copy",onClick:"grid.appScope.copy(row.entity.id)"},{"class":"purple",title:c.instant("APPLICATION_EXPORT"),name:"export",onClick:"grid.appScope.export(row.entity.id)"}]},{name:"actions",width:60,buttons:[{"class":"yellow",name:"preview",title:c.instant("APPLICATION_PREVIEW"),onClick:"grid.appScope.preview(row.entity.id)"},{"class":"green-turquoise",name:"run",title:c.instant("APPLICATION_RUN"),onClick:"grid.appScope.extract(row.entity.id)"}]}]};a.searchField="",a.ac=function(){return!0},a.initDefaultScopeTree=function(){a.defaultTree=a.defaultTreeInstance.jstree(!0),a.defaultTree.deselect_all(),a.defaultTree.close_all(),a.defaultTreeReady=!0,a.defaultTreeActive=!0,a.previousDefaultNode=""},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.close_all(),a.customTreeReady=!0,a.previousCustomNode=""},a.$watchGroup(["defaultTreeReady","customTreeReady"],function(b,c,d){b[0]&&b[1]&&(o()||(a.defaultTree.open_node({id:1}),a.customTree.open_node({id:1}),a.defaultTree.select_node({id:"1"})))}),a.updateCustomTree=function(){var c={tree:angular.toJson(a.customTree.get_json("#",{flat:!0}))};return m.update({id:2},c).$promise.then(function(a){console.log("Custom Tree Updated")})["catch"](function(a){b.error(a)})},a.configTrees=function(){a.defaultTreeConfig={multiple:!1,animation:!0,core:{error:function(a){e.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0,themes:{name:"default",url:"../../../assets/css/jstree-metronic/style.css"}},plugins:["search"]},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){e.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:function(a,b,c,d,e){return console.log(a),!0},themes:{name:"default",url:"../../../assets/css/jstree-metronic/style.css"}},plugins:["contextmenu","dnd","search"],contextmenu:{items:function(b,d){var e={create:{label:c.instant("APPLICATION_CREATE"),action:function(c){a.customTree.create_node(b),a.customTree.open_node(b)}},rename:{label:c.instant("APPLICATION_RENAME"),action:function(c){a.customTree.edit(b)}},remove:{label:c.instant("APPLICATION_REMOVE"),action:function(c){a.deleteNode(b)}}};return"#"===b.parent&&(delete e.rename,delete e.remove),d(e),e}}}},a.deleteNode=function(d){var f=g.open({animation:!0,templateUrl:"app/analytic/report/list/deleteNode.modal.html",controller:["$scope","$uibModalInstance","node",function(a,b,c){a.node=c,a.ok=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}],resolve:{node:function(){return d.text}}});f.result.then(function(){return k["delete"]({precontroller:"node",id:d.id}).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.customTree.delete_node(d),a.previousCustomNode==d.id&&a.customTree.select_node({id:d.parent})})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})},a.searchTrees=function(){a.defaultTree.search(a.searchField),a.customTree.search(a.searchField)},a.selectDefaultNode=function(){if(a.customTreeReady){a.previousCustomNode="";var b=a.defaultTree.get_selected(!0),c=b.pop();if(a.defaultTree.deselect_node(b[0],!0),a.customTree.deselect_all(),a.defaultTree.select_node(c,!0),c.id===a.previousDefaultNode)return void console.log("def");a.previousDefaultNode=c.id,n.set("lastMotionReportNode",c.id),n.set("lastMotionReportTree","default"),a.defaultTreeActive=!0,p(!0,c)}},a.selectCustomNode=function(){if(a.defaultTreeReady){a.previousDefaultNode="";var b=a.customTree.get_selected(!0),c=b.pop();if(a.customTree.deselect_node(b[0],!0),a.defaultTree.deselect_all(),a.customTree.select_node(c,!0),c.id===a.previousCustomNode)return void console.log("cus");a.previousCustomNode=c.id,n.set("lastMotionReportNode",c.id),n.set("lastMotionReportTree","custom"),a.defaultTreeActive=!1,p(!1,c)}},a.getTrees=function(){return m.query().$promise.then(function(b){a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),a.configTrees()})["catch"](function(a){b.error(a)})},a.create=function(){var c=g.open({animation:!0,templateUrl:"app/analytic/report/list/create.modal.html",controller:"ReportListCreateModalCtrl",resolve:{path:function(){return a.selectedNode}}});c.result.then(function(c){return c.parent=a.previousCustomNode,k.save(c).$promise.then(function(a){d.path("/analytics/reports/view/"+a.id+"/settings")})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})},a.copy=function(d){var f=a.defaultTreeActive?l:k,h=g.open({animation:!0,templateUrl:"app/analytic/report/list/copy.modal.html",controller:"ReportListCopyModalCtrl",resolve:{customTreeData:function(){return a.customTree.get_json("#",{flat:!0})}}});h.result.then(function(e){return f.save({id:d,controller:"copy"},e).$promise.then(function(){a.gridOptions.getPage(),b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})},a["export"]=function(c){var d=a.defaultTreeActive?l:k;return d.get({id:c,controller:"export"}).$promise.then(function(a){var b=new i([angular.toJson(a)],{type:"application/json;charset=utf-8"});h.saveAs(b,a.name+".json")})["catch"](function(a){b.error(a)})},a["import"]=function(d){var e=JSON.parse(d);e.parent=a.previousCustomNode;var f=e.name&&e.parent?!0:!1,g=!0;return _.forEach(e.Fields,function(a){a.field&&a.alias||(g=!1)}),f&&g?k.save({controller:"import"},e).$promise.then(function(){a.gridOptions.getPage(),b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)}):void b.show(c.instant("MESSAGE_INVALID_JSON"),"danger")},a.preview=function(b){g.open({animation:!0,templateUrl:"app/analytic/report/list/preview.modal.html",controller:"ReportListPreviewModalCtrl",size:"full",resolve:{report:function(){return{id:b,tree:a.defaultTreeActive?"default":"custom"}}}})},a.extract=function(d){var f=g.open({animation:!0,templateUrl:"app/analytic/report/list/extract.modal.html",controller:"ReportListExtractModalCtrl",size:"md",resolve:{report:function(){return{id:d,tree:a.defaultTreeActive?"default":"custom"}}}});f.result.then(function(e){e.daily||delete e.daily;var f=a.defaultTreeActive?l:k;return f.get(_.merge({id:d,controller:"extract"},e)).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.list",{url:"/list",templateUrl:"app/analytic/report/list/list.html",controller:"AnalyticReportListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ReportListPreviewModalCtrl",["$scope","$uibModalInstance","report","xAlert","$translate","$timeout","CustomReport","DefaultReport",function(a,b,c,d,e,f,g,h){a.daily=!1,a.dailySwitch={onText:e.instant("APPLICATION_TODAY"),offText:e.instant("APPLICATION_RANGE"),isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"primary"},a.dates={startDate:moment().subtract(1,"days").startOf("day"),endDate:moment().subtract(1,"days").endOf("day")},a.ranges={},a.ranges[e.instant("APPLICATION_YESTERDAY")]=[moment().subtract(1,"days").startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[e.instant("APPLICATION_LAST_SEVEN_DAYS")]=[moment().subtract("days",7).startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[e.instant("APPLICATION_LAST_THIRTY_DAYS")]=[moment().subtract("days",30),moment()],a.ranges[e.instant("APPLICATION_LAST_MONTH")]=[moment().subtract(1,"months").startOf("month"),moment().subtract(1,"months").endOf("month")],a.timepicker={timePickerIncrement:1,timePicker12Hour:!1},a.dailyTime={start:moment("00:00","HH:mm"),end:moment("23:59","HH:mm")},a.maxdate=moment().subtract(1,"days").endOf("day").format("YYYY-MM-DD HH:mm");var i={offset:0,limit:25,sort:null,where:{},order:{}};a.gridOptions={paginationPageSizes:[10,25,50],paginationPageSize:25,useExternalPagination:!0,enableSorting:!1,enableFiltering:!0,useExternalFiltering:!0,enableGrouping:!1,enableColumnMenus:!1,treeRowHeaderAlwaysVisible:!1,gridMenuShowHideColumns:!1,enableGridMenu:!1,onRegisterApi:function(b){a.gridApi=b,b.pagination.on.paginationChanged(a,function(b,c){i.offset=(b-1)*c,i.limit=c,a.getPage()}),b.core.on.filterChanged(a,function(){var b=this.grid,c={};b.columns.forEach(function(a){a.filters[0].term&&(c[a.field]=a.filters[0].term)}),i.where=c,a.getPage()})}},a.getPage=function(){var b={offset:i.offset,limit:i.limit,startDate:moment(a.dates.startDate).format("YYYY-MM-DD"),endDate:moment(a.dates.endDate).format("YYYY-MM-DD"),startTime:a.daily?moment(a.dailyTime.start).format("HH:mm"):moment(a.dates.startDate).format("HH:mm"),endTime:a.daily?moment(a.dailyTime.end).format("HH:mm"):moment(a.dates.endDate).format("HH:mm"),daily:a.daily};_.forOwn(i.where,function(a,c){b[c]=a});var e="custom"===c.tree?g:h;return e.get(_.merge({id:c.id,controller:"preview"},b)).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.paginationPageSizes[3]=b.count,a.gridOptions.data=b.rows,a.showResult=!0})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss("cancel")},f(function(){a.getPage()})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports",{url:"/reports",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ReportAgent",["$resource",function(a){return a("/api/report/agents/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportIntegration",["$resource",function(a){return a("/api/report/integrations/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportMember",["$resource",function(a){return a("/api/report/members/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportTree",["$resource",function(a){return a("/api/analytics/reports/trees/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportViewCtrl",["$scope","xAlert","$translate","$stateParams","$location","ReportAgent","ReportCall","ReportMailSession","ReportSmsSession","ReportMember","ReportQueue","ReportIntegration","ReportChatSession","DefaultReport","CustomReport","Metric","report",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){function r(c){var d=_.find(a.tables,{value:c}).resource;d.get({controller:"describe"}).$promise.then(function(b){a.tableFields=_.map(b,function(a,b){return"$promise"!==b&&"$resolved"!==b?{name:b,value:b}:void 0})})["catch"](function(a){b.error(a)})["finally"](function(){s(c)})}function s(c){return p.get({controller:"table",table:c}).$promise.then(function(b){_.forEach(b.rows,function(b){a.tableFields.push({name:"<strong>Metric.</strong>"+b.name,alias:b.name,value:b.metric,MetricId:b.id})})})["catch"](function(a){b.error(a)})}function t(a){return String(a).replace(/</g,"<").replace(/>/g,">")}function u(a){if(!a)return"";for(var b="(",c=0;c<a.rules.length;c++)if(c>0&&(b+=" <strong>"+a.operator+"</strong> "),a.rules[c].group)b+=u(a.rules[c].group);else switch(b+=a.rules[c].field,a.rules[c].condition){case"IS NULL":case"IS NOT NULL":b+=" "+t(a.rules[c].condition);break;case"IS EMPTY":b+=" = ''";break;case"IS NOT EMPTY":b+=" != ''";break;default:b+=" "+t(a.rules[c].condition)+" "+a.rules[c].value}return b+")"}a.$translate=c,a.tempReport={},a.tables=q.tables;var v={group:{operator:"AND",rules:[]}};a.getReport=function(){return a.firstLoad=!0,o.get({id:d.id}).$promise.then(function(b){a.report=b,_.forEach(a.report.Fields,function(a){delete a.id}),a.report.conditions=a.report.conditions?JSON.parse(a.report.conditions):_.clone(v,!0),a.report.Fields.length&&a.getPreview()})["catch"](function(a){console.error(a),e.path("/analytics/reports/list")})},a.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},a.$watch("report.table",function(b,c){b&&(r(b),c&&(a.tempReport[c]={conditions:a.report.conditions,fields:a.report.Fields}),a.firstLoad?a.firstLoad=!1:a.tempReport[b]?(a.report.Fields=a.tempReport[b].fields,a.report.conditions=a.tempReport[b].conditions):(a.report.Fields=[],a.report.conditions=_.clone(v,!0)))},!0),a.setMetricId=function(b,c){a.report.Fields[c].MetricId=b.MetricId?b.MetricId:null,a.report.Fields[c].alias=b.MetricId?b.alias:b.name},a.groupByField=[{name:"APPLICATION_YES",value:!0},{name:"APPLICATION_NO",value:!1}],a.functions=[{name:"Sum",value:"SUM"},{name:"Count",value:"COUNT"},{name:"Count Distinct",value:"COUNT DISTINCT"},{name:"Maximum",value:"MAX"},{name:"Minimum",value:"MIN"},{name:"Average",value:"AVG"},{name:"Group Concat",value:"GROUP_CONCAT"},{name:"Group Concat(asc)",value:"GROUP_CONCAT ASC"},{name:"Group Concat(desc)",value:"GROUP_CONCAT DESC"}],a.formatFunctions=[{name:"Sec To Time",value:"SEC_TO_TIME"},{name:"Date",value:"DATE"},{name:"Hour",value:"HOUR"},{name:"Round",value:"ROUND"},{name:"Unix TimeStamp",value:"UNIX_TIMESTAMP"}],a.addField=function(){a.report.Fields.push({groupBy:!1,custom:!1})},a.removeField=function(b){a.report.Fields.splice(b,1)},a.sortableOptions={"ui-floating":!0,cancel:".unsortable",handle:".report-field-handle",axis:"y"},a.toggleCustom=function(b){b.custom=!b.custom,b.custom||_.find(a.tableFields,{value:b.field})||(b.field=null)},a.updateReport=function(){if(a.report.Fields.length){var e=angular.copy(a.report);return console.log(e.conditions),e.conditions=angular.toJson(e.conditions),_.forEach(e.Fields,function(a){a.custom&&delete a.MetricId}),o.update({id:d.id},e).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),a.getPreview()})["catch"](function(a){b.error(a)})}b.show(c.instant("MESSAGE_SELECT_A_FIELD"),"danger")},a.$watch("report.conditions",function(b){a.output=b?u(b.group):"()"},!0),a.getPreview=function(){return a.gridOptions=null,o.get({id:d.id,controller:"preview",limit:20}).$promise.then(function(b){a.gridOptions={enableFiltering:!0,treeRowHeaderAlwaysVisible:!1,enableGridMenu:!0,data:b.rows}})["catch"](function(a){console.log(a),b.show(c.instant(a.message||"MESSAGE_QUERY_NOT_VALID"),"warning")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.view",{url:"/view/:id",templateUrl:"app/analytic/report/view/view.html",controller:"AnalyticReportViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.reports.view.settings",{
-url:"/settings",templateUrl:"app/analytic/report/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels",{url:"/channels",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat",{url:"/chat",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ChatEnquiry",["$resource",function(a){return a("/api/chat/enquiries/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatMessage",["$resource",function(a){return a("/api/chat/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatReport",["$resource",function(a){return a("/api/report/chats/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatVisitor",["$resource",function(a){return a("/api/chat/visitors/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatRoom",["$resource",function(a){return a("/api/chat/rooms/:id/:controller",{id:"@id"},{me:{method:"GET",isArray:!0,params:{id:"me"}},users:{method:"GET",params:{id:"users"}},externals:{method:"GET",isArray:!0,params:{id:"type",controller:"external"}},groups:{method:"GET",isArray:!0,params:{id:"groups"}},update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").controller("ChatOfflineListCtrl",["$scope","ChatEnquiry","gridOptions","uiGridConstants",function(a,b,c,d){a.initView=function(){var e={exporterCsvFilename:"chat_offline_messages.csv",columnDefs:[{name:"username",cellClass:"text-center"},{name:"email",cellClass:"text-center"},{name:"ChatWebsite.name",displayName:"Website",cellClass:"text-center"},{name:"createdAt",displayName:"createdAt",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.createdAt"></span></div>',field:"createdAt",sort:{direction:d.DESC,priority:0}},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/chat/offline/view/{{row.entity.id}}",name:"detail"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.offline.list",{url:"/list",templateUrl:"app/channels/chat/offline/list/list.html",controller:"ChatOfflineListCtrl"})}]),angular.module("xCallyShuttleApp").directive("enquiryMessage",["$rootScope","$translate","MailMessage","List","xAlert",function(a,b,c,d,e){return{restrict:"E",scope:{message:"=",listId:"="},templateUrl:"app/channels/chat/offline/message/message.directive.html",link:function(c){c.openContact=function(f){return c.listId?d.save({listId:c.listId,controller:"contacts"},{email:f}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.email,type:"contact"})})["catch"](function(a){e.error(a)}):void e.show(b.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.offline",{url:"/offline",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatOfflineViewCtrl",["$scope","$stateParams","$translate","$rootScope","ChatEnquiry","List","xAlert",function(a,b,c,d,e,f,g){a.initView=function(){return e.get({id:b.id}).$promise.then(function(b){a.enquiry=b})["catch"](function(a){g.error(a)})},a.openContact=function(b){return a.enquiry.ChatWebsite.ListId?f.save({listId:a.enquiry.ChatWebsite.ListId,controller:"contacts"},{email:b}).$promise.then(function(a){var b=_.find(d.$root.workspaces,{contactID:a.id});b?b.active=!0:d.$root.workspaces.push({active:!0,"class":"icon-user",contactID:a.id,name:a.email,type:"contact"})})["catch"](function(a){g.error(a)}):void g.show(c.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.offline.view",{url:"/view/:id",templateUrl:"app/channels/chat/offline/view/view.html",controller:"ChatOfflineViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatOnlineListCtrl",["$scope","ChatRoom","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"chat_online_messages.csv",columnDefs:[{name:"ChatVisitor.fullname",displayName:"APPLICATION_FULLNAME",cellClass:"text-center"},{name:"ChatVisitor.email",displayName:"APPLICATION_EMAIL",cellClass:"text-center"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/chat/online/view/{{row.entity.id}}/detail",name:"detail"}]}]};a.gridOptions=c.gridOptions(b,d,a,{id:"online"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.online.list",{url:"/list",templateUrl:"app/channels/chat/online/list/list.html",controller:"ChatOnlineListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.online",{url:"/online",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatOnlineViewCtrl",["$scope","$stateParams","ChatRoom",function(a,b,c){a.initView=function(){return a.config={autoHideScrollbar:!1,theme:"light",advanced:{updateOnContentResize:!0},setHeight:400,scrollInertia:0},c.get({id:b.id}).$promise.then(function(b){a.chatRoom=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.online.view",{url:"/view/:id",templateUrl:"app/channels/chat/online/view/view.html",controller:"ChatOnlineViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.chat.online.view.detail",{url:"/detail",templateUrl:"app/channels/chat/online/view/view.detail.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/news.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("PreviewCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").directive("preview",["$rootScope",function(a){return{templateUrl:"app/channels/chat/preview/preview.html",restrict:"EA",link:function(a,b,c){}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("preview",{url:"/preview",templateUrl:"app/channels/chat/preview/preview.html",controller:"PreviewCtrl",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").factory("ChatQueue",["$resource",function(a){return a("/api/chat/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueListCtrl",["$scope","ChatQueue","gridOptions","Auth","$uibModal",function(a,b,c,d,e){a.initView=function(){a.Auth=d;var e={exporterCsvFilename:"chat_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"strategy"},{name:"timeout"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/chat/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/chat/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===d.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a)},a.createItem=function(){var b=e.open({animation:!0,templateUrl:"app/channels/chat/queue/list/list.create.modal.html",controller:"ChatQueueListCreateCtrl",size:"lg"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ChatQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","ChatQueue","Team",function(a,b,c,d,e,f){a.form={},a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.queues.list",{url:"/list",templateUrl:"app/channels/chat/queue/list/list.html",controller:"ChatQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","ChatQueue","Team","Auth",function(a,b,c,d,e,f,g,h){a.Auth=h;var i=function(){return{select:function(b){return f.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})},deselect:function(b){return f["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})}}};a.getQueue=function(){b.get("/api/chat/queues/"+e.id).success(function(b){b.penalty=0,a.queue=b}).error(function(a){console.error(a)})},a.updateChatQueue=function(){var f=angular.copy(a.queue);b.put("/api/chat/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){a.queue=f,b.errors.forEach(function(a){c.error(err)})})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,f.get({id:e.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindChatQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasChatQueue.penalty}}),i)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.queues.view",{url:"/view/:id",templateUrl:"app/channels/chat/queue/view/view.html",controller:"ChatQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.chat.queues.view.settings",{url:"/settings",templateUrl:"app/channels/chat/queue/view/view.settings.html"}).state("main.channels.chat.queues.view.agents",{url:"/agents",templateUrl:"app/channels/chat/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","ChatQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.chatPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_chat_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PChatQueues,"id"),b.ChatQueueId)||n.isAdmin();if(c){var d=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0});if(d){var e=a.gridOptions.data.indexOf(d);a.gridOptions.data.splice(e+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.ChatQueueId,agent:b.membername,online:d.online})}}}),e.socket.on("user_has_chat_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.ChatQueueId})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.chatPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.ChatQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.chatQueues=b.rows,e.syncUpdates("chat_queue",a.chatQueues)})["catch"](function(a){f.error(a)})}a.chatQueues=[];var t={controller:"realtime",controller1:"chat",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"chatPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.chatQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_chat_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"chat"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/chat/realtime/view/agent/queue.modal.add.html",controller:"ChatRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.chatQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.chatQueues,function(a){return _.includes(b.queues,a.id)}),channel:"chat",data1:e,data3:b.queues.join(","),data4:"chat"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"chat",data1:a,data3:b,data4:"chat"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/chat/realtime/view/agent/agent.modal.info.html",controller:"ChatRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/chat/realtime/view/agent/agent.html",controller:"ChatRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportChatSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_chat_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_chat_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"websitename",displayName:"APPLICATION_WEBSITE",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.abandon">{{\'APPLICATION_QUEUESTATUS_ABANDON\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_chat_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/chat/realtime/view/application/application.html",controller:"ChatRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"Queues",link:"main.chat.realtime.view.agent.queues"},{name:"Timeline",link:"main.chat.realtime.view.agent.timeline"}],a.sessions=[{name:"Sessions",link:"main.chat.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime.view",{url:"/view",templateUrl:"app/channels/chat/realtime/view/view.html",controller:"ChatRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportChatSession",["$resource",function(a){return a("/api/report/chat/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.external",{url:"/external",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRoomExternalListCtrl",["$scope","$timeout","socket","Auth","ChatRoom","usSpinnerService","Tag","$uibModal","uibButtonConfig",function(a,b,c,d,e,f,g,h,i){function j(){return g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}a.openChat=function(b){return e.get({id:b.id}).$promise.then(function(b){var c=_.find(a.workspaces,{id:b.id,type:"chatRoom"});c?c.active=!0:a.workspaces.push({id:b.id,name:b.ChatVisitor.fullname,type:"chatRoom","class":"icon-bubble",active:!0})})["catch"](function(a){console.error(a)})},a.initView=function(){i.activeClass="green-haze",a.id=[],a.query={status:"OPEN",tags:[]},a.gridOptions={enableGridMenu:!1,enableFiltering:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"userpic",displayName:"",width:35,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <ng-letter-avatar height="20" width="20" fontsize="12" data="{{row.entity.ChatVisitor.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #EA4C61" shape="round"></ng-letter-avatar> </div>',enableColumnMenu:!1,enableSorting:!1,enableFiltering:!1},{name:"fullname",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span style="padding-left: 5px;" class="pull-left">{{row.entity.ChatVisitor.fullname}}</span></div>',enableSorting:!0,enableFiltering:!0,enableColumnMenu:!0},{name:"action",cellTemplate:'<div><a class="btn btn-xs green-meadow" href="#" data-ng-click="grid.appScope.openChat(row.entity)">{{\'APPLICATION_CHAT\' | translate}}</a></div>',cellClass:"ui-grid-vcenter",width:100,enableFiltering:!1,enableSorting:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},a.getPage(),j()},a.tagItems=function(){h.open({animation:!0,templateUrl:"app/channels/chat/room/view.tags.modal.html",controller:"ChatRoomViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})},a.onChanged=function(){a.getPage()},a.$watch("query.status",function(){a.getPage()},!0),a.getPage=function(){return f.spin("spinner-grid"),e.get(_.merge({id:"externals"},a.query)).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){f.stop("spinner-grid")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.external.list",{url:"/list",templateUrl:"app/channels/chat/room/external/list/list.html",controller:"ChatRoomExternalListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.group",{url:"/group",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRoomGroupListCtrl",["$scope","$timeout","Auth","ChatRoom","usSpinnerService","Tag","uibButtonConfig",function(a,b,c,d,e,f,g){function h(){return f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}a.getFullnames=function(a){var b=_.map(a.Users,"fullname");return a.ChatVisitor&&b.unshift(a.ChatVisitor.fullname),_.without(b,c.getCurrentUser().fullname).join(", ")},a.openChat=function(b){return d.get({id:b.id}).$promise.then(function(c){var d=_.find(a.workspaces,{id:c.id,type:"chatRoom"});d?d.active=!0:a.workspaces.push({id:c.id,data:b,name:a.getFullnames(c),type:"chatRoom","class":"icon-bubble",active:!0})})["catch"](function(a){console.error(a)})},a.initView=function(){g.activeClass="green-haze",a.query={status:"OPEN",tags:[]},a.currentUser=c.getCurrentUser(),a.gridOptions={enableGridMenu:!1,enableColumnResizing:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"userpic",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <ng-letter-avatar data-ng-if="row.entity.ChatVisitor" height="20" width="20" fontsize="12" data="{{row.entity.ChatVisitor.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #EA4C61" shape="round"></ng-letter-avatar> <ng-letter-avatar data-ng-repeat="user in row.entity.Users | filter:{ id: \'!\' + grid.appScope.currentUser.id} track by user.id" style="margin-right: 3px;" height="20" width="20" fontsize="12" data="{{user.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #3399CC" shape="round"></ng-letter-avatar> </div>',enableColumnMenu:!1,enableSorting:!1,enableFiltering:!1},{name:"Users",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{grid.appScope.getFullnames(row.entity)}}</div>",enableSorting:!0,enableFiltering:!0,enableColumnMenu:!0},{name:"action",cellTemplate:'<div><a class="btn btn-xs green-meadow" href="#" data-ng-click="grid.appScope.openChat(row.entity)">{{\'APPLICATION_CHAT\' | translate}}</a></div>',cellClass:"ui-grid-vcenter",width:100,enableFiltering:!1,enableSorting:!1,enableColumnMenu:!1}],data:[]},a.getPage(),h()},a.onChanged=function(){a.getPage()},a.$watch("query.status",function(){a.getPage()},!0),
-a.getPage=function(){return e.spin("spinner-grid"),d.get(_.merge({id:"groups"},a.query)).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){e.stop("spinner-grid")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.group.list",{url:"/list",templateUrl:"app/channels/chat/room/group/list/list.html",controller:"ChatRoomGroupListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRoomInternalListCtrl",["$scope","$timeout","socket","Auth","ChatRoom","usSpinnerService",function(a,b,c,d,e,f){a.openChat=function(b){return e.users({users:[d.getCurrentUser().id,b.id]}).$promise.then(function(c){var d=_.find(a.workspaces,{id:c.id,type:"chatRoom"});d?d.active=!0:a.workspaces.push({id:c.id,name:b.fullname,type:"chatRoom","class":"icon-bubble",active:!0})})["catch"](function(a){console.error(a)})},a.initView=function(){a.gridOptions={enableGridMenu:!1,enableFiltering:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"userpic",displayName:"",width:35,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <ng-letter-avatar height="20" width="20" fontsize="12" data="{{row.entity.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #3399CC" shape="round"></ng-letter-avatar> </div>',enableColumnMenu:!1,enableSorting:!1,enableFiltering:!1},{name:"fullname",enableSorting:!0,enableFiltering:!0,enableColumnMenu:!0},{name:"action",cellTemplate:'<div><a class="btn btn-xs green-meadow" href="#" data-ng-click="grid.appScope.openChat(row.entity)">{{\'APPLICATION_CHAT\' | translate}}</a></div>',cellClass:"ui-grid-vcenter",width:100,enableFiltering:!1,enableSorting:!1,enableColumnMenu:!1}],data:[]},c.socket.on("user:save",function(b){if(b.online&&d.getCurrentUser().id!==b.id){var c=_.find(a.gridOptions.data,{id:b.id});c?_.merge(c,b):a.gridOptions.data.push(b)}else _.remove(a.gridOptions.data,{id:b.id})}),c.socket.on("agent:save",function(b){if(b.online&&d.getCurrentUser().id!==b.id){var c=_.find(a.gridOptions.data,{id:b.id});c?_.merge(c,b):a.gridOptions.data.push(b)}else _.remove(a.gridOptions.data,{id:b.id})}),e.get({id:"agents"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){f.stop("spinner-grid")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.internal.list",{url:"/list",templateUrl:"app/channels/chat/room/internal/list/list.html",controller:"ChatRoomInternalListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatRoomAddCtrl",["$scope","$uibModalInstance","Agent","items",function(a,b,c,d){a.items=d,a.agents=c.get(function(b){a.agents=b,a.items.forEach(function(b){_.remove(a.agents.rows,{id:b.id})})}),a.selected={items:[]},a.ok=function(){b.close(_.union(_.map(a.selected.items,"id"),_.map(a.items,"id")))},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("ChatRoomCloseCtrl",["$scope","$uibModalInstance","closed","ChatWebsite","websiteId",function(a,b,c,d,e){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_CHAT"},a.initDisposition=function(){return d.get({websiteId:e,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.item={},a.closed=c,a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").directive("chatRoom",["$interval","$rootScope","$uibModal","$notification","$window","socket","Auth","ChatRoom","ngAudio","xAlert","Tag","CannedAnswer","List","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){return{restrict:"E",scope:{workspace:"="},templateUrl:"app/channels/chat/room/room.directive.html",link:function(a){a.user=g.getCurrentUser(),a.message={body:""},a.openContact=function(c){return a.chatRoom.ChatWebsite.List?m.save({listId:a.chatRoom.ChatWebsite.List.id,controller:"contacts"},{email:c}).$promise.then(function(a){var c=_.find(b.$root.workspaces,{contactID:a.id});c?c.active=!0:b.$root.workspaces.push({active:!0,"class":"icon-user",contactID:a.id,name:a.email,type:"contact"})})["catch"](function(a){console.error(a)}):void j.show(n.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},a.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},a.form={},a.panelLeft="col-md-4",a.panelRight="col-md-8",a.onSelect=function(){a.message.body=a.modelOptions.selectedAnswer,delete a.modelOptions.selectedAnswer},a.togglePanelLeft=function(){a.panelLeft?(a.panelLeft=null,a.panelRight="col-md-12"):(a.panelLeft="col-md-4",a.panelRight="col-md-8")},a.options={link:!0,linkTarget:"_blank",pdf:{embed:!0},image:{embed:!0},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!0},a.getAnswers=function(a){return l.get({key:a}).$promise.then(function(a){return console.log(a),_.map(a.rows,"value")})},a.isMyRoom=function(b){return _.find(b,{id:a.user.id})?!0:!1},h.get({id:a.workspace.id}).$promise.then(function(c){a.chatRoom=c,a.form.tags=c.tags,a.chatRoom.ChatVisitor&&(a.chatRoom.ChatVisitors=[],a.chatRoom.ChatVisitors.push(a.chatRoom.ChatVisitor)),f.socket.on("chat_room:save",function(b){a.chatRoom.id===b.id&&_.merge(a.chatRoom,b)}),f.socket.on("user_has_chat_room:save",function(b){return b.UserId!=a.user.id&&b.ChatRoomId==a.chatRoom.id?h.get({id:"agents",controller:b.UserId}).$promise.then(function(b){var c=_.map(a.chatRoom.Users,"fullname");a.chatRoom.ChatVisitor&&c.unshift(a.chatRoom.ChatVisitor.fullname),a.chatRoom.Users.push(b),a.workspace.name=_.without(c,g.getCurrentUser().fullname).join(", ")})["catch"](function(a){console.error(a)}):void 0}),f.socket.on("chat_message:save",function(c){a.chatRoom.id==c.ChatRoomId&&(a.user.id!=c.UserId&&a.chatRoom.ChatMessages.push(c),!b.settings.layout.onFocus&&e.Notification&&d("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Chat Message!",delay:5e3}),a.workspace.active||(i.load("api/xchatty/assets?resource=notification/xc_blubb.mp3").play(),a.workspace.unread++))})})["catch"](function(a){console.error(a)}),k.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.closeRoom=function(b){return c.open({animation:!0,templateUrl:"app/channels/chat/room/room.close.html",controller:"ChatRoomCloseCtrl",resolve:{closed:function(){return"CLOSED"===a.chatRoom.status},websiteId:function(){return a.chatRoom.ChatWebsiteId}}}).result.then(function(a){var c={id:b,status:"CLOSED",completeReason:"agent"};return a.disposition&&(c.disposition=a.disposition),h.update(c).$promise["catch"](function(a){j.error(a)})})},a.onChanged=function(b){return h.update({id:b},{tags:a.form.tags}).$promise["catch"](function(a){console.error(a)})},a.addAgent=function(b){c.open({animation:!0,templateUrl:"app/channels/chat/room/room.add.html",controller:"ChatRoomAddCtrl",resolve:{items:function(){return _.map(a.chatRoom.Users||[],function(a){return{id:a.id,fullname:a.fullname}})}}}).result.then(function(a){return h.update({id:b,controller:"users"},{users:a}).$promise["catch"](function(a){j.error(a)})})},a.sendMessage=function(){var b={body:angular.copy(a.message.body),createdAt:moment(),UserId:a.user.id,User:{fullname:a.user.fullname}};return a.message.body.trim().length?(a.chatRoom.ChatMessages.push(b),a.message.body="",h.save({id:a.chatRoom.id,controller:"messages"},{body:b.body}).$promise["catch"](function(a){console.error(a)})):void 0}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room",{url:"/room",templateUrl:"app/channels/chat/room/room.html",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:8}},resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ChatRoomViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","ChatRoom","xAlert","id",function(a,b,c,d,e,f,g,h){a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("ChatVisitorListCtrl",["$scope","ChatVisitor","gridOptions","$uibModal",function(a,b,c,d){a.initView=function(){var d={exporterCsvFilename:"chat_visitors.csv",columnDefs:[{name:"fullname",cellClass:"text-center"},{name:"email",cellClass:"text-center"},{name:"origin",cellClass:"text-center"},{name:"createdAt",displayName:"createdAt",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.createdAt"></span></div>'},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/chat/visitors/view/{{row.entity.id}}/profile",name:"profile"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.visitors.list",{url:"/list",templateUrl:"app/channels/chat/visitor/list/list.html",controller:"ChatVisitorListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatVisitorViewCtrl",["$scope","$stateParams","ChatVisitor",function(a,b,c){a.initView=function(){return c.get({id:b.id}).$promise.then(function(b){a.chatVisitor=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.visitors.view",{url:"/view/:id",templateUrl:"app/channels/chat/visitor/view/view.html",controller:"ChatVisitorViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.chat.visitors.view.profile",{url:"/profile",templateUrl:"app/channels/chat/visitor/view/view.profile.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.visitors",{url:"/visitors",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").factory("ChatApplication",["$resource",function(a){return a("/api/chat/applications/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatWebsite",["$resource",function(a){return a("/api/chat/websites/:websiteId/:controller/:id",{id:"@websiteId"},{update:{method:"PUT"},updateFields:{method:"PUT",isArray:!0}})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteListCtrl",["$scope","gridOptions","ChatWebsite",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"chat_websites.csv",columnDefs:[{name:"name"},{name:"description"},{name:"address"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/chat/websites/view/{{row.entity.id}}/embedding/view",name:"embedding"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.list",{url:"/list",templateUrl:"app/channels/chat/website/list/list.html",controller:"ChatWebsiteListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewActionListCtrl",["$scope","gridOptions","ChatWebsite","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.initActons=function(){var d={draggable:!0,exporterCsvFilename:"chat_applications.csv",columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>{{row.entity.ChatQueue ? row.entity.ChatQueue.name : row.entity.User.name}}</span></div>"},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/chat/websites/view/{{row.entity.ChatWebsiteId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{websiteId:f.websiteId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions.list",{url:"/list",templateUrl:"app/channels/chat/website/view/action/list/list.html",controller:"ChatWebsiteViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","ChatWebsite","ChatQueue","Agent","Interval","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],k.get({websiteId:c.websiteId,controller:"applications",id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return l.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){f.error(a)})},a.getAgents=function(){return m.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){f.error(a)})},a.getIntervals=function(){return n.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){f.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(j[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?j[1]="*":j[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?j[2]="*":j[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?j[3]="*":j[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=j.join(","),delete a.application.IntervalId}return k.update({websiteId:c.websiteId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/chat/websites/view/"+c.websiteId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/chat/website/view/action/view/view.html",controller:"ChatWebsiteViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewActionWizardCtrl",["$scope","$http","Agent","Interval","ChatQueue","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","ChatWebsite","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={app:"queue",intType:"always",alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return e.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){i.error(a)})},a.getIntervals=function(){return d.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){i.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(m[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?m[1]="*":m[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?m[2]="*":m[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?m[3]="*":m[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=m.join(","),delete a.application.IntervalId}return n.save({websiteId:f.websiteId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/chat/websites/view/"+f.websiteId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/chat/website/view/action/wizard/wizard.html",controller:"ChatWebsiteViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("ChatDisposition",["$resource",function(a){return a("/api/chat/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewModalDispositionAddCtrl",["$scope","$uibModalInstance","ChatWebsite","id","xAlert","$translate",function(a,b,c,d,e,f){a.ok=function(){return c.save({websiteId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){e.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","ChatWebsite","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({websiteId:b.websiteId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({websiteId:b.websiteId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({websiteId:b.websiteId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/chat/website/view/disposition/modal/add.modal.html",controller:"ChatWebsiteViewModalDispositionAddCtrl",resolve:{id:function(){return b.websiteId}}}).result.then(function(b){b&&a.dispositions.push(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.dispositions",{url:"/dispositions",controller:"ChatWebsiteDispositionViewCtrl",templateUrl:"app/channels/chat/website/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.embedding",{url:"/embedding",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewEmbeddingViewCtrl",["$scope","$stateParams","$translate","clipboard","xAlert","ChatWebsite",function(a,b,c,d,e,f){a.initView=function(){return f.get({websiteId:b.websiteId,controller:"snippet"}).$promise.then(function(b){a.snippetCode=b.html})["catch"](function(a){e.error(a)})},a.copyToClipboard=function(){d.copyText(a.snippetCode),e.show(c.instant("MESSAGE_TEXT_COPIED_CLIPBOARD")+"!","success")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.embedding.view",{url:"/view",templateUrl:"app/channels/chat/website/view/embedding/view/view.html",controller:"ChatWebsiteViewEmbeddingViewCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.form",{url:"/forms",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewFormViewCtrl",["$scope","$builder","$validator","$stateParams","$translate","ChatWebsite","xAlert",function(a,b,c,d,e,f,g){a.saveForm=function(a){var c=angular.copy(b.forms[a]);return c.length>3?g.show("You can insert at least 3 input elements","danger"):(_.forEach(c,function(a){delete a.id}),f.updateFields({websiteId:d.websiteId,controller:"fields",id:a},c).$promise.then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)}))},a.getChatWebsiteFields=function(a){return f.query({websiteId:d.websiteId,controller:"fields",id:a}).$promise.then(function(c){_.forEach(c,function(c){b.addFormObject(a,c)})})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.form.view",{url:"/view",templateUrl:"app/channels/chat/website/view/form/view/view.html",controller:"ChatWebsiteViewFormViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteHooksViewCtrl",["$scope","ChatWebsite","Pause","$http","$stateParams","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){h.error(a)}),b.get({id:e.websiteId}).$promise.then(function(b){console.log(b),a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){h.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItem=function(){return console.log(a.account),b.update({id:e.websiteId},a.account).$promise.then(function(){h.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.hooks",{url:"/hooks",controller:"ChatWebsiteHooksViewCtrl",templateUrl:"app/channels/chat/website/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewProactiveListCtrl",["$scope","gridOptions","ChatWebsite","$http","$translate","$stateParams","$uibModal",function(a,b,c,d,e,f,g){a.initProactiveActions=function(){var d={exporterCsvFilename:"telephones.csv",columnDefs:[{name:"name"},{name:"type"},{name:"action",width:125,buttons:[{"class":"blue-hoki",onClick:"grid.appScope.createItem(row.entity)",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{websiteId:f.websiteId,controller:"proactive"})},a.createItem=function(b){var c=g.open({animation:!0,templateUrl:"app/channels/chat/website/view/proactive/list/list.create.modal.html",controller:"ChatWebsiteProactiveListCreateCtrl",resolve:{item:b}});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteProactiveListCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","ChatWebsite","xAlert","item",function(a,b,c,d,e,f,g){a.form={},a.item=g||{},a.title=g?b.instant("APPLICATION_EDIT_PROACTIVE_ACTION"):b.instant("APPLICATION_NEW_PROACTIVE_ACTION"),a.possibleType=[{type:"mouseOver",title:"Mouse Over"},{type:"timeout",title:"Timeout"}],a.save=function(){return g?e.update({websiteId:d.websiteId,controller:"proactive",id:a.item.id},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)}):e.save({websiteId:d.websiteId,controller:"proactive"},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.proactive.list",{url:"/list",templateUrl:"app/channels/chat/website/view/proactive/list/list.html",controller:"ChatWebsiteViewProactiveListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.proactive",{url:"/proactive",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteSettingViewCtrl",["$scope","$stateParams","$translate","$location","$timeout","socket","xAlert","ChatWebsite","List",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return i.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)})},a.updateItemChatWebsite=function(){return h.update({id:b.websiteId},{ListId:a.chatWebsite.ListId}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.settings",{url:"/settings",controller:"ChatWebsiteSettingViewCtrl",templateUrl:"app/channels/chat/website/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.snippet",{url:"/snippet",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewSnippetViewCtrl",["$scope","$http","$stateParams","$translate","Template","$rootScope","FileUploader","$cookieStore","xAlert","ChatWebsite",function(a,b,c,d,e,f,g,h,i,j){a.$translate=d,a.statePreview={state:"online"},a.radioSwitch={isActive:f.license.custom?!0:!1,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"};var k=a.uploader=new g({url:"api/chat/websites/"+c.websiteId+"/logo",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+h.get("token")}});k.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),k.onSuccessItem=function(b,c){a.chatWebsite.logo=c.logo,i.show(d.instant("MESSAGE_WELL_DONE"),"success")},k.onErrorItem=function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},k.onCompleteAll=function(){k.clearQueue()},a.enquirySwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.fidelitySwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.lang={HeaderCurrentlyChatting:"Live Chat",HeaderOffline:"Contact us",OperatorOfflineMessage:"It appears as if all operators are currently offline.",OfflineMessage:"<strong>We're not online.</strong><br/>It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.",EnquiryMessagePlaceholder:"Your message...",EnquiryButtonText:"Leave message",EnquirySubmitSuccess:"Your message was sucessfully submitted - we will contact you as soon as possible.",OperatorComposing:"{fullname} is typing...",FirstMessageText:"",ExitChatButtonText:"Exit Chat",ExitChatQuestionText:"Are you sure?",ExitChatButtonConfirmText:"Yes",ExitChatButtonCancelText:"No",MessagePlaceholderText:"Your message...",
-MessageSendButtonText:"Send",ValidationEmailRequired:"Please enter your email address",ValidationEmailInvalid:"Please enter a valid email address",ValidationEmailMaxLength:"The email address may not exceed 85 characters",ValidationUsernameRequired:"Please enter your name",ValidationUsernameMaxLength:"The name may not exceed 45 characters",ValidationEnquiryRequired:"Please enter your enquiry",ValidationEnquiryMaxLength:"The enquiry may not exceed 1500 characters",ValidationMessageRequired:"Please enter your message",ValidationMessageMaxLength:"The message may not exceed 750 characters"},a.initView=function(){return j.get({id:c.websiteId}).$promise.then(function(b){return a.chatWebsite=b,e.get().$promise}).then(function(b){a.templates=b.rows})["catch"](function(a){i.error(a)})},a.updateItem=function(){return j.update({id:a.chatWebsite.id},a.chatWebsite).$promise.then(function(){i.show(d.instant("MESSAGE_CHAT_WEBSITE_UPDATE_SUCCESS")+"!","success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.snippet.view",{url:"/view",templateUrl:"app/channels/chat/website/view/snippet/view/view.html",controller:"ChatWebsiteViewSnippetViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewCtrl",["$scope","xAlert","$http","$location","$stateParams","$translate","WizardHandler","ChatApplication","ChatWebsite",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return i.get({id:e.websiteId}).$promise.then(function(b){a.chatWebsite=b})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view",{url:"/view/:websiteId",templateUrl:"app/channels/chat/website/view/view.html",controller:"ChatWebsiteViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites",{url:"/websites",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","ChatWebsite",function(a,b,c,d,e,f,g){a.$translate=d,a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.initWizard=function(){a.forms={formSetting:void 0,formAppearance:void 0,formLabel:void 0,formFunctionality:void 0},a.item={},a.item.remote=c.protocol()+"://"+location.host},a.createItem=function(){return g.save(a.item).$promise.then(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_SUCCESS"),"success"),c.path("/channels/chat/websites/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.wizard",{url:"/wizard",templateUrl:"app/channels/chat/website/wizard/wizard.html",controller:"ChatWebsiteWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCtrl",["$scope","$uibModal","gridOptions","FaxAccount",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"chat_websites.csv",columnDefs:[{name:"name"},{name:"description"},{name:"localstationid"},{name:"TrunkName",displayName:"APPLICATION_TRUNK"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/fax/accounts/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(d,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/channels/fax/account/list/list.create.modal.html",controller:"FaxAccountListCreateCtrl"});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","FaxAccount","Trunk",function(a,b,c,d,e,f){a.initWizard=function(){return a.form={},a.item={},a.trunks=[],f.get().$promise.then(function(b){a.trunks=b.rows})["catch"](function(a){d.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.list",{url:"/list",templateUrl:"app/channels/fax/account/list/list.html",controller:"FaxAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewActionListCtrl",["$scope","gridOptions","FaxAccount","$http","$translate","$stateParams",function(a,b,c,d,e,f){a.initActons=function(){var d={draggable:!0,exporterCsvFilename:"fax_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.FaxQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/fax/accounts/view/{{row.entity.FaxAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/fax/account/view/action/list/list.html",controller:"FaxAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","FaxQueue","FaxAccount","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],n.get({accountId:c.accountId,controller:"applications",id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(j[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?j[1]="*":j[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?j[2]="*":j[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?j[3]="*":j[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=j.join(","),delete a.application.IntervalId}return n.update({accountId:c.accountId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/fax/accounts/view/"+c.accountId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/fax/account/view/action/view/view.html",controller:"FaxAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewActionWizardCtrl",["$scope","$http","Agent","FaxQueue","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","FaxAccount","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return d.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return e.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(m[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?m[1]="*":m[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?m[2]="*":m[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?m[3]="*":m[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=m.join(","),delete a.application.IntervalId}return n.save({accountId:f.accountId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/fax/accounts/view/"+f.accountId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/fax/account/view/action/wizard/wizard.html",controller:"FaxAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("FaxDisposition",["$resource",function(a){return a("/api/fax/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","FaxAccount","id","xAlert",function(a,b,c,d,e){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","FaxAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){f.error(a)})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){f.error(a)})},a.deleteDisposition=function(c){return e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){f.error(a)})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/fax/account/view/disposition/modal/add.modal.html",controller:"FaxInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.dispositions",{url:"/dispositions",controller:"FaxAccountDispositionViewCtrl",templateUrl:"app/channels/fax/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountHooksViewCtrl",["$scope","FaxAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i,j){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){i.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){i.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItemFaxAccount=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.hooks",{url:"/hooks",controller:"FaxAccountHooksViewCtrl",templateUrl:"app/channels/fax/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountSettingViewCtrl",["$scope","$stateParams","$translate","FaxAccount","List","Trunk","xAlert",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){return a.rate=["2400","4800","7200","9600","12000","14400"],a.techs=["SIP","IAX","DADHI","KHOMP"],f.get().$promise.then(function(b){a.trunks=b.rows})["catch"](function(a){g.error(a)}),e.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){g.error(a)}),d.get({id:b.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){g.error(a)})},a.updateItemFaxAccount=function(){return d.update({id:b.accountId},a.account).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.settings",{url:"/settings",controller:"FaxAccountSettingViewCtrl",templateUrl:"app/channels/fax/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","FaxAccount",function(a,b,c,d,e,f,g,h,i,j){a.initView=function(){return j.get({id:c.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view",{url:"/view/:accountId",templateUrl:"app/channels/fax/account/view/view.html",controller:"FaxAccountViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler","Trunk","FaxAccount",function(a,b,c,d,e,f,g,h){a.translate=d,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){return a.$translate=d,a.forms={},a.item={},a.rate=["2400","4800","7200","9600","12000","14400"],a.techs=["SIP","IAX","DADHI","KHOMP"],a.item.headerinfo="xCALLY Motion Fax",a.item.ecm="yes",a.item.minrate="4800",a.item.maxrate="14400",a.item.modem="v17,v27,v29",a.item.gateway="no",a.item.faxdetect="no",a.item.t38timeout=5e3,a.item.tech="SIP",g.get().$promise.then(function(b){a.trunks=b.rows})["catch"](function(a){e.error(a)})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){return h.save(a.item).$promise.then(function(a){e.show(d.instant("MESSAGE_WELL_DONE"),"success"),c.path("/channels/fax/accounts/list")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/fax/account/wizard/wizard.html",controller:"FaxAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax",{url:"/fax",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("FaxAccount",["$resource",function(a){return a("/api/fax/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("FaxAttachment",["$resource",function(a){return a("/api/fax/attachments/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").factory("FaxMessage",["$resource",function(a){return a("/api/fax/messages/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("FaxReport",["$resource",function(a){return a("/api/report/faxs/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("FaxRoom",["$resource",function(a){return a("/api/fax/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox",{url:"/inbox",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","messageId","FaxMessage",function(a,b,c,d,e,f,g){a.data=null,a.initInfo=function(){g.get({id:f}).$promise.then(function(b){a.data={channel:b.channel,channelstate:b.channelstate,channelstatedesc:b.channelstatedesc,uniqueid:b.uniqueid,localstationid:b.localstationid,remotestationid:b.remotestationid,pagestransferred:b.pagestransferred,resolution:b.resolution,transferrate:b.transferrate,lastStatus:b.lastStatus,error:b.error,retry:b.retry}})["catch"](function(b){switch(b.status){case 404:a.data=null;break;default:e.error(b)}})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("faxMessage",["$rootScope","$translate","$uibModal","FaxMessage","List","xAlert",function(a,b,c,d,e,f){return{restrict:"E",scope:{message:"=",listId:"="},templateUrl:"app/channels/fax/inbox/message/message.directive.html",link:function(g){g.openContact=function(c){return g.listId?e.save({listId:g.listId,controller:"contacts"},{fax:c}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.fax,type:"contact"})})["catch"](function(a){f.error(a)}):void f.show(b.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},g.info=function(a){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/message/info.modal.html",controller:"FaxInboxInfoModalCtrl",resolve:{messageId:function(){return a.id}}})},g.retry=function(a){return d.update({id:a,status:"SENDING"}).$promise["catch"](function(a){console.error(a)})}}}}]),angular.module("xCallyShuttleApp").directive("faxNote",["$translate","Modal","Auth","FaxMessage","xAlert",function(a,b,c,d,e){return{restrict:"E",scope:{message:"="},templateUrl:"app/channels/fax/inbox/note/note.directive.html",link:function(f){f.Auth=c,f.deleteNote=b.confirm["delete"](function(){return d.remove({id:f.message.id}).$promise.then(function(){e.show(a.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){e.error(a)})})}}}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalNoteCtrl",["$scope","$uibModalInstance","$translate","id","FaxRoom","xAlert",function(a,b,c,d,e,f){a.initModal=function(){a.item={}},a.ok=function(){return e.save({id:d,controller:"messages"},{text:a.item.text,status:"NOTE"}).$promise.then(function(){f.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})["finally"](function(){b.close()})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").directive("faxRoom",["$cookieStore","$translate","$uibModal","$timeout","FaxAccount","FaxRoom","FaxMessage","FileUploader","xAlert","usSpinnerService","socket","Tag","Auth","FaxAttachment","List",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return{restrict:"E",scope:{workspace:"="},templateUrl:"app/channels/fax/inbox/room/room.directive.html",link:function(m){function p(a){if(a){var b=_.words(a),c=_.map(b,function(a){return a?a[0]:""});return c.join("").toUpperCase()}return!1}m.$on("$destroy",function(){}),m.initForm=function(){m.forms={compose:{}}},m.getContacts=function(a){return m.listId?o.get({listId:m.listId,controller:"contacts",fax:a}).$promise.then(function(a){return a.rows})["catch"](function(a){console.error(a)}):[]},m.setList=function(a){m.listId=a};var q=[];m.expanded=!0,m.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},m.panelLeft=null,m.panelRight="col-md-12",m.form={from:"",to:m.workspace.data&&m.workspace.data.to?m.workspace.data.to:"",disabled:!1},k.socket.on("fax_message:remove",function(a){_.remove(m.faxRoom.FaxMessages,{id:a.id})}),k.socket.on("fax_message:save",function(a){return m.workspace.id&&a.FaxRoomId==m.workspace.id?(m.workspace.active||m.workspace.unread++,g.get({id:a.id}).$promise.then(function(a){m.faxRoom||(m.faxRoom={FaxMessages:[]});var b=_.findIndex(m.faxRoom.FaxMessages,{id:a.id});b>-1?_.merge(m.faxRoom.FaxMessages[b],a):m.faxRoom.FaxMessages.unshift(a),m.panelLeft="col-md-6",m.panelRight="col-md-6"})["catch"](function(a){console.error(a)})):void 0});var r=m.uploader=new h({url:"api/fax/attachments",autoUpload:!0,withCredentials:!0,queueLimit:1,headers:{Authorization:"Bearer "+a.get("token")}});return r.filters.push({name:"uploadFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|tiff|tif".indexOf(b)}}),r.onWhenAddingFileFailed=function(a,c){switch(c.name){case"queueLimit":i.show(b.instant("MESSAGE_QUEUE_LIMIT_EXCEEDED"),"danger");break;case"uploadFilter":i.show(b.instant("MESSAGE_WRONG_FILE_FORMAT"),"danger");break;default:i.show(b.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")}},r.removeFromQueue=function(a){var c=this;return n["delete"]({id:a.basename}).$promise.then(function(){var b=c.getIndexOfItem(a),d=c.queue[b];d.isUploading&&d.cancel(),c.queue.splice(b,1),d._destroy(),c.progress=c._getTotalProgress(),q=_.reject(q,{basename:a.basename})})["catch"](function(){i.show(b.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},r.onErrorItem=function(){i.show(b.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},r.onSuccessItem=function(a,b){var c={path:b.path,name:b.name,basename:b.basename,type:b.type};a=_.merge(a,c),q.push(c)},m.getMessageMailId=function(a){var b=a.UserId?"imgFaxUserId"+a.UserId:"imgFaxVisitorId";return b+=m.faxRoom.id.toString()+a.id.toString()},m.togglePanelLeft=function(){m.panelLeft?(m.panelLeft=null,m.panelRight="col-md-12"):(m.panelLeft="col-md-6",m.panelRight="col-md-6")},m.closeRoom=function(){return c.open({animation:!0,templateUrl:"app/channels/fax/inbox/status/status.modal.html",controller:"FaxInboxStatusModalCtrl",resolve:{status:function(){return m.faxRoom.status},accountId:function(){return m.faxRoom.FaxAccount.id}}}).result.then(function(a){return f.update({id:m.workspace.id},a).$promise["catch"](function(a){i.error(a)})})},m.loadAgents=function(){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/view/view.agents.modal.html",controller:"FaxInboxViewModalAgentCtrl",resolve:{roomId:function(){return m.workspace.id}}})},m.cancel=function(){m.form.disabled=!1,m.form.from="",m.form.to=""},m.loadNote=function(){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/note/note.modal.html",controller:"FaxInboxViewModalNoteCtrl",resolve:{id:function(){return m.workspace.id}}})},m.getMessageFaxId=function(a){var b=a.UserId?"imgFaxUserId"+a.UserId:"imgFaxVisitorId";return b+=m.faxRoom.id.toString()+a.id.toString()},m.getMessageRoomAvatar=function(a,b,c,e){d(function(){var d=b?"#imgFaxUserId"+b:"#imgFaxVisitorId";d+=m.faxRoom.id.toString()+a.toString(),angular.element(d).avatar({useGravatar:!1,initials:e?[]:p(c),fallbackImage:e?"api/users/avatar/"+e:"api/users/avatar/unknown_avatar"})})},m.onChanged=function(){return f.update({id:m.workspace.id},{tags:m.form.tags}).$promise["catch"](function(a){i.error(a)})},m.sendFax=function(){j.spin("spinner-grid");var a={from:m.form.from,to:m.form.to[0].fax||"",status:"SENDING",FaxAttachments:q,FaxRoomId:m.faxRoom?m.faxRoom.id:null},c=_.find(m.faxAccounts,{localstationid:m.form.from});return c?e.save({accountId:c.id,controller:"send"},a).$promise.then(function(a){return r.queue=[],q=[],i.show(b.instant("MESSAGE_WELL_DONE"),"success"),m.SmsRoom?m.SmsRoom:f.get({id:"messages",controller:a.id}).$promise}).then(function(a){a&&(m.workspace.id=a.id,m.workspace.name=a.contact,m.faxRoom=a,m.panelLeft="col-md-6",m.panelRight="col-md-6",m.expanded=!1)})["catch"](function(a){i.error(a)})["finally"](function(){j.stop("spinner-grid")}):(console.log("Can not find account"),void j.stop("spinner-grid"))},l.get().$promise.then(function(a){m.tags=_.map(a.rows,"name")})["catch"](function(a){console.error(a)}),e.get().$promise.then(function(a){m.faxAccounts=a.rows})["catch"](function(a){console.error(a)}),m.workspace.id?(m.panelLeft="col-md-6",m.panelRight="col-md-6",f.get({id:m.workspace.id}).$promise.then(function(a){m.faxRoom=a,m.form.from=a.FaxAccount.localstationid,m.form.tags=a.tags,m.workspace.name=a.contact||"No number",m.expanded=!1;var b=_.findLast(a.FaxMessages,{status:"RECEIVED"});return b&&(m.form.to=[{fax:b.from}]),k.socket.on("fax_room:save",function(a){a.id===m.workspace.id&&_.merge(m.faxRoom,a)}),a})["catch"](function(a){i.error(a)})["finally"](function(){j.stop("spinner-grid"),m.form.disabled=!1})):(m.panelLeft=null,m.panelRight="col-md-12",j.stop("spinner-grid"),void 0)}}}]),angular.module("xCallyShuttleApp").controller("FaxInboxStatusModalCtrl",["$scope","$uibModalInstance","FaxAccount","status","accountId",function(a,b,c,d,e){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_FAX"},a.initDisposition=function(){return a.item={disposition:null,status:"CLOSED"},c.get({accountId:e,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","usSpinnerService","socket","FaxAccount","FaxRoom","gridOptions","uiGridConstants","Auth","Modal","xAlert","localStorageService","uibButtonConfig",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a.openRoom=function(b){var c=_.find(a.workspaces,{id:b,type:"faxRoom"});return c?c.active=!0:a.workspaces.push({id:b,type:"faxRoom","class":"icon-paper-plane",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?k.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(){h.spin("spinner-grid");var b={accountId:e.id,controller:"rooms"};return a.query&&_.merge(b,a.query),j.query(b).$promise.then(function(b){q.set("faxAccountId",e.id),a.gridOptions.data=b,i.socket.on("fax_room:save",function(b){if(b.FaxAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),i.socket.on("fax_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})});
-})["catch"](function(a){p.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.initView=function(){r.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:q.get("faxStatus")?q.get("faxStatus"):"NEW",tags:q.get("faxTags")?q.get("faxTags"):[]},a.$watch("query.status",function(){q.set("faxStatus",a.query.status),a.getPage(a.query)},!0),j.get().$promise.then(function(b){a.faxAccounts=b.rows})["catch"](function(a){console.error(a)}),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"fax_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"contact",cellClass:"text-center"},{name:"disposition",displayName:"APPLICATION_DISPOSITION",headerCellFilter:"translate"},{name:"updatedAt",cellFilter:"date:'MM/dd/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only font-green" data-ng-hide="row.entity.waiting" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.contact)"><i class="icon-paper-plane" aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id, row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:70,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},a.getPage(a.query)},a.onChanged=function(){q.set("faxTags",a.query.tags),a.getPage(a.query)},a.loadAgents=function(a){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/view/view.agents.modal.html",controller:"FaxInboxViewModalAgentCtrl",resolve:{roomId:a}})},a.tagItems=function(){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/view/view.tags.modal.html",controller:"FaxInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return k.remove(c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return k["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.disposeItems=function(){return c.open({animation:!0,templateUrl:"app/channels/fax/inbox/status/status.modal.html",controller:"FaxInboxStatusModalCtrl",resolve:{status:function(){return null},accountId:function(){return e.id}}}).result.then(function(b){return k.patch({id:a.id},b).$promise.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/fax/inbox/view/account/list/list.html",controller:"FaxInboxViewAccountListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","FaxRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h){a.initModal=function(){a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){b.rows.forEach(function(b){a.agents.push(b)})})["catch"](function(a){console.error(a)}),f.query({id:h,controller:"agents"}).$promise.then(function(b){b.forEach(function(b){a.agents.push(b),a.item.agents.push(b.id)})})["catch"](function(a){console.error(a)}),a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}},a.ok=function(){return f.update({id:h,controller:"agents",agents:a.item.agents}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewCtrl",["$scope","$timeout","$location","localStorageService","FaxAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get().$promise.then(function(b){var e=null;a.faxAccounts=b.rows,a.faxAccounts.length&&(e="/channels/fax/inbox/view/account/"+(d.get("faxAccountId")||a.faxAccounts[0].id)+"/list"),e&&c.path(e)})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox.view",{url:"/view",templateUrl:"app/channels/fax/inbox/view/view.html",controller:"FaxInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalStatusCtrl",["$scope","$uibModalInstance","$translate","$stateParams","$location","FaxRoom","xAlert","id","status",function(a,b,c,d,e,f,g,h,i){a.initModal=function(){a.modal={dismissable:!0,title:"APPLICATION_STATUS",html:"<p>"+c.instant("MESSAGE_CHANGE_STATUS")+"<strong> "+i+"</strong>?</p>",status:i,buttons:[{classes:"btn btn-success",text:"APPLICATION_CONFIRM",click:function(a){return f.update({id:h},{status:i}).$promise.then(function(){g.show(c.instant("MESSAGE_STATUS_UPDATE_SUCCESS"),"success"),b.close(a)})["catch"](function(a){g.error(a)})}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}}}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","FaxRoom","xAlert","id",function(a,b,c,d,e,f,g,h){console.log(h),a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").factory("FaxQueue",["$resource",function(a){return a("/api/fax/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCtrl",["$scope","FaxQueue","gridOptions","Auth","$uibModal",function(a,b,c,d,e){a.initView=function(){a.Auth=d;var e={exporterCsvFilename:"fax_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"strategy"},{name:"timeout"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/fax/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/fax/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===d.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a)},a.createItem=function(){var b=e.open({animation:!0,templateUrl:"app/channels/fax/queue/list/list.create.modal.html",controller:"FaxQueueListCreateCtrl",size:"lg"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","FaxQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.queues.list",{url:"/list",templateUrl:"app/channels/fax/queue/list/list.html",controller:"FaxQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert","FaxQueue","Team","Auth","strategies",function(a,b,c,d,e,f,g,h,i){a.Auth=h,a.strategies=i;var j=function(){return{select:function(b){return f.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return f["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return f.get({id:d.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){e.error(a)})},a.updateFaxQueue=function(){return f.update({id:d.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,f.get({id:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasFaxQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.queues.view",{url:"/view/:id",templateUrl:"app/channels/fax/queue/view/view.html",controller:"FaxQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.fax.queues.view.settings",{url:"/settings",templateUrl:"app/channels/fax/queue/view/view.settings.html"}).state("main.channels.fax.queues.view.agents",{url:"/agents",templateUrl:"app/channels/fax/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","FaxQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.faxPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_fax_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PFaxQueues,"id"),b.FaxQueueId)||n.isAdmin();if(c){var d=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0});if(d){var e=a.gridOptions.data.indexOf(d);a.gridOptions.data.splice(e+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.FaxQueueId,agent:b.membername,online:d.online})}}}),e.socket.on("user_has_fax_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.FaxQueueId})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.faxPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.FaxQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.faxQueues=b.rows,e.syncUpdates("fax_queue",a.faxQueues)})["catch"](function(a){f.error(a)})}a.faxQueues=[];var t={controller:"realtime",controller1:"fax",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"faxPause",width:300,displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.faxQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_fax_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"fax"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/fax/realtime/view/agent/queue.modal.add.html",controller:"FaxRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.faxQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.faxQueues,function(a){return _.includes(b.queues,a.id)}),channel:"fax",data1:e,data3:b.queues.join(","),data4:"fax"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"fax",data1:a,data3:b,data4:"fax"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/fax/realtime/view/agent/agent.modal.info.html",controller:"FaxRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/fax/realtime/view/agent/agent.html",controller:"FaxRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportFaxSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_fax_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_fax_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_fax_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/fax/realtime/view/application/application.html",controller:"FaxRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.fax.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.fax.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.fax.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.fax.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.fax.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.fax.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime.view",{url:"/view",templateUrl:"app/channels/fax/realtime/view/view.html",controller:"FaxRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportFaxSession",["$resource",function(a){return a("/api/report/fax/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailAccount",["$resource",function(a){return a("/api/mail/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailAccountListCtrl",["$scope","$stateParams","gridOptions","MailAccount","socket",function(a,b,c,d,e){a.$on("$destroy",function(){e.unsyncUpdates("mail_server_in")}),a.initView=function(){e.socket.on("mail_server_in:save",function(b){var c=_.find(a.gridOptions.data,{id:b.MailAccountId});c&&(c.MailServerIn.state=b.state,c.MailServerIn.source=JSON.parse(b.source))});var f={exporterCsvFilename:"mail_accounts.csv",columnDefs:[{name:"name"},{name:"description"},{name:"address"},{name:"MailServerIn.state",width:100,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <span data-ng-if="row.entity.MailServerIn" class="label label-sm" data-ng-class="row.entity.MailServerIn.state === \'CONNECTED\' ? \'label-success\' : \'label-danger\'">{{row.entity.MailServerIn.state}}</span> <span data-ng-if="!row.entity.MailServerIn" class="label label-sm label-info" >{{\'APPLICATION_DISABLED\' | translate | uppercase}}</span> </div>',displayName:"IMAP",enableSorting:!1,enableFiltering:!1},{name:"MailServerOut.state",width:110,cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span class=\"label label-sm\" data-ng-class=\"row.entity.MailServerOut.state === 'CONNECTED' ? 'label-success' : 'label-danger'\">{{row.entity.MailServerOut.state}}</span></div>",displayName:"SMTP",enableSorting:!1,enableFiltering:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/mail/accounts/view/{{row.entity.id}}/settings",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(d,f,a,{accountId:b.accountId})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.list",{url:"/list",templateUrl:"app/channels/mail/account/list/list.html",controller:"MailAccountListCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailServerIn",["$resource",function(a){return a("/api/mail/servers/in/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailServerOut",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller",{id:"@id"},{update:{method:"PUT"},test:{method:"GET"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionListCtrl",["$scope","gridOptions","MailAccount","$http","$translate","$stateParams",function(a,b,c,d,e,f){a.initActons=function(){var d={draggable:!0,exporterCsvFilename:"mail_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.MailQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/mail/accounts/view/{{row.entity.MailAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/mail/account/view/action/list/list.html",controller:"MailAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","MailQueue","MailAccount","Template",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",
-value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"ReplyMail",value:"replyMail"}],a.types=[{key:"APPLICATION_REPLY",value:"reply"},{key:"APPLICATION_REPLY_TO_ALL",value:"replyAll"}],b.get("/api/mail/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return n.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g=angular.copy(a.application);switch(g.intType){case"always":g.interval=e.join(","),delete g.IntervalId;break;case"custom":g.alwaysTime||(e[0]=g.alwaysTime?"*":g.t_from_hm+"-"+g.t_to_hm),g.wd_from&&g.wd_to&&"always"===g.wd_from&&"always"===g.wd_to?e[1]="*":e[1]=g.wd_from&&g.wd_to?g.wd_from+"-"+g.wd_to:"*",g.md_from&&g.md_to&&"always"===g.md_from&&"always"===g.md_to?e[2]="*":e[2]=g.md_from&&g.md_to?g.md_from+"-"+g.md_to:"*",g.m_from&&g.m_to&&"always"===g.m_from&&"always"===g.m_to?e[3]="*":e[3]=g.m_from&&g.m_to?g.m_from+"-"+g.m_to:"*",g.interval=e.join(","),delete g.IntervalId}b.put("/api/mail/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/mail/account/view/action/view/view.html",controller:"MailAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionWizardCtrl",["$scope","$http","Agent","Template","MailQueue","MailAccount","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"ReplyMail",value:"replyMail"}],a.types=[{key:"APPLICATION_REPLY",value:"reply"},{key:"APPLICATION_REPLY_TO_ALL",value:"replyAll"}],a.$application=n.application,a.$stateParams=h,a.$interval=o.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return e.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return d.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return f.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return g.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(o[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?o[1]="*":o[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?o[2]="*":o[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?o[3]="*":o[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=o.join(","),delete a.application.IntervalId}return f.save({accountId:h.accountId,controller:"applications"},a.application).$promise.then(function(){j.path("/channels/mail/accounts/view/"+h.accountId+"/actions/list")})["catch"](function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){l.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/mail/account/view/action/wizard/wizard.html",controller:"MailAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailDisposition",["$resource",function(a){return a("/api/mail/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","MailAccount","id","xAlert","$translate",function(a,b,c,d,e,f){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){e.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","MailAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/mail/account/view/disposition/modal/add.modal.html",controller:"MailInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.dispositions",{url:"/dispositions",controller:"MailAccountDispositionViewCtrl",templateUrl:"app/channels/mail/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountHooksViewCtrl",["$scope","MailAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i,j){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){i.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){i.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItemMailAccount=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.hooks",{url:"/hooks",controller:"MailAccountHooksViewCtrl",templateUrl:"app/channels/mail/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountOtherViewCtrl",["$scope","$rootScope","$stateParams","$translate","xAlert","MailAccount",function(a,b,c,d,e,f){a.initView=function(){return a.options={language:b.language,allowedContent:!0,entities:!1,skin:"office2013",contentsCss:"/assets/css/global/richparams.css",extraPlugins:"autogrow",autoGrow_minHeight:450,disableNativeSpellChecker:!1,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},{name:"document",items:["Source"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]},"/",{name:"motion",items:["voice","chat","mail"]}]},f.get({id:c.accountId}).$promise.then(function(b){console.log(b),a.account=b})["catch"](function(a){e.error(a)})},a.updateItemMailAccount=function(){return f.update({id:c.accountId},{whiteLabel:a.account.whiteLabel,signature:a.account.signature}).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.other",{url:"/other",controller:"MailAccountOtherViewCtrl",templateUrl:"app/channels/mail/account/view/other/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountSettingViewCtrl",["$scope","$http","$stateParams","$translate","$location","$timeout","socket","xAlert","MailAccount","MailMessage","MailServerIn","MailServerOut","usSpinnerService","List","Template",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.imapDisabled=!1,a.smtpDisabled=!1,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.$on("$destroy",function(){g.socket.removeAllListeners("mail_message:sent"),g.socket.removeAllListeners("mail_message:failed")}),a.initView=function(){return g.socket.on("mail_message:sent",function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success"),m.stop("spinner-grid")}),g.socket.on("mail_message:failed",function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),m.stop("spinner-grid")}),n.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)}),o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)}),i.get({id:c.accountId}).$promise.then(function(b){a.account=b,a.account.MailServerIn&&(a.account.MailServerIn.source=JSON.parse(a.account.MailServerIn.source),a.account.MailServerOut.source=JSON.parse(a.account.MailServerOut.source),g.socket.on("mail_server_in:state",function(b){if(b.id===a.account.MailServerIn.id)switch(a.account.MailServerIn.state=b.state,a.account.MailServerIn.source=JSON.parse(b.source),b.state){case"CONNECTING":break;default:m.stop("spinner-grid"),a.imapDisabled=!1}})),g.socket.on("mail_server_out:state",function(b){if(b.id===a.account.MailServerOut.id)switch(a.account.MailServerOut.state=b.state,a.account.MailServerOut.source=JSON.parse(b.source),b.state){case"CONNECTING":break;default:m.stop("spinner-grid"),a.smtpDisabled=!1}})})["catch"](function(a){h.error(a)})},a.updateItemMailAccount=function(){return i.update({id:c.accountId},{name:a.account.name,description:a.account.description,address:a.account.address,fidelity:a.account.fidelity,timeout:a.account.timeout,service:a.account.service,ListId:a.account.ListId,TemplateId:a.account.TemplateId}).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.updateItemMailServerIn=function(){var b=angular.copy(a.account.MailServerIn);return delete b.source,m.spin("spinner-grid"),a.imapDisabled=!0,k.update({id:b.id},b).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.updateItemMailServerOut=function(){var b=angular.copy(a.account.MailServerOut);return delete b.source,m.spin("spinner-grid"),a.smtpDisabled=!0,l.update({id:b.id},b).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.test=function(){return m.spin("spinner-grid"),a.smtpDisabled=!0,l.update({id:a.account.MailServerOut.id},{state:"CONNECTING"}).$promise["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.settings",{url:"/settings",controller:"MailAccountSettingViewCtrl",templateUrl:"app/channels/mail/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewCtrl",["$scope","$stateParams","MailAccount",function(a,b,c){a.initView=function(){return c.get({id:b.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view",{url:"/view/:accountId",controller:"MailAccountViewCtrl",templateUrl:"app/channels/mail/account/view/view.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","MailAccount",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.item={MailServerIn:{port:993,ssl:!0,"delete":!1,protocol:"IMAP",filter:"UNSEEN",mailbox:"INBOX",keepalive:!0,authTimeout:5,connTimeout:10},MailServerOut:{port:465,ssl:!0}}},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/channels/mail/accounts/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/mail/account/wizard/wizard.html",controller:"MailAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox",{url:"/inbox",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","uniqueId","ReportSquare",function(a,b,c,d,e,f,g){a.data=null,a.initInfo=function(){g.get({controller:"show",uniqueid:f}).$promise.then(function(b){a.data={id:b.id,channel:b.channel,uniqueid:b.uniqueid,callerid:b.callerid,calleridname:b.calleridname,project_name:b.project_name,extension:b.extension}})["catch"](function(b){switch(b.status){case 404:a.data=null;break;default:e.error(b)}})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("mailMessage",["$rootScope","$translate","MailMessage","List","xAlert","Lightbox","$uibModal",function(a,b,c,d,e,f,g){return{restrict:"E",scope:{message:"=",listId:"="},templateUrl:"app/channels/mail/inbox/message/message.directive.html",link:function(h){h.openPreview=function(a){f.openModal(["api/mail/attachments/"+a],0)},h.openContact=function(c){return h.listId?d.save({listId:h.listId,controller:"contacts"},{email:c}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.email,type:"contact"})})["catch"](function(a){console.error(a)}):void e.show(b.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},h.info=function(a){g.open({animation:!0,templateUrl:"app/channels/mail/inbox/message/info.modal.html",controller:"MailInboxInfoModalCtrl",resolve:{uniqueId:function(){return a}}})},h.retry=function(a){return c.update({id:a,status:"SENDING"}).$promise["catch"](function(a){console.error(a)})}}}}]),angular.module("xCallyShuttleApp").directive("mailNote",["$translate","Modal","Auth","MailMessage","xAlert",function(a,b,c,d,e){return{restrict:"E",scope:{message:"="},templateUrl:"app/channels/mail/inbox/note/note.directive.html",link:function(f){f.Auth=c,f.deleteNote=b.confirm["delete"](function(){return d.remove({id:f.message.id}).$promise.then(function(){e.show(a.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){e.error(a)})})}}}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalNoteCtrl",["$scope","$uibModalInstance","$translate","id","MailRoom","xAlert",function(a,b,c,d,e,f){a.initModal=function(){a.item={}},a.ok=function(){return e.save({id:d,controller:"messages",controller2:"send"},{text:a.item.text,status:"NOTE"}).$promise.then(function(){f.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){f.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close()})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").directive("mailRoom",["$rootScope","$cookieStore","$translate","$uibModal","$timeout","Tag","CannedAnswer","MailAttachment","List","MailAccount","MailRoom","MailMessage","FileUploader","xAlert","usSpinnerService","socket","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){return{restrict:"E",scope:{workspace:"="},templateUrl:"app/channels/mail/inbox/room/room.directive.html",link:function(e){function r(a){var b="";return e.mailRoom.MailAccount.signature&&(b+="<br>"+e.mailRoom.MailAccount.signature),a?b+"<br><blockquote>"+a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\n/g,"<br>")+"</blockquote>":void 0}e.$on("$destroy",function(){console.log("mailRoom directive $destroy")});var s=[];e.user=q.getCurrentUser(),e.getContacts=function(a){return e.listId?i.get({listId:e.listId,controller:"contacts",email:a}).$promise.then(function(a){return a.rows})["catch"](function(a){console.error(a)}):[]},e.setList=function(a){e.listId=a},e.options={language:a.language,allowedContent:!0,entities:!1,skin:"office2013",extraPlugins:"autogrow",autoGrow_minHeight:600,autoGrow_maxHeight:600,disableNativeSpellChecker:!1,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]}]},e.expanded=!0,e.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},e.panelLeft=null,e.panelRight="col-md-12",e.forms={},e.form={from:[],to:e.workspace.data&&e.workspace.data.to?[e.workspace.data.to]:[],cc:[],bcc:[],tags:[],html:"",disabled:!1},p.socket.on("mail_message:remove",function(a){_.remove(e.mailRoom.MailMessages,{id:a.id})}),p.socket.on("mail_message:save",function(a){return e.workspace.id&&a.MailRoomId==e.workspace.id?(e.workspace.active||e.workspace.unread++,l.get({id:a.id}).$promise.then(function(a){e.mailRoom||(e.mailRoom={MailMessages:[]});var b=_.findIndex(e.mailRoom.MailMessages,{id:a.id});b>-1?_.merge(e.mailRoom.MailMessages[b],a):e.mailRoom.MailMessages.unshift(a),e.panelLeft="col-md-6",e.panelRight="col-md-6"})["catch"](function(a){console.error(a)})):void 0});var t=e.uploader=new m({url:"api/mail/attachments",autoUpload:!0,withCredentials:!0,headers:{Authorization:"Bearer "+b.get("token")}});return t.onErrorItem=function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},t.removeFromQueue=function(a){var b=this;return h["delete"]({id:a.basename}).$promise.then(function(){var c=b.getIndexOfItem(a),d=b.queue[c];d.isUploading&&d.cancel(),b.queue.splice(c,1),d._destroy(),b.progress=b._getTotalProgress(),s=_.reject(s,{basename:a.basename})})["catch"](function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},t.onSuccessItem=function(a,b){var c={size:b.size,path:b.path,name:b.name,basename:b.basename,type:b.type};a=_.merge(a,c),s.push(c)},e.openRoom=function(b){var c=_.find(a.workspaces,{id:b,type:"mailRoom"});c?c.active=!0:a.workspaces.push({id:b,type:"mailRoom","class":"icon-envelope",active:!0})},e.togglePanelLeft=function(){e.panelLeft?(e.panelLeft=null,e.panelRight="col-md-12"):(e.panelLeft="col-md-6",e.panelRight="col-md-6")},e.onSelectAnswer=function(){e.form.html=e.form.html+e.modelOptions.selectedAnswer,delete e.modelOptions.selectedAnswer},e.getAnswers=function(a){return g.get({key:a}).$promise.then(function(a){return _.map(a.rows,"value")})},e.closeRoom=function(){return d.open({animation:!0,templateUrl:"app/channels/mail/inbox/status/status.modal.html",controller:"MailInboxStatusModalCtrl",resolve:{accountId:function(){return e.mailRoom.MailAccount.id}}}).result.then(function(a){return k.patch({id:e.workspace.id},a).$promise["catch"](function(a){n.error(a)})})},e.loadNote=function(){return d.open({animation:!0,templateUrl:"app/channels/mail/inbox/note/note.modal.html",controller:"MailInboxViewModalNoteCtrl",resolve:{id:function(){return e.workspace.id}}})},e.onChanged=function(){return k.update({id:e.workspace.id},{tags:e.form.tags}).$promise["catch"](function(a){console.error(a)})},e.sendMail=function(){o.spin("spinner-grid"),e.form.disabled=!0;var a={},b={subject:e.form.subject||(e.mailRoom?e.mailRoom.subject:null),from:e.form.from,to:_.map(e.form.to,"email"),cc:_.map(e.form.cc,"email"),bcc:_.map(e.form.bcc,"email"),html:e.form.html||null,text:e.form.text||null,inReplyTo:a.messageId||null,status:"SENDING",MailAttachments:s};return e.mailRoom?(a=_.last(e.mailRoom.MailMessages,{status:"RECEIVED"}),b.inReplyTo=a.messageId||null,k.save({id:e.workspace.id,controller:"messages",controller2:"send"},b).$promise.then(function(){e.form.html="",t.queue=[],s=[],n.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){o.stop("spinner-grid"),e.form.disabled=!1})):l.save(b).$promise.then(function(a){n.show(c.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),e.form.html="",t.queue=[],s=[],e.workspace.id=a.id,e.workspace.name=a.subject,e.mailRoom=a,e.expanded=!1})["catch"](function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){o.stop("spinner-grid"),e.form.disabled=!1})},f.get().$promise.then(function(a){e.tags=_.map(a.rows,"name")})["catch"](function(a){console.error(a)}),j.get().$promise.then(function(a){e.mailAccounts=a.rows})["catch"](function(a){console.error(a)}),e.workspace.id?(e.panelLeft="col-md-6",e.panelRight="col-md-6",k.get({id:e.workspace.id}).$promise.then(function(a){e.mailRoom=a,e.expanded=!1,e.listId=a.MailAccount.ListId,e.workspace.name=a.subject||"No subject",e.form.from.push(a.MailAccount.address),e.form.tags=a.tags;var b=_.findLast(e.mailRoom.MailMessages,{status:"RECEIVED"});return b&&(e.form.to=_.map(_.union(b.from,b.to),function(a){return{email:a}}),e.form.to=_.remove(e.form.to,function(b){return b.email!==a.MailAccount.address}),e.form.cc=_.map(b.cc,function(a){return{email:a}}),e.form.bcc=_.map(b.bcc,function(a){return{email:a}}),e.form.subject="Re: "+(b.subject||"No subject"),e.form.html=r(b.text)),p.socket.on("mail_room:save",function(a){a.id===e.workspace.id&&_.merge(e.mailRoom,a)}),a})["catch"](function(a){console.error(a)})["finally"](function(){o.stop("spinner-grid"),e.form.disabled=!1})):(e.panelLeft=null,e.panelRight="col-md-12",o.stop("spinner-grid"),void 0)}}}]),angular.module("xCallyShuttleApp").controller("MailInboxStatusModalCtrl",["$scope","$uibModalInstance","MailAccount","accountId",function(a,b,c,d){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_MAIL"},a.initDisposition=function(){return a.item={disposition:null,status:"CLOSED"},c.get({accountId:d,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","uibButtonConfig","usSpinnerService","socket","MailAccount","MailRoom","uiGridConstants","Auth","Modal","xAlert","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:"mailRoom"});return d&&b?d.active=!0:a.workspaces.push({id:b,subject:c,type:"mailRoom","class":"icon-envelope",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?l.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(){i.spin("spinner-grid");var b={accountId:e.id,controller:"rooms"};return a.query&&_.merge(b,a.query),k.query(b).$promise.then(function(b){q.set("mailAccountId",e.id),a.gridOptions.data=b,j.socket.on("mail_room:save",function(b){if(b.MailAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),j.socket.on("mail_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){console.error(a)})["finally"](function(){i.stop("spinner-grid")})},a.initView=function(){h.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:q.get("mailStatus")?q.get("mailStatus"):"NEW",tags:q.get("mailTags")?q.get("mailTags"):[]},a.$watch("query.status",function(){q.set("mailStatus",a.query.status),a.getPage()},!0),k.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)}),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"mail_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"attachment",displayName:"",headerCellTemplate:'<i class="icon-paper-clip" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.attachment ? 'icon-paper-clip' : ''\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!0,enableFiltering:!0,enableColumnMenu:!1},{name:"subject"},{name:"from",cellClass:"text-center"},{name:"disposition",displayName:"APPLICATION_DISPOSITION",headerCellFilter:"translate"},{name:"updatedAt",cellFilter:"date:'dd/MM/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only" data-ng-disabled="row.entity.waiting" data-ng-class="row.entity.waiting ? \'font-blue\' : \'font-green\'" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.subject)"><i class="fa" data-ng-class="row.entity.waiting ? \'fa-repeat\' : \'fa-envelope\' " aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-disabled="row.entity.waiting" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id, row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i></a> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:70,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){
-_.pull(a.id,b)})}))}},a.getPage(a.query)},a.onChanged=function(){q.set("mailTags",a.query.tags),a.getPage(a.query)},a.tagItems=function(){return c.open({animation:!0,templateUrl:"app/channels/mail/inbox/view/view.tags.modal.html",controller:"MailInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})},a.disposeItems=function(){return c.open({animation:!0,templateUrl:"app/channels/mail/inbox/status/status.modal.html",controller:"MailInboxStatusModalCtrl",resolve:{status:function(){return null},accountId:function(){return e.id}}}).result.then(function(b){return l.patch({id:a.id},b).$promise.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return l.remove(c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return l["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/mail/inbox/view/account/list/list.html",controller:"MailInboxViewAccountListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","Auth","MailRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h,i){var j=[];a.initModal=function(){return a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){for(var c=0;c<b.rows.length;c++)a.agents.push(b.rows[c]);return g.query({id:i,controller:"agents"}).$promise}).then(function(b){for(var c=0;c<b.length;c++)f.isAgent()||a.item.agents.push(b[c]),j.push(b[c].id)})["catch"](function(a){console.error(a)})},a.ok=function(){return j=f.isAgent()?_.union(j,a.item.agents):angular.copy(a.item.agents),g.update({id:i,controller:"agents",agents:j}).$promise.then(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailInboxViewCtrl",["$scope","$timeout","$location","localStorageService","MailAccount",function(a,b,c,d,e){a.initView=function(){return e.get().$promise.then(function(b){var e=null;a.mailAccounts=b.rows,a.mailAccounts.length&&(e="/channels/mail/inbox/view/account/"+(d.get("mailAccountId")||a.mailAccounts[0].id)+"/list"),e&&c.path(e)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox.view",{url:"/view",templateUrl:"app/channels/mail/inbox/view/view.html",controller:"MailInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","MailRoom","xAlert","id",function(a,b,c,d,e,f,g,h){a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalTemplateCtrl",["$scope","$uibModalInstance","Template",function(a,b,c){a.initModal=function(){return a.item={},c.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail",{url:"/mail",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("MailAttachment",["$resource",function(a){return a("/api/mail/attachments/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").factory("MailMessage",["$resource",function(a){return a("/api/mail/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailReport",["$resource",function(a){return a("/api/report/mails/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailRoom",["$resource",function(a){return a("/api/mail/rooms/:id/:controller/:controller2",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").controller("MailQueueListCtrl",["$scope","MailQueue","gridOptions","$uibModal","Auth",function(a,b,c,d,e){a.initView=function(){a.Auth=e;var d={exporterCsvFilename:"voice_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"timeout"},{name:"strategy"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/mail/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/mail/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===e.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/mail/queue/list/list.create.modal.html",controller:"MailQueueListCreateCtrl",size:"lg"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("MailQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","MailQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.queues.list",{url:"/list",templateUrl:"app/channels/mail/queue/list/list.html",controller:"MailQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("MailQueue",["$resource",function(a){return a("/api/mail/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]},data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert","Team","MailQueue","Auth","strategies",function(a,b,c,d,e,f,g,h,i){a.Auth=h,a.strategies=i;var j=function(){return{select:function(b){return g.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return g["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return g.get({id:d.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){console.error(a)})},a.updateMailQueue=function(){return g.update({id:d.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,g.get({id:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasMailQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.queues.view",{url:"/view/:id",templateUrl:"app/channels/mail/queue/view/view.html",controller:"MailQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.mail.queues.view.settings",{url:"/settings",templateUrl:"app/channels/mail/queue/view/view.settings.html"}).state("main.channels.mail.queues.view.agents",{url:"/agents",templateUrl:"app/channels/mail/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","MailQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.mailPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_mail_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PMailQueues,"id"),b.MailQueueId)||n.isAdmin();if(c){var d=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0});if(d){var e=a.gridOptions.data.indexOf(d);a.gridOptions.data.splice(e+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.MailQueueId,agent:b.membername,online:d.online})}}}),e.socket.on("user_has_mail_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.MailQueueId})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.mailPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.MailQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.mailQueues=b.rows,e.syncUpdates("mail_queue",a.mailQueues)})["catch"](function(a){f.error(a)})}a.mailQueues=[];var t={controller:"realtime",controller1:"mail",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"mailPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.mailQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_mail_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"mail"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/mail/realtime/view/agent/queue.modal.add.html",controller:"MailRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.mailQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.mailQueues,function(a){return _.includes(b.queues,a.id)}),channel:"mail",data1:e,data3:b.queues.join(","),data4:"mail"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"mail",data1:a,data3:b,data4:"mail"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/mail/realtime/view/agent/agent.modal.info.html",controller:"MailRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/mail/realtime/view/agent/agent.html",controller:"MailRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportMailSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_mail_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_mail_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_mail_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/mail/realtime/view/application/application.html",controller:"MailRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.mail.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.mail.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.mail.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.mail.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.mail.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.mail.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime.view",{url:"/view",templateUrl:"app/channels/mail/realtime/view/view.html",controller:"MailRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportMailSession",["$resource",function(a){return a("/api/report/mail/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelAccount",["$resource",function(a){return a("/api/openchannel/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts",{url:"/accounts",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountListCtrl",["$scope","OpenChannelAccount","gridOptions","$stateParams","xAlert","$translate",function(a,b,c,d,e,f){a.initView=function(){var e={exporterCsvFilename:"openchannel_accounts.csv",columnDefs:[{name:"id",displayName:"ID",cellClass:"text-center",width:75,enableSorting:!1,enableFiltering:!1},{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/openchannel/accounts/view/{{row.entity.id}}/settings",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a,{accountId:d.accountId})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.list",{url:"/list",templateUrl:"app/channels/openchannel/account/list/list.html",controller:"OpenChannelAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("OpenChannelApplication",["$resource",function(a){return a("/api/openchannel/applications/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewActionListCtrl",["$scope","gridOptions","OpenChannelAccount","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e,f,g){a.initActions=function(){var d={draggable:!0,exporterCsvFilename:"openchannel_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.OpenchannelQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/openchannel/accounts/view/{{row.entity.OpenchannelAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/openchannel/account/view/action/list/list.html",controller:"OpenChannelAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","OpenChannelQueue","OpenChannelAccount","OpenChannelApplication",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],o.get({id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){var b=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,OpenchannelAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.OpenchannelQueueId=a.application.OpenchannelQueueId}switch(a.application.intType){case"always":g.interval=b.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(b[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?b[1]="*":b[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?b[2]="*":b[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?b[3]="*":b[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=b.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}return n.update({accountId:c.accountId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/openchannel/accounts/view/"+c.accountId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/openchannel/account/view/action/view/view.html",controller:"OpenChannelAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewActionWizardCtrl",["$scope","$http","Agent","OpenChannelQueue","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","OpenChannelApplication",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=l.application,
-a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return d.get().$promise.then(function(b){console.log(b),a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return e.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){var b=["*","*","*","*"];console.log(a.application);var c={app:a.application.app,timeout:a.application.timeout,OpenchannelAccountId:f.accountId};switch(a.application.app){case"agent":c.UserId=a.application.UserId;break;case"queue":c.OpenchannelQueueId=a.application.OpenchannelQueueId}switch(a.application.intType){case"always":c.interval=b.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(b[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?b[1]="*":b[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?b[2]="*":b[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?b[3]="*":b[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",c.interval=b.join(","),delete a.application.IntervalId;break;case"list":c.IntervalId=a.application.IntervalId}return console.log(c),n.save(c).$promise.then(function(){h.path("/channels/openchannel/accounts/view/"+f.accountId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/openchannel/account/view/action/wizard/wizard.html",controller:"OpenChannelAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountApiViewCtrl",["$scope","OpenChannelAccount","$http","$stateParams","clipboard","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.copyToClipboard=function(a){e.copyText(a),h.show(f.instant("MESSAGE_TEXT_COPIED_CLIPBOARD")+"!","success")},a.initView=function(){b.get({id:d.accountId}).$promise.then(function(b){a.account=b,a.receiveurl=a.account.remote+"/api/openchannel/accounts/"+a.account.id+"/receive"})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.api",{url:"/api",controller:"OpenChannelAccountApiViewCtrl",templateUrl:"app/channels/openchannel/account/view/api/view/view.html"})}]),angular.module("xCallyShuttleApp").factory("OpenChannelDisposition",["$resource",function(a){return a("/api/openchannel/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","OpenChannelAccount","id",function(a,b,c,d){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","OpenChannelAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/openchannel/account/view/disposition/modal/add.modal.html",controller:"OpenChannelInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.dispositions",{url:"/dispositions",controller:"OpenChannelAccountDispositionViewCtrl",templateUrl:"app/channels/openchannel/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountHooksViewCtrl",["$scope","OpenChannelAccount","Pause","$http","$stateParams","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){h.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){h.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItem=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){h.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.hooks",{url:"/hooks",controller:"OpenChannelAccountHooksViewCtrl",templateUrl:"app/channels/openchannel/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountSettingViewCtrl",["$scope","OpenChannelAccount","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.types=[{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],a.account={},a.initView=function(){i.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)}),b.get({id:d.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){h.error(a)})},a.updateItem=function(){return b.update({id:d.accountId},a.account).$promise.then(function(){h.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.settings",{url:"/settings",controller:"OpenChannelAccountSettingViewCtrl",templateUrl:"app/channels/openchannel/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewCtrl",["$scope","OpenChannelAccount","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return a.account={},b.get({id:d.accountId}).$promise.then(function(b){a.account=b,console.log(b)})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view",{url:"/view/:accountId",templateUrl:"app/channels/openchannel/account/view/view.html",controller:"OpenChannelAccountViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","OpenChannelAccount",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.item={},a.item.remote=c.protocol()+"://"+location.host},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/channels/openchannel/accounts/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/openchannel/account/wizard/wizard.html",controller:"OpenChannelAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox",{url:"/inbox",template:"<div ui-view></div>",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","data",function(a,b,c,d,e,f){a.data=null,a.initInfo=function(){f&&(a.data=_.isEmpty(JSON.parse(f))?null:JSON.parse(f))},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("message",["$rootScope","OpenChannelMessage","List","xAlert","$translate","$uibModal",function(a,b,c,d,e,f){return{restrict:"E",scope:{Message:"=message",accounttype:"=accounttype",listId:"="},templateUrl:"app/channels/openchannel/inbox/message/message.html",link:function(b){b.openContact=function(f,g){if(b.listId){if(!g)return;var h;switch(f){case"phone":h={phone:g};break;case"email":h={email:g};break;default:return}return c.save({listId:b.listId,controller:"contacts"},h).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.phone,type:"contact"})})["catch"](function(a){console.error(a)})}d.show(e.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},b.info=function(a){f.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/message/info.modal.html",controller:"OpenChannelInboxInfoModalCtrl",resolve:{data:function(){return a}}})}}}}]),angular.module("xCallyShuttleApp").directive("openchannelRoom",["OpenChannelReport","$cookieStore","$translate","$uibModal","$timeout","Tag","CannedAnswer","Auth","OpenChannelAccount","OpenChannelRoom","OpenChannelMessage","xAlert","usSpinnerService","socket","$stateParams","$rootScope",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/channels/openchannel/inbox/room/room.directive.html",link:function(a){a.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},a.panelLeft=null,a.panelRight="col-md-12",a.togglePanelLeft=function(){a.panelLeft?(a.panelLeft=null,a.panelRight="col-md-12"):(a.panelLeft="col-md-6",a.panelRight="col-md-6")},a.form={disabled:!1,from:"",to:a.workspace.data&&a.workspace.data.to?a.workspace.data.to:"",body:""},n.socket.on("openchannel_message:save",function(b){return a.workspace.id&&b.OpenchannelRoomId==a.workspace.id?k.get({id:b.id}).$promise.then(function(b){a.Room||(a.Room={OpenchannelMessages:[]});var c=_.findIndex(a.Room.OpenchannelMessages,{id:b.id});c>-1?_.merge(a.Room.OpenchannelMessages[c],b):a.Room.OpenchannelMessages.unshift(b),a.panelLeft="col-md-6",a.panelRight="col-md-6"})["catch"](function(a){console.error(a)}):void 0}),n.socket.on("openchannel_message:update",function(b){if(a.Room&&b.OpenchannelRoomId==a.workspace.id){var c=_.find(a.Room.OpenchannelMessages,{id:b.id});c&&_.merge(c,b)}}),n.socket.on("openchannel_room:save",function(b){a.Room&&b.id==a.workspace.id&&(a.Room.status=b.status,a.Room.disposition=b.disposition)}),a.closeRoom=function(b){return d.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.status.modal.html",controller:"OpenChannelInboxViewModalStatusCtrl",resolve:{closed:function(){return"CLOSED"===a.Room.status},accountId:function(){return a.Room.OpenchannelAccountId}}}).result.then(function(a){var c={id:b,status:"CLOSED"};return a.disposition&&(c.disposition=a.disposition),j.update(c).$promise["catch"](function(a){l.error(a)})})},a.openRoom=function(a,b){var c=_.find(p.workspaces,{id:a,type:"openchannelRoom"});c?c.active=!0:p.workspaces.push({id:a,name:b,type:"openchannelRoom","class":"icon-globe",active:!0})},f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),i.get().$promise.then(function(b){a.Accounts=b.rows})["catch"](function(a){console.error(a)}),a.workspace.id?(a.panelLeft="col-md-6",a.panelRight="col-md-6",j.get({id:a.workspace.id}).$promise.then(function(b){a.Room=b,a.form.from=a.Room.OpenchannelAccount.name,a.form.to=a.Room.contact,a.form.tags=a.Room.tags})["catch"](function(a){console.error(a)})["finally"](function(){m.stop("spinner-grid"),a.form.disabled=!1})):m.stop("spinner-grid"),a.onSelect=function(){a.form.body+=a.modelOptions.selectedAnswer,delete a.modelOptions.selectedAnswer},a.onSelectAnswer=function(b){a.form.body+=b,a.selectedAnswer=""},a.getAnswers=function(a){return g.get({key:a}).$promise.then(function(a){return _.map(a.rows,"value")})},a.loadAgents=function(){d.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.agents.modal.html",controller:"OpenChannelInboxViewModalAgentCtrl",resolve:{roomId:function(){return a.workspace.id}}})},a.onChanged=function(){return j.patch({id:a.workspace.id},{tags:a.form.tags}).$promise["catch"](function(a){console.error(a)})},a.sendMessage=function(){m.spin("spinner-grid");var b=_.find(a.Accounts,{name:a.form.from}).id;if(b){var d={from:a.form.from,to:a.form.to,body:a.form.body,OpenchannelRoomId:a.Room?a.Room.id:null};return i.save({accountId:b,controller:"send"},d).$promise.then(function(b){return l.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.Room?a.Room:j.get({id:"messages",controller:b.id}).$promise}).then(function(b){b&&(a.form.body="",a.workspace.id=b.id,a.workspace.name=b.contact,a.Room=b,a.panelLeft="col-md-6",a.panelRight="col-md-6")})["catch"](function(a){l.error(a)})["finally"](function(){m.stop("spinner-grid")})}}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","usSpinnerService","socket","OpenChannelAccount","OpenChannelRoom","gridOptions","uiGridConstants","Auth","Modal","xAlert","uibButtonConfig","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a.loadAgents=function(a){c.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.agents.modal.html",controller:"OpenChannelInboxViewModalAgentCtrl",resolve:{roomId:a}})},a.initView=function(){q.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:r.get("openchannelStatus")?r.get("openchannelStatus"):"NEW",tags:r.get("openchannelTags")?r.get("openchannelTags"):[]},a.$watch("query.status",function(){r.set("openchannelStatus",a.query.status),a.getPage()},!0),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"openchannel_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!0,enableColumnMenu:!1},{name:"contact",cellClass:"text-center"},{name:"disposition",cellClass:"text-center"},{name:"updatedAt",cellFilter:"date:'MM/dd/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only font-green" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.contact)"><i class="glyphicon glyphicon-comment" aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id,row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:90,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},i.socket.on("openchannel_room:remove",function(b){_.remove(a.workspaces,{id:b.id,type:"openchannelRoom"}),_.remove(a.gridOptions.data,{id:b.id})}),a.getPage(a.query)},a.onChanged=function(){a.getPage(a.query)},a.tagItems=function(){return c.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.tags.modal.html",controller:"OpenChannelInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[],a.getPage()})},a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:"openchannelRoom"});return d?d.active=!0:a.workspaces.push({id:b,name:c,type:"openchannelRoom","class":"icon-globe",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?k.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(b){h.spin("spinner-grid");var c={accountId:e.id,controller:"rooms"};return b&&_.merge(c,b),a.query&&_.merge(c,a.query),j.query(c).$promise.then(function(b){r.set("openchannelAccountId",e.id),a.gridOptions.data=b,i.socket.on("openchannel_room:save",function(b){if(b.OpenchannelAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),i.socket.on("openchannel_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){console.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return console.log(c),k["delete"](c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return k["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/openchannel/inbox/view/account/list/list.html",controller:"OpenChannelInboxViewAccountListCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","OpenChannelRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h){a.initModal=function(){a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){b.rows.forEach(function(b){a.agents.push(b)})})["catch"](function(a){console.error(a)}),f.query({id:h,controller:"agents"}).$promise.then(function(b){b.forEach(function(b){a.agents.push(b),a.item.agents.push(b.id)})})["catch"](function(a){console.error(a)}),a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}},a.ok=function(){return f.update({id:h,controller:"agents",agents:a.item.agents}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewCtrl",["$scope","$location","$stateParams","$translate","$uibModal","socket","Auth","xAlert","OpenChannelRoom","OpenChannelAccount","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){j.get().$promise.then(function(c){var d=null;a.Accounts=c.rows,a.Accounts.length&&(d="/channels/openchannel/inbox/view/account/"+(k.get("openchannelAccountId")||a.Accounts[0].id)+"/list"),d&&b.path(d)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox.view",{url:"/view",templateUrl:"app/channels/openchannel/inbox/view/view.html",controller:"OpenChannelInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModalStatusCtrl",["$scope","$uibModalInstance","closed","OpenChannelAccount","accountId",function(a,b,c,d,e){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE"},a.initDisposition=function(){return d.get({accountId:e,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.item={},a.closed=c,a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","OpenChannelRoom","xAlert","id",function(a,b,c,d,e,f,g,h){a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel",{url:"/openchannel",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("OpenChannelReport",["$resource",function(a){return a("/api/report/openchannel/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelRoom",["$resource",function(a){return a("/api/openchannel/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelMessage",["$resource",function(a){return a("/api/openchannel/messages/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelQueueListCtrl",["$scope","OpenChannelQueue","gridOptions","$uibModal","xAlert","Auth",function(a,b,c,d,e,f){a.initView=function(){a.Auth=f;var d={exporterCsvFilename:"openchanel_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"timeout"},{name:"strategy"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/openchannel/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/openchannel/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===f.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/openchannel/queue/list/list.create.modal.html",controller:"OpenChannelQueueListCreateCtrl",size:"lg"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("OpenChannelQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","OpenChannelQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return console.log(a.item),e.save(a.item).$promise.then(function(a){b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.queues.list",{url:"/list",templateUrl:"app/channels/openchannel/queue/list/list.html",controller:"OpenChannelQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelQueue",["$resource",function(a){return a("/api/openchannel/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.queues",{url:"/queues",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelQueueViewCtrl",["$scope","$http","Auth","$translate","$stateParams","xAlert","Team","OpenChannelQueue","strategies",function(a,b,c,d,e,f,g,h,i){a.strategies=i,a.Auth=c;var j=function(){return{select:function(b){return h.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(b){console.log("sel",b),a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return h["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(b){console.log("desel",b),a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return h.get({id:e.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){console.error(a)})},a.updateQueue=function(){return h.update({id:e.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,console.log(b.rows),h.get({id:e.id,controller:"agents"}).$promise}).then(function(b){console.log(b),ComponentsDropdowns.bindQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasOpenchannelQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.queues.view",{url:"/view/:id",templateUrl:"app/channels/openchannel/queue/view/view.html",controller:"OpenChannelQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.openchannel.queues.view.settings",{url:"/settings",templateUrl:"app/channels/openchannel/queue/view/view.settings.html"}).state("main.channels.openchannel.queues.view.agents",{url:"/agents",templateUrl:"app/channels/openchannel/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","OpenChannelQueue","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){return k.spin("grid-spinner"),g.get(s).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){p(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function o(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,
-c.lastLoginAt=b.lastLoginAt,c.pause=b.openchannelPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_openchannel_queue:save",function(b){console.log("new queue",b);var c=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0}),d=a.gridOptions.data.indexOf(c);a.gridOptions.data.splice(d+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.OpenchannelQueueId,agent:b.membername,online:c.online})}),e.socket.on("user_has_openchannel_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.OpenchannelQueueId})})}function p(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.openchannelPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.OpenchannelQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function q(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function r(){return j.get().$promise.then(function(b){a.openchannelQueues=b.rows,e.syncUpdates("openchannel_queue",a.openchannelQueues)})["catch"](function(a){f.error(a)})}a.openchannelQueues=[];var s={controller:"realtime",controller1:"openchannel",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"openchannelPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause" class="left-margin">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.openchannelQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?s.order=null:s.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),n()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){s.offset=(a-1)*b,s.limit=b,n()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?s[a.name]=a.filters[0].term:delete s[a.name]}),n()})}},n(),q(),r(),o()};var t=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_openchannel_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"openchannel"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/openchannel/realtime/view/agent/queue.modal.add.html",controller:"OpenChannelRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.openchannelQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.openchannelQueues,function(a){return _.includes(b.queues,a.id)}),channel:"openchannel",data1:e,data3:b.queues.join(","),data4:"openchannel"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"openchannel",data1:a,data3:b,data4:"openchannel"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/openchannel/realtime/view/agent/agent.modal.info.html",controller:"OpenChannelRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/openchannel/realtime/view/agent/agent.html",controller:"OpenChannelRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportOpenChannelSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_openchannel_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_openchannel_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_openchannel_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/openchannel/realtime/view/application/application.html",controller:"OpenChannelRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.openchannel.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.openchannel.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.openchannel.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.openchannel.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.openchannel.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.openchannel.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime.view",{url:"/view",templateUrl:"app/channels/openchannel/realtime/view/view.html",controller:"OpenChannelRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportOpenChannelSession",["$resource",function(a){return a("/api/report/openchannel/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:12}}})}]),angular.module("xCallyShuttleApp").controller("RealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(b){return j.spin("grid-spinner"),g.get(p).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){b&&n(),j.stop("grid-spinner")})}function n(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&_.merge(c,b)}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}function o(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}var p={controller:"realtime",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.name}} <{{row.entity.internal}}></div>"},{name:"online",displayName:"APPLICATION_ONLINE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"pauseStatus",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span class="left-margin"><i data-ng-if="row.entity.voicePause || row.entity.mailPause || row.entity.chatPause || row.entity.faxPause || row.entity.smsPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,null)" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i> <i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.id,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i></span><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.id,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select><span data-ng-if="row.entity.voicePause || row.entity.mailPause || row.entity.chatPause || row.entity.faxPause || row.entity.smsPause"> [{{row.entity.pauseType}}]<timer start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000"> [{{hhours}}:{{mminutes}}:{{sseconds}}]</timer></span></div>'},{name:"voicePause",displayName:"APPLICATION_VOICE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.voicePause}"><span class="left-margin"><i data-ng-if="row.entity.voicePause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'voice\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"mailPause",displayName:"APPLICATION_MAIL",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.mailPause}"><span class="left-margin"><i data-ng-if="row.entity.mailPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'mail\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"chatPause",displayName:"APPLICATION_CHAT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.chatPause}"><span class="left-margin"><i data-ng-if="row.entity.chatPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'chat\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"faxPause",displayName:"APPLICATION_FAX",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.faxPause}"><span class="left-margin"><i data-ng-if="row.entity.faxPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'fax\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"smsPause",displayName:"APPLICATION_SMS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.smsPause}"><span class="left-margin"><i data-ng-if="row.entity.smsPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'sms\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){q(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?p.order=null:p.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),m()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){p.offset=(a-1)*b,p.limit=b,m()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?p[a.name]=a.filters[0].term:delete p[a.name]}),m()})}},m(!0),o()};var q=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent")}),a.pause=function(b,c,e,g){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:g||"all"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/realtime/view/agent/agent.html",controller:"RealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("RealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("RealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("RealtimeViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.realtime.view",{url:"/view",templateUrl:"app/channels/realtime/view/view.html",controller:"RealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("ReportCall",["$resource",function(a){return a("/api/report/calls/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportDial",["$resource",function(a){return a("/api/report/dials/:id/:controller/:controller2",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SmsAccount",["$resource",function(a){return a("/api/sms/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts",{url:"/accounts",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsAccountListCtrl",["$scope","SmsAccount","gridOptions","$stateParams","xAlert","$translate",function(a,b,c,d,e,f){a.message="Hello",a.initView=function(){var e={exporterCsvFilename:"sms_accounts.csv",columnDefs:[{name:"id",displayName:"ID",cellClass:"text-center",width:75,enableSorting:!1,enableFiltering:!1},{name:"name"},{name:"description"},{name:"type",displayName:"APPLICATION_ACCOUNT_TYPE"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/sms/accounts/view/{{row.entity.id}}/settings",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a,{accountId:d.accountId})},a.checkAccount=function(a){return b.get({accountId:a,controller:"check"}).$promise.then(function(){e.show(f.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(a){e.show(f.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.list",{url:"/list",templateUrl:"app/channels/sms/account/list/list.html",controller:"SmsAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SmsApplication",["$resource",function(a){return a("/api/sms/applications/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewActionListCtrl",["$scope","gridOptions","SmsAccount","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e,f,g){a.initActions=function(){var d={draggable:!0,exporterCsvFilename:"sms_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.SmsQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/sms/accounts/view/{{row.entity.SmsAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/sms/account/view/action/list/list.html",controller:"SmsAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","SmsQueue","SmsAccount","Template","MailAccount","SmsApplication",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"SendSMS",value:"sendSms"}],q.get({id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.getSmsAccounts=function(){return n.get().$promise.then(function(b){a.smsAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(j[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?j[1]="*":j[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?j[2]="*":j[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?j[3]="*":j[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=j.join(","),delete a.application.IntervalId}return n.update({accountId:c.accountId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/sms/accounts/view/"+c.accountId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/sms/account/view/action/view/view.html",controller:"SmsAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewActionWizardCtrl",["$scope","$http","Agent","SmsQueue","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","SmsAccount","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"SendSMS",value:"sendSms"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return d.get().$promise.then(function(b){console.log(b),a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return e.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.getSmsAccounts=function(){return n.get().$promise.then(function(b){a.smsAccounts=b.rows})["catch"](function(a){console.error(a);
-})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(m[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?m[1]="*":m[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?m[2]="*":m[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?m[3]="*":m[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=m.join(","),delete a.application.IntervalId}return n.save({accountId:f.accountId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/sms/accounts/view/"+f.accountId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/sms/account/view/action/wizard/wizard.html",controller:"SmsAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountApiViewCtrl",["$scope","SmsAccount","$http","$stateParams","clipboard","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.copyToClipboard=function(a){e.copyText(a),h.show(f.instant("MESSAGE_TEXT_COPIED_CLIPBOARD")+"!","success")},a.initView=function(){b.get({id:d.accountId}).$promise.then(function(b){a.account=b,a.deliveryurl=a.account.remote+"/api/sms/accounts/"+a.account.id+"/messageStatus",a.receiveurl=a.account.remote+"/api/sms/accounts/"+a.account.id+"/receive"})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.api",{url:"/api",controller:"SmsAccountApiViewCtrl",templateUrl:"app/channels/sms/account/view/api/view/view.html"})}]),angular.module("xCallyShuttleApp").factory("SmsDisposition",["$resource",function(a){return a("/api/sms/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","SmsAccount","id",function(a,b,c,d){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","SmsAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/sms/account/view/disposition/modal/add.modal.html",controller:"SmsInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.dispositions",{url:"/dispositions",controller:"SmsAccountDispositionViewCtrl",templateUrl:"app/channels/sms/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountHooksViewCtrl",["$scope","SmsAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h,i){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){i.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){i.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItemSmsAccount=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.hooks",{url:"/hooks",controller:"SmsAccountHooksViewCtrl",templateUrl:"app/channels/sms/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountSettingViewCtrl",["$scope","SmsAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.types=[{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],a.account={},a.initView=function(){j.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){i.error(a)})},a.updateItemSmsAccount=function(){return b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.settings",{url:"/settings",controller:"SmsAccountSettingViewCtrl",templateUrl:"app/channels/sms/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewCtrl",["$scope","SmsAccount","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return a.account={},b.get({id:d.accountId}).$promise.then(function(b){a.account=b,console.log(b)})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view",{url:"/view/:accountId",templateUrl:"app/channels/sms/account/view/view.html",controller:"SmsAccountViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("SmsAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","SmsAccount",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.item={},a.item.remote=c.protocol()+"://"+location.host},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){return console.log(a.item),g.save(a.item).$promise.then(function(){c.path("/channels/sms/accounts/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/sms/account/wizard/wizard.html",controller:"SmsAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox",{url:"/inbox",template:"<div ui-view></div>",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").directive("smsRoom",["$cookieStore","$translate","$uibModal","$timeout","Tag","CannedAnswer","Auth","SmsAccount","SmsRoom","SmsMessage","xAlert","usSpinnerService","socket","$stateParams","$rootScope",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/channels/sms/inbox/room/room.directive.html",link:function(a){a.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},a.panelLeft=null,a.panelRight="col-md-12",a.togglePanelLeft=function(){a.panelLeft?(a.panelLeft=null,a.panelRight="col-md-12"):(a.panelLeft="col-md-6",a.panelRight="col-md-6")},a.form={disabled:!1,from:"",to:a.workspace.data&&a.workspace.data.to?a.workspace.data.to:"",body:""},m.socket.on("sms_message:save",function(b){return a.workspace.id&&b.SmsRoomId==a.workspace.id?j.get({id:b.id}).$promise.then(function(b){a.SmsRoom||(a.SmsRoom={SmsMessages:[]});var c=_.findIndex(a.SmsRoom.SmsMessages,{id:b.id});c>-1?_.merge(a.SmsRoom.SmsMessages[c],b):a.SmsRoom.SmsMessages.unshift(b),a.panelLeft="col-md-6",a.panelRight="col-md-6"})["catch"](function(a){console.error(a)}):void 0}),m.socket.on("sms_message:update",function(b){if(a.SmsRoom&&b.SmsRoomId==a.workspace.id){var c=_.find(a.SmsRoom.SmsMessages,{id:b.id});c&&_.merge(c,b)}}),m.socket.on("sms_room:save",function(b){a.SmsRoom&&b.id==a.workspace.id&&(a.SmsRoom.status=b.status,a.SmsRoom.disposition=b.disposition)}),a.closeRoom=function(b){return c.open({animation:!0,templateUrl:"app/channels/sms/inbox/view/view.status.modal.html",controller:"SmsInboxViewModalStatusCtrl",resolve:{closed:function(){return"CLOSED"===a.SmsRoom.status},accountId:function(){return a.SmsRoom.SmsAccountId}}}).result.then(function(a){var c={id:b,status:"CLOSED"};return a.disposition&&(c.disposition=a.disposition),i.update(c).$promise["catch"](function(a){k.error(a)})})},a.openRoom=function(a,b){var c=_.find(o.workspaces,{id:a,type:"smsRoom"});c?c.active=!0:o.workspaces.push({id:a,name:b,type:"smsRoom","class":"glyphicon glyphicon-comment",active:!0})},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),h.get().$promise.then(function(b){a.smsAccounts=b.rows})["catch"](function(a){console.error(a)}),a.workspace.id?(a.panelLeft="col-md-6",a.panelRight="col-md-6",i.get({id:a.workspace.id}).$promise.then(function(b){a.SmsRoom=b,a.form.from=a.SmsRoom.SmsAccount.phone,a.form.to=a.SmsRoom.contact,a.form.tags=a.SmsRoom.tags})["catch"](function(a){console.error(a)})["finally"](function(){l.stop("spinner-grid"),a.form.disabled=!1})):l.stop("spinner-grid"),a.onSelect=function(){a.form.body+=a.modelOptions.selectedAnswer,delete a.modelOptions.selectedAnswer},a.onSelectAnswer=function(b){a.form.body+=b,a.selectedAnswer=""},a.getAnswers=function(a){return f.get({key:a}).$promise.then(function(a){return _.map(a.rows,"value")})},a.onChanged=function(){return i.patch({id:a.workspace.id},{tags:a.form.tags}).$promise["catch"](function(a){console.error(a)})},a.sendSMS=function(){l.spin("spinner-grid");var c=_.find(a.smsAccounts,{phone:a.form.from}),d={body:a.form.body,SmsRoomId:a.SmsRoom?a.SmsRoom.id:null};return"twilio"===c.type?(d.from=/^[\+][0-9]+$/.test(a.form.from)?a.form.from:"+"+a.form.from,d.to=/^[\+][0-9]+$/.test(a.form.to)?a.form.to:"+"+a.form.to):(d.from=/^[\+][0-9]+$/.test(a.form.from)?a.form.from.replace("+",""):a.form.from,d.to=/^[\+][0-9]+$/.test(a.form.to)?a.form.to.replace("+",""):a.form.to),c?h.save({accountId:c.id,controller:"send"},d).$promise.then(function(c){return k.show(b.instant("MESSAGE_WELL_DONE"),"success"),a.SmsRoom?a.SmsRoom:i.get({id:"messages",controller:c.id}).$promise}).then(function(b){b&&(a.form.body="",a.workspace.id=b.id,a.workspace.name=b.contact,a.SmsRoom=b,a.panelLeft="col-md-6",a.panelRight="col-md-6")})["catch"](function(a){k.error(a)})["finally"](function(){l.stop("spinner-grid")}):void console.log("Can not find account")}}}}]),angular.module("xCallyShuttleApp").controller("SmsInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","data","uniqueId","ReportSquare",function(a,b,c,d,e,f,g,h){a.data=null,a.initInfo=function(){f&&(a.data=_.isEmpty(JSON.parse(f))?null:JSON.parse(f)),g&&h.get({controller:"show",uniqueid:g}).$promise.then(function(b){a.data={id:b.id,channel:b.channel,uniqueid:b.uniqueid,callerid:b.callerid,calleridname:b.calleridname,project_name:b.project_name,extension:b.extension}})["catch"](function(b){switch(b.status){case 404:a.data=null;break;default:e.error(b)}})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("sms",["$rootScope","SmsMessage","List","xAlert","$translate","$uibModal",function(a,b,c,d,e,f){return{restrict:"E",scope:{smsMessage:"=message",accounttype:"=accounttype",listId:"="},templateUrl:"app/channels/sms/inbox/sms/sms.html",link:function(b){b.openContact=function(f){return b.listId?c.save({listId:b.listId,controller:"contacts"},{mobile:f}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.phone,type:"contact"})})["catch"](function(a){console.error(a)}):void d.show(e.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},b.info=function(a,b){f.open({animation:!0,templateUrl:"app/channels/sms/inbox/sms/info.modal.html",controller:"SmsInboxInfoModalCtrl",resolve:{data:function(){return b},uniqueId:function(){return a}}})}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","usSpinnerService","socket","SmsAccount","SmsRoom","gridOptions","uiGridConstants","Auth","Modal","xAlert","uibButtonConfig","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a.initView=function(){q.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:r.get("smsStatus")?r.get("smsStatus"):"NEW",tags:r.get("smsTags")?r.get("smsTags"):[]},a.$watch("query.status",function(){r.set("smsStatus",a.query.status),a.getPage()},!0),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"sms_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"voiceSource",displayName:"",headerCellTemplate:'<i class="fa fa-superscript" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.voiceSource ? 'fa fa-superscript' : ''\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!0,enableColumnMenu:!1},{name:"contact",cellClass:"text-center"},{name:"disposition",cellClass:"text-center"},{name:"updatedAt",cellFilter:"date:'MM/dd/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only font-green" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.contact)"><i class="glyphicon glyphicon-comment" aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id,row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:90,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},i.socket.on("sms_room:remove",function(b){_.remove(a.workspaces,{id:b.id,type:"smsRoom"}),_.remove(a.gridOptions.data,{id:b.id})}),a.getPage(a.query)},a.onChanged=function(){a.getPage(a.query)},a.tagItems=function(){return c.open({animation:!0,templateUrl:"app/channels/sms/inbox/view/view.tags.modal.html",controller:"SmsInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[],a.getPage()})},a.disposeItems=function(){return c.open({animation:!0,templateUrl:"app/channels/sms/inbox/view/view.status.modal.html",controller:"SmsInboxViewModalStatusCtrl",resolve:{accountId:function(){return e.id}}}).result.then(function(b){return console.log(b,a.id),k.patch({id:a.id},b).$promise.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})},a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:"smsRoom"});return d?d.active=!0:a.workspaces.push({id:b,name:c,type:"smsRoom","class":"glyphicon glyphicon-comment",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?k.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(b){h.spin("spinner-grid");var c={accountId:e.id,controller:"rooms"};return b&&_.merge(c,b),a.query&&_.merge(c,a.query),j.query(c).$promise.then(function(b){r.set("smsAccountId",e.id),a.gridOptions.data=b,i.socket.on("sms_room:save",function(b){if(console.log("data",b),console.log(b.SmsAccountId,e.id),b.SmsAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),i.socket.on("sms_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){console.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return console.log(c),k["delete"](c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return k["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/sms/inbox/view/account/list/list.html",controller:"SmsInboxViewAccountListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","SmsRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h){a.initModal=function(){a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){b.rows.forEach(function(b){a.agents.push(b)})})["catch"](function(a){console.error(a)}),f.query({id:h,controller:"agents"}).$promise.then(function(b){b.forEach(function(b){a.agents.push(b),a.item.agents.push(b.id)})})["catch"](function(a){console.error(a)}),a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}},a.ok=function(){return f.update({id:h,controller:"agents",agents:a.item.agents}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewCtrl",["$scope","$location","$stateParams","$translate","$uibModal","socket","Auth","xAlert","SmsRoom","SmsAccount","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){return j.get().$promise.then(function(c){var d=null;a.smsAccounts=c.rows,a.smsAccounts.length&&(d="/channels/sms/inbox/view/account/"+(k.get("smsAccountId")||a.smsAccounts[0].id)+"/list"),d&&b.path(d)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox.view",{url:"/view",templateUrl:"app/channels/sms/inbox/view/view.html",controller:"SmsInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalStatusCtrl",["$scope","$uibModalInstance","SmsAccount","accountId",function(a,b,c,d){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_SMS"},a.initDisposition=function(){return a.item={status:"CLOSED"},c.get({accountId:d,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","SmsRoom","xAlert","id",function(a,b,c,d,e,f,g,h){console.log(h),a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalTemplateCtrl",["$scope","$uibModalInstance","Template",function(a,b,c){a.initModal=function(){return a.item={},c.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsQueueListCtrl",["$scope","SmsQueue","gridOptions","$uibModal","xAlert","Auth",function(a,b,c,d,e,f){a.initView=function(){a.Auth=f;var d={exporterCsvFilename:"voice_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"timeout"},{name:"strategy"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/sms/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/sms/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===f.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/sms/queue/list/list.create.modal.html",controller:"SmsQueueListCreateCtrl",size:"lg"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("SmsQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","SmsQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return console.log(a.item),e.save(a.item).$promise.then(function(a){b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.queues.list",{url:"/list",templateUrl:"app/channels/sms/queue/list/list.html",controller:"SmsQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("SmsQueue",["$resource",function(a){return a("/api/sms/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.queues",{url:"/queues",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsQueueViewCtrl",["$scope","$http","Auth","$translate","$stateParams","xAlert","Team","SmsQueue","strategies",function(a,b,c,d,e,f,g,h,i){a.strategies=i,a.Auth=c;var j=function(){return{select:function(b){return h.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(b){console.log("sel",b),a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return h["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(b){console.log("desel",b),a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return h.get({id:e.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){console.error(a)})},a.updateSmsQueue=function(){return h.update({id:e.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,console.log(b.rows),h.get({id:e.id,controller:"agents"}).$promise}).then(function(b){console.log(b),ComponentsDropdowns.bindSmsQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasSmsQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.queues.view",{url:"/view/:id",templateUrl:"app/channels/sms/queue/view/view.html",controller:"SmsQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.sms.queues.view.settings",{url:"/settings",templateUrl:"app/channels/sms/queue/view/view.settings.html"}).state("main.channels.sms.queues.view.agents",{url:"/agents",templateUrl:"app/channels/sms/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","SmsQueue","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){return k.spin("grid-spinner"),g.get(s).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){p(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function o(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.smsPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_sms_queue:save",function(b){console.log("new queue",b);var c=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0}),d=a.gridOptions.data.indexOf(c);a.gridOptions.data.splice(d+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.SmsQueueId,agent:b.membername,online:c.online})}),e.socket.on("user_has_sms_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.SmsQueueId})})}function p(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.smsPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,
-useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.SmsQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function q(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function r(){return j.get().$promise.then(function(b){a.smsQueues=b.rows,e.syncUpdates("sms_queue",a.smsQueues)})["catch"](function(a){f.error(a)})}a.smsQueues=[];var s={controller:"realtime",controller1:"sms",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"smsPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause" class="left-margin">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.smsQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?s.order=null:s.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),n()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){s.offset=(a-1)*b,s.limit=b,n()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?s[a.name]=a.filters[0].term:delete s[a.name]}),n()})}},n(),q(),r(),o()};var t=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_sms_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"sms"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/sms/realtime/view/agent/queue.modal.add.html",controller:"SmsRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.smsQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.smsQueues,function(a){return _.includes(b.queues,a.id)}),channel:"sms",data1:e,data3:b.queues.join(","),data4:"sms"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"sms",data1:a,data3:b,data4:"sms"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/sms/realtime/view/agent/agent.modal.info.html",controller:"SmsRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/sms/realtime/view/agent/agent.html",controller:"SmsRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportSmsSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_sms_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_sms_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_sms_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/sms/realtime/view/application/application.html",controller:"SmsRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.sms.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.sms.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.sms.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.sms.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.sms.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.sms.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime.view",{url:"/view",templateUrl:"app/channels/sms/realtime/view/view.html",controller:"SmsRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportSmsSession",["$resource",function(a){return a("/api/report/sms/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms",{url:"/sms",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SmsMessage",["$resource",function(a){return a("/api/sms/messages/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").factory("SmsQueue",["$resource",function(a){return a("/api/sms/queues/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SmsReport",["$resource",function(a){return a("/api/report/sms/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SmsRoom",["$resource",function(a){return a("/api/sms/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").factory("ChanSpy",["$resource",function(a){return a("/api/chanspy/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.chanspy",{url:"/chanspy",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("ChanSpyListCtrl",["$scope","$uibModal","ChanSpy","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"chanspy.csv",columnDefs:[{name:"name"},{name:"prefix"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/chanspy/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/channels/voice/chanspy/list/list.create.modal.html",controller:"ChanSpyListCreateCtrl"});c.result.then(function(b){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ChanSpyListCreateCtrl",["$scope","$translate","$uibModalInstance","ChanSpy","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.options=[{name:"APPLICATION_CHANSPY_OPTION_b",value:"b"},{name:"APPLICATION_CHANSPY_OPTION_B",value:"B"},{name:"APPLICATION_CHANSPY_OPTION_E",value:"E"},{name:"APPLICATION_CHANSPY_OPTION_o",value:"o"},{name:"APPLICATION_CHANSPY_OPTION_q",value:"q"},{name:"APPLICATION_CHANSPY_OPTION_s",value:"s"},{name:"APPLICATION_CHANSPY_OPTION_S",value:"S"},{name:"APPLICATION_CHANSPY_OPTION_w",value:"w"},{name:"APPLICATION_CHANSPY_OPTION_W",value:"W"}],a.save=function(){return a.item.options=a.item.options.join(""),d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.chanspy.list",{url:"/list",templateUrl:"app/channels/voice/chanspy/list/list.html",controller:"ChanSpyListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChanSpyViewCtrl",["$scope","$translate","$stateParams","xAlert","ChanSpy",function(a,b,c,d,e){a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.options=[{name:"APPLICATION_CHANSPY_OPTION_b",value:"b"},{name:"APPLICATION_CHANSPY_OPTION_B",value:"B"},{name:"APPLICATION_CHANSPY_OPTION_E",value:"E"},{name:"APPLICATION_CHANSPY_OPTION_o",value:"o"},{name:"APPLICATION_CHANSPY_OPTION_q",value:"q"},{name:"APPLICATION_CHANSPY_OPTION_s",value:"s"},{name:"APPLICATION_CHANSPY_OPTION_S",value:"S"},{name:"APPLICATION_CHANSPY_OPTION_w",value:"w"},{name:"APPLICATION_CHANSPY_OPTION_W",value:"W"}],a.getChanSpy=function(){return e.get({id:c.id}).$promise.then(function(b){b.options=b.options.split(""),a.chanspy=b})["catch"](function(a){d.error(a)})},a.updateChanSpy=function(){var f=angular.copy(a.chanspy);return f.options=f.options.join(""),e.update({id:c.id},f).$promise.then(function(){d.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.chanspy.view",{url:"/view/:id",templateUrl:"app/channels/voice/chanspy/view/view.html",controller:"ChanSpyViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.chanspy.view.settings",{url:"/settings",templateUrl:"app/channels/voice/chanspy/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("VoiceContext",["$resource",function(a){return a("/api/voice/contexts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.contexts",{url:"/contexts",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceContextListCtrl",["$scope","VoiceContext","gridOptions","$uibModal","xAlert","$translate",function(a,b,c,d,e,f){a.initView=function(){var d={exporterCsvFilename:"voice_contexts.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"{{row.entity.defaultEntry ? 'blue-hoki disabled' : 'blue-hoki'}}",href:"/channels/voice/contexts/view/{{row.entity.id}}/settings",name:"settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var c=d.open({animation:!0,templateUrl:"app/channels/voice/context/list/create.modal.html",controller:["$scope","$uibModalInstance",function(a,b){a.form={},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]});c.result.then(function(c){return b.save(c).$promise.then(function(){a.gridOptions.getPage(),e.show(f.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){e.error(a)})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.contexts.list",{url:"/list",templateUrl:"app/channels/voice/context/list/list.html",controller:"VoiceContextListCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceContextViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getContext=function(){b.get("/api/voice/contexts/"+e.id).success(function(b){a.context=b}).error(function(a){console.error(a),f.path("/voice/contexts/list")})},a.updateVoiceContext=function(){var f=angular.copy(a.context);b.put("/api/voice/contexts/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.error(b),a.context=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.contexts.view",{url:"/view/:id",templateUrl:"app/channels/voice/context/view/view.html",controller:"VoiceContextViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.contexts.view.settings",{url:"/settings",templateUrl:"app/channels/voice/context/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.dispositions",{url:"/dispositions",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceDispositionListCtrl",["$scope","$stateParams","$uibModal","$translate","VoiceDisposition","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get().$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,b){return e.update({id:a},{name:b}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(b){return e.remove({id:b}).$promise.then(function(){_.remove(a.dispositions,{id:b}),f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/voice/disposition/list/modal/add.modal.html",controller:"VoiceDispositionListModalDispositionAddCtrl"}).result.then(function(b){b&&(a.dispositions.push(b),f.show(d.instant("MESSAGE_WELL_DONE")+"!","success"))})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.dispositions.list",{url:"/list",templateUrl:"app/channels/voice/disposition/list/list.html",controller:"VoiceDispositionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceDispositionListModalDispositionAddCtrl",["$scope","$uibModalInstance","VoiceDisposition","xAlert","$translate",function(a,b,c,d,e){a.ok=function(){return c.save({name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){d.show(e.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").factory("VoiceDisposition",["$resource",function(a){return a("/api/voice/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("VoiceMohListCtrl",["$scope","gridOptions","VoiceMoh","$uibModal","xAlert","$translate",function(a,b,c,d,e,f){a.initView=function(){var d={exporterCsvFilename:"voice_mohs.csv",columnDefs:[{name:"name"},{name:"directory"},{name:"sort"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/mohs/view/{{row.entity.id}}/settings",name:"settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/voice/moh/list/create.modal.html",controller:["$scope","$uibModalInstance",function(a,b){a.form={},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]});b.result.then(function(b){return c.save(b).$promise.then(function(){a.gridOptions.getPage(),e.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.mohs.list",{url:"/list",templateUrl:"app/channels/voice/moh/list/list.html",controller:"VoiceMohListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("VoiceMoh",["$resource",function(a){return a("/api/voice/musiconholds/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.mohs",{url:"/mohs",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceMohViewCtrl",["$scope","$http","xAlert","$translate","VoiceMoh","$stateParams","socket","Modal","$sce","$location","Sound",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=d,a.audioSources={},a.sortOptions=[{value:"random",name:"APPLICATION_RANDOM"},{value:"alpha",name:"APPLICATION_ALPHABETICAL"}],a.getMoh=function(){return e.get({id:f.id}).$promise.then(function(b){delete b.stamp,a.moh=b})["catch"](function(a){c.error(a)})},a.updateVoiceMoh=function(){return console.log("update"),e.update({id:f.id},a.moh).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){c.error(a)})},a.addMohs=function(){return e.save({id:f.id,controller:"files"},a.item).$promise.then(function(){j.path("/channels/voice/mohs/view/"+f.id+"/audios")})["catch"](function(a){c.error(a)})},a.getAudioFiles=function(){return e.get({id:f.id,controller:"files"}).$promise.then(function(b){a.audioFiles=b.files,a.mohPath=b.path,a.audioFiles.forEach(function(a){l(a)})})["catch"](function(a){c.error(a)})},a.getSecureSrc=function(a){return i.trustAsResourceUrl(a)},a.getSounds=function(){return a.item={sounds:[]},k.get().$promise.then(function(b){a.soundList=b.rows})["catch"](function(a){c.error(a)})};var l=function(c){b.get("/api/voice/musiconholds/stream",{params:{path:encodeURI(a.mohPath+"/"+c)}}).success(function(b){a.audioSources[c]="data:audio/ogg;base64,"+b}).error(function(a){console.error(a)})};a.deleteItem=h.confirm["delete"](function(e){b["delete"]("/api/voice/musiconholds/"+f.id+"/files",{params:{filename:e}}).success(function(){_.remove(a.audioFiles,function(a){return a===e}),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.mohs.view",{url:"/view/:id",templateUrl:"app/channels/voice/moh/view/view.html",controller:"VoiceMohViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.mohs.view.settings",{url:"/settings",templateUrl:"app/channels/voice/moh/view/view.settings.html"}).state("main.channels.voice.mohs.view.audios",{url:"/audios",templateUrl:"app/channels/voice/moh/view/view.audios.html",cache:!1}).state("main.channels.voice.mohs.view.add",{url:"/add",templateUrl:"app/channels/voice/moh/view/view.addFiles.html",cache:!1})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCtrl",["$scope","$rootScope","$uibModal","VoiceQueue","gridOptions","Auth",function(a,b,c,d,e,f){a.initView=function(){a.Auth=f;var b={exporterCsvFilename:"voice_queues.csv",primaryKey:"name",columnDefs:[{name:"name"},{name:"strategy"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/voice/queues/view/{{row.entity.name}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/voice/queues/view/{{row.entity.name}}/agents",name:"agents",hide:"user"===f.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.name)"}]}]};a.gridOptions=e.gridOptions(d,b,a)},a.createItem=function(){var b=c.open({animation:!0,templateUrl:"app/channels/voice/queue/list/list.create.modal.html",controller:"VoiceQueueListCreateCtrl",size:"lg"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","VoiceQueue","Team",function(a,b,c,d,e,f){a.form={},a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b),console.log(a.item.agents)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b),console.log(a.item.agents)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.queues.list",{url:"/list",templateUrl:"app/channels/voice/queue/list/list.html",controller:"VoiceQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").factory("ReportQueue",["$resource",function(a){return a("/api/report/queues/:id/:controller/:controller2",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueViewCtrl",["$scope","xAlert","$translate","$stateParams","socket","$location","VoiceQueue","VoiceContext","Team","Auth","VoiceMoh","Sound","Setting",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.penalty=0,a.Auth=j,a.binaryChoices=[{name:"Yes",value:1},{name:"No",value:0}],a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.monitorFormats=[{name:"wav",value:"wav"},{name:"gsm",value:"gsm"},{name:"Inactive",value:""}],a.queueAnnounces=[{display_name:"Default",value:null},{display_name:"Disabled",value:""}];var n=function(){return{select:function(b){return g.save({id:a.queue.name,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})},deselect:function(b){return g["delete"]({id:a.queue.name,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})}}};a.getQueue=function(){return g.get({id:d.id}).$promise.then(function(b){b.joinempty=""===b.joinempty?[]:b.joinempty.split(","),b.leavewhenempty=""===b.leavewhenempty?[]:b.leavewhenempty.split(","),b.periodic_announce=""===b.periodic_announce?[]:b.periodic_announce.split(","),b.setinterfacevar="yes"===b.setinterfacevar?!0:!1,b.setqueuevar="yes"===b.setqueuevar?!0:!1,b.setqueueentryvar="yes"===b.setqueueentryvar?!0:!1,b.penalty=0,a.queue=b})["catch"](function(a){f.path("/channels/voice/queues/list")})},a.updateVoiceQueue=function(){var e=angular.copy(a.queue);return e.joinempty=e.joinempty.join(","),e.leavewhenempty=e.leavewhenempty.join(","),e.periodic_announce=e.periodic_announce.join(","),e.setinterfacevar=e.setinterfacevar?"yes":"no",e.setqueuevar=e.setqueuevar?"yes":"no",e.setqueueentryvar=e.setqueueentryvar?"yes":"no",e.context||(e.context=null),g.update({id:d.id},e).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},a.getTeams=function(){return i.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,g.get({id:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasVoiceQueue.penalty}}),n)})["catch"](function(a){console.error(a)})},a.getContexts=function(){return h.get().$promise.then(function(b){a.voiceContexts=b.rows})["catch"](function(a){b.error(data)})},a.getMohs=function(){return k.get().$promise.then(function(b){a.voiceMohs=b.rows,e.syncUpdates("voice_musiconhold",a.voiceMohs)})["catch"](function(a){b.error(a)})},a.getSounds=function(){var b;return m.get({id:1}).$promise.then(function(a){return b=a,l.get().$promise}).then(function(c){var d=b.soundPath||"/var/opt/motion/server/files/sounds/converted";_.forEach(c.rows,function(a){a.path=(d+"/"+a.save_name).replace(/\/+/g,"/").replace(/\\+/g,"\\")}),a.queueAnnounces=a.queueAnnounces.concat(c.rows),a.periodicAnnounces=angular.copy(c.rows),c.rows.unshift({display_name:"None",value:""}),a.sounds=c.rows,e.syncUpdates("sound",a.sounds)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){
-a.state("main.channels.voice.queues.view",{url:"/view/:id",templateUrl:"app/channels/voice/queue/view/view.html",controller:"VoiceQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.queues.view.settings",{url:"/settings",templateUrl:"app/channels/voice/queue/view/view.settings.html"}).state("main.channels.voice.queues.view.agents",{url:"/agents",templateUrl:"app/channels/voice/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("VoiceQueue",["$resource",function(a){return a("/api/voice/queues/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAbandonedCtrl",["$scope","$translate","socket","xAlert","ReportQueue","usSpinnerService","$q","Auth","uiGridConstants",function(a,b,c,d,e,f,g,h,i){function j(){return f.spin("spinner-grid"),e.get({controller:"abandoned",controller2:"all"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){d.error(a)})["finally"](function(){k(),f.stop("spinner-grid")})}function k(){c.socket.on("report_queue:save",function(b){a.gridOptions.data.unshift(b)}),c.socket.on("report_queue:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&_.merge(c,b)})}a.radioSwitch={size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"success",onColor:"danger"};a.initAbandoned=function(){a.agent=h.getCurrentUser(),a.gridOptions={exporterCsvFilename:"abandoned_calls.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:1,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"calleridnum",displayName:"APPLICATION_CALLERIDNUM",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"updatedAt",displayName:"APPLICATION_DATE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.updatedAt | date:'yyyy-MM-dd HH:mm:ss'}}</div>"},{name:"lastAssignedTo",cellClass:"text-center ui-grid-vcenter",displayName:"APPLICATION_LAST_ASSIGNED_TO",headerCellFilter:"translate"},{name:"assigned",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.assigned" type="checkbox" switch-active="{{ !row.entity.assigned || grid.appScope.agent.name === row.entity.lastAssignedTo }}" switch-on-text="{{ \'APPLICATION_ASSIGNED\' | translate }}" switch-off-text="{{ \'APPLICATION_FREE\' | translate }}" switch-on-color="{{ grid.appScope.radioSwitch.onColor }}" switch-off-color="{{ grid.appScope.radioSwitch.offColor }}" switch-animate="{{ grid.appScope.radioSwitch.animate }}" switch-size="{{ grid.appScope.radioSwitch.size }}" switch-label="{{ grid.appScope.radioSwitch.label }}" switch-icon="{{ grid.appScope.radioSwitch.icon }}" switch-radio-off="{{ grid.appScope.radioSwitch.radioOff }}" switch-label-width="{{ grid.appScope.radioSwitch.labelWidth }}" switch-handle-width="{{ grid.appScope.radioSwitch.handleWidth }}"></div>',enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var c=g.defer();return c.resolve(b.instant(a)),c.promise},onRegisterApi:function(b){a.gridApi=b}},j()},a.updateItem=function(c){return e.update({id:c.id},{assigned:c.assigned,lastAssignedTo:c.assigned?a.agent.name:void 0}).$promise.then(function(){d.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})};a.$on("$destroy",function(){c.unsyncUpdates("report_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.abandoned",{url:"/abandoned",templateUrl:"app/channels/voice/realtime/view/abandoned/abandoned.html",controller:"VoiceRealtimeViewAbandonedCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","VoiceQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.voicePause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,b.status&&(c.status=b.status),c.statusAt=b.statusAt,b.queueStatus&&(c.queueStatus=b.queueStatus),c.queueStatusAt=b.queueStatusAt,c.lastQueue=b.lastQueue,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_voice_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PVoiceQueues,"name"),b.queue)||n.isAdmin(),d=_.find(a.gridOptions.data,{agentId:b.UserId,queue:b.queue});if(!d&&b.logged&&c){var e=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0}),f=a.gridOptions.data.indexOf(e);a.gridOptions.data.splice(f+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,agent:b.membername,callstaken:b.callstaken?b.callstaken:0,online:e.online})}else d&&!b.logged?_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue}):d&&b.logged&&c&&(d.callstaken=b.callstaken?b.callstaken:0)}),e.socket.on("user_has_voice_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.voicePause,pauseType:b.pauseType,status:b.status||"UNKNOWN",statusAt:b.statusAt,queueStatus:b.queueStatus||"READY",queueStatusAt:b.queueStatusAt,lastQueue:b.lastQueue,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.VoiceQueues.forEach(function(c){c.UserHasVoiceQueue.logged&&a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,agent:b.name,callstaken:c.UserHasVoiceQueue.callstaken?c.UserHasVoiceQueue.callstaken:0,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.voiceQueues=b.rows,e.syncUpdates("voice_queue",a.voiceQueues)})["catch"](function(a){f.error(a)})}a.voiceQueues=[];var t={controller:"realtime",controller1:"voice",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"status",displayName:"APPLICATION_PHONE_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{'APPLICATION_'+row.entity.status | translate}} <span data-ng-if=\"row.entity.statusAt && (row.entity.status === 'BUSY' || row.entity.status === 'ONHOLD' || row.entity.status === 'INUSE')\">(<timer start-time=\"grid.appScope.moment(row.entity.statusAt).unix()*1000\">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></span></div>",filter:{type:m.filter.SELECT,selectOptions:[{value:"UNKNOWN",label:d.instant("APPLICATION_UNKNOWN")},{value:"NOT_INUSE",label:d.instant("APPLICATION_NOT_INUSE")},{value:"INUSE",label:d.instant("APPLICATION_INUSE")},{value:"BUSY",label:d.instant("APPLICATION_BUSY")},{value:"INVALID",label:d.instant("APPLICATION_INVALID")},{value:"UNAVAILABLE",label:d.instant("APPLICATION_UNAVAILABLE")},{value:"RINGING",label:d.instant("APPLICATION_RINGING")},{value:"RINGINUSE",label:d.instant("APPLICATION_RINGINUSE")},{value:"ONHOLD",label:d.instant("APPLICATION_ONHOLD")}]}},{name:"queueStatus",displayName:"APPLICATION_QUEUE_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><span class="left-margin"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i></span><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select><span> {{\'APPLICATION_\'+row.entity.queueStatus.toUpperCase() | translate}}</span><span data-ng-if="(row.entity.queueStatus!==\'complete\' && (row.entity.queueStatus!==\'paused\' || row.entity.pauseType === \'ACW\'))"> [{{row.entity.lastQueue}}]</span><span data-ng-if="row.entity.pause"> [{{row.entity.pauseType}}]</span><timer data-ng-if="row.entity.queueStatusAt && row.entity.queueStatus!==\'complete\'" start-time="grid.appScope.moment(row.entity.queueStatusAt).unix()*1000"> [{{hhours}}:{{mminutes}}:{{sseconds}}]</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"paused",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_CONNECT")},{value:"complete",label:d.instant("APPLICATION_COMPLETE")},{value:"called",label:d.instant("APPLICATION_CALLED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"callstaken",displayName:"APPLICATION_CALLS_TAKEN",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.callstaken !== null">{{row.entity.callstaken}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1,width:100},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queue" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queue)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.voiceQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button> <button data-ng-if="row.entity.isAgent" class="btn btn-xs blue-madison" data-ng-click="grid.appScope.showInfo(row.entity)"><i class="icon-info"></i></button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_voice_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"voice"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/voice/realtime/view/agent/queue.modal.add.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.voiceQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(a){return i.save({name:"QueueAdd",agent:e,queues:a.queues,channel:"voice",data1:e,data3:a.queues.join(","),data4:"voice"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queue:b,channel:"voice",data1:a,data3:b,data4:"voice"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/voice/realtime/view/agent/agent.modal.info.html",controller:"VoiceRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/voice/realtime/view/agent/agent.html",controller:"VoiceRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","agent",function(a,b,c){a.agent=c,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewOutboundCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportDial","Pause","Action","usSpinnerService","$q","uiGridConstants","$timeout","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return j.spin("spinner-grid"),g.get({controller:"active",controller2:"calls"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){p(),j.stop("spinner-grid")})}function p(){e.socket.on("report_dial:save",function(b){a.gridOptions.data.unshift(b)}),e.socket.on("report_dial:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&(_.merge(c,b),!b.endtime||b.answertime&&b.answertime==b.endtime||m(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4))})}a.moment=moment,a.initDials=function(){a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate",cellClass:"text-center"},{name:"agent",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.channel.split('/')[1].split('-')[0]}}</div>"},{name:"calleridnum",displayName:"APPLICATION_CALLERID",headerCellFilter:"translate",cellClass:"text-center"},{name:"dialstring",cellClass:"text-center"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.endtime">{{\'APPLICATION_RINGING\' | translate}}</span><span data-ng-if="row.entity.answertime && row.entity.answertime == row.entity.endtime">{{\'APPLICATION_TALKING\' | translate}}</span><span data-ng-if="row.entity.answertime && row.entity.answertime != row.entity.endtime">{{\'APPLICATION_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.endtime && !row.entity.answertime">{{\'APPLICATION_\'+row.entity.dialstatus | translate}}</span><span data-ng-if="(!row.entity.endtime && !row.entity.answertime) || (row.entity.answertime && row.entity.answertime == row.entity.endtime)"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){q(a.gridOptions.data.length)})}},o()};var q=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_dial")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.outbound",{url:"/outbound",templateUrl:"app/channels/voice/realtime/view/outbound/outbound.html",controller:"VoiceRealtimeViewOutboundCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewParameterCtrl",["$scope","$translate","Dashboard","VoiceQueue","Auth","socket","uiGridConstants",function(a,b,c,d,e,f,g){function h(b){var c=_.find(a.gridOptions.data,{name:b.name});c&&(_.merge(c,b),a.$apply())}var i={offset:0,limit:10};a.initParameters=function(){var b;switch(a.user=e.getCurrentUser(),a.$on("$destroy",function(){b&&(b.terminate(),f.socket.removeAllListeners("dashboard:voice:init"),f.socket.removeAllListeners("dashboard:voice:waiting"),f.socket.removeAllListeners("dashboard:voice:active"),f.socket.removeAllListeners("dashboard:voice:complete"),f.socket.removeAllListeners("dashboard:voice:abandon"),f.socket.removeAllListeners("dashboard:voice:unmanaged"),f.socket.removeAllListeners("dashboard:voice:holdtime"),f.socket.removeAllListeners("dashboard:voice:talktime"))}),a.user.role){case"admin":c.get({id:"voice",controller:"init"}).$promise.then(function(b){for(var c in b.queues)b.queues[c].waiting=b.queues[c].waiting||0,b.queues[c].active=b.queues[c].active||0,b.queues[c].complete=b.queues[c].complete||0,b.queues[c].abandon=b.queues[c].abandon||0,b.queues[c].unmanaged=b.queues[c].unmanaged||0,b.queues[c].holdtime=b.queues[c].holdtime||0,b.queues[c].talktime=b.queues[c].talktime||0,a.gridOptions.data.push(b.queues[c])})["catch"](function(a){console.error(a)});break;case"user":c.get({id:"voice",controller:"init"}).$promise.then(function(b){for(var c in b.queues){var d=_.find(a.user.PVoiceQueues,{name:c});d&&(b.queues[c].waiting=b.queues[c].waiting||0,b.queues[c].active=b.queues[c].active||0,b.queues[c].complete=b.queues[c].complete||0,b.queues[c].abandon=b.queues[c].abandon||0,b.queues[c].unmanaged=b.queues[c].unmanaged||0,b.queues[c].holdtime=b.queues[c].holdtime||0,b.queues[c].talktime=b.queues[c].talktime||0,a.gridOptions.data.push(b.queues[c]))}})["catch"](function(a){console.error(a)})}f.socket.on("dashboard:voice:waiting",function(a){h(a)}),f.socket.on("dashboard:voice:active",function(a){h(a)}),f.socket.on("dashboard:voice:complete",function(a){h(a)}),f.socket.on("dashboard:voice:abandon",function(a){h(a)}),f.socket.on("dashboard:voice:unmanaged",function(a){h(a)}),f.socket.on("dashboard:voice:talktime",function(a){h(a)}),f.socket.on("dashboard:voice:holdtime",function(a){h(a)})},a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,enableSorting:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,columnDefs:[{name:"name",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"waiting",displayName:"APPLICATION_WAITING",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"active",displayName:"APPLICATION_ACTIVE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"complete",displayName:"APPLICATION_ANSWERED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableColumnMenu:!1,filters:[{condition:g.filter.GREATER_THAN_OR_EQUAL,placeholder:"from"},{condition:g.filter.LESS_THAN_OR_EQUAL,placeholder:"to"}]},{name:"abandon",displayName:"APPLICATION_ABANDONED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableColumnMenu:!1,filters:[{condition:g.filter.GREATER_THAN_OR_EQUAL,placeholder:"from"},{condition:g.filter.LESS_THAN_OR_EQUAL,placeholder:"to"}]},{name:"unmanaged",displayName:"APPLICATION_UNMANAGED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableColumnMenu:!1,filters:[{condition:g.filter.GREATER_THAN_OR_EQUAL,placeholder:"from"},{condition:g.filter.LESS_THAN_OR_EQUAL,placeholder:"to"}]},{name:"holdtime",displayName:"APPLICATION_HOLDTIME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.holdtime | secToTime | date:'HH:mm:ss'}}</div>",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"talktime",displayName:"APPLICATION_TALKTIME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.talktime | secToTime | date:'HH:mm:ss'}}</div>",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"totalCalls",displayName:"APPLICATION_TOTAL_CALLS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.complete + row.entity.abandon + row.entity.unmanaged}}</div>",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){j(a.gridOptions.data.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?i.order=null:i.order=b[0].name+" "+b[0].sort.direction.toUpperCase()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){i.offset=(a-1)*b,i.limit=b}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters.length>1?a.filters.forEach(function(b){b.term?64===b.condition?i[a.name+"_uiFrom"]=b.term:256===b.condition&&(i[a.name+"_uiTo"]=b.term):64===b.condition?delete i[a.name+"_uiFrom"]:256===b.condition&&delete i[a.name+"_uiTo"]}):a.filters.length&&a.filters[0].term?i[a.name]=a.filters[0].term:delete i[a.name]})})}};var j=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.parameters",{url:"/parameters",templateUrl:"app/channels/voice/realtime/view/parameter/parameter.html",controller:"VoiceRealtimeViewParameterCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","VoiceQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k){function l(b){return h.spin("spinner-grid"),g.get(o).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){n(a)})})["catch"](function(a){f.error(a)})["finally"](function(){b&&m(),h.stop("spinner-grid")})}function m(){e.socket.on("voice_queue:save",function(b){var c=_.find(a.gridOptions.data,{queueName:b.name});c||l()}),e.socket.on("voice_queue:remove",function(b){_.remove(a.gridOptions.data,{queueId:b.id})}),e.socket.on("user_has_voice_queue:save",function(b){console.log(b);var c=_.includes(_.map(a.CurrentUser.PVoiceQueues,"name"),b.queue)||k.isAdmin(),d=_.find(a.gridOptions.data,{agentId:b.UserId,queue:b.queue});if(!d&&b.logged&&c){var e=_.find(a.gridOptions.data,{queueName:b.queue}),f=a.gridOptions.data.indexOf(e);a.gridOptions.data.splice(f+1,0,{isAgent:!0,agent:b.membername,callstaken:b.callstaken?b.callstaken:0,lastcall:b.lastcall,status:b.statusdesc,paused:b.paused,reason:b.reason,agentId:b.id,queue:b.queue})}else d&&!b.logged?_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue}):d&&b.logged&&c&&(d.callstaken=b.callstaken?b.callstaken:0,d.lastcall=b.lastcall,d.status=b.statusdesc,d.paused=b.paused,d.reason=b.reason)}),e.socket.on("user_has_voice_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue})})}function n(b){a.gridOptions.data.push({name:b.name,$$treeLevel:0,queueName:b.name}),b.Users.forEach(function(b){b.UserHasVoiceQueue.logged&&a.gridOptions.data.push({isAgent:!0,agent:b.UserHasVoiceQueue.membername,callstaken:b.UserHasVoiceQueue.callstaken?b.UserHasVoiceQueue.callstaken:0,lastcall:b.UserHasVoiceQueue.lastcall,status:b.UserHasVoiceQueue.statusdesc,paused:b.UserHasVoiceQueue.paused,reason:b.UserHasVoiceQueue.reason,agentId:b.UserHasVoiceQueue.UserId,queue:b.UserHasVoiceQueue.queue})})}var o={controller:"realtime",controller2:"voice",offset:0,limit:10};a.moment=moment,a.initQueues=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"agent",displayName:"APPLICATION_AGENT_NAME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"callstaken",displayName:"APPLICATION_CALLS_TAKEN",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.callstaken}}</div>'},{name:"lastcall",displayName:"APPLICATION_LAST_CALL",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{row.entity.lastcall | date:'yyyy-MM-dd HH:mm:ss'}}</div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{'APPLICATION_'+row.entity.status | translate}}</div>"},{name:"paused",displayName:"APPLICATION_PAUSED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{(row.entity.paused ? 'APPLICATION_YES' : 'APPLICATION_NO') | translate}}</div>"},{name:"reason",displayName:"APPLICATION_REASON",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent && row.entity.paused">{{row.entity.reason}}</div>'}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){p(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){p(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){p(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?o.order=null:o.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),l()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){o.offset=(a-1)*b,o.limit=b,l()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?o[a.name]=a.filters[0].term:delete o[a.name]}),l()})}},l(!0)};var p=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("voice_queue"),e.unsyncUpdates("user_has_voice_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.queues",{url:"/queues",templateUrl:"app/channels/voice/realtime/view/queue/queue.html",controller:"VoiceRealtimeViewQueueCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCallsCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportQueue","Pause","Action","usSpinnerService","$q","uiGridConstants","$timeout","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return j.spin("spinner-grid"),g.get({controller:"waiting",controller2:"calls"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){p(),j.stop("spinner-grid")})}function p(){e.socket.on("report_queue:save",function(b){a.gridOptions.data.unshift(b)}),e.socket.on("report_queue:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id});if(c){var d={queuecallerabandon:b.queuecallerabandon,queuecallerleave:b.queuecallerleave};delete b.queuecallerabandon,delete b.queuecallerleave,_.merge(c,b),d.queuecallerabandon&&(c.queuecallerabandon=d.queuecallerabandon),d.queuecallerleave&&(c.queuecallerleave=d.queuecallerleave),(c.queuecallerabandon||c.queuecallercomplete)&&m(function(){
-_.remove(a.gridOptions.data,{id:b.id})},3e3)}})}a.moment=moment,a.initQueues=function(){a.gridOptions={headerCellFilter:"translate",paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.queuecallerleaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.queuecallerleaveAt && !row.entity.queuecallerabandon && !row.entity.queuecallercomplete">{{\'APPLICATION_ACTIVE\' | translate}}</span><span data-ng-if="row.entity.queuecallerleaveAt && row.entity.queuecallerabandon">{{\'APPLICATION_QUEUESTATUS_ABANDON\' | translate}}</span><span data-ng-if="row.entity.queuecallerleaveAt && row.entity.queuecallercomplete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="!row.entity.queuecallercomplete && !row.entity.queuecallerabandon"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"caller",displayName:"APPLICATION_CALLER",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.calleridnum || ''}} {{row.entity.calleridname || ''}}</div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"position",displayName:"APPLICATION_POSITION",headerCellFilter:"translate"},{name:"agent",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.connectedlinenum || ''}} {{row.entity.connectedlinename || ''}}</div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){q(a.gridOptions.data.length)})}},o()};var q=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.queuecalls",{url:"/queuecalls",templateUrl:"app/channels/voice/realtime/view/queuecalls/queuecalls.html",controller:"VoiceRealtimeViewQueueCallsCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewTelephoneCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Telephone","Pause","Action","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){return j.spin("spinner-grid"),g.get(o).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){j.stop("spinner-grid")})}function n(){e.socket.on("telephone:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&(c.status=b.status,c.statusAt=b.statusAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal)}),e.socket.on("telephone:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}var o={offset:0,limit:10};a.moment=moment,a.initTelephones=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_TELEPHONE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.name}} <{{row.entity.internal}}></div>"},{name:"status",displayName:"APPLICATION_PHONE_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_'+row.entity.status | translate}} <span data-ng-if=\"row.entity.statusAt && (row.entity.status === 'BUSY' || row.entity.status === 'ONHOLD' || row.entity.status === 'INUSE')\">(<timer start-time=\"grid.appScope.moment(row.entity.statusAt).unix()*1000\">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></span></div>",filter:{type:l.filter.SELECT,selectOptions:[{value:"UNKNOWN",label:d.instant("APPLICATION_UNKNOWN")},{value:"NOT_INUSE",label:d.instant("APPLICATION_NOT_INUSE")},{value:"INUSE",label:d.instant("APPLICATION_INUSE")},{value:"BUSY",label:d.instant("APPLICATION_BUSY")},{value:"INVALID",label:d.instant("APPLICATION_INVALID")},{value:"UNAVAILABLE",label:d.instant("APPLICATION_UNAVAILABLE")},{value:"RINGING",label:d.instant("APPLICATION_RINGING")},{value:"RINGINUSE",label:d.instant("APPLICATION_RINGINUSE")},{value:"ONHOLD",label:d.instant("APPLICATION_ONHOLD")}]}},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button class="btn btn-xs blue-madison" data-ng-click="grid.appScope.showInfo(row.entity)"><i class="icon-info"></i></button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){p(a.gridOptions.data.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?o.order=null:o.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),m()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){o.offset=(a-1)*b,o.limit=b,m()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?o[a.name]=a.filters[0].term:delete o[a.name]}),m()})}},m(),n()};var p=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("telephone")}),a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/voice/realtime/view/telephone/telephone.modal.info.html",controller:"VoiceRealtimeViewTelephoneInfoModalCtrl",resolve:{telephone:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.telephones",{url:"/telephones",templateUrl:"app/channels/voice/realtime/view/telephone/telephone.html",controller:"VoiceRealtimeViewTelephoneCtrl",data:{permissions:{only:["admin","user"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewTelephoneInfoModalCtrl",["$scope","$uibModalInstance","$http","telephone",function(a,b,c,d){a.telephone=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewCtrl",["$scope","Auth",function(a,b){a.Auth=b}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view",{url:"/view",templateUrl:"app/channels/voice/realtime/view/view.html",controller:"VoiceRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRecordingListCtrl",["$scope","$translate","$sce","Recording","gridOptions","xAlert","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h){a.Recording=d,a.updateRating=function(a,c){return d.update({id:a,rating:c}).$promise.then(function(){f.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.initView=function(){var b={exporterCsvFilename:"recordings.csv",rowHeight:30,primaryKey:"id",columnDefs:[{name:"uniqueid"},{name:"calleridnum",displayName:"APPLICATION_CUSTOMER_PHONE",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.type === 'outbound' ? row.entity.exten : row.entity.calleridnum}}</div>"},{name:"membername"},{name:"type",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"{'icon-call-in font-green':row.entity.type === 'inbound','icon-call-out font-red':row.entity.type === 'outbound','icon-question':row.entity.type === 'unknown','icon-earphones font-purple':row.entity.type === 'internal'}\"></i></div>",filter:{type:g.filter.SELECT,selectOptions:[{value:"inbound",label:"Inbound"},{value:"internal",label:"Internal"},{value:"outbound",label:"Outbound"},{value:"unknown",label:"Unknown"}]}},{name:"queue"},{name:"createdAt",displayName:"APPLICATION_DATE",headerCellFilter:"translate",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:g.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:g.filter.LESS_THAN_OR_EQUAL}],sort:{direction:g.DESC,priority:0}},{name:"rating",filter:{type:g.filter.SELECT,selectOptions:[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"},{value:4,label:"4"},{value:5,label:"5"}]},cellClass:"ui-grid-vcenter",width:"100",cellTemplate:'<div><uib-rating data-ng-model="row.entity.rating" data-ng-click="grid.appScope.updateRating(row.entity.id, row.entity.rating)" aria-labelledby="default-rating"></uib-rating></div>'},{name:"audio",displayName:"",width:100,enableSorting:!1,enableFiltering:!1,cellClass:"ui-grid-vcenter",cellTemplate:"<div><audio-file-download data-ng-if=\"row.entity.value.split('.').pop() == 'wav'\" params=\"{id:row.entity.id,controller:'stream'}\" resource=\"grid.appScope.Recording\"></audio-file-download><span data-ng-if=\"row.entity.value.split('.').pop() == 'gsm'\" title=\"{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}\">{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}</span></div>"},{name:"action",width:80,buttons:[{directive:"<motion-file-download params=\"{id:row.entity.id,controller:'stream'}\" resource=\"grid.appScope.Recording\" mimetype=\"'audio/'+row.entity.value.split('.').pop()\" btnclass=\"btn btn-xs blue-hoki\" filename=\"row.entity.uniqueid+'.'+row.entity.value.split('.').pop()\"></motion-file-download>"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.uniqueid, row.entity.id)",hide:!h.isAdmin()}]}]};a.gridOptions=e.gridOptions(d,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.recordings.list",{url:"/list",templateUrl:"app/channels/voice/recording/list/list.html",controller:"VoiceRecordingListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Recording",["$resource",function(a){return a("/api/voice/recordings/:id/:controller",{id:"@id"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.recordings",{url:"/recordings",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.inbound",{url:"/inbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCreateCtrl",["$scope","$uibModalInstance","Route","application","xAlert","$location","$translate",function(a,b,c,d,e,f,g){a.$application=d.application,a.forms={route:void 0},a.item={type:"inbound",appdata:"Inbound Call",context:"from-voip-provider"},a.ok=function(){return a.item.exten=a.$application.checkUnderscore(a.item.exten),c.save(a.item).$promise.then(function(a){b.close(a),f.path("/channels/voice/routes/inbound/view/"+a.id+"/applications")})["catch"](function(a){console.log(a),e.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource","gridOptions","Route","$uibModal","$location","$log",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.initView=function(){var b={exporterCsvFilename:"InboundRoutes.csv",columnDefs:[{name:"exten",displayName:"APPLICATION_PHONE_NUMBER"},{name:"description"},{name:"applications",cellClass:"ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.Applications.length"><span data-ng-repeat="app in row.entity.Applications | limitTo:2">{{app.app}}({{app.appdata[0]}}), </span>...</div><div data-ng-if="!row.entity.Applications.length">{{\'MESSAGE_NO_AVAILABLE_APPLICATIONS\' | translate}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/routes/inbound/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.exten, row.entity.id)"}]}]};a.gridOptions=i.gridOptions(j,b,a,{type:"inbound"})},a.create=function(){k.open({animation:!0,templateUrl:"app/channels/voice/route/inbound/list/create.modal.html",controller:"VoiceRouteInboundListCreateCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.inbound.list",{url:"/list",templateUrl:"app/channels/voice/route/inbound/list/list.html",controller:"VoiceRouteInboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundViewCtrl",["$scope","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval","Route","VoiceQueue","Sound","SquareProject","VoiceContext","Interval","VoiceMail","User","Agent","Telephone","Trunk","Team",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v){function w(b){var c,d;if("always"===b.intType)c=null,d="*,*,*,*";else if("list"===b.intType)d=b.IntervalId?_.find(a.Intervals,{id:b.IntervalId}).name:"*,*,*,*",c=b.IntervalId||null;else if("custom"===b.intType){c=null;var e,f,g,h;e=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(f=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(f+="-"+b.wd_to)):f="*",b.md_from&&"always"!==b.md_from?(g=b.md_from,b.md_to&&"always"!==b.md_to&&(g+="-"+b.md_to)):g="*",b.m_from&&"always"!==b.m_from?(h=b.m_from,b.m_to&&"always"!==b.m_to&&(h+="-"+b.m_to)):h="*",d=e+","+f+","+g+","+h}void 0===a.selectedApp?(a.application.interval=d,a.application.IntervalId=c):(a.route.Applications[a.selectedApp].interval=d,a.route.Applications[a.selectedApp].IntervalId=c)}function x(){if(a.interval.intType=a.route.Applications[a.selectedApp].IntervalId?"list":"*,*,*,*"===a.route.Applications[a.selectedApp].interval?"always":"custom",a.interval.IntervalId=a.route.Applications[a.selectedApp].IntervalId,!a.route.Applications[a.selectedApp].IntervalId){var b,c=a.route.Applications[a.selectedApp].interval?a.route.Applications[a.selectedApp].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.interval.t_from=moment(b[0],"HH:mm"),a.interval.t_to=moment(b[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.interval.wd_from=b[0],a.interval.wd_to=b[1]?b[1]:"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.interval.md_from=b[0],a.interval.md_to=b[1]?b[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.interval.m_from=b[0],a.interval.m_to=b[1]?b[1]:"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}a.$translate=b,a.selectedApp=void 0,a.showGrid=!0,a.$application=i.application,a.$interval=j.interval,a.selectedRows=[],a._=_,a.gridOptions={enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableSorting:!1,rowTemplate:'<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',columnDefs:[{name:"app",headerCellFilter:"translate",displayName:"APPLICATION_APPLICATION",enableColumnMenu:!1},{name:"appType",headerCellFilter:"translate",displayName:"APPLICATION_INFO",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_APPS_'+(row.entity.appType || (grid.appScope._.find(grid.appScope.$application.applications,{value:row.entity.app}) ? row.entity.app : 'custom')).toUpperCase() | translate}}</div>",enableColumnMenu:!1},{name:"appdata",headerCellFilter:"translate",displayName:"APPLICATION_ARGUMENTS",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{row.entity.appdata.join(',')}}</div>",enableColumnMenu:!1},{name:"interval",headerCellFilter:"translate",displayName:"APPLICATION_TIME_INTERVAL",enableColumnMenu:!1},{name:"action",enableColumnMenu:!1,headerCellFilter:"translate",displayName:"APPLICATION_ACTION",width:125,cellClass:"ui-grid-vcenter",cellTemplate:'<div><a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openApplication(grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="icon-settings"></i></a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteApp(row.entity.app+\' application\', grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="fa fa-trash"></i></a></div>'}],onRegisterApi:function(b){b.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.selectedRows.push(b.entity):_.pull(a.selectedRows,b.entity)}),b.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.selectedRows=_.map(b,"entity"):a.selectedRows=[]}),b.draggableRows.on.rowDropped(a,function(b,c){a.updateRoute()}),b.grid.registerDataChangeCallback(function(){y(a.gridOptions.data.length)})}};var y=function(a){var b=a?30*a+120:177;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px")};a.initApplication=function(b){b&&(a.selectedApp=void 0),a.forms={settings:void 0,interval:void 0},a.application={},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.$watch("interval",function(a){a&&w(a)},!0),a.updateSetAppdata=function(){a.application.variable&&a.application.value&&"Set"===a.main.app.value?a.application.appdata[0]=a.application.variable+"="+a.application.value:a.application.appdata[0]=null},a.updateSetAppdataSettings=function(){a.application.variable&&a.application.value&&"Set"===a.main.app.value?a.route.Applications[a.selectedApp].appdata[0]=a.application.variable+"="+a.application.value:a.route.Applications[a.selectedApp].appdata[0]=null},a.$watch("main.app",function(b){if(b){var c,d,e={},f={};switch(void 0===a.selectedApp&&(a.application={appType:b.type,app:b.value,interval:a.application.interval||"*,*,*,*",appdata:[]}),b.value){case"Queue":c=l,d=m;break;case"Playback":c=m;break;case"AGI":c=n;break;case"Goto":c=o;break;case"Voicemail":c=q;break;case"Dial":switch(b.type){case"internalDial":c=r,e={controller:"all"};break;case"externalDial":c=u}}if(c)return c.get(e).$promise.then(function(b){a.items=b.rows}).then(function(){return d?d.get(f).$promise:void 0}).then(function(b){b&&(a.items2=b.rows)})["catch"](function(a){h.error(a)})}},!0),a.deselectAndRedirect=function(b){a.selectedApp=void 0,e.path(b)},a.initRingGroup=function(){var b,c,d;return void 0===a.selectedApp?a.usersArray=[]:a.usersArray=_.map(a.route.Applications[a.selectedApp].appdata[0].split("&"),function(a){return a.split("/")[1]}),r.get().$promise.then(function(a){return b=a,s.get().$promise}).then(function(a){return c=a,t.get().$promise}).then(function(e){d=e,ComponentsDropdowns.bindUserByRole(b,c,d,function(b){a.usersArray=_.union(b,a.usersArray),void 0===a.selectedApp?(a.application.appdata[0]=null,a.application.appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&")):(a.route.Applications[a.selectedApp].appdata[0]=null,a.route.Applications[a.selectedApp].appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&"))},function(b){a.usersArray=_.difference(a.usersArray,b),void 0===a.selectedApp?(a.application.appdata[0]=null,a.application.appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&")):(a.route.Applications[a.selectedApp].appdata[0]=null,a.route.Applications[a.selectedApp].appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&"))},a.route.Applications[a.selectedApp]?a.route.Applications[a.selectedApp].appdata:null)})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return p.get().$promise.then(function(b){a.Intervals=b.rows,d.syncUpdates("interval",a.Intervals)})["catch"](function(a){h.error(a)})},a.getRoute=function(){return k.get({id:c.id}).$promise.then(function(b){a.route=b,a.gridOptions.data=b.Applications,y(a.gridOptions.data.length)})["catch"](function(a){e.path("/channels/voice/routes/inbound/list")})},a.getApplication=function(){if(void 0===a.selectedApp)e.path("/channels/voice/routes/inbound/list");else{if(a.showGrid=!0,a.route.Applications[a.selectedApp].appType)a.main.app=_.find(a.$application.applications,{type:a.route.Applications[a.selectedApp].appType});else{var b=_.find(a.$application.applications,{value:a.route.Applications[a.selectedApp].app});if(b)a.main.app=b;else{a.main.app=_.find(a.$application.applications,{type:"custom"});var c=a.route.Applications[a.selectedApp].appdata.join(",");a.route.Applications[a.selectedApp].appdata=[c],a.route.Applications[a.selectedApp].appType="custom"}}if("Set"===a.main.app.value){var d=a.route.Applications[a.selectedApp].appdata[0].split("=");a.application.variable=d[0],a.application.value=d[1]}x()}},a.openApplication=function(b){a.selectedApp=b,a.showGrid=!1,e.path("/channels/voice/routes/inbound/view/"+c.id+"/applications/settings")},a.updateRoute=function(d){return a.route.exten=a.$application.checkUnderscore(a.route.exten),_.forEach(a.route.Applications,function(a){if("custom"!==a.appType)switch(a.app){case"Dial":var b;switch(a.appType){case"externalDial":b=3;break;case"internalDial":b=2;break;default:b=2}a.appdata[b]=a.appdata[b]||"",a.appdata[b]+=(_.includes(a.appdata[b],"x")?"":"x")+(_.includes(a.appdata[b],"X")?"":"X");break;case"Queue":a.appdata[1]=a.appdata[1]||"",a.appdata[1]+=(_.includes(a.appdata[1],"x")?"":"x")+(_.includes(a.appdata[1],"X")?"":"X")}}),k.update({id:a.route.id},a.route).$promise.then(function(f){a.selectedApp=void 0,h.show(b.instant("MESSAGE_WELL_DONE")+"!","success"),d&&e.path("/channels/voice/routes/inbound/view/"+c.id+"/"+d)})["catch"](function(a){console.log(a),h.error(a)})},a.getContexts=function(){return o.get().$promise.then(function(b){a.voiceContexts=b.rows,d.syncUpdates("voice_context",a.voiceContexts)})["catch"](function(a){h.error(a)})},a.deleteApp=g.confirm["delete"](function(b){a.route.Applications.splice(b,1),a.updateRoute()}),a.deleteItems=g.confirm["delete"](function(){_.remove(a.route.Applications,function(b){return _.includes(a.selectedRows,b)}),a.selectedRows=[],a.updateRoute()}),a.addApplication=function(){a.route.Applications.push(a.application),a.updateRoute("applications")},a.goNext=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){d.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.inbound.view",{url:"/view/:id",templateUrl:"app/channels/voice/route/inbound/view/view.html",controller:"VoiceRouteInboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.routes.inbound.view.settings",{url:"/settings",templateUrl:"app/channels/voice/route/inbound/view/view.settings.html"}).state("main.channels.voice.routes.inbound.view.applications",{url:"/applications",templateUrl:"app/channels/voice/route/inbound/view/view.applications.html"}).state("main.channels.voice.routes.inbound.view.application",{url:"/application",templateUrl:"app/channels/voice/route/view.application.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.channels.voice.routes.inbound.view.applications.settings",{url:"/settings",templateUrl:"app/channels/voice/route/view.applicationSettings.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCreateCtrl",["$scope","$uibModalInstance","Route","application","$location","$translate","xAlert",function(a,b,c,d,e,f,g){a.$application=d.application,a.forms={route:void 0},a.item={type:"internal",appdata:"Internal Call",context:"from-sip"},a.ok=function(){return a.item.exten=a.$application.checkUnderscore(a.item.exten),c.save(a.item).$promise.then(function(a){b.close(a),e.path("/channels/voice/routes/internal/view/"+a.id+"/applications")})["catch"](function(a){g.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource","gridOptions","Route","$uibModal","$location","$log",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.initView=function(){var b={exporterCsvFilename:"InternalRoutes.csv",columnDefs:[{name:"exten",displayName:"APPLICATION_PHONE_NUMBER"},{name:"description"},{name:"applications",cellClass:"ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.Applications.length"><span data-ng-repeat="app in row.entity.Applications | limitTo:2">{{app.app}}({{app.appdata[0]}}),</span>...</div><div data-ng-if="!row.entity.Applications.length">{{\'MESSAGE_NO_AVAILABLE_APPLICATIONS\' | translate}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/routes/internal/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.exten, row.entity.id)"}]}]};a.gridOptions=i.gridOptions(j,b,a,{type:"internal"})},a.create=function(){k.open({animation:!0,templateUrl:"app/channels/voice/route/internal/list/create.modal.html",controller:"VoiceRouteInternalListCreateCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.internal.list",{url:"/list",templateUrl:"app/channels/voice/route/internal/list/list.html",controller:"VoiceRouteInternalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalViewCtrl",["$scope","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval","Route","VoiceQueue","Sound","SquareProject","VoiceContext","Interval","VoiceMail","User","Agent","Telephone","Trunk",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){function v(b){var c,d;if("always"===b.intType)c=null,d="*,*,*,*";else if("list"===b.intType)d=b.IntervalId?_.find(a.Intervals,{id:b.IntervalId}).name:"*,*,*,*",c=b.IntervalId||null;else if("custom"===b.intType){c=null;var e,f,g,h;e=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(f=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(f+="-"+b.wd_to)):f="*",b.md_from&&"always"!==b.md_from?(g=b.md_from,b.md_to&&"always"!==b.md_to&&(g+="-"+b.md_to)):g="*",b.m_from&&"always"!==b.m_from?(h=b.m_from,b.m_to&&"always"!==b.m_to&&(h+="-"+b.m_to)):h="*",d=e+","+f+","+g+","+h}void 0===a.selectedApp?(a.application.interval=d,a.application.IntervalId=c):(a.route.Applications[a.selectedApp].interval=d,a.route.Applications[a.selectedApp].IntervalId=c)}function w(){if(a.interval.intType=a.route.Applications[a.selectedApp].IntervalId?"list":"*,*,*,*"===a.route.Applications[a.selectedApp].interval?"always":"custom",a.interval.IntervalId=a.route.Applications[a.selectedApp].IntervalId,!a.route.Applications[a.selectedApp].IntervalId){var b,c=a.route.Applications[a.selectedApp].interval?a.route.Applications[a.selectedApp].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.interval.t_from=moment(b[0],"HH:mm"),a.interval.t_to=moment(b[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.interval.wd_from=b[0],a.interval.wd_to=b[1]?b[1]:"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.interval.md_from=b[0],a.interval.md_to=b[1]?b[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.interval.m_from=b[0],a.interval.m_to=b[1]?b[1]:"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}a.$translate=b,a.selectedApp=void 0,a.showGrid=!0,a.$application=i.application,a.$interval=j.interval,a._=_,a.selectedRows=[],a.gridOptions={enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableSorting:!1,rowTemplate:'<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',columnDefs:[{name:"app",headerCellFilter:"translate",displayName:"APPLICATION_APPLICATION",enableColumnMenu:!1},{name:"appType",headerCellFilter:"translate",displayName:"APPLICATION_INFO",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_APPS_'+(row.entity.appType || (grid.appScope._.find(grid.appScope.$application.applications,{value:row.entity.app}) ? row.entity.app : 'custom')).toUpperCase() | translate}}</div>",enableColumnMenu:!1},{name:"appdata",headerCellFilter:"translate",displayName:"APPLICATION_ARGUMENTS",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{row.entity.appdata.join(',')}}</div>",enableColumnMenu:!1},{name:"interval",headerCellFilter:"translate",displayName:"APPLICATION_TIME_INTERVAL",enableColumnMenu:!1},{name:"action",enableColumnMenu:!1,headerCellFilter:"translate",displayName:"APPLICATION_ACTION",width:125,cellClass:"ui-grid-vcenter",cellTemplate:'<div><a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openApplication(grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="icon-settings"></i></a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteApp(row.entity.app+\' application\', grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="fa fa-trash"></i></a></div>'
+"use strict";angular.module("xCallyShuttleApp",["adf","adf.structures.base","adf.widget.clock","adf.widget.iframe","adf.widget.counter","adf.widget.pie-chart","angular-md5","angular.filter","angularFileUpload","ngLetterAvatar","vAccordion","btford.socket-io","chart.js","checklist-model","colorpicker.module","frapontillo.bootstrap-switch","LocalStorageModule","mgo-angular-wizard","ng-slide-down","ngAnimate","ngBootstrap","ngCookies","ngCsv","ngFileSaver","ngJsTree","ngMap","ngPapaParse","ngResource","ngSanitize","notification","oc.lazyLoad","pascalprecht.translate","remoteValidation","smart-table","sprintf","timer","toastr","permission","ui-notification","ui.bootstrap.modal","ui.bootstrap.dropdown","ui.bootstrap.popover","ui.bootstrap.timepicker","ui.bootstrap.tooltip","ui.bootstrap.tpls","ui.bootstrap.accordion","ui.bootstrap.progressbar","ui.bootstrap.buttons","ui.bootstrap.typeahead","ui.grid","ui.grid.autoResize","ui.grid.draggable-rows","ui.grid.exporter","ui.grid.grouping","ui.grid.moveColumns","ui.grid.pagination","ui.grid.treeView","ui.grid.selection","ui.grid.exporter","ui.grid.resizeColumns","ui.router","ui.navbar","ui.select","ui.sortable","xeditable","ngAudio","truncate","ngScrollbars","ngEmoticons","angularSpinner","builder","builder.components","validator","angular-clipboard","ng-code-mirror","angularMoment","jsonFormatter","ui.bootstrap-slider","ui.bootstrap.datepicker","prettyBytes","bootstrapLightbox","rzModule","ckeditor","ngTagsInput","ngJoyRide","adf.widget.linklist"]).constant("CKEDITOR_BASEPATH","assets/plugins/ckeditor/").config(["$stateProvider","$urlRouterProvider","$locationProvider","$httpProvider","$translateProvider","localStorageServiceProvider","dashboardProvider","ScrollBarsProvider","tagsInputConfigProvider",function(a,b,c,d,e,f,g,h,i){i.setActiveInterpolation("tagsInput",{placeholder:!0}),b.otherwise(function(a){var b=a.get("$state");b.go("landing")}),e.useStaticFilesLoader({prefix:"assets/languages/locale-",suffix:".json"}),e.preferredLanguage("en_EN"),e.fallbackLanguage("en_EN"),e.useLocalStorage(),e.useSanitizeValueStrategy(null),c.html5Mode(!0),d.interceptors.push("authInterceptor"),g.structure("4-4-4",{rows:[{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("3-3-3-3",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"}]}]}),f.setPrefix("motion"),h.defaults={scrollButtons:{scrollAmount:"auto",enable:!0},axis:"y"}}]).factory("authInterceptor",["$rootScope","$q","$cookieStore","$location",function(a,b,c,d){return{request:function(a){return a.headers=a.headers||{},c.get("token")?a.headers.Authorization="Bearer "+c.get("token"):d.path().match(/\/reset\/.[0-9]*/)||d.path("/login"),a}}}]).run(["$rootScope","$location","$state","$stateParams","$window","$q","Auth","RoleStore","editableThemes","editableOptions","License","User","PermissionStore","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.$state=c,a.$stateParams=d,i.bs3.inputClass="input-sm",i.bs3.buttonsClass="btn-xs",j.theme="bs3",a.$on("$stateChangeStart",function(a,c){g.isLoggedInAsync(function(a){!c.authenticate||a||b.path().match(/\/reset\/.[0-9]*/)||b.path("/login")})}),a.updateTableConfig=function(a,b){var c=_.find(a,{name:"All"});c&&(c.value=b)},a.settings={patternName:"[A-Za-z0-9._\\+*!\\-\\[\\]]+",patternPassword:"^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\\-_=+\\[\\{\\]\\}.])[0-9a-zA-Z~!@#$%^&\\-_=+\\[\\{\\]\\}.]{8,}$",patternPasswordLight:"^[a-zA-Z0-9~!@#$%^&\\-_=+\\[\\{\\]\\}.]{6,}$",patternGateway:"^(?:yes|no|[0-9]+)$",patternFaxdetect:"^(?:yes|no|t38|cng|[0-9]+)$",layout:{pageSidebarClosed:n.get("sidebarClosed")||!1,pageQuickSidebarOpened:!1,pageBodySolid:!1,pageAutoScrollOnLoad:1e3}},k.get().$promise.then(function(b){a.license=b.license,a.settings.soundPath=b.soundPath||"/var/opt/motion/server/files/sounds/converted",a.settings.logo=b.logo,a.settings.defaultLogo=b.defaultLogo,a.settings.loginLogo=b.loginLogo,a.settings.defaultLoginLogo=b.defaultLoginLogo,a.settings.footerWhiteLabel=b.footerWhiteLabel,a.settings.defaultFooterWhiteLabel=b.defaultFooterWhiteLabel,m.definePermission("hasCm",function(){return a.license.cm}),m.definePermission("hasChat",function(){return a.license.chat}),m.definePermission("hasMail",function(){return a.license.mail}),m.definePermission("hasFax",function(){return a.license.fax}),m.definePermission("hasSms",function(){return a.license.messaging}),m.definePermission("hasDialer",function(){return a.license.dialer}),m.definePermission("hasJscripty",function(){return a.license.jscripty}),m.definePermission("hasUpdate",function(){return a.license.update}),m.definePermission("hasCustom",function(){return a.license.custom}),m.definePermission("hasOpenChannel",function(){return a.license.openchannel})})["catch"](function(a){console.log(a)}),m.definePermission("agent",function(){return g.isAgent()}),m.definePermission("admin",function(){return g.isAdmin()}),m.definePermission("user",function(a,b){var c=f.defer(),d=g.getCurrentUser().$promise;return d?d.then(function(a){_.includes(_.map(a.Modules,"id"),b.toState.data.permissions.id)&&"user"===a.role?c.resolve():c.reject()})["catch"](function(){c.reject()}):c.resolve(),c.promise})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics",{url:"/analytics",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:17}}})}]),angular.module("xCallyShuttleApp").factory("Extracted",["$resource",function(a){return a("/api/analytics/extracted/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.extracted",{url:"/extracted",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticExtractedListCtrl",["$scope","$translate","gridOptions","Extracted","uiGridConstants",function(a,b,c,d,e){a.moment=moment,a.Extracted=d,a.initView=function(){var b={exporterCsvFilename:"ExtractedReports.csv",columnDefs:[{name:"name"},{name:"startDate",displayName:"APPLICATION_START_DATE",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:e.filter.GREATER_THAN_OR_EQUAL,hasTime:!0},{name:"To",condition:e.filter.LESS_THAN_OR_EQUAL,hasTime:!0}],sort:{direction:e.DESC,priority:0}},{name:"endDate",displayName:"APPLICATION_END_DATE",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:e.filter.GREATER_THAN_OR_EQUAL,hasTime:!0},{name:"To",condition:e.filter.LESS_THAN_OR_EQUAL,hasTime:!0}]},{name:"createdAt",displayName:"APPLICATION_RUN_DATE",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:e.filter.GREATER_THAN_OR_EQUAL,hasTime:!0},{name:"To",condition:e.filter.LESS_THAN_OR_EQUAL,hasTime:!0}]},{name:"output"},{name:"type"},{name:"status"},{name:"action",width:140,buttons:[{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{directive:"<motion-file-download data-ng-show=\"row.entity.status == 'completed'\" resource=\"grid.appScope.Extracted\" params=\"{id:row.entity.id,controller:'download'}\" mimetype=\"'application/'+row.entity.output.toLowerCase()\" filename=\"row.entity.name+'_'+row.entity.startDate.toString()+'_'+row.entity.endDate.toString()+'.'+row.entity.output.toLowerCase()\"></motion-file-download>"}]}]};a.gridOptions=c.gridOptions(d,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.extracted.list",{url:"/list",templateUrl:"app/analytic/extracted/list/list.html",controller:"AnalyticExtractedListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("DefaultMetric",["$resource",function(a){return a("/api/analytics/metrics/default/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCreateModalCtrl",["$scope","$uibModalInstance","Metric","xAlert","$translate","report",function(a,b,c,d,e,f){a.forms={dashboard:void 0},a.item={},a.tables=f.tables,a.ok=function(){return c.save(a.item).$promise.then(function(){b.close()})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListCtrl",["$scope","xAlert","Modal","$uibModal","$log","gridOptions","Metric","DefaultMetric","$translate",function(a,b,c,d,e,f,g,h,i){a.$translate=i,a.initView=function(){var b={exporterCsvFilename:"Metrics.csv",columnDefs:[{name:"name"},{name:"table",cellTemplate:"<div style=\"padding:5px\">{{'APPLICATION_'+row.entity.table.toUpperCase() | translate}}</div>"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/analytics/metrics/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=f.gridOptions(g,b,a)},a.showMetric=function(a){d.open({animation:!0,templateUrl:"app/analytic/metric/list/view.modal.html",controller:"AnalyticMetricListViewModalCtrl",resolve:{metric:a}})},a.cloneMetric=function(c){return h.get({id:c,controller:"clone"}).$promise.then(function(){b.show(i.instant("MESSAGE_WELL_DONE"),"success"),a.gridOptions.getPage()})["catch"](function(a){b.error(a)})},a.create=function(){var c=d.open({animation:!0,templateUrl:"app/analytic/metric/list/create.modal.html",controller:"AnalyticMetricListCreateModalCtrl"});c.result.then(function(){b.show(i.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridOptions.getPage()},function(){e.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.list",{url:"/list",templateUrl:"app/analytic/metric/list/list.html",controller:"AnalyticMetricListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricListViewModalCtrl",["$scope","$uibModalInstance","metric","xAlert","$translate","report",function(a,b,c,d,e,f){a.item=c,a.tables=f.tables,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").factory("Metric",["$resource",function(a){return a("/api/analytics/metrics/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics",{url:"/metrics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AnalyticMetricViewCtrl",["$scope","xAlert","$translate","$stateParams","$location","Metric","report",function(a,b,c,d,e,f,g){a.tables=g.tables,a.getMetric=function(){return f.get({id:d.id}).$promise.then(function(b){a.metric=b})["catch"](function(a){e.path("/analytics/metrics/list")})},a.updateMetric=function(){return f.update({id:d.id},a.metric).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.metrics.view",{url:"/view/:id",templateUrl:"app/analytic/metric/view/view.html",controller:"AnalyticMetricViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.metrics.view.settings",{url:"/settings",templateUrl:"app/analytic/metric/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("CustomReport",["$resource",function(a){return a("/api/analytics/reports/custom/:precontroller/:id/:controller/:action",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("DefaultReport",["$resource",function(a){return a("/api/analytics/reports/default/:id/:controller/:action",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ReportListCopyModalCtrl",["$scope","$uibModalInstance","$log","customTreeData",function(a,b,c,d){a.customTreeData=d,a.forms={dashboard:void 0},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){c.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0}},a.ac=function(){return!0},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.open_all()},a.ok=function(){a.customTree.get_selected(!0).length?b.close({parent:a.customTree.get_selected(!0).pop().id}):a.showAlert=!0},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListCreateModalCtrl",["$scope","$uibModalInstance","path",function(a,b,c){a.path=c,a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ReportListExtractModalCtrl",["$scope","$uibModalInstance","$translate",function(a,b,c){a.daily=!1,a.dailySwitch={onText:c.instant("APPLICATION_TODAY"),offText:c.instant("APPLICATION_RANGE"),isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"primary"},a.dates={startDate:moment().subtract(1,"days").startOf("day"),endDate:moment().subtract(1,"days").endOf("day")},a.ranges={},a.ranges[c.instant("APPLICATION_YESTERDAY")]=[moment().subtract(1,"days").startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[c.instant("APPLICATION_LAST_SEVEN_DAYS")]=[moment().subtract("days",7).startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[c.instant("APPLICATION_LAST_THIRTY_DAYS")]=[moment().subtract("days",30),moment()],a.ranges[c.instant("APPLICATION_LAST_MONTH")]=[moment().subtract(1,"months").startOf("month"),moment().subtract(1,"months").endOf("month")],a.timepicker={timePickerIncrement:1,timePicker12Hour:!1},a.dailyTime={start:moment("00:00","HH:mm"),end:moment("23:59","HH:mm")},a.maxdate=moment().subtract(1,"days").endOf("day").format("YYYY-MM-DD HH:mm"),a.extract=function(c){var d={startDate:moment(a.dates.startDate).format("YYYY-MM-DD"),endDate:moment(a.dates.endDate).format("YYYY-MM-DD"),startTime:a.daily?moment(a.dailyTime.start).format("HH:mm"):moment(a.dates.startDate).format("HH:mm"),endTime:a.daily?moment(a.dailyTime.end).format("HH:mm"):moment(a.dates.endDate).format("HH:mm"),daily:a.daily,action:c};b.close(d)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticReportListCtrl",["$scope","xAlert","$translate","$location","$log","Modal","$uibModal","FileSaver","Blob","gridOptions","CustomReport","DefaultReport","ReportTree","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){var b=n.get("lastMotionReportNode")||!1,c=n.get("lastMotionReportTree")||!1;return b&&c?(a[c+"Tree"].open_node({id:b}),a[c+"Tree"].select_node({id:b}),!0):!1}function p(b,c){var d={parent:c.id};a.selectedNode=b?a.defaultTree.get_path(c," / "):a.customTree.get_path(c," / "),a.gridOptions?a.gridOptions.getPage({parent:c.id},b?l:k):a.gridOptions=j.gridOptions(b?l:k,q,a,d)}var q={exporterCsvFilename:"reports.csv",columnDefs:[{name:"name"},{name:"description"},{name:"manage",width:120,buttons:[{"class":"{{grid.appScope.defaultTreeActive ? 'display-none' : 'blue-hoki'}}",href:"/analytics/reports/view/{{row.entity.id}}/settings",title:c.instant("APPLICATION_SETTINGS"),name:"settings"},{"class":"{{grid.appScope.defaultTreeActive ? 'display-none' : 'red-sunglo'}}",title:c.instant("APPLICATION_DELETE"),name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{"class":"green",title:c.instant("APPLICATION_COPY"),name:"copy",onClick:"grid.appScope.copy(row.entity.id)"},{"class":"purple",title:c.instant("APPLICATION_EXPORT"),name:"export",onClick:"grid.appScope.export(row.entity.id)"}]},{name:"actions",width:60,buttons:[{"class":"yellow",name:"preview",title:c.instant("APPLICATION_PREVIEW"),onClick:"grid.appScope.preview(row.entity.id)"},{"class":"green-turquoise",name:"run",title:c.instant("APPLICATION_RUN"),onClick:"grid.appScope.extract(row.entity.id)"}]}]};a.searchField="",a.ac=function(){return!0},a.initDefaultScopeTree=function(){a.defaultTree=a.defaultTreeInstance.jstree(!0),a.defaultTree.deselect_all(),a.defaultTree.close_all(),a.defaultTreeReady=!0,a.defaultTreeActive=!0,a.previousDefaultNode=""},a.initCustomScopeTree=function(){a.customTree=a.customTreeInstance.jstree(!0),a.customTree.deselect_all(),a.customTree.close_all(),a.customTreeReady=!0,a.previousCustomNode=""},a.$watchGroup(["defaultTreeReady","customTreeReady"],function(b,c,d){b[0]&&b[1]&&(o()||(a.defaultTree.open_node({id:1}),a.customTree.open_node({id:1}),a.defaultTree.select_node({id:"1"})))}),a.updateCustomTree=function(){var c={tree:angular.toJson(a.customTree.get_json("#",{flat:!0}))};return m.update({id:2},c).$promise.then(function(a){console.log("Custom Tree Updated")})["catch"](function(a){b.error(a)})},a.configTrees=function(){a.defaultTreeConfig={multiple:!1,animation:!0,core:{error:function(a){e.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:!0,themes:{name:"default",url:"../../../assets/css/jstree-metronic/style.css"}},plugins:["search"]},a.customTreeConfig={multiple:!1,animation:!0,core:{error:function(a){e.error("treeCtrl: error from js tree - "+angular.toJson(a))},check_callback:function(a,b,c,d,e){return console.log(a),!0},themes:{name:"default",url:"../../../assets/css/jstree-metronic/style.css"}},plugins:["contextmenu","dnd","search"],contextmenu:{items:function(b,d){var e={create:{label:c.instant("APPLICATION_CREATE"),action:function(c){a.customTree.create_node(b),a.customTree.open_node(b)}},rename:{label:c.instant("APPLICATION_RENAME"),action:function(c){a.customTree.edit(b)}},remove:{label:c.instant("APPLICATION_REMOVE"),action:function(c){a.deleteNode(b)}}};return"#"===b.parent&&(delete e.rename,delete e.remove),d(e),e}}}},a.deleteNode=function(d){var f=g.open({animation:!0,templateUrl:"app/analytic/report/list/deleteNode.modal.html",controller:["$scope","$uibModalInstance","node",function(a,b,c){a.node=c,a.ok=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}],resolve:{node:function(){return d.text}}});f.result.then(function(){return k["delete"]({precontroller:"node",id:d.id}).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.customTree.delete_node(d),a.previousCustomNode==d.id&&a.customTree.select_node({id:d.parent})})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})},a.searchTrees=function(){a.defaultTree.search(a.searchField),a.customTree.search(a.searchField)},a.selectDefaultNode=function(){if(a.customTreeReady){a.previousCustomNode="";var b=a.defaultTree.get_selected(!0),c=b.pop();if(a.defaultTree.deselect_node(b[0],!0),a.customTree.deselect_all(),a.defaultTree.select_node(c,!0),c.id===a.previousDefaultNode)return void console.log("def");a.previousDefaultNode=c.id,n.set("lastMotionReportNode",c.id),n.set("lastMotionReportTree","default"),a.defaultTreeActive=!0,p(!0,c)}},a.selectCustomNode=function(){if(a.defaultTreeReady){a.previousDefaultNode="";var b=a.customTree.get_selected(!0),c=b.pop();if(a.customTree.deselect_node(b[0],!0),a.defaultTree.deselect_all(),a.customTree.select_node(c,!0),c.id===a.previousCustomNode)return void console.log("cus");a.previousCustomNode=c.id,n.set("lastMotionReportNode",c.id),n.set("lastMotionReportTree","custom"),a.defaultTreeActive=!1,p(!1,c)}},a.getTrees=function(){return m.query().$promise.then(function(b){a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),a.configTrees()})["catch"](function(a){b.error(a)})},a.create=function(){var c=g.open({animation:!0,templateUrl:"app/analytic/report/list/create.modal.html",controller:"ReportListCreateModalCtrl",resolve:{path:function(){return a.selectedNode}}});c.result.then(function(c){return c.parent=a.previousCustomNode,k.save(c).$promise.then(function(a){d.path("/analytics/reports/view/"+a.id+"/settings")})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})},a.copy=function(d){var f=a.defaultTreeActive?l:k,h=g.open({animation:!0,templateUrl:"app/analytic/report/list/copy.modal.html",controller:"ReportListCopyModalCtrl",resolve:{customTreeData:function(){return a.customTree.get_json("#",{flat:!0})}}});h.result.then(function(e){return f.save({id:d,controller:"copy"},e).$promise.then(function(){a.gridOptions.getPage(),b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})},a["export"]=function(c){var d=a.defaultTreeActive?l:k;return d.get({id:c,controller:"export"}).$promise.then(function(a){var b=new i([angular.toJson(a)],{type:"application/json;charset=utf-8"});h.saveAs(b,a.name+".json")})["catch"](function(a){b.error(a)})},a["import"]=function(d){var e=JSON.parse(d);e.parent=a.previousCustomNode;var f=e.name&&e.parent?!0:!1,g=!0;return _.forEach(e.Fields,function(a){a.field&&a.alias||(g=!1)}),f&&g?k.save({controller:"import"},e).$promise.then(function(){a.gridOptions.getPage(),b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)}):void b.show(c.instant("MESSAGE_INVALID_JSON"),"danger")},a.preview=function(b){g.open({animation:!0,templateUrl:"app/analytic/report/list/preview.modal.html",controller:"ReportListPreviewModalCtrl",size:"full",resolve:{report:function(){return{id:b,tree:a.defaultTreeActive?"default":"custom"}}}})},a.extract=function(d){var f=g.open({animation:!0,templateUrl:"app/analytic/report/list/extract.modal.html",controller:"ReportListExtractModalCtrl",size:"md",resolve:{report:function(){return{id:d,tree:a.defaultTreeActive?"default":"custom"}}}});f.result.then(function(e){e.daily||delete e.daily;var f=a.defaultTreeActive?l:k;return f.get(_.merge({id:d,controller:"extract"},e)).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},function(){e.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.list",{url:"/list",templateUrl:"app/analytic/report/list/list.html",controller:"AnalyticReportListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ReportListPreviewModalCtrl",["$scope","$uibModalInstance","report","xAlert","$translate","$timeout","CustomReport","DefaultReport",function(a,b,c,d,e,f,g,h){a.daily=!1,a.dailySwitch={onText:e.instant("APPLICATION_TODAY"),offText:e.instant("APPLICATION_RANGE"),isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"primary"},a.dates={startDate:moment().subtract(1,"days").startOf("day"),endDate:moment().subtract(1,"days").endOf("day")},a.ranges={},a.ranges[e.instant("APPLICATION_YESTERDAY")]=[moment().subtract(1,"days").startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[e.instant("APPLICATION_LAST_SEVEN_DAYS")]=[moment().subtract("days",7).startOf("day"),moment().subtract(1,"days").endOf("day")],a.ranges[e.instant("APPLICATION_LAST_THIRTY_DAYS")]=[moment().subtract("days",30),moment()],a.ranges[e.instant("APPLICATION_LAST_MONTH")]=[moment().subtract(1,"months").startOf("month"),moment().subtract(1,"months").endOf("month")],a.timepicker={timePickerIncrement:1,timePicker12Hour:!1},a.dailyTime={start:moment("00:00","HH:mm"),end:moment("23:59","HH:mm")},a.maxdate=moment().subtract(1,"days").endOf("day").format("YYYY-MM-DD HH:mm");var i={offset:0,limit:25,sort:null,where:{},order:{}};a.gridOptions={paginationPageSizes:[10,25,50],paginationPageSize:25,useExternalPagination:!0,enableSorting:!1,enableFiltering:!0,useExternalFiltering:!0,enableGrouping:!1,enableColumnMenus:!1,treeRowHeaderAlwaysVisible:!1,gridMenuShowHideColumns:!1,enableGridMenu:!1,onRegisterApi:function(b){a.gridApi=b,b.pagination.on.paginationChanged(a,function(b,c){i.offset=(b-1)*c,i.limit=c,a.getPage()}),b.core.on.filterChanged(a,function(){var b=this.grid,c={};b.columns.forEach(function(a){a.filters[0].term&&(c[a.field]=a.filters[0].term)}),i.where=c,a.getPage()})}},a.getPage=function(){var b={offset:i.offset,limit:i.limit,startDate:moment(a.dates.startDate).format("YYYY-MM-DD"),endDate:moment(a.dates.endDate).format("YYYY-MM-DD"),startTime:a.daily?moment(a.dailyTime.start).format("HH:mm"):moment(a.dates.startDate).format("HH:mm"),endTime:a.daily?moment(a.dailyTime.end).format("HH:mm"):moment(a.dates.endDate).format("HH:mm"),daily:a.daily};_.forOwn(i.where,function(a,c){b[c]=a});var e="custom"===c.tree?g:h;return e.get(_.merge({id:c.id,controller:"preview"},b)).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.paginationPageSizes[3]=b.count,a.gridOptions.data=b.rows,a.showResult=!0})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss("cancel")},f(function(){a.getPage()})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports",{url:"/reports",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ReportAgent",["$resource",function(a){return a("/api/report/agents/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportIntegration",["$resource",function(a){return a("/api/report/integrations/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportMember",["$resource",function(a){return a("/api/report/members/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportTree",["$resource",function(a){return a("/api/analytics/reports/trees/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("AnalyticReportViewCtrl",["$scope","xAlert","$translate","$stateParams","$location","ReportAgent","ReportCall","ReportMailSession","ReportSmsSession","ReportMember","ReportQueue","ReportIntegration","ReportChatSession","DefaultReport","CustomReport","Metric","report",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){function r(c){var d=_.find(a.tables,{value:c}).resource;d.get({controller:"describe"}).$promise.then(function(b){a.tableFields=_.map(b,function(a,b){return"$promise"!==b&&"$resolved"!==b?{name:b,value:b}:void 0})})["catch"](function(a){b.error(a)})["finally"](function(){s(c)})}function s(c){return p.get({controller:"table",table:c}).$promise.then(function(b){_.forEach(b.rows,function(b){a.tableFields.push({name:"<strong>Metric.</strong>"+b.name,alias:b.name,value:b.metric,MetricId:b.id})})})["catch"](function(a){b.error(a)})}function t(a){return String(a).replace(/</g,"<").replace(/>/g,">")}function u(a){if(!a)return"";for(var b="(",c=0;c<a.rules.length;c++)if(c>0&&(b+=" <strong>"+a.operator+"</strong> "),a.rules[c].group)b+=u(a.rules[c].group);else switch(b+=a.rules[c].field,a.rules[c].condition){case"IS NULL":case"IS NOT NULL":b+=" "+t(a.rules[c].condition);break;case"IS EMPTY":b+=" = ''";break;case"IS NOT EMPTY":b+=" != ''";break;default:b+=" "+t(a.rules[c].condition)+" "+a.rules[c].value}return b+")"}a.$translate=c,a.tempReport={},a.tables=q.tables;var v={group:{operator:"AND",rules:[]}};a.getReport=function(){return a.firstLoad=!0,o.get({id:d.id}).$promise.then(function(b){a.report=b,_.forEach(a.report.Fields,function(a){delete a.id}),a.report.conditions=a.report.conditions?JSON.parse(a.report.conditions):_.clone(v,!0),a.report.Fields.length&&a.getPreview()})["catch"](function(a){console.error(a),e.path("/analytics/reports/list")})},a.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},a.$watch("report.table",function(b,c){b&&(r(b),c&&(a.tempReport[c]={conditions:a.report.conditions,fields:a.report.Fields}),a.firstLoad?a.firstLoad=!1:a.tempReport[b]?(a.report.Fields=a.tempReport[b].fields,a.report.conditions=a.tempReport[b].conditions):(a.report.Fields=[],a.report.conditions=_.clone(v,!0)))},!0),a.setMetricId=function(b,c){a.report.Fields[c].MetricId=b.MetricId?b.MetricId:null,a.report.Fields[c].alias=b.MetricId?b.alias:b.name},a.groupByField=[{name:"APPLICATION_YES",value:!0},{name:"APPLICATION_NO",value:!1}],a.functions=[{name:"Sum",value:"SUM"},{name:"Count",value:"COUNT"},{name:"Count Distinct",value:"COUNT DISTINCT"},{name:"Maximum",value:"MAX"},{name:"Minimum",value:"MIN"},{name:"Average",value:"AVG"},{name:"Group Concat",value:"GROUP_CONCAT"},{name:"Group Concat(asc)",value:"GROUP_CONCAT ASC"},{name:"Group Concat(desc)",value:"GROUP_CONCAT DESC"}],a.formatFunctions=[{name:"Sec To Time",value:"SEC_TO_TIME"},{name:"Date",value:"DATE"},{name:"Hour",value:"HOUR"},{name:"Round",value:"ROUND"},{name:"Unix TimeStamp",value:"UNIX_TIMESTAMP"}],a.addField=function(){a.report.Fields.push({groupBy:!1,custom:!1})},a.removeField=function(b){a.report.Fields.splice(b,1)},a.sortableOptions={"ui-floating":!0,cancel:".unsortable",handle:".report-field-handle",axis:"y"},a.toggleCustom=function(b){b.custom=!b.custom,b.custom||_.find(a.tableFields,{value:b.field})||(b.field=null)},a.updateReport=function(){if(a.report.Fields.length){var e=angular.copy(a.report);return console.log(e.conditions),e.conditions=angular.toJson(e.conditions),_.forEach(e.Fields,function(a){a.custom&&delete a.MetricId}),o.update({id:d.id},e).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),a.getPreview()})["catch"](function(a){b.error(a)})}b.show(c.instant("MESSAGE_SELECT_A_FIELD"),"danger")},a.$watch("report.conditions",function(b){a.output=b?u(b.group):"()"},!0),a.getPreview=function(){return a.gridOptions=null,o.get({id:d.id,controller:"preview",limit:20}).$promise.then(function(b){a.gridOptions={enableFiltering:!0,treeRowHeaderAlwaysVisible:!1,enableGridMenu:!0,data:b.rows}})["catch"](function(a){console.log(a),b.show(c.instant(a.message||"MESSAGE_QUERY_NOT_VALID"),"warning")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.reports.view",{url:"/view/:id",templateUrl:"app/analytic/report/view/view.html",controller:"AnalyticReportViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.reports.view.settings",{url:"/settings",templateUrl:"app/analytic/report/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels",{url:"/channels",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat",{url:"/chat",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ChatEnquiry",["$resource",function(a){
+return a("/api/chat/enquiries/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatMessage",["$resource",function(a){return a("/api/chat/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatReport",["$resource",function(a){return a("/api/report/chats/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatVisitor",["$resource",function(a){return a("/api/chat/visitors/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatRoom",["$resource",function(a){return a("/api/chat/rooms/:id/:controller",{id:"@id"},{me:{method:"GET",isArray:!0,params:{id:"me"}},users:{method:"GET",params:{id:"users"}},externals:{method:"GET",isArray:!0,params:{id:"type",controller:"external"}},groups:{method:"GET",isArray:!0,params:{id:"groups"}},update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").controller("ChatOfflineListCtrl",["$scope","ChatEnquiry","gridOptions","uiGridConstants",function(a,b,c,d){a.initView=function(){var e={exporterCsvFilename:"chat_offline_messages.csv",columnDefs:[{name:"username",cellClass:"text-center"},{name:"email",cellClass:"text-center"},{name:"ChatWebsite.name",displayName:"Website",cellClass:"text-center"},{name:"createdAt",displayName:"createdAt",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.createdAt"></span></div>',field:"createdAt",sort:{direction:d.DESC,priority:0}},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/chat/offline/view/{{row.entity.id}}",name:"detail"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.offline.list",{url:"/list",templateUrl:"app/channels/chat/offline/list/list.html",controller:"ChatOfflineListCtrl"})}]),angular.module("xCallyShuttleApp").directive("enquiryMessage",["$rootScope","$translate","MailMessage","List","xAlert",function(a,b,c,d,e){return{restrict:"E",scope:{message:"=",listId:"="},templateUrl:"app/channels/chat/offline/message/message.directive.html",link:function(c){c.openContact=function(f){return c.listId?d.save({listId:c.listId,controller:"contacts"},{email:f}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.email,type:"contact"})})["catch"](function(a){e.error(a)}):void e.show(b.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.offline",{url:"/offline",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatOfflineViewCtrl",["$scope","$stateParams","$translate","$rootScope","ChatEnquiry","List","xAlert",function(a,b,c,d,e,f,g){a.initView=function(){return e.get({id:b.id}).$promise.then(function(b){a.enquiry=b})["catch"](function(a){g.error(a)})},a.openContact=function(b){return a.enquiry.ChatWebsite.ListId?f.save({listId:a.enquiry.ChatWebsite.ListId,controller:"contacts"},{email:b}).$promise.then(function(a){var b=_.find(d.$root.workspaces,{contactID:a.id});b?b.active=!0:d.$root.workspaces.push({active:!0,"class":"icon-user",contactID:a.id,name:a.email,type:"contact"})})["catch"](function(a){g.error(a)}):void g.show(c.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.offline.view",{url:"/view/:id",templateUrl:"app/channels/chat/offline/view/view.html",controller:"ChatOfflineViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatOnlineListCtrl",["$scope","ChatRoom","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"chat_online_messages.csv",columnDefs:[{name:"ChatVisitor.fullname",displayName:"APPLICATION_FULLNAME",cellClass:"text-center"},{name:"ChatVisitor.email",displayName:"APPLICATION_EMAIL",cellClass:"text-center"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/chat/online/view/{{row.entity.id}}/detail",name:"detail"}]}]};a.gridOptions=c.gridOptions(b,d,a,{id:"online"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.online.list",{url:"/list",templateUrl:"app/channels/chat/online/list/list.html",controller:"ChatOnlineListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.online",{url:"/online",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatOnlineViewCtrl",["$scope","$stateParams","ChatRoom",function(a,b,c){a.initView=function(){return a.config={autoHideScrollbar:!1,theme:"light",advanced:{updateOnContentResize:!0},setHeight:400,scrollInertia:0},c.get({id:b.id}).$promise.then(function(b){a.chatRoom=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.online.view",{url:"/view/:id",templateUrl:"app/channels/chat/online/view/view.html",controller:"ChatOnlineViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.chat.online.view.detail",{url:"/detail",templateUrl:"app/channels/chat/online/view/view.detail.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/news.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("PreviewCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").directive("preview",["$rootScope",function(a){return{templateUrl:"app/channels/chat/preview/preview.html",restrict:"EA",link:function(a,b,c){}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("preview",{url:"/preview",templateUrl:"app/channels/chat/preview/preview.html",controller:"PreviewCtrl",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").factory("ChatQueue",["$resource",function(a){return a("/api/chat/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueListCtrl",["$scope","ChatQueue","gridOptions","Auth","$uibModal",function(a,b,c,d,e){a.initView=function(){a.Auth=d;var e={exporterCsvFilename:"chat_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"strategy"},{name:"timeout"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/chat/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/chat/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===d.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a)},a.createItem=function(){var b=e.open({animation:!0,templateUrl:"app/channels/chat/queue/list/list.create.modal.html",controller:"ChatQueueListCreateCtrl",size:"lg"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ChatQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","ChatQueue","Team",function(a,b,c,d,e,f){a.form={},a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.queues.list",{url:"/list",templateUrl:"app/channels/chat/queue/list/list.html",controller:"ChatQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","ChatQueue","Team","Auth",function(a,b,c,d,e,f,g,h){a.Auth=h;var i=function(){return{select:function(b){return f.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})},deselect:function(b){return f["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})}}};a.getQueue=function(){b.get("/api/chat/queues/"+e.id).success(function(b){b.penalty=0,a.queue=b}).error(function(a){console.error(a)})},a.updateChatQueue=function(){var f=angular.copy(a.queue);b.put("/api/chat/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){a.queue=f,b.errors.forEach(function(a){c.error(err)})})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,f.get({id:e.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindChatQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasChatQueue.penalty}}),i)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.queues.view",{url:"/view/:id",templateUrl:"app/channels/chat/queue/view/view.html",controller:"ChatQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.chat.queues.view.settings",{url:"/settings",templateUrl:"app/channels/chat/queue/view/view.settings.html"}).state("main.channels.chat.queues.view.agents",{url:"/agents",templateUrl:"app/channels/chat/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","ChatQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.chatPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_chat_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PChatQueues,"id"),b.ChatQueueId)||n.isAdmin();if(c){var d=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0});if(d){var e=a.gridOptions.data.indexOf(d);a.gridOptions.data.splice(e+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.ChatQueueId,agent:b.membername,online:d.online})}}}),e.socket.on("user_has_chat_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.ChatQueueId})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.chatPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.ChatQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.chatQueues=b.rows,e.syncUpdates("chat_queue",a.chatQueues)})["catch"](function(a){f.error(a)})}a.chatQueues=[];var t={controller:"realtime",controller1:"chat",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"chatPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.chatQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_chat_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"chat"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/chat/realtime/view/agent/queue.modal.add.html",controller:"ChatRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.chatQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.chatQueues,function(a){return _.includes(b.queues,a.id)}),channel:"chat",data1:e,data3:b.queues.join(","),data4:"chat"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"chat",data1:a,data3:b,data4:"chat"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/chat/realtime/view/agent/agent.modal.info.html",controller:"ChatRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/chat/realtime/view/agent/agent.html",controller:"ChatRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportChatSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_chat_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_chat_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"websitename",displayName:"APPLICATION_WEBSITE",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.abandon">{{\'APPLICATION_QUEUESTATUS_ABANDON\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_chat_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/chat/realtime/view/application/application.html",controller:"ChatRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"Queues",link:"main.chat.realtime.view.agent.queues"},{name:"Timeline",link:"main.chat.realtime.view.agent.timeline"}],a.sessions=[{name:"Sessions",link:"main.chat.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.realtime.view",{url:"/view",templateUrl:"app/channels/chat/realtime/view/view.html",controller:"ChatRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportChatSession",["$resource",function(a){return a("/api/report/chat/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.external",{url:"/external",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRoomExternalListCtrl",["$scope","$timeout","socket","Auth","ChatRoom","usSpinnerService","Tag","$uibModal","uibButtonConfig",function(a,b,c,d,e,f,g,h,i){function j(){return g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}a.openChat=function(b){return e.get({id:b.id}).$promise.then(function(b){var c=_.find(a.workspaces,{id:b.id,type:"chatRoom"});c?c.active=!0:a.workspaces.push({id:b.id,name:b.ChatVisitor.fullname,type:"chatRoom","class":"icon-bubble",active:!0})})["catch"](function(a){console.error(a)})},a.initView=function(){i.activeClass="green-haze",a.id=[],a.query={status:"OPEN",tags:[]},a.gridOptions={enableGridMenu:!1,enableFiltering:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"userpic",displayName:"",width:35,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <ng-letter-avatar height="20" width="20" fontsize="12" data="{{row.entity.ChatVisitor.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #EA4C61" shape="round"></ng-letter-avatar> </div>',enableColumnMenu:!1,enableSorting:!1,enableFiltering:!1},{name:"fullname",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span style="padding-left: 5px;" class="pull-left">{{row.entity.ChatVisitor.fullname}}</span></div>',enableSorting:!0,enableFiltering:!0,enableColumnMenu:!0},{name:"action",cellTemplate:'<div><a class="btn btn-xs green-meadow" href="#" data-ng-click="grid.appScope.openChat(row.entity)">{{\'APPLICATION_CHAT\' | translate}}</a></div>',cellClass:"ui-grid-vcenter",width:100,enableFiltering:!1,enableSorting:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},a.getPage(),j()},a.tagItems=function(){h.open({animation:!0,templateUrl:"app/channels/chat/room/view.tags.modal.html",controller:"ChatRoomViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})},a.onChanged=function(){a.getPage()},a.$watch("query.status",function(){a.getPage()},!0),a.getPage=function(){return f.spin("spinner-grid"),e.get(_.merge({id:"externals"},a.query)).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){f.stop("spinner-grid")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.external.list",{url:"/list",templateUrl:"app/channels/chat/room/external/list/list.html",controller:"ChatRoomExternalListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.group",{url:"/group",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRoomGroupListCtrl",["$scope","$timeout","Auth","ChatRoom","usSpinnerService","Tag","uibButtonConfig",function(a,b,c,d,e,f,g){function h(){return f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}a.getFullnames=function(a){var b=_.map(a.Users,"fullname");return a.ChatVisitor&&b.unshift(a.ChatVisitor.fullname),_.without(b,c.getCurrentUser().fullname).join(", ")},a.openChat=function(b){return d.get({id:b.id}).$promise.then(function(c){var d=_.find(a.workspaces,{id:c.id,type:"chatRoom"});d?d.active=!0:a.workspaces.push({id:c.id,data:b,name:a.getFullnames(c),type:"chatRoom","class":"icon-bubble",active:!0})})["catch"](function(a){console.error(a)})},a.initView=function(){g.activeClass="green-haze",a.query={status:"OPEN",tags:[]},a.currentUser=c.getCurrentUser(),a.gridOptions={enableGridMenu:!1,enableColumnResizing:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"userpic",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <ng-letter-avatar data-ng-if="row.entity.ChatVisitor" height="20" width="20" fontsize="12" data="{{row.entity.ChatVisitor.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #EA4C61" shape="round"></ng-letter-avatar> <ng-letter-avatar data-ng-repeat="user in row.entity.Users | filter:{ id: \'!\' + grid.appScope.currentUser.id} track by user.id" style="margin-right: 3px;" height="20" width="20" fontsize="12" data="{{user.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #3399CC" shape="round"></ng-letter-avatar> </div>',enableColumnMenu:!1,enableSorting:!1,enableFiltering:!1},{name:"Users",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{grid.appScope.getFullnames(row.entity)}}</div>",enableSorting:!0,enableFiltering:!0,enableColumnMenu:!0},{name:"action",cellTemplate:'<div><a class="btn btn-xs green-meadow" href="#" data-ng-click="grid.appScope.openChat(row.entity)">{{\'APPLICATION_CHAT\' | translate}}</a></div>',cellClass:"ui-grid-vcenter",width:100,enableFiltering:!1,enableSorting:!1,enableColumnMenu:!1}],data:[]},a.getPage(),h()},a.onChanged=function(){a.getPage()},a.$watch("query.status",function(){a.getPage()},!0),a.getPage=function(){return e.spin("spinner-grid"),d.get(_.merge({id:"groups"},a.query)).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){e.stop("spinner-grid")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.group.list",{url:"/list",templateUrl:"app/channels/chat/room/group/list/list.html",controller:"ChatRoomGroupListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){
+a.state("main.channels.chat.room.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRoomInternalListCtrl",["$scope","$timeout","socket","Auth","ChatRoom","usSpinnerService",function(a,b,c,d,e,f){a.openChat=function(b){return e.users({users:[d.getCurrentUser().id,b.id]}).$promise.then(function(c){var d=_.find(a.workspaces,{id:c.id,type:"chatRoom"});d?d.active=!0:a.workspaces.push({id:c.id,name:b.fullname,type:"chatRoom","class":"icon-bubble",active:!0})})["catch"](function(a){console.error(a)})},a.initView=function(){a.gridOptions={enableGridMenu:!1,enableFiltering:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"userpic",displayName:"",width:35,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <ng-letter-avatar height="20" width="20" fontsize="12" data="{{row.entity.fullname}}" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #3399CC" shape="round"></ng-letter-avatar> </div>',enableColumnMenu:!1,enableSorting:!1,enableFiltering:!1},{name:"fullname",enableSorting:!0,enableFiltering:!0,enableColumnMenu:!0},{name:"action",cellTemplate:'<div><a class="btn btn-xs green-meadow" href="#" data-ng-click="grid.appScope.openChat(row.entity)">{{\'APPLICATION_CHAT\' | translate}}</a></div>',cellClass:"ui-grid-vcenter",width:100,enableFiltering:!1,enableSorting:!1,enableColumnMenu:!1}],data:[]},c.socket.on("user:save",function(b){if(b.online&&d.getCurrentUser().id!==b.id){var c=_.find(a.gridOptions.data,{id:b.id});c?_.merge(c,b):a.gridOptions.data.push(b)}else _.remove(a.gridOptions.data,{id:b.id})}),c.socket.on("agent:save",function(b){if(b.online&&d.getCurrentUser().id!==b.id){var c=_.find(a.gridOptions.data,{id:b.id});c?_.merge(c,b):a.gridOptions.data.push(b)}else _.remove(a.gridOptions.data,{id:b.id})}),e.get({id:"agents"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){f.stop("spinner-grid")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room.internal.list",{url:"/list",templateUrl:"app/channels/chat/room/internal/list/list.html",controller:"ChatRoomInternalListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatRoomAddCtrl",["$scope","$uibModalInstance","Agent","items",function(a,b,c,d){a.items=d,a.agents=c.get(function(b){a.agents=b,a.items.forEach(function(b){_.remove(a.agents.rows,{id:b.id})})}),a.selected={items:[]},a.ok=function(){b.close(_.union(_.map(a.selected.items,"id"),_.map(a.items,"id")))},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("ChatRoomCloseCtrl",["$scope","$uibModalInstance","closed","ChatWebsite","websiteId",function(a,b,c,d,e){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_CHAT"},a.initDisposition=function(){return d.get({websiteId:e,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.item={},a.closed=c,a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").directive("chatRoom",["$interval","$rootScope","$uibModal","$notification","$window","socket","Auth","ChatRoom","ngAudio","xAlert","Tag","CannedAnswer","List","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){return{restrict:"E",scope:{workspace:"="},templateUrl:"app/channels/chat/room/room.directive.html",link:function(a){a.user=g.getCurrentUser(),a.message={body:""},a.openContact=function(c){return a.chatRoom.ChatWebsite.List?m.save({listId:a.chatRoom.ChatWebsite.List.id,controller:"contacts"},{email:c}).$promise.then(function(a){var c=_.find(b.$root.workspaces,{contactID:a.id});c?c.active=!0:b.$root.workspaces.push({active:!0,"class":"icon-user",contactID:a.id,name:a.email,type:"contact"})})["catch"](function(a){console.error(a)}):void j.show(n.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},a.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},a.form={},a.panelLeft="col-md-4",a.panelRight="col-md-8",a.onSelect=function(){a.message.body=a.modelOptions.selectedAnswer,delete a.modelOptions.selectedAnswer},a.togglePanelLeft=function(){a.panelLeft?(a.panelLeft=null,a.panelRight="col-md-12"):(a.panelLeft="col-md-4",a.panelRight="col-md-8")},a.options={link:!0,linkTarget:"_blank",pdf:{embed:!0},image:{embed:!0},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!0},a.getAnswers=function(a){return l.get({key:a}).$promise.then(function(a){return console.log(a),_.map(a.rows,"value")})},a.isMyRoom=function(b){return _.find(b,{id:a.user.id})?!0:!1},h.get({id:a.workspace.id}).$promise.then(function(c){a.chatRoom=c,a.form.tags=c.tags,a.chatRoom.ChatVisitor&&(a.chatRoom.ChatVisitors=[],a.chatRoom.ChatVisitors.push(a.chatRoom.ChatVisitor)),f.socket.on("chat_room:save",function(b){a.chatRoom.id===b.id&&_.merge(a.chatRoom,b)}),f.socket.on("user_has_chat_room:save",function(b){return b.UserId!=a.user.id&&b.ChatRoomId==a.chatRoom.id?h.get({id:"agents",controller:b.UserId}).$promise.then(function(b){var c=_.map(a.chatRoom.Users,"fullname");a.chatRoom.ChatVisitor&&c.unshift(a.chatRoom.ChatVisitor.fullname),a.chatRoom.Users.push(b),a.workspace.name=_.without(c,g.getCurrentUser().fullname).join(", ")})["catch"](function(a){console.error(a)}):void 0}),f.socket.on("chat_message:save",function(c){a.chatRoom.id==c.ChatRoomId&&(a.user.id!=c.UserId&&a.chatRoom.ChatMessages.push(c),!b.settings.layout.onFocus&&e.Notification&&d("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Chat Message!",delay:5e3}),a.workspace.active||(i.load("api/xchatty/assets?resource=notification/xc_blubb.mp3").play(),a.workspace.unread++))})})["catch"](function(a){console.error(a)}),k.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.closeRoom=function(b){return c.open({animation:!0,templateUrl:"app/channels/chat/room/room.close.html",controller:"ChatRoomCloseCtrl",resolve:{closed:function(){return"CLOSED"===a.chatRoom.status},websiteId:function(){return a.chatRoom.ChatWebsiteId}}}).result.then(function(a){var c={id:b,status:"CLOSED",completeReason:"agent"};return a.disposition&&(c.disposition=a.disposition),h.update(c).$promise["catch"](function(a){j.error(a)})})},a.onChanged=function(b){return h.update({id:b},{tags:a.form.tags}).$promise["catch"](function(a){console.error(a)})},a.addAgent=function(b){c.open({animation:!0,templateUrl:"app/channels/chat/room/room.add.html",controller:"ChatRoomAddCtrl",resolve:{items:function(){return _.map(a.chatRoom.Users||[],function(a){return{id:a.id,fullname:a.fullname}})}}}).result.then(function(a){return h.update({id:b,controller:"users"},{users:a}).$promise["catch"](function(a){j.error(a)})})},a.sendMessage=function(){var b={body:angular.copy(a.message.body),createdAt:moment(),UserId:a.user.id,User:{fullname:a.user.fullname}};return a.message.body.trim().length?(a.chatRoom.ChatMessages.push(b),a.message.body="",h.save({id:a.chatRoom.id,controller:"messages"},{body:b.body}).$promise["catch"](function(a){console.error(a)})):void 0}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.room",{url:"/room",templateUrl:"app/channels/chat/room/room.html",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:8}},resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ChatRoomViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","ChatRoom","xAlert","id",function(a,b,c,d,e,f,g,h){a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("ChatVisitorListCtrl",["$scope","ChatVisitor","gridOptions","$uibModal",function(a,b,c,d){a.initView=function(){var d={exporterCsvFilename:"chat_visitors.csv",columnDefs:[{name:"fullname",cellClass:"text-center"},{name:"email",cellClass:"text-center"},{name:"origin",cellClass:"text-center"},{name:"createdAt",displayName:"createdAt",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.createdAt"></span></div>'},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/chat/visitors/view/{{row.entity.id}}/profile",name:"profile"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.visitors.list",{url:"/list",templateUrl:"app/channels/chat/visitor/list/list.html",controller:"ChatVisitorListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatVisitorViewCtrl",["$scope","$stateParams","ChatVisitor",function(a,b,c){a.initView=function(){return c.get({id:b.id}).$promise.then(function(b){a.chatVisitor=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.visitors.view",{url:"/view/:id",templateUrl:"app/channels/chat/visitor/view/view.html",controller:"ChatVisitorViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.chat.visitors.view.profile",{url:"/profile",templateUrl:"app/channels/chat/visitor/view/view.profile.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.visitors",{url:"/visitors",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").factory("ChatApplication",["$resource",function(a){return a("/api/chat/applications/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ChatWebsite",["$resource",function(a){return a("/api/chat/websites/:websiteId/:controller/:id",{id:"@websiteId"},{update:{method:"PUT"},updateFields:{method:"PUT",isArray:!0}})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteListCtrl",["$scope","gridOptions","ChatWebsite",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"chat_websites.csv",columnDefs:[{name:"name"},{name:"description"},{name:"address"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/chat/websites/view/{{row.entity.id}}/embedding/view",name:"embedding"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.list",{url:"/list",templateUrl:"app/channels/chat/website/list/list.html",controller:"ChatWebsiteListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewActionListCtrl",["$scope","gridOptions","ChatWebsite","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.initActons=function(){var d={draggable:!0,exporterCsvFilename:"chat_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>{{row.entity.ChatQueue ? row.entity.ChatQueue.name : row.entity.User.name}}</span></div>"},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/chat/websites/view/{{row.entity.ChatWebsiteId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{websiteId:f.websiteId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions.list",{url:"/list",templateUrl:"app/channels/chat/website/view/action/list/list.html",controller:"ChatWebsiteViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","ChatWebsite","ChatQueue","Agent","Interval","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],k.get({websiteId:c.websiteId,controller:"applications",id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return l.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){f.error(a)})},a.getAgents=function(){return m.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){f.error(a)})},a.getIntervals=function(){return n.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){f.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(j[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?j[1]="*":j[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?j[2]="*":j[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?j[3]="*":j[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=j.join(","),delete a.application.IntervalId}return k.update({websiteId:c.websiteId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/chat/websites/view/"+c.websiteId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/chat/website/view/action/view/view.html",controller:"ChatWebsiteViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewActionWizardCtrl",["$scope","$http","Agent","Interval","ChatQueue","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","ChatWebsite","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={app:"queue",intType:"always",alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return e.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){i.error(a)})},a.getIntervals=function(){return d.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){i.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",a.application.IntervalId=null;break;case"list":var b=_.find(a.intervals,{id:a.application.IntervalId});a.application.interval=b?b.name:"*,*,*,*",a.application.IntervalId=b?a.application.IntervalId:null;break;case"custom":var c,d,e,j,k;c=a.application.t_from&&a.application.t_to&&!a.application.alwaysTime?moment(a.application.t_from).format("HH:mm")+"-"+moment(a.application.t_to).format("HH:mm"):"*",a.application.wd_from&&"always"!==a.application.wd_from?(d=a.application.wd_from,a.application.wd_to&&"always"!==a.application.wd_to&&(d+="-"+a.application.wd_to)):d="*",a.application.md_from&&"always"!==a.application.md_from?(e=a.application.md_from,a.application.md_to&&"always"!==a.application.md_to&&(e+="-"+a.application.md_to)):e="*",a.application.m_from&&"always"!==a.application.m_from?(j=a.application.m_from,a.application.m_to&&"always"!==a.application.m_to&&(j+="-"+a.application.m_to)):j="*",k=c+","+d+","+e+","+j,a.application.interval=k,a.application.IntervalId=null}return n.save({websiteId:f.websiteId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/chat/websites/view/"+f.websiteId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/chat/website/view/action/wizard/wizard.html",controller:"ChatWebsiteViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("ChatDisposition",["$resource",function(a){return a("/api/chat/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewModalDispositionAddCtrl",["$scope","$uibModalInstance","ChatWebsite","id","xAlert","$translate",function(a,b,c,d,e,f){a.ok=function(){return c.save({websiteId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){e.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","ChatWebsite","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({websiteId:b.websiteId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({websiteId:b.websiteId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({websiteId:b.websiteId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/chat/website/view/disposition/modal/add.modal.html",controller:"ChatWebsiteViewModalDispositionAddCtrl",resolve:{id:function(){return b.websiteId}}}).result.then(function(b){b&&a.dispositions.push(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.dispositions",{url:"/dispositions",controller:"ChatWebsiteDispositionViewCtrl",templateUrl:"app/channels/chat/website/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.embedding",{url:"/embedding",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewEmbeddingViewCtrl",["$scope","$stateParams","$translate","clipboard","xAlert","ChatWebsite",function(a,b,c,d,e,f){a.initView=function(){return f.get({websiteId:b.websiteId,controller:"snippet"}).$promise.then(function(b){a.snippetCode=b.html})["catch"](function(a){e.error(a)})},a.copyToClipboard=function(){d.copyText(a.snippetCode),e.show(c.instant("MESSAGE_TEXT_COPIED_CLIPBOARD")+"!","success")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.embedding.view",{url:"/view",templateUrl:"app/channels/chat/website/view/embedding/view/view.html",controller:"ChatWebsiteViewEmbeddingViewCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.form",{url:"/forms",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewFormViewCtrl",["$scope","$builder","$validator","$stateParams","$translate","ChatWebsite","xAlert",function(a,b,c,d,e,f,g){a.saveForm=function(a){var c=angular.copy(b.forms[a]);return c.length>3?g.show("You can insert at least 3 input elements","danger"):(_.forEach(c,function(a){delete a.id}),f.updateFields({websiteId:d.websiteId,controller:"fields",id:a},c).$promise.then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)}))},a.getChatWebsiteFields=function(a){return f.query({websiteId:d.websiteId,controller:"fields",id:a}).$promise.then(function(c){_.forEach(c,function(c){b.addFormObject(a,c)})})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.form.view",{url:"/view",templateUrl:"app/channels/chat/website/view/form/view/view.html",controller:"ChatWebsiteViewFormViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteHooksViewCtrl",["$scope","ChatWebsite","Pause","$http","$stateParams","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){h.error(a)}),b.get({id:e.websiteId}).$promise.then(function(b){console.log(b),a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){h.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItem=function(){return console.log(a.account),b.update({id:e.websiteId},a.account).$promise.then(function(){h.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.hooks",{url:"/hooks",controller:"ChatWebsiteHooksViewCtrl",templateUrl:"app/channels/chat/website/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewProactiveListCtrl",["$scope","gridOptions","ChatWebsite","$http","$translate","$stateParams","$uibModal",function(a,b,c,d,e,f,g){a.initProactiveActions=function(){var d={exporterCsvFilename:"telephones.csv",columnDefs:[{name:"name"},{name:"type"},{name:"action",width:125,buttons:[{"class":"blue-hoki",onClick:"grid.appScope.createItem(row.entity)",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{websiteId:f.websiteId,controller:"proactive"})},a.createItem=function(b){var c=g.open({animation:!0,templateUrl:"app/channels/chat/website/view/proactive/list/list.create.modal.html",controller:"ChatWebsiteProactiveListCreateCtrl",resolve:{item:b}});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteProactiveListCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","ChatWebsite","xAlert","item",function(a,b,c,d,e,f,g){a.form={},a.item=g||{},a.title=g?b.instant("APPLICATION_EDIT_PROACTIVE_ACTION"):b.instant("APPLICATION_NEW_PROACTIVE_ACTION"),a.possibleType=[{type:"mouseOver",title:"Mouse Over"},{type:"timeout",title:"Timeout"}],a.save=function(){return g?e.update({websiteId:d.websiteId,controller:"proactive",id:a.item.id},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)}):e.save({websiteId:d.websiteId,controller:"proactive"},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.proactive.list",{url:"/list",templateUrl:"app/channels/chat/website/view/proactive/list/list.html",controller:"ChatWebsiteViewProactiveListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.proactive",{url:"/proactive",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteSettingViewCtrl",["$scope","$stateParams","$translate","$location","$timeout","socket","xAlert","ChatWebsite","List",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return i.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)})},a.updateItemChatWebsite=function(){return h.update({id:b.websiteId},{ListId:a.chatWebsite.ListId}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.settings",{url:"/settings",controller:"ChatWebsiteSettingViewCtrl",templateUrl:"app/channels/chat/website/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.snippet",{url:"/snippet",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewSnippetViewCtrl",["$scope","$http","$stateParams","$translate","Template","$rootScope","FileUploader","$cookieStore","xAlert","ChatWebsite",function(a,b,c,d,e,f,g,h,i,j){a.$translate=d,a.statePreview={state:"online"},a.radioSwitch={isActive:f.license.custom?!0:!1,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"};var k=a.uploader=new g({url:"api/chat/websites/"+c.websiteId+"/logo",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+h.get("token")}});k.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),k.onSuccessItem=function(b,c){a.chatWebsite.logo=c.logo,i.show(d.instant("MESSAGE_WELL_DONE"),"success")},k.onErrorItem=function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},k.onCompleteAll=function(){k.clearQueue()},a.enquirySwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.fidelitySwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.lang={HeaderCurrentlyChatting:"Live Chat",HeaderOffline:"Contact us",OperatorOfflineMessage:"It appears as if all operators are currently offline.",OfflineMessage:"<strong>We're not online.</strong><br/>It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.",EnquiryMessagePlaceholder:"Your message...",EnquiryButtonText:"Leave message",EnquirySubmitSuccess:"Your message was sucessfully submitted - we will contact you as soon as possible.",OperatorComposing:"{fullname} is typing...",FirstMessageText:"",ExitChatButtonText:"Exit Chat",ExitChatQuestionText:"Are you sure?",ExitChatButtonConfirmText:"Yes",ExitChatButtonCancelText:"No",MessagePlaceholderText:"Your message...",MessageSendButtonText:"Send",ValidationEmailRequired:"Please enter your email address",ValidationEmailInvalid:"Please enter a valid email address",ValidationEmailMaxLength:"The email address may not exceed 85 characters",ValidationUsernameRequired:"Please enter your name",ValidationUsernameMaxLength:"The name may not exceed 45 characters",ValidationEnquiryRequired:"Please enter your enquiry",
+ValidationEnquiryMaxLength:"The enquiry may not exceed 1500 characters",ValidationMessageRequired:"Please enter your message",ValidationMessageMaxLength:"The message may not exceed 750 characters"},a.initView=function(){return j.get({id:c.websiteId}).$promise.then(function(b){return a.chatWebsite=b,e.get().$promise}).then(function(b){a.templates=b.rows})["catch"](function(a){i.error(a)})},a.updateItem=function(){return j.update({id:a.chatWebsite.id},a.chatWebsite).$promise.then(function(){i.show(d.instant("MESSAGE_CHAT_WEBSITE_UPDATE_SUCCESS")+"!","success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view.snippet.view",{url:"/view",templateUrl:"app/channels/chat/website/view/snippet/view/view.html",controller:"ChatWebsiteViewSnippetViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewCtrl",["$scope","xAlert","$http","$location","$stateParams","$translate","WizardHandler","ChatApplication","ChatWebsite",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return i.get({id:e.websiteId}).$promise.then(function(b){a.chatWebsite=b})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.view",{url:"/view/:websiteId",templateUrl:"app/channels/chat/website/view/view.html",controller:"ChatWebsiteViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites",{url:"/websites",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","ChatWebsite",function(a,b,c,d,e,f,g){a.$translate=d,a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.initWizard=function(){a.forms={formSetting:void 0,formAppearance:void 0,formLabel:void 0,formFunctionality:void 0},a.item={},a.item.remote=c.protocol()+"://"+location.host},a.createItem=function(){return g.save(a.item).$promise.then(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_SUCCESS"),"success"),c.path("/channels/chat/websites/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.chat.websites.wizard",{url:"/wizard",templateUrl:"app/channels/chat/website/wizard/wizard.html",controller:"ChatWebsiteWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCtrl",["$scope","$uibModal","gridOptions","FaxAccount",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"chat_websites.csv",columnDefs:[{name:"name"},{name:"description"},{name:"localstationid"},{name:"TrunkName",displayName:"APPLICATION_TRUNK"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/fax/accounts/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(d,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/channels/fax/account/list/list.create.modal.html",controller:"FaxAccountListCreateCtrl"});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","FaxAccount","Trunk",function(a,b,c,d,e,f){a.initWizard=function(){return a.form={},a.item={},a.trunks=[],f.get().$promise.then(function(b){a.trunks=b.rows})["catch"](function(a){d.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.list",{url:"/list",templateUrl:"app/channels/fax/account/list/list.html",controller:"FaxAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewActionListCtrl",["$scope","gridOptions","FaxAccount","$http","$translate","$stateParams",function(a,b,c,d,e,f){a.initActons=function(){var d={draggable:!0,exporterCsvFilename:"fax_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.FaxQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/fax/accounts/view/{{row.entity.FaxAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/fax/account/view/action/list/list.html",controller:"FaxAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","FaxQueue","FaxAccount","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],n.get({accountId:c.accountId,controller:"applications",id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(j[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?j[1]="*":j[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?j[2]="*":j[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?j[3]="*":j[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=j.join(","),delete a.application.IntervalId}return n.update({accountId:c.accountId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/fax/accounts/view/"+c.accountId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/fax/account/view/action/view/view.html",controller:"FaxAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewActionWizardCtrl",["$scope","$http","Agent","FaxQueue","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","FaxAccount","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return d.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return e.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",a.application.IntervalId=null;break;case"list":var b=_.find(a.intervals,{id:a.application.IntervalId});a.application.interval=b?b.name:"*,*,*,*",a.application.IntervalId=b?a.application.IntervalId:null;break;case"custom":var c,d,e,j,k;c=a.application.t_from&&a.application.t_to&&!a.application.alwaysTime?moment(a.application.t_from).format("HH:mm")+"-"+moment(a.application.t_to).format("HH:mm"):"*",a.application.wd_from&&"always"!==a.application.wd_from?(d=a.application.wd_from,a.application.wd_to&&"always"!==a.application.wd_to&&(d+="-"+a.application.wd_to)):d="*",a.application.md_from&&"always"!==a.application.md_from?(e=a.application.md_from,a.application.md_to&&"always"!==a.application.md_to&&(e+="-"+a.application.md_to)):e="*",a.application.m_from&&"always"!==a.application.m_from?(j=a.application.m_from,a.application.m_to&&"always"!==a.application.m_to&&(j+="-"+a.application.m_to)):j="*",k=c+","+d+","+e+","+j,a.application.interval=k,a.application.IntervalId=null}return n.save({accountId:f.accountId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/fax/accounts/view/"+f.accountId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/fax/account/view/action/wizard/wizard.html",controller:"FaxAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("FaxDisposition",["$resource",function(a){return a("/api/fax/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","FaxAccount","id","xAlert",function(a,b,c,d,e){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","FaxAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){f.error(a)})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){f.error(a)})},a.deleteDisposition=function(c){return e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){f.error(a)})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/fax/account/view/disposition/modal/add.modal.html",controller:"FaxInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.dispositions",{url:"/dispositions",controller:"FaxAccountDispositionViewCtrl",templateUrl:"app/channels/fax/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountHooksViewCtrl",["$scope","FaxAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i,j){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){i.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){i.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItemFaxAccount=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.hooks",{url:"/hooks",controller:"FaxAccountHooksViewCtrl",templateUrl:"app/channels/fax/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountSettingViewCtrl",["$scope","$stateParams","$translate","FaxAccount","List","Trunk","xAlert",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){return a.rate=["2400","4800","7200","9600","12000","14400"],a.techs=["SIP","IAX","DADHI","KHOMP"],f.get().$promise.then(function(b){a.trunks=b.rows})["catch"](function(a){g.error(a)}),e.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){g.error(a)}),d.get({id:b.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){g.error(a)})},a.updateItemFaxAccount=function(){return d.update({id:b.accountId},a.account).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view.settings",{url:"/settings",controller:"FaxAccountSettingViewCtrl",templateUrl:"app/channels/fax/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","FaxAccount",function(a,b,c,d,e,f,g,h,i,j){a.initView=function(){return j.get({id:c.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.view",{url:"/view/:accountId",templateUrl:"app/channels/fax/account/view/view.html",controller:"FaxAccountViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler","Trunk","FaxAccount",function(a,b,c,d,e,f,g,h){a.translate=d,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){return a.$translate=d,a.forms={},a.item={},a.rate=["2400","4800","7200","9600","12000","14400"],a.techs=["SIP","IAX","DADHI","KHOMP"],a.item.headerinfo="xCALLY Motion Fax",a.item.ecm="yes",a.item.minrate="4800",a.item.maxrate="14400",a.item.modem="v17,v27,v29",a.item.gateway="no",a.item.faxdetect="no",a.item.t38timeout=5e3,a.item.tech="SIP",g.get().$promise.then(function(b){a.trunks=b.rows})["catch"](function(a){e.error(a)})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){return h.save(a.item).$promise.then(function(a){e.show(d.instant("MESSAGE_WELL_DONE"),"success"),c.path("/channels/fax/accounts/list")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/fax/account/wizard/wizard.html",controller:"FaxAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax",{url:"/fax",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("FaxAccount",["$resource",function(a){return a("/api/fax/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("FaxAttachment",["$resource",function(a){return a("/api/fax/attachments/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").factory("FaxMessage",["$resource",function(a){return a("/api/fax/messages/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("FaxReport",["$resource",function(a){return a("/api/report/faxs/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("FaxRoom",["$resource",function(a){return a("/api/fax/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox",{url:"/inbox",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","messageId","FaxMessage",function(a,b,c,d,e,f,g){a.data=null,a.initInfo=function(){g.get({id:f}).$promise.then(function(b){a.data={channel:b.channel,channelstate:b.channelstate,channelstatedesc:b.channelstatedesc,uniqueid:b.uniqueid,localstationid:b.localstationid,remotestationid:b.remotestationid,pagestransferred:b.pagestransferred,resolution:b.resolution,transferrate:b.transferrate,lastStatus:b.lastStatus,error:b.error,retry:b.retry}})["catch"](function(b){switch(b.status){case 404:a.data=null;break;default:e.error(b)}})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("faxMessage",["$rootScope","$translate","$uibModal","FaxMessage","List","xAlert",function(a,b,c,d,e,f){return{restrict:"E",scope:{message:"=",listId:"="},templateUrl:"app/channels/fax/inbox/message/message.directive.html",link:function(g){g.openContact=function(c){return g.listId?e.save({listId:g.listId,controller:"contacts"},{fax:c}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.fax,type:"contact"})})["catch"](function(a){f.error(a)}):void f.show(b.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},g.info=function(a){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/message/info.modal.html",controller:"FaxInboxInfoModalCtrl",resolve:{messageId:function(){return a.id}}})},g.retry=function(a){return d.update({id:a,status:"SENDING"}).$promise["catch"](function(a){console.error(a)})}}}}]),angular.module("xCallyShuttleApp").directive("faxNote",["$translate","Modal","Auth","FaxMessage","xAlert",function(a,b,c,d,e){return{restrict:"E",scope:{message:"="},templateUrl:"app/channels/fax/inbox/note/note.directive.html",link:function(f){f.Auth=c,f.deleteNote=b.confirm["delete"](function(){return d.remove({id:f.message.id}).$promise.then(function(){e.show(a.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){e.error(a)})})}}}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalNoteCtrl",["$scope","$uibModalInstance","$translate","id","FaxRoom","xAlert",function(a,b,c,d,e,f){a.initModal=function(){a.item={}},a.ok=function(){return e.save({id:d,controller:"messages"},{text:a.item.text,status:"NOTE"}).$promise.then(function(){f.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})["finally"](function(){b.close()})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").directive("faxRoom",["$cookieStore","$translate","$uibModal","$timeout","FaxAccount","FaxRoom","FaxMessage","FileUploader","xAlert","usSpinnerService","socket","Tag","Auth","FaxAttachment","List",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return{restrict:"E",scope:{workspace:"="},templateUrl:"app/channels/fax/inbox/room/room.directive.html",link:function(m){function p(a){if(a){var b=_.words(a),c=_.map(b,function(a){return a?a[0]:""});return c.join("").toUpperCase()}return!1}m.$on("$destroy",function(){}),m.initForm=function(){m.forms={compose:{}}},m.getContacts=function(a){return m.listId?o.get({listId:m.listId,controller:"contacts",fax:a}).$promise.then(function(a){return a.rows})["catch"](function(a){console.error(a)}):[]},m.setList=function(a){m.listId=a};var q=[];m.expanded=!0,m.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},m.panelLeft=null,m.panelRight="col-md-12",m.form={from:"",to:m.workspace.data&&m.workspace.data.to?m.workspace.data.to:"",disabled:!1},k.socket.on("fax_message:remove",function(a){_.remove(m.faxRoom.FaxMessages,{id:a.id})}),k.socket.on("fax_message:save",function(a){return m.workspace.id&&a.FaxRoomId==m.workspace.id?(m.workspace.active||m.workspace.unread++,g.get({id:a.id}).$promise.then(function(a){m.faxRoom||(m.faxRoom={FaxMessages:[]});var b=_.findIndex(m.faxRoom.FaxMessages,{id:a.id});b>-1?_.merge(m.faxRoom.FaxMessages[b],a):m.faxRoom.FaxMessages.unshift(a),m.panelLeft="col-md-6",m.panelRight="col-md-6"})["catch"](function(a){console.error(a)})):void 0});var r=m.uploader=new h({url:"api/fax/attachments",autoUpload:!0,withCredentials:!0,queueLimit:1,headers:{Authorization:"Bearer "+a.get("token")}});return r.filters.push({name:"uploadFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|tiff|tif".indexOf(b)}}),r.onWhenAddingFileFailed=function(a,c){switch(c.name){case"queueLimit":i.show(b.instant("MESSAGE_QUEUE_LIMIT_EXCEEDED"),"danger");break;case"uploadFilter":i.show(b.instant("MESSAGE_WRONG_FILE_FORMAT"),"danger");break;default:i.show(b.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")}},r.removeFromQueue=function(a){var c=this;return n["delete"]({id:a.basename}).$promise.then(function(){var b=c.getIndexOfItem(a),d=c.queue[b];d.isUploading&&d.cancel(),c.queue.splice(b,1),d._destroy(),c.progress=c._getTotalProgress(),q=_.reject(q,{basename:a.basename})})["catch"](function(){i.show(b.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},r.onErrorItem=function(){i.show(b.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},r.onSuccessItem=function(a,b){var c={path:b.path,name:b.name,basename:b.basename,type:b.type};a=_.merge(a,c),q.push(c)},m.getMessageMailId=function(a){var b=a.UserId?"imgFaxUserId"+a.UserId:"imgFaxVisitorId";return b+=m.faxRoom.id.toString()+a.id.toString()},m.togglePanelLeft=function(){m.panelLeft?(m.panelLeft=null,m.panelRight="col-md-12"):(m.panelLeft="col-md-6",m.panelRight="col-md-6")},m.closeRoom=function(){return c.open({animation:!0,templateUrl:"app/channels/fax/inbox/status/status.modal.html",controller:"FaxInboxStatusModalCtrl",resolve:{status:function(){return m.faxRoom.status},accountId:function(){return m.faxRoom.FaxAccount.id}}}).result.then(function(a){return f.update({id:m.workspace.id},a).$promise["catch"](function(a){i.error(a)})})},m.loadAgents=function(){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/view/view.agents.modal.html",controller:"FaxInboxViewModalAgentCtrl",resolve:{roomId:function(){return m.workspace.id}}})},m.cancel=function(){m.form.disabled=!1,m.form.from="",m.form.to=""},m.loadNote=function(){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/note/note.modal.html",controller:"FaxInboxViewModalNoteCtrl",resolve:{id:function(){return m.workspace.id}}})},m.getMessageFaxId=function(a){var b=a.UserId?"imgFaxUserId"+a.UserId:"imgFaxVisitorId";return b+=m.faxRoom.id.toString()+a.id.toString()},m.getMessageRoomAvatar=function(a,b,c,e){d(function(){var d=b?"#imgFaxUserId"+b:"#imgFaxVisitorId";d+=m.faxRoom.id.toString()+a.toString(),angular.element(d).avatar({useGravatar:!1,initials:e?[]:p(c),fallbackImage:e?"api/users/avatar/"+e:"api/users/avatar/unknown_avatar"})})},m.onChanged=function(){return f.update({id:m.workspace.id},{tags:m.form.tags}).$promise["catch"](function(a){i.error(a)})},m.sendFax=function(){j.spin("spinner-grid");var a={from:m.form.from,to:m.form.to[0].fax||"",status:"SENDING",FaxAttachments:q,FaxRoomId:m.faxRoom?m.faxRoom.id:null},c=_.find(m.faxAccounts,{localstationid:m.form.from});return c?e.save({accountId:c.id,controller:"send"},a).$promise.then(function(a){return r.queue=[],q=[],i.show(b.instant("MESSAGE_WELL_DONE"),"success"),m.SmsRoom?m.SmsRoom:f.get({id:"messages",controller:a.id}).$promise}).then(function(a){a&&(m.workspace.id=a.id,m.workspace.name=a.contact,m.faxRoom=a,m.panelLeft="col-md-6",m.panelRight="col-md-6",m.expanded=!1)})["catch"](function(a){i.error(a)})["finally"](function(){j.stop("spinner-grid")}):(console.log("Can not find account"),void j.stop("spinner-grid"))},l.get().$promise.then(function(a){m.tags=_.map(a.rows,"name")})["catch"](function(a){console.error(a)}),e.get().$promise.then(function(a){m.faxAccounts=a.rows})["catch"](function(a){console.error(a)}),m.workspace.id?(m.panelLeft="col-md-6",m.panelRight="col-md-6",f.get({id:m.workspace.id}).$promise.then(function(a){m.faxRoom=a,m.form.from=a.FaxAccount.localstationid,m.form.tags=a.tags,m.workspace.name=a.contact||"No number",m.expanded=!1;var b=_.findLast(a.FaxMessages,{status:"RECEIVED"});return b&&(m.form.to=[{fax:b.from}]),k.socket.on("fax_room:save",function(a){a.id===m.workspace.id&&_.merge(m.faxRoom,a)}),a})["catch"](function(a){i.error(a)})["finally"](function(){j.stop("spinner-grid"),m.form.disabled=!1})):(m.panelLeft=null,m.panelRight="col-md-12",j.stop("spinner-grid"),void 0)}}}]),angular.module("xCallyShuttleApp").controller("FaxInboxStatusModalCtrl",["$scope","$uibModalInstance","FaxAccount","status","accountId",function(a,b,c,d,e){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_FAX"},a.initDisposition=function(){return a.item={disposition:null,status:"CLOSED"},c.get({accountId:e,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","usSpinnerService","socket","FaxAccount","FaxRoom","gridOptions","uiGridConstants","Auth","Modal","xAlert","localStorageService","uibButtonConfig",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a.openRoom=function(b){var c=_.find(a.workspaces,{id:b,type:"faxRoom"});return c?c.active=!0:a.workspaces.push({id:b,type:"faxRoom","class":"icon-paper-plane",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?k.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(){h.spin("spinner-grid");var b={accountId:e.id,controller:"rooms"};return a.query&&_.merge(b,a.query),j.query(b).$promise.then(function(b){q.set("faxAccountId",e.id),a.gridOptions.data=b,i.socket.on("fax_room:save",function(b){if(b.FaxAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),i.socket.on("fax_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){p.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.initView=function(){r.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:q.get("faxStatus")?q.get("faxStatus"):"NEW",tags:q.get("faxTags")?q.get("faxTags"):[]
+},a.$watch("query.status",function(){q.set("faxStatus",a.query.status),a.getPage(a.query)},!0),j.get().$promise.then(function(b){a.faxAccounts=b.rows})["catch"](function(a){console.error(a)}),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"fax_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"contact",cellClass:"text-center"},{name:"disposition",displayName:"APPLICATION_DISPOSITION",headerCellFilter:"translate"},{name:"updatedAt",cellFilter:"date:'MM/dd/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only font-green" data-ng-hide="row.entity.waiting" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.contact)"><i class="icon-paper-plane" aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id, row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:70,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},a.getPage(a.query)},a.onChanged=function(){q.set("faxTags",a.query.tags),a.getPage(a.query)},a.loadAgents=function(a){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/view/view.agents.modal.html",controller:"FaxInboxViewModalAgentCtrl",resolve:{roomId:a}})},a.tagItems=function(){c.open({animation:!0,templateUrl:"app/channels/fax/inbox/view/view.tags.modal.html",controller:"FaxInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return k.remove(c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return k["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.disposeItems=function(){return c.open({animation:!0,templateUrl:"app/channels/fax/inbox/status/status.modal.html",controller:"FaxInboxStatusModalCtrl",resolve:{status:function(){return null},accountId:function(){return e.id}}}).result.then(function(b){return k.patch({id:a.id},b).$promise.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/fax/inbox/view/account/list/list.html",controller:"FaxInboxViewAccountListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","FaxRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h){a.initModal=function(){a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){b.rows.forEach(function(b){a.agents.push(b)})})["catch"](function(a){console.error(a)}),f.query({id:h,controller:"agents"}).$promise.then(function(b){b.forEach(function(b){a.agents.push(b),a.item.agents.push(b.id)})})["catch"](function(a){console.error(a)}),a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}},a.ok=function(){return f.update({id:h,controller:"agents",agents:a.item.agents}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewCtrl",["$scope","$timeout","$location","localStorageService","FaxAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get().$promise.then(function(b){var e=null;a.faxAccounts=b.rows,a.faxAccounts.length&&(e="/channels/fax/inbox/view/account/"+(d.get("faxAccountId")||a.faxAccounts[0].id)+"/list"),e&&c.path(e)})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.inbox.view",{url:"/view",templateUrl:"app/channels/fax/inbox/view/view.html",controller:"FaxInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalStatusCtrl",["$scope","$uibModalInstance","$translate","$stateParams","$location","FaxRoom","xAlert","id","status",function(a,b,c,d,e,f,g,h,i){a.initModal=function(){a.modal={dismissable:!0,title:"APPLICATION_STATUS",html:"<p>"+c.instant("MESSAGE_CHANGE_STATUS")+"<strong> "+i+"</strong>?</p>",status:i,buttons:[{classes:"btn btn-success",text:"APPLICATION_CONFIRM",click:function(a){return f.update({id:h},{status:i}).$promise.then(function(){g.show(c.instant("MESSAGE_STATUS_UPDATE_SUCCESS"),"success"),b.close(a)})["catch"](function(a){g.error(a)})}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}}}]),angular.module("xCallyShuttleApp").controller("FaxInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","FaxRoom","xAlert","id",function(a,b,c,d,e,f,g,h){console.log(h),a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").factory("FaxQueue",["$resource",function(a){return a("/api/fax/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCtrl",["$scope","FaxQueue","gridOptions","Auth","$uibModal",function(a,b,c,d,e){a.initView=function(){a.Auth=d;var e={exporterCsvFilename:"fax_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"strategy"},{name:"timeout"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/fax/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/fax/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===d.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a)},a.createItem=function(){var b=e.open({animation:!0,templateUrl:"app/channels/fax/queue/list/list.create.modal.html",controller:"FaxQueueListCreateCtrl",size:"lg"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","FaxQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.queues.list",{url:"/list",templateUrl:"app/channels/fax/queue/list/list.html",controller:"FaxQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert","FaxQueue","Team","Auth","strategies",function(a,b,c,d,e,f,g,h,i){a.Auth=h,a.strategies=i;var j=function(){return{select:function(b){return f.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return f["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return f.get({id:d.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){e.error(a)})},a.updateFaxQueue=function(){return f.update({id:d.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,f.get({id:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasFaxQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.queues.view",{url:"/view/:id",templateUrl:"app/channels/fax/queue/view/view.html",controller:"FaxQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.fax.queues.view.settings",{url:"/settings",templateUrl:"app/channels/fax/queue/view/view.settings.html"}).state("main.channels.fax.queues.view.agents",{url:"/agents",templateUrl:"app/channels/fax/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}})}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","FaxQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.faxPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_fax_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PFaxQueues,"id"),b.FaxQueueId)||n.isAdmin();if(c){var d=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0});if(d){var e=a.gridOptions.data.indexOf(d);a.gridOptions.data.splice(e+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.FaxQueueId,agent:b.membername,online:d.online})}}}),e.socket.on("user_has_fax_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.FaxQueueId})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.faxPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.FaxQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.faxQueues=b.rows,e.syncUpdates("fax_queue",a.faxQueues)})["catch"](function(a){f.error(a)})}a.faxQueues=[];var t={controller:"realtime",controller1:"fax",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"faxPause",width:300,displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.faxQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_fax_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"fax"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/fax/realtime/view/agent/queue.modal.add.html",controller:"FaxRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.faxQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.faxQueues,function(a){return _.includes(b.queues,a.id)}),channel:"fax",data1:e,data3:b.queues.join(","),data4:"fax"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"fax",data1:a,data3:b,data4:"fax"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/fax/realtime/view/agent/agent.modal.info.html",controller:"FaxRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/fax/realtime/view/agent/agent.html",controller:"FaxRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportFaxSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_fax_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_fax_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_fax_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/fax/realtime/view/application/application.html",controller:"FaxRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.fax.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.fax.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.fax.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.fax.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.fax.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.fax.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.fax.realtime.view",{url:"/view",templateUrl:"app/channels/fax/realtime/view/view.html",controller:"FaxRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportFaxSession",["$resource",function(a){return a("/api/report/fax/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailAccount",["$resource",function(a){return a("/api/mail/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailAccountListCtrl",["$scope","$stateParams","gridOptions","MailAccount","socket",function(a,b,c,d,e){a.$on("$destroy",function(){e.unsyncUpdates("mail_server_in")}),a.initView=function(){e.socket.on("mail_server_in:save",function(b){var c=_.find(a.gridOptions.data,{id:b.MailAccountId});c&&(c.MailServerIn.state=b.state,c.MailServerIn.source=JSON.parse(b.source))});var f={exporterCsvFilename:"mail_accounts.csv",columnDefs:[{name:"name"},{name:"description"},{name:"address"},{name:"MailServerIn.state",width:100,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div> <span data-ng-if="row.entity.MailServerIn" class="label label-sm" data-ng-class="row.entity.MailServerIn.state === \'CONNECTED\' ? \'label-success\' : \'label-danger\'">{{row.entity.MailServerIn.state}}</span> <span data-ng-if="!row.entity.MailServerIn" class="label label-sm label-info" >{{\'APPLICATION_DISABLED\' | translate | uppercase}}</span> </div>',displayName:"IMAP",enableSorting:!1,enableFiltering:!1},{name:"MailServerOut.state",width:110,cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span class=\"label label-sm\" data-ng-class=\"row.entity.MailServerOut.state === 'CONNECTED' ? 'label-success' : 'label-danger'\">{{row.entity.MailServerOut.state}}</span></div>",displayName:"SMTP",enableSorting:!1,enableFiltering:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/mail/accounts/view/{{row.entity.id}}/settings",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(d,f,a,{accountId:b.accountId})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.list",{url:"/list",templateUrl:"app/channels/mail/account/list/list.html",controller:"MailAccountListCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailServerIn",["$resource",function(a){return a("/api/mail/servers/in/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailServerOut",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller",{id:"@id"},{update:{method:"PUT"},test:{method:"GET"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionListCtrl",["$scope","gridOptions","MailAccount","$http","$translate","$stateParams",function(a,b,c,d,e,f){a.initActons=function(){var d={draggable:!0,exporterCsvFilename:"mail_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.MailQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/mail/accounts/view/{{row.entity.MailAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/mail/account/view/action/list/list.html",controller:"MailAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","MailQueue","MailAccount","Template",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"ReplyMail",value:"replyMail"}],a.types=[{key:"APPLICATION_REPLY",value:"reply"},{key:"APPLICATION_REPLY_TO_ALL",value:"replyAll"}],b.get("/api/mail/applications/"+c.actionId).success(function(b){if(a.application=b,
+a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return n.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g=angular.copy(a.application);switch(g.intType){case"always":g.interval=e.join(","),delete g.IntervalId;break;case"custom":g.alwaysTime||(e[0]=g.alwaysTime?"*":g.t_from_hm+"-"+g.t_to_hm),g.wd_from&&g.wd_to&&"always"===g.wd_from&&"always"===g.wd_to?e[1]="*":e[1]=g.wd_from&&g.wd_to?g.wd_from+"-"+g.wd_to:"*",g.md_from&&g.md_to&&"always"===g.md_from&&"always"===g.md_to?e[2]="*":e[2]=g.md_from&&g.md_to?g.md_from+"-"+g.md_to:"*",g.m_from&&g.m_to&&"always"===g.m_from&&"always"===g.m_to?e[3]="*":e[3]=g.m_from&&g.m_to?g.m_from+"-"+g.m_to:"*",g.interval=e.join(","),delete g.IntervalId}b.put("/api/mail/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/mail/account/view/action/view/view.html",controller:"MailAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionWizardCtrl",["$scope","$http","Agent","Template","MailQueue","MailAccount","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"ReplyMail",value:"replyMail"}],a.types=[{key:"APPLICATION_REPLY",value:"reply"},{key:"APPLICATION_REPLY_TO_ALL",value:"replyAll"}],a.$application=n.application,a.$stateParams=h,a.$interval=o.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return e.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return d.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return f.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return g.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",a.application.IntervalId=null;break;case"list":var b=_.find(a.intervals,{id:a.application.IntervalId});a.application.interval=b?b.name:"*,*,*,*",a.application.IntervalId=b?a.application.IntervalId:null;break;case"custom":var c,d,e,g,i;c=a.application.t_from&&a.application.t_to&&!a.application.alwaysTime?moment(a.application.t_from).format("HH:mm")+"-"+moment(a.application.t_to).format("HH:mm"):"*",a.application.wd_from&&"always"!==a.application.wd_from?(d=a.application.wd_from,a.application.wd_to&&"always"!==a.application.wd_to&&(d+="-"+a.application.wd_to)):d="*",a.application.md_from&&"always"!==a.application.md_from?(e=a.application.md_from,a.application.md_to&&"always"!==a.application.md_to&&(e+="-"+a.application.md_to)):e="*",a.application.m_from&&"always"!==a.application.m_from?(g=a.application.m_from,a.application.m_to&&"always"!==a.application.m_to&&(g+="-"+a.application.m_to)):g="*",i=c+","+d+","+e+","+g,a.application.interval=i,a.application.IntervalId=null}return f.save({accountId:h.accountId,controller:"applications"},a.application).$promise.then(function(){j.path("/channels/mail/accounts/view/"+h.accountId+"/actions/list")})["catch"](function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){l.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/mail/account/view/action/wizard/wizard.html",controller:"MailAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("MailDisposition",["$resource",function(a){return a("/api/mail/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","MailAccount","id","xAlert","$translate",function(a,b,c,d,e,f){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){e.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","MailAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/mail/account/view/disposition/modal/add.modal.html",controller:"MailInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.dispositions",{url:"/dispositions",controller:"MailAccountDispositionViewCtrl",templateUrl:"app/channels/mail/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountHooksViewCtrl",["$scope","MailAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i,j){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){i.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){i.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItemMailAccount=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.hooks",{url:"/hooks",controller:"MailAccountHooksViewCtrl",templateUrl:"app/channels/mail/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountOtherViewCtrl",["$scope","$rootScope","$stateParams","$translate","xAlert","MailAccount",function(a,b,c,d,e,f){a.initView=function(){return a.options={language:b.language,allowedContent:!0,entities:!1,skin:"office2013",contentsCss:"/assets/css/global/richparams.css",extraPlugins:"autogrow",autoGrow_minHeight:450,disableNativeSpellChecker:!1,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},{name:"document",items:["Source"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]},"/",{name:"motion",items:["voice","chat","mail"]}]},f.get({id:c.accountId}).$promise.then(function(b){console.log(b),a.account=b})["catch"](function(a){e.error(a)})},a.updateItemMailAccount=function(){return f.update({id:c.accountId},{whiteLabel:a.account.whiteLabel,signature:a.account.signature}).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.other",{url:"/other",controller:"MailAccountOtherViewCtrl",templateUrl:"app/channels/mail/account/view/other/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountSettingViewCtrl",["$scope","$http","$stateParams","$translate","$location","$timeout","socket","xAlert","MailAccount","MailMessage","MailServerIn","MailServerOut","usSpinnerService","List","Template",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.imapDisabled=!1,a.smtpDisabled=!1,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.$on("$destroy",function(){g.socket.removeAllListeners("mail_message:sent"),g.socket.removeAllListeners("mail_message:failed")}),a.initView=function(){return g.socket.on("mail_message:sent",function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success"),m.stop("spinner-grid")}),g.socket.on("mail_message:failed",function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),m.stop("spinner-grid")}),n.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)}),o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)}),i.get({id:c.accountId}).$promise.then(function(b){a.account=b,a.account.MailServerIn&&(a.account.MailServerIn.source=JSON.parse(a.account.MailServerIn.source),a.account.MailServerOut.source=JSON.parse(a.account.MailServerOut.source),g.socket.on("mail_server_in:state",function(b){if(b.id===a.account.MailServerIn.id)switch(a.account.MailServerIn.state=b.state,a.account.MailServerIn.source=JSON.parse(b.source),b.state){case"CONNECTING":break;default:m.stop("spinner-grid"),a.imapDisabled=!1}})),g.socket.on("mail_server_out:state",function(b){if(b.id===a.account.MailServerOut.id)switch(a.account.MailServerOut.state=b.state,a.account.MailServerOut.source=JSON.parse(b.source),b.state){case"CONNECTING":break;default:m.stop("spinner-grid"),a.smtpDisabled=!1}})})["catch"](function(a){h.error(a)})},a.updateItemMailAccount=function(){return i.update({id:c.accountId},{name:a.account.name,description:a.account.description,address:a.account.address,fidelity:a.account.fidelity,timeout:a.account.timeout,service:a.account.service,ListId:a.account.ListId,TemplateId:a.account.TemplateId}).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.updateItemMailServerIn=function(){var b=angular.copy(a.account.MailServerIn);return delete b.source,m.spin("spinner-grid"),a.imapDisabled=!0,k.update({id:b.id},b).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.updateItemMailServerOut=function(){var b=angular.copy(a.account.MailServerOut);return delete b.source,m.spin("spinner-grid"),a.smtpDisabled=!0,l.update({id:b.id},b).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.test=function(){return m.spin("spinner-grid"),a.smtpDisabled=!0,l.update({id:a.account.MailServerOut.id},{state:"CONNECTING"}).$promise["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view.settings",{url:"/settings",controller:"MailAccountSettingViewCtrl",templateUrl:"app/channels/mail/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewCtrl",["$scope","$stateParams","MailAccount",function(a,b,c){a.initView=function(){return c.get({id:b.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.view",{url:"/view/:accountId",controller:"MailAccountViewCtrl",templateUrl:"app/channels/mail/account/view/view.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","MailAccount",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.item={MailServerIn:{port:993,ssl:!0,"delete":!1,protocol:"IMAP",filter:"UNSEEN",mailbox:"INBOX",keepalive:!0,authTimeout:5,connTimeout:10},MailServerOut:{port:465,ssl:!0}}},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/channels/mail/accounts/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/mail/account/wizard/wizard.html",controller:"MailAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox",{url:"/inbox",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","uniqueId","ReportSquare",function(a,b,c,d,e,f,g){a.data=null,a.initInfo=function(){g.get({controller:"show",uniqueid:f}).$promise.then(function(b){a.data={id:b.id,channel:b.channel,uniqueid:b.uniqueid,callerid:b.callerid,calleridname:b.calleridname,project_name:b.project_name,extension:b.extension}})["catch"](function(b){switch(b.status){case 404:a.data=null;break;default:e.error(b)}})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("mailMessage",["$rootScope","$translate","MailMessage","List","xAlert","Lightbox","$uibModal",function(a,b,c,d,e,f,g){return{restrict:"E",scope:{message:"=",listId:"="},templateUrl:"app/channels/mail/inbox/message/message.directive.html",link:function(h){h.openPreview=function(a){f.openModal(["api/mail/attachments/"+a],0)},h.openContact=function(c){return h.listId?d.save({listId:h.listId,controller:"contacts"},{email:c}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.email,type:"contact"})})["catch"](function(a){console.error(a)}):void e.show(b.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},h.info=function(a){g.open({animation:!0,templateUrl:"app/channels/mail/inbox/message/info.modal.html",controller:"MailInboxInfoModalCtrl",resolve:{uniqueId:function(){return a}}})},h.retry=function(a){return c.update({id:a,status:"SENDING"}).$promise["catch"](function(a){console.error(a)})}}}}]),angular.module("xCallyShuttleApp").directive("mailNote",["$translate","Modal","Auth","MailMessage","xAlert",function(a,b,c,d,e){return{restrict:"E",scope:{message:"="},templateUrl:"app/channels/mail/inbox/note/note.directive.html",link:function(f){f.Auth=c,f.deleteNote=b.confirm["delete"](function(){return d.remove({id:f.message.id}).$promise.then(function(){e.show(a.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){e.error(a)})})}}}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalNoteCtrl",["$scope","$uibModalInstance","$translate","id","MailRoom","xAlert",function(a,b,c,d,e,f){a.initModal=function(){a.item={}},a.ok=function(){return e.save({id:d,controller:"messages",controller2:"send"},{text:a.item.text,status:"NOTE"}).$promise.then(function(){f.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){f.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close()})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").directive("mailRoom",["$rootScope","$cookieStore","$translate","$uibModal","$timeout","Tag","CannedAnswer","MailAttachment","List","MailAccount","MailRoom","MailMessage","FileUploader","xAlert","usSpinnerService","socket","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){return{restrict:"E",scope:{workspace:"="},templateUrl:"app/channels/mail/inbox/room/room.directive.html",link:function(e){function r(a){var b="";return e.mailRoom.MailAccount.signature&&(b+="<br>"+e.mailRoom.MailAccount.signature),a?b+"<br><blockquote>"+a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\n/g,"<br>")+"</blockquote>":void 0}e.$on("$destroy",function(){console.log("mailRoom directive $destroy")});var s=[];e.user=q.getCurrentUser(),e.getContacts=function(a){return e.listId?i.get({listId:e.listId,controller:"contacts",email:a}).$promise.then(function(a){return a.rows})["catch"](function(a){console.error(a)}):[]},e.setList=function(a){e.listId=a},e.options={language:a.language,allowedContent:!0,entities:!1,skin:"office2013",extraPlugins:"autogrow",autoGrow_minHeight:600,autoGrow_maxHeight:600,disableNativeSpellChecker:!1,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]}]},e.expanded=!0,e.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},e.panelLeft=null,e.panelRight="col-md-12",e.forms={},e.form={from:[],to:e.workspace.data&&e.workspace.data.to?[e.workspace.data.to]:[],cc:[],bcc:[],tags:[],html:"",disabled:!1},p.socket.on("mail_message:remove",function(a){_.remove(e.mailRoom.MailMessages,{id:a.id})}),p.socket.on("mail_message:save",function(a){return e.workspace.id&&a.MailRoomId==e.workspace.id?(e.workspace.active||e.workspace.unread++,l.get({id:a.id}).$promise.then(function(a){e.mailRoom||(e.mailRoom={MailMessages:[]});var b=_.findIndex(e.mailRoom.MailMessages,{id:a.id});b>-1?_.merge(e.mailRoom.MailMessages[b],a):e.mailRoom.MailMessages.unshift(a),e.panelLeft="col-md-6",e.panelRight="col-md-6"})["catch"](function(a){console.error(a)})):void 0});var t=e.uploader=new m({url:"api/mail/attachments",autoUpload:!0,withCredentials:!0,headers:{Authorization:"Bearer "+b.get("token")}});return t.onErrorItem=function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},t.removeFromQueue=function(a){var b=this;return h["delete"]({id:a.basename}).$promise.then(function(){var c=b.getIndexOfItem(a),d=b.queue[c];d.isUploading&&d.cancel(),b.queue.splice(c,1),d._destroy(),b.progress=b._getTotalProgress(),s=_.reject(s,{basename:a.basename})})["catch"](function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},t.onSuccessItem=function(a,b){var c={size:b.size,path:b.path,name:b.name,basename:b.basename,type:b.type};a=_.merge(a,c),s.push(c)},e.openRoom=function(b){var c=_.find(a.workspaces,{id:b,type:"mailRoom"});c?c.active=!0:a.workspaces.push({id:b,type:"mailRoom","class":"icon-envelope",active:!0})},e.togglePanelLeft=function(){e.panelLeft?(e.panelLeft=null,e.panelRight="col-md-12"):(e.panelLeft="col-md-6",e.panelRight="col-md-6")},e.onSelectAnswer=function(){e.form.html=e.form.html+e.modelOptions.selectedAnswer,delete e.modelOptions.selectedAnswer},e.getAnswers=function(a){return g.get({key:a}).$promise.then(function(a){return _.map(a.rows,"value")})},e.closeRoom=function(){return d.open({animation:!0,templateUrl:"app/channels/mail/inbox/status/status.modal.html",controller:"MailInboxStatusModalCtrl",resolve:{accountId:function(){return e.mailRoom.MailAccount.id}}}).result.then(function(a){return k.patch({id:e.workspace.id},a).$promise["catch"](function(a){n.error(a)})})},e.loadNote=function(){return d.open({animation:!0,templateUrl:"app/channels/mail/inbox/note/note.modal.html",controller:"MailInboxViewModalNoteCtrl",resolve:{id:function(){return e.workspace.id}}})},e.onChanged=function(){return k.update({id:e.workspace.id},{tags:e.form.tags}).$promise["catch"](function(a){console.error(a)})},e.sendMail=function(){o.spin("spinner-grid"),e.form.disabled=!0;var a={},b={subject:e.form.subject||(e.mailRoom?e.mailRoom.subject:null),from:e.form.from,to:_.map(e.form.to,"email"),cc:_.map(e.form.cc,"email"),bcc:_.map(e.form.bcc,"email"),html:e.form.html||null,text:e.form.text||null,inReplyTo:a.messageId||null,status:"SENDING",MailAttachments:s};return e.mailRoom?(a=_.last(e.mailRoom.MailMessages,{status:"RECEIVED"}),b.inReplyTo=a.messageId||null,k.save({id:e.workspace.id,controller:"messages",controller2:"send"},b).$promise.then(function(){e.form.html="",t.queue=[],s=[],n.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){o.stop("spinner-grid"),e.form.disabled=!1})):l.save(b).$promise.then(function(a){n.show(c.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),e.form.html="",t.queue=[],s=[],e.workspace.id=a.id,e.workspace.name=a.subject,e.mailRoom=a,e.expanded=!1})["catch"](function(){n.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){o.stop("spinner-grid"),e.form.disabled=!1})},f.get().$promise.then(function(a){e.tags=_.map(a.rows,"name")})["catch"](function(a){console.error(a)}),j.get().$promise.then(function(a){e.mailAccounts=a.rows})["catch"](function(a){console.error(a)}),e.workspace.id?(e.panelLeft="col-md-6",e.panelRight="col-md-6",k.get({id:e.workspace.id}).$promise.then(function(a){e.mailRoom=a,e.expanded=!1,e.listId=a.MailAccount.ListId,e.workspace.name=a.subject||"No subject",e.form.from.push(a.MailAccount.address),e.form.tags=a.tags;var b=_.findLast(e.mailRoom.MailMessages,{status:"RECEIVED"});return b&&(e.form.to=_.map(_.union(b.from,b.to),function(a){return{email:a}}),e.form.to=_.remove(e.form.to,function(b){return b.email!==a.MailAccount.address}),e.form.cc=_.map(b.cc,function(a){return{email:a}}),e.form.bcc=_.map(b.bcc,function(a){return{email:a}}),e.form.subject="Re: "+(b.subject||"No subject"),e.form.html=r(b.text)),p.socket.on("mail_room:save",function(a){a.id===e.workspace.id&&_.merge(e.mailRoom,a)}),a})["catch"](function(a){console.error(a)})["finally"](function(){o.stop("spinner-grid"),e.form.disabled=!1})):(e.panelLeft=null,e.panelRight="col-md-12",o.stop("spinner-grid"),void 0)}}}]),angular.module("xCallyShuttleApp").controller("MailInboxStatusModalCtrl",["$scope","$uibModalInstance","MailAccount","accountId",function(a,b,c,d){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_MAIL"},a.initDisposition=function(){return a.item={disposition:null,status:"CLOSED"},c.get({accountId:d,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","uibButtonConfig","usSpinnerService","socket","MailAccount","MailRoom","uiGridConstants","Auth","Modal","xAlert","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:"mailRoom"});return d&&b?d.active=!0:a.workspaces.push({id:b,subject:c,type:"mailRoom","class":"icon-envelope",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?l.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(){i.spin("spinner-grid");var b={accountId:e.id,controller:"rooms"};return a.query&&_.merge(b,a.query),k.query(b).$promise.then(function(b){q.set("mailAccountId",e.id),a.gridOptions.data=b,j.socket.on("mail_room:save",function(b){if(b.MailAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),j.socket.on("mail_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){console.error(a)})["finally"](function(){i.stop("spinner-grid")})},a.initView=function(){h.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:q.get("mailStatus")?q.get("mailStatus"):"NEW",tags:q.get("mailTags")?q.get("mailTags"):[]},a.$watch("query.status",function(){q.set("mailStatus",a.query.status),a.getPage()},!0),k.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)}),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"mail_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"attachment",displayName:"",headerCellTemplate:'<i class="icon-paper-clip" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.attachment ? 'icon-paper-clip' : ''\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!0,enableFiltering:!0,enableColumnMenu:!1},{name:"subject"},{name:"from",cellClass:"text-center"},{name:"disposition",displayName:"APPLICATION_DISPOSITION",headerCellFilter:"translate"},{name:"updatedAt",cellFilter:"date:'dd/MM/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only" data-ng-disabled="row.entity.waiting" data-ng-class="row.entity.waiting ? \'font-blue\' : \'font-green\'" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.subject)"><i class="fa" data-ng-class="row.entity.waiting ? \'fa-repeat\' : \'fa-envelope\' " aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-disabled="row.entity.waiting" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id, row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i></a> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:70,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},a.getPage(a.query)},a.onChanged=function(){q.set("mailTags",a.query.tags),a.getPage(a.query)},a.tagItems=function(){
+return c.open({animation:!0,templateUrl:"app/channels/mail/inbox/view/view.tags.modal.html",controller:"MailInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})},a.disposeItems=function(){return c.open({animation:!0,templateUrl:"app/channels/mail/inbox/status/status.modal.html",controller:"MailInboxStatusModalCtrl",resolve:{status:function(){return null},accountId:function(){return e.id}}}).result.then(function(b){return l.patch({id:a.id},b).$promise.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return l.remove(c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return l["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/mail/inbox/view/account/list/list.html",controller:"MailInboxViewAccountListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","Auth","MailRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h,i){var j=[];a.initModal=function(){return a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){for(var c=0;c<b.rows.length;c++)a.agents.push(b.rows[c]);return g.query({id:i,controller:"agents"}).$promise}).then(function(b){for(var c=0;c<b.length;c++)f.isAgent()||a.item.agents.push(b[c]),j.push(b[c].id)})["catch"](function(a){console.error(a)})},a.ok=function(){return j=f.isAgent()?_.union(j,a.item.agents):angular.copy(a.item.agents),g.update({id:i,controller:"agents",agents:j}).$promise.then(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailInboxViewCtrl",["$scope","$timeout","$location","localStorageService","MailAccount",function(a,b,c,d,e){a.initView=function(){return e.get().$promise.then(function(b){var e=null;a.mailAccounts=b.rows,a.mailAccounts.length&&(e="/channels/mail/inbox/view/account/"+(d.get("mailAccountId")||a.mailAccounts[0].id)+"/list"),e&&c.path(e)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.inbox.view",{url:"/view",templateUrl:"app/channels/mail/inbox/view/view.html",controller:"MailInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","MailRoom","xAlert","id",function(a,b,c,d,e,f,g,h){a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailInboxViewModalTemplateCtrl",["$scope","$uibModalInstance","Template",function(a,b,c){a.initModal=function(){return a.item={},c.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail",{url:"/mail",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("MailAttachment",["$resource",function(a){return a("/api/mail/attachments/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").factory("MailMessage",["$resource",function(a){return a("/api/mail/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailReport",["$resource",function(a){return a("/api/report/mails/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("MailRoom",["$resource",function(a){return a("/api/mail/rooms/:id/:controller/:controller2",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").controller("MailQueueListCtrl",["$scope","MailQueue","gridOptions","$uibModal","Auth",function(a,b,c,d,e){a.initView=function(){a.Auth=e;var d={exporterCsvFilename:"voice_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"timeout"},{name:"strategy"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/mail/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/mail/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===e.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/mail/queue/list/list.create.modal.html",controller:"MailQueueListCreateCtrl",size:"lg"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("MailQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","MailQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.queues.list",{url:"/list",templateUrl:"app/channels/mail/queue/list/list.html",controller:"MailQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("MailQueue",["$resource",function(a){return a("/api/mail/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]},data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert","Team","MailQueue","Auth","strategies",function(a,b,c,d,e,f,g,h,i){a.Auth=h,a.strategies=i;var j=function(){return{select:function(b){return g.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return g["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return g.get({id:d.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){console.error(a)})},a.updateMailQueue=function(){return g.update({id:d.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,g.get({id:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasMailQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.queues.view",{url:"/view/:id",templateUrl:"app/channels/mail/queue/view/view.html",controller:"MailQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.mail.queues.view.settings",{url:"/settings",templateUrl:"app/channels/mail/queue/view/view.settings.html"}).state("main.channels.mail.queues.view.agents",{url:"/agents",templateUrl:"app/channels/mail/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","MailQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.mailPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_mail_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PMailQueues,"id"),b.MailQueueId)||n.isAdmin();if(c){var d=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0});if(d){var e=a.gridOptions.data.indexOf(d);a.gridOptions.data.splice(e+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.MailQueueId,agent:b.membername,online:d.online})}}}),e.socket.on("user_has_mail_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.MailQueueId})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.mailPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.MailQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.mailQueues=b.rows,e.syncUpdates("mail_queue",a.mailQueues)})["catch"](function(a){f.error(a)})}a.mailQueues=[];var t={controller:"realtime",controller1:"mail",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"mailPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.mailQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_mail_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"mail"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/mail/realtime/view/agent/queue.modal.add.html",controller:"MailRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.mailQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.mailQueues,function(a){return _.includes(b.queues,a.id)}),channel:"mail",data1:e,data3:b.queues.join(","),data4:"mail"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"mail",data1:a,data3:b,data4:"mail"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/mail/realtime/view/agent/agent.modal.info.html",controller:"MailRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/mail/realtime/view/agent/agent.html",controller:"MailRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportMailSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_mail_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_mail_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_mail_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/mail/realtime/view/application/application.html",controller:"MailRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.mail.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.mail.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.mail.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.mail.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.mail.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.mail.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.mail.realtime.view",{url:"/view",templateUrl:"app/channels/mail/realtime/view/view.html",controller:"MailRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportMailSession",["$resource",function(a){return a("/api/report/mail/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelAccount",["$resource",function(a){return a("/api/openchannel/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts",{url:"/accounts",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountListCtrl",["$scope","OpenChannelAccount","gridOptions","$stateParams","xAlert","$translate",function(a,b,c,d,e,f){a.initView=function(){var e={exporterCsvFilename:"openchannel_accounts.csv",columnDefs:[{name:"id",displayName:"ID",cellClass:"text-center",width:75,enableSorting:!1,enableFiltering:!1},{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/openchannel/accounts/view/{{row.entity.id}}/settings",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a,{accountId:d.accountId})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.list",{url:"/list",templateUrl:"app/channels/openchannel/account/list/list.html",controller:"OpenChannelAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("OpenChannelApplication",["$resource",function(a){return a("/api/openchannel/applications/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewActionListCtrl",["$scope","gridOptions","OpenChannelAccount","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e,f,g){a.initActions=function(){var d={draggable:!0,exporterCsvFilename:"openchannel_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.OpenchannelQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/openchannel/accounts/view/{{row.entity.OpenchannelAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/openchannel/account/view/action/list/list.html",controller:"OpenChannelAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","OpenChannelQueue","OpenChannelAccount","OpenChannelApplication",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],o.get({id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){var b=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,OpenchannelAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.OpenchannelQueueId=a.application.OpenchannelQueueId}switch(a.application.intType){case"always":g.interval=b.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(b[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?b[1]="*":b[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?b[2]="*":b[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?b[3]="*":b[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=b.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}return n.update({accountId:c.accountId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/openchannel/accounts/view/"+c.accountId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/openchannel/account/view/action/view/view.html",controller:"OpenChannelAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewActionWizardCtrl",["$scope","$http","Agent","OpenChannelQueue","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","OpenChannelApplication","OpenChannelAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){
+a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return d.get().$promise.then(function(b){console.log(b),a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return e.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",a.application.IntervalId=null;break;case"list":var b=_.find(a.intervals,{id:a.application.IntervalId});a.application.interval=b?b.name:"*,*,*,*",a.application.IntervalId=b?a.application.IntervalId:null;break;case"custom":var c,d,e,j,k;c=a.application.t_from&&a.application.t_to&&!a.application.alwaysTime?moment(a.application.t_from).format("HH:mm")+"-"+moment(a.application.t_to).format("HH:mm"):"*",a.application.wd_from&&"always"!==a.application.wd_from?(d=a.application.wd_from,a.application.wd_to&&"always"!==a.application.wd_to&&(d+="-"+a.application.wd_to)):d="*",a.application.md_from&&"always"!==a.application.md_from?(e=a.application.md_from,a.application.md_to&&"always"!==a.application.md_to&&(e+="-"+a.application.md_to)):e="*",a.application.m_from&&"always"!==a.application.m_from?(j=a.application.m_from,a.application.m_to&&"always"!==a.application.m_to&&(j+="-"+a.application.m_to)):j="*",k=c+","+d+","+e+","+j,a.application.interval=k,a.application.IntervalId=null}return o.save({accountId:f.accountId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/openchannel/accounts/view/"+f.accountId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/openchannel/account/view/action/wizard/wizard.html",controller:"OpenChannelAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountApiViewCtrl",["$scope","OpenChannelAccount","$http","$stateParams","clipboard","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.copyToClipboard=function(a){e.copyText(a),h.show(f.instant("MESSAGE_TEXT_COPIED_CLIPBOARD")+"!","success")},a.initView=function(){b.get({id:d.accountId}).$promise.then(function(b){a.account=b,a.receiveurl=a.account.remote+"/api/openchannel/accounts/"+a.account.id+"/receive"})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.api",{url:"/api",controller:"OpenChannelAccountApiViewCtrl",templateUrl:"app/channels/openchannel/account/view/api/view/view.html"})}]),angular.module("xCallyShuttleApp").factory("OpenChannelDisposition",["$resource",function(a){return a("/api/openchannel/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","OpenChannelAccount","id",function(a,b,c,d){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","OpenChannelAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/openchannel/account/view/disposition/modal/add.modal.html",controller:"OpenChannelInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.dispositions",{url:"/dispositions",controller:"OpenChannelAccountDispositionViewCtrl",templateUrl:"app/channels/openchannel/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountHooksViewCtrl",["$scope","OpenChannelAccount","Pause","$http","$stateParams","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){h.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){h.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItem=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){h.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.hooks",{url:"/hooks",controller:"OpenChannelAccountHooksViewCtrl",templateUrl:"app/channels/openchannel/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountSettingViewCtrl",["$scope","OpenChannelAccount","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.types=[{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],a.account={},a.initView=function(){i.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)}),b.get({id:d.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){h.error(a)})},a.updateItem=function(){return b.update({id:d.accountId},a.account).$promise.then(function(){h.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view.settings",{url:"/settings",controller:"OpenChannelAccountSettingViewCtrl",templateUrl:"app/channels/openchannel/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountViewCtrl",["$scope","OpenChannelAccount","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return a.account={},b.get({id:d.accountId}).$promise.then(function(b){a.account=b,console.log(b)})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.view",{url:"/view/:accountId",templateUrl:"app/channels/openchannel/account/view/view.html",controller:"OpenChannelAccountViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","OpenChannelAccount",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.item={},a.item.remote=c.protocol()+"://"+location.host},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/channels/openchannel/accounts/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/openchannel/account/wizard/wizard.html",controller:"OpenChannelAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox",{url:"/inbox",template:"<div ui-view></div>",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","data",function(a,b,c,d,e,f){a.data=null,a.initInfo=function(){f&&(a.data=_.isEmpty(JSON.parse(f))?null:JSON.parse(f))},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("message",["$rootScope","OpenChannelMessage","List","xAlert","$translate","$uibModal",function(a,b,c,d,e,f){return{restrict:"E",scope:{Message:"=message",accounttype:"=accounttype",listId:"="},templateUrl:"app/channels/openchannel/inbox/message/message.html",link:function(b){b.openContact=function(f,g){if(b.listId){if(!g)return;var h;switch(f){case"phone":h={phone:g};break;case"email":h={email:g};break;default:return}return c.save({listId:b.listId,controller:"contacts"},h).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.phone,type:"contact"})})["catch"](function(a){console.error(a)})}d.show(e.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},b.info=function(a){f.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/message/info.modal.html",controller:"OpenChannelInboxInfoModalCtrl",resolve:{data:function(){return a}}})}}}}]),angular.module("xCallyShuttleApp").directive("openchannelRoom",["OpenChannelReport","$cookieStore","$translate","$uibModal","$timeout","Tag","CannedAnswer","Auth","OpenChannelAccount","OpenChannelRoom","OpenChannelMessage","xAlert","usSpinnerService","socket","$stateParams","$rootScope",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/channels/openchannel/inbox/room/room.directive.html",link:function(a){a.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},a.panelLeft=null,a.panelRight="col-md-12",a.togglePanelLeft=function(){a.panelLeft?(a.panelLeft=null,a.panelRight="col-md-12"):(a.panelLeft="col-md-6",a.panelRight="col-md-6")},a.form={disabled:!1,from:"",to:a.workspace.data&&a.workspace.data.to?a.workspace.data.to:"",body:""},n.socket.on("openchannel_message:save",function(b){return a.workspace.id&&b.OpenchannelRoomId==a.workspace.id?k.get({id:b.id}).$promise.then(function(b){a.Room||(a.Room={OpenchannelMessages:[]});var c=_.findIndex(a.Room.OpenchannelMessages,{id:b.id});c>-1?_.merge(a.Room.OpenchannelMessages[c],b):a.Room.OpenchannelMessages.unshift(b),a.panelLeft="col-md-6",a.panelRight="col-md-6"})["catch"](function(a){console.error(a)}):void 0}),n.socket.on("openchannel_message:update",function(b){if(a.Room&&b.OpenchannelRoomId==a.workspace.id){var c=_.find(a.Room.OpenchannelMessages,{id:b.id});c&&_.merge(c,b)}}),n.socket.on("openchannel_room:save",function(b){a.Room&&b.id==a.workspace.id&&(a.Room.status=b.status,a.Room.disposition=b.disposition)}),a.closeRoom=function(b){return d.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.status.modal.html",controller:"OpenChannelInboxViewModalStatusCtrl",resolve:{closed:function(){return"CLOSED"===a.Room.status},accountId:function(){return a.Room.OpenchannelAccountId}}}).result.then(function(a){var c={id:b,status:"CLOSED"};return a.disposition&&(c.disposition=a.disposition),j.update(c).$promise["catch"](function(a){l.error(a)})})},a.openRoom=function(a,b){var c=_.find(p.workspaces,{id:a,type:"openchannelRoom"});c?c.active=!0:p.workspaces.push({id:a,name:b,type:"openchannelRoom","class":"icon-globe",active:!0})},f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),i.get().$promise.then(function(b){a.Accounts=b.rows})["catch"](function(a){console.error(a)}),a.workspace.id?(a.panelLeft="col-md-6",a.panelRight="col-md-6",j.get({id:a.workspace.id}).$promise.then(function(b){a.Room=b,a.form.from=a.Room.OpenchannelAccount.name,a.form.to=a.Room.contact,a.form.tags=a.Room.tags})["catch"](function(a){console.error(a)})["finally"](function(){m.stop("spinner-grid"),a.form.disabled=!1})):m.stop("spinner-grid"),a.onSelect=function(){a.form.body+=a.modelOptions.selectedAnswer,delete a.modelOptions.selectedAnswer},a.onSelectAnswer=function(b){a.form.body+=b,a.selectedAnswer=""},a.getAnswers=function(a){return g.get({key:a}).$promise.then(function(a){return _.map(a.rows,"value")})},a.loadAgents=function(){d.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.agents.modal.html",controller:"OpenChannelInboxViewModalAgentCtrl",resolve:{roomId:function(){return a.workspace.id}}})},a.onChanged=function(){return j.patch({id:a.workspace.id},{tags:a.form.tags}).$promise["catch"](function(a){console.error(a)})},a.sendMessage=function(){m.spin("spinner-grid");var b=_.find(a.Accounts,{name:a.form.from}).id;if(b){var d={from:a.form.from,to:a.form.to,body:a.form.body,OpenchannelRoomId:a.Room?a.Room.id:null};return i.save({accountId:b,controller:"send"},d).$promise.then(function(b){return l.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.Room?a.Room:j.get({id:"messages",controller:b.id}).$promise}).then(function(b){b&&(a.form.body="",a.workspace.id=b.id,a.workspace.name=b.contact,a.Room=b,a.panelLeft="col-md-6",a.panelRight="col-md-6")})["catch"](function(a){l.error(a)})["finally"](function(){m.stop("spinner-grid")})}}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","usSpinnerService","socket","OpenChannelAccount","OpenChannelRoom","gridOptions","uiGridConstants","Auth","Modal","xAlert","uibButtonConfig","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a.loadAgents=function(a){c.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.agents.modal.html",controller:"OpenChannelInboxViewModalAgentCtrl",resolve:{roomId:a}})},a.initView=function(){q.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:r.get("openchannelStatus")?r.get("openchannelStatus"):"NEW",tags:r.get("openchannelTags")?r.get("openchannelTags"):[]},a.$watch("query.status",function(){r.set("openchannelStatus",a.query.status),a.getPage()},!0),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"openchannel_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!0,enableColumnMenu:!1},{name:"contact",cellClass:"text-center"},{name:"disposition",cellClass:"text-center"},{name:"updatedAt",cellFilter:"date:'MM/dd/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only font-green" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.contact)"><i class="glyphicon glyphicon-comment" aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id,row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:90,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},i.socket.on("openchannel_room:remove",function(b){_.remove(a.workspaces,{id:b.id,type:"openchannelRoom"}),_.remove(a.gridOptions.data,{id:b.id})}),a.getPage(a.query)},a.onChanged=function(){a.getPage(a.query)},a.tagItems=function(){return c.open({animation:!0,templateUrl:"app/channels/openchannel/inbox/view/view.tags.modal.html",controller:"OpenChannelInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[],a.getPage()})},a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:"openchannelRoom"});return d?d.active=!0:a.workspaces.push({id:b,name:c,type:"openchannelRoom","class":"icon-globe",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?k.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(b){h.spin("spinner-grid");var c={accountId:e.id,controller:"rooms"};return b&&_.merge(c,b),a.query&&_.merge(c,a.query),j.query(c).$promise.then(function(b){r.set("openchannelAccountId",e.id),a.gridOptions.data=b,i.socket.on("openchannel_room:save",function(b){if(b.OpenchannelAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),i.socket.on("openchannel_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){console.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return console.log(c),k["delete"](c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return k["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/openchannel/inbox/view/account/list/list.html",controller:"OpenChannelInboxViewAccountListCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","OpenChannelRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h){a.initModal=function(){a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){b.rows.forEach(function(b){a.agents.push(b)})})["catch"](function(a){console.error(a)}),f.query({id:h,controller:"agents"}).$promise.then(function(b){b.forEach(function(b){a.agents.push(b),a.item.agents.push(b.id)})})["catch"](function(a){console.error(a)}),a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}},a.ok=function(){return f.update({id:h,controller:"agents",agents:a.item.agents}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewCtrl",["$scope","$location","$stateParams","$translate","$uibModal","socket","Auth","xAlert","OpenChannelRoom","OpenChannelAccount","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){j.get().$promise.then(function(c){var d=null;a.Accounts=c.rows,a.Accounts.length&&(d="/channels/openchannel/inbox/view/account/"+(k.get("openchannelAccountId")||a.Accounts[0].id)+"/list"),d&&b.path(d)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.inbox.view",{url:"/view",templateUrl:"app/channels/openchannel/inbox/view/view.html",controller:"OpenChannelInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModalStatusCtrl",["$scope","$uibModalInstance","closed","OpenChannelAccount","accountId",function(a,b,c,d,e){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE"},a.initDisposition=function(){return d.get({accountId:e,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.item={},a.closed=c,a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("OpenChannelInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","OpenChannelRoom","xAlert","id",function(a,b,c,d,e,f,g,h){a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel",{url:"/openchannel",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("OpenChannelReport",["$resource",function(a){return a("/api/report/openchannel/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelRoom",["$resource",function(a){return a("/api/openchannel/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelMessage",["$resource",function(a){return a("/api/openchannel/messages/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelQueueListCtrl",["$scope","OpenChannelQueue","gridOptions","$uibModal","xAlert","Auth",function(a,b,c,d,e,f){a.initView=function(){a.Auth=f;var d={exporterCsvFilename:"openchanel_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"timeout"},{name:"strategy"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/openchannel/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/openchannel/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===f.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/openchannel/queue/list/list.create.modal.html",controller:"OpenChannelQueueListCreateCtrl",size:"lg"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("OpenChannelQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","OpenChannelQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return console.log(a.item),e.save(a.item).$promise.then(function(a){b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.queues.list",{url:"/list",templateUrl:"app/channels/openchannel/queue/list/list.html",controller:"OpenChannelQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("OpenChannelQueue",["$resource",function(a){return a("/api/openchannel/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.queues",{url:"/queues",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelQueueViewCtrl",["$scope","$http","Auth","$translate","$stateParams","xAlert","Team","OpenChannelQueue","strategies",function(a,b,c,d,e,f,g,h,i){a.strategies=i,a.Auth=c;var j=function(){return{select:function(b){return h.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(b){console.log("sel",b),a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return h["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(b){console.log("desel",b),a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return h.get({id:e.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){console.error(a)})},a.updateQueue=function(){return h.update({id:e.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,console.log(b.rows),h.get({id:e.id,controller:"agents"}).$promise}).then(function(b){console.log(b),ComponentsDropdowns.bindQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasOpenchannelQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.queues.view",{url:"/view/:id",templateUrl:"app/channels/openchannel/queue/view/view.html",controller:"OpenChannelQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.openchannel.queues.view.settings",{url:"/settings",templateUrl:"app/channels/openchannel/queue/view/view.settings.html"}).state("main.channels.openchannel.queues.view.agents",{url:"/agents",templateUrl:"app/channels/openchannel/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","OpenChannelQueue","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){return k.spin("grid-spinner"),g.get(s).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){p(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function o(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.openchannelPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,
+_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_openchannel_queue:save",function(b){console.log("new queue",b);var c=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0}),d=a.gridOptions.data.indexOf(c);a.gridOptions.data.splice(d+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.OpenchannelQueueId,agent:b.membername,online:c.online})}),e.socket.on("user_has_openchannel_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.OpenchannelQueueId})})}function p(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.openchannelPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.OpenchannelQueues.forEach(function(c){a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function q(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function r(){return j.get().$promise.then(function(b){a.openchannelQueues=b.rows,e.syncUpdates("openchannel_queue",a.openchannelQueues)})["catch"](function(a){f.error(a)})}a.openchannelQueues=[];var s={controller:"realtime",controller1:"openchannel",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"openchannelPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause" class="left-margin">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.openchannelQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?s.order=null:s.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),n()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){s.offset=(a-1)*b,s.limit=b,n()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?s[a.name]=a.filters[0].term:delete s[a.name]}),n()})}},n(),q(),r(),o()};var t=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_openchannel_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"openchannel"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/openchannel/realtime/view/agent/queue.modal.add.html",controller:"OpenChannelRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.openchannelQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.openchannelQueues,function(a){return _.includes(b.queues,a.id)}),channel:"openchannel",data1:e,data3:b.queues.join(","),data4:"openchannel"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"openchannel",data1:a,data3:b,data4:"openchannel"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/openchannel/realtime/view/agent/agent.modal.info.html",controller:"OpenChannelRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/openchannel/realtime/view/agent/agent.html",controller:"OpenChannelRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportOpenChannelSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_openchannel_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_openchannel_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_openchannel_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/openchannel/realtime/view/application/application.html",controller:"OpenChannelRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("OpenChannelRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.openchannel.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.openchannel.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.openchannel.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.openchannel.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.openchannel.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.openchannel.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.openchannel.realtime.view",{url:"/view",templateUrl:"app/channels/openchannel/realtime/view/view.html",controller:"OpenChannelRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportOpenChannelSession",["$resource",function(a){return a("/api/report/openchannel/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:12}}})}]),angular.module("xCallyShuttleApp").controller("RealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(b){return j.spin("grid-spinner"),g.get(p).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){b&&n(),j.stop("grid-spinner")})}function n(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&_.merge(c,b)}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}function o(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}var p={controller:"realtime",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.name}} <{{row.entity.internal}}></div>"},{name:"online",displayName:"APPLICATION_ONLINE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"pauseStatus",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span class="left-margin"><i data-ng-if="row.entity.voicePause || row.entity.mailPause || row.entity.chatPause || row.entity.faxPause || row.entity.smsPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,null)" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i> <i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.id,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i></span><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.id,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select><span data-ng-if="row.entity.voicePause || row.entity.mailPause || row.entity.chatPause || row.entity.faxPause || row.entity.smsPause"> [{{row.entity.pauseType}}]<timer start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000"> [{{hhours}}:{{mminutes}}:{{sseconds}}]</timer></span></div>'},{name:"voicePause",displayName:"APPLICATION_VOICE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.voicePause}"><span class="left-margin"><i data-ng-if="row.entity.voicePause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'voice\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"mailPause",displayName:"APPLICATION_MAIL",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.mailPause}"><span class="left-margin"><i data-ng-if="row.entity.mailPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'mail\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"chatPause",displayName:"APPLICATION_CHAT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.chatPause}"><span class="left-margin"><i data-ng-if="row.entity.chatPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'chat\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"faxPause",displayName:"APPLICATION_FAX",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.faxPause}"><span class="left-margin"><i data-ng-if="row.entity.faxPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'fax\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"smsPause",displayName:"APPLICATION_SMS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online" data-ng-class="{\'paused-agent\':row.entity.smsPause}"><span class="left-margin"><i data-ng-if="row.entity.smsPause" data-ng-click="grid.appScope.pause(row.entity.id,\'unpause\',null,\'sms\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i></span></div>',filter:{type:l.filter.SELECT,selectOptions:[{value:"true",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_NOT_PAUSED")}]},enableSorting:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){q(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?p.order=null:p.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),m()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){p.offset=(a-1)*b,p.limit=b,m()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?p[a.name]=a.filters[0].term:delete p[a.name]}),m()})}},m(!0),o()};var q=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent")}),a.pause=function(b,c,e,g){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:g||"all"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/realtime/view/agent/agent.html",controller:"RealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("RealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("RealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("RealtimeViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.realtime.view",{url:"/view",templateUrl:"app/channels/realtime/view/view.html",controller:"RealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("ReportCall",["$resource",function(a){return a("/api/report/calls/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportDial",["$resource",function(a){return a("/api/report/dials/:id/:controller/:controller2",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SmsAccount",["$resource",function(a){return a("/api/sms/accounts/:accountId/:controller/:id",{id:"@accountId"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts",{url:"/accounts",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsAccountListCtrl",["$scope","SmsAccount","gridOptions","$stateParams","xAlert","$translate",function(a,b,c,d,e,f){a.message="Hello",a.initView=function(){var e={exporterCsvFilename:"sms_accounts.csv",columnDefs:[{name:"id",displayName:"ID",cellClass:"text-center",width:75,enableSorting:!1,enableFiltering:!1},{name:"name"},{name:"description"},{name:"type",displayName:"APPLICATION_ACCOUNT_TYPE"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/sms/accounts/view/{{row.entity.id}}/settings",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,e,a,{accountId:d.accountId})},a.checkAccount=function(a){return b.get({accountId:a,controller:"check"}).$promise.then(function(){e.show(f.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(a){e.show(f.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.list",{url:"/list",templateUrl:"app/channels/sms/account/list/list.html",controller:"SmsAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SmsApplication",["$resource",function(a){return a("/api/sms/applications/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewActionListCtrl",["$scope","gridOptions","SmsAccount","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e,f,g){a.initActions=function(){var d={draggable:!0,exporterCsvFilename:"sms_applications.csv",enableSorting:!1,enableFiltering:!1,columnDefs:[{name:"app",cellClass:"text-center"},{name:"name",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span>{{row.entity.app == "queue" ? row.entity.SmsQueue.name : row.entity.User.name}}</span></div>'},{name:"timeout",cellClass:"text-center"},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",cellClass:"text-center",cellTemplate:"<div><span>{{row.entity.Interval ? row.entity.Interval.name : row.entity.interval}}</span></div>"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/channels/sms/accounts/view/{{row.entity.SmsAccountId}}/actions/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.app, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a,{accountId:f.accountId,controller:"applications"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions.list",{url:"/list",templateUrl:"app/channels/sms/account/view/action/list/list.html",controller:"SmsAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","Agent","Interval","SmsQueue","SmsAccount","Template","MailAccount","SmsApplication",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){return a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"SendSMS",value:"sendSms"}],q.get({id:c.actionId}).$promise.then(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})})["catch"](function(a){f.error(a)})},a.getQueues=function(){return m.get().$promise.then(function(b){a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return k.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return l.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.getSmsAccounts=function(){return n.get().$promise.then(function(b){a.smsAccounts=b.rows})["catch"](function(a){console.error(a)})},a.updateItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(j[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),a.application.wd_from&&a.application.wd_to&&"always"===a.application.wd_from&&"always"===a.application.wd_to?j[1]="*":j[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",a.application.md_from&&a.application.md_to&&"always"===a.application.md_from&&"always"===a.application.md_to?j[2]="*":j[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",a.application.m_from&&a.application.m_to&&"always"===a.application.m_from&&"always"===a.application.m_to?j[3]="*":j[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",a.application.interval=j.join(","),delete a.application.IntervalId}return n.update({accountId:c.accountId,controller:"applications",id:c.actionId},a.application).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success"),e.path("/channels/sms/accounts/view/"+c.accountId+"/actions/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/channels/sms/account/view/action/view/view.html",controller:"SmsAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewActionWizardCtrl",["$scope","$http","Agent","SmsQueue","Interval","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval","SmsAccount","Template","MailAccount",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"},{name:"SendMail",value:"sendMail"},{name:"SendSMS",value:"sendSms"}],a.$application=l.application,a.$stateParams=f,a.$interval=m.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){return d.get().$promise.then(function(b){console.log(b),a.queues=b.rows})["catch"](function(a){console.error(a)})},a.getAgents=function(){return c.get().$promise.then(function(b){a.agents=b.rows})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return e.get().$promise.then(function(b){a.intervals=b.rows})["catch"](function(a){console.error(a)})},a.getTemplates=function(){return o.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.getMailAccounts=function(){return p.get().$promise.then(function(b){a.mailAccounts=b.rows})["catch"](function(a){console.error(a)})},a.getSmsAccounts=function(){return n.get().$promise.then(function(b){a.smsAccounts=b.rows})["catch"](function(a){console.error(a)})},a.createItem=function(){switch(a.application.intType){case"always":a.application.interval="*,*,*,*",a.application.IntervalId=null;break;case"list":var b=_.find(a.intervals,{id:a.application.IntervalId});a.application.interval=b?b.name:"*,*,*,*",
+a.application.IntervalId=b?a.application.IntervalId:null;break;case"custom":var c,d,e,j,k;c=a.application.t_from&&a.application.t_to&&!a.application.alwaysTime?moment(a.application.t_from).format("HH:mm")+"-"+moment(a.application.t_to).format("HH:mm"):"*",a.application.wd_from&&"always"!==a.application.wd_from?(d=a.application.wd_from,a.application.wd_to&&"always"!==a.application.wd_to&&(d+="-"+a.application.wd_to)):d="*",a.application.md_from&&"always"!==a.application.md_from?(e=a.application.md_from,a.application.md_to&&"always"!==a.application.md_to&&(e+="-"+a.application.md_to)):e="*",a.application.m_from&&"always"!==a.application.m_from?(j=a.application.m_from,a.application.m_to&&"always"!==a.application.m_to&&(j+="-"+a.application.m_to)):j="*",k=c+","+d+","+e+","+j,a.application.interval=k,a.application.IntervalId=null}return n.save({accountId:f.accountId,controller:"applications"},a.application).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success"),h.path("/channels/sms/accounts/view/"+f.accountId+"/actions/list")})["catch"](function(a){i.error(a)})},a.formValidation=function(a){return a},a.next=function(){j.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/channels/sms/account/view/action/wizard/wizard.html",controller:"SmsAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountApiViewCtrl",["$scope","SmsAccount","$http","$stateParams","clipboard","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h){a.copyToClipboard=function(a){e.copyText(a),h.show(f.instant("MESSAGE_TEXT_COPIED_CLIPBOARD")+"!","success")},a.initView=function(){b.get({id:d.accountId}).$promise.then(function(b){a.account=b,a.deliveryurl=a.account.remote+"/api/sms/accounts/"+a.account.id+"/messageStatus",a.receiveurl=a.account.remote+"/api/sms/accounts/"+a.account.id+"/receive"})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.api",{url:"/api",controller:"SmsAccountApiViewCtrl",templateUrl:"app/channels/sms/account/view/api/view/view.html"})}]),angular.module("xCallyShuttleApp").factory("SmsDisposition",["$resource",function(a){return a("/api/sms/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModaDispositionAddCtrl",["$scope","$uibModalInstance","SmsAccount","id",function(a,b,c,d){a.ok=function(){return c.save({accountId:d,controller:"dispositions"},{name:a.name}).$promise.then(function(a){b.close(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsAccountDispositionViewCtrl",["$scope","$stateParams","$uibModal","$translate","SmsAccount","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get({accountId:b.accountId,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,c){return e.update({accountId:b.accountId,controller:"dispositions",id:a},{name:c}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(c){return console.log("delete"),e.remove({accountId:b.accountId,controller:"dispositions",id:c}).$promise.then(function(){_.remove(a.dispositions,{id:c})})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/sms/account/view/disposition/modal/add.modal.html",controller:"SmsInboxViewModaDispositionAddCtrl",resolve:{id:function(){return b.accountId}}}).result.then(function(b){b&&a.dispositions.push(b)})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.dispositions",{url:"/dispositions",controller:"SmsAccountDispositionViewCtrl",templateUrl:"app/channels/sms/account/view/disposition/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountHooksViewCtrl",["$scope","SmsAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert",function(a,b,c,d,e,f,g,h,i){a.account={},a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.initView=function(){a.types=[{value:"",name:"-- None --"},{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],c.get().$promise.then(function(b){a.pauses=b.rows})["catch"](function(a){i.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b,a.account.actions.length<1&&a.account.actions.push({action:"pause",enabled:!1,type:null})})["catch"](function(a){i.error(a)})},a.resetActionData=function(a){a.type=null},a.updateItemSmsAccount=function(){return console.log(a.account),b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.hooks",{url:"/hooks",controller:"SmsAccountHooksViewCtrl",templateUrl:"app/channels/sms/account/view/hooks/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountSettingViewCtrl",["$scope","SmsAccount","Pause","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.types=[{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],a.account={},a.initView=function(){j.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){console.error(a)}),b.get({id:e.accountId}).$promise.then(function(b){a.account=b})["catch"](function(a){i.error(a)})},a.updateItemSmsAccount=function(){return b.update({id:e.accountId},a.account).$promise.then(function(){i.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view.settings",{url:"/settings",controller:"SmsAccountSettingViewCtrl",templateUrl:"app/channels/sms/account/view/setting/view/view.html"})}]),angular.module("xCallyShuttleApp").controller("SmsAccountViewCtrl",["$scope","SmsAccount","$http","$stateParams","clipboard","$translate","$location","xAlert","List",function(a,b,c,d,e,f,g,h,i){a.initView=function(){return a.account={},b.get({id:d.accountId}).$promise.then(function(b){a.account=b,console.log(b)})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.view",{url:"/view/:accountId",templateUrl:"app/channels/sms/account/view/view.html",controller:"SmsAccountViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("SmsAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert","SmsAccount",function(a,b,c,d,e,f,g){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.item={},a.item.remote=c.protocol()+"://"+location.host},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){return console.log(a.item),g.save(a.item).$promise.then(function(){c.path("/channels/sms/accounts/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.accounts.wizard",{url:"/wizard",templateUrl:"app/channels/sms/account/wizard/wizard.html",controller:"SmsAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox",{url:"/inbox",template:"<div ui-view></div>",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").directive("smsRoom",["$cookieStore","$translate","$uibModal","$timeout","Tag","CannedAnswer","Auth","SmsAccount","SmsRoom","SmsMessage","xAlert","usSpinnerService","socket","$stateParams","$rootScope",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/channels/sms/inbox/room/room.directive.html",link:function(a){a.modelOptions={debounce:{"default":500,blur:250},getterSetter:!0},a.panelLeft=null,a.panelRight="col-md-12",a.togglePanelLeft=function(){a.panelLeft?(a.panelLeft=null,a.panelRight="col-md-12"):(a.panelLeft="col-md-6",a.panelRight="col-md-6")},a.form={disabled:!1,from:"",to:a.workspace.data&&a.workspace.data.to?a.workspace.data.to:"",body:""},m.socket.on("sms_message:save",function(b){return a.workspace.id&&b.SmsRoomId==a.workspace.id?j.get({id:b.id}).$promise.then(function(b){a.SmsRoom||(a.SmsRoom={SmsMessages:[]});var c=_.findIndex(a.SmsRoom.SmsMessages,{id:b.id});c>-1?_.merge(a.SmsRoom.SmsMessages[c],b):a.SmsRoom.SmsMessages.unshift(b),a.panelLeft="col-md-6",a.panelRight="col-md-6"})["catch"](function(a){console.error(a)}):void 0}),m.socket.on("sms_message:update",function(b){if(a.SmsRoom&&b.SmsRoomId==a.workspace.id){var c=_.find(a.SmsRoom.SmsMessages,{id:b.id});c&&_.merge(c,b)}}),m.socket.on("sms_room:save",function(b){a.SmsRoom&&b.id==a.workspace.id&&(a.SmsRoom.status=b.status,a.SmsRoom.disposition=b.disposition)}),a.closeRoom=function(b){return c.open({animation:!0,templateUrl:"app/channels/sms/inbox/view/view.status.modal.html",controller:"SmsInboxViewModalStatusCtrl",resolve:{closed:function(){return"CLOSED"===a.SmsRoom.status},accountId:function(){return a.SmsRoom.SmsAccountId}}}).result.then(function(a){var c={id:b,status:"CLOSED"};return a.disposition&&(c.disposition=a.disposition),i.update(c).$promise["catch"](function(a){k.error(a)})})},a.openRoom=function(a,b){var c=_.find(o.workspaces,{id:a,type:"smsRoom"});c?c.active=!0:o.workspaces.push({id:a,name:b,type:"smsRoom","class":"glyphicon glyphicon-comment",active:!0})},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),h.get().$promise.then(function(b){a.smsAccounts=b.rows})["catch"](function(a){console.error(a)}),a.workspace.id?(a.panelLeft="col-md-6",a.panelRight="col-md-6",i.get({id:a.workspace.id}).$promise.then(function(b){a.SmsRoom=b,a.form.from=a.SmsRoom.SmsAccount.phone,a.form.to=a.SmsRoom.contact,a.form.tags=a.SmsRoom.tags})["catch"](function(a){console.error(a)})["finally"](function(){l.stop("spinner-grid"),a.form.disabled=!1})):l.stop("spinner-grid"),a.onSelect=function(){a.form.body+=a.modelOptions.selectedAnswer,delete a.modelOptions.selectedAnswer},a.onSelectAnswer=function(b){a.form.body+=b,a.selectedAnswer=""},a.getAnswers=function(a){return f.get({key:a}).$promise.then(function(a){return _.map(a.rows,"value")})},a.onChanged=function(){return i.patch({id:a.workspace.id},{tags:a.form.tags}).$promise["catch"](function(a){console.error(a)})},a.sendSMS=function(){l.spin("spinner-grid");var c=_.find(a.smsAccounts,{phone:a.form.from}),d={body:a.form.body,SmsRoomId:a.SmsRoom?a.SmsRoom.id:null};return"twilio"===c.type?(d.from=/^[\+][0-9]+$/.test(a.form.from)?a.form.from:"+"+a.form.from,d.to=/^[\+][0-9]+$/.test(a.form.to)?a.form.to:"+"+a.form.to):(d.from=/^[\+][0-9]+$/.test(a.form.from)?a.form.from.replace("+",""):a.form.from,d.to=/^[\+][0-9]+$/.test(a.form.to)?a.form.to.replace("+",""):a.form.to),c?h.save({accountId:c.id,controller:"send"},d).$promise.then(function(c){return k.show(b.instant("MESSAGE_WELL_DONE"),"success"),a.SmsRoom?a.SmsRoom:i.get({id:"messages",controller:c.id}).$promise}).then(function(b){b&&(a.form.body="",a.workspace.id=b.id,a.workspace.name=b.contact,a.SmsRoom=b,a.panelLeft="col-md-6",a.panelRight="col-md-6")})["catch"](function(a){k.error(a)})["finally"](function(){l.stop("spinner-grid")}):void console.log("Can not find account")}}}}]),angular.module("xCallyShuttleApp").controller("SmsInboxInfoModalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","xAlert","data","uniqueId","ReportSquare",function(a,b,c,d,e,f,g,h){a.data=null,a.initInfo=function(){f&&(a.data=_.isEmpty(JSON.parse(f))?null:JSON.parse(f)),g&&h.get({controller:"show",uniqueid:g}).$promise.then(function(b){a.data={id:b.id,channel:b.channel,uniqueid:b.uniqueid,callerid:b.callerid,calleridname:b.calleridname,project_name:b.project_name,extension:b.extension}})["catch"](function(b){switch(b.status){case 404:a.data=null;break;default:e.error(b)}})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").directive("sms",["$rootScope","SmsMessage","List","xAlert","$translate","$uibModal",function(a,b,c,d,e,f){return{restrict:"E",scope:{smsMessage:"=message",accounttype:"=accounttype",listId:"="},templateUrl:"app/channels/sms/inbox/sms/sms.html",link:function(b){b.openContact=function(f){return b.listId?c.save({listId:b.listId,controller:"contacts"},{mobile:f}).$promise.then(function(b){var c=_.find(a.$root.workspaces,{contactID:b.id});c?c.active=!0:a.$root.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.phone,type:"contact"})})["catch"](function(a){console.error(a)}):void d.show(e.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")},b.info=function(a,b){f.open({animation:!0,templateUrl:"app/channels/sms/inbox/sms/info.modal.html",controller:"SmsInboxInfoModalCtrl",resolve:{data:function(){return b},uniqueId:function(){return a}}})}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox.view.account",{url:"/account/:id",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewAccountListCtrl",["$scope","$rootScope","$uibModal","$translate","$stateParams","$state","Tag","usSpinnerService","socket","SmsAccount","SmsRoom","gridOptions","uiGridConstants","Auth","Modal","xAlert","uibButtonConfig","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a.initView=function(){q.activeClass="green-haze",a.id=[],a.isAdmin=n.isAdmin(),a.isAgent=n.isAgent(),a.uncheckable=!1,a.query={status:r.get("smsStatus")?r.get("smsStatus"):"NEW",tags:r.get("smsTags")?r.get("smsTags"):[]},a.$watch("query.status",function(){r.set("smsStatus",a.query.status),a.getPage()},!0),g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)}),a.gridOptions={exporterCsvFilename:"sms_rooms.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!0,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,columnDefs:[{name:"lastEvent",displayName:"",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div> <span data-ng-class=\"{'icon-arrow-up font-green': row.entity.lastEvent === 'SENT', 'icon-arrow-up font-yellow': row.entity.lastEvent === 'SENDING', 'icon-arrow-down font-green': row.entity.lastEvent === 'RECEIVED', 'icon-close font-red': row.entity.lastEvent === 'FAILED', 'icon-question': !row.entity.lastEvent}\"> </span> </div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"tags",displayName:"",headerCellTemplate:'<i class="icon-tag" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.tags.length ? 'icon-tag' : ''\" title=\"{{row.entity.tags}}\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"voiceSource",displayName:"",headerCellTemplate:'<i class="fa fa-superscript" style="margin-top: 8px; margin-left: 8px;"></i>',cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"row.entity.voiceSource ? 'fa fa-superscript' : ''\"></i></div>",width:30,enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"id",displayName:"Id",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>#{{row.entity.id}}</span></div>",width:75,enableSorting:!1,enableFiltering:!0,enableColumnMenu:!1},{name:"contact",cellClass:"text-center"},{name:"disposition",cellClass:"text-center"},{name:"updatedAt",cellFilter:"date:'MM/dd/yyyy HH:mm'",width:120,enableSorting:!1,enableFiltering:!1,sort:{direction:m.DESC}},{name:"action",cellTemplate:'<div> <a class="btn btn-icon-only font-green" data-ng-click="grid.appScope.openRoom(row.entity.id, row.entity.contact)"><i class="glyphicon glyphicon-comment" aria-hidden="true"></i></a> <a class="btn btn-icon-only font-red" data-ng-show="grid.appScope.isAdmin" data-ng-click="grid.appScope.deleteItem(row.entity.id,row.entity.id)"><i class="fa fa-trash" aria-hidden="true"></i> </div>',enableSorting:!1,cellClass:"ui-grid-vcenter",width:90,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.selection&&(a.gridApi.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.id.push(a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id):_.pull(a.id,a.gridApi.grid.options.primaryKey?b.entity[a.gridApi.grid.options.primaryKey]:b.entity.id)}),a.gridApi.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.id=_.union(a.id,_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id")):_.map(b,a.gridApi.grid.options.primaryKey?"entity."+a.gridApi.grid.options.primaryKey:"entity.id").forEach(function(b){_.pull(a.id,b)})}))}},i.socket.on("sms_room:remove",function(b){_.remove(a.workspaces,{id:b.id,type:"smsRoom"}),_.remove(a.gridOptions.data,{id:b.id})}),a.getPage(a.query)},a.onChanged=function(){a.getPage(a.query)},a.tagItems=function(){return c.open({animation:!0,templateUrl:"app/channels/sms/inbox/view/view.tags.modal.html",controller:"SmsInboxViewModalTagCtrl",resolve:{id:function(){return a.id}}}).result.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[],a.getPage()})},a.disposeItems=function(){return c.open({animation:!0,templateUrl:"app/channels/sms/inbox/view/view.status.modal.html",controller:"SmsInboxViewModalStatusCtrl",resolve:{accountId:function(){return e.id}}}).result.then(function(b){return console.log(b,a.id),k.patch({id:a.id},b).$promise.then(function(){a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})},a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:"smsRoom"});return d?d.active=!0:a.workspaces.push({id:b,name:c,type:"smsRoom","class":"glyphicon glyphicon-comment",active:!0}),b&&"agent"===n.getCurrentUser().role&&"PENDING"!==a.query.status&&"CLOSED"!==a.query.status?k.patch({id:b},{status:"OPEN",openReason:"agent"}).$promise["catch"](function(a){console.error(a)}):void 0},a.getPage=function(b){h.spin("spinner-grid");var c={accountId:e.id,controller:"rooms"};return b&&_.merge(c,b),a.query&&_.merge(c,a.query),j.query(c).$promise.then(function(b){r.set("smsAccountId",e.id),a.gridOptions.data=b,i.socket.on("sms_room:save",function(b){if(console.log("data",b),console.log(b.SmsAccountId,e.id),b.SmsAccountId==e.id){var c=_.find(a.gridOptions.data,{id:b.id});c?c.status!==b.status?_.remove(a.gridOptions.data,{id:b.id}):_.merge(c,b):a.query.status===b.status&&a.gridOptions.data.push(b)}}),i.socket.on("sms_room:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})})["catch"](function(a){console.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.deleteItem=o.confirm["delete"](function(b){var c={id:b};return console.log(c),k["delete"](c).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})}),a.deleteItems=o.confirm["delete"](function(){var b={ids:a.id};return k["delete"](b).$promise.then(function(){a.getPage(),p.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),a.gridApi.selection.clearSelectedRows(),a.id=[]})["catch"](function(a){p.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox.view.account.list",{url:"/list",templateUrl:"app/channels/sms/inbox/view/account/list/list.html",controller:"SmsInboxViewAccountListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalAgentCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Agent","SmsRoom","xAlert","roomId",function(a,b,c,d,e,f,g,h){a.initModal=function(){a.agents=[],a.item={agents:[]},e.get().$promise.then(function(b){b.rows.forEach(function(b){a.agents.push(b)})})["catch"](function(a){console.error(a)}),f.query({id:h,controller:"agents"}).$promise.then(function(b){b.forEach(function(b){a.agents.push(b),a.item.agents.push(b.id)})})["catch"](function(a){console.error(a)}),a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{classes:"btn btn-success",text:"APPLICATION_RETRY",click:function(a){b.close(a)}},{classes:"btn default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]}},a.ok=function(){return f.update({id:h,controller:"agents",agents:a.item.agents}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close()})["catch"](function(a){console.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewCtrl",["$scope","$location","$stateParams","$translate","$uibModal","socket","Auth","xAlert","SmsRoom","SmsAccount","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){return j.get().$promise.then(function(c){var d=null;a.smsAccounts=c.rows,a.smsAccounts.length&&(d="/channels/sms/inbox/view/account/"+(k.get("smsAccountId")||a.smsAccounts[0].id)+"/list"),d&&b.path(d)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.inbox.view",{url:"/view",templateUrl:"app/channels/sms/inbox/view/view.html",controller:"SmsInboxViewCtrl",reload:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalStatusCtrl",["$scope","$uibModalInstance","SmsAccount","accountId",function(a,b,c,d){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_SMS"},a.initDisposition=function(){return a.item={status:"CLOSED"},c.get({accountId:d,controller:"dispositions"}).$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalTagCtrl",["$scope","$uibModalInstance","$translate","$stateParams","Tag","SmsRoom","xAlert","id",function(a,b,c,d,e,f,g,h){console.log(h),a.initModal=function(){return a.tags=[],a.item={tags:[]},a.modal={dismissable:!0,title:"APPLICATION_MESSAGE_SEND_RETRY",text:"MESSAGE_MESSAGE_SEND_RETRY",buttons:[{"class":"btn-success",text:"APPLICATION_TAG",click:function(){var d={status:!0};return f.patch({id:h},{tags:a.item.tags}).$promise.then(function(){g.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(){d.status=!1,g.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})["finally"](function(){b.close(d)})}},{"class":"default",text:"APPLICATION_CANCEL",click:function(a){b.dismiss(a)}}]},e.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("SmsInboxViewModalTemplateCtrl",["$scope","$uibModalInstance","Template",function(a,b,c){a.initModal=function(){return a.item={},c.get().$promise.then(function(b){a.templates=b.rows})["catch"](function(a){console.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsQueueListCtrl",["$scope","SmsQueue","gridOptions","$uibModal","xAlert","Auth",function(a,b,c,d,e,f){a.initView=function(){a.Auth=f;var d={exporterCsvFilename:"voice_queues.csv",columnDefs:[{name:"name"},{name:"description"},{name:"timeout"},{name:"strategy"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/sms/queues/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/sms/queues/view/{{row.entity.id}}/agents",name:"agents",hide:"user"===f.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/sms/queue/list/list.create.modal.html",controller:"SmsQueueListCreateCtrl",size:"lg"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("SmsQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","SmsQueue","Team","strategies",function(a,b,c,d,e,f,g){a.form={},a.strategies=g,a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return console.log(a.item),e.save(a.item).$promise.then(function(a){b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.queues.list",{url:"/list",templateUrl:"app/channels/sms/queue/list/list.html",controller:"SmsQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("SmsQueue",["$resource",function(a){return a("/api/sms/queues/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.queues",{url:"/queues",template:"<div ui-view></div>",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsQueueViewCtrl",["$scope","$http","Auth","$translate","$stateParams","xAlert","Team","SmsQueue","strategies",function(a,b,c,d,e,f,g,h,i){a.strategies=i,a.Auth=c;var j=function(){return{select:function(b){return h.save({id:a.queue.id,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(b){console.log("sel",b),a.getTeams()})["catch"](function(a){console.error(a)})},deselect:function(b){return h["delete"]({id:a.queue.id,controller:"agents",agents:b}).$promise.then(function(b){console.log("desel",b),a.getTeams()})["catch"](function(a){console.error(a)})}}};a.getQueue=function(){return h.get({id:e.id}).$promise.then(function(b){b.penalty=0,a.queue=b})["catch"](function(a){console.error(a)})},a.updateSmsQueue=function(){return h.update({id:e.id},{name:a.queue.name,description:a.queue.description,timeout:a.queue.timeout,strategy:a.queue.strategy}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.getTeams=function(){return g.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,console.log(b.rows),h.get({id:e.id,controller:"agents"}).$promise}).then(function(b){console.log(b),ComponentsDropdowns.bindSmsQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasSmsQueue.penalty}}),j)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.queues.view",{url:"/view/:id",templateUrl:"app/channels/sms/queue/view/view.html",controller:"SmsQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.sms.queues.view.settings",{url:"/settings",templateUrl:"app/channels/sms/queue/view/view.settings.html"}).state("main.channels.sms.queues.view.agents",{url:"/agents",templateUrl:"app/channels/sms/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}})}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","SmsQueue","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){return k.spin("grid-spinner"),g.get(s).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){p(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function o(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.smsPause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_sms_queue:save",function(b){console.log("new queue",b);var c=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0}),d=a.gridOptions.data.indexOf(c);a.gridOptions.data.splice(d+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,queueId:b.SmsQueueId,agent:b.membername,online:c.online})}),e.socket.on("user_has_sms_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queueId:b.SmsQueueId})})}function p(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.smsPause,pauseType:b.pauseType,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.SmsQueues.forEach(function(c){a.gridOptions.data.push({
+isAgent:!1,agentId:b.id,queue:c.name,queueId:c.id,agent:b.name,online:b.online})})}function q(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function r(){return j.get().$promise.then(function(b){a.smsQueues=b.rows,e.syncUpdates("sms_queue",a.smsQueues)})["catch"](function(a){f.error(a)})}a.smsQueues=[];var s={controller:"realtime",controller1:"sms",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"smsPause",displayName:"APPLICATION_PAUSE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.pause != null && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor left-margin" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select> <span data-ng-if="row.entity.pause" class="left-margin">({{row.entity.pauseType}})</span><span class="left-margin"><timer data-ng-if="row.entity.pause" start-time="grid.appScope.moment(row.entity.lastPauseAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"PAUSED"},{value:"false",label:"NOT PAUSED"}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queueId" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queueId)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.smsQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){t(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?s.order=null:s.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),n()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){s.offset=(a-1)*b,s.limit=b,n()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?s[a.name]=a.filters[0].term:delete s[a.name]}),n()})}},n(),q(),r(),o()};var t=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_sms_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"sms"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/sms/realtime/view/agent/queue.modal.add.html",controller:"SmsRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.smsQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(b){return i.save({name:"QueueAdd",agent:e,queues:_.filter(a.smsQueues,function(a){return _.includes(b.queues,a.id)}),channel:"sms",data1:e,data3:b.queues.join(","),data4:"sms"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queueId:b,channel:"sms",data1:a,data3:b,data4:"sms"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/sms/realtime/view/agent/agent.modal.info.html",controller:"SmsRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/sms/realtime/view/agent/agent.html",controller:"SmsRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","$http","agent",function(a,b,c,d){a.agent=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewApplicationCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportSmsSession","usSpinnerService","$q","uiGridConstants","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){function l(){return h.spin("spinner-grid"),g.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){m(),h.stop("spinner-grid")})}function m(){e.socket.on("report_sms_session:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&k(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4)):b.leaveAt||a.gridOptions.data.push(b)}),e.socket.on("report_sms_session:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}a.moment=moment,a.initApplications=function(){a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span> <span data-ng-if="!row.entity.leaveAt">[<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"},{name:"queuename",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.queuename || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridOptions.data.length)})}},l()};var n=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_sms_session")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime.view.applications",{url:"/applications",templateUrl:"app/channels/sms/realtime/view/application/application.html",controller:"SmsRealtimeViewApplicationCtrl"})}]),angular.module("xCallyShuttleApp").controller("SmsRealtimeViewCtrl",["$scope","$state",function(a,b){a.agents=[{name:"Queues",link:"main.channels.sms.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.sms.realtime.view.agents.timeline"}],a.sessions=[{name:"Sessions",link:"main.channels.sms.realtime.view.sessions"}],a.tree={queues:[{name:"Queues",link:"main.channels.sms.realtime.view.agents.queues"},{name:"Timeline",link:"main.channels.sms.realtime.view.agents.timeline"}],sessions:[{name:"Sessions",link:"main.channels.sms.realtime.view.sessions"}]}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms.realtime.view",{url:"/view",templateUrl:"app/channels/sms/realtime/view/view.html",controller:"SmsRealtimeViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("ReportSmsSession",["$resource",function(a){return a("/api/report/sms/sessions/:id/:controller/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.sms",{url:"/sms",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SmsMessage",["$resource",function(a){return a("/api/sms/messages/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").factory("SmsQueue",["$resource",function(a){return a("/api/sms/queues/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SmsReport",["$resource",function(a){return a("/api/report/sms/:id/:controller1/:controller2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SmsRoom",["$resource",function(a){return a("/api/sms/rooms/:id/:controller",{id:"@id",controller:"@controller"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").factory("ChanSpy",["$resource",function(a){return a("/api/chanspy/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.chanspy",{url:"/chanspy",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("ChanSpyListCtrl",["$scope","$uibModal","ChanSpy","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"chanspy.csv",columnDefs:[{name:"name"},{name:"prefix"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/chanspy/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/channels/voice/chanspy/list/list.create.modal.html",controller:"ChanSpyListCreateCtrl"});c.result.then(function(b){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ChanSpyListCreateCtrl",["$scope","$translate","$uibModalInstance","ChanSpy","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.options=[{name:"APPLICATION_CHANSPY_OPTION_b",value:"b"},{name:"APPLICATION_CHANSPY_OPTION_B",value:"B"},{name:"APPLICATION_CHANSPY_OPTION_E",value:"E"},{name:"APPLICATION_CHANSPY_OPTION_o",value:"o"},{name:"APPLICATION_CHANSPY_OPTION_q",value:"q"},{name:"APPLICATION_CHANSPY_OPTION_s",value:"s"},{name:"APPLICATION_CHANSPY_OPTION_S",value:"S"},{name:"APPLICATION_CHANSPY_OPTION_w",value:"w"},{name:"APPLICATION_CHANSPY_OPTION_W",value:"W"}],a.save=function(){return a.item.options=a.item.options.join(""),d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.chanspy.list",{url:"/list",templateUrl:"app/channels/voice/chanspy/list/list.html",controller:"ChanSpyListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChanSpyViewCtrl",["$scope","$translate","$stateParams","xAlert","ChanSpy",function(a,b,c,d,e){a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.options=[{name:"APPLICATION_CHANSPY_OPTION_b",value:"b"},{name:"APPLICATION_CHANSPY_OPTION_B",value:"B"},{name:"APPLICATION_CHANSPY_OPTION_E",value:"E"},{name:"APPLICATION_CHANSPY_OPTION_o",value:"o"},{name:"APPLICATION_CHANSPY_OPTION_q",value:"q"},{name:"APPLICATION_CHANSPY_OPTION_s",value:"s"},{name:"APPLICATION_CHANSPY_OPTION_S",value:"S"},{name:"APPLICATION_CHANSPY_OPTION_w",value:"w"},{name:"APPLICATION_CHANSPY_OPTION_W",value:"W"}],a.getChanSpy=function(){return e.get({id:c.id}).$promise.then(function(b){b.options=b.options.split(""),a.chanspy=b})["catch"](function(a){d.error(a)})},a.updateChanSpy=function(){var f=angular.copy(a.chanspy);return f.options=f.options.join(""),e.update({id:c.id},f).$promise.then(function(){d.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.chanspy.view",{url:"/view/:id",templateUrl:"app/channels/voice/chanspy/view/view.html",controller:"ChanSpyViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.chanspy.view.settings",{url:"/settings",templateUrl:"app/channels/voice/chanspy/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("VoiceContext",["$resource",function(a){return a("/api/voice/contexts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.contexts",{url:"/contexts",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceContextListCtrl",["$scope","VoiceContext","gridOptions","$uibModal","xAlert","$translate",function(a,b,c,d,e,f){a.initView=function(){var d={exporterCsvFilename:"voice_contexts.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"{{row.entity.defaultEntry ? 'blue-hoki disabled' : 'blue-hoki'}}",href:"/channels/voice/contexts/view/{{row.entity.id}}/settings",name:"settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){var c=d.open({animation:!0,templateUrl:"app/channels/voice/context/list/create.modal.html",controller:["$scope","$uibModalInstance",function(a,b){a.form={},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]});c.result.then(function(c){return b.save(c).$promise.then(function(){a.gridOptions.getPage(),e.show(f.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){e.error(a)})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.contexts.list",{url:"/list",templateUrl:"app/channels/voice/context/list/list.html",controller:"VoiceContextListCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceContextViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getContext=function(){b.get("/api/voice/contexts/"+e.id).success(function(b){a.context=b}).error(function(a){console.error(a),f.path("/voice/contexts/list")})},a.updateVoiceContext=function(){var f=angular.copy(a.context);b.put("/api/voice/contexts/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.error(b),a.context=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.contexts.view",{url:"/view/:id",templateUrl:"app/channels/voice/context/view/view.html",controller:"VoiceContextViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.contexts.view.settings",{url:"/settings",templateUrl:"app/channels/voice/context/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.dispositions",{url:"/dispositions",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceDispositionListCtrl",["$scope","$stateParams","$uibModal","$translate","VoiceDisposition","xAlert",function(a,b,c,d,e,f){a.initView=function(){return e.get().$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateDisposition=function(a,b){return e.update({id:a},{name:b}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.deleteDisposition=function(b){return e.remove({id:b}).$promise.then(function(){_.remove(a.dispositions,{id:b}),f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){console.error(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addDisposition=function(){return c.open({animation:!0,templateUrl:"app/channels/voice/disposition/list/modal/add.modal.html",controller:"VoiceDispositionListModalDispositionAddCtrl"}).result.then(function(b){b&&(a.dispositions.push(b),f.show(d.instant("MESSAGE_WELL_DONE")+"!","success"))})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.dispositions.list",{url:"/list",templateUrl:"app/channels/voice/disposition/list/list.html",controller:"VoiceDispositionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceDispositionListModalDispositionAddCtrl",["$scope","$uibModalInstance","VoiceDisposition","xAlert","$translate",function(a,b,c,d,e){a.ok=function(){return c.save({name:a.name}).$promise.then(function(a){b.close(a)})["catch"](function(a){d.show(e.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").factory("VoiceDisposition",["$resource",function(a){return a("/api/voice/dispositions/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("VoiceMohListCtrl",["$scope","gridOptions","VoiceMoh","$uibModal","xAlert","$translate",function(a,b,c,d,e,f){a.initView=function(){var d={exporterCsvFilename:"voice_mohs.csv",columnDefs:[{name:"name"},{name:"directory"},{name:"sort"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/mohs/view/{{row.entity.id}}/settings",name:"settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a)},a.createItem=function(){var b=d.open({animation:!0,templateUrl:"app/channels/voice/moh/list/create.modal.html",controller:["$scope","$uibModalInstance",function(a,b){a.form={},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]});b.result.then(function(b){return c.save(b).$promise.then(function(){a.gridOptions.getPage(),e.show(f.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.mohs.list",{url:"/list",templateUrl:"app/channels/voice/moh/list/list.html",controller:"VoiceMohListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("VoiceMoh",["$resource",function(a){return a("/api/voice/musiconholds/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.mohs",{url:"/mohs",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceMohViewCtrl",["$scope","$http","xAlert","$translate","VoiceMoh","$stateParams","socket","Modal","$sce","$location","Sound",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=d,a.audioSources={},a.sortOptions=[{value:"random",name:"APPLICATION_RANDOM"},{value:"alpha",name:"APPLICATION_ALPHABETICAL"}],a.getMoh=function(){return e.get({id:f.id}).$promise.then(function(b){delete b.stamp,a.moh=b})["catch"](function(a){c.error(a)})},a.updateVoiceMoh=function(){return console.log("update"),e.update({id:f.id},a.moh).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){c.error(a)})},a.addMohs=function(){return e.save({id:f.id,controller:"files"},a.item).$promise.then(function(){j.path("/channels/voice/mohs/view/"+f.id+"/audios")})["catch"](function(a){c.error(a)})},a.getAudioFiles=function(){return e.get({id:f.id,controller:"files"}).$promise.then(function(b){a.audioFiles=b.files,a.mohPath=b.path,a.audioFiles.forEach(function(a){l(a)})})["catch"](function(a){c.error(a)})},a.getSecureSrc=function(a){return i.trustAsResourceUrl(a)},a.getSounds=function(){return a.item={sounds:[]},k.get().$promise.then(function(b){a.soundList=b.rows})["catch"](function(a){c.error(a)})};var l=function(c){b.get("/api/voice/musiconholds/stream",{params:{path:encodeURI(a.mohPath+"/"+c)}}).success(function(b){a.audioSources[c]="data:audio/ogg;base64,"+b}).error(function(a){console.error(a)})};a.deleteItem=h.confirm["delete"](function(e){b["delete"]("/api/voice/musiconholds/"+f.id+"/files",{params:{filename:e}}).success(function(){_.remove(a.audioFiles,function(a){return a===e}),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.error(a)})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.mohs.view",{url:"/view/:id",templateUrl:"app/channels/voice/moh/view/view.html",controller:"VoiceMohViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.mohs.view.settings",{url:"/settings",templateUrl:"app/channels/voice/moh/view/view.settings.html"}).state("main.channels.voice.mohs.view.audios",{url:"/audios",templateUrl:"app/channels/voice/moh/view/view.audios.html",cache:!1}).state("main.channels.voice.mohs.view.add",{url:"/add",templateUrl:"app/channels/voice/moh/view/view.addFiles.html",cache:!1})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCtrl",["$scope","$rootScope","$uibModal","VoiceQueue","gridOptions","Auth",function(a,b,c,d,e,f){a.initView=function(){a.Auth=f;var b={exporterCsvFilename:"voice_queues.csv",primaryKey:"name",columnDefs:[{name:"name"},{name:"strategy"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/channels/voice/queues/view/{{row.entity.name}}/settings",name:"settings"},{"class":"green-meadow",href:"/channels/voice/queues/view/{{row.entity.name}}/agents",name:"agents",hide:"user"===f.getCurrentUser().role},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.name)"}]}]};a.gridOptions=e.gridOptions(d,b,a)},a.createItem=function(){var b=c.open({animation:!0,templateUrl:"app/channels/voice/queue/list/list.create.modal.html",controller:"VoiceQueueListCreateCtrl",size:"lg"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCreateCtrl",["$scope","$uibModalInstance","$translate","xAlert","VoiceQueue","Team",function(a,b,c,d,e,f){a.form={},a.item={penalty:0,agents:[]},a.getTeams=function(){return f.get({controller:"associations"}).$promise.then(function(b){a.teams=b.rows}).then(function(){ComponentsDropdowns.bindQueue(a.teams,[],function(){return{select:function(b){a.item.agents=_.union(a.item.agents,b),console.log(a.item.agents)},deselect:function(b){a.item.agents=_.difference(a.item.agents,b),console.log(a.item.agents)}}})})["catch"](function(a){console.error(a)})},a.save=function(){return e.save(a.item).$promise.then(function(a){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),b.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.queues.list",{url:"/list",templateUrl:"app/channels/voice/queue/list/list.html",controller:"VoiceQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").factory("ReportQueue",["$resource",function(a){return a("/api/report/queues/:id/:controller/:controller2",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueViewCtrl",["$scope","xAlert","$translate","$stateParams","socket","$location","VoiceQueue","VoiceContext","Team","Auth","VoiceMoh","Sound","Setting",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.penalty=0,a.Auth=j,a.binaryChoices=[{name:"Yes",value:1},{name:"No",value:0}],a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.monitorFormats=[{name:"wav",value:"wav"},{name:"gsm",value:"gsm"},{name:"Inactive",value:""}],a.queueAnnounces=[{display_name:"Default",value:null},{display_name:"Disabled",value:""}];var n=function(){return{select:function(b){return g.save({id:a.queue.name,controller:"agents"},{agents:b,penalty:a.queue.penalty}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})},deselect:function(b){return g["delete"]({id:a.queue.name,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})}}};a.getQueue=function(){return g.get({id:d.id}).$promise.then(function(b){b.joinempty=""===b.joinempty?[]:b.joinempty.split(","),b.leavewhenempty=""===b.leavewhenempty?[]:b.leavewhenempty.split(","),b.periodic_announce=""===b.periodic_announce?[]:b.periodic_announce.split(","),b.setinterfacevar="yes"===b.setinterfacevar?!0:!1,b.setqueuevar="yes"===b.setqueuevar?!0:!1,b.setqueueentryvar="yes"===b.setqueueentryvar?!0:!1,b.penalty=0,a.queue=b})["catch"](function(a){f.path("/channels/voice/queues/list")})},a.updateVoiceQueue=function(){var e=angular.copy(a.queue);return e.joinempty=e.joinempty.join(","),e.leavewhenempty=e.leavewhenempty.join(","),e.periodic_announce=e.periodic_announce.join(","),e.setinterfacevar=e.setinterfacevar?"yes":"no",e.setqueuevar=e.setqueuevar?"yes":"no",e.setqueueentryvar=e.setqueueentryvar?"yes":"no",e.context||(e.context=null),g.update({id:d.id},e).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},a.getTeams=function(){return i.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,g.get({id:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindQueue(a.teams,_.map(b.rows,function(a){return{id:a.id,penalty:a.UserHasVoiceQueue.penalty}}),n)})["catch"](function(a){console.error(a)})},a.getContexts=function(){return h.get().$promise.then(function(b){a.voiceContexts=b.rows})["catch"](function(a){b.error(data)})},a.getMohs=function(){return k.get().$promise.then(function(b){a.voiceMohs=b.rows,e.syncUpdates("voice_musiconhold",a.voiceMohs)})["catch"](function(a){b.error(a)})},a.getSounds=function(){var b;return m.get({id:1}).$promise.then(function(a){return b=a,l.get().$promise}).then(function(c){var d=b.soundPath||"/var/opt/motion/server/files/sounds/converted";_.forEach(c.rows,function(a){a.path=(d+"/"+a.save_name).replace(/\/+/g,"/").replace(/\\+/g,"\\")}),a.queueAnnounces=a.queueAnnounces.concat(c.rows),a.periodicAnnounces=angular.copy(c.rows),c.rows.unshift({display_name:"None",value:""}),a.sounds=c.rows,e.syncUpdates("sound",a.sounds)})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.queues.view",{url:"/view/:id",templateUrl:"app/channels/voice/queue/view/view.html",
+controller:"VoiceQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.queues.view.settings",{url:"/settings",templateUrl:"app/channels/voice/queue/view/view.settings.html"}).state("main.channels.voice.queues.view.agents",{url:"/agents",templateUrl:"app/channels/voice/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("VoiceQueue",["$resource",function(a){return a("/api/voice/queues/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAbandonedCtrl",["$scope","$translate","socket","xAlert","ReportQueue","usSpinnerService","$q","Auth","uiGridConstants",function(a,b,c,d,e,f,g,h,i){function j(){return f.spin("spinner-grid"),e.get({controller:"abandoned",controller2:"all"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){d.error(a)})["finally"](function(){k(),f.stop("spinner-grid")})}function k(){c.socket.on("report_queue:save",function(b){a.gridOptions.data.unshift(b)}),c.socket.on("report_queue:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&_.merge(c,b)})}a.radioSwitch={size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"success",onColor:"danger"};a.initAbandoned=function(){a.agent=h.getCurrentUser(),a.gridOptions={exporterCsvFilename:"abandoned_calls.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:1,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"calleridnum",displayName:"APPLICATION_CALLERIDNUM",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"updatedAt",displayName:"APPLICATION_DATE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.updatedAt | date:'yyyy-MM-dd HH:mm:ss'}}</div>"},{name:"lastAssignedTo",cellClass:"text-center ui-grid-vcenter",displayName:"APPLICATION_LAST_ASSIGNED_TO",headerCellFilter:"translate"},{name:"assigned",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.assigned" type="checkbox" switch-active="{{ !row.entity.assigned || grid.appScope.agent.name === row.entity.lastAssignedTo }}" switch-on-text="{{ \'APPLICATION_ASSIGNED\' | translate }}" switch-off-text="{{ \'APPLICATION_FREE\' | translate }}" switch-on-color="{{ grid.appScope.radioSwitch.onColor }}" switch-off-color="{{ grid.appScope.radioSwitch.offColor }}" switch-animate="{{ grid.appScope.radioSwitch.animate }}" switch-size="{{ grid.appScope.radioSwitch.size }}" switch-label="{{ grid.appScope.radioSwitch.label }}" switch-icon="{{ grid.appScope.radioSwitch.icon }}" switch-radio-off="{{ grid.appScope.radioSwitch.radioOff }}" switch-label-width="{{ grid.appScope.radioSwitch.labelWidth }}" switch-handle-width="{{ grid.appScope.radioSwitch.handleWidth }}"></div>',enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var c=g.defer();return c.resolve(b.instant(a)),c.promise},onRegisterApi:function(b){a.gridApi=b}},j()},a.updateItem=function(c){return e.update({id:c.id},{assigned:c.assigned,lastAssignedTo:c.assigned?a.agent.name:void 0}).$promise.then(function(){d.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})};a.$on("$destroy",function(){c.unsyncUpdates("report_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.abandoned",{url:"/abandoned",templateUrl:"app/channels/voice/realtime/view/abandoned/abandoned.html",controller:"VoiceRealtimeViewAbandonedCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Agent","Pause","Action","VoiceQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return k.spin("grid-spinner"),g.get(t).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){q(a)})})["catch"](function(a){f.error(a)})["finally"](function(){k.stop("grid-spinner")})}function p(){e.socket.on("agent:save",function(b){var c=_.find(a.gridOptions.data,{agentId:b.id,isAgent:!0});c&&(c.online=b.online,c.lastLoginAt=b.lastLoginAt,c.pause=b.voicePause,c.pauseType=b.pauseType,c.lastPauseAt=b.lastPauseAt,b.status&&(c.status=b.status),c.statusAt=b.statusAt,b.queueStatus&&(c.queueStatus=b.queueStatus),c.queueStatusAt=b.queueStatusAt,c.lastQueue=b.lastQueue,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal,_.map(a.gridOptions.data,function(a){a.isAgent||a.agentId!==b.id||(a.online=b.online)}))}),e.socket.on("agent:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.id})}),e.socket.on("user_has_voice_queue:save",function(b){var c=_.includes(_.map(a.CurrentUser.PVoiceQueues,"name"),b.queue)||n.isAdmin(),d=_.find(a.gridOptions.data,{agentId:b.UserId,queue:b.queue});if(!d&&b.logged&&c){var e=_.find(a.gridOptions.data,{agentId:b.UserId,isAgent:!0}),f=a.gridOptions.data.indexOf(e);a.gridOptions.data.splice(f+1,0,{isAgent:!1,agentId:b.UserId,queue:b.queue,agent:b.membername,callstaken:b.callstaken?b.callstaken:0,online:e.online})}else d&&!b.logged?_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue}):d&&b.logged&&c&&(d.callstaken=b.callstaken?b.callstaken:0)}),e.socket.on("user_has_voice_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue})})}function q(b){a.gridOptions.data.push({isAgent:!0,agentId:b.id,agent:b.name,online:b.online,lastLoginAt:b.lastLoginAt,lastPauseAt:b.lastPauseAt,pause:b.voicePause,pauseType:b.pauseType,status:b.status||"UNKNOWN",statusAt:b.statusAt,queueStatus:b.queueStatus||"READY",queueStatusAt:b.queueStatusAt,lastQueue:b.lastQueue,ipaddr:b.ipaddr,port:b.port,fullcontact:b.fullcontact,useragent:b.useragent,lastms:b.lastms,internal:b.internal,$$treeLevel:0}),b.VoiceQueues.forEach(function(c){c.UserHasVoiceQueue.logged&&a.gridOptions.data.push({isAgent:!1,agentId:b.id,queue:c.name,agent:b.name,callstaken:c.UserHasVoiceQueue.callstaken?c.UserHasVoiceQueue.callstaken:0,online:b.online})})}function r(){return h.get().$promise.then(function(b){a.pauses=b.rows,e.syncUpdates("pause",a.pauses)})["catch"](function(a){f.error(a)})}function s(){return j.get().$promise.then(function(b){a.voiceQueues=b.rows,e.syncUpdates("voice_queue",a.voiceQueues)})["catch"](function(a){f.error(a)})}a.voiceQueues=[];var t={controller:"realtime",controller1:"voice",offset:0,limit:10};a.moment=moment,a.initAgents=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.agent}} <{{row.entity.internal}}></div>'},{name:"online",displayName:"APPLICATION_ONLINE",width:150,headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.online != null && row.entity.isAgent"><i class="fa" data-ng-class="{\'font-green\':row.entity.online, \'font-red\':!row.entity.online,\'fa-user\':row.entity.online,\'fa-user-times\':!row.entity.online}"></i> <span data-ng-if="row.entity.online" class="left-margin">(<timer start-time="grid.appScope.moment(row.entity.lastLoginAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"true",label:"ONLINE"},{value:"false",label:"OFFLINE"}]}},{name:"status",displayName:"APPLICATION_PHONE_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{'APPLICATION_'+row.entity.status | translate}} <span data-ng-if=\"row.entity.statusAt && (row.entity.status === 'BUSY' || row.entity.status === 'ONHOLD' || row.entity.status === 'INUSE')\">(<timer start-time=\"grid.appScope.moment(row.entity.statusAt).unix()*1000\">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></span></div>",filter:{type:m.filter.SELECT,selectOptions:[{value:"UNKNOWN",label:d.instant("APPLICATION_UNKNOWN")},{value:"NOT_INUSE",label:d.instant("APPLICATION_NOT_INUSE")},{value:"INUSE",label:d.instant("APPLICATION_INUSE")},{value:"BUSY",label:d.instant("APPLICATION_BUSY")},{value:"INVALID",label:d.instant("APPLICATION_INVALID")},{value:"UNAVAILABLE",label:d.instant("APPLICATION_UNAVAILABLE")},{value:"RINGING",label:d.instant("APPLICATION_RINGING")},{value:"RINGINUSE",label:d.instant("APPLICATION_RINGINUSE")},{value:"ONHOLD",label:d.instant("APPLICATION_ONHOLD")}]}},{name:"queueStatus",displayName:"APPLICATION_QUEUE_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent && row.entity.online" class="ui-grid-vcenter" data-ng-class="{\'paused-agent\':row.entity.pause}"><span class="left-margin"><i data-ng-if="row.entity.pause" data-ng-click="grid.appScope.pause(row.entity.agentId,\'unpause\')" class="fa fa-play font-green pointer-cursor" title="{{\'APPLICATION_RESUME\' | translate}}"></i><i class="fa fa-pause font-yellow pointer-cursor" data-ng-click="grid.appScope.pause(row.entity.agentId,\'pause\',\'DEFAULT PAUSE\')" title="{{\'APPLICATION_DEFAULT_PAUSE\' | translate}}"></i></span><select data-ng-if="grid.appScope.pauses.length" class="pause-select pointer-cursor" data-ng-model="grid.appScope.pauseType" data-ng-change="grid.appScope.pause(row.entity.agentId,\'pause\',grid.appScope.pauseType)"><option class="pointer-cursor" data-ng-repeat="pause in grid.appScope.pauses">{{pause.name}}</option></select><span> {{\'APPLICATION_\'+row.entity.queueStatus.toUpperCase() | translate}}</span><span data-ng-if="(row.entity.queueStatus!==\'complete\' && (row.entity.queueStatus!==\'paused\' || row.entity.pauseType === \'ACW\'))"> [{{row.entity.lastQueue}}]</span><span data-ng-if="row.entity.pause"> [{{row.entity.pauseType}}]</span><timer data-ng-if="row.entity.queueStatusAt && row.entity.queueStatus!==\'complete\'" start-time="grid.appScope.moment(row.entity.queueStatusAt).unix()*1000"> [{{hhours}}:{{mminutes}}:{{sseconds}}]</timer></span></div>',filter:{type:m.filter.SELECT,selectOptions:[{value:"paused",label:d.instant("APPLICATION_PAUSED")},{value:"connect",label:d.instant("APPLICATION_CONNECT")},{value:"complete",label:d.instant("APPLICATION_COMPLETE")},{value:"called",label:d.instant("APPLICATION_CALLED")}]},enableSorting:!1,enableColumnMenu:!1},{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"callstaken",displayName:"APPLICATION_CALLS_TAKEN",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.callstaken !== null">{{row.entity.callstaken}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1,width:100},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button data-ng-if="row.entity.queue" class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.leaveQueue(row.entity.agentId,row.entity.queue)"><i class="icon-ban"></i> {{\'APPLICATION_LEAVE\' | translate}}</button><button data-ng-if="row.entity.isAgent && row.treeNode.children.length < grid.appScope.voiceQueues.length" class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.joinQueue(row.entity.agentId)"><i class="icon-plus"></i> {{\'APPLICATION_JOIN_QUEUE\' | translate}}</button> <button data-ng-if="row.entity.isAgent" class="btn btn-xs blue-madison" data-ng-click="grid.appScope.showInfo(row.entity)"><i class="icon-info"></i></button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=l.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){u(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?t.order=null:t.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),o()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){t.offset=(a-1)*b,t.limit=b,o()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?t[a.name]=a.filters[0].term:delete t[a.name]}),o()})}},o(),r(),s(),p()};var u=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("agent"),e.unsyncUpdates("user_has_voice_queue")}),a.pause=function(b,c,e){return e&&(a.pauseType=null),i.save({name:c,agent:b,type:e||"DEFAULT PAUSE",data4:e||"DEFAULT PAUSE",channel:"voice"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.joinQueue=function(e){var g=c.open({animation:!0,templateUrl:"app/channels/voice/realtime/view/agent/queue.modal.add.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{queues:function(){return _.reject(a.voiceQueues,function(b){return _.find(a.gridOptions.data,{queue:b.name,isAgent:!1,agentId:e})?!0:!1})}}});g.result.then(function(a){return i.save({name:"QueueAdd",agent:e,queues:a.queues,channel:"voice",data1:e,data3:a.queues.join(","),data4:"voice"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},function(){b.info("Modal dismissed at: "+new Date)})},a.leaveQueue=function(a,b){return i.save({name:"QueueRemove",agent:a,queue:b,channel:"voice",data1:a,data3:b,data4:"voice"}).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/voice/realtime/view/agent/agent.modal.info.html",controller:"VoiceRealtimeViewAgentInfoModalCtrl",resolve:{agent:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.agents",{url:"/agents",templateUrl:"app/channels/voice/realtime/view/agent/agent.html",controller:"VoiceRealtimeViewAgentCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentInfoModalCtrl",["$scope","$uibModalInstance","agent",function(a,b,c){a.agent=c,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","queues",function(a,b,c,d){a.queues=d,a.item={},a.save=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewOutboundCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportDial","Pause","Action","usSpinnerService","$q","uiGridConstants","$timeout","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return j.spin("spinner-grid"),g.get({controller:"active",controller2:"calls"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){p(),j.stop("spinner-grid")})}function p(){e.socket.on("report_dial:save",function(b){a.gridOptions.data.unshift(b)}),e.socket.on("report_dial:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&(_.merge(c,b),!b.endtime||b.answertime&&b.answertime==b.endtime||m(function(){_.remove(a.gridOptions.data,{id:b.id})},1e4))})}a.moment=moment,a.initDials=function(){a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"uniqueid",displayName:"APPLICATION_UNIQUEID",headerCellFilter:"translate",cellClass:"text-center"},{name:"agent",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.channel.split('/')[1].split('-')[0]}}</div>"},{name:"calleridnum",displayName:"APPLICATION_CALLERID",headerCellFilter:"translate",cellClass:"text-center"},{name:"dialstring",cellClass:"text-center"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.endtime">{{\'APPLICATION_RINGING\' | translate}}</span><span data-ng-if="row.entity.answertime && row.entity.answertime == row.entity.endtime">{{\'APPLICATION_TALKING\' | translate}}</span><span data-ng-if="row.entity.answertime && row.entity.answertime != row.entity.endtime">{{\'APPLICATION_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.endtime && !row.entity.answertime">{{\'APPLICATION_\'+row.entity.dialstatus | translate}}</span><span data-ng-if="(!row.entity.endtime && !row.entity.answertime) || (row.entity.answertime && row.entity.answertime == row.entity.endtime)"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){q(a.gridOptions.data.length)})}},o()};var q=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_dial")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.outbound",{url:"/outbound",templateUrl:"app/channels/voice/realtime/view/outbound/outbound.html",controller:"VoiceRealtimeViewOutboundCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewParameterCtrl",["$scope","$translate","Dashboard","VoiceQueue","Auth","socket","uiGridConstants",function(a,b,c,d,e,f,g){function h(b){var c=_.find(a.gridOptions.data,{name:b.name});c&&(_.merge(c,b),a.$apply())}var i={offset:0,limit:10};a.initParameters=function(){var b;switch(a.user=e.getCurrentUser(),a.$on("$destroy",function(){b&&(b.terminate(),f.socket.removeAllListeners("dashboard:voice:init"),f.socket.removeAllListeners("dashboard:voice:waiting"),f.socket.removeAllListeners("dashboard:voice:active"),f.socket.removeAllListeners("dashboard:voice:complete"),f.socket.removeAllListeners("dashboard:voice:abandon"),f.socket.removeAllListeners("dashboard:voice:unmanaged"),f.socket.removeAllListeners("dashboard:voice:holdtime"),f.socket.removeAllListeners("dashboard:voice:talktime"))}),a.user.role){case"admin":c.get({id:"voice",controller:"init"}).$promise.then(function(b){for(var c in b.queues)b.queues[c].waiting=b.queues[c].waiting||0,b.queues[c].active=b.queues[c].active||0,b.queues[c].complete=b.queues[c].complete||0,b.queues[c].abandon=b.queues[c].abandon||0,b.queues[c].unmanaged=b.queues[c].unmanaged||0,b.queues[c].holdtime=b.queues[c].holdtime||0,b.queues[c].talktime=b.queues[c].talktime||0,a.gridOptions.data.push(b.queues[c])})["catch"](function(a){console.error(a)});break;case"user":c.get({id:"voice",controller:"init"}).$promise.then(function(b){for(var c in b.queues){var d=_.find(a.user.PVoiceQueues,{name:c});d&&(b.queues[c].waiting=b.queues[c].waiting||0,b.queues[c].active=b.queues[c].active||0,b.queues[c].complete=b.queues[c].complete||0,b.queues[c].abandon=b.queues[c].abandon||0,b.queues[c].unmanaged=b.queues[c].unmanaged||0,b.queues[c].holdtime=b.queues[c].holdtime||0,b.queues[c].talktime=b.queues[c].talktime||0,a.gridOptions.data.push(b.queues[c]))}})["catch"](function(a){console.error(a)})}f.socket.on("dashboard:voice:waiting",function(a){h(a)}),f.socket.on("dashboard:voice:active",function(a){h(a)}),f.socket.on("dashboard:voice:complete",function(a){h(a)}),f.socket.on("dashboard:voice:abandon",function(a){h(a)}),f.socket.on("dashboard:voice:unmanaged",function(a){h(a)}),f.socket.on("dashboard:voice:talktime",function(a){h(a)}),f.socket.on("dashboard:voice:holdtime",function(a){h(a)})},a.gridOptions={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,enableSorting:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,columnDefs:[{name:"name",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"waiting",displayName:"APPLICATION_WAITING",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"active",displayName:"APPLICATION_ACTIVE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"complete",displayName:"APPLICATION_ANSWERED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableColumnMenu:!1,filters:[{condition:g.filter.GREATER_THAN_OR_EQUAL,placeholder:"from"},{condition:g.filter.LESS_THAN_OR_EQUAL,placeholder:"to"}]},{name:"abandon",displayName:"APPLICATION_ABANDONED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableColumnMenu:!1,filters:[{condition:g.filter.GREATER_THAN_OR_EQUAL,placeholder:"from"},{condition:g.filter.LESS_THAN_OR_EQUAL,placeholder:"to"}]},{name:"unmanaged",displayName:"APPLICATION_UNMANAGED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",enableSorting:!1,enableColumnMenu:!1,filters:[{condition:g.filter.GREATER_THAN_OR_EQUAL,placeholder:"from"},{condition:g.filter.LESS_THAN_OR_EQUAL,placeholder:"to"}]},{name:"holdtime",displayName:"APPLICATION_HOLDTIME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.holdtime | secToTime | date:'HH:mm:ss'}}</div>",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"talktime",displayName:"APPLICATION_TALKTIME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.talktime | secToTime | date:'HH:mm:ss'}}</div>",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"totalCalls",displayName:"APPLICATION_TOTAL_CALLS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.complete + row.entity.abandon + row.entity.unmanaged}}</div>",enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){j(a.gridOptions.data.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?i.order=null:i.order=b[0].name+" "+b[0].sort.direction.toUpperCase()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){i.offset=(a-1)*b,i.limit=b}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters.length>1?a.filters.forEach(function(b){b.term?64===b.condition?i[a.name+"_uiFrom"]=b.term:256===b.condition&&(i[a.name+"_uiTo"]=b.term):64===b.condition?delete i[a.name+"_uiFrom"]:256===b.condition&&delete i[a.name+"_uiTo"]}):a.filters.length&&a.filters[0].term?i[a.name]=a.filters[0].term:delete i[a.name]})})}};var j=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.parameters",{url:"/parameters",templateUrl:"app/channels/voice/realtime/view/parameter/parameter.html",controller:"VoiceRealtimeViewParameterCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","VoiceQueue","usSpinnerService","$q","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h,i,j,k){function l(b){return h.spin("spinner-grid"),g.get(o).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=[],b.rows.forEach(function(a){n(a)})})["catch"](function(a){f.error(a)})["finally"](function(){b&&m(),h.stop("spinner-grid")})}function m(){e.socket.on("voice_queue:save",function(b){var c=_.find(a.gridOptions.data,{queueName:b.name});c||l()}),e.socket.on("voice_queue:remove",function(b){_.remove(a.gridOptions.data,{queueId:b.id})}),e.socket.on("user_has_voice_queue:save",function(b){console.log(b);var c=_.includes(_.map(a.CurrentUser.PVoiceQueues,"name"),b.queue)||k.isAdmin(),d=_.find(a.gridOptions.data,{agentId:b.UserId,queue:b.queue});if(!d&&b.logged&&c){var e=_.find(a.gridOptions.data,{queueName:b.queue}),f=a.gridOptions.data.indexOf(e);a.gridOptions.data.splice(f+1,0,{isAgent:!0,agent:b.membername,callstaken:b.callstaken?b.callstaken:0,lastcall:b.lastcall,status:b.statusdesc,paused:b.paused,reason:b.reason,agentId:b.id,queue:b.queue})}else d&&!b.logged?_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue}):d&&b.logged&&c&&(d.callstaken=b.callstaken?b.callstaken:0,d.lastcall=b.lastcall,d.status=b.statusdesc,d.paused=b.paused,d.reason=b.reason)}),e.socket.on("user_has_voice_queue:remove",function(b){_.remove(a.gridOptions.data,{agentId:b.UserId,queue:b.queue})})}function n(b){a.gridOptions.data.push({name:b.name,$$treeLevel:0,queueName:b.name}),b.Users.forEach(function(b){b.UserHasVoiceQueue.logged&&a.gridOptions.data.push({isAgent:!0,agent:b.UserHasVoiceQueue.membername,callstaken:b.UserHasVoiceQueue.callstaken?b.UserHasVoiceQueue.callstaken:0,lastcall:b.UserHasVoiceQueue.lastcall,status:b.UserHasVoiceQueue.statusdesc,paused:b.UserHasVoiceQueue.paused,reason:b.UserHasVoiceQueue.reason,agentId:b.UserHasVoiceQueue.UserId,queue:b.UserHasVoiceQueue.queue})})}var o={controller:"realtime",controller2:"voice",offset:0,limit:10};a.moment=moment,a.initQueues=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"agent",displayName:"APPLICATION_AGENT_NAME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"callstaken",displayName:"APPLICATION_CALLS_TAKEN",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent">{{row.entity.callstaken}}</div>'},{name:"lastcall",displayName:"APPLICATION_LAST_CALL",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{row.entity.lastcall | date:'yyyy-MM-dd HH:mm:ss'}}</div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{'APPLICATION_'+row.entity.status | translate}}</div>"},{name:"paused",displayName:"APPLICATION_PAUSED",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div data-ng-if=\"row.entity.isAgent\">{{(row.entity.paused ? 'APPLICATION_YES' : 'APPLICATION_NO') | translate}}</div>"},{name:"reason",displayName:"APPLICATION_REASON",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.isAgent && row.entity.paused">{{row.entity.reason}}</div>'}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){p(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.treeBase.on.rowExpanded(a,function(b){p(a.gridApi.core.getVisibleRows(a.gridApi.grid).length+b.treeNode.children.length)}),a.gridApi.treeBase.on.rowCollapsed(a,function(b){p(a.gridApi.core.getVisibleRows(a.gridApi.grid).length-b.treeNode.children.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?o.order=null:o.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),l()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){o.offset=(a-1)*b,o.limit=b,l()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?o[a.name]=a.filters[0].term:delete o[a.name]}),l()})}},l(!0)};var p=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("voice_queue"),e.unsyncUpdates("user_has_voice_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.queues",{url:"/queues",templateUrl:"app/channels/voice/realtime/view/queue/queue.html",controller:"VoiceRealtimeViewQueueCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCallsCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportQueue","Pause","Action","usSpinnerService","$q","uiGridConstants","$timeout","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){function o(){return j.spin("spinner-grid"),g.get({controller:"waiting",controller2:"calls"}).$promise.then(function(b){a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){p(),j.stop("spinner-grid")})}function p(){e.socket.on("report_queue:save",function(b){a.gridOptions.data.unshift(b)}),e.socket.on("report_queue:update",function(b){var c=_.find(a.gridOptions.data,{id:b.id});if(c){var d={queuecallerabandon:b.queuecallerabandon,queuecallerleave:b.queuecallerleave};delete b.queuecallerabandon,delete b.queuecallerleave,_.merge(c,b),d.queuecallerabandon&&(c.queuecallerabandon=d.queuecallerabandon),d.queuecallerleave&&(c.queuecallerleave=d.queuecallerleave),(c.queuecallerabandon||c.queuecallercomplete)&&m(function(){_.remove(a.gridOptions.data,{id:b.id})},3e3)}})}a.moment=moment,a.initQueues=function(){a.gridOptions={
+headerCellFilter:"translate",paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.queuecallerleaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.queuecallerleaveAt && !row.entity.queuecallerabandon && !row.entity.queuecallercomplete">{{\'APPLICATION_ACTIVE\' | translate}}</span><span data-ng-if="row.entity.queuecallerleaveAt && row.entity.queuecallerabandon">{{\'APPLICATION_QUEUESTATUS_ABANDON\' | translate}}</span><span data-ng-if="row.entity.queuecallerleaveAt && row.entity.queuecallercomplete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="!row.entity.queuecallercomplete && !row.entity.queuecallerabandon"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"caller",displayName:"APPLICATION_CALLER",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.calleridnum || ''}} {{row.entity.calleridname || ''}}</div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"position",displayName:"APPLICATION_POSITION",headerCellFilter:"translate"},{name:"agent",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.connectedlinenum || ''}} {{row.entity.connectedlinename || ''}}</div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){q(a.gridOptions.data.length)})}},o()};var q=function(a){var b=a?30*a+60:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.queuecalls",{url:"/queuecalls",templateUrl:"app/channels/voice/realtime/view/queuecalls/queuecalls.html",controller:"VoiceRealtimeViewQueueCallsCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewTelephoneCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","Telephone","Pause","Action","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){return j.spin("spinner-grid"),g.get(o).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){j.stop("spinner-grid")})}function n(){e.socket.on("telephone:save",function(b){var c=_.find(a.gridOptions.data,{id:b.id});c&&(c.status=b.status,c.statusAt=b.statusAt,c.ipaddr=b.ipaddr,c.port=b.port,c.fullcontact=b.fullcontact,c.useragent=b.useragent,c.lastms=b.lastms,c.internal=b.internal)}),e.socket.on("telephone:remove",function(b){_.remove(a.gridOptions.data,{id:b.id})})}var o={offset:0,limit:10};a.moment=moment,a.initTelephones=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"name",displayName:"APPLICATION_TELEPHONE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.name}} <{{row.entity.internal}}></div>"},{name:"status",displayName:"APPLICATION_PHONE_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_'+row.entity.status | translate}} <span data-ng-if=\"row.entity.statusAt && (row.entity.status === 'BUSY' || row.entity.status === 'ONHOLD' || row.entity.status === 'INUSE')\">(<timer start-time=\"grid.appScope.moment(row.entity.statusAt).unix()*1000\">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>)</span></span></div>",filter:{type:l.filter.SELECT,selectOptions:[{value:"UNKNOWN",label:d.instant("APPLICATION_UNKNOWN")},{value:"NOT_INUSE",label:d.instant("APPLICATION_NOT_INUSE")},{value:"INUSE",label:d.instant("APPLICATION_INUSE")},{value:"BUSY",label:d.instant("APPLICATION_BUSY")},{value:"INVALID",label:d.instant("APPLICATION_INVALID")},{value:"UNAVAILABLE",label:d.instant("APPLICATION_UNAVAILABLE")},{value:"RINGING",label:d.instant("APPLICATION_RINGING")},{value:"RINGINUSE",label:d.instant("APPLICATION_RINGINUSE")},{value:"ONHOLD",label:d.instant("APPLICATION_ONHOLD")}]}},{name:"action",displayName:"",width:170,cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><button class="btn btn-xs blue-madison" data-ng-click="grid.appScope.showInfo(row.entity)"><i class="icon-info"></i></button><div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1}],data:[],gridMenuTitleFilter:function(a){var b=k.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){p(a.gridOptions.data.length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?o.order=null:o.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),m()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){o.offset=(a-1)*b,o.limit=b,m()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?o[a.name]=a.filters[0].term:delete o[a.name]}),m()})}},m(),n()};var p=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("telephone")}),a.showInfo=function(a){c.open({animation:!0,templateUrl:"app/channels/voice/realtime/view/telephone/telephone.modal.info.html",controller:"VoiceRealtimeViewTelephoneInfoModalCtrl",resolve:{telephone:a}})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view.telephones",{url:"/telephones",templateUrl:"app/channels/voice/realtime/view/telephone/telephone.html",controller:"VoiceRealtimeViewTelephoneCtrl",data:{permissions:{only:["admin","user"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewTelephoneInfoModalCtrl",["$scope","$uibModalInstance","$http","telephone",function(a,b,c,d){a.telephone=d,a.close=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewCtrl",["$scope","Auth",function(a,b){a.Auth=b}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.realtime.view",{url:"/view",templateUrl:"app/channels/voice/realtime/view/view.html",controller:"VoiceRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRecordingListCtrl",["$scope","$translate","$sce","Recording","gridOptions","xAlert","uiGridConstants","Auth",function(a,b,c,d,e,f,g,h){a.Recording=d,a.updateRating=function(a,c){return d.update({id:a,rating:c}).$promise.then(function(){f.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.initView=function(){var b={exporterCsvFilename:"recordings.csv",rowHeight:30,primaryKey:"id",columnDefs:[{name:"uniqueid"},{name:"calleridnum",displayName:"APPLICATION_CUSTOMER_PHONE",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.type === 'outbound' ? row.entity.exten : row.entity.calleridnum}}</div>"},{name:"membername"},{name:"type",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><i data-ng-class=\"{'icon-call-in font-green':row.entity.type === 'inbound','icon-call-out font-red':row.entity.type === 'outbound','icon-question':row.entity.type === 'unknown','icon-earphones font-purple':row.entity.type === 'internal'}\"></i></div>",filter:{type:g.filter.SELECT,selectOptions:[{value:"inbound",label:"Inbound"},{value:"internal",label:"Internal"},{value:"outbound",label:"Outbound"},{value:"unknown",label:"Unknown"}]}},{name:"queue"},{name:"createdAt",displayName:"APPLICATION_DATE",headerCellFilter:"translate",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:g.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:g.filter.LESS_THAN_OR_EQUAL}],sort:{direction:g.DESC,priority:0}},{name:"rating",filter:{type:g.filter.SELECT,selectOptions:[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"},{value:4,label:"4"},{value:5,label:"5"}]},cellClass:"ui-grid-vcenter",width:"100",cellTemplate:'<div><uib-rating data-ng-model="row.entity.rating" data-ng-click="grid.appScope.updateRating(row.entity.id, row.entity.rating)" aria-labelledby="default-rating"></uib-rating></div>'},{name:"audio",displayName:"",width:100,enableSorting:!1,enableFiltering:!1,cellClass:"ui-grid-vcenter",cellTemplate:"<div><audio-file-download data-ng-if=\"row.entity.value.split('.').pop() == 'wav'\" params=\"{id:row.entity.id,controller:'stream'}\" resource=\"grid.appScope.Recording\"></audio-file-download><span data-ng-if=\"row.entity.value.split('.').pop() == 'gsm'\" title=\"{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}\">{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}</span></div>"},{name:"action",width:80,buttons:[{directive:"<motion-file-download params=\"{id:row.entity.id,controller:'stream'}\" resource=\"grid.appScope.Recording\" mimetype=\"'audio/'+row.entity.value.split('.').pop()\" btnclass=\"btn btn-xs blue-hoki\" filename=\"row.entity.uniqueid+'.'+row.entity.value.split('.').pop()\"></motion-file-download>"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.uniqueid, row.entity.id)",hide:!h.isAdmin()}]}]};a.gridOptions=e.gridOptions(d,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.recordings.list",{url:"/list",templateUrl:"app/channels/voice/recording/list/list.html",controller:"VoiceRecordingListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Recording",["$resource",function(a){return a("/api/voice/recordings/:id/:controller",{id:"@id"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.recordings",{url:"/recordings",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.inbound",{url:"/inbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCreateCtrl",["$scope","$uibModalInstance","Route","application","xAlert","$location","$translate",function(a,b,c,d,e,f,g){a.$application=d.application,a.forms={route:void 0},a.item={type:"inbound",appdata:"Inbound Call",context:"from-voip-provider"},a.ok=function(){return a.item.exten=a.$application.checkUnderscore(a.item.exten),c.save(a.item).$promise.then(function(a){b.close(a),f.path("/channels/voice/routes/inbound/view/"+a.id+"/applications")})["catch"](function(a){console.log(a),e.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource","gridOptions","Route","$uibModal","$location","$log",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.initView=function(){var b={exporterCsvFilename:"InboundRoutes.csv",columnDefs:[{name:"exten",displayName:"APPLICATION_PHONE_NUMBER"},{name:"description"},{name:"applications",cellClass:"ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.Applications.length"><span data-ng-repeat="app in row.entity.Applications | limitTo:2">{{app.app}}({{app.appdata[0]}}), </span>...</div><div data-ng-if="!row.entity.Applications.length">{{\'MESSAGE_NO_AVAILABLE_APPLICATIONS\' | translate}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/routes/inbound/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.exten, row.entity.id)"}]}]};a.gridOptions=i.gridOptions(j,b,a,{type:"inbound"})},a.create=function(){k.open({animation:!0,templateUrl:"app/channels/voice/route/inbound/list/create.modal.html",controller:"VoiceRouteInboundListCreateCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.inbound.list",{url:"/list",templateUrl:"app/channels/voice/route/inbound/list/list.html",controller:"VoiceRouteInboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundViewCtrl",["$scope","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval","Route","VoiceQueue","Sound","SquareProject","VoiceContext","Interval","VoiceMail","User","Agent","Telephone","Trunk","Team",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v){function w(b){var c,d;if("always"===b.intType)c=null,d="*,*,*,*";else if("list"===b.intType)d=b.IntervalId?_.find(a.Intervals,{id:b.IntervalId}).name:"*,*,*,*",c=b.IntervalId||null;else if("custom"===b.intType){c=null;var e,f,g,h;e=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(f=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(f+="-"+b.wd_to)):f="*",b.md_from&&"always"!==b.md_from?(g=b.md_from,b.md_to&&"always"!==b.md_to&&(g+="-"+b.md_to)):g="*",b.m_from&&"always"!==b.m_from?(h=b.m_from,b.m_to&&"always"!==b.m_to&&(h+="-"+b.m_to)):h="*",d=e+","+f+","+g+","+h}void 0===a.selectedApp?(a.application.interval=d,a.application.IntervalId=c):(a.route.Applications[a.selectedApp].interval=d,a.route.Applications[a.selectedApp].IntervalId=c)}function x(){if(a.interval.intType=a.route.Applications[a.selectedApp].IntervalId?"list":"*,*,*,*"===a.route.Applications[a.selectedApp].interval?"always":"custom",a.interval.IntervalId=a.route.Applications[a.selectedApp].IntervalId,!a.route.Applications[a.selectedApp].IntervalId){var b,c=a.route.Applications[a.selectedApp].interval?a.route.Applications[a.selectedApp].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.interval.t_from=moment(b[0],"HH:mm"),a.interval.t_to=moment(b[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.interval.wd_from=b[0],a.interval.wd_to=b[1]?b[1]:"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.interval.md_from=b[0],a.interval.md_to=b[1]?b[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.interval.m_from=b[0],a.interval.m_to=b[1]?b[1]:"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}a.$translate=b,a.selectedApp=void 0,a.showGrid=!0,a.$application=i.application,a.$interval=j.interval,a.selectedRows=[],a._=_,a.gridOptions={enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableSorting:!1,rowTemplate:'<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',columnDefs:[{name:"app",headerCellFilter:"translate",displayName:"APPLICATION_APPLICATION",enableColumnMenu:!1},{name:"appType",headerCellFilter:"translate",displayName:"APPLICATION_INFO",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_APPS_'+(row.entity.appType || (grid.appScope._.find(grid.appScope.$application.applications,{value:row.entity.app}) ? row.entity.app : 'custom')).toUpperCase() | translate}}</div>",enableColumnMenu:!1},{name:"appdata",headerCellFilter:"translate",displayName:"APPLICATION_ARGUMENTS",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{row.entity.appdata.join(',')}}</div>",enableColumnMenu:!1},{name:"interval",headerCellFilter:"translate",displayName:"APPLICATION_TIME_INTERVAL",enableColumnMenu:!1},{name:"action",enableColumnMenu:!1,headerCellFilter:"translate",displayName:"APPLICATION_ACTION",width:125,cellClass:"ui-grid-vcenter",cellTemplate:'<div><a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openApplication(grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="icon-settings"></i></a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteApp(row.entity.app+\' application\', grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="fa fa-trash"></i></a></div>'}],onRegisterApi:function(b){b.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.selectedRows.push(b.entity):_.pull(a.selectedRows,b.entity)}),b.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.selectedRows=_.map(b,"entity"):a.selectedRows=[]}),b.draggableRows.on.rowDropped(a,function(b,c){a.updateRoute()}),b.grid.registerDataChangeCallback(function(){y(a.gridOptions.data.length)})}};var y=function(a){var b=a?30*a+120:177;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px")};a.initApplication=function(b){b&&(a.selectedApp=void 0),a.forms={settings:void 0,interval:void 0},a.application={},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.$watch("interval",function(a){a&&w(a)},!0),a.updateSetAppdata=function(){a.application.variable&&a.application.value&&"Set"===a.main.app.value?a.application.appdata[0]=a.application.variable+"="+a.application.value:a.application.appdata[0]=null},a.updateSetAppdataSettings=function(){a.application.variable&&a.application.value&&"Set"===a.main.app.value?a.route.Applications[a.selectedApp].appdata[0]=a.application.variable+"="+a.application.value:a.route.Applications[a.selectedApp].appdata[0]=null},a.$watch("main.app",function(b){if(b){var c,d,e={},f={};switch(void 0===a.selectedApp&&(a.application={appType:b.type,app:b.value,interval:a.application.interval||"*,*,*,*",appdata:[]}),b.value){case"Queue":c=l,d=m;break;case"Playback":c=m;break;case"AGI":c=n;break;case"Goto":c=o;break;case"Voicemail":c=q;break;case"Dial":switch(b.type){case"internalDial":c=r,e={controller:"all"};break;case"externalDial":c=u}}if(c)return c.get(e).$promise.then(function(b){a.items=b.rows}).then(function(){return d?d.get(f).$promise:void 0}).then(function(b){b&&(a.items2=b.rows)})["catch"](function(a){h.error(a)})}},!0),a.deselectAndRedirect=function(b){a.selectedApp=void 0,e.path(b)},a.initRingGroup=function(){var b,c,d;return void 0===a.selectedApp?a.usersArray=[]:a.usersArray=_.map(a.route.Applications[a.selectedApp].appdata[0].split("&"),function(a){return a.split("/")[1]}),r.get().$promise.then(function(a){return b=a,s.get().$promise}).then(function(a){return c=a,t.get().$promise}).then(function(e){d=e,ComponentsDropdowns.bindUserByRole(b,c,d,function(b){a.usersArray=_.union(b,a.usersArray),void 0===a.selectedApp?(a.application.appdata[0]=null,a.application.appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&")):(a.route.Applications[a.selectedApp].appdata[0]=null,a.route.Applications[a.selectedApp].appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&"))},function(b){a.usersArray=_.difference(a.usersArray,b),void 0===a.selectedApp?(a.application.appdata[0]=null,a.application.appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&")):(a.route.Applications[a.selectedApp].appdata[0]=null,a.route.Applications[a.selectedApp].appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&"))},a.route.Applications[a.selectedApp]?a.route.Applications[a.selectedApp].appdata:null)})["catch"](function(a){console.error(a)})},a.getIntervals=function(){return p.get().$promise.then(function(b){a.Intervals=b.rows,d.syncUpdates("interval",a.Intervals)})["catch"](function(a){h.error(a)})},a.getRoute=function(){return k.get({id:c.id}).$promise.then(function(b){a.route=b,a.gridOptions.data=b.Applications,y(a.gridOptions.data.length)})["catch"](function(a){e.path("/channels/voice/routes/inbound/list")})},a.getApplication=function(){if(void 0===a.selectedApp)e.path("/channels/voice/routes/inbound/list");else{if(a.showGrid=!0,a.route.Applications[a.selectedApp].appType)a.main.app=_.find(a.$application.applications,{type:a.route.Applications[a.selectedApp].appType});else{var b=_.find(a.$application.applications,{value:a.route.Applications[a.selectedApp].app});if(b)a.main.app=b;else{a.main.app=_.find(a.$application.applications,{type:"custom"});var c=a.route.Applications[a.selectedApp].appdata.join(",");a.route.Applications[a.selectedApp].appdata=[c],a.route.Applications[a.selectedApp].appType="custom"}}if("Set"===a.main.app.value){var d=a.route.Applications[a.selectedApp].appdata[0].split("=");a.application.variable=d[0],a.application.value=d[1]}x()}},a.openApplication=function(b){a.selectedApp=b,a.showGrid=!1,e.path("/channels/voice/routes/inbound/view/"+c.id+"/applications/settings")},a.updateRoute=function(d){return a.route.exten=a.$application.checkUnderscore(a.route.exten),_.forEach(a.route.Applications,function(a){if("custom"!==a.appType)switch(a.app){case"Dial":var b;switch(a.appType){case"externalDial":b=3;break;case"internalDial":b=2;break;default:b=2}a.appdata[b]=a.appdata[b]||"",a.appdata[b]+=(_.includes(a.appdata[b],"x")?"":"x")+(_.includes(a.appdata[b],"X")?"":"X");break;case"Queue":a.appdata[1]=a.appdata[1]||"",a.appdata[1]+=(_.includes(a.appdata[1],"x")?"":"x")+(_.includes(a.appdata[1],"X")?"":"X")}}),k.update({id:a.route.id},a.route).$promise.then(function(f){a.selectedApp=void 0,h.show(b.instant("MESSAGE_WELL_DONE")+"!","success"),d&&e.path("/channels/voice/routes/inbound/view/"+c.id+"/"+d)})["catch"](function(a){console.log(a),h.error(a)})},a.getContexts=function(){return o.get().$promise.then(function(b){a.voiceContexts=b.rows,d.syncUpdates("voice_context",a.voiceContexts)})["catch"](function(a){h.error(a)})},a.deleteApp=g.confirm["delete"](function(b){a.route.Applications.splice(b,1),a.updateRoute()}),a.deleteItems=g.confirm["delete"](function(){_.remove(a.route.Applications,function(b){return _.includes(a.selectedRows,b)}),a.selectedRows=[],a.updateRoute()}),a.addApplication=function(){a.route.Applications.push(a.application),a.updateRoute("applications")},a.goNext=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){d.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.inbound.view",{url:"/view/:id",templateUrl:"app/channels/voice/route/inbound/view/view.html",controller:"VoiceRouteInboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.routes.inbound.view.settings",{url:"/settings",templateUrl:"app/channels/voice/route/inbound/view/view.settings.html"}).state("main.channels.voice.routes.inbound.view.applications",{url:"/applications",templateUrl:"app/channels/voice/route/inbound/view/view.applications.html"}).state("main.channels.voice.routes.inbound.view.application",{url:"/application",templateUrl:"app/channels/voice/route/view.application.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.channels.voice.routes.inbound.view.applications.settings",{url:"/settings",templateUrl:"app/channels/voice/route/view.applicationSettings.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCreateCtrl",["$scope","$uibModalInstance","Route","application","$location","$translate","xAlert",function(a,b,c,d,e,f,g){a.$application=d.application,a.forms={route:void 0},a.item={type:"internal",appdata:"Internal Call",context:"from-sip"},a.ok=function(){return a.item.exten=a.$application.checkUnderscore(a.item.exten),c.save(a.item).$promise.then(function(a){b.close(a),e.path("/channels/voice/routes/internal/view/"+a.id+"/applications")})["catch"](function(a){g.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource","gridOptions","Route","$uibModal","$location","$log",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.initView=function(){var b={exporterCsvFilename:"InternalRoutes.csv",columnDefs:[{name:"exten",displayName:"APPLICATION_PHONE_NUMBER"},{name:"description"},{name:"applications",cellClass:"ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.Applications.length"><span data-ng-repeat="app in row.entity.Applications | limitTo:2">{{app.app}}({{app.appdata[0]}}),</span>...</div><div data-ng-if="!row.entity.Applications.length">{{\'MESSAGE_NO_AVAILABLE_APPLICATIONS\' | translate}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/routes/internal/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.exten, row.entity.id)"}]}]};a.gridOptions=i.gridOptions(j,b,a,{type:"internal"})},a.create=function(){k.open({animation:!0,templateUrl:"app/channels/voice/route/internal/list/create.modal.html",controller:"VoiceRouteInternalListCreateCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.internal.list",{url:"/list",templateUrl:"app/channels/voice/route/internal/list/list.html",controller:"VoiceRouteInternalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalViewCtrl",["$scope","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval","Route","VoiceQueue","Sound","SquareProject","VoiceContext","Interval","VoiceMail","User","Agent","Telephone","Trunk",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){function v(b){var c,d;if("always"===b.intType)c=null,d="*,*,*,*";else if("list"===b.intType)d=b.IntervalId?_.find(a.Intervals,{id:b.IntervalId}).name:"*,*,*,*",c=b.IntervalId||null;else if("custom"===b.intType){c=null;var e,f,g,h;e=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(f=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(f+="-"+b.wd_to)):f="*",b.md_from&&"always"!==b.md_from?(g=b.md_from,b.md_to&&"always"!==b.md_to&&(g+="-"+b.md_to)):g="*",b.m_from&&"always"!==b.m_from?(h=b.m_from,b.m_to&&"always"!==b.m_to&&(h+="-"+b.m_to)):h="*",d=e+","+f+","+g+","+h}void 0===a.selectedApp?(a.application.interval=d,a.application.IntervalId=c):(a.route.Applications[a.selectedApp].interval=d,a.route.Applications[a.selectedApp].IntervalId=c)}function w(){if(a.interval.intType=a.route.Applications[a.selectedApp].IntervalId?"list":"*,*,*,*"===a.route.Applications[a.selectedApp].interval?"always":"custom",a.interval.IntervalId=a.route.Applications[a.selectedApp].IntervalId,!a.route.Applications[a.selectedApp].IntervalId){var b,c=a.route.Applications[a.selectedApp].interval?a.route.Applications[a.selectedApp].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.interval.t_from=moment(b[0],"HH:mm"),a.interval.t_to=moment(b[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.interval.wd_from=b[0],a.interval.wd_to=b[1]?b[1]:"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.interval.md_from=b[0],a.interval.md_to=b[1]?b[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.interval.m_from=b[0],a.interval.m_to=b[1]?b[1]:"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}a.$translate=b,a.selectedApp=void 0,a.showGrid=!0,a.$application=i.application,a.$interval=j.interval,a._=_,a.selectedRows=[],a.gridOptions={enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableSorting:!1,rowTemplate:'<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',columnDefs:[{name:"app",headerCellFilter:"translate",displayName:"APPLICATION_APPLICATION",enableColumnMenu:!1},{name:"appType",headerCellFilter:"translate",displayName:"APPLICATION_INFO",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_APPS_'+(row.entity.appType || (grid.appScope._.find(grid.appScope.$application.applications,{value:row.entity.app}) ? row.entity.app : 'custom')).toUpperCase() | translate}}</div>",enableColumnMenu:!1},{name:"appdata",headerCellFilter:"translate",displayName:"APPLICATION_ARGUMENTS",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{row.entity.appdata.join(',')}}</div>",enableColumnMenu:!1},{name:"interval",headerCellFilter:"translate",displayName:"APPLICATION_TIME_INTERVAL",enableColumnMenu:!1},{name:"action",enableColumnMenu:!1,headerCellFilter:"translate",displayName:"APPLICATION_ACTION",width:125,cellClass:"ui-grid-vcenter",cellTemplate:'<div><a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openApplication(grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="icon-settings"></i></a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteApp(row.entity.app+\' application\', grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="fa fa-trash"></i></a></div>'
}],onRegisterApi:function(b){b.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.selectedRows.push(b.entity):_.pull(a.selectedRows,b.entity)}),b.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.selectedRows=_.map(b,"entity"):a.selectedRows=[]}),b.draggableRows.on.rowDropped(a,function(b,c){a.updateRoute()}),b.grid.registerDataChangeCallback(function(){x(a.gridOptions.data.length)})}},a.deleteItems=g.confirm["delete"](function(){_.remove(a.route.Applications,function(b){return _.includes(a.selectedRows,b)}),a.selectedRows=[],a.updateRoute()}),a.initRingGroup=function(){var b,c,d;return void 0===a.selectedApp?a.usersArray=[]:a.usersArray=_.map(a.route.Applications[a.selectedApp].appdata[0].split("&"),function(a){return a.split("/")[1]}),r.get().$promise.then(function(a){return b=a,s.get().$promise}).then(function(a){return c=a,t.get().$promise}).then(function(e){d=e,ComponentsDropdowns.bindUserByRole(b,c,d,function(b){a.usersArray=_.union(b,a.usersArray),void 0===a.selectedApp?(a.application.appdata[0]=null,a.application.appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&")):(a.route.Applications[a.selectedApp].appdata[0]=null,a.route.Applications[a.selectedApp].appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&"))},function(b){a.usersArray=_.difference(a.usersArray,b),void 0===a.selectedApp?(a.application.appdata[0]=null,a.application.appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&")):(a.route.Applications[a.selectedApp].appdata[0]=null,a.route.Applications[a.selectedApp].appdata[0]=_.map(a.usersArray,function(a){return"SIP/"+a}).join("&"))},a.route.Applications[a.selectedApp]?a.route.Applications[a.selectedApp].appdata:null)})["catch"](function(a){console.error(a)})};var x=function(a){var b=a?30*a+120:177;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px")};a.initApplication=function(b){b&&(a.selectedApp=void 0),a.forms={settings:void 0,interval:void 0},a.application={},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.$watch("interval",function(a){a&&v(a)},!0),a.updateSetAppdata=function(){a.application.variable&&a.application.value&&"Set"===a.main.app.value?a.application.appdata[0]=a.application.variable+"="+a.application.value:a.application.appdata[0]=null},a.updateSetAppdataSettings=function(){a.application.variable&&a.application.value&&"Set"===a.main.app.value?a.route.Applications[a.selectedApp].appdata[0]=a.application.variable+"="+a.application.value:a.application.appdata[0]=null},a.$watch("main.app",function(b){if(b){var c,d,e={},f={};switch(void 0===a.selectedApp&&(a.application={appType:b.type,app:b.value,interval:a.application.interval||"*,*,*,*",appdata:[]}),b.value){case"Queue":c=l,d=m;break;case"Playback":c=m;break;case"AGI":c=n;break;case"Goto":c=o;break;case"Voicemail":c=q;break;case"Dial":switch(b.type){case"internalDial":c=r,e={controller:"all"};break;case"externalDial":c=u}}if(c)return c.get(e).$promise.then(function(b){a.items=b.rows}).then(function(){return d?d.get(f).$promise:void 0}).then(function(b){b&&(a.items2=b.rows)})["catch"](function(a){h.error(a)})}},!0),a.deselectAndRedirect=function(b){a.selectedApp=void 0,e.path(b)},a.getIntervals=function(){return p.get().$promise.then(function(b){a.Intervals=b.rows,d.syncUpdates("interval",a.Intervals)})["catch"](function(a){h.error(a)})},a.getRoute=function(){return k.get({id:c.id}).$promise.then(function(b){a.route=b,a.gridOptions.data=b.Applications,x(a.gridOptions.data.length)})["catch"](function(a){e.path("/channels/voice/routes/internal/list")})},a.getApplication=function(){if(void 0===a.selectedApp)e.path("/channels/voice/routes/inbound/list");else{if(a.showGrid=!0,a.route.Applications[a.selectedApp].appType)a.main.app=_.find(a.$application.applications,{type:a.route.Applications[a.selectedApp].appType});else{var b=_.find(a.$application.applications,{value:a.route.Applications[a.selectedApp].app});if(b)a.main.app=b;else{a.main.app=_.find(a.$application.applications,{type:"custom"});var c=a.route.Applications[a.selectedApp].appdata.join(",");a.route.Applications[a.selectedApp].appdata=[c],a.route.Applications[a.selectedApp].appType="custom"}}if("Set"===a.main.app.value){var d=a.route.Applications[a.selectedApp].appdata[0].split("=");a.application.variable=d[0],a.application.value=d[1]}w()}},a.openApplication=function(b){a.selectedApp=b,a.showGrid=!1,e.path("/channels/voice/routes/internal/view/"+c.id+"/applications/settings")},a.updateRoute=function(d){return a.route.exten=a.$application.checkUnderscore(a.route.exten),_.forEach(a.route.Applications,function(a){if("custom"!==a.appType)switch(a.app){case"Dial":var b;switch(a.appType){case"externalDial":b=3;break;case"internalDial":b=2;break;default:b=2}a.appdata[b]=a.appdata[b]||"",a.appdata[b]+=(_.includes(a.appdata[b],"x")?"":"x")+(_.includes(a.appdata[b],"X")?"":"X");break;case"Queue":a.appdata[1]=a.appdata[1]||"",a.appdata[1]+=(_.includes(a.appdata[1],"x")?"":"x")+(_.includes(a.appdata[1],"X")?"":"X")}}),k.update({id:a.route.id},a.route).$promise.then(function(f){a.selectedApp=void 0,h.show(b.instant("MESSAGE_WELL_DONE")+"!","success"),d&&e.path("/channels/voice/routes/internal/view/"+c.id+"/"+d)})["catch"](function(a){h.error(a)})},a.getContexts=function(){return o.get().$promise.then(function(b){a.voiceContexts=b.rows,d.syncUpdates("voice_context",a.voiceContexts)})["catch"](function(a){h.error(a)})},a.deleteApp=g.confirm["delete"](function(b){a.route.Applications.splice(b,1),a.updateRoute()}),a.addApplication=function(){a.route.Applications.push(a.application),a.updateRoute("applications")},a.goNext=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){d.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.internal.view",{url:"/view/:id",templateUrl:"app/channels/voice/route/internal/view/view.html",controller:"VoiceRouteInternalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.routes.internal.view.settings",{url:"/settings",templateUrl:"app/channels/voice/route/internal/view/view.settings.html"}).state("main.channels.voice.routes.internal.view.applications",{url:"/applications",templateUrl:"app/channels/voice/route/internal/view/view.applications.html"}).state("main.channels.voice.routes.internal.view.application",{url:"/application",templateUrl:"app/channels/voice/route/view.application.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.channels.voice.routes.internal.view.applications.settings",{url:"/settings",templateUrl:"app/channels/voice/route/view.applicationSettings.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundListCreateCtrl",["$scope","$uibModalInstance","Route","application","xAlert","$translate","$location","Tag",function(a,b,c,d,e,f,g,h){a.$application=d.application,a.forms={route:void 0},a.item={type:"outbound",appdata:"Outbound Call",context:"from-sip"},a.getTags=function(){return h.get().$promise.then(function(b){b.rows.unshift({name:"--"}),a.tags=b.rows})["catch"](function(a){e.error(a)})},a.ok=function(){return a.item.exten=a.$application.checkUnderscore(a.item.exten),c.save(a.item).$promise.then(function(a){b.close(a),g.path("/channels/voice/routes/outbound/view/"+a.id+"/routes")})["catch"](function(a){e.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource","gridOptions","Route","$uibModal","$location","$log",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.initView=function(){var b={exporterCsvFilename:"OutboundRoutes.csv",columnDefs:[{name:"exten",displayName:"APPLICATION_DESTINATION_PATTERN"},{name:"description"},{name:"applications",cellClass:"ui-grid-vcenter",cellTemplate:'<div data-ng-if="row.entity.Applications.length"><span data-ng-repeat="app in row.entity.Applications | limitTo:2">{{app.app}}({{app.appdata[0]}}),</span>...</div><div data-ng-if="!row.entity.Applications.length">{{\'MESSAGE_NO_AVAILABLE_APPLICATIONS\' | translate}}</div>',enableSorting:!1,enableFiltering:!1,enableColumnMenu:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/routes/outbound/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.exten, row.entity.id)"}]}]};a.gridOptions=i.gridOptions(j,b,a,{type:"outbound"})},a.create=function(){k.open({animation:!0,templateUrl:"app/channels/voice/route/outbound/list/create.modal.html",controller:"VoiceRouteOutboundListCreateCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.outbound.list",{url:"/list",templateUrl:"app/channels/voice/route/outbound/list/list.html",controller:"VoiceRouteOutboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.outbound",{url:"/outbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundViewCtrl",["$scope","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","application","interval","Route","Trunk","VoiceContext","Interval","Tag",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){function p(b){var c,d;if("always"===b.intType)c=null,d="*,*,*,*";else if("list"===b.intType)d=b.IntervalId?_.find(a.Intervals,{id:b.IntervalId}).name:"*,*,*,*",c=b.IntervalId||null;else if("custom"===b.intType){c=null;var e,f,g,h;e=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(f=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(f+="-"+b.wd_to)):f="*",b.md_from&&"always"!==b.md_from?(g=b.md_from,b.md_to&&"always"!==b.md_to&&(g+="-"+b.md_to)):g="*",b.m_from&&"always"!==b.m_from?(h=b.m_from,b.m_to&&"always"!==b.m_to&&(h+="-"+b.m_to)):h="*",d=e+","+f+","+g+","+h}void 0===a.selectedApp?(a.application.interval=d,a.application.IntervalId=c):(a.route.Applications[a.selectedApp].interval=d,a.route.Applications[a.selectedApp].IntervalId=c)}function q(){if(a.interval.intType=a.route.Applications[a.selectedApp].IntervalId?"list":"*,*,*,*"===a.route.Applications[a.selectedApp].interval?"always":"custom",a.interval.IntervalId=a.route.Applications[a.selectedApp].IntervalId,!a.route.Applications[a.selectedApp].IntervalId){var b,c=a.route.Applications[a.selectedApp].interval?a.route.Applications[a.selectedApp].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.interval.t_from=moment(b[0],"HH:mm"),a.interval.t_to=moment(b[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.interval.wd_from=b[0],a.interval.wd_to=b[1]?b[1]:"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.interval.md_from=b[0],a.interval.md_to=b[1]?b[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.interval.m_from=b[0],a.interval.m_to=b[1]?b[1]:"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}a.$translate=c,a.selectedApp=void 0,a.showGrid=!0,a.$application=i.application,a.$interval=j.interval,a._=_,a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.selectedRows=[],a.gridOptions={enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableSorting:!1,rowTemplate:'<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',columnDefs:[{name:"app",displayName:"APPLICATION_APPLICATION",cellClass:"ui-grid-vcenter",cellTemplate:"<div><span data-ng-if=\"row.entity.appType === 'externalDial'\">Default</span><span data-ng-if=\"row.entity.appType !== 'externalDial'\">{{row.entity.app}}</span></div>",headerCellFilter:"translate",enableColumnMenu:!1},{name:"appType",headerCellFilter:"translate",displayName:"APPLICATION_INFO",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{'APPLICATION_APPS_'+(row.entity.appType || (grid.appScope._.find(grid.appScope.$application.applications,{value:row.entity.app}) ? row.entity.app : 'custom')).toUpperCase() | translate}}</div>",enableColumnMenu:!1},{name:"appdata",displayName:"APPLICATION_ARGUMENTS",headerCellFilter:"translate",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{row.entity.appdata.join(',')}}</div>",enableColumnMenu:!1},{name:"interval",displayName:"APPLICATION_TIME_INTERVAL",headerCellFilter:"translate",enableColumnMenu:!1},{name:"action",displayName:"APPLICATION_ACTION",headerCellFilter:"translate",width:125,enableColumnMenu:!1,cellClass:"ui-grid-vcenter",cellTemplate:'<div><a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openApplication(grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="icon-settings"></i></a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteApp(row.entity.app+\' application\', grid.appScope.gridOptions.data.indexOf(row.entity))"><i class="fa fa-trash"></i></a></div>'}],onRegisterApi:function(b){b.selection.on.rowSelectionChanged(a,function(b){b.isSelected?a.selectedRows.push(b.entity):_.pull(a.selectedRows,b.entity)}),b.selection.on.rowSelectionChangedBatch(a,function(b){b[0].isSelected?a.selectedRows=_.map(b,"entity"):a.selectedRows=[]}),b.draggableRows.on.rowDropped(a,function(b,c){a.updateRoute()}),b.grid.registerDataChangeCallback(function(){r(a.gridOptions.data.length)})}},a.deleteItems=h.confirm["delete"](function(){_.remove(a.route.Applications,function(b){return _.includes(a.selectedRows,b)}),a.selectedRows=[],a.updateRoute()});var r=function(a){var b=a?30*a+120:177;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px")};a.initApplication=function(b){b&&(a.selectedApp=void 0),a.forms={info:void 0,interval:void 0},a.application={},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""},a.applications=[{name:"Default",value:"Dial",type:"outboundDial"},{name:"Custom",value:"custom",type:"custom"}]},a.$watch("interval",function(a){a&&p(a)},!0),a.$watch("main.app",function(c){if(c){var d,e;switch(void 0===a.selectedApp&&(a.application={appType:c.type,app:c.value,interval:a.application.interval||"*,*,*,*",appdata:[]}),c.value){case"Dial":d=l;break;default:d=null,e=null}if(d)return d.get().$promise.then(function(b){a.items=b.rows}).then(function(){return e?e.get().$promise:void 0}).then(function(b){b&&(a.items2=b.rows)})["catch"](function(a){b.error(a)})}},!0),a.deselectAndRedirect=function(b){a.selectedApp=void 0,f.path(b)},a.getIntervals=function(){return n.get().$promise.then(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)})["catch"](function(a){b.error(a)})},a.getRoute=function(){return k.get({id:d.id}).$promise.then(function(b){a.route=b,a.gridOptions.data=b.Applications,r(a.gridOptions.data.length)})["catch"](function(a){f.path("/channels/voice/routes/outbound/list")})},a.getApplication=function(){if(void 0===a.selectedApp)f.path("/channels/voice/routes/outbound/list");else{if(a.showGrid=!0,a.route.Applications[a.selectedApp].appType)a.main.app=_.find(a.applications,{type:a.route.Applications[a.selectedApp].appType});else{a.main.app=_.find(a.applications,{type:"custom"});var b=a.route.Applications[a.selectedApp].appdata.join(",");a.route.Applications[a.selectedApp].appdata=[b],a.route.Applications[a.selectedApp].appType="custom"}q()}},a.openApplication=function(b){a.selectedApp=b,a.showGrid=!1,f.path("/channels/voice/routes/outbound/view/"+d.id+"/routes/settings")},a.updateRoute=function(e){return a.route.exten=a.$application.checkUnderscore(a.route.exten),_.forEach(a.route.Applications,function(a){"outboundDial"===a.appType&&(a.appdata[4]=a.appdata[4]||"",a.appdata[4]+=(_.includes(a.appdata[4],"x")?"":"x")+(_.includes(a.appdata[4],"X")?"":"X"))}),k.update({id:a.route.id},a.route).$promise.then(function(g){a.selectedApp=void 0,b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),e&&f.path("/channels/voice/routes/outbound/view/"+d.id+"/"+e)})["catch"](function(a){b.error(a)})},a.getContexts=function(){return m.get().$promise.then(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)})["catch"](function(a){b.error(a)})},a.getTags=function(){return o.get().$promise.then(function(b){b.rows.unshift({name:"--"}),a.tags=b.rows})["catch"](function(a){b.error(a)})},a.deleteApp=h.confirm["delete"](function(b){a.route.Applications.splice(b,1),a.updateRoute()}),a.addApplication=function(){a.route.Applications.push(a.application),a.updateRoute("routes")},a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes.outbound.view",{url:"/view/:id",templateUrl:"app/channels/voice/route/outbound/view/view.html",controller:"VoiceRouteOutboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.routes.outbound.view.settings",{url:"/settings",templateUrl:"app/channels/voice/route/outbound/view/view.settings.html"}).state("main.channels.voice.routes.outbound.view.routes",{url:"/routes",templateUrl:"app/channels/voice/route/outbound/view/view.routes.html"}).state("main.channels.voice.routes.outbound.view.route",{url:"/route",templateUrl:"app/channels/voice/route/outbound/view/view.route.html"}).state("main.channels.voice.routes.outbound.view.routes.settings",{url:"/settings",templateUrl:"app/channels/voice/route/outbound/view/view.routeSettings.html"})}]),angular.module("xCallyShuttleApp").factory("Route",["$resource",function(a){return a("/api/voice/extensions/:id",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.routes",{url:"/routes",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice",{url:"/voice",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailListCtrl",["$scope","VoiceMail","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"voice_mails.csv",primaryKey:"uniqueid",columnDefs:[{name:"mailbox"},{name:"fullname"},{name:"email"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/channels/voice/voicemails/view/{{row.entity.uniqueid}}/settings",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.mailbox, row.entity.uniqueid)"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.voicemails.list",{url:"/list",templateUrl:"app/channels/voice/voicemail/list/list.html",controller:"VoiceVoicemailListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailViewCtrl",["$scope","VoiceMail","VoiceMailMessage","VoiceContext","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location","gridOptions",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){var b={exporterCsvFilename:"voice_mail_messages.csv",primaryKey:"id",columnDefs:[{name:"callerid"},{name:"stamp",displayName:"APPLICATION_DATE",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{grid.appScope.moment(row.entity.stamp).format('YYYY-MM-DD HH:mm:ss')}}</div>"},{name:"duration",cellClass:"ui-grid-vcenter",cellTemplate:"<div>{{row.entity.duration*1000 | date:'mm:ss'}}</div>"},{name:"audio",displayName:"",width:225,enableSorting:!1,enableFiltering:!1,buttons:[{directive:'<audio-file-download params="{id:row.entity.id,controller:\'download\'}" resource="grid.appScope.VoiceMailMessage"></audio-file-download>'}]},{name:"action",width:150,buttons:[{directive:'<motion-file-download params="{id:row.entity.id,controller:\'download\'}" resource="grid.appScope.VoiceMailMessage" mimetype="audio/wav" btnclass="btn btn-xs blue-hoki" filename="row.entity.msg_id+\'.wav\'"></motion-file-download>'},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.id, row.entity.id)"}]}]};a.gridOptions=m.gridOptions(c,b,a,{mailbox:a.voicemail.mailbox,context:a.voicemail.context})}a.moment=moment,a["switch"]={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.VoiceMailMessage=c,a.getVoicemail=function(){return b.get({id:h.uniqueid}).$promise.then(function(b){delete b.password,delete b.stamp,a.voicemail=b})["catch"](function(a){l.path("/voice/voicemails/list")})},a.updateVoiceVoicemail=function(){return b.update({id:h.uniqueid},a.voicemail).$promise.then(function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})},a.getContexts=function(){return d.get().$promise.then(function(b){a.voiceContexts=b.rows})["catch"](function(a){f.error(a)})},a.getMessages=function(){return a.voicemail?void n():b.get({id:h.uniqueid}).$promise.then(function(b){delete b.password,delete b.stamp,a.voicemail=b,n()})["catch"](function(a){l.path("/voice/voicemails/view/"+h.uniqueid+"/settings")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.voicemails.view",{url:"/view/:uniqueid",templateUrl:"app/channels/voice/voicemail/view/view.html",controller:"VoiceVoicemailViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.channels.voice.voicemails.view.settings",{url:"/settings",templateUrl:"app/channels/voice/voicemail/view/view.settings.html"}).state("main.channels.voice.voicemails.view.messages",{url:"/messages",templateUrl:"app/channels/voice/voicemail/view/view.messages.html"})}]),angular.module("xCallyShuttleApp").factory("VoiceMail",["$resource",function(a){return a("/api/voice/voicemails/:id/:controller",{uniqueid:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.voicemails",{url:"/voicemails",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}})}]),angular.module("xCallyShuttleApp").factory("VoiceMailMessage",["$resource",function(a){return a("/api/voice/voicemails/messages/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailWizardCtrl",["$scope","VoiceMail","xAlert","WizardHandler","$location","Setting",function(a,b,c,d,e,f){a.initWizard=function(){a.form={},a.item={context:"from-voicemail"}},a.next=function(){d.wizard().next()},a.previous=function(){d.wizard().previous()},a.exitValidation=function(a){return a},a.getFirstFreeMailbox=function(){f.get({controller:"mailbox"}).$promise.then(function(b){a.item.mailbox=b.value})["catch"](function(a){c.error(a)})},a.createItem=function(){return a.item.customer_id=a.item.mailbox,b.save(a.item).$promise.then(function(){e.path("/channels/voice/voicemails/list")})["catch"](function(a){c.error(data)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.channels.voice.voicemails.wizard",{url:"/wizard",templateUrl:"app/channels/voice/voicemail/wizard/wizard.html",controller:"VoiceVoicemailWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("VoiceQueue",["$resource",function(a){return a("/api/voice/queues/:id/:controller/:controller2",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Company",["$resource",function(a){return a("/api/contactmanager/companies/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies",{url:"/companies",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:5}}})}]),angular.module("xCallyShuttleApp").controller("CompanyListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerCompanyListCtrl",["$scope","$translate","xAlert","Modal","$uibModal","$log","Company","gridOptions","$location",function(a,b,c,d,e,f,g,h,i){a.initView=function(){var b={exporterCsvFilename:"Companies.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",name:"profile",href:"/contactmanager/companies/view/{{row.entity.id}}/settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{"class":"green-turquoise",name:"contacts",uisref:"main.contactmanager.contacts.list({companyId:{{row.entity.id}}})"}]}]};a.gridOptions=h.gridOptions(g,b,a)},a.create=function(){var a=e.open({animation:!0,size:"lg",templateUrl:"app/contactmanager/company/list/create.modal.html",controller:"CompanyListCreateModalCtrl"});a.result.then(function(a){return g.save(a).$promise.then(function(a){i.path("/contactmanager/companies/view/"+a.id+"/settings")})["catch"](function(a){c.error(a)})},function(){f.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies.list",{url:"/list",templateUrl:"app/contactmanager/company/list/list.html",controller:"ContactManagerCompanyListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCompanyViewCtrl",["$scope","xAlert","$translate","$stateParams","$location","Company",function(a,b,c,d,e,f){a.getCompany=function(){return f.get({id:d.id}).$promise.then(function(b){a.company=b})["catch"](function(a){e.path("/contactmanager/companies/list")})},a.updateCompany=function(){return f.update({id:d.id},a.company).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.companies.view",{url:"/view/:id",templateUrl:"app/contactmanager/company/view/view.html",controller:"ContactManagerCompanyViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.companies.view.settings",{url:"/settings",templateUrl:"app/contactmanager/company/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("Contact",["$resource",function(a){return a("/api/contactmanager/contacts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.contacts",{url:"/contacts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListCopyModalCtrl",["$scope","$uibModalInstance","xAlert","List","Contact","$translate",function(a,b,c,d,e,f){a.item={},a.getLists=function(){return d.get().$promise.then(function(b){a.lists=b.rows})["catch"](function(a){c.error(a)})},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerListImportModalCtrl",["$scope","$uibModalInstance","indexes","csv","xAlert","socket","List","Contact","$translate",function(a,b,c,d,e,f,g,h,i){function j(b){if(b>=a.csvLength||a.stopped)return void(a.importing=!1);for(var c,f=[],g=b;b+200>g&&g<a.csvLength;g++)c={},_.forOwn(a.item,function(b,e){switch(e){case"tags":c.tags=[],a.item.tags.forEach(function(a){""!==d[g][a]&&c.tags.push(d[g][a])});break;default:c[e]=d[g][b]}}),c.tags=c.tags?c.tags.join(","):void 0,c.ListId=a.item.ListId,c.CompanyId=a.item.CompanyId||null,f.push(c);return h.save({controller:"bulk"},{contacts:f}).$promise.then(function(b){a["import"].success+=b.ok*a.addingQuote,a["import"].succeeded+=b.ok,a["import"].fail+=b.ko*a.addingQuote,a["import"].failed+=b.ko,j(g)})["catch"](function(b){a.stopped=!0,e.error(b),j(g)})}a.indexes=c,a.importing=!1,a.submitted=!1,a.stopped=!1,a["import"]={success:0,fail:0,succeeded:0,failed:0},a.csvLength=d.length,a.addingQuote=100/a.csvLength,a.forms={csv:void 0},a.item={},a.start=function(){a.importing=!0,a.submitted=!0,j(0)},a.getLists=function(){return g.get().$promise.then(function(b){a.lists=b.rows,a.item.ListId=1,a.getCustomFields()})["catch"](function(a){e.error(a)})},a.getCustomFields=function(){return g.get({listId:a.item.ListId,controller:"customfields"}).$promise.then(function(b){b.rows.forEach(function(a){a.values=JSON.parse(a.values)}),a.customFields=b.rows,f.socket.on("custom_field:remove",function(b){_.remove(a.customFields,function(a){return b.id==a.id})}),f.socket.on("custom_field:save",function(b){if(b.ListId===a.item.ListId){var c=_.find(a.customFields,{id:b.id});c||("string"==typeof b.values&&(b.values=JSON.parse(b.values)),a.customFields.push(b))}})})["catch"](function(a){console.error(a),e.error(a)})},a.close=function(){b.close()},a.stop=function(){a.stopped=!0}}]),angular.module("xCallyShuttleApp").controller("ContactManagerContactListCtrl",["$scope","$translate","Modal","FileUploader","Papa","$uibModal","$log","Contact","gridOptions","List","uiGridConstants","xAlert","socket","$stateParams","Auth","Company",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
a.Auth=o,a.initView=function(){var c;return j.get().$promise.then(function(b){return a.lists=[],a.customFields=[],b.rows.forEach(function(b,c){_.forEach(b.CustomFields,function(b){a.customFields.push({name:b.name,alias:b.alias})}),a.lists.push({value:b.id,label:b.name})}),p.get().$promise}).then(function(b){a.companies=[],b.rows.forEach(function(b,c){a.companies.push({value:b.id,label:b.name})})}).then(function(){var d=[{"class":"blue-hoki",name:"profile",onClick:"grid.appScope.openContactTab(row.entity)"}];o.isAgent()||(d.push({"class":"green",title:b.instant("APPLICATION_COPY"),name:"copy",onClick:"grid.appScope.copy(row.entity.id)"}),d.push({"class":"red-sunglo",name:"delete",title:b.instant("APPLICATION_DELETE"),onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"})),c={exporterCsvFilename:"Contacts.csv",columnDefs:[{name:"firstName"},{name:"lastName"},{name:"phone"},{name:"email"},{name:"ListId",displayName:"APPLICATION_LIST",field:"List.name",filter:{type:k.filter.SELECT,term:n.listId||null,selectOptions:a.lists},cellTemplate:'<div class="centered-uigrid-td"><a href="/contactmanager/lists/view/{{row.entity.ListId}}/settings">{{row.entity.List.name}}</a></div>'},{name:"CompanyId",displayName:"APPLICATION_COMPANY",field:"Company.name",filter:{type:k.filter.SELECT,term:n.companyId||null,selectOptions:a.companies},cellTemplate:'<div class="centered-uigrid-td"><a href="/contactmanager/companies/view/{{row.entity.CompanyId}}/settings">{{row.entity.Company.name}}</a></div>'},{name:"tags",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-12 col-md-offset-0 col-sm-12 col-sm-offset-0 col-xs-12 col-xs-offset-0"><div custom-grid-tags-filter-header></div></div></div>',filters:[{name:"tags"}],cellTemplate:"<div class=\"centered-uigrid-td\">{{row.entity.tags.join(',')}}</div>"}]},_.forEach(a.customFields,function(a){c.columnDefs.push({name:a.name,displayName:a.alias,visible:!1})}),c.columnDefs.push({name:"action",width:100,buttons:d}),a.gridOptions=i.gridOptions(h,c,a),m.socket.on("contact_manager:remove",function(b){a.gridOptions.getPage()})})["catch"](function(a){l.error(a)})},d.FileSelect.prototype.isEmptyAfterSelection=function(){return!0};var q=a.uploader=new d({queueLimit:1,clearInputAfterAddedToQueue:!0});q.onAfterAddingFile=function(b){console.log("fileadded"),e.parse(b._file,{header:!0,complete:function(b){a.uploader.clearQueue(),a["import"](b.data)},error:function(a){console.log(a)}})},a["import"]=function(b){var c=f.open({animation:!0,size:"lg",backdrop:"static",keyboard:!1,templateUrl:"app/contactmanager/contact/list/import.modal.html",controller:"ContactManagerListImportModalCtrl",resolve:{indexes:function(){return _.keys(b[0])},csv:function(){return b}}});c.result.then(function(b){a.gridOptions.getPage()},function(){g.info("Modal dismissed at: "+new Date)})},a.copy=function(b){var c=f.open({animation:!0,size:"small",templateUrl:"app/contactmanager/contact/list/copy.modal.html",controller:"ContactManagerListCopyModalCtrl"});c.result.then(function(c){return h.save({id:b,controller:"copy"},c).$promise.then(function(b){a.openContactTab({firstName:b.firstName,lastName:b.lastName,id:b.id})})["catch"](function(a){l.error(a)})},function(){g.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.contacts.list",{url:"/list",templateUrl:"app/contactmanager/contact/list/list.html",params:{listId:null,companyId:null},controller:"ContactManagerContactListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager",{url:"/contactmanager",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:5}}})}]),angular.module("xCallyShuttleApp").factory("List",["$resource",function(a){return a("/api/contactmanager/lists/:listId/:controller/:id",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.lists",{url:"/lists",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:5}}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerListListCtrl",["$scope","$http","$translate","Modal","xAlert","$uibModal","$log","List","gridOptions",function(a,b,c,d,e,f,g,h,i){a.initView=function(){var b={exporterCsvFilename:"Lists.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",name:"settings",href:"/contactmanager/lists/view/{{row.entity.id}}/settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{"class":"green-turquoise",name:"contacts",uisref:"main.contactmanager.contacts.list({listId:{{row.entity.id}}})"}]}]};a.gridOptions=i.gridOptions(h,b,a)},a.create=function(){var d=f.open({animation:!0,templateUrl:"app/contactmanager/list/list/create.modal.html",controller:"ContactManagerListListCreateModalCtrl"});d.result.then(function(d){b.post("/api/contactmanager/lists/",d).then(function(b){a.gridOptions.getPage(),e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})},function(){g.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.lists.list",{url:"/list",templateUrl:"app/contactmanager/list/list/list.html",controller:"ContactManagerListListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListCustomFieldViewCreateModalCtrl",["$scope","$uibModalInstance","$translate",function(a,b,c){a.$translate=c,a.forms={dashboard:void 0},a.item={},a.choices=[{value:""}],a.addField=function(){a.choices.push({})},a.removeField=function(b){a.choices.splice(b,1)},a.types=[{name:"APPLICATION_TEXT",value:"text"},{name:"APPLICATION_SELECT",value:"select"}],a.ok=function(){"select"===a.item.type&&(a.item.values=angular.toJson(a.choices)),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerListViewCtrl",["$scope","xAlert","$translate","$stateParams","socket","$location","$uibModal","$log","Modal","List","Team","gridOptions",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(a){var b=a.split(""),c=0,d=0;return b.shift(),b.forEach(function(a,b){"{"===a?c++:"}"===a&&(c--,c||(d=b+1))}),d?JSON.parse("["+a.substr(1,d)+"]"):[]}var n=function(){return{select:function(b){return j.save({listId:a.list.id,controller:"agents"},{agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})},deselect:function(b){return j["delete"]({listId:a.list.id,controller:"agents",agents:b}).$promise.then(function(){a.getTeams()})["catch"](function(a){console.log(a)})}}};a.getList=function(){return j.get({listId:d.id}).$promise.then(function(b){a.list=b})["catch"](function(a){f.path("/contactmanager/lists/list")})},a.updateList=function(){return j.update({id:d.id},a.list).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){b.error(a)})},a.getTeams=function(){return k.get({controller:"associations"}).$promise.then(function(b){return a.teams=b.rows,a.list?void 0:a.getList()}).then(function(){return a.list.defaultEntry&&f.path("/contactmanager/lists/list"),j.get({listId:d.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindQueue(a.teams,_.map(b.rows,function(a){return{id:a.id}}),n)})["catch"](function(a){console.error(a)})},a.initCustomFields=function(){var b={exporterCsvFilename:"customfields.csv",primaryKey:"id",columnDefs:[{name:"alias",displayName:"APPLICATION_NAME"},{name:"name",displayName:"APPLICATION_FIELD"},{name:"type"},{name:"description"},{name:"action",width:200,buttons:[{"class":"blue-hoki",href:"/contactmanager/lists/view/{{grid.appScope.$stateParams.id}}/customfields/settings/{{row.entity.id}}",name:"settings"},{"class":"red-sunglo",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)",name:"delete"}]}]};a.gridOptions=l.gridOptions(j,b,a,{listId:d.id,controller:"customfields"})},a.create=function(){var e=g.open({animation:!0,templateUrl:"app/contactmanager/list/view/create.modal.html",controller:"ContactManagerListCustomFieldViewCreateModalCtrl"});e.result.then(function(e){return j.save({listId:d.id,controller:"customfields"},e).$promise.then(function(){a.gridOptions.getPage(),b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})},function(){h.info("Modal dismissed at: "+new Date)})},a.getCustomField=function(){return j.get({listId:d.id,controller:"customfields",id:d.cfId}).$promise.then(function(b){if(a.customField=b,"select"===a.customField.type)try{a.choices=JSON.parse(a.customField.values)}catch(c){a.choices=m(a.customField.values)}})["catch"](function(a){console.error(a)})},a.updateCustomField=function(){var e=angular.copy(a.customField);return"select"===e.type&&(e.values=angular.toJson(a.choices)),j.update({listId:d.id,controller:"customfields",id:d.cfId},e).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){b.error(a)})},a.addField=function(){a.choices.push({})},a.removeField=function(b){a.choices.splice(b,1)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.lists.view",{url:"/view/:id",templateUrl:"app/contactmanager/list/view/view.html",controller:"ContactManagerListViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.lists.view.settings",{url:"/settings",templateUrl:"app/contactmanager/list/view/view.settings.html"}).state("main.contactmanager.lists.view.agents",{url:"/agents",templateUrl:"app/contactmanager/list/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.contactmanager.lists.view.customfields",{url:"/customfields",templateUrl:"app/contactmanager/list/view/view.customFields.html"}).state("main.contactmanager.lists.view.customfields.settings",{url:"/settings/:cfId",templateUrl:"app/contactmanager/list/view/view.customFieldSettings.html",controller:"ContactManagerListViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("DashboardChatCtrl",["$scope","Auth","ChatRoom","socket","Agent","$q","$translate","ReportChatSession","$timeout",function(a,b,c,d,e,f,g,h,i){a.Auth=b,a.moment=moment,a["new"]=0,a.open=0,a.unmanaged=0,a.closed=0;var j=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.initAgent=function(){a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"UserHasChatQueue.queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){j(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)})}},a.table2={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"roomid",displayName:"APPLICATION_INTERACTION_ID",headerCellFilter:"translate"},{name:"websitename",displayName:"APPLICATION_WEBSITE",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.application}} <span data-ng-if=\"row.entity.application == 'queue' && row.entity.queuename\">({{row.entity.queuename}})</span></div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.abandon">{{\'APPLICATION_QUEUESTATUS_ABANDON\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span><span data-ng-if="!row.entity.leaveAt"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</div>"}],data:[],gridMenuTitleFilter:function(a){var b=f.defer();return b.resolve(g.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){j(a.table2.data.length)})}},e.get({id:b.getCurrentUser().id,controller:"chat",controller1:"queues"}).$promise.then(function(b){a.table1.data=b.rows})["finally"](function(){d.socket.on("user_has_chat_queue:save",function(c){c.UserId!=b.getCurrentUser().id||_.find(a.table1.data,{id:c.ChatQueueId})||a.table1.data.push({id:c.ChatQueueId,UserHasChatQueue:c})}),d.socket.on("user_has_chat_queue:remove",function(c){c.UserId===b.getCurrentUser().id&&_.remove(a.table1.data,{id:c.ChatQueueId})})})["catch"](function(a){console.error(a)}),h.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){d.socket.on("report_chat_session:save",function(b){var c=_.find(a.table2.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&i(function(){_.remove(a.table2.data,{id:b.id})},1e4)):b.leaveAt||a.table2.data.push(b)}),d.socket.on("report_chat_session:remove",function(b){_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.log(a)})},a.initWidget=function(b){var e;switch(b){case"unmanaged":e=c;break;default:e=h}return e.get({id:b}).$promise.then(function(c){a[b]=c.value,a.charts={interactions:{labels:[g.instant("APPLICATION_DASHBOARD_NEW"),g.instant("APPLICATION_DASHBOARD_OPEN"),g.instant("APPLICATION_UNMANAGED"),g.instant("APPLICATION_DASHBOARD_CLOSED"),g.instant("APPLICATION_DASHBOARD_ABANDONED")],values:[a["new"],a.open,a.unmanaged,a.closed,a.abandoned],colours:["#44B6AE","#578EBE","#35AA47","#8775A7","#f3c200"]}},d.socket.on("report_chat_dashboard:"+b,function(c){a[b]=c.value,a.charts.interactions.values=[a["new"],a.open,a.unmanaged,a.closed]})})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("DashboardCtrl",["$scope","$translate","Auth",function(a,b,c){}]),angular.module("xCallyShuttleApp").factory("Dashboard",["$resource",function(a){return a("/api/dashboards/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.dashboard",{"abstract":!0,url:"/dashboard",templateUrl:"app/dashboard/dashboard.html",controller:"DashboardCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:1}}}).state("main.dashboard.voice",{url:"/voice",controller:"DashboardVoiceCtrl",templateUrl:"app/dashboard/voice/voice.html"}).state("main.dashboard.chat",{url:"/chat",controller:"DashboardChatCtrl",templateUrl:"app/dashboard/chat/chat.html",data:{permissions:{redirectTo:"landing",id:8}}}).state("main.dashboard.mail",{url:"/mail",controller:"DashboardMailCtrl",templateUrl:"app/dashboard/mail/mail.html",data:{permissions:{redirectTo:"landing",id:9}}}).state("main.dashboard.fax",{url:"/fax",controller:"DashboardFaxCtrl",templateUrl:"app/dashboard/fax/fax.html",data:{permissions:{redirectTo:"landing",id:10}}}).state("main.dashboard.sms",{url:"/sms",controller:"DashboardSmsCtrl",templateUrl:"app/dashboard/sms/sms.html",data:{permissions:{redirectTo:"landing",id:11}}}).state("main.dashboard.openchannel",{url:"/openchannel",controller:"DashboardOpenChannelCtrl",templateUrl:"app/dashboard/openchannel/openchannel.html",data:{permissions:{redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("DashboardFaxCtrl",["$scope","Auth","FaxRoom","socket","Agent","$translate","$q","ReportFaxSession","$timeout",function(a,b,c,d,e,f,g,h,i){a.Auth=b,a.moment=moment,a["new"]=0,a.open=0,a.pending=0,a.closed=0,a.initAgent=function(){a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"UserHasFaxQueue.queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"}],data:[],onRegisterApi:function(b){a.gridApi=b}},a.table2={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"roomid",displayName:"APPLICATION_INTERACTION_ID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT_NAME",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.application}} <span data-ng-if=\"row.entity.application == 'queue' && row.entity.queuename\">({{row.entity.queuename}})</span></div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span><span data-ng-if="!row.entity.leaveAt"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=g.defer();return b.resolve(f.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b}},e.get({id:b.getCurrentUser().id,controller:"fax",controller1:"queues"}).$promise.then(function(b){a.table1.data=b.rows})["finally"](function(){d.socket.on("user_has_fax_queue:save",function(c){c.UserId!=b.getCurrentUser().id||_.find(a.table1.data,{id:c.FaxQueueId})||a.table1.data.push({id:c.FaxQueueId,UserHasFaxQueue:c})}),d.socket.on("user_has_fax_queue:remove",function(c){c.UserId===b.getCurrentUser().id&&_.remove(a.table1.data,{id:c.FaxQueueId})})})["catch"](function(a){console.error(a)}),h.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){d.socket.on("report_fax_session:save",function(b){var c=_.find(a.table2.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&i(function(){_.remove(a.table2.data,{id:b.id})},1e4)):b.leaveAt||a.table2.data.push(b)}),d.socket.on("report_fax_session:remove",function(b){_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.log(a)})},a.initWidget=function(b){var e;switch(b){case"timeout":case"waiting":e=h;break;default:e=c}return e.get({id:b}).$promise.then(function(c){a[b]=c.value,a.charts={interactions:{labels:[f.instant("APPLICATION_DASHBOARD_NEW"),f.instant("APPLICATION_DASHBOARD_OPEN"),f.instant("APPLICATION_DASHBOARD_PENDING"),f.instant("APPLICATION_DASHBOARD_CLOSED")],values:[a["new"],a.open,a.pending,a.closed],colours:["#44B6AE","#578EBE","#35AA47","#8775A7"]}},d.socket.on("report_fax_dashboard:"+b,function(c){a[b]=c.value,a.charts.interactions.values=[a["new"],a.open,a.pending,a.closed]})})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("DashboardMailCtrl",["$scope","Auth","MailRoom","socket","Agent","$translate","$q","ReportMailSession","$timeout",function(a,b,c,d,e,f,g,h,i){a.Auth=b,a.moment=moment,a["new"]=0,a.open=0,a.pending=0,a.closed=0,a.charts={interactions:{labels:[f.instant("APPLICATION_DASHBOARD_NEW"),f.instant("APPLICATION_DASHBOARD_OPEN"),f.instant("APPLICATION_DASHBOARD_PENDING"),f.instant("APPLICATION_DASHBOARD_CLOSED")],values:[a["new"],a.open,a.pending,a.closed],colours:["#44B6AE","#578EBE","#35AA47","#8775A7"]}},a.initAgent=function(){a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"UserHasMailQueue.queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"}],data:[],onRegisterApi:function(b){a.gridApi=b}},a.table2={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"roomid",displayName:"APPLICATION_INTERACTION_ID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT_NAME",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.application}} <span data-ng-if=\"row.entity.application == 'queue' && row.entity.queuename\">({{row.entity.queuename}})</span></div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span><span data-ng-if="!row.entity.leaveAt"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=g.defer();return b.resolve(f.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){})}},e.get({id:b.getCurrentUser().id,controller:"mail",controller1:"queues"}).$promise.then(function(b){a.table1.data=b.rows})["finally"](function(){d.socket.on("user_has_mail_queue:save",function(c){c.UserId!=b.getCurrentUser().id||_.find(a.table1.data,{id:c.MailQueueId})||a.table1.data.push({id:c.MailQueueId,UserHasMailQueue:c})}),d.socket.on("user_has_mail_queue:remove",function(c){c.UserId===b.getCurrentUser().id&&_.remove(a.table1.data,{id:c.MailQueueId})})})["catch"](function(a){console.error(a)}),h.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){d.socket.on("report_mail_session:save",function(b){var c=_.find(a.table2.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&i(function(){_.remove(a.table2.data,{id:b.id})},1e4)):b.leaveAt||a.table2.data.push(b)}),d.socket.on("report_mail_session:remove",function(b){_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.log(a)})},a.initWidget=function(b){var e;switch(b){case"timeout":case"waiting":e=h;break;default:e=c}return e.get({id:b}).$promise.then(function(c){a[b]=c.value,a.charts={interactions:{labels:[f.instant("APPLICATION_DASHBOARD_NEW"),f.instant("APPLICATION_DASHBOARD_OPEN"),f.instant("APPLICATION_DASHBOARD_PENDING"),f.instant("APPLICATION_DASHBOARD_CLOSED")],values:[a["new"],a.open,a.pending,a.closed],colours:["#44B6AE","#578EBE","#35AA47","#8775A7"]}},d.socket.on("report_mail_dashboard:"+b,function(c){a[b]=c.value,a.charts.interactions.values=[a["new"],a.open,a.pending,a.closed]})})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("DashboardOpenChannelCtrl",["$scope","Auth","OpenChannelRoom","socket","Agent","$translate","$q","ReportOpenChannelSession","$timeout",function(a,b,c,d,e,f,g,h,i){a.Auth=b,a.moment=moment,a["new"]=0,a.open=0,a.pending=0,a.closed=0,a.initAgent=function(){a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"UserHasOpenchannelQueue.queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"}],data:[],onRegisterApi:function(b){a.gridApi=b}},a.table2={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"roomid",displayName:"APPLICATION_INTERACTION_ID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT_NAME",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.application}} <span data-ng-if=\"row.entity.application == 'queue' && row.entity.queuename\">({{row.entity.queuename}})</span></div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span><span data-ng-if="!row.entity.leaveAt"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=g.defer();return b.resolve(f.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b}},e.get({id:b.getCurrentUser().id,controller:"openchannel",controller1:"queues"}).$promise.then(function(b){a.table1.data=b.rows})["finally"](function(){d.socket.on("user_has_openchannel_queue:save",function(c){c.UserId!=b.getCurrentUser().id||_.find(a.table1.data,{id:c.OpenChannelQueueId})||a.table1.data.push({id:c.OpenChannelQueueId,UserHasOpenChannelQueue:c})}),d.socket.on("user_has_openchannel_queue:remove",function(c){c.UserId===b.getCurrentUser().id&&_.remove(a.table1.data,{id:c.OpenChannelQueueId})})})["catch"](function(a){console.error(a)}),h.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){d.socket.on("report_openchannel_session:save",function(b){var c=_.find(a.table2.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&i(function(){_.remove(a.table2.data,{id:b.id})},1e4)):b.leaveAt||a.table2.data.push(b)}),d.socket.on("report_openchannel_session:remove",function(b){_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.log(a)})},a.initWidget=function(b){var e;switch(b){case"timeout":case"waiting":e=h;break;default:e=c}return e.get({id:b}).$promise.then(function(c){a[b]=c.value,a.charts={interactions:{labels:[f.instant("APPLICATION_DASHBOARD_NEW"),f.instant("APPLICATION_DASHBOARD_OPEN"),f.instant("APPLICATION_DASHBOARD_PENDING"),f.instant("APPLICATION_DASHBOARD_CLOSED")],values:[a["new"],a.open,a.pending,a.closed],colours:["#44B6AE","#578EBE","#35AA47","#8775A7"]}},d.socket.on("report_openchannel_dashboard:"+b,function(c){a[b]=c.value,a.charts.interactions.values=[a["new"],a.open,a.pending,a.closed]})})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("DashboardSmsCtrl",["$scope","Auth","SmsRoom","socket","Agent","$translate","$q","ReportSmsSession","$timeout",function(a,b,c,d,e,f,g,h,i){a.Auth=b,a.moment=moment,a["new"]=0,a.open=0,a.pending=0,a.closed=0,a.initAgent=function(){a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"UserHasSmsQueue.queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"}],data:[],onRegisterApi:function(b){a.gridApi=b}},a.table2={headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,columnDefs:[{name:"roomid",displayName:"APPLICATION_INTERACTION_ID",headerCellFilter:"translate"},{name:"accountname",displayName:"APPLICATION_ACCOUNT_NAME",headerCellFilter:"translate"},{name:"application",displayName:"APPLICATION_APPLICATION",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.application}} <span data-ng-if=\"row.entity.application == 'queue' && row.entity.queuename\">({{row.entity.queuename}})</span></div>"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span data-ng-if="!row.entity.leaveAt">{{\'APPLICATION_QUEUESTATUS_WAITING\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.complete">{{\'APPLICATION_QUEUESTATUS_COMPLETE\' | translate}}</span><span data-ng-if="row.entity.leaveAt && row.entity.timeout">{{\'APPLICATION_TIMEOUT\' | translate}}</span><span data-ng-if="!row.entity.leaveAt"> [<timer start-time="grid.appScope.moment(row.entity.updatedAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</span></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"membername",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.membername || ''}}</span></div>"}],data:[],gridMenuTitleFilter:function(a){var b=g.defer();return b.resolve(f.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b}},e.get({id:b.getCurrentUser().id,controller:"sms",controller1:"queues"}).$promise.then(function(b){a.table1.data=b.rows})["finally"](function(){d.socket.on("user_has_sms_queue:save",function(c){c.UserId!=b.getCurrentUser().id||_.find(a.table1.data,{id:c.SmsQueueId})||a.table1.data.push({id:c.SmsQueueId,UserHasSmsQueue:c})}),d.socket.on("user_has_sms_queue:remove",function(c){c.UserId===b.getCurrentUser().id&&_.remove(a.table1.data,{id:c.SmsQueueId})})})["catch"](function(a){console.error(a)}),h.get({controller:"waiting",controller2:"applications"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){d.socket.on("report_sms_session:save",function(b){var c=_.find(a.table2.data,{id:b.id});c?(_.merge(c,b),b.leaveAt&&i(function(){_.remove(a.table2.data,{id:b.id})},1e4)):b.leaveAt||a.table2.data.push(b)}),d.socket.on("report_sms_session:remove",function(b){_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.log(a)})},a.initWidget=function(b){var e;switch(b){case"timeout":case"waiting":e=h;break;default:e=c}return e.get({id:b}).$promise.then(function(c){a[b]=c.value,a.charts={interactions:{labels:[f.instant("APPLICATION_DASHBOARD_NEW"),f.instant("APPLICATION_DASHBOARD_OPEN"),f.instant("APPLICATION_DASHBOARD_PENDING"),f.instant("APPLICATION_DASHBOARD_CLOSED")],
-values:[a["new"],a.open,a.pending,a.closed],colours:["#44B6AE","#578EBE","#35AA47","#8775A7"]}},d.socket.on("report_sms_dashboard:"+b,function(c){a[b]=c.value,a.charts.interactions.values=[a["new"],a.open,a.pending,a.closed]})})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("DashboardVoiceCtrl",["$scope","$rootScope","$timeout","Auth","ReportQueue","ReportCall","Agent","VoiceQueue","Dashboard","socket",function(a,b,c,d,e,f,g,h,i,j){a.radioSwitch={size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"success",onColor:"danger"};var k=function(a,b){var c=a?30*a+120:177;angular.element(document.getElementsByName(b)[0]).css("height",c+"px")};a.initUser=function(){var b;if(a.user=d.getCurrentUser(),a.voice={},a.$on("$destroy",function(){b&&(b.terminate(),j.socket.removeAllListeners("dashboard:voice:waiting"),j.socket.removeAllListeners("dashboard:voice:active"),j.socket.removeAllListeners("dashboard:voice:complete"),j.socket.removeAllListeners("dashboard:voice:abandon"),j.socket.removeAllListeners("dashboard:voice:unmanaged"),j.socket.removeAllListeners("dashboard:voice:holdtime"),j.socket.removeAllListeners("dashboard:voice:talktime"))}),a.onmessage=function(b){a.voice=b.data,a.$apply()},window.Worker){switch(b=new Worker("assets/workers/dashboard/voice/worker.js"),a.user.role){case"admin":h.get().$promise.then(function(a){b.postMessage({evt:"myQueues",queues:a.rows})})["catch"](function(a){console.error(a)});break;case"user":b.postMessage({evt:"myQueues",queues:a.user.PVoiceQueues})}b.onmessage=a.onmessage}i.get({id:"voice",controller:"init"}).$promise.then(function(a){a.evt="dashboard:voice:init",b.postMessage(a)})["catch"](function(a){console.error(a)}),j.socket.on("dashboard:voice:waiting",function(a){a.evt="dashboard:voice:waiting",b.postMessage(a)}),j.socket.on("dashboard:voice:active",function(a){a.evt="dashboard:voice:active",b.postMessage(a)}),j.socket.on("dashboard:voice:complete",function(a){a.evt="dashboard:voice:complete",b.postMessage(a)}),j.socket.on("dashboard:voice:abandon",function(a){a.evt="dashboard:voice:abandon",b.postMessage(a)}),j.socket.on("dashboard:voice:unmanaged",function(a){a.evt="dashboard:voice:unmanaged",b.postMessage(a)}),j.socket.on("dashboard:voice:talktime",function(a){a.evt="dashboard:voice:talktime",b.postMessage(a)}),j.socket.on("dashboard:voice:holdtime",function(a){a.evt="dashboard:voice:holdtime",b.postMessage(a)}),j.socket.on("dashboard:voice:outbound",function(a){a.evt="dashboard:voice:outbound",b.postMessage(a)})},a.initAgent=function(){return a.agent=d.getCurrentUser(),a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"},{name:"loggedAt",displayName:"logged At",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.loggedAt"></span></div>'},{name:"lastcall",headerCellFilter:"translate",displayName:"APPLICATION_LAST_CALL",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.lastcall"></span></div>'},{name:"callstaken",headerCellFilter:"translate",displayName:"APPLICATION_CALLS_TAKEN",cellClass:"text-center ui-grid-vcenter"}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){k(a.gridApi.core.getVisibleRows(a.gridApi.grid).length,"table1")})}},a.table2={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!1,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>{{'APPLICATION_QUEUESTATUS_WAITING' | translate}}</span>[<timer start-time=\"grid.appScope.moment(row.entity.updatedAt).unix()*1000\">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"caller",displayName:"APPLICATION_CALLER",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.calleridnum || ''}} {{row.entity.calleridname || ''}}</span></div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"position",displayName:"APPLICATION_POSITION",headerCellFilter:"translate"},{name:"agent",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.connectedlinenum || ''}} {{row.entity.connectedlinename || ''}}</span></div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],onRegisterApi:function(b){a.gridApi1=b,a.gridApi1.grid.registerDataChangeCallback(function(){k(a.gridApi1.core.getVisibleRows(a.gridApi1.grid).length,"table2")})}},a.table3={exporterCsvFilename:"abandoned_calls.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:1,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"caller",displayName:"APPLICATION_CALLER",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.calleridnum || ''}} {{row.entity.calleridname || ''}}</div>"},{name:"createdAt",displayName:"APPLICATION_DATE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.updatedAt | date:'yyyy-MM-dd HH:mm:ss'}}</div>"},{name:"lastAssignedTo",cellClass:"text-center ui-grid-vcenter",displayName:"APPLICATION_LAST_ASSIGNED_TO",headerCellFilter:"translate"},{name:"assigned",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.assigned" type="checkbox" switch-active="{{ !row.entity.assigned || grid.appScope.agent.name === row.entity.lastAssignedTo }}" switch-on-text="{{ \'APPLICATION_ASSIGNED\' | translate }}" switch-off-text="{{ \'APPLICATION_FREE\' | translate }}" switch-on-color="{{ grid.appScope.radioSwitch.onColor }}" switch-off-color="{{ grid.appScope.radioSwitch.offColor }}" switch-animate="{{ grid.appScope.radioSwitch.animate }}" switch-size="{{ grid.appScope.radioSwitch.size }}" switch-label="{{ grid.appScope.radioSwitch.label }}" switch-icon="{{ grid.appScope.radioSwitch.icon }}" switch-radio-off="{{ grid.appScope.radioSwitch.radioOff }}" switch-label-width="{{ grid.appScope.radioSwitch.labelWidth }}" switch-handle-width="{{ grid.appScope.radioSwitch.handleWidth }}"></div>',enableFiltering:!1}],data:[],onRegisterApi:function(b){a.gridApi2=b,a.gridApi2.grid.registerDataChangeCallback(function(){k(a.gridApi2.core.getVisibleRows(a.gridApi2.grid).length,"table3")})}},g.get({id:d.getCurrentUser().id,controller:"voice",controller1:"queues"}).$promise.then(function(b){a.table1.data=_.map(b.rows,function(a){return{queue:a.UserHasVoiceQueue.queue,loggedAt:a.UserHasVoiceQueue.loggedAt,callstaken:a.UserHasVoiceQueue.callstaken,lastcall:a.UserHasVoiceQueue.lastcall}})})["finally"](function(){j.socket.on("voice:queue:update",function(b){var c=_.find(a.table1.data,{queue:b.queue});c?_.merge(c,b):a.table1.data.push(b)}),j.socket.on("user_has_voice_queue:remove",function(b){b.UserId===d.getCurrentUser().id&&_.remove(a.table1.data,{name:b.queue})})})["catch"](function(a){console.error(a)}),e.get({id:"waiting",controller:"calls"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){j.socket.on("report_queue:save",function(b){a.table2.data.push(b)}),j.socket.on("report_queue:update",function(b){var c=_.find(a.table2.data,{id:b.id});c&&b.queuecallerleaveAt&&_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.error(a)}),e.get({controller:"abandoned",controller2:"all"}).$promise.then(function(b){a.table3.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){j.socket.on("report_queue:save",function(b){a.table3.data.unshift(b)}),j.socket.on("report_queue:update",function(b){var c=_.find(a.table3.data,{id:b.id});c&&_.merge(c,b)})})},a.updateItem=function(b){return e.update({id:b.id},{assigned:b.assigned,lastAssignedTo:b.assigned?a.agent.name:void 0}).$promise["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk",{url:"/desk",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").factory("DeskAccount",["$resource",function(a){return a("/api/desk/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("DeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.map(a.displayedDeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedDeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("desk_account"),b.url="/api/desk/accounts",h.getPage(b).then(function(d){a.displayedDeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedDeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedDeskAccounts.length)}),f.socket.on("desk_account:save",function(){a.initList(b)}),f.socket.on("desk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/desk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.error(a)})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/desk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.error(a)})}),a.checkAccount=function(a){b.get("/api/desk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.list",{url:"/list",templateUrl:"app/desk/list/list.html",controller:"DeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("DeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","desk_com",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("desk_configuration"),g.unsyncUpdates("desk_field")}),a.initView=function(){b.get("/api/desk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.error(a)})},a.updateItem=function(){b.put("/api/desk/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/desk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("desk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.error(a)})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/desk/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/desk/configurations",a.configuration).success(function(a){e.path("desk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/desk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=j.fields.concat(b)}).error(function(a){h.error(a)})},a.getConfiguration=function(){b.get("/api/desk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("desk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.error(a)})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.error(a)})},a.removeItem=function(a){b["delete"]("api/desk/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/desk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/desk/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"id",b.idField);c&&(b.customField=_.result(c,"custom",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.data.choices?c.data.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.view",{url:"/view/:id",templateUrl:"app/desk/view/view.html",controller:"DeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.desk.view.account",{url:"/account",templateUrl:"app/desk/view/view.account.html"}).state("main.desk.view.configurations",{url:"/configurations",templateUrl:"app/desk/view/view.configurations.html"}).state("main.desk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/desk/view/view.configurationSettings.html",controller:"DeskViewCtrl"}).state("main.desk.view.configuration",{url:"/configuration",templateUrl:"app/desk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("DeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/desk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/desk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.wizard",{url:"/wizard",templateUrl:"app/desk/wizard/wizard.html",controller:"DeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk",{url:"/freshdesk",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").factory("FreshdeskAccount",["$resource",function(a){return a("/api/freshdesk/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("FreshdeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.map(a.displayedFreshdeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedFreshdeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("freshdesk_account"),b.url="/api/freshdesk/accounts",h.getPage(b).then(function(d){a.displayedFreshdeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedFreshdeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedFreshdeskAccounts.length)}),f.socket.on("freshdesk_account:save",function(){a.initList(b)}),f.socket.on("freshdesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/freshdesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.error(a)})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/freshdesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.error(a)})}),a.checkAccount=function(a){b.get("/api/freshdesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.list",{url:"/list",templateUrl:"app/freshdesk/list/list.html",controller:"FreshdeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FreshdeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("freshdesk_configuration"),h.unsyncUpdates("freshdesk_field")}),a.initView=function(){b.get("/api/freshdesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.error(a)})},a.updateItem=function(){b.put("/api/freshdesk/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/freshdesk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("freshdesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.error(a)})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/freshdesk/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/freshdesk/configurations",a.configuration).success(function(a){e.path("freshdesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/freshdesk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=[],b=f("freshdesk")(b),_.forEach(b,function(b){a.accountFields.push(b.ticket_field)})}).error(function(a){i.error(a)})},a.getConfiguration=function(){b.get("/api/freshdesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("freshdesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.error(a)})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.error(a)})},a.removeItem=function(a){b["delete"]("api/freshdesk/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/freshdesk/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"name",b.idField);c&&(b.customField=!_.result(c,"default",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.choices.length>0?c.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.view",{url:"/view/:id",templateUrl:"app/freshdesk/view/view.html",controller:"FreshdeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.freshdesk.view.account",{url:"/account",templateUrl:"app/freshdesk/view/view.account.html"}).state("main.freshdesk.view.configurations",{url:"/configurations",templateUrl:"app/freshdesk/view/view.configurations.html"}).state("main.freshdesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/freshdesk/view/view.configurationSettings.html",controller:"FreshdeskViewCtrl"}).state("main.freshdesk.view.configuration",{url:"/configuration",templateUrl:"app/freshdesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("FreshdeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/freshdesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/freshdesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.wizard",{url:"/wizard",templateUrl:"app/freshdesk/wizard/wizard.html",controller:"FreshdeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.iframe",{url:"/iframe",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("IframeViewCtrl",["$scope","Auth","Integration","xAlert","$translate","$sce",function(a,b,c,d,e,f){a.Auth=b,a.initView=function(){return c.get({state:"iframe"}).$promise.then(function(c){a.iframe=_.first(c.rows),a.iframe.remoteUri?a.url=f.trustAsResourceUrl(a.iframe.remoteUri):b.isAgent()&&d.show(e.instant("MESSAGE_NO_IFRAME_CONFIGURED")+".","danger")})["catch"](function(a){d.error(a)})},a.updateItem=function(){return b.isAgent()?void 0:c.update({id:a.iframe.id},a.iframe).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.iframe.view",{url:"/view",templateUrl:"app/iframe/view/view.html",controller:"IframeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Integration",["$resource",function(a){return a("/api/integrations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations",{url:"/integrations",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:19}}})}]),angular.module("xCallyShuttleApp").controller("IntegrationListCtrl",["$scope","Modal","socket","FileUploader","Integration","xAlert",function(a,b,c,d,e,f){a.integrationsByPage=10;var g=a.uploader=new d({url:"api/integrations",autoUpload:!0,removeAfterUpload:!0});g.filters.push({name:"zipFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|zip|".indexOf(b)}}),g.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(b.name,"success")},g.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),b.errors.forEach(function(a){f.error(err)})},a.deleteItem=b.confirm["delete"](function(a){e["delete"]({id:a},function(){f.show("Integration Removed","success")},function(a){f.error(a)})}),a.initList=function(){a.integrations=e.query({},function(a){c.syncUpdates("integration",a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations.list",{url:"/list",templateUrl:"app/integration/list/list.html",controller:"IntegrationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty",{url:"/jscripty",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("JscriptyProject",["$resource",function(a){return a("/api/jscripty/projects/:id/:controller/:action/:action2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectListCtrl",["$scope","$uibModal","JscriptyProject","gridOptions","Auth",function(a,b,c,d,e){a.isAdmin=e.isAdmin(),a.initView=function(){var b={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:300,buttons:[{"class":"blue-hoki",icon:"icon-settings",href:"/jscripty/projects/view/{{row.entity.id}}",hide:!e.isAdmin()},{"class":" green-turquoise",icon:"fa fa-play",onClick:"grid.appScope.openJscriptyTab(row.entity)"},{"class":"purple",icon:"icon-book-open",href:"/jscripty/projects/report/{{row.entity.id}}/sessions",hide:!e.isAdmin()},{"class":"red-sunglo",icon:"fa fa-trash",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)",hide:!e.isAdmin()}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/jscripty/project/list/list.create.modal.html",controller:"JscriptyProjectListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectListCreateCtrl",["$scope","$translate","$uibModalInstance","JscriptyProject","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){console.log(a),e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects.list",{url:"/list",templateUrl:"app/jscripty/project/list/list.html",controller:"JscriptyProjectListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectReportCtrl",["$scope","uiGridConstants","$http","$state","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope","gridOptions","JscriptyProject","$location",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.projectStats={started:0,incomplete:0,completed:0},a.projectId=e.id,a.initView=function(){m.get({id:e.id}).$promise.then(function(b){a.project=b})["catch"](function(a){i.error(a)}),m.get({id:e.id,controller:"sessions"}).$promise.then(function(b){var c=_.groupBy(b.rows,"status");a.projectStats.started=c.started?c.started.length:0,a.projectStats.completed=c.completed?c.completed.length:0,a.projectStats.incomplete=c.incomplete?c.incomplete.length:0})["catch"](function(a){i.error(a)})},a.pdf=function(a,b){var c=[];if(a){var d=html2canvas(document.getElementById(a)),e=d.parse(),f=d.render(e),g=f.toDataURL("image/png");c.push({image:g,width:500,style:"img"})}b.length&&_.forEach(b,function(a){var b=html2canvas(document.getElementById(a.question_id)),d=b.parse(),e=b.render(d),f=e.toDataURL("image/png");c.push({image:f,width:500,style:"img"})});var h={content:c};pdfMake.createPdf(h).download("Project_summary.pdf")},a.getProjectSessions=function(){var c={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"session_id",displayName:"APPLICATION_SESSIONID"},{name:"queue",displayName:"APPLICATION_QUEUE"},{name:"membername",displayName:"APPLICATION_AGENT"},{name:"calleridnum",displayName:"APPLICATION_CALLERIDNUM"},{name:"createdAt",displayName:"APPLICATION_STARTEDAT",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',
-filters:[{name:"From",condition:b.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:b.filter.LESS_THAN_OR_EQUAL}]},{name:"completedAt",displayName:"APPLICATION_COMPLETEDAT",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:b.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:b.filter.LESS_THAN_OR_EQUAL}]},{name:"status",displayName:"APPLICATION_STATUS"},{name:"last_question_id",displayName:"APPLICATION_LASTQUESTIONID"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/jscripty/projects/report/{{row.entity.projectId}}/session/{{row.entity.session_id}}",name:"Detail"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteSession(row.entity.session_id)"}]}]};a.gridOptions=l.gridOptions(m,c,a,{id:e.id,controller:"sessions"})},a.deleteSession=function(b){m["delete"]({id:e.id,controller:"sessions",action:b}).$promise.then(function(b){a.gridOptions.getPage(),a.initView(),i.show(j.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})},a.getSessionDetails=function(){m.get({id:e.id,controller:"sessions",action:e.sessionId}).$promise.then(function(b){a.session=b,a.sessionQuestions=b.ReportJscriptyQuestions})["catch"](function(a){i.error(a)})},a.getQuestionSummary=function(){var b={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"question_id",displayName:"APPLICATION_QUESTIONID"},{name:"question_type",displayName:"APPLICATION_QUESTIONTYPE"},{name:"question_label",displayName:"APPLICATION_QUESTIONLABEL"},{name:"question_text",displayName:"APPLICATION_QUESTION"},{name:"count",displayName:"APPLICATION_COUNT",enableFiltering:!1},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/jscripty/projects/report/"+e.id+"/detail/{{row.entity.question_id}}",name:"Detail"}]}]};a.gridOptions=l.gridOptions(m,b,a,{id:e.id,controller:"questions",action:"summary"})},a.getQuestionInputs=function(){var b={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"session_id",displayName:"APPLICATION_SESSIONID"},{name:"question_id",displayName:"APPLICATION_QUESTIONID",enableFiltering:!1},{name:"question_label",displayName:"APPLICATION_QUESTIONLABEL",enableFiltering:!1},{name:"question_text",displayName:"APPLICATION_QUESTION",enableFiltering:!1},{name:"input_label",displayName:"APPLICATION_INPUTLABEL",enableFiltering:!1},{name:"input_value",cellTemplate:'<div uib-tooltip="{{row.entity.input_value}}">{{row.entity.input_value}}</div>',displayName:"APPLICATION_INPUTVALUE",enableFiltering:!1}]};a.gridOptions=l.gridOptions(m,b,a,{id:e.id,controller:"inputs"})},a.getProjectDetail=function(){a.projectDetail=[],m.query({id:e.id,controller:"questions",action:"detail"}).$promise.then(function(b){console.log(e.questionId),e.questionId?a.projectDetail.push(_.find(b,function(a){return a.question_id==parseInt(e.questionId)})):a.projectDetail=b,console.log(a.projectDetail)})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects.report",{url:"/report/:id",templateUrl:"app/jscripty/project/report/report.html",controller:"JscriptyProjectReportCtrl"}).state("main.jscripty.projects.report.sessions",{url:"/sessions",templateUrl:"app/jscripty/project/report/report.sessions.html"}).state("main.jscripty.projects.report.summary",{url:"/summary",templateUrl:"app/jscripty/project/report/report.summary.html"}).state("main.jscripty.projects.report.inputs",{url:"/inputs",templateUrl:"app/jscripty/project/report/report.inputs.html"}).state("main.jscripty.projects.report.detail",{url:"/detail",templateUrl:"app/jscripty/project/report/report.detail.html"}).state("main.jscripty.projects.report.questionDetail",{url:"/detail/:questionId",controller:"JscriptyProjectReportCtrl",templateUrl:"app/jscripty/project/report/report.detail.html"}).state("main.jscripty.projects.report.sessionDetail",{url:"/session/:sessionId",controller:"JscriptyProjectReportCtrl",templateUrl:"app/jscripty/project/report/report.session.detail.html"})}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectViewCtrl",["$scope","$http","$state","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope",function(a,b,c,d,e,f,g,h,i,j){a.jscriptyProject={},a.getProject=function(){b.get("/api/jscripty/projects/"+d.id).success(function(b){a.jscriptyProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!=a&&-1!=a.indexOf("Script error."));else{var d=new Image;d.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(e){}},b.token=f.getToken();var a=new EditorUi(new Editor);a.openString(b.draft,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),e.syncUpdates("jscripty_project",[b],function(a,c,d){c.id===b.id})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects.view",{url:"/view/:id",templateUrl:"app/jscripty/project/view/view.html",controller:"JscriptyProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/jscripty/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/jscripty/js/Editor.js","assets/plugins/jscripty/js/Graph.js","assets/plugins/jscripty/js/EditorUi.js","assets/plugins/jscripty/js/Actions.js","assets/plugins/jscripty/js/Menus.js","assets/plugins/jscripty/js/Sidebar.js","assets/plugins/jscripty/js/Toolbar.js","assets/plugins/jscripty/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("LandingCtrl",["$scope","$location","$window","$timeout","Auth","Setting",function(a,b,c,d,e,f){a.initLanding=function(){a.year=moment().year(),f.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)});var c,g,h;return(h=e.getCurrentUser().$promise)?h.then(function(e){switch(g=e,g.role){case"user":for(var f=0;f<g.Modules.length&&!(c=g.Modules[f].path);f++);break;case"admin":case"agent":c="/dashboard/voice"}c||(a.message="MESSAGE_NO_AVAILABLE_MODULES"),d(function(){b.path(c)},500)})["catch"](function(a){console.error(a),b.path("/login")}):void b.path("/login")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("landing",{url:"/landing",templateUrl:"app/landing/landing.html",controller:"LandingCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/error.css","assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("LoginCtrl",["$scope","Auth","$location","$window","$rootScope","Setting","xAlert","$stateParams",function(a,b,c,d,e,f,g,h){a.year=moment().year(),a.recovered=h.reset,a.userLogin={},a.userSignUp={},a.loginSubmitted=!1,a.signupSubmitted=!1,a.errorLogin=!1,a.errorSignup=!1,a.errorLog="",a.forgotPassword=!1,a.showRecoverMessage=!1,a.flagLogin1=!1,a.getInfo=function(){return f.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)})},a.toggleLogin=function(){a.flagLogin1=!a.flagLogin1},a.toggleForgotPassword=function(b){a.showRecoverMessage=!1,a.userLogin.email="",a.forgotPassword=b},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.recover=function(){b.recover({email:a.userLogin.email}).then(function(){a.showRecoverMessage=!0})["catch"](function(b){console.log(b),a.showRecoverMessage=!1,g.error(b)})},a.login=function(d){a.loginSubmitted=!0,d.$valid?b.login({name:a.userLogin.name,password:a.userLogin.password,remember:a.userLogin.remember}).then(function(){c.path("/landing")})["catch"](function(b){a.errorLog=b.message||"error",a.errorLogin=!0}):a.errorLogin=!0},a.signup=function(c){a.signupSubmitted=!0,c.$valid?b.createUser({email:a.userSignUp.email,fullname:a.userSignUp.fullname,name:a.userSignUp.name,password:a.userSignUp.password,role:a.userSignUp.role,online:!0})["catch"](function(b){a.errorLog=b.message||"error",a.errorSignup=!0}):a.errorSignup=!0},a.loginOauth=function(a){d.location.href="/auth/"+a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("login",{url:"/login",templateUrl:"app/login/login.html",params:{reset:null},controller:"LoginCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Action",["$resource",function(a){return a("/api/actions/:name/:controller",{name:"@name"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Ami",["$resource",function(a){return a("/api/ami/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ChooseContactModalCtrl",["$scope","$uibModalInstance","data","xAlert","$translate","Contact",function(a,b,c,d,e,f){function g(){return f.get({id:c.eventId,controller:"checkevent"}).$promise.then(function(b){a.contacts=b.rows})["catch"](function(a){d.error(a)})}function h(){return delete c.type,f.get(c).$promise.then(function(b){a.contacts=b.rows})["catch"](function(a){d.error(a)})}a.open=function(a){b.close(a)},a.getContacts=function(){switch(c.type){case"event":g();break;case"detail":h();break;default:b.dismiss("cancel")}},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("CloseEditedTabModalCtrl",["$scope","$uibModalInstance",function(a,b){a.close=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("CloseEditedTabModalJscriptyCtrl",["$scope","$uibModalInstance","project","JscriptyProject","xAlert",function(a,b,c,d,e){a.init=function(){a.project=c},a.close=function(){d.update({id:a.project.projectId,controller:"sessions",action:a.project.sessionId},{status:"incomplete",completedAt:Date(),last_question_id:a.project.lastQuestionId}).$promise.then(function(a){e.show("Project Ended","success")}),b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerSetDisposition",["$scope","$uibModalInstance","VoiceDisposition",function(a,b,c){a.initDisposition=function(){return c.get().$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("customGridDateFilterModalCtrl",["$scope","$rootScope","$log","$uibModalInstance","term","hasTime",function(a,b,c,d,e,f){if(a.hasTime=f,a.dateTime={},e)if(f){var g=e.split(" ");a.dateTime.filterDate=moment(g[0]),a.dateTime.time=e[1]?moment(g[1],"HH:mm"):moment()}else a.dateTime.filterDate=moment(e);else f&&(a.dateTime.time=moment());a.setFilterDate=function(b){d.close({date:moment(b).format("YYYY-MM-DD").toString(),time:f?a.dateTime.time?moment(a.dateTime.time).format("HH:mm").toString():moment().format("HH:mm").toString():null})},a.cancelDateFilter=function(){d.dismiss()}}]),angular.module("xCallyShuttleApp").controller("customGridTagsModalCtrl",["$scope","$rootScope","$log","$uibModalInstance","term","Tag","xAlert",function(a,b,c,d,e,f,g){a.initModal=function(){return a.item={},f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name"),a.item.myTags=e})["catch"](function(a){console.log("error retrieving tags"),g.error(a),d.dismiss()})},a.setFilterTags=function(){d.close(a.item.myTags)},a.cancelTagsFilter=function(){d.dismiss()}}]),angular.module("xCallyShuttleApp").factory("templateVariable",["$translate",function(a){return[{id:"voice",label:a.instant("APPLICATION_VOICE"),title:a.instant("APPLICATION_VOICE"),groups:[{label:a.instant("APPLICATION_QUEUE"),values:[{value:"{{uniqueid}}",label:a.instant("APPLICATION_UNIQUEID"),description:a.instant("APPLICATION_UNIQUEID")},{value:"{{calleridnum}}",label:a.instant("APPLICATION_CALLERIDNUM"),description:a.instant("APPLICATION_CALLERIDNUM")},{value:"{{calleridname}}",label:a.instant("APPLICATION_CALLERIDNAME"),description:a.instant("APPLICATION_CALLERIDNAME")},{value:"{{queue}}",label:a.instant("APPLICATION_QUEUE"),description:a.instant("APPLICATION_QUEUE")},{value:"{{interface}}",label:a.instant("APPLICATION_INTERFACE"),description:a.instant("APPLICATION_INTERFACE")},{value:"{{membername}}",label:a.instant("APPLICATION_MEMBERNAME"),description:a.instant("APPLICATION_MEMBERNAME")},{value:"{{holdtime}}",label:a.instant("APPLICATION_HOLDTIME"),description:a.instant("APPLICATION_HOLDTIME")},{value:"{{talktime}}",label:a.instant("APPLICATION_TALKTIME"),description:a.instant("APPLICATION_TALKTIME")},{value:"{{connectedlinenum}}",label:a.instant("APPLICATION_CONNECTEDLINENUM"),description:a.instant("APPLICATION_CONNECTEDLINENUM")},{value:"{{connectedlinename}}",label:a.instant("APPLICATION_CONNECTEDLINENAME"),description:a.instant("APPLICATION_CONNECTEDLINENAME")},{value:"{{agentconnectAt}}",label:a.instant("APPLICATION_CONNECTED_AT"),description:a.instant("APPLICATION_CONNECTED_AT")},{value:"{{agentcalledAt}}",label:a.instant("APPLICATION_CALLED_AT"),description:a.instant("APPLICATION_CALLED_AT")},{value:"{{agentcompleteAt}}",label:a.instant("APPLICATION_COMPLETED_AT"),description:a.instant("APPLICATION_AGENT_CALLED_AT")},{value:"{{reason}}",label:a.instant("APPLICATION_REASON"),description:a.instant("APPLICATION_REASON")},{value:"{{lastevent}}",label:a.instant("APPLICATION_LAST_EVENT"),description:a.instant("APPLICATION_LAST_EVENT")},{value:"{{channel}}",label:a.instant("APPLICATION_CHANNEL"),description:a.instant("APPLICATION_CHANNEL")}]}]},{id:"chat",label:a.instant("APPLICATION_CHAT"),title:a.instant("APPLICATION_CHAT"),groups:[{label:a.instant("APPLICATION_VARIABLES"),values:[{value:"{{username}}",label:a.instant("APPLICATION_USERNAME"),description:a.instant("APPLICATION_USERNAME")},{value:"{{email}}",label:a.instant("APPLICATION_MAIL"),description:a.instant("APPLICATION_MAIL")},{value:"{{text}}",label:a.instant("APPLICATION_TEXT"),description:a.instant("APPLICATION_TEXT")},{value:"{{chatWebsite}}",label:a.instant("APPLICATION_WEBSITE"),description:a.instant("APPLICATION_WEBSITE")}]}]},{id:"mail",label:a.instant("APPLICATION_MAIL"),title:a.instant("APPLICATION_MAIL"),groups:[{label:a.instant("APPLICATION_INTERACTION"),values:[{value:"{{interactionId}}",label:a.instant("APPLICATION_INTERACTION_ID"),description:a.instant("APPLICATION_INTERACTION_ID")},{value:"{{subject}}",label:a.instant("APPLICATION_SUBJECT"),description:a.instant("APPLICATION_SUBJECT")},{value:"{{{body}}}",label:a.instant("APPLICATION_MESSAGE"),description:a.instant("APPLICATION_MESSAGE")},{value:"{{accountName}}",label:a.instant("APPLICATION_ACCOUNT"),description:a.instant("APPLICATION_ACCOUNT")},{value:"{{from}}",label:"From",description:"From"},{value:"{{to}}",label:"To",description:"To"},{value:"{{cc}}",label:"Cc",description:"Cc"},{value:"{{agentName}}",label:a.instant("APPLICATION_AGENT_NAME"),description:a.instant("APPLICATION_AGENT_NAME")},{value:"{{agentEmail}}",label:a.instant("APPLICATION_AGENT_EMAIL"),description:a.instant("APPLICATION_AGENT_EMAIL")},{value:"{{createdAt}}",label:a.instant("APPLICATION_CREATED_AT"),description:a.instant("APPLICATION_CREATED_AT")}]}]}]}]),angular.module("xCallyShuttleApp").controller("gridDatePickerFilterCtrl",["$scope","$timeout","$uibModal","uiGridConstants",function(a,b,c,d){b(function(){a.col.colDef.name;a.openDatePicker=function(b){var d=c.open({templateUrl:"app/main/customDateFilter.modal.html",controller:"customGridDateFilterModalCtrl",size:"md",windowClass:"custom-date-filter-modal",resolve:{term:[function(){return b.term||null}],hasTime:b.hasTime||!1}});d.result.then(function(c){a.colFilter.listTerm=[],a.colFilter.term=c.date,b.hasTime&&(a.colFilter.term+=" "+c.time)})}})}]),angular.module("xCallyShuttleApp").factory("gridOptions",["Modal","xAlert","$translate","$interval","$q","usSpinnerService",function(a,b,c,d,e,f){return{gridOptions:function(d,g,h,i,j,k,l){function m(a,b){a.filter&&a.filter.term&&b&&(o[a.name]=a.filter.term),a.filters&&(a.filters.length>1?a.filters.forEach(function(b){b.term?64===b.condition?o[a.name+"_uiFrom"]=b.term:256===b.condition&&(o[a.name+"_uiTo"]=b.term):64===b.condition?delete o[a.name+"_uiFrom"]:256===b.condition&&delete o[a.name+"_uiTo"]}):a.filters.length&&a.filters[0].term?o[a.name]=a.filters[0].term:delete o[a.name])}h.id=[];var n=k?"gridOptions"+k:"gridOptions",o={offset:0,limit:10},p={offset:0,limit:10};g.draggable&&(g.rowTemplate='<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',g.useExternalPagination=!1,g.enablePaginationControls=!1,g.showGridFooter=!1);var q=function(a){var b=a&&a>h[n].paginationPageSize?h[n].paginationPageSize:a,c=b?30*b+120:177,d=angular.element(document.getElementsByName(n)).length?angular.element(document.getElementsByName(n)[0]):angular.element(document.getElementsByClassName("ui-grid")[0]);d.css("height",c+"px")},r=function(a,b){return h[n].enablePaginationControls||(delete o.offset,delete o.limit),f.spin("spinner-grid"),i=a||i,d=b||d,d.get(i?_.merge(o,i):o).$promise.then(function(a){h[n].totalItems=a.count,h[n].data=a.rows,q(a.rows.length),l&&l()})["catch"](function(a){console.error(a)})["finally"](function(){f.stop("spinner-grid")})};return h.deleteItem=a.confirm["delete"](function(a){var e=i?angular.copy(i):{};return _.merge(e,{id:a}),d.remove(e).$promise.then(function(){r(),b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),h.gridApi.selection.clearSelectedRows(),h.id=[]})["catch"](function(a){b.error(a)})}),h.deleteItems=a.confirm["delete"](function(){var a=i?angular.copy(i):{};return _.merge(a,{ids:h.id}),d["delete"](a).$promise.then(function(){r(),b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),h.gridApi.selection.clearSelectedRows(),h.id=[]})["catch"](function(a){b.error(a)})}),g.columnDefs.forEach(function(a){m(a,!0),a.hasOwnProperty("displayName")||(a.displayName="APPLICATION_"+a.name.toUpperCase()),a.headerCellFilter="translate",a.hasOwnProperty("buttons")&&(a.displayName="",a.cellClass="ui-grid-vcenter",a.enableSorting=!1,a.enableFiltering=!1,a.enableColumnMenu=!1,a.cellTemplate="<div>",a.buttons.forEach(function(b){if(b.directive)a.cellTemplate+=b.directive;else{if(a.cellTemplate+="<a",a.cellTemplate+=b.hide?' data-ng-hide="'+b.hide+'" ':" ",a.cellTemplate+=b["class"]?' class="btn btn-xs '+b["class"]+'" ':" ",a.cellTemplate+=b.href?' data-ng-href="'+b.href+'" ':" ",a.cellTemplate+=b.uisref?' ui-sref="'+b.uisref+'" ':" ",a.cellTemplate+=b.onClick?' data-ng-click="'+b.onClick+'" ':" ",a.cellTemplate+=b.title?' title="'+b.title+'"':"",a.cellTemplate+=">",a.cellTemplate+=b.icon?'<i class="'+b.icon+'"></i>':"",b.name)switch(b.name){case"delete":a.cellTemplate+='<i class="icon-trash"></i>';break;case"profile":case"settings":case"detail":case"embedding":a.cellTemplate+='<i class="icon-settings"></i>';break;case"view":a.cellTemplate+='<i class="icon-doc"></i>';break;case"clone":a.cellTemplate+='<i class="icon-docs"></i>';break;case"permits":a.cellTemplate+='<i class="icon-key"></i>';break;case"copy":a.cellTemplate+='<i class="fa fa-files-o"></i>';break;case"select":a.cellTemplate+='<i class="icon-check"></i>';break;case"preview":a.cellTemplate+='<i class="icon-magnifier"></i>';break;case"contacts":a.cellTemplate+='<i class="fa fa-users"></i>';break;case"download":case"export":a.cellTemplate+='<i class="fa fa-download"></i>';break;case"agents":a.cellTemplate+='<i class="icon-people"></i>';break;case"run":a.cellTemplate+='<i class="fa fa-cogs"></i>';break;case"mailRoom":a.cellTemplate+='<i class="fa fa-envelope"></i>';break;case"chatRoom":a.cellTemplate+='<i class="fa fa-users"></i>';break;case"faxRoom":a.cellTemplate+='<i class="icon-paper-plane"></i>';break;case"smsRoom":a.cellTemplate+='<i class="glyphicon glyphicon-comment"></i>';break;case"check":a.cellTemplate+='<i class="fa fa-check"></i>';break;case"queues":a.cellTemplate+='<i class="icon-docs"></i>';break;default:a.cellTemplate+="{{'APPLICATION_"+b.name.toUpperCase()+"' | translate}}"}else a.cellTemplate+=b.displayName?"{{'"+b.displayName+"' | translate}}":"";a.cellTemplate+="</a> "}}),a.cellTemplate+="<div>",delete a.buttons)}),_.merge({enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableRowSelection:!0,enableSelectAll:!0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,getPage:r,gridMenuTitleFilter:function(a){var b=e.defer();return b.resolve(c.instant(a)),b.promise},exporterAllDataFn:function(){return p.offset=o.offset,p.limit=o.limit,o={offset:0,limit:null},r().then(function(){o.offset=p.offset,o.limit=p.limit,r()})},exporterFieldCallback:function(a,b,c,d){if("applications"===c.field&&b.entity.Applications){var e="";return _.forEach(b.entity.Applications,function(a){e+=a.app+"("+a.appdata.join(",")+")"}),e}return d},exporterHeaderFilter:c.instant,onRegisterApi:function(a){h.gridApi=a,h.gridApi.selection&&(h.gridApi.selection.on.rowSelectionChanged(h,function(a){a.isSelected?h.id.push(h.gridApi.grid.options.primaryKey?a.entity[h.gridApi.grid.options.primaryKey]:a.entity.id):_.pull(h.id,h.gridApi.grid.options.primaryKey?a.entity[h.gridApi.grid.options.primaryKey]:a.entity.id)}),h.gridApi.selection.on.rowSelectionChangedBatch(h,function(a){a[0].isSelected?h.id=_.union(h.id,_.map(a,h.gridApi.grid.options.primaryKey?"entity."+h.gridApi.grid.options.primaryKey:"entity.id")):_.map(a,h.gridApi.grid.options.primaryKey?"entity."+h.gridApi.grid.options.primaryKey:"entity.id").forEach(function(a){_.pull(h.id,a)})})),h.gridApi.core.on.sortChanged(h,function(a,b){0===b.length?o.order=null:o.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),r()});for(var e=0;e<h.gridOptions.columnDefs.length;e++)if(h.gridOptions.columnDefs[e].hasOwnProperty("sort")){o.order=h.gridOptions.columnDefs[e].name+" "+h.gridOptions.columnDefs[e].sort.direction.toUpperCase();break}h.gridApi.pagination.on.paginationChanged(h,function(a,b){o.offset=(a-1)*b,o.limit=b,r()}),h.gridApi.core.on.filterChanged(h,function(){var a=this.grid;a.columns.forEach(function(a){m(a)}),r()}),h.gridApi.draggableRows&&h.gridApi.draggableRows.on.rowDropped(h,function(a){a.fromIndex!==a.toIndex&&d.update(i,h[n].data).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){b.error(a)})}),j||r()}},g)}}}]),angular.module("xCallyShuttleApp").controller("gridTagsFilterCtrl",["$scope","$timeout","$uibModal","uiGridConstants",function(a,b,c,d){b(function(){a.col.colDef.name;a.openTags=function(b){var d=c.open({templateUrl:"app/main/customTagsFilter.modal.html",controller:"customGridTagsModalCtrl",size:"md",resolve:{term:[function(){if(b.term){var a=b.term.split(";");return a.pop(),a}return[]}]}});d.result.then(function(b){a.colFilter.listTerm=[],b.length&&(a.colFilter.term=b.join(";")+";")})}})}]),angular.module("xCallyShuttleApp").controller("MainCtrl",["$scope","$rootScope","$translate","$timeout","socket","Auth","xAlert","$uibModal","$log","$state","Contact","$window","$location","$cookieStore",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.awesomeThings=[],b.workspaces=[],a.Auth=f,b.userModules={},f.getCurrentUser().$promise.then(function(a){a.Modules.forEach(function(a){b.userModules[a.id]=!0})})["catch"](function(a){g.error(a)}),b.initTours=function(){b.activeTour={main:!1},b.tourConfig={main:[{type:"function",fn:function(){b.tempTourPath=m.path()}},{type:"title",heading:c.instant("TOUR_MAIN_WELCOME"),text:'<div class="row"><div id="title-text" class="col-md-12"><span class="main-text">'+c.instant("TOUR_MAIN_DISCOVER_MOTION")+"</span><br/></div></div>",curtainClass:"myCurtainClass"},{type:"location_change",path:"/dashboard/voice"},{type:"title",heading:c.instant("TOUR_MAIN_DASHBOARD"),text:c.instant("TOUR_MAIN_DASHBOARD_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/tools/yourdashboards/show/1"},{type:"title",heading:c.instant("TOUR_MAIN_YOURDASHBOARD"),text:c.instant("TOUR_MAIN_YOURDASHBOARD_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/staff/agents/list"},{type:"title",heading:c.instant("TOUR_MAIN_AGENTS"),text:c.instant("TOUR_MAIN_AGENTS_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/channels/voice/queues/list"},{type:"title",heading:c.instant("TOUR_MAIN_VOICE_QUEUE"),text:c.instant("TOUR_MAIN_VOICE_QUEUE_ADD_MESSAGE"),curtainClass:"myCurtainClass"}]},b.license.chat&&(b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/channels/chat/queues/list"},{type:"title",heading:c.instant("TOUR_MAIN_CHAT_QUEUE"),text:c.instant("TOUR_MAIN_CHAT_QUEUE_MESSAGE"),curtainClass:"myCurtainClass"}])),b.license.openchannel&&(b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/channels/openchannel/accounts/list"},{type:"title",heading:c.instant("TOUR_MAIN_OPENCHANNEL"),text:c.instant("TOUR_MAIN_OPENCHANNEL_MESSAGE"),curtainClass:"myCurtainClass"}])),b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/square/projects/list"},{type:"title",heading:c.instant("TOUR_MAIN_SQUARE_PROJECT"),text:c.instant("TOUR_MAIN_SQUARE_PROJECT_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/tools/trunks/list"},{type:"title",heading:c.instant("TOUR_MAIN_TRUNKS"),text:c.instant("TOUR_MAIN_TRUNKS_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/tools/triggers/list"},{type:"title",heading:c.instant("TOUR_MAIN_TRIGGERS"),text:c.instant("TOUR_MAIN__MESSAGE"),curtainClass:"myCurtainClass"}]),b.license.jscripty&&(b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/jscripty/projects/list"},{type:"title",heading:c.instant("TOUR_MAIN_JSCRIPTY"),text:c.instant("TOUR_MAIN_JSCRIPTY_MESSAGE"),curtainClass:"myCurtainClass"}])),b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/analytics/reports/list"},{type:"title",heading:c.instant("TOUR_MAIN_REPORTS"),text:c.instant("TOUR_MAIN_REPORTS_MESSAGE"),curtainClass:"myCurtainClass"},{type:"title",heading:c.instant("TOUR_MAIN_END"),text:c.instant("TOUR_MAIN_END_MESSAGE"),curtainClass:"myCurtainClass"}])},b.onTourFinish=function(){n.put("skipTour","true"),b.tempTourPath&&m.path(b.tempTourPath)},b.onTourSkip=function(){n.put("skipTour","true")},d(function(){n.get("skipTour")||(b.activeTour.main=!0)}),a.select=function(a){switch(a.type){case"chatRoom":case"mailRoom":case"faxRoom":a.unread=0}},e.socket.on("report_integration:tdDisposal",function(b){a.openTdTab(b)}),a.openTdTab=function(a){b.workspaces.push({type:"tdDisposal",name:"Motion Dialer Disposition","class":"icon-control-forward",active:!0,spooler:a})},a.deselect=function(){},a.isAdmin=f.isAdmin,a.isLoggedIn=f.isLoggedIn,a.getCurrentUser=f.getCurrentUser,a.CurrentUser=f.getCurrentUser(),e.socket.on("user_has_voice_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_chat_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_mail_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_fax_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_sms_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),a.mainTab={active:!0},a.closeJscriptyTab=function(a){if(b.workspaces[a].edited){var c=h.open({animation:!0,templateUrl:"app/main/closeEditedTab.modal.jscripty.html",controller:"CloseEditedTabModalJscriptyCtrl",resolve:{project:b.workspaces[a]}});c.result.then(function(){b.workspaces.splice(a,1)})}else b.workspaces.splice(a,1)},b.closeTab=function(a){var c;b.workspaces[a].edited?"jscripty"===b.workspaces[a].type?b.workspaces[a].end():(c=h.open({animation:!0,templateUrl:"app/main/closeEditedTab.modal.html",controller:"CloseEditedTabModalCtrl"}),c.result.then(function(){b.workspaces.splice(a,1)},function(){i.info("Modal dismissed at: "+new Date)})):b.workspaces.splice(a,1)},a.createContact=function(d,e){return e.CompanyId||delete e.CompanyId,k.save(e).$promise.then(function(e){b.workspaces.splice(d,1);var f=e.firstName;e.lastName&&(f+=" "+e.lastName),a.openContactTab({firstName:e.firstName,lastName:e.lastName,id:e.id}),g.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})};var o=function(b){var c=h.open({animation:!0,templateUrl:"app/main/chooseContact.modal.html",controller:"ChooseContactModalCtrl",resolve:{data:function(){return{type:"event",eventId:b.id}}}});c.result.then(function(c){c?a.openContactTab(c,b):a.newContact(b)},function(){i.info("Modal dismissed at: "+new Date)})};a.updateContact=function(a,d){var e=angular.copy(d);return e.CompanyId||(e.CompanyId=null),k.update({id:e.id},e).$promise.then(function(){b.workspaces[a].edited=!1,g.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})},e.socket.on("report_integration:contactmanager",function(a){o(a)}),e.socket.on("report_integration:jscripty",function(b){a.openJscriptyTab({name:"Jscripty",id:b.projectId,calleridnum:b.calleridnum,calleridname:b.calleridname,queue:b.queue,membername:b.membername})}),e.socket.on("report_integration:salesforce",function(a){l.open(a.url,"_blank")}),b.openContactTab=function(a,c){var d=_.find(b.workspaces,{contactID:a.id});if(d)d.active=!0;else{var e=a.firstName;a.lastName&&(e+=" "+a.lastName),b.workspaces.push({name:e,type:"contact",contactID:a.id,"class":"icon-user",active:!0,data:c||null})}},a.openJscriptyTab=function(a){b.workspaces.push({name:a.name,type:"jscripty",active:!0,data:a})},a.newContact=function(a){b.workspaces.push({name:"New Contact",type:"newContact","class":"icon-user",active:!0,data:a||null})},a.$on("$viewContentLoaded",function(){Metronic.init()}),b.language=c.use(),a.changeLanguage=function(a){return c.use(a).then(function(a){b.language=a,-1!==["main.jscripty.projects.view","main.square.projects.view"].indexOf(j.current.name)&&l.location.reload()})["catch"](function(a){console.error(a)})},a.$on("$destroy",function(){console.log("main $destroy"),e.unsyncUpdates("user_has_voice_queue_permit"),e.unsyncUpdates("user_has_chat_queue_permit"),e.unsyncUpdates("user_has_mail_queue_permit"),e.unsyncUpdates("user_has_fax_queue_permit"),e.unsyncUpdates("user_has_sms_queue_permit")})}]),angular.module("xCallyShuttleApp").directive("ngSpinnerBar",["$rootScope",function(a){return{link:function(b,c){c.addClass("hide"),a.$on("$stateChangeStart",function(){"spinner-page"===c[0].id&&c.removeClass("hide")}),a.$on("$stateChangeSuccess",function(){"spinner-page"===c[0].id&&(c.addClass("hide"),$("body").removeClass("page-on-load"),Layout.setSidebarMenuActiveLink("match"),setTimeout(function(){Metronic.scrollTop()},1e3))}),a.$on("$spinnerStart",function(){"spinner-request"===c[0].id&&c.removeClass("hide")}),a.$on("$spinnerStop",function(){"spinner-request"===c[0].id&&c.addClass("hide")}),a.$on("$stateNotFound",function(){"spinner-page"===c[0].id&&c.addClass("hide")}),a.$on("$stateChangeError",function(){"spinner-page"===c[0].id&&c.addClass("hide")})}}}]).directive("a",function(){return{restrict:"E",link:function(a,b,c){(c.ngClick||""===c.href||"#"===c.href)&&b.on("click",function(a){a.preventDefault()})}}}).directive("nxEqual",function(){
-return{require:"ngModel",link:function(a,b,c,d){return c.nxEqual?(a.$watch(c.nxEqual,function(a){d.$setValidity("nxEqual",a===d.$viewValue)}),void d.$parsers.push(function(b){var e=b===a.$eval(c.nxEqual);return d.$setValidity("nxEqual",e),e?b:void 0})):void console.error("nxEqual expects a model as an argument!")}}}).directive("ngEnter",function(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}).directive("dropdownMenuHover",function(){return{link:function(a,b){b.dropdownHover()}}}).directive("uiSelectRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.uiSelectRequired=function(a){return a&&a.length}}}}).directive("rpattern",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a,b){return null==b||""===b||!h||a.test(b)?(d.$setValidity("pattern",!0),b):void d.$setValidity("pattern",!1)}var f,g=c.rpattern,h=!0;g&&(g.match(/^\/(.*)\/$/)?(g=new RegExp(g.substr(1,g.length-2)),f=function(a){return e(g,a)}):f=function(b){var c=a.$eval(g);if(!c||!c.test)throw new Error("Expected "+g+" to be a RegExp but was "+c);return e(c,b)}),d.$formatters.push(f),d.$parsers.push(f),c.$observe("required",function(a){h=a,f(d.$viewValue)})}}}).directive("newContact",["$compile","xAlert","socket","$translate","$timeout","List","Tag","Company","ReportCall","$uibModal","$rootScope","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template/template.contactTab.html",compile:function(a,m){return function(a,m,n){function o(){a.$watch("contact",function(b,c){angular.equals(b,c)||(a.workspace.edited=!0)},!0)}a.license=k.license,a.Auth=l,a.forms={general:{}},a.firstLoad=!0,a.detail={tab:"main"},a.contact={CompanyId:"",disposed:!1},a.submitButtonLabel=d.instant("APPLICATION_CONFIRM"),a.getAgent=function(){return l.getCurrentUser().$promise.then(function(b){a.agent=b})["catch"](function(a){b.error(a)})},a.callPhoneBar=function(c,e){var f;switch(e){case"call":f="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c;break;case"transfer":f="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/transfer?number="+c;break;default:f="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c}return $http.get(f).success(function(){b.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){b.error(a)})},a.dispose=function(){return j.open({animation:!0,templateUrl:"app/main/cm.disposition.html",controller:"ContactManagerSetDisposition"}).result.then(function(c){return i.update({id:a.workspace.data.uniqueid},c).$promise.then(function(){a.contact.disposed=!0,b.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})})},a.init=function(){a.workspace.data&&(a.contact.firstName=a.workspace.data.calleridname?a.workspace.data.calleridname:a.workspace.data.messageId?a.workspace.data.messageId:a.workspace.data.uniqueid?a.workspace.data.uniqueid:"",a.workspace.data.calleridnum&&(a.contact.phone=a.workspace.data.calleridnum),a.workspace.data.from&&(a.contact.email=a.workspace.data.from)),a.getTags(),a.getCompanies(),a.getLists(),a.getAgent()},a.getLists=function(){return f.get().$promise.then(function(b){a.lists=b.rows,c.syncUpdates("list",a.lists),a.contact.ListId=a.lists[0]?a.lists[0].id:null,a.getCustomFields()})["catch"](function(a){b.error(a)})},a.getCustomFields=function(){return f.get({listId:a.contact.ListId,controller:"customfields"}).$promise.then(function(b){a.customFields=b.rows,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)}),c.socket.on("custom_field:remove",function(b){_.remove(a.customFields,function(a){return b.id==a.id})}),c.socket.on("custom_field:save",function(b){if(b.ListId===a.contact.ListId){var c=_.find(a.customFields,{id:b.id});c||("string"==typeof b.values&&(b.values=JSON.parse(b.values)),a.customFields.push(b))}}),!a.firstLoad||a.workspace.data?(a.workspace.edited=!0,a.firstLoad=!1):(a.firstLoad=!1,o())})["catch"](function(a){console.error(a),b.error(a)})},a.getTags=function(){return g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a),b.error(a)})},a.getCompanies=function(){return h.get().$promise.then(function(b){a.companies=b.rows,a.companies.unshift({id:"",name:"-- None --"}),c.syncUpdates("company",a.companies)})["catch"](function(a){console.error(a),b.error(a)})},e(function(){a.init()})}}}}]).directive("contact",["$compile","xAlert","socket","$timeout","List","Tag","Company","Contact","$translate","gridOptions","$uibModal","ReportCall","$rootScope","usSpinnerService","uiGridConstants","$log","Auth","$http",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template/template.contactTab.html",compile:function(a,j){return function(a,j,s){function t(b){var c=[],d={};_.forEach(a.columns[a.log[b].show][a.log[b].detail].indexes,function(e,f){d={name:e,displayName:a.columns[a.log[b].show][a.log[b].detail].header[f],headerCellFilter:"translate",enableSorting:!1,enableColumnMenu:!1},"createdAt"===e&&(d.cellTemplate="<div class=\"centered-uigrid-td\">{{row.entity.createdAt | date:'dd/MM/yyyy HH:mm:ss'}}</div>",d.filterHeaderTemplate='<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',d.filters=[{name:"From",condition:o.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:o.filter.LESS_THAN_OR_EQUAL}]),c.push(d)}),a.columns[a.log[b].show][a.log[b].detail].actions&&c.push(a.columns[a.log[b].show][a.log[b].detail].actions),c.forEach(function(a){u(a,b,!0),a.hasOwnProperty("displayName")||(a.displayName="APPLICATION_"+a.name.toUpperCase()),a.headerCellFilter="translate",a.hasOwnProperty("buttons")&&(a.displayName="",a.cellClass="ui-grid-vcenter",a.enableSorting=!1,a.enableFiltering=!1,a.enableColumnMenu=!1,a.cellTemplate="<div>",a.buttons.forEach(function(b){if(b.directive)a.cellTemplate+=b.directive;else{if(a.cellTemplate+="<a",a.cellTemplate+=b.hide?' data-ng-hide="'+b.hide+'" ':" ",a.cellTemplate+=b["class"]?' class="btn btn-xs '+b["class"]+'" ':" ",a.cellTemplate+=b.href?' data-ng-href="'+b.href+'" ':" ",a.cellTemplate+=b.uisref?' ui-sref="'+b.uisref+'" ':" ",a.cellTemplate+=b.onClick?' data-ng-click="'+b.onClick+'" ':" ",a.cellTemplate+=b.title?' title="'+b.title+'"':"",a.cellTemplate+=">",a.cellTemplate+=b.icon?'<i class="'+b.icon+'"></i>':"",b.name)switch(b.name){case"delete":a.cellTemplate+='<i class="fa fa-trash"></i>';break;case"profile":case"settings":case"detail":case"embedding":a.cellTemplate+='<i class="icon-settings"></i>';break;case"agents":a.cellTemplate+='<i class="icon-people"></i>';break;case"run":a.cellTemplate+='<i class="fa fa-cogs"></i>';break;case"mailRoom":a.cellTemplate+='<i class="fa fa-envelope"></i>';break;case"chatRoom":a.cellTemplate+='<i class="fa fa-users"></i>';break;case"faxRoom":a.cellTemplate+='<i class="icon-paper-plane"></i>';break;case"smsRoom":a.cellTemplate+='<i class="glyphicon glyphicon-comment"></i>';break;default:a.cellTemplate+="{{'APPLICATION_"+b.name.toUpperCase()+"' | translate}}"}else a.cellTemplate+=b.displayName?"{{'"+b.displayName+"' | translate}}":"";a.cellTemplate+="</a> "}}),a.cellTemplate+="<div>",delete a.buttons)});var e={enablePaginationControls:!0,exporterCsvFilename:b+".csv",columnDefs:c,enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,showTreeExpandNoChildren:!0,data:[],gridMenuTitleFilter:function(a){var b=$q.defer();return b.resolve(i.instant(a)),b.promise},onRegisterApi:function(c){a.gridApi=c,a.gridApi.grid.registerDataChangeCallback(function(){}),a.gridApi.core.on.sortChanged(a,function(a,c){0===c.length?v.order=null:v.order=c[0].name+" "+c[0].sort.direction.toUpperCase(),w(b)}),a.gridApi.pagination.on.paginationChanged(a,function(a,c){v.offset=(a-1)*c,v.limit=c,w(b)}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){u(a,b)}),w(b)})}};w(b,e)}function u(a,b,c){a.filter&&a.filter.term&&c&&(v[b][a.name]=a.filter.term),a.filters&&(a.filters.length>1?a.filters.forEach(function(c){c.term?64===c.condition?v[b][a.name+"_uiFrom"]=c.term:256===c.condition&&(v[b][a.name+"_uiTo"]=c.term):64===c.condition?delete v[b][a.name+"_uiFrom"]:256===c.condition&&delete v[b][a.name+"_uiTo"]}):a.filters.length&&a.filters[0].term?v[b][a.name]=a.filters[0].term:delete v[b][a.name])}a.moment=moment,a.license=m.license,a.forms={general:{}},a.detail={tab:"main"},a.log={daily:{show:"phone",type:"inbound",detail:"general"},history:{show:"phone",type:"inbound",detail:"general"}},a.columns={phone:{general:{header:["APPLICATION_SOURCE","APPLICATION_DESTINATION","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["source","destination","disposition","createdAt"]},queue:{header:["APPLICATION_CALLERID","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["calleridnum","queue","createdAt"]}},email:{general:{header:["APPLICATION_FROM","APPLICATION_TO","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["from","account","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"mailRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'mailRoom')"}]}}},chat:{general:{header:["APPLICATION_WEBSITE","APPLICATION_VISITOR","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["website","contact","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"chatRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'chatRoom')"}]}}},fax:{general:{header:["APPLICATION_FROM","APPLICATION_TO","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["contact","account","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"faxRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'faxRoom')"}]}}},sms:{general:{header:["APPLICATION_FROM","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["contact","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"smsRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'smsRoom')"}]}}}},a.Auth=q,a.getAgent=function(){return q.getCurrentUser().$promise.then(function(b){a.agent=b})["catch"](function(a){b.error(a)})},a.callPhoneBar=function(c,d){var e;switch(d){case"call":e="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c;break;case"transfer":e="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/transfer?number="+c;break;default:e="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c}return r.get(e).success(function(){b.show(i.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){b.error(a)})},a.copy=function(a){var c=k.open({animation:!0,size:"small",templateUrl:"app/contactmanager/contact/list/copy.modal.html",controller:"ContactManagerListCopyModalCtrl"});c.result.then(function(c){return h.save({id:a,controller:"copy"},c).$promise.then(function(a){m.openContactTab({firstName:a.firstName,lastName:a.lastName,id:a.id})})["catch"](function(a){b.error(a)})},function(){p.info("Modal dismissed at: "+new Date)})},a.merge=function(c){var d=k.open({animation:!0,size:"lg",templateUrl:"app/main/mergeContact.choose.modal.html",controller:"ContactManagerMergeContactChoose",resolve:{listId:c.ListId}});d.result.then(function(d){var e=k.open({animation:!0,size:"lg",templateUrl:"app/main/mergeContact.merge.modal.html",controller:"ContactManagerMergeContactMerge",resolve:{contactId:d,mergeContact:c}});e.result.then(function(e){return e.oldContact=c.id,h.save({id:d,controller:"merge"},e).$promise.then(function(b){m.workspaces.splice(a.index,1),_.remove(m.workspaces,{contactID:b.id}),m.openContactTab({firstName:b.firstName,lastName:b.lastName,id:b.id})})["catch"](function(a){b.error(a)})},function(){p.info("Modal dismissed at: "+new Date)})},function(){p.info("Modal dismissed at: "+new Date)})},a.dispose=function(){return k.open({animation:!0,templateUrl:"app/main/cm.disposition.modal.html",controller:"ContactManagerSetDisposition"}).result.then(function(c){return l.update({id:a.workspace.data.uniqueid},c).$promise.then(function(){a.contact.disposed=!0,b.show(i.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})})},a.companyInfo=function(b){k.open({animation:!0,size:"lg",templateUrl:"app/main/company.info.modal.html",controller:["$scope","$uibModalInstance","company",function(a,b,c){a.company=c,a.close=function(){b.dismiss("cancel")}}],resolve:{company:_.find(a.companies,{id:b})}})},a.updateLog=function(b,c,d,e){c&&(a.log[b].show=c),d&&(a.log[b].detail=d),e&&(a.log[b].type=e),t(b)},a.openRoom=function(a,b,c){var d=_.find(m.workspaces,{id:a,type:b});if(d)d.active=!0;else{var e;switch(b){case"mailRoom":e="icon-envelope";break;case"chatRoom":e="fa fa-users";break;case"faxRoom":e="icon-paper-plane";break;case"smsRoom":e="glyphicon glyphicon-comment"}m.workspaces.push({id:a,type:b,"class":e,active:!0,data:c})}};var v={daily:{offset:0,limit:10},history:{offset:0,limit:10}},w=function(b,c){return n.spin("spinner-grid"),h.get(_.merge(_.merge({id:a.workspace.contactID,controller:"log",logType:b,order:"createdAt DESC"},a.log[b]),v[b])).$promise.then(function(d){c&&(a["gridOptions"+b]=c),a["gridOptions"+b].totalItems=d.count,a["gridOptions"+b].data=d.rows,x("gridOptions"+b,d.rows.length)})["catch"](function(a){console.error(a)})["finally"](function(){n.stop("spinner-grid")})},x=function(a,b){var c=b?30*b+120:177;angular.element(document.getElementsByName(a)[0]).css("height",c+"px")};a.getContact=function(){return h.get({id:a.workspace.contactID}).$promise.then(function(b){a.contact=b,a.contact.CompanyId||(a.contact.CompanyId=""),a.getCustomFields(b.ListId),a.updateLog("daily"),a.updateLog("history")})["catch"](function(a){console.error(a),b.error(a)})},a.getTags=function(){return f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a),b.error(a)})},a.getCompanies=function(){return g.get().$promise.then(function(b){a.companies=b.rows,a.companies.unshift({id:"",name:"-- None --"}),c.syncUpdates("company",a.companies)})["catch"](function(a){console.error(a),b.error(a)})},a.getCustomFields=function(d){return a.customFields=[],e.get({listId:d,controller:"customfields"}).$promise.then(function(b){b.rows.forEach(function(b){try{"select"===b.type&&(b.values=JSON.parse(b.values)),a.customFields.push(b)}catch(c){console.log("Cf not valid:",b.alias)}}),c.socket.on("custom_field:remove",function(b){_.remove(a.customFields,function(a){return b.id==a.id})}),c.socket.on("custom_field:save",function(b){if(b.ListId===d){var c=_.find(a.customFields,{id:b.id});c||("string"==typeof b.values&&(b.values=JSON.parse(b.values)),a.customFields.push(b))}})})["catch"](function(a){console.error(a),b.error(a)})},d(function(){a.getTags(),a.getCompanies(),a.getContact(),a.getAgent()})}}}}]).directive("jscripty",["$compile","xAlert","$http","socket","JscriptyProject",function(a,b,c,d,e){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template/template.jscriptyTab.html",compile:function(a,d){return function(a,d,f){a.count=0,a.questions=[];var g,h=a.workspace.data.id;c.get("/api/jscripty/projects/"+h+"/download").success(function(b){b?c.post("/api/jscripty/projects/"+h+"/sessions",{projectId:h,status:"started",queue:a.workspace.data.queue,calleridnum:a.workspace.data.calleridnum,callername:a.workspace.data.callername,membername:a.workspace.data.membername}).success(function(c){g=c.session_id,a.workspace.edited=!0,a.workspace.sessionId=g,a.workspace.projectId=h;var d=mxUtils.parseXml(b),e=new mxCodec(d);a.decObj=e.decode(d.documentElement);var f=_.find(a.decObj.cells,function(a){return a.vertex&&"start"==a.value.nodeName});if("OFF"==f.getAttribute("state")){var j=_.find(f.edges,function(a){return a.source.id==f.id}).target;a.questions[a.count]=a.currentQuestion=i(j)}else a.questions[a.count]=a.currentQuestion=f;a.saveQuestions()}):(console.log("No project published!"),alert("No project published!"),a.submit({index:a.index}))}),a.next=function(b,c){switch(a.currentQuestion.answer&&a.currentQuestion.answer!=c&&(a.questions=_.take(a.questions,a.count+1)),a.currentQuestion.answer=c,b.value.nodeName){case"question":b=i(b)}a.questions[a.count]=a.currentQuestion,a.currentQuestion=b,a.count++,a.questions[a.count]=b,a.saveQuestions()};var i=function(a){var b=[];return a.options=[],_.forEach(a.edges,function(c,d){if(c.source.id==a.id&&c.value){var e=String(c.value).split(",");e.length>1?(_.forEach(e,function(b,d){var e=Object.create(c);e.setValue(b),a.edges.push(e),a.options.push(b)}),b.push(c)):a.options.push(e[0])}}),_.forEach(b,function(b){_.remove(a.edges,function(a){return a.value==b.value&&a.id==b.id})}),a};a.end=function(){a.saveQuestions(),a.workspace.lastQuestionId=a.questions[a.questions.length-1].id,"end"==a.questions[a.questions.length-1].value.nodeName&&(a.workspace.edited=!1,e.update({id:h,controller:"sessions",action:g},{status:"completed",completedAt:Date(),last_question_id:a.questions[a.questions.length-1].id}).$promise.then(function(a){b.show("Project Ended","success")})),a.submit({index:a.index})},a.workspace.end=a.end,a.back=function(){a.count--,a.currentQuestion=a.questions[a.count]},a.setCurrentQuestion=function(b){a.count=b,a.currentQuestion=a.questions[a.count]},a.saveQuestions=function(){for(var c=[],d=[],f=0;f<a.questions.length;f++){if(a.questions[f].children)for(var i=a.questions[f].children,j=0;j<i.length;j++)d[j]={input_id:i[j].id,input_type:i[j].getAttribute("type"),input_label:i[j].getAttribute("label"),input_value:"checkbox"!=i[j].getAttribute("type")||i[j].answer?i[j].answer:!1};c[f]={sessionId:g,projectId:h,question_id:a.questions[f].id,question_type:a.questions[f].value.nodeName,question_label:a.questions[f].getAttribute("label"),question_text:a.questions[f].getAttribute("question")||a.questions[f].getAttribute("text"),question_other_label:a.questions[f].getAttribute("other"),question_other_answer:a.questions[f].otheranswer,question_answer:a.questions[f].answer,question_options:a.questions[f].options?JSON.stringify({options:a.questions[f].options}):null,index:f,ReportJscriptyInputs:d},d=[]}e.save({id:h,controller:"sessions",action:g,action2:"questions"},c).$promise.then(function(a){})["catch"](function(a){b.error(a)})}}}}}]).directive("reportBuilder",["$compile",function(a){return{restrict:"E",scope:{group:"=",fields:"=",forms:"=",firstCall:"="},templateUrl:"app/main/template/template.reportBuilderView.html",compile:function(b,c){var d,e;return d=b.contents().remove(),function(b,c,f){b.operators=[{name:"AND"},{name:"OR"}],b.conditions=[{name:"="},{name:"!="},{name:"<"},{name:"<="},{name:">"},{name:">="},{name:"LIKE"},{name:"NOT LIKE"},{name:"IS NULL"},{name:"IS NOT NULL"},{name:"IS EMPTY"},{name:"IS NOT EMPTY"}],b.inputIsRequired=function(a){if(a.condition)switch(a.condition){case"IS NULL":case"IS NOT NULL":case"IS EMPTY":case"IS NOT EMPTY":a.required=!1;break;default:a.required=!0}},b.addCondition=function(){b.group.rules.push({condition:"=",field:"",value:""})},b.removeCondition=function(a){b.group.rules.splice(a,1)},b.addGroup=function(){b.group.rules.push({group:{operator:"AND",rules:[{condition:"=",field:"",value:""}]}})},b.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},b.removeGroup=function(){b.$parent.group&&b.$parent.group.rules.splice(b.$parent.$index,1)},e||(e=a(d)),c.append(e(b,function(a){return a}))}}}}]).directive("dynamicName",["$compile",function(a){return{restrict:"A",terminal:!0,priority:1e3,link:function(b,c,d){c.attr("name",b.$eval(d.dynamicName)),c.removeAttr("dynamic-name"),a(c)(b)}}}]).directive("onReadFile",["$parse",function(a){return{restrict:"A",scope:!1,link:function(b,c,d){var e=a(d.onReadFile);c.on("change",function(a){var c=new FileReader;c.onload=function(a){b.$apply(function(){e(b,{$fileContent:a.target.result})})},c.readAsText((a.srcElement||a.target).files[0])})}}}]).directive("motionFileDownload",["xAlert","$translate","$timeout","$location","FileSaver","$compile",function(a,b,c,d,e,f){return{restrict:"E",template:'<a uib-tooltip=\'{{tooltiptext}}\' class="{{btnclass || \'btn default btn-xs blue-hoki\'}}" href="" data-ng-click="download()" ><i class="icon-cloud-download"></i>{{btncontent || \'\'}}</a>',scope:{mimetype:"=",filename:"=",resource:"=",params:"=",btnclass:"@",btncontent:"@",tooltiptext:"@"},link:function(b,c,d){var f=c.children()[0];b.$on("download-start",function(){$(f).attr("disabled","disabled")}),b.$on("downloaded",function(a,c){var d=base64ToBlob(c,b.mimetype);e.saveAs(d,b.filename),$(f).attr("disabled",!1)}),b.download=function(){return b.$emit("download-start"),b.resource.get(b.params).$promise.then(function(a){b.$emit("downloaded",a.downloadString)})["catch"](function(b){a.error(b),$(f).attr("disabled",!1)})}}}}]).directive("audioFileDownload",["xAlert","$translate","$uibModal",function(a,b,c){return{restrict:"E",template:'<button type="button" class="btn default btn-xs blue-hoki" data-ng-click="download()"><i class="fa fa-play"></i> {{ \'APPLICATION_PREVIEW\' | translate}}</button>',scope:{resource:"=",params:"="},link:function(b,d,e){var f=d.children()[0];b.$on("download-start",function(a,c){b.tempHtml=$(f).html(),$(f).attr("disabled","disabled").html('<i class="icon-refresh"></i> Loading...')}),b.$on("downloaded",function(a,d){c.open({animation:!0,size:"small",templateUrl:"app/main/audioFileDownload.play.modal.html",controller:["$scope","$uibModalInstance","$sce","audio",function(a,b,c,d){a.audio=c.trustAsResourceUrl("data:audio/wav;base64,"+d.data),a.close=function(){b.dismiss("cancel")}}],resolve:{audio:function(){return{data:d}}}});$(f).html(b.tempHtml).attr("disabled",!1)}),b.$on("error",function(a,c){$(f).html(b.tempHtml).attr("disabled",!1)}),b.download=function(){return b.$emit("download-start"),b.resource.get(b.params).$promise.then(function(a){b.$emit("downloaded",a.downloadString)})["catch"](function(c){a.error(c),b.$emit("error")})}}}}]).directive("uiRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.required=function(a,b){return!(b&&0===b.length&&"true"===c.uiRequired)},c.$observe("uiRequired",function(){d.$setValidity("required",!("true"===c.uiRequired&&d.$viewValue&&0===d.$viewValue.length))})}}}).directive("schrollBottom",function(){return{scope:{schrollBottom:"="},link:function(a,b){a.$watchCollection("schrollBottom",function(a){a&&$(b).scrollTop($(b)[0].scrollHeight)})}}}).directive("customGridDateFilterHeader",function(){return{templateUrl:"app/main/customDateFilterHeader.html",controller:"gridDatePickerFilterCtrl"}}).directive("customGridTagsFilterHeader",function(){return{templateUrl:"app/main/customTagsFilterHeader.html",controller:"gridTagsFilterCtrl"}}).directive("infiniteScroll",["$window",function(a){return{link:function(a,b,c){var d=parseInt(c.threshold)||0,e=b[0];b.bind("scroll",function(){a.$eval(c.canLoad)&&e.scrollTop+e.offsetHeight>=e.scrollHeight-d&&a.$apply(c.infiniteScroll)})}}}]).directive("tigerDialDisposal",["$compile","xAlert","socket","$translate","$timeout","$rootScope","MotionDialerSpooler","Agent",function(a,b,c,d,e,f,g,h){return{restrict:"E",scope:{workspace:"=",index:"="},templateUrl:"app/main/template/template.tigerDialDisposal.html",compile:function(a,c){return function(a,c,i){a.moment=moment,a.entitySpooler={},a.forms={td:{}},a.init=function(){return h.get().$promise.then(function(b){a.agents=[],b&&b.rows.forEach(function(b){a.agents.push("SIP/"+b.name)})})["catch"](function(a){b.error(a)})},a.save=function(){var c;switch(a.entitySpooler.retrieve){case"CLOSED":c=g.close({id:parseInt(a.workspace.ticketId.id)});break;case"OPEN":c=g.open({id:parseInt(a.workspace.ticketId.id)});break;case"BLACK_LIST":c=g.blacklist({id:parseInt(a.workspace.ticketId.id)});break;case"PLANNED":c=g.planning({id:parseInt(a.workspace.ticketId.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm")});break;case"PLANNED_PEER":c=g.planningpeer({id:parseInt(a.workspace.ticketId.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm"),peer:a.entitySpooler.planningpeer})}c?c.$promise.then(function(c){console.log(c),c.status>0?(b.show(d.instant("MESSAGE_WELL_DONE"),"success"),$uibModalInstance.close()):c.response.RMI.errors.forEach(function(c){c?(b.show(c.field+": "+c.error,"danger"),f.workspaces.splice(a.index,1)):b.show("Please, check your connection!","danger")})})["catch"](function(a){b.error(a)}):b.show("RETRIEVE NOT FOUND","danger")},e(function(){a.init()})}}}}]),angular.module("xCallyShuttleApp").filter("propsFilter",function(){return function(a,b){var c=[];return angular.isArray(a)?a.forEach(function(a){for(var d=!1,e=Object.keys(b),f=0;f<e.length;f++){var g=e[f],h=b[g].toLowerCase();if(-1!==a[g].toString().toLowerCase().indexOf(h)){d=!0;break}}d&&c.push(a)}):c=a,c}}).filter("capitalize",function(){return function(a){return a?a.replace(/([^\W_]+[^\s-]*) */g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase()}):""}}).filter("salesforce",function(){var a=["CallDisposition","CallDurationInSeconds","CallObject","CallType","IsArchived","Priority","Status","Type"];return function(b){return _.remove(b,function(b){return b.custom===!1&&a.indexOf(b.name)<0}),b}}).filter("sugarcrm",function(){var a=["account_id","account_name","account_name1","assigned_user_name","assigned_user_id","case_number","created_by","created_by_name","date_entered","date_modified","deleted","description","id","modified_by_name","modified_user_id","name"];return function(b){return _.remove(b,function(b){return a.indexOf(b.name)>=0}),b}}).filter("freshdesk",function(){var a=["requester","subject","agent","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.ticket_field.name)>=0}),b}}).filter("zendesk",function(){var a=["subject","assignee","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.type)>=0}),b}}).filter("slice",function(){return function(a,b,c){return a?a.slice(b,c):void 0}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main",{"abstract":!0,templateUrl:"app/main/main.html",controller:"MainCtrl",resolve:{authorization:["$q","Auth","$state","$timeout","$location",function(a,b,c,d,e){return b.getToken()?a.when():(d(function(){e.path("/login")}),a.reject())}],deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/ckeditor/ckeditor.js"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("xAlert",["$translate","Notification","$state",function(a,b,c){return{show:function(c,d){switch(d){case"success":b.success({message:c,title:'<i class="glyphicon glyphicon-ok"></i> <strong>'+a.instant("MESSAGE_SUCCESS")+"!</strong>",delay:5e3});break;case"info":b.info({message:c,title:'<i class="glyphicon glyphicon-info-sign"></i> <strong>'+a.instant("MESSAGE_INFO")+"!</strong>",delay:5e3});break;case"danger":b.error({message:c,title:'<i class="glyphicon glyphicon-exclamation-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4});break;case"warning":b.warning({message:c,title:'<i class="glyphicon glyphicon-warning-sign"></i> <strong>'+a.instant("MESSAGE_WARNING")+"!</strong>",delay:1e4});break;default:b.info(c)}},error:function(d){var e,f;d?d.status&&401===d.status?(e="Unauthorized!",f=!0):e=d.data?d.data.translatedMessage||d.data.message||"Generic Error":d.translatedMessage||d.message||"Generic Error":e="Generic Error",b.error({message:a.instant(e),title:'<i class="glyphicon glyphicon-exclamation-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4}),f&&c.go("landing")}}}]).factory("stResource",["$q","$filter","$timeout","$rootScope","$http","$translate","xAlert",function(a,b,c,d,e,f,g){return{getPage:function(b){var c={page:Math.ceil(b.pagination.start/b.pagination.number),per_page:b.pagination.number};b.sort.predicate&&(c.sort_by=b.sort.predicate,c.sort_order=b.sort.reverse?"DESC":"ASC"),_.forIn(b.search.predicateObject,function(a,b){c[b]=a}),b.search.params&&(c.clientQuery={},_.forIn(b.search.params,function(a,b){c.clientQuery[b]=a})),d.$broadcast("$spinnerStart"),e.get(b.url,{params:c}).success(function(a){f.resolve(a),d.$broadcast("$spinnerStop")}).error(function(a){g.error(a),d.$broadcast("$spinnerStop")});var f=a.defer();return f.promise}}}]).factory("xNotification",["$translate","Notification","$rootScope",function(a,b,c){return{show:function(d,e,f,g,h,i){var j=c.$new(),k={message:e,title:d,templateUrl:"app/main/template/template.notification.html",delay:g,scope:j};switch(j.acceptBtn=a.instant("APPLICATION_ACCEPT"),j.rejectBtn=a.instant("APPLICATION_REJECT"),j.nAccept=h,j.nReject=i,f){case"chat":j["class"]="alert-info",j.icon="icon-bubble";break;case"mail":j["class"]="alert-success",j.icon="icon-envelope";break;case"fax":j["class"]="alert-warning",j.icon="icon-paper-plane";break;case"sms":j["class"]="alert-danger",j.icon="glyphicon glyphicon-comment";break;case"openchannel":j["class"]="alert-danger",j.icon="icon-globe";break;default:j["class"]="alert-info"}return new b(k)}}}]),angular.module("xCallyShuttleApp").controller("ContactManagerMergeContactChoose",["$scope","$translate","Contact","gridOptions","List","uiGridConstants","xAlert","$stateParams","Company","$uibModalInstance","listId",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){var b;return e.get().$promise.then(function(b){return a.lists=[],a.customFields=[],b.rows.forEach(function(b,c){_.forEach(b.CustomFields,function(b){a.customFields.push({name:b.name,alias:b.alias})}),a.lists.push({value:b.id,label:b.name})}),i.get().$promise}).then(function(b){a.companies=[],b.rows.forEach(function(b,c){a.companies.push({value:b.id,label:b.name})})}).then(function(){var e=[{"class":"blue-hoki",name:"select",onClick:"grid.appScope.choose(row.entity.id)"}];b={exporterCsvFilename:"Contacts.csv",columnDefs:[{name:"firstName"},{name:"lastName"},{name:"phone"},{name:"email"},{name:"ListId",displayName:"APPLICATION_LIST",field:"List.name",enableFiltering:!1},{name:"CompanyId",displayName:"APPLICATION_COMPANY",field:"Company.name",filter:{type:f.filter.SELECT,term:h.companyId||null,selectOptions:a.companies}}]},_.forEach(a.customFields,function(a){b.columnDefs.push({name:a.name,displayName:a.alias,visible:!1})}),b.columnDefs.push({name:"action",width:30,buttons:e}),a.gridOptions=d.gridOptions(c,b,a,{ListId:k})})["catch"](function(a){g.error(a)})},a.choose=function(a){j.close(a)},a.cancel=function(){j.dismiss()}}]),angular.module("xCallyShuttleApp").controller("ContactManagerMergeContactMerge",["$scope","$translate","Contact","xAlert","Company","$uibModalInstance","contactId","List","mergeContact","Tag",function(a,b,c,d,e,f,g,h,i,j){a.initView=function(){return e.get().$promise.then(function(b){return a.companies=b.rows,a.companies.unshift({id:"",name:"-- None --"}),j.get().$promise}).then(function(b){return a.tags=_.map(b.rows,"name"),c.get({id:g}).$promise}).then(function(b){a.fields={},a.contact={};var c=_.merge(_.keys(b),_.keys(i));return _.forEach(c,function(c){switch(c){case"tags":a.contact.tags=_.union(b.tags||[],i.tags||[]);break;case"$promise":case"$resolved":break;default:a.fields[c]=[],b[c]&&a.fields[c].push(b[c]),
-i[c]&&a.fields[c].push(i[c]),a.contact[c]=a.fields[c][0]||null}}),h.get({listId:b.ListId,controller:"customfields"}).$promise}).then(function(b){a.customFields=b.rows,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)})})["catch"](function(a){d.error(a)})},a.merge=function(){a.contact.CompanyId||(a.contact.CompanyId=null),f.close(a.contact)},a.cancel=function(){f.dismiss()}}]),angular.module("xCallyShuttleApp").factory("Widget",["$resource",function(a){return a("/api/widgets/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("MarketCtrl",["$scope","$http","$translate","socket","xAlert","Modal","$timeout","Integration",function(a,b,c,d,e,f,g,h){function i(a,b){return Math.floor(Math.random()*(b-a+1))+a}a.initView=function(){return h.get().$promise.then(function(b){a.integrations=b.rows,a.groupedIntegration=_.chunk(a.integrations,4),d.syncUpdates("integration",a.integrations,function(){a.groupedIntegration=_.chunk(a.integrations,4)})})["catch"](function(a){e.error(a,"danger")})},a.isProgressing=!1,a.$on("$destroy",function(){d.unsyncUpdates("integration")}),a.installIntegration=function(b){return navigator.onLine?(a.status="Downloading",a.percentage=i(1,50),a.isProgressing=!0,b.downloading=!0,h.update({id:b.id},{active:!0}).$promise.then(function(){g(function(){a.percentage=i(51,99),a.status="Installing"},2500),g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",b.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)})["catch"](function(){b.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})):void e.show(c.instant("MESSAGE_NO_INTERNET_CONNECTION")+".","danger")},a.uninstallIntegration=function(b){return navigator.onLine?(a.status="Uninstalling",a.percentage=i(1,99),a.isProgressing=!0,b.downloading=!0,h.update({id:b.id},{active:!1}).$promise.then(function(){g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",b.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)})["catch"](function(){b.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})):void e.show(c.instant("MESSAGE_NO_INTERNET_CONNECTION")+".","danger")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.market",{url:"/market",templateUrl:"app/market/market.html",controller:"MarketCtrl",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("MotionbarCtrl",["$scope","$stateParams","$cookieStore","$window","$location","Auth",function(a,b,c,d,e,f){console.log(b),b.token&&b.userId&&b.role&&b.redirectTo?(f.loginWithToken(b.token,b.userId,b.role),d.location.href=decodeURIComponent(b.redirectTo)):e.path("/login")}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("motionbar",{url:"/motionbar?redirectTo&token&userId&role",template:"<div ui-view></div>",controller:"MotionbarCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.blacklist",{url:"/blacklist",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MotionDialerBlackListListCtrl",["$scope","$uibModal","$translate","xAlert","Modal","MotionDialerBlackList","uiGridConstants",function(a,b,c,d,e,f,g){a.initView=function(){a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",width:60},{name:"phone"},{name:"description",enableSorting:!1},{name:"updatedtime",sort:{direction:g.DESC},enableFiltering:!1},{name:"action",buttons:[{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]},f.list({page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:d.show("Please, check your connection!","danger")})["catch"](function(a){d.error(a)})},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/blacklist/list/list.create.modal.html",controller:"MotionDialerBlackListListCreateCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.deleteItem=e.confirm["delete"](function(b){return f["delete"]({id:b}).$promise.then(function(e){e.status>0?(_.remove(a.gridOptions.data,{id:b}),d.show(c.instant("MESSAGE_WELL_DONE"),"success")):d.show(e.message||"Please, check your connection!","danger")})["catch"](function(a){d.error(a)})})}]),angular.module("xCallyShuttleApp").controller("MotionDialerBlackListListCreateCtrl",["$scope","$translate","$uibModalInstance","MotionDialerBlackList","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.insert(a.item).$promise.then(function(a){a.status>0?(e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):e.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.blacklist.list",{url:"/list",templateUrl:"app/motiondialer/blacklist/list/list.html",controller:"MotionDialerBlackListListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerBlackList",["$resource",function(a){return a("/api/rest/blacklist/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.info",{url:"/info",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerSystem",["$resource",function(a){return a("/api/rest/system/:controller",null,{properties:{method:"POST",params:{controller:"properties"}}})}]),angular.module("xCallyShuttleApp").controller("MotionDialerInfoViewCtrl",["$scope","xAlert","MotionDialerSystem",function(a,b,c){a.getProperties=function(){return c.properties().$promise.then(function(c){console.log(c),c.status>0?a.properties=c.response.RMI:b.show(c.message||"Please, check your connection!","danger")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.info.view",{url:"/view",templateUrl:"app/motiondialer/info/view/view.html",controller:"MotionDialerInfoViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.motiondialer.info.view.about",{url:"/about",templateUrl:"app/motiondialer/info/view/view.about.html"}).state("main.motiondialer.info.view.details",{url:"/details",templateUrl:"app/motiondialer/info/view/view.details.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.lists",{url:"/lists",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MotionDialerListListCtrl",["$scope","$uibModal","$translate","xAlert","Modal","MotionDialerList","uiGridConstants","usSpinnerService",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",width:60},{name:"name"},{name:"description",enableSorting:!1},{name:"updatedtime",sort:{direction:g.DESC},enableFiltering:!1},{name:"action",buttons:[{"class":"blue-hoki",href:"/motiondialer/lists/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]},f.list({page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:d.show("Please, check your connection!","danger")})["catch"](function(a){d.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/list/list/list.create.modal.html",controller:"MotionDialerListListCreateCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.deleteItem=e.confirm["delete"](function(b){return f["delete"]({id:b}).$promise.then(function(e){e.status>0?(_.remove(a.gridOptions.data,{id:b}),d.show(c.instant("MESSAGE_WELL_DONE"),"success")):d.show(e.message||"Please, check your connection!","danger")})["catch"](function(a){d.error(a)})})}]),angular.module("xCallyShuttleApp").controller("MotionDialerListListCreateCtrl",["$scope","$translate","$uibModalInstance","MotionDialerList","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.insert(a.item).$promise.then(function(a){a.status>0?(e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):e.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.lists.list",{url:"/list",templateUrl:"app/motiondialer/list/list/list.html",controller:"MotionDialerListListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerContact",["$resource",function(a){return a("/api/rest/contact/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").factory("MotionDialerList",["$resource",function(a){return a("/api/rest/list/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewContactCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerContact","xAlert","MotionDialerTimezone",function(a,b,c,d,e,f,g){a.form={},a.item={},a.timezones=g.list(),a.save=function(){return console.log(a.item),e.insert({id_list:parseInt(d.id),name:a.item.name,phones:a.item.phones.trim().split(","),description:a.item.description||""}).$promise.then(function(a){console.log(a),a.status>0?(f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):f.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerListContactImportModalCtrl",["$scope","$uibModalInstance","$stateParams","indexes","csv","xAlert","MotionDialerContact","MotionDialerTimezone",function(a,b,c,d,e,f,g,h){function i(b){if(b>=a.csvLength||a.stopped)return void(a.importing=!1);var d={id_list:parseInt(c.id),name:"",phones:[],description:""};return _.forOwn(a.item,function(a,c){"phones"===c?d[c].push(e[b][a]):d[c]=e[b][a]}),g.insert(d).$promise.then(function(b){b.status>0?(a["import"].success+=j,a["import"].succeeded++,k.push(b.response.RMI)):(console.log(b),a["import"].fail+=j,a["import"].failed++)})["catch"](function(b){console.log(b),a["import"].fail+=j,a["import"].failed++})["finally"](function(){i(b+1)})}a.form={},a.item={},a.timezones=h.list(),console.log(d),console.log(e),a.indexes=d,a.importing=!1,a.submitted=!1,a.stopped=!1,a["import"]={success:0,fail:0,succeeded:0,failed:0},a.csvLength=e.length;var j=100/a.csvLength,k=[];a.start=function(){a.importing=!0,a.submitted=!0,i(0)},a.close=function(){b.close(k)},a.stop=function(){a.stopped=!0}}]),angular.module("xCallyShuttleApp").controller("MotionDialerListViewCtrl",["$scope","$translate","$stateParams","$uibModal","xAlert","uiGridConstants","usSpinnerService","MotionDialerList","MotionDialerContact","Modal","FileUploader","Papa",function(a,b,c,d,e,f,g,h,i,j,k,l){a.getList=function(){return h.find({id:parseInt(c.id)}).$promise.then(function(b){b.status>0?a.list=b.response.RMI:e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.updateList=function(){return h.update({id:a.list.id,name:a.list.name,description:a.list.description}).$promise.then(function(a){a.status>0?e.show(b.instant("MESSAGE_WELL_DONE"),"success"):e.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.getContacts=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"name"},{name:"phones",cellTemplate:"<div>{{row.entity.phones.join(',')}}</div>",cellClass:"ui-grid-vcenter"},{name:"description",enableSorting:!1},{name:"updatedtime",sort:{direction:f.DESC},enableFiltering:!1},{name:"action",buttons:[{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteContact(row.entity.name, row.entity.id)"}]}]},i.list({id_list:parseInt(c.id),page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})["finally"](function(){g.stop("spinner-grid")})},a.deleteContact=j.confirm["delete"](function(c){return i["delete"]({id:c}).$promise.then(function(d){d.status>0?(_.remove(a.gridOptions.data,{id:c}),e.show(b.instant("MESSAGE_WELL_DONE"),"success")):e.show(d.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})}),a.createContact=function(){var b=d.open({animation:!0,templateUrl:"app/motiondialer/list/view/view.contact.create.modal.html",controller:"MotionDialerViewContactCreateCtrl"});b.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})};var m=a.uploader=new k({queueLimit:1,clearInputAfterAddedToQueue:!0});m.onAfterAddingFile=function(b){l.parse(b._file,{header:!0,complete:function(b){a.uploader.clearQueue(),a["import"](b.data)},error:function(a){e.error(a)}})},a["import"]=function(b){var c=d.open({animation:!0,backdrop:"static",keyboard:!1,templateUrl:"app/motiondialer/list/view/view.contact.import.modal.html",controller:"MotionDialerListContactImportModalCtrl",resolve:{indexes:function(){return _.keys(b[0])},csv:function(){return b}}});c.result.then(function(b){console.log(b),a.gridOptions.data=a.gridOptions.data.concat(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.lists.view",{url:"/view/:id",templateUrl:"app/motiondialer/list/view/view.html",controller:"MotionDialerListViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.motiondialer.lists.view.settings",{url:"/settings",templateUrl:"app/motiondialer/list/view/view.settings.html"}).state("main.motiondialer.lists.view.contacts",{url:"/contacts",templateUrl:"app/motiondialer/list/view/view.contacts.html"})}]),angular.module("xCallyShuttleApp").factory("MotionDialerTimezone",function(){return{list:function(){return[{group:"US (Common)",zones:[{value:"America/Puerto_Rico",name:"Puerto Rico (Atlantic)"},{value:"America/New_York",name:"New York (Eastern)"},{value:"America/Chicago",name:"Chicago (Central)"},{value:"America/Denver",name:"Denver (Mountain)"},{value:"America/Phoenix",name:"Phoenix (MST)"},{value:"America/Los_Angeles",name:"Los Angeles (Pacific)"},{value:"America/Anchorage",name:"Anchorage (Alaska)"},{value:"Pacific/Honolulu",name:"Honolulu (Hawaii)"}]},{group:"America",zones:[{value:"America/Adak",name:"Adak"},{value:"America/Anchorage",name:"Anchorage"},{value:"America/Anguilla",name:"Anguilla"},{value:"America/Antigua",name:"Antigua"},{value:"America/Araguaina",name:"Araguaina"},{value:"America/Argentina/Buenos_Aires",name:"Argentina - Buenos Aires"},{value:"America/Argentina/Catamarca",name:"Argentina - Catamarca"},{value:"America/Argentina/ComodRivadavia",name:"Argentina - ComodRivadavia"},{value:"America/Argentina/Cordoba",name:"Argentina - Cordoba"},{value:"America/Argentina/Jujuy",name:"Argentina - Jujuy"},{value:"America/Argentina/La_Rioja",name:"Argentina - La Rioja"},{value:"America/Argentina/Mendoza",name:"Argentina - Mendoza"},{value:"America/Argentina/Rio_Gallegos",name:"Argentina - Rio Gallegos"},{value:"America/Argentina/Salta",name:"Argentina - Salta"},{value:"America/Argentina/San_Juan",name:"Argentina - San Juan"},{value:"America/Argentina/San_Luis",name:"Argentina - San Luis"},{value:"America/Argentina/Tucuman",name:"Argentina - Tucuman"},{value:"America/Argentina/Ushuaia",name:"Argentina - Ushuaia"},{value:"America/Aruba",name:"Aruba"},{value:"America/Asuncion",name:"Asuncion"},{value:"America/Atikokan",name:"Atikokan"},{value:"America/Atka",name:"Atka"},{value:"America/Bahia",name:"Bahia"},{value:"America/Barbados",name:"Barbados"},{value:"America/Belem",name:"Belem"},{value:"America/Belize",name:"Belize"},{value:"America/Blanc-Sablon",name:"Blanc-Sablon"},{value:"America/Boa_Vista",name:"Boa Vista"},{value:"America/Bogota",name:"Bogota"},{value:"America/Boise",name:"Boise"},{value:"America/Buenos_Aires",name:"Buenos Aires"},{value:"America/Cambridge_Bay",name:"Cambridge Bay"},{value:"America/Campo_Grande",name:"Campo Grande"},{value:"America/Cancun",name:"Cancun"},{value:"America/Caracas",name:"Caracas"},{value:"America/Catamarca",name:"Catamarca"},{value:"America/Cayenne",name:"Cayenne"},{value:"America/Cayman",name:"Cayman"},{value:"America/Chicago",name:"Chicago"},{value:"America/Chihuahua",name:"Chihuahua"},{value:"America/Coral_Harbour",name:"Coral Harbour"},{value:"America/Cordoba",name:"Cordoba"},{value:"America/Costa_Rica",name:"Costa Rica"},{value:"America/Cuiaba",name:"Cuiaba"},{value:"America/Curacao",name:"Curacao"},{value:"America/Danmarkshavn",name:"Danmarkshavn"},{value:"America/Dawson",name:"Dawson"},{value:"America/Dawson_Creek",name:"Dawson Creek"},{value:"America/Denver",name:"Denver"},{value:"America/Detroit",name:"Detroit"},{value:"America/Dominica",name:"Dominica"},{value:"America/Edmonton",name:"Edmonton"},{value:"America/Eirunepe",name:"Eirunepe"},{value:"America/El_Salvador",name:"El Salvador"},{value:"America/Ensenada",name:"Ensenada"},{value:"America/Fortaleza",name:"Fortaleza"},{value:"America/Fort_Wayne",name:"Fort Wayne"},{value:"America/Glace_Bay",name:"Glace Bay"},{value:"America/Godthab",name:"Godthab"},{value:"America/Goose_Bay",name:"Goose Bay"},{value:"America/Grand_Turk",name:"Grand Turk"},{value:"America/Grenada",name:"Grenada"},{value:"America/Guadeloupe",name:"Guadeloupe"},{value:"America/Guatemala",name:"Guatemala"},{value:"America/Guayaquil",name:"Guayaquil"},{value:"America/Guyana",name:"Guyana"},{value:"America/Halifax",name:"Halifax"},{value:"America/Havana",name:"Havana"},{value:"America/Hermosillo",name:"Hermosillo"},{value:"America/Indiana/Indianapolis",name:"Indiana - Indianapolis"},{value:"America/Indiana/Knox",name:"Indiana - Knox"},{value:"America/Indiana/Marengo",name:"Indiana - Marengo"},{value:"America/Indiana/Petersburg",name:"Indiana - Petersburg"},{value:"America/Indiana/Tell_City",name:"Indiana - Tell City"},{value:"America/Indiana/Vevay",name:"Indiana - Vevay"},{value:"America/Indiana/Vincennes",name:"Indiana - Vincennes"},{value:"America/Indiana/Winamac",name:"Indiana - Winamac"},{value:"America/Indianapolis",name:"Indianapolis"},{value:"America/Inuvik",name:"Inuvik"},{value:"America/Iqaluit",name:"Iqaluit"},{value:"America/Jamaica",name:"Jamaica"},{value:"America/Jujuy",name:"Jujuy"},{value:"America/Juneau",name:"Juneau"},{value:"America/Kentucky/Louisville",name:"Kentucky - Louisville"},{value:"America/Kentucky/Monticello",name:"Kentucky - Monticello"},{value:"America/Knox_IN",name:"Knox IN"},{value:"America/La_Paz",name:"La Paz"},{value:"America/Lima",name:"Lima"},{value:"America/Los_Angeles",name:"Los Angeles"},{value:"America/Louisville",name:"Louisville"},{value:"America/Maceio",name:"Maceio"},{value:"America/Managua",name:"Managua"},{value:"America/Manaus",name:"Manaus"},{value:"America/Marigot",name:"Marigot"},{value:"America/Martinique",name:"Martinique"},{value:"America/Matamoros",name:"Matamoros"},{value:"America/Mazatlan",name:"Mazatlan"},{value:"America/Mendoza",name:"Mendoza"},{value:"America/Menominee",name:"Menominee"},{value:"America/Merida",name:"Merida"},{value:"America/Mexico_City",name:"Mexico City"},{value:"America/Miquelon",name:"Miquelon"},{value:"America/Moncton",name:"Moncton"},{value:"America/Monterrey",name:"Monterrey"},{value:"America/Montevideo",name:"Montevideo"},{value:"America/Montreal",name:"Montreal"},{value:"America/Montserrat",name:"Montserrat"},{value:"America/Nassau",name:"Nassau"},{value:"America/New_York",name:"New York"},{value:"America/Nipigon",name:"Nipigon"},{value:"America/Nome",name:"Nome"},{value:"America/Noronha",name:"Noronha"},{value:"America/North_Dakota/Center",name:"North Dakota - Center"},{value:"America/North_Dakota/New_Salem",name:"North Dakota - New Salem"},{value:"America/Ojinaga",name:"Ojinaga"},{value:"America/Panama",name:"Panama"},{value:"America/Pangnirtung",name:"Pangnirtung"},{value:"America/Paramaribo",name:"Paramaribo"},{value:"America/Phoenix",name:"Phoenix"},{value:"America/Port-au-Prince",name:"Port-au-Prince"},{value:"America/Porto_Acre",name:"Porto Acre"},{value:"America/Port_of_Spain",name:"Port of Spain"},{value:"America/Porto_Velho",name:"Porto Velho"},{value:"America/Puerto_Rico",name:"Puerto Rico"},{value:"America/Rainy_River",name:"Rainy River"},{value:"America/Rankin_Inlet",name:"Rankin Inlet"},{value:"America/Recife",name:"Recife"},{value:"America/Regina",name:"Regina"},{value:"America/Resolute",name:"Resolute"},{value:"America/Rio_Branco",name:"Rio Branco"},{value:"America/Rosario",name:"Rosario"},{value:"America/Santa_Isabel",name:"Santa Isabel"},{value:"America/Santarem",name:"Santarem"},{value:"America/Santiago",name:"Santiago"},{value:"America/Santo_Domingo",name:"Santo Domingo"},{value:"America/Sao_Paulo",name:"Sao Paulo"},{value:"America/Scoresbysund",name:"Scoresbysund"},{value:"America/Shiprock",name:"Shiprock"},{value:"America/St_Barthelemy",name:"St Barthelemy"},{value:"America/St_Johns",name:"St Johns"},{value:"America/St_Kitts",name:"St Kitts"},{value:"America/St_Lucia",name:"St Lucia"},{value:"America/St_Thomas",name:"St Thomas"},{value:"America/St_Vincent",name:"St Vincent"},{value:"America/Swift_Current",name:"Swift Current"},{value:"America/Tegucigalpa",name:"Tegucigalpa"},{value:"America/Thule",name:"Thule"},{value:"America/Thunder_Bay",name:"Thunder Bay"},{value:"America/Tijuana",name:"Tijuana"},{value:"America/Toronto",name:"Toronto"},{value:"America/Tortola",name:"Tortola"},{value:"America/Vancouver",name:"Vancouver"},{value:"America/Virgin",name:"Virgin"},{value:"America/Whitehorse",name:"Whitehorse"},{value:"America/Winnipeg",name:"Winnipeg"},{value:"America/Yakutat",name:"Yakutat"},{value:"America/Yellowknife",name:"Yellowknife"}]},{group:"Europe",zones:[{value:"Europe/Amsterdam",name:"Amsterdam"},{value:"Europe/Andorra",name:"Andorra"},{value:"Europe/Athens",name:"Athens"},{value:"Europe/Belfast",name:"Belfast"},{value:"Europe/Belgrade",name:"Belgrade"},{value:"Europe/Berlin",name:"Berlin"},{value:"Europe/Bratislava",name:"Bratislava"},{value:"Europe/Brussels",name:"Brussels"},{value:"Europe/Bucharest",name:"Bucharest"},{value:"Europe/Budapest",name:"Budapest"},{value:"Europe/Chisinau",name:"Chisinau"},{value:"Europe/Copenhagen",name:"Copenhagen"},{value:"Europe/Dublin",name:"Dublin"},{value:"Europe/Gibraltar",name:"Gibraltar"},{value:"Europe/Guernsey",name:"Guernsey"},{value:"Europe/Helsinki",name:"Helsinki"},{value:"Europe/Isle_of_Man",name:"Isle of Man"},{value:"Europe/Istanbul",name:"Istanbul"},{value:"Europe/Jersey",name:"Jersey"},{value:"Europe/Kaliningrad",name:"Kaliningrad"},{value:"Europe/Kiev",name:"Kiev"},{value:"Europe/Lisbon",name:"Lisbon"},{value:"Europe/Ljubljana",name:"Ljubljana"},{value:"Europe/London",name:"London"},{value:"Europe/Luxembourg",name:"Luxembourg"},{value:"Europe/Madrid",name:"Madrid"},{value:"Europe/Malta",name:"Malta"},{value:"Europe/Mariehamn",name:"Mariehamn"},{value:"Europe/Minsk",name:"Minsk"},{value:"Europe/Monaco",name:"Monaco"},{value:"Europe/Moscow",name:"Moscow"},{value:"Europe/Nicosia",name:"Nicosia"},{value:"Europe/Oslo",name:"Oslo"},{value:"Europe/Paris",name:"Paris"},{value:"Europe/Podgorica",name:"Podgorica"},{value:"Europe/Prague",name:"Prague"},{value:"Europe/Riga",name:"Riga"},{value:"Europe/Rome",name:"Rome"},{value:"Europe/Samara",name:"Samara"},{value:"Europe/San_Marino",name:"San Marino"},{value:"Europe/Sarajevo",name:"Sarajevo"},{value:"Europe/Simferopol",name:"Simferopol"},{value:"Europe/Skopje",name:"Skopje"},{value:"Europe/Sofia",name:"Sofia"},{value:"Europe/Stockholm",name:"Stockholm"},{value:"Europe/Tallinn",name:"Tallinn"},{value:"Europe/Tirane",name:"Tirane"},{value:"Europe/Tiraspol",name:"Tiraspol"},{value:"Europe/Uzhgorod",name:"Uzhgorod"},{value:"Europe/Vaduz",name:"Vaduz"},{value:"Europe/Vatican",name:"Vatican"},{value:"Europe/Vienna",name:"Vienna"},{value:"Europe/Vilnius",name:"Vilnius"},{value:"Europe/Volgograd",name:"Volgograd"},{value:"Europe/Warsaw",name:"Warsaw"},{value:"Europe/Zagreb",name:"Zagreb"},{value:"Europe/Zaporozhye",name:"Zaporozhye"},{value:"Europe/Zurich",name:"Zurich"}]},{group:"Asia",zones:[{value:"Asia/Aden",name:"Aden"},{value:"Asia/Almaty",name:"Almaty"},{value:"Asia/Amman",name:"Amman"},{value:"Asia/Anadyr",name:"Anadyr"},{value:"Asia/Aqtau",name:"Aqtau"},{value:"Asia/Aqtobe",name:"Aqtobe"},{value:"Asia/Ashgabat",name:"Ashgabat"},{value:"Asia/Ashkhabad",name:"Ashkhabad"},{value:"Asia/Baghdad",name:"Baghdad"},{value:"Asia/Bahrain",name:"Bahrain"},{value:"Asia/Baku",name:"Baku"},{value:"Asia/Bangkok",name:"Bangkok"},{value:"Asia/Beirut",name:"Beirut"},{value:"Asia/Bishkek",name:"Bishkek"},{value:"Asia/Brunei",name:"Brunei"},{value:"Asia/Calcutta",name:"Calcutta"},{value:"Asia/Choibalsan",name:"Choibalsan"},{value:"Asia/Chongqing",name:"Chongqing"},{value:"Asia/Chungking",name:"Chungking"},{value:"Asia/Colombo",name:"Colombo"},{value:"Asia/Dacca",name:"Dacca"},{value:"Asia/Damascus",name:"Damascus"},{value:"Asia/Dhaka",name:"Dhaka"},{value:"Asia/Dili",name:"Dili"},{value:"Asia/Dubai",name:"Dubai"},{value:"Asia/Dushanbe",name:"Dushanbe"},{value:"Asia/Gaza",name:"Gaza"},{value:"Asia/Harbin",name:"Harbin"},{value:"Asia/Ho_Chi_Minh",name:"Ho Chi Minh"},{value:"Asia/Hong_Kong",name:"Hong Kong"},{value:"Asia/Hovd",name:"Hovd"},{value:"Asia/Irkutsk",name:"Irkutsk"},{value:"Asia/Istanbul",name:"Istanbul"},{value:"Asia/Jakarta",name:"Jakarta"},{value:"Asia/Jayapura",name:"Jayapura"},{value:"Asia/Jerusalem",name:"Jerusalem"},{value:"Asia/Kabul",name:"Kabul"},{value:"Asia/Kamchatka",name:"Kamchatka"},{value:"Asia/Karachi",name:"Karachi"},{value:"Asia/Kashgar",name:"Kashgar"},{value:"Asia/Kathmandu",name:"Kathmandu"},{value:"Asia/Katmandu",name:"Katmandu"},{value:"Asia/Kolkata",name:"Kolkata"},{value:"Asia/Krasnoyarsk",name:"Krasnoyarsk"},{value:"Asia/Kuala_Lumpur",name:"Kuala Lumpur"},{value:"Asia/Kuching",name:"Kuching"},{value:"Asia/Kuwait",name:"Kuwait"},{value:"Asia/Macao",name:"Macao"},{value:"Asia/Macau",name:"Macau"},{value:"Asia/Magadan",name:"Magadan"},{value:"Asia/Makassar",name:"Makassar"},{value:"Asia/Manila",name:"Manila"},{value:"Asia/Muscat",name:"Muscat"},{value:"Asia/Nicosia",name:"Nicosia"},{value:"Asia/Novokuznetsk",name:"Novokuznetsk"},{value:"Asia/Novosibirsk",name:"Novosibirsk"},{value:"Asia/Omsk",name:"Omsk"},{value:"Asia/Oral",name:"Oral"},{value:"Asia/Phnom_Penh",name:"Phnom Penh"},{value:"Asia/Pontianak",name:"Pontianak"},{value:"Asia/Pyongyang",name:"Pyongyang"},{value:"Asia/Qatar",name:"Qatar"},{value:"Asia/Qyzylorda",name:"Qyzylorda"},{value:"Asia/Rangoon",name:"Rangoon"},{value:"Asia/Riyadh",name:"Riyadh"},{value:"Asia/Saigon",name:"Saigon"},{value:"Asia/Sakhalin",name:"Sakhalin"},{value:"Asia/Samarkand",name:"Samarkand"},{value:"Asia/Seoul",name:"Seoul"},{value:"Asia/Shanghai",name:"Shanghai"},{value:"Asia/Singapore",name:"Singapore"},{value:"Asia/Taipei",name:"Taipei"},{value:"Asia/Tashkent",name:"Tashkent"},{value:"Asia/Tbilisi",name:"Tbilisi"},{value:"Asia/Tehran",name:"Tehran"},{value:"Asia/Tel_Aviv",name:"Tel Aviv"},{value:"Asia/Thimbu",name:"Thimbu"},{value:"Asia/Thimphu",name:"Thimphu"},{value:"Asia/Tokyo",name:"Tokyo"},{value:"Asia/Ujung_Pandang",name:"Ujung Pandang"},{value:"Asia/Ulaanbaatar",name:"Ulaanbaatar"},{value:"Asia/Ulan_Bator",name:"Ulan Bator"},{value:"Asia/Urumqi",name:"Urumqi"},{value:"Asia/Vientiane",name:"Vientiane"},{value:"Asia/Vladivostok",name:"Vladivostok"},{value:"Asia/Yakutsk",name:"Yakutsk"},{value:"Asia/Yekaterinburg",name:"Yekaterinburg"},{value:"Asia/Yerevan",name:"Yerevan"}]},{group:"Africa",zones:[{value:"Africa/Abidjan",name:"Abidjan"},{value:"Africa/Accra",name:"Accra"},{value:"Africa/Addis_Ababa",name:"Addis Ababa"},{value:"Africa/Algiers",name:"Algiers"},{value:"Africa/Asmara",name:"Asmara"},{value:"Africa/Asmera",name:"Asmera"},{value:"Africa/Bamako",name:"Bamako"},{value:"Africa/Bangui",name:"Bangui"},{value:"Africa/Banjul",name:"Banjul"},{value:"Africa/Bissau",name:"Bissau"},{value:"Africa/Blantyre",name:"Blantyre"},{value:"Africa/Brazzaville",name:"Brazzaville"},{value:"Africa/Bujumbura",name:"Bujumbura"},{value:"Africa/Cairo",name:"Cairo"},{value:"Africa/Casablanca",name:"Casablanca"},{value:"Africa/Ceuta",name:"Ceuta"},{value:"Africa/Conakry",name:"Conakry"},{value:"Africa/Dakar",name:"Dakar"},{value:"Africa/Dar_es_Salaam",name:"Dar es Salaam"},{value:"Africa/Djibouti",name:"Djibouti"},{value:"Africa/Douala",name:"Douala"},{value:"Africa/El_Aaiun",name:"El Aaiun"},{value:"Africa/Freetown",name:"Freetown"},{value:"Africa/Gaborone",name:"Gaborone"},{value:"Africa/Harare",name:"Harare"},{value:"Africa/Johannesburg",name:"Johannesburg"},{value:"Africa/Kampala",name:"Kampala"},{value:"Africa/Khartoum",name:"Khartoum"},{value:"Africa/Kigali",name:"Kigali"},{value:"Africa/Kinshasa",name:"Kinshasa"},{value:"Africa/Lagos",name:"Lagos"},{value:"Africa/Libreville",name:"Libreville"},{value:"Africa/Lome",name:"Lome"},{value:"Africa/Luanda",name:"Luanda"},{value:"Africa/Lubumbashi",name:"Lubumbashi"},{value:"Africa/Lusaka",name:"Lusaka"},{value:"Africa/Malabo",name:"Malabo"},{value:"Africa/Maputo",name:"Maputo"},{value:"Africa/Maseru",name:"Maseru"},{value:"Africa/Mbabane",name:"Mbabane"},{value:"Africa/Mogadishu",name:"Mogadishu"},{value:"Africa/Monrovia",name:"Monrovia"},{value:"Africa/Nairobi",name:"Nairobi"},{value:"Africa/Ndjamena",name:"Ndjamena"},{value:"Africa/Niamey",name:"Niamey"},{value:"Africa/Nouakchott",name:"Nouakchott"},{value:"Africa/Ouagadougou",name:"Ouagadougou"},{value:"Africa/Porto-Novo",name:"Porto-Novo"},{value:"Africa/Sao_Tome",name:"Sao Tome"},{value:"Africa/Timbuktu",name:"Timbuktu"},{value:"Africa/Tripoli",name:"Tripoli"},{value:"Africa/Tunis",name:"Tunis"},{value:"Africa/Windhoek",name:"Windhoek"}]},{group:"Australia",zones:[{value:"Australia/ACT",name:"ACT"},{value:"Australia/Adelaide",name:"Adelaide"},{value:"Australia/Brisbane",name:"Brisbane"},{value:"Australia/Broken_Hill",name:"Broken Hill"},{value:"Australia/Canberra",name:"Canberra"},{value:"Australia/Currie",name:"Currie"},{value:"Australia/Darwin",name:"Darwin"},{value:"Australia/Eucla",name:"Eucla"},{value:"Australia/Hobart",name:"Hobart"},{value:"Australia/LHI",name:"LHI"},{value:"Australia/Lindeman",name:"Lindeman"},{value:"Australia/Lord_Howe",name:"Lord Howe"},{value:"Australia/Melbourne",
-name:"Melbourne"},{value:"Australia/North",name:"North"},{value:"Australia/NSW",name:"NSW"},{value:"Australia/Perth",name:"Perth"},{value:"Australia/Queensland",name:"Queensland"},{value:"Australia/South",name:"South"},{value:"Australia/Sydney",name:"Sydney"},{value:"Australia/Tasmania",name:"Tasmania"},{value:"Australia/Victoria",name:"Victoria"},{value:"Australia/West",name:"West"},{value:"Australia/Yancowinna",name:"Yancowinna"}]},{group:"Indian",zones:[{value:"Indian/Antananarivo",name:"Antananarivo"},{value:"Indian/Chagos",name:"Chagos"},{value:"Indian/Christmas",name:"Christmas"},{value:"Indian/Cocos",name:"Cocos"},{value:"Indian/Comoro",name:"Comoro"},{value:"Indian/Kerguelen",name:"Kerguelen"},{value:"Indian/Mahe",name:"Mahe"},{value:"Indian/Maldives",name:"Maldives"},{value:"Indian/Mauritius",name:"Mauritius"},{value:"Indian/Mayotte",name:"Mayotte"},{value:"Indian/Reunion",name:"Reunion"}]},{group:"Atlantic",zones:[{value:"Atlantic/Azores",name:"Azores"},{value:"Atlantic/Bermuda",name:"Bermuda"},{value:"Atlantic/Canary",name:"Canary"},{value:"Atlantic/Cape_Verde",name:"Cape Verde"},{value:"Atlantic/Faeroe",name:"Faeroe"},{value:"Atlantic/Faroe",name:"Faroe"},{value:"Atlantic/Jan_Mayen",name:"Jan Mayen"},{value:"Atlantic/Madeira",name:"Madeira"},{value:"Atlantic/Reykjavik",name:"Reykjavik"},{value:"Atlantic/South_Georgia",name:"South Georgia"},{value:"Atlantic/Stanley",name:"Stanley"},{value:"Atlantic/St_Helena",name:"St Helena"}]},{group:"Pacific",zones:[{value:"Pacific/Apia",name:"Apia"},{value:"Pacific/Auckland",name:"Auckland"},{value:"Pacific/Chatham",name:"Chatham"},{value:"Pacific/Easter",name:"Easter"},{value:"Pacific/Efate",name:"Efate"},{value:"Pacific/Enderbury",name:"Enderbury"},{value:"Pacific/Fakaofo",name:"Fakaofo"},{value:"Pacific/Fiji",name:"Fiji"},{value:"Pacific/Funafuti",name:"Funafuti"},{value:"Pacific/Galapagos",name:"Galapagos"},{value:"Pacific/Gambier",name:"Gambier"},{value:"Pacific/Guadalcanal",name:"Guadalcanal"},{value:"Pacific/Guam",name:"Guam"},{value:"Pacific/Honolulu",name:"Honolulu"},{value:"Pacific/Johnston",name:"Johnston"},{value:"Pacific/Kiritimati",name:"Kiritimati"},{value:"Pacific/Kosrae",name:"Kosrae"},{value:"Pacific/Kwajalein",name:"Kwajalein"},{value:"Pacific/Majuro",name:"Majuro"},{value:"Pacific/Marquesas",name:"Marquesas"},{value:"Pacific/Midway",name:"Midway"},{value:"Pacific/Nauru",name:"Nauru"},{value:"Pacific/Niue",name:"Niue"},{value:"Pacific/Norfolk",name:"Norfolk"},{value:"Pacific/Noumea",name:"Noumea"},{value:"Pacific/Pago_Pago",name:"Pago Pago"},{value:"Pacific/Palau",name:"Palau"},{value:"Pacific/Pitcairn",name:"Pitcairn"},{value:"Pacific/Ponape",name:"Ponape"},{value:"Pacific/Port_Moresby",name:"Port Moresby"},{value:"Pacific/Rarotonga",name:"Rarotonga"},{value:"Pacific/Saipan",name:"Saipan"},{value:"Pacific/Samoa",name:"Samoa"},{value:"Pacific/Tahiti",name:"Tahiti"},{value:"Pacific/Tarawa",name:"Tarawa"},{value:"Pacific/Tongatapu",name:"Tongatapu"},{value:"Pacific/Truk",name:"Truk"},{value:"Pacific/Wake",name:"Wake"},{value:"Pacific/Wallis",name:"Wallis"},{value:"Pacific/Yap",name:"Yap"}]},{group:"Antarctica",zones:[{value:"Antarctica/Casey",name:"Casey"},{value:"Antarctica/Davis",name:"Davis"},{value:"Antarctica/DumontDUrville",name:"DumontDUrville"},{value:"Antarctica/Macquarie",name:"Macquarie"},{value:"Antarctica/Mawson",name:"Mawson"},{value:"Antarctica/McMurdo",name:"McMurdo"},{value:"Antarctica/Palmer",name:"Palmer"},{value:"Antarctica/Rothera",name:"Rothera"},{value:"Antarctica/South_Pole",name:"South Pole"},{value:"Antarctica/Syowa",name:"Syowa"},{value:"Antarctica/Vostok",name:"Vostok"}]},{group:"Arctic",zones:[{value:"Arctic/Longyearbyen",name:"Longyearbyen"}]},{group:"UTC",zones:[{value:"UTC",name:"UTC"}]},{group:"Manual Offsets",zones:[{value:"UTC-12",name:"UTC-12"},{value:"UTC-11",name:"UTC-11"},{value:"UTC-10",name:"UTC-10"},{value:"UTC-9",name:"UTC-9"},{value:"UTC-8",name:"UTC-8"},{value:"UTC-7",name:"UTC-7"},{value:"UTC-6",name:"UTC-6"},{value:"UTC-5",name:"UTC-5"},{value:"UTC-4",name:"UTC-4"},{value:"UTC-3",name:"UTC-3"},{value:"UTC-2",name:"UTC-2"},{value:"UTC-1",name:"UTC-1"},{value:"UTC+0",name:"UTC+0"},{value:"UTC+1",name:"UTC+1"},{value:"UTC+2",name:"UTC+2"},{value:"UTC+3",name:"UTC+3"},{value:"UTC+4",name:"UTC+4"},{value:"UTC+5",name:"UTC+5"},{value:"UTC+6",name:"UTC+6"},{value:"UTC+7",name:"UTC+7"},{value:"UTC+8",name:"UTC+8"},{value:"UTC+9",name:"UTC+9"},{value:"UTC+10",name:"UTC+10"},{value:"UTC+11",name:"UTC+11"},{value:"UTC+12",name:"UTC+12"},{value:"UTC+13",name:"UTC+13"},{value:"UTC+14",name:"UTC+14"}]}]}}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer",{url:"/motiondialer",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:16}}})}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessListCtrl",["$scope","$uibModal","$translate","xAlert","Modal","MotionDialerProcess","uiGridConstants","usSpinnerService",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",width:60},{name:"name"},{name:"queue",enableSorting:!1},{name:"extension",enableSorting:!1},{name:"id_list",enableSorting:!1,cellTemplate:'<div><a class="btn btn-xs grey-cascade" href="/motiondialer/lists/view/{{row.entity.id_list}}/settings">{{row.entity.id_list}}</a></div>',cellClass:"ui-grid-vcenter"},{name:"status",cellTemplate:"<div><a class=\"btn btn-xs\" data-ng-class=\"row.entity.status == 'STOP' ? 'red-sunglo' : 'green-meadow'\" data-ng-href=\"#\">{{ (row.entity.status === 'RUN') ? 'RUNNING' : 'STOPPED'}}</a></div>",cellClass:"ui-grid-vcenter",filter:{type:g.filter.SELECT,selectOptions:[{value:"RUN",label:"RUNNING"},{value:"STOP",label:"STOPPED"}]}},{name:"updatedtime",sort:{direction:g.DESC},enableFiltering:!1},{name:"action",buttons:[{"class":"blue-hoki",href:"/motiondialer/processes/view/{{row.entity.id}}/overview",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]},f.list({page:1,size:6e5}).$promise.then(function(b){console.log(b),b.status>0?a.gridOptions.data=b.response.RMI.rows:d.show("Please, check your connection!","danger")})["catch"](function(a){d.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.createProcessQueue=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/process/list/list.create.queue.modal.html",controller:"MotionDialerProcessListCreateQueueCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.createProcessSquare=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/process/list/list.create.square.modal.html",controller:"MotionDialerProcessListCreateSquareCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.deleteItem=e.confirm["delete"](function(b){return f["delete"]({id:b}).$promise.then(function(e){e.status>0?(_.remove(a.gridOptions.data,{id:b}),d.show(c.instant("MESSAGE_WELL_DONE"),"success")):d.show(e.message||"Please, check your connection!","danger")})["catch"](function(a){d.error(a)})})}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessListCreateQueueCtrl",["$scope","$translate","$uibModalInstance","MotionDialerProcess","MotionDialerList","Trunk","VoiceQueue","Route","xAlert",function(a,b,c,d,e,f,g,h,i){a.form={},a.item={fetch_sort:"ASC",timeout:3},a.initModal=function(){return g.get().$promise.then(function(b){return a.queues={},b&&(a.queues=b.rows),f.get().$promise}).then(function(b){return a.trunks={},b&&(a.trunks=b.rows),a.trunks.push({name:"fake"}),e.list({page:1,size:6e5}).$promise}).then(function(b){a.lists={},b.status>0?a.lists=b.response.RMI.rows:i.show("Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.save=function(){console.log(a.item);var e="process_"+a.item.name+"_queue_"+a.item.queue.name+"_"+Math.round(1e5*Math.random()),f="Generated by Motion Dialer, Process Queue"+(a.item.description?", "+a.item.description:"");return h.save({appdata:"Internal Call",context:"from-sip",exten:e.replace(/\s/g,"_"),type:"internal",description:f,Applications:[{appdata:["CDR(type)=tigerdial"],app:"Set",interval:"*,*,*,*",type:"internal"},{appdata:["QUEUE_PRIO=99"],app:"Set",interval:"*,*,*,*",type:"internal"},{appdata:[a.item.queue.name,"","","",a.item.timeout],app:"Queue",interval:"*,*,*,*",type:"internal"}]}).$promise.then(function(b){return console.log(b),d.insert({name:a.item.name,id_list:a.item.list.id,queue:a.item.queue.name,device:a.item.device.name,context:"from-sip",extension:e.replace(/\s/g,"_"),description:a.item.description,auto_closed:!0,fetch_sort:a.item.fetch_sort}).$promise}).then(function(a){a.status>0?(i.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):i.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessListCreateSquareCtrl",["$scope","$translate","$uibModalInstance","MotionDialerProcess","MotionDialerList","SquareProject","Trunk","Route","xAlert",function(a,b,c,d,e,f,g,h,i){a.form={},a.item={fetch_sort:"ASC"},a.initModal=function(){return f.get().$promise.then(function(b){return a.projects={},b&&(a.projects=b.rows),g.get().$promise}).then(function(b){return a.trunks={},b&&(a.trunks=b.rows),a.trunks.push({name:"fake"}),e.list({page:1,size:6e5}).$promise}).then(function(b){a.lists={},b.status>0?a.lists=b.response.RMI.rows:i.show("Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.save=function(){console.log(a.item);var e="process_"+a.item.name+"_square_"+a.item.project.name+"_"+Math.round(1e5*Math.random()),f="Generated by Motion Dialer, Process Square"+(a.item.description?", "+a.item.description:"");return h.save({appdata:"Internal Call",context:"from-sip",exten:e.replace(/\s/g,"_"),type:"internal",description:f,Applications:[{appdata:["CDR(type)=tigerdial"],app:"Set",interval:"*,*,*,*",type:"internal"},{appdata:["agi://127.0.0.1/square",a.item.project.name],app:"AGI",interval:"*,*,*,*",type:"internal"}]}).$promise.then(function(b){return console.log(b),d.insert({name:a.item.name,id_list:a.item.list.id,queue:"none",device:a.item.device.name,context:"from-sip",extension:e.replace(/\s/g,"_"),description:a.item.description,auto_closed:!0,channel_limit:15,fetch_sort:a.item.fetch_sort}).$promise}).then(function(a){a.status>0?(i.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):i.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.processes.list",{url:"/list",templateUrl:"app/motiondialer/process/list/list.html",controller:"MotionDialerProcessListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerProcess",["$resource",function(a){return a("/api/rest/process/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").factory("MotionDialerSpooler",["$resource",function(a){return a("/api/rest/spooler/:controller/:retrieve/:peer",null,{list:{method:"POST",params:{controller:"list"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},summary:{method:"POST",params:{controller:"summary"}},close:{method:"POST",params:{controller:"retrieve",retrieve:"close"}},open:{method:"POST",params:{controller:"retrieve",retrieve:"open"}},blacklist:{method:"POST",params:{controller:"retrieve",retrieve:"blacklist"}},planning:{method:"POST",params:{controller:"retrieve",retrieve:"planning"}},planningpeer:{method:"POST",params:{controller:"retrieve",retrieve:"planning",peer:"peer"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.processes",{url:"/processes",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessViewCtrl",["$scope","$translate","$stateParams","$uibModal","xAlert","uiGridConstants","usSpinnerService","MotionDialerProcess","MotionDialerSpooler","Modal","VoiceQueue",function(a,b,c,d,e,f,g,h,i,j,k){a.process={},a.techs=["SIP","IAX","LOCAL","KHOMP"],a.dialFormats=["tech/device/number","tech/number@device"],a.checkDuplicates=["ALWAYS","IFOPEN","NO"],a.codecs=["g729","ilbc","gsm","ulaw","alaw"],a.getProcess=function(){return h.find({id:parseInt(c.id)}).$promise.then(function(b){console.log(b),b.status>0?(b.response.RMI.codecs=b.response.RMI.codecs.split(","),a.process=b.response.RMI):e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.getSummary=function(){return i.summary({id_process:parseInt(c.id)}).$promise.then(function(b){if(b.status>0){a.summary=b.response.RMI.totals,a.total=0;for(var c=0;c<a.summary.length;c++)a.total+=a.summary[c][1]}else e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})["finally"](function(){g.stop("spinner-grid")})},a.updateProcess=function(){var c=_.clone(a.process);return delete c.updatedtime,delete c.id_list,delete c.createdtime,delete c.runtime,delete c.fetch_sort,c.codecs=c.codecs.join(","),""===c.timezone&&delete c.timezone,h.update(c).$promise.then(function(c){c.status>0?(c.response.RMI.codecs=c.response.RMI.codecs.split(","),a.process=c.response.RMI,e.show(b.instant("MESSAGE_WELL_DONE"),"success")):c.response.RMI.errors.forEach(function(a){a?e.show(a.field+": "+a.error,"danger"):e.show("Please, check your connection!","danger")})})["catch"](function(a){e.error(a)})},a.getSpooler=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,headerCellFilter:"translate",columnDefs:[{name:"name"},{name:"phones",cellTemplate:"<div>{{row.entity.phones.join(',')}}</div>",cellClass:"ui-grid-vcenter"},{name:"retrieve",filter:{type:f.filter.SELECT,selectOptions:[{value:"PLANNED_PEER",label:"PLANNED PEER"},{value:"PLANNED",label:"PLANNED"},{value:"BLACK_LIST",label:"BLACKLIST"},{value:"OPEN",label:"OPEN"},{value:"CLOSED",label:"CLOSED"},{value:"MAX_ATTEMPTS",label:"MAX ATTEMPTS"},{value:"COUNTER_BLOCK",label:"COUNTER BLOCK"},{value:"PLANNED_REQUEST",label:"PLANNED REQUEST"},{value:"DELETE",label:"DELETE"}]}},{name:"counter",enableFiltering:!1},{name:"planningtime",cellTemplate:"<div>{{row.entity.planningtime | date:'yyyy-MM-dd HH:mm'}}</div>",cellClass:"ui-grid-vcenter",enableFiltering:!1},{name:"action",cellTemplate:'<div><a class="btn btn-xs green" data-ng-click="grid.appScope.historySpooler(row.entity.history)"><i class="icon-info"></i></a> <a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.editSpooler(row.entity)"><i class="icon-settings"></i></a> <a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteSpooler(row.entity.phones.join(), row.entity.id)"><i class="fa fa-trash"></i></a></div>',enableSorting:!1,cellClass:"ui-grid-vcenter",enableFiltering:!1}]},i.list({id_process:parseInt(c.id),page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})["finally"](function(){g.stop("spinner-grid")})},a.deleteSpooler=j.confirm["delete"](function(c){return i["delete"]({id:c}).$promise.then(function(d){d.status>0?(_.remove(a.gridOptions.data,{id:c}),e.show(b.instant("MESSAGE_WELL_DONE"),"success")):e.show(d.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})}),a.historySpooler=function(b){var c=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.spooler.history.modal.html",controller:"MotionDialerViewSpoolerHistoryCtrl",resolve:{historySpooler:function(){return b}}});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.editSpooler=function(a){var b=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.spooler.edit.modal.html",controller:"MotionDialerViewSpoolerEditCtrl",resolve:{entitySpooler:function(){return a}}});b.result.then(function(){})},a.initSettings=function(){return a.queues=null,k.get().$promise.then(function(b){b&&(a.queues=b.rows,a.process.queue&&"none"!==a.process.queue&&(a.queue=_.find(b.rows,{name:a.process.queue})))})["catch"](function(a){e.error(a)})},a.createInterval=function(b){var c=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.create.interval.modal.html",controller:"MotionDialerViewCreateIntervalCtrl",resolve:{objectProcess:function(){return a.process},intervalType:function(){return b},intervalValue:function(){return b?"8:00-20:00|MON-FRI|*|*":"00:01-07:59|SAT-SUN|*|*"}}});c.result.then(function(b){a.process=b})},a.editInterval=function(b,c){var e=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.create.interval.modal.html",controller:"MotionDialerViewCreateIntervalCtrl",resolve:{objectProcess:function(){return a.process},intervalType:function(){return b},intervalValue:function(){return c}}});e.result.then(function(b){a.process=b})},a.deleteInterval=j.confirm["delete"](function(c,d){var f={id:a.process.id};return d?(f.intervals=[],f.intervals=f.intervals.concat(a.process.intervals),f.intervals.splice(c,1)):(f.not_intervals=[],f.not_intervals=f.not_intervals.concat(a.process.not_intervals),f.not_intervals.splice(c,1)),h.update(f).$promise.then(function(c){c.status>0?(c.response.RMI.codecs=c.response.RMI.codecs.split(","),a.process=c.response.RMI,e.show(b.instant("MESSAGE_WELL_DONE"),"success")):c.response.RMI.errors.forEach(function(a){a?e.show(a.field+": "+a.error,"danger"):e.show("Please, check your connection!","danger")})})["catch"](function(a){e.error(a)})}),a.runOrStop=function(){var b=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.run.process.modal.html",controller:"MotionDialerViewRunProcessCtrl",resolve:{statusProcess:function(){return a.process.status}}});b.result.then(function(b){a.process.status=b.status})}}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewCreateIntervalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerProcess","xAlert","objectProcess","intervalType","intervalValue","interval",function(a,b,c,d,e,f,g,h,i,j){function k(a){var b,c=a.split("|"),d={};return c.forEach(function(a,c){switch(c){case 0:"*"!==a?(b=a.split("-"),d.t_from=moment(b[0],"HH:mm"),d.t_to=moment(b[1],"HH:mm"),d.alwaysTime=!1):(d.t_from=moment(new Date),d.t_to=moment(new Date),d.alwaysTime=!0);break;case 1:"*"!==a?(b=a.split("-"),d.wd_from=b[0].toLowerCase(),d.wd_to=b[1]?b[1].toLowerCase():"always"):(d.wd_from="always",d.wd_to="always");break;case 2:"*"!==a?(b=a.split("-"),d.md_from=b[0],d.md_to=b[1]?b[1]:"always"):(d.md_from="always",d.md_to="always");break;case 3:"*"!==a?(b=a.split("-"),d.m_from=b[0],d.m_to=b[1]?b[1]:"always"):(d.m_from="always",d.m_to="always")}}),d}function l(a){var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toUpperCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toUpperCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from,a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to)):e="*",b+"|"+c+"|"+d+"|"+e}a.form={},a.$interval=j.interval,a.splittedInterval=k(i),a.save=function(){var d=l(a.splittedInterval);console.log(d);var i={id:g.id};return h?(i.intervals=[],i.intervals=i.intervals.concat(g.intervals),i.intervals.push(d)):(i.not_intervals=[],i.not_intervals=i.not_intervals.concat(g.not_intervals),i.not_intervals.push(d)),console.log(i),e.update(i).$promise.then(function(a){a.status>0?(a.response.RMI.codecs=a.response.RMI.codecs.split(","),f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a.response.RMI)):a.response.RMI.errors.forEach(function(a){a?f.show(a.field+": "+a.error,"danger"):f.show("Please, check your connection!","danger")})})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.processes.view",{url:"/view/:id",templateUrl:"app/motiondialer/process/view/view.html",controller:"MotionDialerProcessViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.motiondialer.processes.view.overview",{url:"/overview",templateUrl:"app/motiondialer/process/view/view.overview.html"}).state("main.motiondialer.processes.view.settings",{url:"/settings",templateUrl:"app/motiondialer/process/view/view.settings.html"}).state("main.motiondialer.processes.view.intervals",{url:"/intervals",templateUrl:"app/motiondialer/process/view/view.intervals.html"}).state("main.motiondialer.processes.view.spooler",{url:"/spooler",templateUrl:"app/motiondialer/process/view/view.spooler.html"})}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewRunProcessCtrl",["$scope","$stateParams","$uibModalInstance","$translate","statusProcess","MotionDialerProcess","xAlert",function(a,b,c,d,e,f,g){a.status="RUN"===e?"STOP":"RUN",a.yes=function(){f.update({id:parseInt(b.id),status:a.status}).$promise.then(function(a){a.status>0?(g.show(d.instant("MESSAGE_WELL_DONE"),"success"),c.close(a.response.RMI)):g.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){g.error(a)})},a.no=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewSpoolerEditCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerSpooler","xAlert","entitySpooler","Agent",function(a,b,c,d,e,f,g,h){a.moment=moment,a.initModal=function(){return h.get().$promise.then(function(b){a.agents=[],b&&b.rows.forEach(function(b){a.agents.push("SIP/"+b.name)})})["catch"](function(a){f.error(a)})},a.entitySpooler=g,a.save=function(){var d;switch(a.entitySpooler.retrieve){case"CLOSED":d=e.close({id:parseInt(a.entitySpooler.id)});break;case"OPEN":d=e.open({id:parseInt(a.entitySpooler.id)});break;case"BLACK_LIST":d=e.blacklist({id:parseInt(a.entitySpooler.id)});break;case"PLANNED":d=e.planning({id:parseInt(a.entitySpooler.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm")});break;case"PLANNED_PEER":d=e.planningpeer({id:parseInt(a.entitySpooler.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm"),peer:a.entitySpooler.planningpeer})}d?d.$promise.then(function(a){console.log(a),a.status>0?(f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close()):a.response.RMI.errors.forEach(function(a){a?f.show(a.field+": "+a.error,"danger"):f.show("Please, check your connection!","danger")})})["catch"](function(a){f.error(a)}):f.show("RETRIEVE NOT FOUND","danger")},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewSpoolerHistoryCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerSpooler","xAlert","historySpooler",function(a,b,c,d,e,f,g){a.historySpooler=g,a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("ResetCtrl",["$scope","Auth","$location","$window","$rootScope","Setting","xAlert","$stateParams","$state",function(a,b,c,d,e,f,g,h,i){a.userReset={},a.getInfo=function(){return f.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)})},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.reset=function(){b.reset({token:h.token,password:a.userReset.password}).then(function(){i.go("login",{reset:!0})})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("reset",{url:"/reset/:token",templateUrl:"app/reset/reset.html",controller:"ResetCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SalesforceListCtrl",["$scope","SalesforceAccount","gridOptions","xAlert","$translate",function(a,b,c,d,e){a.initView=function(){var d={exporterCsvFilename:"salesforce_account.csv",columnDefs:[{name:"name",displayName:"APPLICATION_NAME"},{name:"username"},{name:"remoteUri",displayName:"APPLICATION_URI"},{name:"action",buttons:[{"class":"blue-hoki",href:"/salesforce/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.checkAccount=function(a){return b.check({id:a}).$promise.then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.list",{url:"/list",templateUrl:"app/salesforce/list/list.html",controller:"SalesforceListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("SalesforceAccount",["$resource",function(a){return a("/api/salesforce/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"},fields:{params:{controller:"fields"},isArray:!0},check:{params:{controller:"check"}}})}]).factory("SalesforceConfiguration",["$resource",function(a){return a("/api/salesforce/accounts/:accountId/configurations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]).factory("SalesforceField",["$resource",function(a){return a("/api/salesforce/accounts/:accountId/configurations/:configurationId/fields/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce",{url:"/salesforce",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view.configurations",{url:"/configurations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewConfigurationListCtrl",["$scope","$stateParams","$translate","gridOptions","SalesforceConfiguration","$uibModal",function(a,b,c,d,e,f){a.initView=function(){var c={exporterCsvFilename:"salesforce_configurations.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/salesforce/view/{{row.entity.AccountId}}/configurations/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(e,c,a,{accountId:b.id})},a.createItem=function(){var b=f.open({animation:!0,templateUrl:"app/salesforce/view/configuration/list/create.modal.html",controller:"SalesforceCreateConfigurationCtrl"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("SalesforceCreateConfigurationCtrl",["$scope","$translate","$uibModalInstance","SalesforceConfiguration","xAlert","$stateParams","channel",function(a,b,c,d,e,f,g){a.form={},a.item={},a.channels=g,a.item.channel="voice",a.item.type="Queue",a.save=function(){return d.save({accountId:f.id},a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view.configurations.list",{url:"/list",templateUrl:"app/salesforce/view/configuration/list/list.html",controller:"SalesforceViewConfigurationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewConfigurationViewCtrl",["$scope","$filter","$stateParams","$translate","socket","variable","xAlert","SalesforceAccount","SalesforceConfiguration","SalesforceField","Variable",function(a,b,c,d,e,f,g,h,i,j,k){a.$on("$destroy",function(){e.unsyncUpdates("salesforce_field")}),a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:300,scrollInertia:0},a.fieldType=[{type:"string",title:"String"},{type:"variable",title:"Variable"},{type:"customVariable",title:"Custom Variable"}],a.descFieldType=[{type:"string",title:"String"},{type:"keyValue",title:"Key Value"}],a.groupVariableByGroup=function(a){switch(a.group){case"voice_queue":return"Voice: Queue";default:return"Other"}},a.initView=function(){a.configurationName="",a.subjectConfig=[],a.descriptionConfig=[],a.fieldConfig=[],a.variables=f},a.getConfiguration=function(){return i.get({accountId:c.id,id:c.configurationId}).$promise.then(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,e.socket.on("salesforce_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})})["catch"](function(a){g.error(a)})},a.getCustomVariables=function(){return k.get().$promise.then(function(b){a.customVariables=b.rows})["catch"](function(a){g.error(a)})},a.getFields=function(){return h.fields({id:c.id}).$promise.then(function(c){a.accountFields=_.sortByOrder(b("salesforce")(c),"name","asc"),console.log(a.accountFields)})["catch"](function(a){g.error(a)})},a.addItem=function(b){var d={};switch(b){case"subject":case"description":d={type:"string",content:""};break;case"field":d={content:""}}return i.save({accountId:c.id,id:c.configurationId,controller:b},d).$promise.then(function(c){switch(b){case"subject":a.subjectConfig.push(c);break;case"description":a.descriptionConfig.push(c);break;case"field":a.fieldConfig.push(c)}})["catch"](function(a){g.error(a)})},a.changeType=function(b){"variable"===b.type?(b.content="",b.variableName=""):"string"===b.type?(b.VariableId=null,b.variableName=""):"customVariable"===b.type&&(b.VariableId=null,b.content=""),a.updateField(b)},a.updateField=function(a){return j.update({accountId:c.id,configurationId:c.configurationId,id:a.id},a).$promise.then(function(){})["catch"](function(a){g.error(a)})},a.removeItem=function(a){return j["delete"]({accountId:c.id,configurationId:c.configurationId,id:a.id}).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})},a.changeDescType=function(b){"keyValue"===b.type?(b.content="","string"===b.keyType?(b.VariableId=null,b.variableName=""):"variable"===b.keyType?(b.keyContent="",b.VariableId=null):"customVariable"===b.keyType&&(b.keyContent="",b.variableName="")):"string"===b.type&&(b.VariableId=null,b.variableName="",b.key="",b.keyContent=""),a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);if(c)switch(c.type){case"picklist":return c.picklistValues;default:return}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view.configurations.view",{url:"/view/:configurationId",templateUrl:"app/salesforce/view/configuration/view/view.html",controller:"SalesforceViewConfigurationViewCtrl"
-})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","$filter","SalesforceAccount",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){return k.get({id:c.id}).$promise.then(function(b){a.account=b})["catch"](function(a){h.error(a)})},a.updateItem=function(){return k.update({id:c.id},a.account).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view",{url:"/view/:id",templateUrl:"app/salesforce/view/view.html",controller:"SalesforceViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.salesforce.view.account",{url:"/account",templateUrl:"app/salesforce/view/view.account.html"})}]),angular.module("xCallyShuttleApp").controller("SalesforceWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.serverUrl=c.protocol()+"://"+location.host},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/salesforce/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/salesforce/list")}).error(function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.wizard",{url:"/wizard",templateUrl:"app/salesforce/wizard/wizard.html",controller:"SalesforceWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.customization",{url:"/customization",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("CustomizationGeneralViewCtrl",["$scope","gridOptions","$uibModal","FileUploader","$cookieStore","xAlert","$translate","Setting","$rootScope",function(a,b,c,d,e,f,g,h,i){a.radioSwitch={isActive:i.license.custom?!0:!1,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"};var j=a.uploader=new d({url:"api/settings/logo/main",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(a,b){i.settings.logo=b.logo,f.show(g.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()};var k=a.uploader2=new d({url:"api/settings/logo/login",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});k.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),k.onSuccessItem=function(a,b){f.show(g.instant("MESSAGE_WELL_DONE"),"success")},k.onErrorItem=function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},k.onCompleteAll=function(){k.clearQueue()},a.initView=function(){return h.get({id:1}).$promise.then(function(b){a.settings={defaultLogo:b.defaultLogo,defaultLoginLogo:b.defaultLoginLogo,footerWhiteLabel:b.footerWhiteLabel,defaultFooterWhiteLabel:b.defaultFooterWhiteLabel}})["catch"](function(a){f.error(a)})},a.update=function(){return h.update({id:1},a.settings).$promise.then(function(b){_.merge(i.settings,a.settings),f.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.customization.view.general",{url:"/general",templateUrl:"app/setting/customization/view/general/general.html",controller:"CustomizationGeneralViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("CustomizationViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.customization.view",{url:"/view",templateUrl:"app/setting/customization/view/view.html",controller:"CustomizationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.general",{url:"/general",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("GeneralMainViewCtrl",["$scope","xAlert","$translate","Setting",function(a,b,c,d){a.initView=function(){return d.get({id:1}).$promise.then(function(b){a.settings={agi_port:b.agi_port,min_internal:b.min_internal,min_mailbox:b.min_mailbox,securePassword:b.securePassword}})["catch"](function(a){b.error(a)})},a.update=function(){return d.update({id:1},a.settings).$promise.then(function(a){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.general.view.main",{url:"/main",templateUrl:"app/setting/general/view/main/main.html",controller:"GeneralMainViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("GeneralViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.general.view",{url:"/view",templateUrl:"app/setting/general/view/view.html",controller:"GeneralViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("License",["$resource",function(a){return a("/api/licenses/:id/:controller",{id:"@id"},{request:{method:"POST",params:{id:"request"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license",{url:"/license",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("LicenseUpdateCtrl",["$scope","$translate","$uibModalInstance","xAlert","Setting",function(a,b,c,d,e){a.form={},a.item={},a.getLicense=function(){return e.get({id:1}).$promise.then(function(b){a.item.license=b.license})["catch"](function(a){d.error(a)})},a.update=function(){return e.update({id:1},a.item).$promise.then(function(a){d.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("LicenseViewCtrl",["$scope","$rootScope","$translate","License","xAlert","$window","$uibModal",function(a,b,c,d,e,f,g){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initView=function(){return d.get(function(b){a.item=b.license})},a.submitRequest=function(){return d.request(a.item,function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")},function(a){switch(a.status){case 304:e.show(a.statusText,"info");break;default:e.error(a)}})},a.updateLicense=function(){var a=g.open({animation:!0,templateUrl:"app/setting/license/view/update.modal.html",controller:"LicenseUpdateCtrl"});a.result.then(function(){f.location.reload()})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license.view",{url:"/view",templateUrl:"app/setting/license/view/view.html",controller:"LicenseViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/pricing-tables.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Externip",["$resource",function(a){return a("/api/network/externips/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Localnet",["$resource",function(a){return a("/api/network/localnets/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network",{url:"/network",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ExternipCtrl",["$scope","$uibModal","gridOptions","Externip",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"network_externip.csv",columnDefs:[{name:"value"},{name:"action",buttons:[{"class":"blue-hoki",onClick:"grid.appScope.createItem(row.entity)",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(d,b,a)},a.createItem=function(c){var d=b.open({animation:!0,templateUrl:"app/setting/network/view/externip/externip.create.modal.html",controller:"ExternipCreateCtrl",resolve:{item:c}});d.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ExternipCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","Externip","xAlert","item",function(a,b,c,d,e,f,g){a.initModal=function(){a.form={},a.item=g||{},a.title=g?b.instant("APPLICATION_EDIT_EXTERNIP"):b.instant("APPLICATION_NEW_EXTERNIP")},a.save=function(){return g?e.update({id:a.item.id},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)}):e.save({},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network.view.externip",{url:"/externip",templateUrl:"app/setting/network/view/externip/externip.html",controller:"ExternipCtrl"})}]),angular.module("xCallyShuttleApp").controller("LocalnetCtrl",["$scope","gridOptions","Localnet","$uibModal",function(a,b,c,d){a.initView=function(){var d={exporterCsvFilename:"network_localnet.csv",columnDefs:[{name:"value"},{name:"action",buttons:[{"class":"blue-hoki",onClick:"grid.appScope.createItem(row.entity)",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a)},a.createItem=function(b){var c=d.open({animation:!0,templateUrl:"app/setting/network/view/localnet/localnet.create.modal.html",controller:"LocalnetCreateCtrl",resolve:{item:b}});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("LocalnetCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","Localnet","xAlert","item",function(a,b,c,d,e,f,g){a.initModal=function(){if(a.form={},a.item=g||{},a.title=g?b.instant("APPLICATION_EDIT_LOCALNET"):b.instant("APPLICATION_NEW_LOCALNET"),g&&g.value){var c=a.item.value.split("/");c.length>1&&(a.item.address=c[0],a.item.mask=c[1])}},a.save=function(){var d=a.item.address+"/"+a.item.mask;return g?e.update({id:a.item.id},{value:d}).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)}):e.save({},{value:d}).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network.view.localnet",{url:"/localnet",templateUrl:"app/setting/network/view/localnet/localnet.html",controller:"LocalnetCtrl"})}]),angular.module("xCallyShuttleApp").controller("NetworkViewCtrl",function(){}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network.view",{url:"/view",templateUrl:"app/setting/network/view/view.html",controller:"NetworkViewCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting",{url:"/setting",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:18}}})}]),angular.module("xCallyShuttleApp").factory("Setting",["$resource",function(a){return a("/api/settings/:id/:controller/:param",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Smtp",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller/:controller2",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp",{url:"/smtp",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SmtpViewCtrl",["$scope","$stateParams","$translate","socket","MailServerOut","Setting","MailAccount","xAlert",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.smtpDisabled=!1,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.item={account:{service:!0,MailServerOut:{ssl:!1}}},f.get({id:"smtp"}).$promise.then(function(b){a.item.account=b,d.socket.on("mail_server_out:state",function(b){Number(b.id)===a.item.account.MailServerOut.id&&(a.item.account.MailServerOut.state=b.state,a.item.account.MailServerOut.source=JSON.parse(b.source))})})["catch"](function(b){switch(console.log(b),b.status){case 404:a.item.account.name=null,a.item.account.address=null,a.item.account.MailServerOut={ssl:!1},h.show("Service SMTP server not configured.","info");break;default:h.error(b)}})},a.updateItem=function(){return a.item.account.id?(delete a.item.account.MailServerOut.state,delete a.item.account.MailServerOut.source,f.update({id:"smtp",controller:a.item.account.id},a.item.account).$promise.then(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})):f.save({id:"smtp"},{description:"Custom Account",name:a.item.account.name,address:a.item.account.address,service:a.item.account.service,custom:!0,MailServerOut:a.item.account.MailServerOut}).$promise.then(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.test=function(){return e.get({id:a.item.account.MailServerOut.id,controller:"test"}).$promise["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp.view",{url:"/view",templateUrl:"app/setting/smtp/view/view.html",controller:"SmtpViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system",{url:"/system",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SystemViewConsoleCtrl",["$scope","Setting","xAlert","usSpinnerService","$timeout","$translate",function(a,b,c,d,e,f){function g(b){var c=_.findIndex(a.commandHistory.commands,function(a){return a===b});-1!==c&&a.commandHistory.commands.splice(c,1),a.commandHistory.commands.unshift(b)}a.output="<b>"+f.instant("APPLICATION_CONSOLE_WELCOME")+"</b><br/>",a.item={command:""},a.commandHistory={commands:[],index:-1},a.busy=!1,a.cmdFocus=function(){e(function(){angular.element("#command").trigger("focus")})},a.sendCmd=function(){return a.commandHistory.index=-1,a.tmp=a.item.command,a.item.command="",a.output+="<b>motion*CLI> "+a.tmp+"</b><br>",a.tmp?(g(a.tmp.trim()),a.busy=!0,d.spin("console-spinner"),b.save({controller:"asterisk"},{command:a.tmp}).$promise.then(function(b){a.output+=b.content.replace(/(?:\r\n|\r|\n)/g,"<br />").replace("Response: Follows<br />Privilege: Command<br />","").replace(/ActionID: .[0-9]*<br \/>/,"").replace(/ActionID: .[0-9]*/,"")+"<br>",d.stop("console-spinner"),a.busy=!1,a.cmdFocus()})["catch"](function(b){d.stop("console-spinner"),a.output+="command error:"+b.data.message+"<br>",a.busy=!1,a.cmdFocus()})):void 0},a.keyUp=function(b){switch(b.keyCode){case 40:a.commandHistory.commands[a.commandHistory.index-1]?a.item.command=a.commandHistory.commands[--a.commandHistory.index]:(a.item.command="",a.commandHistory.index=-1);break;case 38:a.commandHistory.commands[a.commandHistory.index+1]&&(a.item.command=a.commandHistory.commands[++a.commandHistory.index]);break;case 37:break;case 39:break;default:a.commandHistory.index=-1}},e(function(){angular.element("#command").trigger("focus"),d.stop("console-spinner")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view.console",{url:"/console",templateUrl:"app/setting/system/view/console/console.html",controller:"SystemViewConsoleCtrl"})}]),angular.module("xCallyShuttleApp").controller("SystemViewGeneralCtrl",["$scope","$stateParams","$translate","socket","Setting","xAlert","usSpinnerService",function(a,b,c,d,e,f,g){function h(b){a.system.memory={labels:_.keys(b.memory.details),values:_.values(_.map(b.memory.details,function(a){return Math.round(a/1024)})),Total:Math.round(b.memory.Total/1024)},g.stop("memory-spinner"),a.system.disks=[],_.forEach(b.disks,function(b){a.system.disks.push({mount:b.mount,size:Number((b.size/1048576).toFixed(2)),values:_.values(_.map(b.details,function(a){return Number((a/1048576).toFixed(2))})),labels:_.keys(b.details)})}),a.system.mount=a.system.disks[0],g.stop("disk-spinner"),a.system.cpu={motion:Math.round(b.cpu.motion),cores:[]},_.forEach(b.cpu.cores,function(b){delete b.nice,delete b.irq,a.system.cpu.cores.push({labels:_.keys(b),values:_.values(b),colours:["#803690","#DCDCDC","#00ADF9"]})}),g.stop("cpu-spinner")}a.system={mount:void 0},a.initView=function(){return g.spin("memory-spinner"),g.spin("disk-spinner"),g.spin("cpu-spinner"),e.get({controller:"system"}).$promise.then(function(a){h(a)})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view.general",{url:"/general",templateUrl:"app/setting/system/view/general/general.html",controller:"SystemViewGeneralCtrl"})}]),angular.module("xCallyShuttleApp").controller("SystemViewLogsCtrl",["$scope","$stateParams","$translate","socket","Setting","xAlert","usSpinnerService",function(a,b,c,d,e,f,g){a.initView=function(){return a.logs={errors:"",output:""},g.spin("logs-spinner"),e.get({controller:"logs"}).$promise.then(function(b){a.logs=b,g.stop("logs-spinner")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view.logs",{url:"/logs",templateUrl:"app/setting/system/view/logs/logs.html",controller:"SystemViewLogsCtrl"})}]),angular.module("xCallyShuttleApp").controller("SystemViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view",{url:"/view",templateUrl:"app/setting/system/view/view.html",controller:"SystemViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("UpdateListCtrl",["$scope","gridOptions","$uibModal","$location","Update",function(a,b,c,d,e){a.initCounter=function(){a.$on("timer-stopped",function(a,b){console.log("Timer Stopped - data = ",b),d.path("/dashboard/voice")})},a.initView=function(){var c={exporterCsvFilename:"updates.csv",enableFiltering:!1,enableSorting:!1,enablePaginationControls:!1,enableSelectAll:!1,columnDefs:[{name:"message"},{width:125,name:"version",cellClass:"text-center ui-grid-vcenter"},{width:125,name:"createdAt",displayName:"APPLICATION_UPDATED_AT",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.createdAt"></span></div>'}]};a.gridOptions=b.gridOptions(e,c,a)},a.pull=function(){c.open({animation:!0,templateUrl:"app/setting/update/list/list.pull.html",controller:"UpdateListPullCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates.list",{url:"/list",templateUrl:"app/setting/update/list/list.html",controller:"UpdateListCtrl"}).state("main.setting.updates.landing",{url:"/landing",templateUrl:"app/setting/update/list/landing.html",controller:"UpdateListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/error.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("UpdateListPullCtrl",["$scope","$uibModalInstance","$translate","$location","Update",function(a,b,c,d,e){a.modal={dismissable:!0,title:"Confirm Checkout",html:"Are you sure you want to checkout?",buttons:[{classes:"btn btn-success",text:"Checkout",click:function(){return e.pull().$promise["finally"](function(){b.dismiss("close"),d.path("/setting/updates/landing")})}},{classes:"btn default",text:"Cancel",click:function(){b.dismiss("cancel")}}]}}]),angular.module("xCallyShuttleApp").factory("Update",["$resource",function(a){return a("/api/updates/:id/:controller",{id:"@id"},{pull:{method:"GET",params:{id:"pull"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates",{url:"/updates",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["hasUpdate"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCtrl",["$scope","$uibModal","$translate","SquareOdbc","gridOptions","xAlert",function(a,b,c,d,e,f){a.initView=function(){var b={exporterCsvFilename:"odbc.csv",columnDefs:[{name:"name"},{name:"dsn",displayName:"APPLICATION_ODBC"},{name:"description"},{name:"action",width:250,buttons:[{"class":"blue-hoki",href:"/square/odbc/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkConnection(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=e.gridOptions(d,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/square/odbc/list/list.create.modal.html",controller:"SquareOdbcListCreateCtrl"});c.result.then(function(){a.gridOptions.getPage()})},a.checkConnection=function(a){return d.get({id:a,controller:"check"}).$promise.then(function(){f.show(c.instant("MESSAGE_CONNECTION_VERIFIED"),"success")})["catch"](function(){f.show(c.instant("MESSAGE_CONNECTION_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCreateCtrl",["$scope","$translate","$uibModalInstance","SquareOdbc","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.item.dsn||(a.item.dsn="DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=password;DATABASE=motion"),a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbc.list",{url:"/list",templateUrl:"app/square/odbc/list/list.html",controller:"SquareOdbcListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbc",{url:"/odbc",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SquareOdbc",["$resource",function(a){return a("/api/square/odbc/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcViewCtrl",["$scope","$translate","$stateParams","SquareOdbc","xAlert",function(a,b,c,d,e){a.odbc={},a.getOdbc=function(){return d.get({id:c.id}).$promise.then(function(b){a.odbc=b})["catch"](function(a){e.error(a)})},a.updateOdbc=function(){var f=angular.copy(a.odbc);return d.update({id:c.id},f).$promise.then(function(){e.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbc.view",{url:"/view/:id",templateUrl:"app/square/odbc/view/view.html",controller:"SquareOdbcViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.square.odbc.view.settings",{url:"/settings",templateUrl:"app/square/odbc/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCtrl",["$scope","$uibModal","SquareProject","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"projects.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:160,buttons:[{"class":"blue-hoki",href:"/square/projects/view/{{row.entity.id}}",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/square/project/list/list.create.modal.html",controller:"SquareProjectListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCreateCtrl",["$scope","$translate","$uibModalInstance","SquareProject","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.list",{url:"/list",templateUrl:"app/square/project/list/list.html",controller:"SquareProjectListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SquareProject",["$resource",function(a){return a("/api/square/projects/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SquareProjectViewCtrl",["$scope","$stateParams","Auth","xAlert","SquareProject","socket","$translate","$log","$uibModal",function(a,b,c,d,e,f,g,h,i){a.squareProject={},a.$on("$destroy",function(){f.unsyncUpdates("square_project")}),a.getProject=function(){return e.get({id:b.id}).$promise.then(function(b){a.squareProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!==a&&-1!==a.indexOf("Script error."));else{var e=new Image;e.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(f){d.error(f)}},b.token=c.getToken();var a=new EditorUi(new Editor);a.openString(b.preproduction,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),f.socket.on("square_project:save",function(c){c.id===b.id&&(a.squareProject=_.merge(a.squareProject,c))})})["catch"](function(a){d.error(a)})},a.editNotes=function(){var c=i.open({animation:!0,templateUrl:"app/square/project/view/projectNotes.modal.html",controller:["$scope","$uibModalInstance","notes",function(a,b,c){a.notes=c,a.close=function(){b.close(a.notes)},a.cancel=function(){b.dismiss("cancel")}}],resolve:{notes:{value:a.squareProject.notes}}});c.result.then(function(a){return e.update({id:b.id},{notes:a.value}).$promise.then(function(){d.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})},function(){h.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.view",{url:"/view/:id",templateUrl:"app/square/project/view/view.html",controller:"SquareProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/square/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/square/js/Editor.js","assets/plugins/square/js/Graph.js","assets/plugins/square/js/EditorUi.js","assets/plugins/square/js/Actions.js","assets/plugins/square/js/Menus.js","assets/plugins/square/js/Sidebar.js","assets/plugins/square/js/Toolbar.js","assets/plugins/square/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:14}}})}]),angular.module("xCallyShuttleApp").factory("ReportSquare",["$resource",function(a){return a("/api/report/square/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportSquareDetail",["$resource",function(a){return a("/api/report/square/details/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SquareRealtimeViewGeneralCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportSquare","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j){function k(b){return h.spin("spinner-grid"),g.get(m).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){b&&l(),h.stop("spinner-grid")})}function l(){e.socket.on("report_square:save",function(b){if(b.leaveAt){var c=_.remove(a.gridOptions.data,{id:b.id});c&&k()}else{var d=_.find(a.gridOptions.data,{id:b.id});if(!d&&a.gridOptions.data.length<m.limit){var e=_.clone(m);if(_.forEach(["offset","limit","controller","order"],function(a){delete e[a]}),_.isEmpty(e))a.gridOptions.data.push(b);else{var f=!0;_.forOwn(e,function(a,c){_.includes(b[c],a)||(f=!1)}),f&&a.gridOptions.data.push(b)}}}})}var m={controller:"realtime",offset:0,limit:25};a.moment=moment,a.init=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:25,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"uniqueid"},{name:"callerid"},{name:"extension"},{name:"project_name",displayName:"APPLICATION_PROJECT",headerCellFilter:"translate"},{name:"joinAt",displayName:"APPLICATION_ELAPSED_TIME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><timer start-time="grid.appScope.moment(row.entity.joinAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></div>',enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?m.order=null:m.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),k()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){m.offset=(a-1)*b,m.limit=b,k()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?m[a.name]=a.filters[0].term:delete m[a.name]}),k()})}},k(!0)};var n=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),
-angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_square")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.realtime.view.general",{url:"/general",templateUrl:"app/square/realtime/view/general/general.html",controller:"SquareRealtimeViewGeneralCtrl"})}]),angular.module("xCallyShuttleApp").controller("SquareRealtimeViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.realtime.view",{url:"/view",templateUrl:"app/square/realtime/view/view.html",controller:"SquareRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SquareRecordingListCtrl",["$scope","SquareRecording","gridOptions",function(a,b,c){a.SquareRecording=b;a.initView=function(){var d={exporterCsvFilename:"recordings.csv",rowHeight:30,columnDefs:[{name:"uniqueid"},{name:"callerid",displayName:"APPLICATION_CALLERIDNUM"},{name:"filename"},{name:"extension"},{name:"projectName",displayName:"APPLICATION_PROJECT"},{name:"audio",displayName:"",width:100,enableSorting:!1,enableFiltering:!1,cellClass:"ui-grid-vcenter",cellTemplate:"<div><audio-file-download data-ng-if=\"row.entity.savePath.split('.').pop() == 'wav'\" params=\"{id:row.entity.id,controller:'stream'}\" resource=\"grid.appScope.SquareRecording\"></audio-file-download><span data-ng-if=\"row.entity.value.split('.').pop() == 'gsm'\" title=\"{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}\">{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}</span></div>"},{name:"action",width:80,buttons:[{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.filename || row.entity.uniqueid, row.entity.id)"},{directive:'<motion-file-download params="{id:row.entity.id,controller:\'stream\'}" resource="grid.appScope.SquareRecording" mimetype="audio/wav" btnclass="btn btn-xs blue-hoki" filename="(row.entity.filename || row.entity.uniqueid)+\'.wav\'"></motion-file-download>'}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.recordings.list",{url:"/list",templateUrl:"app/square/recording/list/list.html",controller:"SquareRecordingListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.recordings",{url:"/recordings",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SquareRecording",["$resource",function(a){return a("/api/square/recordings/:id/:controller",{id:"@id"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square",{url:"/square",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:14}}})}]),angular.module("xCallyShuttleApp").factory("Agent",["$resource",function(a){return a("/api/agents/:id/:controller/:controller1/:controller2/:controller3",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}}})}]),angular.module("xCallyShuttleApp").controller("AgentListCtrl",["$scope","$timeout","Agent","Auth","gridOptions",function(a,b,c,d,e){a.initView=function(){a.Auth=d;var b={exporterCsvFilename:"agents.csv",columnDefs:[{name:"fullname"},{name:"name",displayName:"APPLICATION_USERNAME"},{name:"internal"},{name:"email"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/staff/agents/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-meadow",href:"/staff/agents/view/{{row.entity.id}}/queues/voice",name:"queues"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=e.gridOptions(c,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents.list",{url:"/list",templateUrl:"app/staff/agent/list/list.html",controller:"AgentListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}}})}]),angular.module("xCallyShuttleApp").controller("AgentViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","Agent","FileUploader","Auth","MailQueue","User","VoiceQueue","ChatQueue","FaxQueue","SmsQueue","OpenChannelQueue","Setting",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.Auth=i,a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initVoiceQueues=function(){var a={},b={};return l.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{name:a.name}}),g.get({id:e.id,controller:"voice",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"voice",e.id,g)})["catch"](function(a){console.error(a)})},a.initChatQueues=function(){var a={},b={};return m.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"chat",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"chat",e.id,g)})["catch"](function(a){console.error(a)})},a.initMailQueues=function(){var a={},b={};return j.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"mail",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"mail",e.id,g)})["catch"](function(a){console.error(a)})},a.initSmsQueues=function(){var a={},b={};return o.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"sms",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"sms",e.id,g)})["catch"](function(a){console.error(a)})},a.initFaxQueues=function(){var a={},b={};return n.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"fax",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"fax",e.id,g)})["catch"](function(a){console.error(a)})},a.initOpenchannelQueues=function(){var a={},b={};return p.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"openchannel",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"openchannel",e.id,g)})["catch"](function(a){console.error(a)})},a.updatePassword=function(){var b={newPassword:a.agent.newPwd};return i.isAdmin()?b.id=e.id:b.oldPassword=a.agent.currentPwd,k.changePassword(b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})};var r=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});r.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),r.onSuccessItem=function(b,e){a.agent.userpic=e.userpic,a.agent.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},r.onErrorItem=function(){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},r.onCompleteAll=function(){r.clearQueue()},a.initView=function(){return g.get({id:e.id}).$promise.then(function(b){return a.agent=b,a.agent.transport=a.agent.transport?a.agent.transport.split(","):[],a.agent.allow=a.agent.allow?a.agent.allow.split(";"):[],a.agent.nat=a.agent.nat?a.agent.nat.split(","):[],q.get({id:1}).$promise}).then(function(b){a.setting=b})["catch"](function(a){c.error(a)})},a.patchItem=function(){return g.update({id:e.id},{chatCapacity:a.agent.chatCapacity,mailCapacity:a.agent.mailCapacity,faxCapacity:a.agent.faxCapacity,smsCapacity:a.agent.smsCapacity,openchannelCapacity:a.agent.openchannelCapacity}).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})},a.updateItem=function(){var b=angular.copy(a.agent);return delete b.password,delete b.md5secret,b.transport=b.transport.join(","),b.allow=b.allow.join(";"),b.nat=b.nat.join(","),g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents.view",{url:"/view/:id",templateUrl:"app/staff/agent/view/view.html",controller:"AgentViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]},data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.account",{url:"/account",templateUrl:"app/staff/agent/view/view.account.html",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}},resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}}).state("main.staff.agents.view.voice",{url:"/voice",templateUrl:"app/staff/agent/view/view.voice.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.chat",{url:"/chat",templateUrl:"app/staff/agent/view/view.chat.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.mail",{url:"/mail",templateUrl:"app/staff/agent/view/view.mail.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.fax",{url:"/fax",templateUrl:"app/staff/agent/view/view.fax.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.sms",{url:"/sms",templateUrl:"app/staff/agent/view/view.sms.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.openchannel",{url:"/openchannel",templateUrl:"app/staff/agent/view/view.openchannel.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.motionbar",{url:"/motionbar",templateUrl:"app/staff/agent/view/view.motionbar.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.queues",{url:"/queues",templateUrl:"app/staff/agent/view/view.queues.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}},cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.staff.agents.view.queues.voice",{url:"/voice",templateUrl:"app/staff/agent/view/view.queues.voice.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}}).state("main.staff.agents.view.queues.chat",{url:"/chat",templateUrl:"app/staff/agent/view/view.queues.chat.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}}).state("main.staff.agents.view.queues.mail",{url:"/mail",templateUrl:"app/staff/agent/view/view.queues.mail.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}}).state("main.staff.agents.view.queues.fax",{url:"/fax",templateUrl:"app/staff/agent/view/view.queues.fax.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}}).state("main.staff.agents.view.queues.sms",{url:"/sms",templateUrl:"app/staff/agent/view/view.queues.sms.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}}).state("main.staff.agents.view.queues.openchannel",{url:"/openchannel",templateUrl:"app/staff/agent/view/view.queues.openchannel.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("AgentWizardCtrl",["$scope","$rootScope","$location","$translate","$http","Agent","VoiceQueue","ChatQueue","MailQueue","SmsQueue","FaxQueue","OpenChannelQueue","Setting","xAlert","WizardHandler",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.maxAmount=1e3,a._data={voice:{queues:[]},chat:{queues:[]},mail:{queues:[]},sms:{queues:[]},fax:{queues:[]},openchannel:{queues:[]}},a._agent=angular.copy(a._data),a.initVoiceQueues=function(){return g.get().$promise.then(function(b){a._data.voice.queues=_.map(b.rows,function(a){return{name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.voice,a._agent.voice,"voice",null,null)})["catch"](function(a){console.error(a)})},a.initChatQueues=function(){return h.get().$promise.then(function(b){a._data.chat.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.chat,a._agent.chat,"chat",null,null)})["catch"](function(a){console.error(a)})},a.initMailQueues=function(){return i.get().$promise.then(function(b){a._data.mail.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.mail,a._agent.mail,"mail",null,null)})["catch"](function(a){console.error(a)})},a.initSmsQueues=function(){return j.get().$promise.then(function(b){a._data.sms.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.sms,a._agent.sms,"sms",null,null)})["catch"](function(a){console.error(a)})},a.initFaxQueues=function(){return k.get().$promise.then(function(b){a._data.fax.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.fax,a._agent.fax,"fax",null,null)})["catch"](function(a){console.error(a)})},a.initOpenchannelQueues=function(){return l.get().$promise.then(function(b){a._data.openchannel.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.openchannel,a._agent.openchannel,"openchannel",null,null)})["catch"](function(a){console.error(a)})},a.forms={info:void 0,voice:void 0},a.item={role:"agent",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){o.wizard().next()},a.getAmount=function(){return m.get({controller:"internal",internal:a.item.minInternal}).$promise.then(function(b){a.item.minInternal=Number(b.value),a.maxAmount=b.range||1e3})["catch"](function(a){n.error(a)})},a.exitValidation=function(a){return a},a.getFirstFreeInternal=function(){return m.get({controller:"internal"}).$promise.then(function(b){return a.internal=b,a.item.internal=b.value,a.item.minInternal=b.value,a.maxAmount=b.range||1e3,m.get({id:1}).$promise}).then(function(b){a.setting=b})["catch"](function(a){n.error(a)})},a.createItem=function(){var b=angular.copy(a.item);return delete b.minInternal,b.transport&&(b.transport=b.transport.join(",")),a.item.allow&&(b.allow=b.allow.join(";")),b.channels=a._agent,f.save(b).$promise.then(function(){c.path("/staff/agents/list")})["catch"](function(a){console.log(a),n.error(a)})},a.createItems=function(){var b=angular.copy(a.item);return delete b.internal,b.transport&&(b.transport=b.transport.join(",")),b.allow&&(b.allow=b.allow.join(";")),f.save({id:"bulk"},b).$promise.then(function(){c.path("/staff/agents/list")})["catch"](function(a){console.log(a),n.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents.wizard",{url:"/wizard",templateUrl:"app/staff/agent/wizard/wizard.html",controller:"AgentWizardCtrl",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}},resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.staff.agents.bulk",{url:"/bulk",templateUrl:"app/staff/agent/wizard/wizard-bulk.html",controller:"AgentWizardCtrl",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff",{url:"/staff",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TeamCreateCtrl",["$scope","$uibModalInstance","Team","xAlert",function(a,b,c,d){a.form={},a.item={},a.ok=function(){return c.save(a.item).$promise.then(function(){b.close(a.item)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("TeamListCtrl",["$scope","Team","gridOptions","$uibModal",function(a,b,c,d){a.initView=function(){var d={exporterCsvFilename:"teams.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:100,buttons:[{"class":"{{row.entity.defaultEntry ? 'blue-hoki disabled' : 'blue-hoki'}}",href:"/staff/teams/view/{{row.entity.id}}/settings",name:"profile"},{"class":"{{row.entity.defaultEntry ? 'green-turquoise disabled' : 'green-turquoise'}}",name:"agents",href:"/staff/teams/view/{{row.entity.id}}/agents"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){d.open({animation:!0,templateUrl:"app/staff/team/list/create.modal.html",controller:"TeamCreateCtrl"}).result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.teams.list",{url:"/list",templateUrl:"app/staff/team/list/list.html",controller:"TeamListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Team",["$resource",function(a){return a("/api/teams/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.teams",{url:"/teams",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").controller("TeamViewCtrl",["$scope","$http","$stateParams","$translate","Team","Agent","xAlert",function(a,b,c,d,e,f,g){var h=function(){return{select:function(b){return console.log("agents",b),e.save({id:a.team.id,controller:"agents"},{agents:b})},deselect:function(b){return e["delete"]({id:a.team.id,controller:"agents",agents:b})}}};a.initView=function(){return e.get({id:c.id}).$promise.then(function(b){a.team=b})["catch"](function(a){g.error(a)})},a.initAgents=function(){return f.get().$promise.then(function(b){return a.agents=b.rows,e.get({id:c.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindTeam(_.map(b.rows,"id"),_.map(a.agents,function(a){return{id:a.id,name:a.name,fullname:a.fullname,internal:a.internal}}),h)})["catch"](function(a){g.error(a)})},a.updateItem=function(){var b=angular.copy(a.team);return e.update({id:c.id},b).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.teams.view",{url:"/view/:id",templateUrl:"app/staff/team/view/view.html",controller:"TeamViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.staff.teams.view.agents",{url:"/agents",templateUrl:"app/staff/team/view/view.agents.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]}])}]}}).state("main.staff.teams.view.settings",{url:"/settings",templateUrl:"app/staff/team/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TelephoneListCtrl",["$scope","Telephone","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"telephones.csv",columnDefs:[{name:"fullname"},{name:"name"},{name:"internal"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/staff/telephones/view/{{row.entity.id}}/account",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones.list",{url:"/list",templateUrl:"app/staff/telephone/list/list.html",controller:"TelephoneListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Telephone",["$resource",function(a){return a("/api/telephones/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones",{url:"/telephones",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").controller("TelephoneViewCtrl",["$scope","$http","$stateParams","$translate","$cookieStore","Auth","xAlert","Telephone",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.Auth=f,a.forms={},h.get({id:c.id}).$promise.then(function(b){delete b.password,a.item=b,a.item.transport=a.item.transport?a.item.transport.split(","):[],a.item.allow=a.item.allow?a.item.allow.split(";"):[]})["catch"](function(a){g.error(a)})},a.updateItem=function(){var b=angular.copy(a.item);return b.transport=b.transport.join(","),b.allow=b.allow.join(";"),h.update(b).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})},a.updatePassword=function(){return h.update({password:a.item.password}).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones.view",{url:"/view/:id",templateUrl:"app/staff/telephone/view/view.html",controller:"TelephoneViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.staff.telephones.view.account",{url:"/account",templateUrl:"app/staff/telephone/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}}).state("main.staff.telephones.view.voice",{url:"/voice",templateUrl:"app/staff/telephone/view/view.voice.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("TelephoneWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert","$translate","Telephone","Setting",function(a,b,c,d,e,f,g,h){a.forms={},a.item={allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.getFirstFreeInternal=function(){return h.get({controller:"internal"}).$promise.then(function(b){a.item.internal=b.value})["catch"](function(a){e.error(a)})},a.createItem=function(){var b=angular.copy(a.item);return b.transport&&(b.transport=b.transport.join(",")),a.item.allow&&(b.allow=b.allow.join(";")),g.save(b).$promise.then(function(){c.path("/staff/telephones/list")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones.wizard",{url:"/wizard",templateUrl:"app/staff/telephone/wizard/wizard.html",controller:"TelephoneWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UserListCtrl",["$scope","$timeout","User","Auth","gridOptions",function(a,b,c,d,e){function f(a){if(a){var b=_.words(a),c=_.map(b,function(a){return a?a[0]:""});return c.join("").toUpperCase()}return!1}a.getUserAvatar=function(a,c,d){b(function(){angular.element("#userImg"+a).avatar({useGravatar:!1,initials:d?[]:f(c),fallbackImage:"api/users/avatar/"+d,size:80})})},a.isAdmin=function(a){return"admin"===a},a.initView=function(){var b={exporterCsvFilename:"users.csv",columnDefs:[{name:"fullname"},{name:"name",displayName:"APPLICATION_USERNAME"},{name:"internal"},{name:"email"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/staff/users/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-meadow",href:"/staff/users/view/{{row.entity.id}}/permit/voice",name:"permits",hide:"grid.appScope.isAdmin(row.entity.role)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=e.gridOptions(c,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users.list",{url:"/list",templateUrl:"app/staff/user/list/list.html",controller:"UserListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Module",["$resource",function(a){return a("/api/modules/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("User",["$resource",function(a){return a("/api/users/:id/:controller/:controller2/:controller3",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"},me:{method:"GET",params:{id:"me"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users",{url:"/users",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").controller("UserViewCtrl",["$scope","$stateParams","$cookieStore","$translate","FileUploader","User","Auth","xAlert","MailQueue","VoiceQueue","ChatQueue","FaxQueue","SmsQueue","OpenChannelQueue","Team","Module","Setting",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){function r(b){var c=_.find(a.modules,{id:b.ModuleId});if(b.status===!0)c.status=!0;else{var d=_.filter(c.SubModules,{status:!0});d.length||(c.status=!1)}c.ModuleId&&r(c)}function s(a,b){a.forEach(function(a){a.status=b,a.SubModules&&a.SubModules.length&&s(a.SubModules,b)})}function t(a,b){b.forEach(function(b){_.find(a,{id:b.id})?b.status=!0:b.status=!1,b.SubModules&&b.SubModules.length&&t(a,b.SubModules)})}function u(a,b){return a=_.union(a,_.map(_.filter(b,{status:!0}),"id")),b.forEach(function(b){b.SubModules&&b.SubModules.length&&(a=_.union(a,u(a,b.SubModules)))}),a}a.Auth=g,a._=_,a.moduleSwitch={onText:"On",offText:"Off",isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initVoiceQueues=function(){var a={},c={};return j.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"voice",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"voice",b.id,f)})["catch"](function(a){console.error(a)})},a.initChatQueues=function(){var a={},c={};return k.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"chat",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"chat",b.id,f)})["catch"](function(a){console.error(a)})},a.initMailQueues=function(){var a={},c={};return i.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"mail",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"mail",b.id,f)})["catch"](function(a){console.error(a)})},a.initSmsQueues=function(){var a={},c={};return m.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"sms",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"sms",b.id,f)})["catch"](function(a){console.error(a)})},a.initFaxQueues=function(){var a={},c={};return l.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"fax",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"fax",b.id,f)})["catch"](function(a){console.error(a)})},a.initOpenchannelQueues=function(){var a={},c={};return n.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"openchannel",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"openchannel",b.id,f)})["catch"](function(a){console.error(a)})},a.initView=function(){return f.get({id:b.id}).$promise.then(function(b){return a.user=b,a.user.transport=a.user.transport?a.user.transport.split(","):[],a.user.allow=a.user.allow?a.user.allow.split(";"):[],q.get({id:1}).$promise}).then(function(b){a.setting=b})["catch"](function(a){h.error(a)})},a.updateItem=function(){var c=angular.copy(a.user);return delete c.password,delete c.md5secret,c.transport=c.transport.join(","),c.allow=c.allow.join(";"),f.update({id:b.id},c).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.updatePassword=function(){var c={newPassword:a.user.newPwd};return g.isAdmin()?c.id=b.id:c.oldPassword=a.user.currentPwd,
-f.changePassword(c).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})};var v=a.uploader=new e({url:"api/users/"+b.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+c.get("token")}});v.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),a.getModules=function(){return a.associatedModules=[],p.get().$promise.then(function(c){return a.modules=_.filter(c.rows,function(a){return!a.ModuleId}),f.query({id:b.id,controller:"allowed",controller2:"modules"}).$promise}).then(function(b){t(b,a.modules)})["catch"](function(a){h.error(a)})},a.updatePermissions=function(c){c.ModuleId&&r(c),c.SubModules&&c.SubModules.length&&s(c.SubModules,c.status);var e=u([],a.modules);return f.save({id:b.id,controller:"allowed",controller2:"modules"},{modules:e}).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},v.onSuccessItem=function(b,c){a.user.userpic=c.userpic,a.user.id===g.getCurrentUser().id&&(g.getCurrentUser().userpic=c.userpic),h.show(d.instant("MESSAGE_WELL_DONE"),"success")},v.onErrorItem=function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},v.onCompleteAll=function(){v.clearQueue()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users.view",{url:"/view/:id",templateUrl:"app/staff/user/view/view.html",controller:"UserViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.staff.users.view.account",{url:"/account",templateUrl:"app/staff/user/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}}).state("main.staff.users.view.voice",{url:"/voice",templateUrl:"app/staff/user/view/view.voice.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}}).state("main.staff.users.view.permit",{url:"/permit",templateUrl:"app/staff/user/view/view.permit.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}},cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.staff.users.view.permit.voice",{url:"/voice",templateUrl:"app/staff/user/view/view.permit.voice.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}}).state("main.staff.users.view.permit.chat",{url:"/chat",templateUrl:"app/staff/user/view/view.permit.chat.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.chat"}}}).state("main.staff.users.view.permit.mail",{url:"/mail",templateUrl:"app/staff/user/view/view.permit.mail.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.mail"}}}).state("main.staff.users.view.permit.fax",{url:"/fax",templateUrl:"app/staff/user/view/view.permit.fax.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.fax"}}}).state("main.staff.users.view.permit.sms",{url:"/sms",templateUrl:"app/staff/user/view/view.permit.sms.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.sms"}}}).state("main.staff.users.view.permit.openchannel",{url:"/openchannel",templateUrl:"app/staff/user/view/view.permit.openchannel.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.openchannel"}}}).state("main.staff.users.view.permit.modules",{url:"/modules",templateUrl:"app/staff/user/view/view.permit.modules.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("UserWizardCtrl",["$scope","$location","WizardHandler","xAlert","$translate","User","Setting","Auth",function(a,b,c,d,e,f,g,h){a.initWizard=function(){return a.Auht=h,a.forms={info:void 0,voice:void 0},a.item={role:"user",host:"dynamic",context:"from-sip"},g.get({controller:"internal"}).$promise.then(function(b){a.item.internal=b.value})["catch"](function(a){d.error(a)})},a.next=function(){c.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){return f.save(a.item).$promise.then(function(){b.path("/staff/users/list")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users.wizard",{url:"/wizard",templateUrl:"app/staff/user/wizard/wizard.html",controller:"UserWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SugarcrmListCtrl",["$scope","SugarcrmAccount","gridOptions","xAlert","$translate","Modal",function(a,b,c,d,e,f){a.initView=function(){var d={exporterCsvFilename:"sugarcrm_account.csv",columnDefs:[{name:"name",displayName:"APPLICATION_NAME"},{name:"username"},{name:"remoteUri",displayName:"APPLICATION_REMOTE_ADDRESS"},{name:"action",width:250,buttons:[{"class":"blue-hoki",href:"/sugarcrm/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.checkAccount=function(a){return b.get({id:a,controller:"check"}).$promise.then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(a){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.list",{url:"/list",templateUrl:"app/sugarcrm/list/list.html",controller:"SugarcrmListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm",{url:"/sugarcrm",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").factory("SugarcrmAccount",["$resource",function(a){return a("/api/sugarcrm/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SugarcrmConfiguration",["$resource",function(a){return a("/api/sugarcrm/configurations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SugarcrmField",["$resource",function(a){return a("/api/sugarcrm/fields/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SugarcrmViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("sugarcrm_configuration"),h.unsyncUpdates("sugarcrm_field")}),a.initView=function(){b.get("/api/sugarcrm/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.error(a)})},a.updateItem=function(){b.put("/api/sugarcrm/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/sugarcrm/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("sugarcrm_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.error(a)})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/sugarcrm/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/sugarcrm/configurations",a.configuration).success(function(a){e.path("sugarcrm/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/sugarcrm/accounts/"+c.id+"/fields").success(function(b){a.accountFields=_.sortByOrder(f("sugarcrm")(_.toArray(b)),"name","asc"),_.forEach(b,function(a){a.options=_.toArray(a.options)})}).error(function(a){i.error(a)})},a.getConfiguration=function(){b.get("/api/sugarcrm/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("sugarcrm_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.error(a)})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.error(a)})},a.removeItem=function(a){b["delete"]("api/sugarcrm/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/sugarcrm/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.options.length>0?c.options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.view",{url:"/view/:id",templateUrl:"app/sugarcrm/view/view.html",controller:"SugarcrmViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.sugarcrm.view.account",{url:"/account",templateUrl:"app/sugarcrm/view/view.account.html"}).state("main.sugarcrm.view.configurations",{url:"/configurations",templateUrl:"app/sugarcrm/view/view.configurations.html"}).state("main.sugarcrm.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/sugarcrm/view/view.configurationSettings.html",controller:"SugarcrmViewCtrl"}).state("main.sugarcrm.view.configuration",{url:"/configuration",templateUrl:"app/sugarcrm/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("SugarcrmkWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/sugarcrm/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/sugarcrm/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.wizard",{url:"/wizard",templateUrl:"app/sugarcrm/wizard/wizard.html",controller:"SugarcrmkWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("CannedAnswer",["$resource",function(a){return a("/api/answers/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.answers",{url:"/answers",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("AnswerListCtrl",["$scope","$uibModal","CannedAnswer","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"answers.csv",columnDefs:[{name:"key",displayName:"APPLICATION_NAME"},{name:"value"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/answers/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.key, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){b.open({animation:!0,templateUrl:"app/tools/answer/list/list.create.modal.html",controller:"AnswerListCreateCtrl"}).result.then(function(b){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("AnswerListCreateCtrl",["$scope","$translate","$uibModalInstance","CannedAnswer","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.answers.list",{url:"/list",templateUrl:"app/tools/answer/list/list.html",controller:"AnswerListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AnswerViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location","CannedAnswer",function(a,b,c,d,e,f,g){a.getAnswer=function(){return g.get({id:e.id}).$promise.then(function(b){a.answer=b})["catch"](function(a){c.error(a)})},a.updateAnswer=function(){var b=angular.copy(a.answer);return g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.answers.view",{url:"/view/:id",templateUrl:"app/tools/answer/view/view.html",controller:"AnswerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.answers.view.settings",{url:"/settings",templateUrl:"app/tools/answer/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("Automation",["$resource",function(a){return a("/api/automations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("AutomationListCtrl",["$scope","$http","$translate","xAlert","Automation","gridOptions",function(a,b,c,d,e,f){a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){var b={exporterCsvFilename:"Automations.csv",columnDefs:[{name:"name"},{name:"description"},{name:"channel"},{name:"status",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.status" type="checkbox" switch-active="{{ grid.appScope.isActive }}" switch-on-text="{{ grid.appScope.onText }}" switch-off-text="{{ grid.appScope.offText }}" switch-on-color="{{ grid.appScope.onColor }}" switch-off-color="{{ grid.appScope.offColor }}" switch-animate="{{ grid.appScope.animate }}" switch-size="{{ grid.appScope.size }}" switch-label="{{ grid.appScope.label }}" switch-icon="{{ grid.appScope.icon }}" switch-radio-off="{{ grid.appScope.radioOff }}" switch-label-width="{{ grid.appScope.labelWidth }}" switch-handle-width="{{ grid.appScope.handleWidth }}"></div>',width:100,enableFiltering:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/automations/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=f.gridOptions(e,b,a)},a.updateItem=function(a){return e.update({id:a.id},a).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations.list",{url:"/list",templateUrl:"app/tools/automation/list/list.html",controller:"AutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AutomationViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","automations","Automation","$location",function(a,b,c,d,e,f,g,h){a.$automations=f,a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.forms={general:{}},a.addCondition=function(b){a.automation[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.automation[b].splice(c,1)},a.addAction=function(){a.automation.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.automation.Actions.splice(b,1)},a.initView=function(){return g.get({id:b.id}).$promise.then(function(b){a.automation=b})["catch"](function(a){e.error(a),h.path("/tools/automations/list")})},a.updateAutomation=function(){return g.update({id:b.id},a.automation).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),e.error(a)})},a.exitValidation=function(b){return console.log(b&&(a.automation.All.length||a.automation.Any.length)&&a.automation.Actions.length),b&&(a.automation.All.length||a.automation.Any.length)&&a.automation.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations.view",{url:"/view/:id",templateUrl:"app/tools/automation/view/view.html",controller:"AutomationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.tools.automations.view.settings",{url:"/settings",templateUrl:"app/tools/automation/view/view.settings.html"}).state("main.tools.automations.view.routes",{url:"/routes",templateUrl:"app/tools/automation/view/view.routes.html"}).state("main.tools.automations.view.application",{url:"/application",templateUrl:"app/tools/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("AutomationWizardCtrl",["$scope","$http","$location","xAlert","automations","WizardHandler","Automation",function(a,b,c,d,e,f,g){a.$automations=e,a.statusSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={All:[],Any:[],Actions:[]},a.forms={general:void 0,settings:void 0},a.addCondition=function(b){a.item[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.item[b].splice(c,1)},a.addAction=function(){a.item.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.item.Actions.splice(b,1)},a.$watch("item.channel",function(b,c){c&&(a.tempData[c].All=_.clone(a.item.All,!0),a.tempData[c].Any=_.clone(a.item.Any,!0),a.tempData[c].Actions=_.clone(a.item.Actions,!0)),a.item.All=a.tempData[b].All?a.tempData[b].All:[],a.item.Any=a.tempData[b].Any?a.tempData[b].Any:[],a.item.Actions=a.tempData[b].Actions?a.tempData[b].Actions:[]},!0),a.item.channel="mail",a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/tools/automations/list")})["catch"](function(a){console.error(a),d.error(a)})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a},a.exitSettingsValidation=function(b){return b&&(a.item.All.length||a.item.Any.length)&&a.item.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations.wizard",{url:"/wizard",templateUrl:"app/tools/automation/wizard/wizard.html",controller:"AutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("Interval",["$resource",function(a){return a("/api/intervals/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.intervals",{url:"/intervals",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("IntervalListCtrl",["$scope","$uibModal","Interval","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"intervals.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/intervals/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/tools/interval/list/list.create.modal.html",controller:"IntervalListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("IntervalListCreateCtrl",["$scope","$translate","$uibModalInstance","Interval","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.intervals.list",{url:"/list",templateUrl:"app/tools/interval/list/list.html",controller:"IntervalListCtrl"})}]),angular.module("xCallyShuttleApp").controller("IntervalViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","interval",function(a,b,c,d,e,f,g,h,i,j){function k(b){var c,d,e,f;c=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(d=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(d+="-"+b.wd_to)):d="*",b.md_from&&"always"!==b.md_from?(e=b.md_from,b.md_to&&"always"!==b.md_to&&(e+="-"+b.md_to)):e="*",b.m_from&&"always"!==b.m_from?(f=b.m_from,b.m_to&&"always"!==b.m_to&&(f+="-"+b.m_to)):f="*",void 0!==a.selectedSubInterval?a.interval.SubIntervals[a.selectedSubInterval].interval=c+","+d+","+e+","+f:a.subinterval.interval=c+","+d+","+e+","+f}a.$translate=d,a.$interval=j.interval,a.selectedSubInterval=void 0,a.gridOptions={columnDefs:[{name:"name",displayName:"APPLICATION_NAME",headerCellFilter:"translate"},{name:"interval",displayName:"APPLICATION_INTERVAL",headerCellFilter:"translate"},{name:"action",displayName:"APPLICATION_ACTION",headerCellFilter:"translate",width:125,cellTemplate:'<a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openSubInterval(grid.appScope.gridOptions.data.indexOf(row.entity))">{{\'APPLICATION_SETTINGS\' | translate}}</a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteSubInterval(row.entity.name+\' interval\', grid.appScope.gridOptions.data.indexOf(row.entity))">{{\'APPLICATION_DELETE\' | translate}}</a>'}]},a.forms={subinterval:void 0,general:void 0},a.initSubInterval=function(b){b&&(a.selectedSubInterval=void 0),a.subinterval={},a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0}},a.next=function(){h.wizard().next()},a.previous=function(){h.wizard().previous()},a.exitValidation=function(a){return a},a.deselectAndRedirect=function(b){a.selectedSubInterval=void 0,g.path(b)},a.getInterval=function(){b.get("/api/intervals/"+e.id).success(function(b){a.interval=b,a.gridOptions.data=b.SubIntervals}).error(function(a){console.error(a),g.path("/tools/intervals/list")})},a.openSubInterval=function(b){a.selectedSubInterval=b,g.path("/tools/intervals/view/"+e.id+"/subintervals/settings")},a.updateInterval=function(f){a.selectedSubInterval=void 0,b.put("/api/intervals/"+e.id,a.interval).success(function(){a.getInterval(),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),f&&g.path("/tools/intervals/view/"+e.id+"/"+f)}).error(function(a){c.error(a)})},a.getSubInterval=function(){void 0===a.selectedSubInterval&&g.path("/tools/intervals/list"),a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date)};var b,c=a.interval.SubIntervals[a.selectedSubInterval]?a.interval.SubIntervals[a.selectedSubInterval].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.splittedInterval.t_from=moment(b[0],"HH:mm"),a.splittedInterval.t_to=moment(b[1],"HH:mm"),a.splittedInterval.alwaysTime=!1):(a.splittedInterval.t_from=moment(new Date),a.splittedInterval.t_to=moment(new Date),a.splittedInterval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.splittedInterval.wd_from=b[0],a.splittedInterval.wd_to=b[1]?b[1]:"always"):(a.splittedInterval.wd_from="always",a.splittedInterval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.splittedInterval.md_from=b[0],a.splittedInterval.md_to=b[1]?b[1]:"always"):(a.splittedInterval.md_from="always",a.splittedInterval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.splittedInterval.m_from=b[0],a.splittedInterval.m_to=b[1]?b[1]:"always"):(a.splittedInterval.m_from="always",a.splittedInterval.m_to="always")}})},a.$watch("splittedInterval",function(a){a&&k(a)},!0),a.addSubInterval=function(){a.interval.SubIntervals.push(a.subinterval),a.updateInterval("subintervals")},a.deleteSubInterval=i.confirm["delete"](function(b){a.interval.SubIntervals.splice(b,1),a.updateInterval()})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.intervals.view",{url:"/view/:id",templateUrl:"app/tools/interval/view/view.html",controller:"IntervalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.intervals.view.settings",{url:"/settings",templateUrl:"app/tools/interval/view/view.settings.html"}).state("main.tools.intervals.view.subintervals",{url:"/subintervals",templateUrl:"app/tools/interval/view/view.subintervals.html"}).state("main.tools.intervals.view.subinterval",{url:"/subinterval",templateUrl:"app/tools/interval/view/view.subinterval.html"}).state("main.tools.intervals.view.subintervals.settings",{url:"/settings",templateUrl:"app/tools/interval/view/view.subintervalSettings.html"})}]),angular.module("xCallyShuttleApp").controller("PauseListCtrl",["$scope","$log","$uibModal","$translate","Pause","gridOptions",function(a,b,c,d,e,f){a.initView=function(){var b={exporterCsvFilename:"pauses.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/pauses/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=f.gridOptions(e,b,a)},a.createItem=function(){var b=c.open({animation:!0,templateUrl:"app/tools/pause/list/list.create.modal.html",controller:"PauseListCreateCtrl"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("PauseListCreateCtrl",["$scope","$translate","$uibModalInstance","Pause","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.pauses.list",{url:"/list",templateUrl:"app/tools/pause/list/list.html",controller:"PauseListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Pause",["$resource",function(a){return a("/api/pauses/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.pauses",{url:"/pauses",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("PauseViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location","Pause",function(a,b,c,d,e,f,g){a.getPause=function(){return g.get({id:e.id}).$promise.then(function(b){a.pause=b})["catch"](function(a){c.error(a)})},a.updatePause=function(){var b=angular.copy(a.pause);return g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.pauses.view",{url:"/view/:id",templateUrl:"app/tools/pause/view/view.html",controller:"PauseViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.pauses.view.settings",{url:"/settings",templateUrl:"app/tools/pause/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SchedulerListCtrl",["$scope","Scheduler","gridOptions","xAlert","$translate","socket",function(a,b,c,d,e,f){a._=_,a.switches={isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.scheduleTypes=[{name:"APPLICATION_REPORT_EXTRACTION",value:"report"},{name:"APPLICATION_HISTORY_MOVE",value:"history"},{name:"APPLICATION_DB_BACKUP",value:"backup"}],a.initView=function(){var d={exporterCsvFilename:"Schedules.csv",columnDefs:[{name:"name"},{name:"type",cellTemplate:'<div class="centered-uigrid-td">{{grid.appScope._.find(grid.appScope.scheduleTypes,{value:row.entity.type}).name | translate}}</div>'
-},{name:"description"},{name:"active",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.active" type="checkbox" switch-active="{{ grid.appScope.switches.isActive }}" switch-on-text="{{ \'APPLICATION_YES\' | translate }}" switch-off-text="{{ \'APPLICATION_NO\' | translate }}" switch-on-color="{{ grid.appScope.switches.onColor }}" switch-off-color="{{ grid.appScope.switches.offColor }}" switch-animate="{{ grid.appScope.switches.animate }}" switch-size="{{ grid.appScope.switches.size }}" switch-label="{{ grid.appScope.switches.label }}" switch-icon="{{ grid.appScope.switches.icon }}" switch-radio-off="{{ grid.appScope.switches.radioOff }}" switch-label-width="{{ grid.appScope.switches.labelWidth }}" switch-handle-width="{{ grid.appScope.switches.handleWidth }}"></div>',enableFiltering:!1,enableSorting:!1},{name:"sendMail",displayName:"APPLICATION_SEND_MAIL",cellTemplate:'<div data-ng-if="row.entity.type == \'report\'" class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.sendMail" type="checkbox" switch-active="{{ grid.appScope.switches.isActive }}" switch-on-text="{{ \'APPLICATION_YES\' | translate }}" switch-off-text="{{ \'APPLICATION_NO\' | translate }}" switch-on-color="{{ grid.appScope.switches.onColor }}" switch-off-color="{{ grid.appScope.switches.offColor }}" switch-animate="{{ grid.appScope.switches.animate }}" switch-size="{{ grid.appScope.switches.size }}" switch-label="{{ grid.appScope.switches.label }}" switch-icon="{{ grid.appScope.switches.icon }}" switch-radio-off="{{ grid.appScope.switches.radioOff }}" switch-label-width="{{ grid.appScope.switches.labelWidth }}" switch-handle-width="{{ grid.appScope.switches.handleWidth }}"></div>',enableFiltering:!1,enableSorting:!1},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/tools/scheduler/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-turquoise",name:"run",onClick:"grid.appScope.runSchedule(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.updateItem=function(a){return b.update({id:a.id},a).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})},a.runSchedule=function(a){return b.get({id:a,controller:"run"}).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler.list",{url:"/list",templateUrl:"app/tools/scheduler/list/list.html",controller:"SchedulerListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Scheduler",["$resource",function(a){return a("/api/scheduler/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler",{url:"/scheduler",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("SchedulerViewCtrl",["$scope","xAlert","$translate","$stateParams","socket","$location","ReportTree","Scheduler","DefaultReport","CustomReport","$timeout","MailServerOut",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){switch(a.schedule.cronType=a.rangeExec.type,a.rangeExec.type){case"daily":a.schedule.cron="00 "+a.rangeExec.hour+" * * *";break;case"weekly":a.schedule.cron="00 "+a.rangeExec.hour+" * * "+a.rangeExec.weekDays.join(",");break;case"monthly":a.schedule.cron="00 "+a.rangeExec.hour+" "+a.rangeExec.monthDay+" * *"}}function n(b){var c;switch(b.cronType){case"daily":a.rangeExec.hour=Number(b.cron.split(" ")[1]),a.rangeExec.type=b.cronType;break;case"weekly":c=b.cron.split(" "),a.rangeExec.hour=Number(c[1]),c[4].split(",").forEach(function(b){a.rangeExec.weekDays.push(Number(b))}),a.rangeExec.type=b.cronType;break;case"monthly":c=b.cron.split(" "),a.rangeExec.hour=Number(c[1]),a.rangeExec.monthDay=Number(c[2]),a.rangeExec.type=b.cronType;break;case"currentDay":a.switchValues.today=!0}a.$watch("rangeExec",function(b){a.switchValues.today||m()},!0)}a.forms={},a.rangeExec={weekDays:[],monthDay:null,hour:0,type:null},a.initReports=function(){var c;return a.reports=[],a.tempTodayCron=null,g.query().$promise.then(function(b){return a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),i.get().$promise}).then(function(b){return a.defRep=b.rows,a.defRep.length&&_.forEach(a.defRep,function(b){c=_.find(a.defaultTreeData,{id:b.parent}),c&&(b.parent="Motion Reports - "+c.text,b.type="default")}),j.get().$promise}).then(function(b){return a.cusRep=b.rows,a.cusRep.length&&_.forEach(a.cusRep,function(b){c=_.find(a.customTreeData,{id:b.parent}),c&&(b.parent="Custom Reports - "+c.text,b.type="custom")}),l.get().$promise}).then(function(b){a.mailServers=b.rows;var c=_.find(a.mailServers,{MailAccountId:null});c&&(c.username+=" (custom)")})["catch"](function(a){b.error(a)})},a.initView=function(){return h.get({id:d.id}).$promise.then(function(b){a.schedule=b,n(b)}).then(function(){e.socket.on("schedule:update",function(b){a.schedule.id===b.id&&(a.schedule.active=b.active,a.schedule.sendMail=b.sendMail)})})["catch"](function(a){console.error(a),f.path("/tools/scheduler/list")})},a.refreshSlider=function(){k(function(){a.$broadcast("rzSliderForceRender"),a.refreshSlider=null})},a.monthDays=function(){for(var a=[],b=1;31>=b;b++)a.push(b);return a}(),a.hours=function(){for(var a=[],b=0;23>=b;b++)a.push(b);return a}(),a.setReportTree=function(b){a.schedule.reportType=b.type},a.validitySlider={ceil:24,floor:0,showTicks:!0},a.switchValues={today:!1},a.switches={isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.scheduleTypes=[{name:"APPLICATION_REPORT_EXTRACTION",value:"report"}],a.todayCron=[{name:"15 min",value:"*/15 * * * *"},{name:"30 min",value:"*/30 * * * *"},{name:"1 h",value:"0 * * * *"}],a.reportRanges=[{name:"APPLICATION_PREVIOUS_DAY",value:"yesterday"},{name:"APPLICATION_LAST_SEVEN_DAYS",value:"last7"},{name:"APPLICATION_LAST_THIRTY_DAYS",value:"last30"},{name:"APPLICATION_LAST_MONTH",value:"lastMonth"}],a.cronTypes=[{name:"APPLICATION_DAY",value:"daily"},{name:"APPLICATION_WEEK",value:"weekly"},{name:"APPLICATION_MONTH",value:"monthly"}],a.weekDays=[{name:"APPLICATION_MONDAY",value:1},{name:"APPLICATION_TUESDAY",value:2},{name:"APPLICATION_WEDNESDAY",value:3},{name:"APPLICATION_THURSDAY",value:4},{name:"APPLICATION_FRIDAY",value:5},{name:"APPLICATION_SATURDAY",value:6},{name:"APPLICATION_SUNDAY",value:0}],a.checkToday=function(){a.switchValues.today?(a.schedule.cron=angular.copy(a.tempTodayCron),a.schedule.cronType="currentDay"):(a.tempTodayCron=angular.copy(a.schedule.cron),a.schedule.cron=void 0,m())},a.updateSchedule=function(){return h.update({id:a.schedule.id},a.schedule).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler.view",{url:"/view/:id",templateUrl:"app/tools/scheduler/view/view.html",controller:"SchedulerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.scheduler.view.settings",{url:"/settings",templateUrl:"app/tools/scheduler/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SchedulerWizardCtrl",["$scope","WizardHandler","$location","xAlert","Scheduler","ReportTree","$translate","DefaultReport","CustomReport","MailServerOut",function(a,b,c,d,e,f,g,h,i,j){function k(){switch(a.item.cronType=a.rangeExec.type,a.rangeExec.type){case"daily":a.item.cron="00 "+a.rangeExec.hour+" * * *";break;case"weekly":a.item.cron="00 "+a.rangeExec.hour+" * * "+a.rangeExec.weekDays.join(",");break;case"monthly":a.item.cron="00 "+a.rangeExec.hour+" "+a.rangeExec.monthDay+" * *"}}a.forms={},a.item={validityStart:8,validityEnd:16,type:"report",reportType:"default"},a.initReports=function(){a.reports=[];var b;return f.query().$promise.then(function(b){return a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),h.get().$promise}).then(function(c){return a.defRep=c.rows,a.defRep.length&&_.forEach(a.defRep,function(c){b=_.find(a.defaultTreeData,{id:c.parent}),b&&(c.parent="Motion Reports - "+b.text,c.type="default")}),i.get().$promise}).then(function(c){return a.cusRep=c.rows,a.cusRep.length&&_.forEach(a.cusRep,function(c){b=_.find(a.customTreeData,{id:c.parent}),b&&(c.parent="Custom Reports - "+b.text,c.type="custom")}),j.get().$promise}).then(function(b){a.mailServers=b.rows;var c=_.find(a.mailServers,{MailAccountId:null});c&&(c.username+=" (custom)")})["catch"](function(a){d.error(a)})},a.setReportTree=function(b){a.item.reportType=b.type},a.validitySlider={ceil:24,floor:0,showTicks:!0},a.switchValues={today:!1},a.switches={isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.scheduleTypes=[{name:"APPLICATION_REPORT_EXTRACTION",value:"report"}],a.todayCron=[{name:"15 min",value:"*/15 * * * *"},{name:"30 min",value:"*/30 * * * *"},{name:"1 h",value:"0 * * * *"}],a.reportRanges=[{name:"APPLICATION_PREVIOUS_DAY",value:"yesterday"},{name:"APPLICATION_LAST_SEVEN_DAYS",value:"last7"},{name:"APPLICATION_LAST_THIRTY_DAYS",value:"last30"},{name:"APPLICATION_LAST_MONTH",value:"lastMonth"}],a.cronTypes=[{name:"APPLICATION_DAY",value:"daily"},{name:"APPLICATION_WEEK",value:"weekly"},{name:"APPLICATION_MONTH",value:"monthly"}],a.weekDays=[{name:"APPLICATION_MONDAY",value:1},{name:"APPLICATION_TUESDAY",value:2},{name:"APPLICATION_WEDNESDAY",value:3},{name:"APPLICATION_THURSDAY",value:4},{name:"APPLICATION_FRIDAY",value:5},{name:"APPLICATION_SATURDAY",value:6},{name:"APPLICATION_SUNDAY",value:0}],a.tempTodayCron=null,a.checkToday=function(){a.switchValues.today?(a.item.cron=angular.copy(a.tempTodayCron),a.item.cronType="currentDay"):(a.tempTodayCron=angular.copy(a.item.cron),a.item.cron=void 0,k())},a.monthDays=function(){for(var a=[],b=1;31>=b;b++)a.push(b);return a}(),a.hours=function(){for(var a=[],b=0;23>=b;b++)a.push(b);return a}(),a.rangeExec={weekDays:[],monthDay:null,hour:0,type:null},a.$watch("rangeExec",function(b){a.switchValues.today||k()},!0),a.next=function(){b.wizard().next()},a.previous=function(){b.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){return e.save(a.item).$promise.then(function(){c.path("/tools/scheduler/list")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler.wizard",{url:"/wizard",templateUrl:"app/tools/scheduler/wizard/wizard.html",controller:"SchedulerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SoundListCtrl",["$scope","$http","socket","Modal","$q","FileUploader","$translate","xAlert","$cookieStore","$sce","Sound",function(a,b,c,d,e,f,g,h,i,j,k){a.Sound=k,a.isCollapsed=!0,a.downloadButtonClass="btn btn-xs blue-hoki",a["delete"]=d.confirm["delete"](function(a){b["delete"]("/api/sounds/"+a).success(function(a){}).error(function(a){console.log(a)})}),a.updateAudio=function(a,c){var d=e.defer();return b.put("/api/sounds/"+a,c).success(function(a){d.resolve()}).error(function(a){console.log(a.message),d.reject(a.message)}),d.promise},a.$on("$destroy",function(){c.unsyncUpdates("sound")}),a.initList=function(){b.get("/api/sounds").success(function(b){a.sounds=b.rows,b.rows.length||(a.isCollapsed=!1),c.syncUpdates("sound",a.sounds,function(){a.sounds.length||(a.isCollapsed=!1)})})};var l=a.uploader=new f({url:"/api/sounds",withCredentials:!0,headers:{Authorization:"Bearer "+i.get("token")}});l.filters.push({name:"customFilter",fn:function(a,b){return this.queue.length<10}}),l.onWhenAddingFileFailed=function(a,b,c){console.info("onWhenAddingFileFailed",a,b,c)},l.onAfterAddingFile=function(a){console.info("onAfterAddingFile",a)},l.onAfterAddingAll=function(a){console.info("onAfterAddingAll",a)},l.onBeforeUploadItem=function(a){console.info("onBeforeUploadItem",a)},l.onProgressItem=function(a,b){console.info("onProgressItem",a,b),a.isUploading=!0},l.onProgressAll=function(a){console.info("onProgressAll",a)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),a.isUploading=!1},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),a.responseMessage=b,a.isUploading=!1},l.onCancelItem=function(a,b,c,d){console.info("onCancelItem",a,b,c,d),a.isUploading=!1},l.onCompleteItem=function(a,b,c,d){console.info("onCompleteItem",a,b,c,d),a.isUploading=!1},l.onCompleteAll=function(){console.info("onCompleteAll")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.sounds.list",{url:"/list",templateUrl:"app/tools/sound/list/list.html",controller:"SoundListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("Sound",["$resource",function(a){return a("/api/sounds/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.sounds",{url:"/sounds",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TagListCtrl",["$scope","$uibModal","Tag","gridOptions","$rootScope",function(a,b,c,d,e){a.initView=function(){var b={exporterCsvFilename:"tag.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/tags/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/tools/tag/list/list.create.modal.html",controller:"TagListCreateCtrl"});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("TagListCreateCtrl",["$scope","$translate","$uibModalInstance","Tag","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.tags.list",{url:"/list",templateUrl:"app/tools/tag/list/list.html",controller:"TagListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Tag",["$resource",function(a){return a("/api/tags/:id/:controller/:tag",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.tags",{url:"/tags",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TagViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location","Tag","gridOptions","List","Company","Contact","uiGridConstants","usSpinnerService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){m.stop("spinner-grid"),a.readyGrid=!0}a.getTag=function(){return g.get({id:e.id}).$promise.then(function(b){a.tag=b})["catch"](function(a){c.error(a)})},a.updateTag=function(){var b=angular.copy(a.tag);return g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})},a.initChat=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagChat.csv",columnDefs:[{name:"type"},{name:"status"},{name:"ChatWebsite.name",displayName:"APPLICATION_WEBSITE"},{name:"ChatVisitor.email",displayName:"APPLICATION_VISITOR"},{name:"action",width:40,buttons:[{"class":"green",name:"chatRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'chatRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"chat",tag:a.tag.name},null,null,n())},a.initMail=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagMail.csv",columnDefs:[{name:"subject"},{name:"from"},{name:"account"},{name:"status"},{name:"action",width:40,buttons:[{"class":"green",name:"mailRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'mailRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"mail",tag:a.tag.name},null,null,n())},a.initFax=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagFax.csv",columnDefs:[{name:"from"},{name:"account"},{name:"status"},{name:"action",width:40,buttons:[{"class":"green",name:"faxRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'faxRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"fax",tag:a.tag.name},null,null,n())},a.initSms=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagSms.csv",columnDefs:[{name:"from"},{name:"status"},{name:"action",width:40,buttons:[{"class":"green",name:"smsRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'smsRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"sms",tag:a.tag.name},null,null,n())},a.initContacts=function(){a.readyGrid=!1,m.spin("spinner-grid");var b;return i.get().$promise.then(function(b){return a.lists=[],b.rows.forEach(function(b,c){a.lists.push({value:b.id,label:b.name})}),j.get().$promise}).then(function(b){a.companies=[],b.rows.forEach(function(b,c){a.companies.push({value:b.id,label:b.name})})}).then(function(){b={enableRowSelection:!1,exporterCsvFilename:"tagContacts.csv",columnDefs:[{name:"firstName"},{name:"lastName"},{name:"phone"},{name:"email"},{name:"ListId",displayName:"APPLICATION_LIST",field:"List.name",filter:{type:l.filter.SELECT,selectOptions:a.lists}},{name:"CompanyId",displayName:"APPLICATION_COMPANY",field:"Company.name",filter:{type:l.filter.SELECT,term:e.companyId||null,selectOptions:a.companies}},{name:"action",width:40,buttons:[{"class":"blue-hoki",name:"profile",onClick:"grid.appScope.openContactTab(row.entity)"}]}]},a.gridOptions=h.gridOptions(g,b,a,{controller:"contacts",tag:a.tag.name},null,null,n())})["catch"](function(a){c.error(a)})},a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:c});if(d)d.active=!0;else{var e;switch(c){case"mailRoom":e="icon-envelope";break;case"chatRoom":e="fa fa-users";break;case"faxRoom":e="icon-paper-plane";break;case"smsRoom":e="glyphicon glyphicon-comment"}a.workspaces.push({id:b,type:c,"class":e,active:!0})}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.tags.view",{url:"/view/:id",templateUrl:"app/tools/tag/view/view.html",controller:"TagViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.tags.view.settings",{url:"/settings",templateUrl:"app/tools/tag/view/view.settings.html"}).state("main.tools.tags.view.chat",{url:"/chat",templateUrl:"app/tools/tag/view/view.chat.html"}).state("main.tools.tags.view.mail",{url:"/mail",templateUrl:"app/tools/tag/view/view.mail.html"}).state("main.tools.tags.view.fax",{url:"/fax",templateUrl:"app/tools/tag/view/view.fax.html"}).state("main.tools.tags.view.sms",{url:"/sms",templateUrl:"app/tools/tag/view/view.sms.html"}).state("main.tools.tags.view.contacts",{url:"/contacts",templateUrl:"app/tools/tag/view/view.contacts.html"})}]),angular.module("xCallyShuttleApp").controller("TemplateListCtrl",["$scope","Template","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"templates.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/templates/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates.list",{url:"/list",templateUrl:"app/tools/template/list/list.html",controller:"TemplateListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Template",["$resource",function(a){return a("/api/templates/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates",{url:"/templates",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TemplateViewCtrl",["$scope","$rootScope","$http","$translate","$stateParams","xAlert","Template","templateVariable","Variable",function(a,b,c,d,e,f,g,h,i){a.initItem=function(){CKEDITOR.plugins.addExternal("richparams","/assets/plugins/ckeditor-richparams/"),a.options={language:b.language,allowedContent:!0,entities:!1,skin:"office2013",contentsCss:"/assets/css/global/richparams.css",extraPlugins:"richparams,autogrow",autoGrow_minHeight:450,richparams:h,disableNativeSpellChecker:!1,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},{name:"document",items:["Source"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]},"/",{name:"motion",items:["voice","chat","mail"]}]},a.form={},a.item={},a.item=g.get({id:e.id})},a.updateItem=function(){return g.update(a.item).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates.view",{url:"/view/:id",templateUrl:"app/tools/template/view/view.html",controller:"TemplateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.templates.view.settings",{url:"/settings",templateUrl:"app/tools/template/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TemplateWizardCtrl",["$scope","$rootScope","$location","$http","WizardHandler","xAlert","Template","templateVariable",function(a,b,c,d,e,f,g,h){a.initWizard=function(){CKEDITOR.plugins.addExternal("richparams","/assets/plugins/ckeditor-richparams/"),a.options={language:b.language,allowedContent:!0,entities:!1,skin:"office2013",contentsCss:"/assets/css/global/richparams.css",extraPlugins:"richparams,autogrow",autoGrow_minHeight:450,disableNativeSpellChecker:!1,richparams:h,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},{name:"document",items:["Source"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]},"/",{name:"motion",items:["voice","chat","mail"]}]},a.item={},a.form={}},a.exitValidation=function(a){return a},a.createItem=function(){return g.save({name:a.item.name,description:a.item.description,subject:a.item.subject||null,html:a.item.html||null,text:a.item.text||null}).$promise.then(function(){c.path("/tools/templates/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates.wizard",{url:"/wizard",templateUrl:"app/tools/template/wizard/wizard.html",controller:"TemplateWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools",{url:"/tools",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TriggerListCtrl",["$scope","$http","$translate","Modal","xAlert","Trigger","gridOptions",function(a,b,c,d,e,f,g){a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){var b={exporterCsvFilename:"Triggers.csv",columnDefs:[{name:"name"},{name:"description"},{name:"channel"},{name:"status",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.status" type="checkbox" switch-active="{{ grid.appScope.isActive }}" switch-on-text="{{ grid.appScope.onText }}" switch-off-text="{{ grid.appScope.offText }}" switch-on-color="{{ grid.appScope.onColor }}" switch-off-color="{{ grid.appScope.offColor }}" switch-animate="{{ grid.appScope.animate }}" switch-size="{{ grid.appScope.size }}" switch-label="{{ grid.appScope.label }}" switch-icon="{{ grid.appScope.icon }}" switch-radio-off="{{ grid.appScope.radioOff }}" switch-label-width="{{ grid.appScope.labelWidth }}" switch-handle-width="{{ grid.appScope.handleWidth }}"></div>',width:100,enableFiltering:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/triggers/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=g.gridOptions(f,b,a)},a.updateItem=function(a){return f.update({id:a.id},a).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers.list",{url:"/list",templateUrl:"app/tools/trigger/list/list.html",controller:"TriggerListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Trigger",["$resource",function(a){return a("/api/triggers/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers",{url:"/triggers",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TriggerViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","triggers","Trigger","$location",function(a,b,c,d,e,f,g,h){a.$triggers=f,a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.forms={general:{}},a.addCondition=function(b){a.trigger[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.trigger[b].splice(c,1)},a.addAction=function(){a.trigger.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.trigger.Actions.splice(b,1)},a.initView=function(){return g.get({id:b.id}).$promise.then(function(b){a.trigger=b})["catch"](function(a){e.error(a),h.path("/tools/triggers/list")})},a.updateTrigger=function(){return g.update({id:b.id},a.trigger).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),e.error(a)})},a.exitValidation=function(b){return b&&(a.trigger.All.length||a.trigger.Any.length)&&a.trigger.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers.view",{url:"/view/:id",templateUrl:"app/tools/trigger/view/view.html",controller:"TriggerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.tools.triggers.view.settings",{url:"/settings",templateUrl:"app/tools/trigger/view/view.settings.html"}).state("main.tools.triggers.view.routes",{url:"/routes",templateUrl:"app/tools/trigger/view/view.routes.html"}).state("main.tools.triggers.view.application",{url:"/application",templateUrl:"app/tools/trigger/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("TriggerWizardCtrl",["$scope","$http","$location","xAlert","triggers","WizardHandler","Trigger",function(a,b,c,d,e,f,g){a.$triggers=e,a.statusSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={All:[],Any:[],Actions:[]},a.forms={general:void 0,settings:void 0},a.addCondition=function(b){a.item[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.item[b].splice(c,1)},a.addAction=function(){a.item.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.item.Actions.splice(b,1)},a.$watch("item.channel",function(b,c){c&&(a.tempData[c].All=_.clone(a.item.All,!0),a.tempData[c].Any=_.clone(a.item.Any,!0),a.tempData[c].Actions=_.clone(a.item.Actions,!0)),a.item.All=a.tempData[b].All?a.tempData[b].All:[],a.item.Any=a.tempData[b].Any?a.tempData[b].Any:[],a.item.Actions=a.tempData[b].Actions?a.tempData[b].Actions:[]},!0),a.item.channel="voice",a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/tools/triggers/list")})["catch"](function(a){console.error(a),d.error(a)})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a},a.exitSettingsValidation=function(b){return b&&(a.item.All.length||a.item.Any.length)&&a.item.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers.wizard",{url:"/wizard",templateUrl:"app/tools/trigger/wizard/wizard.html",controller:"TriggerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TrunkListCtrl",["$scope","Trunk","gridOptions","xAlert","$translate","socket",function(a,b,c,d,e,f){function g(){f.socket.on("trunk:update",function(b){var c=_.find(a.gridOptions.data,{name:b.name});c&&(c.status=b.status,c.peerstatus=b.peerstatus)})}a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){var d={exporterCsvFilename:"Trunks.csv",columnDefs:[{name:"name"},{name:"active",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.active" type="checkbox" switch-active="{{ grid.appScope.isActive }}" switch-on-text="{{ \'APPLICATION_YES\' | translate }}" switch-off-text="{{ \'APPLICATION_NO\' | translate }}" switch-on-color="{{ grid.appScope.onColor }}" switch-off-color="{{ grid.appScope.offColor }}" switch-animate="{{ grid.appScope.animate }}" switch-size="{{ grid.appScope.size }}" switch-label="{{ grid.appScope.label }}" switch-icon="{{ grid.appScope.icon }}" switch-radio-off="{{ grid.appScope.radioOff }}" switch-label-width="{{ grid.appScope.labelWidth }}" switch-handle-width="{{ grid.appScope.handleWidth }}"></div>'
-},{name:"host"},{name:"description"},{name:"status",cellTemplate:'<div class="centered-uigrid-td" data-ng-if="row.entity.active && row.entity.registry && row.entity.status">{{row.entity.status}}</div>'},{name:"peerstatus",cellTemplate:'<div class="centered-uigrid-td" data-ng-if="row.entity.active && row.entity.peerstatus">{{row.entity.peerstatus}}</div>'},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/trunks/view/{{row.entity.name}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.name)"}]}]};a.gridOptions=c.gridOptions(b,d,a,null,null,null,g)},a.updateItem=function(a){return b.update({id:a.name},a).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks.list",{url:"/list",templateUrl:"app/tools/trunk/list/list.html",controller:"TrunkListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Trunk",["$resource",function(a){return a("/api/trunks/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks",{url:"/trunks",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TrunkViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","Trunk","VoiceContext",function(a,b,c,d,e,f,g,h,i){a.activeSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initView=function(){return h.get({id:e.id}).$promise.then(function(b){b.nat=b.nat?b.nat.split(","):[],b.allow=b.allow?b.allow.split(";"):[],b.insecure=b.insecure?b.insecure.split(","):[],b.transport=b.transport?b.transport.split(","):[],a.trunk=b}).then(function(){f.socket.on("trunk:update",function(b){a.trunk.name===b.name&&(a.trunk.status=b.status)})})["catch"](function(a){console.error(a),g.path("/tools/trunks/list")})},a.updateTrunk=function(){""===a.trunk.password&&delete a.trunk.password;var b=angular.copy(a.trunk);return b.nat=b.nat.join(","),b.allow=b.allow.join(";"),b.insecure=b.insecure.join(","),b.transport=b.transport.join(","),h.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){c.error(a)})},a.getContexts=function(){return i.get().$promise.then(function(b){a.voiceContexts=b.rows})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks.view",{url:"/view/:id",templateUrl:"app/tools/trunk/view/view.html",controller:"TrunkViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.trunks.view.settings",{url:"/settings",templateUrl:"app/tools/trunk/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TrunkWizardCtrl",["$scope","WizardHandler","$location","xAlert","Trunk",function(a,b,c,d,e){a.initWizard=function(){a.forms={},a.item={context:"from-voip-provider"}},a.next=function(){b.wizard().next()},a.previous=function(){b.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){return a.item.fromuser=a.item.defaultuser,a.item.fromdomain=a.item.host,e.save(a.item).$promise.then(function(){c.path("/tools/trunks/list")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks.wizard",{url:"/wizard",templateUrl:"app/tools/trunk/wizard/wizard.html",controller:"TrunkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VariableListCtrl",["$scope","$uibModal","Variable","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"variables.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/variables/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/tools/variable/list/list.create.modal.html",controller:"VariableListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("VariableListCreateCtrl",["$scope","$translate","$uibModalInstance","Variable","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.variables.list",{url:"/list",templateUrl:"app/tools/variable/list/list.html",controller:"VariableListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Variable",["$resource",function(a){return a("/api/variables/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.variables",{url:"/variables",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("VariableViewCtrl",["$scope","$translate","$stateParams","xAlert","Variable",function(a,b,c,d,e){a.getVariable=function(){return e.get({id:c.id}).$promise.then(function(b){a.variable=b})["catch"](function(a){d.error(a)})},a.updateVariable=function(){return e.update({id:c.id},a.variable).$promise.then(function(){d.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.variables.view",{url:"/view/:id",templateUrl:"app/tools/variable/view/view.html",controller:"VariableViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.variables.view.settings",{url:"/settings",templateUrl:"app/tools/variable/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCloneModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCtrl",["$scope","$http","$translate","xAlert","Modal","$uibModal","$log","YourDashboard","gridOptions",function(a,b,c,d,e,f,g,h,i){a.initView=function(){var b={exporterCsvFilename:"voice_contexts.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:125,buttons:[{"class":"green",href:"/tools/yourdashboards/show/{{row.entity.id}}",name:"view"},{"class":"blue-hoki",href:"/tools/yourdashboards/view/{{row.entity.id}}/settings",name:"settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{"class":"purple",name:"clone",onClick:"grid.appScope.clone(row.entity.id)"}]}]};a.gridOptions=i.gridOptions(h,b,a)},a.create=function(){var b=f.open({animation:!0,templateUrl:"app/tools/yourdashboard/list/create.modal.html",controller:"YourdashboardListCreateModalCtrl"});b.result.then(function(b){return h.save(b).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.gridOptions.getPage()})["catch"](function(a){console.error(a),d.error(a)})},function(){g.info("Modal dismissed at: "+new Date)})},a.clone=function(b){var e=f.open({animation:!0,templateUrl:"app/tools/yourdashboard/list/clone.modal.html",controller:"YourdashboardListCloneModalCtrl"});e.result.then(function(e){return h.save({id:b,controller:"clone"},e).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.gridOptions.getPage()})["catch"](function(a){console.error(a),d.error(a)})},function(){g.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards.list",{url:"/list",templateUrl:"app/tools/yourdashboard/list/list.html",controller:"YourdashboardListCtrl"})}]),angular.module("xCallyShuttleApp").controller("LeaveEditedDashboardModalCtrl",["$scope","$uibModalInstance",function(a,b){a.close=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardShowCtrl",["$scope","$rootScope","localStorageService","xAlert","$translate","Auth","$stateParams","$location","$uibModal","$log","YourDashboard",function(a,b,c,d,e,f,g,h,i,j,k){a.Auth=f,a.editMode=!1,a.getDashboard=function(){return k.get({id:g.id}).$promise.then(function(b){var c={name:"dashboard",structure:"4-8",enableconfirmdelete:!0,maximizable:!0,collapsible:!0};b.model=JSON.parse(b.model||'{"title":"Dashboard"}'),b.editable=f.isAdmin()&&b.editable?!0:!1,a.dashboard=_.merge(c,b)})["catch"](function(a){h.path("/tools/yourdashboards/list")})},a.$on("$locationChangeStart",function(b,c,d){if(a.editMode){b.preventDefault();var e=i.open({animation:!0,templateUrl:"app/tools/yourdashboard/show/leaveEditedDashboard.modal.html",controller:"LeaveEditedDashboardModalCtrl"});e.result.then(function(b){a.editMode=!1;var d=location.protocol+"//"+location.host;h.path(c.replace(d,""))},function(){j.info("Modal dismissed at: "+new Date)})}});var l=function(b,c,f){var h=angular.copy(a.dashboard);return h.name=a.dashboard.model.title,h.model=JSON.stringify(h.model),k.update({id:g.id},h).$promise.then(function(){d.show(e.instant("MESSAGE_DASHBOARD_SAVED")+"!","success"),a.editMode=!1})["catch"](function(b){d.error(b),h.model=JSON.parse(h.model),h.name="dashboard",a.dashboard=h})};a.$on("adfDashboardChanged",l),a.$on("adfIsEditMode",function(){a.editMode=!0}),a.$on("destroy",function(){console.log("main dashboard")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards.show",{url:"/show/:id",templateUrl:"app/tools/yourdashboard/show/show.html",controller:"YourdashboardShowCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.getDashboard=function(){b.get("/api/dashboards/"+e.id).success(function(b){delete b.model,a.dashboard=b}).error(function(a){f.path("/tools/yourdashboards/list")})},a.updateDashboard=function(){var f=angular.copy(a.dashboard);b.put("/api/dashboards/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.error(b),a.dashboard=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards.view",{url:"/view/:id",templateUrl:"app/tools/yourdashboard/view/view.html",controller:"YourdashboardViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.yourdashboards.view.settings",{url:"/settings",templateUrl:"app/tools/yourdashboard/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("YourDashboard",["$resource",function(a){return a("/api/dashboards/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards",{url:"/yourdashboards",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:2}}})}]),angular.module("xCallyShuttleApp").controller("ZendeskListCtrl",["$scope","ZendeskAccount","gridOptions","xAlert","$translate",function(a,b,c,d,e){a.initView=function(){var d={exporterCsvFilename:"zendesk_account.csv",columnDefs:[{name:"name",displayName:"APPLICATION_NAME"},{name:"username"},{name:"remoteUri",displayName:"APPLICATION_URI"},{name:"action",buttons:[{"class":"blue-hoki",href:"/zendesk/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.checkAccount=function(a){return b.check({id:a}).$promise.then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.list",{url:"/list",templateUrl:"app/zendesk/list/list.html",controller:"ZendeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view.configurations",{url:"/configurations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewConfigurationListCtrl",["$scope","$stateParams","$translate","gridOptions","ZendeskConfiguration","$uibModal",function(a,b,c,d,e,f){a.initView=function(){var c={exporterCsvFilename:"zendesk_configurations.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/zendesk/view/{{row.entity.AccountId}}/configurations/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(e,c,a,{accountId:b.id})},a.createItem=function(){var b=f.open({animation:!0,templateUrl:"app/zendesk/view/configuration/list/create.modal.html",controller:"ZendeskCreateConfigurationCtrl"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ZendeskCreateConfigurationCtrl",["$scope","$translate","$uibModalInstance","ZendeskConfiguration","xAlert","$stateParams","channel",function(a,b,c,d,e,f,g){a.form={},a.item={},a.channels=g,a.item.channel="voice",a.item.type="Queue",a.save=function(){return d.save({accountId:f.id},a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view.configurations.list",{url:"/list",templateUrl:"app/zendesk/view/configuration/list/list.html",controller:"ZendeskViewConfigurationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewConfigurationViewCtrl",["$scope","$stateParams","$filter","$translate","socket","ZendeskConfiguration","xAlert","variable","Variable","ZendeskAccount","Tag","ZendeskField",function(a,b,c,d,e,f,g,h,i,j,k,l){a.$on("$destroy",function(){e.unsyncUpdates("zendesk_field")}),a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:300,scrollInertia:0},a.fieldType=[{type:"string",title:"String"},{type:"variable",title:"Variable"},{type:"customVariable",title:"Custom Variable"}],a.descFieldType=[{type:"string",title:"String"},{type:"keyValue",title:"Key Value"}],a.groupVariableByGroup=function(a){switch(a.group){case"voice_queue":return"Voice: Queue";case"voice_outbound":return"Voice: Outbound";default:return"Other"}},a.initView=function(){a.configurationName="",a.subjectConfig=[],a.descriptionConfig=[],a.fieldConfig=[],a.selectedTags={tags:[]},a.variables=h},a.getConfiguration=function(){return f.get({accountId:b.id,id:b.configurationId}).$promise.then(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,a.selectedTags={tags:_.map(b.Tags,function(a){return a.id})},e.socket.on("zendesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})})["catch"](function(a){g.error(a)})},a.getCustomVariables=function(){return i.get().$promise.then(function(b){a.customVariables=b.rows})["catch"](function(a){g.error(a)})},a.getFields=function(){return j.fields({id:b.id}).$promise.then(function(b){a.accountFields=c("zendesk")(b)})["catch"](function(a){g.error(a)})},a.getTags=function(){return k.get().$promise.then(function(b){a.tags=b.rows})["catch"](function(a){g.error(a)})},a.addItem=function(c){var d={};switch(c){case"subject":case"description":d={type:"string",content:""};break;case"field":d={content:""}}return f.save({accountId:b.id,id:b.configurationId,controller:c},d).$promise.then(function(b){switch(c){case"subject":a.subjectConfig.push(b);break;case"description":a.descriptionConfig.push(b);break;case"field":a.fieldConfig.push(b)}})["catch"](function(a){g.error(a)})},a.changeType=function(b){"variable"===b.type?(b.content="",b.variableName=""):"string"===b.type?(b.VariableId=null,b.variableName=""):"customVariable"===b.type&&(b.VariableId=null,b.content=""),a.updateField(b)},a.updateField=function(a){return l.update({accountId:b.id,configurationId:b.configurationId,id:a.id},a).$promise.then(function(){})["catch"](function(a){g.error(a)})},a.removeItem=function(a){return l["delete"]({accountId:b.id,configurationId:b.configurationId,id:a.id}).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})},a.changeDescType=function(b){"keyValue"===b.type?(b.content="","string"===b.keyType?(b.VariableId=null,b.variableName=""):"variable"===b.keyType?(b.keyContent="",b.VariableId=null):"customVariable"===b.keyType&&(b.keyContent="",b.variableName="")):"string"===b.type&&(b.VariableId=null,b.variableName="",b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.variableName="",b.nameField="",b.VariableId=null,b.idField){var c=_.find(a.accountFields,"id",b.idField);c&&(c.system_field_options?(b.customField=!1,b.nameField=c.title.toLowerCase()):b.customField=!0)}a.updateField(b)},a.updateTags=function(){return f.update({accountId:b.id,id:b.configurationId,controller:"tags"},a.selectedTags.tags).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){g.error(a)})},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.system_field_options?c.system_field_options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view.configurations.view",{url:"/view/:configurationId",templateUrl:"app/zendesk/view/configuration/view/view.html",controller:"ZendeskViewConfigurationViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewCtrl",["$scope","$stateParams","$translate","xAlert","Modal","ZendeskAccount",function(a,b,c,d,e,f){a.initView=function(){return f.get({id:b.id}).$promise.then(function(b){a.account=b})["catch"](function(a){d.error(a)})},a.updateItem=function(){return f.update({id:b.id},a.account).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view",{url:"/view/:id",templateUrl:"app/zendesk/view/view.html",controller:"ZendeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.zendesk.view.account",{url:"/account",templateUrl:"app/zendesk/view/view.account.html"})}]),angular.module("xCallyShuttleApp").controller("ZendeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler","ZendeskAccount",function(a,b,c,d,e,f,g){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.authType="password",a.item.serverUrl=c.protocol()+"://"+location.host},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){return g.save(a.item).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/zendesk/list")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.wizard",{url:"/wizard",templateUrl:"app/zendesk/wizard/wizard.html",controller:"ZendeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("ZendeskAccount",["$resource",function(a){return a("/api/zendesk/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"},fields:{params:{controller:"fields"},isArray:!0},check:{params:{controller:"check"}}})}]).factory("ZendeskConfiguration",["$resource",function(a){return a("/api/zendesk/accounts/:accountId/configurations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]).factory("ZendeskField",["$resource",function(a){return a("/api/zendesk/accounts/:accountId/configurations/:configurationId/fields/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk",{url:"/zendesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Auth",["$location","$rootScope","$http","User","$cookieStore","$q",function(a,b,c,d,e,f){var g={};return e.get("token")&&(g=d.me()),{login:function(a,h){var i=h||angular.noop,j=f.defer();return c.post("/auth/local",{name:a.name,password:a.password,remember:a.remember}).success(function(a){return e.put("role",a.role),e.put("token",a.token),e.put("userId",a.userId),g=d.me({},function(){b.$broadcast("login")}),j.resolve(a),i()}).error(function(a){return this.logout(),j.reject(a),i(a)}.bind(this)),j.promise},recover:function(a,b){var d=b||angular.noop,e=f.defer();return c.post("/auth/local/recover",{email:a.email}).success(function(a){return e.resolve(a),d()}).error(function(a){return e.reject(a),d(a)}.bind(this)),e.promise},reset:function(a,b){var d=b||angular.noop,e=f.defer();return c.post("/auth/local/reset/"+a.token,{password:a.password}).success(function(a){return e.resolve(a),d()}).error(function(a){return e.reject(a),d(a)}.bind(this)),e.promise},loginWithToken:function(a,c,f){e.put("role",f),e.put("token",a),e.put("userId",c),g=d.me({},function(){b.$broadcast("login")})},logout:function(){c.put("/api/users/"+g.id,{online:!1}).success(function(){e.remove("role"),e.remove("token"),e.remove("userId"),g={},b.$broadcast("logout")}).error(function(a){return a})},createUser:function(a,b){var c=b||angular.noop;return d.save(a,function(b){return e.put("token",b.token),g=d.me(),c(a)},function(a){return this.logout(),c(a)}.bind(this)).$promise},changePassword:function(a,b,c){var e=c||angular.noop;return d.changePassword({id:g.id},{oldPassword:a,newPassword:b},function(a){return e(null,a)},function(a){return e(a)}).$promise},getCurrentUser:function(){return g},isLoggedIn:function(){return g.hasOwnProperty("role")},isLoggedInAsync:function(a){g.hasOwnProperty("$promise")?g.$promise.then(function(){a(!0)})["catch"](function(){a(!1)}):a(g.hasOwnProperty("role")?!0:!1)},isAdmin:function(){return"admin"===(e.get("role")||g.role)},isUser:function(){return"user"===(e.get("role")||g.role)},isAgent:function(){return"agent"===(e.get("role")||g.role)},getRole:function(){return g.role},getToken:function(){return e.get("token")}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderAccountEmail",["$compile","$timeout","MailAccount","xAlert",function(a,b,c,d){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/accountEmail/actionBuilder.html",compile:function(e){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var g,h;return g=e.contents().remove(),function(e,i){e.randomName=f(),b(function(){return c.get().$promise.then(function(a){e.accounts=a})["catch"](function(a){d.error(a)})}),h||(h=a(g)),i.append(h(e,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderAccountTemplate",["$compile","xAlert","$http","$timeout","Template","MailAccount",function(a,b,c,d,e,f){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/accountTemplate/actionBuilder.html",compile:function(c){function g(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var h,i;return h=c.contents().remove(),function(c,j){c.randomName=g(),d(function(){return e.get().$promise.then(function(a){c.templates=a}).then(function(){return f.get()}).then(function(a){c.accounts=a})["catch"](function(a){b.error(a)})}),i||(i=a(h)),j.append(i(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderClose",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/close/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderEmail",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/email/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderForward",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/forward/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderHttp",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/http/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),b.methods=["GET","POST"],e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderIntegration",["$compile","xAlert","$http","$timeout","Integration","$translate","ZendeskAccount","DeskAccount","SalesforceAccount","FreshdeskAccount","SugarcrmAccount",function(a,b,c,d,e,f,g,h,i,j,k){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/integration/actionBuilder.html",compile:function(c){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var l,m;return l=c.contents().remove(),function(c,n){c.randomName=f(),d(function(){return e.get({active:1}).$promise.then(function(a){_.remove(a.rows,function(a){return"iframe"===a.state}),c.integrations=a.rows,c.element.data1&&o()})["catch"](function(a){b.error(a)})});var o=function(){var a;switch(c.element.data1){case"zendesk":a=g;break;case"desk":a=h;break;case"salesforce":a=i;break;case"freshdesk":a=j;break;case"sugarcrm":a=k}return a?a.get().$promise.then(function(a){c.accounts=a.rows,c.element.data2&&p()})["catch"](function(a){b.error(a)}):void 0},p=function(){c.configurations=_.find(c.accounts,{id:Number(c.element.data2)}).Configurations};c.changeIntegration=function(){c.element.data2="",o()},c.changeAccount=function(){c.element.data3="",p()},m||(m=a(l)),n.append(m(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderJscripty",["$compile","xAlert","$http","$timeout","Template","$translate","JscriptyProject",function(a,b,c,d,e,f,g){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/jscripty/actionBuilder.html",compile:function(c){var e,f;return e=c.contents().remove(),function(c,h){function i(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}c.randomName=i(),d(function(){return g.get().$promise.then(function(a){console.log(a),c.projects=a.rows})["catch"](function(a){b.error(a)})}),f||(f=a(e)),h.append(f(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderMotionBar",["$compile","xAlert","$http","$timeout","Template",function(a,b,c,d,e){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/motionbar/actionBuilder.html",compile:function(c){var f,g;return f=c.contents().remove(),function(c,h){function i(){return e.get().$promise.then(function(a){c.templates=a.rows})["catch"](function(a){b.error(a)})}function j(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}c.randomName=j(),c.motionActions=[{name:"Popup",value:"0"},{name:"URL",value:"1"},{name:"Windows App",value:"2"}],c.changeMode=function(){c.element.data2="",c.element.data3="",i()},d(function(){return i()}),g||(g=a(f)),h.append(g(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderStatus",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/status/actionBuilder.html",compile:function(b){var c,d;return c=b.contents().remove(),function(b,e){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}b.randomName=f(),b.states=[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"}],d||(d=a(c)),e.append(d(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderTag",["$compile","xAlert","$http","$timeout","Tag",function(a,b,c,d,e){return{restrict:"E",scope:{myElement:"=element",form:"="},
-templateUrl:"components/directives/action/tag/actionBuilder.html",compile:function(c){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var g,h;return g=c.contents().remove(),function(c,i){console.log("myElement",c.myElement),c.randomName=f(),c.data={tags:c.myElement.data1?c.myElement.data1.split(";"):[]},c.$watch("data.tags",function(a){c.myElement.data1=a.join(";")}),d(function(){return e.get().$promise.then(function(a){c.tags=a.rows})["catch"](function(a){b.error(a)})}),h||(h=a(g)),i.append(h(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderTemplate",["$compile","xAlert","$http","$timeout","Template",function(a,b,c,d,e){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/template/actionBuilder.html",compile:function(c){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var g,h;return g=c.contents().remove(),function(c,i){c.randomName=f(),d(function(){return e.get().$promise.then(function(a){c.templates=a.rows})["catch"](function(a){b.error(a)})}),h||(h=a(g)),i.append(h(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderUrlForward",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/urlforward/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),b.types=[{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("conditionBuilder",["$compile","$timeout","$translate","xAlert",function(a,b,c,d){return{restrict:"E",scope:{element:"=",serviceindex:"=",service:"=",form:"="},templateUrl:"components/directives/condition/conditionBuilder.html",compile:function(e){var f,g;return f=e.contents().remove(),function(e,h){function i(a){var b=_.find(e.service.services[e.serviceindex].conditions,{value:a});if(b)if(e.elementType=b.type,b.arr)e.values=b.arr;else if(b.resource)return b.resource.get(b.params||{}).$promise.then(function(a){e.values=_.map(a.rows,function(a){return{name:a[b.resName||b.resValue],value:a[b.resValue]}})})["catch"](function(a){d.show(c.instant(a.message),"danger")})}function j(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}e._=_,e.randomName=j(),b(function(){e.element.field&&i(e.element.field)}),e.checkCondition=function(a){e.element.value="",e.element.operator="",i(a)},g||(g=a(f)),h.append(g(e,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").factory("xNotificationLicense",["Notification","$rootScope","$location",function(a,b,c){return{show:function(d){var e=b.$new();return e["class"]="alert-warning",e.icon="fa fa-exclamation-triangle",e.more=function(){c.path("/setting/license/view")},new a({delay:d,templateUrl:"components/factories/xNotificationLicense/xNotificationLicense.html",scope:e})}}}]),angular.module("xCallyShuttleApp").filter("secToTime",[function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}]),angular.module("xCallyShuttleApp").controller("FooterController",["$scope","Setting",function(a,b){a.year=moment().year(),a.$on("$includeContentLoaded",function(){Layout.initFooter()}),a.initFooter=function(){return b.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("HeaderController",["$scope","$rootScope","$location","$state","$http","$interval","$notification","Auth","xAlert","socket","xNotificationLicense","toastr","localStorageService","Agent","SmsReport","MailReport","OpenChannelReport","ChatReport","ChatRoom","xNotification","$timeout","$translate","$window","User","Pause","Action","FaxReport","List","MailAccount","ChatWebsite","FaxAccount","SmsAccount","OpenChannelAccount","ReportAgent","$uibModal","$log","ReportDial",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K){function L(a,b,c){return null===b&&(b=50),null===c&&(c="..."),a&&a.length>b?a.substring(0,b-c.length)+c:a}function M(b){var c,d="reason";switch(b){case"mail":c=p;break;case"chat":c=r;break;case"fax":c=A;break;case"sms":c=o;break;case"agent":c=H,d="lastevent";break;case"dial":c=K,d="dialstatus";break;case"openchannel":c=q;break;default:return}return c.get({limit:10,order:"updatedAt DESC"}).$promise.then(function(c){_.forEach(c.rows,function(a){if(a[d])switch(a[d].toLowerCase()){case"answer":case"connect":case"complete":a.status="taken";break;case"answered_elsewhere":a.status="taken_elsewhere";break;case"called":a.status="lost";break;case"busy":a.status="busy";break;case"rejected":a.status="rejected";break;case"cancel":case"abandoned":a.status="abandoned"}}),a.agentNotifications[b].rows=c.rows,j.socket.on("report_"+b+":save",function(c){c.status="none",a.agentNotifications[b].rows.unshift(c),"agent"!==b&&"dial"!==b&&(a.agentNotifications[b].timeout[c.id]=setTimeout(function(){clearTimeout(a.agentNotifications[b].timeout[c.id]),_.find(a.agentNotifications[b].rows,{id:c.id}).status="lost",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications[b]["new"]++,delete a.agentNotifications[b].timeout[c.id]},1e3*c.timeslot))}),j.socket.on("report_"+b+":update",function(c){if("agent"===b){var e=_.find(a.activeCalls,{id:c.id});e&&(c.agentcomplete||c.agentringnoanswer||c.agentdump)?_.remove(a.activeCalls,{id:c.id}):!c.agentconnectAt||c.agentcomplete||c.agentringnoanswer||c.agentdump||a.activeCalls.push(c)}var f=_.find(a.agentNotifications[b].rows,{id:c.id});if(f&&("agent"!==b&&"dial"!==b&&a.agentNotifications[b].timeout[c.id]&&(clearTimeout(a.agentNotifications[b].timeout[c.id]),delete a.agentNotifications[b].timeout[c.id]),c[d])){switch(c[d].toLowerCase()){case"answer":case"connect":case"complete":c.status="taken";break;case"answered_elsewhere":c.status="taken_elsewhere",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications.chat["new"]++;break;case"busy":c.status="busy",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications[b]["new"]++;break;case"rejected":c.status="rejected";break;case"cancel":case"abandoned":c.status="abandoned",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications[b]["new"]++}_.merge(f,c)}})})["catch"](function(a){i.error(a)})}function N(){return a.headerAgent=h.getCurrentUser(),a.readyTimer=1e3*moment().unix(),y.get().$promise.then(function(b){a.headerPauses=b.rows,j.syncUpdates("pause",a.headerPauses)})["finally"](function(){j.socket.on("agent:save",function(b){a.headerAgent.id===b.id&&(_.merge(a.headerAgent,b),b.voicePause&&b.mailPause&&b.chatPause&&b.faxPause&&b.smsPause&&b.openchannelPause||(a.readyTimer=1e3*moment().unix()),b.online||a.logout())})})["catch"](function(a){console.log("Error synchronizing agent status:",a)})}function O(){return H.get({id:"active",controller:"calls"}).$promise.then(function(b){a.activeCalls=b.rows})["catch"](function(a){i.error(a)})}a.moment=moment,$(document).on("click",".tabbed-dropdown",function(a){a.stopPropagation()}),a.license.token!==a.license.token2&&(h.isAdmin()||h.isUser())&&f(function(){"main.setting.license.view"!==d.current.name&&k.show(3e4)},3e4),a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:c});if(d)d.active=!0;else{var e;switch(c){case"mailRoom":e="icon-envelope";break;case"chatRoom":e="fa fa-users";break;case"faxRoom":e="icon-paper-plane";break;case"smsRoom":e="glyphicon glyphicon-comment";break;case"openchannelRoom":e="icon-globe"}a.workspaces.push({id:b,type:c,"class":e,active:!0})}},a.toggleSidebar=function(){b.settings.layout.pageSidebarClosed=!b.settings.layout.pageSidebarClosed,m.set("sidebarClosed",b.settings.layout.pageSidebarClosed)},a.chooseContact=function(b){var c=I.open({animation:!0,templateUrl:"app/main/chooseContact.modal.html",controller:"ChooseContactModalCtrl",resolve:{data:function(){return{type:"detail",phone:b,mobile:b}}}});c.result.then(function(c){c?a.openContactTab(c):a.newContact({calleridnum:b})},function(){J.info("Modal dismissed at: "+new Date)})},a.loadNotifications=function(b){if(!a.busyLoad[b].end){a.busyLoad[b].busy=!0;var c,d="reason";switch(b){case"mail":c=p;break;case"chat":c=r;break;case"fax":c=A;break;case"sms":c=o;break;case"agent":c=H,d="lastevent";break;case"dial":c=K,d="dialstatus";break;case"openchannel":c=q;break;default:return}return c.get({limit:10,offset:a.agentNotifications[b].rows.length,order:"updatedAt DESC"}).$promise.then(function(c){c.rows.length?(_.forEach(c.rows,function(a){if(a[d])switch(a[d].toLowerCase()){case"answer":case"connect":case"complete":a.status="taken";break;case"answered_elsewhere":a.status="taken_elsewhere";break;case"called":a.status="lost";break;case"busy":a.status="busy";break;case"rejected":a.status="rejected";break;case"abandoned":a.status="abandoned"}}),a.agentNotifications[b].rows=a.agentNotifications[b].rows.concat(c.rows)):a.busyLoad[b].end=!0,a.busyLoad[b].busy=!1})["catch"](function(a){i.error(a)})}},a.headerPause=function(b,c,d){return z.save({name:b,agent:a.headerAgent.id,type:c||"DEFAULT PAUSE",data4:c||"DEFAULT PAUSE",channel:d||"all"}).$promise.then(function(){i.show(v.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})},"agent"===h.getCurrentUser().role&&(N(),a.agentNotifications={mail:{rows:[],"new":0,timeout:{}},chat:{rows:[],"new":0,timeout:{}},fax:{rows:[],"new":0,timeout:{}},sms:{rows:[],"new":0,timeout:{}},agent:{rows:[],"new":0},dial:{rows:[],"new":0},openchannel:{rows:[],"new":0}},a.busyLoad={mail:{busy:!1,end:!1},chat:{busy:!1,end:!1},fax:{busy:!1,end:!1},sms:{busy:!1,end:!1},agent:{busy:!1,end:!1},dial:{busy:!1,end:!1},openchannel:{busy:!1,end:!1}},O(),M("agent"),M("dial"),a.license.mail&&M("mail"),a.license.chat&&M("chat"),a.license.fax&&M("fax"),a.license.messaging&&M("sms"),a.license.openchannel&&M("openchannel")),j.socket.on("user_has_chat_room:save",function(b){var c;return s.get({id:Number(b.ChatRoomId)}).$promise.then(function(b){console.log("chatRoom",b),c=b;var d=_.find(a.workspaces,{id:Number(c.id),type:"chatRoom"});d?d.name=a.getFullnames(c):a.workspaces.push({id:c.id,name:a.getFullnames(c),type:"chatRoom","class":"icon-bubble",unread:1})})["catch"](function(a){console.error(a)})}),j.socket.on("chat_message:save",function(b){var c;if(b.UserId!==h.getCurrentUser().id){var d=_.find(a.workspaces,{id:Number(b.ChatRoomId),type:"chatRoom"});if(!d)return s.get({id:Number(b.ChatRoomId)}).$promise.then(function(b){c=b,a.workspaces.push({id:c.id,name:a.getFullnames(b),type:"chatRoom","class":"icon-bubble",unread:1})})["catch"](function(a){console.error(a)})}});var P=function(){return w.Notification},Q=function(){b.settings.layout.onFocus=!0},R=function(){b.settings.layout.onFocus=!1};w.onfocus=Q,w.onblur=R,a.getFullnames=function(a){var b=_.map(a.Users,"fullname");return a.ChatVisitor&&b.unshift(a.ChatVisitor.fullname),_.without(b,h.getCurrentUser().fullname).join(", ")},a.openContact=function(b,c,d){if(d&&"<unknown>"!==d){var e,f;switch(b){case"mail":e=C,f={email:d};break;case"chat":e=D,f={email:d};break;case"fax":e=E,f={fax:d};break;case"sms":e=F,f={mobile:d};break;default:return}return e.get({id:c}).$promise.then(function(a){return a.ListId?B.save({listId:a.ListId,controller:"contacts"},f).$promise:null}).then(function(b){if(b){var c=_.find(a.workspaces,{contactID:b.id});c?c.active=!0:a.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.email,type:"contact"})}else i.show(v.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")})["catch"](function(a){console.error(a)})}},a.initHeader=function(){"agent"===h.getCurrentUser().role&&(j.socket.on("report_chat:save",function(a){P&&!b.settings.layout.onFocus&&g("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Chat Visitor!",delay:1e3*a.timeslot});var c="<b>"+v.instant("APPLICATION_FROM")+"</b>: "+a.visitorname+"<br><b>"+v.instant("APPLICATION_EMAIL")+"</b>: "+a.visitoremail;"queue"===a.application&&(c+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+a.queuename),t.show(v.instant("APPLICATION_NEW_CHAT_REQUEST"),c,"chat",1e3*a.timeslot,function(){return r.get({id:a.id,controller1:"accept",controller2:a.uniqueid}).$promise.then(function(){i.show("Chat properly assigned","success")})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_CHAT_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return r.get({id:a.id,controller1:"reject"}).$promise.then(function(){i.show("Chat properly rejected","success")})["catch"](function(a){i.error(a)})})}),j.socket.on("report_mail:save",function(c){var d=_.find(a.workspaces,{id:c.roomid,type:"mailRoom"});if(!d){var e="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+c.accountname+"<br> <b>"+v.instant("APPLICATION_FROM")+"</b>: "+c.from+"<br> <b>"+v.instant("APPLICATION_SUBJECT")+"</b>: "+(L(c.subject,30,"...")||"No subject");"queue"===c.application&&(e+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+c.queuename),t.show(v.instant("APPLICATION_NEW_MAIL_REQUEST"),e,"mail",1e3*c.timeslot,function(){return p.get({id:c.id,controller1:"accept",controller2:c.uniqueid}).$promise.then(function(){var b=_.find(a.workspaces,{id:c.roomid,type:"mailRoom"});b?b.active=!0:a.workspaces.push({id:c.roomid,name:c.subject||"No subject",type:"mailRoom","class":"icon-envelope",active:!0,unread:0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_MAIL_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return p.get({id:c.id,controller1:"reject"}).$promise["catch"](function(a){i.error(a)})}),P&&!b.settings.layout.onFocus?g("MAIL CHANNEL",{icon:"assets/images/media/channels/mail64.png",body:"NEW Incoming Mail Message!",delay:1e3*c.timeslot}):console.log("Notification API not supported in your browser")}}),j.socket.on("report_sms:save",function(b){var c="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+b.accountname+"<br> <b>"+v.instant("APPLICATION_FROM")+"</b>: "+b.from;"queue"===b.application&&(c+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+b.queuename),t.show(v.instant("APPLICATION_NEW_SMS_REQUEST"),c,"sms",1e3*b.timeslot,function(){return o.get({id:b.id,controller1:"accept",controller2:b.uniqueid}).$promise.then(function(){var c=_.find(a.workspaces,{id:b.roomid,type:"smsRoom"});c?c.active=!0:a.workspaces.push({id:b.roomid,name:b.from,type:"smsRoom","class":"glyphicon glyphicon-comment",active:!0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_SMS_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return o.get({id:b.id,controller1:"reject"}).$promise.then(function(){i.show("SMS properly rejected","success")})["catch"](function(a){i.error(a)})}),P?g("SMS CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming SMS Message!",delay:1e3*b.timeslot}):console.log("Notification API not supported in your browser")}),j.socket.on("report_openchannel:save",function(b){var c="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+b.accountname+"<br> <b>"+v.instant("APPLICATION_FROM")+"</b>: "+b.from;"queue"===b.application&&(c+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+b.queuename),t.show(v.instant("APPLICATION_NEW_MESSAGE"),c,"openchannel",1e3*b.timeslot,function(){return q.get({id:b.id,controller1:"accept",controller2:b.uniqueid}).$promise.then(function(){var c=_.find(a.workspaces,{id:b.roomid,type:"openchannelRoom"});c?c.active=!0:a.workspaces.push({id:b.roomid,name:b.from,type:"openchannelRoom","class":"icon-globe",active:!0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return q.get({id:b.id,controller1:"reject"}).$promise.then(function(){i.show("Message properly rejected","success")})["catch"](function(a){i.error(a)})}),P?g("OPEN CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Message!",delay:1e3*b.timeslot}):console.log("Notification API not supported in your browser")}),j.socket.on("report_fax:save",function(c){var d=_.find(a.workspaces,{id:c.roomid,type:"faxRoom"});if(!d){var e="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+c.accountname+"<br> <b>"+v.instant("APPLICATION_PHONE")+"</b>: "+c.from;"queue"===c.application&&(e+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+c.queuename),t.show(v.instant("APPLICATION_NEW_FAX_REQUEST"),e,"fax",1e3*c.timeslot,function(){return A.get({id:c.id,controller1:"accept",controller2:c.uniqueid}).$promise.then(function(){var b=_.find(a.workspaces,{id:c.roomid,type:"faxRoom"});b?b.active=!0:a.workspaces.push({id:c.roomid,name:c.from,type:"faxRoom","class":"icon-paper-plane",active:!0,unread:0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_FAX_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return A.get({id:c.id,controller1:"reject"}).$promise["catch"](function(a){i.err(a)})}),P&&!b.settings.layout.onFocus?g("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*c.timeslot}):console.log("Notification API not supported in your browser")}}))},a.logout=function(){return e.get("/auth/local/logout").success(function(){h.logout(),c.path("/login")}).error(function(a){console.error(a)})},a.isActive=function(a){return a===c.path()},a.$on("$destroy",function(){console.log("header $destroy"),j.unsyncUpdates("pause"),j.unsyncUpdates("agent"),j.unsyncUpdates("report_chat"),j.unsyncUpdates("report_mail"),j.unsyncUpdates("report_fax"),j.unsyncUpdates("report_sms"),j.unsyncUpdates("report_openchannel"),j.unsyncUpdates("user_has_chat_room"),j.unsyncUpdates("chat_message")})}]),angular.module("xCallyShuttleApp").factory("Modal",["$rootScope","$uibModal",function(a,b){function c(c,d){var e=a.$new();return c=c||{},d=d||"modal-default",angular.extend(e,c),b.open({templateUrl:"components/modal/delete.html",windowClass:d,scope:e})}return{confirm:{"delete":function(a){return a=a||angular.noop,function(){var b,d=Array.prototype.slice.call(arguments),e=d.shift();b=c({modal:{dismissable:!0,title:"Confirm Delete",html:"<p>Are you sure you want to delete"+(e?"<strong> "+e+"</strong>":" selected items")+"?</p>",buttons:[{classes:"btn red",text:"Delete",click:function(a){b.close(a)}},{classes:"btn default",text:"Cancel",click:function(a){b.dismiss(a)}}]}},"over-topbar center"),b.result.then(function(b){a.apply(b,d)})}}}}}]),angular.module("xCallyShuttleApp").service("application",function(){var a={applications:[{type:null,name:"APPLICATION_QUEUE",value:"Queue"},{type:null,name:"APPLICATION_PLAYBACK",value:"Playback"},{type:null,name:"Dial",value:"Dial"},{type:"internalDial",name:"APPLICATION_INTERNAL_DIAL",value:"Dial"},{type:"externalDial",name:"APPLICATION_EXTERNAL_DIAL",value:"Dial"},{type:"RingGroup",name:"Ring Group",value:"Dial"},{type:null,name:"Cally-Square Project",value:"AGI"},{type:null,name:"GoTo",value:"Goto"},{type:null,name:"Hangup",value:"Hangup"},{type:null,name:"Set",value:"Set"},{type:"custom",name:"Custom",value:"custom"},{type:null,name:"APPLICATION_VOICEMAIL",value:"Voicemail"}],queueOptions:[{value:"C",name:"APPLICATION_QUEUE_OPTION_C"},{value:"c",name:"APPLICATION_QUEUE_OPTION_c"},{value:"d",name:"APPLICATION_QUEUE_OPTION_d"},{value:"F",name:"APPLICATION_QUEUE_OPTION_F"},{value:"h",name:"APPLICATION_QUEUE_OPTION_h"},{value:"H",name:"APPLICATION_QUEUE_OPTION_H"},{value:"n",name:"APPLICATION_QUEUE_OPTION_n"},{value:"i",name:"APPLICATION_QUEUE_OPTION_i"},{value:"I",name:"APPLICATION_QUEUE_OPTION_I"},{value:"r",name:"APPLICATION_QUEUE_OPTION_r"},{value:"R",name:"APPLICATION_QUEUE_OPTION_R"},{value:"t",name:"APPLICATION_QUEUE_OPTION_t"},{value:"T",name:"APPLICATION_QUEUE_OPTION_T"},{value:"w",name:"APPLICATION_QUEUE_OPTION_w"},{value:"W",name:"APPLICATION_QUEUE_OPTION_W"},{value:"k",name:"APPLICATION_QUEUE_OPTION_k"},{value:"K",name:"APPLICATION_QUEUE_OPTION_K"},{value:"x",name:"APPLICATION_QUEUE_OPTION_x"},{value:"X",name:"APPLICATION_QUEUE_OPTION_X"}],audioOptions:[{value:"skip",name:"APPLICATION_PLAYBACK_OPTION_SKIP"},{value:"noanswer",name:"APPLICATION_PLAYBACK_OPTION_NOANSWER"},{value:"j",name:"APPLICATION_PLAYBACK_OPTION_J"},{value:"say",name:"APPLICATION_PLAYBACK_OPTION_SAY"}],hangupCauses:[{value:"",name:"--"},{value:"1",name:"APPLICATION_HANGUP_CAUSE_1"},{value:"16",name:"APPLICATION_HANGUP_CAUSE_16"},{value:"17",name:"APPLICATION_HANGUP_CAUSE_17"},{value:"18",name:"APPLICATION_HANGUP_CAUSE_18"},{value:"21",name:"APPLICATION_HANGUP_CAUSE_21"},{value:"22",name:"APPLICATION_HANGUP_CAUSE_22"},{value:"27",name:"APPLICATION_HANGUP_CAUSE_27"},{value:"38",name:"APPLICATION_HANGUP_CAUSE_38"},{value:"41",name:"APPLICATION_HANGUP_CAUSE_41"}],intTypes:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"custom",name:"APPLICATION_CUSTOM"},{value:"list",name:"APPLICATION_FROM_LIST"}],checkUnderscore:function(a){return 0===a.indexOf("_")?a:"_"+a}};return{application:a}}),angular.module("xCallyShuttleApp").service("automations",function(){var a={mail:{conditions:[{name:"APPLICATION_STATUS",value:"status",type:"select",arr:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",type:"input",operators:[{value:"greater_or_equal",name:"APPLICATION_GTE_TO"},{value:"less_or_equal",name:"APPLICATION_LTE_TO"},{value:"greater",name:"APPLICATION_GREATER_THAN"},{value:"less",name:"APPLICATION_LESS_THAN"}]}],actions:[{name:"APPLICATION_STATUS",value:"status"}]},chat:{conditions:[{name:"APPLICATION_STATUS",value:"status",type:"select",arr:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",type:"input",operators:[{value:"greater_or_equal",name:"APPLICATION_GTE_TO"},{value:"less_or_equal",name:"APPLICATION_LTE_TO"},{value:"greater",name:"APPLICATION_GREATER_THAN"},{value:"less",name:"APPLICATION_LESS_THAN"}]}],actions:[{name:"APPLICATION_STATUS",value:"status"}]},fax:{conditions:[{name:"APPLICATION_STATUS",value:"status",type:"select",arr:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",type:"input",operators:[{value:"greater_or_equal",name:"APPLICATION_GTE_TO"},{value:"less_or_equal",name:"APPLICATION_LTE_TO"},{value:"greater",name:"APPLICATION_GREATER_THAN"},{value:"less",name:"APPLICATION_LESS_THAN"}]}],actions:[{name:"APPLICATION_STATUS",value:"status"}]}},b=["mail","fax","chat"];return{services:a,channels:b}}),angular.module("xCallyShuttleApp").service("channel",function(){var a=[{name:"Voice",value:"voice"}];return a}),angular.module("xCallyShuttleApp").service("desk_com",function(){var a=[{id:"priority",label:"Priority",custom:!1,data:{choices:[1,2,3,4,5,6,7,8,9,10]}},{id:"status",label:"Status",custom:!1,data:{choices:["new","open","pending","resolved","closed"]}},{id:"type",label:"Type",custom:!1,data:{choices:["chat","twitter","email","qna","facebook","phone"]}}];return{fields:a}}),angular.module("xCallyShuttleApp").service("interval",function(){var a={months:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"jan",name:"APPLICATION_JANUARY"},{value:"feb",name:"APPLICATION_FEBRUARY"},{value:"mar",name:"APPLICATION_MARCH"},{value:"apr",name:"APPLICATION_APRIL"},{value:"may",name:"APPLICATION_MAY"},{value:"jun",name:"APPLICATION_JUNE"},{value:"jul",name:"APPLICATION_JULY"},{value:"aug",name:"APPLICATION_AUGUST"},{value:"sep",name:"APPLICATION_SEPTEMBER"},{value:"oct",name:"APPLICATION_OCTOBER"},{value:"nov",name:"APPLICATION_NOVEMBER"},{value:"dec",name:"APPLICATION_DECEMBER"}],monthsNumber:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"1",name:"APPLICATION_JANUARY"},{value:"2",name:"APPLICATION_FEBRUARY"},{value:"3",name:"APPLICATION_MARCH"},{value:"4",name:"APPLICATION_APRIL"},{value:"5",name:"APPLICATION_MAY"},{value:"6",name:"APPLICATION_JUNE"},{value:"7",name:"APPLICATION_JULY"},{value:"8",name:"APPLICATION_AUGUST"},{value:"9",name:"APPLICATION_SEPTEMBER"},{value:"10",name:"APPLICATION_OCTOBER"},{value:"11",name:"APPLICATION_NOVEMBER"},{value:"12",name:"APPLICATION_DECEMBER"}],daysOfWeek:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"mon",name:"APPLICATION_MONDAY"},{value:"tue",name:"APPLICATION_TUESDAY"},{value:"wed",name:"APPLICATION_WEDNESDAY"},{value:"thu",name:"APPLICATION_THURSDAY"},{value:"fri",name:"APPLICATION_FRIDAY"},{value:"sat",name:"APPLICATION_SATURDAY"},{value:"sun",name:"APPLICATION_SUNDAY"}],daysOfMonth:["always",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]};return{interval:a}}),angular.module("xCallyShuttleApp").service("report",["ReportAgent","ReportCall","ReportMailSession","ReportMember","ReportQueue","ReportIntegration","ReportChatSession","ReportSmsSession","Contact","Recording","ReportSquare","ReportSquareDetail","User","ReportFaxSession","MailRoom","MailMessage","FaxRoom","FaxMessage","ChatRoom","ChatMessage","SmsRoom","SmsMessage","OpenChannelRoom","OpenChannelMessage","ReportOpenChannelSession",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y){var z=[{value:"users",resource:m,channel:"General"},{value:"cm_contacts",resource:i,channel:"General"},{value:"report_integration_history",resource:f,channel:"General"},{value:"report_agent_history",resource:a,channel:"Voice"},{value:"report_call_history",resource:b,channel:"Voice"},{value:"report_member_history",resource:d,channel:"Voice"},{value:"report_queue_history",resource:e,channel:"Voice"},{value:"voice_recordings",resource:j,channel:"Voice"},{value:"report_square_history",resource:k,channel:"Voice"},{value:"report_square_details_history",resource:l,channel:"Voice"},{value:"report_chat_session_history",resource:g,channel:"Chat"},{value:"chat_rooms",resource:s,channel:"Chat"},{value:"chat_messages",resource:t,channel:"Chat"},{value:"report_mail_session_history",resource:c,channel:"Mail"},{value:"mail_rooms",resource:o,channel:"Mail"},{value:"mail_messages",resource:p,channel:"Mail"},{value:"report_fax_session_history",resource:n,channel:"Fax"},{value:"fax_rooms",resource:q,channel:"Fax"},{value:"fax_messages",resource:r,channel:"Fax"},{value:"report_sms_session_history",resource:h,channel:"Sms"},{value:"sms_rooms",resource:u,channel:"Sms"},{value:"sms_messages",resource:v,channel:"Sms"},{value:"report_openchannel_session_history",resource:y,channel:"Open Channel"},{value:"openchannel_rooms",resource:w,channel:"Open Channel"},{value:"openchannel_messages",resource:x,channel:"Open Channel"}];return{tables:z}}]),angular.module("xCallyShuttleApp").service("strategies",function(){return["beepall","roundrobin","rrmemory"]}),angular.module("xCallyShuttleApp").service("triggers",["VoiceQueue","Route",function(a,b){var c={voice:{conditions:[{name:"APPLICATION_QUEUE",value:"queue",type:"select",resource:a,resValue:"name",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_CALL_STATUS",value:"lastevent",type:"select",arr:[{name:"ringing",value:"called"},{name:"up",value:"connect"},{name:"hangup",value:"complete"},{name:"rejected",value:"rejected"},{name:"abandoned",value:"abandoned"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_OUTBOUND_ROUTE",value:"routeId",type:"select",resource:b,resValue:"id",resName:"exten",params:{type:"outbound"},operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]}],actions:[{name:"APPLICATION_CONTACT_MANAGER",value:"contactManager"},{name:"APPLICATION_INTEGRATIONS",value:"integration",propertyField:"select"},{name:"APPLICATION_MOTION_BAR",value:"motionbar",propertyField:"select"},{name:"APPLICATION_JSCRIPTY",value:"jscripty",propertyField:"select"},{name:"APPLICATION_URL_FORWARD",value:"urlForward"}]},mail:{conditions:[{name:"APPLICATION_FROM",value:"from",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_TO",value:"to",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_CC",value:"cc",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_SUBJECT",value:"subject",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"},{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_BODY",value:"text",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"},{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]}],actions:[{name:"APPLICATION_TEMPLATE",value:"template"},{name:"APPLICATION_EMAIL",value:"email"},{name:"APPLICATION_FORWARD",value:"forward"},{name:"APPLICATION_TAG",value:"tag"},{name:"APPLICATION_HTTP_REQUEST",value:"http"},{name:"APPLICATION_CLOSE",value:"close"}]},chat:{conditions:[{name:"APPLICATION_NAME",value:"fullname",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_EMAIL",value:"email",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]}],actions:[{name:"APPLICATION_EMAIL",value:"accountEmail"},{name:"APPLICATION_TEMPLATE",value:"accountTemplate"},{name:"APPLICATION_TAG",value:"tag"},{name:"APPLICATION_HTTP_REQUEST",value:"http"},{name:"APPLICATION_CLOSE",value:"close"}]},sms:{conditions:[{name:"APPLICATION_FROM",value:"from",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_BODY",value:"body",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"},{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]}],actions:[{name:"APPLICATION_EMAIL",value:"accountEmail"},{name:"APPLICATION_TEMPLATE",value:"accountTemplate"},{name:"APPLICATION_TAG",value:"tag"},{name:"APPLICATION_HTTP_REQUEST",value:"http"},{name:"APPLICATION_CLOSE",value:"close"}]}},d=["voice","mail","chat","sms"];return{services:c,channels:d}}]),angular.module("xCallyShuttleApp").service("variable",function(){var a=[{title:"Unique ID",
-name:"uniqueid",group:"voice_queue"},{title:"Caller Number",name:"calleridnum",group:"voice_queue"},{title:"Caller Name",name:"calleridname",group:"voice_queue"},{title:"Queue",name:"queue",group:"voice_queue"},{title:"Called Number",name:"destcalleridnum",group:"voice_queue"},{title:"Called Name",name:"destcalleridname",group:"voice_queue"},{title:"Hold Time",name:"holdtime",group:"voice_queue"},{title:"Talk Time",name:"talktime",group:"voice_queue"},{title:"Connected Time",name:"agentconnectAt",group:"voice_queue"},{title:"Called Time",name:"agentcalledAt",group:"voice_queue"},{title:"DNID",name:"destexten",group:"voice_queue"},{title:"Complete Time",name:"agentcompleteAt",group:"voice_queue"},{title:"No Answer Time",name:"agentringnoanswerAt",group:"voice_queue"},{title:"Recording URL",name:"recordingURL",group:"voice_queue"},{title:"Unique ID",name:"uniqueid",group:"voice_outbound"},{title:"Caller Number",name:"calleridnum",group:"voice_outbound"},{title:"Caller Name",name:"calleridname",group:"voice_outbound"},{title:"Called Number",name:"destcalleridnum",group:"voice_outbound"},{title:"Called Name",name:"destcalleridname",group:"voice_outbound"},{title:"Start Time",name:"starttime",group:"voice_outbound"},{title:"Answer Time",name:"answertime",group:"voice_outbound"},{title:"Complete Time",name:"endtime",group:"voice_outbound"},{title:"Recording URL",name:"recordingURL",group:"voice_outbound"},{title:"Member Name",name:"membername",group:"voice_outbound"}];return a}),angular.module("xCallyShuttleApp").controller("SidebarController",["$scope","$rootScope","$resource","$location","Auth","Dashboard","Integration","xAlert","$stateParams","socket",function(a,b,c,d,e,f,g,h,i,j){a.Auth=e,a.$on("$includeContentLoaded",function(){Metronic.init(),Layout.initSidebar()}),a.getSidebarDashboards=function(){return f.get().$promise.then(function(b){a.dashboards=b.rows,j.syncUpdates("dashboard",a.dashboards)})["catch"](function(){h.show("Error loading your dashboards","danger")})},a.getSidebarIntegrations=function(){return e.isAdmin()||e.isAgent()||b.userModules[19]?g.get().$promise.then(function(b){a.integrations=b.rows,j.syncUpdates("integration",a.integrations)})["catch"](function(a){h.error(a)}):void 0},a.$on("sidebar $destroy",function(){console.log("destroy"),j.unsyncUpdates("dashboard"),j.unsyncUpdates("integration")})}]),angular.module("xCallyShuttleApp").factory("socket",["$rootScope","$window","socketFactory","Auth",function(a,b,c,d){var e=d.getCurrentUser(),f=io("",{query:"token="+d.getToken()+"&userId="+e.id+"&name="+e.name+"&role="+(e.role||"agent")+"&source=browser",path:"/socket.io-client"}),g=c({ioSocket:f});return a.$on("logout",function(){g&&(g.disconnect(!0),b.location.reload())}),{socket:g,syncUpdates:function(a,b,c){c=c||angular.noop,g.on(a+":save",function(a){var d=_.find(b,{id:a.id}),e=b.indexOf(d),f="created";d?(_.merge(b[e],a),f="updated"):b.unshift(a),c(f,a,b)}),g.on(a+":remove",function(a){var d="deleted";_.remove(b,{id:a.id}),c(d,a,b)})},unsyncUpdates:function(a){g.removeAllListeners(a+":save"),g.removeAllListeners(a+":remove")},syncUpdatesByAttributes:function(a,b,c,d){d=d||angular.noop,g.on(a+":save",function(a){var e=!0;if(_.forIn(b,function(b,c){return a[c]&&a[c]===b?!0:e=!1}),e){var f=_.find(c,{id:a.id}),g=c.indexOf(f),h="created";f?(_.merge(c[g],a),h="updated"):c.unshift(a),d(h,a,c)}}),g.on(a+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},syncMailMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncMailMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")},syncFaxMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncFaxMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")}}}]),function(a,b){angular.module("adf.widget.counter",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("counter",{title:"Single Value",description:"Single Value for db results",templateUrl:"{widgetsPath}/counter/src/view.html",controller:"apiwidgetCounterViewCtrl",edit:{templateUrl:"{widgetsPath}/counter/src/edit.html",controller:"apiwidgetCounterEditCtrl"}})}]).service("apiServiceCounter",["Widget",function(a){return{get:function(b){return a.get({select:b.select,condition:encodeURIComponent(b.condition),table:b.report.replace("_history",""),controller:"counter"}).$promise.then(function(a){return a})["catch"](function(a){console.log(a)})}}}]).controller("apiwidgetCounterEditCtrl",["$scope","report",function(a,b){a.config.reportTables=b.tables,a.config.colors=[{name:"Grey",value:"grey"},{name:"Grey 2",value:"grey-cascade"},{name:"Grey 3",value:"grey-silver"},{name:"Grey 4",value:"grey-steel"},{name:"Grey 5",value:"grey-carrara"},{name:"Grey 6",value:"grey-gallery"},{name:"Blue",value:"blue"},{name:"Blue 2",value:"blue-hoki"},{name:"Blue 3",value:"blue-steel"},{name:"Blue 4",value:"blue-madison"},{name:"Blue 5",value:"blue-chambray"},{name:"Blue 6",value:"blue-ebonyclay"},{name:"Red",value:"red"},{name:"Red 2",value:"red-pink"},{name:"Red 3",value:"red-sunglo"},{name:"Red 4",value:"red-intense"},{name:"Red 5",value:"red-thunderbird"},{name:"Red 6",value:"red-flamingo"},{name:"Green",value:"green"},{name:"Green 2",value:"green-meadow"},{name:"Green 3",value:"green-seagreen"},{name:"Green 4",value:"green-turquoise"},{name:"Green 5",value:"green-haze"},{name:"Green 6",value:"green-jungle"},{name:"Purple",value:"purple"},{name:"Purple 2",value:"purple-plum"},{name:"Purple 3",value:"purple-medium"},{name:"Purple 4",value:"purple-studio"},{name:"Purple 5",value:"purple-wisteria"},{name:"Purple 6",value:"purple-seance"},{name:"Yellow",value:"yellow"},{name:"Yellow 2",value:"yellow-gold"},{name:"Yellow 3",value:"yellow-casablanca"},{name:"Yellow 4",value:"yellow-crusta"},{name:"Yellow 5",value:"yellow-lemon"},{name:"Yellow 6",value:"yellow-saffron"}],a.config.icons=[{name:"Talk bubbles",value:"fa-comments"},{name:"Bar Chart",value:"fa-bar-chart"},{name:"Shopping Cart",value:"fa-shopping-cart"},{name:"Globe",value:"fa-globe"},{name:"Volume Control Phone",value:"fa-volume-control-phone"},{name:"Comments",value:"fa-comments-o"},{name:"Commenting",value:"fa-commenting-o"},{name:"Coffee",value:"fa-coffee"},{name:"Clock",value:"fa-clock-o"},{name:"Envelope",value:"fa-envelope-o"},{name:"Hourglass",value:"fa-hourglass-half"},{name:"Percent",value:"fa-percent"}],a.config.select=a.config.select?a.config.select:"COUNT(*)",a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE"}]).controller("apiwidgetCounterViewCtrl",["$scope","$interval","apiServiceCounter",function(a,b,c){a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.config.condition=a.config.condition?a.config.condition:null,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE",a.counterApiCall=function(){a.config.report&&c.get(a.config).then(function(b){b?b.result&&b.result.length>1||_.keys(b.result[0]).length>1?(a.tooManyResults=!0,a.result=null):(a.tooManyResults=!1,null!==_.values(b.result[0])[0]?a.result=_.values(b.result[0])[0].toString():a.result="--"):a.result=null})},a.counterApiCall();var d=b(function(){a.counterApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.counter").run(["$templateCache",function(a){a.put("{widgetsPath}/counter/src/edit.html","<form role=form><div class=form-group><label for=select>Select</label> <input type=text class=form-control id=condition ng-model=config.select placeholder=Select></div><div class=form-group><label class=control-label>From</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=From>{{'APPLICATION_'+$select.selected.value.toUpperCase() | translate}}</ui-select-match><ui-select-choices repeat=\"table.value as table in config.reportTables | filter: $select.search\"><div ng-bind-html=\"'APPLICATION_'+table.value.toUpperCase() | translate | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>Where</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=Where></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=5></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_COLOR' | translate}}</label><ui-select data-ng-model=config.color name=color theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_COLOR' | translate }}\"><div data-ng-class=\"'bg-'+$select.selected.value\"> </div></ui-select-match><ui-select-choices repeat=\"color.value as color in config.colors | filter: $select.search\"><div data-ng-class=\"'bg-'+color.value\"> </div></ui-select-choices></ui-select></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_ICON' | translate}}</label><ui-select data-ng-model=config.icon name=icon theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_ICON' | translate }}\"><i class=fa ng-class=$select.selected.value></i></ui-select-match><ui-select-choices repeat=\"icon.value as icon in config.icons | filter: $select.search\"><i class=fa ng-class=icon.value></i></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_DETAILS' | translate}}</label> <input type=text class=form-control id=details ng-model=config.details maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_DETAILS' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK' | translate}}</label> <input type=text class=form-control id=link ng-model=config.link placeholder=http://yourlink></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}</label> <input type=text class=form-control id=linkText ng-model=config.linkText maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}\"></div></form>"),a.put("{widgetsPath}/counter/src/view.html",'<div class=dashboard-stat ng-class=config.color ng-if=result><div class=visual><i class=fa ng-class=config.icon></i></div><div class=details><div class=number>{{result}}</div><div class=desc>{{config.details}}</div></div><a class=more href={{config.link}}>{{config.linkText}} <i class="m-icon-swapright m-icon-white"></i></a></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=tooManyResults><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_TOO_MANY_RESULTS\' | translate}}</div><div class="alert alert-danger" role=alert ng-if="!result && !tooManyResults"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_QUERY_NOT_VALID\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.pie-chart",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("pie-chart",{title:"Pie-Chart",description:"Display a pie-chart starting from DB values",templateUrl:"{widgetsPath}/pie-chart/src/view.html",controller:"apiWidgetPieChartViewCtrl",edit:{templateUrl:"{widgetsPath}/pie-chart/src/edit.html",controller:"apiWidgetPieChartEditCtrl"}})}]).service("apiServicePieChart",["Widget",function(a){return{get:function(b){return a.get({condition:encodeURIComponent(b.condition),table:b.report.replace("_history",""),fields:b.fields,controller:"piechart"}).$promise.then(function(a){return a})["catch"](function(a){console.log(a)})}}}]).controller("apiWidgetPieChartEditCtrl",["$scope","report",function(a,b){function c(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=b.tables,a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){c().push({})},a.removeField=function(a){c().splice(a,1)}}]).controller("apiWidgetPieChartViewCtrl",["$scope","$interval","apiServicePieChart",function(a,b,c){a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.pieChartApiCall=function(){a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){if(b&&b.result&&1===b.result.length){a.labels=[],a.data=[];for(var c in b.result[0])a.labels.push(c),a.data.push(b.result[0][c])}else a.labels=[],a.data=[]})},a.pieChartApiCall();var d=b(function(){a.pieChartApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.pie-chart").run(["$templateCache",function(a){a.put("{widgetsPath}/pie-chart/src/edit.html","<form role=form><div class=form-group><label class=control-label>{{'APPLICATION_REPORT' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_REPORT' | translate }}\">{{'APPLICATION_'+$select.selected.value.toUpperCase() | translate}}</ui-select-match><ui-select-choices repeat=\"table.value as table in config.reportTables | filter: $select.search\"><div ng-bind-html=\"'APPLICATION_'+table.value.toUpperCase() | translate | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{'APPLICATION_FIELDS' | translate}}</label></div><div class=padding-bottom ng-repeat=\"field in config.fields\"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if=\"config.fields.length>1\"><button class=\"btn btn-danger\" type=button data-ng-click=removeField($index)><i class=\"fa fa-times\"></i> {{'APPLICATION_REMOVE' | translate}}</button></span></div></div></div><button type=button class=\"btn btn-sm green mbottom20\" ng-click=addField()><i class=\"fa fa-plus\"></i> {{'APPLICATION_ADD_FIELD' | translate}}</button><div class=form-group><label for=condition>{{'APPLICATION_CONDITION' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=\"{{'APPLICATION_CONDITION' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=5></div></form>"),a.put("{widgetsPath}/pie-chart/src/view.html",'<div ng-if=labels.length ng-style=config.style><canvas id=doughnut class="chart chart-doughnut" chart-data=data chart-labels=labels legend=true></canvas></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_METRIC_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.table",["adf.provider"]).value("apiServiceUrlTable","/api/widgets/table").config(["dashboardProvider",function(a){a.widget("table",{title:"Table",description:"Show tabbed results from db",templateUrl:"{widgetsPath}/table/src/view.html",controller:"apiWidgetTableViewCtrl",edit:{templateUrl:"{widgetsPath}/table/src/edit.html",controller:"apiWidgetTableEditCtrl"}})}]).service("apiServiceTable",["$q","$http","apiServiceUrlTable",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetTableEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetTableViewCtrl",["$scope","$interval","apiServiceTable",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.style={"max-height":a.config.height+"px",overflow:"scroll"},a.tableApiCall=function(){a.config.condition&&a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){a.results=b})},a.tableApiCall();var d=b(function(){a.tableApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.table").run(["$templateCache",function(a){a.put("{widgetsPath}/table/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_METRICS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div><div class=form-group><label for=condition>{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}</label> <input type=number class=form-control id=height ng-model=config.height placeholder="{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}" min=350></div></form>'),a.put("{widgetsPath}/table/src/view.html",'<div ng-if=results ng-style=config.style><table st-table=results class="table table-striped table-bordered table-hover"><div class=table-responsive><thead><tr><th colspan={{config.fields.length}}><div class=row><div class=col-md-6></div><div class=col-md-6><div class="input-group input-medium pull-right"><input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class=form-control type=search> <span class=input-group-addon><i class="fa fa-search"></i></span></div></div></div></th></tr><tr><th ng-repeat="field in config.fields">{{field.alias}}</th></tr></thead><tbody><tr data-ng-repeat="result in results" class=animate-repeat><td ng-repeat="field in config.fields">{{result[field.alias]}}</td></tr><tr data-ng-hide=results.length><td colspan={{config.fields.length}} style=text-align:center;><i>{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</i></td></tr></tbody><tfoot><tr><td colspan={{config.fields.length}} class=text-center><div st-pagination class=pagination st-items-by-page=10 st-displayed-pages=3></div></td></tr></tfoot></div></table></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_FIELD_AND_CHECK_OTHER\' | translate}}</div>')}])}(window);var Metronic=function(){var a,b=!1,c=!1,d=!1,e=!1,f=[],g="assets/",h="img/",i="plugins/",j="css/",k={blue:"#89C4F4",red:"#F3565D",green:"#1bbc9b",purple:"#9b59b6",grey:"#95a5a6",yellow:"#F8CB00"},l=function(){"rtl"===$("body").css("direction")&&(b=!0),c=!!navigator.userAgent.match(/MSIE 8.0/),d=!!navigator.userAgent.match(/MSIE 9.0/),e=!!navigator.userAgent.match(/MSIE 10.0/),e&&$("html").addClass("ie10"),(e||d||c)&&$("html").addClass("ie")},m=function(){for(var a=0;a<f.length;a++){var b=f[a];b.call()}},n=function(){var a;if(c){var b;$(window).resize(function(){b!=document.documentElement.clientHeight&&(a&&clearTimeout(a),a=setTimeout(function(){m()},50),b=document.documentElement.clientHeight)})}else $(window).resize(function(){a&&clearTimeout(a),a=setTimeout(function(){m()},50)})},o=function(){$("body").on("click",".portlet > .portlet-title > .tools > a.remove",function(a){a.preventDefault();var b=$(this).closest(".portlet");$("body").hasClass("page-portlet-fullscreen")&&$("body").removeClass("page-portlet-fullscreen"),b.find(".portlet-title .fullscreen").tooltip("destroy"),b.find(".portlet-title > .tools > .reload").tooltip("destroy"),b.find(".portlet-title > .tools > .remove").tooltip("destroy"),b.find(".portlet-title > .tools > .config").tooltip("destroy"),b.find(".portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip("destroy"),b.remove()}),$("body").on("click",".portlet > .portlet-title .fullscreen",function(a){a.preventDefault();var b=$(this).closest(".portlet");if(b.hasClass("portlet-fullscreen"))$(this).removeClass("on"),b.removeClass("portlet-fullscreen"),$("body").removeClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height","auto");else{var c=Metronic.getViewPort().height-b.children(".portlet-title").outerHeight()-parseInt(b.children(".portlet-body").css("padding-top"))-parseInt(b.children(".portlet-body").css("padding-bottom"));$(this).addClass("on"),b.addClass("portlet-fullscreen"),$("body").addClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height",c)}}),$("body").on("click",".portlet > .portlet-title > .tools > a.reload",function(a){a.preventDefault();var b=$(this).closest(".portlet").children(".portlet-body"),c=$(this).attr("data-url"),d=$(this).attr("data-error-display");c?(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),$.ajax({type:"GET",cache:!1,url:c,dataType:"html",success:function(a){Metronic.unblockUI(b),b.html(a)},error:function(a,c,e){Metronic.unblockUI(b);var f="Error on reloading the content. Please check your connection and try again.";"toastr"==d&&toastr?toastr.error(f):"notific8"==d&&$.notific8?($.notific8("zindex",11500),$.notific8(f,{theme:"ruby",life:3e3})):alert(f)}})):(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),window.setTimeout(function(){Metronic.unblockUI(b)},1e3))}),$('.portlet .portlet-title a.reload[data-load="true"]').click(),$("body").on("click",".portlet > .portlet-title > .tools > .collapse, .portlet .portlet-title > .tools > .expand",function(a){a.preventDefault()})},p=function(){if($().uniform){var a=$("input[type=checkbox]:not(.toggle, .make-switch, .icheck), input[type=radio]:not(.toggle, .star, .make-switch, .icheck)");a.size()>0&&a.each(function(){0===$(this).parents(".checker").size()&&$(this).show()})}},q=function(){$().iCheck&&$(".icheck").each(function(){var a=$(this).attr("data-checkbox")?$(this).attr("data-checkbox"):"icheckbox_minimal-grey",b=$(this).attr("data-radio")?$(this).attr("data-radio"):"iradio_minimal-grey";a.indexOf("_line")>-1||b.indexOf("_line")>-1?$(this).iCheck({checkboxClass:a,radioClass:b,insert:'<div class="icheck_line-icon"></div>'+$(this).attr("data-label")}):$(this).iCheck({checkboxClass:a,radioClass:b})})},r=function(){$().bootstrapSwitch&&$(".make-switch").bootstrapSwitch()},s=function(){$().confirmation&&$("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn-xs btn-success",btnCancelClass:"btn-xs btn-danger"})},t=function(){$("body").on("shown.bs.collapse",".accordion.scrollable",function(a){Metronic.scrollTo($(a.target))})},u=function(){if(location.hash){var a=location.hash.substr(1);$('a[href="#'+a+'"]').parents(".tab-pane:hidden").each(function(){var a=$(this).attr("id");$('a[href="#'+a+'"]').click()}),$('a[href="#'+a+'"]').click()}},v=function(){$("body").on("hide.bs.modal",function(){$(".modal:visible").size()>1&&$("html").hasClass("modal-open")===!1?$("html").addClass("modal-open"):$(".modal:visible").size()<=1&&$("html").removeClass("modal-open")}),$("body").on("show.bs.modal",".modal",function(){$(this).hasClass("modal-scroll")&&$("body").addClass("modal-open-noscroll")}),$("body").on("hide.bs.modal",".modal",function(){$("body").removeClass("modal-open-noscroll")}),$("body").on("hidden.bs.modal",".modal:not(.modal-cached)",function(){$(this).removeData("bs.modal")})},w=function(){$(".tooltips").tooltip(),$(".portlet > .portlet-title .fullscreen").tooltip({container:"body",title:"Fullscreen"}),$(".portlet > .portlet-title > .tools > .reload").tooltip({container:"body",title:"Reload"}),$(".portlet > .portlet-title > .tools > .remove").tooltip({container:"body",title:"Remove"}),$(".portlet > .portlet-title > .tools > .config").tooltip({container:"body",title:"Settings"}),$(".portlet > .portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip({container:"body",title:"Collapse/Expand"})},x=function(){$("body").on("click",".dropdown-menu.hold-on-click",function(a){a.stopPropagation()})},y=function(){$("body").on("click",'[data-close="alert"]',function(a){$(this).parent(".alert").hide(),$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-close="note"]',function(a){$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-remove="note"]',function(a){$(this).closest(".note").remove(),a.preventDefault()})},z=function(){$('[data-hover="dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")})},A=function(){$(".popovers").popover(),$(document).on("click.bs.popover.data-api",function(b){a&&a.popover("hide")})},B=function(){Metronic.initSlimScroll(".scroller")},C=function(){jQuery.fancybox&&$(".fancybox-button").size()>0&&$(".fancybox-button").fancybox({groupAttr:"data-rel",prevEffect:"none",nextEffect:"none",closeBtn:!0,helpers:{title:{type:"inside"}}})},D=function(){(c||d)&&$("input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)").each(function(){var a=$(this);""===a.val()&&""!==a.attr("placeholder")&&a.addClass("placeholder").val(a.attr("placeholder")),a.focus(function(){a.val()==a.attr("placeholder")&&a.val("")}),a.blur(function(){(""===a.val()||a.val()==a.attr("placeholder"))&&a.val(a.attr("placeholder"))})})},E=function(){$().select2&&$(".select2me").select2({placeholder:"Select"})};return{init:function(){l(),n(),p(),q(),r(),B(),C(),E(),o(),y(),x(),u(),w(),A(),t(),v(),s(),D()},initAjax:function(){p(),q(),r(),z(),B(),E(),C(),x(),w(),A(),t(),s()},initComponents:function(){this.initAjax()},setLastPopedPopover:function(b){a=b},addResizeHandler:function(a){f.push(a)},runResizeHandlers:function(){m()},scrollTo:function(a,b){var c=a&&a.size()>0?a.offset().top:0;a&&($("body").hasClass("page-header-fixed")&&(c-=$(".page-header").height()),c+=b?b:-1*a.height()),$("html,body").animate({scrollTop:c},"slow")},initSlimScroll:function(a){$(a).each(function(){if(!$(this).attr("data-initialized")){var a;a=$(this).attr("data-height")?$(this).attr("data-height"):$(this).css("height"),$(this).slimScroll({allowPageScroll:!0,size:"7px",color:$(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb",wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",railColor:$(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea",position:b?"left":"right",height:a,alwaysVisible:"1"==$(this).attr("data-always-visible")?!0:!1,railVisible:"1"==$(this).attr("data-rail-visible")?!0:!1,disableFadeOut:!0}),$(this).attr("data-initialized","1")}})},destroySlimScroll:function(a){$(a).each(function(){if("1"===$(this).attr("data-initialized")){$(this).removeAttr("data-initialized"),$(this).removeAttr("style");var a={};$(this).attr("data-handle-color")&&(a["data-handle-color"]=$(this).attr("data-handle-color")),$(this).attr("data-wrapper-class")&&(a["data-wrapper-class"]=$(this).attr("data-wrapper-class")),$(this).attr("data-rail-color")&&(a["data-rail-color"]=$(this).attr("data-rail-color")),$(this).attr("data-always-visible")&&(a["data-always-visible"]=$(this).attr("data-always-visible")),$(this).attr("data-rail-visible")&&(a["data-rail-visible"]=$(this).attr("data-rail-visible")),$(this).slimScroll({wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",destroy:!0});var b=$(this);$.each(a,function(a,c){b.attr(a,c)})}})},scrollTop:function(){Metronic.scrollTo()},blockUI:function(a){a=$.extend(!0,{},a);var b="";if(b=a.animate?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div></div>':a.iconOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""></div>':a.textOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><span> '+(a.message?a.message:"LOADING...")+"</span></div>":'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""><span> '+(a.message?a.message:"LOADING...")+"</span></div>",
-a.target){var c=$(a.target);c.height()<=$(window).height()&&(a.cenrerY=!0),c.block({message:b,baseZ:a.zIndex?a.zIndex:1e3,centerY:void 0!==a.cenrerY?a.cenrerY:!1,css:{top:"10%",border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})}else $.blockUI({message:b,baseZ:a.zIndex?a.zIndex:1e3,css:{border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})},unblockUI:function(a){a?$(a).unblock({onUnblock:function(){$(a).css("position",""),$(a).css("zoom","")}}):$.unblockUI()},startPageLoading:function(a){a&&a.animate?($(".page-spinner-bar").remove(),$("body").append('<div class="page-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>')):($(".page-loading").remove(),$("body").append('<div class="page-loading"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif"/> <span>'+(a&&a.message?a.message:"Loading...")+"</span></div>"))},stopPageLoading:function(){$(".page-loading, .page-spinner-bar").remove()},alert:function(a){a=$.extend(!0,{container:"",place:"append",type:"success",message:"",close:!0,reset:!0,focus:!0,closeInSeconds:0,icon:""},a);var b=Metronic.getUniqueID("Metronic_alert"),c='<div id="'+b+'" class="Metronic-alerts alert alert-'+a.type+' fade in">'+(a.close?'<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>':"")+(""!==a.icon?'<i class="fa-lg fa fa-'+a.icon+'"></i> ':"")+a.message+"</div>";return a.reset&&$(".Metronic-alerts").remove(),a.container?"append"==a.place?$(a.container).append(c):$(a.container).prepend(c):$("body").hasClass("page-container-bg-solid")?$(".page-title").after(c):$(".page-bar").size()>0?$(".page-bar").after(c):$(".page-breadcrumb").after(c),a.focus&&Metronic.scrollTo($("#"+b)),a.closeInSeconds>0&&setTimeout(function(){$("#"+b).remove()},1e3*a.closeInSeconds),b},initUniform:function(a){a?$(a).each(function(){0===$(this).parents(".checker").size()&&($(this).show(),$(this).uniform())}):p()},updateUniform:function(a){$.uniform.update(a)},initFancybox:function(){C()},getActualVal:function(a){return a=$(a),a.val()===a.attr("placeholder")?"":a.val()},getURLParameter:function(a){var b,c,d=window.location.search.substring(1),e=d.split("&");for(b=0;b<e.length;b++)if(c=e[b].split("="),c[0]==a)return unescape(c[1]);return null},isTouchDevice:function(){try{return document.createEvent("TouchEvent"),!0}catch(a){return!1}},getViewPort:function(){var a=window,b="inner";return"innerWidth"in window||(b="client",a=document.documentElement||document.body),{width:a[b+"Width"],height:a[b+"Height"]}},getUniqueID:function(a){return"prefix_"+Math.floor(Math.random()*(new Date).getTime())},isIE8:function(){return c},isIE9:function(){return d},isRTL:function(){return b},isAngularJsApp:function(){return"undefined"==typeof angular?!1:!0},getAssetsPath:function(){return g},setAssetsPath:function(a){g=a},setGlobalImgPath:function(a){h=a},getGlobalImgPath:function(){return g+h},setGlobalPluginsPath:function(a){i=a},getGlobalPluginsPath:function(){return g+i},getGlobalCssPath:function(){return g+j},getBrandColor:function(a){return k[a]?k[a]:""},getResponsiveBreakpoint:function(a){var b={xs:480,sm:768,md:900,lg:1200};return b[a]?b[a]:0}}}(),Layout=function(){var a="img/",b="css/",c=Metronic.getResponsiveBreakpoint("md"),d=function(){var a,b=$(".page-content"),d=$(".page-sidebar"),e=$("body");if(e.hasClass("page-footer-fixed")===!0&&e.hasClass("page-sidebar-fixed")===!1){var f=Metronic.getViewPort().height-$(".page-footer").outerHeight()-$(".page-header").outerHeight();b.height()<f&&b.attr("style","min-height:"+f+"px")}else{if(e.hasClass("page-sidebar-fixed"))a=g(),e.hasClass("page-footer-fixed")===!1&&(a-=$(".page-footer").outerHeight());else{var h=$(".page-header").outerHeight(),i=$(".page-footer").outerHeight();a=Metronic.getViewPort().width<c?Metronic.getViewPort().height-h-i:d.height()+20,a+h+i<=Metronic.getViewPort().height&&(a=Metronic.getViewPort().height-h-i)}b.attr("style","min-height:"+a+"px")}},e=function(a,b){var d=location.hash.toLowerCase(),e=$(".page-sidebar-menu");if("click"===a||"set"===a?b=$(b):"match"===a&&e.find("li > a").each(function(){var a=$(this).attr("href").toLowerCase();return a.length>1&&d.substr(1,a.length-1)==a.substr(1)?void(b=$(this)):void 0}),b&&0!=b.size()&&"javascript:;"!==b.attr("href").toLowerCase()&&"#"!==b.attr("href").toLowerCase()){parseInt(e.data("slide-speed")),e.data("keep-expanded");e.find("li.active").removeClass("active"),e.find("li > a > .selected").remove(),e.hasClass("page-sidebar-menu-hover-submenu")===!1?e.find("li.open").each(function(){0===$(this).children(".sub-menu").size()&&($(this).removeClass("open"),$(this).find("> a > .arrow.open").removeClass("open"))}):e.find("li.open").removeClass("open"),b.parents("li").each(function(){$(this).addClass("active"),$(this).find("> a > span.arrow").addClass("open"),1===$(this).parent("ul.page-sidebar-menu").size()&&$(this).find("> a").append('<span class="selected"></span>'),1===$(this).children("ul.sub-menu").size()&&$(this).addClass("open")}),"click"===a&&Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click()}},f=function(){jQuery(".page-sidebar").on("click","li > a",function(a){var b=$(this).next().hasClass("sub-menu");if(!(Metronic.getViewPort().width>=c&&1===$(this).parents(".page-sidebar-menu-hover-submenu").size())){if(b===!1)return void(Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click());if(!$(this).next().hasClass("sub-menu always-open")){var e=$(this).parent().parent(),f=$(this),g=$(".page-sidebar-menu"),h=jQuery(this).next(),i=g.data("auto-scroll"),j=parseInt(g.data("slide-speed")),k=g.data("keep-expanded");k!==!0&&(e.children("li.open").children("a").children(".arrow").removeClass("open"),e.children("li.open").children(".sub-menu:not(.always-open)").slideUp(j),e.children("li.open").removeClass("open"));var l=-200;h.is(":visible")?(jQuery(".arrow",jQuery(this)).removeClass("open"),jQuery(this).parent().removeClass("open"),h.slideUp(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})):b&&(jQuery(".arrow",jQuery(this)).addClass("open"),jQuery(this).parent().addClass("open"),h.slideDown(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})),a.preventDefault()}}}),jQuery(".page-sidebar").on("click"," li > a.ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=jQuery(".page-sidebar ul"),e=($(".page-content"),$(".page-content .page-content-body"));d.children("li.active").removeClass("active"),d.children("arrow.open").removeClass("open"),$(this).parents("li").each(function(){$(this).addClass("active"),$(this).children("a > span.arrow").addClass("open")}),$(this).parents("li").addClass("active"),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),Metronic.startPageLoading();var f=$(this);$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){0===f.parents("li.open").size()&&$(".page-sidebar-menu > li.open > a").click(),Metronic.stopPageLoading(),e.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){Metronic.stopPageLoading(),e.html("<h4>Could not load the requested content.</h4>")}})}),jQuery(".page-content").on("click",".ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=($(".page-content"),$(".page-content .page-content-body"));Metronic.startPageLoading(),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){Metronic.stopPageLoading(),d.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){d.html("<h4>Could not load the requested content.</h4>"),Metronic.stopPageLoading()}})}),i(),$(".page-sidebar").on("click",".sidebar-search .remove",function(a){a.preventDefault(),$(".sidebar-search").removeClass("open")}),$(".page-sidebar .sidebar-search").on("keypress","input.form-control",function(a){return 13==a.which?($(".sidebar-search").submit(),!1):void 0}),0!==$(".sidebar-search").size()&&($(".sidebar-search .input-group").on("click",function(a){a.stopPropagation()}),$("body").on("click",function(){$(".sidebar-search").hasClass("open")&&$(".sidebar-search").removeClass("open")}))},g=function(){var a=Metronic.getViewPort().height-$(".page-header").outerHeight();return $("body").hasClass("page-footer-fixed")&&(a-=$(".page-footer").outerHeight()),a},h=function(){var a=$(".page-sidebar-menu");return Metronic.destroySlimScroll(a),0===$(".page-sidebar-fixed").size()?void d():void(Metronic.getViewPort().width>=c&&(a.attr("data-height",g()),Metronic.initSlimScroll(a),d()))},i=function(){var a=$("body");a.hasClass("page-sidebar-fixed")&&$(".page-sidebar").on("mouseenter",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").removeClass("page-sidebar-menu-closed")}).on("mouseleave",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").addClass("page-sidebar-menu-closed")})},j=function(){$("body");$.cookie&&"1"===$.cookie("sidebar_closed")&&Metronic.getViewPort().width>=c?($("body").addClass("page-sidebar-closed"),$(".page-sidebar-menu").addClass("page-sidebar-menu-closed")):$.cookie&&$.cookie("sidebar_closed","0")},k=function(){$(".page-header").on("click",'.hor-menu a[data-toggle="tab"]',function(a){a.preventDefault();var b=$(".hor-menu .nav"),c=b.find("li.current");$("li.active",c).removeClass("active"),$(".selected",c).remove();var d=$(this).parents("li").last();d.addClass("current"),d.find("a:first").append('<span class="selected"></span>')}),$(".page-header").on("click",".search-form",function(a){$(this).addClass("open"),$(this).find(".form-control").focus(),$(".page-header .search-form .form-control").on("blur",function(a){$(this).closest(".search-form").removeClass("open"),$(this).unbind("blur")})}),$(".page-header").on("keypress",".hor-menu .search-form .form-control",function(a){return 13==a.which?($(this).closest(".search-form").submit(),!1):void 0}),$(".page-header").on("mousedown",".search-form.open .submit",function(a){a.preventDefault(),a.stopPropagation(),$(this).closest(".search-form").submit()}),$('[data-hover="megamenu-dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")}),$(document).on("click",".mega-menu-dropdown .dropdown-menu",function(a){a.stopPropagation()})},l=function(){$("body").on("shown.bs.tab",'a[data-toggle="tab"]',function(){d()})},m=function(){var a=300,b=500;navigator.userAgent.match(/iPhone|iPad|iPod/i)?$(window).bind("touchend touchcancel touchleave",function(c){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}):$(window).scroll(function(){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}),$(".scroll-to-top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},b),!1})},n=function(){var a,b=$(".full-height-content");if(a=Metronic.getViewPort().height-$(".page-header").outerHeight(!0)-$(".page-footer").outerHeight(!0)-$(".page-title").outerHeight(!0)-$(".page-bar").outerHeight(!0),b.hasClass("portlet")){var d=b.find(".portlet-body");if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(d.find(".full-height-content-body"));a=a-b.find(".portlet-title").outerHeight(!0)-parseInt(b.find(".portlet-body").css("padding-top"))-parseInt(b.find(".portlet-body").css("padding-bottom"))-2,b.hasClass("full-height-content-scrollable")?(a-=35,d.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(d.find(".full-height-content-body"))):d.css("min-height",a)}else{if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(b.find(".full-height-content-body"));b.hasClass("full-height-content-scrollable")?(a-=35,b.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(b.find(".full-height-content-body"))):b.css("min-height",a)}};return{initHeader:function(){k()},setSidebarMenuActiveLink:function(a,b){e(a,b)},initSidebar:function(){h(),f(),j(),Metronic.isAngularJsApp()&&e("match"),Metronic.addResizeHandler(h)},initContent:function(){n(),l(),Metronic.addResizeHandler(d),Metronic.addResizeHandler(n)},initFooter:function(){m()},init:function(){this.initHeader(),this.initSidebar(),this.initContent(),this.initFooter()},fixContentHeight:function(){d()},initFixedSidebarHoverEffect:function(){i()},initFixedSidebar:function(){h()},getLayoutImgPath:function(){return Metronic.getAssetsPath()+a},getLayoutCssPath:function(){return Metronic.getAssetsPath()+b}}}();angular.module("xCallyShuttleApp").run(["$templateCache",function(a){a.put("app/analytic/extracted/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="fa fa-file-pdf-o"></i>\n <a href="/analytics/extracted/list">{{ \'APPLICATION_EXTRACTED_REPORTS\' | translate }}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="fa fa-file-pdf-o font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_EXTRACTED_REPORTS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/list/create.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_NEW_METRIC\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="forms.metric" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n <span data-ng-show="(forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START TABLE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="item.table" name="table" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE-->\n\n <!-- START METRIC -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$invalid}">\n <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="item.metric" required/></textarea>\n <span data-ng-show="(forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END METRIC -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.metric.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/metric/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-calculator"></i>\n <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-calculator font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_DEFAULT_METRICS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptionsDefault" data-ng-if="gridOptionsDefault" name="gridOptionsDefault" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptionsDefault.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n <div class="portlet-title margin-top20">\n <div class="caption font-green-sharp">\n <i class="icon-calculator font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_METRICS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <div class="btn-group">\n <button class="btn green-jungle " ng-click="create()">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_METRIC\' | translate }}\n </button>\n </div>\n <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" data-ng-if="gridOptions" name="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/list/view.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_METRIC\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="forms.metric" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}</label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required readonly/>\n <span data-ng-show="(forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START TABLE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}</label>\n <ui-select data-ng-model="item.table" name="table" theme="bootstrap" required data-ng-disabled="true">\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE-->\n\n <!-- START METRIC -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$invalid}">\n <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}</label>\n <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="item.metric" required readonly/></textarea>\n <span data-ng-show="(forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END METRIC -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description" readonly></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn default" type="button" ng-click="close()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/analytic/metric/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getMetric()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-eye"></i>\n <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n <i data-ng-show="metric" class="fa fa-angle-right"></i>\n </li>\n <li data-ng-show="metric">\n <a href="#">{{metric.name}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE SIDEBAR -->\n <div class="profile-sidebar">\n <!-- PORTLET MAIN -->\n <div class="portlet light profile-sidebar-portlet">\n <!-- SIDEBAR USERPIC -->\n <div class="profile-image">\n <img data-ng-src="assets/images/media/metric.png" class="img-responsive">\n </div>\n <!-- END SIDEBAR USERPIC -->\n <!-- SIDEBAR USER TITLE -->\n <div class="profile-usertitle">\n <div class="profile-usertitle-name">\n {{metric.name}}\n </div>\n <!-- <div class="profile-usertitle-job">\n {{user.role}}\n </div> -->\n </div>\n <!-- END SIDEBAR USER TITLE -->\n\n <!-- SIDEBAR MENU -->\n <div class="profile-usermenu">\n <ul class="nav">\n <li data-ng-class="{active: $state.is(\'main.analytics.metrics.view.settings\')}">\n <a data-ng-href="/analytics/metrics/view/{{metric.id}}/settings">\n <i class="icon-settings"></i>\n {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n </li>\n </ul>\n </div>\n <!-- END MENU -->\n </div>\n <!-- END PORTLET MAIN -->\n </div>\n <!-- END BEGIN PROFILE SIDEBAR -->\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_METRIC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n </div>\n <ul class="nav nav-tabs">\n <li class="active">\n <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n </li>\n </ul>\n </div>\n\n <div class="portlet-body">\n <div class="tab-content">\n <!-- GENERAL TAB -->\n <div class="tab-pane active" id="tab_1_1">\n <form name="forms.general" data-ng-submit="forms.general.$valid && updateMetric()" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="metric.name" required/>\n <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START TABLE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="metric.table" name="table" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE-->\n\n <!-- START METRIC -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$invalid}">\n <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="metric.metric" required/></textarea>\n <span data-ng-show="(forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END METRIC -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="metric.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n </form>\n </div>\n <!-- END ADVANCED TAB -->\n\n </div>\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/analytic/report/list/copy.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_COPY_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp" style="padding-left:10px;">\n <i class="icon-folder font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_COPY_TO\' | translate }} </span>\n </div>\n </div>\n <div class="portlet-body">\n <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;"></div>\n </div>\n </div>\n <div class="has-error">\n <span data-ng-show="showAlert" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_SELECT_FOLDER\' | translate}}.\n </span>\n </div>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" data-ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),
-a.put("app/analytic/report/list/create.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_NEW_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="forms.report" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_PATH\' | translate}}<span class="required" aria-required="true"></span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_PATH\' | translate}}" class="form-control" data-ng-model="path" disabled/>\n <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/deleteNode.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_DELETE_FOLDER\' | translate }}</h3>\n</div>\n<div class="modal-body">\n<p>\n {{\'MESSAGE_DELETE_NODE\' | translate}} : <b>{{node}}</b>?\n</p>\n<p>\n {{\'MESSAGE_ALL_REPORTS_WILL_BE_DELETED\' | translate}}\n</p>\n</div>\n<div class="modal-footer">\n <button class="btn btn-danger" type="button" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/extract.modal.html",'<div class="modal-header">\n <button type="button" ng-click="cancel()" class="close">×</button>\n <h4 class="modal-title">{{ \'APPLICATION_EXTRACT_REPORT\' | translate }}</h4>\n</div>\n<div class="modal-body" style="text-align:center;">\n <form name="forms.report" class="form-inline mbottom20" novalidate>\n <div class="form-group" data-ng-class="{\'hidden\':daily}">\n <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}</label>\n <input type="daterange" name="dates" ranges="ranges" style="min-width:190px;" enabletimepicker="timepicker" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" max-date="{{maxdate}}" data-ng-required="!daily" data-ng-disabled="daily" data-ng-class="{\'disabled-invisible\':daily}" style="cursor:pointer;" readonly/>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_FROM\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.start" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_TO\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.end" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <!-- START STATUS -->\n <div class="form-group">\n <input\n bs-switch\n class="form-control"\n ng-model="daily"\n type="checkbox"\n name="auth"\n switch-active="{{ dailySwitch.isActive }}"\n switch-on-text="{{ dailySwitch.onText }}"\n switch-off-text="{{ dailySwitch.offText }}"\n switch-on-color="{{ dailySwitch.onColor }}"\n switch-off-color="{{ dailySwitch.offColor }}"\n switch-animate="{{ dailySwitch.animate }}"\n switch-size="{{ dailySwitch.size }}"\n switch-label="{{ dailySwitch.label }}"\n switch-icon="{{ dailySwitch.icon }}"\n switch-radio-off="{{ dailySwitch.radioOff }}"\n switch-label-width="{{ dailySwitch.labelWidth }}"\n switch-handle-width="{{ dailySwitch.handleWidth }}">\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn default green-jungle" type="button" data-ng-click="extract(\'csv\')"><i class="fa fa-file-excel-o"></i> {{ \'APPLICATION_SAVE_AS_CSV\' | translate }}</button>\n <button class="btn default red-intense" type="button" data-ng-click="extract(\'pdf\')"><i class="fa fa-file-pdf-o"></i> {{ \'APPLICATION_SAVE_AS_PDF\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTrees()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-book-open"></i>\n <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n </li>\n </ul>\n </div>\n <div class="col-fixed">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp" style="padding-left:10px;">\n <i class="icon-folder font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_FOLDERS\' | translate }} </span>\n </div>\n <div class="inputs">\n <div class="portlet-input input-inline input-small">\n <div class="input-icon right">\n <i class="icon-magnifier"></i>\n <input type="text" data-ng-model="searchField" data-ng-change="searchTrees()" class="form-control input-circle" placeholder="search...">\n </div>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <div js-tree="defaultTreeConfig" ng-model="defaultTreeData" should-apply="ac()" tree="defaultTreeInstance" tree-events="ready:initDefaultScopeTree;select_node:selectDefaultNode;"></div>\n <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;select_node:selectCustomNode;rename_node:updateCustomTree;delete_node:updateCustomTree;move_node:updateCustomTree;create_node:updateCustomTree;"></div>\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n <div class="row tree-row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-book-open font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_REPORTS\' | translate }}<span data-ng-if="selectedNode"> - {{selectedNode}}</span></span>\n </div>\n <div data-ng-if="!defaultTreeActive" class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <div class="btn-group">\n <span class="btn default btn-file">\n <span class="fileinput-new">\n <i class="icon-cloud-upload"></i> {{\'APPLICATION_IMPORT_FROM_JSON\' | translate}}</span>\n <input type="file" on-read-file="import($fileContent)"/>\n </span>\n </div>\n <div class="btn-group">\n <button class="btn green-jungle " ng-click="create()">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_REPORT\' | translate }}\n </button>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <div ng-slide-down="gridOptions" lazy-render duration="1">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n </div>\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/list/preview.modal.html",'<div class="modal-header">\n <button type="button" ng-click="cancel()" class="close">×</button>\n <h4 class="modal-title">{{ \'APPLICATION_REPORT_PREVIEW\' | translate }}</h4>\n</div>\n<div class="modal-body" style="text-align:center;">\n <form name="forms.report" class="form-inline mbottom20" novalidate>\n <div class="form-group" data-ng-class="{\'hidden\':daily}">\n <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}<span class="required" aria-required="true"></span></label>\n <input type="daterange" name="dates" ranges="ranges" style="min-width:190px;" enabletimepicker="timepicker" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" data-ng-change="getPage()" max-date="{{maxdate}}" data-ng-required="!daily" data-ng-disabled="daily" data-ng-class="{\'disabled-invisible\':daily}" style="cursor:pointer;" readonly/>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_FROM\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.start" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_TO\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.end" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <div class="form-group" data-ng-if="daily">\n <button class="btn btn-small btn-sm btn-success" data-ng-click="getPage()">Apply</button>\n </div>\n <div class="form-group">\n <input\n bs-switch\n class="form-control"\n ng-model="daily"\n type="checkbox"\n name="auth"\n data-ng-change="getPage()"\n switch-active="{{ dailySwitch.isActive }}"\n switch-on-text="{{ dailySwitch.onText }}"\n switch-off-text="{{ dailySwitch.offText }}"\n switch-on-color="{{ dailySwitch.onColor }}"\n switch-off-color="{{ dailySwitch.offColor }}"\n switch-animate="{{ dailySwitch.animate }}"\n switch-size="{{ dailySwitch.size }}"\n switch-label="{{ dailySwitch.label }}"\n switch-icon="{{ dailySwitch.icon }}"\n switch-radio-off="{{ dailySwitch.radioOff }}"\n switch-label-width="{{ dailySwitch.labelWidth }}"\n switch-handle-width="{{ dailySwitch.handleWidth }}">\n </div>\n </form>\n <div ng-slide-down="showResult" lazy-render duration="1">\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-exporter class="grid extract-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n </div>\n</div>\n<div class="modal-footer">\n<button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getReport()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-book-open"></i>\n <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n <i data-ng-show="report" class="fa fa-angle-right"></i>\n </li>\n <li data-ng-show="report">\n <a href="#">{{report.name}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <div class="caption-subject font-blue-madison bold uppercase dot">{{ \'APPLICATION_REPORT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} - {{report.name}} </div>\n </div>\n <ul class="nav nav-tabs">\n <li>\n <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n </li>\n <li class="active">\n <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_BUILD\' | translate}}</a>\n </li>\n <li>\n <a href="#" data-target="#tab_1_3" data-toggle="tab" data-ng-click="showResult = true">{{ \'APPLICATION_TEST_PREVIEW\' | translate}}</a>\n </li>\n </ul>\n </div>\n\n <div class="portlet-body">\n\n <div class="tab-content">\n\n <!-- GENERAL TAB -->\n <div class="tab-pane" id="tab_1_1">\n <form name="forms.general" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="report.name" required/>\n <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="report.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}" />\n </form>\n </div>\n <!-- END GENERAL TAB -->\n\n <!-- BUILD TAB -->\n <div class="tab-pane active" id="tab_1_2">\n <form name="forms.report" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n <!-- START TABLE INPUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="report.table" name="table" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices group-by="\'channel\'" repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE INPUT-->\n <div data-ng-if="report.table" class="mbottom20 pbottom20 table-responsive">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_FIELDS\' | translate}} </span>\n </div>\n </div>\n <!-- START TABLE -->\n <table class="table table-striped table-bordered table-hover">\n <thead>\n <tr>\n <th>{{ \'APPLICATION_FIELD\' | translate }} / {{ \'APPLICATION_METRIC\' | translate }}</th>\n <th style="min-width:167px;">{{ \'APPLICATION_ALIAS\' | translate }}</th>\n <th>{{ \'APPLICATION_FUNCTION\' | translate }}</th>\n <th>{{ \'APPLICATION_FORMAT\' | translate }}</th>\n <th>{{ \'APPLICATION_GROUP_BY\' | translate }}</th>\n <th>{{ \'APPLICATION_ORDER_BY\' | translate }}</th>\n <th></th>\n <th style="min-width:66px;"></th>\n </tr>\n </thead>\n <tbody ui-sortable="sortableOptions" data-ng-model="report.Fields">\n <tr data-ng-repeat="field in report.Fields">\n <td>\n <!-- START FIELD -->\n <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.field}">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <div class="input-group">\n <ui-select data-ng-if="!field.custom" data-ng-model="field.field" dynamic-name="randomName()" theme="bootstrap" on-select="setMetricId($item,$index)" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}"><span ng-bind-html="$select.selected.name"></span></ui-select-match>\n <ui-select-choices repeat="tableField.value as tableField in tableFields | filter: $select.search">\n <div ng-bind-html="tableField.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <input data-ng-if="field.custom" type="text" dynamic-name="randomName()" placeholder="{{\'APPLICATION_CUSTOM\' | translate}}" class="form-control" data-ng-model="field.field" required/>\n <span class="input-group-btn">\n <button type="button" data-ng-click="toggleCustom(field)" class="btn btn-default">\n <span class="icon-pencil" data-ng-class="{\'font-blue\':field.custom}"></span>\n </button>\n </span>\n </div>\n <span data-ng-show="forms.report.$submitted && !field.field" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END FIELD-->\n </td>\n <td>\n <!-- START ALIAS -->\n <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.alias}">\n <!-- <label class="control-label">{{\'APPLICATION_ALIAS\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <input type="text" dynamic-name="randomName()" placeholder="{{\'APPLICATION_ALIAS\' | translate}}" class="form-control" data-ng-model="field.alias" data-ng-pattern="\'[A-Za-z0-9 <>=,.%_\\\\+*!\\\\-\\\\[\\\\]]+\'" required/>\n <span data-ng-show="forms.report.$submitted && !field.alias" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n <span data-ng-show="forms.report.$submitted && !field.alias" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n </span>\n </div>\n <!-- END ALIAS -->\n </td>\n <td>\n <!-- START FUNCTION -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.function" name="function" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_FUNCTION\' | translate}}" allow-clear>{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="function.value as function in functions | filter: $select.search">\n <div ng-bind-html="function.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END FUNCTION-->\n </td>\n <td>\n <!-- START FORMAT -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.format" name="format" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_FORMAT\' | translate}}" allow-clear>{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="format.value as format in formatFunctions | filter: $select.search">\n <div ng-bind-html="format.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END FORMAT-->\n </td>\n <td>\n <!-- START GROUP_BY -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.groupBy" name="groupBy" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_GROUP_BY\' | translate}}">{{$select.selected.name | translate}}</ui-select-match>\n <ui-select-choices repeat="groupBy.value as groupBy in groupByField | filter: $select.search">\n {{$translate.instant(groupBy.name)}}\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END GROUP_BY-->\n </td>\n <td>\n <!-- START ORDER_BY -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.orderBy" name="orderBy" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_ORDER_BY\' | translate}}" allow-clear>{{$select.selected}}</ui-select-match>\n <ui-select-choices repeat="orderBy in [\'ASC\',\'DESC\'] | filter: $select.search">\n <div ng-bind-html="orderBy | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END TABLE INPUT-->\n </td>\n <td class="report-field-remove">\n <button class="btn red" type="button" data-ng-click="removeField($index)"><i class="fa fa-times"></i></button>\n </td>\n <td class="report-field-handle">\n <!-- <img data-ng-src="assets/images/move.png" class="img-responsive"> -->\n </td>\n </tr>\n <tr data-ng-hide="report.Fields.length" class="unsortable">\n <td colspan="8" style="text-align:center;">\n <i>{{ \'MESSAGE_ADD_A_FIELD\' | translate }}</i>\n </td>\n </tr>\n </tbody>\n </table>\n <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField()">\n <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}\n </button>\n <!-- END TABLE -->\n </div>\n <div data-ng-if="report.Fields.length" class="mbottom20 pbottom20">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONDITIONS\' | translate}} </span>\n </div>\n </div>\n <div class="alert alert-info">\n <strong>Output</strong>\n <br>\n <span ng-bind-html="output"></span>\n </div>\n\n <report-builder group="report.conditions.group" fields="tableFields" forms="forms" firstCall=\'true\'></report-builder>\n </div>\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}" />\n </form>\n </div>\n <!-- END BUILD TAB -->\n\n <!-- PREVIEW TAB -->\n <div class="tab-pane" id="tab_1_3">\n <div ng-slide-down="showResult" lazy-render duration="0.5">\n <div ui-grid="gridOptions" data-ng-if="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-move-columns class="grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n </div>\n </div>\n <!-- END PREVIEW TAB -->\n\n </div>\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/channels/chat/offline/list/list.html",'<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-login"></i>\n <a href="/channels/chat/offline/list">{{ \'APPLICATION_OFFLINE\' | translate }}</a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-question font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_OFFLINE_MESSAGES\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/offline/message/message.directive.html",'<div class="message">\n <div class="row">\n <div class="col-md-12">\n <span class="bold">From: </span>\n [<a href="" data-ng-click="openContact(message.email)">{{message.email}}</a>]\n </div>\n </div>\n <br>\n <span class="todo-tasklist-date">\n <i class="icon-calendar"></i> {{message.createdAt | date:\'medium\'}} (<span am-time-ago="message.createdAt"></span>)\n </span>\n <hr>\n <div class="body text-left message-body" data-ng-bind="message.text"></div>\n <h5 data-ng-hide="message.text" class="media-heading"><i>{{\'MESSAGE_NO_AVAILABLE_TEXT\' | translate | lowercase}}</i></h5>\n</div>\n'),a.put("app/channels/chat/offline/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView();">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-login"></i>\n <a href="/channels/chat/offline/list">Offline</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-user"></i>\n <a href="#">{{enquiry.username}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE CONTENT -->\n <div class="portlet light">\n <div class="portlet-title">\n <div class="caption">\n <span data-ng-if="enquiry.ChatWebsite" class="caption-subject font-green-sharp bold uppercase">{{enquiry.ChatWebsite.name}}</span>\n </div>\n </div>\n <div class="portlet-body">\n <div class="row">\n <div class="col-md-4">\n <!-- Visitor Information -->\n <div class="portlet">\n <div class="portlet-body">\n <v-accordion class="vAccordion--default">\n <v-pane expanded="true">\n <v-pane-header>\n <ng-letter-avatar data-ng-if="enquiry.ChatVisitor" height="40" width="40" data="{{enquiry.ChatVisitor.fullname}}" fontsize="25" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #EA4C61" shape="round"></ng-letter-avatar>\n </v-pane-header>\n <v-pane-content>\n {{\'APPLICATION_NAME\' | translate}}:<p>{{enquiry.ChatVisitor.fullname}}</p>\n {{\'APPLICATION_EMAIL\' | translate}}:<p><a data-ng-click="openContact(enquiry.ChatVisitor.email)" href="">{{enquiry.ChatVisitor.email}}</a></p>\n <span data-ng-if="enquiry.ChatVisitor.labelOfflineData1">{{enquiry.ChatVisitor.labelOfflineData1}}: <p>{{enquiry.ChatVisitor.offlineData1}}</p></span>\n <span data-ng-if="enquiry.ChatVisitor.labelOfflineData2">{{enquiry.ChatVisitor.labelOfflineData2}}: <p>{{enquiry.ChatVisitor.offlineData2}}</p></span>\n <span data-ng-if="enquiry.ChatVisitor.labelOfflineData3">{{enquiry.ChatVisitor.labelOfflineData3}}: <p>{{enquiry.ChatVisitor.offlineData3}}</p></span>\n {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}:<p>{{enquiry.ChatVisitor.remote_address}}</p>\n {{\'APPLICATION_BROWSER\' | translate}}:<p>{{enquiry.ChatVisitor.browser}}</p>\n {{\'APPLICATION_REFERER\' | translate}}:<p>{{enquiry.ChatVisitor.referer}} - {{enquiry.ChatWebsite.name}}</p>\n {{\'APPLICATION_OS\' | translate}}:<p>{{enquiry.ChatVisitor.os}}</p>\n </v-pane-content>\n </v-pane>\n </v-accordion>\n </div>\n </div>\n </div>\n <div class="col-md-8">\n <!-- Offline message -->\n <div id="mail-box">\n <ul class="chats">\n <li class="in">\n <enquiry-message message="enquiry" list-id="enquiry.ChatWebsite.ListId"></enquiry-message>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+values:[a["new"],a.open,a.pending,a.closed],colours:["#44B6AE","#578EBE","#35AA47","#8775A7"]}},d.socket.on("report_sms_dashboard:"+b,function(c){a[b]=c.value,a.charts.interactions.values=[a["new"],a.open,a.pending,a.closed]})})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("DashboardVoiceCtrl",["$scope","$rootScope","$timeout","Auth","ReportQueue","ReportCall","Agent","VoiceQueue","Dashboard","socket",function(a,b,c,d,e,f,g,h,i,j){a.radioSwitch={size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"success",onColor:"danger"};var k=function(a,b){var c=a?30*a+120:177;angular.element(document.getElementsByName(b)[0]).css("height",c+"px")};a.initUser=function(){var b;if(a.user=d.getCurrentUser(),a.voice={},a.$on("$destroy",function(){b&&(b.terminate(),j.socket.removeAllListeners("dashboard:voice:waiting"),j.socket.removeAllListeners("dashboard:voice:active"),j.socket.removeAllListeners("dashboard:voice:complete"),j.socket.removeAllListeners("dashboard:voice:abandon"),j.socket.removeAllListeners("dashboard:voice:unmanaged"),j.socket.removeAllListeners("dashboard:voice:holdtime"),j.socket.removeAllListeners("dashboard:voice:talktime"))}),a.onmessage=function(b){a.voice=b.data,a.$apply()},window.Worker){switch(b=new Worker("assets/workers/dashboard/voice/worker.js"),a.user.role){case"admin":h.get().$promise.then(function(a){b.postMessage({evt:"myQueues",queues:a.rows})})["catch"](function(a){console.error(a)});break;case"user":b.postMessage({evt:"myQueues",queues:a.user.PVoiceQueues})}b.onmessage=a.onmessage}i.get({id:"voice",controller:"init"}).$promise.then(function(a){a.evt="dashboard:voice:init",b.postMessage(a)})["catch"](function(a){console.error(a)}),j.socket.on("dashboard:voice:waiting",function(a){a.evt="dashboard:voice:waiting",b.postMessage(a)}),j.socket.on("dashboard:voice:active",function(a){a.evt="dashboard:voice:active",b.postMessage(a)}),j.socket.on("dashboard:voice:complete",function(a){a.evt="dashboard:voice:complete",b.postMessage(a)}),j.socket.on("dashboard:voice:abandon",function(a){a.evt="dashboard:voice:abandon",b.postMessage(a)}),j.socket.on("dashboard:voice:unmanaged",function(a){a.evt="dashboard:voice:unmanaged",b.postMessage(a)}),j.socket.on("dashboard:voice:talktime",function(a){a.evt="dashboard:voice:talktime",b.postMessage(a)}),j.socket.on("dashboard:voice:holdtime",function(a){a.evt="dashboard:voice:holdtime",b.postMessage(a)}),j.socket.on("dashboard:voice:outbound",function(a){a.evt="dashboard:voice:outbound",b.postMessage(a)})},a.initAgent=function(){return a.agent=d.getCurrentUser(),j.socket.on("voice:queue:agent:join",function(b){b.loggedAt=moment().format("YYYY-MM-DD HH:mm:ss"),b.callstaken=0,a.table1.data.push(b)}),j.socket.on("voice:queue:agent:leave",function(b){_.remove(a.table1.data,{queue:b.queue})}),a.table1={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!0,columnDefs:[{name:"queue",headerCellFilter:"translate",displayName:"APPLICATION_QUEUE",cellClass:"text-center ui-grid-vcenter"},{name:"loggedAt",displayName:"logged At",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.loggedAt"></span></div>'},{name:"lastcall",headerCellFilter:"translate",displayName:"APPLICATION_LAST_CALL",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.lastcall"></span></div>'},{name:"callstaken",headerCellFilter:"translate",displayName:"APPLICATION_CALLS_TAKEN",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>{{row.entity.callstaken || 0}}</span></div>"}],data:[],onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){k(a.gridApi.core.getVisibleRows(a.gridApi.grid).length,"table1")})}},a.table2={enableGridMenu:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:0,multiSelect:!1,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate"},{name:"status",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div><span>{{'APPLICATION_QUEUESTATUS_WAITING' | translate}}</span>[<timer start-time=\"grid.appScope.moment(row.entity.updatedAt).unix()*1000\">{{hhours}}:{{mminutes}}:{{sseconds}}</timer>]</div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"caller",displayName:"APPLICATION_CALLER",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.calleridnum || ''}} {{row.entity.calleridname || ''}}</span></div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1},{name:"position",displayName:"APPLICATION_POSITION",headerCellFilter:"translate"},{name:"agent",displayName:"APPLICATION_AGENT",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.connectedlinenum || ''}} {{row.entity.connectedlinename || ''}}</span></div>",enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],onRegisterApi:function(b){a.gridApi1=b,a.gridApi1.grid.registerDataChangeCallback(function(){k(a.gridApi1.core.getVisibleRows(a.gridApi1.grid).length,"table2")})}},a.table3={exporterCsvFilename:"abandoned_calls.csv",enableRowHeaderSelection:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!1,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,enableSelectAll:!1,enableHorizontalScrollbar:0,enableVerticalScrollbar:1,columnDefs:[{name:"queue",displayName:"APPLICATION_QUEUE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter"},{name:"caller",displayName:"APPLICATION_CALLER",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.calleridnum || ''}} {{row.entity.calleridname || ''}}</div>"},{name:"createdAt",displayName:"APPLICATION_DATE",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:"<div>{{row.entity.updatedAt | date:'yyyy-MM-dd HH:mm:ss'}}</div>"},{name:"lastAssignedTo",cellClass:"text-center ui-grid-vcenter",displayName:"APPLICATION_LAST_ASSIGNED_TO",headerCellFilter:"translate"},{name:"assigned",displayName:"APPLICATION_STATUS",headerCellFilter:"translate",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.assigned" type="checkbox" switch-active="{{ !row.entity.assigned || grid.appScope.agent.name === row.entity.lastAssignedTo }}" switch-on-text="{{ \'APPLICATION_ASSIGNED\' | translate }}" switch-off-text="{{ \'APPLICATION_FREE\' | translate }}" switch-on-color="{{ grid.appScope.radioSwitch.onColor }}" switch-off-color="{{ grid.appScope.radioSwitch.offColor }}" switch-animate="{{ grid.appScope.radioSwitch.animate }}" switch-size="{{ grid.appScope.radioSwitch.size }}" switch-label="{{ grid.appScope.radioSwitch.label }}" switch-icon="{{ grid.appScope.radioSwitch.icon }}" switch-radio-off="{{ grid.appScope.radioSwitch.radioOff }}" switch-label-width="{{ grid.appScope.radioSwitch.labelWidth }}" switch-handle-width="{{ grid.appScope.radioSwitch.handleWidth }}"></div>',enableFiltering:!1}],data:[],onRegisterApi:function(b){a.gridApi2=b,a.gridApi2.grid.registerDataChangeCallback(function(){k(a.gridApi2.core.getVisibleRows(a.gridApi2.grid).length,"table3")})}},g.get({id:d.getCurrentUser().id,controller:"voice",controller1:"queues"}).$promise.then(function(b){a.table1.data=_.map(b.rows,function(a){return{queue:a.UserHasVoiceQueue.queue,loggedAt:a.UserHasVoiceQueue.loggedAt,callstaken:a.UserHasVoiceQueue.callstaken,lastcall:a.UserHasVoiceQueue.lastcall}})})["finally"](function(){j.socket.on("voice:queue:update",function(b){var c=_.find(a.table1.data,{queue:b.queue});c?_.merge(c,b):a.table1.data.push(b)}),j.socket.on("user_has_voice_queue:remove",function(b){b.UserId===d.getCurrentUser().id&&_.remove(a.table1.data,{name:b.queue})})})["catch"](function(a){console.error(a)}),e.get({id:"waiting",controller:"calls"}).$promise.then(function(b){a.table2.data=b.rows})["finally"](function(){j.socket.on("report_queue:save",function(b){a.table2.data.push(b)}),j.socket.on("report_queue:update",function(b){var c=_.find(a.table2.data,{id:b.id});c&&b.queuecallerleaveAt&&_.remove(a.table2.data,{id:b.id})})})["catch"](function(a){console.error(a)}),e.get({controller:"abandoned",controller2:"all"}).$promise.then(function(b){a.table3.data=b.rows})["catch"](function(a){console.error(a)})["finally"](function(){j.socket.on("report_queue:save",function(b){a.table3.data.unshift(b)}),j.socket.on("report_queue:update",function(b){var c=_.find(a.table3.data,{id:b.id});c&&_.merge(c,b)})})},a.updateItem=function(b){return e.update({id:b.id},{assigned:b.assigned,lastAssignedTo:b.assigned?a.agent.name:void 0}).$promise["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk",{url:"/desk",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").factory("DeskAccount",["$resource",function(a){return a("/api/desk/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("DeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.map(a.displayedDeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedDeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("desk_account"),b.url="/api/desk/accounts",h.getPage(b).then(function(d){a.displayedDeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedDeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedDeskAccounts.length)}),f.socket.on("desk_account:save",function(){a.initList(b)}),f.socket.on("desk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/desk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.error(a)})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/desk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.error(a)})}),a.checkAccount=function(a){b.get("/api/desk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.list",{url:"/list",templateUrl:"app/desk/list/list.html",controller:"DeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("DeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","desk_com",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("desk_configuration"),g.unsyncUpdates("desk_field")}),a.initView=function(){b.get("/api/desk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.error(a)})},a.updateItem=function(){b.put("/api/desk/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/desk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("desk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.error(a)})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/desk/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/desk/configurations",a.configuration).success(function(a){e.path("desk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/desk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=j.fields.concat(b)}).error(function(a){h.error(a)})},a.getConfiguration=function(){b.get("/api/desk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("desk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.error(a)})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.error(a)})},a.removeItem=function(a){b["delete"]("api/desk/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/desk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/desk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/desk/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"id",b.idField);c&&(b.customField=_.result(c,"custom",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.data.choices?c.data.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.view",{url:"/view/:id",templateUrl:"app/desk/view/view.html",controller:"DeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.desk.view.account",{url:"/account",templateUrl:"app/desk/view/view.account.html"}).state("main.desk.view.configurations",{url:"/configurations",templateUrl:"app/desk/view/view.configurations.html"}).state("main.desk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/desk/view/view.configurationSettings.html",controller:"DeskViewCtrl"}).state("main.desk.view.configuration",{url:"/configuration",templateUrl:"app/desk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("DeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/desk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/desk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.wizard",{url:"/wizard",templateUrl:"app/desk/wizard/wizard.html",controller:"DeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk",{url:"/freshdesk",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").factory("FreshdeskAccount",["$resource",function(a){return a("/api/freshdesk/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("FreshdeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.map(a.displayedFreshdeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedFreshdeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("freshdesk_account"),b.url="/api/freshdesk/accounts",h.getPage(b).then(function(d){a.displayedFreshdeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedFreshdeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedFreshdeskAccounts.length)}),f.socket.on("freshdesk_account:save",function(){a.initList(b)}),f.socket.on("freshdesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/freshdesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.error(a)})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/freshdesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.error(a)})}),a.checkAccount=function(a){b.get("/api/freshdesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.list",{url:"/list",templateUrl:"app/freshdesk/list/list.html",controller:"FreshdeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FreshdeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("freshdesk_configuration"),h.unsyncUpdates("freshdesk_field")}),a.initView=function(){b.get("/api/freshdesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.error(a)})},a.updateItem=function(){b.put("/api/freshdesk/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/freshdesk/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("freshdesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.error(a)})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/freshdesk/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/freshdesk/configurations",a.configuration).success(function(a){e.path("freshdesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/freshdesk/accounts/"+c.id+"/fields").success(function(b){a.accountFields=[],b=f("freshdesk")(b),_.forEach(b,function(b){a.accountFields.push(b.ticket_field)})}).error(function(a){i.error(a)})},a.getConfiguration=function(){b.get("/api/freshdesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("freshdesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.error(a)})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.error(a)})},a.removeItem=function(a){b["delete"]("api/freshdesk/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/freshdesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/freshdesk/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.idField){var c=_.find(a.accountFields,"name",b.idField);c&&(b.customField=!_.result(c,"default",!0))}a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.choices.length>0?c.choices:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.view",{url:"/view/:id",templateUrl:"app/freshdesk/view/view.html",controller:"FreshdeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.freshdesk.view.account",{url:"/account",templateUrl:"app/freshdesk/view/view.account.html"}).state("main.freshdesk.view.configurations",{url:"/configurations",templateUrl:"app/freshdesk/view/view.configurations.html"}).state("main.freshdesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/freshdesk/view/view.configurationSettings.html",controller:"FreshdeskViewCtrl"}).state("main.freshdesk.view.configuration",{url:"/configuration",templateUrl:"app/freshdesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("FreshdeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/freshdesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/freshdesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.freshdesk.wizard",{url:"/wizard",templateUrl:"app/freshdesk/wizard/wizard.html",controller:"FreshdeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.iframe",{url:"/iframe",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("IframeViewCtrl",["$scope","Auth","Integration","xAlert","$translate","$sce",function(a,b,c,d,e,f){a.Auth=b,a.initView=function(){return c.get({state:"iframe"}).$promise.then(function(c){a.iframe=_.first(c.rows),a.iframe.remoteUri?a.url=f.trustAsResourceUrl(a.iframe.remoteUri):b.isAgent()&&d.show(e.instant("MESSAGE_NO_IFRAME_CONFIGURED")+".","danger")})["catch"](function(a){d.error(a)})},a.updateItem=function(){return b.isAgent()?void 0:c.update({id:a.iframe.id},a.iframe).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.iframe.view",{url:"/view",templateUrl:"app/iframe/view/view.html",controller:"IframeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Integration",["$resource",function(a){return a("/api/integrations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations",{url:"/integrations",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:19}}})}]),angular.module("xCallyShuttleApp").controller("IntegrationListCtrl",["$scope","Modal","socket","FileUploader","Integration","xAlert",function(a,b,c,d,e,f){a.integrationsByPage=10;var g=a.uploader=new d({url:"api/integrations",autoUpload:!0,removeAfterUpload:!0});g.filters.push({name:"zipFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|zip|".indexOf(b)}}),g.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(b.name,"success")},g.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),b.errors.forEach(function(a){f.error(err)})},a.deleteItem=b.confirm["delete"](function(a){e["delete"]({id:a},function(){f.show("Integration Removed","success")},function(a){f.error(a)})}),a.initList=function(){a.integrations=e.query({},function(a){c.syncUpdates("integration",a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations.list",{url:"/list",templateUrl:"app/integration/list/list.html",controller:"IntegrationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty",{url:"/jscripty",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("JscriptyProject",["$resource",function(a){return a("/api/jscripty/projects/:id/:controller/:action/:action2",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectListCtrl",["$scope","$uibModal","JscriptyProject","gridOptions","Auth",function(a,b,c,d,e){a.isAdmin=e.isAdmin(),a.initView=function(){var b={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:300,buttons:[{"class":"blue-hoki",icon:"icon-settings",href:"/jscripty/projects/view/{{row.entity.id}}",hide:!e.isAdmin()},{"class":" green-turquoise",icon:"fa fa-play",onClick:"grid.appScope.openJscriptyTab(row.entity)"},{"class":"purple",icon:"icon-book-open",href:"/jscripty/projects/report/{{row.entity.id}}/sessions",hide:!e.isAdmin()},{"class":"red-sunglo",icon:"fa fa-trash",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)",hide:!e.isAdmin()}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/jscripty/project/list/list.create.modal.html",controller:"JscriptyProjectListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectListCreateCtrl",["$scope","$translate","$uibModalInstance","JscriptyProject","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){console.log(a),e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects.list",{url:"/list",templateUrl:"app/jscripty/project/list/list.html",controller:"JscriptyProjectListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectReportCtrl",["$scope","uiGridConstants","$http","$state","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope","gridOptions","JscriptyProject","$location",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.projectStats={started:0,incomplete:0,completed:0},a.projectId=e.id,a.initView=function(){m.get({id:e.id}).$promise.then(function(b){a.project=b})["catch"](function(a){i.error(a)}),m.get({id:e.id,controller:"sessions"}).$promise.then(function(b){var c=_.groupBy(b.rows,"status");a.projectStats.started=c.started?c.started.length:0,a.projectStats.completed=c.completed?c.completed.length:0,a.projectStats.incomplete=c.incomplete?c.incomplete.length:0})["catch"](function(a){i.error(a)})},a.pdf=function(a,b){var c=[];if(a){var d=html2canvas(document.getElementById(a)),e=d.parse(),f=d.render(e),g=f.toDataURL("image/png");c.push({image:g,width:500,style:"img"})}b.length&&_.forEach(b,function(a){var b=html2canvas(document.getElementById(a.question_id)),d=b.parse(),e=b.render(d),f=e.toDataURL("image/png");c.push({image:f,width:500,style:"img"})});var h={content:c};pdfMake.createPdf(h).download("Project_summary.pdf")},a.getProjectSessions=function(){var c={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"session_id",displayName:"APPLICATION_SESSIONID"},{name:"queue",displayName:"APPLICATION_QUEUE"
+},{name:"membername",displayName:"APPLICATION_AGENT"},{name:"calleridnum",displayName:"APPLICATION_CALLERIDNUM"},{name:"createdAt",displayName:"APPLICATION_STARTEDAT",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:b.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:b.filter.LESS_THAN_OR_EQUAL}]},{name:"completedAt",displayName:"APPLICATION_COMPLETEDAT",filterHeaderTemplate:'<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',filters:[{name:"From",condition:b.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:b.filter.LESS_THAN_OR_EQUAL}]},{name:"status",displayName:"APPLICATION_STATUS"},{name:"last_question_id",displayName:"APPLICATION_LASTQUESTIONID"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/jscripty/projects/report/{{row.entity.projectId}}/session/{{row.entity.session_id}}",name:"Detail"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteSession(row.entity.session_id)"}]}]};a.gridOptions=l.gridOptions(m,c,a,{id:e.id,controller:"sessions"})},a.deleteSession=function(b){m["delete"]({id:e.id,controller:"sessions",action:b}).$promise.then(function(b){a.gridOptions.getPage(),a.initView(),i.show(j.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})},a.getSessionDetails=function(){m.get({id:e.id,controller:"sessions",action:e.sessionId}).$promise.then(function(b){a.session=b,a.sessionQuestions=b.ReportJscriptyQuestions})["catch"](function(a){i.error(a)})},a.getQuestionSummary=function(){var b={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"question_id",displayName:"APPLICATION_QUESTIONID"},{name:"question_type",displayName:"APPLICATION_QUESTIONTYPE"},{name:"question_label",displayName:"APPLICATION_QUESTIONLABEL"},{name:"question_text",displayName:"APPLICATION_QUESTION"},{name:"count",displayName:"APPLICATION_COUNT",enableFiltering:!1},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/jscripty/projects/report/"+e.id+"/detail/{{row.entity.question_id}}",name:"Detail"}]}]};a.gridOptions=l.gridOptions(m,b,a,{id:e.id,controller:"questions",action:"summary"})},a.getQuestionInputs=function(){var b={exporterCsvFilename:"jscriptyProjects.csv",columnDefs:[{name:"session_id",displayName:"APPLICATION_SESSIONID"},{name:"question_id",displayName:"APPLICATION_QUESTIONID",enableFiltering:!1},{name:"question_label",displayName:"APPLICATION_QUESTIONLABEL",enableFiltering:!1},{name:"question_text",displayName:"APPLICATION_QUESTION",enableFiltering:!1},{name:"input_label",displayName:"APPLICATION_INPUTLABEL",enableFiltering:!1},{name:"input_value",cellTemplate:'<div uib-tooltip="{{row.entity.input_value}}">{{row.entity.input_value}}</div>',displayName:"APPLICATION_INPUTVALUE",enableFiltering:!1}]};a.gridOptions=l.gridOptions(m,b,a,{id:e.id,controller:"inputs"})},a.getProjectDetail=function(){a.projectDetail=[],m.query({id:e.id,controller:"questions",action:"detail"}).$promise.then(function(b){console.log(e.questionId),e.questionId?a.projectDetail.push(_.find(b,function(a){return a.question_id==parseInt(e.questionId)})):a.projectDetail=b,console.log(a.projectDetail)})["catch"](function(a){i.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects.report",{url:"/report/:id",templateUrl:"app/jscripty/project/report/report.html",controller:"JscriptyProjectReportCtrl"}).state("main.jscripty.projects.report.sessions",{url:"/sessions",templateUrl:"app/jscripty/project/report/report.sessions.html"}).state("main.jscripty.projects.report.summary",{url:"/summary",templateUrl:"app/jscripty/project/report/report.summary.html"}).state("main.jscripty.projects.report.inputs",{url:"/inputs",templateUrl:"app/jscripty/project/report/report.inputs.html"}).state("main.jscripty.projects.report.detail",{url:"/detail",templateUrl:"app/jscripty/project/report/report.detail.html"}).state("main.jscripty.projects.report.questionDetail",{url:"/detail/:questionId",controller:"JscriptyProjectReportCtrl",templateUrl:"app/jscripty/project/report/report.detail.html"}).state("main.jscripty.projects.report.sessionDetail",{url:"/session/:sessionId",controller:"JscriptyProjectReportCtrl",templateUrl:"app/jscripty/project/report/report.session.detail.html"})}]),angular.module("xCallyShuttleApp").controller("JscriptyProjectViewCtrl",["$scope","$http","$state","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope",function(a,b,c,d,e,f,g,h,i,j){a.jscriptyProject={},a.getProject=function(){b.get("/api/jscripty/projects/"+d.id).success(function(b){a.jscriptyProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!=a&&-1!=a.indexOf("Script error."));else{var d=new Image;d.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(e){}},b.token=f.getToken();var a=new EditorUi(new Editor);a.openString(b.draft,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),e.syncUpdates("jscripty_project",[b],function(a,c,d){c.id===b.id})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.jscripty.projects.view",{url:"/view/:id",templateUrl:"app/jscripty/project/view/view.html",controller:"JscriptyProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/jscripty/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/jscripty/js/Editor.js","assets/plugins/jscripty/js/Graph.js","assets/plugins/jscripty/js/EditorUi.js","assets/plugins/jscripty/js/Actions.js","assets/plugins/jscripty/js/Menus.js","assets/plugins/jscripty/js/Sidebar.js","assets/plugins/jscripty/js/Toolbar.js","assets/plugins/jscripty/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("LandingCtrl",["$scope","$location","$window","$timeout","Auth","Setting",function(a,b,c,d,e,f){a.initLanding=function(){a.year=moment().year(),f.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)});var c,g,h;return(h=e.getCurrentUser().$promise)?h.then(function(e){switch(g=e,g.role){case"user":for(var f=0;f<g.Modules.length&&!(c=g.Modules[f].path);f++);break;case"admin":case"agent":c="/dashboard/voice"}c||(a.message="MESSAGE_NO_AVAILABLE_MODULES"),d(function(){b.path(c)},500)})["catch"](function(a){console.error(a),b.path("/login")}):void b.path("/login")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("landing",{url:"/landing",templateUrl:"app/landing/landing.html",controller:"LandingCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/error.css","assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("LoginCtrl",["$scope","Auth","$location","$window","$rootScope","Setting","xAlert","$stateParams",function(a,b,c,d,e,f,g,h){a.year=moment().year(),a.recovered=h.reset,a.userLogin={},a.userSignUp={},a.loginSubmitted=!1,a.signupSubmitted=!1,a.errorLogin=!1,a.errorSignup=!1,a.errorLog="",a.forgotPassword=!1,a.showRecoverMessage=!1,a.flagLogin1=!1,a.getInfo=function(){return f.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)})},a.toggleLogin=function(){a.flagLogin1=!a.flagLogin1},a.toggleForgotPassword=function(b){a.showRecoverMessage=!1,a.userLogin.email="",a.forgotPassword=b},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.recover=function(){b.recover({email:a.userLogin.email}).then(function(){a.showRecoverMessage=!0})["catch"](function(b){console.log(b),a.showRecoverMessage=!1,g.error(b)})},a.login=function(d){a.loginSubmitted=!0,d.$valid?b.login({name:a.userLogin.name,password:a.userLogin.password,remember:a.userLogin.remember}).then(function(){c.path("/landing")})["catch"](function(b){a.errorLog=b.message||"error",a.errorLogin=!0}):a.errorLogin=!0},a.signup=function(c){a.signupSubmitted=!0,c.$valid?b.createUser({email:a.userSignUp.email,fullname:a.userSignUp.fullname,name:a.userSignUp.name,password:a.userSignUp.password,role:a.userSignUp.role,online:!0})["catch"](function(b){a.errorLog=b.message||"error",a.errorSignup=!0}):a.errorSignup=!0},a.loginOauth=function(a){d.location.href="/auth/"+a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("login",{url:"/login",templateUrl:"app/login/login.html",params:{reset:null},controller:"LoginCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Action",["$resource",function(a){return a("/api/actions/:name/:controller",{name:"@name"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Ami",["$resource",function(a){return a("/api/ami/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("ChooseContactModalCtrl",["$scope","$uibModalInstance","data","xAlert","$translate","Contact",function(a,b,c,d,e,f){function g(){return f.get({id:c.eventId,controller:"checkevent"}).$promise.then(function(b){a.contacts=b.rows})["catch"](function(a){d.error(a)})}function h(){return delete c.type,f.get(c).$promise.then(function(b){a.contacts=b.rows})["catch"](function(a){d.error(a)})}a.open=function(a){b.close(a)},a.getContacts=function(){switch(c.type){case"event":g();break;case"detail":h();break;default:b.dismiss("cancel")}},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("CloseEditedTabModalCtrl",["$scope","$uibModalInstance",function(a,b){a.close=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("CloseEditedTabModalJscriptyCtrl",["$scope","$uibModalInstance","project","JscriptyProject","xAlert",function(a,b,c,d,e){a.init=function(){a.project=c},a.close=function(){d.update({id:a.project.projectId,controller:"sessions",action:a.project.sessionId},{status:"incomplete",completedAt:Date(),last_question_id:a.project.lastQuestionId}).$promise.then(function(a){e.show("Project Ended","success")}),b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("ContactManagerSetDisposition",["$scope","$uibModalInstance","VoiceDisposition",function(a,b,c){a.initDisposition=function(){return c.get().$promise.then(function(b){a.dispositions=b.rows})["catch"](function(a){console.error(a)})},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("customGridDateFilterModalCtrl",["$scope","$rootScope","$log","$uibModalInstance","term","hasTime",function(a,b,c,d,e,f){if(a.hasTime=f,a.dateTime={},e)if(f){var g=e.split(" ");a.dateTime.filterDate=moment(g[0]),a.dateTime.time=e[1]?moment(g[1],"HH:mm"):moment()}else a.dateTime.filterDate=moment(e);else f&&(a.dateTime.time=moment());a.setFilterDate=function(b){d.close({date:moment(b).format("YYYY-MM-DD").toString(),time:f?a.dateTime.time?moment(a.dateTime.time).format("HH:mm").toString():moment().format("HH:mm").toString():null})},a.cancelDateFilter=function(){d.dismiss()}}]),angular.module("xCallyShuttleApp").controller("customGridTagsModalCtrl",["$scope","$rootScope","$log","$uibModalInstance","term","Tag","xAlert",function(a,b,c,d,e,f,g){a.initModal=function(){return a.item={},f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name"),a.item.myTags=e})["catch"](function(a){console.log("error retrieving tags"),g.error(a),d.dismiss()})},a.setFilterTags=function(){d.close(a.item.myTags)},a.cancelTagsFilter=function(){d.dismiss()}}]),angular.module("xCallyShuttleApp").factory("templateVariable",["$translate",function(a){return[{id:"voice",label:a.instant("APPLICATION_VOICE"),title:a.instant("APPLICATION_VOICE"),groups:[{label:a.instant("APPLICATION_QUEUE"),values:[{value:"{{uniqueid}}",label:a.instant("APPLICATION_UNIQUEID"),description:a.instant("APPLICATION_UNIQUEID")},{value:"{{calleridnum}}",label:a.instant("APPLICATION_CALLERIDNUM"),description:a.instant("APPLICATION_CALLERIDNUM")},{value:"{{calleridname}}",label:a.instant("APPLICATION_CALLERIDNAME"),description:a.instant("APPLICATION_CALLERIDNAME")},{value:"{{queue}}",label:a.instant("APPLICATION_QUEUE"),description:a.instant("APPLICATION_QUEUE")},{value:"{{interface}}",label:a.instant("APPLICATION_INTERFACE"),description:a.instant("APPLICATION_INTERFACE")},{value:"{{membername}}",label:a.instant("APPLICATION_MEMBERNAME"),description:a.instant("APPLICATION_MEMBERNAME")},{value:"{{holdtime}}",label:a.instant("APPLICATION_HOLDTIME"),description:a.instant("APPLICATION_HOLDTIME")},{value:"{{talktime}}",label:a.instant("APPLICATION_TALKTIME"),description:a.instant("APPLICATION_TALKTIME")},{value:"{{connectedlinenum}}",label:a.instant("APPLICATION_CONNECTEDLINENUM"),description:a.instant("APPLICATION_CONNECTEDLINENUM")},{value:"{{connectedlinename}}",label:a.instant("APPLICATION_CONNECTEDLINENAME"),description:a.instant("APPLICATION_CONNECTEDLINENAME")},{value:"{{agentconnectAt}}",label:a.instant("APPLICATION_CONNECTED_AT"),description:a.instant("APPLICATION_CONNECTED_AT")},{value:"{{agentcalledAt}}",label:a.instant("APPLICATION_CALLED_AT"),description:a.instant("APPLICATION_CALLED_AT")},{value:"{{agentcompleteAt}}",label:a.instant("APPLICATION_COMPLETED_AT"),description:a.instant("APPLICATION_AGENT_CALLED_AT")},{value:"{{reason}}",label:a.instant("APPLICATION_REASON"),description:a.instant("APPLICATION_REASON")},{value:"{{lastevent}}",label:a.instant("APPLICATION_LAST_EVENT"),description:a.instant("APPLICATION_LAST_EVENT")},{value:"{{channel}}",label:a.instant("APPLICATION_CHANNEL"),description:a.instant("APPLICATION_CHANNEL")}]}]},{id:"chat",label:a.instant("APPLICATION_CHAT"),title:a.instant("APPLICATION_CHAT"),groups:[{label:a.instant("APPLICATION_VARIABLES"),values:[{value:"{{username}}",label:a.instant("APPLICATION_USERNAME"),description:a.instant("APPLICATION_USERNAME")},{value:"{{email}}",label:a.instant("APPLICATION_MAIL"),description:a.instant("APPLICATION_MAIL")},{value:"{{text}}",label:a.instant("APPLICATION_TEXT"),description:a.instant("APPLICATION_TEXT")},{value:"{{chatWebsite}}",label:a.instant("APPLICATION_WEBSITE"),description:a.instant("APPLICATION_WEBSITE")}]}]},{id:"mail",label:a.instant("APPLICATION_MAIL"),title:a.instant("APPLICATION_MAIL"),groups:[{label:a.instant("APPLICATION_INTERACTION"),values:[{value:"{{interactionId}}",label:a.instant("APPLICATION_INTERACTION_ID"),description:a.instant("APPLICATION_INTERACTION_ID")},{value:"{{subject}}",label:a.instant("APPLICATION_SUBJECT"),description:a.instant("APPLICATION_SUBJECT")},{value:"{{{body}}}",label:a.instant("APPLICATION_MESSAGE"),description:a.instant("APPLICATION_MESSAGE")},{value:"{{accountName}}",label:a.instant("APPLICATION_ACCOUNT"),description:a.instant("APPLICATION_ACCOUNT")},{value:"{{from}}",label:"From",description:"From"},{value:"{{to}}",label:"To",description:"To"},{value:"{{cc}}",label:"Cc",description:"Cc"},{value:"{{agentName}}",label:a.instant("APPLICATION_AGENT_NAME"),description:a.instant("APPLICATION_AGENT_NAME")},{value:"{{agentEmail}}",label:a.instant("APPLICATION_AGENT_EMAIL"),description:a.instant("APPLICATION_AGENT_EMAIL")},{value:"{{createdAt}}",label:a.instant("APPLICATION_CREATED_AT"),description:a.instant("APPLICATION_CREATED_AT")}]}]}]}]),angular.module("xCallyShuttleApp").controller("gridDatePickerFilterCtrl",["$scope","$timeout","$uibModal","uiGridConstants",function(a,b,c,d){b(function(){a.col.colDef.name;a.openDatePicker=function(b){var d=c.open({templateUrl:"app/main/customDateFilter.modal.html",controller:"customGridDateFilterModalCtrl",size:"md",windowClass:"custom-date-filter-modal",resolve:{term:[function(){return b.term||null}],hasTime:b.hasTime||!1}});d.result.then(function(c){a.colFilter.listTerm=[],a.colFilter.term=c.date,b.hasTime&&(a.colFilter.term+=" "+c.time)})}})}]),angular.module("xCallyShuttleApp").factory("gridOptions",["Modal","xAlert","$translate","$interval","$q","usSpinnerService",function(a,b,c,d,e,f){return{gridOptions:function(d,g,h,i,j,k,l){function m(a,b){a.filter&&a.filter.term&&b&&(o[a.name]=a.filter.term),a.filters&&(a.filters.length>1?a.filters.forEach(function(b){b.term?64===b.condition?o[a.name+"_uiFrom"]=b.term:256===b.condition&&(o[a.name+"_uiTo"]=b.term):64===b.condition?delete o[a.name+"_uiFrom"]:256===b.condition&&delete o[a.name+"_uiTo"]}):a.filters.length&&a.filters[0].term?o[a.name]=a.filters[0].term:delete o[a.name])}h.id=[];var n=k?"gridOptions"+k:"gridOptions",o={offset:0,limit:10},p={offset:0,limit:10};g.draggable&&(g.rowTemplate='<div grid="grid" class="ui-grid-draggable-row" draggable="true"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'custom\': true }" ui-grid-cell></div></div>',g.useExternalPagination=!1,g.enablePaginationControls=!1,g.showGridFooter=!1);var q=function(a){var b=a&&a>h[n].paginationPageSize?h[n].paginationPageSize:a,c=b?30*b+120:177,d=angular.element(document.getElementsByName(n)).length?angular.element(document.getElementsByName(n)[0]):angular.element(document.getElementsByClassName("ui-grid")[0]);d.css("height",c+"px")},r=function(a,b){return h[n].enablePaginationControls||(delete o.offset,delete o.limit),f.spin("spinner-grid"),i=a||i,d=b||d,d.get(i?_.merge(o,i):o).$promise.then(function(a){h[n].totalItems=a.count,h[n].data=a.rows,q(a.rows.length),l&&l()})["catch"](function(a){console.error(a)})["finally"](function(){f.stop("spinner-grid")})};return h.deleteItem=a.confirm["delete"](function(a){var e=i?angular.copy(i):{};return _.merge(e,{id:a}),d.remove(e).$promise.then(function(){r(),b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),h.gridApi.selection.clearSelectedRows(),h.id=[]})["catch"](function(a){b.error(a)})}),h.deleteItems=a.confirm["delete"](function(){var a=i?angular.copy(i):{};return _.merge(a,{ids:h.id}),d["delete"](a).$promise.then(function(){r(),b.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),h.gridApi.selection.clearSelectedRows(),h.id=[]})["catch"](function(a){b.error(a)})}),g.columnDefs.forEach(function(a){m(a,!0),a.hasOwnProperty("displayName")||(a.displayName="APPLICATION_"+a.name.toUpperCase()),a.headerCellFilter="translate",a.hasOwnProperty("buttons")&&(a.displayName="",a.cellClass="ui-grid-vcenter",a.enableSorting=!1,a.enableFiltering=!1,a.enableColumnMenu=!1,a.cellTemplate="<div>",a.buttons.forEach(function(b){if(b.directive)a.cellTemplate+=b.directive;else{if(a.cellTemplate+="<a",a.cellTemplate+=b.hide?' data-ng-hide="'+b.hide+'" ':" ",a.cellTemplate+=b["class"]?' class="btn btn-xs '+b["class"]+'" ':" ",a.cellTemplate+=b.href?' data-ng-href="'+b.href+'" ':" ",a.cellTemplate+=b.uisref?' ui-sref="'+b.uisref+'" ':" ",a.cellTemplate+=b.onClick?' data-ng-click="'+b.onClick+'" ':" ",a.cellTemplate+=b.title?' title="'+b.title+'"':"",a.cellTemplate+=">",a.cellTemplate+=b.icon?'<i class="'+b.icon+'"></i>':"",b.name)switch(b.name){case"delete":a.cellTemplate+='<i class="icon-trash"></i>';break;case"profile":case"settings":case"detail":case"embedding":a.cellTemplate+='<i class="icon-settings"></i>';break;case"view":a.cellTemplate+='<i class="icon-doc"></i>';break;case"clone":a.cellTemplate+='<i class="icon-docs"></i>';break;case"permits":a.cellTemplate+='<i class="icon-key"></i>';break;case"copy":a.cellTemplate+='<i class="fa fa-files-o"></i>';break;case"select":a.cellTemplate+='<i class="icon-check"></i>';break;case"preview":a.cellTemplate+='<i class="icon-magnifier"></i>';break;case"contacts":a.cellTemplate+='<i class="fa fa-users"></i>';break;case"download":case"export":a.cellTemplate+='<i class="fa fa-download"></i>';break;case"agents":a.cellTemplate+='<i class="icon-people"></i>';break;case"run":a.cellTemplate+='<i class="fa fa-cogs"></i>';break;case"mailRoom":a.cellTemplate+='<i class="fa fa-envelope"></i>';break;case"chatRoom":a.cellTemplate+='<i class="fa fa-users"></i>';break;case"faxRoom":a.cellTemplate+='<i class="icon-paper-plane"></i>';break;case"smsRoom":a.cellTemplate+='<i class="glyphicon glyphicon-comment"></i>';break;case"check":a.cellTemplate+='<i class="fa fa-check"></i>';break;case"queues":a.cellTemplate+='<i class="icon-docs"></i>';break;default:a.cellTemplate+="{{'APPLICATION_"+b.name.toUpperCase()+"' | translate}}"}else a.cellTemplate+=b.displayName?"{{'"+b.displayName+"' | translate}}":"";a.cellTemplate+="</a> "}}),a.cellTemplate+="<div>",delete a.buttons)}),_.merge({enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableRowSelection:!0,enableSelectAll:!0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,multiSelect:!0,getPage:r,gridMenuTitleFilter:function(a){var b=e.defer();return b.resolve(c.instant(a)),b.promise},exporterAllDataFn:function(){return p.offset=o.offset,p.limit=o.limit,o={offset:0,limit:null},r().then(function(){o.offset=p.offset,o.limit=p.limit,r()})},exporterFieldCallback:function(a,b,c,d){if("applications"===c.field&&b.entity.Applications){var e="";return _.forEach(b.entity.Applications,function(a){e+=a.app+"("+a.appdata.join(",")+")"}),e}return d},exporterHeaderFilter:c.instant,onRegisterApi:function(a){h.gridApi=a,h.gridApi.selection&&(h.gridApi.selection.on.rowSelectionChanged(h,function(a){a.isSelected?h.id.push(h.gridApi.grid.options.primaryKey?a.entity[h.gridApi.grid.options.primaryKey]:a.entity.id):_.pull(h.id,h.gridApi.grid.options.primaryKey?a.entity[h.gridApi.grid.options.primaryKey]:a.entity.id)}),h.gridApi.selection.on.rowSelectionChangedBatch(h,function(a){a[0].isSelected?h.id=_.union(h.id,_.map(a,h.gridApi.grid.options.primaryKey?"entity."+h.gridApi.grid.options.primaryKey:"entity.id")):_.map(a,h.gridApi.grid.options.primaryKey?"entity."+h.gridApi.grid.options.primaryKey:"entity.id").forEach(function(a){_.pull(h.id,a)})})),h.gridApi.core.on.sortChanged(h,function(a,b){0===b.length?o.order=null:o.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),r()});for(var e=0;e<h.gridOptions.columnDefs.length;e++)if(h.gridOptions.columnDefs[e].hasOwnProperty("sort")){o.order=h.gridOptions.columnDefs[e].name+" "+h.gridOptions.columnDefs[e].sort.direction.toUpperCase();break}h.gridApi.pagination.on.paginationChanged(h,function(a,b){o.offset=(a-1)*b,o.limit=b,r()}),h.gridApi.core.on.filterChanged(h,function(){var a=this.grid;a.columns.forEach(function(a){m(a)}),r()}),h.gridApi.draggableRows&&h.gridApi.draggableRows.on.rowDropped(h,function(a){a.fromIndex!==a.toIndex&&d.update(i,h[n].data).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){b.error(a)})}),j||r()}},g)}}}]),angular.module("xCallyShuttleApp").controller("gridTagsFilterCtrl",["$scope","$timeout","$uibModal","uiGridConstants",function(a,b,c,d){b(function(){a.col.colDef.name;a.openTags=function(b){var d=c.open({templateUrl:"app/main/customTagsFilter.modal.html",controller:"customGridTagsModalCtrl",size:"md",resolve:{term:[function(){if(b.term){var a=b.term.split(";");return a.pop(),a}return[]}]}});d.result.then(function(b){a.colFilter.listTerm=[],b.length&&(a.colFilter.term=b.join(";")+";")})}})}]),angular.module("xCallyShuttleApp").controller("MainCtrl",["$scope","$rootScope","$translate","$timeout","socket","Auth","xAlert","$uibModal","$log","$state","Contact","$window","$location","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a.awesomeThings=[],b.workspaces=[],a.Auth=f,b.userModules={},f.getCurrentUser().$promise.then(function(a){a.Modules.forEach(function(a){b.userModules[a.id]=!0})})["catch"](function(a){g.error(a)}),b.initTours=function(){b.activeTour={main:!1},b.tourConfig={main:[{type:"function",fn:function(){b.tempTourPath=m.path()}},{type:"title",heading:c.instant("TOUR_MAIN_WELCOME"),text:'<div class="row"><div id="title-text" class="col-md-12"><span class="main-text">'+c.instant("TOUR_MAIN_DISCOVER_MOTION")+"</span><br/></div></div>",curtainClass:"myCurtainClass"},{type:"location_change",path:"/dashboard/voice"},{type:"title",heading:c.instant("TOUR_MAIN_DASHBOARD"),text:c.instant("TOUR_MAIN_DASHBOARD_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/tools/yourdashboards/show/1"},{type:"title",heading:c.instant("TOUR_MAIN_YOURDASHBOARD"),text:c.instant("TOUR_MAIN_YOURDASHBOARD_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/staff/agents/list"},{type:"title",heading:c.instant("TOUR_MAIN_AGENTS"),text:c.instant("TOUR_MAIN_AGENTS_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/channels/voice/queues/list"},{type:"title",heading:c.instant("TOUR_MAIN_VOICE_QUEUE"),text:c.instant("TOUR_MAIN_VOICE_QUEUE_ADD_MESSAGE"),curtainClass:"myCurtainClass"}]},b.license.chat&&(b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/channels/chat/queues/list"},{type:"title",heading:c.instant("TOUR_MAIN_CHAT_QUEUE"),text:c.instant("TOUR_MAIN_CHAT_QUEUE_MESSAGE"),curtainClass:"myCurtainClass"}])),b.license.openchannel&&(b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/channels/openchannel/accounts/list"},{type:"title",heading:c.instant("TOUR_MAIN_OPENCHANNEL"),text:c.instant("TOUR_MAIN_OPENCHANNEL_MESSAGE"),curtainClass:"myCurtainClass"}])),b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/square/projects/list"},{type:"title",heading:c.instant("TOUR_MAIN_SQUARE_PROJECT"),text:c.instant("TOUR_MAIN_SQUARE_PROJECT_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/tools/trunks/list"},{type:"title",heading:c.instant("TOUR_MAIN_TRUNKS"),text:c.instant("TOUR_MAIN_TRUNKS_MESSAGE"),curtainClass:"myCurtainClass"},{type:"location_change",path:"/tools/triggers/list"},{type:"title",heading:c.instant("TOUR_MAIN_TRIGGERS"),text:c.instant("TOUR_MAIN__MESSAGE"),curtainClass:"myCurtainClass"}]),b.license.jscripty&&(b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/jscripty/projects/list"},{type:"title",heading:c.instant("TOUR_MAIN_JSCRIPTY"),text:c.instant("TOUR_MAIN_JSCRIPTY_MESSAGE"),curtainClass:"myCurtainClass"}])),b.tourConfig.main=b.tourConfig.main.concat([{type:"location_change",path:"/analytics/reports/list"},{type:"title",heading:c.instant("TOUR_MAIN_REPORTS"),text:c.instant("TOUR_MAIN_REPORTS_MESSAGE"),curtainClass:"myCurtainClass"},{type:"title",heading:c.instant("TOUR_MAIN_END"),text:c.instant("TOUR_MAIN_END_MESSAGE"),curtainClass:"myCurtainClass"}])},b.onTourFinish=function(){n.set("skipTour",!0),b.tempTourPath&&m.path(b.tempTourPath)},b.onTourSkip=function(){n.set("skipTour",!0)},d(function(){n.get("skipTour")||(b.activeTour.main=!0)}),a.select=function(a){switch(a.type){case"chatRoom":case"mailRoom":case"faxRoom":a.unread=0}},e.socket.on("report_integration:tdDisposal",function(b){a.openTdTab(b)}),a.openTdTab=function(a){b.workspaces.push({type:"tdDisposal",name:"Motion Dialer Disposition","class":"icon-control-forward",active:!0,spooler:a})},a.deselect=function(){},a.isAdmin=f.isAdmin,a.isLoggedIn=f.isLoggedIn,a.getCurrentUser=f.getCurrentUser,a.CurrentUser=f.getCurrentUser(),e.socket.on("user_has_voice_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_chat_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_mail_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_fax_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),e.socket.on("user_has_sms_queue_permit:change",function(){a.CurrentUser=f.getCurrentUser()}),a.mainTab={active:!0},a.closeJscriptyTab=function(a){if(b.workspaces[a].edited){var c=h.open({animation:!0,templateUrl:"app/main/closeEditedTab.modal.jscripty.html",controller:"CloseEditedTabModalJscriptyCtrl",resolve:{project:b.workspaces[a]}});c.result.then(function(){b.workspaces.splice(a,1)})}else b.workspaces.splice(a,1)},b.closeTab=function(a){var c;b.workspaces[a].edited?"jscripty"===b.workspaces[a].type?b.workspaces[a].end():(c=h.open({animation:!0,templateUrl:"app/main/closeEditedTab.modal.html",controller:"CloseEditedTabModalCtrl"}),c.result.then(function(){b.workspaces.splice(a,1)},function(){i.info("Modal dismissed at: "+new Date)})):b.workspaces.splice(a,1)},a.createContact=function(d,e){return e.CompanyId||delete e.CompanyId,k.save(e).$promise.then(function(e){b.workspaces.splice(d,1);var f=e.firstName;e.lastName&&(f+=" "+e.lastName),a.openContactTab({firstName:e.firstName,lastName:e.lastName,id:e.id}),g.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})};var o=function(b){var c=h.open({animation:!0,templateUrl:"app/main/chooseContact.modal.html",controller:"ChooseContactModalCtrl",resolve:{data:function(){return{type:"event",eventId:b.id}}}});c.result.then(function(c){c?a.openContactTab(c,b):a.newContact(b)},function(){i.info("Modal dismissed at: "+new Date)})};a.updateContact=function(a,d){var e=angular.copy(d);return e.CompanyId||(e.CompanyId=null),k.update({id:e.id},e).$promise.then(function(){b.workspaces[a].edited=!1,g.show(c.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})},e.socket.on("report_integration:contactmanager",function(a){o(a)}),e.socket.on("report_integration:jscripty",function(b){a.openJscriptyTab({name:"Jscripty",id:b.projectId,calleridnum:b.calleridnum,calleridname:b.calleridname,queue:b.queue,membername:b.membername})}),e.socket.on("report_integration:salesforce",function(a){l.open(a.url,"_blank")}),b.openContactTab=function(a,c){var d=_.find(b.workspaces,{contactID:a.id});if(d)d.active=!0;else{var e=a.firstName;a.lastName&&(e+=" "+a.lastName),b.workspaces.push({name:e,type:"contact",contactID:a.id,"class":"icon-user",active:!0,data:c||null})}},a.openJscriptyTab=function(a){b.workspaces.push({name:a.name,type:"jscripty",active:!0,data:a})},a.newContact=function(a){b.workspaces.push({name:"New Contact",type:"newContact","class":"icon-user",active:!0,data:a||null})},a.$on("$viewContentLoaded",function(){Metronic.init()}),b.language=c.use(),a.changeLanguage=function(a){return c.use(a).then(function(a){b.language=a,-1!==["main.jscripty.projects.view","main.square.projects.view"].indexOf(j.current.name)&&l.location.reload()})["catch"](function(a){console.error(a)})},a.$on("$destroy",function(){console.log("main $destroy"),e.unsyncUpdates("user_has_voice_queue_permit"),e.unsyncUpdates("user_has_chat_queue_permit"),e.unsyncUpdates("user_has_mail_queue_permit"),e.unsyncUpdates("user_has_fax_queue_permit"),e.unsyncUpdates("user_has_sms_queue_permit")})}]),angular.module("xCallyShuttleApp").directive("ngSpinnerBar",["$rootScope",function(a){return{link:function(b,c){c.addClass("hide"),a.$on("$stateChangeStart",function(){"spinner-page"===c[0].id&&c.removeClass("hide")}),a.$on("$stateChangeSuccess",function(){"spinner-page"===c[0].id&&(c.addClass("hide"),$("body").removeClass("page-on-load"),Layout.setSidebarMenuActiveLink("match"),setTimeout(function(){Metronic.scrollTop()},1e3))}),a.$on("$spinnerStart",function(){"spinner-request"===c[0].id&&c.removeClass("hide")}),a.$on("$spinnerStop",function(){
+"spinner-request"===c[0].id&&c.addClass("hide")}),a.$on("$stateNotFound",function(){"spinner-page"===c[0].id&&c.addClass("hide")}),a.$on("$stateChangeError",function(){"spinner-page"===c[0].id&&c.addClass("hide")})}}}]).directive("a",function(){return{restrict:"E",link:function(a,b,c){(c.ngClick||""===c.href||"#"===c.href)&&b.on("click",function(a){a.preventDefault()})}}}).directive("nxEqual",function(){return{require:"ngModel",link:function(a,b,c,d){return c.nxEqual?(a.$watch(c.nxEqual,function(a){d.$setValidity("nxEqual",a===d.$viewValue)}),void d.$parsers.push(function(b){var e=b===a.$eval(c.nxEqual);return d.$setValidity("nxEqual",e),e?b:void 0})):void console.error("nxEqual expects a model as an argument!")}}}).directive("ngEnter",function(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}).directive("dropdownMenuHover",function(){return{link:function(a,b){b.dropdownHover()}}}).directive("uiSelectRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.uiSelectRequired=function(a){return a&&a.length}}}}).directive("rpattern",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a,b){return null==b||""===b||!h||a.test(b)?(d.$setValidity("pattern",!0),b):void d.$setValidity("pattern",!1)}var f,g=c.rpattern,h=!0;g&&(g.match(/^\/(.*)\/$/)?(g=new RegExp(g.substr(1,g.length-2)),f=function(a){return e(g,a)}):f=function(b){var c=a.$eval(g);if(!c||!c.test)throw new Error("Expected "+g+" to be a RegExp but was "+c);return e(c,b)}),d.$formatters.push(f),d.$parsers.push(f),c.$observe("required",function(a){h=a,f(d.$viewValue)})}}}).directive("newContact",["$compile","xAlert","socket","$translate","$timeout","List","Tag","Company","ReportCall","$uibModal","$rootScope","Auth",function(a,b,c,d,e,f,g,h,i,j,k,l){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template/template.contactTab.html",compile:function(a,m){return function(a,m,n){function o(){a.$watch("contact",function(b,c){angular.equals(b,c)||(a.workspace.edited=!0)},!0)}a.license=k.license,a.Auth=l,a.forms={general:{}},a.firstLoad=!0,a.detail={tab:"main"},a.contact={CompanyId:"",disposed:!1},a.submitButtonLabel=d.instant("APPLICATION_CONFIRM"),a.getAgent=function(){return l.getCurrentUser().$promise.then(function(b){a.agent=b})["catch"](function(a){b.error(a)})},a.callPhoneBar=function(c,e){var f;switch(e){case"call":f="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c;break;case"transfer":f="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/transfer?number="+c;break;default:f="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c}return $http.get(f).success(function(){b.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){b.error(a)})},a.dispose=function(){return j.open({animation:!0,templateUrl:"app/main/cm.disposition.html",controller:"ContactManagerSetDisposition"}).result.then(function(c){return i.update({id:a.workspace.data.uniqueid},c).$promise.then(function(){a.contact.disposed=!0,b.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})})},a.init=function(){a.workspace.data&&(a.contact.firstName=a.workspace.data.calleridname?a.workspace.data.calleridname:a.workspace.data.messageId?a.workspace.data.messageId:a.workspace.data.uniqueid?a.workspace.data.uniqueid:"",a.workspace.data.calleridnum&&(a.contact.phone=a.workspace.data.calleridnum),a.workspace.data.from&&(a.contact.email=a.workspace.data.from)),a.getTags(),a.getCompanies(),a.getLists(),a.getAgent()},a.getLists=function(){return f.get().$promise.then(function(b){a.lists=b.rows,c.syncUpdates("list",a.lists),a.contact.ListId=a.lists[0]?a.lists[0].id:null,a.getCustomFields()})["catch"](function(a){b.error(a)})},a.getCustomFields=function(){return f.get({listId:a.contact.ListId,controller:"customfields"}).$promise.then(function(b){a.customFields=b.rows,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)}),c.socket.on("custom_field:remove",function(b){_.remove(a.customFields,function(a){return b.id==a.id})}),c.socket.on("custom_field:save",function(b){if(b.ListId===a.contact.ListId){var c=_.find(a.customFields,{id:b.id});c||("string"==typeof b.values&&(b.values=JSON.parse(b.values)),a.customFields.push(b))}}),!a.firstLoad||a.workspace.data?(a.workspace.edited=!0,a.firstLoad=!1):(a.firstLoad=!1,o())})["catch"](function(a){console.error(a),b.error(a)})},a.getTags=function(){return g.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a),b.error(a)})},a.getCompanies=function(){return h.get().$promise.then(function(b){a.companies=b.rows,a.companies.unshift({id:"",name:"-- None --"}),c.syncUpdates("company",a.companies)})["catch"](function(a){console.error(a),b.error(a)})},e(function(){a.init()})}}}}]).directive("contact",["$compile","xAlert","socket","$timeout","List","Tag","Company","Contact","$translate","gridOptions","$uibModal","ReportCall","$rootScope","usSpinnerService","uiGridConstants","$log","Auth","$http",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template/template.contactTab.html",compile:function(a,j){return function(a,j,s){function t(b){var c=[],d={};_.forEach(a.columns[a.log[b].show][a.log[b].detail].indexes,function(e,f){d={name:e,displayName:a.columns[a.log[b].show][a.log[b].detail].header[f],headerCellFilter:"translate",enableSorting:!1,enableColumnMenu:!1},"createdAt"===e&&(d.cellTemplate="<div class=\"centered-uigrid-td\">{{row.entity.createdAt | date:'dd/MM/yyyy HH:mm:ss'}}</div>",d.filterHeaderTemplate='<div class="ui-grid-filter-container row"><div ng-repeat="colFilter in col.filters" class="col-md-6 col-md-offset-0 col-sm-5 col-sm-offset-0 col-xs-5 col-xs-offset-0"><div custom-grid-date-filter-header></div></div></div>',d.filters=[{name:"From",condition:o.filter.GREATER_THAN_OR_EQUAL},{name:"To",condition:o.filter.LESS_THAN_OR_EQUAL}]),c.push(d)}),a.columns[a.log[b].show][a.log[b].detail].actions&&c.push(a.columns[a.log[b].show][a.log[b].detail].actions),c.forEach(function(a){u(a,b,!0),a.hasOwnProperty("displayName")||(a.displayName="APPLICATION_"+a.name.toUpperCase()),a.headerCellFilter="translate",a.hasOwnProperty("buttons")&&(a.displayName="",a.cellClass="ui-grid-vcenter",a.enableSorting=!1,a.enableFiltering=!1,a.enableColumnMenu=!1,a.cellTemplate="<div>",a.buttons.forEach(function(b){if(b.directive)a.cellTemplate+=b.directive;else{if(a.cellTemplate+="<a",a.cellTemplate+=b.hide?' data-ng-hide="'+b.hide+'" ':" ",a.cellTemplate+=b["class"]?' class="btn btn-xs '+b["class"]+'" ':" ",a.cellTemplate+=b.href?' data-ng-href="'+b.href+'" ':" ",a.cellTemplate+=b.uisref?' ui-sref="'+b.uisref+'" ':" ",a.cellTemplate+=b.onClick?' data-ng-click="'+b.onClick+'" ':" ",a.cellTemplate+=b.title?' title="'+b.title+'"':"",a.cellTemplate+=">",a.cellTemplate+=b.icon?'<i class="'+b.icon+'"></i>':"",b.name)switch(b.name){case"delete":a.cellTemplate+='<i class="fa fa-trash"></i>';break;case"profile":case"settings":case"detail":case"embedding":a.cellTemplate+='<i class="icon-settings"></i>';break;case"agents":a.cellTemplate+='<i class="icon-people"></i>';break;case"run":a.cellTemplate+='<i class="fa fa-cogs"></i>';break;case"mailRoom":a.cellTemplate+='<i class="fa fa-envelope"></i>';break;case"chatRoom":a.cellTemplate+='<i class="fa fa-users"></i>';break;case"faxRoom":a.cellTemplate+='<i class="icon-paper-plane"></i>';break;case"smsRoom":a.cellTemplate+='<i class="glyphicon glyphicon-comment"></i>';break;default:a.cellTemplate+="{{'APPLICATION_"+b.name.toUpperCase()+"' | translate}}"}else a.cellTemplate+=b.displayName?"{{'"+b.displayName+"' | translate}}":"";a.cellTemplate+="</a> "}}),a.cellTemplate+="<div>",delete a.buttons)});var e={enablePaginationControls:!0,exporterCsvFilename:b+".csv",columnDefs:c,enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:10,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,showTreeExpandNoChildren:!0,data:[],gridMenuTitleFilter:function(a){var b=$q.defer();return b.resolve(i.instant(a)),b.promise},onRegisterApi:function(c){a.gridApi=c,a.gridApi.grid.registerDataChangeCallback(function(){}),a.gridApi.core.on.sortChanged(a,function(a,c){0===c.length?v.order=null:v.order=c[0].name+" "+c[0].sort.direction.toUpperCase(),w(b)}),a.gridApi.pagination.on.paginationChanged(a,function(a,c){v.offset=(a-1)*c,v.limit=c,w(b)}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){u(a,b)}),w(b)})}};w(b,e)}function u(a,b,c){a.filter&&a.filter.term&&c&&(v[b][a.name]=a.filter.term),a.filters&&(a.filters.length>1?a.filters.forEach(function(c){c.term?64===c.condition?v[b][a.name+"_uiFrom"]=c.term:256===c.condition&&(v[b][a.name+"_uiTo"]=c.term):64===c.condition?delete v[b][a.name+"_uiFrom"]:256===c.condition&&delete v[b][a.name+"_uiTo"]}):a.filters.length&&a.filters[0].term?v[b][a.name]=a.filters[0].term:delete v[b][a.name])}a.moment=moment,a.license=m.license,a.forms={general:{}},a.detail={tab:"main"},a.log={daily:{show:"phone",type:"inbound",detail:"general"},history:{show:"phone",type:"inbound",detail:"general"}},a.columns={phone:{general:{header:["APPLICATION_SOURCE","APPLICATION_DESTINATION","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["source","destination","disposition","createdAt"]},queue:{header:["APPLICATION_CALLERID","APPLICATION_QUEUE","APPLICATION_DATE"],indexes:["calleridnum","queue","createdAt"]}},email:{general:{header:["APPLICATION_FROM","APPLICATION_TO","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["from","account","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"mailRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'mailRoom')"}]}}},chat:{general:{header:["APPLICATION_WEBSITE","APPLICATION_VISITOR","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["website","contact","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"chatRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'chatRoom')"}]}}},fax:{general:{header:["APPLICATION_FROM","APPLICATION_TO","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["contact","account","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"faxRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'faxRoom')"}]}}},sms:{general:{header:["APPLICATION_FROM","APPLICATION_DISPOSITION","APPLICATION_DATE"],indexes:["contact","disposition","createdAt"],actions:{name:"action",displayName:"",width:40,buttons:[{"class":"green",name:"smsRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'smsRoom')"}]}}}},a.Auth=q,a.getAgent=function(){return q.getCurrentUser().$promise.then(function(b){a.agent=b})["catch"](function(a){b.error(a)})},a.callPhoneBar=function(c,d){var e;switch(d){case"call":e="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c;break;case"transfer":e="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/transfer?number="+c;break;default:e="http://127.0.0.1:"+a.agent.phoneBarRemoteControlPort+"/api/originate/"+c}return r.get(e).success(function(){b.show(i.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){b.error(a)})},a.copy=function(a){var c=k.open({animation:!0,size:"small",templateUrl:"app/contactmanager/contact/list/copy.modal.html",controller:"ContactManagerListCopyModalCtrl"});c.result.then(function(c){return h.save({id:a,controller:"copy"},c).$promise.then(function(a){m.openContactTab({firstName:a.firstName,lastName:a.lastName,id:a.id})})["catch"](function(a){b.error(a)})},function(){p.info("Modal dismissed at: "+new Date)})},a.merge=function(c){var d=k.open({animation:!0,size:"lg",templateUrl:"app/main/mergeContact.choose.modal.html",controller:"ContactManagerMergeContactChoose",resolve:{listId:c.ListId}});d.result.then(function(d){var e=k.open({animation:!0,size:"lg",templateUrl:"app/main/mergeContact.merge.modal.html",controller:"ContactManagerMergeContactMerge",resolve:{contactId:d,mergeContact:c}});e.result.then(function(e){return e.oldContact=c.id,h.save({id:d,controller:"merge"},e).$promise.then(function(b){m.workspaces.splice(a.index,1),_.remove(m.workspaces,{contactID:b.id}),m.openContactTab({firstName:b.firstName,lastName:b.lastName,id:b.id})})["catch"](function(a){b.error(a)})},function(){p.info("Modal dismissed at: "+new Date)})},function(){p.info("Modal dismissed at: "+new Date)})},a.dispose=function(){return k.open({animation:!0,templateUrl:"app/main/cm.disposition.modal.html",controller:"ContactManagerSetDisposition"}).result.then(function(c){return l.update({id:a.workspace.data.uniqueid},c).$promise.then(function(){a.contact.disposed=!0,b.show(i.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})})},a.companyInfo=function(b){k.open({animation:!0,size:"lg",templateUrl:"app/main/company.info.modal.html",controller:["$scope","$uibModalInstance","company",function(a,b,c){a.company=c,a.close=function(){b.dismiss("cancel")}}],resolve:{company:_.find(a.companies,{id:b})}})},a.updateLog=function(b,c,d,e){c&&(a.log[b].show=c),d&&(a.log[b].detail=d),e&&(a.log[b].type=e),t(b)},a.openRoom=function(a,b,c){var d=_.find(m.workspaces,{id:a,type:b});if(d)d.active=!0;else{var e;switch(b){case"mailRoom":e="icon-envelope";break;case"chatRoom":e="fa fa-users";break;case"faxRoom":e="icon-paper-plane";break;case"smsRoom":e="glyphicon glyphicon-comment"}m.workspaces.push({id:a,type:b,"class":e,active:!0,data:c})}};var v={daily:{offset:0,limit:10},history:{offset:0,limit:10}},w=function(b,c){return n.spin("spinner-grid"),h.get(_.merge(_.merge({id:a.workspace.contactID,controller:"log",logType:b,order:"createdAt DESC"},a.log[b]),v[b])).$promise.then(function(d){c&&(a["gridOptions"+b]=c),a["gridOptions"+b].totalItems=d.count,a["gridOptions"+b].data=d.rows,x("gridOptions"+b,d.rows.length)})["catch"](function(a){console.error(a)})["finally"](function(){n.stop("spinner-grid")})},x=function(a,b){var c=b?30*b+120:177;angular.element(document.getElementsByName(a)[0]).css("height",c+"px")};a.getContact=function(){return h.get({id:a.workspace.contactID}).$promise.then(function(b){a.contact=b,a.contact.CompanyId||(a.contact.CompanyId=""),a.getCustomFields(b.ListId),a.updateLog("daily"),a.updateLog("history")})["catch"](function(a){console.error(a),b.error(a)})},a.getTags=function(){return f.get().$promise.then(function(b){a.tags=_.map(b.rows,"name")})["catch"](function(a){console.error(a),b.error(a)})},a.getCompanies=function(){return g.get().$promise.then(function(b){a.companies=b.rows,a.companies.unshift({id:"",name:"-- None --"}),c.syncUpdates("company",a.companies)})["catch"](function(a){console.error(a),b.error(a)})},a.getCustomFields=function(d){return a.customFields=[],e.get({listId:d,controller:"customfields"}).$promise.then(function(b){b.rows.forEach(function(b){try{"select"===b.type&&(b.values=JSON.parse(b.values)),a.customFields.push(b)}catch(c){console.log("Cf not valid:",b.alias)}}),c.socket.on("custom_field:remove",function(b){_.remove(a.customFields,function(a){return b.id==a.id})}),c.socket.on("custom_field:save",function(b){if(b.ListId===d){var c=_.find(a.customFields,{id:b.id});c||("string"==typeof b.values&&(b.values=JSON.parse(b.values)),a.customFields.push(b))}})})["catch"](function(a){console.error(a),b.error(a)})},d(function(){a.getTags(),a.getCompanies(),a.getContact(),a.getAgent()})}}}}]).directive("jscripty",["$compile","xAlert","$http","socket","JscriptyProject",function(a,b,c,d,e){return{restrict:"E",scope:{workspace:"=",index:"=",submit:"&onSubmit"},templateUrl:"app/main/template/template.jscriptyTab.html",compile:function(a,d){return function(a,d,f){a.count=0,a.questions=[];var g,h=a.workspace.data.id;c.get("/api/jscripty/projects/"+h+"/download").success(function(b){b?c.post("/api/jscripty/projects/"+h+"/sessions",{projectId:h,status:"started",queue:a.workspace.data.queue,calleridnum:a.workspace.data.calleridnum,callername:a.workspace.data.callername,membername:a.workspace.data.membername}).success(function(c){g=c.session_id,a.workspace.edited=!0,a.workspace.sessionId=g,a.workspace.projectId=h;var d=mxUtils.parseXml(b),e=new mxCodec(d);a.decObj=e.decode(d.documentElement);var f=_.find(a.decObj.cells,function(a){return a.vertex&&"start"==a.value.nodeName});if("OFF"==f.getAttribute("state")){var j=_.find(f.edges,function(a){return a.source.id==f.id}).target;a.questions[a.count]=a.currentQuestion=i(j)}else a.questions[a.count]=a.currentQuestion=f;a.saveQuestions()}):(console.log("No project published!"),alert("No project published!"),a.submit({index:a.index}))}),a.next=function(b,c){switch(a.currentQuestion.answer&&a.currentQuestion.answer!=c&&(a.questions=_.take(a.questions,a.count+1)),a.currentQuestion.answer=c,b.value.nodeName){case"question":b=i(b)}a.questions[a.count]=a.currentQuestion,a.currentQuestion=b,a.count++,a.questions[a.count]=b,a.saveQuestions()};var i=function(a){var b=[];return a.options=[],_.forEach(a.edges,function(c,d){if(c.source.id==a.id&&c.value){var e=String(c.value).split(",");e.length>1?(_.forEach(e,function(b,d){var e=Object.create(c);e.setValue(b),a.edges.push(e),a.options.push(b)}),b.push(c)):a.options.push(e[0])}}),_.forEach(b,function(b){_.remove(a.edges,function(a){return a.value==b.value&&a.id==b.id})}),a};a.end=function(){a.saveQuestions(),a.workspace.lastQuestionId=a.questions[a.questions.length-1].id,"end"==a.questions[a.questions.length-1].value.nodeName&&(a.workspace.edited=!1,e.update({id:h,controller:"sessions",action:g},{status:"completed",completedAt:Date(),last_question_id:a.questions[a.questions.length-1].id}).$promise.then(function(a){b.show("Project Ended","success")})),a.submit({index:a.index})},a.workspace.end=a.end,a.back=function(){a.count--,a.currentQuestion=a.questions[a.count]},a.setCurrentQuestion=function(b){a.count=b,a.currentQuestion=a.questions[a.count]},a.saveQuestions=function(){for(var c=[],d=[],f=0;f<a.questions.length;f++){if(a.questions[f].children)for(var i=a.questions[f].children,j=0;j<i.length;j++)d[j]={input_id:i[j].id,input_type:i[j].getAttribute("type"),input_label:i[j].getAttribute("label"),input_value:"checkbox"!=i[j].getAttribute("type")||i[j].answer?i[j].answer:!1};c[f]={sessionId:g,projectId:h,question_id:a.questions[f].id,question_type:a.questions[f].value.nodeName,question_label:a.questions[f].getAttribute("label"),question_text:a.questions[f].getAttribute("question")||a.questions[f].getAttribute("text"),question_other_label:a.questions[f].getAttribute("other"),question_other_answer:a.questions[f].otheranswer,question_answer:a.questions[f].answer,question_options:a.questions[f].options?JSON.stringify({options:a.questions[f].options}):null,index:f,ReportJscriptyInputs:d},d=[]}e.save({id:h,controller:"sessions",action:g,action2:"questions"},c).$promise.then(function(a){})["catch"](function(a){b.error(a)})}}}}}]).directive("reportBuilder",["$compile",function(a){return{restrict:"E",scope:{group:"=",fields:"=",forms:"=",firstCall:"="},templateUrl:"app/main/template/template.reportBuilderView.html",compile:function(b,c){var d,e;return d=b.contents().remove(),function(b,c,f){b.operators=[{name:"AND"},{name:"OR"}],b.conditions=[{name:"="},{name:"!="},{name:"<"},{name:"<="},{name:">"},{name:">="},{name:"LIKE"},{name:"NOT LIKE"},{name:"IS NULL"},{name:"IS NOT NULL"},{name:"IS EMPTY"},{name:"IS NOT EMPTY"}],b.inputIsRequired=function(a){if(a.condition)switch(a.condition){case"IS NULL":case"IS NOT NULL":case"IS EMPTY":case"IS NOT EMPTY":a.required=!1;break;default:a.required=!0}},b.addCondition=function(){b.group.rules.push({condition:"=",field:"",value:""})},b.removeCondition=function(a){b.group.rules.splice(a,1)},b.addGroup=function(){b.group.rules.push({group:{operator:"AND",rules:[{condition:"=",field:"",value:""}]}})},b.randomName=function(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")},b.removeGroup=function(){b.$parent.group&&b.$parent.group.rules.splice(b.$parent.$index,1)},e||(e=a(d)),c.append(e(b,function(a){return a}))}}}}]).directive("dynamicName",["$compile",function(a){return{restrict:"A",terminal:!0,priority:1e3,link:function(b,c,d){c.attr("name",b.$eval(d.dynamicName)),c.removeAttr("dynamic-name"),a(c)(b)}}}]).directive("onReadFile",["$parse",function(a){return{restrict:"A",scope:!1,link:function(b,c,d){var e=a(d.onReadFile);c.on("change",function(a){var c=new FileReader;c.onload=function(a){b.$apply(function(){e(b,{$fileContent:a.target.result})})},c.readAsText((a.srcElement||a.target).files[0])})}}}]).directive("motionFileDownload",["xAlert","$translate","$timeout","$location","FileSaver","$compile",function(a,b,c,d,e,f){return{restrict:"E",template:'<a uib-tooltip=\'{{tooltiptext}}\' class="{{btnclass || \'btn default btn-xs blue-hoki\'}}" href="" data-ng-click="download()" ><i class="icon-cloud-download"></i>{{btncontent || \'\'}}</a>',scope:{mimetype:"=",filename:"=",resource:"=",params:"=",btnclass:"@",btncontent:"@",tooltiptext:"@"},link:function(b,c,d){var f=c.children()[0];b.$on("download-start",function(){$(f).attr("disabled","disabled")}),b.$on("downloaded",function(a,c){var d=base64ToBlob(c,b.mimetype);e.saveAs(d,b.filename),$(f).attr("disabled",!1)}),b.download=function(){return b.$emit("download-start"),b.resource.get(b.params).$promise.then(function(a){b.$emit("downloaded",a.downloadString)})["catch"](function(b){a.error(b),$(f).attr("disabled",!1)})}}}}]).directive("audioFileDownload",["xAlert","$translate","$uibModal",function(a,b,c){return{restrict:"E",template:'<button type="button" class="btn default btn-xs blue-hoki" data-ng-click="download()"><i class="fa fa-play"></i> {{ \'APPLICATION_PREVIEW\' | translate}}</button>',scope:{resource:"=",params:"="},link:function(b,d,e){var f=d.children()[0];b.$on("download-start",function(a,c){b.tempHtml=$(f).html(),$(f).attr("disabled","disabled").html('<i class="icon-refresh"></i> Loading...')}),b.$on("downloaded",function(a,d){c.open({animation:!0,size:"small",templateUrl:"app/main/audioFileDownload.play.modal.html",controller:["$scope","$uibModalInstance","$sce","audio",function(a,b,c,d){a.audio=c.trustAsResourceUrl("data:audio/wav;base64,"+d.data),a.close=function(){b.dismiss("cancel")}}],resolve:{audio:function(){return{data:d}}}});$(f).html(b.tempHtml).attr("disabled",!1)}),b.$on("error",function(a,c){$(f).html(b.tempHtml).attr("disabled",!1)}),b.download=function(){return b.$emit("download-start"),b.resource.get(b.params).$promise.then(function(a){b.$emit("downloaded",a.downloadString)})["catch"](function(c){a.error(c),b.$emit("error")})}}}}]).directive("uiRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.required=function(a,b){return!(b&&0===b.length&&"true"===c.uiRequired)},c.$observe("uiRequired",function(){d.$setValidity("required",!("true"===c.uiRequired&&d.$viewValue&&0===d.$viewValue.length))})}}}).directive("schrollBottom",function(){return{scope:{schrollBottom:"="},link:function(a,b){a.$watchCollection("schrollBottom",function(a){a&&$(b).scrollTop($(b)[0].scrollHeight)})}}}).directive("customGridDateFilterHeader",function(){return{templateUrl:"app/main/customDateFilterHeader.html",controller:"gridDatePickerFilterCtrl"}}).directive("customGridTagsFilterHeader",function(){return{templateUrl:"app/main/customTagsFilterHeader.html",controller:"gridTagsFilterCtrl"}}).directive("infiniteScroll",["$window",function(a){return{link:function(a,b,c){var d=parseInt(c.threshold)||0,e=b[0];b.bind("scroll",function(){a.$eval(c.canLoad)&&e.scrollTop+e.offsetHeight>=e.scrollHeight-d&&a.$apply(c.infiniteScroll)})}}}]).directive("tigerDialDisposal",["$compile","xAlert","socket","$translate","$timeout","$rootScope","MotionDialerSpooler","Agent",function(a,b,c,d,e,f,g,h){return{restrict:"E",scope:{workspace:"=",index:"="},templateUrl:"app/main/template/template.tigerDialDisposal.html",compile:function(a,c){return function(a,c,i){a.moment=moment,a.entitySpooler={},a.forms={td:{}},a.init=function(){return h.get().$promise.then(function(b){a.agents=[],b&&b.rows.forEach(function(b){a.agents.push("SIP/"+b.name)})})["catch"](function(a){b.error(a)})},a.save=function(){var c;switch(a.entitySpooler.retrieve){case"CLOSED":c=g.close({id:parseInt(a.workspace.ticketId.id)});break;case"OPEN":c=g.open({id:parseInt(a.workspace.ticketId.id)});break;case"BLACK_LIST":c=g.blacklist({id:parseInt(a.workspace.ticketId.id)});break;case"PLANNED":c=g.planning({id:parseInt(a.workspace.ticketId.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm")});break;case"PLANNED_PEER":c=g.planningpeer({id:parseInt(a.workspace.ticketId.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm"),peer:a.entitySpooler.planningpeer})}c?c.$promise.then(function(c){console.log(c),c.status>0?(b.show(d.instant("MESSAGE_WELL_DONE"),"success"),$uibModalInstance.close()):c.response.RMI.errors.forEach(function(c){c?(b.show(c.field+": "+c.error,"danger"),f.workspaces.splice(a.index,1)):b.show("Please, check your connection!","danger")})})["catch"](function(a){b.error(a)}):b.show("RETRIEVE NOT FOUND","danger")},e(function(){a.init()})}}}}]),angular.module("xCallyShuttleApp").filter("propsFilter",function(){return function(a,b){var c=[];return angular.isArray(a)?a.forEach(function(a){for(var d=!1,e=Object.keys(b),f=0;f<e.length;f++){var g=e[f],h=b[g].toLowerCase();if(-1!==a[g].toString().toLowerCase().indexOf(h)){d=!0;break}}d&&c.push(a)}):c=a,c}}).filter("capitalize",function(){return function(a){return a?a.replace(/([^\W_]+[^\s-]*) */g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase()}):""}}).filter("salesforce",function(){var a=["CallDisposition","CallDurationInSeconds","CallObject","CallType","IsArchived","Priority","Status","Type"];return function(b){return _.remove(b,function(b){return b.custom===!1&&a.indexOf(b.name)<0}),b}}).filter("sugarcrm",function(){var a=["account_id","account_name","account_name1","assigned_user_name","assigned_user_id","case_number","created_by","created_by_name","date_entered","date_modified","deleted","description","id","modified_by_name","modified_user_id","name"];return function(b){return _.remove(b,function(b){return a.indexOf(b.name)>=0}),b}}).filter("freshdesk",function(){var a=["requester","subject","agent","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.ticket_field.name)>=0}),b}}).filter("zendesk",function(){var a=["subject","assignee","description"];return function(b){return _.remove(b,function(b){return a.indexOf(b.type)>=0}),b}}).filter("slice",function(){return function(a,b,c){return a?a.slice(b,c):void 0}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main",{"abstract":!0,templateUrl:"app/main/main.html",controller:"MainCtrl",resolve:{authorization:["$q","Auth","$state","$timeout","$location",function(a,b,c,d,e){return b.getToken()?a.when():(d(function(){e.path("/login")}),a.reject())}],deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/ckeditor/ckeditor.js"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("xAlert",["$translate","Notification","$state",function(a,b,c){return{show:function(c,d){switch(d){case"success":b.success({message:c,title:'<i class="glyphicon glyphicon-ok"></i> <strong>'+a.instant("MESSAGE_SUCCESS")+"!</strong>",delay:5e3});break;case"info":b.info({message:c,title:'<i class="glyphicon glyphicon-info-sign"></i> <strong>'+a.instant("MESSAGE_INFO")+"!</strong>",delay:5e3});break;case"danger":b.error({message:c,title:'<i class="glyphicon glyphicon-exclamation-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4});break;case"warning":b.warning({message:c,title:'<i class="glyphicon glyphicon-warning-sign"></i> <strong>'+a.instant("MESSAGE_WARNING")+"!</strong>",delay:1e4});break;default:b.info(c)}},error:function(d){var e,f;d?d.status&&401===d.status?(e="Unauthorized!",f=!0):e=d.data?d.data.translatedMessage||d.data.message||"Generic Error":d.translatedMessage||d.message||"Generic Error":e="Generic Error",b.error({message:a.instant(e),title:'<i class="glyphicon glyphicon-exclamation-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4}),f&&c.go("landing")}}}]).factory("stResource",["$q","$filter","$timeout","$rootScope","$http","$translate","xAlert",function(a,b,c,d,e,f,g){return{getPage:function(b){var c={page:Math.ceil(b.pagination.start/b.pagination.number),per_page:b.pagination.number};b.sort.predicate&&(c.sort_by=b.sort.predicate,c.sort_order=b.sort.reverse?"DESC":"ASC"),_.forIn(b.search.predicateObject,function(a,b){c[b]=a}),b.search.params&&(c.clientQuery={},_.forIn(b.search.params,function(a,b){c.clientQuery[b]=a})),d.$broadcast("$spinnerStart"),e.get(b.url,{params:c}).success(function(a){f.resolve(a),d.$broadcast("$spinnerStop")}).error(function(a){g.error(a),d.$broadcast("$spinnerStop")});var f=a.defer();return f.promise}}}]).factory("xNotification",["$translate","Notification","$rootScope",function(a,b,c){return{show:function(d,e,f,g,h,i){var j=c.$new(),k={message:e,title:d,templateUrl:"app/main/template/template.notification.html",delay:g,scope:j};switch(j.acceptBtn=a.instant("APPLICATION_ACCEPT"),j.rejectBtn=a.instant("APPLICATION_REJECT"),j.nAccept=h,j.nReject=i,f){case"chat":j["class"]="alert-info",j.icon="icon-bubble";break;case"mail":j["class"]="alert-success",j.icon="icon-envelope";break;case"fax":j["class"]="alert-warning",j.icon="icon-paper-plane";break;case"sms":j["class"]="alert-danger",j.icon="glyphicon glyphicon-comment";break;case"openchannel":j["class"]="alert-danger",j.icon="icon-globe";break;default:j["class"]="alert-info"}return new b(k)}}}]),angular.module("xCallyShuttleApp").controller("ContactManagerMergeContactChoose",["$scope","$translate","Contact","gridOptions","List","uiGridConstants","xAlert","$stateParams","Company","$uibModalInstance","listId",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){var b;return e.get().$promise.then(function(b){return a.lists=[],a.customFields=[],b.rows.forEach(function(b,c){_.forEach(b.CustomFields,function(b){a.customFields.push({name:b.name,alias:b.alias})}),a.lists.push({value:b.id,label:b.name})}),i.get().$promise}).then(function(b){a.companies=[],b.rows.forEach(function(b,c){a.companies.push({value:b.id,label:b.name})})}).then(function(){var e=[{"class":"blue-hoki",name:"select",onClick:"grid.appScope.choose(row.entity.id)"}];b={exporterCsvFilename:"Contacts.csv",columnDefs:[{name:"firstName"},{name:"lastName"},{name:"phone"},{name:"email"},{name:"ListId",displayName:"APPLICATION_LIST",field:"List.name",enableFiltering:!1},{name:"CompanyId",displayName:"APPLICATION_COMPANY",field:"Company.name",filter:{type:f.filter.SELECT,term:h.companyId||null,selectOptions:a.companies}}]},_.forEach(a.customFields,function(a){b.columnDefs.push({name:a.name,displayName:a.alias,visible:!1})}),b.columnDefs.push({name:"action",width:30,buttons:e}),a.gridOptions=d.gridOptions(c,b,a,{ListId:k})})["catch"](function(a){g.error(a)})},a.choose=function(a){j.close(a)},a.cancel=function(){j.dismiss()}}]),angular.module("xCallyShuttleApp").controller("ContactManagerMergeContactMerge",["$scope","$translate","Contact","xAlert","Company","$uibModalInstance","contactId","List","mergeContact","Tag",function(a,b,c,d,e,f,g,h,i,j){a.initView=function(){return e.get().$promise.then(function(b){return a.companies=b.rows,a.companies.unshift({
+id:"",name:"-- None --"}),j.get().$promise}).then(function(b){return a.tags=_.map(b.rows,"name"),c.get({id:g}).$promise}).then(function(b){a.fields={},a.contact={};var c=_.merge(_.keys(b),_.keys(i));return _.forEach(c,function(c){switch(c){case"tags":a.contact.tags=_.union(b.tags||[],i.tags||[]);break;case"$promise":case"$resolved":break;default:a.fields[c]=[],b[c]&&a.fields[c].push(b[c]),i[c]&&a.fields[c].push(i[c]),a.contact[c]=a.fields[c][0]||null}}),h.get({listId:b.ListId,controller:"customfields"}).$promise}).then(function(b){a.customFields=b.rows,a.customFields.forEach(function(a){a.values=JSON.parse(a.values)})})["catch"](function(a){d.error(a)})},a.merge=function(){a.contact.CompanyId||(a.contact.CompanyId=null),f.close(a.contact)},a.cancel=function(){f.dismiss()}}]),angular.module("xCallyShuttleApp").factory("Widget",["$resource",function(a){return a("/api/widgets/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("MarketCtrl",["$scope","$http","$translate","socket","xAlert","Modal","$timeout","Integration",function(a,b,c,d,e,f,g,h){function i(a,b){return Math.floor(Math.random()*(b-a+1))+a}a.initView=function(){return h.get().$promise.then(function(b){a.integrations=b.rows,a.groupedIntegration=_.chunk(a.integrations,4),d.syncUpdates("integration",a.integrations,function(){a.groupedIntegration=_.chunk(a.integrations,4)})})["catch"](function(a){e.error(a,"danger")})},a.isProgressing=!1,a.$on("$destroy",function(){d.unsyncUpdates("integration")}),a.installIntegration=function(b){return navigator.onLine?(a.status="Downloading",a.percentage=i(1,50),a.isProgressing=!0,b.downloading=!0,h.update({id:b.id},{active:!0}).$promise.then(function(){g(function(){a.percentage=i(51,99),a.status="Installing"},2500),g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",b.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)})["catch"](function(){b.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})):void e.show(c.instant("MESSAGE_NO_INTERNET_CONNECTION")+".","danger")},a.uninstallIntegration=function(b){return navigator.onLine?(a.status="Uninstalling",a.percentage=i(1,99),a.isProgressing=!0,b.downloading=!0,h.update({id:b.id},{active:!1}).$promise.then(function(){g(function(){a.percentage=100,a.isProgressing=!1,a.status="Completed!",b.downloading=!1,e.show(c.instant("MESSAGE_WELL_DONE")+".","success")},5e3)})["catch"](function(){b.downloading=!1,a.percentage=0,a.isProgressing=!1,e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})):void e.show(c.instant("MESSAGE_NO_INTERNET_CONNECTION")+".","danger")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.market",{url:"/market",templateUrl:"app/market/market.html",controller:"MarketCtrl",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("MotionbarCtrl",["$scope","$stateParams","$cookieStore","$window","$location","Auth",function(a,b,c,d,e,f){console.log(b),b.token&&b.userId&&b.role&&b.redirectTo?(f.loginWithToken(b.token,b.userId,b.role),d.location.href=decodeURIComponent(b.redirectTo)):e.path("/login")}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("motionbar",{url:"/motionbar?redirectTo&token&userId&role",template:"<div ui-view></div>",controller:"MotionbarCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.blacklist",{url:"/blacklist",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MotionDialerBlackListListCtrl",["$scope","$uibModal","$translate","xAlert","Modal","MotionDialerBlackList","uiGridConstants",function(a,b,c,d,e,f,g){a.initView=function(){a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",width:60},{name:"phone"},{name:"description",enableSorting:!1},{name:"updatedtime",sort:{direction:g.DESC},enableFiltering:!1},{name:"action",cellTemplate:'<div><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteItem(row.entity.phone, row.entity.id)"><i class="icon-trash"></i></a></div>',enableSorting:!1,cellClass:"ui-grid-vcenter",enableFiltering:!1}]},f.list({page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:d.show("Please, check your connection!","danger")})["catch"](function(a){d.error(a)})},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/blacklist/list/list.create.modal.html",controller:"MotionDialerBlackListListCreateCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.deleteItem=e.confirm["delete"](function(b){return f["delete"]({id:b}).$promise.then(function(e){e.status>0?(_.remove(a.gridOptions.data,{id:b}),d.show(c.instant("MESSAGE_WELL_DONE"),"success")):d.show(e.message||"Please, check your connection!","danger")})["catch"](function(a){d.error(a)})})}]),angular.module("xCallyShuttleApp").controller("MotionDialerBlackListListCreateCtrl",["$scope","$translate","$uibModalInstance","MotionDialerBlackList","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.insert(a.item).$promise.then(function(a){a.status>0?(e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):e.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.blacklist.list",{url:"/list",templateUrl:"app/motiondialer/blacklist/list/list.html",controller:"MotionDialerBlackListListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerBlackList",["$resource",function(a){return a("/api/rest/blacklist/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.info",{url:"/info",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerSystem",["$resource",function(a){return a("/api/rest/system/:controller",null,{properties:{method:"POST",params:{controller:"properties"}}})}]),angular.module("xCallyShuttleApp").controller("MotionDialerInfoViewCtrl",["$scope","xAlert","MotionDialerSystem",function(a,b,c){a.getProperties=function(){return c.properties().$promise.then(function(c){console.log(c),c.status>0?a.properties=c.response.RMI:b.show(c.message||"Please, check your connection!","danger")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.info.view",{url:"/view",templateUrl:"app/motiondialer/info/view/view.html",controller:"MotionDialerInfoViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.motiondialer.info.view.about",{url:"/about",templateUrl:"app/motiondialer/info/view/view.about.html"}).state("main.motiondialer.info.view.details",{url:"/details",templateUrl:"app/motiondialer/info/view/view.details.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.lists",{url:"/lists",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MotionDialerListListCtrl",["$scope","$uibModal","$translate","xAlert","Modal","MotionDialerList","uiGridConstants","usSpinnerService",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",width:60},{name:"name"},{name:"description",enableSorting:!1},{name:"updatedtime",sort:{direction:g.DESC},enableFiltering:!1},{name:"action",cellTemplate:'<div><a class="btn btn-xs blue-hoki" href="/motiondialer/lists/view/{{row.entity.id}}/settings"><i class="icon-settings"></i></a> <a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteItem(row.entity.name, row.entity.id)"><i class="icon-trash"></i></a></div>',enableSorting:!1,cellClass:"ui-grid-vcenter",enableFiltering:!1}]},f.list({page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:d.show("Please, check your connection!","danger")})["catch"](function(a){d.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/list/list/list.create.modal.html",controller:"MotionDialerListListCreateCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.deleteItem=e.confirm["delete"](function(b){return f["delete"]({id:b}).$promise.then(function(e){e.status>0?(_.remove(a.gridOptions.data,{id:b}),d.show(c.instant("MESSAGE_WELL_DONE"),"success")):d.show(e.message||"Please, check your connection!","danger")})["catch"](function(a){d.error(a)})})}]),angular.module("xCallyShuttleApp").controller("MotionDialerListListCreateCtrl",["$scope","$translate","$uibModalInstance","MotionDialerList","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.insert(a.item).$promise.then(function(a){a.status>0?(e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):e.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.lists.list",{url:"/list",templateUrl:"app/motiondialer/list/list/list.html",controller:"MotionDialerListListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerContact",["$resource",function(a){return a("/api/rest/contact/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").factory("MotionDialerList",["$resource",function(a){return a("/api/rest/list/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewContactCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerContact","xAlert","MotionDialerTimezone",function(a,b,c,d,e,f,g){a.form={},a.item={},a.timezones=g.list(),a.save=function(){return console.log(a.item),e.insert({id_list:parseInt(d.id),name:a.item.name,phones:a.item.phones.trim().split(","),description:a.item.description||""}).$promise.then(function(a){console.log(a),a.status>0?(f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):f.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerListContactImportModalCtrl",["$scope","$uibModalInstance","$stateParams","indexes","csv","xAlert","MotionDialerContact","MotionDialerTimezone",function(a,b,c,d,e,f,g,h){function i(b){if(b>=a.csvLength||a.stopped)return void(a.importing=!1);var d={id_list:parseInt(c.id),name:"",phones:[],description:""};return _.forOwn(a.item,function(a,c){"phones"===c?d[c].push(e[b][a]):d[c]=e[b][a]}),g.insert(d).$promise.then(function(b){b.status>0?(a["import"].success+=j,a["import"].succeeded++,k.push(b.response.RMI)):(console.log(b),a["import"].fail+=j,a["import"].failed++)})["catch"](function(b){console.log(b),a["import"].fail+=j,a["import"].failed++})["finally"](function(){i(b+1)})}a.form={},a.item={},a.timezones=h.list(),console.log(d),console.log(e),a.indexes=d,a.importing=!1,a.submitted=!1,a.stopped=!1,a["import"]={success:0,fail:0,succeeded:0,failed:0},a.csvLength=e.length;var j=100/a.csvLength,k=[];a.start=function(){a.importing=!0,a.submitted=!0,i(0)},a.close=function(){b.close(k)},a.stop=function(){a.stopped=!0}}]),angular.module("xCallyShuttleApp").controller("MotionDialerListViewCtrl",["$scope","$translate","$stateParams","$uibModal","xAlert","uiGridConstants","usSpinnerService","MotionDialerList","MotionDialerContact","Modal","FileUploader","Papa",function(a,b,c,d,e,f,g,h,i,j,k,l){a.getList=function(){return h.find({id:parseInt(c.id)}).$promise.then(function(b){b.status>0?a.list=b.response.RMI:e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.updateList=function(){return h.update({id:a.list.id,name:a.list.name,description:a.list.description}).$promise.then(function(a){a.status>0?e.show(b.instant("MESSAGE_WELL_DONE"),"success"):e.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.getContacts=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"name"},{name:"phones",cellTemplate:"<div>{{row.entity.phones.join(',')}}</div>",cellClass:"ui-grid-vcenter"},{name:"description",enableSorting:!1},{name:"updatedtime",sort:{direction:f.DESC},enableFiltering:!1},{name:"action",cellTemplate:'<div><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteContact(row.entity.name, row.entity.id)"><i class="icon-trash"></i></a></div>',enableSorting:!1,cellClass:"ui-grid-vcenter",enableFiltering:!1}]},i.list({id_list:parseInt(c.id),page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})["finally"](function(){g.stop("spinner-grid")})},a.deleteContact=j.confirm["delete"](function(c){return i["delete"]({id:c}).$promise.then(function(d){d.status>0?(_.remove(a.gridOptions.data,{id:c}),e.show(b.instant("MESSAGE_WELL_DONE"),"success")):e.show(d.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})}),a.createContact=function(){var b=d.open({animation:!0,templateUrl:"app/motiondialer/list/view/view.contact.create.modal.html",controller:"MotionDialerViewContactCreateCtrl"});b.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})};var m=a.uploader=new k({queueLimit:1,clearInputAfterAddedToQueue:!0});m.onAfterAddingFile=function(b){l.parse(b._file,{header:!0,complete:function(b){a.uploader.clearQueue(),a["import"](b.data)},error:function(a){e.error(a)}})},a["import"]=function(b){var c=d.open({animation:!0,backdrop:"static",keyboard:!1,templateUrl:"app/motiondialer/list/view/view.contact.import.modal.html",controller:"MotionDialerListContactImportModalCtrl",resolve:{indexes:function(){return _.keys(b[0])},csv:function(){return b}}});c.result.then(function(b){console.log(b),a.gridOptions.data=a.gridOptions.data.concat(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.lists.view",{url:"/view/:id",templateUrl:"app/motiondialer/list/view/view.html",controller:"MotionDialerListViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.motiondialer.lists.view.settings",{url:"/settings",templateUrl:"app/motiondialer/list/view/view.settings.html"}).state("main.motiondialer.lists.view.contacts",{url:"/contacts",templateUrl:"app/motiondialer/list/view/view.contacts.html"})}]),angular.module("xCallyShuttleApp").factory("MotionDialerTimezone",function(){return{list:function(){return[{group:"US (Common)",zones:[{value:"America/Puerto_Rico",name:"Puerto Rico (Atlantic)"},{value:"America/New_York",name:"New York (Eastern)"},{value:"America/Chicago",name:"Chicago (Central)"},{value:"America/Denver",name:"Denver (Mountain)"},{value:"America/Phoenix",name:"Phoenix (MST)"},{value:"America/Los_Angeles",name:"Los Angeles (Pacific)"},{value:"America/Anchorage",name:"Anchorage (Alaska)"},{value:"Pacific/Honolulu",name:"Honolulu (Hawaii)"}]},{group:"America",zones:[{value:"America/Adak",name:"Adak"},{value:"America/Anchorage",name:"Anchorage"},{value:"America/Anguilla",name:"Anguilla"},{value:"America/Antigua",name:"Antigua"},{value:"America/Araguaina",name:"Araguaina"},{value:"America/Argentina/Buenos_Aires",name:"Argentina - Buenos Aires"},{value:"America/Argentina/Catamarca",name:"Argentina - Catamarca"},{value:"America/Argentina/ComodRivadavia",name:"Argentina - ComodRivadavia"},{value:"America/Argentina/Cordoba",name:"Argentina - Cordoba"},{value:"America/Argentina/Jujuy",name:"Argentina - Jujuy"},{value:"America/Argentina/La_Rioja",name:"Argentina - La Rioja"},{value:"America/Argentina/Mendoza",name:"Argentina - Mendoza"},{value:"America/Argentina/Rio_Gallegos",name:"Argentina - Rio Gallegos"},{value:"America/Argentina/Salta",name:"Argentina - Salta"},{value:"America/Argentina/San_Juan",name:"Argentina - San Juan"},{value:"America/Argentina/San_Luis",name:"Argentina - San Luis"},{value:"America/Argentina/Tucuman",name:"Argentina - Tucuman"},{value:"America/Argentina/Ushuaia",name:"Argentina - Ushuaia"},{value:"America/Aruba",name:"Aruba"},{value:"America/Asuncion",name:"Asuncion"},{value:"America/Atikokan",name:"Atikokan"},{value:"America/Atka",name:"Atka"},{value:"America/Bahia",name:"Bahia"},{value:"America/Barbados",name:"Barbados"},{value:"America/Belem",name:"Belem"},{value:"America/Belize",name:"Belize"},{value:"America/Blanc-Sablon",name:"Blanc-Sablon"},{value:"America/Boa_Vista",name:"Boa Vista"},{value:"America/Bogota",name:"Bogota"},{value:"America/Boise",name:"Boise"},{value:"America/Buenos_Aires",name:"Buenos Aires"},{value:"America/Cambridge_Bay",name:"Cambridge Bay"},{value:"America/Campo_Grande",name:"Campo Grande"},{value:"America/Cancun",name:"Cancun"},{value:"America/Caracas",name:"Caracas"},{value:"America/Catamarca",name:"Catamarca"},{value:"America/Cayenne",name:"Cayenne"},{value:"America/Cayman",name:"Cayman"},{value:"America/Chicago",name:"Chicago"},{value:"America/Chihuahua",name:"Chihuahua"},{value:"America/Coral_Harbour",name:"Coral Harbour"},{value:"America/Cordoba",name:"Cordoba"},{value:"America/Costa_Rica",name:"Costa Rica"},{value:"America/Cuiaba",name:"Cuiaba"},{value:"America/Curacao",name:"Curacao"},{value:"America/Danmarkshavn",name:"Danmarkshavn"},{value:"America/Dawson",name:"Dawson"},{value:"America/Dawson_Creek",name:"Dawson Creek"},{value:"America/Denver",name:"Denver"},{value:"America/Detroit",name:"Detroit"},{value:"America/Dominica",name:"Dominica"},{value:"America/Edmonton",name:"Edmonton"},{value:"America/Eirunepe",name:"Eirunepe"},{value:"America/El_Salvador",name:"El Salvador"},{value:"America/Ensenada",name:"Ensenada"},{value:"America/Fortaleza",name:"Fortaleza"},{value:"America/Fort_Wayne",name:"Fort Wayne"},{value:"America/Glace_Bay",name:"Glace Bay"},{value:"America/Godthab",name:"Godthab"},{value:"America/Goose_Bay",name:"Goose Bay"},{value:"America/Grand_Turk",name:"Grand Turk"},{value:"America/Grenada",name:"Grenada"},{value:"America/Guadeloupe",name:"Guadeloupe"},{value:"America/Guatemala",name:"Guatemala"},{value:"America/Guayaquil",name:"Guayaquil"},{value:"America/Guyana",name:"Guyana"},{value:"America/Halifax",name:"Halifax"},{value:"America/Havana",name:"Havana"},{value:"America/Hermosillo",name:"Hermosillo"},{value:"America/Indiana/Indianapolis",name:"Indiana - Indianapolis"},{value:"America/Indiana/Knox",name:"Indiana - Knox"},{value:"America/Indiana/Marengo",name:"Indiana - Marengo"},{value:"America/Indiana/Petersburg",name:"Indiana - Petersburg"},{value:"America/Indiana/Tell_City",name:"Indiana - Tell City"},{value:"America/Indiana/Vevay",name:"Indiana - Vevay"},{value:"America/Indiana/Vincennes",name:"Indiana - Vincennes"},{value:"America/Indiana/Winamac",name:"Indiana - Winamac"},{value:"America/Indianapolis",name:"Indianapolis"},{value:"America/Inuvik",name:"Inuvik"},{value:"America/Iqaluit",name:"Iqaluit"},{value:"America/Jamaica",name:"Jamaica"},{value:"America/Jujuy",name:"Jujuy"},{value:"America/Juneau",name:"Juneau"},{value:"America/Kentucky/Louisville",name:"Kentucky - Louisville"},{value:"America/Kentucky/Monticello",name:"Kentucky - Monticello"},{value:"America/Knox_IN",name:"Knox IN"},{value:"America/La_Paz",name:"La Paz"},{value:"America/Lima",name:"Lima"},{value:"America/Los_Angeles",name:"Los Angeles"},{value:"America/Louisville",name:"Louisville"},{value:"America/Maceio",name:"Maceio"},{value:"America/Managua",name:"Managua"},{value:"America/Manaus",name:"Manaus"},{value:"America/Marigot",name:"Marigot"},{value:"America/Martinique",name:"Martinique"},{value:"America/Matamoros",name:"Matamoros"},{value:"America/Mazatlan",name:"Mazatlan"},{value:"America/Mendoza",name:"Mendoza"},{value:"America/Menominee",name:"Menominee"},{value:"America/Merida",name:"Merida"},{value:"America/Mexico_City",name:"Mexico City"},{value:"America/Miquelon",name:"Miquelon"},{value:"America/Moncton",name:"Moncton"},{value:"America/Monterrey",name:"Monterrey"},{value:"America/Montevideo",name:"Montevideo"},{value:"America/Montreal",name:"Montreal"},{value:"America/Montserrat",name:"Montserrat"},{value:"America/Nassau",name:"Nassau"},{value:"America/New_York",name:"New York"},{value:"America/Nipigon",name:"Nipigon"},{value:"America/Nome",name:"Nome"},{value:"America/Noronha",name:"Noronha"},{value:"America/North_Dakota/Center",name:"North Dakota - Center"},{value:"America/North_Dakota/New_Salem",name:"North Dakota - New Salem"},{value:"America/Ojinaga",name:"Ojinaga"},{value:"America/Panama",name:"Panama"},{value:"America/Pangnirtung",name:"Pangnirtung"},{value:"America/Paramaribo",name:"Paramaribo"},{value:"America/Phoenix",name:"Phoenix"},{value:"America/Port-au-Prince",name:"Port-au-Prince"},{value:"America/Porto_Acre",name:"Porto Acre"},{value:"America/Port_of_Spain",name:"Port of Spain"},{value:"America/Porto_Velho",name:"Porto Velho"},{value:"America/Puerto_Rico",name:"Puerto Rico"},{value:"America/Rainy_River",name:"Rainy River"},{value:"America/Rankin_Inlet",name:"Rankin Inlet"},{value:"America/Recife",name:"Recife"},{value:"America/Regina",name:"Regina"},{value:"America/Resolute",name:"Resolute"},{value:"America/Rio_Branco",name:"Rio Branco"},{value:"America/Rosario",name:"Rosario"},{value:"America/Santa_Isabel",name:"Santa Isabel"},{value:"America/Santarem",name:"Santarem"},{value:"America/Santiago",name:"Santiago"},{value:"America/Santo_Domingo",name:"Santo Domingo"},{value:"America/Sao_Paulo",name:"Sao Paulo"},{value:"America/Scoresbysund",name:"Scoresbysund"},{value:"America/Shiprock",name:"Shiprock"},{value:"America/St_Barthelemy",name:"St Barthelemy"},{value:"America/St_Johns",name:"St Johns"},{value:"America/St_Kitts",name:"St Kitts"},{value:"America/St_Lucia",name:"St Lucia"},{value:"America/St_Thomas",name:"St Thomas"},{value:"America/St_Vincent",name:"St Vincent"},{value:"America/Swift_Current",name:"Swift Current"},{value:"America/Tegucigalpa",name:"Tegucigalpa"},{value:"America/Thule",name:"Thule"},{value:"America/Thunder_Bay",name:"Thunder Bay"},{value:"America/Tijuana",name:"Tijuana"},{value:"America/Toronto",name:"Toronto"},{value:"America/Tortola",name:"Tortola"},{value:"America/Vancouver",name:"Vancouver"},{value:"America/Virgin",name:"Virgin"},{value:"America/Whitehorse",name:"Whitehorse"},{value:"America/Winnipeg",name:"Winnipeg"},{value:"America/Yakutat",name:"Yakutat"},{value:"America/Yellowknife",name:"Yellowknife"}]},{group:"Europe",zones:[{value:"Europe/Amsterdam",name:"Amsterdam"},{value:"Europe/Andorra",name:"Andorra"},{value:"Europe/Athens",name:"Athens"},{value:"Europe/Belfast",name:"Belfast"},{value:"Europe/Belgrade",name:"Belgrade"},{value:"Europe/Berlin",name:"Berlin"},{value:"Europe/Bratislava",name:"Bratislava"},{value:"Europe/Brussels",name:"Brussels"},{value:"Europe/Bucharest",name:"Bucharest"},{value:"Europe/Budapest",name:"Budapest"},{value:"Europe/Chisinau",name:"Chisinau"},{value:"Europe/Copenhagen",name:"Copenhagen"},{value:"Europe/Dublin",name:"Dublin"},{value:"Europe/Gibraltar",name:"Gibraltar"},{value:"Europe/Guernsey",name:"Guernsey"},{value:"Europe/Helsinki",name:"Helsinki"},{value:"Europe/Isle_of_Man",name:"Isle of Man"},{value:"Europe/Istanbul",name:"Istanbul"},{value:"Europe/Jersey",name:"Jersey"},{value:"Europe/Kaliningrad",name:"Kaliningrad"},{value:"Europe/Kiev",name:"Kiev"},{value:"Europe/Lisbon",name:"Lisbon"},{value:"Europe/Ljubljana",name:"Ljubljana"},{value:"Europe/London",name:"London"},{value:"Europe/Luxembourg",name:"Luxembourg"},{value:"Europe/Madrid",name:"Madrid"},{value:"Europe/Malta",name:"Malta"},{value:"Europe/Mariehamn",name:"Mariehamn"},{value:"Europe/Minsk",name:"Minsk"},{value:"Europe/Monaco",name:"Monaco"},{value:"Europe/Moscow",name:"Moscow"},{value:"Europe/Nicosia",name:"Nicosia"},{value:"Europe/Oslo",name:"Oslo"},{value:"Europe/Paris",name:"Paris"},{value:"Europe/Podgorica",name:"Podgorica"},{value:"Europe/Prague",name:"Prague"},{value:"Europe/Riga",name:"Riga"},{value:"Europe/Rome",name:"Rome"},{value:"Europe/Samara",name:"Samara"},{value:"Europe/San_Marino",name:"San Marino"},{value:"Europe/Sarajevo",name:"Sarajevo"},{value:"Europe/Simferopol",name:"Simferopol"},{value:"Europe/Skopje",name:"Skopje"},{value:"Europe/Sofia",name:"Sofia"},{value:"Europe/Stockholm",name:"Stockholm"},{value:"Europe/Tallinn",name:"Tallinn"},{value:"Europe/Tirane",name:"Tirane"},{value:"Europe/Tiraspol",name:"Tiraspol"},{value:"Europe/Uzhgorod",name:"Uzhgorod"},{value:"Europe/Vaduz",name:"Vaduz"},{value:"Europe/Vatican",name:"Vatican"},{value:"Europe/Vienna",name:"Vienna"},{value:"Europe/Vilnius",name:"Vilnius"},{value:"Europe/Volgograd",name:"Volgograd"},{value:"Europe/Warsaw",name:"Warsaw"},{value:"Europe/Zagreb",name:"Zagreb"},{value:"Europe/Zaporozhye",name:"Zaporozhye"},{value:"Europe/Zurich",name:"Zurich"}]},{group:"Asia",zones:[{value:"Asia/Aden",name:"Aden"},{value:"Asia/Almaty",name:"Almaty"},{value:"Asia/Amman",name:"Amman"},{value:"Asia/Anadyr",name:"Anadyr"},{value:"Asia/Aqtau",name:"Aqtau"},{value:"Asia/Aqtobe",name:"Aqtobe"},{value:"Asia/Ashgabat",name:"Ashgabat"},{value:"Asia/Ashkhabad",name:"Ashkhabad"},{value:"Asia/Baghdad",name:"Baghdad"},{value:"Asia/Bahrain",name:"Bahrain"},{value:"Asia/Baku",name:"Baku"},{value:"Asia/Bangkok",name:"Bangkok"},{value:"Asia/Beirut",name:"Beirut"},{value:"Asia/Bishkek",name:"Bishkek"},{value:"Asia/Brunei",name:"Brunei"},{value:"Asia/Calcutta",name:"Calcutta"},{value:"Asia/Choibalsan",name:"Choibalsan"},{value:"Asia/Chongqing",name:"Chongqing"},{value:"Asia/Chungking",name:"Chungking"},{value:"Asia/Colombo",name:"Colombo"},{value:"Asia/Dacca",name:"Dacca"},{value:"Asia/Damascus",name:"Damascus"},{value:"Asia/Dhaka",name:"Dhaka"},{value:"Asia/Dili",name:"Dili"},{value:"Asia/Dubai",name:"Dubai"},{value:"Asia/Dushanbe",name:"Dushanbe"},{value:"Asia/Gaza",name:"Gaza"},{value:"Asia/Harbin",name:"Harbin"},{value:"Asia/Ho_Chi_Minh",name:"Ho Chi Minh"},{value:"Asia/Hong_Kong",name:"Hong Kong"},{value:"Asia/Hovd",name:"Hovd"},{value:"Asia/Irkutsk",name:"Irkutsk"},{value:"Asia/Istanbul",name:"Istanbul"},{value:"Asia/Jakarta",name:"Jakarta"},{value:"Asia/Jayapura",name:"Jayapura"},{value:"Asia/Jerusalem",name:"Jerusalem"},{value:"Asia/Kabul",name:"Kabul"},{value:"Asia/Kamchatka",name:"Kamchatka"},{value:"Asia/Karachi",name:"Karachi"},{value:"Asia/Kashgar",name:"Kashgar"},{value:"Asia/Kathmandu",name:"Kathmandu"},{value:"Asia/Katmandu",name:"Katmandu"},{value:"Asia/Kolkata",name:"Kolkata"},{value:"Asia/Krasnoyarsk",name:"Krasnoyarsk"},{value:"Asia/Kuala_Lumpur",name:"Kuala Lumpur"},{value:"Asia/Kuching",name:"Kuching"},{value:"Asia/Kuwait",name:"Kuwait"},{value:"Asia/Macao",name:"Macao"},{value:"Asia/Macau",name:"Macau"},{value:"Asia/Magadan",name:"Magadan"},{value:"Asia/Makassar",name:"Makassar"},{value:"Asia/Manila",name:"Manila"},{value:"Asia/Muscat",name:"Muscat"},{value:"Asia/Nicosia",name:"Nicosia"},{value:"Asia/Novokuznetsk",name:"Novokuznetsk"},{value:"Asia/Novosibirsk",name:"Novosibirsk"},{value:"Asia/Omsk",name:"Omsk"},{value:"Asia/Oral",name:"Oral"},{value:"Asia/Phnom_Penh",name:"Phnom Penh"},{value:"Asia/Pontianak",name:"Pontianak"},{value:"Asia/Pyongyang",name:"Pyongyang"},{value:"Asia/Qatar",name:"Qatar"},{value:"Asia/Qyzylorda",name:"Qyzylorda"},{value:"Asia/Rangoon",name:"Rangoon"},{value:"Asia/Riyadh",name:"Riyadh"},{value:"Asia/Saigon",name:"Saigon"},{value:"Asia/Sakhalin",name:"Sakhalin"},{value:"Asia/Samarkand",name:"Samarkand"},{value:"Asia/Seoul",name:"Seoul"},{value:"Asia/Shanghai",name:"Shanghai"},{value:"Asia/Singapore",name:"Singapore"},{value:"Asia/Taipei",name:"Taipei"},{value:"Asia/Tashkent",name:"Tashkent"},{value:"Asia/Tbilisi",name:"Tbilisi"},{value:"Asia/Tehran",name:"Tehran"},{value:"Asia/Tel_Aviv",name:"Tel Aviv"},{value:"Asia/Thimbu",name:"Thimbu"},{value:"Asia/Thimphu",name:"Thimphu"},{value:"Asia/Tokyo",name:"Tokyo"},{value:"Asia/Ujung_Pandang",name:"Ujung Pandang"},{value:"Asia/Ulaanbaatar",name:"Ulaanbaatar"},{value:"Asia/Ulan_Bator",name:"Ulan Bator"},{value:"Asia/Urumqi",name:"Urumqi"},{value:"Asia/Vientiane",name:"Vientiane"},{value:"Asia/Vladivostok",name:"Vladivostok"},{value:"Asia/Yakutsk",name:"Yakutsk"},{value:"Asia/Yekaterinburg",name:"Yekaterinburg"},{value:"Asia/Yerevan",name:"Yerevan"}]},{group:"Africa",zones:[{value:"Africa/Abidjan",name:"Abidjan"},{value:"Africa/Accra",name:"Accra"},{value:"Africa/Addis_Ababa",name:"Addis Ababa"},{value:"Africa/Algiers",name:"Algiers"},{value:"Africa/Asmara",name:"Asmara"},{value:"Africa/Asmera",name:"Asmera"},{value:"Africa/Bamako",name:"Bamako"},{value:"Africa/Bangui",name:"Bangui"},{value:"Africa/Banjul",name:"Banjul"},{value:"Africa/Bissau",name:"Bissau"},{value:"Africa/Blantyre",name:"Blantyre"},{value:"Africa/Brazzaville",name:"Brazzaville"},{value:"Africa/Bujumbura",name:"Bujumbura"},{value:"Africa/Cairo",name:"Cairo"},{value:"Africa/Casablanca",name:"Casablanca"},{value:"Africa/Ceuta",name:"Ceuta"},{value:"Africa/Conakry",name:"Conakry"},{value:"Africa/Dakar",name:"Dakar"},{value:"Africa/Dar_es_Salaam",name:"Dar es Salaam"},{value:"Africa/Djibouti",name:"Djibouti"},{value:"Africa/Douala",name:"Douala"},{value:"Africa/El_Aaiun",name:"El Aaiun"},{value:"Africa/Freetown",name:"Freetown"},{value:"Africa/Gaborone",name:"Gaborone"},{value:"Africa/Harare",name:"Harare"},{value:"Africa/Johannesburg",name:"Johannesburg"},{value:"Africa/Kampala",name:"Kampala"},{value:"Africa/Khartoum",name:"Khartoum"},{value:"Africa/Kigali",name:"Kigali"},{value:"Africa/Kinshasa",name:"Kinshasa"},{value:"Africa/Lagos",name:"Lagos"},{value:"Africa/Libreville",name:"Libreville"},{value:"Africa/Lome",name:"Lome"},{value:"Africa/Luanda",name:"Luanda"},{value:"Africa/Lubumbashi",name:"Lubumbashi"},{value:"Africa/Lusaka",name:"Lusaka"},{value:"Africa/Malabo",name:"Malabo"},{value:"Africa/Maputo",name:"Maputo"},{value:"Africa/Maseru",name:"Maseru"},{value:"Africa/Mbabane",name:"Mbabane"},{value:"Africa/Mogadishu",name:"Mogadishu"},{value:"Africa/Monrovia",name:"Monrovia"},{value:"Africa/Nairobi",name:"Nairobi"},{value:"Africa/Ndjamena",name:"Ndjamena"},{value:"Africa/Niamey",name:"Niamey"},{value:"Africa/Nouakchott",name:"Nouakchott"},{value:"Africa/Ouagadougou",name:"Ouagadougou"},{value:"Africa/Porto-Novo",name:"Porto-Novo"
+},{value:"Africa/Sao_Tome",name:"Sao Tome"},{value:"Africa/Timbuktu",name:"Timbuktu"},{value:"Africa/Tripoli",name:"Tripoli"},{value:"Africa/Tunis",name:"Tunis"},{value:"Africa/Windhoek",name:"Windhoek"}]},{group:"Australia",zones:[{value:"Australia/ACT",name:"ACT"},{value:"Australia/Adelaide",name:"Adelaide"},{value:"Australia/Brisbane",name:"Brisbane"},{value:"Australia/Broken_Hill",name:"Broken Hill"},{value:"Australia/Canberra",name:"Canberra"},{value:"Australia/Currie",name:"Currie"},{value:"Australia/Darwin",name:"Darwin"},{value:"Australia/Eucla",name:"Eucla"},{value:"Australia/Hobart",name:"Hobart"},{value:"Australia/LHI",name:"LHI"},{value:"Australia/Lindeman",name:"Lindeman"},{value:"Australia/Lord_Howe",name:"Lord Howe"},{value:"Australia/Melbourne",name:"Melbourne"},{value:"Australia/North",name:"North"},{value:"Australia/NSW",name:"NSW"},{value:"Australia/Perth",name:"Perth"},{value:"Australia/Queensland",name:"Queensland"},{value:"Australia/South",name:"South"},{value:"Australia/Sydney",name:"Sydney"},{value:"Australia/Tasmania",name:"Tasmania"},{value:"Australia/Victoria",name:"Victoria"},{value:"Australia/West",name:"West"},{value:"Australia/Yancowinna",name:"Yancowinna"}]},{group:"Indian",zones:[{value:"Indian/Antananarivo",name:"Antananarivo"},{value:"Indian/Chagos",name:"Chagos"},{value:"Indian/Christmas",name:"Christmas"},{value:"Indian/Cocos",name:"Cocos"},{value:"Indian/Comoro",name:"Comoro"},{value:"Indian/Kerguelen",name:"Kerguelen"},{value:"Indian/Mahe",name:"Mahe"},{value:"Indian/Maldives",name:"Maldives"},{value:"Indian/Mauritius",name:"Mauritius"},{value:"Indian/Mayotte",name:"Mayotte"},{value:"Indian/Reunion",name:"Reunion"}]},{group:"Atlantic",zones:[{value:"Atlantic/Azores",name:"Azores"},{value:"Atlantic/Bermuda",name:"Bermuda"},{value:"Atlantic/Canary",name:"Canary"},{value:"Atlantic/Cape_Verde",name:"Cape Verde"},{value:"Atlantic/Faeroe",name:"Faeroe"},{value:"Atlantic/Faroe",name:"Faroe"},{value:"Atlantic/Jan_Mayen",name:"Jan Mayen"},{value:"Atlantic/Madeira",name:"Madeira"},{value:"Atlantic/Reykjavik",name:"Reykjavik"},{value:"Atlantic/South_Georgia",name:"South Georgia"},{value:"Atlantic/Stanley",name:"Stanley"},{value:"Atlantic/St_Helena",name:"St Helena"}]},{group:"Pacific",zones:[{value:"Pacific/Apia",name:"Apia"},{value:"Pacific/Auckland",name:"Auckland"},{value:"Pacific/Chatham",name:"Chatham"},{value:"Pacific/Easter",name:"Easter"},{value:"Pacific/Efate",name:"Efate"},{value:"Pacific/Enderbury",name:"Enderbury"},{value:"Pacific/Fakaofo",name:"Fakaofo"},{value:"Pacific/Fiji",name:"Fiji"},{value:"Pacific/Funafuti",name:"Funafuti"},{value:"Pacific/Galapagos",name:"Galapagos"},{value:"Pacific/Gambier",name:"Gambier"},{value:"Pacific/Guadalcanal",name:"Guadalcanal"},{value:"Pacific/Guam",name:"Guam"},{value:"Pacific/Honolulu",name:"Honolulu"},{value:"Pacific/Johnston",name:"Johnston"},{value:"Pacific/Kiritimati",name:"Kiritimati"},{value:"Pacific/Kosrae",name:"Kosrae"},{value:"Pacific/Kwajalein",name:"Kwajalein"},{value:"Pacific/Majuro",name:"Majuro"},{value:"Pacific/Marquesas",name:"Marquesas"},{value:"Pacific/Midway",name:"Midway"},{value:"Pacific/Nauru",name:"Nauru"},{value:"Pacific/Niue",name:"Niue"},{value:"Pacific/Norfolk",name:"Norfolk"},{value:"Pacific/Noumea",name:"Noumea"},{value:"Pacific/Pago_Pago",name:"Pago Pago"},{value:"Pacific/Palau",name:"Palau"},{value:"Pacific/Pitcairn",name:"Pitcairn"},{value:"Pacific/Ponape",name:"Ponape"},{value:"Pacific/Port_Moresby",name:"Port Moresby"},{value:"Pacific/Rarotonga",name:"Rarotonga"},{value:"Pacific/Saipan",name:"Saipan"},{value:"Pacific/Samoa",name:"Samoa"},{value:"Pacific/Tahiti",name:"Tahiti"},{value:"Pacific/Tarawa",name:"Tarawa"},{value:"Pacific/Tongatapu",name:"Tongatapu"},{value:"Pacific/Truk",name:"Truk"},{value:"Pacific/Wake",name:"Wake"},{value:"Pacific/Wallis",name:"Wallis"},{value:"Pacific/Yap",name:"Yap"}]},{group:"Antarctica",zones:[{value:"Antarctica/Casey",name:"Casey"},{value:"Antarctica/Davis",name:"Davis"},{value:"Antarctica/DumontDUrville",name:"DumontDUrville"},{value:"Antarctica/Macquarie",name:"Macquarie"},{value:"Antarctica/Mawson",name:"Mawson"},{value:"Antarctica/McMurdo",name:"McMurdo"},{value:"Antarctica/Palmer",name:"Palmer"},{value:"Antarctica/Rothera",name:"Rothera"},{value:"Antarctica/South_Pole",name:"South Pole"},{value:"Antarctica/Syowa",name:"Syowa"},{value:"Antarctica/Vostok",name:"Vostok"}]},{group:"Arctic",zones:[{value:"Arctic/Longyearbyen",name:"Longyearbyen"}]},{group:"UTC",zones:[{value:"UTC",name:"UTC"}]},{group:"Manual Offsets",zones:[{value:"UTC-12",name:"UTC-12"},{value:"UTC-11",name:"UTC-11"},{value:"UTC-10",name:"UTC-10"},{value:"UTC-9",name:"UTC-9"},{value:"UTC-8",name:"UTC-8"},{value:"UTC-7",name:"UTC-7"},{value:"UTC-6",name:"UTC-6"},{value:"UTC-5",name:"UTC-5"},{value:"UTC-4",name:"UTC-4"},{value:"UTC-3",name:"UTC-3"},{value:"UTC-2",name:"UTC-2"},{value:"UTC-1",name:"UTC-1"},{value:"UTC+0",name:"UTC+0"},{value:"UTC+1",name:"UTC+1"},{value:"UTC+2",name:"UTC+2"},{value:"UTC+3",name:"UTC+3"},{value:"UTC+4",name:"UTC+4"},{value:"UTC+5",name:"UTC+5"},{value:"UTC+6",name:"UTC+6"},{value:"UTC+7",name:"UTC+7"},{value:"UTC+8",name:"UTC+8"},{value:"UTC+9",name:"UTC+9"},{value:"UTC+10",name:"UTC+10"},{value:"UTC+11",name:"UTC+11"},{value:"UTC+12",name:"UTC+12"},{value:"UTC+13",name:"UTC+13"},{value:"UTC+14",name:"UTC+14"}]}]}}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer",{url:"/motiondialer",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:16}}})}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessListCtrl",["$scope","$uibModal","$translate","xAlert","Modal","MotionDialerProcess","uiGridConstants","usSpinnerService",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,columnDefs:[{name:"id",width:60},{name:"name"},{name:"queue",enableSorting:!1},{name:"extension",enableSorting:!1},{name:"id_list",enableSorting:!1,cellTemplate:'<div><a class="btn btn-xs grey-cascade" href="/motiondialer/lists/view/{{row.entity.id_list}}/settings">{{row.entity.id_list}}</a></div>',cellClass:"ui-grid-vcenter"},{name:"status",cellTemplate:"<div><a class=\"btn btn-xs\" data-ng-class=\"row.entity.status == 'STOP' ? 'red-sunglo' : 'green-meadow'\" data-ng-href=\"#\">{{ (row.entity.status === 'RUN') ? 'RUNNING' : 'STOPPED'}}</a></div>",cellClass:"ui-grid-vcenter",filter:{type:g.filter.SELECT,selectOptions:[{value:"RUN",label:"RUNNING"},{value:"STOP",label:"STOPPED"}]}},{name:"updatedtime",sort:{direction:g.DESC},enableFiltering:!1},{name:"action",cellTemplate:'<div><a class="btn btn-xs blue-hoki" href="/motiondialer/processes/view/{{row.entity.id}}/overview"><i class="icon-settings"></a> <a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteItem(row.entity.name, row.entity.id)"><i class="icon-trash"></i></a></div>',enableSorting:!1,cellClass:"ui-grid-vcenter",enableFiltering:!1}]},f.list({page:1,size:6e5}).$promise.then(function(b){console.log(b),b.status>0?a.gridOptions.data=b.response.RMI.rows:d.show("Please, check your connection!","danger")})["catch"](function(a){d.error(a)})["finally"](function(){h.stop("spinner-grid")})},a.createProcessQueue=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/process/list/list.create.queue.modal.html",controller:"MotionDialerProcessListCreateQueueCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.createProcessSquare=function(){var c=b.open({animation:!0,templateUrl:"app/motiondialer/process/list/list.create.square.modal.html",controller:"MotionDialerProcessListCreateSquareCtrl"});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.deleteItem=e.confirm["delete"](function(b){return f["delete"]({id:b}).$promise.then(function(e){e.status>0?(_.remove(a.gridOptions.data,{id:b}),d.show(c.instant("MESSAGE_WELL_DONE"),"success")):d.show(e.message||"Please, check your connection!","danger")})["catch"](function(a){d.error(a)})})}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessListCreateQueueCtrl",["$scope","$translate","$uibModalInstance","MotionDialerProcess","MotionDialerList","Trunk","VoiceQueue","Route","xAlert",function(a,b,c,d,e,f,g,h,i){a.form={},a.item={fetch_sort:"ASC",timeout:3},a.initModal=function(){return g.get().$promise.then(function(b){return a.queues={},b&&(a.queues=b.rows),f.get().$promise}).then(function(b){return a.trunks={},b&&(a.trunks=b.rows),a.trunks.push({name:"fake"}),e.list({page:1,size:6e5}).$promise}).then(function(b){a.lists={},b.status>0?a.lists=b.response.RMI.rows:i.show("Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.save=function(){console.log(a.item);var e="process_"+a.item.name+"_queue_"+a.item.queue.name+"_"+Math.round(1e5*Math.random()),f="Generated by Motion Dialer, Process Queue"+(a.item.description?", "+a.item.description:"");return h.save({appdata:"Internal Call",context:"from-sip",exten:e.replace(/\s/g,"_"),type:"internal",description:f,Applications:[{appdata:["CDR(type)=tigerdial"],app:"Set",interval:"*,*,*,*",type:"internal"},{appdata:["QUEUE_PRIO=99"],app:"Set",interval:"*,*,*,*",type:"internal"},{appdata:[a.item.queue.name,"","","",a.item.timeout],app:"Queue",interval:"*,*,*,*",type:"internal"}]}).$promise.then(function(b){return console.log(b),d.insert({name:a.item.name,id_list:a.item.list.id,queue:a.item.queue.name,device:a.item.device.name,context:"from-sip",extension:e.replace(/\s/g,"_"),description:a.item.description,auto_closed:!0,fetch_sort:a.item.fetch_sort}).$promise}).then(function(a){a.status>0?(i.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):i.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessListCreateSquareCtrl",["$scope","$translate","$uibModalInstance","MotionDialerProcess","MotionDialerList","SquareProject","Trunk","Route","xAlert",function(a,b,c,d,e,f,g,h,i){a.form={},a.item={fetch_sort:"ASC"},a.initModal=function(){return f.get().$promise.then(function(b){return a.projects={},b&&(a.projects=b.rows),g.get().$promise}).then(function(b){return a.trunks={},b&&(a.trunks=b.rows),a.trunks.push({name:"fake"}),e.list({page:1,size:6e5}).$promise}).then(function(b){a.lists={},b.status>0?a.lists=b.response.RMI.rows:i.show("Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.save=function(){console.log(a.item);var e="process_"+a.item.name+"_square_"+a.item.project.name+"_"+Math.round(1e5*Math.random()),f="Generated by Motion Dialer, Process Square"+(a.item.description?", "+a.item.description:"");return h.save({appdata:"Internal Call",context:"from-sip",exten:e.replace(/\s/g,"_"),type:"internal",description:f,Applications:[{appdata:["CDR(type)=tigerdial"],app:"Set",interval:"*,*,*,*",type:"internal"},{appdata:["agi://127.0.0.1/square",a.item.project.name],app:"AGI",interval:"*,*,*,*",type:"internal"}]}).$promise.then(function(b){return console.log(b),d.insert({name:a.item.name,id_list:a.item.list.id,queue:"none",device:a.item.device.name,context:"from-sip",extension:e.replace(/\s/g,"_"),description:a.item.description,auto_closed:!0,channel_limit:15,fetch_sort:a.item.fetch_sort}).$promise}).then(function(a){a.status>0?(i.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)):i.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){i.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.processes.list",{url:"/list",templateUrl:"app/motiondialer/process/list/list.html",controller:"MotionDialerProcessListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").factory("MotionDialerProcess",["$resource",function(a){return a("/api/rest/process/:controller",null,{list:{method:"POST",params:{controller:"list"}},insert:{method:"POST",params:{controller:"insert"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},update:{method:"POST",params:{controller:"update"}}})}]),angular.module("xCallyShuttleApp").factory("MotionDialerSpooler",["$resource",function(a){return a("/api/rest/spooler/:controller/:retrieve/:peer",null,{list:{method:"POST",params:{controller:"list"}},"delete":{method:"POST",params:{controller:"delete"}},find:{method:"POST",params:{controller:"find"}},summary:{method:"POST",params:{controller:"summary"}},close:{method:"POST",params:{controller:"retrieve",retrieve:"close"}},open:{method:"POST",params:{controller:"retrieve",retrieve:"open"}},blacklist:{method:"POST",params:{controller:"retrieve",retrieve:"blacklist"}},planning:{method:"POST",params:{controller:"retrieve",retrieve:"planning"}},planningpeer:{method:"POST",params:{controller:"retrieve",retrieve:"planning",peer:"peer"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.processes",{url:"/processes",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MotionDialerProcessViewCtrl",["$scope","$translate","$stateParams","$uibModal","xAlert","uiGridConstants","usSpinnerService","MotionDialerProcess","MotionDialerSpooler","Modal","VoiceQueue",function(a,b,c,d,e,f,g,h,i,j,k){a.process={},a.techs=["SIP","IAX","LOCAL","KHOMP"],a.dialFormats=["tech/device/number","tech/number@device"],a.checkDuplicates=["ALWAYS","IFOPEN","NO"],a.codecs=["g729","ilbc","gsm","ulaw","alaw"],a.getProcess=function(){return h.find({id:parseInt(c.id)}).$promise.then(function(b){console.log(b),b.status>0?(b.response.RMI.codecs=b.response.RMI.codecs.split(","),a.process=b.response.RMI):e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})},a.getSummary=function(){return i.summary({id_process:parseInt(c.id)}).$promise.then(function(b){if(b.status>0){a.summary=b.response.RMI.totals,a.total=0;for(var c=0;c<a.summary.length;c++)a.total+=a.summary[c][1]}else e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})["finally"](function(){g.stop("spinner-grid")})},a.updateProcess=function(){var c=_.clone(a.process);return delete c.updatedtime,delete c.id_list,delete c.createdtime,delete c.runtime,delete c.fetch_sort,c.codecs=c.codecs.join(","),""===c.timezone&&delete c.timezone,h.update(c).$promise.then(function(c){c.status>0?(c.response.RMI.codecs=c.response.RMI.codecs.split(","),a.process=c.response.RMI,e.show(b.instant("MESSAGE_WELL_DONE"),"success")):c.response.RMI.errors.forEach(function(a){a?e.show(a.field+": "+a.error,"danger"):e.show("Please, check your connection!","danger")})})["catch"](function(a){e.error(a)})},a.getSpooler=function(){return a.gridOptions={paginationPageSizes:[10,25,50,75],paginationPageSize:10,enableFiltering:!0,enableSorting:!0,enableGridMenu:!0,flatEntityAccess:!0,showGridFooter:!0,fastWatch:!0,headerCellFilter:"translate",columnDefs:[{name:"name"},{name:"phones",cellTemplate:"<div>{{row.entity.phones.join(',')}}</div>",cellClass:"ui-grid-vcenter"},{name:"retrieve",filter:{type:f.filter.SELECT,selectOptions:[{value:"PLANNED_PEER",label:"PLANNED PEER"},{value:"PLANNED",label:"PLANNED"},{value:"BLACK_LIST",label:"BLACKLIST"},{value:"OPEN",label:"OPEN"},{value:"CLOSED",label:"CLOSED"},{value:"MAX_ATTEMPTS",label:"MAX ATTEMPTS"},{value:"COUNTER_BLOCK",label:"COUNTER BLOCK"},{value:"PLANNED_REQUEST",label:"PLANNED REQUEST"},{value:"DELETE",label:"DELETE"}]}},{name:"counter",enableFiltering:!1},{name:"planningtime",cellTemplate:"<div>{{row.entity.planningtime | date:'yyyy-MM-dd HH:mm'}}</div>",cellClass:"ui-grid-vcenter",enableFiltering:!1},{name:"action",cellTemplate:'<div><a class="btn btn-xs green" data-ng-click="grid.appScope.historySpooler(row.entity.history)"><i class="icon-info"></i></a> <a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.editSpooler(row.entity)"><i class="icon-settings"></i></a> <a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteSpooler(row.entity.phones.join(), row.entity.id)"><i class="fa fa-trash"></i></a></div>',enableSorting:!1,cellClass:"ui-grid-vcenter",enableFiltering:!1}]},i.list({id_process:parseInt(c.id),page:1,size:6e5}).$promise.then(function(b){b.status>0?a.gridOptions.data=b.response.RMI.rows:e.show(b.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})["finally"](function(){g.stop("spinner-grid")})},a.deleteSpooler=j.confirm["delete"](function(c){return i["delete"]({id:c}).$promise.then(function(d){d.status>0?(_.remove(a.gridOptions.data,{id:c}),e.show(b.instant("MESSAGE_WELL_DONE"),"success")):e.show(d.message||"Please, check your connection!","danger")})["catch"](function(a){e.error(a)})}),a.historySpooler=function(b){var c=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.spooler.history.modal.html",controller:"MotionDialerViewSpoolerHistoryCtrl",resolve:{historySpooler:function(){return b}}});c.result.then(function(b){a.gridOptions.data.push(b.response.RMI)})},a.editSpooler=function(a){var b=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.spooler.edit.modal.html",controller:"MotionDialerViewSpoolerEditCtrl",resolve:{entitySpooler:function(){return a}}});b.result.then(function(){})},a.initSettings=function(){return a.queues=null,k.get().$promise.then(function(b){b&&(a.queues=b.rows,a.process.queue&&"none"!==a.process.queue&&(a.queue=_.find(b.rows,{name:a.process.queue})))})["catch"](function(a){e.error(a)})},a.createInterval=function(b){var c=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.create.interval.modal.html",controller:"MotionDialerViewCreateIntervalCtrl",resolve:{objectProcess:function(){return a.process},intervalType:function(){return b},intervalValue:function(){return b?"8:00-20:00|MON-FRI|*|*":"00:01-07:59|SAT-SUN|*|*"}}});c.result.then(function(b){a.process=b})},a.editInterval=function(b,c){var e=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.create.interval.modal.html",controller:"MotionDialerViewCreateIntervalCtrl",resolve:{objectProcess:function(){return a.process},intervalType:function(){return b},intervalValue:function(){return c}}});e.result.then(function(b){a.process=b})},a.deleteInterval=j.confirm["delete"](function(c,d){var f={id:a.process.id};return d?(f.intervals=[],f.intervals=f.intervals.concat(a.process.intervals),f.intervals.splice(c,1)):(f.not_intervals=[],f.not_intervals=f.not_intervals.concat(a.process.not_intervals),f.not_intervals.splice(c,1)),h.update(f).$promise.then(function(c){c.status>0?(c.response.RMI.codecs=c.response.RMI.codecs.split(","),a.process=c.response.RMI,e.show(b.instant("MESSAGE_WELL_DONE"),"success")):c.response.RMI.errors.forEach(function(a){a?e.show(a.field+": "+a.error,"danger"):e.show("Please, check your connection!","danger")})})["catch"](function(a){e.error(a)})}),a.runOrStop=function(){var b=d.open({animation:!0,templateUrl:"app/motiondialer/process/view/view.run.process.modal.html",controller:"MotionDialerViewRunProcessCtrl",resolve:{statusProcess:function(){return a.process.status}}});b.result.then(function(b){a.process.status=b.status})}}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewCreateIntervalCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerProcess","xAlert","objectProcess","intervalType","intervalValue","interval",function(a,b,c,d,e,f,g,h,i,j){function k(a){var b,c=a.split("|"),d={};return c.forEach(function(a,c){switch(c){case 0:"*"!==a?(b=a.split("-"),d.t_from=moment(b[0],"HH:mm"),d.t_to=moment(b[1],"HH:mm"),d.alwaysTime=!1):(d.t_from=moment(new Date),d.t_to=moment(new Date),d.alwaysTime=!0);break;case 1:"*"!==a?(b=a.split("-"),d.wd_from=b[0].toLowerCase(),d.wd_to=b[1]?b[1].toLowerCase():"always"):(d.wd_from="always",d.wd_to="always");break;case 2:"*"!==a?(b=a.split("-"),d.md_from=b[0],d.md_to=b[1]?b[1]:"always"):(d.md_from="always",d.md_to="always");break;case 3:"*"!==a?(b=a.split("-"),d.m_from=b[0],d.m_to=b[1]?b[1]:"always"):(d.m_from="always",d.m_to="always")}}),d}function l(a){var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toUpperCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toUpperCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from,a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to)):e="*",b+"|"+c+"|"+d+"|"+e}a.form={},a.$interval=j.interval,a.splittedInterval=k(i),a.save=function(){var d=l(a.splittedInterval);console.log(d);var i={id:g.id};return h?(i.intervals=[],i.intervals=i.intervals.concat(g.intervals),i.intervals.push(d)):(i.not_intervals=[],i.not_intervals=i.not_intervals.concat(g.not_intervals),i.not_intervals.push(d)),console.log(i),e.update(i).$promise.then(function(a){a.status>0?(a.response.RMI.codecs=a.response.RMI.codecs.split(","),f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a.response.RMI)):a.response.RMI.errors.forEach(function(a){a?f.show(a.field+": "+a.error,"danger"):f.show("Please, check your connection!","danger")})})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.motiondialer.processes.view",{url:"/view/:id",templateUrl:"app/motiondialer/process/view/view.html",controller:"MotionDialerProcessViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.motiondialer.processes.view.overview",{url:"/overview",templateUrl:"app/motiondialer/process/view/view.overview.html"}).state("main.motiondialer.processes.view.settings",{url:"/settings",templateUrl:"app/motiondialer/process/view/view.settings.html"}).state("main.motiondialer.processes.view.intervals",{url:"/intervals",templateUrl:"app/motiondialer/process/view/view.intervals.html"}).state("main.motiondialer.processes.view.spooler",{url:"/spooler",templateUrl:"app/motiondialer/process/view/view.spooler.html"})}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewRunProcessCtrl",["$scope","$stateParams","$uibModalInstance","$translate","statusProcess","MotionDialerProcess","xAlert",function(a,b,c,d,e,f,g){a.status="RUN"===e?"STOP":"RUN",a.yes=function(){f.update({id:parseInt(b.id),status:a.status}).$promise.then(function(a){a.status>0?(g.show(d.instant("MESSAGE_WELL_DONE"),"success"),c.close(a.response.RMI)):g.show(a.message||"Please, check your connection!","danger")})["catch"](function(a){g.error(a)})},a.no=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewSpoolerEditCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerSpooler","xAlert","entitySpooler","Agent",function(a,b,c,d,e,f,g,h){a.moment=moment,a.initModal=function(){return h.get().$promise.then(function(b){a.agents=[],b&&b.rows.forEach(function(b){a.agents.push("SIP/"+b.name)})})["catch"](function(a){f.error(a)})},a.entitySpooler=g,a.save=function(){var d;switch(a.entitySpooler.retrieve){case"CLOSED":d=e.close({id:parseInt(a.entitySpooler.id)});break;case"OPEN":d=e.open({id:parseInt(a.entitySpooler.id)});break;case"BLACK_LIST":d=e.blacklist({id:parseInt(a.entitySpooler.id)});break;case"PLANNED":d=e.planning({id:parseInt(a.entitySpooler.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm")});break;case"PLANNED_PEER":d=e.planningpeer({id:parseInt(a.entitySpooler.id),date:moment(a.entitySpooler.planningtime).format("YYYY-MM-DD HH:mm"),peer:a.entitySpooler.planningpeer})}d?d.$promise.then(function(a){console.log(a),a.status>0?(f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close()):a.response.RMI.errors.forEach(function(a){a?f.show(a.field+": "+a.error,"danger"):f.show("Please, check your connection!","danger")})})["catch"](function(a){f.error(a)}):f.show("RETRIEVE NOT FOUND","danger")},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("MotionDialerViewSpoolerHistoryCtrl",["$scope","$translate","$uibModalInstance","$stateParams","MotionDialerSpooler","xAlert","historySpooler",function(a,b,c,d,e,f,g){a.historySpooler=g,a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("ResetCtrl",["$scope","Auth","$location","$window","$rootScope","Setting","xAlert","$stateParams","$state",function(a,b,c,d,e,f,g,h,i){a.userReset={},a.getInfo=function(){return f.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)})},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.reset=function(){b.reset({token:h.token,password:a.userReset.password}).then(function(){i.go("login",{reset:!0})})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("reset",{url:"/reset/:token",templateUrl:"app/reset/reset.html",controller:"ResetCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SalesforceListCtrl",["$scope","SalesforceAccount","gridOptions","xAlert","$translate",function(a,b,c,d,e){a.initView=function(){var d={exporterCsvFilename:"salesforce_account.csv",columnDefs:[{name:"name",displayName:"APPLICATION_NAME"},{name:"username"},{name:"remoteUri",displayName:"APPLICATION_URI"},{name:"action",buttons:[{"class":"blue-hoki",href:"/salesforce/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.checkAccount=function(a){return b.check({id:a}).$promise.then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.list",{url:"/list",templateUrl:"app/salesforce/list/list.html",controller:"SalesforceListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("SalesforceAccount",["$resource",function(a){return a("/api/salesforce/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"},fields:{params:{controller:"fields"},isArray:!0},check:{params:{controller:"check"}}})}]).factory("SalesforceConfiguration",["$resource",function(a){return a("/api/salesforce/accounts/:accountId/configurations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]).factory("SalesforceField",["$resource",function(a){return a("/api/salesforce/accounts/:accountId/configurations/:configurationId/fields/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce",{url:"/salesforce",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view.configurations",{url:"/configurations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewConfigurationListCtrl",["$scope","$stateParams","$translate","gridOptions","SalesforceConfiguration","$uibModal",function(a,b,c,d,e,f){a.initView=function(){var c={exporterCsvFilename:"salesforce_configurations.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/salesforce/view/{{row.entity.AccountId}}/configurations/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(e,c,a,{accountId:b.id})},a.createItem=function(){var b=f.open({animation:!0,templateUrl:"app/salesforce/view/configuration/list/create.modal.html",controller:"SalesforceCreateConfigurationCtrl"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("SalesforceCreateConfigurationCtrl",["$scope","$translate","$uibModalInstance","SalesforceConfiguration","xAlert","$stateParams","channel",function(a,b,c,d,e,f,g){a.form={},a.item={},a.channels=g,a.item.channel="voice",a.item.type="Queue",a.save=function(){return d.save({accountId:f.id},a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view.configurations.list",{url:"/list",templateUrl:"app/salesforce/view/configuration/list/list.html",controller:"SalesforceViewConfigurationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewConfigurationViewCtrl",["$scope","$filter","$stateParams","$translate","socket","variable","xAlert","SalesforceAccount","SalesforceConfiguration","SalesforceField","Variable",function(a,b,c,d,e,f,g,h,i,j,k){a.$on("$destroy",function(){e.unsyncUpdates("salesforce_field")}),a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:300,scrollInertia:0},a.fieldType=[{type:"string",title:"String"},{type:"variable",title:"Variable"},{type:"customVariable",title:"Custom Variable"}],a.descFieldType=[{type:"string",title:"String"},{type:"keyValue",title:"Key Value"}],a.groupVariableByGroup=function(a){switch(a.group){case"voice_queue":return"Voice: Queue";default:return"Other"}},a.initView=function(){a.configurationName="",a.subjectConfig=[],a.descriptionConfig=[],a.fieldConfig=[],a.variables=f},a.getConfiguration=function(){return i.get({accountId:c.id,id:c.configurationId}).$promise.then(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,e.socket.on("salesforce_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})})["catch"](function(a){g.error(a)})},a.getCustomVariables=function(){return k.get().$promise.then(function(b){a.customVariables=b.rows})["catch"](function(a){g.error(a)})},a.getFields=function(){return h.fields({id:c.id}).$promise.then(function(c){a.accountFields=_.sortByOrder(b("salesforce")(c),"name","asc"),console.log(a.accountFields)})["catch"](function(a){g.error(a)})},a.addItem=function(b){var d={};switch(b){case"subject":case"description":d={type:"string",content:""};break;case"field":d={content:""}}return i.save({accountId:c.id,id:c.configurationId,controller:b},d).$promise.then(function(c){switch(b){case"subject":a.subjectConfig.push(c);break;case"description":a.descriptionConfig.push(c);break;case"field":a.fieldConfig.push(c)}})["catch"](function(a){g.error(a)})},a.changeType=function(b){"variable"===b.type?(b.content="",b.variableName=""):"string"===b.type?(b.VariableId=null,b.variableName=""):"customVariable"===b.type&&(b.VariableId=null,b.content=""),a.updateField(b)},a.updateField=function(a){return j.update({accountId:c.id,configurationId:c.configurationId,id:a.id},a).$promise.then(function(){})["catch"](function(a){g.error(a)})},a.removeItem=function(a){return j["delete"]({accountId:c.id,configurationId:c.configurationId,
+id:a.id}).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})},a.changeDescType=function(b){"keyValue"===b.type?(b.content="","string"===b.keyType?(b.VariableId=null,b.variableName=""):"variable"===b.keyType?(b.keyContent="",b.VariableId=null):"customVariable"===b.keyType&&(b.keyContent="",b.variableName="")):"string"===b.type&&(b.VariableId=null,b.variableName="",b.key="",b.keyContent=""),a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);if(c)switch(c.type){case"picklist":return c.picklistValues;default:return}}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view.configurations.view",{url:"/view/:configurationId",templateUrl:"app/salesforce/view/configuration/view/view.html",controller:"SalesforceViewConfigurationViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("SalesforceViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal","$filter","SalesforceAccount",function(a,b,c,d,e,f,g,h,i,j,k){a.initView=function(){return k.get({id:c.id}).$promise.then(function(b){a.account=b})["catch"](function(a){h.error(a)})},a.updateItem=function(){return k.update({id:c.id},a.account).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){h.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.view",{url:"/view/:id",templateUrl:"app/salesforce/view/view.html",controller:"SalesforceViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.salesforce.view.account",{url:"/account",templateUrl:"app/salesforce/view/view.account.html"})}]),angular.module("xCallyShuttleApp").controller("SalesforceWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.serverUrl=c.protocol()+"://"+location.host},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){console.log(a.item),b.post("api/salesforce/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/salesforce/list")}).error(function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.salesforce.wizard",{url:"/wizard",templateUrl:"app/salesforce/wizard/wizard.html",controller:"SalesforceWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.customization",{url:"/customization",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("CustomizationGeneralViewCtrl",["$scope","gridOptions","$uibModal","FileUploader","$cookieStore","xAlert","$translate","Setting","$rootScope",function(a,b,c,d,e,f,g,h,i){a.radioSwitch={isActive:i.license.custom?!0:!1,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"};var j=a.uploader=new d({url:"api/settings/logo/main",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(a,b){i.settings.logo=b.logo,f.show(g.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()};var k=a.uploader2=new d({url:"api/settings/logo/login",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});k.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),k.onSuccessItem=function(a,b){f.show(g.instant("MESSAGE_WELL_DONE"),"success")},k.onErrorItem=function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},k.onCompleteAll=function(){k.clearQueue()},a.initView=function(){return h.get({id:1}).$promise.then(function(b){a.settings={defaultLogo:b.defaultLogo,defaultLoginLogo:b.defaultLoginLogo,footerWhiteLabel:b.footerWhiteLabel,defaultFooterWhiteLabel:b.defaultFooterWhiteLabel}})["catch"](function(a){f.error(a)})},a.update=function(){return h.update({id:1},a.settings).$promise.then(function(b){_.merge(i.settings,a.settings),f.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.customization.view.general",{url:"/general",templateUrl:"app/setting/customization/view/general/general.html",controller:"CustomizationGeneralViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("CustomizationViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.customization.view",{url:"/view",templateUrl:"app/setting/customization/view/view.html",controller:"CustomizationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.general",{url:"/general",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("GeneralMainViewCtrl",["$scope","xAlert","$translate","Setting",function(a,b,c,d){a.initView=function(){return d.get({id:1}).$promise.then(function(b){a.settings={agi_port:b.agi_port,min_internal:b.min_internal,min_mailbox:b.min_mailbox,securePassword:b.securePassword}})["catch"](function(a){b.error(a)})},a.update=function(){return d.update({id:1},a.settings).$promise.then(function(a){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.general.view.main",{url:"/main",templateUrl:"app/setting/general/view/main/main.html",controller:"GeneralMainViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("GeneralViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.general.view",{url:"/view",templateUrl:"app/setting/general/view/view.html",controller:"GeneralViewCtrl"})}]),angular.module("xCallyShuttleApp").factory("License",["$resource",function(a){return a("/api/licenses/:id/:controller",{id:"@id"},{request:{method:"POST",params:{id:"request"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license",{url:"/license",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("LicenseUpdateCtrl",["$scope","$translate","$uibModalInstance","xAlert","Setting",function(a,b,c,d,e){a.form={},a.item={},a.getLicense=function(){return e.get({id:1}).$promise.then(function(b){a.item.license=b.license})["catch"](function(a){d.error(a)})},a.update=function(){return e.update({id:1},a.item).$promise.then(function(a){d.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){d.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").controller("LicenseViewCtrl",["$scope","$rootScope","$translate","License","xAlert","$window","$uibModal",function(a,b,c,d,e,f,g){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initView=function(){return d.get(function(b){a.item=b.license})},a.submitRequest=function(){return d.request(a.item,function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")},function(a){switch(a.status){case 304:e.show(a.statusText,"info");break;default:e.error(a)}})},a.updateLicense=function(){var a=g.open({animation:!0,templateUrl:"app/setting/license/view/update.modal.html",controller:"LicenseUpdateCtrl"});a.result.then(function(){f.location.reload()})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.license.view",{url:"/view",templateUrl:"app/setting/license/view/view.html",controller:"LicenseViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/pricing-tables.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Externip",["$resource",function(a){return a("/api/network/externips/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Localnet",["$resource",function(a){return a("/api/network/localnets/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network",{url:"/network",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ExternipCtrl",["$scope","$uibModal","gridOptions","Externip",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"network_externip.csv",columnDefs:[{name:"value"},{name:"action",buttons:[{"class":"blue-hoki",onClick:"grid.appScope.createItem(row.entity)",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(d,b,a)},a.createItem=function(c){var d=b.open({animation:!0,templateUrl:"app/setting/network/view/externip/externip.create.modal.html",controller:"ExternipCreateCtrl",resolve:{item:c}});d.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ExternipCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","Externip","xAlert","item",function(a,b,c,d,e,f,g){a.initModal=function(){a.form={},a.item=g||{},a.title=g?b.instant("APPLICATION_EDIT_EXTERNIP"):b.instant("APPLICATION_NEW_EXTERNIP")},a.save=function(){return g?e.update({id:a.item.id},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)}):e.save({},a.item).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network.view.externip",{url:"/externip",templateUrl:"app/setting/network/view/externip/externip.html",controller:"ExternipCtrl"})}]),angular.module("xCallyShuttleApp").controller("LocalnetCtrl",["$scope","gridOptions","Localnet","$uibModal",function(a,b,c,d){a.initView=function(){var d={exporterCsvFilename:"network_localnet.csv",columnDefs:[{name:"value"},{name:"action",buttons:[{"class":"blue-hoki",onClick:"grid.appScope.createItem(row.entity)",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=b.gridOptions(c,d,a)},a.createItem=function(b){var c=d.open({animation:!0,templateUrl:"app/setting/network/view/localnet/localnet.create.modal.html",controller:"LocalnetCreateCtrl",resolve:{item:b}});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("LocalnetCreateCtrl",["$scope","$translate","$uibModalInstance","$stateParams","Localnet","xAlert","item",function(a,b,c,d,e,f,g){a.initModal=function(){if(a.form={},a.item=g||{},a.title=g?b.instant("APPLICATION_EDIT_LOCALNET"):b.instant("APPLICATION_NEW_LOCALNET"),g&&g.value){var c=a.item.value.split("/");c.length>1&&(a.item.address=c[0],a.item.mask=c[1])}},a.save=function(){var d=a.item.address+"/"+a.item.mask;return g?e.update({id:a.item.id},{value:d}).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)}):e.save({},{value:d}).$promise.then(function(a){f.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){f.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network.view.localnet",{url:"/localnet",templateUrl:"app/setting/network/view/localnet/localnet.html",controller:"LocalnetCtrl"})}]),angular.module("xCallyShuttleApp").controller("NetworkViewCtrl",function(){}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.network.view",{url:"/view",templateUrl:"app/setting/network/view/view.html",controller:"NetworkViewCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting",{url:"/setting",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:18}}})}]),angular.module("xCallyShuttleApp").factory("Setting",["$resource",function(a){return a("/api/settings/:id/:controller/:param",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("Smtp",["$resource",function(a){return a("/api/mail/servers/out/:id/:controller/:controller2",{id:"@id"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp",{url:"/smtp",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SmtpViewCtrl",["$scope","$stateParams","$translate","socket","MailServerOut","Setting","MailAccount","xAlert",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.smtpDisabled=!1,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.CONST_TIMEOUT=3e4,a.item={account:{service:!0,MailServerOut:{ssl:!1}}},f.get({id:"smtp"}).$promise.then(function(b){a.item.account=b,d.socket.on("mail_server_out:state",function(b){Number(b.id)===a.item.account.MailServerOut.id&&(a.item.account.MailServerOut.state=b.state,a.item.account.MailServerOut.source=JSON.parse(b.source))})})["catch"](function(b){switch(console.log(b),b.status){case 404:a.item.account.name=null,a.item.account.address=null,a.item.account.MailServerOut={ssl:!1},h.show("Service SMTP server not configured.","info");break;default:h.error(b)}})},a.updateItem=function(){return a.item.account.id?(delete a.item.account.MailServerOut.state,delete a.item.account.MailServerOut.source,f.update({id:"smtp",controller:a.item.account.id},a.item.account).$promise.then(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})):f.save({id:"smtp"},{description:"Custom Account",name:a.item.account.name,address:a.item.account.address,service:a.item.account.service,custom:!0,MailServerOut:a.item.account.MailServerOut}).$promise.then(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.test=function(){return e.get({id:a.item.account.MailServerOut.id,controller:"test"}).$promise["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.smtp.view",{url:"/view",templateUrl:"app/setting/smtp/view/view.html",controller:"SmtpViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system",{url:"/system",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SystemViewConsoleCtrl",["$scope","Setting","xAlert","usSpinnerService","$timeout","$translate",function(a,b,c,d,e,f){function g(b){var c=_.findIndex(a.commandHistory.commands,function(a){return a===b});-1!==c&&a.commandHistory.commands.splice(c,1),a.commandHistory.commands.unshift(b)}a.output="<b>"+f.instant("APPLICATION_CONSOLE_WELCOME")+"</b><br/>",a.item={command:""},a.commandHistory={commands:[],index:-1},a.busy=!1,a.cmdFocus=function(){e(function(){angular.element("#command").trigger("focus")})},a.sendCmd=function(){return a.commandHistory.index=-1,a.tmp=a.item.command,a.item.command="",a.output+="<b>motion*CLI> "+a.tmp+"</b><br>",a.tmp?(g(a.tmp.trim()),a.busy=!0,d.spin("console-spinner"),b.save({controller:"asterisk"},{command:a.tmp}).$promise.then(function(b){a.output+=b.content.replace(/(?:\r\n|\r|\n)/g,"<br />").replace("Response: Follows<br />Privilege: Command<br />","").replace(/ActionID: .[0-9]*<br \/>/,"").replace(/ActionID: .[0-9]*/,"")+"<br>",d.stop("console-spinner"),a.busy=!1,a.cmdFocus()})["catch"](function(b){d.stop("console-spinner"),a.output+="command error:"+b.data.message+"<br>",a.busy=!1,a.cmdFocus()})):void 0},a.keyUp=function(b){switch(b.keyCode){case 40:a.commandHistory.commands[a.commandHistory.index-1]?a.item.command=a.commandHistory.commands[--a.commandHistory.index]:(a.item.command="",a.commandHistory.index=-1);break;case 38:a.commandHistory.commands[a.commandHistory.index+1]&&(a.item.command=a.commandHistory.commands[++a.commandHistory.index]);break;case 37:break;case 39:break;default:a.commandHistory.index=-1}},e(function(){angular.element("#command").trigger("focus"),d.stop("console-spinner")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view.console",{url:"/console",templateUrl:"app/setting/system/view/console/console.html",controller:"SystemViewConsoleCtrl"})}]),angular.module("xCallyShuttleApp").controller("SystemViewGeneralCtrl",["$scope","$stateParams","$translate","socket","Setting","xAlert","usSpinnerService",function(a,b,c,d,e,f,g){function h(b){a.system.memory={labels:_.keys(b.memory.details),values:_.values(_.map(b.memory.details,function(a){return Math.round(a/1024)})),Total:Math.round(b.memory.Total/1024)},g.stop("memory-spinner"),a.system.disks=[],_.forEach(b.disks,function(b){a.system.disks.push({mount:b.mount,size:Number((b.size/1048576).toFixed(2)),values:_.values(_.map(b.details,function(a){return Number((a/1048576).toFixed(2))})),labels:_.keys(b.details)})}),a.system.mount=a.system.disks[0],g.stop("disk-spinner"),a.system.cpu={motion:Math.round(b.cpu.motion),cores:[]},_.forEach(b.cpu.cores,function(b){delete b.nice,delete b.irq,a.system.cpu.cores.push({labels:_.keys(b),values:_.values(b),colours:["#803690","#DCDCDC","#00ADF9"]})}),g.stop("cpu-spinner")}a.system={mount:void 0},a.initView=function(){return g.spin("memory-spinner"),g.spin("disk-spinner"),g.spin("cpu-spinner"),e.get({controller:"system"}).$promise.then(function(a){h(a)})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view.general",{url:"/general",templateUrl:"app/setting/system/view/general/general.html",controller:"SystemViewGeneralCtrl"})}]),angular.module("xCallyShuttleApp").controller("SystemViewLogsCtrl",["$scope","$stateParams","$translate","socket","Setting","xAlert","usSpinnerService",function(a,b,c,d,e,f,g){a.initView=function(){return a.logs={errors:"",output:""},g.spin("logs-spinner"),e.get({controller:"logs"}).$promise.then(function(b){a.logs=b,g.stop("logs-spinner")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view.logs",{url:"/logs",templateUrl:"app/setting/system/view/logs/logs.html",controller:"SystemViewLogsCtrl"})}]),angular.module("xCallyShuttleApp").controller("SystemViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.system.view",{url:"/view",templateUrl:"app/setting/system/view/view.html",controller:"SystemViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("UpdateListCtrl",["$scope","gridOptions","$uibModal","$location","Update",function(a,b,c,d,e){a.initCounter=function(){a.$on("timer-stopped",function(a,b){console.log("Timer Stopped - data = ",b),d.path("/dashboard/voice")})},a.initView=function(){var c={exporterCsvFilename:"updates.csv",enableFiltering:!1,enableSorting:!1,enablePaginationControls:!1,enableSelectAll:!1,columnDefs:[{name:"message"},{width:125,name:"version",cellClass:"text-center ui-grid-vcenter"},{width:125,name:"createdAt",displayName:"APPLICATION_UPDATED_AT",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><span am-time-ago="row.entity.createdAt"></span></div>'}]};a.gridOptions=b.gridOptions(e,c,a)},a.pull=function(){c.open({animation:!0,templateUrl:"app/setting/update/list/list.pull.html",controller:"UpdateListPullCtrl"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates.list",{url:"/list",templateUrl:"app/setting/update/list/list.html",controller:"UpdateListCtrl"}).state("main.setting.updates.landing",{url:"/landing",templateUrl:"app/setting/update/list/landing.html",controller:"UpdateListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/error.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("UpdateListPullCtrl",["$scope","$uibModalInstance","$translate","$location","Update",function(a,b,c,d,e){a.modal={dismissable:!0,title:"Confirm Checkout",html:"Are you sure you want to checkout?",buttons:[{classes:"btn btn-success",text:"Checkout",click:function(){return e.pull().$promise["finally"](function(){b.dismiss("close"),d.path("/setting/updates/landing")})}},{classes:"btn default",text:"Cancel",click:function(){b.dismiss("cancel")}}]}}]),angular.module("xCallyShuttleApp").factory("Update",["$resource",function(a){return a("/api/updates/:id/:controller",{id:"@id"},{pull:{method:"GET",params:{id:"pull"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.setting.updates",{url:"/updates",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["hasUpdate"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCtrl",["$scope","$uibModal","$translate","SquareOdbc","gridOptions","xAlert",function(a,b,c,d,e,f){a.initView=function(){var b={exporterCsvFilename:"odbc.csv",columnDefs:[{name:"name"},{name:"dsn",displayName:"APPLICATION_ODBC"},{name:"description"},{name:"action",width:250,buttons:[{"class":"blue-hoki",href:"/square/odbc/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkConnection(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=e.gridOptions(d,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/square/odbc/list/list.create.modal.html",controller:"SquareOdbcListCreateCtrl"});c.result.then(function(){a.gridOptions.getPage()})},a.checkConnection=function(a){return d.get({id:a,controller:"check"}).$promise.then(function(){f.show(c.instant("MESSAGE_CONNECTION_VERIFIED"),"success")})["catch"](function(){f.show(c.instant("MESSAGE_CONNECTION_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCreateCtrl",["$scope","$translate","$uibModalInstance","SquareOdbc","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.item.dsn||(a.item.dsn="DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=password;DATABASE=motion"),a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbc.list",{url:"/list",templateUrl:"app/square/odbc/list/list.html",controller:"SquareOdbcListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbc",{url:"/odbc",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SquareOdbc",["$resource",function(a){return a("/api/square/odbc/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcViewCtrl",["$scope","$translate","$stateParams","SquareOdbc","xAlert",function(a,b,c,d,e){a.odbc={},a.getOdbc=function(){return d.get({id:c.id}).$promise.then(function(b){a.odbc=b})["catch"](function(a){e.error(a)})},a.updateOdbc=function(){var f=angular.copy(a.odbc);return d.update({id:c.id},f).$promise.then(function(){e.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbc.view",{url:"/view/:id",templateUrl:"app/square/odbc/view/view.html",controller:"SquareOdbcViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.square.odbc.view.settings",{url:"/settings",templateUrl:"app/square/odbc/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCtrl",["$scope","$uibModal","SquareProject","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"projects.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:160,buttons:[{"class":"blue-hoki",href:"/square/projects/view/{{row.entity.id}}",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/square/project/list/list.create.modal.html",controller:"SquareProjectListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCreateCtrl",["$scope","$translate","$uibModalInstance","SquareProject","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.list",{url:"/list",templateUrl:"app/square/project/list/list.html",controller:"SquareProjectListCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SquareProject",["$resource",function(a){return a("/api/square/projects/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SquareProjectViewCtrl",["$scope","$stateParams","Auth","xAlert","SquareProject","socket","$translate","$log","$uibModal",function(a,b,c,d,e,f,g,h,i){a.squareProject={},a.$on("$destroy",function(){f.unsyncUpdates("square_project")}),a.getProject=function(){return e.get({id:b.id}).$promise.then(function(b){a.squareProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!==a&&-1!==a.indexOf("Script error."));else{var e=new Image;e.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(f){d.error(f)}},b.token=c.getToken();var a=new EditorUi(new Editor);a.openString(b.preproduction,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),f.socket.on("square_project:save",function(c){c.id===b.id&&(a.squareProject=_.merge(a.squareProject,c))})})["catch"](function(a){d.error(a)})},a.editNotes=function(){var c=i.open({animation:!0,templateUrl:"app/square/project/view/projectNotes.modal.html",controller:["$scope","$uibModalInstance","notes",function(a,b,c){a.notes=c,a.close=function(){b.close(a.notes)},a.cancel=function(){b.dismiss("cancel")}}],resolve:{notes:{value:a.squareProject.notes}}});c.result.then(function(a){return e.update({id:b.id},{notes:a.value}).$promise.then(function(){d.show(g.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})},function(){h.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.view",{url:"/view/:id",templateUrl:"app/square/project/view/view.html",controller:"SquareProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/square/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/square/js/Editor.js","assets/plugins/square/js/Graph.js","assets/plugins/square/js/EditorUi.js","assets/plugins/square/js/Actions.js","assets/plugins/square/js/Menus.js","assets/plugins/square/js/Sidebar.js","assets/plugins/square/js/Toolbar.js","assets/plugins/square/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:14}}})}]),angular.module("xCallyShuttleApp").factory("ReportSquare",["$resource",function(a){return a("/api/report/square/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("ReportSquareDetail",["$resource",function(a){return a("/api/report/square/details/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SquareRealtimeViewGeneralCtrl",["$scope","$log","$uibModal","$translate","socket","xAlert","ReportSquare","usSpinnerService","$q","uiGridConstants",function(a,b,c,d,e,f,g,h,i,j){function k(b){return h.spin("spinner-grid"),g.get(m).$promise.then(function(b){a.gridOptions.totalItems=b.count,a.gridOptions.data=b.rows})["catch"](function(a){f.error(a)})["finally"](function(){b&&l(),h.stop("spinner-grid")})}function l(){e.socket.on("report_square:save",function(b){if(b.leaveAt){var c=_.remove(a.gridOptions.data,{id:b.id});c&&k()}else{var d=_.find(a.gridOptions.data,{id:b.id});if(!d&&a.gridOptions.data.length<m.limit){var e=_.clone(m);if(_.forEach(["offset","limit","controller","order"],function(a){delete e[a]}),_.isEmpty(e))a.gridOptions.data.push(b);else{var f=!0;_.forOwn(e,function(a,c){_.includes(b[c],a)||(f=!1)}),f&&a.gridOptions.data.push(b)}}}})}var m={controller:"realtime",offset:0,limit:25};a.moment=moment,a.init=function(){a.gridOptions={enableGridMenu:!0,headerCellFilter:"translate",enableHorizontalScrollbar:0,enableVerticalScrollbar:0,enableFiltering:!0,showGridFooter:!0,paginationPageSizes:[10,25,50,75],paginationPageSize:25,useExternalPagination:!0,useExternalSorting:!0,useExternalFiltering:!0,showTreeExpandNoChildren:!0,columnDefs:[{name:"uniqueid"},{name:"callerid"},{name:"extension"},{name:"project_name",displayName:"APPLICATION_PROJECT",headerCellFilter:"translate"},{name:"joinAt",displayName:"APPLICATION_ELAPSED_TIME",headerCellFilter:"translate",cellClass:"text-center ui-grid-vcenter",cellTemplate:'<div><timer start-time="grid.appScope.moment(row.entity.joinAt).unix()*1000">{{hhours}}:{{mminutes}}:{{sseconds}}</timer></div>',
+enableSorting:!1,enableColumnMenu:!1,enableFiltering:!1}],data:[],gridMenuTitleFilter:function(a){var b=i.defer();return b.resolve(d.instant(a)),b.promise},onRegisterApi:function(b){a.gridApi=b,a.gridApi.grid.registerDataChangeCallback(function(){n(a.gridApi.core.getVisibleRows(a.gridApi.grid).length)}),a.gridApi.core.on.sortChanged(a,function(a,b){0===b.length?m.order=null:m.order=b[0].name+" "+b[0].sort.direction.toUpperCase(),k()}),a.gridApi.pagination.on.paginationChanged(a,function(a,b){m.offset=(a-1)*b,m.limit=b,k()}),a.gridApi.core.on.filterChanged(a,function(){var a=this.grid;a.columns.forEach(function(a){a.filters[0].term?m[a.name]=a.filters[0].term:delete m[a.name]}),k()})}},k(!0)};var n=function(a){var b=a?30*a+130:270;angular.element(document.getElementsByClassName("ui-grid")[0]).css("height",b+"px"),angular.element(document.getElementsByClassName("ui-grid-viewport")).css("height",30*a+"px")};a.$on("$destroy",function(){e.unsyncUpdates("report_square")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.realtime.view.general",{url:"/general",templateUrl:"app/square/realtime/view/general/general.html",controller:"SquareRealtimeViewGeneralCtrl"})}]),angular.module("xCallyShuttleApp").controller("SquareRealtimeViewCtrl",["$scope",function(a){}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.realtime.view",{url:"/view",templateUrl:"app/square/realtime/view/view.html",controller:"SquareRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SquareRecordingListCtrl",["$scope","SquareRecording","gridOptions",function(a,b,c){a.SquareRecording=b;a.initView=function(){var d={exporterCsvFilename:"recordings.csv",rowHeight:30,columnDefs:[{name:"uniqueid"},{name:"callerid",displayName:"APPLICATION_CALLERIDNUM"},{name:"filename"},{name:"extension"},{name:"projectName",displayName:"APPLICATION_PROJECT"},{name:"audio",displayName:"",width:100,enableSorting:!1,enableFiltering:!1,cellClass:"ui-grid-vcenter",cellTemplate:"<div><audio-file-download data-ng-if=\"row.entity.savePath.split('.').pop() == 'wav'\" params=\"{id:row.entity.id,controller:'stream'}\" resource=\"grid.appScope.SquareRecording\"></audio-file-download><span data-ng-if=\"row.entity.value.split('.').pop() == 'gsm'\" title=\"{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}\">{{'MESSAGE_GSM_PREVIEW_NOT_SUPPORTED' | translate}}</span></div>"},{name:"action",width:80,buttons:[{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.filename || row.entity.uniqueid, row.entity.id)"},{directive:'<motion-file-download params="{id:row.entity.id,controller:\'stream\'}" resource="grid.appScope.SquareRecording" mimetype="audio/wav" btnclass="btn btn-xs blue-hoki" filename="(row.entity.filename || row.entity.uniqueid)+\'.wav\'"></motion-file-download>'}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.recordings.list",{url:"/list",templateUrl:"app/square/recording/list/list.html",controller:"SquareRecordingListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.recordings",{url:"/recordings",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("SquareRecording",["$resource",function(a){return a("/api/square/recordings/:id/:controller",{id:"@id"},{update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square",{url:"/square",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:14}}})}]),angular.module("xCallyShuttleApp").factory("Agent",["$resource",function(a){return a("/api/agents/:id/:controller/:controller1/:controller2/:controller3",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"},patch:{method:"PATCH"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}}})}]),angular.module("xCallyShuttleApp").controller("AgentListCtrl",["$scope","$timeout","Agent","Auth","gridOptions",function(a,b,c,d,e){a.initView=function(){a.Auth=d;var b={exporterCsvFilename:"agents.csv",columnDefs:[{name:"fullname"},{name:"name",displayName:"APPLICATION_USERNAME"},{name:"internal"},{name:"email"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/staff/agents/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-meadow",href:"/staff/agents/view/{{row.entity.id}}/queues/voice",name:"queues"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=e.gridOptions(c,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents.list",{url:"/list",templateUrl:"app/staff/agent/list/list.html",controller:"AgentListCtrl",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}}})}]),angular.module("xCallyShuttleApp").controller("AgentViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","Agent","FileUploader","Auth","MailQueue","User","VoiceQueue","ChatQueue","FaxQueue","SmsQueue","OpenChannelQueue","Setting",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.Auth=i,a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initVoiceQueues=function(){var a={},b={};return l.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{name:a.name}}),g.get({id:e.id,controller:"voice",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"voice",e.id,g)})["catch"](function(a){console.error(a)})},a.initChatQueues=function(){var a={},b={};return m.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"chat",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"chat",e.id,g)})["catch"](function(a){console.error(a)})},a.initMailQueues=function(){var a={},b={};return j.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"mail",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"mail",e.id,g)})["catch"](function(a){console.error(a)})},a.initSmsQueues=function(){var a={},b={};return o.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"sms",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"sms",e.id,g)})["catch"](function(a){console.error(a)})},a.initFaxQueues=function(){var a={},b={};return n.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"fax",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"fax",e.id,g)})["catch"](function(a){console.error(a)})},a.initOpenchannelQueues=function(){var a={},b={};return p.get().$promise.then(function(b){return a.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}}),g.get({id:e.id,controller:"openchannel",controller2:"queues"}).$promise}).then(function(a){b.queues=_.map(a.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a,b,"openchannel",e.id,g)})["catch"](function(a){console.error(a)})},a.updatePassword=function(){var b={newPassword:a.agent.newPwd};return i.isAdmin()?b.id=e.id:b.oldPassword=a.agent.currentPwd,k.changePassword(b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})};var r=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});r.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),r.onSuccessItem=function(b,e){a.agent.userpic=e.userpic,a.agent.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},r.onErrorItem=function(){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},r.onCompleteAll=function(){r.clearQueue()},a.initView=function(){return g.get({id:e.id}).$promise.then(function(b){return a.agent=b,a.agent.transport=a.agent.transport?a.agent.transport.split(","):[],a.agent.allow=a.agent.allow?a.agent.allow.split(";"):[],a.agent.nat=a.agent.nat?a.agent.nat.split(","):[],q.get({id:1}).$promise}).then(function(b){a.setting=b})["catch"](function(a){c.error(a)})},a.patchItem=function(){return g.update({id:e.id},{chatCapacity:a.agent.chatCapacity,mailCapacity:a.agent.mailCapacity,faxCapacity:a.agent.faxCapacity,smsCapacity:a.agent.smsCapacity,openchannelCapacity:a.agent.openchannelCapacity}).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})},a.updateItem=function(){var b=angular.copy(a.agent);return delete b.password,delete b.md5secret,b.transport=b.transport.join(","),b.allow=b.allow.join(";"),b.nat=b.nat.join(","),g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents.view",{url:"/view/:id",templateUrl:"app/staff/agent/view/view.html",controller:"AgentViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]},data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.account",{url:"/account",templateUrl:"app/staff/agent/view/view.account.html",data:{permissions:{only:["admin","user","agent"],redirectTo:"landing",id:4}},resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}}).state("main.staff.agents.view.voice",{url:"/voice",templateUrl:"app/staff/agent/view/view.voice.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.chat",{url:"/chat",templateUrl:"app/staff/agent/view/view.chat.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.mail",{url:"/mail",templateUrl:"app/staff/agent/view/view.mail.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.fax",{url:"/fax",templateUrl:"app/staff/agent/view/view.fax.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.sms",{url:"/sms",templateUrl:"app/staff/agent/view/view.sms.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.openchannel",{url:"/openchannel",templateUrl:"app/staff/agent/view/view.openchannel.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.motionbar",{url:"/motionbar",templateUrl:"app/staff/agent/view/view.motionbar.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}}}).state("main.staff.agents.view.queues",{url:"/queues",templateUrl:"app/staff/agent/view/view.queues.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:4}},cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.staff.agents.view.queues.voice",{url:"/voice",templateUrl:"app/staff/agent/view/view.queues.voice.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:7}}}).state("main.staff.agents.view.queues.chat",{url:"/chat",templateUrl:"app/staff/agent/view/view.queues.chat.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:8}}}).state("main.staff.agents.view.queues.mail",{url:"/mail",templateUrl:"app/staff/agent/view/view.queues.mail.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:9}}}).state("main.staff.agents.view.queues.fax",{url:"/fax",templateUrl:"app/staff/agent/view/view.queues.fax.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:10}}}).state("main.staff.agents.view.queues.sms",{url:"/sms",templateUrl:"app/staff/agent/view/view.queues.sms.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:11}}}).state("main.staff.agents.view.queues.openchannel",{url:"/openchannel",templateUrl:"app/staff/agent/view/view.queues.openchannel.html",data:{permissions:{only:["admin","user"],redirectTo:"landing",id:20}}})}]),angular.module("xCallyShuttleApp").controller("AgentWizardCtrl",["$scope","$rootScope","$location","$translate","$http","Agent","VoiceQueue","ChatQueue","MailQueue","SmsQueue","FaxQueue","OpenChannelQueue","Setting","xAlert","WizardHandler",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a.maxAmount=1e3,a._data={voice:{queues:[]},chat:{queues:[]},mail:{queues:[]},sms:{queues:[]},fax:{queues:[]},openchannel:{queues:[]}},a._agent=angular.copy(a._data),a.initVoiceQueues=function(){return g.get().$promise.then(function(b){a._data.voice.queues=_.map(b.rows,function(a){return{name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.voice,a._agent.voice,"voice",null,null)})["catch"](function(a){console.error(a)})},a.initChatQueues=function(){return h.get().$promise.then(function(b){a._data.chat.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.chat,a._agent.chat,"chat",null,null)})["catch"](function(a){console.error(a)})},a.initMailQueues=function(){return i.get().$promise.then(function(b){a._data.mail.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.mail,a._agent.mail,"mail",null,null)})["catch"](function(a){console.error(a)})},a.initSmsQueues=function(){return j.get().$promise.then(function(b){a._data.sms.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.sms,a._agent.sms,"sms",null,null)})["catch"](function(a){console.error(a)})},a.initFaxQueues=function(){return k.get().$promise.then(function(b){a._data.fax.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.fax,a._agent.fax,"fax",null,null)})["catch"](function(a){console.error(a)})},a.initOpenchannelQueues=function(){return l.get().$promise.then(function(b){a._data.openchannel.queues=_.map(b.rows,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindAgent(a._data.openchannel,a._agent.openchannel,"openchannel",null,null)})["catch"](function(a){console.error(a)})},a.forms={info:void 0,voice:void 0},a.item={role:"agent",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){o.wizard().next()},a.getAmount=function(){return m.get({controller:"internal",internal:a.item.minInternal}).$promise.then(function(b){a.item.minInternal=Number(b.value),a.maxAmount=b.range||1e3})["catch"](function(a){n.error(a)})},a.exitValidation=function(a){return a},a.getFirstFreeInternal=function(){return m.get({controller:"internal"}).$promise.then(function(b){return a.internal=b,a.item.internal=b.value,a.item.minInternal=b.value,a.maxAmount=b.range||1e3,m.get({id:1}).$promise}).then(function(b){a.setting=b})["catch"](function(a){n.error(a)})},a.createItem=function(){var b=angular.copy(a.item);return delete b.minInternal,b.transport&&(b.transport=b.transport.join(",")),a.item.allow&&(b.allow=b.allow.join(";")),b.channels=a._agent,f.save(b).$promise.then(function(){c.path("/staff/agents/list")})["catch"](function(a){console.log(a),n.error(a)})},a.createItems=function(){var b=angular.copy(a.item);return delete b.internal,b.transport&&(b.transport=b.transport.join(",")),b.allow&&(b.allow=b.allow.join(";")),f.save({id:"bulk"},b).$promise.then(function(){c.path("/staff/agents/list")})["catch"](function(a){console.log(a),n.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.agents.wizard",{url:"/wizard",templateUrl:"app/staff/agent/wizard/wizard.html",controller:"AgentWizardCtrl",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}},resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.staff.agents.bulk",{url:"/bulk",templateUrl:"app/staff/agent/wizard/wizard-bulk.html",controller:"AgentWizardCtrl",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff",{url:"/staff",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TeamCreateCtrl",["$scope","$uibModalInstance","Team","xAlert",function(a,b,c,d){a.form={},a.item={},a.ok=function(){return c.save(a.item).$promise.then(function(){b.close(a.item)})["catch"](function(a){d.error(a)})},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("TeamListCtrl",["$scope","Team","gridOptions","$uibModal",function(a,b,c,d){a.initView=function(){var d={exporterCsvFilename:"teams.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:100,buttons:[{"class":"{{row.entity.defaultEntry ? 'blue-hoki disabled' : 'blue-hoki'}}",href:"/staff/teams/view/{{row.entity.id}}/settings",name:"profile"},{"class":"{{row.entity.defaultEntry ? 'green-turquoise disabled' : 'green-turquoise'}}",name:"agents",href:"/staff/teams/view/{{row.entity.id}}/agents"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.createItem=function(){d.open({animation:!0,templateUrl:"app/staff/team/list/create.modal.html",controller:"TeamCreateCtrl"}).result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.teams.list",{url:"/list",templateUrl:"app/staff/team/list/list.html",controller:"TeamListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Team",["$resource",function(a){return a("/api/teams/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.teams",{url:"/teams",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").controller("TeamViewCtrl",["$scope","$http","$stateParams","$translate","Team","Agent","xAlert",function(a,b,c,d,e,f,g){var h=function(){return{select:function(b){return console.log("agents",b),e.save({id:a.team.id,controller:"agents"},{agents:b})},deselect:function(b){return e["delete"]({id:a.team.id,controller:"agents",agents:b})}}};a.initView=function(){return e.get({id:c.id}).$promise.then(function(b){a.team=b})["catch"](function(a){g.error(a)})},a.initAgents=function(){return f.get().$promise.then(function(b){return a.agents=b.rows,e.get({id:c.id,controller:"agents"}).$promise}).then(function(b){ComponentsDropdowns.bindTeam(_.map(b.rows,"id"),_.map(a.agents,function(a){return{id:a.id,name:a.name,fullname:a.fullname,internal:a.internal}}),h)})["catch"](function(a){g.error(a)})},a.updateItem=function(){var b=angular.copy(a.team);return e.update({id:c.id},b).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.teams.view",{url:"/view/:id",templateUrl:"app/staff/team/view/view.html",controller:"TeamViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.staff.teams.view.agents",{url:"/agents",templateUrl:"app/staff/team/view/view.agents.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]}])}]}}).state("main.staff.teams.view.settings",{url:"/settings",templateUrl:"app/staff/team/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TelephoneListCtrl",["$scope","Telephone","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"telephones.csv",columnDefs:[{name:"fullname"},{name:"name"},{name:"internal"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/staff/telephones/view/{{row.entity.id}}/account",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones.list",{url:"/list",templateUrl:"app/staff/telephone/list/list.html",controller:"TelephoneListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Telephone",["$resource",function(a){return a("/api/telephones/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones",{url:"/telephones",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").controller("TelephoneViewCtrl",["$scope","$http","$stateParams","$translate","$cookieStore","Auth","xAlert","Telephone",function(a,b,c,d,e,f,g,h){a.initView=function(){return a.Auth=f,a.forms={},h.get({id:c.id}).$promise.then(function(b){delete b.password,a.item=b,a.item.transport=a.item.transport?a.item.transport.split(","):[],a.item.allow=a.item.allow?a.item.allow.split(";"):[]})["catch"](function(a){g.error(a)})},a.updateItem=function(){var b=angular.copy(a.item);return b.transport=b.transport.join(","),b.allow=b.allow.join(";"),h.update(b).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})},a.updatePassword=function(){return h.update({password:a.item.password}).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones.view",{url:"/view/:id",templateUrl:"app/staff/telephone/view/view.html",controller:"TelephoneViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.staff.telephones.view.account",{url:"/account",templateUrl:"app/staff/telephone/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}}).state("main.staff.telephones.view.voice",{url:"/voice",templateUrl:"app/staff/telephone/view/view.voice.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("TelephoneWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert","$translate","Telephone","Setting",function(a,b,c,d,e,f,g,h){a.forms={},a.item={allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.getFirstFreeInternal=function(){return h.get({controller:"internal"}).$promise.then(function(b){a.item.internal=b.value})["catch"](function(a){e.error(a)})},a.createItem=function(){var b=angular.copy(a.item);return b.transport&&(b.transport=b.transport.join(",")),a.item.allow&&(b.allow=b.allow.join(";")),g.save(b).$promise.then(function(){c.path("/staff/telephones/list")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.telephones.wizard",{url:"/wizard",templateUrl:"app/staff/telephone/wizard/wizard.html",controller:"TelephoneWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UserListCtrl",["$scope","$timeout","User","Auth","gridOptions",function(a,b,c,d,e){function f(a){if(a){var b=_.words(a),c=_.map(b,function(a){return a?a[0]:""});return c.join("").toUpperCase()}return!1}a.getUserAvatar=function(a,c,d){b(function(){angular.element("#userImg"+a).avatar({useGravatar:!1,initials:d?[]:f(c),fallbackImage:"api/users/avatar/"+d,size:80})})},a.isAdmin=function(a){return"admin"===a},a.initView=function(){var b={exporterCsvFilename:"users.csv",columnDefs:[{name:"fullname"},{name:"name",displayName:"APPLICATION_USERNAME"},{name:"internal"},{name:"email"},{name:"description"},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/staff/users/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-meadow",href:"/staff/users/view/{{row.entity.id}}/permit/voice",name:"permits",hide:"grid.appScope.isAdmin(row.entity.role)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.fullname, row.entity.id)"}]}]};a.gridOptions=e.gridOptions(c,b,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users.list",{url:"/list",templateUrl:"app/staff/user/list/list.html",controller:"UserListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Module",["$resource",function(a){return a("/api/modules/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("User",["$resource",function(a){return a("/api/users/:id/:controller/:controller2/:controller3",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"},me:{method:"GET",params:{id:"me"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users",{url:"/users",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"landing"}}})}]),angular.module("xCallyShuttleApp").controller("UserViewCtrl",["$scope","$stateParams","$cookieStore","$translate","FileUploader","User","Auth","xAlert","MailQueue","VoiceQueue","ChatQueue","FaxQueue","SmsQueue","OpenChannelQueue","Team","Module","Setting",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){function r(b){var c=_.find(a.modules,{id:b.ModuleId});if(b.status===!0)c.status=!0;else{var d=_.filter(c.SubModules,{status:!0});d.length||(c.status=!1)}c.ModuleId&&r(c)}function s(a,b){a.forEach(function(a){a.status=b,a.SubModules&&a.SubModules.length&&s(a.SubModules,b)})}function t(a,b){b.forEach(function(b){_.find(a,{id:b.id})?b.status=!0:b.status=!1,b.SubModules&&b.SubModules.length&&t(a,b.SubModules)})}function u(a,b){return a=_.union(a,_.map(_.filter(b,{status:!0}),"id")),b.forEach(function(b){b.SubModules&&b.SubModules.length&&(a=_.union(a,u(a,b.SubModules)))}),a}a.Auth=g,a._=_,a.moduleSwitch={onText:"On",offText:"Off",isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initVoiceQueues=function(){var a={},c={};return j.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"voice",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"voice",b.id,f)})["catch"](function(a){console.error(a)})},a.initChatQueues=function(){var a={},c={};return k.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"chat",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"chat",b.id,f)})["catch"](function(a){console.error(a)})},a.initMailQueues=function(){var a={},c={};return i.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"mail",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"mail",b.id,f)})["catch"](function(a){console.error(a)})},a.initSmsQueues=function(){var a={},c={};return m.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"sms",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"sms",b.id,f)})["catch"](function(a){console.error(a)})},a.initFaxQueues=function(){var a={},c={};return l.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"fax",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"fax",b.id,f)})["catch"](function(a){console.error(a)})},a.initOpenchannelQueues=function(){var a={},c={};return n.get().$promise.then(function(c){return a.queues=_.map(c.rows,function(a){return{id:a.id,name:a.name}}),f.query({id:b.id,controller:"allowed",controller2:"openchannel",controller3:"queues"}).$promise}).then(function(a){c.queues=_.map(a,function(a){
+return{id:a.id,name:a.name}})}).then(function(){ComponentsDropdowns.bindPermit(a,c,"openchannel",b.id,f)})["catch"](function(a){console.error(a)})},a.initView=function(){return f.get({id:b.id}).$promise.then(function(b){return a.user=b,a.user.transport=a.user.transport?a.user.transport.split(","):[],a.user.allow=a.user.allow?a.user.allow.split(";"):[],q.get({id:1}).$promise}).then(function(b){a.setting=b})["catch"](function(a){h.error(a)})},a.updateItem=function(){var c=angular.copy(a.user);return delete c.password,delete c.md5secret,c.transport=c.transport.join(","),c.allow=c.allow.join(";"),f.update({id:b.id},c).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},a.updatePassword=function(){var c={newPassword:a.user.newPwd};return g.isAdmin()?c.id=b.id:c.oldPassword=a.user.currentPwd,f.changePassword(c).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})};var v=a.uploader=new e({url:"api/users/"+b.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+c.get("token")}});v.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),a.getModules=function(){return a.associatedModules=[],p.get().$promise.then(function(c){return a.modules=_.filter(c.rows,function(a){return!a.ModuleId}),f.query({id:b.id,controller:"allowed",controller2:"modules"}).$promise}).then(function(b){t(b,a.modules)})["catch"](function(a){h.error(a)})},a.updatePermissions=function(c){c.ModuleId&&r(c),c.SubModules&&c.SubModules.length&&s(c.SubModules,c.status);var e=u([],a.modules);return f.save({id:b.id,controller:"allowed",controller2:"modules"},{modules:e}).$promise.then(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){h.error(a)})},v.onSuccessItem=function(b,c){a.user.userpic=c.userpic,a.user.id===g.getCurrentUser().id&&(g.getCurrentUser().userpic=c.userpic),h.show(d.instant("MESSAGE_WELL_DONE"),"success")},v.onErrorItem=function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},v.onCompleteAll=function(){v.clearQueue()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users.view",{url:"/view/:id",templateUrl:"app/staff/user/view/view.html",controller:"UserViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.staff.users.view.account",{url:"/account",templateUrl:"app/staff/user/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}}).state("main.staff.users.view.voice",{url:"/voice",templateUrl:"app/staff/user/view/view.voice.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}}).state("main.staff.users.view.permit",{url:"/permit",templateUrl:"app/staff/user/view/view.permit.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}},cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/plugins/jquery-quicksearch/jquery.quicksearch.js","assets/scripts/components-dropdowns.js"]})}]}}).state("main.staff.users.view.permit.voice",{url:"/voice",templateUrl:"app/staff/user/view/view.permit.voice.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}}).state("main.staff.users.view.permit.chat",{url:"/chat",templateUrl:"app/staff/user/view/view.permit.chat.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.chat"}}}).state("main.staff.users.view.permit.mail",{url:"/mail",templateUrl:"app/staff/user/view/view.permit.mail.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.mail"}}}).state("main.staff.users.view.permit.fax",{url:"/fax",templateUrl:"app/staff/user/view/view.permit.fax.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.fax"}}}).state("main.staff.users.view.permit.sms",{url:"/sms",templateUrl:"app/staff/user/view/view.permit.sms.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.sms"}}}).state("main.staff.users.view.permit.openchannel",{url:"/openchannel",templateUrl:"app/staff/user/view/view.permit.openchannel.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.openchannel"}}}).state("main.staff.users.view.permit.modules",{url:"/modules",templateUrl:"app/staff/user/view/view.permit.modules.html",data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").controller("UserWizardCtrl",["$scope","$location","WizardHandler","xAlert","$translate","User","Setting","Auth",function(a,b,c,d,e,f,g,h){a.initWizard=function(){return a.Auht=h,a.forms={info:void 0,voice:void 0},a.item={role:"user",host:"dynamic",context:"from-sip"},g.get({controller:"internal"}).$promise.then(function(b){a.item.internal=b.value})["catch"](function(a){d.error(a)})},a.next=function(){c.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){return f.save(a.item).$promise.then(function(){b.path("/staff/users/list")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.staff.users.wizard",{url:"/wizard",templateUrl:"app/staff/user/wizard/wizard.html",controller:"UserWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SugarcrmListCtrl",["$scope","SugarcrmAccount","gridOptions","xAlert","$translate","Modal",function(a,b,c,d,e,f){a.initView=function(){var d={exporterCsvFilename:"sugarcrm_account.csv",columnDefs:[{name:"name",displayName:"APPLICATION_NAME"},{name:"username"},{name:"remoteUri",displayName:"APPLICATION_REMOTE_ADDRESS"},{name:"action",width:250,buttons:[{"class":"blue-hoki",href:"/sugarcrm/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.checkAccount=function(a){return b.get({id:a,controller:"check"}).$promise.then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(a){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.list",{url:"/list",templateUrl:"app/sugarcrm/list/list.html",controller:"SugarcrmListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm",{url:"/sugarcrm",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin"],redirectTo:"main.dashboard.voice"}}})}]),angular.module("xCallyShuttleApp").factory("SugarcrmAccount",["$resource",function(a){return a("/api/sugarcrm/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SugarcrmConfiguration",["$resource",function(a){return a("/api/sugarcrm/configurations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").factory("SugarcrmField",["$resource",function(a){return a("/api/sugarcrm/fields/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").controller("SugarcrmViewCtrl",["$scope","$http","$stateParams","$translate","$location","$filter","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){h.unsyncUpdates("sugarcrm_configuration"),h.unsyncUpdates("sugarcrm_field")}),a.initView=function(){b.get("/api/sugarcrm/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){i.error(a)})},a.updateItem=function(){b.put("/api/sugarcrm/accounts/"+c.id,a.account).success(function(){i.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/sugarcrm/configurations",{params:{AccountId:c.id}}).success(function(b){a.configurations=b,h.socket.on("sugarcrm_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){i.error(a)})},a.deleteConfiguration=j.confirm["delete"](function(a){b["delete"]("api/sugarcrm/configurations/"+a).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.AccountId=c.id,b.post("api/sugarcrm/configurations",a.configuration).success(function(a){e.path("sugarcrm/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){i.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/sugarcrm/accounts/"+c.id+"/fields").success(function(b){a.accountFields=_.sortByOrder(f("sugarcrm")(_.toArray(b)),"name","asc"),_.forEach(b,function(a){a.options=_.toArray(a.options)})}).error(function(a){i.error(a)})},a.getConfiguration=function(){b.get("/api/sugarcrm/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,h.socket.on("sugarcrm_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){i.error(a)})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){i.error(a)})},a.removeItem=function(a){b["delete"]("api/sugarcrm/fields/"+a.id).success(function(){i.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/sugarcrm/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){i.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/sugarcrm/fields/"+a.id,a).success(function(){}).error(function(){i.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"name",b);return c?c.options.length>0?c.options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.view",{url:"/view/:id",templateUrl:"app/sugarcrm/view/view.html",controller:"SugarcrmViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.sugarcrm.view.account",{url:"/account",templateUrl:"app/sugarcrm/view/view.account.html"}).state("main.sugarcrm.view.configurations",{url:"/configurations",templateUrl:"app/sugarcrm/view/view.configurations.html"}).state("main.sugarcrm.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/sugarcrm/view/view.configurationSettings.html",controller:"SugarcrmViewCtrl"}).state("main.sugarcrm.view.configuration",{url:"/configuration",templateUrl:"app/sugarcrm/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("SugarcrmkWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={}},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/sugarcrm/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/sugarcrm/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sugarcrm.wizard",{url:"/wizard",templateUrl:"app/sugarcrm/wizard/wizard.html",controller:"SugarcrmkWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("CannedAnswer",["$resource",function(a){return a("/api/answers/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.answers",{url:"/answers",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("AnswerListCtrl",["$scope","$uibModal","CannedAnswer","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"answers.csv",columnDefs:[{name:"key",displayName:"APPLICATION_NAME"},{name:"value"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/answers/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.key, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){b.open({animation:!0,templateUrl:"app/tools/answer/list/list.create.modal.html",controller:"AnswerListCreateCtrl"}).result.then(function(b){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("AnswerListCreateCtrl",["$scope","$translate","$uibModalInstance","CannedAnswer","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.answers.list",{url:"/list",templateUrl:"app/tools/answer/list/list.html",controller:"AnswerListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AnswerViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location","CannedAnswer",function(a,b,c,d,e,f,g){a.getAnswer=function(){return g.get({id:e.id}).$promise.then(function(b){a.answer=b})["catch"](function(a){c.error(a)})},a.updateAnswer=function(){var b=angular.copy(a.answer);return g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.answers.view",{url:"/view/:id",templateUrl:"app/tools/answer/view/view.html",controller:"AnswerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.answers.view.settings",{url:"/settings",templateUrl:"app/tools/answer/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("Automation",["$resource",function(a){return a("/api/automations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("AutomationListCtrl",["$scope","$http","$translate","xAlert","Automation","gridOptions",function(a,b,c,d,e,f){a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){var b={exporterCsvFilename:"Automations.csv",columnDefs:[{name:"name"},{name:"description"},{name:"channel"},{name:"status",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.status" type="checkbox" switch-active="{{ grid.appScope.isActive }}" switch-on-text="{{ grid.appScope.onText }}" switch-off-text="{{ grid.appScope.offText }}" switch-on-color="{{ grid.appScope.onColor }}" switch-off-color="{{ grid.appScope.offColor }}" switch-animate="{{ grid.appScope.animate }}" switch-size="{{ grid.appScope.size }}" switch-label="{{ grid.appScope.label }}" switch-icon="{{ grid.appScope.icon }}" switch-radio-off="{{ grid.appScope.radioOff }}" switch-label-width="{{ grid.appScope.labelWidth }}" switch-handle-width="{{ grid.appScope.handleWidth }}"></div>',width:100,enableFiltering:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/automations/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=f.gridOptions(e,b,a)},a.updateItem=function(a){return e.update({id:a.id},a).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations.list",{url:"/list",templateUrl:"app/tools/automation/list/list.html",controller:"AutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AutomationViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","automations","Automation","$location",function(a,b,c,d,e,f,g,h){a.$automations=f,a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.forms={general:{}},a.addCondition=function(b){a.automation[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.automation[b].splice(c,1)},a.addAction=function(){a.automation.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.automation.Actions.splice(b,1)},a.initView=function(){return g.get({id:b.id}).$promise.then(function(b){a.automation=b})["catch"](function(a){e.error(a),h.path("/tools/automations/list")})},a.updateAutomation=function(){return g.update({id:b.id},a.automation).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),e.error(a)})},a.exitValidation=function(b){return console.log(b&&(a.automation.All.length||a.automation.Any.length)&&a.automation.Actions.length),b&&(a.automation.All.length||a.automation.Any.length)&&a.automation.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations.view",{url:"/view/:id",templateUrl:"app/tools/automation/view/view.html",controller:"AutomationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.tools.automations.view.settings",{url:"/settings",templateUrl:"app/tools/automation/view/view.settings.html"}).state("main.tools.automations.view.routes",{url:"/routes",templateUrl:"app/tools/automation/view/view.routes.html"}).state("main.tools.automations.view.application",{url:"/application",templateUrl:"app/tools/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("AutomationWizardCtrl",["$scope","$http","$location","xAlert","automations","WizardHandler","Automation",function(a,b,c,d,e,f,g){a.$automations=e,a.statusSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={All:[],Any:[],Actions:[]},a.forms={general:void 0,settings:void 0},a.addCondition=function(b){a.item[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.item[b].splice(c,1)},a.addAction=function(){a.item.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.item.Actions.splice(b,1)},a.$watch("item.channel",function(b,c){c&&(a.tempData[c].All=_.clone(a.item.All,!0),a.tempData[c].Any=_.clone(a.item.Any,!0),a.tempData[c].Actions=_.clone(a.item.Actions,!0)),a.item.All=a.tempData[b].All?a.tempData[b].All:[],a.item.Any=a.tempData[b].Any?a.tempData[b].Any:[],a.item.Actions=a.tempData[b].Actions?a.tempData[b].Actions:[]},!0),a.item.channel="mail",a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/tools/automations/list")})["catch"](function(a){console.error(a),d.error(a)})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a},a.exitSettingsValidation=function(b){return b&&(a.item.All.length||a.item.Any.length)&&a.item.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.automations.wizard",{url:"/wizard",templateUrl:"app/tools/automation/wizard/wizard.html",controller:"AutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("Interval",["$resource",function(a){return a("/api/intervals/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.intervals",{url:"/intervals",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("IntervalListCtrl",["$scope","$uibModal","Interval","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"intervals.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/intervals/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/tools/interval/list/list.create.modal.html",controller:"IntervalListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("IntervalListCreateCtrl",["$scope","$translate","$uibModalInstance","Interval","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.intervals.list",{url:"/list",templateUrl:"app/tools/interval/list/list.html",controller:"IntervalListCtrl"})}]),angular.module("xCallyShuttleApp").controller("IntervalViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","interval",function(a,b,c,d,e,f,g,h,i,j){function k(b){var c,d,e,f;c=b.t_from&&b.t_to&&!b.alwaysTime?moment(b.t_from).format("HH:mm")+"-"+moment(b.t_to).format("HH:mm"):"*",b.wd_from&&"always"!==b.wd_from?(d=b.wd_from,b.wd_to&&"always"!==b.wd_to&&(d+="-"+b.wd_to)):d="*",b.md_from&&"always"!==b.md_from?(e=b.md_from,b.md_to&&"always"!==b.md_to&&(e+="-"+b.md_to)):e="*",b.m_from&&"always"!==b.m_from?(f=b.m_from,b.m_to&&"always"!==b.m_to&&(f+="-"+b.m_to)):f="*",void 0!==a.selectedSubInterval?a.interval.SubIntervals[a.selectedSubInterval].interval=c+","+d+","+e+","+f:a.subinterval.interval=c+","+d+","+e+","+f}a.$translate=d,a.$interval=j.interval,a.selectedSubInterval=void 0,a.gridOptions={columnDefs:[{name:"name",displayName:"APPLICATION_NAME",headerCellFilter:"translate"},{name:"interval",displayName:"APPLICATION_INTERVAL",headerCellFilter:"translate"},{name:"action",displayName:"APPLICATION_ACTION",headerCellFilter:"translate",width:125,cellTemplate:'<a class="btn btn-xs blue-hoki" data-ng-click="grid.appScope.openSubInterval(grid.appScope.gridOptions.data.indexOf(row.entity))">{{\'APPLICATION_SETTINGS\' | translate}}</a><a class="btn btn-xs red-sunglo" data-ng-click="grid.appScope.deleteSubInterval(row.entity.name+\' interval\', grid.appScope.gridOptions.data.indexOf(row.entity))">{{\'APPLICATION_DELETE\' | translate}}</a>'}]},a.forms={subinterval:void 0,general:void 0},a.initSubInterval=function(b){b&&(a.selectedSubInterval=void 0),a.subinterval={},a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0}},a.next=function(){h.wizard().next()},a.previous=function(){h.wizard().previous()},a.exitValidation=function(a){return a},a.deselectAndRedirect=function(b){a.selectedSubInterval=void 0,g.path(b)},a.getInterval=function(){b.get("/api/intervals/"+e.id).success(function(b){a.interval=b,a.gridOptions.data=b.SubIntervals}).error(function(a){console.error(a),g.path("/tools/intervals/list")})},a.openSubInterval=function(b){a.selectedSubInterval=b,g.path("/tools/intervals/view/"+e.id+"/subintervals/settings")},a.updateInterval=function(f){a.selectedSubInterval=void 0,b.put("/api/intervals/"+e.id,a.interval).success(function(){a.getInterval(),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),f&&g.path("/tools/intervals/view/"+e.id+"/"+f)}).error(function(a){c.error(a)})},a.getSubInterval=function(){void 0===a.selectedSubInterval&&g.path("/tools/intervals/list"),a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date)};var b,c=a.interval.SubIntervals[a.selectedSubInterval]?a.interval.SubIntervals[a.selectedSubInterval].interval.split(","):["*","*","*","*"];c.forEach(function(c,d){switch(d){case 0:"*"!==c?(b=c.split("-"),a.splittedInterval.t_from=moment(b[0],"HH:mm"),a.splittedInterval.t_to=moment(b[1],"HH:mm"),a.splittedInterval.alwaysTime=!1):(a.splittedInterval.t_from=moment(new Date),a.splittedInterval.t_to=moment(new Date),a.splittedInterval.alwaysTime=!0);break;case 1:"*"!==c?(b=c.split("-"),a.splittedInterval.wd_from=b[0],a.splittedInterval.wd_to=b[1]?b[1]:"always"):(a.splittedInterval.wd_from="always",a.splittedInterval.wd_to="always");break;case 2:"*"!==c?(b=c.split("-"),a.splittedInterval.md_from=b[0],a.splittedInterval.md_to=b[1]?b[1]:"always"):(a.splittedInterval.md_from="always",a.splittedInterval.md_to="always");break;case 3:"*"!==c?(b=c.split("-"),a.splittedInterval.m_from=b[0],a.splittedInterval.m_to=b[1]?b[1]:"always"):(a.splittedInterval.m_from="always",a.splittedInterval.m_to="always")}})},a.$watch("splittedInterval",function(a){a&&k(a)},!0),a.addSubInterval=function(){a.interval.SubIntervals.push(a.subinterval),a.updateInterval("subintervals")},a.deleteSubInterval=i.confirm["delete"](function(b){a.interval.SubIntervals.splice(b,1),a.updateInterval()})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.intervals.view",{url:"/view/:id",templateUrl:"app/tools/interval/view/view.html",controller:"IntervalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.intervals.view.settings",{url:"/settings",templateUrl:"app/tools/interval/view/view.settings.html"}).state("main.tools.intervals.view.subintervals",{url:"/subintervals",templateUrl:"app/tools/interval/view/view.subintervals.html"}).state("main.tools.intervals.view.subinterval",{url:"/subinterval",templateUrl:"app/tools/interval/view/view.subinterval.html"}).state("main.tools.intervals.view.subintervals.settings",{url:"/settings",templateUrl:"app/tools/interval/view/view.subintervalSettings.html"})}]),angular.module("xCallyShuttleApp").controller("PauseListCtrl",["$scope","$log","$uibModal","$translate","Pause","gridOptions",function(a,b,c,d,e,f){a.initView=function(){var b={exporterCsvFilename:"pauses.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/pauses/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=f.gridOptions(e,b,a)},a.createItem=function(){var b=c.open({animation:!0,templateUrl:"app/tools/pause/list/list.create.modal.html",controller:"PauseListCreateCtrl"});b.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("PauseListCreateCtrl",["$scope","$translate","$uibModalInstance","Pause","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.pauses.list",{url:"/list",templateUrl:"app/tools/pause/list/list.html",controller:"PauseListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Pause",["$resource",function(a){return a("/api/pauses/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.pauses",{url:"/pauses",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("PauseViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location","Pause",function(a,b,c,d,e,f,g){a.getPause=function(){return g.get({id:e.id}).$promise.then(function(b){a.pause=b})["catch"](function(a){c.error(a)})},a.updatePause=function(){var b=angular.copy(a.pause);return g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.pauses.view",{url:"/view/:id",templateUrl:"app/tools/pause/view/view.html",controller:"PauseViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]
+}])}]}}).state("main.tools.pauses.view.settings",{url:"/settings",templateUrl:"app/tools/pause/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SchedulerListCtrl",["$scope","Scheduler","gridOptions","xAlert","$translate","socket",function(a,b,c,d,e,f){a._=_,a.switches={isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.scheduleTypes=[{name:"APPLICATION_REPORT_EXTRACTION",value:"report"},{name:"APPLICATION_HISTORY_MOVE",value:"history"},{name:"APPLICATION_DB_BACKUP",value:"backup"}],a.initView=function(){var d={exporterCsvFilename:"Schedules.csv",columnDefs:[{name:"name"},{name:"type",cellTemplate:'<div class="centered-uigrid-td">{{grid.appScope._.find(grid.appScope.scheduleTypes,{value:row.entity.type}).name | translate}}</div>'},{name:"description"},{name:"active",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.active" type="checkbox" switch-active="{{ grid.appScope.switches.isActive }}" switch-on-text="{{ \'APPLICATION_YES\' | translate }}" switch-off-text="{{ \'APPLICATION_NO\' | translate }}" switch-on-color="{{ grid.appScope.switches.onColor }}" switch-off-color="{{ grid.appScope.switches.offColor }}" switch-animate="{{ grid.appScope.switches.animate }}" switch-size="{{ grid.appScope.switches.size }}" switch-label="{{ grid.appScope.switches.label }}" switch-icon="{{ grid.appScope.switches.icon }}" switch-radio-off="{{ grid.appScope.switches.radioOff }}" switch-label-width="{{ grid.appScope.switches.labelWidth }}" switch-handle-width="{{ grid.appScope.switches.handleWidth }}"></div>',enableFiltering:!1,enableSorting:!1},{name:"sendMail",displayName:"APPLICATION_SEND_MAIL",cellTemplate:'<div data-ng-if="row.entity.type == \'report\'" class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.sendMail" type="checkbox" switch-active="{{ grid.appScope.switches.isActive }}" switch-on-text="{{ \'APPLICATION_YES\' | translate }}" switch-off-text="{{ \'APPLICATION_NO\' | translate }}" switch-on-color="{{ grid.appScope.switches.onColor }}" switch-off-color="{{ grid.appScope.switches.offColor }}" switch-animate="{{ grid.appScope.switches.animate }}" switch-size="{{ grid.appScope.switches.size }}" switch-label="{{ grid.appScope.switches.label }}" switch-icon="{{ grid.appScope.switches.icon }}" switch-radio-off="{{ grid.appScope.switches.radioOff }}" switch-label-width="{{ grid.appScope.switches.labelWidth }}" switch-handle-width="{{ grid.appScope.switches.handleWidth }}"></div>',enableFiltering:!1,enableSorting:!1},{name:"action",width:100,buttons:[{"class":"blue-hoki",href:"/tools/scheduler/view/{{row.entity.id}}/settings",name:"settings"},{"class":"green-turquoise",name:"run",onClick:"grid.appScope.runSchedule(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.updateItem=function(a){return b.update({id:a.id},a).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})},a.runSchedule=function(a){return b.get({id:a,controller:"run"}).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler.list",{url:"/list",templateUrl:"app/tools/scheduler/list/list.html",controller:"SchedulerListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Scheduler",["$resource",function(a){return a("/api/scheduler/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler",{url:"/scheduler",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("SchedulerViewCtrl",["$scope","xAlert","$translate","$stateParams","socket","$location","ReportTree","Scheduler","DefaultReport","CustomReport","$timeout","MailServerOut",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){switch(a.schedule.cronType=a.rangeExec.type,a.rangeExec.type){case"daily":a.schedule.cron="00 "+a.rangeExec.hour+" * * *";break;case"weekly":a.schedule.cron="00 "+a.rangeExec.hour+" * * "+a.rangeExec.weekDays.join(",");break;case"monthly":a.schedule.cron="00 "+a.rangeExec.hour+" "+a.rangeExec.monthDay+" * *"}}function n(b){var c;switch(b.cronType){case"daily":a.rangeExec.hour=Number(b.cron.split(" ")[1]),a.rangeExec.type=b.cronType;break;case"weekly":c=b.cron.split(" "),a.rangeExec.hour=Number(c[1]),c[4].split(",").forEach(function(b){a.rangeExec.weekDays.push(Number(b))}),a.rangeExec.type=b.cronType;break;case"monthly":c=b.cron.split(" "),a.rangeExec.hour=Number(c[1]),a.rangeExec.monthDay=Number(c[2]),a.rangeExec.type=b.cronType;break;case"currentDay":a.switchValues.today=!0}a.$watch("rangeExec",function(b){a.switchValues.today||m()},!0)}a.forms={},a.rangeExec={weekDays:[],monthDay:null,hour:0,type:null},a.initReports=function(){var c;return a.reports=[],a.tempTodayCron=null,g.query().$promise.then(function(b){return a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),i.get().$promise}).then(function(b){return a.defRep=b.rows,a.defRep.length&&_.forEach(a.defRep,function(b){c=_.find(a.defaultTreeData,{id:b.parent}),c&&(b.parent="Motion Reports - "+c.text,b.type="default")}),j.get().$promise}).then(function(b){return a.cusRep=b.rows,a.cusRep.length&&_.forEach(a.cusRep,function(b){c=_.find(a.customTreeData,{id:b.parent}),c&&(b.parent="Custom Reports - "+c.text,b.type="custom")}),l.get().$promise}).then(function(b){a.mailServers=b.rows;var c=_.find(a.mailServers,{MailAccountId:null});c&&(c.username+=" (custom)")})["catch"](function(a){b.error(a)})},a.initView=function(){return h.get({id:d.id}).$promise.then(function(b){a.schedule=b,n(b)}).then(function(){e.socket.on("schedule:update",function(b){a.schedule.id===b.id&&(a.schedule.active=b.active,a.schedule.sendMail=b.sendMail)})})["catch"](function(a){console.error(a),f.path("/tools/scheduler/list")})},a.refreshSlider=function(){k(function(){a.$broadcast("rzSliderForceRender"),a.refreshSlider=null})},a.monthDays=function(){for(var a=[],b=1;31>=b;b++)a.push(b);return a}(),a.hours=function(){for(var a=[],b=0;23>=b;b++)a.push(b);return a}(),a.setReportTree=function(b){a.schedule.reportType=b.type},a.validitySlider={ceil:24,floor:0,showTicks:!0},a.switchValues={today:!1},a.switches={isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.scheduleTypes=[{name:"APPLICATION_REPORT_EXTRACTION",value:"report"}],a.todayCron=[{name:"15 min",value:"*/15 * * * *"},{name:"30 min",value:"*/30 * * * *"},{name:"1 h",value:"0 * * * *"}],a.reportRanges=[{name:"APPLICATION_PREVIOUS_DAY",value:"yesterday"},{name:"APPLICATION_LAST_SEVEN_DAYS",value:"last7"},{name:"APPLICATION_LAST_THIRTY_DAYS",value:"last30"},{name:"APPLICATION_LAST_MONTH",value:"lastMonth"}],a.cronTypes=[{name:"APPLICATION_DAY",value:"daily"},{name:"APPLICATION_WEEK",value:"weekly"},{name:"APPLICATION_MONTH",value:"monthly"}],a.weekDays=[{name:"APPLICATION_MONDAY",value:1},{name:"APPLICATION_TUESDAY",value:2},{name:"APPLICATION_WEDNESDAY",value:3},{name:"APPLICATION_THURSDAY",value:4},{name:"APPLICATION_FRIDAY",value:5},{name:"APPLICATION_SATURDAY",value:6},{name:"APPLICATION_SUNDAY",value:0}],a.checkToday=function(){a.switchValues.today?(a.schedule.cron=angular.copy(a.tempTodayCron),a.schedule.cronType="currentDay"):(a.tempTodayCron=angular.copy(a.schedule.cron),a.schedule.cron=void 0,m())},a.updateSchedule=function(){return h.update({id:a.schedule.id},a.schedule).$promise.then(function(){b.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),b.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler.view",{url:"/view/:id",templateUrl:"app/tools/scheduler/view/view.html",controller:"SchedulerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.scheduler.view.settings",{url:"/settings",templateUrl:"app/tools/scheduler/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SchedulerWizardCtrl",["$scope","WizardHandler","$location","xAlert","Scheduler","ReportTree","$translate","DefaultReport","CustomReport","MailServerOut",function(a,b,c,d,e,f,g,h,i,j){function k(){switch(a.item.cronType=a.rangeExec.type,a.rangeExec.type){case"daily":a.item.cron="00 "+a.rangeExec.hour+" * * *";break;case"weekly":a.item.cron="00 "+a.rangeExec.hour+" * * "+a.rangeExec.weekDays.join(",");break;case"monthly":a.item.cron="00 "+a.rangeExec.hour+" "+a.rangeExec.monthDay+" * *"}}a.forms={},a.item={validityStart:8,validityEnd:16,type:"report",reportType:"default"},a.initReports=function(){a.reports=[];var b;return f.query().$promise.then(function(b){return a.defaultTreeData=JSON.parse(b[0].tree),a.customTreeData=JSON.parse(b[1].tree),h.get().$promise}).then(function(c){return a.defRep=c.rows,a.defRep.length&&_.forEach(a.defRep,function(c){b=_.find(a.defaultTreeData,{id:c.parent}),b&&(c.parent="Motion Reports - "+b.text,c.type="default")}),i.get().$promise}).then(function(c){return a.cusRep=c.rows,a.cusRep.length&&_.forEach(a.cusRep,function(c){b=_.find(a.customTreeData,{id:c.parent}),b&&(c.parent="Custom Reports - "+b.text,c.type="custom")}),j.get().$promise}).then(function(b){a.mailServers=b.rows;var c=_.find(a.mailServers,{MailAccountId:null});c&&(c.username+=" (custom)")})["catch"](function(a){d.error(a)})},a.setReportTree=function(b){a.item.reportType=b.type},a.validitySlider={ceil:24,floor:0,showTicks:!0},a.switchValues={today:!1},a.switches={isActive:!0,size:"mini",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.scheduleTypes=[{name:"APPLICATION_REPORT_EXTRACTION",value:"report"}],a.todayCron=[{name:"15 min",value:"*/15 * * * *"},{name:"30 min",value:"*/30 * * * *"},{name:"1 h",value:"0 * * * *"}],a.reportRanges=[{name:"APPLICATION_PREVIOUS_DAY",value:"yesterday"},{name:"APPLICATION_LAST_SEVEN_DAYS",value:"last7"},{name:"APPLICATION_LAST_THIRTY_DAYS",value:"last30"},{name:"APPLICATION_LAST_MONTH",value:"lastMonth"}],a.cronTypes=[{name:"APPLICATION_DAY",value:"daily"},{name:"APPLICATION_WEEK",value:"weekly"},{name:"APPLICATION_MONTH",value:"monthly"}],a.weekDays=[{name:"APPLICATION_MONDAY",value:1},{name:"APPLICATION_TUESDAY",value:2},{name:"APPLICATION_WEDNESDAY",value:3},{name:"APPLICATION_THURSDAY",value:4},{name:"APPLICATION_FRIDAY",value:5},{name:"APPLICATION_SATURDAY",value:6},{name:"APPLICATION_SUNDAY",value:0}],a.tempTodayCron=null,a.checkToday=function(){a.switchValues.today?(a.item.cron=angular.copy(a.tempTodayCron),a.item.cronType="currentDay"):(a.tempTodayCron=angular.copy(a.item.cron),a.item.cron=void 0,k())},a.monthDays=function(){for(var a=[],b=1;31>=b;b++)a.push(b);return a}(),a.hours=function(){for(var a=[],b=0;23>=b;b++)a.push(b);return a}(),a.rangeExec={weekDays:[],monthDay:null,hour:0,type:null},a.$watch("rangeExec",function(b){a.switchValues.today||k()},!0),a.next=function(){b.wizard().next()},a.previous=function(){b.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){return e.save(a.item).$promise.then(function(){c.path("/tools/scheduler/list")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.scheduler.wizard",{url:"/wizard",templateUrl:"app/tools/scheduler/wizard/wizard.html",controller:"SchedulerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SoundListCtrl",["$scope","$http","socket","Modal","$q","FileUploader","$translate","xAlert","$cookieStore","$sce","Sound",function(a,b,c,d,e,f,g,h,i,j,k){a.Sound=k,a.isCollapsed=!0,a.downloadButtonClass="btn btn-xs blue-hoki",a["delete"]=d.confirm["delete"](function(a){b["delete"]("/api/sounds/"+a).success(function(a){}).error(function(a){console.log(a)})}),a.updateAudio=function(a,c){var d=e.defer();return b.put("/api/sounds/"+a,c).success(function(a){d.resolve()}).error(function(a){console.log(a.message),d.reject(a.message)}),d.promise},a.$on("$destroy",function(){c.unsyncUpdates("sound")}),a.initList=function(){b.get("/api/sounds").success(function(b){a.sounds=b.rows,b.rows.length||(a.isCollapsed=!1),c.syncUpdates("sound",a.sounds,function(){a.sounds.length||(a.isCollapsed=!1)})})};var l=a.uploader=new f({url:"/api/sounds",withCredentials:!0,headers:{Authorization:"Bearer "+i.get("token")}});l.filters.push({name:"customFilter",fn:function(a,b){return this.queue.length<10}}),l.onWhenAddingFileFailed=function(a,b,c){console.info("onWhenAddingFileFailed",a,b,c)},l.onAfterAddingFile=function(a){console.info("onAfterAddingFile",a)},l.onAfterAddingAll=function(a){console.info("onAfterAddingAll",a)},l.onBeforeUploadItem=function(a){console.info("onBeforeUploadItem",a)},l.onProgressItem=function(a,b){console.info("onProgressItem",a,b),a.isUploading=!0},l.onProgressAll=function(a){console.info("onProgressAll",a)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),a.isUploading=!1},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),a.responseMessage=b,a.isUploading=!1},l.onCancelItem=function(a,b,c,d){console.info("onCancelItem",a,b,c,d),a.isUploading=!1},l.onCompleteItem=function(a,b,c,d){console.info("onCompleteItem",a,b,c,d),a.isUploading=!1},l.onCompleteAll=function(){console.info("onCompleteAll")}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.sounds.list",{url:"/list",templateUrl:"app/tools/sound/list/list.html",controller:"SoundListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").factory("Sound",["$resource",function(a){return a("/api/sounds/:id/:controller",{name:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.sounds",{url:"/sounds",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TagListCtrl",["$scope","$uibModal","Tag","gridOptions","$rootScope",function(a,b,c,d,e){a.initView=function(){var b={exporterCsvFilename:"tag.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/tags/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/tools/tag/list/list.create.modal.html",controller:"TagListCreateCtrl"});c.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("TagListCreateCtrl",["$scope","$translate","$uibModalInstance","Tag","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.tags.list",{url:"/list",templateUrl:"app/tools/tag/list/list.html",controller:"TagListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Tag",["$resource",function(a){return a("/api/tags/:id/:controller/:tag",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.tags",{url:"/tags",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TagViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location","Tag","gridOptions","List","Company","Contact","uiGridConstants","usSpinnerService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){m.stop("spinner-grid"),a.readyGrid=!0}a.getTag=function(){return g.get({id:e.id}).$promise.then(function(b){a.tag=b})["catch"](function(a){c.error(a)})},a.updateTag=function(){var b=angular.copy(a.tag);return g.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){c.error(a)})},a.initChat=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagChat.csv",columnDefs:[{name:"type"},{name:"status"},{name:"ChatWebsite.name",displayName:"APPLICATION_WEBSITE"},{name:"ChatVisitor.email",displayName:"APPLICATION_VISITOR"},{name:"action",width:40,buttons:[{"class":"green",name:"chatRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'chatRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"chat",tag:a.tag.name},null,null,n())},a.initMail=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagMail.csv",columnDefs:[{name:"subject"},{name:"from"},{name:"account"},{name:"status"},{name:"action",width:40,buttons:[{"class":"green",name:"mailRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'mailRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"mail",tag:a.tag.name},null,null,n())},a.initFax=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagFax.csv",columnDefs:[{name:"from"},{name:"account"},{name:"status"},{name:"action",width:40,buttons:[{"class":"green",name:"faxRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'faxRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"fax",tag:a.tag.name},null,null,n())},a.initSms=function(){m.spin("spinner-grid");var b={enableRowSelection:!1,exporterCsvFilename:"tagSms.csv",columnDefs:[{name:"from"},{name:"status"},{name:"action",width:40,buttons:[{"class":"green",name:"smsRoom",onClick:"grid.appScope.openRoom(row.entity.id, 'smsRoom')"}]}]};a.gridOptions=h.gridOptions(g,b,a,{controller:"sms",tag:a.tag.name},null,null,n())},a.initContacts=function(){a.readyGrid=!1,m.spin("spinner-grid");var b;return i.get().$promise.then(function(b){return a.lists=[],b.rows.forEach(function(b,c){a.lists.push({value:b.id,label:b.name})}),j.get().$promise}).then(function(b){a.companies=[],b.rows.forEach(function(b,c){a.companies.push({value:b.id,label:b.name})})}).then(function(){b={enableRowSelection:!1,exporterCsvFilename:"tagContacts.csv",columnDefs:[{name:"firstName"},{name:"lastName"},{name:"phone"},{name:"email"},{name:"ListId",displayName:"APPLICATION_LIST",field:"List.name",filter:{type:l.filter.SELECT,selectOptions:a.lists}},{name:"CompanyId",displayName:"APPLICATION_COMPANY",field:"Company.name",filter:{type:l.filter.SELECT,term:e.companyId||null,selectOptions:a.companies}},{name:"action",width:40,buttons:[{"class":"blue-hoki",name:"profile",onClick:"grid.appScope.openContactTab(row.entity)"}]}]},a.gridOptions=h.gridOptions(g,b,a,{controller:"contacts",tag:a.tag.name},null,null,n())})["catch"](function(a){c.error(a)})},a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:c});if(d)d.active=!0;else{var e;switch(c){case"mailRoom":e="icon-envelope";break;case"chatRoom":e="fa fa-users";break;case"faxRoom":e="icon-paper-plane";break;case"smsRoom":e="glyphicon glyphicon-comment"}a.workspaces.push({id:b,type:c,"class":e,active:!0})}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.tags.view",{url:"/view/:id",templateUrl:"app/tools/tag/view/view.html",controller:"TagViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.tags.view.settings",{url:"/settings",templateUrl:"app/tools/tag/view/view.settings.html"}).state("main.tools.tags.view.chat",{url:"/chat",templateUrl:"app/tools/tag/view/view.chat.html"}).state("main.tools.tags.view.mail",{url:"/mail",templateUrl:"app/tools/tag/view/view.mail.html"}).state("main.tools.tags.view.fax",{url:"/fax",templateUrl:"app/tools/tag/view/view.fax.html"}).state("main.tools.tags.view.sms",{url:"/sms",templateUrl:"app/tools/tag/view/view.sms.html"}).state("main.tools.tags.view.contacts",{url:"/contacts",templateUrl:"app/tools/tag/view/view.contacts.html"})}]),angular.module("xCallyShuttleApp").controller("TemplateListCtrl",["$scope","Template","gridOptions",function(a,b,c){a.initView=function(){var d={exporterCsvFilename:"templates.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/templates/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates.list",{url:"/list",templateUrl:"app/tools/template/list/list.html",controller:"TemplateListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Template",["$resource",function(a){return a("/api/templates/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates",{url:"/templates",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TemplateViewCtrl",["$scope","$rootScope","$http","$translate","$stateParams","xAlert","Template","templateVariable","Variable",function(a,b,c,d,e,f,g,h,i){a.initItem=function(){CKEDITOR.plugins.addExternal("richparams","/assets/plugins/ckeditor-richparams/"),a.options={language:b.language,allowedContent:!0,entities:!1,skin:"office2013",contentsCss:"/assets/css/global/richparams.css",extraPlugins:"richparams,autogrow",autoGrow_minHeight:450,richparams:h,disableNativeSpellChecker:!1,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},{name:"document",items:["Source"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]},"/",{name:"motion",items:["voice","chat","mail"]}]},a.form={},a.item={},a.item=g.get({id:e.id})},a.updateItem=function(){return g.update(a.item).$promise.then(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates.view",{url:"/view/:id",templateUrl:"app/tools/template/view/view.html",controller:"TemplateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.templates.view.settings",{url:"/settings",templateUrl:"app/tools/template/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TemplateWizardCtrl",["$scope","$rootScope","$location","$http","WizardHandler","xAlert","Template","templateVariable",function(a,b,c,d,e,f,g,h){a.initWizard=function(){CKEDITOR.plugins.addExternal("richparams","/assets/plugins/ckeditor-richparams/"),a.options={language:b.language,allowedContent:!0,entities:!1,skin:"office2013",contentsCss:"/assets/css/global/richparams.css",extraPlugins:"richparams,autogrow",autoGrow_minHeight:450,disableNativeSpellChecker:!1,richparams:h,toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink","Anchor"]},{name:"insert",items:["Image","Table","HorizontalRule","SpecialChar"]},{name:"tools",items:["Maximize"]},{name:"document",items:["Source"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat"]},{name:"paragraph",items:["NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote"]},{name:"styles",items:["Styles","Format"]},"/",{name:"motion",items:["voice","chat","mail"]}]},a.item={},a.form={}},a.exitValidation=function(a){return a},a.createItem=function(){return g.save({name:a.item.name,description:a.item.description,subject:a.item.subject||null,html:a.item.html||null,text:a.item.text||null}).$promise.then(function(){c.path("/tools/templates/list")})["catch"](function(a){f.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.templates.wizard",{url:"/wizard",templateUrl:"app/tools/template/wizard/wizard.html",controller:"TemplateWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools",{url:"/tools",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TriggerListCtrl",["$scope","$http","$translate","Modal","xAlert","Trigger","gridOptions",function(a,b,c,d,e,f,g){a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){var b={exporterCsvFilename:"Triggers.csv",columnDefs:[{name:"name"},{name:"description"},{name:"channel"},{name:"status",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.status" type="checkbox" switch-active="{{ grid.appScope.isActive }}" switch-on-text="{{ grid.appScope.onText }}" switch-off-text="{{ grid.appScope.offText }}" switch-on-color="{{ grid.appScope.onColor }}" switch-off-color="{{ grid.appScope.offColor }}" switch-animate="{{ grid.appScope.animate }}" switch-size="{{ grid.appScope.size }}" switch-label="{{ grid.appScope.label }}" switch-icon="{{ grid.appScope.icon }}" switch-radio-off="{{ grid.appScope.radioOff }}" switch-label-width="{{ grid.appScope.labelWidth }}" switch-handle-width="{{ grid.appScope.handleWidth }}"></div>',width:100,enableFiltering:!1},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/triggers/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=g.gridOptions(f,b,a)},a.updateItem=function(a){return f.update({id:a.id},a).$promise.then(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers.list",{url:"/list",templateUrl:"app/tools/trigger/list/list.html",controller:"TriggerListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Trigger",["$resource",function(a){return a("/api/triggers/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers",{url:"/triggers",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TriggerViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","triggers","Trigger","$location",function(a,b,c,d,e,f,g,h){a.$triggers=f,a.recordSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.forms={general:{}},a.addCondition=function(b){a.trigger[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.trigger[b].splice(c,1)},a.addAction=function(){a.trigger.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.trigger.Actions.splice(b,1)},a.initView=function(){return g.get({id:b.id}).$promise.then(function(b){a.trigger=b})["catch"](function(a){e.error(a),h.path("/tools/triggers/list")})},a.updateTrigger=function(){return g.update({id:b.id},a.trigger).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),e.error(a)})},a.exitValidation=function(b){return b&&(a.trigger.All.length||a.trigger.Any.length)&&a.trigger.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers.view",{url:"/view/:id",templateUrl:"app/tools/trigger/view/view.html",controller:"TriggerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.tools.triggers.view.settings",{url:"/settings",templateUrl:"app/tools/trigger/view/view.settings.html"}).state("main.tools.triggers.view.routes",{url:"/routes",templateUrl:"app/tools/trigger/view/view.routes.html"}).state("main.tools.triggers.view.application",{url:"/application",templateUrl:"app/tools/trigger/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("TriggerWizardCtrl",["$scope","$http","$location","xAlert","triggers","WizardHandler","Trigger",function(a,b,c,d,e,f,g){a.$triggers=e,a.statusSwitch={onText:"On",offText:"Off",isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={All:[],Any:[],Actions:[]},a.forms={general:void 0,settings:void 0},a.addCondition=function(b){a.item[b].push({field:"",operator:"",value:""})},a.removeCondition=function(b,c){a.item[b].splice(c,1)},a.addAction=function(){a.item.Actions.push({action:"",data1:"",data2:"",data3:"",data4:"",data5:""})},a.resetActionData=function(a){a.data1="",a.data2="",a.data3="",a.data4="",a.data5=""},a.removeAction=function(b){a.item.Actions.splice(b,1)},a.$watch("item.channel",function(b,c){c&&(a.tempData[c].All=_.clone(a.item.All,!0),a.tempData[c].Any=_.clone(a.item.Any,!0),a.tempData[c].Actions=_.clone(a.item.Actions,!0)),a.item.All=a.tempData[b].All?a.tempData[b].All:[],a.item.Any=a.tempData[b].Any?a.tempData[b].Any:[],a.item.Actions=a.tempData[b].Actions?a.tempData[b].Actions:[]},!0),a.item.channel="voice",a.createItem=function(){return g.save(a.item).$promise.then(function(){c.path("/tools/triggers/list")})["catch"](function(a){console.error(a),d.error(a)})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a},a.exitSettingsValidation=function(b){return b&&(a.item.All.length||a.item.Any.length)&&a.item.Actions.length?!0:!1}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.triggers.wizard",{url:"/wizard",templateUrl:"app/tools/trigger/wizard/wizard.html",controller:"TriggerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TrunkListCtrl",["$scope","Trunk","gridOptions","xAlert","$translate","socket",function(a,b,c,d,e,f){
+function g(){f.socket.on("trunk:update",function(b){var c=_.find(a.gridOptions.data,{name:b.name});c&&(c.status=b.status,c.peerstatus=b.peerstatus)})}a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){var d={exporterCsvFilename:"Trunks.csv",columnDefs:[{name:"name"},{name:"active",cellTemplate:'<div class="centered-uigrid-td"><input data-ng-change="grid.appScope.updateItem(row.entity)", bs-switch ng-model="row.entity.active" type="checkbox" switch-active="{{ grid.appScope.isActive }}" switch-on-text="{{ \'APPLICATION_YES\' | translate }}" switch-off-text="{{ \'APPLICATION_NO\' | translate }}" switch-on-color="{{ grid.appScope.onColor }}" switch-off-color="{{ grid.appScope.offColor }}" switch-animate="{{ grid.appScope.animate }}" switch-size="{{ grid.appScope.size }}" switch-label="{{ grid.appScope.label }}" switch-icon="{{ grid.appScope.icon }}" switch-radio-off="{{ grid.appScope.radioOff }}" switch-label-width="{{ grid.appScope.labelWidth }}" switch-handle-width="{{ grid.appScope.handleWidth }}"></div>'},{name:"host"},{name:"description"},{name:"status",cellTemplate:'<div class="centered-uigrid-td" data-ng-if="row.entity.active && row.entity.registry && row.entity.status">{{row.entity.status}}</div>'},{name:"peerstatus",cellTemplate:'<div class="centered-uigrid-td" data-ng-if="row.entity.active && row.entity.peerstatus">{{row.entity.peerstatus}}</div>'},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/trunks/view/{{row.entity.name}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.name)"}]}]};a.gridOptions=c.gridOptions(b,d,a,null,null,null,g)},a.updateItem=function(a){return b.update({id:a.name},a).$promise.then(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.error(a),d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks.list",{url:"/list",templateUrl:"app/tools/trunk/list/list.html",controller:"TrunkListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Trunk",["$resource",function(a){return a("/api/trunks/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks",{url:"/trunks",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("TrunkViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","Trunk","VoiceContext",function(a,b,c,d,e,f,g,h,i){a.activeSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.initView=function(){return h.get({id:e.id}).$promise.then(function(b){b.nat=b.nat?b.nat.split(","):[],b.allow=b.allow?b.allow.split(";"):[],b.insecure=b.insecure?b.insecure.split(","):[],b.transport=b.transport?b.transport.split(","):[],a.trunk=b}).then(function(){f.socket.on("trunk:update",function(b){a.trunk.name===b.name&&(a.trunk.status=b.status)})})["catch"](function(a){console.error(a),g.path("/tools/trunks/list")})},a.updateTrunk=function(){""===a.trunk.password&&delete a.trunk.password;var b=angular.copy(a.trunk);return b.nat=b.nat.join(","),b.allow=b.allow.join(";"),b.insecure=b.insecure.join(","),b.transport=b.transport.join(","),h.update({id:e.id},b).$promise.then(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){c.error(a)})},a.getContexts=function(){return i.get().$promise.then(function(b){a.voiceContexts=b.rows})["catch"](function(a){c.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks.view",{url:"/view/:id",templateUrl:"app/tools/trunk/view/view.html",controller:"TrunkViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.trunks.view.settings",{url:"/settings",templateUrl:"app/tools/trunk/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TrunkWizardCtrl",["$scope","WizardHandler","$location","xAlert","Trunk",function(a,b,c,d,e){a.initWizard=function(){a.forms={},a.item={context:"from-voip-provider"}},a.next=function(){b.wizard().next()},a.previous=function(){b.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){return a.item.fromuser=a.item.defaultuser,a.item.fromdomain=a.item.host,e.save(a.item).$promise.then(function(){c.path("/tools/trunks/list")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.trunks.wizard",{url:"/wizard",templateUrl:"app/tools/trunk/wizard/wizard.html",controller:"TrunkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VariableListCtrl",["$scope","$uibModal","Variable","gridOptions",function(a,b,c,d){a.initView=function(){var b={exporterCsvFilename:"variables.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:75,buttons:[{"class":"blue-hoki",href:"/tools/variables/view/{{row.entity.id}}/settings",name:"settings"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(c,b,a)},a.createItem=function(){var c=b.open({animation:!0,templateUrl:"app/tools/variable/list/list.create.modal.html",controller:"VariableListCreateCtrl"});c.result.then(function(b){console.log(b),a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("VariableListCreateCtrl",["$scope","$translate","$uibModalInstance","Variable","xAlert",function(a,b,c,d,e){a.form={},a.item={},a.save=function(){return d.save(a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.variables.list",{url:"/list",templateUrl:"app/tools/variable/list/list.html",controller:"VariableListCtrl"})}]),angular.module("xCallyShuttleApp").factory("Variable",["$resource",function(a){return a("/api/variables/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.variables",{url:"/variables",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:13}}})}]),angular.module("xCallyShuttleApp").controller("VariableViewCtrl",["$scope","$translate","$stateParams","xAlert","Variable",function(a,b,c,d,e){a.getVariable=function(){return e.get({id:c.id}).$promise.then(function(b){a.variable=b})["catch"](function(a){d.error(a)})},a.updateVariable=function(){return e.update({id:c.id},a.variable).$promise.then(function(){d.show(b.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.variables.view",{url:"/view/:id",templateUrl:"app/tools/variable/view/view.html",controller:"VariableViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.variables.view.settings",{url:"/settings",templateUrl:"app/tools/variable/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCloneModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCtrl",["$scope","$http","$translate","xAlert","Modal","$uibModal","$log","YourDashboard","gridOptions",function(a,b,c,d,e,f,g,h,i){a.initView=function(){var b={exporterCsvFilename:"voice_contexts.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:125,buttons:[{"class":"green",href:"/tools/yourdashboards/show/{{row.entity.id}}",name:"view"},{"class":"blue-hoki",href:"/tools/yourdashboards/view/{{row.entity.id}}/settings",name:"settings"},{"class":"{{row.entity.defaultEntry ? 'red-sunglo disabled' : 'red-sunglo'}}",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"},{"class":"purple",name:"clone",onClick:"grid.appScope.clone(row.entity.id)"}]}]};a.gridOptions=i.gridOptions(h,b,a)},a.create=function(){var b=f.open({animation:!0,templateUrl:"app/tools/yourdashboard/list/create.modal.html",controller:"YourdashboardListCreateModalCtrl"});b.result.then(function(b){return h.save(b).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.gridOptions.getPage()})["catch"](function(a){console.error(a),d.error(a)})},function(){g.info("Modal dismissed at: "+new Date)})},a.clone=function(b){var e=f.open({animation:!0,templateUrl:"app/tools/yourdashboard/list/clone.modal.html",controller:"YourdashboardListCloneModalCtrl"});e.result.then(function(e){return h.save({id:b,controller:"clone"},e).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE"),"success"),a.gridOptions.getPage()})["catch"](function(a){console.error(a),d.error(a)})},function(){g.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards.list",{url:"/list",templateUrl:"app/tools/yourdashboard/list/list.html",controller:"YourdashboardListCtrl"})}]),angular.module("xCallyShuttleApp").controller("LeaveEditedDashboardModalCtrl",["$scope","$uibModalInstance",function(a,b){a.close=function(){b.close()},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardShowCtrl",["$scope","$rootScope","localStorageService","xAlert","$translate","Auth","$stateParams","$location","$uibModal","$log","YourDashboard",function(a,b,c,d,e,f,g,h,i,j,k){a.Auth=f,a.editMode=!1,a.getDashboard=function(){return k.get({id:g.id}).$promise.then(function(b){var c={name:"dashboard",structure:"4-8",enableconfirmdelete:!0,maximizable:!0,collapsible:!0};b.model=JSON.parse(b.model||'{"title":"Dashboard"}'),b.editable=f.isAdmin()&&b.editable?!0:!1,a.dashboard=_.merge(c,b)})["catch"](function(a){h.path("/tools/yourdashboards/list")})},a.$on("$locationChangeStart",function(b,c,d){if(a.editMode){b.preventDefault();var e=i.open({animation:!0,templateUrl:"app/tools/yourdashboard/show/leaveEditedDashboard.modal.html",controller:"LeaveEditedDashboardModalCtrl"});e.result.then(function(b){a.editMode=!1;var d=location.protocol+"//"+location.host;h.path(c.replace(d,""))},function(){j.info("Modal dismissed at: "+new Date)})}});var l=function(b,c,f){var h=angular.copy(a.dashboard);return h.name=a.dashboard.model.title,h.model=JSON.stringify(h.model),k.update({id:g.id},h).$promise.then(function(){d.show(e.instant("MESSAGE_DASHBOARD_SAVED")+"!","success"),a.editMode=!1})["catch"](function(b){d.error(b),h.model=JSON.parse(h.model),h.name="dashboard",a.dashboard=h})};a.$on("adfDashboardChanged",l),a.$on("adfIsEditMode",function(){a.editMode=!0}),a.$on("destroy",function(){console.log("main dashboard")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards.show",{url:"/show/:id",templateUrl:"app/tools/yourdashboard/show/show.html",controller:"YourdashboardShowCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.getDashboard=function(){b.get("/api/dashboards/"+e.id).success(function(b){delete b.model,a.dashboard=b}).error(function(a){f.path("/tools/yourdashboards/list")})},a.updateDashboard=function(){var f=angular.copy(a.dashboard);b.put("/api/dashboards/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.error(b),a.dashboard=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards.view",{url:"/view/:id",templateUrl:"app/tools/yourdashboard/view/view.html",controller:"YourdashboardViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tools.yourdashboards.view.settings",{url:"/settings",templateUrl:"app/tools/yourdashboard/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").factory("YourDashboard",["$resource",function(a){return a("/api/dashboards/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tools.yourdashboards",{url:"/yourdashboards",template:"<div ui-view></div>","abstract":!0,data:{permissions:{only:["admin","user"],redirectTo:"landing",id:2}}})}]),angular.module("xCallyShuttleApp").controller("ZendeskListCtrl",["$scope","ZendeskAccount","gridOptions","xAlert","$translate",function(a,b,c,d,e){a.initView=function(){var d={exporterCsvFilename:"zendesk_account.csv",columnDefs:[{name:"name",displayName:"APPLICATION_NAME"},{name:"username"},{name:"remoteUri",displayName:"APPLICATION_URI"},{name:"action",buttons:[{"class":"blue-hoki",href:"/zendesk/view/{{row.entity.id}}/account",name:"profile"},{"class":"green-jungle",name:"check",onClick:"grid.appScope.checkAccount(row.entity.id)"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=c.gridOptions(b,d,a)},a.checkAccount=function(a){return b.check({id:a}).$promise.then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.list",{url:"/list",templateUrl:"app/zendesk/list/list.html",controller:"ZendeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view.configurations",{url:"/configurations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewConfigurationListCtrl",["$scope","$stateParams","$translate","gridOptions","ZendeskConfiguration","$uibModal",function(a,b,c,d,e,f){a.initView=function(){var c={exporterCsvFilename:"zendesk_configurations.csv",columnDefs:[{name:"name"},{name:"description"},{name:"action",width:125,buttons:[{"class":"blue-hoki",href:"/zendesk/view/{{row.entity.AccountId}}/configurations/view/{{row.entity.id}}",name:"profile"},{"class":"red-sunglo",name:"delete",onClick:"grid.appScope.deleteItem(row.entity.name, row.entity.id)"}]}]};a.gridOptions=d.gridOptions(e,c,a,{accountId:b.id})},a.createItem=function(){var b=f.open({animation:!0,templateUrl:"app/zendesk/view/configuration/list/create.modal.html",controller:"ZendeskCreateConfigurationCtrl"});b.result.then(function(){a.gridOptions.getPage()})}}]),angular.module("xCallyShuttleApp").controller("ZendeskCreateConfigurationCtrl",["$scope","$translate","$uibModalInstance","ZendeskConfiguration","xAlert","$stateParams","channel",function(a,b,c,d,e,f,g){a.form={},a.item={},a.channels=g,a.item.channel="voice",a.item.type="Queue",a.save=function(){return d.save({accountId:f.id},a.item).$promise.then(function(a){e.show(b.instant("MESSAGE_WELL_DONE"),"success"),c.close(a)})["catch"](function(a){e.error(a)})},a.cancel=function(){c.dismiss()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view.configurations.list",{url:"/list",templateUrl:"app/zendesk/view/configuration/list/list.html",controller:"ZendeskViewConfigurationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewConfigurationViewCtrl",["$scope","$stateParams","$filter","$translate","socket","ZendeskConfiguration","xAlert","variable","Variable","ZendeskAccount","Tag","ZendeskField",function(a,b,c,d,e,f,g,h,i,j,k,l){a.$on("$destroy",function(){e.unsyncUpdates("zendesk_field")}),a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:300,scrollInertia:0},a.fieldType=[{type:"string",title:"String"},{type:"variable",title:"Variable"},{type:"customVariable",title:"Custom Variable"}],a.descFieldType=[{type:"string",title:"String"},{type:"keyValue",title:"Key Value"}],a.groupVariableByGroup=function(a){switch(a.group){case"voice_queue":return"Voice: Queue";case"voice_outbound":return"Voice: Outbound";default:return"Other"}},a.initView=function(){a.configurationName="",a.subjectConfig=[],a.descriptionConfig=[],a.fieldConfig=[],a.selectedTags={tags:[]},a.variables=h},a.getConfiguration=function(){return f.get({accountId:b.id,id:b.configurationId}).$promise.then(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,a.selectedTags={tags:_.map(b.Tags,function(a){return a.id})},e.socket.on("zendesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})})["catch"](function(a){g.error(a)})},a.getCustomVariables=function(){return i.get().$promise.then(function(b){a.customVariables=b.rows})["catch"](function(a){g.error(a)})},a.getFields=function(){return j.fields({id:b.id}).$promise.then(function(b){a.accountFields=c("zendesk")(b)})["catch"](function(a){g.error(a)})},a.getTags=function(){return k.get().$promise.then(function(b){a.tags=b.rows})["catch"](function(a){g.error(a)})},a.addItem=function(c){var d={};switch(c){case"subject":case"description":d={type:"string",content:""};break;case"field":d={content:""}}return f.save({accountId:b.id,id:b.configurationId,controller:c},d).$promise.then(function(b){switch(c){case"subject":a.subjectConfig.push(b);break;case"description":a.descriptionConfig.push(b);break;case"field":a.fieldConfig.push(b)}})["catch"](function(a){g.error(a)})},a.changeType=function(b){"variable"===b.type?(b.content="",b.variableName=""):"string"===b.type?(b.VariableId=null,b.variableName=""):"customVariable"===b.type&&(b.VariableId=null,b.content=""),a.updateField(b)},a.updateField=function(a){return l.update({accountId:b.id,configurationId:b.configurationId,id:a.id},a).$promise.then(function(){})["catch"](function(a){g.error(a)})},a.removeItem=function(a){return l["delete"]({accountId:b.id,configurationId:b.configurationId,id:a.id}).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")})["catch"](function(a){g.error(a)})},a.changeDescType=function(b){"keyValue"===b.type?(b.content="","string"===b.keyType?(b.VariableId=null,b.variableName=""):"variable"===b.keyType?(b.keyContent="",b.VariableId=null):"customVariable"===b.keyType&&(b.keyContent="",b.variableName="")):"string"===b.type&&(b.VariableId=null,b.variableName="",b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){if(b.content="",b.variableName="",b.nameField="",b.VariableId=null,b.idField){var c=_.find(a.accountFields,"id",b.idField);c&&(c.system_field_options?(b.customField=!1,b.nameField=c.title.toLowerCase()):b.customField=!0)}a.updateField(b)},a.updateTags=function(){return f.update({accountId:b.id,id:b.configurationId,controller:"tags"},a.selectedTags.tags).$promise.then(function(){g.show(d.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){g.error(a)})},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.system_field_options?c.system_field_options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view.configurations.view",{url:"/view/:configurationId",templateUrl:"app/zendesk/view/configuration/view/view.html",controller:"ZendeskViewConfigurationViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewCtrl",["$scope","$stateParams","$translate","xAlert","Modal","ZendeskAccount",function(a,b,c,d,e,f){a.initView=function(){return f.get({id:b.id}).$promise.then(function(b){a.account=b})["catch"](function(a){d.error(a)})},a.updateItem=function(){return f.update({id:b.id},a.account).$promise.then(function(){d.show(c.instant("MESSAGE_WELL_DONE")+".","success")})["catch"](function(a){d.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view",{url:"/view/:id",templateUrl:"app/zendesk/view/view.html",controller:"ZendeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.zendesk.view.account",{url:"/account",templateUrl:"app/zendesk/view/view.account.html"})}]),angular.module("xCallyShuttleApp").controller("ZendeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler","ZendeskAccount",function(a,b,c,d,e,f,g){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.authType="password",a.item.serverUrl=c.protocol()+"://"+location.host},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){return g.save(a.item).$promise.then(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/zendesk/list")})["catch"](function(a){e.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.wizard",{url:"/wizard",templateUrl:"app/zendesk/wizard/wizard.html",controller:"ZendeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").factory("ZendeskAccount",["$resource",function(a){return a("/api/zendesk/accounts/:id/:controller",{id:"@id"},{update:{method:"PUT"},fields:{params:{controller:"fields"},isArray:!0},check:{params:{controller:"check"}}})}]).factory("ZendeskConfiguration",["$resource",function(a){return a("/api/zendesk/accounts/:accountId/configurations/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]).factory("ZendeskField",["$resource",function(a){return a("/api/zendesk/accounts/:accountId/configurations/:configurationId/fields/:id/:controller",{id:"@id"},{update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk",{url:"/zendesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Auth",["$location","$rootScope","$http","User","$cookieStore","$q",function(a,b,c,d,e,f){var g={};return e.get("token")&&(g=d.me()),{login:function(a,h){var i=h||angular.noop,j=f.defer();return c.post("/auth/local",{name:a.name,password:a.password,remember:a.remember}).success(function(a){return e.put("role",a.role),e.put("token",a.token),e.put("userId",a.userId),g=d.me({},function(){b.$broadcast("login")}),j.resolve(a),i()}).error(function(a){return this.logout(),j.reject(a),i(a)}.bind(this)),j.promise},recover:function(a,b){var d=b||angular.noop,e=f.defer();return c.post("/auth/local/recover",{email:a.email}).success(function(a){return e.resolve(a),d()}).error(function(a){return e.reject(a),d(a)}.bind(this)),e.promise},reset:function(a,b){var d=b||angular.noop,e=f.defer();return c.post("/auth/local/reset/"+a.token,{password:a.password}).success(function(a){return e.resolve(a),d()}).error(function(a){return e.reject(a),d(a)}.bind(this)),e.promise},loginWithToken:function(a,c,f){e.put("role",f),e.put("token",a),e.put("userId",c),g=d.me({},function(){b.$broadcast("login")})},logout:function(){c.put("/api/users/"+g.id,{online:!1}).success(function(){e.remove("role"),e.remove("token"),e.remove("userId"),g={},b.$broadcast("logout")}).error(function(a){return a})},createUser:function(a,b){var c=b||angular.noop;return d.save(a,function(b){return e.put("token",b.token),g=d.me(),c(a)},function(a){return this.logout(),c(a)}.bind(this)).$promise},changePassword:function(a,b,c){var e=c||angular.noop;return d.changePassword({id:g.id},{oldPassword:a,newPassword:b},function(a){return e(null,a)},function(a){return e(a)}).$promise},getCurrentUser:function(){return g},isLoggedIn:function(){return g.hasOwnProperty("role")},isLoggedInAsync:function(a){g.hasOwnProperty("$promise")?g.$promise.then(function(){a(!0)})["catch"](function(){a(!1)}):a(g.hasOwnProperty("role")?!0:!1)},isAdmin:function(){return"admin"===(e.get("role")||g.role)},isUser:function(){return"user"===(e.get("role")||g.role)},isAgent:function(){return"agent"===(e.get("role")||g.role)},getRole:function(){return g.role},getToken:function(){return e.get("token")}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderAccountEmail",["$compile","$timeout","MailAccount","xAlert",function(a,b,c,d){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/accountEmail/actionBuilder.html",compile:function(e){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var g,h;return g=e.contents().remove(),function(e,i){e.randomName=f(),b(function(){return c.get().$promise.then(function(a){e.accounts=a})["catch"](function(a){d.error(a)})}),h||(h=a(g)),i.append(h(e,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderAccountTemplate",["$compile","xAlert","$http","$timeout","Template","MailAccount",function(a,b,c,d,e,f){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/accountTemplate/actionBuilder.html",compile:function(c){function g(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var h,i;return h=c.contents().remove(),function(c,j){c.randomName=g(),d(function(){return e.get().$promise.then(function(a){c.templates=a}).then(function(){return f.get()}).then(function(a){c.accounts=a})["catch"](function(a){b.error(a)})}),i||(i=a(h)),j.append(i(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderClose",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/close/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderEmail",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/email/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderForward",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/forward/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderHttp",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/http/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),b.methods=["GET","POST"],e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderIntegration",["$compile","xAlert","$http","$timeout","Integration","$translate","ZendeskAccount","DeskAccount","SalesforceAccount","FreshdeskAccount","SugarcrmAccount",function(a,b,c,d,e,f,g,h,i,j,k){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/integration/actionBuilder.html",compile:function(c){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var l,m;return l=c.contents().remove(),function(c,n){c.randomName=f(),d(function(){return e.get({active:1}).$promise.then(function(a){_.remove(a.rows,function(a){return"iframe"===a.state}),c.integrations=a.rows,c.element.data1&&o()})["catch"](function(a){b.error(a)})});var o=function(){var a;switch(c.element.data1){case"zendesk":a=g;break;case"desk":a=h;break;case"salesforce":a=i;break;case"freshdesk":a=j;break;case"sugarcrm":a=k}return a?a.get().$promise.then(function(a){c.accounts=a.rows,c.element.data2&&p()})["catch"](function(a){b.error(a)}):void 0},p=function(){c.configurations=_.find(c.accounts,{id:Number(c.element.data2)}).Configurations};c.changeIntegration=function(){c.element.data2="",o()},c.changeAccount=function(){c.element.data3="",p()},m||(m=a(l)),n.append(m(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderJscripty",["$compile","xAlert","$http","$timeout","Template","$translate","JscriptyProject",function(a,b,c,d,e,f,g){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/jscripty/actionBuilder.html",compile:function(c){var e,f;return e=c.contents().remove(),function(c,h){function i(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}c.randomName=i(),d(function(){return g.get().$promise.then(function(a){console.log(a),c.projects=a.rows})["catch"](function(a){b.error(a)})}),f||(f=a(e)),h.append(f(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderMotionBar",["$compile","xAlert","$http","$timeout","Template",function(a,b,c,d,e){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/motionbar/actionBuilder.html",compile:function(c){var f,g;return f=c.contents().remove(),function(c,h){function i(){return e.get().$promise.then(function(a){c.templates=a.rows})["catch"](function(a){b.error(a)})}function j(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}c.randomName=j(),c.motionActions=[{name:"Popup",value:"0"
+},{name:"URL",value:"1"},{name:"Windows App",value:"2"}],c.changeMode=function(){c.element.data2="",c.element.data3="",i()},d(function(){return i()}),g||(g=a(f)),h.append(g(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderStatus",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/status/actionBuilder.html",compile:function(b){var c,d;return c=b.contents().remove(),function(b,e){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}b.randomName=f(),b.states=[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"}],d||(d=a(c)),e.append(d(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderTag",["$compile","xAlert","$http","$timeout","Tag",function(a,b,c,d,e){return{restrict:"E",scope:{myElement:"=element",form:"="},templateUrl:"components/directives/action/tag/actionBuilder.html",compile:function(c){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var g,h;return g=c.contents().remove(),function(c,i){console.log("myElement",c.myElement),c.randomName=f(),c.data={tags:c.myElement.data1?c.myElement.data1.split(";"):[]},c.$watch("data.tags",function(a){c.myElement.data1=a.join(";")}),d(function(){return e.get().$promise.then(function(a){c.tags=a.rows})["catch"](function(a){b.error(a)})}),h||(h=a(g)),i.append(h(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderTemplate",["$compile","xAlert","$http","$timeout","Template",function(a,b,c,d,e){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/template/actionBuilder.html",compile:function(c){function f(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var g,h;return g=c.contents().remove(),function(c,i){c.randomName=f(),d(function(){return e.get().$promise.then(function(a){c.templates=a.rows})["catch"](function(a){b.error(a)})}),h||(h=a(g)),i.append(h(c,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("actionBuilderUrlForward",["$compile",function(a){return{restrict:"E",scope:{element:"=",form:"="},templateUrl:"components/directives/action/urlforward/actionBuilder.html",compile:function(b){function c(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}var d,e;return d=b.contents().remove(),function(b,f){b.randomName=c(),b.types=[{name:"HTTP GET",value:"GET"},{name:"HTTP POST",value:"POST"}],e||(e=a(d)),f.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").directive("conditionBuilder",["$compile","$timeout","$translate","xAlert",function(a,b,c,d){return{restrict:"E",scope:{element:"=",serviceindex:"=",service:"=",form:"="},templateUrl:"components/directives/condition/conditionBuilder.html",compile:function(e){var f,g;return f=e.contents().remove(),function(e,h){function i(a){var b=_.find(e.service.services[e.serviceindex].conditions,{value:a});if(b)if(e.elementType=b.type,b.arr)e.values=b.arr;else if(b.resource)return b.resource.get(b.params||{}).$promise.then(function(a){e.values=_.map(a.rows,function(a){return{name:a[b.resName||b.resValue],value:a[b.resValue]}})})["catch"](function(a){d.show(c.instant(a.message),"danger")})}function j(a,b){var c=[];for(a=a||5,b=b||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";--a;)c.push(b.charAt(Math.floor(Math.random()*b.length)));return c.join("")}e._=_,e.randomName=j(),b(function(){e.element.field&&i(e.element.field)}),e.checkCondition=function(a){e.element.value="",e.element.operator="",i(a)},g||(g=a(f)),h.append(g(e,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").factory("xNotificationLicense",["Notification","$rootScope","$location",function(a,b,c){return{show:function(d){var e=b.$new();return e["class"]="alert-warning",e.icon="fa fa-exclamation-triangle",e.more=function(){c.path("/setting/license/view")},new a({delay:d,templateUrl:"components/factories/xNotificationLicense/xNotificationLicense.html",scope:e})}}}]),angular.module("xCallyShuttleApp").filter("secToTime",[function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}]),angular.module("xCallyShuttleApp").controller("FooterController",["$scope","Setting",function(a,b){a.year=moment().year(),a.$on("$includeContentLoaded",function(){Layout.initFooter()}),a.initFooter=function(){return b.get({controller:"info"}).$promise.then(function(b){a.info=b})["catch"](function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("HeaderController",["$scope","$rootScope","$location","$state","$http","$interval","$notification","Auth","xAlert","socket","xNotificationLicense","toastr","localStorageService","Agent","SmsReport","MailReport","OpenChannelReport","ChatReport","ChatRoom","xNotification","$timeout","$translate","$window","User","Pause","Action","FaxReport","List","MailAccount","ChatWebsite","FaxAccount","SmsAccount","OpenChannelAccount","ReportAgent","$uibModal","$log","ReportDial",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K){function L(a,b,c){return null===b&&(b=50),null===c&&(c="..."),a&&a.length>b?a.substring(0,b-c.length)+c:a}function M(b){var c,d="reason";switch(b){case"mail":c=p;break;case"chat":c=r;break;case"fax":c=A;break;case"sms":c=o;break;case"agent":c=H,d="lastevent";break;case"dial":c=K,d="dialstatus";break;case"openchannel":c=q;break;default:return}return c.get({limit:10,order:"updatedAt DESC"}).$promise.then(function(c){_.forEach(c.rows,function(a){if(a[d])switch(a[d].toLowerCase()){case"answer":case"connect":case"complete":a.status="taken";break;case"answered_elsewhere":a.status="taken_elsewhere";break;case"called":a.status="lost";break;case"busy":a.status="busy";break;case"rejected":a.status="rejected";break;case"cancel":case"abandoned":a.status="abandoned"}}),a.agentNotifications[b].rows=c.rows,j.socket.on("report_"+b+":save",function(c){c.status="none",a.agentNotifications[b].rows.unshift(c),"agent"!==b&&"dial"!==b&&(a.agentNotifications[b].timeout[c.id]=setTimeout(function(){clearTimeout(a.agentNotifications[b].timeout[c.id]),_.find(a.agentNotifications[b].rows,{id:c.id}).status="lost",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications[b]["new"]++,delete a.agentNotifications[b].timeout[c.id]},1e3*c.timeslot))}),j.socket.on("report_"+b+":update",function(c){if("agent"===b){var e=_.find(a.activeCalls,{id:c.id});e&&(c.agentcomplete||c.agentringnoanswer||c.agentdump)?_.remove(a.activeCalls,{id:c.id}):!c.agentconnectAt||c.agentcomplete||c.agentringnoanswer||c.agentdump||a.activeCalls.push(c)}var f=_.find(a.agentNotifications[b].rows,{id:c.id});if(f&&("agent"!==b&&"dial"!==b&&a.agentNotifications[b].timeout[c.id]&&(clearTimeout(a.agentNotifications[b].timeout[c.id]),delete a.agentNotifications[b].timeout[c.id]),c[d])){switch(c[d].toLowerCase()){case"answer":case"connect":case"complete":c.status="taken";break;case"answered_elsewhere":c.status="taken_elsewhere",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications.chat["new"]++;break;case"busy":c.status="busy",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications[b]["new"]++;break;case"rejected":c.status="rejected";break;case"cancel":case"abandoned":c.status="abandoned",angular.element(document.getElementById("header_"+b+"_notification_bar")).hasClass("open")||a.agentNotifications[b]["new"]++}_.merge(f,c)}})})["catch"](function(a){i.error(a)})}function N(){return a.headerAgent=h.getCurrentUser(),a.readyTimer=1e3*moment().unix(),y.get().$promise.then(function(b){a.headerPauses=b.rows,j.syncUpdates("pause",a.headerPauses)})["finally"](function(){j.socket.on("agent:save",function(b){a.headerAgent.id===b.id&&(_.merge(a.headerAgent,b),b.voicePause&&b.mailPause&&b.chatPause&&b.faxPause&&b.smsPause&&b.openchannelPause||(a.readyTimer=1e3*moment().unix()),b.online||a.logout())})})["catch"](function(a){console.log("Error synchronizing agent status:",a)})}function O(){return H.get({id:"active",controller:"calls"}).$promise.then(function(b){a.activeCalls=b.rows})["catch"](function(a){i.error(a)})}a.moment=moment,$(document).on("click",".tabbed-dropdown",function(a){a.stopPropagation()}),a.license.token!==a.license.token2&&(h.isAdmin()||h.isUser())&&f(function(){"main.setting.license.view"!==d.current.name&&k.show(3e4)},3e4),a.openRoom=function(b,c){var d=_.find(a.workspaces,{id:b,type:c});if(d)d.active=!0;else{var e;switch(c){case"mailRoom":e="icon-envelope";break;case"chatRoom":e="fa fa-users";break;case"faxRoom":e="icon-paper-plane";break;case"smsRoom":e="glyphicon glyphicon-comment";break;case"openchannelRoom":e="icon-globe"}a.workspaces.push({id:b,type:c,"class":e,active:!0})}},a.toggleSidebar=function(){b.settings.layout.pageSidebarClosed=!b.settings.layout.pageSidebarClosed,m.set("sidebarClosed",b.settings.layout.pageSidebarClosed)},a.chooseContact=function(b){var c=I.open({animation:!0,templateUrl:"app/main/chooseContact.modal.html",controller:"ChooseContactModalCtrl",resolve:{data:function(){return{type:"detail",phone:b,mobile:b}}}});c.result.then(function(c){c?a.openContactTab(c):a.newContact({calleridnum:b})},function(){J.info("Modal dismissed at: "+new Date)})},a.loadNotifications=function(b){if(!a.busyLoad[b].end){a.busyLoad[b].busy=!0;var c,d="reason";switch(b){case"mail":c=p;break;case"chat":c=r;break;case"fax":c=A;break;case"sms":c=o;break;case"agent":c=H,d="lastevent";break;case"dial":c=K,d="dialstatus";break;case"openchannel":c=q;break;default:return}return c.get({limit:10,offset:a.agentNotifications[b].rows.length,order:"updatedAt DESC"}).$promise.then(function(c){c.rows.length?(_.forEach(c.rows,function(a){if(a[d])switch(a[d].toLowerCase()){case"answer":case"connect":case"complete":a.status="taken";break;case"answered_elsewhere":a.status="taken_elsewhere";break;case"called":a.status="lost";break;case"busy":a.status="busy";break;case"rejected":a.status="rejected";break;case"abandoned":a.status="abandoned"}}),a.agentNotifications[b].rows=a.agentNotifications[b].rows.concat(c.rows)):a.busyLoad[b].end=!0,a.busyLoad[b].busy=!1})["catch"](function(a){i.error(a)})}},a.headerPause=function(b,c,d){return z.save({name:b,agent:a.headerAgent.id,type:c||"DEFAULT PAUSE",data4:c||"DEFAULT PAUSE",channel:d||"all"}).$promise.then(function(){i.show(v.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){i.error(a)})},"agent"===h.getCurrentUser().role&&(N(),a.agentNotifications={mail:{rows:[],"new":0,timeout:{}},chat:{rows:[],"new":0,timeout:{}},fax:{rows:[],"new":0,timeout:{}},sms:{rows:[],"new":0,timeout:{}},agent:{rows:[],"new":0},dial:{rows:[],"new":0},openchannel:{rows:[],"new":0}},a.busyLoad={mail:{busy:!1,end:!1},chat:{busy:!1,end:!1},fax:{busy:!1,end:!1},sms:{busy:!1,end:!1},agent:{busy:!1,end:!1},dial:{busy:!1,end:!1},openchannel:{busy:!1,end:!1}},O(),M("agent"),M("dial"),a.license.mail&&M("mail"),a.license.chat&&M("chat"),a.license.fax&&M("fax"),a.license.messaging&&M("sms"),a.license.openchannel&&M("openchannel")),j.socket.on("user_has_chat_room:save",function(b){var c;return s.get({id:Number(b.ChatRoomId)}).$promise.then(function(b){console.log("chatRoom",b),c=b;var d=_.find(a.workspaces,{id:Number(c.id),type:"chatRoom"});d?d.name=a.getFullnames(c):a.workspaces.push({id:c.id,name:a.getFullnames(c),type:"chatRoom","class":"icon-bubble",unread:1})})["catch"](function(a){console.error(a)})}),j.socket.on("chat_message:save",function(b){var c;if(b.UserId!==h.getCurrentUser().id){var d=_.find(a.workspaces,{id:Number(b.ChatRoomId),type:"chatRoom"});if(!d)return s.get({id:Number(b.ChatRoomId)}).$promise.then(function(b){c=b,a.workspaces.push({id:c.id,name:a.getFullnames(b),type:"chatRoom","class":"icon-bubble",unread:1})})["catch"](function(a){console.error(a)})}});var P=function(){return w.Notification},Q=function(){b.settings.layout.onFocus=!0},R=function(){b.settings.layout.onFocus=!1};w.onfocus=Q,w.onblur=R,a.getFullnames=function(a){var b=_.map(a.Users,"fullname");return a.ChatVisitor&&b.unshift(a.ChatVisitor.fullname),_.without(b,h.getCurrentUser().fullname).join(", ")},a.openContact=function(b,c,d){if(d&&"<unknown>"!==d){var e,f;switch(b){case"mail":e=C,f={email:d};break;case"chat":e=D,f={email:d};break;case"fax":e=E,f={fax:d};break;case"sms":e=F,f={mobile:d};break;default:return}return e.get({id:c}).$promise.then(function(a){return a.ListId?B.save({listId:a.ListId,controller:"contacts"},f).$promise:null}).then(function(b){if(b){var c=_.find(a.workspaces,{contactID:b.id});c?c.active=!0:a.workspaces.push({active:!0,"class":"icon-user",contactID:b.id,name:b.email,type:"contact"})}else i.show(v.instant("MESSAGE_NO_LIST_CONFIGURED"),"info")})["catch"](function(a){console.error(a)})}},a.initHeader=function(){"agent"===h.getCurrentUser().role&&(j.socket.on("report_chat:save",function(a){P&&!b.settings.layout.onFocus&&g("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Chat Visitor!",delay:1e3*a.timeslot});var c="<b>"+v.instant("APPLICATION_FROM")+"</b>: "+a.visitorname+"<br><b>"+v.instant("APPLICATION_EMAIL")+"</b>: "+a.visitoremail;"queue"===a.application&&(c+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+a.queuename),t.show(v.instant("APPLICATION_NEW_CHAT_REQUEST"),c,"chat",1e3*a.timeslot,function(){return r.get({id:a.id,controller1:"accept",controller2:a.uniqueid}).$promise.then(function(){i.show("Chat properly assigned","success")})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_CHAT_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return r.get({id:a.id,controller1:"reject"}).$promise.then(function(){i.show("Chat properly rejected","success")})["catch"](function(a){i.error(a)})})}),j.socket.on("report_mail:save",function(c){var d=_.find(a.workspaces,{id:c.roomid,type:"mailRoom"});if(!d){var e="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+c.accountname+"<br> <b>"+v.instant("APPLICATION_FROM")+"</b>: "+c.from+"<br> <b>"+v.instant("APPLICATION_SUBJECT")+"</b>: "+(L(c.subject,30,"...")||"No subject");"queue"===c.application&&(e+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+c.queuename),t.show(v.instant("APPLICATION_NEW_MAIL_REQUEST"),e,"mail",1e3*c.timeslot,function(){return p.get({id:c.id,controller1:"accept",controller2:c.uniqueid}).$promise.then(function(){var b=_.find(a.workspaces,{id:c.roomid,type:"mailRoom"});b?b.active=!0:a.workspaces.push({id:c.roomid,name:c.subject||"No subject",type:"mailRoom","class":"icon-envelope",active:!0,unread:0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_MAIL_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return p.get({id:c.id,controller1:"reject"}).$promise["catch"](function(a){i.error(a)})}),P&&!b.settings.layout.onFocus?g("MAIL CHANNEL",{icon:"assets/images/media/channels/mail64.png",body:"NEW Incoming Mail Message!",delay:1e3*c.timeslot}):console.log("Notification API not supported in your browser")}}),j.socket.on("report_sms:save",function(b){var c="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+b.accountname+"<br> <b>"+v.instant("APPLICATION_FROM")+"</b>: "+b.from;"queue"===b.application&&(c+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+b.queuename),t.show(v.instant("APPLICATION_NEW_SMS_REQUEST"),c,"sms",1e3*b.timeslot,function(){return o.get({id:b.id,controller1:"accept",controller2:b.uniqueid}).$promise.then(function(){var c=_.find(a.workspaces,{id:b.roomid,type:"smsRoom"});c?c.active=!0:a.workspaces.push({id:b.roomid,name:b.from,type:"smsRoom","class":"glyphicon glyphicon-comment",active:!0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_SMS_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return o.get({id:b.id,controller1:"reject"}).$promise.then(function(){i.show("SMS properly rejected","success")})["catch"](function(a){i.error(a)})}),P?g("SMS CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming SMS Message!",delay:1e3*b.timeslot}):console.log("Notification API not supported in your browser")}),j.socket.on("report_openchannel:save",function(b){var c="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+b.accountname+"<br> <b>"+v.instant("APPLICATION_FROM")+"</b>: "+b.from;"queue"===b.application&&(c+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+b.queuename),t.show(v.instant("APPLICATION_NEW_MESSAGE"),c,"openchannel",1e3*b.timeslot,function(){return q.get({id:b.id,controller1:"accept",controller2:b.uniqueid}).$promise.then(function(){var c=_.find(a.workspaces,{id:b.roomid,type:"openchannelRoom"});c?c.active=!0:a.workspaces.push({id:b.roomid,name:b.from,type:"openchannelRoom","class":"icon-globe",active:!0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return q.get({id:b.id,controller1:"reject"}).$promise.then(function(){i.show("Message properly rejected","success")})["catch"](function(a){i.error(a)})}),P?g("OPEN CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Message!",delay:1e3*b.timeslot}):console.log("Notification API not supported in your browser")}),j.socket.on("report_fax:save",function(c){var d=_.find(a.workspaces,{id:c.roomid,type:"faxRoom"});if(!d){var e="<b>"+v.instant("APPLICATION_ACCOUNT")+"</b>: "+c.accountname+"<br> <b>"+v.instant("APPLICATION_PHONE")+"</b>: "+c.from;"queue"===c.application&&(e+="<br><b>"+v.instant("APPLICATION_QUEUE")+"</b>: "+c.queuename),t.show(v.instant("APPLICATION_NEW_FAX_REQUEST"),e,"fax",1e3*c.timeslot,function(){return A.get({id:c.id,controller1:"accept",controller2:c.uniqueid}).$promise.then(function(){var b=_.find(a.workspaces,{id:c.roomid,type:"faxRoom"});b?b.active=!0:a.workspaces.push({id:c.roomid,name:c.from,type:"faxRoom","class":"icon-paper-plane",active:!0,unread:0})})["catch"](function(a){switch(a.status){case 504:i.show(v.instant("MESSAGE_FAX_ALREADY_MANAGED"),"info");break;default:i.error(a)}})},function(){return A.get({id:c.id,controller1:"reject"}).$promise["catch"](function(a){i.err(a)})}),P&&!b.settings.layout.onFocus?g("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*c.timeslot}):console.log("Notification API not supported in your browser")}}))},a.logout=function(){return e.get("/auth/local/logout").success(function(){h.logout(),c.path("/login")}).error(function(a){console.error(a)})},a.isActive=function(a){return a===c.path()},a.$on("$destroy",function(){console.log("header $destroy"),j.unsyncUpdates("pause"),j.unsyncUpdates("agent"),j.unsyncUpdates("report_chat"),j.unsyncUpdates("report_mail"),j.unsyncUpdates("report_fax"),j.unsyncUpdates("report_sms"),j.unsyncUpdates("report_openchannel"),j.unsyncUpdates("user_has_chat_room"),j.unsyncUpdates("chat_message")})}]),angular.module("xCallyShuttleApp").factory("Modal",["$rootScope","$uibModal",function(a,b){function c(c,d){var e=a.$new();return c=c||{},d=d||"modal-default",angular.extend(e,c),b.open({templateUrl:"components/modal/delete.html",windowClass:d,scope:e})}return{confirm:{"delete":function(a){return a=a||angular.noop,function(){var b,d=Array.prototype.slice.call(arguments),e=d.shift();b=c({modal:{dismissable:!0,title:"Confirm Delete",html:"<p>Are you sure you want to delete"+(e?"<strong> "+e+"</strong>":" selected items")+"?</p>",buttons:[{classes:"btn red",text:"Delete",click:function(a){b.close(a)}},{classes:"btn default",text:"Cancel",click:function(a){b.dismiss(a)}}]}},"over-topbar center"),b.result.then(function(b){a.apply(b,d)})}}}}}]),angular.module("xCallyShuttleApp").service("application",function(){var a={applications:[{type:null,name:"APPLICATION_QUEUE",value:"Queue"},{type:null,name:"APPLICATION_PLAYBACK",value:"Playback"},{type:null,name:"Dial",value:"Dial"},{type:"internalDial",name:"APPLICATION_INTERNAL_DIAL",value:"Dial"},{type:"externalDial",name:"APPLICATION_EXTERNAL_DIAL",value:"Dial"},{type:"RingGroup",name:"Ring Group",value:"Dial"},{type:null,name:"Cally-Square Project",value:"AGI"},{type:null,name:"GoTo",value:"Goto"},{type:null,name:"Hangup",value:"Hangup"},{type:null,name:"Set",value:"Set"},{type:"custom",name:"Custom",value:"custom"},{type:null,name:"APPLICATION_VOICEMAIL",value:"Voicemail"}],queueOptions:[{value:"C",name:"APPLICATION_QUEUE_OPTION_C"},{value:"c",name:"APPLICATION_QUEUE_OPTION_c"},{value:"d",name:"APPLICATION_QUEUE_OPTION_d"},{value:"F",name:"APPLICATION_QUEUE_OPTION_F"},{value:"h",name:"APPLICATION_QUEUE_OPTION_h"},{value:"H",name:"APPLICATION_QUEUE_OPTION_H"},{value:"n",name:"APPLICATION_QUEUE_OPTION_n"},{value:"i",name:"APPLICATION_QUEUE_OPTION_i"},{value:"I",name:"APPLICATION_QUEUE_OPTION_I"},{value:"r",name:"APPLICATION_QUEUE_OPTION_r"},{value:"R",name:"APPLICATION_QUEUE_OPTION_R"},{value:"t",name:"APPLICATION_QUEUE_OPTION_t"},{value:"T",name:"APPLICATION_QUEUE_OPTION_T"},{value:"w",name:"APPLICATION_QUEUE_OPTION_w"},{value:"W",name:"APPLICATION_QUEUE_OPTION_W"},{value:"k",name:"APPLICATION_QUEUE_OPTION_k"},{value:"K",name:"APPLICATION_QUEUE_OPTION_K"},{value:"x",name:"APPLICATION_QUEUE_OPTION_x"},{value:"X",name:"APPLICATION_QUEUE_OPTION_X"}],audioOptions:[{value:"skip",name:"APPLICATION_PLAYBACK_OPTION_SKIP"},{value:"noanswer",name:"APPLICATION_PLAYBACK_OPTION_NOANSWER"},{value:"j",name:"APPLICATION_PLAYBACK_OPTION_J"},{value:"say",name:"APPLICATION_PLAYBACK_OPTION_SAY"}],hangupCauses:[{value:"",name:"--"},{value:"1",name:"APPLICATION_HANGUP_CAUSE_1"},{value:"16",name:"APPLICATION_HANGUP_CAUSE_16"},{value:"17",name:"APPLICATION_HANGUP_CAUSE_17"},{value:"18",name:"APPLICATION_HANGUP_CAUSE_18"},{value:"21",name:"APPLICATION_HANGUP_CAUSE_21"},{value:"22",name:"APPLICATION_HANGUP_CAUSE_22"},{value:"27",name:"APPLICATION_HANGUP_CAUSE_27"},{value:"38",name:"APPLICATION_HANGUP_CAUSE_38"},{value:"41",name:"APPLICATION_HANGUP_CAUSE_41"}],intTypes:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"custom",name:"APPLICATION_CUSTOM"},{value:"list",name:"APPLICATION_FROM_LIST"}],checkUnderscore:function(a){return 0===a.indexOf("_")?a:"_"+a}};return{application:a}}),angular.module("xCallyShuttleApp").service("automations",function(){var a={mail:{conditions:[{name:"APPLICATION_STATUS",value:"status",type:"select",arr:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",type:"input",operators:[{value:"greater_or_equal",name:"APPLICATION_GTE_TO"},{value:"less_or_equal",name:"APPLICATION_LTE_TO"},{value:"greater",name:"APPLICATION_GREATER_THAN"},{value:"less",name:"APPLICATION_LESS_THAN"}]}],actions:[{name:"APPLICATION_STATUS",value:"status"}]},chat:{conditions:[{name:"APPLICATION_STATUS",value:"status",type:"select",arr:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",type:"input",operators:[{value:"greater_or_equal",name:"APPLICATION_GTE_TO"},{value:"less_or_equal",name:"APPLICATION_LTE_TO"},{value:"greater",name:"APPLICATION_GREATER_THAN"},{value:"less",name:"APPLICATION_LESS_THAN"}]}],actions:[{name:"APPLICATION_STATUS",value:"status"}]},fax:{conditions:[{name:"APPLICATION_STATUS",value:"status",type:"select",arr:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",type:"input",operators:[{value:"greater_or_equal",name:"APPLICATION_GTE_TO"},{value:"less_or_equal",name:"APPLICATION_LTE_TO"},{value:"greater",name:"APPLICATION_GREATER_THAN"},{value:"less",name:"APPLICATION_LESS_THAN"}]}],actions:[{name:"APPLICATION_STATUS",value:"status"}]}},b=["mail","fax","chat"];return{services:a,channels:b}}),angular.module("xCallyShuttleApp").service("channel",function(){var a=[{name:"Voice",value:"voice"}];return a}),angular.module("xCallyShuttleApp").service("desk_com",function(){var a=[{id:"priority",label:"Priority",custom:!1,data:{choices:[1,2,3,4,5,6,7,8,9,10]}},{id:"status",label:"Status",custom:!1,data:{choices:["new","open","pending","resolved","closed"]}},{id:"type",label:"Type",custom:!1,data:{choices:["chat","twitter","email","qna","facebook","phone"]}}];return{fields:a}}),angular.module("xCallyShuttleApp").service("interval",function(){var a={months:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"jan",name:"APPLICATION_JANUARY"},{value:"feb",name:"APPLICATION_FEBRUARY"},{value:"mar",name:"APPLICATION_MARCH"},{value:"apr",name:"APPLICATION_APRIL"},{value:"may",name:"APPLICATION_MAY"},{value:"jun",name:"APPLICATION_JUNE"},{value:"jul",name:"APPLICATION_JULY"},{value:"aug",name:"APPLICATION_AUGUST"},{value:"sep",name:"APPLICATION_SEPTEMBER"},{value:"oct",name:"APPLICATION_OCTOBER"},{value:"nov",name:"APPLICATION_NOVEMBER"},{value:"dec",name:"APPLICATION_DECEMBER"}],monthsNumber:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"1",name:"APPLICATION_JANUARY"},{value:"2",name:"APPLICATION_FEBRUARY"},{value:"3",name:"APPLICATION_MARCH"},{value:"4",name:"APPLICATION_APRIL"},{value:"5",name:"APPLICATION_MAY"},{value:"6",name:"APPLICATION_JUNE"},{value:"7",name:"APPLICATION_JULY"},{value:"8",name:"APPLICATION_AUGUST"},{value:"9",name:"APPLICATION_SEPTEMBER"},{value:"10",name:"APPLICATION_OCTOBER"},{value:"11",name:"APPLICATION_NOVEMBER"},{value:"12",name:"APPLICATION_DECEMBER"}],daysOfWeek:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"mon",name:"APPLICATION_MONDAY"},{value:"tue",name:"APPLICATION_TUESDAY"},{value:"wed",name:"APPLICATION_WEDNESDAY"},{value:"thu",name:"APPLICATION_THURSDAY"},{value:"fri",name:"APPLICATION_FRIDAY"},{value:"sat",name:"APPLICATION_SATURDAY"},{value:"sun",name:"APPLICATION_SUNDAY"}],daysOfMonth:["always",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]};return{interval:a}}),angular.module("xCallyShuttleApp").service("report",["ReportAgent","ReportCall","ReportMailSession","ReportMember","ReportQueue","ReportIntegration","ReportChatSession","ReportSmsSession","Contact","Recording","ReportSquare","ReportSquareDetail","User","ReportFaxSession","MailRoom","MailMessage","FaxRoom","FaxMessage","ChatRoom","ChatMessage","SmsRoom","SmsMessage","OpenChannelRoom","OpenChannelMessage","ReportOpenChannelSession",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y){var z=[{value:"users",resource:m,channel:"General"},{value:"cm_contacts",resource:i,channel:"General"},{value:"report_integration_history",resource:f,channel:"General"},{value:"report_agent_history",resource:a,channel:"Voice"},{value:"report_call_history",resource:b,channel:"Voice"},{value:"report_member_history",resource:d,channel:"Voice"},{value:"report_queue_history",resource:e,channel:"Voice"},{value:"voice_recordings",resource:j,channel:"Voice"},{value:"report_square_history",resource:k,channel:"Voice"},{value:"report_square_details_history",resource:l,channel:"Voice"},{value:"report_chat_session_history",resource:g,channel:"Chat"},{value:"chat_rooms",resource:s,channel:"Chat"},{value:"chat_messages",resource:t,channel:"Chat"},{value:"report_mail_session_history",resource:c,channel:"Mail"},{value:"mail_rooms",resource:o,channel:"Mail"},{value:"mail_messages",resource:p,channel:"Mail"},{value:"report_fax_session_history",resource:n,channel:"Fax"},{value:"fax_rooms",resource:q,channel:"Fax"},{value:"fax_messages",resource:r,channel:"Fax"},{value:"report_sms_session_history",resource:h,channel:"Sms"},{value:"sms_rooms",resource:u,channel:"Sms"},{value:"sms_messages",resource:v,channel:"Sms"},{value:"report_openchannel_session_history",resource:y,channel:"Open Channel"},{value:"openchannel_rooms",resource:w,channel:"Open Channel"},{value:"openchannel_messages",resource:x,channel:"Open Channel"}];return{tables:z}}]),angular.module("xCallyShuttleApp").service("strategies",function(){return["beepall","roundrobin","rrmemory"]}),angular.module("xCallyShuttleApp").service("triggers",["VoiceQueue","Route",function(a,b){var c={voice:{conditions:[{name:"APPLICATION_QUEUE",value:"queue",type:"select",resource:a,resValue:"name",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_CALL_STATUS",value:"lastevent",type:"select",arr:[{name:"ringing",value:"called"},{name:"up",value:"connect"},{name:"hangup",value:"complete"},{name:"rejected",value:"rejected"},{name:"abandoned",value:"abandoned"}],operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_OUTBOUND_ROUTE",value:"routeId",type:"select",resource:b,resValue:"id",resName:"exten",params:{type:"outbound"},operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]}],actions:[{name:"APPLICATION_CONTACT_MANAGER",value:"contactManager"},{name:"APPLICATION_INTEGRATIONS",value:"integration",propertyField:"select"},{name:"APPLICATION_MOTION_BAR",value:"motionbar",propertyField:"select"},{name:"APPLICATION_JSCRIPTY",value:"jscripty",propertyField:"select"},{name:"APPLICATION_URL_FORWARD",value:"urlForward"}]},mail:{conditions:[{name:"APPLICATION_FROM",value:"from",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_TO",value:"to",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_CC",value:"cc",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_SUBJECT",value:"subject",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"},{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_BODY",value:"text",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"},{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]}],actions:[{name:"APPLICATION_TEMPLATE",value:"template"},{name:"APPLICATION_EMAIL",value:"email"},{name:"APPLICATION_FORWARD",value:"forward"},{name:"APPLICATION_TAG",value:"tag"},{name:"APPLICATION_HTTP_REQUEST",value:"http"},{name:"APPLICATION_CLOSE",value:"close"}]},chat:{conditions:[{name:"APPLICATION_NAME",value:"fullname",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"}]},{name:"APPLICATION_EMAIL",value:"email",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"
+},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]}],actions:[{name:"APPLICATION_EMAIL",value:"accountEmail"},{name:"APPLICATION_TEMPLATE",value:"accountTemplate"},{name:"APPLICATION_TAG",value:"tag"},{name:"APPLICATION_HTTP_REQUEST",value:"http"},{name:"APPLICATION_CLOSE",value:"close"}]},sms:{conditions:[{name:"APPLICATION_FROM",value:"from",type:"input",operators:[{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]},{name:"APPLICATION_BODY",value:"body",type:"input",operators:[{value:"equals",name:"APPLICATION_EQUALS_TO"},{value:"not_equals",name:"APPLICATION_NOT_EQUALS_TO"},{value:"contains",name:"APPLICATION_CONTAINS"},{value:"not_contains",name:"APPLICATION_NOT_CONTAINS"}]}],actions:[{name:"APPLICATION_EMAIL",value:"accountEmail"},{name:"APPLICATION_TEMPLATE",value:"accountTemplate"},{name:"APPLICATION_TAG",value:"tag"},{name:"APPLICATION_HTTP_REQUEST",value:"http"},{name:"APPLICATION_CLOSE",value:"close"}]}},d=["voice","mail","chat","sms"];return{services:c,channels:d}}]),angular.module("xCallyShuttleApp").service("variable",function(){var a=[{title:"Unique ID",name:"uniqueid",group:"voice_queue"},{title:"Caller Number",name:"calleridnum",group:"voice_queue"},{title:"Caller Name",name:"calleridname",group:"voice_queue"},{title:"Queue",name:"queue",group:"voice_queue"},{title:"Called Number",name:"destcalleridnum",group:"voice_queue"},{title:"Called Name",name:"destcalleridname",group:"voice_queue"},{title:"Hold Time",name:"holdtime",group:"voice_queue"},{title:"Talk Time",name:"talktime",group:"voice_queue"},{title:"Connected Time",name:"agentconnectAt",group:"voice_queue"},{title:"Called Time",name:"agentcalledAt",group:"voice_queue"},{title:"DNID",name:"destexten",group:"voice_queue"},{title:"Complete Time",name:"agentcompleteAt",group:"voice_queue"},{title:"No Answer Time",name:"agentringnoanswerAt",group:"voice_queue"},{title:"Recording URL",name:"recordingURL",group:"voice_queue"},{title:"Unique ID",name:"uniqueid",group:"voice_outbound"},{title:"Caller Number",name:"calleridnum",group:"voice_outbound"},{title:"Caller Name",name:"calleridname",group:"voice_outbound"},{title:"Called Number",name:"destcalleridnum",group:"voice_outbound"},{title:"Called Name",name:"destcalleridname",group:"voice_outbound"},{title:"Start Time",name:"starttime",group:"voice_outbound"},{title:"Answer Time",name:"answertime",group:"voice_outbound"},{title:"Complete Time",name:"endtime",group:"voice_outbound"},{title:"Recording URL",name:"recordingURL",group:"voice_outbound"},{title:"Member Name",name:"membername",group:"voice_outbound"}];return a}),angular.module("xCallyShuttleApp").controller("SidebarController",["$scope","$rootScope","$resource","$location","Auth","Dashboard","Integration","xAlert","$stateParams","socket",function(a,b,c,d,e,f,g,h,i,j){a.Auth=e,a.$on("$includeContentLoaded",function(){Metronic.init(),Layout.initSidebar()}),a.getSidebarDashboards=function(){return f.get().$promise.then(function(b){a.dashboards=b.rows,j.syncUpdates("dashboard",a.dashboards)})["catch"](function(){h.show("Error loading your dashboards","danger")})},a.getSidebarIntegrations=function(){return e.isAdmin()||e.isAgent()||b.userModules[19]?g.get().$promise.then(function(b){a.integrations=b.rows,j.syncUpdates("integration",a.integrations)})["catch"](function(a){h.error(a)}):void 0},a.$on("sidebar $destroy",function(){console.log("destroy"),j.unsyncUpdates("dashboard"),j.unsyncUpdates("integration")})}]),angular.module("xCallyShuttleApp").factory("socket",["$rootScope","$window","socketFactory","Auth",function(a,b,c,d){var e=d.getCurrentUser(),f=io("",{query:"token="+d.getToken()+"&userId="+e.id+"&name="+e.name+"&role="+(e.role||"agent")+"&source=browser",path:"/socket.io-client"}),g=c({ioSocket:f});return a.$on("logout",function(){g&&(g.disconnect(!0),b.location.reload())}),{socket:g,syncUpdates:function(a,b,c){c=c||angular.noop,g.on(a+":save",function(a){var d=_.find(b,{id:a.id}),e=b.indexOf(d),f="created";d?(_.merge(b[e],a),f="updated"):b.unshift(a),c(f,a,b)}),g.on(a+":remove",function(a){var d="deleted";_.remove(b,{id:a.id}),c(d,a,b)})},unsyncUpdates:function(a){g.removeAllListeners(a+":save"),g.removeAllListeners(a+":remove")},syncUpdatesByAttributes:function(a,b,c,d){d=d||angular.noop,g.on(a+":save",function(a){var e=!0;if(_.forIn(b,function(b,c){return a[c]&&a[c]===b?!0:e=!1}),e){var f=_.find(c,{id:a.id}),g=c.indexOf(f),h="created";f?(_.merge(c[g],a),h="updated"):c.unshift(a),d(h,a,c)}}),g.on(a+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},syncMailMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncMailMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")},syncFaxMessageUpdates:function(a,b,c,d){d=d||angular.noop,g.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),g.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncFaxMessageUpdates:function(a,b){g.removeAllListeners(a+":"+b+":save"),g.removeAllListeners(a+":"+b+":remove")}}}]),function(a,b){angular.module("adf.widget.counter",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("counter",{title:"Single Value",description:"Single Value for db results",templateUrl:"{widgetsPath}/counter/src/view.html",controller:"apiwidgetCounterViewCtrl",edit:{templateUrl:"{widgetsPath}/counter/src/edit.html",controller:"apiwidgetCounterEditCtrl"}})}]).service("apiServiceCounter",["Widget",function(a){return{get:function(b){return a.get({select:b.select,condition:encodeURIComponent(b.condition),table:b.report.replace("_history",""),controller:"counter"}).$promise.then(function(a){return a})["catch"](function(a){console.log(a)})}}}]).controller("apiwidgetCounterEditCtrl",["$scope","report",function(a,b){a.config.reportTables=b.tables,a.config.colors=[{name:"Grey",value:"grey"},{name:"Grey 2",value:"grey-cascade"},{name:"Grey 3",value:"grey-silver"},{name:"Grey 4",value:"grey-steel"},{name:"Grey 5",value:"grey-carrara"},{name:"Grey 6",value:"grey-gallery"},{name:"Blue",value:"blue"},{name:"Blue 2",value:"blue-hoki"},{name:"Blue 3",value:"blue-steel"},{name:"Blue 4",value:"blue-madison"},{name:"Blue 5",value:"blue-chambray"},{name:"Blue 6",value:"blue-ebonyclay"},{name:"Red",value:"red"},{name:"Red 2",value:"red-pink"},{name:"Red 3",value:"red-sunglo"},{name:"Red 4",value:"red-intense"},{name:"Red 5",value:"red-thunderbird"},{name:"Red 6",value:"red-flamingo"},{name:"Green",value:"green"},{name:"Green 2",value:"green-meadow"},{name:"Green 3",value:"green-seagreen"},{name:"Green 4",value:"green-turquoise"},{name:"Green 5",value:"green-haze"},{name:"Green 6",value:"green-jungle"},{name:"Purple",value:"purple"},{name:"Purple 2",value:"purple-plum"},{name:"Purple 3",value:"purple-medium"},{name:"Purple 4",value:"purple-studio"},{name:"Purple 5",value:"purple-wisteria"},{name:"Purple 6",value:"purple-seance"},{name:"Yellow",value:"yellow"},{name:"Yellow 2",value:"yellow-gold"},{name:"Yellow 3",value:"yellow-casablanca"},{name:"Yellow 4",value:"yellow-crusta"},{name:"Yellow 5",value:"yellow-lemon"},{name:"Yellow 6",value:"yellow-saffron"}],a.config.icons=[{name:"Talk bubbles",value:"fa-comments"},{name:"Bar Chart",value:"fa-bar-chart"},{name:"Shopping Cart",value:"fa-shopping-cart"},{name:"Globe",value:"fa-globe"},{name:"Volume Control Phone",value:"fa-volume-control-phone"},{name:"Comments",value:"fa-comments-o"},{name:"Commenting",value:"fa-commenting-o"},{name:"Coffee",value:"fa-coffee"},{name:"Clock",value:"fa-clock-o"},{name:"Envelope",value:"fa-envelope-o"},{name:"Hourglass",value:"fa-hourglass-half"},{name:"Percent",value:"fa-percent"}],a.config.select=a.config.select?a.config.select:"COUNT(*)",a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE"}]).controller("apiwidgetCounterViewCtrl",["$scope","$interval","apiServiceCounter",function(a,b,c){a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.config.condition=a.config.condition?a.config.condition:null,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE",a.counterApiCall=function(){a.config.report&&c.get(a.config).then(function(b){b?b.result&&b.result.length>1||_.keys(b.result[0]).length>1?(a.tooManyResults=!0,a.result=null):(a.tooManyResults=!1,null!==_.values(b.result[0])[0]?a.result=_.values(b.result[0])[0].toString():a.result="--"):a.result=null})},a.counterApiCall();var d=b(function(){a.counterApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.counter").run(["$templateCache",function(a){a.put("{widgetsPath}/counter/src/edit.html","<form role=form><div class=form-group><label for=select>Select</label> <input type=text class=form-control id=condition ng-model=config.select placeholder=Select></div><div class=form-group><label class=control-label>From</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=From>{{'APPLICATION_'+$select.selected.value.toUpperCase() | translate}}</ui-select-match><ui-select-choices repeat=\"table.value as table in config.reportTables | filter: $select.search\"><div ng-bind-html=\"'APPLICATION_'+table.value.toUpperCase() | translate | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>Where</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=Where></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=5></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_COLOR' | translate}}</label><ui-select data-ng-model=config.color name=color theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_COLOR' | translate }}\"><div data-ng-class=\"'bg-'+$select.selected.value\"> </div></ui-select-match><ui-select-choices repeat=\"color.value as color in config.colors | filter: $select.search\"><div data-ng-class=\"'bg-'+color.value\"> </div></ui-select-choices></ui-select></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_ICON' | translate}}</label><ui-select data-ng-model=config.icon name=icon theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_ICON' | translate }}\"><i class=fa ng-class=$select.selected.value></i></ui-select-match><ui-select-choices repeat=\"icon.value as icon in config.icons | filter: $select.search\"><i class=fa ng-class=icon.value></i></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_DETAILS' | translate}}</label> <input type=text class=form-control id=details ng-model=config.details maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_DETAILS' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK' | translate}}</label> <input type=text class=form-control id=link ng-model=config.link placeholder=http://yourlink></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}</label> <input type=text class=form-control id=linkText ng-model=config.linkText maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}\"></div></form>"),a.put("{widgetsPath}/counter/src/view.html",'<div class=dashboard-stat ng-class=config.color ng-if=result><div class=visual><i class=fa ng-class=config.icon></i></div><div class=details><div class=number>{{result}}</div><div class=desc>{{config.details}}</div></div><a class=more href={{config.link}}>{{config.linkText}} <i class="m-icon-swapright m-icon-white"></i></a></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=tooManyResults><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_TOO_MANY_RESULTS\' | translate}}</div><div class="alert alert-danger" role=alert ng-if="!result && !tooManyResults"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_QUERY_NOT_VALID\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.pie-chart",["adf.provider"]).config(["dashboardProvider",function(a){a.widget("pie-chart",{title:"Pie-Chart",description:"Display a pie-chart starting from DB values",templateUrl:"{widgetsPath}/pie-chart/src/view.html",controller:"apiWidgetPieChartViewCtrl",edit:{templateUrl:"{widgetsPath}/pie-chart/src/edit.html",controller:"apiWidgetPieChartEditCtrl"}})}]).service("apiServicePieChart",["Widget",function(a){return{get:function(b){return a.get({condition:encodeURIComponent(b.condition),table:b.report.replace("_history",""),fields:b.fields,controller:"piechart"}).$promise.then(function(a){return a})["catch"](function(a){console.log(a)})}}}]).controller("apiWidgetPieChartEditCtrl",["$scope","report",function(a,b){function c(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=b.tables,a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){c().push({})},a.removeField=function(a){c().splice(a,1)}}]).controller("apiWidgetPieChartViewCtrl",["$scope","$interval","apiServicePieChart",function(a,b,c){a.config.timeout=a.config.timeout>=5?a.config.timeout:5,a.pieChartApiCall=function(){a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){if(b&&b.result&&1===b.result.length){a.labels=[],a.data=[];for(var c in b.result[0])a.labels.push(c),a.data.push(b.result[0][c])}else a.labels=[],a.data=[]})},a.pieChartApiCall();var d=b(function(){a.pieChartApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.pie-chart").run(["$templateCache",function(a){a.put("{widgetsPath}/pie-chart/src/edit.html","<form role=form><div class=form-group><label class=control-label>{{'APPLICATION_REPORT' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_REPORT' | translate }}\">{{'APPLICATION_'+$select.selected.value.toUpperCase() | translate}}</ui-select-match><ui-select-choices repeat=\"table.value as table in config.reportTables | filter: $select.search\"><div ng-bind-html=\"'APPLICATION_'+table.value.toUpperCase() | translate | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{'APPLICATION_FIELDS' | translate}}</label></div><div class=padding-bottom ng-repeat=\"field in config.fields\"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if=\"config.fields.length>1\"><button class=\"btn btn-danger\" type=button data-ng-click=removeField($index)><i class=\"fa fa-times\"></i> {{'APPLICATION_REMOVE' | translate}}</button></span></div></div></div><button type=button class=\"btn btn-sm green mbottom20\" ng-click=addField()><i class=\"fa fa-plus\"></i> {{'APPLICATION_ADD_FIELD' | translate}}</button><div class=form-group><label for=condition>{{'APPLICATION_CONDITION' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=\"{{'APPLICATION_CONDITION' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=5></div></form>"),a.put("{widgetsPath}/pie-chart/src/view.html",'<div ng-if=labels.length ng-style=config.style><canvas id=doughnut class="chart chart-doughnut" chart-data=data chart-labels=labels legend=true></canvas></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_METRIC_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.table",["adf.provider"]).value("apiServiceUrlTable","/api/widgets/table").config(["dashboardProvider",function(a){a.widget("table",{title:"Table",description:"Show tabbed results from db",templateUrl:"{widgetsPath}/table/src/view.html",controller:"apiWidgetTableViewCtrl",edit:{templateUrl:"{widgetsPath}/table/src/edit.html",controller:"apiWidgetTableEditCtrl"}})}]).service("apiServiceTable",["$q","$http","apiServiceUrlTable",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetTableEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetTableViewCtrl",["$scope","$interval","apiServiceTable",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.style={"max-height":a.config.height+"px",overflow:"scroll"},a.tableApiCall=function(){a.config.condition&&a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){a.results=b})},a.tableApiCall();var d=b(function(){a.tableApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.table").run(["$templateCache",function(a){a.put("{widgetsPath}/table/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_METRICS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div><div class=form-group><label for=condition>{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}</label> <input type=number class=form-control id=height ng-model=config.height placeholder="{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}" min=350></div></form>'),a.put("{widgetsPath}/table/src/view.html",'<div ng-if=results ng-style=config.style><table st-table=results class="table table-striped table-bordered table-hover"><div class=table-responsive><thead><tr><th colspan={{config.fields.length}}><div class=row><div class=col-md-6></div><div class=col-md-6><div class="input-group input-medium pull-right"><input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class=form-control type=search> <span class=input-group-addon><i class="fa fa-search"></i></span></div></div></div></th></tr><tr><th ng-repeat="field in config.fields">{{field.alias}}</th></tr></thead><tbody><tr data-ng-repeat="result in results" class=animate-repeat><td ng-repeat="field in config.fields">{{result[field.alias]}}</td></tr><tr data-ng-hide=results.length><td colspan={{config.fields.length}} style=text-align:center;><i>{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</i></td></tr></tbody><tfoot><tr><td colspan={{config.fields.length}} class=text-center><div st-pagination class=pagination st-items-by-page=10 st-displayed-pages=3></div></td></tr></tfoot></div></table></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_FIELD_AND_CHECK_OTHER\' | translate}}</div>')}])}(window);var Metronic=function(){var a,b=!1,c=!1,d=!1,e=!1,f=[],g="assets/",h="img/",i="plugins/",j="css/",k={blue:"#89C4F4",red:"#F3565D",green:"#1bbc9b",purple:"#9b59b6",grey:"#95a5a6",yellow:"#F8CB00"},l=function(){"rtl"===$("body").css("direction")&&(b=!0),c=!!navigator.userAgent.match(/MSIE 8.0/),d=!!navigator.userAgent.match(/MSIE 9.0/),e=!!navigator.userAgent.match(/MSIE 10.0/),e&&$("html").addClass("ie10"),(e||d||c)&&$("html").addClass("ie")},m=function(){for(var a=0;a<f.length;a++){var b=f[a];b.call()}},n=function(){var a;if(c){var b;$(window).resize(function(){b!=document.documentElement.clientHeight&&(a&&clearTimeout(a),a=setTimeout(function(){m()},50),b=document.documentElement.clientHeight)})}else $(window).resize(function(){a&&clearTimeout(a),a=setTimeout(function(){m()},50)})},o=function(){$("body").on("click",".portlet > .portlet-title > .tools > a.remove",function(a){a.preventDefault();var b=$(this).closest(".portlet");$("body").hasClass("page-portlet-fullscreen")&&$("body").removeClass("page-portlet-fullscreen"),b.find(".portlet-title .fullscreen").tooltip("destroy"),b.find(".portlet-title > .tools > .reload").tooltip("destroy"),b.find(".portlet-title > .tools > .remove").tooltip("destroy"),b.find(".portlet-title > .tools > .config").tooltip("destroy"),b.find(".portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip("destroy"),b.remove()}),$("body").on("click",".portlet > .portlet-title .fullscreen",function(a){a.preventDefault();var b=$(this).closest(".portlet");if(b.hasClass("portlet-fullscreen"))$(this).removeClass("on"),b.removeClass("portlet-fullscreen"),$("body").removeClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height","auto");else{var c=Metronic.getViewPort().height-b.children(".portlet-title").outerHeight()-parseInt(b.children(".portlet-body").css("padding-top"))-parseInt(b.children(".portlet-body").css("padding-bottom"));$(this).addClass("on"),b.addClass("portlet-fullscreen"),$("body").addClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height",c)}}),$("body").on("click",".portlet > .portlet-title > .tools > a.reload",function(a){a.preventDefault();var b=$(this).closest(".portlet").children(".portlet-body"),c=$(this).attr("data-url"),d=$(this).attr("data-error-display");c?(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),$.ajax({type:"GET",cache:!1,url:c,dataType:"html",success:function(a){Metronic.unblockUI(b),b.html(a)},error:function(a,c,e){Metronic.unblockUI(b);var f="Error on reloading the content. Please check your connection and try again.";"toastr"==d&&toastr?toastr.error(f):"notific8"==d&&$.notific8?($.notific8("zindex",11500),$.notific8(f,{theme:"ruby",life:3e3})):alert(f)}})):(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),window.setTimeout(function(){Metronic.unblockUI(b)},1e3))}),$('.portlet .portlet-title a.reload[data-load="true"]').click(),$("body").on("click",".portlet > .portlet-title > .tools > .collapse, .portlet .portlet-title > .tools > .expand",function(a){a.preventDefault()})},p=function(){if($().uniform){var a=$("input[type=checkbox]:not(.toggle, .make-switch, .icheck), input[type=radio]:not(.toggle, .star, .make-switch, .icheck)");a.size()>0&&a.each(function(){0===$(this).parents(".checker").size()&&$(this).show()})}},q=function(){$().iCheck&&$(".icheck").each(function(){var a=$(this).attr("data-checkbox")?$(this).attr("data-checkbox"):"icheckbox_minimal-grey",b=$(this).attr("data-radio")?$(this).attr("data-radio"):"iradio_minimal-grey";a.indexOf("_line")>-1||b.indexOf("_line")>-1?$(this).iCheck({checkboxClass:a,radioClass:b,insert:'<div class="icheck_line-icon"></div>'+$(this).attr("data-label")}):$(this).iCheck({checkboxClass:a,radioClass:b})})},r=function(){$().bootstrapSwitch&&$(".make-switch").bootstrapSwitch()},s=function(){$().confirmation&&$("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn-xs btn-success",btnCancelClass:"btn-xs btn-danger"})},t=function(){$("body").on("shown.bs.collapse",".accordion.scrollable",function(a){Metronic.scrollTo($(a.target))})},u=function(){if(location.hash){var a=location.hash.substr(1);$('a[href="#'+a+'"]').parents(".tab-pane:hidden").each(function(){var a=$(this).attr("id");$('a[href="#'+a+'"]').click()}),$('a[href="#'+a+'"]').click()}},v=function(){$("body").on("hide.bs.modal",function(){$(".modal:visible").size()>1&&$("html").hasClass("modal-open")===!1?$("html").addClass("modal-open"):$(".modal:visible").size()<=1&&$("html").removeClass("modal-open")}),$("body").on("show.bs.modal",".modal",function(){$(this).hasClass("modal-scroll")&&$("body").addClass("modal-open-noscroll")}),$("body").on("hide.bs.modal",".modal",function(){$("body").removeClass("modal-open-noscroll")}),$("body").on("hidden.bs.modal",".modal:not(.modal-cached)",function(){$(this).removeData("bs.modal")})},w=function(){$(".tooltips").tooltip(),$(".portlet > .portlet-title .fullscreen").tooltip({container:"body",title:"Fullscreen"}),$(".portlet > .portlet-title > .tools > .reload").tooltip({container:"body",title:"Reload"}),$(".portlet > .portlet-title > .tools > .remove").tooltip({container:"body",title:"Remove"}),$(".portlet > .portlet-title > .tools > .config").tooltip({container:"body",title:"Settings"}),$(".portlet > .portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip({container:"body",title:"Collapse/Expand"})},x=function(){$("body").on("click",".dropdown-menu.hold-on-click",function(a){a.stopPropagation()})},y=function(){$("body").on("click",'[data-close="alert"]',function(a){$(this).parent(".alert").hide(),$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-close="note"]',function(a){$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-remove="note"]',function(a){$(this).closest(".note").remove(),a.preventDefault()})},z=function(){$('[data-hover="dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")})},A=function(){$(".popovers").popover(),$(document).on("click.bs.popover.data-api",function(b){a&&a.popover("hide")})},B=function(){Metronic.initSlimScroll(".scroller")},C=function(){jQuery.fancybox&&$(".fancybox-button").size()>0&&$(".fancybox-button").fancybox({groupAttr:"data-rel",prevEffect:"none",nextEffect:"none",closeBtn:!0,helpers:{title:{type:"inside"}}})},D=function(){(c||d)&&$("input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)").each(function(){var a=$(this);""===a.val()&&""!==a.attr("placeholder")&&a.addClass("placeholder").val(a.attr("placeholder")),a.focus(function(){a.val()==a.attr("placeholder")&&a.val("")}),a.blur(function(){(""===a.val()||a.val()==a.attr("placeholder"))&&a.val(a.attr("placeholder"))})})},E=function(){$().select2&&$(".select2me").select2({placeholder:"Select"})};return{init:function(){l(),n(),p(),q(),r(),B(),C(),E(),o(),y(),x(),u(),w(),A(),t(),v(),s(),D()},initAjax:function(){p(),q(),r(),z(),B(),E(),C(),x(),w(),A(),t(),s()},initComponents:function(){this.initAjax()},setLastPopedPopover:function(b){a=b},addResizeHandler:function(a){f.push(a)},runResizeHandlers:function(){m()},scrollTo:function(a,b){var c=a&&a.size()>0?a.offset().top:0;a&&($("body").hasClass("page-header-fixed")&&(c-=$(".page-header").height()),c+=b?b:-1*a.height()),$("html,body").animate({scrollTop:c},"slow")},initSlimScroll:function(a){$(a).each(function(){if(!$(this).attr("data-initialized")){var a;a=$(this).attr("data-height")?$(this).attr("data-height"):$(this).css("height"),$(this).slimScroll({allowPageScroll:!0,size:"7px",color:$(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb",wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",railColor:$(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea",position:b?"left":"right",height:a,alwaysVisible:"1"==$(this).attr("data-always-visible")?!0:!1,railVisible:"1"==$(this).attr("data-rail-visible")?!0:!1,disableFadeOut:!0}),$(this).attr("data-initialized","1")}})},destroySlimScroll:function(a){$(a).each(function(){
+if("1"===$(this).attr("data-initialized")){$(this).removeAttr("data-initialized"),$(this).removeAttr("style");var a={};$(this).attr("data-handle-color")&&(a["data-handle-color"]=$(this).attr("data-handle-color")),$(this).attr("data-wrapper-class")&&(a["data-wrapper-class"]=$(this).attr("data-wrapper-class")),$(this).attr("data-rail-color")&&(a["data-rail-color"]=$(this).attr("data-rail-color")),$(this).attr("data-always-visible")&&(a["data-always-visible"]=$(this).attr("data-always-visible")),$(this).attr("data-rail-visible")&&(a["data-rail-visible"]=$(this).attr("data-rail-visible")),$(this).slimScroll({wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",destroy:!0});var b=$(this);$.each(a,function(a,c){b.attr(a,c)})}})},scrollTop:function(){Metronic.scrollTo()},blockUI:function(a){a=$.extend(!0,{},a);var b="";if(b=a.animate?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div></div>':a.iconOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""></div>':a.textOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><span> '+(a.message?a.message:"LOADING...")+"</span></div>":'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""><span> '+(a.message?a.message:"LOADING...")+"</span></div>",a.target){var c=$(a.target);c.height()<=$(window).height()&&(a.cenrerY=!0),c.block({message:b,baseZ:a.zIndex?a.zIndex:1e3,centerY:void 0!==a.cenrerY?a.cenrerY:!1,css:{top:"10%",border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})}else $.blockUI({message:b,baseZ:a.zIndex?a.zIndex:1e3,css:{border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})},unblockUI:function(a){a?$(a).unblock({onUnblock:function(){$(a).css("position",""),$(a).css("zoom","")}}):$.unblockUI()},startPageLoading:function(a){a&&a.animate?($(".page-spinner-bar").remove(),$("body").append('<div class="page-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>')):($(".page-loading").remove(),$("body").append('<div class="page-loading"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif"/> <span>'+(a&&a.message?a.message:"Loading...")+"</span></div>"))},stopPageLoading:function(){$(".page-loading, .page-spinner-bar").remove()},alert:function(a){a=$.extend(!0,{container:"",place:"append",type:"success",message:"",close:!0,reset:!0,focus:!0,closeInSeconds:0,icon:""},a);var b=Metronic.getUniqueID("Metronic_alert"),c='<div id="'+b+'" class="Metronic-alerts alert alert-'+a.type+' fade in">'+(a.close?'<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>':"")+(""!==a.icon?'<i class="fa-lg fa fa-'+a.icon+'"></i> ':"")+a.message+"</div>";return a.reset&&$(".Metronic-alerts").remove(),a.container?"append"==a.place?$(a.container).append(c):$(a.container).prepend(c):$("body").hasClass("page-container-bg-solid")?$(".page-title").after(c):$(".page-bar").size()>0?$(".page-bar").after(c):$(".page-breadcrumb").after(c),a.focus&&Metronic.scrollTo($("#"+b)),a.closeInSeconds>0&&setTimeout(function(){$("#"+b).remove()},1e3*a.closeInSeconds),b},initUniform:function(a){a?$(a).each(function(){0===$(this).parents(".checker").size()&&($(this).show(),$(this).uniform())}):p()},updateUniform:function(a){$.uniform.update(a)},initFancybox:function(){C()},getActualVal:function(a){return a=$(a),a.val()===a.attr("placeholder")?"":a.val()},getURLParameter:function(a){var b,c,d=window.location.search.substring(1),e=d.split("&");for(b=0;b<e.length;b++)if(c=e[b].split("="),c[0]==a)return unescape(c[1]);return null},isTouchDevice:function(){try{return document.createEvent("TouchEvent"),!0}catch(a){return!1}},getViewPort:function(){var a=window,b="inner";return"innerWidth"in window||(b="client",a=document.documentElement||document.body),{width:a[b+"Width"],height:a[b+"Height"]}},getUniqueID:function(a){return"prefix_"+Math.floor(Math.random()*(new Date).getTime())},isIE8:function(){return c},isIE9:function(){return d},isRTL:function(){return b},isAngularJsApp:function(){return"undefined"==typeof angular?!1:!0},getAssetsPath:function(){return g},setAssetsPath:function(a){g=a},setGlobalImgPath:function(a){h=a},getGlobalImgPath:function(){return g+h},setGlobalPluginsPath:function(a){i=a},getGlobalPluginsPath:function(){return g+i},getGlobalCssPath:function(){return g+j},getBrandColor:function(a){return k[a]?k[a]:""},getResponsiveBreakpoint:function(a){var b={xs:480,sm:768,md:900,lg:1200};return b[a]?b[a]:0}}}(),Layout=function(){var a="img/",b="css/",c=Metronic.getResponsiveBreakpoint("md"),d=function(){var a,b=$(".page-content"),d=$(".page-sidebar"),e=$("body");if(e.hasClass("page-footer-fixed")===!0&&e.hasClass("page-sidebar-fixed")===!1){var f=Metronic.getViewPort().height-$(".page-footer").outerHeight()-$(".page-header").outerHeight();b.height()<f&&b.attr("style","min-height:"+f+"px")}else{if(e.hasClass("page-sidebar-fixed"))a=g(),e.hasClass("page-footer-fixed")===!1&&(a-=$(".page-footer").outerHeight());else{var h=$(".page-header").outerHeight(),i=$(".page-footer").outerHeight();a=Metronic.getViewPort().width<c?Metronic.getViewPort().height-h-i:d.height()+20,a+h+i<=Metronic.getViewPort().height&&(a=Metronic.getViewPort().height-h-i)}b.attr("style","min-height:"+a+"px")}},e=function(a,b){var d=location.hash.toLowerCase(),e=$(".page-sidebar-menu");if("click"===a||"set"===a?b=$(b):"match"===a&&e.find("li > a").each(function(){var a=$(this).attr("href").toLowerCase();return a.length>1&&d.substr(1,a.length-1)==a.substr(1)?void(b=$(this)):void 0}),b&&0!=b.size()&&"javascript:;"!==b.attr("href").toLowerCase()&&"#"!==b.attr("href").toLowerCase()){parseInt(e.data("slide-speed")),e.data("keep-expanded");e.find("li.active").removeClass("active"),e.find("li > a > .selected").remove(),e.hasClass("page-sidebar-menu-hover-submenu")===!1?e.find("li.open").each(function(){0===$(this).children(".sub-menu").size()&&($(this).removeClass("open"),$(this).find("> a > .arrow.open").removeClass("open"))}):e.find("li.open").removeClass("open"),b.parents("li").each(function(){$(this).addClass("active"),$(this).find("> a > span.arrow").addClass("open"),1===$(this).parent("ul.page-sidebar-menu").size()&&$(this).find("> a").append('<span class="selected"></span>'),1===$(this).children("ul.sub-menu").size()&&$(this).addClass("open")}),"click"===a&&Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click()}},f=function(){jQuery(".page-sidebar").on("click","li > a",function(a){var b=$(this).next().hasClass("sub-menu");if(!(Metronic.getViewPort().width>=c&&1===$(this).parents(".page-sidebar-menu-hover-submenu").size())){if(b===!1)return void(Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click());if(!$(this).next().hasClass("sub-menu always-open")){var e=$(this).parent().parent(),f=$(this),g=$(".page-sidebar-menu"),h=jQuery(this).next(),i=g.data("auto-scroll"),j=parseInt(g.data("slide-speed")),k=g.data("keep-expanded");k!==!0&&(e.children("li.open").children("a").children(".arrow").removeClass("open"),e.children("li.open").children(".sub-menu:not(.always-open)").slideUp(j),e.children("li.open").removeClass("open"));var l=-200;h.is(":visible")?(jQuery(".arrow",jQuery(this)).removeClass("open"),jQuery(this).parent().removeClass("open"),h.slideUp(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})):b&&(jQuery(".arrow",jQuery(this)).addClass("open"),jQuery(this).parent().addClass("open"),h.slideDown(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})),a.preventDefault()}}}),jQuery(".page-sidebar").on("click"," li > a.ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=jQuery(".page-sidebar ul"),e=($(".page-content"),$(".page-content .page-content-body"));d.children("li.active").removeClass("active"),d.children("arrow.open").removeClass("open"),$(this).parents("li").each(function(){$(this).addClass("active"),$(this).children("a > span.arrow").addClass("open")}),$(this).parents("li").addClass("active"),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),Metronic.startPageLoading();var f=$(this);$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){0===f.parents("li.open").size()&&$(".page-sidebar-menu > li.open > a").click(),Metronic.stopPageLoading(),e.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){Metronic.stopPageLoading(),e.html("<h4>Could not load the requested content.</h4>")}})}),jQuery(".page-content").on("click",".ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=($(".page-content"),$(".page-content .page-content-body"));Metronic.startPageLoading(),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){Metronic.stopPageLoading(),d.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){d.html("<h4>Could not load the requested content.</h4>"),Metronic.stopPageLoading()}})}),i(),$(".page-sidebar").on("click",".sidebar-search .remove",function(a){a.preventDefault(),$(".sidebar-search").removeClass("open")}),$(".page-sidebar .sidebar-search").on("keypress","input.form-control",function(a){return 13==a.which?($(".sidebar-search").submit(),!1):void 0}),0!==$(".sidebar-search").size()&&($(".sidebar-search .input-group").on("click",function(a){a.stopPropagation()}),$("body").on("click",function(){$(".sidebar-search").hasClass("open")&&$(".sidebar-search").removeClass("open")}))},g=function(){var a=Metronic.getViewPort().height-$(".page-header").outerHeight();return $("body").hasClass("page-footer-fixed")&&(a-=$(".page-footer").outerHeight()),a},h=function(){var a=$(".page-sidebar-menu");return Metronic.destroySlimScroll(a),0===$(".page-sidebar-fixed").size()?void d():void(Metronic.getViewPort().width>=c&&(a.attr("data-height",g()),Metronic.initSlimScroll(a),d()))},i=function(){var a=$("body");a.hasClass("page-sidebar-fixed")&&$(".page-sidebar").on("mouseenter",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").removeClass("page-sidebar-menu-closed")}).on("mouseleave",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").addClass("page-sidebar-menu-closed")})},j=function(){$("body");$.cookie&&"1"===$.cookie("sidebar_closed")&&Metronic.getViewPort().width>=c?($("body").addClass("page-sidebar-closed"),$(".page-sidebar-menu").addClass("page-sidebar-menu-closed")):$.cookie&&$.cookie("sidebar_closed","0")},k=function(){$(".page-header").on("click",'.hor-menu a[data-toggle="tab"]',function(a){a.preventDefault();var b=$(".hor-menu .nav"),c=b.find("li.current");$("li.active",c).removeClass("active"),$(".selected",c).remove();var d=$(this).parents("li").last();d.addClass("current"),d.find("a:first").append('<span class="selected"></span>')}),$(".page-header").on("click",".search-form",function(a){$(this).addClass("open"),$(this).find(".form-control").focus(),$(".page-header .search-form .form-control").on("blur",function(a){$(this).closest(".search-form").removeClass("open"),$(this).unbind("blur")})}),$(".page-header").on("keypress",".hor-menu .search-form .form-control",function(a){return 13==a.which?($(this).closest(".search-form").submit(),!1):void 0}),$(".page-header").on("mousedown",".search-form.open .submit",function(a){a.preventDefault(),a.stopPropagation(),$(this).closest(".search-form").submit()}),$('[data-hover="megamenu-dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")}),$(document).on("click",".mega-menu-dropdown .dropdown-menu",function(a){a.stopPropagation()})},l=function(){$("body").on("shown.bs.tab",'a[data-toggle="tab"]',function(){d()})},m=function(){var a=300,b=500;navigator.userAgent.match(/iPhone|iPad|iPod/i)?$(window).bind("touchend touchcancel touchleave",function(c){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}):$(window).scroll(function(){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}),$(".scroll-to-top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},b),!1})},n=function(){var a,b=$(".full-height-content");if(a=Metronic.getViewPort().height-$(".page-header").outerHeight(!0)-$(".page-footer").outerHeight(!0)-$(".page-title").outerHeight(!0)-$(".page-bar").outerHeight(!0),b.hasClass("portlet")){var d=b.find(".portlet-body");if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(d.find(".full-height-content-body"));a=a-b.find(".portlet-title").outerHeight(!0)-parseInt(b.find(".portlet-body").css("padding-top"))-parseInt(b.find(".portlet-body").css("padding-bottom"))-2,b.hasClass("full-height-content-scrollable")?(a-=35,d.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(d.find(".full-height-content-body"))):d.css("min-height",a)}else{if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(b.find(".full-height-content-body"));b.hasClass("full-height-content-scrollable")?(a-=35,b.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(b.find(".full-height-content-body"))):b.css("min-height",a)}};return{initHeader:function(){k()},setSidebarMenuActiveLink:function(a,b){e(a,b)},initSidebar:function(){h(),f(),j(),Metronic.isAngularJsApp()&&e("match"),Metronic.addResizeHandler(h)},initContent:function(){n(),l(),Metronic.addResizeHandler(d),Metronic.addResizeHandler(n)},initFooter:function(){m()},init:function(){this.initHeader(),this.initSidebar(),this.initContent(),this.initFooter()},fixContentHeight:function(){d()},initFixedSidebarHoverEffect:function(){i()},initFixedSidebar:function(){h()},getLayoutImgPath:function(){return Metronic.getAssetsPath()+a},getLayoutCssPath:function(){return Metronic.getAssetsPath()+b}}}();angular.module("xCallyShuttleApp").run(["$templateCache",function(a){a.put("app/analytic/extracted/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="fa fa-file-pdf-o"></i>\n <a href="/analytics/extracted/list">{{ \'APPLICATION_EXTRACTED_REPORTS\' | translate }}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="fa fa-file-pdf-o font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_EXTRACTED_REPORTS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/list/create.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_NEW_METRIC\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="forms.metric" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n <span data-ng-show="(forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START TABLE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="item.table" name="table" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE-->\n\n <!-- START METRIC -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$invalid}">\n <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="item.metric" required/></textarea>\n <span data-ng-show="(forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END METRIC -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.metric.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/metric/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-calculator"></i>\n <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <!-- <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-calculator font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_DEFAULT_METRICS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n </div>\n </div> -->\n <!-- <div class="portlet-body"> -->\n <!-- START TABLE -->\n <!-- <div ui-grid="gridOptionsDefault" data-ng-if="gridOptionsDefault" name="gridOptionsDefault" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptionsDefault.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div> -->\n <!-- END TABLE -->\n <!-- </div> -->\n <div class="portlet-title"><!-- removed margin-top20 class from title when commented the default metrics section-->\n <div class="caption font-green-sharp">\n <i class="icon-calculator font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_METRICS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <div class="btn-group">\n <button class="btn green-jungle " ng-click="create()">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_METRIC\' | translate }}\n </button>\n </div>\n <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" data-ng-if="gridOptions" name="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/list/view.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_METRIC\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="forms.metric" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}</label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required readonly/>\n <span data-ng-show="(forms.metric.name.$touched || forms.metric.$submitted) && forms.metric.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START TABLE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}</label>\n <ui-select data-ng-model="item.table" name="table" theme="bootstrap" required data-ng-disabled="true">\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.metric.table.$touched || forms.metric.$submitted) && forms.metric.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE-->\n\n <!-- START METRIC -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$invalid}">\n <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}</label>\n <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="item.metric" required readonly/></textarea>\n <span data-ng-show="(forms.metric.metric.$touched || forms.metric.$submitted) && forms.metric.metric.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END METRIC -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description" readonly></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn default" type="button" ng-click="close()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/analytic/metric/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getMetric()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-eye"></i>\n <a href="/analytics/metrics/list">{{ \'APPLICATION_METRICS\' | translate }}</a>\n <i data-ng-show="metric" class="fa fa-angle-right"></i>\n </li>\n <li data-ng-show="metric">\n <a href="#">{{metric.name}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE SIDEBAR -->\n <div class="profile-sidebar">\n <!-- PORTLET MAIN -->\n <div class="portlet light profile-sidebar-portlet">\n <!-- SIDEBAR USERPIC -->\n <div class="profile-image">\n <img data-ng-src="assets/images/media/metric.png" class="img-responsive">\n </div>\n <!-- END SIDEBAR USERPIC -->\n <!-- SIDEBAR USER TITLE -->\n <div class="profile-usertitle">\n <div class="profile-usertitle-name">\n {{metric.name}}\n </div>\n <!-- <div class="profile-usertitle-job">\n {{user.role}}\n </div> -->\n </div>\n <!-- END SIDEBAR USER TITLE -->\n\n <!-- SIDEBAR MENU -->\n <div class="profile-usermenu">\n <ul class="nav">\n <li data-ng-class="{active: $state.is(\'main.analytics.metrics.view.settings\')}">\n <a data-ng-href="/analytics/metrics/view/{{metric.id}}/settings">\n <i class="icon-settings"></i>\n {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n </li>\n </ul>\n </div>\n <!-- END MENU -->\n </div>\n <!-- END PORTLET MAIN -->\n </div>\n <!-- END BEGIN PROFILE SIDEBAR -->\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/metric/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_METRIC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n </div>\n <ul class="nav nav-tabs">\n <li class="active">\n <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n </li>\n </ul>\n </div>\n\n <div class="portlet-body">\n <div class="tab-content">\n <!-- GENERAL TAB -->\n <div class="tab-pane active" id="tab_1_1">\n <form name="forms.general" data-ng-submit="forms.general.$valid && updateMetric()" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="metric.name" required/>\n <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START TABLE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="metric.table" name="table" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.general.table.$touched || forms.general.$submitted) && forms.general.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE-->\n\n <!-- START METRIC -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$invalid}">\n <label class="control-label">{{\'APPLICATION_METRIC\' | translate}}<span class="required" aria-required="true">*</span></label>\n <textarea type="text" name="metric" placeholder="{{\'APPLICATION_METRIC\' | translate}}" class="form-control" data-ng-model="metric.metric" required/></textarea>\n <span data-ng-show="(forms.general.metric.$touched || forms.general.$submitted) && forms.general.metric.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END METRIC -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="metric.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n </form>\n </div>\n <!-- END ADVANCED TAB -->\n\n </div>\n </div>\n </div>\n </div>\n</div>\n'),
+a.put("app/analytic/report/list/copy.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_COPY_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp" style="padding-left:10px;">\n <i class="icon-folder font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_COPY_TO\' | translate }} </span>\n </div>\n </div>\n <div class="portlet-body">\n <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;"></div>\n </div>\n </div>\n <div class="has-error">\n <span data-ng-show="showAlert" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_SELECT_FOLDER\' | translate}}.\n </span>\n </div>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" data-ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/create.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_NEW_REPORT\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="forms.report" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n <div class="form-group" data-ng-class="{\'has-error\': (forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_PATH\' | translate}}<span class="required" aria-required="true"></span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_PATH\' | translate}}" class="form-control" data-ng-model="path" disabled/>\n <span data-ng-show="(forms.report.name.$touched || forms.report.$submitted) && forms.report.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/deleteNode.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_DELETE_FOLDER\' | translate }}</h3>\n</div>\n<div class="modal-body">\n<p>\n {{\'MESSAGE_DELETE_NODE\' | translate}} : <b>{{node}}</b>?\n</p>\n<p>\n {{\'MESSAGE_ALL_REPORTS_WILL_BE_DELETED\' | translate}}\n</p>\n</div>\n<div class="modal-footer">\n <button class="btn btn-danger" type="button" ng-click="ok()" ng-disabled="forms.report.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/extract.modal.html",'<div class="modal-header">\n <button type="button" ng-click="cancel()" class="close">×</button>\n <h4 class="modal-title">{{ \'APPLICATION_EXTRACT_REPORT\' | translate }}</h4>\n</div>\n<div class="modal-body" style="text-align:center;">\n <form name="forms.report" class="form-inline mbottom20" novalidate>\n <div class="form-group" data-ng-class="{\'hidden\':daily}">\n <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}</label>\n <input type="daterange" name="dates" ranges="ranges" style="min-width:190px;" enabletimepicker="timepicker" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" max-date="{{maxdate}}" data-ng-required="!daily" data-ng-disabled="daily" data-ng-class="{\'disabled-invisible\':daily}" style="cursor:pointer;" readonly/>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_FROM\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.start" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_TO\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.end" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <!-- START STATUS -->\n <div class="form-group">\n <input\n bs-switch\n class="form-control"\n ng-model="daily"\n type="checkbox"\n name="auth"\n switch-active="{{ dailySwitch.isActive }}"\n switch-on-text="{{ dailySwitch.onText }}"\n switch-off-text="{{ dailySwitch.offText }}"\n switch-on-color="{{ dailySwitch.onColor }}"\n switch-off-color="{{ dailySwitch.offColor }}"\n switch-animate="{{ dailySwitch.animate }}"\n switch-size="{{ dailySwitch.size }}"\n switch-label="{{ dailySwitch.label }}"\n switch-icon="{{ dailySwitch.icon }}"\n switch-radio-off="{{ dailySwitch.radioOff }}"\n switch-label-width="{{ dailySwitch.labelWidth }}"\n switch-handle-width="{{ dailySwitch.handleWidth }}">\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn default green-jungle" type="button" data-ng-click="extract(\'csv\')"><i class="fa fa-file-excel-o"></i> {{ \'APPLICATION_SAVE_AS_CSV\' | translate }}</button>\n <button class="btn default red-intense" type="button" data-ng-click="extract(\'pdf\')"><i class="fa fa-file-pdf-o"></i> {{ \'APPLICATION_SAVE_AS_PDF\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTrees()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-book-open"></i>\n <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n </li>\n </ul>\n </div>\n <div class="col-fixed">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp" style="padding-left:10px;">\n <i class="icon-folder font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_FOLDERS\' | translate }} </span>\n </div>\n <div class="inputs">\n <div class="portlet-input input-inline input-small">\n <div class="input-icon right">\n <i class="icon-magnifier"></i>\n <input type="text" data-ng-model="searchField" data-ng-change="searchTrees()" class="form-control input-circle" placeholder="search...">\n </div>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <div js-tree="defaultTreeConfig" ng-model="defaultTreeData" should-apply="ac()" tree="defaultTreeInstance" tree-events="ready:initDefaultScopeTree;select_node:selectDefaultNode;"></div>\n <div js-tree="customTreeConfig" ng-model="customTreeData" should-apply="ac()" tree="customTreeInstance" tree-events="ready:initCustomScopeTree;select_node:selectCustomNode;rename_node:updateCustomTree;delete_node:updateCustomTree;move_node:updateCustomTree;create_node:updateCustomTree;"></div>\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n <div class="row tree-row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-book-open font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_REPORTS\' | translate }}<span data-ng-if="selectedNode"> - {{selectedNode}}</span></span>\n </div>\n <div data-ng-if="!defaultTreeActive" class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <div class="btn-group">\n <span class="btn default btn-file">\n <span class="fileinput-new">\n <i class="icon-cloud-upload"></i> {{\'APPLICATION_IMPORT_FROM_JSON\' | translate}}</span>\n <input type="file" on-read-file="import($fileContent)"/>\n </span>\n </div>\n <div class="btn-group">\n <button class="btn green-jungle " ng-click="create()">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_REPORT\' | translate }}\n </button>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <div ng-slide-down="gridOptions" lazy-render duration="1">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n </div>\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/list/preview.modal.html",'<div class="modal-header">\n <button type="button" ng-click="cancel()" class="close">×</button>\n <h4 class="modal-title">{{ \'APPLICATION_REPORT_PREVIEW\' | translate }}</h4>\n</div>\n<div class="modal-body" style="text-align:center;">\n <form name="forms.report" class="form-inline mbottom20" novalidate>\n <div class="form-group" data-ng-class="{\'hidden\':daily}">\n <label class="control-label">{{\'APPLICATION_DATE_RANGE\' | translate}}<span class="required" aria-required="true"></span></label>\n <input type="daterange" name="dates" ranges="ranges" style="min-width:190px;" enabletimepicker="timepicker" placeholder="{{\'APPLICATION_DATE_RANGE\' | translate}}" class="form-control" data-ng-model="dates" data-ng-change="getPage()" max-date="{{maxdate}}" data-ng-required="!daily" data-ng-disabled="daily" data-ng-class="{\'disabled-invisible\':daily}" style="cursor:pointer;" readonly/>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_FROM\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.start" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <div class="form-group" data-ng-if="daily">\n <label class="control-label">{{\'APPLICATION_TO\' | translate}}</label>\n </div>\n <div class="form-group" data-ng-if="daily">\n <uib-timepicker ng-model="dailyTime.end" ng-change="changed()" hour-step="1" minute-step="1" show-meridian="false"></uib-timepicker>\n </div>\n <div class="form-group" data-ng-if="daily">\n <button class="btn btn-small btn-sm btn-success" data-ng-click="getPage()">Apply</button>\n </div>\n <div class="form-group">\n <input\n bs-switch\n class="form-control"\n ng-model="daily"\n type="checkbox"\n name="auth"\n data-ng-change="getPage()"\n switch-active="{{ dailySwitch.isActive }}"\n switch-on-text="{{ dailySwitch.onText }}"\n switch-off-text="{{ dailySwitch.offText }}"\n switch-on-color="{{ dailySwitch.onColor }}"\n switch-off-color="{{ dailySwitch.offColor }}"\n switch-animate="{{ dailySwitch.animate }}"\n switch-size="{{ dailySwitch.size }}"\n switch-label="{{ dailySwitch.label }}"\n switch-icon="{{ dailySwitch.icon }}"\n switch-radio-off="{{ dailySwitch.radioOff }}"\n switch-label-width="{{ dailySwitch.labelWidth }}"\n switch-handle-width="{{ dailySwitch.handleWidth }}">\n </div>\n </form>\n <div ng-slide-down="showResult" lazy-render duration="1">\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-exporter class="grid extract-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n </div>\n</div>\n<div class="modal-footer">\n<button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/analytic/report/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getReport()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-book-open"></i>\n <a href="/analytics/reports/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n <i data-ng-show="report" class="fa fa-angle-right"></i>\n </li>\n <li data-ng-show="report">\n <a href="#">{{report.name}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/report/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <div class="caption-subject font-blue-madison bold uppercase dot">{{ \'APPLICATION_REPORT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} - {{report.name}} </div>\n </div>\n <ul class="nav nav-tabs">\n <li>\n <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n </li>\n <li class="active">\n <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_BUILD\' | translate}}</a>\n </li>\n <li>\n <a href="#" data-target="#tab_1_3" data-toggle="tab" data-ng-click="showResult = true">{{ \'APPLICATION_TEST_PREVIEW\' | translate}}</a>\n </li>\n </ul>\n </div>\n\n <div class="portlet-body">\n\n <div class="tab-content">\n\n <!-- GENERAL TAB -->\n <div class="tab-pane" id="tab_1_1">\n <form name="forms.general" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="report.name" required/>\n <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="report.description"></textarea>\n </div>\n <!-- END DESCRIPTION -->\n\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}" />\n </form>\n </div>\n <!-- END GENERAL TAB -->\n\n <!-- BUILD TAB -->\n <div class="tab-pane active" id="tab_1_2">\n <form name="forms.report" data-ng-submit="forms.report.$valid && forms.general.$valid && updateReport()" novalidate>\n <!-- START TABLE INPUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$invalid}">\n <label class="control-label">{{\'APPLICATION_TABLE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="report.table" name="table" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{\'APPLICATION_\'+$select.selected.value.toUpperCase() | translate}}</ui-select-match>\n <ui-select-choices group-by="\'channel\'" repeat="table.value as table in tables | filter: $select.search">\n <div ng-bind-html="\'APPLICATION_\'+table.value.toUpperCase() | translate | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.report.table.$touched || forms.report.$submitted) && forms.report.table.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TABLE INPUT-->\n <div data-ng-if="report.table" class="mbottom20 pbottom20 table-responsive">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_FIELDS\' | translate}} </span>\n </div>\n </div>\n <!-- START TABLE -->\n <table class="table table-striped table-bordered table-hover">\n <thead>\n <tr>\n <th>{{ \'APPLICATION_FIELD\' | translate }} / {{ \'APPLICATION_METRIC\' | translate }}</th>\n <th style="min-width:167px;">{{ \'APPLICATION_ALIAS\' | translate }}</th>\n <th>{{ \'APPLICATION_FUNCTION\' | translate }}</th>\n <th>{{ \'APPLICATION_FORMAT\' | translate }}</th>\n <th>{{ \'APPLICATION_GROUP_BY\' | translate }}</th>\n <th>{{ \'APPLICATION_ORDER_BY\' | translate }}</th>\n <th></th>\n <th style="min-width:66px;"></th>\n </tr>\n </thead>\n <tbody ui-sortable="sortableOptions" data-ng-model="report.Fields">\n <tr data-ng-repeat="field in report.Fields">\n <td>\n <!-- START FIELD -->\n <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.field}">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <div class="input-group">\n <ui-select data-ng-if="!field.custom" data-ng-model="field.field" dynamic-name="randomName()" theme="bootstrap" on-select="setMetricId($item,$index)" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}"><span ng-bind-html="$select.selected.name"></span></ui-select-match>\n <ui-select-choices repeat="tableField.value as tableField in tableFields | filter: $select.search">\n <div ng-bind-html="tableField.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <input data-ng-if="field.custom" type="text" dynamic-name="randomName()" placeholder="{{\'APPLICATION_CUSTOM\' | translate}}" class="form-control" data-ng-model="field.field" required/>\n <span class="input-group-btn">\n <button type="button" data-ng-click="toggleCustom(field)" class="btn btn-default">\n <span class="icon-pencil" data-ng-class="{\'font-blue\':field.custom}"></span>\n </button>\n </span>\n </div>\n <span data-ng-show="forms.report.$submitted && !field.field" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END FIELD-->\n </td>\n <td>\n <!-- START ALIAS -->\n <div class="form-group" data-ng-class="{\'has-error\': forms.report.$submitted && !field.alias}">\n <!-- <label class="control-label">{{\'APPLICATION_ALIAS\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <input type="text" dynamic-name="randomName()" placeholder="{{\'APPLICATION_ALIAS\' | translate}}" class="form-control" data-ng-model="field.alias" data-ng-pattern="\'[A-Za-z0-9 <>=,.%_\\\\+*!\\\\-\\\\[\\\\]]+\'" required/>\n <span data-ng-show="forms.report.$submitted && !field.alias" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n <span data-ng-show="forms.report.$submitted && !field.alias" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n </span>\n </div>\n <!-- END ALIAS -->\n </td>\n <td>\n <!-- START FUNCTION -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.function" name="function" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_FUNCTION\' | translate}}" allow-clear>{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="function.value as function in functions | filter: $select.search">\n <div ng-bind-html="function.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END FUNCTION-->\n </td>\n <td>\n <!-- START FORMAT -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.format" name="format" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_FORMAT\' | translate}}" allow-clear>{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="format.value as format in formatFunctions | filter: $select.search">\n <div ng-bind-html="format.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END FORMAT-->\n </td>\n <td>\n <!-- START GROUP_BY -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.groupBy" name="groupBy" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_GROUP_BY\' | translate}}">{{$select.selected.name | translate}}</ui-select-match>\n <ui-select-choices repeat="groupBy.value as groupBy in groupByField | filter: $select.search">\n {{$translate.instant(groupBy.name)}}\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END GROUP_BY-->\n </td>\n <td>\n <!-- START ORDER_BY -->\n <div class="form-group">\n <!-- <label class="control-label">{{\'APPLICATION_FIELD\' | translate}}<span class="required" aria-required="true">*</span></label> -->\n <ui-select data-ng-model="field.orderBy" name="orderBy" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_ORDER_BY\' | translate}}" allow-clear>{{$select.selected}}</ui-select-match>\n <ui-select-choices repeat="orderBy in [\'ASC\',\'DESC\'] | filter: $select.search">\n <div ng-bind-html="orderBy | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END TABLE INPUT-->\n </td>\n <td class="report-field-remove">\n <button class="btn red" type="button" data-ng-click="removeField($index)"><i class="fa fa-times"></i></button>\n </td>\n <td class="report-field-handle">\n <!-- <img data-ng-src="assets/images/move.png" class="img-responsive"> -->\n </td>\n </tr>\n <tr data-ng-hide="report.Fields.length" class="unsortable">\n <td colspan="8" style="text-align:center;">\n <i>{{ \'MESSAGE_ADD_A_FIELD\' | translate }}</i>\n </td>\n </tr>\n </tbody>\n </table>\n <button type="button" class="btn btn-sm green padding-bottom" ng-click="addField()">\n <i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}\n </button>\n <!-- END TABLE -->\n </div>\n <div data-ng-if="report.Fields.length" class="mbottom20 pbottom20">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONDITIONS\' | translate}} </span>\n </div>\n </div>\n <div class="alert alert-info">\n <strong>Output</strong>\n <br>\n <span ng-bind-html="output"></span>\n </div>\n\n <report-builder group="report.conditions.group" fields="tableFields" forms="forms" firstCall=\'true\'></report-builder>\n </div>\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}" />\n </form>\n </div>\n <!-- END BUILD TAB -->\n\n <!-- PREVIEW TAB -->\n <div class="tab-pane" id="tab_1_3">\n <div ng-slide-down="showResult" lazy-render duration="0.5">\n <div ui-grid="gridOptions" data-ng-if="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-move-columns class="grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n </div>\n </div>\n <!-- END PREVIEW TAB -->\n\n </div>\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/channels/chat/offline/list/list.html",'<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-login"></i>\n <a href="/channels/chat/offline/list">{{ \'APPLICATION_OFFLINE\' | translate }}</a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-question font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_OFFLINE_MESSAGES\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/offline/message/message.directive.html",'<div class="message">\n <div class="row">\n <div class="col-md-12">\n <span class="bold">From: </span>\n [<a href="" data-ng-click="openContact(message.email)">{{message.email}}</a>]\n </div>\n </div>\n <br>\n <span class="todo-tasklist-date">\n <i class="icon-calendar"></i> {{message.createdAt | date:\'medium\'}} (<span am-time-ago="message.createdAt"></span>)\n </span>\n <hr>\n <div class="body text-left message-body" data-ng-bind="message.text"></div>\n <h5 data-ng-hide="message.text" class="media-heading"><i>{{\'MESSAGE_NO_AVAILABLE_TEXT\' | translate | lowercase}}</i></h5>\n</div>\n'),a.put("app/channels/chat/offline/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView();">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-login"></i>\n <a href="/channels/chat/offline/list">Offline</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-user"></i>\n <a href="#">{{enquiry.username}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE CONTENT -->\n <div class="portlet light">\n <div class="portlet-title">\n <div class="caption">\n <span data-ng-if="enquiry.ChatWebsite" class="caption-subject font-green-sharp bold uppercase">{{enquiry.ChatWebsite.name}}</span>\n </div>\n </div>\n <div class="portlet-body">\n <div class="row">\n <div class="col-md-4">\n <!-- Visitor Information -->\n <div class="portlet">\n <div class="portlet-body">\n <v-accordion class="vAccordion--default">\n <v-pane expanded="true">\n <v-pane-header>\n <ng-letter-avatar data-ng-if="enquiry.ChatVisitor" height="40" width="40" data="{{enquiry.ChatVisitor.fullname}}" fontsize="25" avatarcustombgcolor="#B0B0B0" charCount="2" avatarcustomborder="border:2px solid #EA4C61" shape="round"></ng-letter-avatar>\n </v-pane-header>\n <v-pane-content>\n {{\'APPLICATION_NAME\' | translate}}:<p>{{enquiry.ChatVisitor.fullname}}</p>\n {{\'APPLICATION_EMAIL\' | translate}}:<p><a data-ng-click="openContact(enquiry.ChatVisitor.email)" href="">{{enquiry.ChatVisitor.email}}</a></p>\n <span data-ng-if="enquiry.ChatVisitor.labelOfflineData1">{{enquiry.ChatVisitor.labelOfflineData1}}: <p>{{enquiry.ChatVisitor.offlineData1}}</p></span>\n <span data-ng-if="enquiry.ChatVisitor.labelOfflineData2">{{enquiry.ChatVisitor.labelOfflineData2}}: <p>{{enquiry.ChatVisitor.offlineData2}}</p></span>\n <span data-ng-if="enquiry.ChatVisitor.labelOfflineData3">{{enquiry.ChatVisitor.labelOfflineData3}}: <p>{{enquiry.ChatVisitor.offlineData3}}</p></span>\n {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}:<p>{{enquiry.ChatVisitor.remote_address}}</p>\n {{\'APPLICATION_BROWSER\' | translate}}:<p>{{enquiry.ChatVisitor.browser}}</p>\n {{\'APPLICATION_REFERER\' | translate}}:<p>{{enquiry.ChatVisitor.referer}} - {{enquiry.ChatWebsite.name}}</p>\n {{\'APPLICATION_OS\' | translate}}:<p>{{enquiry.ChatVisitor.os}}</p>\n </v-pane-content>\n </v-pane>\n </v-accordion>\n </div>\n </div>\n </div>\n <div class="col-md-8">\n <!-- Offline message -->\n <div id="mail-box">\n <ul class="chats">\n <li class="in">\n <enquiry-message message="enquiry" list-id="enquiry.ChatWebsite.ListId"></enquiry-message>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
a.put("app/channels/chat/online/list/list.html",'<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-login"></i>\n <a href="/channels/chat/online/list">{{ \'APPLICATION_ONLINE\' | translate }}</a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-question font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/online/view/view.detail.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_DETAIL\' | translate}}</span>\n </div>\n </div>\n <div class="portlet-body row" data-ng-init="initView()">\n <div class="col-md-6">\n <div class="news-blocks">\n <h3>\n <a href="#" class="inactive-link">{{\'APPLICATION_MESSAGES\' | translate}}</a>\n <!-- <a href="#" data-ng-click="export()" data-ng-show="chatRoom.ChatMessages.length" class="btn btn-sm blue pull-right"><i class="icon-cloud-download"></i> {{\'APPLICATION_EXPORT\' | translate}} CSV </a> -->\n <a href="api/chat/rooms/{{chatRoom.id}}/export" target="_blank" data-ng-show="chatRoom.ChatMessages.length" class="btn btn-sm blue pull-right"><i class="icon-cloud-download"></i> {{\'APPLICATION_EXPORT\' | translate}} CSV </a>\n <hr>\n </h3>\n <div class="news-block-tags">\n <em am-time-ago="chatRoom.ChatVisitor.ChatEnquiry.createdAt"></em>\n </div>\n <p>\n <div ng-scrollbars ng-scrollbars-config="config">\n <ul class="chats">\n <li data-ng-class="{\'out\': message.User, \'in\':message.ChatVisitor}" data-ng-repeat="message in chatRoom.ChatMessages | orderBy:\'createdAt\'">\n <img class="avatar" data-ng-src="api/users/avatar/{{message.User.userpic || \'unknown_avatar\'}}">\n <div class="message">\n <span class="arrow">\n </span>\n <a href="#" class="name">\n {{message.User ? message.User.fullname : message.ChatVisitor.fullname}}\n </a>\n <span class="datetime">\n at {{message.createdAt | date: \'medium\'}}\n </span>\n <span class="body">\n {{message.body}}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class="col-md-6">\n <div class="news-blocks">\n <h3>\n <a href="#" class="inactive-link">{{\'APPLICATION_VISITOR\' | translate}}</a>\n <hr>\n </h3>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-user"></i>\n <a href="#" class="inactive-link">{{chatRoom.ChatVisitor.fullname}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-envelope"></i>\n <a href="#" class="inactive-link">{{chatRoom.ChatVisitor.email}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-globe"></i>\n <a href="#" class="inactive-link">{{chatRoom.ChatVisitor.remote_address}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-home"></i>\n <a href="#" class="inactive-link">{{chatRoom.ChatVisitor.referer}} - {{chatRoom.ChatVisitor.ChatWebsite.name}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-cursor"></i>\n <a href="#" class="inactive-link">{{chatRoom.ChatVisitor.browser}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-screen-desktop"></i>\n <a href="#" class="inactive-link">{{chatRoom.ChatVisitor.os}}</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n'),a.put("app/channels/chat/online/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-login"></i>\n <a href="/channels/chat/online/list">Online</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE SIDEBAR -->\n <div class="profile-sidebar">\n <!-- PORTLET MAIN -->\n <div class="portlet light profile-sidebar-portlet">\n <!-- SIDEBAR USERPIC -->\n <div class="profile-image">\n <img data-ng-src="assets/images/media/enquiry.png" class="img-responsive">\n </div>\n <!-- END SIDEBAR USERPIC -->\n <!-- START USER TITLE -->\n <div class="profile-usertitle">\n <div class="profile-usertitle-name">\n {{chatRoom.ChatVisitor.email}}\n </div>\n <div class="profile-usertitle-job">\n {{chatRoom.ChatVisitor.fullname}}\n </div>\n </div>\n <!-- END USER TITLE -->\n <!-- SIDEBAR MENU -->\n <div class="profile-usermenu">\n <ul class="nav">\n <li data-ng-class="{active: $state.is(\'main.channels.chat.online.view.detail\')}">\n <a data-ng-href="/channels/chat/online/view/{{chatRoom.id}}/detail">\n <i class="icon-tag"></i>\n {{ \'APPLICATION_DETAIL\' | translate}} </a>\n </li>\n </ul>\n </div>\n <!-- END MENU -->\n </div>\n <!-- END PORTLET MAIN -->\n </div>\n <!-- END BEGIN PROFILE SIDEBAR -->\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/preview/preview.html",'<style>\n.xc_header_logo\n{\n display:block;\n background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/motion_logo.png);\n width:40px;\n height:40px;\n float:left;;\n margin-left: 10px !important;\n margin-top: 6px !important;\n}\n.xc_rating {\n text-align: center;\n}\n.xc_rating_label > input{ /* HIDE RADIO */\n display:none;\n}\n.xc_rating_label > input + img{ /* IMAGE STYLES */\n cursor:pointer;\n border:2px solid transparent;\n}\n.xc_rating_label > input:checked + img{ /* (CHECKED) IMAGE STYLES */\n /*border:2px solid #f00;*/\n background-color: #efefef;\n}\n\n.xc_label {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n.xc_online_message,\n.xc_offline_message,\n.xc_rating_message\n{\n text-align: center;\n}\n\n.xc_div_group {\n margin: 10px 0 10px 0;\n}\n.xc_footer\n{\n text-align: center;\n padding-bottom: 5px;\n}\n\n.xc_powered\n{\n color: grey;\n font: 10px/16px "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;\n padding-bottom: 5px;\n}\n\n.xc_chat_container\n{\n //width:379px;\n //position:fixed;\n //bottom:0;\n //right:50px;\n z-index:9999;\n background-color:transparent;\n}\n\n.xc_chat_container *\n{\n font-family:Arial,Helvetica,sans-serif;\n font-size:13px;\n margin:0;\n padding:0;\n}\n\n.xc_chat_container p\n{\n margin:5px 0;\n}\n\n.xc_signup_wrapper\n{\n max-height:375px;\n}\n\n.xc_conversation_container\n{\n max-height:375px;\n list-style:none;\n overflow:auto;\n margin:0;\n padding:20px 10px;\n}\n\n.xc_conversation_container a\n{\n color:#036;\n}\n\n.xc_conversation_container a.xc_btn_style\n{\n color:#fff;\n}\n\ndiv.xc_chat_head\n{\n color:#fff;\n background:{{chatWebsite.color}};\n //border-radius: 20px 20px 0px 0px !important;\n height:52px;\n line-height:55px;\n cursor:pointer;\n}\n\ndiv.xc_chat_head.rounded\n{\n border-radius: 20px 20px 0px 0px !important;\n}\n\ndiv.xc_chat_head.squared\n{\n //border-radius: 20px 20px 0px 0px !important;\n}\n\n.xc_chat_head-title\n{\n margin:5px 0 0 15px;\n color: #fff;\n}\n\n.xc_header_icon\n{\n display:block;\n background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/iconVisitorchat.png);\n width:21px;\n height:16px;\n float:right;\n margin:20px 20px 0 0;\n}\n\n.xc_header_icon span.xc_notification_badge span\n{\n display:block;\n height:16px;\n width:15px;\n text-align:center;\n font-size:9px;\n color:#555;\n position:relative;\n top:-20px;\n left:4px;\n margin:0;\n padding:0;\n}\n\n.xc_sub-head-spacer\n{\n padding:1px;\n}\n\n.xc_conversation\n{\n display:none;\n margin:0 12px 0 11px;\n}\n\n.xc_chat_toggle_container\n{\n /*background:mediumslateblue center 52px;*/\n background: white;\n border-style: solid;\n border-width: 1px;\n border-color: {{chatWebsite.color}};\n //display:none;\n}\n\n.xc_signup_wrapper,.xc_notifications_wrapper,.xc_enquiry_wrapper,.xc_rating_wrapper\n{\n //display:none;\n display:block;\n overflow:auto;\n line-height:1;\n padding:25px;\n}\n\n.xc_exit_chat_container\n{\n text-align:right;\n width:95%;\n margin:0 auto;\n padding:5px 1px 0 0;\n}\n\n.xc_exit_chat_container span,.xc_exit_chat_container a\n{\n font-size:80%;\n color:#666;\n text-decoration:none;\n}\n\n.xc_exit_chat_container a:hover\n{\n color:#333;\n}\n\na.xc_btn_exit_chat_confirm:hover\n{\n color:red;\n}\n\na.xc_btn_exit_chat_cancel:hover\n{\n color:#0c0;\n}\n\nform.xc_form_reply\n{\n position:relative;\n}\n\n.xc_form_reply\n{\n /*background-color:#e3e3e3;*/\n text-align:center;\n /*border-top:1px solid #d3d3d3;*/\n}\n\n.xc_input_message\n{\n height:100px;\n margin:10px auto 5px;\n}\n\n.xc_input_enquiry_message,\n.xc_input_rating_message\n{\n height:100px;\n}\n\n.xc_form_signup,.xc_form_enquiry,.xc_form_rating\n{\n /*text-align:center;*/\n}\n\n.xc_chat_container textarea,.xc_chat_container input[type=text]\n{\n width:95%;\n min-width:95%;\n max-width:95%;\n -webkit-box-sizing:border-box;\n -moz-box-sizing:border-box;\n box-sizing:border-box;\n background-color:#fff;\n border:1px solid #ccc;\n -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n -moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n -webkit-transition:border linear .2s, box-shadow linear .2s;\n -moz-transition:border linear .2s, box-shadow linear .2s;\n -o-transition:border linear .2s, box-shadow linear .2s;\n transition:border linear .2s, box-shadow linear .2s;\n display:inline-block;\n font-size:14px;\n line-height:20px;\n color:#555;\n -webkit-border-radius:4px;\n -moz-border-radius:4px;\n border-radius:4px;\n vertical-align:middle;\n margin:3px 0;\n padding:4px 6px;\n resize: none;\n}\n\n.xc_chat_container textarea:focus,.xc_chat_container input[type=text]:focus\n{\n outline: {{chatWebsite.color_focus}} auto 5px;\n}\n\n.xc_chat_container input[type=text]\n{\n height: 30px;\n}\n\n.xc_message_sending textarea, .xc_enquiry_sending textarea\n{\n background: #fff url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/loading.gif) 98% 5px no-repeat;\n}\n\n.xc_chatrow\n{\n display:block;\n border-top:1px dashed #e3e3e3;\n margin:5px 0;\n clear: both;\n}\n\n.xc_chatrow p\n{\n color:#444;\n word-wrap:break-word;\n}\n\n.xc_time\n{\n float:right;\n font-size:80%;\n color:#ccc;\n padding-left:12px;\n margin:3px;\n}\n\n.xc_submission_pending\n{\n background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_clock.png) left center norepeat;\n}\n\n.xc_submission_confirmed\n{\n background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_tick.png) left center norepeat;\n}\n\n.xc_fullname\n{\n font-weight:700;\n}\n\n.xc_fullname:after\n{\n content:":";\n}\n\n.xc_avatar\n{\n float: left;\n margin: 0 5px 5px 0;\n display: inline-block;\n width: 40px;\n height: 40px;\n border-radius: 5px;\n -moz-border-radius: 5px;\n -webkit-border-radius: 5px;\n}\n\n.xc_smilie\n{\n background-repeat:no-repeat;\n display:inline-block;\n width:18px;\n height:18px;\n text-indent:-9999px;\n white-space:nowrap;\n}\n\n.xc_btn_load_more\n{\n width:100%!important;\n}\n\n.xc_notifications_wrapper\n{\n text-shadow:0 1px 0 rgba(255,255,255,0.5);\n}\n\n.xc_notification_success\n{\n color:#468847;\n}\n\n.xc_notification_error\n{\n color:#b94a48;\n}\n\n.xc_errorlist\n{\n margin:0 0 0 25px;\n padding:0;\n}\n\ni.xc_btn_notifications_close\n{\n float:right;\n font-weight:700;\n font-size:20px;\n color:#ccc;\n cursor:pointer;\n margin:-15px 0 0;\n padding:0;\n}\n\n.xc_btn_style\n{\n width:95%;\n text-align:center;\n line-height:1.2;\n font-size:90%;\n -moz-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n -webkit-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n background:0;\n background-color:{{chatWebsite.color_button}};\n -moz-border-radius:4px;\n -webkit-border-radius:4px;\n border-radius:4px;\n border:1px solid {{chatWebsite.color_button}};\n display:inline-block;\n color:#fff;\n font-weight:700;\n text-decoration:none;\n text-shadow:1px 1px 0 #000c17;\n margin:0 auto 5px;\n padding:2px 0;\n}\n\n.xc_btn_style:hover\n{\n background:0;\n background-color:{{chatWebsite.color_button}};\n color: #fff;\n text-decoration: none;\n}\n\n.xc_btn_style:active\n{\n position:relative;\n top:1px;\n}\n\n.xc_composing_container\n{\n display: none;\n width: 95%;\n margin: 0 auto;\n background: transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_pencil.png) 6px center no-repeat;\n padding-left: 19px;\n font-style: italic;\n}\n\n@media only screen and (max-height: 620px) {\n .xc_conversation_container\n {\n max-height:300px!important;\n }\n}\n\n@media only screen and (max-height: 545px) {\n .xc_conversation_container\n {\n max-height:200px!important;\n }\n}\n\n@media only screen and (max-height: 445px) {\n .xc_conversation_container\n {\n max-height:150px!important;\n }\n}\n\n@media only screen and (max-width: 480px) {\n .xc_chat_container\n {\n width:95%!important;\n right:auto!important;\n -webkit-border-top-left-radius:15px;\n -webkit-border-top-right-radius:15px;\n -moz-border-radius-topleft:15px;\n -moz-border-radius-topright:15px;\n border-top-left-radius:15px;\n border-top-right-radius:15px;\n box-shadow:0 0 5px rgba(0,0,0,.5);\n -webkit-box-shadow:0 0 5px rgba(0,0,0,.5);\n -moz-box-shadow:0 0 5px rgba(0,0,0,.5);\n }\n\n div.xc_chat_head\n {\n background-color:#036;\n background-image:none;\n line-height:25px;\n height:auto;\n -webkit-border-top-left-radius:15px;\n -webkit-border-top-right-radius:15px;\n -moz-border-radius-topleft:15px;\n -moz-border-radius-topright:15px;\n border-top-left-radius:15px;\n border-top-right-radius:15px;\n padding:10px;\n }\n\n .xc_chat_toggle_container\n {\n background-color:#fff;\n background-image:none;\n border-color:#036;\n border-style:solid;\n border-width:0 1px;\n }\n\n .xc_header_icon\n {\n background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n margin:0;\n }\n\n .xc_header_icon span.xc_notification_badge span\n {\n top:-5px;\n left:5px;\n }\n\n .xc_notification_success\n {\n background-color:#dff0d8;\n border:1px solid #d6e9c6;\n }\n\n .xc_conversation_container\n {\n max-height:375px;\n border-color:#036;\n }\n\n .xc_notification_error\n {\n background-color:#f2dede;\n border:1px solid #eed3d7;\n }\n\n .xc_sub-head-spacer\n {\n display:none;\n padding:0;\n }\n\n .xc_chat_head-title,.xc_conversation\n {\n margin:0;\n }\n}\n</style>\n<div class="xc_chat_container">\n <div class="xc_chat_head {{chatWebsite.header_shape}}">\n <i class="xc_header_icon">\n <span class="xc_notification_badge">\n <span class="xc_notification_badge_number"></span>\n </span>\n </i>\n <i class="xc_header_logo" style="background-image:url(/api/xchatty/assets?resource=images/{{(chatWebsite.defaultLogo || !license.custom) ? \'motionLogo.png\' : (!chatWebsite.defaultLogo && chatWebsite.logo && license.custom) ? chatWebsite.logo+\'&uploaded\' : \'motionLogo.png\'}});background-size:contain;"></i>\n </a>\n <span class="xc_chat_head-title">{{statePreview.state == \'online\' ? chatWebsite.header_online : chatWebsite.header_offline}}</span>\n </div>\n <div class="xc_chat_toggle_container">\n <div class="xc_sub-head-spacer"></div>\n <!-- <div class="xc_notifications_wrapper">\n <ul class="xc_errorlist"></ul>\n </div> -->\n <div class="xc_enquiry_wrapper" data-ng-show=\'statePreview.state == "offline"\'>\n <form class="xc_form_enquiry" accept-charset="UTF-8">\n <p class="xc_offline_message" ng-bind-html=\'chatWebsite.offline_message\'></p>\n <br>\n <div ng-if="chatWebsite.enquiry_enable">\n <div class="xc_div_group">\n <label for="enquiryFullname" class="xc_label">{{chatWebsite.name_title}} *</label>\n <input id="enquiryFullname" maxlength="45" data-label="Name" type="text" name="data[Enquiry][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_enquiry_fullname" required/>\n </div>\n <br>\n <div class="xc_div_group">\n <label for="enquiryEmail" class="xc_label">{{chatWebsite.email_title}} *</label>\n <input id="enquiryEmail" maxlength="85" type="text" data-label="Email Address" name="data[Enquiry][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_enquiry_email" required/>\n </div>\n <br>\n <div class="xc_div_group">\n <label for="enquiryMessage" class="xc_label">{{chatWebsite.message_title}} *</label>\n <textarea id="enquiryMessage" data-label="Message" maxlength="1500" placeholder="{{chatWebsite.enquiry_message_placeholder}}" name="data[Enquiry][message]" class="xc_input_enquiry_message" required></textarea>\n </div>\n <br>\n <button type="submit" class="xc_btn_enquiry xc_btn_style">{{chatWebsite.enquiry_button}}</button>\n </div>\n </form>\n </div>\n <div class="xc_signup_wrapper" data-ng-show=\'statePreview.state == "online"\'>\n <form class="xc_form_signup" accept-charset="UTF-8">\n <p class="xc_online_message" ng-bind-html=\'chatWebsite.online_message\'></p>\n <br>\n <div class="xc_div_group">\n <label for="dataFullname" class="xc_label">{{chatWebsite.name_title}} *</label>\n <input maxlength="45" id="dataFullname" data-label="Fullname" type="text" name="data[Discussion][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_fullname" required/>\n </div>\n <br>\n <div class="xc_div_group">\n <label for="dataEmail" class="xc_label">{{chatWebsite.email_title}} *</label>\n <input maxlength="85" id="dataEmail" data-label="Email Address" type="text" name="data[Discussion][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_email" required/>\n </div>\n <br>\n <input type="hidden" class="xc_input_visitor_time" name="data[Discussion][visitor_time]" />\n <button type="submit" class="xc_btn_signup xc_btn_style">{{chatWebsite.start_chat_button}}</button>\n </form>\n </div>\n <div class="xc_rating_wrapper" data-ng-show=\'statePreview.state == "rating"\'>\n <form class="xc_form_rating" accept-charset="UTF-8">\n <p class="xc_rating_message">{{chatWebsite.rating_message}}</p>\n <br>\n <div class="xc_rating">\n <label class="xc_rating_label" style="padding:30px;">\n <input type="radio" name="data[Rating][rating]" value="good" />\n <img src="{{chatWebsite.remote}}/api/xchatty/assets?resource=images/like.png" alt="Good" height="50"/>\n </label>\n <label class="xc_rating_label" style="padding:30px;">\n <input type="radio" name="data[Rating][rating]" value="bad"/>\n <img src="{{chatWebsite.remote}}/api/xchatty/assets?resource=images/dislike.png" alt="Good" height="50"/>\n </label>\n </div>\n <div class="xc_div_group">\n <label for="ratingMessage" class="xc_label">Message</label>\n <textarea id="ratingMessage" data-label="Message" maxlength="1500" name="data[Rating][message]" class="xc_input_rating_message"></textarea>\n </div>\n <button type="submit" class="xc_button_rating xc_btn_style">{{chatWebsite.rating_send}}</button>\n <button type="button" class="xc_button_skip_rating xc_btn_style">{{chatWebsite.rating_skip}}</button>\n </form>\n </div>\n <div class="xc_footer">\n <div data-ng-if="chatWebsite.defaultWhiteLabel || !license.custom" class="xc_powered"><a>Powered by xCALLY</a></div>\n <div data-ng-if="!chatWebsite.defaultWhiteLabel && license.custom" data-ng-bind-html="chatWebsite.whiteLabel"></div>\n </div>\n</div>\n</div>\n'),a.put("app/channels/chat/queue/list/list.create.modal.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_NEW_QUEUE\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="form" novalidate>\n\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (form.name.$touched || form.$submitted) && form.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" data-ng-pattern="settings.patternName" required />\n <span data-ng-show="(form.name.$touched || form.$submitted) && form.name.$invalid && form.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n <span data-ng-show="(form.name.$touched || form.$submitted) && form.name.$invalid && form.name.$error.pattern" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_INVALID_PATTERN_NAME\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START STRATEGY -->\n <div class="form-group" data-ng-class="{\'has-error\': (form.strategy.$touched || form.$submitted) && form.strategy.$invalid}">\n <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | uppercase}}</ui-select-match>\n <ui-select-choices repeat="strategy in [\'beepall\',\'roundrobin\',\'rrmemory\'] | filter: $select.search">\n <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(form.strategy.$touched || form.$submitted) && form.strategy.$invalid && form.strategy.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END STRATEGY -->\n\n <!-- START TIMEOUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (form.timeout.$touched || form.$submitted) && form.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="number" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required min="1"/>\n <span data-ng-show="(form.timeout.$touched || form.$submitted) && form.timeout.$invalid && form.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TIMEOUT -->\n\n <!-- START AGENTS-->\n <div class="form-body" data-ng-init="getTeams()">\n <label for="penalty">{{\'APPLICATION_PENALTY\' | translate}}</label>\n <div class="input-group input-small mbottom20">\n <input type="number" class="spinner-input form-control" maxlength="3" data-ng-model="item.penalty" readonly>\n <div class="spinner-buttons input-group-btn btn-group-vertical">\n <button type="button" class="btn spinner-up btn-xs blue" data-ng-click="item.penalty=item.penalty+1">\n <i class="fa fa-angle-up"></i>\n </button>\n <button type="button" class="btn spinner-down btn-xs blue" data-ng-disabled="!item.penalty" data-ng-click="item.penalty=item.penalty-1">\n <i class="fa fa-angle-down"></i>\n </button>\n </div>\n </div>\n <div class="form-group last">\n <div class="col-md-12" id="multi-select-team">\n </div>\n </div>\n </div>\n <!-- END AGENTS-->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n </div>\n <!-- END DESCRIPTION -->\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" ng-click="save()" ng-disabled="form.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/channels/chat/queue/list/list.html",'<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-docs"></i>\n <a href="#">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-docs font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <a class="btn green-jungle" href="#" data-ng-click="createItem()" data-ng-show="Auth.getCurrentUser().role === \'admin\'">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }}\n </a>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n </div>\n </div>\n <div class="portlet-body">\n <!-- BEGIN FORM-->\n <form action="index.html" class="form-horizontal form-row-seperated">\n <div class="form-body">\n <label for="penalty">{{\'APPLICATION_PENALTY\' | translate}}</label>\n <div class="input-group input-small mbottom20">\n <input type="number" class="spinner-input form-control" maxlength="3" data-ng-model="queue.penalty" readonly>\n <div class="spinner-buttons input-group-btn btn-group-vertical">\n <button type="button" class="btn spinner-up btn-xs blue" data-ng-click="queue.penalty=queue.penalty+1">\n <i class="fa fa-angle-up"></i>\n </button>\n <button type="button" class="btn spinner-down btn-xs blue" data-ng-disabled="!queue.penalty" data-ng-click="queue.penalty=queue.penalty-1">\n <i class="fa fa-angle-down"></i>\n </button>\n </div>\n </div>\n <div class="form-group last">\n <div class="col-md-12" id="multi-select-team">\n </div>\n </div>\n </div>\n </form>\n <!-- END FORM-->\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/channels/chat/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-docs"></i>\n <a href="/channels/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n <i data-ng-show="queue" class="fa fa-angle-right"></i>\n </li>\n <li data-ng-show="queue">\n <a href="#">{{queue.name}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE SIDEBAR -->\n <div class="profile-sidebar">\n <!-- PORTLET MAIN -->\n <div class="portlet light profile-sidebar-portlet">\n <!-- SIDEBAR USERPIC -->\n <div class="profile-image">\n <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n </div>\n <!-- END SIDEBAR USERPIC -->\n <!-- SIDEBAR USER TITLE -->\n <div class="profile-usertitle">\n <div class="profile-usertitle-name">\n {{queue.name}}\n </div>\n </div>\n <!-- END SIDEBAR USER TITLE -->\n\n <!-- SIDEBAR MENU -->\n <div class="profile-usermenu">\n <ul class="nav">\n <li data-ng-class="{active: $state.is(\'main.channels.chat.queues.view.settings\')}">\n <a data-ng-href="/channels/chat/queues/view/{{queue.id}}/settings">\n <i class="icon-settings"></i>\n {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n </li>\n <li data-ng-class="{active: $state.is(\'main.channels.chat.queues.view.agents\')}" data-ng-show="Auth.getCurrentUser().role === \'admin\'">\n <a data-ng-href="/channels/chat/queues/view/{{queue.id}}/agents">\n <i class="icon-people"></i>\n {{ \'APPLICATION_AGENTS\' | translate}} </a>\n </li>\n </ul>\n </div>\n <!-- END MENU -->\n </div>\n <!-- END PORTLET MAIN -->\n </div>\n <!-- END BEGIN PROFILE SIDEBAR -->\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
a.put("app/channels/chat/queue/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n </div>\n </div>\n <div class="portlet-body">\n <form name="forms.general" data-ng-submit="forms.general.$valid && updateChatQueue()" novalidate>\n <!-- START NAME -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" data-ng-pattern="settings.patternName" required />\n <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.pattern" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_INVALID_PATTERN_NAME\' | translate}}.\n </span>\n </div>\n <!-- END NAME -->\n\n <!-- START STRATEGY -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | uppercase}}</ui-select-match>\n <ui-select-choices repeat="strategy in [\'beepall\',\'roundrobin\',\'rrmemory\'] | filter: $select.search">\n <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END STRATEGY -->\n\n <!-- START TIMEOUT -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_AGENT\' | translate}} {{\'APPLICATION_TIMEOUT\' | translate}}</label>\n <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" min="1" data-ng-model="queue.timeout"/>\n </div>\n <!-- END TIMEOUT -->\n\n <!-- START DESCRIPTION -->\n <div class="form-group">\n <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n </div>\n <!-- END DESCRIPTION -->\n\n <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n </form>\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/channels/chat/realtime/view/agent/agent.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n <div class="col-md-12">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns class="ui-grid" ui-grid-tree-view ui-grid-expandable-row ui-grid-pagination ui-grid-auto-resize>\n <span us-spinner spinner-key="grid-spinner" spinner-start-active="true"></span>\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/realtime/view/agent/agent.modal.info.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_INTERFACE_INFO\' | translate }}</h3>\n</div>\n<div class="modal-body">\n<div data-ng-if="agent.ipaddr" class="well">\n <div>{{agent.ipaddr}}:{{agent.port}}</div>\n <div>{{agent.fullcontact}}</div>\n <div>{{agent.useragent}}</div>\n <div>{{agent.lastms}}</div>\n</div>\n<div data-ng-if="!agent.ipaddr" class="alert alert-danger" role="alert">\n {{\'MESSAGE_NO_AVAILABLE_INFO\' | translate}}\n</div>\n</div>\n<div class="modal-footer">\n <button class="btn default" type="button" ng-click="close()">{{ \'APPLICATION_CLOSE\' | translate }}</button>\n</div>\n'),a.put("app/channels/chat/realtime/view/agent/queue.modal.add.html",'<div class="modal-header">\n <h3 class="modal-title">{{ \'APPLICATION_JOIN_QUEUE\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <form name="form" novalidate>\n\n <div class="form-group row">\n <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n <div class="col-md-10">\n <ui-select multiple ng-model="item.queues" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_QUEUE\' | translate}}">{{$item.name}}</ui-select-match>\n <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n <div ng-bind-html="queue.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n</div>\n\n </form>\n</div>\n<div class="modal-footer">\n <button class="btn btn-success" type="button" ng-click="save()" ng-disabled="form.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/channels/chat/realtime/view/application/application.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initApplications()">\n <div class="col-md-12">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns class="ui-grid" ui-grid-auto-resize>\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-energy"></i>\n <a href="#">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n </li>\n </ul>\n </div>\n\n <div>\n <nav class="navbar navbar-default" role="navigation">\n <div class="collapse navbar-collapse">\n <ul class="nav navbar-nav">\n <li data-ng-class="{\'active\': $state.is(\'main.channels.chat.realtime.view.agents\')}">\n <a href="/channels/chat/realtime/view/agents">\n {{\'APPLICATION_AGENTS\' | translate}}\n </a>\n </li>\n <li data-ng-class="{\'active\': $state.is(\'main.channels.chat.realtime.view.applications\')}">\n <a href="/channels/chat/realtime/view/applications">\n {{\'APPLICATION_APPLICATIONS\' | translate}}\n </a>\n </li>\n </ul>\n </div>\n </nav>\n </div>\n\n <div ui-view></div>\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/room/external/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n <div class="portlet light" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption">\n <div class="btn-group btn-group-solid">\n <button type="button" class="btn btn-sm default" data-ng-model="query.status" uib-btn-radio="\'OPEN\'" uib-uncheckable>OPEN</button>\n </div>\n <div class="btn-group btn-group-solid">\n <button type="button" class="btn btn-sm default" data-ng-model="query.status" uib-btn-radio="\'CLOSED\'" uib-uncheckable>CLOSED</button>\n </div>\n </div>\n <div class="actions">\n <a href="#" class="btn btn-icon-only blue" data-ng-click="tagItems();" data-ng-show="id.length">\n <i class="fa fa-tags"></i>\n </a>\n <a href="#" class="btn btn-icon-only default" data-ng-click="getPage();">\n <i class="fa fa-refresh"></i>\n </a>\n </div>\n</div>\n<div class="portlet-title" data-ng-show="tags.length">\n <!-- START TAGS -->\n <div class="form-group">\n <div class="row">\n <div class="col-md-1">\n <a href="#" class="btn btn-icon-only">\n <i class="fa fa-tags" style="color: gray;"></i>\n </a>\n </div>\n <div class="col-md-11">\n <ui-select multiple data-ng-model="query.tags" theme="bootstrap" on-select="onChanged($item, $model)" on-remove="onChanged($item, $model)">\n <ui-select-match placeholder="Search by tag...">{{$item}}</ui-select-match>\n <ui-select-choices repeat="tag in tags | filter:$select.search">\n {{tag}}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n </div>\n <!-- END TAGS -->\n</div>\n<div class="portlet-body">\n <!-- BEGIN UI-GRID SPINNER -->\n <span us-spinner spinner-key="spinner-grid" spinner-start-active="true"></span>\n <!-- END UI-GRID SPINNER -->\n\n <!-- START TABLE -->\n\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-selection ui-grid-pagination class="ui-grid">\n <div class="watermark" data-ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/room/group/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n <div class="portlet light" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption">\n <div class="btn-group btn-group-solid">\n <button type="button" class="btn btn-sm default" data-ng-model="query.status" uib-btn-radio="\'OPEN\'" uib-uncheckable>OPEN</button>\n </div>\n <div class="btn-group btn-group-solid">\n <button type="button" class="btn btn-sm default" data-ng-model="query.status" uib-btn-radio="\'CLOSED\'" uib-uncheckable>CLOSED</button>\n </div>\n </div>\n <div class="actions">\n <a href="#" class="btn btn-icon-only default" data-ng-click="getPage();">\n <i class="fa fa-refresh"></i>\n </a>\n </div>\n</div>\n<div class="portlet-title" data-ng-show="tags.length">\n <!-- START TAGS -->\n <div class="form-group">\n <div class="row">\n <div class="col-md-1">\n <a href="#" class="btn btn-icon-only">\n <i class="fa fa-tags" style="color: gray;"></i>\n </a>\n </div>\n <div class="col-md-11">\n <ui-select multiple data-ng-model="query.tags" theme="bootstrap" on-select="onChanged($item, $model)" on-remove="onChanged($item, $model)">\n <ui-select-match placeholder="Search by tag...">{{$item}}</ui-select-match>\n <ui-select-choices repeat="tag in tags | filter:$select.search">\n {{tag}}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n </div>\n <!-- END TAGS -->\n</div>\n<div class="portlet-body">\n <!-- BEGIN UI-GRID SPINNER -->\n <span us-spinner spinner-key="spinner-grid" spinner-start-active="true"></span>\n <!-- END UI-GRID SPINNER -->\n\n <!-- START TABLE -->\n\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination class="ui-grid">\n <div class="watermark" data-ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/room/internal/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12" data-ng-init="initView()">\n <!-- BEGIN UI-GRID SPINNER -->\n <span us-spinner spinner-key="spinner-grid" spinner-start-active="true"></span>\n <!-- END UI-GRID SPINNER -->\n\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination class="ui-grid">\n <div class="watermark" data-ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/room/room.add.html",'<div class="modal-header">\n <button ng-if="modal.dismissable" type="button" data-ng-click="$dismiss()" class="close">×</button>\n <h4 class="modal-title">{{\'APPLICATION_NEW_GROUP\' | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="portlet box blue">\n <div class="portlet-title">\n <div class="caption">\n <i class="icon-people"></i>{{\'APPLICATION_AGENTS\' | translate}}\n </div>\n </div>\n <div class="portlet-body">\n <ul>\n <li data-ng-repeat="item in items">\n {{item.fullname}}\n </li>\n <li data-ng-repeat="item in selected.items">\n {{item.fullname}}\n </li>\n </ul>\n </div>\n </div>\n\n <ui-select multiple name="items" ng-model="selected.items" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_SELECTED_AGENTS\' | translate}}">{{$item.fullname}}</ui-select-match>\n <ui-select-choices repeat="{id: agent.id, fullname: agent.fullname} as agent in agents.rows | filter: $select.search">\n {{agent.fullname}}\n </ui-select-choices>\n </ui-select>\n</div>\n\n<div class="modal-footer">\n <button class="btn btn-success" type="button" data-ng-click="ok()" data-ng-show="selected.items.length">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" data-ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/channels/chat/room/room.close.html",'<div class="modal-header">\n <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">×</button>\n <h4 ng-if="modal.title" ng-bind="modal.title | translate" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n <p ng-if="modal.text && !closed" ng-bind="modal.text | translate"></p>\n <form name="form" novalidate data-ng-init="initDisposition()">\n <div class="form-group">\n <ui-select data-ng-model="item.disposition" name="list" theme="bootstrap" data-ng-disabled="!dispositions.length" required>\n <ui-select-match placeholder="{{\'APPLICATION_DISPOSITION\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="disposition.name as disposition in dispositions | filter: $select.search">\n <div ng-bind-html="disposition.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n </div>\n <div class="note note-warning" data-ng-hide="dispositions.length">\n <h4 class="block">Warning!</h4>\n <p>\n {{ \'MESSAGE_NO_DISPOSITIONS_AVAILABLE\' | translate }}\n </p>\n </div>\n</form>\n <!-- <div ng-if="modal.html" ng-bind-html="modal.html"></div> -->\n</div>\n<div class="modal-footer">\n <button class="btn btn-danger" type="button" ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n <!-- <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button> -->\n</div>\n'),a.put("app/channels/chat/room/room.directive.html",'<div class="portlet light">\n <div class="portlet-title">\n <div class="caption">\n <span data-ng-if="chatRoom" class="label label-sm label-default">{{chatRoom.status}}</span>\n <span data-ng-if="chatRoom.ChatWebsite"> | </span>\n <span data-ng-if="chatRoom.ChatWebsite" class="caption-subject font-green-sharp bold uppercase">{{chatRoom.ChatWebsite.name | truncate: 25: \'...\': true}}</span>\n </div>\n <div class="actions">\n <button class="btn btn-icon-only btn-primary" data-ng-click="addAgent(chatRoom.id)" data-ng-disabled="chatRoom.status === \'CLOSED\'">\n <i class="fa fa-user-plus"></i>\n </button>\n <button class="btn btn-icon-only" data-ng-class="{\'btn-success\':chatRoom.status !== \'CLOSED\',\'grey-cascade\':chatRoom.status === \'CLOSED\'}" data-ng-click="closeRoom(chatRoom.id)" data-ng-if="chatRoom.ChatVisitors.length" data-ng-disabled="chatRoom.status === \'CLOSED\' && chatRoom.disposition">\n <i data-ng-class="{\'fa fa-upload\':chatRoom.status !== \'CLOSED\',\'icon-target\':chatRoom.status === \'CLOSED\'}"></i>\n </button>\n <a href="api/chat/rooms/{{chatRoom.id}}/export" target="_blank" class="btn btn-primary btn-icon-only" data-ng-if="chatRoom" title="{{\'APPLICATION_EXPORT\' | translate}} CSV">\n <i class="fa fa-download"></i>\n </a>\n <button class="btn default btn-icon-only" data-ng-if="chatRoom && chatRoom.status !== \'CLOSED\'" data-ng-click="togglePanelLeft()" title="{{\'APPLICATION_RESIZE\' | translate}}">\n <i ng-class="panelRight == \'col-md-12\' ? \'icon-size-actual\' : \'icon-size-fullscreen\'"></i>\n </button>\n </div>\n </div>\n <div class="portlet-body">\n<div class="row">\n <div data-ng-class="panelLeft" data-ng-show="panelLeft">\n <div class="portlet">\n <div class="portlet-body">\n <div class="portlet-title line">\n <div class="form">\n <!-- START TAGS -->\n <div class="form-group">\n <div class="row">\n <div class="col-md-1">\n <a href="#" class="btn btn-icon-only">\n <i class="fa fa-tags" style="color: gray;"></i>\n </a>\n </div>\n <div class="col-md-11">\n <ui-select multiple data-ng-model="form.tags" theme="bootstrap" on-select="onChanged(chatRoom.id)" on-remove="onChanged(chatRoom.id)">\n <ui-select-match placeholder="Tags...">{{$item}}</ui-select-match>\n <ui-select-choices repeat="tag in tags | filter:$select.search" class="">\n {{tag}}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n </div>\n <!-- END TAGS -->\n </div>\n </div>\n <v-accordion class="vAccordion--default">\n <v-pane data-ng-if="chatRoom.ChatVisitors.length" data-ng-repeat="chatVisitor in chatRoom.ChatVisitors" expanded="true">\n <v-pane-header>\n <ng-letter-avatar\n height="40"\n width="40"\n data="{{chatRoom.ChatVisitor.fullname}}"\n fontsize="25"\n avatarcustombgcolor="#B0B0B0"\n charCount="2"\n avatarcustomborder="border:2px solid #EA4C61"\n shape="round"></ng-letter-avatar>\n </v-pane-header>\n <v-pane-content>\n {{\'APPLICATION_ROOM_ID\' | translate}}: <p>{{chatRoom.id}}</p>\n {{\'APPLICATION_NAME\' | translate}}: <p>{{chatRoom.ChatVisitor.fullname}}</p>\n {{\'APPLICATION_EMAIL\' | translate}}: <p><a data-ng-click="openContact(chatRoom.ChatVisitor.email)" href="">{{chatRoom.ChatVisitor.email}}</a></p>\n <span data-ng-if="chatRoom.ChatVisitor.labelData1">{{chatRoom.ChatVisitor.labelData1}}: <p>{{chatRoom.ChatVisitor.data1}}</p></span>\n <span data-ng-if="chatRoom.ChatVisitor.labelData2">{{chatRoom.ChatVisitor.labelData2}}: <p>{{chatRoom.ChatVisitor.data2}}</p></span>\n <span data-ng-if="chatRoom.ChatVisitor.labelData3">{{chatRoom.ChatVisitor.labelData3}}: <p>{{chatRoom.ChatVisitor.data3}}</p></span>\n {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}: <p>{{chatRoom.ChatVisitor.remote_address}}</p>\n {{\'APPLICATION_BROWSER\' | translate}}: <p>{{chatRoom.ChatVisitor.browser}}</p>\n {{\'APPLICATION_REFERER\' | translate}}:<p>{{chatRoom.ChatVisitor.referer}} - {{enquiry.ChatWebsite.name}}</p>\n {{\'APPLICATION_OS\' | translate}}: <p>{{chatRoom.ChatVisitor.os}}</p>\n </v-pane-content>\n </v-pane>\n\n <v-pane data-ng-repeat="user in chatRoom.Users | filter:{ id: \'!\' + user.id}">\n <v-pane-header>\n <ng-letter-avatar\n height="40"\n width="40"\n data="{{user.fullname}}"\n fontsize="25"\n avatarcustombgcolor="#B0B0B0"\n avatarcustomborder="border:2px solid #3399CC"\n charCount="2"\n shape="round"></ng-letter-avatar>\n </v-pane-header>\n <v-pane-content>\n {{\'APPLICATION_NAME\' | translate}}: <p>{{user.fullname}}</p>\n {{\'APPLICATION_ROLE\' | translate}}: <p>{{user.role}}</p>\n {{\'APPLICATION_INTERNAL\' | translate}}: <p>{{user.internal}}</p>\n {{\'APPLICATION_EMAIL\' | translate}}: <p><a data-ng-href="mailto:{{user.email}}">{{user.email}}</a></p>\n </v-pane-content>\n </v-pane>\n </v-accordion>\n </div>\n </div>\n </div>\n <div data-ng-class="panelRight">\n <div class="note note-info" data-ng-if="chatRoom && chatRoom.status == \'CLOSED\'">\n <h4 class="block"><i class="icon-info"></i> {{\'MESSAGE_CHAT_ROOM_CLOSED\' | translate}}!</h4>\n <p>\n <strong>{{\'MESSAGE_CHAT_ROOM_CLOSED_DETAILS\' | translate}}.</strong>\n </p>\n <hr>\n <p>\n <i class="icon-target"></i> {{\'APPLICATION_DISPOSITION\' | translate}}: <strong>{{chatRoom.disposition}}</strong>\n </p>\n <p>\n <i class="icon-star"></i> {{\'APPLICATION_RATING\' | translate}}: <strong>{{chatRoom.rating | ucfirst}}</strong>\n </p>\n <p>\n <i class="icon-note"></i> {{\'APPLICATION_RATING_MESSAGE\' | translate}}: <strong>{{chatRoom.ratingMessage}}</strong>\n </p>\n <p>\n <i class="icon-calendar"></i> {{\'APPLICATION_UPDATED_AT\' | translate}}: <strong>{{chatRoom.updatedAt | date:\'medium\'}}</strong> (<span am-time-ago="chatRoom.updatedAt"></span>)\n </p>\n </div>\n <div class="portlet light bordered">\n <div class="portlet-body">\n <div id="chat-box" schroll-bottom="chatRoom.ChatMessages">\n <ul class="chats">\n <li data-ng-repeat="message in chatRoom.ChatMessages" data-ng-class="message.UserId == user.id ? \'out\' : \'in\'">\n <div class="avatar" data-ng-class="message.ChatVisitor ? \'pretty-avatar-v\' : \'pretty-avatar\'">\n <ng-letter-avatar\n data-ng-if="!message.ChatVisitor"\n height="40"\n width="40"\n fontsize="25"\n data="{{message.User.fullname}}"\n avatarcustombgcolor="#B0B0B0"\n avatarcustomborder="border:2px solid #3399CC"\n charCount="2"\n shape="round"></ng-letter-avatar>\n <ng-letter-avatar\n data-ng-if="message.ChatVisitor"\n height="40"\n width="40"\n fontsize="25"\n data="{{message.ChatVisitor.fullname}}"\n avatarcustombgcolor="#B0B0B0"\n avatarcustomborder="border:2px solid #EA4C61"\n charCount="2"\n shape="round"></ng-letter-avatar>\n </div>\n <div class="message">\n <span class="arrow"></span>\n <a href="#" class="name">{{message.User.fullname || message.ChatVisitor.fullname}} </a>\n <span am-time-ago="message.createdAt"></span>\n <ng-emoticons emoticons-data="message.body"></ng-emoticons>\n </div>\n </li>\n <li data-ng-if="chatRoom.status === \'CLOSED\'">\n <div class="media-body" style="text-align: center;">\n <h5 class="media-heading"><i>{{\'MESSAGE_CHAT_CLOSED\' | translate | lowercase}}</i></h5>\n </div>\n </li>\n </ul>\n </div>\n <div class="chat-form" data-ng-if="chatRoom && isMyRoom(chatRoom.Users)">\n <div class="input-cont">\n <input class="form-control" type="text" placeholder="Type a message here..." ng-enter="sendMessage()" data-ng-model="message.body" data-ng-disabled="chatRoom.status === \'CLOSED\'"/>\n </div>\n <div class="btn-cont">\n <span class="arrow"></span>\n <a href="#" class="btn blue icn-only" data-ng-disabled="chatRoom.status === \'CLOSED\'" data-ng-click="sendMessage()">\n <i class="fa fa-check icon-white"></i>\n </a>\n </div>\n </div>\n <div class="form-group chat-canned-answer-div" data-ng-if="chatRoom.status !== \'CLOSED\'" data-ng-class="{\'has-error\': forms.compose.subject.$invalid && forms.compose.$submitted}">\n <div class="row">\n <div class="col-md-1">\n <a href="#" class="btn btn-icon-only">\n <i class="fa fa-magic" style="color: gray;"></i>\n </a>\n </div>\n <div class="col-md-11">\n <input type="text"\n data-ng-model="modelOptions.selectedAnswer"\n uib-typeahead="key for key in getAnswers($viewValue)"\n placeholder="Canned answers.."\n typeahead-loading="loadingLocations"\n typeahead-no-results="noResults"\n typeahead-on-select="onSelect($item)"\n class="form-control">\n <i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>\n <div ng-show="noResults">\n <i class="glyphicon glyphicon-remove"></i> No Results Found\n </div>\n <span data-ng-show="forms.compose.subject.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n'+" <strong>{{'APPLICATION_WARNING' | translate}}!</strong> {{'MESSAGE_REQUIRED_FIELD' | translate}}.\n </span>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n</div>\n</div>\n"),a.put("app/channels/chat/room/room.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="fa fa-users"></i>\n <a href="#">{{ \'APPLICATION_INTERACTIONS\' | translate }}</a>\n </li>\n </ul>\n </div>\n\n <div class="row inbox">\n <div class="col-md-2">\n <ul class="inbox-nav margin-bottom-10">\n <li data-ng-class="{active: $state.includes(\'main.channels.chat.room.internal\')}">\n <a href="/channels/chat/room/internal/list" class="btn">\n {{\'APPLICATION_INTERNAL\' | translate}}\n </a>\n <b></b>\n </li>\n <li data-ng-class="{active: $state.includes(\'main.channels.chat.room.external\')}">\n <a href="/channels/chat/room/external/list" class="btn">\n {{\'APPLICATION_EXTERNAL\' | translate}}\n </a>\n <b></b>\n </li>\n <li data-ng-class="{active: $state.includes(\'main.channels.chat.room.group\')}">\n <a href="/channels/chat/room/group/list" class="btn">\n {{\'APPLICATION_GROUPS\' | translate}}\n </a>\n <b></b>\n </li>\n </ul>\n </div>\n\n <div class="col-md-10">\n <div class="room-content">\n <div ui-view></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/room/template.html",'<div ng-bind-html="neText" ne-hljs></div>\n<div class="ne-video" ng-if="video.host" class="fade">\n <div class="ne-video-preview" ng-hide="nePlayVideo || !options.video.details">\n <div class="ne-video-thumb" ng-click="nePlayVideo=!nePlayVideo">\n <img ng-src="{{video.thumbnail}}" alt=""/>\n <i class="fa fa-play-circle-o"></i>\n </div>\n <div class="ne-video-detail">\n <div class="ne-video-title">\n <a ng-href="{{video.url}}">{{video.title}}</a>\n </div>\n <div class="ne-video-desc">\n {{video.description}}\n </div>\n <div class="ne-video-stats">\n <span><i class="fa fa-eye"></i> {{video.views}}</span>\n <span><i class="fa fa-heart"></i> {{video.likes}}</span>\n </div>\n </div>\n </div>\n <div class="ne-video-player" ng-if="nePlayVideo || !(options.video.details)">\n <iframe ng-src="{{video.embedSrc}}" frameBorder="0" width="{{video.width}}" height="{{video.height}}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>\n </div>\n</div>\n<div class="ne-video" ng-if="video.basic">\n <div class="ne-video-player">\n <div class="player">\n <video ng-src="{{video.basic}}" controls></video>\n </div>\n </div>\n</div>\n<div ng-init="neImageLong=false" ng-class="{false:\'ne-image\', true:\'ne-image ne-image-long\'}[neImageLong]"\nng-if="image.url">\n<div class="ne-image-wrapper">\n <img ng-src="{{image.url}}" ng-click="neImageLong=!neImageLong" alt=""/>\n</div>\n</div>\n<!-- <div class="ne-pdf" ng-if="pdf.url">\n <div class="ne-pdf-preview" ng-hide="neShowPdf">\n <div class="ne-pdf-icon">\n <i class="fa fa-file-pdf-o"></i>\n </div>\n <div class="ne-pdf-detail" >\n <div class="ne-pdf-title">\n <a href="">{{pdf.url}}</a>\n </div>\n <div class="ne-pdf-view">\n\n <button><i class="fa fa-download"></i> <a ng-href="{{pdf.url}}" target="_blank">Download</a></button>\n <button ng-click="neShowPdf=!neShowPdf"><i class="fa fa-eye"></i> View PDF</button>\n\n </div>\n </div>\n </div>\n <div class="ne-pdf-viewer" ng-if="neShowPdf" ng-show="neShowPdf">\n <iframe ng-src="{{pdf.url}}" frameBorder="0"></iframe>\n </div>\n\n</div>\n<div class="ne-audio" ng-if="audio.url">\n <audio ng-src="{{audio.url}}" controls></audio>\n</div> -->\n'),a.put("app/channels/chat/room/view.tags.modal.html",'<div class="modal-header" data-ng-init="initModal()">\n <h3 class="modal-title">{{ \'APPLICATION_TAGS\' | translate }}</h3>\n</div>\n<div class="modal-body">\n <!-- START TRANSPORT -->\n <div class="form-group">\n <form name="form" novalidate>\n <!-- START TAGS -->\n <div class="form-group">\n <ui-select multiple data-ng-model="item.tags" theme="bootstrap">\n <ui-select-match placeholder="{{\'APPLICATION_TAGS\' | translate}}">{{$item}}</ui-select-match>\n <ui-select-choices repeat="tag in tags | filter: $select.search">\n {{tag}}\n </ui-select-choices>\n </ui-select>\n </div>\n <!-- END TAGS -->\n </form>\n </div>\n <!-- END TRANSPORT -->\n</div>\n<div class="modal-footer">\n <button type="button" class="btn" data-ng-class="button.class" data-ng-click="button.click()"data-ng-repeat="button in modal.buttons">{{button.text | translate}}</button>\n <!-- <button class="btn btn-success" type="button" data-ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n <button class="btn default" type="button" data-ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button> -->\n</div>\n'),
a.put("app/channels/chat/visitor/list/list.html",'<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-question"></i>\n <a href="/channels/chat/visitors/list">{{ \'APPLICATION_VISITORS\' | translate }}</a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-question font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/visitor/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-question"></i>\n <a href="/channels/chat/visitors/list">{{ \'APPLICATION_VISITORS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li data-ng-show="chatVisitor">\n <a href="#">{{chatVisitor.fullname}}</a>\n </li>\n </ul>\n </div>\n\n <!-- BEGIN PROFILE SIDEBAR -->\n <div class="profile-sidebar">\n <!-- PORTLET MAIN -->\n <div class="portlet light profile-sidebar-portlet">\n <!-- SIDEBAR USERPIC -->\n <div class="profile-image">\n <img data-ng-src="assets/images/media/visitor.png" class="img-responsive">\n </div>\n <!-- END SIDEBAR USERPIC -->\n <!-- SIDEBAR USER TITLE -->\n <div class="profile-usertitle">\n <div class="profile-usertitle-name">\n {{chatVisitor.fullname}}\n </div>\n </div>\n <!-- END SIDEBAR USER TITLE -->\n\n <!-- SIDEBAR MENU -->\n <div class="profile-usermenu">\n <ul class="nav">\n <li data-ng-class="{active: $state.is(\'main.channels.chat.visitors.view.profile\')}">\n <a data-ng-href="/channels/chat/visitors/view/{{chatVisitor.id}}/profile">\n <i class="icon-tag"></i>\n {{ \'APPLICATION_PROFILE\' | translate}} </a>\n </li>\n </ul>\n </div>\n <!-- END MENU -->\n </div>\n <!-- END PORTLET MAIN -->\n </div>\n <!-- END BEGIN PROFILE SIDEBAR -->\n <!-- BEGIN PROFILE CONTENT -->\n <div ui-view class="profile-content">\n </div>\n <!-- END PROFILE CONTENT -->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/visitor/view/view.profile.html",'<div class="row">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_PROFILE\' | translate}}</span>\n </div>\n </div>\n <div class="portlet-body" data-ng-init="initView()">\n <div>\n <h4 class="profile-desc-title">{{chatVisitor.email}}</h4>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-magnifier"></i>\n <a href="#" class="inactive-link">{{chatVisitor.origin}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-globe"></i>\n <a href="#" class="inactive-link">{{chatVisitor.remote_address}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-user"></i>\n <a href="#" class="inactive-link">{{chatVisitor.user_agent | truncate: 50: \'...\'}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-flag"></i>\n <a href="#" class="inactive-link">{{chatVisitor.visitor_language}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-home"></i>\n <a href="#" class="inactive-link">{{chatVisitor.referer}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-cursor"></i>\n <a href="#" class="inactive-link">{{chatVisitor.browser}}</a>\n </div>\n <div class="margin-top-20 profile-desc-link">\n <i class="icon-screen-desktop"></i>\n <a href="#" class="inactive-link">{{chatVisitor.os}}</a>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/channels/chat/website/list/list.html",'<div class="row">\n <div class="col-md-12">\n <div class="page-bar">\n <ul class="page-breadcrumb">\n <li>\n <i class="icon-rocket"></i>\n <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-puzzle"></i>\n <a href="#">{{ \'APPLICATION_CHANNELS\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-bubble"></i>\n <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n <i class="fa fa-angle-right"></i>\n </li>\n <li>\n <i class="icon-globe"></i>\n <a href="#">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-init="initView()">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-notebook font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_WEB_SITES\' | translate }}</a> </span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <div class="btn-group">\n <a class="btn green-jungle" href="/channels/chat/websites/wizard">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_WEB_SITE\' | translate }}\n </a>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/website/view/action/list/list.html",'<div class="row" data-ng-init="initActons()">\n <div class="col-md-12">\n <div class="portlet light">\n <div class="portlet-title tabbable-line">\n <div class="caption caption-md">\n <i class="icon-globe theme-font hide"></i>\n <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n </div>\n <div class="actions">\n <div class="btn-group" data-ng-show="id.length">\n <a class="btn red" href="#" data-ng-click="deleteItems()">\n <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n </a>\n </div>\n <div class="btn-group">\n <a class="btn green-jungle" href="/channels/chat/websites/view/{{chatWebsite.id}}/actions/wizard" data-toggle="dropdown">\n <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACTION\' | translate }}\n </a>\n </div>\n </div>\n </div>\n <div class="portlet-body">\n <!-- START TABLE -->\n <div ui-grid="gridOptions" ui-grid-resize-columns ui-grid-auto-resize ui-grid-pagination ui-grid-selection ui-grid-exporter ui-grid-draggable-rows class="ui-grid">\n <div class="watermark" ng-show="!gridOptions.data.length">{{\'MESSAGE_NO_RESULTS_AVAILABLE\' | translate}}</div>\n </div>\n <!-- END TABLE -->\n </div>\n </div>\n </div>\n</div>\n'),a.put("app/channels/chat/website/view/action/view/view.html",'\n<div class="row" data-ng-init="initAction()">\n <div class="col-md-12">\n <!-- BEGIN PORTLET-->\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-directions font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }}</a> </span>\n </div>\n </div>\n <div class="portlet-body">\n <form name="forms.settings" ng-submit="updateItem()" novalidate>\n <!-- START APP -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n <div ng-bind-html="app.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END APP -->\n\n <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n <!-- START QUEUE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.ChatQueueId" name="queue" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n <div ng-bind-html="queue.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <div class="note note-warning" data-ng-hide="queues.length">\n <h4 class="block">Warning!</h4>\n <p>\n {{ \'MESSAGE_NO_QUEUES_AVAILABLE\' | translate }}\n </p>\n <p>\n {{\'APPLICATION_GO_TO\' | translate}} <a href="/channels/chat/queues/list">{{\'APPLICATION_QUEUES\' | translate}}</a>\n </p>\n </div>\n <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END QUEUE -->\n\n <!-- START TIMEOUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="1" required/>\n <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TIMEOUT -->\n </div>\n\n <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n <!-- START AGENT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$invalid}">\n <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <div class="note note-warning" data-ng-hide="agents.length">\n <h4 class="block">Warning!</h4>\n <p>\n {{ \'MESSAGE_NO_AGENTS_AVAILABLE\' | translate }}\n </p>\n <p>\n {{\'APPLICATION_GO_TO\' | translate}} <a href="/staff/agents/list">{{\'APPLICATION_QUEUES\' | translate}}</a>\n </p>\n </div>\n <span data-ng-show="(forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END AGENT -->\n\n <!-- START TIMEOUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="1" required/>\n <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TIMEOUT -->\n </div>\n\n <div class="app-settings" ng-slide-down="application.app === \'sendMail\'" lazy-render duration="1" data-ng-init="getMailAccounts();getTemplates()">\n <!-- START SENDMAIL -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_TO\' | translate}} <span class="required" aria-required="true">*</span></label>\n <input type="email" name="to" placeholder="{{\'APPLICATION_TO\' | translate}}" class="form-control" data-ng-model="application.data2" min="1" required/>\n <span data-ng-show="(forms.settings.from.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.mail.$touched || forms.settings.$submitted) && forms.settings.account.$invalid}">\n <label class="control-label">{{\'APPLICATION_ACCOUNT\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.data8" name="account" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="account.id as account in mailAccounts | filter: $select.search">\n <div ng-bind-html="account.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.settings.account.$touched || forms.settings.$submitted) && forms.settings.account.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.template.$touched || forms.settings.$submitted) && forms.settings.template.$invalid}">\n <label class="control-label">{{\'APPLICATION_TEMPLATE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.data9" name="template" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="template.id as template in templates | filter: $select.search">\n <div ng-bind-html="template.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.settings.template.$touched || forms.settings.$submitted) && forms.settings.template.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END SENDMAIL -->\n </div>\n\n <!-- START INTERVAL_TYPE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$invalid}">\n <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n {{ intType.name | translate }}\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END INTERVAL_TYPE -->\n\n <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n <!-- START TIME -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n <div class="input-group input-large">\n <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n </fieldset>\n <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n <fieldset ng-disabled="application.alwaysTime"><uib-timepicker name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n </div>\n </div>\n <!-- END TIME -->\n\n <!-- START ALWAYS -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n <div class="input-group input-large">\n <label class="control-label pointer-cursor">\n <input\n bs-switch\n data-ng-model="application.alwaysTime"\n type="checkbox"\n switch-active="{{ isActive }}"\n switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n switch-on-color="{{ onColor }}"\n switch-off-color="{{ offColor }}"\n switch-animate="{{ animate }}"\n switch-size="{{ size }}"\n switch-label="{{ label }}"\n switch-icon="{{ icon }}"\n switch-radio-off="{{ radioOff }}"\n switch-label-width="{{ labelWidth }}"\n switch-handle-width="{{ handleWidth }}">\n <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n </label>\n </div>\n </div>\n <!-- END ALWAYS -->\n\n <!-- START WEEKDAY -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n <div class="input-group input-large">\n <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n {{ weekDay.name | translate}}\n </ui-select-choices>\n </ui-select>\n <span class="input-group-addon">to</span>\n <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n {{ weekDay.name | translate }}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n <!-- END WEEKDAY -->\n\n <!-- START MONTHDAY -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n <div class="input-group input-large">\n <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n <ui-select-match>{{$select.selected}}</ui-select-match>\n <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n {{monthDay}}\n </ui-select-choices>\n </ui-select>\n <span class="input-group-addon">to</span>\n <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n <ui-select-match>{{$select.selected}}</ui-select-match>\n <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n {{monthDay}}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n <!-- END MONTHDAY -->\n\n <!-- START MONTH -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n <div class="input-group input-large">\n <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n {{ month.name | translate }}\n </ui-select-choices>\n </ui-select>\n <span class="input-group-addon">to</span>\n <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n {{ month.name | translate }}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n <!-- END MONTH -->\n </div>\n\n <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n <!-- START INTERVALS -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$invalid}">\n <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n {{ interval.name}}\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END INTERVALS -->\n\n </div>\n <button class="btn green-haze" type="submit">{{\'APPLICATION_UPDATE\' | translate}}</button>\n </form>\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/channels/chat/website/view/action/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n <div class="col-md-12">\n <!-- BEGIN PORTLET-->\n <div class="portlet light bordered">\n <div class="portlet-title">\n <div class="caption font-green-sharp">\n <i class="icon-directions font-green-sharp"></i>\n <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }} WIZARD</a> </span>\n </div>\n </div>\n <div class="portlet-body">\n <wizard on-finish="createItem()">\n <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.action.$valid)">\n <form name="forms.action" novalidate>\n <!-- START APP -->\n <div class="form-group" data-ng-class="{\'has-error\': forms.action.$submitted && forms.action.app.$invalid}">\n <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n <div ng-bind-html="app.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="forms.action.$submitted && forms.action.app.$invalid" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END APP -->\n\n <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n <!-- START AGENT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$invalid}">\n <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <div class="note note-warning" data-ng-hide="agents.length">\n <h4 class="block">Warning!</h4>\n <p>\n {{ \'MESSAGE_NO_AGENTS_AVAILABLE\' | translate }}\n </p>\n <p>\n {{\'APPLICATION_GO_TO\' | translate}} <a href="/staff/agents/list">{{\'APPLICATION_QUEUES\' | translate}}</a>\n </p>\n </div>\n <span data-ng-show="(forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END AGENT -->\n\n <!-- START TIMEOUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="1" required/>\n <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TIMEOUT -->\n\n </div>\n\n <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n <!-- START QUEUE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$invalid}">\n <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.ChatQueueId" name="queue" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n <div ng-bind-html="queue.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <div class="note note-warning" data-ng-hide="queues.length">\n <h4 class="block">Warning!</h4>\n <p>\n {{ \'MESSAGE_NO_QUEUES_AVAILABLE\' | translate }}\n </p>\n <p>\n {{\'APPLICATION_GO_TO\' | translate}} <a href="/channels/chat/queues/list">{{\'APPLICATION_QUEUES\' | translate}}</a>\n </p>\n </div>\n <span data-ng-show="(forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END QUEUE -->\n\n <!-- START TIMEOUT -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="1" required/>\n <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END TIMEOUT -->\n </div>\n\n <div class="app-settings" ng-slide-down="application.app === \'sendMail\'" lazy-render duration="1" data-ng-init="getMailAccounts();getTemplates()">\n <!-- START SENDMAIL -->\n <div class="app-settings" ng-slide-down="application.app === \'sendMail\'" lazy-render duration="1">\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n <label class="control-label">{{\'APPLICATION_TO\' | translate}} <span class="required" aria-required="true">*</span></label>\n <input type="email" name="to" placeholder="{{\'APPLICATION_TO\' | translate}}" class="form-control" data-ng-model="application.data2" min="1" required/>\n <span data-ng-show="(forms.action.from.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n </div>\n\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.mail.$touched || forms.action.$submitted) && forms.action.account.$invalid}">\n <label class="control-label">{{\'APPLICATION_ACCOUNT\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.data8" name="account" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="account.id as account in mailAccounts | filter: $select.search">\n <div ng-bind-html="account.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.action.account.$touched || forms.action.$submitted) && forms.action.account.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.template.$touched || forms.action.$submitted) && forms.action.template.$invalid}">\n <label class="control-label">{{\'APPLICATION_TEMPLATE\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.data9" name="template" theme="bootstrap" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="template.id as template in templates | filter: $select.search">\n <div ng-bind-html="template.name | highlight: $select.search"></div>\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.action.template.$touched || forms.action.$submitted) && forms.action.template.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END SENDMAIL -->\n </div>\n\n <!-- START INTERVAL_TYPE -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$invalid}">\n <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n {{ intType.name | translate }}\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END INTERVAL_TYPE -->\n\n <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n <!-- START TIME -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n <div class="input-group input-large">\n <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n </fieldset>\n <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n <fieldset ng-disabled="application.alwaysTime"><uib-timepicker name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n </div>\n </div>\n <!-- END TIME -->\n\n <!-- START ALWAYS -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n <div class="input-group input-large">\n <label class="control-label pointer-cursor">\n <input\n bs-switch\n data-ng-model="application.alwaysTime"\n type="checkbox"\n switch-active="{{ isActive }}"\n switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n switch-on-color="{{ onColor }}"\n switch-off-color="{{ offColor }}"\n switch-animate="{{ animate }}"\n switch-size="{{ size }}"\n switch-label="{{ label }}"\n switch-icon="{{ icon }}"\n switch-radio-off="{{ radioOff }}"\n switch-label-width="{{ labelWidth }}"\n switch-handle-width="{{ handleWidth }}">\n <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n </label>\n </div>\n </div>\n <!-- END ALWAYS -->\n\n <!-- START WEEKDAY -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n <div class="input-group input-large">\n <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n {{ weekDay.name | translate}}\n </ui-select-choices>\n </ui-select>\n <span class="input-group-addon">to</span>\n <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n {{ weekDay.name | translate }}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n <!-- END WEEKDAY -->\n\n <!-- START MONTHDAY -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n <div class="input-group input-large">\n <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n <ui-select-match>{{$select.selected}}</ui-select-match>\n <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n {{monthDay}}\n </ui-select-choices>\n </ui-select>\n <span class="input-group-addon">to</span>\n <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n <ui-select-match>{{$select.selected}}</ui-select-match>\n <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n {{monthDay}}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n <!-- END MONTHDAY -->\n\n <!-- START MONTH -->\n <div class="form-group">\n <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n <div class="input-group input-large">\n <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n {{ month.name | translate }}\n </ui-select-choices>\n </ui-select>\n <span class="input-group-addon">to</span>\n <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n {{ month.name | translate }}\n </ui-select-choices>\n </ui-select>\n </div>\n </div>\n <!-- END MONTH -->\n </div>\n\n <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n <!-- START INTERVALS -->\n <div class="form-group" data-ng-class="{\'has-error\': (forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$invalid}">\n <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n {{ interval.name}}\n </ui-select-choices>\n </ui-select>\n <span data-ng-show="(forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$error.required" class="help-block help-block-error">\n <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n </span>\n </div>\n <!-- END INTERVALS -->\n\n </div>\n\n <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONTINUE\' | translate}}"/>\n </form>\n </wz-step>\n <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n </wz-step>\n </wizard>\n </div>\n </div>\n <!-- END Portlet PORTLET-->\n </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-'use strict';
-/**
- * $Id: Actions.js,v 1.7 2013-02-14 07:48:01 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs the actions object for the given UI.
- */
-function Actions(editorUi) {
- this.editorUi = editorUi;
- this.actions = new Object();
- this.init();
-};
-
-/**
- * Adds the default actions.
- */
-Actions.prototype.init = function() {
- var ui = this.editorUi;
- var editor = ui.editor;
- var graph = editor.graph;
-
- // File actions
- this.addAction('new', function() {
- ui.showDialog(new NewDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('open', function() {
- ui.showDialog(new OpenDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('save', function() {
- ui.saveFile(false);
- }, null, null, 'Ctrl+S');
- this.addAction('saveAs', function() {
- ui.saveFile(true);
- }, null, null, 'Ctrl+Shift-S');
- this.addAction('publish', function() {
- ui.publishFile(false);
- }, null, null, 'Ctrl+Shift+P');
- this.addAction('variable', function() {
- ui.showDialog(new VariableDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('import', function() {
- ui.showDialog(new ImportDialog(ui).container, 300, 200, true, true);
- });
- this.addAction('export', function() {
- ui.showDialog(new ExportDialog(ui).container, 300, 200, true, true);
- }, null, null, 'Ctrl+E');
- this.put('editFile', new Action(mxResources.get('edit'), mxUtils.bind(this,
- function() {
- this.editorUi.showDialog(new EditFileDialog(ui).container, 620, 420,
- true, true);
- })));
- this.addAction('rename', function() {
- ui.showDialog(new RenameDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('print', function() {
- mxUtils.printScreen(graph);
- }, null, 'sprite-print', 'Ctrl+P');
- this.addAction('preview', function() {
- mxUtils.show(graph, null, 10, 10);
- });
-
- // Edit actions
- this.addAction('undo', function() {
- editor.undoManager.undo();
- }, null, 'sprite-undo', 'Ctrl+Z');
- this.addAction('redo', function() {
- editor.undoManager.redo();
- }, null, 'sprite-redo', 'Ctrl+Y');
- this.addAction('cut', function() {
- mxClipboard.cut(graph);
- }, null, 'sprite-cut', 'Ctrl+X');
- this.addAction('copy', function() {
- mxClipboard.copy(graph);
- }, null, 'sprite-copy', 'Ctrl+C');
- this.addAction('paste', function() {
- mxClipboard.paste(graph);
- }, false, 'sprite-paste', 'Ctrl+V');
- this.addAction('delete', function() {
- graph.removeCells();
- }, null, null, 'Delete');
- this.addAction('duplicate', function() {
- var s = graph.gridSize;
- graph.setSelectionCells(graph.moveCells(graph.getSelectionCells(), s, s,
- true));
- }, null, null, 'Ctrl+D');
- this.addAction('selectVertices', function() {
- graph.selectVertices();
- }, null, null, 'Ctrl+Shift+V');
- this.addAction('selectEdges', function() {
- graph.selectEdges();
- }, null, null, 'Ctrl+Shift+E');
- this.addAction('selectAll', function() {
- graph.selectAll();
- }, null, null, 'Ctrl+A');
-
- // Navigation actions
- this.addAction('home', function() {
- graph.home();
- }, null, null, 'Home');
- this.addAction('exitGroup', function() {
- graph.exitGroup();
- }, null, null, 'Page Up');
- this.addAction('enterGroup', function() {
- graph.enterGroup();
- }, null, null, 'Page Down');
- this.addAction('expand', function() {
- graph.foldCells(false);
- }, null, null, 'Enter');
- this.addAction('collapse', function() {
- graph.foldCells(true);
- }, null, null, 'Backspace');
-
- // Arrange actions
- this.addAction('toFront', function() {
- graph.orderCells(false);
- }, null, null, 'Ctrl+F');
- this.addAction('toBack', function() {
- graph.orderCells(true);
- }, null, null, 'Ctrl+B');
- this.addAction('group', function() {
- graph.setSelectionCell(graph.groupCells(null, 0));
- }, null, null, 'Ctrl+G');
- this.addAction('ungroup', function() {
- graph.setSelectionCells(graph.ungroupCells());
- }, null, null, 'Ctrl+U');
- this.addAction('removeFromGroup', function() {
- graph.removeCellsFromParent();
- });
- this.addAction('editLink', function() {
- var cell = graph.getSelectionCell();
- var link = graph.getLinkForCell(cell);
-
- if (link == null) {
- link = '';
- }
-
- link = mxUtils.prompt(mxResources.get('enterValue'), link);
-
- if (link != null) {
- graph.setLinkForCell(cell, link);
- }
- });
- this.addAction('openLink', function() {
- var cell = graph.getSelectionCell();
- var link = graph.getLinkForCell(cell);
-
- if (link != null) {
- window.open(link);
- }
- });
- this.addAction('autosize', function() {
- var cells = graph.getSelectionCells();
-
- if (cells != null) {
- graph.getModel().beginUpdate();
- try {
- for (var i = 0; i < cells.length; i++) {
- var cell = cells[i];
-
- if (graph.getModel().getChildCount(cell)) {
- graph.updateGroupBounds([cell], 20);
- } else {
- graph.updateCellSize(cell);
- }
- }
- } finally {
- graph.getModel().endUpdate();
- }
- }
- });
- this.addAction('wordWrap', function() {
- var state = graph.getView().getState(graph.getSelectionCell());
- var value = 'wrap';
-
- if (state != null && state.style[mxConstants.STYLE_WHITE_SPACE] == 'wrap') {
- value = null;
- }
-
- graph.setCellStyles(mxConstants.STYLE_WHITE_SPACE, value);
- });
- this.addAction('rotation', function() {
- var value = '0';
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null) {
- value = state.style[mxConstants.STYLE_ROTATION] || value;
- }
-
- value = mxUtils.prompt(mxResources.get('enterValue') + ' (' +
- mxResources.get('rotation') + ' 0-360)', value);
-
- if (value != null) {
- graph.setCellStyles(mxConstants.STYLE_ROTATION, value);
- }
- });
- this.addAction('tilt', function() {
- var cells = graph.getSelectionCells();
-
- if (cells != null) {
- graph.getModel().beginUpdate();
- try {
- for (var i = 0; i < cells.length; i++) {
- var cell = cells[i];
-
- if (graph.getModel().isVertex(cell) && graph.getModel().getChildCount(
- cell) == 0) {
- var geo = graph.getCellGeometry(cell);
-
- if (geo != null) {
- // Rotates the size and position in the geometry
- geo = geo.clone();
- geo.x += geo.width / 2 - geo.height / 2;
- geo.y += geo.height / 2 - geo.width / 2;
- var tmp = geo.width;
- geo.width = geo.height;
- geo.height = tmp;
- graph.getModel().setGeometry(cell, geo);
-
- // Reads the current direction and advances by 90 degrees
- var state = graph.view.getState(cell);
-
- if (state != null) {
- var dir = state.style[mxConstants.STYLE_DIRECTION] || 'east' /*default*/ ;
-
- if (dir == 'east') {
- dir = 'south';
- } else if (dir == 'south') {
- dir = 'west';
- } else if (dir == 'west') {
- dir = 'north';
- } else if (dir == 'north') {
- dir = 'east';
- }
-
- graph.setCellStyles(mxConstants.STYLE_DIRECTION, dir, [cell]);
- }
- }
- }
- }
- } finally {
- graph.getModel().endUpdate();
- }
- }
- }, null, null, 'Ctrl+R');
-
- // View actions
- this.addAction('actualSize', function() {
- graph.zoomTo(1);
- });
- this.addAction('zoomIn', function() {
- graph.zoomIn();
- }, null, null, 'Add');
- this.addAction('zoomOut', function() {
- graph.zoomOut();
- }, null, null, 'Subtract');
- this.addAction('fitWindow', function() {
- graph.fit();
- });
-
- this.addAction('fitPage', mxUtils.bind(this, function() {
- if (!graph.pageVisible) {
- this.get('pageView').funct();
- }
-
- var fmt = graph.pageFormat;
- var ps = graph.pageScale;
- var cw = graph.container.clientWidth - 20;
- var ch = graph.container.clientHeight - 20;
-
- var scale = Math.floor(100 * Math.min(cw / fmt.width / ps, ch / fmt.height /
- ps)) / 100;
- graph.zoomTo(scale);
-
- graph.container.scrollLeft = Math.round(graph.view.translate.x * scale -
- Math.max(10, (graph.container.clientWidth - fmt.width * ps * scale) / 2)
- );
- graph.container.scrollTop = Math.round(graph.view.translate.y * scale -
- Math.max(10, (graph.container.clientHeight - fmt.height * ps * scale) /
- 2));
- }));
- this.addAction('fitPageWidth', mxUtils.bind(this, function() {
- if (!graph.pageVisible) {
- this.get('pageView').funct();
- }
-
- var fmt = graph.pageFormat;
- var ps = graph.pageScale;
- var cw = graph.container.clientWidth - 20;
-
- var scale = Math.floor(100 * cw / fmt.width / ps) / 100;
- graph.zoomTo(scale);
-
- graph.container.scrollLeft = Math.round(graph.view.translate.x * scale -
- Math.max(10, (graph.container.clientWidth - fmt.width * ps * scale) / 2)
- );
- graph.container.scrollTop = Math.round(graph.view.translate.y * scale -
- Math.max(10, (graph.container.clientHeight - fmt.height * ps * scale) /
- 2));
- }));
- this.put('customZoom', new Action(mxResources.get('custom'), function() {
- var value = mxUtils.prompt(mxResources.get('enterValue') + ' (%)',
- parseInt(graph.getView().getScale() * 100));
-
- if (value != null && value.length > 0 && !isNaN(parseInt(value))) {
- graph.zoomTo(parseInt(value) / 100);
- }
- }));
-
- // Option actions
- var action = null;
- action = this.addAction('grid', function() {
- graph.setGridEnabled(!graph.isGridEnabled());
- editor.updateGraphComponents();
- }, null, null, 'Ctrl+Shift+G');
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.isGridEnabled();
- });
- action = this.addAction('guides', function() {
- graph.graphHandler.guidesEnabled = !graph.graphHandler.guidesEnabled;
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.graphHandler.guidesEnabled;
- });
- action = this.addAction('tooltips', function() {
- graph.tooltipHandler.setEnabled(!graph.tooltipHandler.isEnabled());
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.tooltipHandler.isEnabled();
- });
- action = this.addAction('navigation', function() {
- graph.foldingEnabled = !graph.foldingEnabled;
- graph.view.revalidate();
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.foldingEnabled;
- });
- action = this.addAction('scrollbars', function() {
- graph.scrollbars = !graph.scrollbars;
- editor.updateGraphComponents();
-
- if (!graph.scrollbars) {
- var t = graph.view.translate;
- graph.view.setTranslate(t.x - graph.container.scrollLeft / graph.view.scale,
- t.y - graph.container.scrollTop / graph.view.scale);
- graph.container.scrollLeft = 0;
- graph.container.scrollTop = 0;
- graph.sizeDidChange();
- } else {
- var dx = graph.view.translate.x;
- var dy = graph.view.translate.y;
-
- graph.view.translate.x = 0;
- graph.view.translate.y = 0;
- graph.sizeDidChange();
- graph.container.scrollLeft -= Math.round(dx * graph.view.scale);
- graph.container.scrollTop -= Math.round(dy * graph.view.scale);
- }
- }, !mxClient.IS_TOUCH);
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.container.style.overflow == 'auto';
- });
- action = this.addAction('pageView', mxUtils.bind(this, function() {
- graph.pageVisible = !graph.pageVisible;
- graph.pageBreaksVisible = graph.pageVisible;
- graph.preferPageSize = graph.pageBreaksVisible;
- graph.view.validate();
- graph.sizeDidChange();
-
- editor.updateGraphComponents();
- editor.outline.update();
-
- if (mxUtils.hasScrollbars(graph.container)) {
- if (graph.pageVisible) {
- graph.container.scrollLeft -= 20;
- graph.container.scrollTop -= 20;
- } else {
- graph.container.scrollLeft += 20;
- graph.container.scrollTop += 20;
- }
- }
- }));
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.pageVisible;
- });
- action = this.addAction('connect', function() {
- graph.setConnectable(!graph.connectionHandler.isEnabled());
- }, null, null, 'Ctrl+Q');
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.connectionHandler.isEnabled();
- });
- action = this.addAction('copyConnect', function() {
- graph.connectionHandler.setCreateTarget(!graph.connectionHandler.isCreateTarget());
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.connectionHandler.isCreateTarget();
- });
-
- // Help actions
- this.addAction('help', function() {
- var ext = '';
-
- if (mxResources.isLanguageSupported(mxClient.language)) {
- ext = '_' + mxClient.language;
- }
-
- window.open(RESOURCES_PATH + '/help' + ext + '.html');
- });
- this.put('about', new Action(mxResources.get('about') + ' Cally Square',
- function() {
- ui.showDialog(new AboutDialog(ui).container, 320, 280, true, true);
- }, null, null, 'F1'));
-
- // Font style actions
- var toggleFontStyle = mxUtils.bind(this, function(key, style) {
- this.addAction(key, function() {
- graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, style);
- });
- });
-
- toggleFontStyle('bold', mxConstants.FONT_BOLD);
- toggleFontStyle('italic', mxConstants.FONT_ITALIC);
- toggleFontStyle('underline', mxConstants.FONT_UNDERLINE);
-
- // Format actions
- this.addAction('shadow', function() {
- graph.toggleCellStyles(mxConstants.STYLE_SHADOW);
- });
- this.addAction('dashed', function() {
- graph.toggleCellStyles(mxConstants.STYLE_DASHED);
- });
- this.addAction('rounded', function() {
- graph.toggleCellStyles(mxConstants.STYLE_ROUNDED);
- });
- this.addAction('curved', function() {
- graph.toggleCellStyles(mxConstants.STYLE_CURVED);
- });
- this.addAction('style', function() {
- var cells = graph.getSelectionCells();
-
- if (cells != null && cells.length > 0) {
- var model = graph.getModel();
- var style = mxUtils.prompt(mxResources.get('enterValue') + ' (' +
- mxResources.get('style') + ')',
- model.getStyle(cells[0]) || '');
-
- if (style != null) {
- graph.setCellStyle(style, cells);
- }
- }
- });
- this.addAction('setAsDefaultEdge', function() {
- graph.setDefaultEdge(graph.getSelectionCell());
- });
- this.addAction('addWaypoint', function() {
- var cell = graph.getSelectionCell();
-
- if (cell != null && graph.getModel().isEdge(cell)) {
- var handler = editor.graph.selectionCellsHandler.getHandler(cell);
-
- if (handler instanceof mxEdgeHandler) {
- var t = graph.view.translate;
- var s = graph.view.scale;
- var dx = t.x;
- var dy = t.y;
-
- var parent = graph.getModel().getParent(cell);
- var pgeo = graph.getCellGeometry(parent);
-
- if (graph.getModel().isVertex(parent) && pgeo != null) {
- dx += pgeo.x;
- dy += pgeo.y;
- }
-
- handler.addPointAt(handler.state, graph.panningHandler.triggerX / s - dx,
- graph.panningHandler.triggerY / s - dy);
- }
- }
- });
- this.addAction('removeWaypoint', function() {
- // TODO: Action should run with "this" set to action
- var rmWaypointAction = ui.actions.get('removeWaypoint');
-
- if (rmWaypointAction.handler != null) {
- // NOTE: Popupevent handled and action updated in Menus.createPopupMenu
- rmWaypointAction.handler.removePoint(rmWaypointAction.handler.state,
- rmWaypointAction.index);
- }
- });
- this.addAction('image', function() {
- function updateImage(value, w, h) {
- var select = null;
- var cells = graph.getSelectionCells();
-
- graph.getModel().beginUpdate();
- try {
- // Inserts new cell if no cell is selected
- if (cells.length == 0) {
- var gs = graph.getGridSize();
- cells = [graph.insertVertex(graph.getDefaultParent(), null, '', gs, gs,
- w, h)];
- select = cells;
- }
-
- graph.setCellStyles(mxConstants.STYLE_IMAGE, value, cells);
- graph.setCellStyles(mxConstants.STYLE_SHAPE, 'image', cells);
-
- if (graph.getSelectionCount() == 1) {
- if (w != null && h != null) {
- var cell = cells[0];
- var geo = graph.getModel().getGeometry(cell);
-
- if (geo != null) {
- geo = geo.clone();
- geo.width = w;
- geo.height = h;
- graph.getModel().setGeometry(cell, geo);
- }
- }
- }
- } finally {
- graph.getModel().endUpdate();
- }
-
- if (select != null) {
- graph.setSelectionCells(select);
- graph.scrollCellToVisible(select[0]);
- }
- };
-
- var value = '';
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null) {
- value = state.style[mxConstants.STYLE_IMAGE] || value;
- }
-
- value = mxUtils.prompt(mxResources.get('enterValue') + ' (' + mxResources.get(
- 'url') + ')', value);
-
- if (value != null) {
- if (value.length > 0) {
- var img = new Image();
-
- img.onload = function() {
- updateImage(value, img.width, img.height);
- };
- img.onerror = function() {
- mxUtils.alert(mxResources.get('fileNotFound'));
- };
-
- img.src = value;
- }
- }
- });
-};
-
-/**
- * Registers the given action under the given name.
- */
-Actions.prototype.addAction = function(key, funct, enabled, iconCls, shortcut) {
- return this.put(key, new Action(mxResources.get(key), funct, enabled, iconCls,
- shortcut));
-};
-
-/**
- * Registers the given action under the given name.
- */
-Actions.prototype.put = function(name, action) {
- this.actions[name] = action;
-
- return action;
-};
-
-/**
- * Returns the action for the given name or null if no such action exists.
- */
-Actions.prototype.get = function(name) {
- return this.actions[name];
-};
-
-/**
- * Constructs a new action for the given parameters.
- */
-function Action(label, funct, enabled, iconCls, shortcut) {
- mxEventSource.call(this);
- this.label = label;
- this.funct = funct;
- this.enabled = (enabled != null) ? enabled : true;
- this.iconCls = iconCls;
- this.shortcut = shortcut;
-};
-
-// Action inherits from mxEventSource
-mxUtils.extend(Action, mxEventSource);
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.setEnabled = function(value) {
- if (this.enabled != value) {
- this.enabled = value;
- this.fireEvent(new mxEventObject('stateChanged'));
- }
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.setToggleAction = function(value) {
- this.toggleAction = value;
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.setSelectedCallback = function(funct) {
- this.selectedCallback = funct;
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.isSelected = function() {
- return this.selectedCallback();
-};
+var _0xda87=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x64\x69\x74\x6F\x72\x55\x69","\x61\x63\x74\x69\x6F\x6E\x73","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x64\x69\x74\x6F\x72","\x67\x72\x61\x70\x68","\x6E\x65\x77","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x68\x6F\x77\x44\x69\x61\x6C\x6F\x67","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E","\x6F\x70\x65\x6E","\x73\x61\x76\x65","\x73\x61\x76\x65\x46\x69\x6C\x65","\x43\x74\x72\x6C\x2B\x53","\x73\x61\x76\x65\x41\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2D\x53","\x70\x75\x62\x6C\x69\x73\x68","\x70\x75\x62\x6C\x69\x73\x68\x46\x69\x6C\x65","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x50","\x76\x61\x72\x69\x61\x62\x6C\x65","\x69\x6D\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x43\x74\x72\x6C\x2B\x45","\x65\x64\x69\x74\x46\x69\x6C\x65","\x65\x64\x69\x74","\x67\x65\x74","\x62\x69\x6E\x64","\x70\x75\x74","\x72\x65\x6E\x61\x6D\x65","\x70\x72\x69\x6E\x74","\x70\x72\x69\x6E\x74\x53\x63\x72\x65\x65\x6E","\x73\x70\x72\x69\x74\x65\x2D\x70\x72\x69\x6E\x74","\x43\x74\x72\x6C\x2B\x50","\x70\x72\x65\x76\x69\x65\x77","\x73\x68\x6F\x77","\x75\x6E\x64\x6F","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x73\x70\x72\x69\x74\x65\x2D\x75\x6E\x64\x6F","\x43\x74\x72\x6C\x2B\x5A","\x72\x65\x64\x6F","\x73\x70\x72\x69\x74\x65\x2D\x72\x65\x64\x6F","\x43\x74\x72\x6C\x2B\x59","\x63\x75\x74","\x73\x70\x72\x69\x74\x65\x2D\x63\x75\x74","\x43\x74\x72\x6C\x2B\x58","\x63\x6F\x70\x79","\x73\x70\x72\x69\x74\x65\x2D\x63\x6F\x70\x79","\x43\x74\x72\x6C\x2B\x43","\x70\x61\x73\x74\x65","\x73\x70\x72\x69\x74\x65\x2D\x70\x61\x73\x74\x65","\x43\x74\x72\x6C\x2B\x56","\x64\x65\x6C\x65\x74\x65","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x44\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x67\x72\x69\x64\x53\x69\x7A\x65","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x43\x74\x72\x6C\x2B\x44","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x56","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x45","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x43\x74\x72\x6C\x2B\x41","\x68\x6F\x6D\x65","\x48\x6F\x6D\x65","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x50\x61\x67\x65\x20\x55\x70","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x50\x61\x67\x65\x20\x44\x6F\x77\x6E","\x65\x78\x70\x61\x6E\x64","\x66\x6F\x6C\x64\x43\x65\x6C\x6C\x73","\x45\x6E\x74\x65\x72","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x42\x61\x63\x6B\x73\x70\x61\x63\x65","\x74\x6F\x46\x72\x6F\x6E\x74","\x6F\x72\x64\x65\x72\x43\x65\x6C\x6C\x73","\x43\x74\x72\x6C\x2B\x46","\x74\x6F\x42\x61\x63\x6B","\x43\x74\x72\x6C\x2B\x42","\x67\x72\x6F\x75\x70","\x67\x72\x6F\x75\x70\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x43\x74\x72\x6C\x2B\x47","\x75\x6E\x67\x72\x6F\x75\x70","\x75\x6E\x67\x72\x6F\x75\x70\x43\x65\x6C\x6C\x73","\x43\x74\x72\x6C\x2B\x55","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x47\x72\x6F\x75\x70","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x65\x64\x69\x74\x4C\x69\x6E\x6B","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","","\x65\x6E\x74\x65\x72\x56\x61\x6C\x75\x65","\x70\x72\x6F\x6D\x70\x74","\x73\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x6F\x70\x65\x6E\x4C\x69\x6E\x6B","\x61\x75\x74\x6F\x73\x69\x7A\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x6F\x75\x6E\x74","\x75\x70\x64\x61\x74\x65\x47\x72\x6F\x75\x70\x42\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x43\x65\x6C\x6C\x53\x69\x7A\x65","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x77\x6F\x72\x64\x57\x72\x61\x70","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x77\x72\x61\x70","\x53\x54\x59\x4C\x45\x5F\x57\x48\x49\x54\x45\x5F\x53\x50\x41\x43\x45","\x73\x74\x79\x6C\x65","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x30","\x53\x54\x59\x4C\x45\x5F\x52\x4F\x54\x41\x54\x49\x4F\x4E","\x20\x28","\x20\x30\x2D\x33\x36\x30\x29","\x74\x69\x6C\x74","\x69\x73\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x43\x65\x6C\x6C\x47\x65\x6F\x6D\x65\x74\x72\x79","\x63\x6C\x6F\x6E\x65","\x78","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x79","\x73\x65\x74\x47\x65\x6F\x6D\x65\x74\x72\x79","\x76\x69\x65\x77","\x53\x54\x59\x4C\x45\x5F\x44\x49\x52\x45\x43\x54\x49\x4F\x4E","\x65\x61\x73\x74","\x73\x6F\x75\x74\x68","\x77\x65\x73\x74","\x6E\x6F\x72\x74\x68","\x43\x74\x72\x6C\x2B\x52","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x7A\x6F\x6F\x6D\x54\x6F","\x7A\x6F\x6F\x6D\x49\x6E","\x41\x64\x64","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x53\x75\x62\x74\x72\x61\x63\x74","\x66\x69\x74\x57\x69\x6E\x64\x6F\x77","\x66\x69\x74","\x66\x69\x74\x50\x61\x67\x65","\x70\x61\x67\x65\x56\x69\x73\x69\x62\x6C\x65","\x66\x75\x6E\x63\x74","\x70\x61\x67\x65\x56\x69\x65\x77","\x70\x61\x67\x65\x46\x6F\x72\x6D\x61\x74","\x70\x61\x67\x65\x53\x63\x61\x6C\x65","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74","\x6D\x69\x6E","\x66\x6C\x6F\x6F\x72","\x73\x63\x72\x6F\x6C\x6C\x4C\x65\x66\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65","\x6D\x61\x78","\x72\x6F\x75\x6E\x64","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x66\x69\x74\x50\x61\x67\x65\x57\x69\x64\x74\x68","\x63\x75\x73\x74\x6F\x6D\x5A\x6F\x6F\x6D","\x63\x75\x73\x74\x6F\x6D","\x20\x28\x25\x29","\x67\x65\x74\x53\x63\x61\x6C\x65","\x67\x72\x69\x64","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x75\x70\x64\x61\x74\x65\x47\x72\x61\x70\x68\x43\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x47","\x73\x65\x74\x54\x6F\x67\x67\x6C\x65\x41\x63\x74\x69\x6F\x6E","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x65\x64\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x67\x75\x69\x64\x65\x73","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x74\x6F\x6F\x6C\x74\x69\x70\x73","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x72\x65\x76\x61\x6C\x69\x64\x61\x74\x65","\x73\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x73\x63\x61\x6C\x65","\x73\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x73\x69\x7A\x65\x44\x69\x64\x43\x68\x61\x6E\x67\x65","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x61\x75\x74\x6F","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x73\x56\x69\x73\x69\x62\x6C\x65","\x70\x72\x65\x66\x65\x72\x50\x61\x67\x65\x53\x69\x7A\x65","\x76\x61\x6C\x69\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6F\x75\x74\x6C\x69\x6E\x65","\x68\x61\x73\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x43\x74\x72\x6C\x2B\x51","\x63\x6F\x70\x79\x43\x6F\x6E\x6E\x65\x63\x74","\x69\x73\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x73\x65\x74\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x68\x65\x6C\x70","\x6C\x61\x6E\x67\x75\x61\x67\x65","\x69\x73\x4C\x61\x6E\x67\x75\x61\x67\x65\x53\x75\x70\x70\x6F\x72\x74\x65\x64","\x5F","\x2F\x68\x65\x6C\x70","\x2E\x68\x74\x6D\x6C","\x61\x62\x6F\x75\x74","\x20\x43\x61\x6C\x6C\x79\x20\x53\x71\x75\x61\x72\x65","\x46\x31","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x46\x6C\x61\x67\x73","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x73\x68\x61\x64\x6F\x77","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x64\x61\x73\x68\x65\x64","\x72\x6F\x75\x6E\x64\x65\x64","\x63\x75\x72\x76\x65\x64","\x29","\x67\x65\x74\x53\x74\x79\x6C\x65","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x73\x65\x74\x41\x73\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x61\x64\x64\x57\x61\x79\x70\x6F\x69\x6E\x74","\x69\x73\x45\x64\x67\x65","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x73\x74\x61\x74\x65","\x74\x72\x69\x67\x67\x65\x72\x58","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x74\x72\x69\x67\x67\x65\x72\x59","\x61\x64\x64\x50\x6F\x69\x6E\x74\x41\x74","\x72\x65\x6D\x6F\x76\x65\x57\x61\x79\x70\x6F\x69\x6E\x74","\x68\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x64\x65\x78","\x72\x65\x6D\x6F\x76\x65\x50\x6F\x69\x6E\x74","\x69\x6D\x61\x67\x65","\x67\x65\x74\x47\x72\x69\x64\x53\x69\x7A\x65","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x69\x6E\x73\x65\x72\x74\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x67\x65\x74\x47\x65\x6F\x6D\x65\x74\x72\x79","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x49\x4D\x41\x47\x45","\x75\x72\x6C","\x6F\x6E\x6C\x6F\x61\x64","\x6F\x6E\x65\x72\x72\x6F\x72","\x66\x69\x6C\x65\x4E\x6F\x74\x46\x6F\x75\x6E\x64","\x61\x6C\x65\x72\x74","\x73\x72\x63","\x63\x61\x6C\x6C","\x6C\x61\x62\x65\x6C","\x65\x6E\x61\x62\x6C\x65\x64","\x69\x63\x6F\x6E\x43\x6C\x73","\x73\x68\x6F\x72\x74\x63\x75\x74","\x65\x78\x74\x65\x6E\x64","\x73\x74\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x64","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x74\x6F\x67\x67\x6C\x65\x41\x63\x74\x69\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x65\x64\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x69\x73\x53\x65\x6C\x65\x63\x74\x65\x64"];_0xda87[0];function Actions(_0xa136x2){this[_0xda87[1]]= _0xa136x2;this[_0xda87[2]]= new Object();this[_0xda87[3]]()}Actions[_0xda87[4]][_0xda87[3]]= function(){var _0xa136x3=this[_0xda87[1]];var _0xa136x4=_0xa136x3[_0xda87[5]];var _0xa136x5=_0xa136x4[_0xda87[6]];this[_0xda87[10]](_0xda87[7],function(){_0xa136x3[_0xda87[9]]( new NewDialog(_0xa136x3)[_0xda87[8]],300,180,true,true)});this[_0xda87[10]](_0xda87[11],function(){_0xa136x3[_0xda87[9]]( new OpenDialog(_0xa136x3)[_0xda87[8]],300,180,true,true)});this[_0xda87[10]](_0xda87[12],function(){_0xa136x3[_0xda87[13]](false)},null,null,_0xda87[14]);this[_0xda87[10]](_0xda87[15],function(){_0xa136x3[_0xda87[13]](true)},null,null,_0xda87[16]);this[_0xda87[10]](_0xda87[17],function(){_0xa136x3[_0xda87[18]](false)},null,null,_0xda87[19]);this[_0xda87[10]](_0xda87[20],function(){_0xa136x3[_0xda87[9]]( new VariableDialog(_0xa136x3)[_0xda87[8]],300,180,true,true)});this[_0xda87[10]](_0xda87[21],function(){_0xa136x3[_0xda87[9]]( new ImportDialog(_0xa136x3)[_0xda87[8]],300,200,true,true)});this[_0xda87[10]](_0xda87[22],function(){_0xa136x3[_0xda87[9]]( new ExportDialog(_0xa136x3)[_0xda87[8]],300,200,true,true)},null,null,_0xda87[23]);this[_0xda87[28]](_0xda87[24], new Action(mxResources[_0xda87[26]](_0xda87[25]),mxUtils[_0xda87[27]](this,function(){this[_0xda87[1]][_0xda87[9]]( new EditFileDialog(_0xa136x3)[_0xda87[8]],620,420,true,true)})));this[_0xda87[10]](_0xda87[29],function(){_0xa136x3[_0xda87[9]]( new RenameDialog(_0xa136x3)[_0xda87[8]],300,180,true,true)});this[_0xda87[10]](_0xda87[30],function(){mxUtils[_0xda87[31]](_0xa136x5)},null,_0xda87[32],_0xda87[33]);this[_0xda87[10]](_0xda87[34],function(){mxUtils[_0xda87[35]](_0xa136x5,null,10,10)});this[_0xda87[10]](_0xda87[36],function(){_0xa136x4[_0xda87[37]][_0xda87[36]]()},null,_0xda87[38],_0xda87[39]);this[_0xda87[10]](_0xda87[40],function(){_0xa136x4[_0xda87[37]][_0xda87[40]]()},null,_0xda87[41],_0xda87[42]);this[_0xda87[10]](_0xda87[43],function(){mxClipboard[_0xda87[43]](_0xa136x5)},null,_0xda87[44],_0xda87[45]);this[_0xda87[10]](_0xda87[46],function(){mxClipboard[_0xda87[46]](_0xa136x5)},null,_0xda87[47],_0xda87[48]);this[_0xda87[10]](_0xda87[49],function(){mxClipboard[_0xda87[49]](_0xa136x5)},false,_0xda87[50],_0xda87[51]);this[_0xda87[10]](_0xda87[52],function(){_0xa136x5[_0xda87[53]]()},null,null,_0xda87[54]);this[_0xda87[10]](_0xda87[55],function(){var _0xa136x6=_0xa136x5[_0xda87[56]];_0xa136x5[_0xda87[59]](_0xa136x5[_0xda87[58]](_0xa136x5[_0xda87[57]](),_0xa136x6,_0xa136x6,true))},null,null,_0xda87[60]);this[_0xda87[10]](_0xda87[61],function(){_0xa136x5[_0xda87[61]]()},null,null,_0xda87[62]);this[_0xda87[10]](_0xda87[63],function(){_0xa136x5[_0xda87[63]]()},null,null,_0xda87[64]);this[_0xda87[10]](_0xda87[65],function(){_0xa136x5[_0xda87[65]]()},null,null,_0xda87[66]);this[_0xda87[10]](_0xda87[67],function(){_0xa136x5[_0xda87[67]]()},null,null,_0xda87[68]);this[_0xda87[10]](_0xda87[69],function(){_0xa136x5[_0xda87[69]]()},null,null,_0xda87[70]);this[_0xda87[10]](_0xda87[71],function(){_0xa136x5[_0xda87[71]]()},null,null,_0xda87[72]);this[_0xda87[10]](_0xda87[73],function(){_0xa136x5[_0xda87[74]](false)},null,null,_0xda87[75]);this[_0xda87[10]](_0xda87[76],function(){_0xa136x5[_0xda87[74]](true)},null,null,_0xda87[77]);this[_0xda87[10]](_0xda87[78],function(){_0xa136x5[_0xda87[79]](false)},null,null,_0xda87[80]);this[_0xda87[10]](_0xda87[81],function(){_0xa136x5[_0xda87[79]](true)},null,null,_0xda87[82]);this[_0xda87[10]](_0xda87[83],function(){_0xa136x5[_0xda87[85]](_0xa136x5[_0xda87[84]](null,0))},null,null,_0xda87[86]);this[_0xda87[10]](_0xda87[87],function(){_0xa136x5[_0xda87[59]](_0xa136x5[_0xda87[88]]())},null,null,_0xda87[89]);this[_0xda87[10]](_0xda87[90],function(){_0xa136x5[_0xda87[91]]()});this[_0xda87[10]](_0xda87[92],function(){var _0xa136x7=_0xa136x5[_0xda87[93]]();var _0xa136x8=_0xa136x5[_0xda87[94]](_0xa136x7);if(_0xa136x8== null){_0xa136x8= _0xda87[95]};_0xa136x8= mxUtils[_0xda87[97]](mxResources[_0xda87[26]](_0xda87[96]),_0xa136x8);if(_0xa136x8!= null){_0xa136x5[_0xda87[98]](_0xa136x7,_0xa136x8)}});this[_0xda87[10]](_0xda87[99],function(){var _0xa136x7=_0xa136x5[_0xda87[93]]();var _0xa136x8=_0xa136x5[_0xda87[94]](_0xa136x7);if(_0xa136x8!= null){window[_0xda87[11]](_0xa136x8)}});this[_0xda87[10]](_0xda87[100],function(){var _0xa136x9=_0xa136x5[_0xda87[57]]();if(_0xa136x9!= null){_0xa136x5[_0xda87[102]]()[_0xda87[101]]();try{for(var _0xa136xa=0;_0xa136xa< _0xa136x9[_0xda87[103]];_0xa136xa++){var _0xa136x7=_0xa136x9[_0xa136xa];if(_0xa136x5[_0xda87[102]]()[_0xda87[104]](_0xa136x7)){_0xa136x5[_0xda87[105]]([_0xa136x7],20)}else {_0xa136x5[_0xda87[106]](_0xa136x7)}}}finally{_0xa136x5[_0xda87[102]]()[_0xda87[107]]()}}});this[_0xda87[10]](_0xda87[108],function(){var _0xa136xb=_0xa136x5[_0xda87[110]]()[_0xda87[109]](_0xa136x5[_0xda87[93]]());var _0xa136xc=_0xda87[111];if(_0xa136xb!= null&& _0xa136xb[_0xda87[113]][mxConstants[_0xda87[112]]]== _0xda87[111]){_0xa136xc= null};_0xa136x5[_0xda87[114]](mxConstants.STYLE_WHITE_SPACE,_0xa136xc)});this[_0xda87[10]](_0xda87[115],function(){var _0xa136xc=_0xda87[116];var _0xa136xb=_0xa136x5[_0xda87[110]]()[_0xda87[109]](_0xa136x5[_0xda87[93]]());if(_0xa136xb!= null){_0xa136xc= _0xa136xb[_0xda87[113]][mxConstants[_0xda87[117]]]|| _0xa136xc};_0xa136xc= mxUtils[_0xda87[97]](mxResources[_0xda87[26]](_0xda87[96])+ _0xda87[118]+ mxResources[_0xda87[26]](_0xda87[115])+ _0xda87[119],_0xa136xc);if(_0xa136xc!= null){_0xa136x5[_0xda87[114]](mxConstants.STYLE_ROTATION,_0xa136xc)}});this[_0xda87[10]](_0xda87[120],function(){var _0xa136x9=_0xa136x5[_0xda87[57]]();if(_0xa136x9!= null){_0xa136x5[_0xda87[102]]()[_0xda87[101]]();try{for(var _0xa136xa=0;_0xa136xa< _0xa136x9[_0xda87[103]];_0xa136xa++){var _0xa136x7=_0xa136x9[_0xa136xa];if(_0xa136x5[_0xda87[102]]()[_0xda87[121]](_0xa136x7)&& _0xa136x5[_0xda87[102]]()[_0xda87[104]](_0xa136x7)== 0){var _0xa136xd=_0xa136x5[_0xda87[122]](_0xa136x7);if(_0xa136xd!= null){_0xa136xd= _0xa136xd[_0xda87[123]]();_0xa136xd[_0xda87[124]]+= _0xa136xd[_0xda87[125]]/ 2- _0xa136xd[_0xda87[126]]/ 2;_0xa136xd[_0xda87[127]]+= _0xa136xd[_0xda87[126]]/ 2- _0xa136xd[_0xda87[125]]/ 2;var _0xa136xe=_0xa136xd[_0xda87[125]];_0xa136xd[_0xda87[125]]= _0xa136xd[_0xda87[126]];_0xa136xd[_0xda87[126]]= _0xa136xe;_0xa136x5[_0xda87[102]]()[_0xda87[128]](_0xa136x7,_0xa136xd);var _0xa136xb=_0xa136x5[_0xda87[129]][_0xda87[109]](_0xa136x7);if(_0xa136xb!= null){var _0xa136xf=_0xa136xb[_0xda87[113]][mxConstants[_0xda87[130]]]|| _0xda87[131];if(_0xa136xf== _0xda87[131]){_0xa136xf= _0xda87[132]}else {if(_0xa136xf== _0xda87[132]){_0xa136xf= _0xda87[133]}else {if(_0xa136xf== _0xda87[133]){_0xa136xf= _0xda87[134]}else {if(_0xa136xf== _0xda87[134]){_0xa136xf= _0xda87[131]}}}};_0xa136x5[_0xda87[114]](mxConstants.STYLE_DIRECTION,_0xa136xf,[_0xa136x7])}}}}}finally{_0xa136x5[_0xda87[102]]()[_0xda87[107]]()}}},null,null,_0xda87[135]);this[_0xda87[10]](_0xda87[136],function(){_0xa136x5[_0xda87[137]](1)});this[_0xda87[10]](_0xda87[138],function(){_0xa136x5[_0xda87[138]]()},null,null,_0xda87[139]);this[_0xda87[10]](_0xda87[140],function(){_0xa136x5[_0xda87[140]]()},null,null,_0xda87[141]);this[_0xda87[10]](_0xda87[142],function(){_0xa136x5[_0xda87[143]]()});this[_0xda87[10]](_0xda87[144],mxUtils[_0xda87[27]](this,function(){if(!_0xa136x5[_0xda87[145]]){this[_0xda87[26]](_0xda87[147])[_0xda87[146]]()};var _0xa136x10=_0xa136x5[_0xda87[148]];var _0xa136x11=_0xa136x5[_0xda87[149]];var _0xa136x12=_0xa136x5[_0xda87[8]][_0xda87[150]]- 20;var _0xa136x13=_0xa136x5[_0xda87[8]][_0xda87[151]]- 20;var _0xa136x14=Math[_0xda87[153]](100* Math[_0xda87[152]](_0xa136x12/ _0xa136x10[_0xda87[125]]/ _0xa136x11,_0xa136x13/ _0xa136x10[_0xda87[126]]/ _0xa136x11))/ 100;_0xa136x5[_0xda87[137]](_0xa136x14);_0xa136x5[_0xda87[8]][_0xda87[154]]= Math[_0xda87[157]](_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[124]]* _0xa136x14- Math[_0xda87[156]](10,(_0xa136x5[_0xda87[8]][_0xda87[150]]- _0xa136x10[_0xda87[125]]* _0xa136x11* _0xa136x14)/ 2));_0xa136x5[_0xda87[8]][_0xda87[158]]= Math[_0xda87[157]](_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[127]]* _0xa136x14- Math[_0xda87[156]](10,(_0xa136x5[_0xda87[8]][_0xda87[151]]- _0xa136x10[_0xda87[126]]* _0xa136x11* _0xa136x14)/ 2))}));this[_0xda87[10]](_0xda87[159],mxUtils[_0xda87[27]](this,function(){if(!_0xa136x5[_0xda87[145]]){this[_0xda87[26]](_0xda87[147])[_0xda87[146]]()};var _0xa136x10=_0xa136x5[_0xda87[148]];var _0xa136x11=_0xa136x5[_0xda87[149]];var _0xa136x12=_0xa136x5[_0xda87[8]][_0xda87[150]]- 20;var _0xa136x14=Math[_0xda87[153]](100* _0xa136x12/ _0xa136x10[_0xda87[125]]/ _0xa136x11)/ 100;_0xa136x5[_0xda87[137]](_0xa136x14);_0xa136x5[_0xda87[8]][_0xda87[154]]= Math[_0xda87[157]](_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[124]]* _0xa136x14- Math[_0xda87[156]](10,(_0xa136x5[_0xda87[8]][_0xda87[150]]- _0xa136x10[_0xda87[125]]* _0xa136x11* _0xa136x14)/ 2));_0xa136x5[_0xda87[8]][_0xda87[158]]= Math[_0xda87[157]](_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[127]]* _0xa136x14- Math[_0xda87[156]](10,(_0xa136x5[_0xda87[8]][_0xda87[151]]- _0xa136x10[_0xda87[126]]* _0xa136x11* _0xa136x14)/ 2))}));this[_0xda87[28]](_0xda87[160], new Action(mxResources[_0xda87[26]](_0xda87[161]),function(){var _0xa136xc=mxUtils[_0xda87[97]](mxResources[_0xda87[26]](_0xda87[96])+ _0xda87[162],parseInt(_0xa136x5[_0xda87[110]]()[_0xda87[163]]()* 100));if(_0xa136xc!= null&& _0xa136xc[_0xda87[103]]> 0&& !isNaN(parseInt(_0xa136xc))){_0xa136x5[_0xda87[137]](parseInt(_0xa136xc)/ 100)}}));var _0xa136x15=null;_0xa136x15= this[_0xda87[10]](_0xda87[164],function(){_0xa136x5[_0xda87[166]](!_0xa136x5[_0xda87[165]]());_0xa136x4[_0xda87[167]]()},null,null,_0xda87[168]);_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[165]]()});_0xa136x15= this[_0xda87[10]](_0xda87[171],function(){_0xa136x5[_0xda87[173]][_0xda87[172]]= !_0xa136x5[_0xda87[173]][_0xda87[172]]});_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[173]][_0xda87[172]]});_0xa136x15= this[_0xda87[10]](_0xda87[174],function(){_0xa136x5[_0xda87[176]][_0xda87[177]](!_0xa136x5[_0xda87[176]][_0xda87[175]]())});_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[176]][_0xda87[175]]()});_0xa136x15= this[_0xda87[10]](_0xda87[178],function(){_0xa136x5[_0xda87[179]]= !_0xa136x5[_0xda87[179]];_0xa136x5[_0xda87[129]][_0xda87[180]]()});_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[179]]});_0xa136x15= this[_0xda87[10]](_0xda87[181],function(){_0xa136x5[_0xda87[181]]= !_0xa136x5[_0xda87[181]];_0xa136x4[_0xda87[167]]();if(!_0xa136x5[_0xda87[181]]){var _0xa136x16=_0xa136x5[_0xda87[129]][_0xda87[155]];_0xa136x5[_0xda87[129]][_0xda87[183]](_0xa136x16[_0xda87[124]]- _0xa136x5[_0xda87[8]][_0xda87[154]]/ _0xa136x5[_0xda87[129]][_0xda87[182]],_0xa136x16[_0xda87[127]]- _0xa136x5[_0xda87[8]][_0xda87[158]]/ _0xa136x5[_0xda87[129]][_0xda87[182]]);_0xa136x5[_0xda87[8]][_0xda87[154]]= 0;_0xa136x5[_0xda87[8]][_0xda87[158]]= 0;_0xa136x5[_0xda87[184]]()}else {var _0xa136x17=_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[124]];var _0xa136x18=_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[127]];_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[124]]= 0;_0xa136x5[_0xda87[129]][_0xda87[155]][_0xda87[127]]= 0;_0xa136x5[_0xda87[184]]();_0xa136x5[_0xda87[8]][_0xda87[154]]-= Math[_0xda87[157]](_0xa136x17* _0xa136x5[_0xda87[129]][_0xda87[182]]);_0xa136x5[_0xda87[8]][_0xda87[158]]-= Math[_0xda87[157]](_0xa136x18* _0xa136x5[_0xda87[129]][_0xda87[182]])}},!mxClient.IS_TOUCH);_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[8]][_0xda87[113]][_0xda87[185]]== _0xda87[186]});_0xa136x15= this[_0xda87[10]](_0xda87[147],mxUtils[_0xda87[27]](this,function(){_0xa136x5[_0xda87[145]]= !_0xa136x5[_0xda87[145]];_0xa136x5[_0xda87[187]]= _0xa136x5[_0xda87[145]];_0xa136x5[_0xda87[188]]= _0xa136x5[_0xda87[187]];_0xa136x5[_0xda87[129]][_0xda87[189]]();_0xa136x5[_0xda87[184]]();_0xa136x4[_0xda87[167]]();_0xa136x4[_0xda87[191]][_0xda87[190]]();if(mxUtils[_0xda87[192]](_0xa136x5[_0xda87[8]])){if(_0xa136x5[_0xda87[145]]){_0xa136x5[_0xda87[8]][_0xda87[154]]-= 20;_0xa136x5[_0xda87[8]][_0xda87[158]]-= 20}else {_0xa136x5[_0xda87[8]][_0xda87[154]]+= 20;_0xa136x5[_0xda87[8]][_0xda87[158]]+= 20}}}));_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[145]]});_0xa136x15= this[_0xda87[10]](_0xda87[193],function(){_0xa136x5[_0xda87[195]](!_0xa136x5[_0xda87[194]][_0xda87[175]]())},null,null,_0xda87[196]);_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[194]][_0xda87[175]]()});_0xa136x15= this[_0xda87[10]](_0xda87[197],function(){_0xa136x5[_0xda87[194]][_0xda87[199]](!_0xa136x5[_0xda87[194]][_0xda87[198]]())});_0xa136x15[_0xda87[169]](true);_0xa136x15[_0xda87[170]](function(){return _0xa136x5[_0xda87[194]][_0xda87[198]]()});this[_0xda87[10]](_0xda87[200],function(){var _0xa136x19=_0xda87[95];if(mxResources[_0xda87[202]](mxClient[_0xda87[201]])){_0xa136x19= _0xda87[203]+ mxClient[_0xda87[201]]};window[_0xda87[11]](RESOURCES_PATH+ _0xda87[204]+ _0xa136x19+ _0xda87[205])});this[_0xda87[28]](_0xda87[206], new Action(mxResources[_0xda87[26]](_0xda87[206])+ _0xda87[207],function(){_0xa136x3[_0xda87[9]]( new AboutDialog(_0xa136x3)[_0xda87[8]],320,280,true,true)},null,null,_0xda87[208]));var _0xa136x1a=mxUtils[_0xda87[27]](this,function(_0xa136x1b,_0xa136x1c){this[_0xda87[10]](_0xa136x1b,function(){_0xa136x5[_0xda87[209]](mxConstants.STYLE_FONTSTYLE,_0xa136x1c)})});_0xa136x1a(_0xda87[210],mxConstants.FONT_BOLD);_0xa136x1a(_0xda87[211],mxConstants.FONT_ITALIC);_0xa136x1a(_0xda87[212],mxConstants.FONT_UNDERLINE);this[_0xda87[10]](_0xda87[213],function(){_0xa136x5[_0xda87[214]](mxConstants.STYLE_SHADOW)});this[_0xda87[10]](_0xda87[215],function(){_0xa136x5[_0xda87[214]](mxConstants.STYLE_DASHED)});this[_0xda87[10]](_0xda87[216],function(){_0xa136x5[_0xda87[214]](mxConstants.STYLE_ROUNDED)});this[_0xda87[10]](_0xda87[217],function(){_0xa136x5[_0xda87[214]](mxConstants.STYLE_CURVED)});this[_0xda87[10]](_0xda87[113],function(){var _0xa136x9=_0xa136x5[_0xda87[57]]();if(_0xa136x9!= null&& _0xa136x9[_0xda87[103]]> 0){var _0xa136x1d=_0xa136x5[_0xda87[102]]();var _0xa136x1c=mxUtils[_0xda87[97]](mxResources[_0xda87[26]](_0xda87[96])+ _0xda87[118]+ mxResources[_0xda87[26]](_0xda87[113])+ _0xda87[218],_0xa136x1d[_0xda87[219]](_0xa136x9[0])|| _0xda87[95]);if(_0xa136x1c!= null){_0xa136x5[_0xda87[220]](_0xa136x1c,_0xa136x9)}}});this[_0xda87[10]](_0xda87[221],function(){_0xa136x5[_0xda87[222]](_0xa136x5[_0xda87[93]]())});this[_0xda87[10]](_0xda87[223],function(){var _0xa136x7=_0xa136x5[_0xda87[93]]();if(_0xa136x7!= null&& _0xa136x5[_0xda87[102]]()[_0xda87[224]](_0xa136x7)){var _0xa136x1e=_0xa136x4[_0xda87[6]][_0xda87[226]][_0xda87[225]](_0xa136x7);if(_0xa136x1e instanceof mxEdgeHandler){var _0xa136x16=_0xa136x5[_0xda87[129]][_0xda87[155]];var _0xa136x6=_0xa136x5[_0xda87[129]][_0xda87[182]];var _0xa136x17=_0xa136x16[_0xda87[124]];var _0xa136x18=_0xa136x16[_0xda87[127]];var _0xa136x1f=_0xa136x5[_0xda87[102]]()[_0xda87[227]](_0xa136x7);var _0xa136x20=_0xa136x5[_0xda87[122]](_0xa136x1f);if(_0xa136x5[_0xda87[102]]()[_0xda87[121]](_0xa136x1f)&& _0xa136x20!= null){_0xa136x17+= _0xa136x20[_0xda87[124]];_0xa136x18+= _0xa136x20[_0xda87[127]]};_0xa136x1e[_0xda87[232]](_0xa136x1e[_0xda87[228]],_0xa136x5[_0xda87[230]][_0xda87[229]]/ _0xa136x6- _0xa136x17,_0xa136x5[_0xda87[230]][_0xda87[231]]/ _0xa136x6- _0xa136x18)}}});this[_0xda87[10]](_0xda87[233],function(){var _0xa136x21=_0xa136x3[_0xda87[2]][_0xda87[26]](_0xda87[233]);if(_0xa136x21[_0xda87[234]]!= null){_0xa136x21[_0xda87[234]][_0xda87[236]](_0xa136x21[_0xda87[234]][_0xda87[228]],_0xa136x21[_0xda87[235]])}});this[_0xda87[10]](_0xda87[237],function(){function _0xa136x22(_0xa136xc,_0xa136x23,_0xa136x24){var _0xa136x25=null;var _0xa136x9=_0xa136x5[_0xda87[57]]();_0xa136x5[_0xda87[102]]()[_0xda87[101]]();try{if(_0xa136x9[_0xda87[103]]== 0){var _0xa136x26=_0xa136x5[_0xda87[238]]();_0xa136x9= [_0xa136x5[_0xda87[240]](_0xa136x5[_0xda87[239]](),null,_0xda87[95],_0xa136x26,_0xa136x26,_0xa136x23,_0xa136x24)];_0xa136x25= _0xa136x9};_0xa136x5[_0xda87[114]](mxConstants.STYLE_IMAGE,_0xa136xc,_0xa136x9);_0xa136x5[_0xda87[114]](mxConstants.STYLE_SHAPE,_0xda87[237],_0xa136x9);if(_0xa136x5[_0xda87[241]]()== 1){if(_0xa136x23!= null&& _0xa136x24!= null){var _0xa136x7=_0xa136x9[0];var _0xa136xd=_0xa136x5[_0xda87[102]]()[_0xda87[242]](_0xa136x7);if(_0xa136xd!= null){_0xa136xd= _0xa136xd[_0xda87[123]]();_0xa136xd[_0xda87[125]]= _0xa136x23;_0xa136xd[_0xda87[126]]= _0xa136x24;_0xa136x5[_0xda87[102]]()[_0xda87[128]](_0xa136x7,_0xa136xd)}}}}finally{_0xa136x5[_0xda87[102]]()[_0xda87[107]]()};if(_0xa136x25!= null){_0xa136x5[_0xda87[59]](_0xa136x25);_0xa136x5[_0xda87[243]](_0xa136x25[0])}}var _0xa136xc=_0xda87[95];var _0xa136xb=_0xa136x5[_0xda87[110]]()[_0xda87[109]](_0xa136x5[_0xda87[93]]());if(_0xa136xb!= null){_0xa136xc= _0xa136xb[_0xda87[113]][mxConstants[_0xda87[244]]]|| _0xa136xc};_0xa136xc= mxUtils[_0xda87[97]](mxResources[_0xda87[26]](_0xda87[96])+ _0xda87[118]+ mxResources[_0xda87[26]](_0xda87[245])+ _0xda87[218],_0xa136xc);if(_0xa136xc!= null){if(_0xa136xc[_0xda87[103]]> 0){var _0xa136x27= new Image();_0xa136x27[_0xda87[246]]= function(){_0xa136x22(_0xa136xc,_0xa136x27[_0xda87[125]],_0xa136x27[_0xda87[126]])};_0xa136x27[_0xda87[247]]= function(){mxUtils[_0xda87[249]](mxResources[_0xda87[26]](_0xda87[248]))};_0xa136x27[_0xda87[250]]= _0xa136xc}}})};Actions[_0xda87[4]][_0xda87[10]]= function(_0xa136x1b,_0xa136x28,_0xa136x29,_0xa136x2a,_0xa136x2b){return this[_0xda87[28]](_0xa136x1b, new Action(mxResources[_0xda87[26]](_0xa136x1b),_0xa136x28,_0xa136x29,_0xa136x2a,_0xa136x2b))};Actions[_0xda87[4]][_0xda87[28]]= function(_0xa136x2c,_0xa136x15){this[_0xda87[2]][_0xa136x2c]= _0xa136x15;return _0xa136x15};Actions[_0xda87[4]][_0xda87[26]]= function(_0xa136x2c){return this[_0xda87[2]][_0xa136x2c]};function Action(_0xa136x2e,_0xa136x28,_0xa136x29,_0xa136x2a,_0xa136x2b){mxEventSource[_0xda87[251]](this);this[_0xda87[252]]= _0xa136x2e;this[_0xda87[146]]= _0xa136x28;this[_0xda87[253]]= (_0xa136x29!= null)?_0xa136x29:true;this[_0xda87[254]]= _0xa136x2a;this[_0xda87[255]]= _0xa136x2b}mxUtils[_0xda87[256]](Action,mxEventSource);Action[_0xda87[4]][_0xda87[177]]= function(_0xa136xc){if(this[_0xda87[253]]!= _0xa136xc){this[_0xda87[253]]= _0xa136xc;this[_0xda87[258]]( new mxEventObject(_0xda87[257]))}};Action[_0xda87[4]][_0xda87[169]]= function(_0xa136xc){this[_0xda87[259]]= _0xa136xc};Action[_0xda87[4]][_0xda87[170]]= function(_0xa136x28){this[_0xda87[260]]= _0xa136x28};Action[_0xda87[4]][_0xda87[261]]= function(){return this[_0xda87[260]]()}
\ No newline at end of file
-'use strict';
-/**
- * $Id: Dialogs.js,v 1.5 2013-01-29 17:23:31 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new dialog.
- */
-
-function createCheckbox(value) {
- var input = document.createElement('input');
- input.setAttribute('type', 'checkbox');
- if (value) {
- input.setAttribute('checked', true);
- }
- return input;
-}
-
-function createDropdownFromApi(path, value, option_name, option_value, editorUi,
- keys, pattern) {
- var req = new XMLHttpRequest();
- req.open('GET', path, false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response);
- }
- var input = document.createElement('select');
- var option = document.createElement('option');
- option.text = '-- None --';
- option.value = '-1';
- input.appendChild(option);
- res.rows.forEach(function(elem) {
- option = document.createElement('option');
- option.text = elem[option_name];
- if (keys && pattern) {
- keys.forEach(function(key) {
- pattern = pattern.replace('%' + key + '%', elem[key]);
- });
- option.value = pattern;
- option.selected = (pattern == value);
- } else {
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- }
- input.appendChild(option);
- });
- input.className = 'form-control select2';
-
- return input;
-}
-
-function createGroupedDropdownFromApi(path, value, option_name, option_value, editorUi, paginated, associationField) {
- var req = new XMLHttpRequest();
- req.open('GET', path, false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response);
- }
- var input = document.createElement('select');
- var option = document.createElement('option');
- option.text = '-- None --';
- option.value = '0';
- input.appendChild(option);
- var selectValues = paginated ? res.rows : res;
- var mainFilter = {};
- var groupFilter = {};
- mainFilter[associationField] = null;
- var mainValues = _.filter(selectValues, mainFilter);
- var groupValues = {};
- mainValues.forEach(function(elem) {
- option = document.createElement('option');
- option.className = 'select-group-father';
- option.text = elem[option_name].toUpperCase();
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- input.appendChild(option);
- groupFilter[associationField] = elem[option_value];
- groupValues = _.filter(selectValues, groupFilter);
- groupValues.forEach(function(elem) {
- option = document.createElement('option');
- option.className = 'select-group-son';
- option.text = '-' + _.capitalize(elem[option_name]);
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- input.appendChild(option);
- });
- })
- input.className = 'form-control select2';
-
- return input;
-}
-
-function createDropdownFromArray(array, value) {
- var input = document.createElement('select');
-
- for (var item in array) {
- var option = document.createElement('option');
- option.text = array[item];
- option.value = item;
- if (value > 0 || value != '')
- option.selected = (value === item) ? true : false;
-
- input.appendChild(option);
- }
-
- input.className = 'form-control select2';
-
- return input;
-}
-
-function Dialog(editorUi, elt, w, h, modal, closable, onClose) {
- var dx = 0;
-
- if (mxClient.IS_IE && document.documentMode != 9) {
- dx = 60;
- }
-
- w += dx;
- h += dx;
-
- var left = Math.max(0, Math.round((document.body.scrollWidth - w) / 2));
- var top = Math.max(0, Math.round((Math.max(document.body.scrollHeight,
- document.documentElement.scrollHeight) - h) / 3));
-
- var div = editorUi.createDiv('geDialog');
- div.className = 'modal fade in center';
- div.style.display = 'block';
- div.style.paddingRight = '12px';
- // div.style.width = w + 'px';
- // div.style.height = h + 'px';
- // div.style.left = left + 'px';
- // div.style.top = top + 'px';
-
- var divModalDialog = editorUi.createDiv('geModalDialog');
- divModalDialog.className = 'modal-dialog';
- divModalDialog.appendChild(elt);
- div.appendChild(divModalDialog);
-
- if (this.bg == null) {
- this.bg = editorUi.createDiv('background');
- this.bg.className = 'modal-backdrop fade in';
-
- if (mxClient.IS_QUIRKS) {
- new mxDivResizer(this.bg);
- }
- }
-
- if (modal) {
- document.body.appendChild(this.bg);
- }
-
- document.body.appendChild(div);
-
- this.onDialogClose = onClose;
- this.container = div;
-};
-
-/**
- * Removes the dialog from the DOM.
- */
-Dialog.prototype.close = function() {
- if (this.onDialogClose != null) {
- this.onDialogClose();
- this.onDialogClose = null;
- }
-
- this.container.parentNode.removeChild(this.container);
- this.bg.parentNode.removeChild(this.bg);
-};
-
-/**
- * Constructs a new open dialog.
- */
-function ImportDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('import') + ' XML');
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-12');
-
- var textarea = document.createElement('textarea');
- textarea.style.width = '100%';
- textarea.style.height = '374px';
-
- var input = document.createElement('input');
- input.type = 'file';
- input.setAttribute('accept', 'text/xml');
-
- input.addEventListener('change', function readSingleFile(evt) {
- //Retrieve the first (and only!) File from the FileList object
- var f = evt.target.files[0];
- console.log(f);
- if (f) {
- if (f.type === 'text/xml') {
- var r = new FileReader();
- r.onload = function(e) {
- var contents = e.target.result;
- mxUtils.write(textarea, contents);
- };
- r.readAsText(f);
- } else {
- alert('Failed to load format file');
- }
- } else {
- alert('Failed to load file');
- }
- }, false);
-
- col1.appendChild(input);
- col1.appendChild(textarea);
-
- row.appendChild(col1);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('import'), mxUtils.bind(this,
- function(data) {
- var doc = mxUtils.parseXml(textarea.value);
- editorUi.editor.setGraphXml(doc.documentElement);
- editorUi.hideDialog();
- }));
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-
-};
-
-/**
- * Constructs a new about dialog.
- */
-function AboutDialog(editorUi) {
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('about') + ' Cally Square');
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var img = document.createElement('img');
- img.style.border = '0px';
- img.setAttribute('width', '176');
- img.setAttribute('width', '151');
- img.setAttribute('src', IMAGE_PATH + '/logo.png');
- body.appendChild(img);
- mxUtils.br(body);
- mxUtils.write(body, 'Powered by Xenialab ' + mxClient.VERSION);
- mxUtils.br(body);
- var link = document.createElement('a');
- link.setAttribute('href', 'http://www.callysquare.com/');
- link.setAttribute('target', '_blank');
- mxUtils.write(link, 'www.callysquare.com');
- body.appendChild(link);
- mxUtils.br(body);
- mxUtils.br(body);
- //--- END BODY
-
- var close = mxUtils.button(mxResources.get('close'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-/**
- * Constructs a new save dialog.
- */
-function SaveDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('saveAs'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var name = 'name';
- var id = '_' + name;
- var value = editorUi.editor.getOrCreateFilename();
-
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get(name));
- col1.appendChild(label);
-
- var select = document.createElement('input');
- select.setAttribute('value', value + '_copy');
- select.setAttribute('id', id)
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), function() {
- editorUi.saveAs(select.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new save dialog.
- */
-function NewDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('new'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var name = 'name';
- var id = '_' + name;
- var value = editorUi.editor.getOrCreateFilename();
-
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get(name));
- col1.appendChild(label);
-
- var select = document.createElement('input');
- select.setAttribute('value', value + '_new');
- select.setAttribute('id', id)
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('new'), function() {
- editorUi.new(select.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new save dialog.
- */
-function VariableDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('variable'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var name = 'name';
- var id = '_' + name;
- var value = editorUi.editor.getOrCreateFilename();
-
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get(name));
- col1.appendChild(label);
-
- var select = document.createElement('input');
- select.setAttribute('value', 'variable name');
- select.setAttribute('id', id)
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('new'), function() {
- editorUi.variable(select.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new save dialog.
- */
-function OpenDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('open'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get('name'));
- col1.appendChild(label);
-
- var req = new XMLHttpRequest();
- req.open('GET', '/api/jscripty/projects', false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response).rows;
- }
-
- var select = document.createElement('select');
-
- for (var j = 0; j < res.length; j++) {
- var option = document.createElement('option');
- option.text = res[j].name;
- option.value = res[j].id;
- select.appendChild(option);
- }
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('open'), function() {
- console.log(select);
- console.log(select.value);
- window.open('jscripty/projects/view/' + select.value, '_blank');
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new rename dialog.
- */
-function RenameDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('rename'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get('name'));
- col1.appendChild(label);
- var name = editorUi.editor.filename;
- var input = document.createElement('input');
- input.setAttribute('value', name);
- input.className = 'form-control';
-
- col2.appendChild(input);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), function() {
- var req = new XMLHttpRequest();
-
- req.open("PUT", SAVE_URL + editorUi.editor.data.id, true);
- req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send('name=' + input.value);
-
- req.onload = function(e) {
- if (req.status === 200) {
- editorUi.editor.setStatus('Project successfully renamed');
- editorUi.editor.filename = input.value;
-
- } else {
- editorUi.editor.setStatus(JSON.parse(req.response).errors[0].message)
- }
- }
- req.onerror = function(e) {
- mxUtils.alert(req.statusText);
- };
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-/**
- * Constructs a new edit file dialog.
- */
-function EditFileDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('edit'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-12');
-
- var textarea = document.createElement('textarea');
- textarea.style.width = '100%';
- textarea.style.height = '374px';
- textarea.value = mxUtils.getPrettyXml(editorUi.editor.getGraphXml());
-
- // Enables dropping files
- if (fileSupport) {
- function handleDrop(evt) {
- evt.stopPropagation();
- evt.preventDefault();
-
- if (evt.dataTransfer.files.length > 0) {
- var file = evt.dataTransfer.files[0];
-
- var reader = new FileReader();
- reader.onload = function(e) {
- textarea.value = e.target.result;
- };
- reader.readAsText(file);
- }
- };
-
- function handleDragOver(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- };
-
- // Setup the dnd listeners.
- textarea.addEventListener('dragover', handleDragOver, false);
- textarea.addEventListener('drop', handleDrop, false);
- }
- col1.appendChild(textarea);
-
- row.appendChild(col1);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), function() {
- var doc = mxUtils.parseXml(textarea.value);
- editorUi.editor.setGraphXml(doc.documentElement);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-/**
- * Constructs a new export dialog.
- */
-function ExportDialog(editorUi) {
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body form');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('export') + ' XML');
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var form = editorUi.createDiv('form-horizontal form-row-seperated');
- var group = editorUi.createDiv('form-group last');
-
- var label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get('filename'));
-
- var input = document.createElement('input');
- input.setAttribute('value', editorUi.editor.getOrCreateFilename());
- input.className = 'form-control';
-
- var div = editorUi.createDiv('col-sm-8');
- div.appendChild(input);
-
- group.appendChild(label);
- group.appendChild(div);
- form.appendChild(group);
-
- body.appendChild(form);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('export'), mxUtils.bind(this,
- function(data) {
- editorUi.save(false);
-
- var xml = encodeURIComponent(mxUtils.getXml(editorUi.editor.getGraphXml()));
- new mxXmlRequest(SAVE_URL + editorUi.editor.data.id + '/download',
- 'filename=' + input.value, 'GET').simulate(document, "_blank");
- editorUi.hideDialog();
- }));
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-/**
- * Giuseppe Careri
- * Constructs a new general dialog.
- */
-
-function GeneralDialog(editorUi, cell) {
- var graph = editorUi.editor.graph;
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body form modal-body-scroll');
- var footer = editorUi.createDiv('modal-footer');
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('edit') + ' ' + mxResources.get(cell.value
- .nodeName));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var inputGroup = editorUi.createDiv('form-horizontal form-row-seperated');
- inputGroup.setAttribute('id', 'inputGroup');
- var length = cell.value.attributes.length;
- var form = editorUi.createDiv('form-horizontal form-row-seperated');
-
- for (var i = 0; i < length; i++) {
- var name = cell.value.attributes[i].name;
- var id = '_' + name;
- var value = cell.value.attributes[i].value;
- console.log(name);
- var group = editorUi.createDiv((i == length - 1) ? 'form-group last' :
- 'form-group');
-
- var label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get(name));
- group.appendChild(label);
-
- var input;
-
- switch (name) {
- case 'id':
- input = document.createElement('input');
- value = cell.id;
- input.setAttribute('value', value);
- input.setAttribute('disabled', true)
- input.className = 'form-control';
- break;
- case 'state':
- input = document.createElement('input');
- input.setAttribute('type', 'button')
- input.onclick = function() {
- if (this.value == 'ON') {
- this.setAttribute('value', 'OFF');
- this.className = 'btn btn-danger btn-md';
- } else {
- this.className = 'btn btn-success btn-md';
- this.setAttribute('value', 'ON');
- }
-
- };
- input.setAttribute('value', value);
- input.className = (value == 'ON' ? 'btn btn-success btn-md' : 'btn btn-danger btn-md');
-
- break;
- case 'text':
- input = document.createElement('textarea');
- input.innerHTML = value;
- input.className = 'form-control';
- break;
- case 'Body':
- input = document.createElement('textarea');
- input.innerHTML = value;
- input.className = 'form-control';
- break;
- case 'question':
- input = document.createElement('textarea');
- input.innerHTML = value;
- input.className = 'form-control';
-
- break;
- case 'other':
- input = document.createElement('input');
- input.setAttribute('value', value);
- input.setAttribute('placeholder', 'Insert label for "Other" answer option');
- input.className = 'form-control';
- break;
- // case 'addtext':
- // var input = document.createElement('input');
- // input.setAttribute('type', 'checkbox');
- // console.log('value', value);
- // if (value == 'true') {
- // input.setAttribute('checked', true);
- //
- // } else {
- // input.removeAttribute("checked");
- //
- // }
- // // input.value = input.checked;
- //
- // input.onclick = function() {
- // this.value = this.checked;
- //
- // console.log(input);
- // if (this.checked) {
- // console.log(this.checked);
- // var rowdiv = editorUi.createDiv('form-group');
- // rowdiv.setAttribute('id', 'rowdiv');
- // var col1 = editorUi.createDiv('col-md-4');
- // var col2 = editorUi.createDiv('col-md-8');
- // var label = document.createElement('label');
- // // input.setAttribute('placeholder', 'Insert label');
- // label.className = 'pull-right control-label';
- // mxUtils.write(label, 'Texarea Label');
- // col1.appendChild(label);
- // var input = document.createElement('input');
- // // input.setAttribute('placeholder', 'Insert label');
- // // input.value = inputValue;
- // input.className = 'form-control';
- // col2.appendChild(input);
- // rowdiv.appendChild(col1);
- // rowdiv.appendChild(col2);
- // inputGroup.appendChild(rowdiv);
- // body.appendChild(inputGroup);
- // } else {
- // console.log(this.checked);
- // document.getElementById('inputGroup').removeChild(document.getElementById('rowdiv'));
- // }
- // };
- //
- //
- // input.className = 'btn green';
- // break;
- case 'account_id':
- input = createDropdownFromApi('/api/sms/accounts', value, 'name', 'id',
- editorUi);
- break;
- case 'sms_text':
- input = document.createElement('textarea');
- input.innerHTML = value;
- input.className = 'form-control';
- input.setAttribute('maxlength', "160");
-
- break;
- case 'add':
- var input = mxUtils.button('+', function() {
- var rowdiv = createDynamicInput(null, null, editorUi);
- inputGroup.appendChild(rowdiv);
- body.appendChild(inputGroup);
- })
-
- input.className = 'btn green';
- break;
- default:
- input = document.createElement('input');
- input.setAttribute('value', value);
- input.className = 'form-control';
- break;
- }
-
- input.setAttribute('id', id)
- var div = editorUi.createDiv('col-sm-8');
- div.appendChild(input);
- // Help
- if (mxResources.get('help_' + name)) {
- var help = editorUi.createDiv('p');
- help.className = 'help-block';
- mxUtils.write(help, mxResources.get('help_' + name));
- div.appendChild(help);
- }
-
- group.appendChild(div);
- form.appendChild(group);
- }
- body.appendChild(form);
- // console.log(cell);
- if (cell.value.nodeName == 'input') {
-
- if (cell.children) {
- for (var j = 0; j < cell.children.length; j++) {
- var selectValue = '';
- var inputValue = '';
- _.forEach(cell.children[j].value.attributes, function(element) {
- // console.log(element);
- if (element.name == 'type') {
- selectValue = element.value;
-
- } else if (element.name == 'label') {
- inputValue = element.value;
-
- }
- })
- var rowdiv = createDynamicInput(selectValue, inputValue, editorUi);
- inputGroup.appendChild(rowdiv);
-
- }
- }
-
- }
- body.appendChild(inputGroup);
-
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), mxUtils.bind(this,
- function(data) {
- for (var i = 0; i < cell.value.attributes.length; i++) {
- var id = '_' + cell.value.attributes[i].name;
- var name = cell.value.attributes[i].name;
- console.log(name);
-
- cell.setAttribute(name, document.getElementById(id).value);
- console.log(document.getElementById(id).value);
-
-
- };
-
- if (cell.value.nodeName == 'input') {
- if (graph.model.getChildCount(cell)) {
- cell.children = [];
- }
- if (document.getElementById('inputGroup')) {
- var inputGroup = document.getElementById('inputGroup').children;
- for (var j = 0; j < inputGroup.length; j++) {
-
- var divSelect = inputGroup[j].children[1];
- var divInput = inputGroup[j].children[0];
- var doc = mxUtils.createXmlDocument();
- var node = doc.createElement('inputGroup');
- node.setAttribute('type', inputGroup[j].getElementsByTagName('select')[0].value);
- node.setAttribute('label', inputGroup[j].getElementsByTagName('input')[0].value);
- var cells = new mxCell(node);
- graph.model.add(cell, cells);
- }
- }
- }
-
- graph.refresh(cell);
- editorUi.hideDialog();
- }));
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-
-
-function createDynamicInput(selectValue, inputValue, editorUi) {
-
- var rowdiv = editorUi.createDiv('form-group');
- var col1 = editorUi.createDiv('col-md-5');
- var col2 = editorUi.createDiv('col-md-5');
- var col3 = editorUi.createDiv('col-md-2');
-
- var input = document.createElement('input');
- input.setAttribute('placeholder', 'Insert label');
- input.value = inputValue;
- input.className = 'form-control';
- col1.appendChild(input);
-
- var select = document.createElement('select');
- var option = document.createElement('option');
- option.text = '-- None --';
- option.value = '';
- select.appendChild(option);
-
- var selectValues = ['text', 'number', 'textarea', 'checkbox'];
- selectValues.forEach(function(elem) {
- option = document.createElement('option');
- option.text = elem;
- option.value = elem;
- option.selected = (elem == selectValue);
- select.appendChild(option);
- })
- select.className = 'form-control';
- col2.appendChild(select);
- var button = mxUtils.button('x', function() {
- var buttonParent = button.parentElement;
- var divParent = buttonParent.parentElement;
- document.getElementById('inputGroup').removeChild(divParent);
- })
-
- button.className = 'btn red';
- col3.appendChild(button);
- rowdiv.appendChild(col1);
- rowdiv.appendChild(col2);
- rowdiv.appendChild(col3);
- return rowdiv;
-
-
-}
+var _0x7031=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x69\x6E\x70\x75\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x79\x70\x65","\x63\x68\x65\x63\x6B\x62\x6F\x78","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x68\x65\x63\x6B\x65\x64","\x47\x45\x54","\x6F\x70\x65\x6E","\x41\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x42\x65\x61\x72\x65\x72\x20","\x74\x6F\x6B\x65\x6E","\x64\x61\x74\x61","\x65\x64\x69\x74\x6F\x72","\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x70\x61\x72\x73\x65","\x73\x65\x6C\x65\x63\x74","\x6F\x70\x74\x69\x6F\x6E","\x74\x65\x78\x74","\x2D\x2D\x20\x4E\x6F\x6E\x65\x20\x2D\x2D","\x76\x61\x6C\x75\x65","\x2D\x31","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x25","\x72\x65\x70\x6C\x61\x63\x65","\x66\x6F\x72\x45\x61\x63\x68","\x73\x65\x6C\x65\x63\x74\x65\x64","\x72\x6F\x77\x73","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x66\x6F\x72\x6D\x2D\x63\x6F\x6E\x74\x72\x6F\x6C\x20\x73\x65\x6C\x65\x63\x74\x32","\x30","\x66\x69\x6C\x74\x65\x72","\x73\x65\x6C\x65\x63\x74\x2D\x67\x72\x6F\x75\x70\x2D\x66\x61\x74\x68\x65\x72","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x73\x65\x6C\x65\x63\x74\x2D\x67\x72\x6F\x75\x70\x2D\x73\x6F\x6E","\x2D","\x63\x61\x70\x69\x74\x61\x6C\x69\x7A\x65","","\x49\x53\x5F\x49\x45","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x73\x63\x72\x6F\x6C\x6C\x57\x69\x64\x74\x68","\x62\x6F\x64\x79","\x72\x6F\x75\x6E\x64","\x6D\x61\x78","\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x44\x69\x61\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65\x44\x69\x76","\x6D\x6F\x64\x61\x6C\x20\x66\x61\x64\x65\x20\x69\x6E\x20\x63\x65\x6E\x74\x65\x72","\x64\x69\x73\x70\x6C\x61\x79","\x73\x74\x79\x6C\x65","\x62\x6C\x6F\x63\x6B","\x70\x61\x64\x64\x69\x6E\x67\x52\x69\x67\x68\x74","\x31\x32\x70\x78","\x67\x65\x4D\x6F\x64\x61\x6C\x44\x69\x61\x6C\x6F\x67","\x6D\x6F\x64\x61\x6C\x2D\x64\x69\x61\x6C\x6F\x67","\x62\x67","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x6D\x6F\x64\x61\x6C\x2D\x62\x61\x63\x6B\x64\x72\x6F\x70\x20\x66\x61\x64\x65\x20\x69\x6E","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x6F\x6E\x44\x69\x61\x6C\x6F\x67\x43\x6C\x6F\x73\x65","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x63\x6C\x6F\x73\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x6D\x6F\x64\x61\x6C\x2D\x63\x6F\x6E\x74\x65\x6E\x74","\x6D\x6F\x64\x61\x6C\x2D\x68\x65\x61\x64\x65\x72","\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79","\x6D\x6F\x64\x61\x6C\x2D\x66\x6F\x6F\x74\x65\x72","\x68\x34","\x63\x72\x65\x61\x74\x65\x48\x65\x61\x64\x65\x72","\x69\x6D\x70\x6F\x72\x74","\x67\x65\x74","\x20\x58\x4D\x4C","\x77\x72\x69\x74\x65","\x68\x69\x64\x65\x44\x69\x61\x6C\x6F\x67","\x62\x75\x74\x74\x6F\x6E","\x72\x6F\x77","\x63\x6F\x6C\x2D\x6D\x64\x2D\x31\x32","\x74\x65\x78\x74\x61\x72\x65\x61","\x77\x69\x64\x74\x68","\x31\x30\x30\x25","\x68\x65\x69\x67\x68\x74","\x33\x37\x34\x70\x78","\x66\x69\x6C\x65","\x61\x63\x63\x65\x70\x74","\x74\x65\x78\x74\x2F\x78\x6D\x6C","\x63\x68\x61\x6E\x67\x65","\x66\x69\x6C\x65\x73","\x74\x61\x72\x67\x65\x74","\x6C\x6F\x67","\x6F\x6E\x6C\x6F\x61\x64","\x72\x65\x73\x75\x6C\x74","\x72\x65\x61\x64\x41\x73\x54\x65\x78\x74","\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x6C\x6F\x61\x64\x20\x66\x6F\x72\x6D\x61\x74\x20\x66\x69\x6C\x65","\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x6C\x6F\x61\x64\x20\x66\x69\x6C\x65","\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x61\x72\x73\x65\x58\x6D\x6C","\x73\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x62\x69\x6E\x64","\x62\x74\x6E\x20\x62\x6C\x75\x65","\x63\x61\x6E\x63\x65\x6C","\x62\x74\x6E\x20\x64\x65\x66\x61\x75\x6C\x74","\x61\x62\x6F\x75\x74","\x20\x43\x61\x6C\x6C\x79\x20\x53\x71\x75\x61\x72\x65","\x69\x6D\x67","\x62\x6F\x72\x64\x65\x72","\x30\x70\x78","\x31\x37\x36","\x31\x35\x31","\x73\x72\x63","\x2F\x6C\x6F\x67\x6F\x2E\x70\x6E\x67","\x62\x72","\x50\x6F\x77\x65\x72\x65\x64\x20\x62\x79\x20\x58\x65\x6E\x69\x61\x6C\x61\x62\x20","\x56\x45\x52\x53\x49\x4F\x4E","\x61","\x68\x72\x65\x66","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65\x2E\x63\x6F\x6D\x2F","\x5F\x62\x6C\x61\x6E\x6B","\x77\x77\x77\x2E\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65\x2E\x63\x6F\x6D","\x73\x61\x76\x65\x41\x73","\x6E\x61\x6D\x65","\x5F","\x67\x65\x74\x4F\x72\x43\x72\x65\x61\x74\x65\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x6C\x61\x62\x65\x6C","\x63\x6F\x6E\x74\x72\x6F\x6C\x2D\x6C\x61\x62\x65\x6C\x20\x70\x75\x6C\x6C\x2D\x72\x69\x67\x68\x74","\x5F\x63\x6F\x70\x79","\x69\x64","\x66\x6F\x72\x6D\x2D\x63\x6F\x6E\x74\x72\x6F\x6C","\x73\x61\x76\x65","\x6E\x65\x77","\x5F\x6E\x65\x77","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x6E\x61\x6D\x65","\x2F\x61\x70\x69\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x76\x69\x65\x77\x2F","\x72\x65\x6E\x61\x6D\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x50\x55\x54","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x6E\x61\x6D\x65\x3D","\x50\x72\x6F\x6A\x65\x63\x74\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6C\x6C\x79\x20\x72\x65\x6E\x61\x6D\x65\x64","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x6D\x65\x73\x73\x61\x67\x65","\x65\x72\x72\x6F\x72\x73","\x6F\x6E\x65\x72\x72\x6F\x72","\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74","\x61\x6C\x65\x72\x74","\x65\x64\x69\x74","\x67\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x67\x65\x74\x50\x72\x65\x74\x74\x79\x58\x6D\x6C","\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E","\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74","\x64\x61\x74\x61\x54\x72\x61\x6E\x73\x66\x65\x72","\x64\x72\x61\x67\x6F\x76\x65\x72","\x64\x72\x6F\x70","\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79\x20\x66\x6F\x72\x6D","\x65\x78\x70\x6F\x72\x74","\x66\x6F\x72\x6D\x2D\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x20\x66\x6F\x72\x6D\x2D\x72\x6F\x77\x2D\x73\x65\x70\x65\x72\x61\x74\x65\x64","\x66\x6F\x72\x6D\x2D\x67\x72\x6F\x75\x70\x20\x6C\x61\x73\x74","\x63\x6F\x6C\x2D\x73\x6D\x2D\x34\x20\x63\x6F\x6E\x74\x72\x6F\x6C\x2D\x6C\x61\x62\x65\x6C","\x63\x6F\x6C\x2D\x73\x6D\x2D\x38","\x67\x65\x74\x58\x6D\x6C","\x73\x69\x6D\x75\x6C\x61\x74\x65","\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D","\x67\x72\x61\x70\x68","\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79\x20\x66\x6F\x72\x6D\x20\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79\x2D\x73\x63\x72\x6F\x6C\x6C","\x20","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x69\x6E\x70\x75\x74\x47\x72\x6F\x75\x70","\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x66\x6F\x72\x6D\x2D\x67\x72\x6F\x75\x70","\x64\x69\x73\x61\x62\x6C\x65\x64","\x6F\x6E\x63\x6C\x69\x63\x6B","\x4F\x4E","\x4F\x46\x46","\x62\x74\x6E\x20\x62\x74\x6E\x2D\x64\x61\x6E\x67\x65\x72\x20\x62\x74\x6E\x2D\x6D\x64","\x62\x74\x6E\x20\x62\x74\x6E\x2D\x73\x75\x63\x63\x65\x73\x73\x20\x62\x74\x6E\x2D\x6D\x64","\x73\x74\x61\x74\x65","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x42\x6F\x64\x79","\x71\x75\x65\x73\x74\x69\x6F\x6E","\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x49\x6E\x73\x65\x72\x74\x20\x6C\x61\x62\x65\x6C\x20\x66\x6F\x72\x20\x22\x4F\x74\x68\x65\x72\x22\x20\x61\x6E\x73\x77\x65\x72\x20\x6F\x70\x74\x69\x6F\x6E","\x6F\x74\x68\x65\x72","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x61\x63\x63\x6F\x75\x6E\x74\x5F\x69\x64","\x6D\x61\x78\x6C\x65\x6E\x67\x74\x68","\x31\x36\x30","\x73\x6D\x73\x5F\x74\x65\x78\x74","\x2B","\x62\x74\x6E\x20\x67\x72\x65\x65\x6E","\x61\x64\x64","\x68\x65\x6C\x70\x5F","\x70","\x68\x65\x6C\x70\x2D\x62\x6C\x6F\x63\x6B","\x63\x68\x69\x6C\x64\x72\x65\x6E","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x6F\x75\x6E\x74","\x6D\x6F\x64\x65\x6C","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x72\x65\x66\x72\x65\x73\x68","\x63\x6F\x6C\x2D\x6D\x64\x2D\x35","\x63\x6F\x6C\x2D\x6D\x64\x2D\x32","\x49\x6E\x73\x65\x72\x74\x20\x6C\x61\x62\x65\x6C","\x6E\x75\x6D\x62\x65\x72","\x78","\x70\x61\x72\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x62\x74\x6E\x20\x72\x65\x64"];_0x7031[0];function createCheckbox(_0xcf41x2){var _0xcf41x3=document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[3],_0x7031[4]);if(_0xcf41x2){_0xcf41x3[_0x7031[5]](_0x7031[6],true)};return _0xcf41x3}function createDropdownFromApi(_0xcf41x5,_0xcf41x2,_0xcf41x6,_0xcf41x7,_0xcf41x8,_0xcf41x9,_0xcf41xa){var _0xcf41xb= new XMLHttpRequest();_0xcf41xb[_0x7031[8]](_0x7031[7],_0xcf41x5,false);_0xcf41xb[_0x7031[14]](_0x7031[9],_0x7031[10]+ _0xcf41x8[_0x7031[13]][_0x7031[12]][_0x7031[11]]);_0xcf41xb[_0x7031[15]](null);var _0xcf41xc=[];if(_0xcf41xb[_0x7031[16]]=== 200){_0xcf41xc= JSON[_0x7031[18]](_0xcf41xb[_0x7031[17]])};var _0xcf41x3=document[_0x7031[2]](_0x7031[19]);var _0xcf41xd=document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0x7031[22];_0xcf41xd[_0x7031[23]]= _0x7031[24];_0xcf41x3[_0x7031[25]](_0xcf41xd);_0xcf41xc[_0x7031[30]][_0x7031[28]](function(_0xcf41xe){_0xcf41xd= document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0xcf41xe[_0xcf41x6];if(_0xcf41x9&& _0xcf41xa){_0xcf41x9[_0x7031[28]](function(_0xcf41xf){_0xcf41xa= _0xcf41xa[_0x7031[27]](_0x7031[26]+ _0xcf41xf+ _0x7031[26],_0xcf41xe[_0xcf41xf])});_0xcf41xd[_0x7031[23]]= _0xcf41xa;_0xcf41xd[_0x7031[29]]= (_0xcf41xa== _0xcf41x2)}else {_0xcf41xd[_0x7031[23]]= _0xcf41xe[_0xcf41x7];_0xcf41xd[_0x7031[29]]= (_0xcf41xe[_0xcf41x7]== _0xcf41x2)};_0xcf41x3[_0x7031[25]](_0xcf41xd)});_0xcf41x3[_0x7031[31]]= _0x7031[32];return _0xcf41x3}function createGroupedDropdownFromApi(_0xcf41x5,_0xcf41x2,_0xcf41x6,_0xcf41x7,_0xcf41x8,_0xcf41x11,_0xcf41x12){var _0xcf41xb= new XMLHttpRequest();_0xcf41xb[_0x7031[8]](_0x7031[7],_0xcf41x5,false);_0xcf41xb[_0x7031[14]](_0x7031[9],_0x7031[10]+ _0xcf41x8[_0x7031[13]][_0x7031[12]][_0x7031[11]]);_0xcf41xb[_0x7031[15]](null);var _0xcf41xc=[];if(_0xcf41xb[_0x7031[16]]=== 200){_0xcf41xc= JSON[_0x7031[18]](_0xcf41xb[_0x7031[17]])};var _0xcf41x3=document[_0x7031[2]](_0x7031[19]);var _0xcf41xd=document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0x7031[22];_0xcf41xd[_0x7031[23]]= _0x7031[33];_0xcf41x3[_0x7031[25]](_0xcf41xd);var _0xcf41x13=_0xcf41x11?_0xcf41xc[_0x7031[30]]:_0xcf41xc;var _0xcf41x14={};var _0xcf41x15={};_0xcf41x14[_0xcf41x12]= null;var _0xcf41x16=_[_0x7031[34]](_0xcf41x13,_0xcf41x14);var _0xcf41x17={};_0xcf41x16[_0x7031[28]](function(_0xcf41xe){_0xcf41xd= document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[31]]= _0x7031[35];_0xcf41xd[_0x7031[21]]= _0xcf41xe[_0xcf41x6][_0x7031[36]]();_0xcf41xd[_0x7031[23]]= _0xcf41xe[_0xcf41x7];_0xcf41xd[_0x7031[29]]= (_0xcf41xe[_0xcf41x7]== _0xcf41x2);_0xcf41x3[_0x7031[25]](_0xcf41xd);_0xcf41x15[_0xcf41x12]= _0xcf41xe[_0xcf41x7];_0xcf41x17= _[_0x7031[34]](_0xcf41x13,_0xcf41x15);_0xcf41x17[_0x7031[28]](function(_0xcf41xe){_0xcf41xd= document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[31]]= _0x7031[37];_0xcf41xd[_0x7031[21]]= _0x7031[38]+ _[_0x7031[39]](_0xcf41xe[_0xcf41x6]);_0xcf41xd[_0x7031[23]]= _0xcf41xe[_0xcf41x7];_0xcf41xd[_0x7031[29]]= (_0xcf41xe[_0xcf41x7]== _0xcf41x2);_0xcf41x3[_0x7031[25]](_0xcf41xd)})});_0xcf41x3[_0x7031[31]]= _0x7031[32];return _0xcf41x3}function createDropdownFromArray(_0xcf41x19,_0xcf41x2){var _0xcf41x3=document[_0x7031[2]](_0x7031[19]);for(var _0xcf41x1a in _0xcf41x19){var _0xcf41xd=document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0xcf41x19[_0xcf41x1a];_0xcf41xd[_0x7031[23]]= _0xcf41x1a;if(_0xcf41x2> 0|| _0xcf41x2!= _0x7031[40]){_0xcf41xd[_0x7031[29]]= (_0xcf41x2=== _0xcf41x1a)?true:false};_0xcf41x3[_0x7031[25]](_0xcf41xd)};_0xcf41x3[_0x7031[31]]= _0x7031[32];return _0xcf41x3}function Dialog(_0xcf41x8,_0xcf41x1c,_0xcf41x1d,_0xcf41x1e,_0xcf41x1f,_0xcf41x20,_0xcf41x21){var _0xcf41x22=0;if(mxClient[_0x7031[41]]&& document[_0x7031[42]]!= 9){_0xcf41x22= 60};_0xcf41x1d+= _0xcf41x22;_0xcf41x1e+= _0xcf41x22;var _0xcf41x23=Math[_0x7031[46]](0,Math[_0x7031[45]]((document[_0x7031[44]][_0x7031[43]]- _0xcf41x1d)/ 2));var _0xcf41x24=Math[_0x7031[46]](0,Math[_0x7031[45]]((Math[_0x7031[46]](document[_0x7031[44]][_0x7031[47]],document[_0x7031[48]][_0x7031[47]])- _0xcf41x1e)/ 3));var _0xcf41x25=_0xcf41x8[_0x7031[50]](_0x7031[49]);_0xcf41x25[_0x7031[31]]= _0x7031[51];_0xcf41x25[_0x7031[53]][_0x7031[52]]= _0x7031[54];_0xcf41x25[_0x7031[53]][_0x7031[55]]= _0x7031[56];var _0xcf41x26=_0xcf41x8[_0x7031[50]](_0x7031[57]);_0xcf41x26[_0x7031[31]]= _0x7031[58];_0xcf41x26[_0x7031[25]](_0xcf41x1c);_0xcf41x25[_0x7031[25]](_0xcf41x26);if(this[_0x7031[59]]== null){this[_0x7031[59]]= _0xcf41x8[_0x7031[50]](_0x7031[60]);this[_0x7031[59]][_0x7031[31]]= _0x7031[61];if(mxClient[_0x7031[62]]){ new mxDivResizer(this[_0x7031[59]])}};if(_0xcf41x1f){document[_0x7031[44]][_0x7031[25]](this[_0x7031[59]])};document[_0x7031[44]][_0x7031[25]](_0xcf41x25);this[_0x7031[63]]= _0xcf41x21;this[_0x7031[64]]= _0xcf41x25}Dialog[_0x7031[66]][_0x7031[65]]= function(){if(this[_0x7031[63]]!= null){this[_0x7031[63]]();this[_0x7031[63]]= null};this[_0x7031[64]][_0x7031[68]][_0x7031[67]](this[_0x7031[64]]);this[_0x7031[59]][_0x7031[68]][_0x7031[67]](this[_0x7031[59]])};function ImportDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[75])+ _0x7031[77]);var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[82]);var _0xcf41x30=document[_0x7031[2]](_0x7031[83]);_0xcf41x30[_0x7031[53]][_0x7031[84]]= _0x7031[85];_0xcf41x30[_0x7031[53]][_0x7031[86]]= _0x7031[87];var _0xcf41x3=document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[3]]= _0x7031[88];_0xcf41x3[_0x7031[5]](_0x7031[89],_0x7031[90]);_0xcf41x3[_0x7031[100]](_0x7031[91],function _0xcf41x31(_0xcf41x32){var _0xcf41x33=_0xcf41x32[_0x7031[93]][_0x7031[92]][0];console[_0x7031[94]](_0xcf41x33);if(_0xcf41x33){if(_0xcf41x33[_0x7031[3]]=== _0x7031[90]){var _0xcf41x34= new FileReader();_0xcf41x34[_0x7031[95]]= function(_0xcf41x35){var _0xcf41x36=_0xcf41x35[_0x7031[93]][_0x7031[96]];mxUtils[_0x7031[78]](_0xcf41x30,_0xcf41x36)};_0xcf41x34[_0x7031[97]](_0xcf41x33)}else {alert(_0x7031[98])}}else {alert(_0x7031[99])}},false);_0xcf41x2f[_0x7031[25]](_0xcf41x3);_0xcf41x2f[_0x7031[25]](_0xcf41x30);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[75]),mxUtils[_0x7031[103]](this,function(_0xcf41x38){var _0xcf41x39=mxUtils[_0x7031[101]](_0xcf41x30[_0x7031[23]]);_0xcf41x8[_0x7031[13]][_0x7031[102]](_0xcf41x39[_0x7031[48]]);_0xcf41x8[_0x7031[79]]()}));_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function AboutDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[107])+ _0x7031[108]);var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x3c=document[_0x7031[2]](_0x7031[109]);_0xcf41x3c[_0x7031[53]][_0x7031[110]]= _0x7031[111];_0xcf41x3c[_0x7031[5]](_0x7031[84],_0x7031[112]);_0xcf41x3c[_0x7031[5]](_0x7031[84],_0x7031[113]);_0xcf41x3c[_0x7031[5]](_0x7031[114],IMAGE_PATH+ _0x7031[115]);_0xcf41x2a[_0x7031[25]](_0xcf41x3c);mxUtils[_0x7031[116]](_0xcf41x2a);mxUtils[_0x7031[78]](_0xcf41x2a,_0x7031[117]+ mxClient[_0x7031[118]]);mxUtils[_0x7031[116]](_0xcf41x2a);var _0xcf41x3d=document[_0x7031[2]](_0x7031[119]);_0xcf41x3d[_0x7031[5]](_0x7031[120],_0x7031[121]);_0xcf41x3d[_0x7031[5]](_0x7031[93],_0x7031[122]);mxUtils[_0x7031[78]](_0xcf41x3d,_0x7031[123]);_0xcf41x2a[_0x7031[25]](_0xcf41x3d);mxUtils[_0x7031[116]](_0xcf41x2a);mxUtils[_0x7031[116]](_0xcf41x2a);var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[65]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function SaveDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[124]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x3f=_0x7031[125];var _0xcf41x40=_0x7031[126]+ _0xcf41x3f;var _0xcf41x2=_0xcf41x8[_0x7031[13]][_0x7031[127]]();var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[128]);var _0xcf41x41=_0xcf41x8[_0x7031[50]](_0x7031[129]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[131];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0xcf41x3f));_0xcf41x2f[_0x7031[25]](_0xcf41x42);var _0xcf41x43=document[_0x7031[2]](_0x7031[1]);_0xcf41x43[_0x7031[5]](_0x7031[23],_0xcf41x2+ _0x7031[132]);_0xcf41x43[_0x7031[5]](_0x7031[133],_0xcf41x40);_0xcf41x43[_0x7031[31]]= _0x7031[134];_0xcf41x41[_0x7031[25]](_0xcf41x43);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2e[_0x7031[25]](_0xcf41x41);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[135]),function(){_0xcf41x8[_0x7031[124]](_0xcf41x43[_0x7031[23]]);_0xcf41x8[_0x7031[79]]()});_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function NewDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[136]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x3f=_0x7031[125];var _0xcf41x40=_0x7031[126]+ _0xcf41x3f;var _0xcf41x2=_0xcf41x8[_0x7031[13]][_0x7031[127]]();var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[128]);var _0xcf41x41=_0xcf41x8[_0x7031[50]](_0x7031[129]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[131];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0xcf41x3f));_0xcf41x2f[_0x7031[25]](_0xcf41x42);var _0xcf41x43=document[_0x7031[2]](_0x7031[1]);_0xcf41x43[_0x7031[5]](_0x7031[23],_0xcf41x2+ _0x7031[137]);_0xcf41x43[_0x7031[5]](_0x7031[133],_0xcf41x40);_0xcf41x43[_0x7031[31]]= _0x7031[134];_0xcf41x41[_0x7031[25]](_0xcf41x43);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2e[_0x7031[25]](_0xcf41x41);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[136]),function(){_0xcf41x8[_0x7031[136]](_0xcf41x43[_0x7031[23]]);_0xcf41x8[_0x7031[79]]()});_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function VariableDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[138]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x3f=_0x7031[125];var _0xcf41x40=_0x7031[126]+ _0xcf41x3f;var _0xcf41x2=_0xcf41x8[_0x7031[13]][_0x7031[127]]();var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[128]);var _0xcf41x41=_0xcf41x8[_0x7031[50]](_0x7031[129]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[131];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0xcf41x3f));_0xcf41x2f[_0x7031[25]](_0xcf41x42);var _0xcf41x43=document[_0x7031[2]](_0x7031[1]);_0xcf41x43[_0x7031[5]](_0x7031[23],_0x7031[139]);_0xcf41x43[_0x7031[5]](_0x7031[133],_0xcf41x40);_0xcf41x43[_0x7031[31]]= _0x7031[134];_0xcf41x41[_0x7031[25]](_0xcf41x43);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2e[_0x7031[25]](_0xcf41x41);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[136]),function(){_0xcf41x8[_0x7031[138]](_0xcf41x43[_0x7031[23]]);_0xcf41x8[_0x7031[79]]()});_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function OpenDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[8]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[128]);var _0xcf41x41=_0xcf41x8[_0x7031[50]](_0x7031[129]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[131];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0x7031[125]));_0xcf41x2f[_0x7031[25]](_0xcf41x42);var _0xcf41xb= new XMLHttpRequest();_0xcf41xb[_0x7031[8]](_0x7031[7],_0x7031[140],false);_0xcf41xb[_0x7031[14]](_0x7031[9],_0x7031[10]+ _0xcf41x8[_0x7031[13]][_0x7031[12]][_0x7031[11]]);_0xcf41xb[_0x7031[15]](null);var _0xcf41xc=[];if(_0xcf41xb[_0x7031[16]]=== 200){_0xcf41xc= JSON[_0x7031[18]](_0xcf41xb[_0x7031[17]])[_0x7031[30]]};var _0xcf41x43=document[_0x7031[2]](_0x7031[19]);for(var _0xcf41x47=0;_0xcf41x47< _0xcf41xc[_0x7031[141]];_0xcf41x47++){var _0xcf41xd=document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0xcf41xc[_0xcf41x47][_0x7031[125]];_0xcf41xd[_0x7031[23]]= _0xcf41xc[_0xcf41x47][_0x7031[133]];_0xcf41x43[_0x7031[25]](_0xcf41xd)};_0xcf41x43[_0x7031[31]]= _0x7031[134];_0xcf41x41[_0x7031[25]](_0xcf41x43);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2e[_0x7031[25]](_0xcf41x41);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[8]),function(){console[_0x7031[94]](_0xcf41x43);console[_0x7031[94]](_0xcf41x43[_0x7031[23]]);window[_0x7031[8]](_0x7031[142]+ _0xcf41x43[_0x7031[23]],_0x7031[122]);_0xcf41x8[_0x7031[79]]()});_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function RenameDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[143]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[128]);var _0xcf41x41=_0xcf41x8[_0x7031[50]](_0x7031[129]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[131];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0x7031[125]));_0xcf41x2f[_0x7031[25]](_0xcf41x42);var _0xcf41x3f=_0xcf41x8[_0x7031[13]][_0x7031[144]];var _0xcf41x3=document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[23],_0xcf41x3f);_0xcf41x3[_0x7031[31]]= _0x7031[134];_0xcf41x41[_0x7031[25]](_0xcf41x3);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2e[_0x7031[25]](_0xcf41x41);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[135]),function(){var _0xcf41xb= new XMLHttpRequest();_0xcf41xb[_0x7031[8]](_0x7031[145],SAVE_URL+ _0xcf41x8[_0x7031[13]][_0x7031[12]][_0x7031[133]],true);_0xcf41xb[_0x7031[14]](_0x7031[146],_0x7031[147]);_0xcf41xb[_0x7031[14]](_0x7031[9],_0x7031[10]+ _0xcf41x8[_0x7031[13]][_0x7031[12]][_0x7031[11]]);_0xcf41xb[_0x7031[15]](_0x7031[148]+ _0xcf41x3[_0x7031[23]]);_0xcf41xb[_0x7031[95]]= function(_0xcf41x35){if(_0xcf41xb[_0x7031[16]]=== 200){_0xcf41x8[_0x7031[13]][_0x7031[150]](_0x7031[149]);_0xcf41x8[_0x7031[13]][_0x7031[144]]= _0xcf41x3[_0x7031[23]]}else {_0xcf41x8[_0x7031[13]][_0x7031[150]](JSON[_0x7031[18]](_0xcf41xb[_0x7031[17]])[_0x7031[152]][0][_0x7031[151]])}};_0xcf41xb[_0x7031[153]]= function(_0xcf41x35){mxUtils[_0x7031[155]](_0xcf41xb[_0x7031[154]])};_0xcf41x8[_0x7031[79]]()});_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function EditFileDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[71]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[156]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x2e=_0xcf41x8[_0x7031[50]](_0x7031[81]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[82]);var _0xcf41x30=document[_0x7031[2]](_0x7031[83]);_0xcf41x30[_0x7031[53]][_0x7031[84]]= _0x7031[85];_0xcf41x30[_0x7031[53]][_0x7031[86]]= _0x7031[87];_0xcf41x30[_0x7031[23]]= mxUtils[_0x7031[158]](_0xcf41x8[_0x7031[13]][_0x7031[157]]());if(fileSupport){function _0xcf41x4a(_0xcf41x32){_0xcf41x32[_0x7031[159]]();_0xcf41x32[_0x7031[160]]();if(_0xcf41x32[_0x7031[161]][_0x7031[92]][_0x7031[141]]> 0){var _0xcf41x4b=_0xcf41x32[_0x7031[161]][_0x7031[92]][0];var _0xcf41x4c= new FileReader();_0xcf41x4c[_0x7031[95]]= function(_0xcf41x35){_0xcf41x30[_0x7031[23]]= _0xcf41x35[_0x7031[93]][_0x7031[96]]};_0xcf41x4c[_0x7031[97]](_0xcf41x4b)}}function _0xcf41x4d(_0xcf41x32){_0xcf41x32[_0x7031[159]]();_0xcf41x32[_0x7031[160]]()}_0xcf41x30[_0x7031[100]](_0x7031[162],_0xcf41x4d,false);_0xcf41x30[_0x7031[100]](_0x7031[163],_0xcf41x4a,false)};_0xcf41x2f[_0x7031[25]](_0xcf41x30);_0xcf41x2e[_0x7031[25]](_0xcf41x2f);_0xcf41x2a[_0x7031[25]](_0xcf41x2e);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[135]),function(){var _0xcf41x39=mxUtils[_0x7031[101]](_0xcf41x30[_0x7031[23]]);_0xcf41x8[_0x7031[13]][_0x7031[102]](_0xcf41x39[_0x7031[48]]);_0xcf41x8[_0x7031[79]]()});_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function ExportDialog(_0xcf41x8){var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[164]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[165])+ _0x7031[77]);var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x4f=_0xcf41x8[_0x7031[50]](_0x7031[166]);var _0xcf41x50=_0xcf41x8[_0x7031[50]](_0x7031[167]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[168];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0x7031[144]));var _0xcf41x3=document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[23],_0xcf41x8[_0x7031[13]][_0x7031[127]]());_0xcf41x3[_0x7031[31]]= _0x7031[134];var _0xcf41x25=_0xcf41x8[_0x7031[50]](_0x7031[169]);_0xcf41x25[_0x7031[25]](_0xcf41x3);_0xcf41x50[_0x7031[25]](_0xcf41x42);_0xcf41x50[_0x7031[25]](_0xcf41x25);_0xcf41x4f[_0x7031[25]](_0xcf41x50);_0xcf41x2a[_0x7031[25]](_0xcf41x4f);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[165]),mxUtils[_0x7031[103]](this,function(_0xcf41x38){_0xcf41x8[_0x7031[135]](false);var _0xcf41x51=encodeURIComponent(mxUtils[_0x7031[170]](_0xcf41x8[_0x7031[13]][_0x7031[157]]())); new mxXmlRequest(SAVE_URL+ _0xcf41x8[_0x7031[13]][_0x7031[12]][_0x7031[133]]+ _0x7031[172],_0x7031[173]+ _0xcf41x3[_0x7031[23]],_0x7031[7])[_0x7031[171]](document,_0x7031[122]);_0xcf41x8[_0x7031[79]]()}));_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function GeneralDialog(_0xcf41x8,_0xcf41x53){var _0xcf41x54=_0xcf41x8[_0x7031[13]][_0x7031[174]];var _0xcf41x28=_0xcf41x8[_0x7031[50]](_0x7031[69]);var _0xcf41x29=_0xcf41x8[_0x7031[50]](_0x7031[70]);var _0xcf41x2a=_0xcf41x8[_0x7031[50]](_0x7031[175]);var _0xcf41x2b=_0xcf41x8[_0x7031[50]](_0x7031[72]);var _0xcf41x2c=_0xcf41x8[_0x7031[74]](_0x7031[73]);mxUtils[_0x7031[78]](_0xcf41x2c,mxResources[_0x7031[76]](_0x7031[156])+ _0x7031[176]+ mxResources[_0x7031[76]](_0xcf41x53[_0x7031[23]][_0x7031[177]]));var _0xcf41x2d=mxUtils[_0x7031[80]](_0x7031[40],function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x2d[_0x7031[31]]= _0x7031[65];_0xcf41x29[_0x7031[25]](_0xcf41x2d);_0xcf41x29[_0x7031[25]](_0xcf41x2c);var _0xcf41x55=_0xcf41x8[_0x7031[50]](_0x7031[166]);_0xcf41x55[_0x7031[5]](_0x7031[133],_0x7031[178]);var _0xcf41x56=_0xcf41x53[_0x7031[23]][_0x7031[179]][_0x7031[141]];var _0xcf41x4f=_0xcf41x8[_0x7031[50]](_0x7031[166]);for(var _0xcf41x57=0;_0xcf41x57< _0xcf41x56;_0xcf41x57++){var _0xcf41x3f=_0xcf41x53[_0x7031[23]][_0x7031[179]][_0xcf41x57][_0x7031[125]];var _0xcf41x40=_0x7031[126]+ _0xcf41x3f;var _0xcf41x2=_0xcf41x53[_0x7031[23]][_0x7031[179]][_0xcf41x57][_0x7031[23]];console[_0x7031[94]](_0xcf41x3f);var _0xcf41x50=_0xcf41x8[_0x7031[50]]((_0xcf41x57== _0xcf41x56- 1)?_0x7031[167]:_0x7031[180]);var _0xcf41x42=document[_0x7031[2]](_0x7031[130]);_0xcf41x42[_0x7031[31]]= _0x7031[168];mxUtils[_0x7031[78]](_0xcf41x42,mxResources[_0x7031[76]](_0xcf41x3f));_0xcf41x50[_0x7031[25]](_0xcf41x42);var _0xcf41x3;switch(_0xcf41x3f){case _0x7031[133]:_0xcf41x3= document[_0x7031[2]](_0x7031[1]);_0xcf41x2= _0xcf41x53[_0x7031[133]];_0xcf41x3[_0x7031[5]](_0x7031[23],_0xcf41x2);_0xcf41x3[_0x7031[5]](_0x7031[181],true);_0xcf41x3[_0x7031[31]]= _0x7031[134];break;case _0x7031[187]:_0xcf41x3= document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[3],_0x7031[80]);_0xcf41x3[_0x7031[182]]= function(){if(this[_0x7031[23]]== _0x7031[183]){this[_0x7031[5]](_0x7031[23],_0x7031[184]);this[_0x7031[31]]= _0x7031[185]}else {this[_0x7031[31]]= _0x7031[186];this[_0x7031[5]](_0x7031[23],_0x7031[183])}};_0xcf41x3[_0x7031[5]](_0x7031[23],_0xcf41x2);_0xcf41x3[_0x7031[31]]= (_0xcf41x2== _0x7031[183]?_0x7031[186]:_0x7031[185]);break;case _0x7031[21]:_0xcf41x3= document[_0x7031[2]](_0x7031[83]);_0xcf41x3[_0x7031[188]]= _0xcf41x2;_0xcf41x3[_0x7031[31]]= _0x7031[134];break;case _0x7031[189]:_0xcf41x3= document[_0x7031[2]](_0x7031[83]);_0xcf41x3[_0x7031[188]]= _0xcf41x2;_0xcf41x3[_0x7031[31]]= _0x7031[134];break;case _0x7031[190]:_0xcf41x3= document[_0x7031[2]](_0x7031[83]);_0xcf41x3[_0x7031[188]]= _0xcf41x2;_0xcf41x3[_0x7031[31]]= _0x7031[134];break;case _0x7031[193]:_0xcf41x3= document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[23],_0xcf41x2);_0xcf41x3[_0x7031[5]](_0x7031[191],_0x7031[192]);_0xcf41x3[_0x7031[31]]= _0x7031[134];break;case _0x7031[195]:_0xcf41x3= createDropdownFromApi(_0x7031[194],_0xcf41x2,_0x7031[125],_0x7031[133],_0xcf41x8);break;case _0x7031[198]:_0xcf41x3= document[_0x7031[2]](_0x7031[83]);_0xcf41x3[_0x7031[188]]= _0xcf41x2;_0xcf41x3[_0x7031[31]]= _0x7031[134];_0xcf41x3[_0x7031[5]](_0x7031[196],_0x7031[197]);break;case _0x7031[201]:var _0xcf41x3=mxUtils[_0x7031[80]](_0x7031[199],function(){var _0xcf41x58=createDynamicInput(null,null,_0xcf41x8);_0xcf41x55[_0x7031[25]](_0xcf41x58);_0xcf41x2a[_0x7031[25]](_0xcf41x55)});_0xcf41x3[_0x7031[31]]= _0x7031[200];break;default:_0xcf41x3= document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[23],_0xcf41x2);_0xcf41x3[_0x7031[31]]= _0x7031[134];break};_0xcf41x3[_0x7031[5]](_0x7031[133],_0xcf41x40);var _0xcf41x25=_0xcf41x8[_0x7031[50]](_0x7031[169]);_0xcf41x25[_0x7031[25]](_0xcf41x3);if(mxResources[_0x7031[76]](_0x7031[202]+ _0xcf41x3f)){var _0xcf41x59=_0xcf41x8[_0x7031[50]](_0x7031[203]);_0xcf41x59[_0x7031[31]]= _0x7031[204];mxUtils[_0x7031[78]](_0xcf41x59,mxResources[_0x7031[76]](_0x7031[202]+ _0xcf41x3f));_0xcf41x25[_0x7031[25]](_0xcf41x59)};_0xcf41x50[_0x7031[25]](_0xcf41x25);_0xcf41x4f[_0x7031[25]](_0xcf41x50)};_0xcf41x2a[_0x7031[25]](_0xcf41x4f);if(_0xcf41x53[_0x7031[23]][_0x7031[177]]== _0x7031[1]){if(_0xcf41x53[_0x7031[205]]){for(var _0xcf41x47=0;_0xcf41x47< _0xcf41x53[_0x7031[205]][_0x7031[141]];_0xcf41x47++){var _0xcf41x5a=_0x7031[40];var _0xcf41x5b=_0x7031[40];_[_0x7031[28]](_0xcf41x53[_0x7031[205]][_0xcf41x47][_0x7031[23]][_0x7031[179]],function(_0xcf41x5c){if(_0xcf41x5c[_0x7031[125]]== _0x7031[3]){_0xcf41x5a= _0xcf41x5c[_0x7031[23]]}else {if(_0xcf41x5c[_0x7031[125]]== _0x7031[130]){_0xcf41x5b= _0xcf41x5c[_0x7031[23]]}}});var _0xcf41x58=createDynamicInput(_0xcf41x5a,_0xcf41x5b,_0xcf41x8);_0xcf41x55[_0x7031[25]](_0xcf41x58)}}};_0xcf41x2a[_0x7031[25]](_0xcf41x55);var _0xcf41x37=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[135]),mxUtils[_0x7031[103]](this,function(_0xcf41x38){for(var _0xcf41x57=0;_0xcf41x57< _0xcf41x53[_0x7031[23]][_0x7031[179]][_0x7031[141]];_0xcf41x57++){var _0xcf41x40=_0x7031[126]+ _0xcf41x53[_0x7031[23]][_0x7031[179]][_0xcf41x57][_0x7031[125]];var _0xcf41x3f=_0xcf41x53[_0x7031[23]][_0x7031[179]][_0xcf41x57][_0x7031[125]];console[_0x7031[94]](_0xcf41x3f);_0xcf41x53[_0x7031[5]](_0xcf41x3f,document[_0x7031[206]](_0xcf41x40)[_0x7031[23]]);console[_0x7031[94]](document[_0x7031[206]](_0xcf41x40)[_0x7031[23]])};if(_0xcf41x53[_0x7031[23]][_0x7031[177]]== _0x7031[1]){if(_0xcf41x54[_0x7031[208]][_0x7031[207]](_0xcf41x53)){_0xcf41x53[_0x7031[205]]= []};if(document[_0x7031[206]](_0x7031[178])){var _0xcf41x55=document[_0x7031[206]](_0x7031[178])[_0x7031[205]];for(var _0xcf41x47=0;_0xcf41x47< _0xcf41x55[_0x7031[141]];_0xcf41x47++){var _0xcf41x5d=_0xcf41x55[_0xcf41x47][_0x7031[205]][1];var _0xcf41x5e=_0xcf41x55[_0xcf41x47][_0x7031[205]][0];var _0xcf41x39=mxUtils[_0x7031[209]]();var _0xcf41x5f=_0xcf41x39[_0x7031[2]](_0x7031[178]);_0xcf41x5f[_0x7031[5]](_0x7031[3],_0xcf41x55[_0xcf41x47][_0x7031[210]](_0x7031[19])[0][_0x7031[23]]);_0xcf41x5f[_0x7031[5]](_0x7031[130],_0xcf41x55[_0xcf41x47][_0x7031[210]](_0x7031[1])[0][_0x7031[23]]);var _0xcf41x60= new mxCell(_0xcf41x5f);_0xcf41x54[_0x7031[208]][_0x7031[201]](_0xcf41x53,_0xcf41x60)}}};_0xcf41x54[_0x7031[211]](_0xcf41x53);_0xcf41x8[_0x7031[79]]()}));_0xcf41x37[_0x7031[31]]= _0x7031[104];var _0xcf41x3a=mxUtils[_0x7031[80]](mxResources[_0x7031[76]](_0x7031[105]),function(){_0xcf41x8[_0x7031[79]]()});_0xcf41x3a[_0x7031[31]]= _0x7031[106];_0xcf41x2b[_0x7031[25]](_0xcf41x37);_0xcf41x2b[_0x7031[25]](_0xcf41x3a);_0xcf41x28[_0x7031[25]](_0xcf41x29);_0xcf41x28[_0x7031[25]](_0xcf41x2a);_0xcf41x28[_0x7031[25]](_0xcf41x2b);this[_0x7031[64]]= _0xcf41x28}function createDynamicInput(_0xcf41x5a,_0xcf41x5b,_0xcf41x8){var _0xcf41x58=_0xcf41x8[_0x7031[50]](_0x7031[180]);var _0xcf41x2f=_0xcf41x8[_0x7031[50]](_0x7031[212]);var _0xcf41x41=_0xcf41x8[_0x7031[50]](_0x7031[212]);var _0xcf41x62=_0xcf41x8[_0x7031[50]](_0x7031[213]);var _0xcf41x3=document[_0x7031[2]](_0x7031[1]);_0xcf41x3[_0x7031[5]](_0x7031[191],_0x7031[214]);_0xcf41x3[_0x7031[23]]= _0xcf41x5b;_0xcf41x3[_0x7031[31]]= _0x7031[134];_0xcf41x2f[_0x7031[25]](_0xcf41x3);var _0xcf41x43=document[_0x7031[2]](_0x7031[19]);var _0xcf41xd=document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0x7031[22];_0xcf41xd[_0x7031[23]]= _0x7031[40];_0xcf41x43[_0x7031[25]](_0xcf41xd);var _0xcf41x13=[_0x7031[21],_0x7031[215],_0x7031[83],_0x7031[4]];_0xcf41x13[_0x7031[28]](function(_0xcf41xe){_0xcf41xd= document[_0x7031[2]](_0x7031[20]);_0xcf41xd[_0x7031[21]]= _0xcf41xe;_0xcf41xd[_0x7031[23]]= _0xcf41xe;_0xcf41xd[_0x7031[29]]= (_0xcf41xe== _0xcf41x5a);_0xcf41x43[_0x7031[25]](_0xcf41xd)});_0xcf41x43[_0x7031[31]]= _0x7031[134];_0xcf41x41[_0x7031[25]](_0xcf41x43);var _0xcf41x63=mxUtils[_0x7031[80]](_0x7031[216],function(){var _0xcf41x64=_0xcf41x63[_0x7031[217]];var _0xcf41x65=_0xcf41x64[_0x7031[217]];document[_0x7031[206]](_0x7031[178])[_0x7031[67]](_0xcf41x65)});_0xcf41x63[_0x7031[31]]= _0x7031[218];_0xcf41x62[_0x7031[25]](_0xcf41x63);_0xcf41x58[_0x7031[25]](_0xcf41x2f);_0xcf41x58[_0x7031[25]](_0xcf41x41);_0xcf41x58[_0x7031[25]](_0xcf41x62);return _0xcf41x58}
\ No newline at end of file
-/**
- * $Id: Editor.js,v 1.14 2013/03/06 17:57:10 boris Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-// Specifies if local storage should be used (eg. on the iPad which has no filesystem)
-var useLocalStorage = (mxClient.IS_TOUCH || urlParams['storage'] == 'local') && typeof(localStorage) != 'undefined';
-var fileSupport = window.File != null && window.FileReader != null && window.FileList != null;
-
-// Specifies if connector should be shown on selected cells
-var touchStyle = mxClient.IS_TOUCH || urlParams['touch'] == '1';
-
-// Counts open editor tabs (must be global for cross-window access)
-var counter = 0;
-
-// Cross-domain window access is not allowed in FF, so if we
-// were opened from another domain then this will fail.
-try {
- var op = window;
-
- while (op.opener != null && !isNaN(op.opener.counter)) {
- op = op.opener;
- }
-
- // Increments the counter in the first opener in the chain
- if (op != null) {
- op.counter++;
- counter = op.counter;
- }
-} catch (e) {
- // ignore
-}
-
-/**
- * Editor constructor executed on page load.
- */
-Editor = function() {
- mxEventSource.call(this);
- this.init();
- this.initStencilRegistry();
- this.graph = new Graph();
- this.outline = new mxOutline(this.graph);
- this.outline.updateOnPan = true;
- this.undoManager = this.createUndoManager();
- this.status = '';
-
- // Contains the name which was used for the last save. Default value is null.
- this.filename = null;
-
- this.getOrCreateFilename = function() {
- return this.filename || mxResources.get('drawing', [counter]) + '.xml';
- };
-
- this.getFilename = function() {
- return this.filename;
- };
-
- // Sets the status and fires a statusChanged event
- this.setStatus = function(value) {
- this.status = value;
- this.fireEvent(new mxEventObject('statusChanged'));
- };
-
- // Returns the current status
- this.getStatus = function() {
- return this.status;
- };
-
- // Contains the current modified state of the diagram. This is false for
- // new diagrams and after the diagram was saved.
- this.modified = false;
-
- // Updates modified state if graph changes
- this.graphChangeListener = function() {
- this.modified = true;
- };
- this.graph.getModel().addListener(mxEvent.CHANGE, mxUtils.bind(this, function() {
- this.graphChangeListener.apply(this, arguments);
- }));
-
- // Installs dialog if browser window is closed without saving
- // This must be disabled during save and image export
- window.onbeforeunload = mxUtils.bind(this, function() {
- if (this.modified) {
- return mxResources.get('allChangesLost');
- }
- });
-
- // Sets persistent graph state defaults
- this.graph.resetViewOnRootChange = false;
- this.graph.scrollbars = true;
- this.graph.background = null;
-};
-
-// Editor inherits from mxEventSource
-mxUtils.extend(Editor, mxEventSource);
-
-/**
- * Specifies the image URL to be used for the grid.
- */
-Editor.prototype.gridImage = IMAGE_PATH + '/grid.gif';
-
-/**
- * Specifies the image URL to be used for the transparent background.
- */
-Editor.prototype.transparentImage = IMAGE_PATH + '/transparent.gif';
-
-/**
- * Sets the XML node for the current diagram.
- */
-Editor.prototype.setGraphXml = function(node) {
- var dec = new mxCodec(node.ownerDocument);
-
- if (node.nodeName == 'mxGraphModel') {
- this.graph.view.scale = 1;
- this.graph.gridEnabled = node.getAttribute('grid') != '0';
- this.graph.graphHandler.guidesEnabled = node.getAttribute('guides') != '0';
- this.graph.setTooltips(node.getAttribute('tooltips') != '0');
- this.graph.setConnectable(node.getAttribute('connect') != '0');
- this.graph.foldingEnabled = node.getAttribute('fold') != '0';
- this.graph.scrollbars = node.getAttribute('scrollbars') != '0';
-
- if (!this.graph.scrollbars) {
- this.graph.container.scrollLeft = 0;
- this.graph.container.scrollTop = 0;
- this.graph.view.translate.x = Number(node.getAttribute('dx') || 0);
- this.graph.view.translate.y = Number(node.getAttribute('dy') || 0);
- }
-
- this.graph.pageVisible = node.getAttribute('page') == '1';
- this.graph.pageBreaksVisible = this.graph.pageVisible;
- this.graph.preferPageSize = this.graph.pageBreaksVisible;
-
- // Loads the persistent state settings
- var ps = node.getAttribute('pageScale');
-
- if (ps != null) {
- this.graph.pageScale = ps;
- } else {
- this.graph.pageScale = 1.5;
- }
-
- var pw = node.getAttribute('pageWidth');
- var ph = node.getAttribute('pageHeight');
-
- if (pw != null && ph != null) {
- this.graph.pageFormat = new mxRectangle(0, 0, parseFloat(pw), parseFloat(ph));
- this.outline.outline.pageFormat = this.graph.pageFormat;
- }
-
- // Loads the persistent state settings
- var bg = node.getAttribute('background');
-
- if (bg != null && bg.length > 0) {
- this.graph.background = bg;
- }
-
- dec.decode(node, this.graph.getModel());
- this.updateGraphComponents();
- }
-};
-
-/**
- * Returns the XML node that represents the current diagram.
- */
-Editor.prototype.getGraphXml = function() {
- var enc = new mxCodec(mxUtils.createXmlDocument());
- var node = enc.encode(this.graph.getModel());
-
- if (this.graph.view.translate.x != 0 || this.graph.view.translate.y != 0) {
- node.setAttribute('dx', Math.round(this.graph.view.translate.x * 100) / 100);
- node.setAttribute('dy', Math.round(this.graph.view.translate.y * 100) / 100);
- }
-
- node.setAttribute('grid', (this.graph.isGridEnabled()) ? '1' : '0');
- node.setAttribute('guides', (this.graph.graphHandler.guidesEnabled) ? '1' : '0');
- node.setAttribute('guides', (this.graph.graphHandler.guidesEnabled) ? '1' : '0');
- node.setAttribute('tooltips', (this.graph.tooltipHandler.isEnabled()) ? '1' : '0');
- node.setAttribute('connect', (this.graph.connectionHandler.isEnabled()) ? '1' : '0');
- node.setAttribute('fold', (this.graph.foldingEnabled) ? '1' : '0');
- node.setAttribute('page', (this.graph.pageVisible) ? '1' : '0');
- node.setAttribute('pageScale', this.graph.pageScale);
- node.setAttribute('pageWidth', this.graph.pageFormat.width);
- node.setAttribute('pageHeight', this.graph.pageFormat.height);
-
- if (!this.graph.scrollbars) {
- node.setAttribute('scrollbars', '0');
- }
-
- if (this.graph.background != null) {
- node.setAttribute('background', this.graph.background);
- }
-
- return node;
-};
-
-/**
- * Keeps the graph container in sync with the persistent graph state
- */
-Editor.prototype.updateGraphComponents = function() {
- var graph = this.graph;
- var outline = this.outline;
-
- if (graph.container != null && outline.outline.container != null) {
- if (graph.background != null) {
- if (graph.background == 'none') {
- graph.container.style.backgroundColor = 'transparent';
- } else {
- if (graph.view.backgroundPageShape != null) {
- graph.view.backgroundPageShape.fill = graph.background;
- graph.view.backgroundPageShape.reconfigure();
- }
-
- graph.container.style.backgroundColor = graph.background;
- }
- } else {
- graph.container.style.backgroundColor = '';
- }
-
- if (graph.pageVisible) {
- graph.container.style.backgroundColor = '#ebebeb';
- graph.container.style.borderStyle = 'solid';
- graph.container.style.borderColor = '#e5e5e5';
- graph.container.style.borderTopWidth = '1px';
- graph.container.style.borderLeftWidth = '1px';
- graph.container.style.borderRightWidth = '0px';
- graph.container.style.borderBottomWidth = '0px';
- } else {
- graph.container.style.border = '';
- }
-
- outline.outline.container.style.backgroundColor = graph.container.style.backgroundColor;
-
- if (outline.outline.pageVisible != graph.pageVisible ||
- outline.outline.pageScale != graph.pageScale) {
- outline.outline.pageScale = graph.pageScale;
- outline.outline.pageVisible = graph.pageVisible;
- outline.outline.view.validate();
- }
-
- if (graph.scrollbars && graph.container.style.overflow == 'hidden' && !touchStyle) {
- graph.container.style.overflow = 'auto';
- } else if (!graph.scrollbars || touchStyle) {
- graph.container.style.overflow = 'hidden';
- }
-
- // Transparent.gif is a workaround for focus repaint problems in IE
- var noBackground = (mxClient.IS_IE && document.documentMode >= 9) ? 'url(' + this.transparentImage + ')' : 'none';
- graph.container.style.backgroundImage = (!graph.pageVisible && graph.isGridEnabled()) ? 'url(' + this.gridImage + ')' : noBackground;
-
- if (graph.view.backgroundPageShape != null) {
- graph.view.backgroundPageShape.node.style.backgroundImage = (this.graph.isGridEnabled()) ? 'url(' + this.gridImage + ')' : 'none';
- }
- }
-};
-
-/**
- * Initializes the environment.
- */
-Editor.prototype.init = function() {
- // Adds stylesheet for IE6
- if (mxClient.IS_IE6) {
- mxClient.link('stylesheet', CSS_PATH + '/grapheditor-ie6.css');
- }
-
- // Adds required resources (disables loading of fallback properties, this can only
- // be used if we know that all keys are defined in the language specific file)
- mxResources.loadDefaultBundle = false;
- mxResources.add(RESOURCE_BASE);
-
- // Makes the connection hotspot smaller
- mxConstants.DEFAULT_HOTSPOT = 0.3;
-
- var mxConnectionHandlerCreateMarker = mxConnectionHandler.prototype.createMarker;
- mxConnectionHandler.prototype.createMarker = function() {
- var marker = mxConnectionHandlerCreateMarker.apply(this, arguments);
-
- // Overrides to ignore hotspot only for target terminal
- marker.intersects = mxUtils.bind(this, function(state, evt) {
- if (this.isConnecting()) {
- return true;
- }
-
- return mxCellMarker.prototype.intersects.apply(marker, arguments);
- });
-
- return marker;
- };
-
- // Makes the shadow brighter
- mxConstants.SHADOWCOLOR = '#d0d0d0';
-
- // Changes some default colors
- mxConstants.HANDLE_FILLCOLOR = '#99ccff';
- mxConstants.HANDLE_STROKECOLOR = '#0088cf';
- mxConstants.VERTEX_SELECTION_COLOR = '#00a8ff';
- mxConstants.OUTLINE_COLOR = '#00a8ff';
- mxConstants.OUTLINE_HANDLE_FILLCOLOR = '#99ccff';
- mxConstants.OUTLINE_HANDLE_STROKECOLOR = '#00a8ff';
- mxConstants.CONNECT_HANDLE_FILLCOLOR = '#cee7ff';
- mxConstants.EDGE_SELECTION_COLOR = '#00a8ff';
- mxConstants.DEFAULT_VALID_COLOR = '#00a8ff';
- mxConstants.LABEL_HANDLE_FILLCOLOR = '#cee7ff';
- mxConstants.GUIDE_COLOR = '#0088cf';
-
- mxGraph.prototype.pageBreakColor = '#c0c0c0';
- mxGraph.prototype.pageScale = 1;
-
- // Increases default rubberband opacity (default is 20)
- mxRubberband.prototype.defaultOpacity = 30;
-
- // Changes border color of background page shape
- mxGraphView.prototype.createBackgroundPageShape = function(bounds) {
- return new mxRectangleShape(bounds, this.graph.background || 'white', '#cacaca');
- };
-
- // Fits the number of background pages to the graph
- mxGraphView.prototype.getBackgroundPageBounds = function() {
- var gb = this.getGraphBounds();
-
- // Computes unscaled, untranslated graph bounds
- var x = (gb.width > 0) ? gb.x / this.scale - this.translate.x : 0;
- var y = (gb.height > 0) ? gb.y / this.scale - this.translate.y : 0;
- var w = gb.width / this.scale;
- var h = gb.height / this.scale;
-
- var fmt = this.graph.pageFormat;
- var ps = this.graph.pageScale;
-
- var pw = fmt.width * ps;
- var ph = fmt.height * ps;
-
- var x0 = Math.floor(Math.min(0, x) / pw);
- var y0 = Math.floor(Math.min(0, y) / ph);
- var xe = Math.ceil(Math.max(1, x + w) / pw);
- var ye = Math.ceil(Math.max(1, y + h) / ph);
-
- var rows = xe - x0;
- var cols = ye - y0;
-
- var bounds = new mxRectangle(this.scale * (this.translate.x + x0 * pw), this.scale *
- (this.translate.y + y0 * ph), this.scale * rows * pw, this.scale * cols * ph);
-
- return bounds;
- };
-
- // Add panning for background page in VML
- var graphPanGraph = mxGraph.prototype.panGraph;
- mxGraph.prototype.panGraph = function(dx, dy) {
- graphPanGraph.apply(this, arguments);
-
- if ((this.dialect != mxConstants.DIALECT_SVG && this.view.backgroundPageShape != null) &&
- (!this.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.container))) {
- this.view.backgroundPageShape.node.style.marginLeft = dx + 'px';
- this.view.backgroundPageShape.node.style.marginTop = dy + 'px';
- }
- };
-
- var editor = this;
-
- // Uses HTML for background pages (to support grid background image)
- mxGraphView.prototype.validateBackground = function() {
- var bg = this.graph.getBackgroundImage();
-
- if (bg != null) {
- if (this.backgroundImage == null || this.backgroundImage.image != bg.src) {
- if (this.backgroundImage != null) {
- this.backgroundImage.destroy();
- }
-
- var bounds = new mxRectangle(0, 0, 1, 1);
-
- this.backgroundImage = new mxImageShape(bounds, bg.src);
- this.backgroundImage.dialect = this.graph.dialect;
- this.backgroundImage.init(this.backgroundPane);
- this.backgroundImage.redraw();
- }
-
- this.redrawBackgroundImage(this.backgroundImage, bg);
- } else if (this.backgroundImage != null) {
- this.backgroundImage.destroy();
- this.backgroundImage = null;
- }
-
- if (this.graph.pageVisible) {
- var bounds = this.getBackgroundPageBounds();
-
- if (this.backgroundPageShape == null) {
- this.backgroundPageShape = this.createBackgroundPageShape(bounds);
- this.backgroundPageShape.scale = 1;
- this.backgroundPageShape.isShadow = true;
- this.backgroundPageShape.dialect = mxConstants.DIALECT_STRICTHTML;
- this.backgroundPageShape.init(this.graph.container);
- // Required for the browser to render the background page in correct order
- this.graph.container.firstChild.style.position = 'absolute';
- this.graph.container.insertBefore(this.backgroundPageShape.node, this.graph.container.firstChild);
- this.backgroundPageShape.redraw();
-
- this.backgroundPageShape.node.className = 'geBackgroundPage';
- this.backgroundPageShape.node.style.backgroundPosition = '-1px -1px';
-
- // Adds listener for double click handling on background
- mxEvent.addListener(this.backgroundPageShape.node, 'dblclick',
- mxUtils.bind(this, function(evt) {
- this.graph.dblClick(evt);
- })
- );
-
- // Adds basic listeners for graph event dispatching outside of the
- // container and finishing the handling of a single gesture
- mxEvent.addGestureListeners(this.backgroundPageShape.node,
- mxUtils.bind(this, function(evt) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(evt));
- }),
- mxUtils.bind(this, function(evt) {
- // Hides the tooltip if mouse is outside container
- if (this.graph.tooltipHandler != null &&
- this.graph.tooltipHandler.isHideOnHover()) {
- this.graph.tooltipHandler.hide();
- }
-
- if (this.graph.isMouseDown &&
- !mxEvent.isConsumed(evt)) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE,
- new mxMouseEvent(evt));
- }
- }),
- mxUtils.bind(this, function(evt) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_UP,
- new mxMouseEvent(evt));
- }));
- } else {
- this.backgroundPageShape.scale = 1;
- this.backgroundPageShape.bounds = bounds;
- this.backgroundPageShape.redraw();
- }
-
- this.backgroundPageShape.node.style.backgroundImage = (this.graph.isGridEnabled()) ?
- 'url(' + editor.gridImage + ')' : 'none';
- } else if (this.backgroundPageShape != null) {
- this.backgroundPageShape.destroy();
- this.backgroundPageShape = null;
- }
- };
-
- // Draws page breaks only within the page
- mxGraph.prototype.updatePageBreaks = function(visible, width, height) {
- var scale = this.view.scale;
- var tr = this.view.translate;
- var fmt = this.pageFormat;
- var ps = scale * this.pageScale;
-
- var bounds2 = this.view.getBackgroundPageBounds();
-
- width = bounds2.width;
- height = bounds2.height;
- var bounds = new mxRectangle(scale * tr.x, scale * tr.y,
- fmt.width * ps, fmt.height * ps);
-
- // Does not show page breaks if the scale is too small
- visible = visible && Math.min(bounds.width, bounds.height) > this.minPageBreakDist;
-
- var horizontalCount = (visible) ? Math.ceil(width / bounds.width) - 1 : 0;
- var verticalCount = (visible) ? Math.ceil(height / bounds.height) - 1 : 0;
- var right = bounds2.x + width;
- var bottom = bounds2.y + height;
-
- if (this.horizontalPageBreaks == null && horizontalCount > 0) {
- this.horizontalPageBreaks = [];
- }
-
- if (this.horizontalPageBreaks != null) {
- for (var i = 0; i <= horizontalCount; i++) {
- var pts = [new mxPoint(bounds2.x + (i + 1) * bounds.width, bounds2.y),
- new mxPoint(bounds2.x + (i + 1) * bounds.width, bottom)
- ];
-
- if (this.horizontalPageBreaks[i] != null) {
- this.horizontalPageBreaks[i].scale = 1;
- this.horizontalPageBreaks[i].points = pts;
- this.horizontalPageBreaks[i].redraw();
- } else {
- var pageBreak = new mxPolyline(pts, this.pageBreakColor, this.scale);
- pageBreak.dialect = this.dialect;
- pageBreak.isDashed = this.pageBreakDashed;
- pageBreak.addPipe = false;
- pageBreak.scale = scale;
- pageBreak.init(this.view.backgroundPane);
- pageBreak.redraw();
-
- this.horizontalPageBreaks[i] = pageBreak;
- }
- }
-
- for (var i = horizontalCount; i < this.horizontalPageBreaks.length; i++) {
- this.horizontalPageBreaks[i].destroy();
- }
-
- this.horizontalPageBreaks.splice(horizontalCount, this.horizontalPageBreaks.length - horizontalCount);
- }
-
- if (this.verticalPageBreaks == null && verticalCount > 0) {
- this.verticalPageBreaks = [];
- }
-
- if (this.verticalPageBreaks != null) {
- for (var i = 0; i <= verticalCount; i++) {
- var pts = [new mxPoint(bounds2.x, bounds2.y + (i + 1) * bounds.height),
- new mxPoint(right, bounds2.y + (i + 1) * bounds.height)
- ];
-
- if (this.verticalPageBreaks[i] != null) {
- this.verticalPageBreaks[i].scale = 1; //scale;
- this.verticalPageBreaks[i].points = pts;
- this.verticalPageBreaks[i].redraw();
- } else {
- var pageBreak = new mxPolyline(pts, this.pageBreakColor, scale);
- pageBreak.dialect = this.dialect;
- pageBreak.isDashed = this.pageBreakDashed;
- pageBreak.addPipe = false;
- pageBreak.scale = scale;
- pageBreak.init(this.view.backgroundPane);
- pageBreak.redraw();
-
- this.verticalPageBreaks[i] = pageBreak;
- }
- }
-
- for (var i = verticalCount; i < this.verticalPageBreaks.length; i++) {
- this.verticalPageBreaks[i].destroy();
- }
-
- this.verticalPageBreaks.splice(verticalCount, this.verticalPageBreaks.length - verticalCount);
- }
- };
-
- // Enables snapping to off-grid terminals for edge waypoints
- mxEdgeHandler.prototype.snapToTerminals = true;
-
- // Enables guides
- mxGraphHandler.prototype.guidesEnabled = true;
-
- // Disables removing relative children from parents
- var mxGraphHandlerShouldRemoveCellsFromParent = mxGraphHandler.prototype.shouldRemoveCellsFromParent;
- mxGraphHandler.prototype.shouldRemoveCellsFromParent = function(parent, cells, evt) {
- for (var i = 0; i < cells.length; i++) {
- if (this.graph.getModel().isVertex(cells[i])) {
- var geo = this.graph.getCellGeometry(cells[i]);
-
- if (geo != null && geo.relative) {
- return false;
- }
- }
- }
-
- return mxGraphHandlerShouldRemoveCellsFromParent.apply(this, arguments);
- };
-
- // Alt-move disables guides
- mxGuide.prototype.isEnabledForEvent = function(evt) {
- return !mxEvent.isAltDown(evt);
- };
-
- // Consumes click events for disabled menu items
- mxPopupMenuAddItem = mxPopupMenu.prototype.addItem;
- mxPopupMenu.prototype.addItem = function(title, image, funct, parent, iconCls, enabled) {
- var result = mxPopupMenuAddItem.apply(this, arguments);
-
- if (enabled != null && !enabled) {
- mxEvent.addListener(result, 'mousedown', function(evt) {
- mxEvent.consume(evt);
- });
- }
-
- return result;
- };
-
- // Selects descendants before children selection mode
- var graphHandlerGetInitialCellForEvent = mxGraphHandler.prototype.getInitialCellForEvent;
- mxGraphHandler.prototype.getInitialCellForEvent = function(me) {
- var model = this.graph.getModel();
- var psel = model.getParent(this.graph.getSelectionCell());
- var cell = graphHandlerGetInitialCellForEvent.apply(this, arguments);
- var parent = model.getParent(cell);
-
- if (psel == null || (psel != cell && psel != parent)) {
- while (!this.graph.isCellSelected(cell) && !this.graph.isCellSelected(parent) &&
- model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- cell = parent;
- parent = this.graph.getModel().getParent(cell);
- }
- }
-
- return cell;
- };
-
- // Selection is delayed to mouseup if child selected
- var graphHandlerIsDelayedSelection = mxGraphHandler.prototype.isDelayedSelection;
- mxGraphHandler.prototype.isDelayedSelection = function(cell) {
- var result = graphHandlerIsDelayedSelection.apply(this, arguments);
- var model = this.graph.getModel();
- var psel = model.getParent(this.graph.getSelectionCell());
- var parent = model.getParent(cell);
-
- if (psel == null || (psel != cell && psel != parent)) {
- if (!this.graph.isCellSelected(cell) && model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- result = true;
- }
- }
-
- return result;
- };
-
- // Delayed selection of parent group
- mxGraphHandler.prototype.selectDelayed = function(me) {
- var cell = me.getCell();
-
- if (cell == null) {
- cell = this.cell;
- }
-
- var model = this.graph.getModel();
- var parent = model.getParent(cell);
-
- while (this.graph.isCellSelected(cell) && model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- cell = parent;
- parent = model.getParent(cell);
- }
-
- this.graph.selectCellForEvent(cell, me.getEvent());
- };
-
- // Returns last selected ancestor
- mxPanningHandler.prototype.getCellForPopupEvent = function(me) {
- var cell = me.getCell();
- var model = this.graph.getModel();
- var parent = model.getParent(cell);
-
- while (model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- if (this.graph.isCellSelected(parent)) {
- cell = parent;
- }
-
- parent = model.getParent(parent);
- }
-
- return cell;
- };
-};
-
-/**
- * Creates and returns a new undo manager.
- */
-Editor.prototype.createUndoManager = function() {
- var graph = this.graph;
- var undoMgr = new mxUndoManager();
-
- // Installs the command history
- var listener = function(sender, evt) {
- undoMgr.undoableEditHappened(evt.getProperty('edit'));
- };
-
- graph.getModel().addListener(mxEvent.UNDO, listener);
- graph.getView().addListener(mxEvent.UNDO, listener);
-
- // Keeps the selection in sync with the history
- var undoHandler = function(sender, evt) {
- var cand = graph.getSelectionCellsForChanges(evt.getProperty('edit').changes);
- var cells = [];
-
- for (var i = 1; i < cand.length; i++) {
- if (graph.view.getState(cand[i]) != null) {
- cells.push(cand[i]);
- }
- }
-
- graph.setSelectionCells(cells);
- };
-
- undoMgr.addListener(mxEvent.UNDO, undoHandler);
- undoMgr.addListener(mxEvent.REDO, undoHandler);
-
- return undoMgr;
-};
-
-/**
- * Adds basic stencil set (no namespace).
- */
-Editor.prototype.initStencilRegistry = function() {
- // Loads default stencils
- mxStencilRegistry.loadStencilSet(STENCIL_PATH + '/general.xml');
-};
-
-/**
- * Overrides stencil registry for dynamic loading of stencils.
- */
-(function() {
- /**
- * Maps from library names to an array of Javascript filenames,
- * which are synchronously loaded. Currently only stencil files
- * (.xml) and JS files (.js) are supported.
- * IMPORTANT: For embedded diagrams to work entries must also
- * be added in EmbedServlet.java.
- */
- mxStencilRegistry.libraries = {};
-
- /**
- * Stores all package names that have been dynamically loaded.
- * Each package is only loaded once.
- */
- mxStencilRegistry.packages = [];
-
- // Extends the default stencil registry to add dynamic loading
- mxStencilRegistry.getStencil = function(name) {
- var result = mxStencilRegistry.stencils[name];
-
- if (result == null) {
- var basename = mxStencilRegistry.getBasenameForStencil(name);
-
- // Loads stencil files and tries again
- if (basename != null) {
- var libs = mxStencilRegistry.libraries[basename];
-
- if (libs != null) {
- if (mxStencilRegistry.packages[basename] == null) {
- mxStencilRegistry.packages[basename] = 1;
-
- for (var i = 0; i < libs.length; i++) {
- var fname = libs[i];
-
- if (fname.toLowerCase().substring(fname.length - 4, fname.length) == '.xml') {
- mxStencilRegistry.loadStencilSet(fname, null);
- } else if (fname.toLowerCase().substring(fname.length - 3, fname.length) == '.js') {
- var req = mxUtils.load(fname);
-
- if (req != null) {
- eval.call(window, req.getText());
- }
- } else {
- // FIXME: This does not yet work as the loading is triggered after
- // the shape was used in the graph, at which point the keys have
- // typically been translated in the calling method.
- //mxResources.add(fname);
- }
- }
- }
- } else {
- mxStencilRegistry.loadStencilSet(STENCIL_PATH + '/' + basename + '.xml', null);
- }
-
- result = mxStencilRegistry.stencils[name];
- }
- }
-
- return result;
- };
-
- // Returns the basename for the given stencil or null if no file must be
- // loaded to render the given stencil.
- mxStencilRegistry.getBasenameForStencil = function(name) {
- var parts = name.split('.');
- var tmp = null;
-
- if (parts.length > 0 && parts[0] == 'mxgraph') {
- tmp = parts[1];
-
- for (var i = 2; i < parts.length - 1; i++) {
- tmp += '/' + parts[i];
- }
- }
-
- return tmp;
- };
-
- // Loads the given stencil set
- mxStencilRegistry.loadStencilSet = function(stencilFile, postStencilLoad, force) {
- force = (force != null) ? force : false;
-
- // Uses additional cache for detecting previous load attempts
- var xmlDoc = mxStencilRegistry.packages[stencilFile];
-
- if (force || xmlDoc == null) {
- var install = false;
-
- if (xmlDoc == null) {
- var req = mxUtils.load(stencilFile);
- xmlDoc = req.getXml();
- mxStencilRegistry.packages[stencilFile] = xmlDoc;
- install = true;
- }
-
- mxStencilRegistry.parseStencilSet(xmlDoc, postStencilLoad, install);
- }
- };
-
- // Parses the given stencil set
- mxStencilRegistry.parseStencilSet = function(xmlDocument, postStencilLoad, install) {
- install = (install != null) ? install : true;
- var root = xmlDocument.documentElement;
- var shape = root.firstChild;
- var packageName = '';
- var name = root.getAttribute('name');
-
- if (name != null) {
- packageName = name + '.';
- }
-
- while (shape != null) {
- if (shape.nodeType == mxConstants.NODETYPE_ELEMENT) {
- name = shape.getAttribute('name');
-
- if (name != null) {
- packageName = packageName.toLowerCase();
- var stencilName = name.replace(/ /g, "_");
-
- if (install) {
- mxStencilRegistry.addStencil(packageName + stencilName.toLowerCase(), new mxStencil(shape));
- }
-
- if (postStencilLoad != null) {
- var w = shape.getAttribute('w');
- var h = shape.getAttribute('h');
-
- w = (w == null) ? 80 : parseInt(w, 10);
- h = (h == null) ? 80 : parseInt(h, 10);
-
- postStencilLoad(packageName, stencilName, name, w, h);
- }
- }
- }
-
- shape = shape.nextSibling;
- }
- };
-})();
-
-/**
- * Class for asynchronously opening a new window and loading a file at the same
- * time. This acts as a bridge between the open dialog and the new editor.
- */
-OpenFile = function(done) {
- this.producer = null;
- this.consumer = null;
- this.done = done;
-};
-
-/**
- * Registers the editor from the new window.
- */
-OpenFile.prototype.setConsumer = function(value) {
- this.consumer = value;
- this.execute();
-};
-
-/**
- * Sets the data from the loaded file.
- */
-OpenFile.prototype.setData = function(value, filename) {
- this.data = value;
- this.filename = filename;
- this.execute();
-};
-
-/**
- * Displays an error message.
- */
-OpenFile.prototype.error = function(msg) {
- this.cancel();
- mxUtils.alert(msg);
-};
-
-/**
- * Consumes the data.
- */
-OpenFile.prototype.execute = function() {
- if (this.consumer != null && this.data != null) {
- this.consumer(this.data, this.filename);
- this.cancel();
- }
-};
-
-/**
- * Cancels the operation.
- */
-OpenFile.prototype.cancel = function() {
- if (this.done != null) {
- this.done();
- }
-};
+var _0x5f69=["\x49\x53\x5F\x54\x4F\x55\x43\x48","\x73\x74\x6F\x72\x61\x67\x65","\x6C\x6F\x63\x61\x6C","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x46\x69\x6C\x65","\x46\x69\x6C\x65\x52\x65\x61\x64\x65\x72","\x46\x69\x6C\x65\x4C\x69\x73\x74","\x74\x6F\x75\x63\x68","\x31","\x6F\x70\x65\x6E\x65\x72","\x63\x6F\x75\x6E\x74\x65\x72","\x63\x61\x6C\x6C","\x69\x6E\x69\x74","\x69\x6E\x69\x74\x53\x74\x65\x6E\x63\x69\x6C\x52\x65\x67\x69\x73\x74\x72\x79","\x67\x72\x61\x70\x68","\x6F\x75\x74\x6C\x69\x6E\x65","\x75\x70\x64\x61\x74\x65\x4F\x6E\x50\x61\x6E","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x63\x72\x65\x61\x74\x65\x55\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x73\x74\x61\x74\x75\x73","","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x4F\x72\x43\x72\x65\x61\x74\x65\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x64\x72\x61\x77\x69\x6E\x67","\x67\x65\x74","\x2E\x78\x6D\x6C","\x67\x65\x74\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73\x43\x68\x61\x6E\x67\x65\x64","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x6D\x6F\x64\x69\x66\x69\x65\x64","\x67\x72\x61\x70\x68\x43\x68\x61\x6E\x67\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x61\x70\x70\x6C\x79","\x62\x69\x6E\x64","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x6F\x6E\x62\x65\x66\x6F\x72\x65\x75\x6E\x6C\x6F\x61\x64","\x61\x6C\x6C\x43\x68\x61\x6E\x67\x65\x73\x4C\x6F\x73\x74","\x72\x65\x73\x65\x74\x56\x69\x65\x77\x4F\x6E\x52\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65","\x73\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x65\x78\x74\x65\x6E\x64","\x67\x72\x69\x64\x49\x6D\x61\x67\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x2F\x67\x72\x69\x64\x2E\x67\x69\x66","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x49\x6D\x61\x67\x65","\x2F\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x2E\x67\x69\x66","\x73\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x6F\x77\x6E\x65\x72\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C","\x73\x63\x61\x6C\x65","\x76\x69\x65\x77","\x67\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x69\x64","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x30","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x67\x75\x69\x64\x65\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x66\x6F\x6C\x64","\x73\x63\x72\x6F\x6C\x6C\x4C\x65\x66\x74","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x78","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65","\x64\x78","\x79","\x64\x79","\x70\x61\x67\x65\x56\x69\x73\x69\x62\x6C\x65","\x70\x61\x67\x65","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x73\x56\x69\x73\x69\x62\x6C\x65","\x70\x72\x65\x66\x65\x72\x50\x61\x67\x65\x53\x69\x7A\x65","\x70\x61\x67\x65\x53\x63\x61\x6C\x65","\x70\x61\x67\x65\x57\x69\x64\x74\x68","\x70\x61\x67\x65\x48\x65\x69\x67\x68\x74","\x70\x61\x67\x65\x46\x6F\x72\x6D\x61\x74","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x63\x6F\x64\x65","\x75\x70\x64\x61\x74\x65\x47\x72\x61\x70\x68\x43\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x67\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x65\x6E\x63\x6F\x64\x65","\x72\x6F\x75\x6E\x64","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x6E\x6F\x6E\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x73\x74\x79\x6C\x65","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x53\x68\x61\x70\x65","\x66\x69\x6C\x6C","\x72\x65\x63\x6F\x6E\x66\x69\x67\x75\x72\x65","\x23\x65\x62\x65\x62\x65\x62","\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65","\x73\x6F\x6C\x69\x64","\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72","\x23\x65\x35\x65\x35\x65\x35","\x62\x6F\x72\x64\x65\x72\x54\x6F\x70\x57\x69\x64\x74\x68","\x31\x70\x78","\x62\x6F\x72\x64\x65\x72\x4C\x65\x66\x74\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72\x52\x69\x67\x68\x74\x57\x69\x64\x74\x68","\x30\x70\x78","\x62\x6F\x72\x64\x65\x72\x42\x6F\x74\x74\x6F\x6D\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72","\x76\x61\x6C\x69\x64\x61\x74\x65","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x68\x69\x64\x64\x65\x6E","\x61\x75\x74\x6F","\x49\x53\x5F\x49\x45","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x75\x72\x6C\x28","\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x6E\x6F\x64\x65","\x49\x53\x5F\x49\x45\x36","\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x2F\x67\x72\x61\x70\x68\x65\x64\x69\x74\x6F\x72\x2D\x69\x65\x36\x2E\x63\x73\x73","\x6C\x69\x6E\x6B","\x6C\x6F\x61\x64\x44\x65\x66\x61\x75\x6C\x74\x42\x75\x6E\x64\x6C\x65","\x61\x64\x64","\x44\x45\x46\x41\x55\x4C\x54\x5F\x48\x4F\x54\x53\x50\x4F\x54","\x63\x72\x65\x61\x74\x65\x4D\x61\x72\x6B\x65\x72","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x73","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67","\x53\x48\x41\x44\x4F\x57\x43\x4F\x4C\x4F\x52","\x23\x64\x30\x64\x30\x64\x30","\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x23\x39\x39\x63\x63\x66\x66","\x48\x41\x4E\x44\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x43\x4F\x4C\x4F\x52","\x23\x30\x30\x38\x38\x63\x66","\x56\x45\x52\x54\x45\x58\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x43\x4F\x4C\x4F\x52","\x23\x30\x30\x61\x38\x66\x66","\x4F\x55\x54\x4C\x49\x4E\x45\x5F\x43\x4F\x4C\x4F\x52","\x4F\x55\x54\x4C\x49\x4E\x45\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x4F\x55\x54\x4C\x49\x4E\x45\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x43\x4F\x4C\x4F\x52","\x43\x4F\x4E\x4E\x45\x43\x54\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x23\x63\x65\x65\x37\x66\x66","\x45\x44\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x43\x4F\x4C\x4F\x52","\x44\x45\x46\x41\x55\x4C\x54\x5F\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4C\x4F\x52","\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x47\x55\x49\x44\x45\x5F\x43\x4F\x4C\x4F\x52","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x43\x6F\x6C\x6F\x72","\x23\x63\x30\x63\x30\x63\x30","\x64\x65\x66\x61\x75\x6C\x74\x4F\x70\x61\x63\x69\x74\x79","\x63\x72\x65\x61\x74\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x53\x68\x61\x70\x65","\x77\x68\x69\x74\x65","\x23\x63\x61\x63\x61\x63\x61","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x6D\x69\x6E","\x66\x6C\x6F\x6F\x72","\x6D\x61\x78","\x63\x65\x69\x6C","\x70\x61\x6E\x47\x72\x61\x70\x68","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x75\x73\x65\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73\x46\x6F\x72\x50\x61\x6E\x6E\x69\x6E\x67","\x68\x61\x73\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x6D\x61\x72\x67\x69\x6E\x4C\x65\x66\x74","\x70\x78","\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70","\x76\x61\x6C\x69\x64\x61\x74\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x69\x6D\x61\x67\x65","\x73\x72\x63","\x64\x65\x73\x74\x72\x6F\x79","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x6E\x65","\x72\x65\x64\x72\x61\x77","\x72\x65\x64\x72\x61\x77\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x69\x73\x53\x68\x61\x64\x6F\x77","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x54\x52\x49\x43\x54\x48\x54\x4D\x4C","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x66\x69\x72\x73\x74\x43\x68\x69\x6C\x64","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x69\x6E\x73\x65\x72\x74\x42\x65\x66\x6F\x72\x65","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x2D\x31\x70\x78\x20\x2D\x31\x70\x78","\x64\x62\x6C\x63\x6C\x69\x63\x6B","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x69\x73\x48\x69\x64\x65\x4F\x6E\x48\x6F\x76\x65\x72","\x68\x69\x64\x65","\x69\x73\x4D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x62\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x6D\x69\x6E\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x44\x69\x73\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x70\x6F\x69\x6E\x74\x73","\x69\x73\x44\x61\x73\x68\x65\x64","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x44\x61\x73\x68\x65\x64","\x61\x64\x64\x50\x69\x70\x65","\x73\x70\x6C\x69\x63\x65","\x76\x65\x72\x74\x69\x63\x61\x6C\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x73\x6E\x61\x70\x54\x6F\x54\x65\x72\x6D\x69\x6E\x61\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x52\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x69\x73\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x43\x65\x6C\x6C\x47\x65\x6F\x6D\x65\x74\x72\x79","\x72\x65\x6C\x61\x74\x69\x76\x65","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64\x46\x6F\x72\x45\x76\x65\x6E\x74","\x69\x73\x41\x6C\x74\x44\x6F\x77\x6E","\x61\x64\x64\x49\x74\x65\x6D","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x63\x6F\x6E\x73\x75\x6D\x65","\x67\x65\x74\x49\x6E\x69\x74\x69\x61\x6C\x43\x65\x6C\x6C\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x69\x73\x43\x65\x6C\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x69\x73\x44\x65\x6C\x61\x79\x65\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x44\x65\x6C\x61\x79\x65\x64","\x67\x65\x74\x43\x65\x6C\x6C","\x63\x65\x6C\x6C","\x67\x65\x74\x45\x76\x65\x6E\x74","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x65\x74\x43\x65\x6C\x6C\x46\x6F\x72\x50\x6F\x70\x75\x70\x45\x76\x65\x6E\x74","\x65\x64\x69\x74","\x67\x65\x74\x50\x72\x6F\x70\x65\x72\x74\x79","\x75\x6E\x64\x6F\x61\x62\x6C\x65\x45\x64\x69\x74\x48\x61\x70\x70\x65\x6E\x65\x64","\x67\x65\x74\x56\x69\x65\x77","\x63\x68\x61\x6E\x67\x65\x73","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x46\x6F\x72\x43\x68\x61\x6E\x67\x65\x73","\x67\x65\x74\x53\x74\x61\x74\x65","\x70\x75\x73\x68","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2E\x78\x6D\x6C","\x6C\x6F\x61\x64\x53\x74\x65\x6E\x63\x69\x6C\x53\x65\x74","\x6C\x69\x62\x72\x61\x72\x69\x65\x73","\x70\x61\x63\x6B\x61\x67\x65\x73","\x67\x65\x74\x53\x74\x65\x6E\x63\x69\x6C","\x73\x74\x65\x6E\x63\x69\x6C\x73","\x67\x65\x74\x42\x61\x73\x65\x6E\x61\x6D\x65\x46\x6F\x72\x53\x74\x65\x6E\x63\x69\x6C","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x2E\x6A\x73","\x6C\x6F\x61\x64","\x67\x65\x74\x54\x65\x78\x74","\x2F","\x2E","\x73\x70\x6C\x69\x74","\x6D\x78\x67\x72\x61\x70\x68","\x67\x65\x74\x58\x6D\x6C","\x70\x61\x72\x73\x65\x53\x74\x65\x6E\x63\x69\x6C\x53\x65\x74","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x6E\x61\x6D\x65","\x6E\x6F\x64\x65\x54\x79\x70\x65","\x4E\x4F\x44\x45\x54\x59\x50\x45\x5F\x45\x4C\x45\x4D\x45\x4E\x54","\x5F","\x72\x65\x70\x6C\x61\x63\x65","\x61\x64\x64\x53\x74\x65\x6E\x63\x69\x6C","\x77","\x68","\x6E\x65\x78\x74\x53\x69\x62\x6C\x69\x6E\x67","\x70\x72\x6F\x64\x75\x63\x65\x72","\x63\x6F\x6E\x73\x75\x6D\x65\x72","\x64\x6F\x6E\x65","\x73\x65\x74\x43\x6F\x6E\x73\x75\x6D\x65\x72","\x65\x78\x65\x63\x75\x74\x65","\x73\x65\x74\x44\x61\x74\x61","\x64\x61\x74\x61","\x65\x72\x72\x6F\x72","\x63\x61\x6E\x63\x65\x6C","\x61\x6C\x65\x72\x74"];var useLocalStorage=(mxClient[_0x5f69[0]]|| urlParams[_0x5f69[1]]== _0x5f69[2])&& typeof (localStorage)!= _0x5f69[3];var fileSupport=window[_0x5f69[4]]!= null&& window[_0x5f69[5]]!= null&& window[_0x5f69[6]]!= null;var touchStyle=mxClient[_0x5f69[0]]|| urlParams[_0x5f69[7]]== _0x5f69[8];var counter=0;try{var op=window;while(op[_0x5f69[9]]!= null&& !isNaN(op[_0x5f69[9]][_0x5f69[10]])){op= op[_0x5f69[9]]};if(op!= null){op[_0x5f69[10]]++;counter= op[_0x5f69[10]]}}catch(e){};Editor= function(){mxEventSource[_0x5f69[11]](this);this[_0x5f69[12]]();this[_0x5f69[13]]();this[_0x5f69[14]]= new Graph();this[_0x5f69[15]]= new mxOutline(this[_0x5f69[14]]);this[_0x5f69[15]][_0x5f69[16]]= true;this[_0x5f69[17]]= this[_0x5f69[18]]();this[_0x5f69[19]]= _0x5f69[20];this[_0x5f69[21]]= null;this[_0x5f69[22]]= function(){return this[_0x5f69[21]]|| mxResources[_0x5f69[24]](_0x5f69[23],[counter])+ _0x5f69[25]};this[_0x5f69[26]]= function(){return this[_0x5f69[21]]};this[_0x5f69[27]]= function(_0x793ax6){this[_0x5f69[19]]= _0x793ax6;this[_0x5f69[29]]( new mxEventObject(_0x5f69[28]))};this[_0x5f69[30]]= function(){return this[_0x5f69[19]]};this[_0x5f69[31]]= false;this[_0x5f69[32]]= function(){this[_0x5f69[31]]= true};this[_0x5f69[14]][_0x5f69[36]]()[_0x5f69[35]](mxEvent.CHANGE,mxUtils[_0x5f69[34]](this,function(){this[_0x5f69[32]][_0x5f69[33]](this,arguments)}));window[_0x5f69[37]]= mxUtils[_0x5f69[34]](this,function(){if(this[_0x5f69[31]]){return mxResources[_0x5f69[24]](_0x5f69[38])}});this[_0x5f69[14]][_0x5f69[39]]= false;this[_0x5f69[14]][_0x5f69[40]]= true;this[_0x5f69[14]][_0x5f69[41]]= null};mxUtils[_0x5f69[42]](Editor,mxEventSource);Editor[_0x5f69[44]][_0x5f69[43]]= IMAGE_PATH+ _0x5f69[45];Editor[_0x5f69[44]][_0x5f69[46]]= IMAGE_PATH+ _0x5f69[47];Editor[_0x5f69[44]][_0x5f69[48]]= function(_0x793ax7){var _0x793ax8= new mxCodec(_0x793ax7[_0x5f69[49]]);if(_0x793ax7[_0x5f69[50]]== _0x5f69[51]){this[_0x5f69[14]][_0x5f69[53]][_0x5f69[52]]= 1;this[_0x5f69[14]][_0x5f69[54]]= _0x793ax7[_0x5f69[56]](_0x5f69[55])!= _0x5f69[57];this[_0x5f69[14]][_0x5f69[59]][_0x5f69[58]]= _0x793ax7[_0x5f69[56]](_0x5f69[60])!= _0x5f69[57];this[_0x5f69[14]][_0x5f69[62]](_0x793ax7[_0x5f69[56]](_0x5f69[61])!= _0x5f69[57]);this[_0x5f69[14]][_0x5f69[64]](_0x793ax7[_0x5f69[56]](_0x5f69[63])!= _0x5f69[57]);this[_0x5f69[14]][_0x5f69[65]]= _0x793ax7[_0x5f69[56]](_0x5f69[66])!= _0x5f69[57];this[_0x5f69[14]][_0x5f69[40]]= _0x793ax7[_0x5f69[56]](_0x5f69[40])!= _0x5f69[57];if(!this[_0x5f69[14]][_0x5f69[40]]){this[_0x5f69[14]][_0x5f69[68]][_0x5f69[67]]= 0;this[_0x5f69[14]][_0x5f69[68]][_0x5f69[69]]= 0;this[_0x5f69[14]][_0x5f69[53]][_0x5f69[71]][_0x5f69[70]]= Number(_0x793ax7[_0x5f69[56]](_0x5f69[72])|| 0);this[_0x5f69[14]][_0x5f69[53]][_0x5f69[71]][_0x5f69[73]]= Number(_0x793ax7[_0x5f69[56]](_0x5f69[74])|| 0)};this[_0x5f69[14]][_0x5f69[75]]= _0x793ax7[_0x5f69[56]](_0x5f69[76])== _0x5f69[8];this[_0x5f69[14]][_0x5f69[77]]= this[_0x5f69[14]][_0x5f69[75]];this[_0x5f69[14]][_0x5f69[78]]= this[_0x5f69[14]][_0x5f69[77]];var _0x793ax9=_0x793ax7[_0x5f69[56]](_0x5f69[79]);if(_0x793ax9!= null){this[_0x5f69[14]][_0x5f69[79]]= _0x793ax9}else {this[_0x5f69[14]][_0x5f69[79]]= 1.5};var _0x793axa=_0x793ax7[_0x5f69[56]](_0x5f69[80]);var _0x793axb=_0x793ax7[_0x5f69[56]](_0x5f69[81]);if(_0x793axa!= null&& _0x793axb!= null){this[_0x5f69[14]][_0x5f69[82]]= new mxRectangle(0,0,parseFloat(_0x793axa),parseFloat(_0x793axb));this[_0x5f69[15]][_0x5f69[15]][_0x5f69[82]]= this[_0x5f69[14]][_0x5f69[82]]};var _0x793axc=_0x793ax7[_0x5f69[56]](_0x5f69[41]);if(_0x793axc!= null&& _0x793axc[_0x5f69[83]]> 0){this[_0x5f69[14]][_0x5f69[41]]= _0x793axc};_0x793ax8[_0x5f69[84]](_0x793ax7,this[_0x5f69[14]][_0x5f69[36]]());this[_0x5f69[85]]()}};Editor[_0x5f69[44]][_0x5f69[86]]= function(){var _0x793axd= new mxCodec(mxUtils[_0x5f69[87]]());var _0x793ax7=_0x793axd[_0x5f69[88]](this[_0x5f69[14]][_0x5f69[36]]());if(this[_0x5f69[14]][_0x5f69[53]][_0x5f69[71]][_0x5f69[70]]!= 0|| this[_0x5f69[14]][_0x5f69[53]][_0x5f69[71]][_0x5f69[73]]!= 0){_0x793ax7[_0x5f69[90]](_0x5f69[72],Math[_0x5f69[89]](this[_0x5f69[14]][_0x5f69[53]][_0x5f69[71]][_0x5f69[70]]* 100)/ 100);_0x793ax7[_0x5f69[90]](_0x5f69[74],Math[_0x5f69[89]](this[_0x5f69[14]][_0x5f69[53]][_0x5f69[71]][_0x5f69[73]]* 100)/ 100)};_0x793ax7[_0x5f69[90]](_0x5f69[55],(this[_0x5f69[14]][_0x5f69[91]]())?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[60],(this[_0x5f69[14]][_0x5f69[59]][_0x5f69[58]])?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[60],(this[_0x5f69[14]][_0x5f69[59]][_0x5f69[58]])?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[61],(this[_0x5f69[14]][_0x5f69[93]][_0x5f69[92]]())?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[63],(this[_0x5f69[14]][_0x5f69[94]][_0x5f69[92]]())?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[66],(this[_0x5f69[14]][_0x5f69[65]])?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[76],(this[_0x5f69[14]][_0x5f69[75]])?_0x5f69[8]:_0x5f69[57]);_0x793ax7[_0x5f69[90]](_0x5f69[79],this[_0x5f69[14]][_0x5f69[79]]);_0x793ax7[_0x5f69[90]](_0x5f69[80],this[_0x5f69[14]][_0x5f69[82]][_0x5f69[95]]);_0x793ax7[_0x5f69[90]](_0x5f69[81],this[_0x5f69[14]][_0x5f69[82]][_0x5f69[96]]);if(!this[_0x5f69[14]][_0x5f69[40]]){_0x793ax7[_0x5f69[90]](_0x5f69[40],_0x5f69[57])};if(this[_0x5f69[14]][_0x5f69[41]]!= null){_0x793ax7[_0x5f69[90]](_0x5f69[41],this[_0x5f69[14]][_0x5f69[41]])};return _0x793ax7};Editor[_0x5f69[44]][_0x5f69[85]]= function(){var _0x793axe=this[_0x5f69[14]];var _0x793axf=this[_0x5f69[15]];if(_0x793axe[_0x5f69[68]]!= null&& _0x793axf[_0x5f69[15]][_0x5f69[68]]!= null){if(_0x793axe[_0x5f69[41]]!= null){if(_0x793axe[_0x5f69[41]]== _0x5f69[97]){_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[98]]= _0x5f69[100]}else {if(_0x793axe[_0x5f69[53]][_0x5f69[101]]!= null){_0x793axe[_0x5f69[53]][_0x5f69[101]][_0x5f69[102]]= _0x793axe[_0x5f69[41]];_0x793axe[_0x5f69[53]][_0x5f69[101]][_0x5f69[103]]()};_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[98]]= _0x793axe[_0x5f69[41]]}}else {_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[98]]= _0x5f69[20]};if(_0x793axe[_0x5f69[75]]){_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[98]]= _0x5f69[104];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[105]]= _0x5f69[106];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[107]]= _0x5f69[108];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[109]]= _0x5f69[110];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[111]]= _0x5f69[110];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[112]]= _0x5f69[113];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[114]]= _0x5f69[113]}else {_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[115]]= _0x5f69[20]};_0x793axf[_0x5f69[15]][_0x5f69[68]][_0x5f69[99]][_0x5f69[98]]= _0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[98]];if(_0x793axf[_0x5f69[15]][_0x5f69[75]]!= _0x793axe[_0x5f69[75]]|| _0x793axf[_0x5f69[15]][_0x5f69[79]]!= _0x793axe[_0x5f69[79]]){_0x793axf[_0x5f69[15]][_0x5f69[79]]= _0x793axe[_0x5f69[79]];_0x793axf[_0x5f69[15]][_0x5f69[75]]= _0x793axe[_0x5f69[75]];_0x793axf[_0x5f69[15]][_0x5f69[53]][_0x5f69[116]]()};if(_0x793axe[_0x5f69[40]]&& _0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[117]]== _0x5f69[118]&& !touchStyle){_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[117]]= _0x5f69[119]}else {if(!_0x793axe[_0x5f69[40]]|| touchStyle){_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[117]]= _0x5f69[118]}};var _0x793ax10=(mxClient[_0x5f69[120]]&& document[_0x5f69[121]]>= 9)?_0x5f69[122]+ this[_0x5f69[46]]+ _0x5f69[123]:_0x5f69[97];_0x793axe[_0x5f69[68]][_0x5f69[99]][_0x5f69[124]]= (!_0x793axe[_0x5f69[75]]&& _0x793axe[_0x5f69[91]]())?_0x5f69[122]+ this[_0x5f69[43]]+ _0x5f69[123]:_0x793ax10;if(_0x793axe[_0x5f69[53]][_0x5f69[101]]!= null){_0x793axe[_0x5f69[53]][_0x5f69[101]][_0x5f69[125]][_0x5f69[99]][_0x5f69[124]]= (this[_0x5f69[14]][_0x5f69[91]]())?_0x5f69[122]+ this[_0x5f69[43]]+ _0x5f69[123]:_0x5f69[97]}}};Editor[_0x5f69[44]][_0x5f69[12]]= function(){if(mxClient[_0x5f69[126]]){mxClient[_0x5f69[129]](_0x5f69[127],CSS_PATH+ _0x5f69[128])};mxResources[_0x5f69[130]]= false;mxResources[_0x5f69[131]](RESOURCE_BASE);mxConstants[_0x5f69[132]]= 0.3;var _0x793ax11=mxConnectionHandler[_0x5f69[44]][_0x5f69[133]];mxConnectionHandler[_0x5f69[44]][_0x5f69[133]]= function(){var _0x793ax12=_0x793ax11[_0x5f69[33]](this,arguments);_0x793ax12[_0x5f69[134]]= mxUtils[_0x5f69[34]](this,function(_0x793ax13,_0x793ax14){if(this[_0x5f69[135]]()){return true};return mxCellMarker[_0x5f69[44]][_0x5f69[134]][_0x5f69[33]](_0x793ax12,arguments)});return _0x793ax12};mxConstants[_0x5f69[136]]= _0x5f69[137];mxConstants[_0x5f69[138]]= _0x5f69[139];mxConstants[_0x5f69[140]]= _0x5f69[141];mxConstants[_0x5f69[142]]= _0x5f69[143];mxConstants[_0x5f69[144]]= _0x5f69[143];mxConstants[_0x5f69[145]]= _0x5f69[139];mxConstants[_0x5f69[146]]= _0x5f69[143];mxConstants[_0x5f69[147]]= _0x5f69[148];mxConstants[_0x5f69[149]]= _0x5f69[143];mxConstants[_0x5f69[150]]= _0x5f69[143];mxConstants[_0x5f69[151]]= _0x5f69[148];mxConstants[_0x5f69[152]]= _0x5f69[141];mxGraph[_0x5f69[44]][_0x5f69[153]]= _0x5f69[154];mxGraph[_0x5f69[44]][_0x5f69[79]]= 1;mxRubberband[_0x5f69[44]][_0x5f69[155]]= 30;mxGraphView[_0x5f69[44]][_0x5f69[156]]= function(_0x793ax15){return new mxRectangleShape(_0x793ax15,this[_0x5f69[14]][_0x5f69[41]]|| _0x5f69[157],_0x5f69[158])};mxGraphView[_0x5f69[44]][_0x5f69[159]]= function(){var _0x793ax16=this[_0x5f69[160]]();var _0x793ax17=(_0x793ax16[_0x5f69[95]]> 0)?_0x793ax16[_0x5f69[70]]/ this[_0x5f69[52]]- this[_0x5f69[71]][_0x5f69[70]]:0;var _0x793ax18=(_0x793ax16[_0x5f69[96]]> 0)?_0x793ax16[_0x5f69[73]]/ this[_0x5f69[52]]- this[_0x5f69[71]][_0x5f69[73]]:0;var _0x793ax19=_0x793ax16[_0x5f69[95]]/ this[_0x5f69[52]];var _0x793ax1a=_0x793ax16[_0x5f69[96]]/ this[_0x5f69[52]];var _0x793ax1b=this[_0x5f69[14]][_0x5f69[82]];var _0x793ax9=this[_0x5f69[14]][_0x5f69[79]];var _0x793axa=_0x793ax1b[_0x5f69[95]]* _0x793ax9;var _0x793axb=_0x793ax1b[_0x5f69[96]]* _0x793ax9;var _0x793ax1c=Math[_0x5f69[162]](Math[_0x5f69[161]](0,_0x793ax17)/ _0x793axa);var _0x793ax1d=Math[_0x5f69[162]](Math[_0x5f69[161]](0,_0x793ax18)/ _0x793axb);var _0x793ax1e=Math[_0x5f69[164]](Math[_0x5f69[163]](1,_0x793ax17+ _0x793ax19)/ _0x793axa);var _0x793ax1f=Math[_0x5f69[164]](Math[_0x5f69[163]](1,_0x793ax18+ _0x793ax1a)/ _0x793axb);var _0x793ax20=_0x793ax1e- _0x793ax1c;var _0x793ax21=_0x793ax1f- _0x793ax1d;var _0x793ax15= new mxRectangle(this[_0x5f69[52]]* (this[_0x5f69[71]][_0x5f69[70]]+ _0x793ax1c* _0x793axa),this[_0x5f69[52]]* (this[_0x5f69[71]][_0x5f69[73]]+ _0x793ax1d* _0x793axb),this[_0x5f69[52]]* _0x793ax20* _0x793axa,this[_0x5f69[52]]* _0x793ax21* _0x793axb);return _0x793ax15};var _0x793ax22=mxGraph[_0x5f69[44]][_0x5f69[165]];mxGraph[_0x5f69[44]][_0x5f69[165]]= function(_0x793ax23,_0x793ax24){_0x793ax22[_0x5f69[33]](this,arguments);if((this[_0x5f69[166]]!= mxConstants[_0x5f69[167]]&& this[_0x5f69[53]][_0x5f69[101]]!= null)&& (!this[_0x5f69[168]]|| !mxUtils[_0x5f69[169]](this[_0x5f69[68]]))){this[_0x5f69[53]][_0x5f69[101]][_0x5f69[125]][_0x5f69[99]][_0x5f69[170]]= _0x793ax23+ _0x5f69[171];this[_0x5f69[53]][_0x5f69[101]][_0x5f69[125]][_0x5f69[99]][_0x5f69[172]]= _0x793ax24+ _0x5f69[171]}};var _0x793ax25=this;mxGraphView[_0x5f69[44]][_0x5f69[173]]= function(){var _0x793axc=this[_0x5f69[14]][_0x5f69[174]]();if(_0x793axc!= null){if(this[_0x5f69[124]]== null|| this[_0x5f69[124]][_0x5f69[175]]!= _0x793axc[_0x5f69[176]]){if(this[_0x5f69[124]]!= null){this[_0x5f69[124]][_0x5f69[177]]()};var _0x793ax15= new mxRectangle(0,0,1,1);this[_0x5f69[124]]= new mxImageShape(_0x793ax15,_0x793axc[_0x5f69[176]]);this[_0x5f69[124]][_0x5f69[166]]= this[_0x5f69[14]][_0x5f69[166]];this[_0x5f69[124]][_0x5f69[12]](this[_0x5f69[178]]);this[_0x5f69[124]][_0x5f69[179]]()};this[_0x5f69[180]](this[_0x5f69[124]],_0x793axc)}else {if(this[_0x5f69[124]]!= null){this[_0x5f69[124]][_0x5f69[177]]();this[_0x5f69[124]]= null}};if(this[_0x5f69[14]][_0x5f69[75]]){var _0x793ax15=this[_0x5f69[159]]();if(this[_0x5f69[101]]== null){this[_0x5f69[101]]= this[_0x5f69[156]](_0x793ax15);this[_0x5f69[101]][_0x5f69[52]]= 1;this[_0x5f69[101]][_0x5f69[181]]= true;this[_0x5f69[101]][_0x5f69[166]]= mxConstants[_0x5f69[182]];this[_0x5f69[101]][_0x5f69[12]](this[_0x5f69[14]][_0x5f69[68]]);this[_0x5f69[14]][_0x5f69[68]][_0x5f69[184]][_0x5f69[99]][_0x5f69[183]]= _0x5f69[185];this[_0x5f69[14]][_0x5f69[68]][_0x5f69[186]](this[_0x5f69[101]][_0x5f69[125]],this[_0x5f69[14]][_0x5f69[68]][_0x5f69[184]]);this[_0x5f69[101]][_0x5f69[179]]();this[_0x5f69[101]][_0x5f69[125]][_0x5f69[187]]= _0x5f69[188];this[_0x5f69[101]][_0x5f69[125]][_0x5f69[99]][_0x5f69[189]]= _0x5f69[190];mxEvent[_0x5f69[35]](this[_0x5f69[101]][_0x5f69[125]],_0x5f69[191],mxUtils[_0x5f69[34]](this,function(_0x793ax14){this[_0x5f69[14]][_0x5f69[192]](_0x793ax14)}));mxEvent[_0x5f69[198]](this[_0x5f69[101]][_0x5f69[125]],mxUtils[_0x5f69[34]](this,function(_0x793ax14){this[_0x5f69[14]][_0x5f69[193]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x793ax14))}),mxUtils[_0x5f69[34]](this,function(_0x793ax14){if(this[_0x5f69[14]][_0x5f69[93]]!= null&& this[_0x5f69[14]][_0x5f69[93]][_0x5f69[194]]()){this[_0x5f69[14]][_0x5f69[93]][_0x5f69[195]]()};if(this[_0x5f69[14]][_0x5f69[196]]&& !mxEvent[_0x5f69[197]](_0x793ax14)){this[_0x5f69[14]][_0x5f69[193]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x793ax14))}}),mxUtils[_0x5f69[34]](this,function(_0x793ax14){this[_0x5f69[14]][_0x5f69[193]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x793ax14))}))}else {this[_0x5f69[101]][_0x5f69[52]]= 1;this[_0x5f69[101]][_0x5f69[199]]= _0x793ax15;this[_0x5f69[101]][_0x5f69[179]]()};this[_0x5f69[101]][_0x5f69[125]][_0x5f69[99]][_0x5f69[124]]= (this[_0x5f69[14]][_0x5f69[91]]())?_0x5f69[122]+ _0x793ax25[_0x5f69[43]]+ _0x5f69[123]:_0x5f69[97]}else {if(this[_0x5f69[101]]!= null){this[_0x5f69[101]][_0x5f69[177]]();this[_0x5f69[101]]= null}}};mxGraph[_0x5f69[44]][_0x5f69[200]]= function(_0x793ax26,_0x793ax27,_0x793ax28){var _0x793ax29=this[_0x5f69[53]][_0x5f69[52]];var _0x793ax2a=this[_0x5f69[53]][_0x5f69[71]];var _0x793ax1b=this[_0x5f69[82]];var _0x793ax9=_0x793ax29* this[_0x5f69[79]];var _0x793ax2b=this[_0x5f69[53]][_0x5f69[159]]();_0x793ax27= _0x793ax2b[_0x5f69[95]];_0x793ax28= _0x793ax2b[_0x5f69[96]];var _0x793ax15= new mxRectangle(_0x793ax29* _0x793ax2a[_0x5f69[70]],_0x793ax29* _0x793ax2a[_0x5f69[73]],_0x793ax1b[_0x5f69[95]]* _0x793ax9,_0x793ax1b[_0x5f69[96]]* _0x793ax9);_0x793ax26= _0x793ax26&& Math[_0x5f69[161]](_0x793ax15[_0x5f69[95]],_0x793ax15[_0x5f69[96]])> this[_0x5f69[201]];var _0x793ax2c=(_0x793ax26)?Math[_0x5f69[164]](_0x793ax27/ _0x793ax15[_0x5f69[95]])- 1:0;var _0x793ax2d=(_0x793ax26)?Math[_0x5f69[164]](_0x793ax28/ _0x793ax15[_0x5f69[96]])- 1:0;var _0x793ax2e=_0x793ax2b[_0x5f69[70]]+ _0x793ax27;var _0x793ax2f=_0x793ax2b[_0x5f69[73]]+ _0x793ax28;if(this[_0x5f69[202]]== null&& _0x793ax2c> 0){this[_0x5f69[202]]= []};if(this[_0x5f69[202]]!= null){for(var _0x793ax30=0;_0x793ax30<= _0x793ax2c;_0x793ax30++){var _0x793ax31=[ new mxPoint(_0x793ax2b[_0x5f69[70]]+ (_0x793ax30+ 1)* _0x793ax15[_0x5f69[95]],_0x793ax2b[_0x5f69[73]]), new mxPoint(_0x793ax2b[_0x5f69[70]]+ (_0x793ax30+ 1)* _0x793ax15[_0x5f69[95]],_0x793ax2f)];if(this[_0x5f69[202]][_0x793ax30]!= null){this[_0x5f69[202]][_0x793ax30][_0x5f69[52]]= 1;this[_0x5f69[202]][_0x793ax30][_0x5f69[203]]= _0x793ax31;this[_0x5f69[202]][_0x793ax30][_0x5f69[179]]()}else {var _0x793ax32= new mxPolyline(_0x793ax31,this[_0x5f69[153]],this[_0x5f69[52]]);_0x793ax32[_0x5f69[166]]= this[_0x5f69[166]];_0x793ax32[_0x5f69[204]]= this[_0x5f69[205]];_0x793ax32[_0x5f69[206]]= false;_0x793ax32[_0x5f69[52]]= _0x793ax29;_0x793ax32[_0x5f69[12]](this[_0x5f69[53]][_0x5f69[178]]);_0x793ax32[_0x5f69[179]]();this[_0x5f69[202]][_0x793ax30]= _0x793ax32}};for(var _0x793ax30=_0x793ax2c;_0x793ax30< this[_0x5f69[202]][_0x5f69[83]];_0x793ax30++){this[_0x5f69[202]][_0x793ax30][_0x5f69[177]]()};this[_0x5f69[202]][_0x5f69[207]](_0x793ax2c,this[_0x5f69[202]][_0x5f69[83]]- _0x793ax2c)};if(this[_0x5f69[208]]== null&& _0x793ax2d> 0){this[_0x5f69[208]]= []};if(this[_0x5f69[208]]!= null){for(var _0x793ax30=0;_0x793ax30<= _0x793ax2d;_0x793ax30++){var _0x793ax31=[ new mxPoint(_0x793ax2b[_0x5f69[70]],_0x793ax2b[_0x5f69[73]]+ (_0x793ax30+ 1)* _0x793ax15[_0x5f69[96]]), new mxPoint(_0x793ax2e,_0x793ax2b[_0x5f69[73]]+ (_0x793ax30+ 1)* _0x793ax15[_0x5f69[96]])];if(this[_0x5f69[208]][_0x793ax30]!= null){this[_0x5f69[208]][_0x793ax30][_0x5f69[52]]= 1;this[_0x5f69[208]][_0x793ax30][_0x5f69[203]]= _0x793ax31;this[_0x5f69[208]][_0x793ax30][_0x5f69[179]]()}else {var _0x793ax32= new mxPolyline(_0x793ax31,this[_0x5f69[153]],_0x793ax29);_0x793ax32[_0x5f69[166]]= this[_0x5f69[166]];_0x793ax32[_0x5f69[204]]= this[_0x5f69[205]];_0x793ax32[_0x5f69[206]]= false;_0x793ax32[_0x5f69[52]]= _0x793ax29;_0x793ax32[_0x5f69[12]](this[_0x5f69[53]][_0x5f69[178]]);_0x793ax32[_0x5f69[179]]();this[_0x5f69[208]][_0x793ax30]= _0x793ax32}};for(var _0x793ax30=_0x793ax2d;_0x793ax30< this[_0x5f69[208]][_0x5f69[83]];_0x793ax30++){this[_0x5f69[208]][_0x793ax30][_0x5f69[177]]()};this[_0x5f69[208]][_0x5f69[207]](_0x793ax2d,this[_0x5f69[208]][_0x5f69[83]]- _0x793ax2d)}};mxEdgeHandler[_0x5f69[44]][_0x5f69[209]]= true;mxGraphHandler[_0x5f69[44]][_0x5f69[58]]= true;var _0x793ax33=mxGraphHandler[_0x5f69[44]][_0x5f69[210]];mxGraphHandler[_0x5f69[44]][_0x5f69[210]]= function(_0x793ax34,_0x793ax35,_0x793ax14){for(var _0x793ax30=0;_0x793ax30< _0x793ax35[_0x5f69[83]];_0x793ax30++){if(this[_0x5f69[14]][_0x5f69[36]]()[_0x5f69[211]](_0x793ax35[_0x793ax30])){var _0x793ax36=this[_0x5f69[14]][_0x5f69[212]](_0x793ax35[_0x793ax30]);if(_0x793ax36!= null&& _0x793ax36[_0x5f69[213]]){return false}}};return _0x793ax33[_0x5f69[33]](this,arguments)};mxGuide[_0x5f69[44]][_0x5f69[214]]= function(_0x793ax14){return !mxEvent[_0x5f69[215]](_0x793ax14)};mxPopupMenuAddItem= mxPopupMenu[_0x5f69[44]][_0x5f69[216]];mxPopupMenu[_0x5f69[44]][_0x5f69[216]]= function(_0x793ax37,_0x793ax38,_0x793ax39,_0x793ax34,_0x793ax3a,_0x793ax3b){var _0x793ax3c=mxPopupMenuAddItem[_0x5f69[33]](this,arguments);if(_0x793ax3b!= null&& !_0x793ax3b){mxEvent[_0x5f69[35]](_0x793ax3c,_0x5f69[217],function(_0x793ax14){mxEvent[_0x5f69[218]](_0x793ax14)})};return _0x793ax3c};var _0x793ax3d=mxGraphHandler[_0x5f69[44]][_0x5f69[219]];mxGraphHandler[_0x5f69[44]][_0x5f69[219]]= function(_0x793ax3e){var _0x793ax3f=this[_0x5f69[14]][_0x5f69[36]]();var _0x793ax40=_0x793ax3f[_0x5f69[221]](this[_0x5f69[14]][_0x5f69[220]]());var _0x793ax41=_0x793ax3d[_0x5f69[33]](this,arguments);var _0x793ax34=_0x793ax3f[_0x5f69[221]](_0x793ax41);if(_0x793ax40== null|| (_0x793ax40!= _0x793ax41&& _0x793ax40!= _0x793ax34)){while(!this[_0x5f69[14]][_0x5f69[222]](_0x793ax41)&& !this[_0x5f69[14]][_0x5f69[222]](_0x793ax34)&& _0x793ax3f[_0x5f69[211]](_0x793ax34)&& !this[_0x5f69[14]][_0x5f69[223]](_0x793ax34)){_0x793ax41= _0x793ax34;_0x793ax34= this[_0x5f69[14]][_0x5f69[36]]()[_0x5f69[221]](_0x793ax41)}};return _0x793ax41};var _0x793ax42=mxGraphHandler[_0x5f69[44]][_0x5f69[224]];mxGraphHandler[_0x5f69[44]][_0x5f69[224]]= function(_0x793ax41){var _0x793ax3c=_0x793ax42[_0x5f69[33]](this,arguments);var _0x793ax3f=this[_0x5f69[14]][_0x5f69[36]]();var _0x793ax40=_0x793ax3f[_0x5f69[221]](this[_0x5f69[14]][_0x5f69[220]]());var _0x793ax34=_0x793ax3f[_0x5f69[221]](_0x793ax41);if(_0x793ax40== null|| (_0x793ax40!= _0x793ax41&& _0x793ax40!= _0x793ax34)){if(!this[_0x5f69[14]][_0x5f69[222]](_0x793ax41)&& _0x793ax3f[_0x5f69[211]](_0x793ax34)&& !this[_0x5f69[14]][_0x5f69[223]](_0x793ax34)){_0x793ax3c= true}};return _0x793ax3c};mxGraphHandler[_0x5f69[44]][_0x5f69[225]]= function(_0x793ax3e){var _0x793ax41=_0x793ax3e[_0x5f69[226]]();if(_0x793ax41== null){_0x793ax41= this[_0x5f69[227]]};var _0x793ax3f=this[_0x5f69[14]][_0x5f69[36]]();var _0x793ax34=_0x793ax3f[_0x5f69[221]](_0x793ax41);while(this[_0x5f69[14]][_0x5f69[222]](_0x793ax41)&& _0x793ax3f[_0x5f69[211]](_0x793ax34)&& !this[_0x5f69[14]][_0x5f69[223]](_0x793ax34)){_0x793ax41= _0x793ax34;_0x793ax34= _0x793ax3f[_0x5f69[221]](_0x793ax41)};this[_0x5f69[14]][_0x5f69[229]](_0x793ax41,_0x793ax3e[_0x5f69[228]]())};mxPanningHandler[_0x5f69[44]][_0x5f69[230]]= function(_0x793ax3e){var _0x793ax41=_0x793ax3e[_0x5f69[226]]();var _0x793ax3f=this[_0x5f69[14]][_0x5f69[36]]();var _0x793ax34=_0x793ax3f[_0x5f69[221]](_0x793ax41);while(_0x793ax3f[_0x5f69[211]](_0x793ax34)&& !this[_0x5f69[14]][_0x5f69[223]](_0x793ax34)){if(this[_0x5f69[14]][_0x5f69[222]](_0x793ax34)){_0x793ax41= _0x793ax34};_0x793ax34= _0x793ax3f[_0x5f69[221]](_0x793ax34)};return _0x793ax41}};Editor[_0x5f69[44]][_0x5f69[18]]= function(){var _0x793axe=this[_0x5f69[14]];var _0x793ax43= new mxUndoManager();var _0x793ax44=function(_0x793ax45,_0x793ax14){_0x793ax43[_0x5f69[233]](_0x793ax14[_0x5f69[232]](_0x5f69[231]))};_0x793axe[_0x5f69[36]]()[_0x5f69[35]](mxEvent.UNDO,_0x793ax44);_0x793axe[_0x5f69[234]]()[_0x5f69[35]](mxEvent.UNDO,_0x793ax44);var _0x793ax46=function(_0x793ax45,_0x793ax14){var _0x793ax47=_0x793axe[_0x5f69[236]](_0x793ax14[_0x5f69[232]](_0x5f69[231])[_0x5f69[235]]);var _0x793ax35=[];for(var _0x793ax30=1;_0x793ax30< _0x793ax47[_0x5f69[83]];_0x793ax30++){if(_0x793axe[_0x5f69[53]][_0x5f69[237]](_0x793ax47[_0x793ax30])!= null){_0x793ax35[_0x5f69[238]](_0x793ax47[_0x793ax30])}};_0x793axe[_0x5f69[239]](_0x793ax35)};_0x793ax43[_0x5f69[35]](mxEvent.UNDO,_0x793ax46);_0x793ax43[_0x5f69[35]](mxEvent.REDO,_0x793ax46);return _0x793ax43};Editor[_0x5f69[44]][_0x5f69[13]]= function(){mxStencilRegistry[_0x5f69[241]](STENCIL_PATH+ _0x5f69[240])};(function(){mxStencilRegistry[_0x5f69[242]]= {};mxStencilRegistry[_0x5f69[243]]= [];mxStencilRegistry[_0x5f69[244]]= function(_0x793ax48){var _0x793ax3c=mxStencilRegistry[_0x5f69[245]][_0x793ax48];if(_0x793ax3c== null){var _0x793ax49=mxStencilRegistry[_0x5f69[246]](_0x793ax48);if(_0x793ax49!= null){var _0x793ax4a=mxStencilRegistry[_0x5f69[242]][_0x793ax49];if(_0x793ax4a!= null){if(mxStencilRegistry[_0x5f69[243]][_0x793ax49]== null){mxStencilRegistry[_0x5f69[243]][_0x793ax49]= 1;for(var _0x793ax30=0;_0x793ax30< _0x793ax4a[_0x5f69[83]];_0x793ax30++){var _0x793ax4b=_0x793ax4a[_0x793ax30];if(_0x793ax4b[_0x5f69[248]]()[_0x5f69[247]](_0x793ax4b[_0x5f69[83]]- 4,_0x793ax4b[_0x5f69[83]])== _0x5f69[25]){mxStencilRegistry[_0x5f69[241]](_0x793ax4b,null)}else {if(_0x793ax4b[_0x5f69[248]]()[_0x5f69[247]](_0x793ax4b[_0x5f69[83]]- 3,_0x793ax4b[_0x5f69[83]])== _0x5f69[249]){var _0x793ax4c=mxUtils[_0x5f69[250]](_0x793ax4b);if(_0x793ax4c!= null){eval[_0x5f69[11]](window,_0x793ax4c[_0x5f69[251]]())}}else {}}}}}else {mxStencilRegistry[_0x5f69[241]](STENCIL_PATH+ _0x5f69[252]+ _0x793ax49+ _0x5f69[25],null)};_0x793ax3c= mxStencilRegistry[_0x5f69[245]][_0x793ax48]}};return _0x793ax3c};mxStencilRegistry[_0x5f69[246]]= function(_0x793ax48){var _0x793ax4d=_0x793ax48[_0x5f69[254]](_0x5f69[253]);var _0x793ax4e=null;if(_0x793ax4d[_0x5f69[83]]> 0&& _0x793ax4d[0]== _0x5f69[255]){_0x793ax4e= _0x793ax4d[1];for(var _0x793ax30=2;_0x793ax30< _0x793ax4d[_0x5f69[83]]- 1;_0x793ax30++){_0x793ax4e+= _0x5f69[252]+ _0x793ax4d[_0x793ax30]}};return _0x793ax4e};mxStencilRegistry[_0x5f69[241]]= function(_0x793ax4f,_0x793ax50,_0x793ax51){_0x793ax51= (_0x793ax51!= null)?_0x793ax51:false;var _0x793ax52=mxStencilRegistry[_0x5f69[243]][_0x793ax4f];if(_0x793ax51|| _0x793ax52== null){var _0x793ax53=false;if(_0x793ax52== null){var _0x793ax4c=mxUtils[_0x5f69[250]](_0x793ax4f);_0x793ax52= _0x793ax4c[_0x5f69[256]]();mxStencilRegistry[_0x5f69[243]][_0x793ax4f]= _0x793ax52;_0x793ax53= true};mxStencilRegistry[_0x5f69[257]](_0x793ax52,_0x793ax50,_0x793ax53)}};mxStencilRegistry[_0x5f69[257]]= function(_0x793ax54,_0x793ax50,_0x793ax53){_0x793ax53= (_0x793ax53!= null)?_0x793ax53:true;var _0x793ax55=_0x793ax54[_0x5f69[258]];var _0x793ax56=_0x793ax55[_0x5f69[184]];var _0x793ax57=_0x5f69[20];var _0x793ax48=_0x793ax55[_0x5f69[56]](_0x5f69[259]);if(_0x793ax48!= null){_0x793ax57= _0x793ax48+ _0x5f69[253]};while(_0x793ax56!= null){if(_0x793ax56[_0x5f69[260]]== mxConstants[_0x5f69[261]]){_0x793ax48= _0x793ax56[_0x5f69[56]](_0x5f69[259]);if(_0x793ax48!= null){_0x793ax57= _0x793ax57[_0x5f69[248]]();var _0x793ax58=_0x793ax48[_0x5f69[263]](/ /g,_0x5f69[262]);if(_0x793ax53){mxStencilRegistry[_0x5f69[264]](_0x793ax57+ _0x793ax58[_0x5f69[248]](), new mxStencil(_0x793ax56))};if(_0x793ax50!= null){var _0x793ax19=_0x793ax56[_0x5f69[56]](_0x5f69[265]);var _0x793ax1a=_0x793ax56[_0x5f69[56]](_0x5f69[266]);_0x793ax19= (_0x793ax19== null)?80:parseInt(_0x793ax19,10);_0x793ax1a= (_0x793ax1a== null)?80:parseInt(_0x793ax1a,10);_0x793ax50(_0x793ax57,_0x793ax58,_0x793ax48,_0x793ax19,_0x793ax1a)}}};_0x793ax56= _0x793ax56[_0x5f69[267]]}}})();OpenFile= function(_0x793ax59){this[_0x5f69[268]]= null;this[_0x5f69[269]]= null;this[_0x5f69[270]]= _0x793ax59};OpenFile[_0x5f69[44]][_0x5f69[271]]= function(_0x793ax6){this[_0x5f69[269]]= _0x793ax6;this[_0x5f69[272]]()};OpenFile[_0x5f69[44]][_0x5f69[273]]= function(_0x793ax6,_0x793ax5a){this[_0x5f69[274]]= _0x793ax6;this[_0x5f69[21]]= _0x793ax5a;this[_0x5f69[272]]()};OpenFile[_0x5f69[44]][_0x5f69[275]]= function(_0x793ax5b){this[_0x5f69[276]]();mxUtils[_0x5f69[277]](_0x793ax5b)};OpenFile[_0x5f69[44]][_0x5f69[272]]= function(){if(this[_0x5f69[269]]!= null&& this[_0x5f69[274]]!= null){this[_0x5f69[269]](this[_0x5f69[274]],this[_0x5f69[21]]);this[_0x5f69[276]]()}};OpenFile[_0x5f69[44]][_0x5f69[276]]= function(){if(this[_0x5f69[270]]!= null){this[_0x5f69[270]]()}}
\ No newline at end of file
-/**
- * $Id: EditorUi.js,v 1.21 2013/03/14 20:46:36 david Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new graph editor
- */
-EditorUi = function(editor, container) {
- this.editor = editor || new Editor();
- this.container = container || document.getElementById('geEditor');
- var graph = editor.graph;
- var self = this;
-
- // Disables scrollbars
- this.container.style.overflow = 'hidden';
-
- // Pre-fetches submenu image
- new Image().src = mxPopupMenu.prototype.submenuImage;
-
- // Pre-fetches connect image
- if (mxConnectionHandler.prototype.connectImage != null) {
- new Image().src = mxConnectionHandler.prototype.connectImage.src;
- }
-
- // Creates the user interface
- this.actions = new Actions(this);
- this.menus = new Menus(this);
- this.createDivs();
- this.refresh();
- this.createUi();
-
- // Disables HTML and text selection
- var textEditing = mxUtils.bind(this, function(evt) {
- if (evt == null) {
- evt = window.event;
- }
-
- if (this.isSelectionAllowed(evt)) {
- return true;
- }
-
- return graph.isEditing();
- });
-
- // Disables text selection while not editing and no dialog visible
- if (this.container == document.body) {
- this.menubarContainer.onselectstart = textEditing;
- this.menubarContainer.onmousedown = textEditing;
- this.toolbarContainer.onselectstart = textEditing;
- this.toolbarContainer.onmousedown = textEditing;
- this.diagramContainer.onselectstart = textEditing;
- this.diagramContainer.onmousedown = textEditing;
- this.sidebarContainer.onselectstart = textEditing;
- this.sidebarContainer.onmousedown = textEditing;
- this.footerContainer.onselectstart = textEditing;
- this.footerContainer.onmousedown = textEditing;
- }
-
- // And uses built-in context menu while editing
- if (mxClient.IS_IE && (typeof(document.documentMode) === 'undefined' ||
- document.documentMode < 9)) {
- mxEvent.addListener(this.diagramContainer, 'contextmenu', textEditing);
- mxEvent.addListener(this.sidebarContainer, 'contextmenu', textEditing);
- } else {
- // Allows browser context menu outside of diagram and sidebar
- this.diagramContainer.oncontextmenu = textEditing;
- this.sidebarContainer.oncontextmenu = textEditing;
- }
-
- // Contains the main graph instance inside the given panel
- graph.init(this.diagramContainer);
- graph.refresh();
-
- // Enables scrollbars and sets cursor style for the container
- graph.container.setAttribute('tabindex', '0');
- // graph.container.style.overflow = (touchStyle) ? 'hidden' : 'auto';
- graph.container.style.cursor = 'default';
- graph.container.style.backgroundImage = 'url(' + editor.gridImage + ')';
- graph.container.style.backgroundPosition = '-1px -1px';
- graph.container.focus();
-
- // Keeps graph container focused on mouse down
- var graphFireMouseEvent = graph.fireMouseEvent;
- graph.fireMouseEvent = function(evtName, me, sender) {
- if (evtName == mxEvent.MOUSE_DOWN) {
- this.container.focus();
- }
-
- graphFireMouseEvent.apply(this, arguments);
- };
-
- // Giuseppe Careri
- // Defines invalid connections along with the error messages that they produce.
-
- this.createMultiplicities(graph.multiplicities, ['start', 'end', 'input',
- 'question', 'email'
- ], [
- [1, 1],
- [0, 0],
- [1, 1],
- [1, 'n'],
- [1, 'n']
- ], [
- [0, 0],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n']
-
- ]);
-
-
- // Giuseppe Careri
- // Processes a doubleclick on an optional cell and fires a <dblclick> event.
- // The event is fired initially.
- // If the graph is enabled and the event has not been consumed, then <edit> is called with the given cell.
- // The event is ignored if no cell was specified.
- graph.dblClick = function(evt, cell) {
- var edges = ['question'];
- var mxe = new mxEventObject(mxEvent.DOUBLE_CLICK, 'event', evt, 'cell',
- cell);
- this.fireEvent(mxe);
-
- if (this.isEnabled() && !mxEvent.isConsumed(evt) && !mxe.isConsumed()) {
- // Override dblClick Vertices and Edges
- if (this.getModel().isEdge(cell)) {
- if (edges.indexOf(cell.source.value.tagName) >= 0)
- this.startEditingAtCell(cell);
- } else if (this.getModel().isVertex(cell)) {
- console.log(self);
- console.log(cell);
- self.showDialog(new GeneralDialog(self, cell).container, 320, 280, true,
- true);
- }
- mxe.consume();
- }
- }
-
- // Configures automatic expand on mouseover
- graph.panningHandler.autoExpand = true;
-
- // Installs context menu
- graph.panningHandler.factoryMethod = mxUtils.bind(this, function(menu, cell,
- evt) {
- this.menus.createPopupMenu(menu, cell, evt);
- });
-
- // Initializes the outline
- editor.outline.init(this.outlineContainer);
-
- // Hides context menu
- mxEvent.addGestureListeners(document, mxUtils.bind(this, function(evt) {
- graph.panningHandler.hideMenu();
- }));
-
- // Adds gesture handling (pinch to zoom)
- if (mxClient.IS_TOUCH) {
- mxEvent.addListener(graph.container, 'gesturechange',
- mxUtils.bind(this, function(evt) {
- graph.view.getDrawPane().setAttribute('transform', 'scale(' + evt.scale +
- ')');
- graph.view.getOverlayPane().style.visibility = 'hidden';
- })
- );
-
- mxEvent.addListener(graph.container, 'gestureend',
- mxUtils.bind(this, function(evt) {
- graph.view.getDrawPane().removeAttribute('transform');
- graph.zoomToCenter = true;
- graph.zoom(evt.scale);
- graph.view.getOverlayPane().style.visibility = 'visible';
- })
- );
- }
-
- // Create handler for key events
- var keyHandler = this.createKeyHandler(editor);
-
- // Getter for key handler
- this.getKeyHandler = function() {
- return keyHandler;
- };
-
- // Updates the editor UI after the window has been resized
- mxEvent.addListener(window, 'resize', mxUtils.bind(this, function() {
- this.refresh();
- graph.sizeDidChange();
- this.editor.outline.update(false);
- this.editor.outline.outline.sizeDidChange();
- }));
-
- // Updates action and menu states
- this.init();
- this.open();
-};
-
-/**
- * Specifies the size of the split bar.
- */
-EditorUi.prototype.splitSize = (mxClient.IS_TOUCH) ? 16 : 8;
-
-/**
- * Specifies the height of the menubar. Default is 34.
- */
-EditorUi.prototype.menubarHeight = 33;
-
-/**
- * Specifies the height of the toolbar. Default is 36.
- */
-EditorUi.prototype.toolbarHeight = 36;
-
-/**
- * Specifies the height of the footer. Default is 28.
- */
-EditorUi.prototype.footerHeight = 28;
-
-/**
- * Specifies the position of the horizontal split bar. Default is 212.
- */
-EditorUi.prototype.hsplitPosition = 204;
-
-/**
- * Specifies the position of the vertical split bar. Default is 190.
- */
-EditorUi.prototype.vsplitPosition = 190;
-
-/**
- * Installs the listeners to update the action states.
- */
-EditorUi.prototype.init = function() {
- // Updates action states
- this.addUndoListener();
- this.addSelectionListener();
-
- // Overrides clipboard to update paste action state
- var paste = this.actions.get('paste');
-
- var updatePaste = function() {
- paste.setEnabled(!mxClipboard.isEmpty());
- };
-
- var mxClipboardCut = mxClipboard.cut;
- mxClipboard.cut = function() {
- mxClipboardCut.apply(this, arguments);
- updatePaste();
- };
-
- var mxClipboardCopy = mxClipboard.copy;
- mxClipboard.copy = function() {
- mxClipboardCopy.apply(this, arguments);
- updatePaste();
- };
-};
-
-/**
- * Hook for allowing selection and context menu for certain events.
- */
-EditorUi.prototype.isSelectionAllowed = function(evt) {
- return false;
-};
-
-/**
- * Opens the current diagram via the window.opener if one exists.
- */
-EditorUi.prototype.open = function() {
- // Cross-domain window access is not allowed in FF, so if we
- // were opened from another domain then this will fail.
- try {
- if (window.opener != null && window.opener.openFile != null) {
- window.opener.openFile.setConsumer(mxUtils.bind(this, function(xml,
- filename) {
- try {
- var doc = mxUtils.parseXml(xml);
- this.editor.setGraphXml(doc.documentElement);
- this.editor.modified = false;
- this.editor.undoManager.clear();
-
- if (filename != null) {
- this.editor.filename = filename;
- }
- } catch (e) {
- mxUtils.alert(mxResources.get('invalidOrMissingFile') + ': ' + e.message);
- }
- }));
- }
- } catch (e) {
- // ignore
- }
-};
-
-/**
- * Giuseppe Careri
- * Opens the current diagram via string.
- */
-EditorUi.prototype.openString = function(xml, filename, data) {
- try {
- var doc = mxUtils.parseXml(xml);
- this.editor.setGraphXml(doc.documentElement);
- this.editor.modified = false;
- this.editor.undoManager.clear();
-
- if (filename != null) {
- this.editor.filename = filename;
- }
-
- if (data != null) {
- this.editor.data = data;
- }
- } catch (e) {
- mxUtils.alert(mxResources.get('invalidOrMissingFile') + ': ' + e.message);
- }
-};
-
-/**
- * Saves As the current graph under the given project name.
- */
-EditorUi.prototype.new = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
- name = encodeURIComponent(name);
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", SAVE_URL, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 201) {
- editor.setStatus('Project ' + JSON.parse(xhr.response).name +
- ' is opening in new window!');
- setTimeout(function() {
- window.open('jscripty/projects/view/' + JSON.parse(xhr.response).id,
- '_blank');
- }, 1500);
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error creating project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error creating project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('description=project_new&name=' + name);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error creating project');
- }
- } else {
- this.editor.setStatus('Error creating project');
- }
-};
-
-
-/**
- * Saves the current graph under the given project name.
- */
-EditorUi.prototype.save = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
-
- var xhr = new XMLHttpRequest();
- xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- editor.setStatus('Updated at ' + JSON.parse(xhr.response).updatedAt +
- ' (' + xhr.status + ' ' + xhr.statusText + ')');
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error saving project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error saving project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('draft=' + xml);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error saving file');
- }
- } else {
- this.editor.setStatus('Error saving file');
- }
-};
-
-/**
- * Saves As the current graph under the given project name.
- */
-EditorUi.prototype.saveAs = function(name) {
- var editor = this.editor;
- console.log(name);
- if (name != null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
- name = encodeURIComponent(name);
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", SAVE_URL, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 201) {
- editor.setStatus('Project ' + JSON.parse(xhr.response).name +
- ' is opening in new window!');
- setTimeout(function() {
- window.open('jscripty/project/' + JSON.parse(xhr.response).id,
- '_blank');
- }, 1500);
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error cloning project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error cloning project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('description=project_cloned&name=' + name +
- '&draft=' + xml + '&production=' + xml);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error saving file');
- }
- } else {
- this.editor.setStatus('Error saving file');
- }
-};
-
-/**
- * Plush the current graph under the given project name.
- */
-EditorUi.prototype.validate = function(a, b) {
- var graph = this.editor.graph;
- a = null != a ? a : graph.model.getRoot();
- b = null != b ? b : {};
- for (var c = !0, d = graph.model.getChildCount(a), e = 0; e < d; e++) {
- var f = graph.model.getChildAt(a, e),
- g = b;
- graph.isValidRoot(f) && (g = {});
- g = this.validate(f, g);
- null != g ? graph.setCellWarning(f, g.replace(/\n/g, "\x3cbr\x3e")) : graph.setCellWarning(f, null);
- c = c && null == g
- }
- d = "";
- if (graph.model.isVertex(a)) {
- switch (a.value.nodeName) {
- case 'question':
- d = (a.value.getAttribute('question') !== "") ? "" :
- 'Question can not be empty' + "\n";
- d += (a.value.getAttribute('label') !== "") ? "" : 'Label can not be empty' + "\n";
-
- break;
- case 'input':
- d = (a.value.getAttribute('question') !== "") ? "" : 'Question can not be empty' + "\n";
- d += (a.value.getAttribute('label') !== "") ? "" : 'Label can not be empty' + "\n";
-
- break;
- case 'start':
- d = this.validateBlock('start') ? '' : "Only one Start block is allowed" + "\n";
- d += (a.value.getAttribute('label') !== "") ? "" : 'Label can not be empty' + "\n";
-
- break;
- }
- }
-
- if (graph.model.isEdge(a)) {
- var z = graph.model.getCell(a.source.getId());
- switch (z.value.nodeName) {
- case 'question':
- // var patt = /^[a-zA-Z0-9][a-zA-Z0-9\s]*$/;
- var str = String(a.getValue());
- console.log(str);
- if (str === 'null' || str === 'undefined') {
- d = "Value can not be empty" + "\n";
- } else {
- var result = str.split(",");
- result.forEach(function(entry, key) {
- d = d + ((entry.trim() !== "") ? "" : 'Value' + (key + 1) + ' can not be empty' + "\n");
- });
- }
- // console.log(a.getValue());
- // if ((str == 'undefined') || (str == 'null')) {
- // str = ' ';
- // }
- // d = ((a.getValue() !== "") && (a.getValue() !== 'undefined') && (a.getValue() !== null)) ? '' : "Value can not be empty" + "\n";
- // d = d + ((patt.test(str.trim())) ? "" : 'Value can not be empty' + "\n");
- //
- // res.forEach(function(entry) {
- // d = d + ((patt.test(entry.trim())) ? "" : 'Can not be empty' + "\n");
- // });
- break;
-
- }
- }
-
- graph.isCellCollapsed(a) && !c && (d += (mxResources.get(graph.containsValidationErrorsResource) || graph.containsValidationErrorsResource) + "\n");
- d = graph.model.isEdge(a) ? d + (graph.getEdgeValidationError(a, graph.model.getTerminal(a, !0), graph.model.getTerminal(a, !1)) || "") : d + (graph.getCellValidationError(a) || "");
- e = graph.validateCell(a, b);
- null != e && (d += e);
- null == graph.model.getParent(a) && graph.view.validate();
- return 0 < d.length || !c ? d : null
-}
-
-EditorUi.prototype.validateBlock = function(blockName) {
- var graph = this.editor.graph;
- var parent = graph.getDefaultParent();
- var count = 0;
- // var model = graph.getModel();
- //We can also use model.getChildren(parent)
- parent.children.forEach(function(n) {
- if (graph.model.isVertex(n) && n.value.nodeName == blockName) {
- count++;
- }
- });
- return count > 1 ? false : true;
-}
-
-EditorUi.prototype.publish = function(name) {
-
- var editor = this.editor;
-
- if (name != null) {
-
- var response = this.validate();
- if (response === null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
-
- var xhr = new XMLHttpRequest();
- xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- editor.setStatus('Published at ' + JSON.parse(xhr.response).updatedAt +
- ' (' + xhr.status + ' ' + xhr.statusText + ')');
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error publishing project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error publishing project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('draft=' + xml + '&production=' + xml);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error publishing file');
- }
- } else {
- editor.setStatus('Error publishing project: ');
- }
- } else {
- this.editor.setStatus('Error publishing file');
- }
- // }
-
-
-
-};
-
-/**
- * Create variable
- */
-EditorUi.prototype.variable = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- try {
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", VARIABLE_URL, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 201) {
- editor.setStatus('Variable created at ' + JSON.parse(xhr.response).createdAt +
- ' (' + xhr.status + ' ' + xhr.statusText + ')');
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error creating variable: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error creating variable' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('name=' + name);
- } catch (e) {
- this.editor.setStatus('Error creating variable');
- }
- } else {
- this.editor.setStatus('Error creating variable');
- }
-};
-
-/**
- * Returns the URL for a copy of this editor with no state.
- */
-EditorUi.prototype.getUrl = function(pathname) {
- var href = (pathname != null) ? pathname : window.location.pathname;
- var parms = (href.indexOf('?') > 0) ? 1 : 0;
-
- // Removes template URL parameter for new blank diagram
- for (var key in urlParams) {
- if (parms == 0) {
- href += '?';
- } else {
- href += '&';
- }
-
- href += key + '=' + urlParams[key];
- parms++;
- }
-
- return href;
-};
-
-/**
- * Updates the states of the given undo/redo items.
- */
-EditorUi.prototype.addUndoListener = function() {
- var undo = this.actions.get('undo');
- var redo = this.actions.get('redo');
-
- var undoMgr = this.editor.undoManager;
-
- var undoListener = function() {
- undo.setEnabled(undoMgr.canUndo());
- redo.setEnabled(undoMgr.canRedo());
- };
-
- undoMgr.addListener(mxEvent.ADD, undoListener);
- undoMgr.addListener(mxEvent.UNDO, undoListener);
- undoMgr.addListener(mxEvent.REDO, undoListener);
- undoMgr.addListener(mxEvent.CLEAR, undoListener);
-
- // Updates the button states once
- undoListener();
-};
-
-/**
- * Updates the states of the given toolbar items based on the selection.
- */
-EditorUi.prototype.addSelectionListener = function() {
- var selectionListener = mxUtils.bind(this, function() {
- var graph = this.editor.graph;
- var selected = !graph.isSelectionEmpty();
- var vertexSelected = false;
- var edgeSelected = false;
-
- var cells = graph.getSelectionCells();
-
- if (cells != null) {
- for (var i = 0; i < cells.length; i++) {
- var cell = cells[i];
-
- if (graph.getModel().isEdge(cell)) {
- edgeSelected = true;
- }
-
- if (graph.getModel().isVertex(cell)) {
- vertexSelected = true;
- }
-
- if (edgeSelected && vertexSelected) {
- break;
- }
- }
- }
-
- // Updates action states
- var actions = ['cut', 'copy', 'delete', 'duplicate', 'bold', 'italic',
- 'style', 'underline', 'toFront', 'toBack', 'dashed', 'rounded',
- 'shadow',
- 'tilt', 'autosize'
- ];
-
- for (var i = 0; i < actions.length; i++) {
- this.actions.get(actions[i]).setEnabled(selected);
- }
-
- this.actions.get('curved').setEnabled(edgeSelected);
- this.actions.get('rotation').setEnabled(vertexSelected);
- this.actions.get('wordWrap').setEnabled(vertexSelected);
- this.actions.get('group').setEnabled(graph.getSelectionCount() > 1);
- this.actions.get('ungroup').setEnabled(graph.getSelectionCount() == 1 &&
- graph.getModel().getChildCount(graph.getSelectionCell()) > 0);
- var oneVertexSelected = vertexSelected && graph.getSelectionCount() == 1;
- this.actions.get('removeFromGroup').setEnabled(oneVertexSelected &&
- graph.getModel().isVertex(graph.getModel().getParent(graph.getSelectionCell()))
- );
-
- // Updates menu states
- var menus = ['fontFamily', 'fontSize', 'alignment', 'position', 'text',
- 'format',
- 'arrange', 'linewidth', 'spacing'
- ];
-
- for (var i = 0; i < menus.length; i++) {
- this.menus.get(menus[i]).setEnabled(selected);
- }
-
- menus = ['line', 'lineend', 'linestart'];
-
- for (var i = 0; i < menus.length; i++) {
- this.menus.get(menus[i]).setEnabled(edgeSelected);
- }
-
- this.actions.get('setAsDefaultEdge').setEnabled(edgeSelected);
-
- this.menus.get('align').setEnabled(graph.getSelectionCount() > 1);
- this.menus.get('direction').setEnabled(vertexSelected || (edgeSelected &&
- graph.isLoop(graph.view.getState(graph.getSelectionCell()))));
- this.menus.get('navigation').setEnabled(graph.foldingEnabled && ((graph.view
- .currentRoot != null) ||
- (graph.getSelectionCount() == 1 && graph.isValidRoot(graph.getSelectionCell()))
- ));
- this.actions.get('home').setEnabled(graph.view.currentRoot != null);
- this.actions.get('exitGroup').setEnabled(graph.view.currentRoot != null);
- var groupEnabled = graph.getSelectionCount() == 1 && graph.isValidRoot(
- graph.getSelectionCell());
- this.actions.get('enterGroup').setEnabled(groupEnabled);
- this.actions.get('expand').setEnabled(groupEnabled);
- this.actions.get('collapse').setEnabled(groupEnabled);
- this.actions.get('editLink').setEnabled(graph.getSelectionCount() == 1);
- this.actions.get('openLink').setEnabled(graph.getSelectionCount() == 1 &&
- graph.getLinkForCell(graph.getSelectionCell()) != null);
- });
-
- this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,
- selectionListener);
- selectionListener();
-};
-
-/**
- * Refreshes the viewport.
- */
-EditorUi.prototype.refresh = function() {
- var quirks = mxClient.IS_IE && (document.documentMode == null || document.documentMode ==
- 5);
- var w = this.container.clientWidth;
- var h = this.container.clientHeight;
-
- if (this.container == document.body) {
- w = document.body.clientWidth || document.documentElement.clientWidth;
- h = (quirks) ? document.body.clientHeight || document.documentElement.clientHeight :
- document.documentElement.clientHeight;
- }
-
- var effHsplitPosition = Math.max(0, Math.min(this.hsplitPosition, w - this.splitSize -
- 20));
- var effVsplitPosition = Math.max(0, Math.min(this.vsplitPosition, h - this.menubarHeight -
- this.toolbarHeight - this.footerHeight - this.splitSize - 1));
-
- this.menubarContainer.style.height = this.menubarHeight + 'px';
- this.toolbarContainer.style.top = this.menubarHeight + 'px';
- this.toolbarContainer.style.height = this.toolbarHeight + 'px';
-
- var tmp = this.menubarHeight + this.toolbarHeight;
-
- if (!mxClient.IS_QUIRKS) {
- tmp += 1;
- }
-
- this.sidebarContainer.style.top = tmp + 'px';
- this.sidebarContainer.style.width = effHsplitPosition + 'px';
- this.outlineContainer.style.width = effHsplitPosition + 'px';
- this.outlineContainer.style.height = effVsplitPosition + 'px';
- this.outlineContainer.style.bottom = this.footerHeight + 'px';
- this.diagramContainer.style.left = (effHsplitPosition + this.splitSize) +
- 'px';
- this.diagramContainer.style.top = this.sidebarContainer.style.top;
- this.footerContainer.style.height = this.footerHeight + 'px';
- this.footerContainer.style.display = 'none';
- this.hsplit.style.top = this.sidebarContainer.style.top;
- this.hsplit.style.bottom = this.outlineContainer.style.bottom;
- this.hsplit.style.left = effHsplitPosition + 'px';
- this.vsplit.style.width = this.sidebarContainer.style.width;
- this.vsplit.style.bottom = (effVsplitPosition + this.footerHeight) + 'px';
-
- if (quirks) {
- this.menubarContainer.style.width = w + 'px';
- this.toolbarContainer.style.width = this.menubarContainer.style.width;
- var sidebarHeight = (h - effVsplitPosition - this.splitSize - this.footerHeight -
- this.menubarHeight - this.toolbarHeight);
- this.sidebarContainer.style.height = sidebarHeight + 'px';
- this.diagramContainer.style.width = (w - effHsplitPosition - this.splitSize) +
- 'px';
- var diagramHeight = (h - this.footerHeight - this.menubarHeight - this.toolbarHeight);
- this.diagramContainer.style.height = diagramHeight + 'px';
- this.footerContainer.style.width = this.menubarContainer.style.width;
- this.hsplit.style.height = diagramHeight + 'px';
- } else {
- this.sidebarContainer.style.bottom = (effVsplitPosition + this.splitSize +
- this.footerHeight) + 'px';
- this.diagramContainer.style.bottom = this.outlineContainer.style.bottom;
- }
-};
-
-/**
- * Creates the required containers.
- */
-EditorUi.prototype.createDivs = function() {
- this.menubarContainer = this.createDiv('geMenubarContainer');
- this.toolbarContainer = this.createDiv('geToolbarContainer');
- this.sidebarContainer = this.createDiv('geSidebarContainer');
- this.outlineContainer = this.createDiv('geOutlineContainer');
- this.diagramContainer = this.createDiv('geDiagramContainer');
- this.footerContainer = this.createDiv('geFooterContainer');
- this.hsplit = this.createDiv('geHsplit');
- this.vsplit = this.createDiv('geVsplit');
-
- // Sets static style for containers
- this.menubarContainer.style.top = '0px';
- this.menubarContainer.style.left = '0px';
- this.menubarContainer.style.right = '0px';
- this.toolbarContainer.style.left = '0px';
- this.toolbarContainer.style.right = '0px';
- this.sidebarContainer.style.left = '0px';
- this.outlineContainer.style.left = '0px';
- this.diagramContainer.style.right = '0px';
- this.footerContainer.style.left = '0px';
- this.footerContainer.style.right = '0px';
- this.footerContainer.style.bottom = '0px';
- this.vsplit.style.left = '0px';
- this.vsplit.style.height = this.splitSize + 'px';
- this.hsplit.style.width = this.splitSize + 'px';
-};
-
-/**
- * Creates the required containers.
- */
-EditorUi.prototype.createUi = function() {
- // Creates menubar
- this.menubar = this.menus.createMenubar(this.createDiv('geMenubar'));
- this.menubarContainer.appendChild(this.menubar.container);
-
- // Creates toolbar
- this.toolbar = this.createToolbar(this.createDiv('geToolbar'));
- this.toolbarContainer.appendChild(this.toolbar.container);
-
- // Creates the sidebar
- this.sidebar = this.createSidebar(this.sidebarContainer);
-
- // Creates the footer
- this.footerContainer.appendChild(this.createFooter());
-
- // Adds status bar in menubar
- this.statusContainer = this.createStatusContainer();
-
- // Connects the status bar to the editor status
- this.editor.addListener('statusChanged', mxUtils.bind(this, function() {
- this.setStatusText(this.editor.getStatus());
- }));
-
- this.setStatusText(this.editor.getStatus());
- this.menubar.container.appendChild(this.statusContainer);
-
- // Inserts into DOM
- this.container.appendChild(this.menubarContainer);
- this.container.appendChild(this.toolbarContainer);
- this.container.appendChild(this.sidebarContainer);
- this.container.appendChild(this.outlineContainer);
- this.container.appendChild(this.diagramContainer);
- this.container.appendChild(this.footerContainer);
- this.container.appendChild(this.hsplit);
- this.container.appendChild(this.vsplit);
-
- // HSplit
- this.addSplitHandler(this.hsplit, true, 0, mxUtils.bind(this, function(
- value) {
- this.hsplitPosition = value;
- this.refresh();
- this.editor.graph.sizeDidChange();
- this.editor.outline.update(false);
- this.editor.outline.outline.sizeDidChange();
- }));
-
- // VSplit
- this.addSplitHandler(this.vsplit, false, this.footerHeight, mxUtils.bind(
- this,
- function(value) {
- this.vsplitPosition = value;
- this.refresh();
- this.editor.outline.update(false);
- this.editor.outline.outline.sizeDidChange();
- }));
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createStatusContainer = function() {
- var container = document.createElement('a');
- container.className = 'geItem geStatus';
-
- return container;
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createStatusContainer = function() {
- var container = document.createElement('a');
- container.className = 'geItem geStatus';
-
- return container;
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.setStatusText = function(value) {
- this.statusContainer.innerHTML = value;
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createToolbar = function(container) {
- return new Toolbar(this, container);
-};
-
-/**
- * Creates a new sidebar for the given container.
- */
-EditorUi.prototype.createSidebar = function(container) {
- return new Sidebar(this, container);
-};
-
-/**
- * Creates and returns a new footer.
- */
-EditorUi.prototype.createFooter = function() {
- return this.createDiv('geFooter');
-};
-
-/**
- * Creates the actual toolbar for the toolbar container.
- */
-EditorUi.prototype.createDiv = function(classname) {
- var elt = document.createElement('div');
- elt.className = classname;
-
- return elt;
-};
-
-/**
- * Creates the custom header.
- */
-EditorUi.prototype.createHeader = function(classname) {
- var elt = document.createElement(classname);
- return elt;
-};
-
-/**
- * Creates the custom header.
- */
-EditorUi.prototype.createForm = function(classname) {
- var elt = document.createElement('form');
- elt.className = classname;
-
- return elt;
-};
-
-/**
- * Updates the states of the given undo/redo items.
- */
-EditorUi.prototype.addSplitHandler = function(elt, horizontal, dx, onChange) {
- var start = null;
- var initial = null;
-
- function getValue() {
- return parseInt(((horizontal) ? elt.style.left : elt.style.bottom));
- };
-
- function moveHandler(evt) {
- if (start != null) {
- var pt = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- onChange(Math.max(0, initial + ((horizontal) ? (pt.x - start.x) : (start.y -
- pt.y)) - dx));
- mxEvent.consume(evt);
- }
- };
-
- function dropHandler(evt) {
- moveHandler(evt);
- start = null;
- initial = null;
- };
-
- mxEvent.addGestureListeners(elt, function(evt) {
- start = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- initial = getValue();
- mxEvent.consume(evt);
- });
-
- mxEvent.addListener(document, 'mousemove', moveHandler);
- mxEvent.addListener(document, 'touchmove', moveHandler);
- mxEvent.addListener(document, 'mouseup', dropHandler);
- mxEvent.addListener(document, 'touchend', dropHandler);
-};
-
-/**
- * Displays a print dialog.
- */
-EditorUi.prototype.showDialog = function(elt, w, h, modal, closable, onClose) {
- this.hideDialog();
- this.dialog = new Dialog(this, elt, w, (mxClient.IS_VML) ? h - 12 : h,
- modal,
- closable, onClose);
-};
-
-/**
- * Displays a print dialog.
- */
-EditorUi.prototype.hideDialog = function() {
- if (this.dialog != null) {
- this.dialog.close();
- this.dialog = null;
- this.editor.graph.container.focus();
- }
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-EditorUi.prototype.saveFile = function(forceDialog) {
- if (!forceDialog && this.editor.filename != null) {
- this.save(this.editor.getOrCreateFilename());
- } else {
- this.showDialog(new SaveDialog(this).container, 300, 100, true, true);
- }
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-EditorUi.prototype.publishFile = function(forceDialog) {
- if (!forceDialog && this.editor.filename != null) {
- this.publish(this.editor.getOrCreateFilename());
- } else {
- //this.showDialog(new SaveDialog(this).container, 300, 100, true, true);
- }
-};
-
-/**
- * Executes the given layout.
- */
-EditorUi.prototype.executeLayout = function(layout, animate, ignoreChildCount) {
- var graph = this.editor.graph;
- var cell = graph.getSelectionCell();
-
- // Allow global overridding of animation
- animate = this.animate != null ? this.animate : animate;
-
- graph.getModel().beginUpdate();
- try {
- layout.execute(graph.getDefaultParent(), cell);
- } catch (e) {
- throw e;
- } finally {
- // Animates the changes in the graph model except
- // for Camino, where animation is too slow
- if (animate && navigator.userAgent.indexOf('Camino') < 0) {
- // New API for animating graph layout results asynchronously
- var morph = new mxMorphing(graph);
- morph.addListener(mxEvent.DONE, mxUtils.bind(this, function() {
- graph.getModel().endUpdate();
- }));
-
- morph.startAnimation();
- } else {
- graph.getModel().endUpdate();
- }
- }
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-EditorUi.prototype.createKeyHandler = function(editor) {
- var graph = this.editor.graph;
- var keyHandler = new mxKeyHandler(graph);
-
- // Routes command-key to control-key on Mac
- keyHandler.isControlDown = function(evt) {
- return mxEvent.isControlDown(evt) || (mxClient.IS_MAC && evt.metaKey);
- };
-
- // Helper function to move cells with the cursor keys
- function nudge(keyCode) {
- if (!graph.isSelectionEmpty()) {
- var dx = 0;
- var dy = 0;
-
- if (keyCode == 37) {
- dx = -1;
- } else if (keyCode == 38) {
- dy = -1;
- } else if (keyCode == 39) {
- dx = 1;
- } else if (keyCode == 40) {
- dy = 1;
- }
-
- graph.moveCells(graph.getSelectionCells(), dx, dy);
- graph.scrollCellToVisible(graph.getSelectionCell());
- }
- };
-
- // Binds keystrokes to actions
- var bindAction = mxUtils.bind(this, function(code, control, key, shift) {
- var action = this.actions.get(key);
-
- if (action != null) {
- var f = function() {
- if (action.enabled) {
- action.funct();
- }
- };
-
- if (control) {
- if (shift) {
- keyHandler.bindControlShiftKey(code, f);
- } else {
- keyHandler.bindControlKey(code, f);
- }
- } else {
- if (shift) {
- keyHandler.bindShiftKey(code, f);
- } else {
- keyHandler.bindKey(code, f);
- }
- }
- }
- });
-
- var ui = this;
- var keyHandleEscape = keyHandler.escape;
- keyHandler.escape = function(evt) {
- ui.hideDialog();
- keyHandleEscape.apply(this, arguments);
- };
-
- // Ignores enter keystroke. Remove this line if you want the
- // enter keystroke to stop editing.
- keyHandler.enter = function() {};
- keyHandler.bindKey(8, function() {
- graph.foldCells(true);
- }); // Backspace
- keyHandler.bindKey(13, function() {
- graph.foldCells(false);
- }); // Enter
- keyHandler.bindKey(33, function() {
- graph.exitGroup();
- }); // Page Up
- keyHandler.bindKey(34, function() {
- graph.enterGroup();
- }); // Page Down
- keyHandler.bindKey(36, function() {
- graph.home();
- }); // Home
- keyHandler.bindKey(35, function() {
- graph.refresh();
- }); // End
- keyHandler.bindKey(37, function() {
- nudge(37);
- }); // Left arrow
- keyHandler.bindKey(38, function() {
- nudge(38);
- }); // Up arrow
- keyHandler.bindKey(39, function() {
- nudge(39);
- }); // Right arrow
- keyHandler.bindKey(40, function() {
- nudge(40);
- }); // Down arrow
- keyHandler.bindKey(113, function() {
- graph.startEditingAtCell();
- });
- bindAction(46, false, 'delete'); // Delete
- bindAction(82, true, 'tilt'); // Ctrl+R
- bindAction(83, true, 'save'); // Ctrl+S
- bindAction(83, true, 'saveAs', true); // Ctrl+Shift+S
- bindAction(107, false, 'zoomIn'); // Add
- bindAction(109, false, 'zoomOut'); // Subtract
- bindAction(65, true, 'selectAll'); // Ctrl+A
- bindAction(86, true, 'selectVertices', true); // Ctrl+Shift+V
- bindAction(69, true, 'selectEdges', true); // Ctrl+Shift+E
- bindAction(69, true, 'export'); // Ctrl+Shift+E
- bindAction(66, true, 'toBack'); // Ctrl+B
- bindAction(70, true, 'toFront'); // Ctrl+F
- bindAction(68, true, 'duplicate'); // Ctrl+D
- bindAction(90, true, 'undo'); // Ctrl+Z
- bindAction(89, true, 'redo'); // Ctrl+Y
- bindAction(88, true, 'cut'); // Ctrl+X
- bindAction(67, true, 'copy'); // Ctrl+C
- bindAction(81, true, 'connect'); // Ctrl+Q
- bindAction(86, true, 'paste'); // Ctrl+V
- bindAction(71, true, 'group'); // Ctrl+G
- bindAction(71, true, 'grid', true); // Ctrl+Shift+G
- bindAction(85, true, 'ungroup'); // Ctrl+U
- bindAction(112, false, 'about'); // F1
- bindAction(80, true, 'publish', true); // Ctrl+Shift+P
-
- return keyHandler;
-};
-
-/**
- * Giuseppe Careri
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createMultiplicities = function(graph, cells, source,
- target) {
- for (var i = 0; i < cells.length; i++) {
- graph.push(new mxMultiplicity(true, cells[i], null, null, source[i][0],
- source[i][1], null, mxResources.get(cells[i]) + ' must have ' + source[i][0] + ' outgoing edge.', null));
- graph.push(new mxMultiplicity(false, cells[i], null, null, target[i][0],
- target[i][1], null, mxResources.get(cells[i]) + ' must have ' + target[i][0] + ' incoming edge.', null));
- };
-};
+var _0x7ed9=["\x65\x64\x69\x74\x6F\x72","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x45\x64\x69\x74\x6F\x72","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x67\x72\x61\x70\x68","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x73\x74\x79\x6C\x65","\x68\x69\x64\x64\x65\x6E","\x73\x72\x63","\x73\x75\x62\x6D\x65\x6E\x75\x49\x6D\x61\x67\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x6D\x65\x6E\x75\x73","\x63\x72\x65\x61\x74\x65\x44\x69\x76\x73","\x72\x65\x66\x72\x65\x73\x68","\x63\x72\x65\x61\x74\x65\x55\x69","\x65\x76\x65\x6E\x74","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x41\x6C\x6C\x6F\x77\x65\x64","\x69\x73\x45\x64\x69\x74\x69\x6E\x67","\x62\x69\x6E\x64","\x62\x6F\x64\x79","\x6F\x6E\x73\x65\x6C\x65\x63\x74\x73\x74\x61\x72\x74","\x6D\x65\x6E\x75\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6F\x6E\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x74\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x64\x69\x61\x67\x72\x61\x6D\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x69\x64\x65\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x66\x6F\x6F\x74\x65\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x49\x53\x5F\x49\x45","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x6F\x6E\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x69\x6E\x69\x74","\x74\x61\x62\x69\x6E\x64\x65\x78","\x30","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x75\x72\x73\x6F\x72","\x64\x65\x66\x61\x75\x6C\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x67\x72\x69\x64\x49\x6D\x61\x67\x65","\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x2D\x31\x70\x78\x20\x2D\x31\x70\x78","\x66\x6F\x63\x75\x73","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x4D\x4F\x55\x53\x45\x5F\x44\x4F\x57\x4E","\x61\x70\x70\x6C\x79","\x6D\x75\x6C\x74\x69\x70\x6C\x69\x63\x69\x74\x69\x65\x73","\x73\x74\x61\x72\x74","\x65\x6E\x64","\x69\x6E\x70\x75\x74","\x71\x75\x65\x73\x74\x69\x6F\x6E","\x65\x6D\x61\x69\x6C","\x6E","\x63\x72\x65\x61\x74\x65\x4D\x75\x6C\x74\x69\x70\x6C\x69\x63\x69\x74\x69\x65\x73","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x63\x65\x6C\x6C","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x69\x73\x45\x64\x67\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x74\x61\x67\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x73\x6F\x75\x72\x63\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x74\x61\x72\x74\x45\x64\x69\x74\x69\x6E\x67\x41\x74\x43\x65\x6C\x6C","\x69\x73\x56\x65\x72\x74\x65\x78","\x6C\x6F\x67","\x73\x68\x6F\x77\x44\x69\x61\x6C\x6F\x67","\x63\x6F\x6E\x73\x75\x6D\x65","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x66\x61\x63\x74\x6F\x72\x79\x4D\x65\x74\x68\x6F\x64","\x63\x72\x65\x61\x74\x65\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75","\x6F\x75\x74\x6C\x69\x6E\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6F\x75\x74\x6C\x69\x6E\x65","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x67\x65\x73\x74\x75\x72\x65\x63\x68\x61\x6E\x67\x65","\x74\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x73\x63\x61\x6C\x65\x28","\x73\x63\x61\x6C\x65","\x67\x65\x74\x44\x72\x61\x77\x50\x61\x6E\x65","\x76\x69\x65\x77","\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79","\x67\x65\x74\x4F\x76\x65\x72\x6C\x61\x79\x50\x61\x6E\x65","\x67\x65\x73\x74\x75\x72\x65\x65\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x7A\x6F\x6F\x6D\x54\x6F\x43\x65\x6E\x74\x65\x72","\x7A\x6F\x6F\x6D","\x76\x69\x73\x69\x62\x6C\x65","\x63\x72\x65\x61\x74\x65\x4B\x65\x79\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x4B\x65\x79\x48\x61\x6E\x64\x6C\x65\x72","\x72\x65\x73\x69\x7A\x65","\x73\x69\x7A\x65\x44\x69\x64\x43\x68\x61\x6E\x67\x65","\x75\x70\x64\x61\x74\x65","\x6F\x70\x65\x6E","\x73\x70\x6C\x69\x74\x53\x69\x7A\x65","\x6D\x65\x6E\x75\x62\x61\x72\x48\x65\x69\x67\x68\x74","\x74\x6F\x6F\x6C\x62\x61\x72\x48\x65\x69\x67\x68\x74","\x66\x6F\x6F\x74\x65\x72\x48\x65\x69\x67\x68\x74","\x68\x73\x70\x6C\x69\x74\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x76\x73\x70\x6C\x69\x74\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x64\x64\x55\x6E\x64\x6F\x4C\x69\x73\x74\x65\x6E\x65\x72","\x61\x64\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x61\x73\x74\x65","\x67\x65\x74","\x69\x73\x45\x6D\x70\x74\x79","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x75\x74","\x63\x6F\x70\x79","\x6F\x70\x65\x6E\x65\x72","\x6F\x70\x65\x6E\x46\x69\x6C\x65","\x70\x61\x72\x73\x65\x58\x6D\x6C","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x73\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x6D\x6F\x64\x69\x66\x69\x65\x64","\x63\x6C\x65\x61\x72","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x69\x6E\x76\x61\x6C\x69\x64\x4F\x72\x4D\x69\x73\x73\x69\x6E\x67\x46\x69\x6C\x65","\x3A\x20","\x6D\x65\x73\x73\x61\x67\x65","\x61\x6C\x65\x72\x74","\x73\x65\x74\x43\x6F\x6E\x73\x75\x6D\x65\x72","\x6F\x70\x65\x6E\x53\x74\x72\x69\x6E\x67","\x64\x61\x74\x61","\x6E\x65\x77","\x67\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x67\x65\x74\x50\x72\x65\x74\x74\x79\x58\x6D\x6C","\x67\x65\x74\x49\x74\x65\x6D","\x72\x65\x70\x6C\x61\x63\x65","\x63\x6F\x6E\x66\x69\x72\x6D","\x73\x65\x74\x49\x74\x65\x6D","\x73\x61\x76\x65\x64","\x20","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x6C\x65\x6E\x67\x74\x68","\x50\x4F\x53\x54","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72","\x41\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x42\x65\x61\x72\x65\x72\x20","\x74\x6F\x6B\x65\x6E","\x6F\x6E\x6C\x6F\x61\x64","\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x50\x72\x6F\x6A\x65\x63\x74\x20","\x6E\x61\x6D\x65","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x70\x61\x72\x73\x65","\x20\x69\x73\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x69\x6E\x20\x6E\x65\x77\x20\x77\x69\x6E\x64\x6F\x77\x21","\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x76\x69\x65\x77\x2F","\x69\x64","\x5F\x62\x6C\x61\x6E\x6B","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x65\x72\x72\x6F\x72\x73","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x20\x28","\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74","\x6F\x6E\x65\x72\x72\x6F\x72","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3D\x70\x72\x6F\x6A\x65\x63\x74\x5F\x6E\x65\x77\x26\x6E\x61\x6D\x65\x3D","\x73\x65\x6E\x64","\x64\x72\x61\x77\x69\x6E\x67\x54\x6F\x6F\x4C\x61\x72\x67\x65","\x70\x6F\x70\x75\x70","\x73\x61\x76\x65","\x50\x55\x54","\x55\x70\x64\x61\x74\x65\x64\x20\x61\x74\x20","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x64\x72\x61\x66\x74\x3D","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x66\x69\x6C\x65","\x73\x61\x76\x65\x41\x73","\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x2F","\x45\x72\x72\x6F\x72\x20\x63\x6C\x6F\x6E\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x45\x72\x72\x6F\x72\x20\x63\x6C\x6F\x6E\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3D\x70\x72\x6F\x6A\x65\x63\x74\x5F\x63\x6C\x6F\x6E\x65\x64\x26\x6E\x61\x6D\x65\x3D","\x26\x64\x72\x61\x66\x74\x3D","\x26\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E\x3D","\x76\x61\x6C\x69\x64\x61\x74\x65","\x67\x65\x74\x52\x6F\x6F\x74","\x6D\x6F\x64\x65\x6C","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x6F\x75\x6E\x74","\x67\x65\x74\x43\x68\x69\x6C\x64\x41\x74","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x3C\x62\x72\x3E","\x73\x65\x74\x43\x65\x6C\x6C\x57\x61\x72\x6E\x69\x6E\x67","","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x51\x75\x65\x73\x74\x69\x6F\x6E\x20\x63\x61\x6E\x20\x6E\x6F\x74\x20\x62\x65\x20\x65\x6D\x70\x74\x79","\x0A","\x6C\x61\x62\x65\x6C","\x4C\x61\x62\x65\x6C\x20\x63\x61\x6E\x20\x6E\x6F\x74\x20\x62\x65\x20\x65\x6D\x70\x74\x79","\x76\x61\x6C\x69\x64\x61\x74\x65\x42\x6C\x6F\x63\x6B","\x4F\x6E\x6C\x79\x20\x6F\x6E\x65\x20\x53\x74\x61\x72\x74\x20\x62\x6C\x6F\x63\x6B\x20\x69\x73\x20\x61\x6C\x6C\x6F\x77\x65\x64","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x67\x65\x74\x49\x64","\x67\x65\x74\x43\x65\x6C\x6C","\x67\x65\x74\x56\x61\x6C\x75\x65","\x6E\x75\x6C\x6C","\x56\x61\x6C\x75\x65\x20\x63\x61\x6E\x20\x6E\x6F\x74\x20\x62\x65\x20\x65\x6D\x70\x74\x79","\x2C","\x73\x70\x6C\x69\x74","\x74\x72\x69\x6D","\x56\x61\x6C\x75\x65","\x20\x63\x61\x6E\x20\x6E\x6F\x74\x20\x62\x65\x20\x65\x6D\x70\x74\x79","\x66\x6F\x72\x45\x61\x63\x68","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x6C\x6C\x61\x70\x73\x65\x64","\x63\x6F\x6E\x74\x61\x69\x6E\x73\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72\x73\x52\x65\x73\x6F\x75\x72\x63\x65","\x67\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x67\x65\x74\x45\x64\x67\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72","\x67\x65\x74\x43\x65\x6C\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72","\x76\x61\x6C\x69\x64\x61\x74\x65\x43\x65\x6C\x6C","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x63\x68\x69\x6C\x64\x72\x65\x6E","\x70\x75\x62\x6C\x69\x73\x68","\x50\x75\x62\x6C\x69\x73\x68\x65\x64\x20\x61\x74\x20","\x45\x72\x72\x6F\x72\x20\x70\x75\x62\x6C\x69\x73\x68\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x45\x72\x72\x6F\x72\x20\x70\x75\x62\x6C\x69\x73\x68\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x45\x72\x72\x6F\x72\x20\x70\x75\x62\x6C\x69\x73\x68\x69\x6E\x67\x20\x66\x69\x6C\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x56\x61\x72\x69\x61\x62\x6C\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x61\x74\x20","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x3A\x20","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65","\x6E\x61\x6D\x65\x3D","\x67\x65\x74\x55\x72\x6C","\x70\x61\x74\x68\x6E\x61\x6D\x65","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x3F","\x26","\x3D","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x61\x6E\x55\x6E\x64\x6F","\x63\x61\x6E\x52\x65\x64\x6F","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x64\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x74\x6F\x46\x72\x6F\x6E\x74","\x74\x6F\x42\x61\x63\x6B","\x64\x61\x73\x68\x65\x64","\x72\x6F\x75\x6E\x64\x65\x64","\x73\x68\x61\x64\x6F\x77","\x74\x69\x6C\x74","\x61\x75\x74\x6F\x73\x69\x7A\x65","\x63\x75\x72\x76\x65\x64","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x77\x6F\x72\x64\x57\x72\x61\x70","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x67\x72\x6F\x75\x70","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x75\x6E\x67\x72\x6F\x75\x70","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x47\x72\x6F\x75\x70","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x61\x6C\x69\x67\x6E\x6D\x65\x6E\x74","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x74\x65\x78\x74","\x66\x6F\x72\x6D\x61\x74","\x61\x72\x72\x61\x6E\x67\x65","\x6C\x69\x6E\x65\x77\x69\x64\x74\x68","\x73\x70\x61\x63\x69\x6E\x67","\x6C\x69\x6E\x65","\x6C\x69\x6E\x65\x65\x6E\x64","\x6C\x69\x6E\x65\x73\x74\x61\x72\x74","\x73\x65\x74\x41\x73\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x61\x6C\x69\x67\x6E","\x67\x65\x74\x53\x74\x61\x74\x65","\x69\x73\x4C\x6F\x6F\x70","\x64\x69\x72\x65\x63\x74\x69\x6F\x6E","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x63\x75\x72\x72\x65\x6E\x74\x52\x6F\x6F\x74","\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E","\x68\x6F\x6D\x65","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x65\x78\x70\x61\x6E\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x65\x64\x69\x74\x4C\x69\x6E\x6B","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x6F\x70\x65\x6E\x4C\x69\x6E\x6B","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74","\x6D\x69\x6E","\x6D\x61\x78","\x68\x65\x69\x67\x68\x74","\x70\x78","\x74\x6F\x70","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x77\x69\x64\x74\x68","\x62\x6F\x74\x74\x6F\x6D","\x6C\x65\x66\x74","\x64\x69\x73\x70\x6C\x61\x79","\x6E\x6F\x6E\x65","\x68\x73\x70\x6C\x69\x74","\x76\x73\x70\x6C\x69\x74","\x67\x65\x4D\x65\x6E\x75\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x63\x72\x65\x61\x74\x65\x44\x69\x76","\x67\x65\x54\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x53\x69\x64\x65\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x4F\x75\x74\x6C\x69\x6E\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x44\x69\x61\x67\x72\x61\x6D\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x46\x6F\x6F\x74\x65\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x48\x73\x70\x6C\x69\x74","\x67\x65\x56\x73\x70\x6C\x69\x74","\x30\x70\x78","\x72\x69\x67\x68\x74","\x6D\x65\x6E\x75\x62\x61\x72","\x67\x65\x4D\x65\x6E\x75\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x4D\x65\x6E\x75\x62\x61\x72","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x74\x6F\x6F\x6C\x62\x61\x72","\x67\x65\x54\x6F\x6F\x6C\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x54\x6F\x6F\x6C\x62\x61\x72","\x73\x69\x64\x65\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x53\x69\x64\x65\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x46\x6F\x6F\x74\x65\x72","\x73\x74\x61\x74\x75\x73\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x63\x72\x65\x61\x74\x65\x53\x74\x61\x74\x75\x73\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x74\x61\x74\x75\x73\x43\x68\x61\x6E\x67\x65\x64","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x65\x74\x53\x74\x61\x74\x75\x73\x54\x65\x78\x74","\x61\x64\x64\x53\x70\x6C\x69\x74\x48\x61\x6E\x64\x6C\x65\x72","\x61","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x49\x74\x65\x6D\x20\x67\x65\x53\x74\x61\x74\x75\x73","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x67\x65\x46\x6F\x6F\x74\x65\x72","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x48\x65\x61\x64\x65\x72","\x63\x72\x65\x61\x74\x65\x46\x6F\x72\x6D","\x66\x6F\x72\x6D","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x78","\x79","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x74\x6F\x75\x63\x68\x6D\x6F\x76\x65","\x6D\x6F\x75\x73\x65\x75\x70","\x74\x6F\x75\x63\x68\x65\x6E\x64","\x68\x69\x64\x65\x44\x69\x61\x6C\x6F\x67","\x64\x69\x61\x6C\x6F\x67","\x49\x53\x5F\x56\x4D\x4C","\x63\x6C\x6F\x73\x65","\x73\x61\x76\x65\x46\x69\x6C\x65","\x67\x65\x74\x4F\x72\x43\x72\x65\x61\x74\x65\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x70\x75\x62\x6C\x69\x73\x68\x46\x69\x6C\x65","\x65\x78\x65\x63\x75\x74\x65\x4C\x61\x79\x6F\x75\x74","\x61\x6E\x69\x6D\x61\x74\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x65\x78\x65\x63\x75\x74\x65","\x43\x61\x6D\x69\x6E\x6F","\x75\x73\x65\x72\x41\x67\x65\x6E\x74","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x72\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x69\x73\x43\x6F\x6E\x74\x72\x6F\x6C\x44\x6F\x77\x6E","\x49\x53\x5F\x4D\x41\x43","\x6D\x65\x74\x61\x4B\x65\x79","\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x65\x6E\x61\x62\x6C\x65\x64","\x66\x75\x6E\x63\x74","\x62\x69\x6E\x64\x43\x6F\x6E\x74\x72\x6F\x6C\x53\x68\x69\x66\x74\x4B\x65\x79","\x62\x69\x6E\x64\x43\x6F\x6E\x74\x72\x6F\x6C\x4B\x65\x79","\x62\x69\x6E\x64\x53\x68\x69\x66\x74\x4B\x65\x79","\x62\x69\x6E\x64\x4B\x65\x79","\x65\x73\x63\x61\x70\x65","\x65\x6E\x74\x65\x72","\x66\x6F\x6C\x64\x43\x65\x6C\x6C\x73","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x65\x78\x70\x6F\x72\x74","\x63\x6F\x6E\x6E\x65\x63\x74","\x67\x72\x69\x64","\x61\x62\x6F\x75\x74","\x20\x6D\x75\x73\x74\x20\x68\x61\x76\x65\x20","\x20\x6F\x75\x74\x67\x6F\x69\x6E\x67\x20\x65\x64\x67\x65\x2E","\x70\x75\x73\x68","\x20\x69\x6E\x63\x6F\x6D\x69\x6E\x67\x20\x65\x64\x67\x65\x2E"];EditorUi= function(_0xec8ax1,_0xec8ax2){this[_0x7ed9[0]]= _0xec8ax1|| new Editor();this[_0x7ed9[1]]= _0xec8ax2|| document[_0x7ed9[3]](_0x7ed9[2]);var _0xec8ax3=_0xec8ax1[_0x7ed9[4]];var _0xec8ax4=this;this[_0x7ed9[1]][_0x7ed9[6]][_0x7ed9[5]]= _0x7ed9[7]; new Image()[_0x7ed9[8]]= mxPopupMenu[_0x7ed9[10]][_0x7ed9[9]];if(mxConnectionHandler[_0x7ed9[10]][_0x7ed9[11]]!= null){ new Image()[_0x7ed9[8]]= mxConnectionHandler[_0x7ed9[10]][_0x7ed9[11]][_0x7ed9[8]]};this[_0x7ed9[12]]= new Actions(this);this[_0x7ed9[13]]= new Menus(this);this[_0x7ed9[14]]();this[_0x7ed9[15]]();this[_0x7ed9[16]]();var _0xec8ax5=mxUtils[_0x7ed9[20]](this,function(_0xec8ax6){if(_0xec8ax6== null){_0xec8ax6= window[_0x7ed9[17]]};if(this[_0x7ed9[18]](_0xec8ax6)){return true};return _0xec8ax3[_0x7ed9[19]]()});if(this[_0x7ed9[1]]== document[_0x7ed9[21]]){this[_0x7ed9[23]][_0x7ed9[22]]= _0xec8ax5;this[_0x7ed9[23]][_0x7ed9[24]]= _0xec8ax5;this[_0x7ed9[25]][_0x7ed9[22]]= _0xec8ax5;this[_0x7ed9[25]][_0x7ed9[24]]= _0xec8ax5;this[_0x7ed9[26]][_0x7ed9[22]]= _0xec8ax5;this[_0x7ed9[26]][_0x7ed9[24]]= _0xec8ax5;this[_0x7ed9[27]][_0x7ed9[22]]= _0xec8ax5;this[_0x7ed9[27]][_0x7ed9[24]]= _0xec8ax5;this[_0x7ed9[28]][_0x7ed9[22]]= _0xec8ax5;this[_0x7ed9[28]][_0x7ed9[24]]= _0xec8ax5};if(mxClient[_0x7ed9[29]]&& ( typeof (document[_0x7ed9[30]])=== _0x7ed9[31]|| document[_0x7ed9[30]]< 9)){mxEvent[_0x7ed9[33]](this[_0x7ed9[26]],_0x7ed9[32],_0xec8ax5);mxEvent[_0x7ed9[33]](this[_0x7ed9[27]],_0x7ed9[32],_0xec8ax5)}else {this[_0x7ed9[26]][_0x7ed9[34]]= _0xec8ax5;this[_0x7ed9[27]][_0x7ed9[34]]= _0xec8ax5};_0xec8ax3[_0x7ed9[35]](this[_0x7ed9[26]]);_0xec8ax3[_0x7ed9[15]]();_0xec8ax3[_0x7ed9[1]][_0x7ed9[38]](_0x7ed9[36],_0x7ed9[37]);_0xec8ax3[_0x7ed9[1]][_0x7ed9[6]][_0x7ed9[39]]= _0x7ed9[40];_0xec8ax3[_0x7ed9[1]][_0x7ed9[6]][_0x7ed9[41]]= _0x7ed9[42]+ _0xec8ax1[_0x7ed9[43]]+ _0x7ed9[44];_0xec8ax3[_0x7ed9[1]][_0x7ed9[6]][_0x7ed9[45]]= _0x7ed9[46];_0xec8ax3[_0x7ed9[1]][_0x7ed9[47]]();var _0xec8ax7=_0xec8ax3[_0x7ed9[48]];_0xec8ax3[_0x7ed9[48]]= function(_0xec8ax8,_0xec8ax9,_0xec8axa){if(_0xec8ax8== mxEvent[_0x7ed9[49]]){this[_0x7ed9[1]][_0x7ed9[47]]()};_0xec8ax7[_0x7ed9[50]](this,arguments)};this[_0x7ed9[58]](_0xec8ax3[_0x7ed9[51]],[_0x7ed9[52],_0x7ed9[53],_0x7ed9[54],_0x7ed9[55],_0x7ed9[56]],[[1,1],[0,0],[1,1],[1,_0x7ed9[57]],[1,_0x7ed9[57]]],[[0,0],[1,_0x7ed9[57]],[1,_0x7ed9[57]],[1,_0x7ed9[57]],[1,_0x7ed9[57]]]);_0xec8ax3[_0x7ed9[59]]= function(_0xec8ax6,_0xec8axb){var _0xec8axc=[_0x7ed9[55]];var _0xec8axd= new mxEventObject(mxEvent.DOUBLE_CLICK,_0x7ed9[17],_0xec8ax6,_0x7ed9[60],_0xec8axb);this[_0x7ed9[61]](_0xec8axd);if(this[_0x7ed9[62]]()&& !mxEvent[_0x7ed9[63]](_0xec8ax6)&& !_0xec8axd[_0x7ed9[63]]()){if(this[_0x7ed9[65]]()[_0x7ed9[64]](_0xec8axb)){if(_0xec8axc[_0x7ed9[69]](_0xec8axb[_0x7ed9[68]][_0x7ed9[67]][_0x7ed9[66]])>= 0){this[_0x7ed9[70]](_0xec8axb)}}else {if(this[_0x7ed9[65]]()[_0x7ed9[71]](_0xec8axb)){console[_0x7ed9[72]](_0xec8ax4);console[_0x7ed9[72]](_0xec8axb);_0xec8ax4[_0x7ed9[73]]( new GeneralDialog(_0xec8ax4,_0xec8axb)[_0x7ed9[1]],320,280,true,true)}};_0xec8axd[_0x7ed9[74]]()}};_0xec8ax3[_0x7ed9[76]][_0x7ed9[75]]= true;_0xec8ax3[_0x7ed9[76]][_0x7ed9[77]]= mxUtils[_0x7ed9[20]](this,function(_0xec8axe,_0xec8axb,_0xec8ax6){this[_0x7ed9[13]][_0x7ed9[78]](_0xec8axe,_0xec8axb,_0xec8ax6)});_0xec8ax1[_0x7ed9[80]][_0x7ed9[35]](this[_0x7ed9[79]]);mxEvent[_0x7ed9[82]](document,mxUtils[_0x7ed9[20]](this,function(_0xec8ax6){_0xec8ax3[_0x7ed9[76]][_0x7ed9[81]]()}));if(mxClient[_0x7ed9[83]]){mxEvent[_0x7ed9[33]](_0xec8ax3[_0x7ed9[1]],_0x7ed9[84],mxUtils[_0x7ed9[20]](this,function(_0xec8ax6){_0xec8ax3[_0x7ed9[89]][_0x7ed9[88]]()[_0x7ed9[38]](_0x7ed9[85],_0x7ed9[86]+ _0xec8ax6[_0x7ed9[87]]+ _0x7ed9[44]);_0xec8ax3[_0x7ed9[89]][_0x7ed9[91]]()[_0x7ed9[6]][_0x7ed9[90]]= _0x7ed9[7]}));mxEvent[_0x7ed9[33]](_0xec8ax3[_0x7ed9[1]],_0x7ed9[92],mxUtils[_0x7ed9[20]](this,function(_0xec8ax6){_0xec8ax3[_0x7ed9[89]][_0x7ed9[88]]()[_0x7ed9[93]](_0x7ed9[85]);_0xec8ax3[_0x7ed9[94]]= true;_0xec8ax3[_0x7ed9[95]](_0xec8ax6[_0x7ed9[87]]);_0xec8ax3[_0x7ed9[89]][_0x7ed9[91]]()[_0x7ed9[6]][_0x7ed9[90]]= _0x7ed9[96]}))};var _0xec8axf=this[_0x7ed9[97]](_0xec8ax1);this[_0x7ed9[98]]= function(){return _0xec8axf};mxEvent[_0x7ed9[33]](window,_0x7ed9[99],mxUtils[_0x7ed9[20]](this,function(){this[_0x7ed9[15]]();_0xec8ax3[_0x7ed9[100]]();this[_0x7ed9[0]][_0x7ed9[80]][_0x7ed9[101]](false);this[_0x7ed9[0]][_0x7ed9[80]][_0x7ed9[80]][_0x7ed9[100]]()}));this[_0x7ed9[35]]();this[_0x7ed9[102]]()};EditorUi[_0x7ed9[10]][_0x7ed9[103]]= (mxClient[_0x7ed9[83]])?16:8;EditorUi[_0x7ed9[10]][_0x7ed9[104]]= 33;EditorUi[_0x7ed9[10]][_0x7ed9[105]]= 36;EditorUi[_0x7ed9[10]][_0x7ed9[106]]= 28;EditorUi[_0x7ed9[10]][_0x7ed9[107]]= 204;EditorUi[_0x7ed9[10]][_0x7ed9[108]]= 190;EditorUi[_0x7ed9[10]][_0x7ed9[35]]= function(){this[_0x7ed9[109]]();this[_0x7ed9[110]]();var _0xec8ax10=this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[111]);var _0xec8ax11=function(){_0xec8ax10[_0x7ed9[114]](!mxClipboard[_0x7ed9[113]]())};var _0xec8ax12=mxClipboard[_0x7ed9[115]];mxClipboard[_0x7ed9[115]]= function(){_0xec8ax12[_0x7ed9[50]](this,arguments);_0xec8ax11()};var _0xec8ax13=mxClipboard[_0x7ed9[116]];mxClipboard[_0x7ed9[116]]= function(){_0xec8ax13[_0x7ed9[50]](this,arguments);_0xec8ax11()}};EditorUi[_0x7ed9[10]][_0x7ed9[18]]= function(_0xec8ax6){return false};EditorUi[_0x7ed9[10]][_0x7ed9[102]]= function(){try{if(window[_0x7ed9[117]]!= null&& window[_0x7ed9[117]][_0x7ed9[118]]!= null){window[_0x7ed9[117]][_0x7ed9[118]][_0x7ed9[130]](mxUtils[_0x7ed9[20]](this,function(_0xec8ax14,_0xec8ax15){try{var _0xec8ax16=mxUtils[_0x7ed9[119]](_0xec8ax14);this[_0x7ed9[0]][_0x7ed9[121]](_0xec8ax16[_0x7ed9[120]]);this[_0x7ed9[0]][_0x7ed9[122]]= false;this[_0x7ed9[0]][_0x7ed9[124]][_0x7ed9[123]]();if(_0xec8ax15!= null){this[_0x7ed9[0]][_0x7ed9[125]]= _0xec8ax15}}catch(e){mxUtils[_0x7ed9[129]](mxResources[_0x7ed9[112]](_0x7ed9[126])+ _0x7ed9[127]+ e[_0x7ed9[128]])}}))}}catch(e){}};EditorUi[_0x7ed9[10]][_0x7ed9[131]]= function(_0xec8ax14,_0xec8ax15,_0xec8ax17){try{var _0xec8ax16=mxUtils[_0x7ed9[119]](_0xec8ax14);this[_0x7ed9[0]][_0x7ed9[121]](_0xec8ax16[_0x7ed9[120]]);this[_0x7ed9[0]][_0x7ed9[122]]= false;this[_0x7ed9[0]][_0x7ed9[124]][_0x7ed9[123]]();if(_0xec8ax15!= null){this[_0x7ed9[0]][_0x7ed9[125]]= _0xec8ax15};if(_0xec8ax17!= null){this[_0x7ed9[0]][_0x7ed9[132]]= _0xec8ax17}}catch(e){mxUtils[_0x7ed9[129]](mxResources[_0x7ed9[112]](_0x7ed9[126])+ _0x7ed9[127]+ e[_0x7ed9[128]])}};EditorUi[_0x7ed9[10]][_0x7ed9[133]]= function(_0xec8ax18){var _0xec8ax1=this[_0x7ed9[0]];if(_0xec8ax18!= null){var _0xec8ax14=mxUtils[_0x7ed9[135]](this[_0x7ed9[0]][_0x7ed9[134]]());try{if(useLocalStorage){if(localStorage[_0x7ed9[136]](_0xec8ax18)!= null&& !mxUtils[_0x7ed9[138]](mxResources[_0x7ed9[112]](_0x7ed9[137],[_0xec8ax18]))){return};localStorage[_0x7ed9[139]](_0xec8ax18,_0xec8ax14);this[_0x7ed9[0]][_0x7ed9[142]](mxResources[_0x7ed9[112]](_0x7ed9[140])+ _0x7ed9[141]+ new Date())}else {console[_0x7ed9[72]](_0xec8ax14[_0x7ed9[143]]);console[_0x7ed9[72]](MAX_REQUEST_SIZE);if(_0xec8ax14[_0x7ed9[143]]< MAX_REQUEST_SIZE){_0xec8ax14= encodeURIComponent(_0xec8ax14);_0xec8ax18= encodeURIComponent(_0xec8ax18);var _0xec8ax19= new XMLHttpRequest();_0xec8ax19[_0x7ed9[102]](_0x7ed9[144],SAVE_URL,true);_0xec8ax19[_0x7ed9[147]](_0x7ed9[145],_0x7ed9[146]);_0xec8ax19[_0x7ed9[147]](_0x7ed9[148],_0x7ed9[149]+ _0xec8ax1[_0x7ed9[132]][_0x7ed9[150]]);_0xec8ax19[_0x7ed9[151]]= function(_0xec8ax1a){if(_0xec8ax19[_0x7ed9[152]]=== 4){if(_0xec8ax19[_0x7ed9[153]]=== 201){_0xec8ax1[_0x7ed9[142]](_0x7ed9[154]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[155]]+ _0x7ed9[158]);setTimeout(function(){window[_0x7ed9[102]](_0x7ed9[159]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[160]],_0x7ed9[161])},1500)}else {try{var _0xec8ax1b=JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]]);_0xec8ax1[_0x7ed9[142]](_0x7ed9[162]+ _0xec8ax1b[_0x7ed9[163]][0][_0x7ed9[128]])}catch(_0xec8ax1a){_0xec8ax1[_0x7ed9[142]](_0x7ed9[164]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}}}};_0xec8ax19[_0x7ed9[167]]= function(_0xec8ax1a){mxUtils[_0x7ed9[129]](_0xec8ax19[_0x7ed9[166]])};_0xec8ax19[_0x7ed9[169]](_0x7ed9[168]+ _0xec8ax18)}else {mxUtils[_0x7ed9[129]](mxResources[_0x7ed9[112]](_0x7ed9[170]));mxUtils[_0x7ed9[171]](_0xec8ax14);return}};this[_0x7ed9[0]][_0x7ed9[125]]= _0xec8ax18;this[_0x7ed9[0]][_0x7ed9[122]]= false}catch(e){this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[164])}}else {this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[164])}};EditorUi[_0x7ed9[10]][_0x7ed9[172]]= function(_0xec8ax18){var _0xec8ax1=this[_0x7ed9[0]];if(_0xec8ax18!= null){var _0xec8ax14=mxUtils[_0x7ed9[135]](this[_0x7ed9[0]][_0x7ed9[134]]());try{if(useLocalStorage){if(localStorage[_0x7ed9[136]](_0xec8ax18)!= null&& !mxUtils[_0x7ed9[138]](mxResources[_0x7ed9[112]](_0x7ed9[137],[_0xec8ax18]))){return};localStorage[_0x7ed9[139]](_0xec8ax18,_0xec8ax14);this[_0x7ed9[0]][_0x7ed9[142]](mxResources[_0x7ed9[112]](_0x7ed9[140])+ _0x7ed9[141]+ new Date())}else {console[_0x7ed9[72]](_0xec8ax14[_0x7ed9[143]]);console[_0x7ed9[72]](MAX_REQUEST_SIZE);if(_0xec8ax14[_0x7ed9[143]]< MAX_REQUEST_SIZE){_0xec8ax14= encodeURIComponent(_0xec8ax14);var _0xec8ax19= new XMLHttpRequest();_0xec8ax19[_0x7ed9[102]](_0x7ed9[173],SAVE_URL+ this[_0x7ed9[0]][_0x7ed9[132]][_0x7ed9[160]],true);_0xec8ax19[_0x7ed9[147]](_0x7ed9[145],_0x7ed9[146]);_0xec8ax19[_0x7ed9[147]](_0x7ed9[148],_0x7ed9[149]+ _0xec8ax1[_0x7ed9[132]][_0x7ed9[150]]);_0xec8ax19[_0x7ed9[151]]= function(_0xec8ax1a){if(_0xec8ax19[_0x7ed9[152]]=== 4){if(_0xec8ax19[_0x7ed9[153]]=== 200){_0xec8ax1[_0x7ed9[142]](_0x7ed9[174]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[175]]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}else {try{var _0xec8ax1b=JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]]);_0xec8ax1[_0x7ed9[142]](_0x7ed9[176]+ _0xec8ax1b[_0x7ed9[163]][0][_0x7ed9[128]])}catch(_0xec8ax1a){_0xec8ax1[_0x7ed9[142]](_0x7ed9[177]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}}}};_0xec8ax19[_0x7ed9[167]]= function(_0xec8ax1a){mxUtils[_0x7ed9[129]](_0xec8ax19[_0x7ed9[166]])};_0xec8ax19[_0x7ed9[169]](_0x7ed9[178]+ _0xec8ax14)}else {mxUtils[_0x7ed9[129]](mxResources[_0x7ed9[112]](_0x7ed9[170]));mxUtils[_0x7ed9[171]](_0xec8ax14);return}};this[_0x7ed9[0]][_0x7ed9[125]]= _0xec8ax18;this[_0x7ed9[0]][_0x7ed9[122]]= false}catch(e){this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[179])}}else {this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[179])}};EditorUi[_0x7ed9[10]][_0x7ed9[180]]= function(_0xec8ax18){var _0xec8ax1=this[_0x7ed9[0]];console[_0x7ed9[72]](_0xec8ax18);if(_0xec8ax18!= null){var _0xec8ax14=mxUtils[_0x7ed9[135]](this[_0x7ed9[0]][_0x7ed9[134]]());try{if(useLocalStorage){if(localStorage[_0x7ed9[136]](_0xec8ax18)!= null&& !mxUtils[_0x7ed9[138]](mxResources[_0x7ed9[112]](_0x7ed9[137],[_0xec8ax18]))){return};localStorage[_0x7ed9[139]](_0xec8ax18,_0xec8ax14);this[_0x7ed9[0]][_0x7ed9[142]](mxResources[_0x7ed9[112]](_0x7ed9[140])+ _0x7ed9[141]+ new Date())}else {console[_0x7ed9[72]](_0xec8ax14[_0x7ed9[143]]);console[_0x7ed9[72]](MAX_REQUEST_SIZE);if(_0xec8ax14[_0x7ed9[143]]< MAX_REQUEST_SIZE){_0xec8ax14= encodeURIComponent(_0xec8ax14);_0xec8ax18= encodeURIComponent(_0xec8ax18);var _0xec8ax19= new XMLHttpRequest();_0xec8ax19[_0x7ed9[102]](_0x7ed9[144],SAVE_URL,true);_0xec8ax19[_0x7ed9[147]](_0x7ed9[145],_0x7ed9[146]);_0xec8ax19[_0x7ed9[147]](_0x7ed9[148],_0x7ed9[149]+ _0xec8ax1[_0x7ed9[132]][_0x7ed9[150]]);_0xec8ax19[_0x7ed9[151]]= function(_0xec8ax1a){if(_0xec8ax19[_0x7ed9[152]]=== 4){if(_0xec8ax19[_0x7ed9[153]]=== 201){_0xec8ax1[_0x7ed9[142]](_0x7ed9[154]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[155]]+ _0x7ed9[158]);setTimeout(function(){window[_0x7ed9[102]](_0x7ed9[181]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[160]],_0x7ed9[161])},1500)}else {try{var _0xec8ax1b=JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]]);_0xec8ax1[_0x7ed9[142]](_0x7ed9[182]+ _0xec8ax1b[_0x7ed9[163]][0][_0x7ed9[128]])}catch(_0xec8ax1a){_0xec8ax1[_0x7ed9[142]](_0x7ed9[183]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}}}};_0xec8ax19[_0x7ed9[167]]= function(_0xec8ax1a){mxUtils[_0x7ed9[129]](_0xec8ax19[_0x7ed9[166]])};_0xec8ax19[_0x7ed9[169]](_0x7ed9[184]+ _0xec8ax18+ _0x7ed9[185]+ _0xec8ax14+ _0x7ed9[186]+ _0xec8ax14)}else {mxUtils[_0x7ed9[129]](mxResources[_0x7ed9[112]](_0x7ed9[170]));mxUtils[_0x7ed9[171]](_0xec8ax14);return}};this[_0x7ed9[0]][_0x7ed9[125]]= _0xec8ax18;this[_0x7ed9[0]][_0x7ed9[122]]= false}catch(e){this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[179])}}else {this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[179])}};EditorUi[_0x7ed9[10]][_0x7ed9[187]]= function(_0xec8ax1c,_0xec8ax1d){var _0xec8ax3=this[_0x7ed9[0]][_0x7ed9[4]];_0xec8ax1c= null!= _0xec8ax1c?_0xec8ax1c:_0xec8ax3[_0x7ed9[189]][_0x7ed9[188]]();_0xec8ax1d= null!= _0xec8ax1d?_0xec8ax1d:{};for(var _0xec8ax1e=!0,_0xec8ax1f=_0xec8ax3[_0x7ed9[189]][_0x7ed9[190]](_0xec8ax1c),_0xec8ax1a=0;_0xec8ax1a< _0xec8ax1f;_0xec8ax1a++){var _0xec8ax20=_0xec8ax3[_0x7ed9[189]][_0x7ed9[191]](_0xec8ax1c,_0xec8ax1a),_0xec8ax21=_0xec8ax1d;_0xec8ax3[_0x7ed9[192]](_0xec8ax20)&& (_0xec8ax21= {});_0xec8ax21= this[_0x7ed9[187]](_0xec8ax20,_0xec8ax21);null!= _0xec8ax21?_0xec8ax3[_0x7ed9[194]](_0xec8ax20,_0xec8ax21[_0x7ed9[137]](/\n/g,_0x7ed9[193])):_0xec8ax3[_0x7ed9[194]](_0xec8ax20,null);_0xec8ax1e= _0xec8ax1e&& null== _0xec8ax21};_0xec8ax1f= _0x7ed9[195];if(_0xec8ax3[_0x7ed9[189]][_0x7ed9[71]](_0xec8ax1c)){switch(_0xec8ax1c[_0x7ed9[67]][_0x7ed9[203]]){case _0x7ed9[55]:_0xec8ax1f= (_0xec8ax1c[_0x7ed9[67]][_0x7ed9[196]](_0x7ed9[55])!== _0x7ed9[195])?_0x7ed9[195]:_0x7ed9[197]+ _0x7ed9[198];_0xec8ax1f+= (_0xec8ax1c[_0x7ed9[67]][_0x7ed9[196]](_0x7ed9[199])!== _0x7ed9[195])?_0x7ed9[195]:_0x7ed9[200]+ _0x7ed9[198];break;case _0x7ed9[54]:_0xec8ax1f= (_0xec8ax1c[_0x7ed9[67]][_0x7ed9[196]](_0x7ed9[55])!== _0x7ed9[195])?_0x7ed9[195]:_0x7ed9[197]+ _0x7ed9[198];_0xec8ax1f+= (_0xec8ax1c[_0x7ed9[67]][_0x7ed9[196]](_0x7ed9[199])!== _0x7ed9[195])?_0x7ed9[195]:_0x7ed9[200]+ _0x7ed9[198];break;case _0x7ed9[52]:_0xec8ax1f= this[_0x7ed9[201]](_0x7ed9[52])?_0x7ed9[195]:_0x7ed9[202]+ _0x7ed9[198];_0xec8ax1f+= (_0xec8ax1c[_0x7ed9[67]][_0x7ed9[196]](_0x7ed9[199])!== _0x7ed9[195])?_0x7ed9[195]:_0x7ed9[200]+ _0x7ed9[198];break}};if(_0xec8ax3[_0x7ed9[189]][_0x7ed9[64]](_0xec8ax1c)){var _0xec8ax22=_0xec8ax3[_0x7ed9[189]][_0x7ed9[205]](_0xec8ax1c[_0x7ed9[68]][_0x7ed9[204]]());switch(_0xec8ax22[_0x7ed9[67]][_0x7ed9[203]]){case _0x7ed9[55]:var _0xec8ax23=String(_0xec8ax1c[_0x7ed9[206]]());console[_0x7ed9[72]](_0xec8ax23);if(_0xec8ax23=== _0x7ed9[207]|| _0xec8ax23=== _0x7ed9[31]){_0xec8ax1f= _0x7ed9[208]+ _0x7ed9[198]}else {var _0xec8ax24=_0xec8ax23[_0x7ed9[210]](_0x7ed9[209]);_0xec8ax24[_0x7ed9[214]](function(_0xec8ax25,_0xec8ax26){_0xec8ax1f= _0xec8ax1f+ ((_0xec8ax25[_0x7ed9[211]]()!== _0x7ed9[195])?_0x7ed9[195]:_0x7ed9[212]+ (_0xec8ax26+ 1)+ _0x7ed9[213]+ _0x7ed9[198])})};break}};_0xec8ax3[_0x7ed9[215]](_0xec8ax1c)&& !_0xec8ax1e&& (_0xec8ax1f+= (mxResources[_0x7ed9[112]](_0xec8ax3[_0x7ed9[216]])|| _0xec8ax3[_0x7ed9[216]])+ _0x7ed9[198]);_0xec8ax1f= _0xec8ax3[_0x7ed9[189]][_0x7ed9[64]](_0xec8ax1c)?_0xec8ax1f+ (_0xec8ax3[_0x7ed9[218]](_0xec8ax1c,_0xec8ax3[_0x7ed9[189]][_0x7ed9[217]](_0xec8ax1c,!0),_0xec8ax3[_0x7ed9[189]][_0x7ed9[217]](_0xec8ax1c,!1))|| _0x7ed9[195]):_0xec8ax1f+ (_0xec8ax3[_0x7ed9[219]](_0xec8ax1c)|| _0x7ed9[195]);_0xec8ax1a= _0xec8ax3[_0x7ed9[220]](_0xec8ax1c,_0xec8ax1d);null!= _0xec8ax1a&& (_0xec8ax1f+= _0xec8ax1a);null== _0xec8ax3[_0x7ed9[189]][_0x7ed9[221]](_0xec8ax1c)&& _0xec8ax3[_0x7ed9[89]][_0x7ed9[187]]();return 0< _0xec8ax1f[_0x7ed9[143]]|| !_0xec8ax1e?_0xec8ax1f:null};EditorUi[_0x7ed9[10]][_0x7ed9[201]]= function(_0xec8ax27){var _0xec8ax3=this[_0x7ed9[0]][_0x7ed9[4]];var _0xec8ax28=_0xec8ax3[_0x7ed9[222]]();var _0xec8ax29=0;_0xec8ax28[_0x7ed9[223]][_0x7ed9[214]](function(_0xec8ax2a){if(_0xec8ax3[_0x7ed9[189]][_0x7ed9[71]](_0xec8ax2a)&& _0xec8ax2a[_0x7ed9[67]][_0x7ed9[203]]== _0xec8ax27){_0xec8ax29++}});return _0xec8ax29> 1?false:true};EditorUi[_0x7ed9[10]][_0x7ed9[224]]= function(_0xec8ax18){var _0xec8ax1=this[_0x7ed9[0]];if(_0xec8ax18!= null){var _0xec8ax1b=this[_0x7ed9[187]]();if(_0xec8ax1b=== null){var _0xec8ax14=mxUtils[_0x7ed9[135]](this[_0x7ed9[0]][_0x7ed9[134]]());try{if(useLocalStorage){if(localStorage[_0x7ed9[136]](_0xec8ax18)!= null&& !mxUtils[_0x7ed9[138]](mxResources[_0x7ed9[112]](_0x7ed9[137],[_0xec8ax18]))){return};localStorage[_0x7ed9[139]](_0xec8ax18,_0xec8ax14);this[_0x7ed9[0]][_0x7ed9[142]](mxResources[_0x7ed9[112]](_0x7ed9[140])+ _0x7ed9[141]+ new Date())}else {console[_0x7ed9[72]](_0xec8ax14[_0x7ed9[143]]);console[_0x7ed9[72]](MAX_REQUEST_SIZE);if(_0xec8ax14[_0x7ed9[143]]< MAX_REQUEST_SIZE){_0xec8ax14= encodeURIComponent(_0xec8ax14);var _0xec8ax19= new XMLHttpRequest();_0xec8ax19[_0x7ed9[102]](_0x7ed9[173],SAVE_URL+ this[_0x7ed9[0]][_0x7ed9[132]][_0x7ed9[160]],true);_0xec8ax19[_0x7ed9[147]](_0x7ed9[145],_0x7ed9[146]);_0xec8ax19[_0x7ed9[147]](_0x7ed9[148],_0x7ed9[149]+ _0xec8ax1[_0x7ed9[132]][_0x7ed9[150]]);_0xec8ax19[_0x7ed9[151]]= function(_0xec8ax1a){if(_0xec8ax19[_0x7ed9[152]]=== 4){if(_0xec8ax19[_0x7ed9[153]]=== 200){_0xec8ax1[_0x7ed9[142]](_0x7ed9[225]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[175]]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}else {try{var _0xec8ax1b=JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]]);_0xec8ax1[_0x7ed9[142]](_0x7ed9[226]+ _0xec8ax1b[_0x7ed9[163]][0][_0x7ed9[128]])}catch(_0xec8ax1a){_0xec8ax1[_0x7ed9[142]](_0x7ed9[227]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}}}};_0xec8ax19[_0x7ed9[167]]= function(_0xec8ax1a){mxUtils[_0x7ed9[129]](_0xec8ax19[_0x7ed9[166]])};_0xec8ax19[_0x7ed9[169]](_0x7ed9[178]+ _0xec8ax14+ _0x7ed9[186]+ _0xec8ax14)}else {mxUtils[_0x7ed9[129]](mxResources[_0x7ed9[112]](_0x7ed9[170]));mxUtils[_0x7ed9[171]](_0xec8ax14);return}};this[_0x7ed9[0]][_0x7ed9[125]]= _0xec8ax18;this[_0x7ed9[0]][_0x7ed9[122]]= false}catch(e){this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[228])}}else {_0xec8ax1[_0x7ed9[142]](_0x7ed9[226])}}else {this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[228])}};EditorUi[_0x7ed9[10]][_0x7ed9[229]]= function(_0xec8ax18){var _0xec8ax1=this[_0x7ed9[0]];if(_0xec8ax18!= null){try{var _0xec8ax19= new XMLHttpRequest();_0xec8ax19[_0x7ed9[102]](_0x7ed9[144],VARIABLE_URL,true);_0xec8ax19[_0x7ed9[147]](_0x7ed9[145],_0x7ed9[146]);_0xec8ax19[_0x7ed9[147]](_0x7ed9[148],_0x7ed9[149]+ _0xec8ax1[_0x7ed9[132]][_0x7ed9[150]]);_0xec8ax19[_0x7ed9[151]]= function(_0xec8ax1a){if(_0xec8ax19[_0x7ed9[152]]=== 4){if(_0xec8ax19[_0x7ed9[153]]=== 201){_0xec8ax1[_0x7ed9[142]](_0x7ed9[230]+ JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]])[_0x7ed9[231]]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}else {try{var _0xec8ax1b=JSON[_0x7ed9[157]](_0xec8ax19[_0x7ed9[156]]);_0xec8ax1[_0x7ed9[142]](_0x7ed9[232]+ _0xec8ax1b[_0x7ed9[163]][0][_0x7ed9[128]])}catch(_0xec8ax1a){_0xec8ax1[_0x7ed9[142]](_0x7ed9[233]+ _0x7ed9[165]+ _0xec8ax19[_0x7ed9[153]]+ _0x7ed9[141]+ _0xec8ax19[_0x7ed9[166]]+ _0x7ed9[44])}}}};_0xec8ax19[_0x7ed9[167]]= function(_0xec8ax1a){mxUtils[_0x7ed9[129]](_0xec8ax19[_0x7ed9[166]])};_0xec8ax19[_0x7ed9[169]](_0x7ed9[234]+ _0xec8ax18)}catch(e){this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[233])}}else {this[_0x7ed9[0]][_0x7ed9[142]](_0x7ed9[233])}};EditorUi[_0x7ed9[10]][_0x7ed9[235]]= function(_0xec8ax2b){var _0xec8ax2c=(_0xec8ax2b!= null)?_0xec8ax2b:window[_0x7ed9[237]][_0x7ed9[236]];var _0xec8ax2d=(_0xec8ax2c[_0x7ed9[69]](_0x7ed9[238])> 0)?1:0;for(var _0xec8ax26 in urlParams){if(_0xec8ax2d== 0){_0xec8ax2c+= _0x7ed9[238]}else {_0xec8ax2c+= _0x7ed9[239]};_0xec8ax2c+= _0xec8ax26+ _0x7ed9[240]+ urlParams[_0xec8ax26];_0xec8ax2d++};return _0xec8ax2c};EditorUi[_0x7ed9[10]][_0x7ed9[109]]= function(){var _0xec8ax2e=this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[241]);var _0xec8ax2f=this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[242]);var _0xec8ax30=this[_0x7ed9[0]][_0x7ed9[124]];var _0xec8ax31=function(){_0xec8ax2e[_0x7ed9[114]](_0xec8ax30[_0x7ed9[243]]());_0xec8ax2f[_0x7ed9[114]](_0xec8ax30[_0x7ed9[244]]())};_0xec8ax30[_0x7ed9[33]](mxEvent.ADD,_0xec8ax31);_0xec8ax30[_0x7ed9[33]](mxEvent.UNDO,_0xec8ax31);_0xec8ax30[_0x7ed9[33]](mxEvent.REDO,_0xec8ax31);_0xec8ax30[_0x7ed9[33]](mxEvent.CLEAR,_0xec8ax31);_0xec8ax31()};EditorUi[_0x7ed9[10]][_0x7ed9[110]]= function(){var _0xec8ax32=mxUtils[_0x7ed9[20]](this,function(){var _0xec8ax3=this[_0x7ed9[0]][_0x7ed9[4]];var _0xec8ax33=!_0xec8ax3[_0x7ed9[245]]();var _0xec8ax34=false;var _0xec8ax35=false;var _0xec8ax36=_0xec8ax3[_0x7ed9[246]]();if(_0xec8ax36!= null){for(var _0xec8ax37=0;_0xec8ax37< _0xec8ax36[_0x7ed9[143]];_0xec8ax37++){var _0xec8axb=_0xec8ax36[_0xec8ax37];if(_0xec8ax3[_0x7ed9[65]]()[_0x7ed9[64]](_0xec8axb)){_0xec8ax35= true};if(_0xec8ax3[_0x7ed9[65]]()[_0x7ed9[71]](_0xec8axb)){_0xec8ax34= true};if(_0xec8ax35&& _0xec8ax34){break}}};var _0xec8ax38=[_0x7ed9[115],_0x7ed9[116],_0x7ed9[247],_0x7ed9[248],_0x7ed9[249],_0x7ed9[250],_0x7ed9[6],_0x7ed9[251],_0x7ed9[252],_0x7ed9[253],_0x7ed9[254],_0x7ed9[255],_0x7ed9[256],_0x7ed9[257],_0x7ed9[258]];for(var _0xec8ax37=0;_0xec8ax37< _0xec8ax38[_0x7ed9[143]];_0xec8ax37++){this[_0x7ed9[12]][_0x7ed9[112]](_0xec8ax38[_0xec8ax37])[_0x7ed9[114]](_0xec8ax33)};this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[259])[_0x7ed9[114]](_0xec8ax35);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[260])[_0x7ed9[114]](_0xec8ax34);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[261])[_0x7ed9[114]](_0xec8ax34);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[263])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[262]]()> 1);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[265])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[262]]()== 1&& _0xec8ax3[_0x7ed9[65]]()[_0x7ed9[190]](_0xec8ax3[_0x7ed9[264]]())> 0);var _0xec8ax39=_0xec8ax34&& _0xec8ax3[_0x7ed9[262]]()== 1;this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[266])[_0x7ed9[114]](_0xec8ax39&& _0xec8ax3[_0x7ed9[65]]()[_0x7ed9[71]](_0xec8ax3[_0x7ed9[65]]()[_0x7ed9[221]](_0xec8ax3[_0x7ed9[264]]())));var _0xec8ax3a=[_0x7ed9[267],_0x7ed9[268],_0x7ed9[269],_0x7ed9[270],_0x7ed9[271],_0x7ed9[272],_0x7ed9[273],_0x7ed9[274],_0x7ed9[275]];for(var _0xec8ax37=0;_0xec8ax37< _0xec8ax3a[_0x7ed9[143]];_0xec8ax37++){this[_0x7ed9[13]][_0x7ed9[112]](_0xec8ax3a[_0xec8ax37])[_0x7ed9[114]](_0xec8ax33)};_0xec8ax3a= [_0x7ed9[276],_0x7ed9[277],_0x7ed9[278]];for(var _0xec8ax37=0;_0xec8ax37< _0xec8ax3a[_0x7ed9[143]];_0xec8ax37++){this[_0x7ed9[13]][_0x7ed9[112]](_0xec8ax3a[_0xec8ax37])[_0x7ed9[114]](_0xec8ax35)};this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[279])[_0x7ed9[114]](_0xec8ax35);this[_0x7ed9[13]][_0x7ed9[112]](_0x7ed9[280])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[262]]()> 1);this[_0x7ed9[13]][_0x7ed9[112]](_0x7ed9[283])[_0x7ed9[114]](_0xec8ax34|| (_0xec8ax35&& _0xec8ax3[_0x7ed9[282]](_0xec8ax3[_0x7ed9[89]][_0x7ed9[281]](_0xec8ax3[_0x7ed9[264]]()))));this[_0x7ed9[13]][_0x7ed9[112]](_0x7ed9[286])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[284]]&& ((_0xec8ax3[_0x7ed9[89]][_0x7ed9[285]]!= null)|| (_0xec8ax3[_0x7ed9[262]]()== 1&& _0xec8ax3[_0x7ed9[192]](_0xec8ax3[_0x7ed9[264]]()))));this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[287])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[89]][_0x7ed9[285]]!= null);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[288])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[89]][_0x7ed9[285]]!= null);var _0xec8ax3b=_0xec8ax3[_0x7ed9[262]]()== 1&& _0xec8ax3[_0x7ed9[192]](_0xec8ax3[_0x7ed9[264]]());this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[289])[_0x7ed9[114]](_0xec8ax3b);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[290])[_0x7ed9[114]](_0xec8ax3b);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[291])[_0x7ed9[114]](_0xec8ax3b);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[292])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[262]]()== 1);this[_0x7ed9[12]][_0x7ed9[112]](_0x7ed9[294])[_0x7ed9[114]](_0xec8ax3[_0x7ed9[262]]()== 1&& _0xec8ax3[_0x7ed9[293]](_0xec8ax3[_0x7ed9[264]]())!= null)});this[_0x7ed9[0]][_0x7ed9[4]][_0x7ed9[295]]()[_0x7ed9[33]](mxEvent.CHANGE,_0xec8ax32);_0xec8ax32()};EditorUi[_0x7ed9[10]][_0x7ed9[15]]= function(){var _0xec8ax3c=mxClient[_0x7ed9[29]]&& (document[_0x7ed9[30]]== null|| document[_0x7ed9[30]]== 5);var _0xec8ax3d=this[_0x7ed9[1]][_0x7ed9[296]];var _0xec8ax3e=this[_0x7ed9[1]][_0x7ed9[297]];if(this[_0x7ed9[1]]== document[_0x7ed9[21]]){_0xec8ax3d= document[_0x7ed9[21]][_0x7ed9[296]]|| document[_0x7ed9[120]][_0x7ed9[296]];_0xec8ax3e= (_0xec8ax3c)?document[_0x7ed9[21]][_0x7ed9[297]]|| document[_0x7ed9[120]][_0x7ed9[297]]:document[_0x7ed9[120]][_0x7ed9[297]]};var _0xec8ax3f=Math[_0x7ed9[299]](0,Math[_0x7ed9[298]](this[_0x7ed9[107]],_0xec8ax3d- this[_0x7ed9[103]]- 20));var _0xec8ax40=Math[_0x7ed9[299]](0,Math[_0x7ed9[298]](this[_0x7ed9[108]],_0xec8ax3e- this[_0x7ed9[104]]- this[_0x7ed9[105]]- this[_0x7ed9[106]]- this[_0x7ed9[103]]- 1));this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[300]]= this[_0x7ed9[104]]+ _0x7ed9[301];this[_0x7ed9[25]][_0x7ed9[6]][_0x7ed9[302]]= this[_0x7ed9[104]]+ _0x7ed9[301];this[_0x7ed9[25]][_0x7ed9[6]][_0x7ed9[300]]= this[_0x7ed9[105]]+ _0x7ed9[301];var _0xec8ax41=this[_0x7ed9[104]]+ this[_0x7ed9[105]];if(!mxClient[_0x7ed9[303]]){_0xec8ax41+= 1};this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[302]]= _0xec8ax41+ _0x7ed9[301];this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[304]]= _0xec8ax3f+ _0x7ed9[301];this[_0x7ed9[79]][_0x7ed9[6]][_0x7ed9[304]]= _0xec8ax3f+ _0x7ed9[301];this[_0x7ed9[79]][_0x7ed9[6]][_0x7ed9[300]]= _0xec8ax40+ _0x7ed9[301];this[_0x7ed9[79]][_0x7ed9[6]][_0x7ed9[305]]= this[_0x7ed9[106]]+ _0x7ed9[301];this[_0x7ed9[26]][_0x7ed9[6]][_0x7ed9[306]]= (_0xec8ax3f+ this[_0x7ed9[103]])+ _0x7ed9[301];this[_0x7ed9[26]][_0x7ed9[6]][_0x7ed9[302]]= this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[302]];this[_0x7ed9[28]][_0x7ed9[6]][_0x7ed9[300]]= this[_0x7ed9[106]]+ _0x7ed9[301];this[_0x7ed9[28]][_0x7ed9[6]][_0x7ed9[307]]= _0x7ed9[308];this[_0x7ed9[309]][_0x7ed9[6]][_0x7ed9[302]]= this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[302]];this[_0x7ed9[309]][_0x7ed9[6]][_0x7ed9[305]]= this[_0x7ed9[79]][_0x7ed9[6]][_0x7ed9[305]];this[_0x7ed9[309]][_0x7ed9[6]][_0x7ed9[306]]= _0xec8ax3f+ _0x7ed9[301];this[_0x7ed9[310]][_0x7ed9[6]][_0x7ed9[304]]= this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[304]];this[_0x7ed9[310]][_0x7ed9[6]][_0x7ed9[305]]= (_0xec8ax40+ this[_0x7ed9[106]])+ _0x7ed9[301];if(_0xec8ax3c){this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[304]]= _0xec8ax3d+ _0x7ed9[301];this[_0x7ed9[25]][_0x7ed9[6]][_0x7ed9[304]]= this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[304]];var _0xec8ax42=(_0xec8ax3e- _0xec8ax40- this[_0x7ed9[103]]- this[_0x7ed9[106]]- this[_0x7ed9[104]]- this[_0x7ed9[105]]);this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[300]]= _0xec8ax42+ _0x7ed9[301];this[_0x7ed9[26]][_0x7ed9[6]][_0x7ed9[304]]= (_0xec8ax3d- _0xec8ax3f- this[_0x7ed9[103]])+ _0x7ed9[301];var _0xec8ax43=(_0xec8ax3e- this[_0x7ed9[106]]- this[_0x7ed9[104]]- this[_0x7ed9[105]]);this[_0x7ed9[26]][_0x7ed9[6]][_0x7ed9[300]]= _0xec8ax43+ _0x7ed9[301];this[_0x7ed9[28]][_0x7ed9[6]][_0x7ed9[304]]= this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[304]];this[_0x7ed9[309]][_0x7ed9[6]][_0x7ed9[300]]= _0xec8ax43+ _0x7ed9[301]}else {this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[305]]= (_0xec8ax40+ this[_0x7ed9[103]]+ this[_0x7ed9[106]])+ _0x7ed9[301];this[_0x7ed9[26]][_0x7ed9[6]][_0x7ed9[305]]= this[_0x7ed9[79]][_0x7ed9[6]][_0x7ed9[305]]}};EditorUi[_0x7ed9[10]][_0x7ed9[14]]= function(){this[_0x7ed9[23]]= this[_0x7ed9[312]](_0x7ed9[311]);this[_0x7ed9[25]]= this[_0x7ed9[312]](_0x7ed9[313]);this[_0x7ed9[27]]= this[_0x7ed9[312]](_0x7ed9[314]);this[_0x7ed9[79]]= this[_0x7ed9[312]](_0x7ed9[315]);this[_0x7ed9[26]]= this[_0x7ed9[312]](_0x7ed9[316]);this[_0x7ed9[28]]= this[_0x7ed9[312]](_0x7ed9[317]);this[_0x7ed9[309]]= this[_0x7ed9[312]](_0x7ed9[318]);this[_0x7ed9[310]]= this[_0x7ed9[312]](_0x7ed9[319]);this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[302]]= _0x7ed9[320];this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[306]]= _0x7ed9[320];this[_0x7ed9[23]][_0x7ed9[6]][_0x7ed9[321]]= _0x7ed9[320];this[_0x7ed9[25]][_0x7ed9[6]][_0x7ed9[306]]= _0x7ed9[320];this[_0x7ed9[25]][_0x7ed9[6]][_0x7ed9[321]]= _0x7ed9[320];this[_0x7ed9[27]][_0x7ed9[6]][_0x7ed9[306]]= _0x7ed9[320];this[_0x7ed9[79]][_0x7ed9[6]][_0x7ed9[306]]= _0x7ed9[320];this[_0x7ed9[26]][_0x7ed9[6]][_0x7ed9[321]]= _0x7ed9[320];this[_0x7ed9[28]][_0x7ed9[6]][_0x7ed9[306]]= _0x7ed9[320];this[_0x7ed9[28]][_0x7ed9[6]][_0x7ed9[321]]= _0x7ed9[320];this[_0x7ed9[28]][_0x7ed9[6]][_0x7ed9[305]]= _0x7ed9[320];this[_0x7ed9[310]][_0x7ed9[6]][_0x7ed9[306]]= _0x7ed9[320];this[_0x7ed9[310]][_0x7ed9[6]][_0x7ed9[300]]= this[_0x7ed9[103]]+ _0x7ed9[301];this[_0x7ed9[309]][_0x7ed9[6]][_0x7ed9[304]]= this[_0x7ed9[103]]+ _0x7ed9[301]};EditorUi[_0x7ed9[10]][_0x7ed9[16]]= function(){this[_0x7ed9[322]]= this[_0x7ed9[13]][_0x7ed9[324]](this[_0x7ed9[312]](_0x7ed9[323]));this[_0x7ed9[23]][_0x7ed9[325]](this[_0x7ed9[322]][_0x7ed9[1]]);this[_0x7ed9[326]]= this[_0x7ed9[328]](this[_0x7ed9[312]](_0x7ed9[327]));this[_0x7ed9[25]][_0x7ed9[325]](this[_0x7ed9[326]][_0x7ed9[1]]);this[_0x7ed9[329]]= this[_0x7ed9[330]](this[_0x7ed9[27]]);this[_0x7ed9[28]][_0x7ed9[325]](this[_0x7ed9[331]]());this[_0x7ed9[332]]= this[_0x7ed9[333]]();this[_0x7ed9[0]][_0x7ed9[33]](_0x7ed9[334],mxUtils[_0x7ed9[20]](this,function(){this[_0x7ed9[336]](this[_0x7ed9[0]][_0x7ed9[335]]())}));this[_0x7ed9[336]](this[_0x7ed9[0]][_0x7ed9[335]]());this[_0x7ed9[322]][_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[332]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[23]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[25]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[27]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[79]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[26]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[28]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[309]]);this[_0x7ed9[1]][_0x7ed9[325]](this[_0x7ed9[310]]);this[_0x7ed9[337]](this[_0x7ed9[309]],true,0,mxUtils[_0x7ed9[20]](this,function(_0xec8ax44){this[_0x7ed9[107]]= _0xec8ax44;this[_0x7ed9[15]]();this[_0x7ed9[0]][_0x7ed9[4]][_0x7ed9[100]]();this[_0x7ed9[0]][_0x7ed9[80]][_0x7ed9[101]](false);this[_0x7ed9[0]][_0x7ed9[80]][_0x7ed9[80]][_0x7ed9[100]]()}));this[_0x7ed9[337]](this[_0x7ed9[310]],false,this[_0x7ed9[106]],mxUtils[_0x7ed9[20]](this,function(_0xec8ax44){this[_0x7ed9[108]]= _0xec8ax44;this[_0x7ed9[15]]();this[_0x7ed9[0]][_0x7ed9[80]][_0x7ed9[101]](false);this[_0x7ed9[0]][_0x7ed9[80]][_0x7ed9[80]][_0x7ed9[100]]()}))};EditorUi[_0x7ed9[10]][_0x7ed9[333]]= function(){var _0xec8ax2=document[_0x7ed9[339]](_0x7ed9[338]);_0xec8ax2[_0x7ed9[340]]= _0x7ed9[341];return _0xec8ax2};EditorUi[_0x7ed9[10]][_0x7ed9[333]]= function(){var _0xec8ax2=document[_0x7ed9[339]](_0x7ed9[338]);_0xec8ax2[_0x7ed9[340]]= _0x7ed9[341];return _0xec8ax2};EditorUi[_0x7ed9[10]][_0x7ed9[336]]= function(_0xec8ax44){this[_0x7ed9[332]][_0x7ed9[342]]= _0xec8ax44};EditorUi[_0x7ed9[10]][_0x7ed9[328]]= function(_0xec8ax2){return new Toolbar(this,_0xec8ax2)};EditorUi[_0x7ed9[10]][_0x7ed9[330]]= function(_0xec8ax2){return new Sidebar(this,_0xec8ax2)};EditorUi[_0x7ed9[10]][_0x7ed9[331]]= function(){return this[_0x7ed9[312]](_0x7ed9[343])};EditorUi[_0x7ed9[10]][_0x7ed9[312]]= function(_0xec8ax45){var _0xec8ax46=document[_0x7ed9[339]](_0x7ed9[344]);_0xec8ax46[_0x7ed9[340]]= _0xec8ax45;return _0xec8ax46};EditorUi[_0x7ed9[10]][_0x7ed9[345]]= function(_0xec8ax45){var _0xec8ax46=document[_0x7ed9[339]](_0xec8ax45);return _0xec8ax46};EditorUi[_0x7ed9[10]][_0x7ed9[346]]= function(_0xec8ax45){var _0xec8ax46=document[_0x7ed9[339]](_0x7ed9[347]);_0xec8ax46[_0x7ed9[340]]= _0xec8ax45;return _0xec8ax46};EditorUi[_0x7ed9[10]][_0x7ed9[337]]= function(_0xec8ax46,_0xec8ax47,_0xec8ax48,_0xec8ax49){var _0xec8ax4a=null;var _0xec8ax4b=null;function _0xec8ax4c(){return parseInt(((_0xec8ax47)?_0xec8ax46[_0x7ed9[6]][_0x7ed9[306]]:_0xec8ax46[_0x7ed9[6]][_0x7ed9[305]]))}function _0xec8ax4d(_0xec8ax6){if(_0xec8ax4a!= null){var _0xec8ax4e= new mxPoint(mxEvent[_0x7ed9[348]](_0xec8ax6),mxEvent[_0x7ed9[349]](_0xec8ax6));_0xec8ax49(Math[_0x7ed9[299]](0,_0xec8ax4b+ ((_0xec8ax47)?(_0xec8ax4e[_0x7ed9[350]]- _0xec8ax4a[_0x7ed9[350]]):(_0xec8ax4a[_0x7ed9[351]]- _0xec8ax4e[_0x7ed9[351]]))- _0xec8ax48));mxEvent[_0x7ed9[74]](_0xec8ax6)}}function _0xec8ax4f(_0xec8ax6){_0xec8ax4d(_0xec8ax6);_0xec8ax4a= null;_0xec8ax4b= null}mxEvent[_0x7ed9[82]](_0xec8ax46,function(_0xec8ax6){_0xec8ax4a= new mxPoint(mxEvent[_0x7ed9[348]](_0xec8ax6),mxEvent[_0x7ed9[349]](_0xec8ax6));_0xec8ax4b= _0xec8ax4c();mxEvent[_0x7ed9[74]](_0xec8ax6)});mxEvent[_0x7ed9[33]](document,_0x7ed9[352],_0xec8ax4d);mxEvent[_0x7ed9[33]](document,_0x7ed9[353],_0xec8ax4d);mxEvent[_0x7ed9[33]](document,_0x7ed9[354],_0xec8ax4f);mxEvent[_0x7ed9[33]](document,_0x7ed9[355],_0xec8ax4f)};EditorUi[_0x7ed9[10]][_0x7ed9[73]]= function(_0xec8ax46,_0xec8ax3d,_0xec8ax3e,_0xec8ax50,_0xec8ax51,_0xec8ax52){this[_0x7ed9[356]]();this[_0x7ed9[357]]= new Dialog(this,_0xec8ax46,_0xec8ax3d,(mxClient[_0x7ed9[358]])?_0xec8ax3e- 12:_0xec8ax3e,_0xec8ax50,_0xec8ax51,_0xec8ax52)};EditorUi[_0x7ed9[10]][_0x7ed9[356]]= function(){if(this[_0x7ed9[357]]!= null){this[_0x7ed9[357]][_0x7ed9[359]]();this[_0x7ed9[357]]= null;this[_0x7ed9[0]][_0x7ed9[4]][_0x7ed9[1]][_0x7ed9[47]]()}};EditorUi[_0x7ed9[10]][_0x7ed9[360]]= function(_0xec8ax53){if(!_0xec8ax53&& this[_0x7ed9[0]][_0x7ed9[125]]!= null){this[_0x7ed9[172]](this[_0x7ed9[0]][_0x7ed9[361]]())}else {this[_0x7ed9[73]]( new SaveDialog(this)[_0x7ed9[1]],300,100,true,true)}};EditorUi[_0x7ed9[10]][_0x7ed9[362]]= function(_0xec8ax53){if(!_0xec8ax53&& this[_0x7ed9[0]][_0x7ed9[125]]!= null){this[_0x7ed9[224]](this[_0x7ed9[0]][_0x7ed9[361]]())}else {}};EditorUi[_0x7ed9[10]][_0x7ed9[363]]= function(_0xec8ax54,_0xec8ax55,_0xec8ax56){var _0xec8ax3=this[_0x7ed9[0]][_0x7ed9[4]];var _0xec8axb=_0xec8ax3[_0x7ed9[264]]();_0xec8ax55= this[_0x7ed9[364]]!= null?this[_0x7ed9[364]]:_0xec8ax55;_0xec8ax3[_0x7ed9[65]]()[_0x7ed9[365]]();try{_0xec8ax54[_0x7ed9[366]](_0xec8ax3[_0x7ed9[222]](),_0xec8axb)}catch(e){throw e}finally{if(_0xec8ax55&& navigator[_0x7ed9[368]][_0x7ed9[69]](_0x7ed9[367])< 0){var _0xec8ax57= new mxMorphing(_0xec8ax3);_0xec8ax57[_0x7ed9[33]](mxEvent.DONE,mxUtils[_0x7ed9[20]](this,function(){_0xec8ax3[_0x7ed9[65]]()[_0x7ed9[369]]()}));_0xec8ax57[_0x7ed9[370]]()}else {_0xec8ax3[_0x7ed9[65]]()[_0x7ed9[369]]()}}};EditorUi[_0x7ed9[10]][_0x7ed9[97]]= function(_0xec8ax1){var _0xec8ax3=this[_0x7ed9[0]][_0x7ed9[4]];var _0xec8axf= new mxKeyHandler(_0xec8ax3);_0xec8axf[_0x7ed9[371]]= function(_0xec8ax6){return mxEvent[_0x7ed9[371]](_0xec8ax6)|| (mxClient[_0x7ed9[372]]&& _0xec8ax6[_0x7ed9[373]])};function _0xec8ax58(_0xec8ax59){if(!_0xec8ax3[_0x7ed9[245]]()){var _0xec8ax48=0;var _0xec8ax5a=0;if(_0xec8ax59== 37){_0xec8ax48= -1}else {if(_0xec8ax59== 38){_0xec8ax5a= -1}else {if(_0xec8ax59== 39){_0xec8ax48= 1}else {if(_0xec8ax59== 40){_0xec8ax5a= 1}}}};_0xec8ax3[_0x7ed9[374]](_0xec8ax3[_0x7ed9[246]](),_0xec8ax48,_0xec8ax5a);_0xec8ax3[_0x7ed9[375]](_0xec8ax3[_0x7ed9[264]]())}}var _0xec8ax5b=mxUtils[_0x7ed9[20]](this,function(_0xec8ax5c,_0xec8ax5d,_0xec8ax26,_0xec8ax5e){var _0xec8ax5f=this[_0x7ed9[12]][_0x7ed9[112]](_0xec8ax26);if(_0xec8ax5f!= null){var _0xec8ax20=function(){if(_0xec8ax5f[_0x7ed9[376]]){_0xec8ax5f[_0x7ed9[377]]()}};if(_0xec8ax5d){if(_0xec8ax5e){_0xec8axf[_0x7ed9[378]](_0xec8ax5c,_0xec8ax20)}else {_0xec8axf[_0x7ed9[379]](_0xec8ax5c,_0xec8ax20)}}else {if(_0xec8ax5e){_0xec8axf[_0x7ed9[380]](_0xec8ax5c,_0xec8ax20)}else {_0xec8axf[_0x7ed9[381]](_0xec8ax5c,_0xec8ax20)}}}});var _0xec8ax60=this;var _0xec8ax61=_0xec8axf[_0x7ed9[382]];_0xec8axf[_0x7ed9[382]]= function(_0xec8ax6){_0xec8ax60[_0x7ed9[356]]();_0xec8ax61[_0x7ed9[50]](this,arguments)};_0xec8axf[_0x7ed9[383]]= function(){};_0xec8axf[_0x7ed9[381]](8,function(){_0xec8ax3[_0x7ed9[384]](true)});_0xec8axf[_0x7ed9[381]](13,function(){_0xec8ax3[_0x7ed9[384]](false)});_0xec8axf[_0x7ed9[381]](33,function(){_0xec8ax3[_0x7ed9[288]]()});_0xec8axf[_0x7ed9[381]](34,function(){_0xec8ax3[_0x7ed9[289]]()});_0xec8axf[_0x7ed9[381]](36,function(){_0xec8ax3[_0x7ed9[287]]()});_0xec8axf[_0x7ed9[381]](35,function(){_0xec8ax3[_0x7ed9[15]]()});_0xec8axf[_0x7ed9[381]](37,function(){_0xec8ax58(37)});_0xec8axf[_0x7ed9[381]](38,function(){_0xec8ax58(38)});_0xec8axf[_0x7ed9[381]](39,function(){_0xec8ax58(39)});_0xec8axf[_0x7ed9[381]](40,function(){_0xec8ax58(40)});_0xec8axf[_0x7ed9[381]](113,function(){_0xec8ax3[_0x7ed9[70]]()});_0xec8ax5b(46,false,_0x7ed9[247]);_0xec8ax5b(82,true,_0x7ed9[257]);_0xec8ax5b(83,true,_0x7ed9[172]);_0xec8ax5b(83,true,_0x7ed9[180],true);_0xec8ax5b(107,false,_0x7ed9[385]);_0xec8ax5b(109,false,_0x7ed9[386]);_0xec8ax5b(65,true,_0x7ed9[387]);_0xec8ax5b(86,true,_0x7ed9[388],true);_0xec8ax5b(69,true,_0x7ed9[389],true);_0xec8ax5b(69,true,_0x7ed9[390]);_0xec8ax5b(66,true,_0x7ed9[253]);_0xec8ax5b(70,true,_0x7ed9[252]);_0xec8ax5b(68,true,_0x7ed9[248]);_0xec8ax5b(90,true,_0x7ed9[241]);_0xec8ax5b(89,true,_0x7ed9[242]);_0xec8ax5b(88,true,_0x7ed9[115]);_0xec8ax5b(67,true,_0x7ed9[116]);_0xec8ax5b(81,true,_0x7ed9[391]);_0xec8ax5b(86,true,_0x7ed9[111]);_0xec8ax5b(71,true,_0x7ed9[263]);_0xec8ax5b(71,true,_0x7ed9[392],true);_0xec8ax5b(85,true,_0x7ed9[265]);_0xec8ax5b(112,false,_0x7ed9[393]);_0xec8ax5b(80,true,_0x7ed9[224],true);return _0xec8axf};EditorUi[_0x7ed9[10]][_0x7ed9[58]]= function(_0xec8ax3,_0xec8ax36,_0xec8ax62,_0xec8ax63){for(var _0xec8ax37=0;_0xec8ax37< _0xec8ax36[_0x7ed9[143]];_0xec8ax37++){_0xec8ax3[_0x7ed9[396]]( new mxMultiplicity(true,_0xec8ax36[_0xec8ax37],null,null,_0xec8ax62[_0xec8ax37][0],_0xec8ax62[_0xec8ax37][1],null,mxResources[_0x7ed9[112]](_0xec8ax36[_0xec8ax37])+ _0x7ed9[394]+ _0xec8ax62[_0xec8ax37][0]+ _0x7ed9[395],null));_0xec8ax3[_0x7ed9[396]]( new mxMultiplicity(false,_0xec8ax36[_0xec8ax37],null,null,_0xec8ax63[_0xec8ax37][0],_0xec8ax63[_0xec8ax37][1],null,mxResources[_0x7ed9[112]](_0xec8ax36[_0xec8ax37])+ _0x7ed9[394]+ _0xec8ax63[_0xec8ax37][0]+ _0x7ed9[397],null))}}
\ No newline at end of file
-/**
- * $Id: Graph.js,v 1.14 2013-02-16 10:19:54 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new graph instance. Note that the constructor does not take a
- * container because the graph instance is needed for creating the UI, which
- * in turn will create the container for the graph. Hence, the container is
- * assigned later in EditorUi.
- */
-Graph = function(container, model, renderHint, stylesheet) {
- mxGraph.call(this, container, model, renderHint, stylesheet);
-
- this.setConnectable(true);
- this.setDropEnabled(false);
- this.setPanning(true);
- this.setTooltips(!mxClient.IS_TOUCH);
- this.setAllowLoops(false);
- this.setMultigraph(false);
- this.allowAutoPanning = true;
- this.resetEdgesOnConnect = false;
- this.constrainChildren = false;
-
- // Centers the port icon on the target port
- this.connectionHandler.targetConnectImage = true;
-
- // Does not allow dangling edges
- this.setAllowDanglingEdges(false);
-
- // Enables cloning of connection sources
- this.connectionHandler.setCreateTarget(false);
-
- // Disables built-in connection starts
- this.connectionHandler.isValidSource = function() {
- return mxConnectionHandler.prototype.isValidSource.apply(this, arguments) && urlParams['connect'] != '2';
- };
-
- // Sets the style to be used when an elbow edge is double clicked
- this.alternateEdgeStyle = 'vertical';
-
- if (stylesheet == null) {
- this.loadStylesheet();
- }
-
- // Creates rubberband selection
- var rubberband = new mxRubberband(this);
-
- this.getRubberband = function() {
- return rubberband;
- };
-
- // Shows hand cursor while panning
- this.panningHandler.addListener(mxEvent.PAN_START, mxUtils.bind(this, function() {
- this.container.style.cursor = 'pointer';
- }));
-
- this.panningHandler.addListener(mxEvent.PAN_END, mxUtils.bind(this, function() {
- this.container.style.cursor = 'default';
- }));
-
- // Adds support for HTML labels via style. Note: Currently, only the Java
- // backend supports HTML labels but CSS support is limited to the following:
- // http://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/text/html/CSS.html
- this.isHtmlLabel = function(cell) {
- var state = this.view.getState(cell);
- var style = (state != null) ? state.style : this.getCellStyle(cell);
-
- return style['html'] == '1' || style['whiteSpace'] == 'wrap';
- };
-
- // HTML entities are displayed as plain text in wrapped plain text labels
- this.cellRenderer.getLabelValue = function(state) {
- var result = mxCellRenderer.prototype.getLabelValue.apply(this, arguments);
-
- if (state.style['whiteSpace'] == 'wrap' && state.style['html'] != 1) {
- result = mxUtils.htmlEntities(result, false);
- }
-
- return result;
- };
-
- // Unlocks all cells
- this.isCellLocked = function(cell) {
- return false;
- };
-
- // Tap and hold brings up context menu.
- // Tolerance slightly below graph tolerance is better.
- this.connectionHandler.tapAndHoldTolerance = 16;
-
- // Tap and hold on background starts rubberband on cell starts connecting
- var connectionHandlerTapAndHold = this.connectionHandler.tapAndHold;
- this.connectionHandler.tapAndHold = function(me, state) {
- if (state == null) {
- if (!this.graph.panningHandler.active) {
- rubberband.start(me.getGraphX(), me.getGraphY());
- this.graph.panningHandler.panningTrigger = false;
- }
- } else if (tapAndHoldStartsConnection) {
- connectionHandlerTapAndHold.apply(this, arguments);
- } else if (this.graph.isCellSelected(state.cell) && this.graph.getSelectionCount() > 1) {
- this.graph.removeSelectionCell(state.cell);
- }
- };
-
- if (touchStyle) {
- this.initTouch();
- }
-};
-
-// Graph inherits from mxGraph
-mxUtils.extend(Graph, mxGraph);
-
-/**
- * Allows to all values in fit.
- */
-Graph.prototype.minFitScale = null;
-
-/**
- * Allows to all values in fit.
- */
-Graph.prototype.maxFitScale = null;
-
-/**
- * Loads the stylesheet for this graph.
- */
-Graph.prototype.loadStylesheet = function() {
- var node = mxUtils.load(STYLE_PATH + '/default.xml').getDocumentElement();
- var dec = new mxCodec(node.ownerDocument);
- dec.decode(node, this.getStylesheet());
-};
-
-/**
- * Inverts the elbow edge style without removing existing styles.
- */
-Graph.prototype.flipEdge = function(edge) {
- if (edge != null) {
- var state = this.view.getState(edge);
- var style = (state != null) ? state.style : this.getCellStyle(edge);
-
- if (style != null) {
- var elbow = mxUtils.getValue(style, mxConstants.STYLE_ELBOW,
- mxConstants.ELBOW_HORIZONTAL);
- var value = (elbow == mxConstants.ELBOW_HORIZONTAL) ?
- mxConstants.ELBOW_VERTICAL : mxConstants.ELBOW_HORIZONTAL;
- this.setCellStyles(mxConstants.STYLE_ELBOW, value, [edge]);
- }
- }
-};
-
-/**
- * Sets the default edge for future connections.
- */
-Graph.prototype.setDefaultEdge = function(cell) {
- if (cell != null && this.getModel().isEdge(cell)) {
- // Take a snapshot of the cell at the moment of calling
- var proto = this.getModel().cloneCells([cell])[0];
-
- // Delete existing points
- if (proto.geometry != null) {
- proto.geometry.points = null;
- }
-
- // Delete entry-/exitXY styles
- var style = proto.getStyle();
- style = mxUtils.setStyle(style, mxConstants.STYLE_ENTRY_X, null);
- style = mxUtils.setStyle(style, mxConstants.STYLE_ENTRY_Y, null);
- style = mxUtils.setStyle(style, mxConstants.STYLE_EXIT_X, null);
- style = mxUtils.setStyle(style, mxConstants.STYLE_EXIT_Y, null);
- proto.setStyle(style);
-
- // Uses edge template for connect preview
- this.connectionHandler.createEdgeState = function(me) {
- return this.graph.view.createState(proto);
- };
-
- // Creates new connections from edge template
- this.connectionHandler.factoryMethod = function() {
- return this.graph.cloneCells([proto])[0];
- };
- }
-};
-
-/**
- * Disables folding for non-swimlanes.
- */
-Graph.prototype.isCellFoldable = function(cell) {
- return this.foldingEnabled && this.isSwimlane(cell);
-};
-
-/**
- * Disables drill-down for non-swimlanes.
- */
-Graph.prototype.isValidRoot = function(cell) {
- return this.isSwimlane(cell);
-};
-
-/**
- * Overrides createGroupCell to set the group style for new groups to 'group'.
- */
-Graph.prototype.createGroupCell = function() {
- var group = mxGraph.prototype.createGroupCell.apply(this, arguments);
- group.setStyle('group');
-
- return group;
-};
-
-/**
- * Giuseppe Careri
- * Overrides tooltips to show position and size
- */
-Graph.prototype.getTooltipForCell = function(cell) {
- var tip = '';
-
- if (this.getModel().isVertex(cell)) {
- // var geo = this.getCellGeometry(cell);
-
- // var f2 = function(x)
- // {
- // return Math.round(parseFloat(x) * 100) / 100;
- // };
-
- // if (geo != null)
- // {
- // if (tip == null)
- // {
- // tip = '';
- // }
- // else if (tip.length > 0)
- // {
- // tip += '\n';
- // }
-
- // tip += 'X: ' + f2(geo.x) + '\nY: ' + f2(geo.y) + '\nW: ' + f2(geo.width) + '\nH: ' + f2(geo.height);
- // }
-
- tip += mxResources.get('description_' + cell.value.nodeName) || '';
- } else if (this.getModel().isEdge(cell)) {
- tip = mxGraph.prototype.getTooltipForCell.apply(this, arguments);
- }
-
- return tip;
-};
-
-/**
- * Giuseppe Careri
- * Returns the label for the given cell.
- */
-Graph.prototype.convertValueToString = function(cell) {
- if (cell.value != null && typeof(cell.value) == 'object') {
- return cell.value.getAttribute('label');
- }
-
- return mxGraph.prototype.convertValueToString.apply(this, arguments);
-};
-
-/**
- * Giuseppe Careri
- * Handles label changes for XML user objects.
- */
-Graph.prototype.cellLabelChanged = function(cell, value, autoSize) {
- if (cell.value != null && typeof(cell.value) == 'object') {
- var tmp = cell.value.cloneNode(true);
- tmp.setAttribute('label', value);
- value = tmp;
- }
-
- mxGraph.prototype.cellLabelChanged.apply(this, arguments);
-};
-
-/**
- * Sets the link for the given cell.
- */
-Graph.prototype.setLinkForCell = function(cell, link) {
- var value = null;
-
- if (cell.value != null && typeof(cell.value) == 'object') {
- value = cell.value.cloneNode(true);
- } else {
- var doc = mxUtils.createXmlDocument();
-
- value = doc.createElement('UserObject');
- value.setAttribute('label', cell.value);
- }
-
- if (link != null && link.length > 0) {
- value.setAttribute('link', link);
- } else {
- value.removeAttribute('link');
- }
-
- this.model.setValue(cell, value);
-};
-
-/**
- * Returns the link for the given cell.
- */
-Graph.prototype.getLinkForCell = function(cell) {
- if (cell.value != null && typeof(cell.value) == 'object') {
- return cell.value.getAttribute('link');
- }
-
- return null;
-};
-
-/**
- * Customized graph for touch devices.
- */
-Graph.prototype.initTouch = function() {
- // Disables new connections via "hotspot"
- this.connectionHandler.marker.isEnabled = function() {
- return this.graph.connectionHandler.first != null;
- };
-
- // Hides menu when editing starts
- this.addListener(mxEvent.START_EDITING, function(sender, evt) {
- this.panningHandler.hideMenu();
- });
-
- // Context menu for touchstyle
- var showMenu = false;
- var menuCell = null;
-
- // Checks if native hit detection did not return anything and does custom
- // hit detection for edges to take into account the tolerance
- this.updateMouseEvent = function(me) {
- mxGraph.prototype.updateMouseEvent.apply(this, arguments);
-
- if (me.getState() == null) {
- var cell = this.getCellAt(me.graphX, me.graphY);
-
- if (this.getModel().isEdge(cell)) {
- me.state = this.view.getState(cell);
-
- if (me.state != null && me.state.shape != null) {
- this.container.style.cursor = me.state.shape.node.style.cursor;
- }
- }
- }
-
- if (me.getState() == null) {
- this.container.style.cursor = 'default';
- }
- };
-
- // Handles popup menu on touch devices (tap selected cell)
- this.fireMouseEvent = function(evtName, me, sender) {
- if (evtName == mxEvent.MOUSE_DOWN) {
- if (!this.panningHandler.isMenuShowing()) {
- menuCell = me.getCell();
- showMenu = (menuCell != null) ? this.isCellSelected(menuCell) : this.isSelectionEmpty();
- } else {
- showMenu = false;
- menuCell = null;
- }
- } else if (evtName == mxEvent.MOUSE_UP) {
- if (showMenu && !this.isEditing()) {
- if (!this.panningHandler.isMenuShowing()) {
- var x = mxEvent.getClientX(me.getEvent());
- var y = mxEvent.getClientY(me.getEvent());
-
- this.panningHandler.popup(x + 16, y, menuCell, me.getEvent());
- }
-
- showMenu = false;
- menuCell = null;
- me.consume();
-
- return;
- }
-
- showMenu = false;
- menuCell = null;
- }
-
- mxGraph.prototype.fireMouseEvent.apply(this, arguments);
-
- if (evtName == mxEvent.MOUSE_MOVE && me.isConsumed()) {
- showMenu = false;
- menuCell = null;
- }
- };
-};
-
-/**
- * Implements touch devices.
- */
-(function() {
- // Enables rotation handle
- mxVertexHandler.prototype.rotationEnabled = true;
-
- // Matches label positions of mxGraph 1.x
- mxText.prototype.baseSpacingTop = 5;
- mxText.prototype.baseSpacingBottom = 1;
-
- // Touch-specific static overrides
- if (touchStyle) {
- // Sets constants for touch style
- mxConstants.HANDLE_SIZE = 16;
- mxConstants.LABEL_HANDLE_SIZE = 7;
-
- // Larger tolerance and grid for real touch devices
- if (mxClient.IS_TOUCH) {
- mxVertexHandler.prototype.tolerance = 4;
- mxEdgeHandler.prototype.tolerance = 6;
- Graph.prototype.tolerance = 14;
- Graph.prototype.gridSize = 20;
-
- // One finger pans (no rubberband selection) must start regardless of mouse button
- mxPanningHandler.prototype.selectOnPopup = false;
- mxPanningHandler.prototype.useLeftButtonForPanning = true;
- mxPanningHandler.prototype.isPanningTrigger = function(me) {
- var evt = me.getEvent();
-
- return (this.useLeftButtonForPanning && (this.ignoreCell || me.getState() == null)
- /* &&
- mxEvent.isLeftMouseButton(evt)*/
- ) || (mxEvent.isControlDown(evt) &&
- mxEvent.isShiftDown(evt)) || (this.usePopupTrigger &&
- mxEvent.isPopupTrigger(evt));
- };
- }
-
- // Don't clear selection if multiple cells selected
- var graphHandlerMouseDown = mxGraphHandler.prototype.mouseDown;
- mxGraphHandler.prototype.mouseDown = function(sender, me) {
- graphHandlerMouseDown.apply(this, arguments);
-
- if (this.graph.isCellSelected(me.getCell()) && this.graph.getSelectionCount() > 1) {
- this.delayedSelection = false;
- }
- };
-
- // Changes order of panninghandler
- Graph.prototype.createHandlers = function(container) {
- this.tooltipHandler = new mxTooltipHandler(this);
- this.tooltipHandler.setEnabled(false);
- // Selection cells first
- this.selectionCellsHandler = new mxSelectionCellsHandler(this);
- this.panningHandler = new mxPanningHandler(this);
- this.panningHandler.panningEnabled = false;
- this.connectionHandler = new mxConnectionHandler(this);
- this.connectionHandler.setEnabled(false);
- this.graphHandler = new mxGraphHandler(this);
- };
-
- // On connect the target is selected and we clone the cell of the preview edge for insert
- mxConnectionHandler.prototype.selectCells = function(edge, target) {
- if (touchStyle && target != null) {
- this.graph.setSelectionCell(target);
- } else {
- this.graph.setSelectionCell(edge);
- }
- };
-
- // Overrides double click handling to use the tolerance
- // FIXME: Double click on edges in iPad needs focus on textarea
- var graphDblClick = mxGraph.prototype.dblClick;
- Graph.prototype.dblClick = function(evt, cell) {
- if (cell == null) {
- var pt = mxUtils.convertPoint(this.container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- cell = this.getCellAt(pt.x, pt.y);
- }
-
- graphDblClick.call(this, evt, cell);
- };
-
- // Rounded edge and vertex handles
- var touchHandle = new mxImage(IMAGE_PATH + '/touch-handle.png', 16, 16);
- mxVertexHandler.prototype.handleImage = touchHandle;
- mxEdgeHandler.prototype.handleImage = touchHandle;
- mxOutline.prototype.sizerImage = touchHandle;
-
- // Pre-fetches touch handle
- new Image().src = touchHandle.src;
-
- // Adds connect icon to selected vertices
- var connectorSrc = IMAGE_PATH + '/touch-connector.png';
-
- var vertexHandlerInit = mxVertexHandler.prototype.init;
- mxVertexHandler.prototype.init = function() {
- vertexHandlerInit.apply(this, arguments);
-
- // Only show connector image on one cell and do not show on containers
- if (showConnectorImg && this.graph.connectionHandler.isEnabled() &&
- this.graph.isCellConnectable(this.state.cell) &&
- !this.graph.isValidRoot(this.state.cell) &&
- this.graph.getSelectionCount() == 1) {
- this.connectorImg = mxUtils.createImage(connectorSrc);
- this.connectorImg.style.cursor = 'pointer';
- this.connectorImg.style.width = '29px';
- this.connectorImg.style.height = '29px';
- this.connectorImg.style.position = 'absolute';
-
- if (!mxClient.IS_TOUCH) {
- this.connectorImg.setAttribute('title', mxResources.get('connect'));
- mxEvent.redirectMouseEvents(this.connectorImg, this.graph, this.state);
- }
-
- // Adds 2px tolerance
- this.connectorImg.style.padding = '2px';
-
- // Starts connecting on touch/mouse down
- mxEvent.addGestureListeners(this.connectorImg,
- mxUtils.bind(this, function(evt) {
- this.graph.panningHandler.hideMenu();
- var pt = mxUtils.convertPoint(this.graph.container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- this.graph.connectionHandler.start(this.state, pt.x, pt.y);
- this.graph.isMouseDown = true;
- mxEvent.consume(evt);
- })
- );
-
- this.graph.container.appendChild(this.connectorImg);
- }
-
- this.redrawTools();
- };
-
- var vertexHandlerRedraw = mxVertexHandler.prototype.redraw;
- mxVertexHandler.prototype.redraw = function() {
- vertexHandlerRedraw.apply(this);
- this.redrawTools();
- };
-
- mxVertexHandler.prototype.redrawTools = function() {
- if (this.state != null && this.connectorImg != null) {
- // Top right for single-sizer
- if (mxVertexHandler.prototype.singleSizer) {
- this.connectorImg.style.left = (this.state.x + this.state.width - this.connectorImg.offsetWidth / 2) + 'px';
- this.connectorImg.style.top = (this.state.y - this.connectorImg.offsetHeight / 2) + 'px';
- } else {
- this.connectorImg.style.left = (this.state.x + this.state.width + mxConstants.HANDLE_SIZE / 2 + 4 /* - 2 padding*/ ) + 'px';
- this.connectorImg.style.top = (this.state.y + (this.state.height - this.connectorImg.offsetHeight) / 2) + 'px';
- }
- }
- };
-
- var vertexHandlerDestroy = mxVertexHandler.prototype.destroy;
- mxVertexHandler.prototype.destroy = function(sender, me) {
- vertexHandlerDestroy.apply(this, arguments);
-
- if (this.connectorImg != null) {
- this.connectorImg.parentNode.removeChild(this.connectorImg);
- this.connectorImg = null;
- }
- };
-
- // Pre-fetches touch connector
- new Image().src = connectorSrc;
- } else {
- var img = new mxImage(IMAGE_PATH + '/connector.png', 15, 15);
- mxConnectionHandler.prototype.connectImage = img;
-
- // Pre-fetches img
- new Image().src = img.src;
-
- if (urlParams['connect'] == '2') // not touchStyle
- {
- var img = new mxImage(IMAGE_PATH + '/connector.png', 15, 15);
-
- var vertexHandlerInit = mxVertexHandler.prototype.init;
- mxVertexHandler.prototype.init = function() {
- vertexHandlerInit.apply(this, arguments);
-
- // Only show connector image on one cell and do not show on containers
- if (showConnectorImg && this.graph.connectionHandler.isEnabled() &&
- this.graph.isCellConnectable(this.state.cell) &&
- !this.graph.isValidRoot(this.state.cell) &&
- this.graph.getSelectionCount() == 1) {
- // Workaround for event redirection via image tag in quirks and IE8
- if (mxClient.IS_IE && !mxClient.IS_SVG) {
- this.connectorImg = document.createElement('div');
- this.connectorImg.style.backgroundImage = 'url(' + img.src + ')';
- this.connectorImg.style.backgroundPosition = 'center';
- this.connectorImg.style.backgroundRepeat = 'no-repeat';
- this.connectorImg.style.width = (img.width + 4) + 'px';
- this.connectorImg.style.height = (img.height + 4) + 'px';
- this.connectorImg.style.display = (mxClient.IS_QUIRKS) ? 'inline' : 'inline-block';
- } else {
- this.connectorImg = mxUtils.createImage(img.src);
- this.connectorImg.style.width = img.width + 'px';
- this.connectorImg.style.height = img.height + 'px';
- }
-
- this.connectorImg.style.cursor = 'pointer';
- this.connectorImg.style.position = 'absolute';
- this.connectorImg.setAttribute('title', mxResources.get('connect'));
- mxEvent.redirectMouseEvents(this.connectorImg, this.graph, this.state);
-
- // Adds 2px tolerance
- this.connectorImg.style.padding = '2px';
-
- // Starts connecting on touch/mouse down
- mxEvent.addListener(this.connectorImg, 'mousedown',
- mxUtils.bind(this, function(evt) {
- this.graph.panningHandler.hideMenu();
- var pt = mxUtils.convertPoint(this.graph.container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- this.graph.connectionHandler.start(this.state, pt.x, pt.y);
- this.graph.isMouseDown = true;
- mxEvent.consume(evt);
- })
- );
-
- this.graph.container.appendChild(this.connectorImg);
- }
-
- this.redrawTools();
- };
-
- var vertexHandlerRedraw = mxVertexHandler.prototype.redraw;
- mxVertexHandler.prototype.redraw = function() {
- vertexHandlerRedraw.apply(this);
- this.redrawTools();
- };
-
- mxVertexHandler.prototype.redrawTools = function() {
- if (this.state != null && this.connectorImg != null) {
- // Top right for single-sizer
- if (mxVertexHandler.prototype.singleSizer) {
- this.connectorImg.style.left = (this.state.x + this.state.width - this.connectorImg.offsetWidth / 2) + 'px';
- this.connectorImg.style.top = (this.state.y - this.connectorImg.offsetHeight / 2) + 'px';
- } else {
- this.connectorImg.style.left = (this.state.x + this.state.width + mxConstants.HANDLE_SIZE / 2 + 2 /* - 2 padding*/ ) + 'px';
- this.connectorImg.style.top = (this.state.y + (this.state.height - this.connectorImg.offsetHeight) / 2) + 'px';
- }
- }
- };
-
- var vertexHandlerDestroy = mxVertexHandler.prototype.destroy;
- mxVertexHandler.prototype.destroy = function(sender, me) {
- vertexHandlerDestroy.apply(this, arguments);
-
- if (this.connectorImg != null) {
- this.connectorImg.parentNode.removeChild(this.connectorImg);
- this.connectorImg = null;
- }
- };
- }
- }
-})();
+var _0xa19a=["\x63\x61\x6C\x6C","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x73\x65\x74\x44\x72\x6F\x70\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x50\x61\x6E\x6E\x69\x6E\x67","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x4C\x6F\x6F\x70\x73","\x73\x65\x74\x4D\x75\x6C\x74\x69\x67\x72\x61\x70\x68","\x61\x6C\x6C\x6F\x77\x41\x75\x74\x6F\x50\x61\x6E\x6E\x69\x6E\x67","\x72\x65\x73\x65\x74\x45\x64\x67\x65\x73\x4F\x6E\x43\x6F\x6E\x6E\x65\x63\x74","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64\x72\x65\x6E","\x74\x61\x72\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x44\x61\x6E\x67\x6C\x69\x6E\x67\x45\x64\x67\x65\x73","\x73\x65\x74\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x69\x73\x56\x61\x6C\x69\x64\x53\x6F\x75\x72\x63\x65","\x61\x70\x70\x6C\x79","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x6F\x6E\x6E\x65\x63\x74","\x32","\x61\x6C\x74\x65\x72\x6E\x61\x74\x65\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x76\x65\x72\x74\x69\x63\x61\x6C","\x6C\x6F\x61\x64\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x67\x65\x74\x52\x75\x62\x62\x65\x72\x62\x61\x6E\x64","\x63\x75\x72\x73\x6F\x72","\x73\x74\x79\x6C\x65","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x70\x6F\x69\x6E\x74\x65\x72","\x62\x69\x6E\x64","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x64\x65\x66\x61\x75\x6C\x74","\x69\x73\x48\x74\x6D\x6C\x4C\x61\x62\x65\x6C","\x67\x65\x74\x53\x74\x61\x74\x65","\x76\x69\x65\x77","\x67\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x68\x74\x6D\x6C","\x31","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x77\x72\x61\x70","\x67\x65\x74\x4C\x61\x62\x65\x6C\x56\x61\x6C\x75\x65","\x63\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72","\x68\x74\x6D\x6C\x45\x6E\x74\x69\x74\x69\x65\x73","\x69\x73\x43\x65\x6C\x6C\x4C\x6F\x63\x6B\x65\x64","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64","\x61\x63\x74\x69\x76\x65","\x67\x72\x61\x70\x68","\x67\x65\x74\x47\x72\x61\x70\x68\x58","\x67\x65\x74\x47\x72\x61\x70\x68\x59","\x73\x74\x61\x72\x74","\x70\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x63\x65\x6C\x6C","\x69\x73\x43\x65\x6C\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x72\x65\x6D\x6F\x76\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x69\x6E\x69\x74\x54\x6F\x75\x63\x68","\x65\x78\x74\x65\x6E\x64","\x6D\x69\x6E\x46\x69\x74\x53\x63\x61\x6C\x65","\x6D\x61\x78\x46\x69\x74\x53\x63\x61\x6C\x65","\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x2F\x64\x65\x66\x61\x75\x6C\x74\x2E\x78\x6D\x6C","\x6C\x6F\x61\x64","\x6F\x77\x6E\x65\x72\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x67\x65\x74\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x64\x65\x63\x6F\x64\x65","\x66\x6C\x69\x70\x45\x64\x67\x65","\x67\x65\x74\x56\x61\x6C\x75\x65","\x45\x4C\x42\x4F\x57\x5F\x48\x4F\x52\x49\x5A\x4F\x4E\x54\x41\x4C","\x45\x4C\x42\x4F\x57\x5F\x56\x45\x52\x54\x49\x43\x41\x4C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x69\x73\x45\x64\x67\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x63\x6C\x6F\x6E\x65\x43\x65\x6C\x6C\x73","\x67\x65\x6F\x6D\x65\x74\x72\x79","\x70\x6F\x69\x6E\x74\x73","\x67\x65\x74\x53\x74\x79\x6C\x65","\x73\x65\x74\x53\x74\x79\x6C\x65","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x53\x74\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x53\x74\x61\x74\x65","\x66\x61\x63\x74\x6F\x72\x79\x4D\x65\x74\x68\x6F\x64","\x69\x73\x43\x65\x6C\x6C\x46\x6F\x6C\x64\x61\x62\x6C\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x63\x72\x65\x61\x74\x65\x47\x72\x6F\x75\x70\x43\x65\x6C\x6C","\x67\x72\x6F\x75\x70","\x67\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x46\x6F\x72\x43\x65\x6C\x6C","","\x69\x73\x56\x65\x72\x74\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x5F","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x67\x65\x74","\x63\x6F\x6E\x76\x65\x72\x74\x56\x61\x6C\x75\x65\x54\x6F\x53\x74\x72\x69\x6E\x67","\x6F\x62\x6A\x65\x63\x74","\x6C\x61\x62\x65\x6C","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x65\x6C\x6C\x4C\x61\x62\x65\x6C\x43\x68\x61\x6E\x67\x65\x64","\x63\x6C\x6F\x6E\x65\x4E\x6F\x64\x65","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x73\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x55\x73\x65\x72\x4F\x62\x6A\x65\x63\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x6C\x65\x6E\x67\x74\x68","\x6C\x69\x6E\x6B","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x73\x65\x74\x56\x61\x6C\x75\x65","\x6D\x6F\x64\x65\x6C","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x6D\x61\x72\x6B\x65\x72","\x66\x69\x72\x73\x74","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x75\x70\x64\x61\x74\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x67\x72\x61\x70\x68\x58","\x67\x72\x61\x70\x68\x59","\x67\x65\x74\x43\x65\x6C\x6C\x41\x74","\x73\x74\x61\x74\x65","\x73\x68\x61\x70\x65","\x6E\x6F\x64\x65","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x4D\x4F\x55\x53\x45\x5F\x44\x4F\x57\x4E","\x69\x73\x4D\x65\x6E\x75\x53\x68\x6F\x77\x69\x6E\x67","\x67\x65\x74\x43\x65\x6C\x6C","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x4D\x4F\x55\x53\x45\x5F\x55\x50","\x69\x73\x45\x64\x69\x74\x69\x6E\x67","\x67\x65\x74\x45\x76\x65\x6E\x74","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x70\x6F\x70\x75\x70","\x63\x6F\x6E\x73\x75\x6D\x65","\x4D\x4F\x55\x53\x45\x5F\x4D\x4F\x56\x45","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x45\x6E\x61\x62\x6C\x65\x64","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x54\x6F\x70","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x42\x6F\x74\x74\x6F\x6D","\x48\x41\x4E\x44\x4C\x45\x5F\x53\x49\x5A\x45","\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x53\x49\x5A\x45","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x74\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x67\x72\x69\x64\x53\x69\x7A\x65","\x73\x65\x6C\x65\x63\x74\x4F\x6E\x50\x6F\x70\x75\x70","\x75\x73\x65\x4C\x65\x66\x74\x42\x75\x74\x74\x6F\x6E\x46\x6F\x72\x50\x61\x6E\x6E\x69\x6E\x67","\x69\x73\x50\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x69\x67\x6E\x6F\x72\x65\x43\x65\x6C\x6C","\x69\x73\x43\x6F\x6E\x74\x72\x6F\x6C\x44\x6F\x77\x6E","\x69\x73\x53\x68\x69\x66\x74\x44\x6F\x77\x6E","\x75\x73\x65\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x69\x73\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x6D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x64\x65\x6C\x61\x79\x65\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x63\x6F\x6E\x76\x65\x72\x74\x50\x6F\x69\x6E\x74","\x78","\x79","\x2F\x74\x6F\x75\x63\x68\x2D\x68\x61\x6E\x64\x6C\x65\x2E\x70\x6E\x67","\x68\x61\x6E\x64\x6C\x65\x49\x6D\x61\x67\x65","\x73\x69\x7A\x65\x72\x49\x6D\x61\x67\x65","\x73\x72\x63","\x2F\x74\x6F\x75\x63\x68\x2D\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72\x2E\x70\x6E\x67","\x69\x6E\x69\x74","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72\x49\x6D\x67","\x63\x72\x65\x61\x74\x65\x49\x6D\x61\x67\x65","\x77\x69\x64\x74\x68","\x32\x39\x70\x78","\x68\x65\x69\x67\x68\x74","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x74\x69\x74\x6C\x65","\x72\x65\x64\x69\x72\x65\x63\x74\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73","\x70\x61\x64\x64\x69\x6E\x67","\x32\x70\x78","\x69\x73\x4D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x72\x65\x64\x72\x61\x77\x54\x6F\x6F\x6C\x73","\x72\x65\x64\x72\x61\x77","\x73\x69\x6E\x67\x6C\x65\x53\x69\x7A\x65\x72","\x6C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68","\x70\x78","\x74\x6F\x70","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x2F\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72\x2E\x70\x6E\x67","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x49\x53\x5F\x49\x45","\x49\x53\x5F\x53\x56\x47","\x64\x69\x76","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x63\x65\x6E\x74\x65\x72","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x70\x65\x61\x74","\x6E\x6F\x2D\x72\x65\x70\x65\x61\x74","\x64\x69\x73\x70\x6C\x61\x79","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x69\x6E\x6C\x69\x6E\x65","\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E"];Graph= function(_0x2548x1,_0x2548x2,_0x2548x3,_0x2548x4){mxGraph[_0xa19a[0]](this,_0x2548x1,_0x2548x2,_0x2548x3,_0x2548x4);this[_0xa19a[1]](true);this[_0xa19a[2]](false);this[_0xa19a[3]](true);this[_0xa19a[4]](!mxClient.IS_TOUCH);this[_0xa19a[5]](false);this[_0xa19a[6]](false);this[_0xa19a[7]]= true;this[_0xa19a[8]]= false;this[_0xa19a[9]]= false;this[_0xa19a[11]][_0xa19a[10]]= true;this[_0xa19a[12]](false);this[_0xa19a[11]][_0xa19a[13]](false);this[_0xa19a[11]][_0xa19a[14]]= function(){return mxConnectionHandler[_0xa19a[16]][_0xa19a[14]][_0xa19a[15]](this,arguments)&& urlParams[_0xa19a[17]]!= _0xa19a[18]};this[_0xa19a[19]]= _0xa19a[20];if(_0x2548x4== null){this[_0xa19a[21]]()};var _0x2548x5= new mxRubberband(this);this[_0xa19a[22]]= function(){return _0x2548x5};this[_0xa19a[29]][_0xa19a[28]](mxEvent.PAN_START,mxUtils[_0xa19a[27]](this,function(){this[_0xa19a[25]][_0xa19a[24]][_0xa19a[23]]= _0xa19a[26]}));this[_0xa19a[29]][_0xa19a[28]](mxEvent.PAN_END,mxUtils[_0xa19a[27]](this,function(){this[_0xa19a[25]][_0xa19a[24]][_0xa19a[23]]= _0xa19a[30]}));this[_0xa19a[31]]= function(_0x2548x6){var _0x2548x7=this[_0xa19a[33]][_0xa19a[32]](_0x2548x6);var _0x2548x8=(_0x2548x7!= null)?_0x2548x7[_0xa19a[24]]:this[_0xa19a[34]](_0x2548x6);return _0x2548x8[_0xa19a[35]]== _0xa19a[36]|| _0x2548x8[_0xa19a[37]]== _0xa19a[38]};this[_0xa19a[40]][_0xa19a[39]]= function(_0x2548x7){var _0x2548x9=mxCellRenderer[_0xa19a[16]][_0xa19a[39]][_0xa19a[15]](this,arguments);if(_0x2548x7[_0xa19a[24]][_0xa19a[37]]== _0xa19a[38]&& _0x2548x7[_0xa19a[24]][_0xa19a[35]]!= 1){_0x2548x9= mxUtils[_0xa19a[41]](_0x2548x9,false)};return _0x2548x9};this[_0xa19a[42]]= function(_0x2548x6){return false};this[_0xa19a[11]][_0xa19a[43]]= 16;var _0x2548xa=this[_0xa19a[11]][_0xa19a[44]];this[_0xa19a[11]][_0xa19a[44]]= function(_0x2548xb,_0x2548x7){if(_0x2548x7== null){if(!this[_0xa19a[46]][_0xa19a[29]][_0xa19a[45]]){_0x2548x5[_0xa19a[49]](_0x2548xb[_0xa19a[47]](),_0x2548xb[_0xa19a[48]]());this[_0xa19a[46]][_0xa19a[29]][_0xa19a[50]]= false}}else {if(tapAndHoldStartsConnection){_0x2548xa[_0xa19a[15]](this,arguments)}else {if(this[_0xa19a[46]][_0xa19a[52]](_0x2548x7[_0xa19a[51]])&& this[_0xa19a[46]][_0xa19a[53]]()> 1){this[_0xa19a[46]][_0xa19a[54]](_0x2548x7[_0xa19a[51]])}}}};if(touchStyle){this[_0xa19a[55]]()}};mxUtils[_0xa19a[56]](Graph,mxGraph);Graph[_0xa19a[16]][_0xa19a[57]]= null;Graph[_0xa19a[16]][_0xa19a[58]]= null;Graph[_0xa19a[16]][_0xa19a[21]]= function(){var _0x2548xc=mxUtils[_0xa19a[61]](STYLE_PATH+ _0xa19a[60])[_0xa19a[59]]();var _0x2548xd= new mxCodec(_0x2548xc[_0xa19a[62]]);_0x2548xd[_0xa19a[64]](_0x2548xc,this[_0xa19a[63]]())};Graph[_0xa19a[16]][_0xa19a[65]]= function(_0x2548xe){if(_0x2548xe!= null){var _0x2548x7=this[_0xa19a[33]][_0xa19a[32]](_0x2548xe);var _0x2548x8=(_0x2548x7!= null)?_0x2548x7[_0xa19a[24]]:this[_0xa19a[34]](_0x2548xe);if(_0x2548x8!= null){var _0x2548xf=mxUtils[_0xa19a[66]](_0x2548x8,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL);var _0x2548x10=(_0x2548xf== mxConstants[_0xa19a[67]])?mxConstants[_0xa19a[68]]:mxConstants[_0xa19a[67]];this[_0xa19a[69]](mxConstants.STYLE_ELBOW,_0x2548x10,[_0x2548xe])}}};Graph[_0xa19a[16]][_0xa19a[70]]= function(_0x2548x6){if(_0x2548x6!= null&& this[_0xa19a[72]]()[_0xa19a[71]](_0x2548x6)){var _0x2548x11=this[_0xa19a[72]]()[_0xa19a[73]]([_0x2548x6])[0];if(_0x2548x11[_0xa19a[74]]!= null){_0x2548x11[_0xa19a[74]][_0xa19a[75]]= null};var _0x2548x8=_0x2548x11[_0xa19a[76]]();_0x2548x8= mxUtils[_0xa19a[77]](_0x2548x8,mxConstants.STYLE_ENTRY_X,null);_0x2548x8= mxUtils[_0xa19a[77]](_0x2548x8,mxConstants.STYLE_ENTRY_Y,null);_0x2548x8= mxUtils[_0xa19a[77]](_0x2548x8,mxConstants.STYLE_EXIT_X,null);_0x2548x8= mxUtils[_0xa19a[77]](_0x2548x8,mxConstants.STYLE_EXIT_Y,null);_0x2548x11[_0xa19a[77]](_0x2548x8);this[_0xa19a[11]][_0xa19a[78]]= function(_0x2548xb){return this[_0xa19a[46]][_0xa19a[33]][_0xa19a[79]](_0x2548x11)};this[_0xa19a[11]][_0xa19a[80]]= function(){return this[_0xa19a[46]][_0xa19a[73]]([_0x2548x11])[0]}}};Graph[_0xa19a[16]][_0xa19a[81]]= function(_0x2548x6){return this[_0xa19a[82]]&& this[_0xa19a[83]](_0x2548x6)};Graph[_0xa19a[16]][_0xa19a[84]]= function(_0x2548x6){return this[_0xa19a[83]](_0x2548x6)};Graph[_0xa19a[16]][_0xa19a[85]]= function(){var _0x2548x12=mxGraph[_0xa19a[16]][_0xa19a[85]][_0xa19a[15]](this,arguments);_0x2548x12[_0xa19a[77]](_0xa19a[86]);return _0x2548x12};Graph[_0xa19a[16]][_0xa19a[87]]= function(_0x2548x6){var _0x2548x13=_0xa19a[88];if(this[_0xa19a[72]]()[_0xa19a[89]](_0x2548x6)){_0x2548x13+= mxResources[_0xa19a[93]](_0xa19a[90]+ _0x2548x6[_0xa19a[92]][_0xa19a[91]])|| _0xa19a[88]}else {if(this[_0xa19a[72]]()[_0xa19a[71]](_0x2548x6)){_0x2548x13= mxGraph[_0xa19a[16]][_0xa19a[87]][_0xa19a[15]](this,arguments)}};return _0x2548x13};Graph[_0xa19a[16]][_0xa19a[94]]= function(_0x2548x6){if(_0x2548x6[_0xa19a[92]]!= null&& typeof (_0x2548x6[_0xa19a[92]])== _0xa19a[95]){return _0x2548x6[_0xa19a[92]][_0xa19a[97]](_0xa19a[96])};return mxGraph[_0xa19a[16]][_0xa19a[94]][_0xa19a[15]](this,arguments)};Graph[_0xa19a[16]][_0xa19a[98]]= function(_0x2548x6,_0x2548x10,_0x2548x14){if(_0x2548x6[_0xa19a[92]]!= null&& typeof (_0x2548x6[_0xa19a[92]])== _0xa19a[95]){var _0x2548x15=_0x2548x6[_0xa19a[92]][_0xa19a[99]](true);_0x2548x15[_0xa19a[100]](_0xa19a[96],_0x2548x10);_0x2548x10= _0x2548x15};mxGraph[_0xa19a[16]][_0xa19a[98]][_0xa19a[15]](this,arguments)};Graph[_0xa19a[16]][_0xa19a[101]]= function(_0x2548x6,_0x2548x16){var _0x2548x10=null;if(_0x2548x6[_0xa19a[92]]!= null&& typeof (_0x2548x6[_0xa19a[92]])== _0xa19a[95]){_0x2548x10= _0x2548x6[_0xa19a[92]][_0xa19a[99]](true)}else {var _0x2548x17=mxUtils[_0xa19a[102]]();_0x2548x10= _0x2548x17[_0xa19a[104]](_0xa19a[103]);_0x2548x10[_0xa19a[100]](_0xa19a[96],_0x2548x6[_0xa19a[92]])};if(_0x2548x16!= null&& _0x2548x16[_0xa19a[105]]> 0){_0x2548x10[_0xa19a[100]](_0xa19a[106],_0x2548x16)}else {_0x2548x10[_0xa19a[107]](_0xa19a[106])};this[_0xa19a[109]][_0xa19a[108]](_0x2548x6,_0x2548x10)};Graph[_0xa19a[16]][_0xa19a[110]]= function(_0x2548x6){if(_0x2548x6[_0xa19a[92]]!= null&& typeof (_0x2548x6[_0xa19a[92]])== _0xa19a[95]){return _0x2548x6[_0xa19a[92]][_0xa19a[97]](_0xa19a[106])};return null};Graph[_0xa19a[16]][_0xa19a[55]]= function(){this[_0xa19a[11]][_0xa19a[112]][_0xa19a[111]]= function(){return this[_0xa19a[46]][_0xa19a[11]][_0xa19a[113]]!= null};this[_0xa19a[28]](mxEvent.START_EDITING,function(_0x2548x18,_0x2548x19){this[_0xa19a[29]][_0xa19a[114]]()});var _0x2548x1a=false;var _0x2548x1b=null;this[_0xa19a[115]]= function(_0x2548xb){mxGraph[_0xa19a[16]][_0xa19a[115]][_0xa19a[15]](this,arguments);if(_0x2548xb[_0xa19a[32]]()== null){var _0x2548x6=this[_0xa19a[118]](_0x2548xb[_0xa19a[116]],_0x2548xb[_0xa19a[117]]);if(this[_0xa19a[72]]()[_0xa19a[71]](_0x2548x6)){_0x2548xb[_0xa19a[119]]= this[_0xa19a[33]][_0xa19a[32]](_0x2548x6);if(_0x2548xb[_0xa19a[119]]!= null&& _0x2548xb[_0xa19a[119]][_0xa19a[120]]!= null){this[_0xa19a[25]][_0xa19a[24]][_0xa19a[23]]= _0x2548xb[_0xa19a[119]][_0xa19a[120]][_0xa19a[121]][_0xa19a[24]][_0xa19a[23]]}}};if(_0x2548xb[_0xa19a[32]]()== null){this[_0xa19a[25]][_0xa19a[24]][_0xa19a[23]]= _0xa19a[30]}};this[_0xa19a[122]]= function(_0x2548x1c,_0x2548xb,_0x2548x18){if(_0x2548x1c== mxEvent[_0xa19a[123]]){if(!this[_0xa19a[29]][_0xa19a[124]]()){_0x2548x1b= _0x2548xb[_0xa19a[125]]();_0x2548x1a= (_0x2548x1b!= null)?this[_0xa19a[52]](_0x2548x1b):this[_0xa19a[126]]()}else {_0x2548x1a= false;_0x2548x1b= null}}else {if(_0x2548x1c== mxEvent[_0xa19a[127]]){if(_0x2548x1a&& !this[_0xa19a[128]]()){if(!this[_0xa19a[29]][_0xa19a[124]]()){var _0x2548x1d=mxEvent[_0xa19a[130]](_0x2548xb[_0xa19a[129]]());var _0x2548x1e=mxEvent[_0xa19a[131]](_0x2548xb[_0xa19a[129]]());this[_0xa19a[29]][_0xa19a[132]](_0x2548x1d+ 16,_0x2548x1e,_0x2548x1b,_0x2548xb[_0xa19a[129]]())};_0x2548x1a= false;_0x2548x1b= null;_0x2548xb[_0xa19a[133]]();return};_0x2548x1a= false;_0x2548x1b= null}};mxGraph[_0xa19a[16]][_0xa19a[122]][_0xa19a[15]](this,arguments);if(_0x2548x1c== mxEvent[_0xa19a[134]]&& _0x2548xb[_0xa19a[135]]()){_0x2548x1a= false;_0x2548x1b= null}}};(function(){mxVertexHandler[_0xa19a[16]][_0xa19a[136]]= true;mxText[_0xa19a[16]][_0xa19a[137]]= 5;mxText[_0xa19a[16]][_0xa19a[138]]= 1;if(touchStyle){mxConstants[_0xa19a[139]]= 16;mxConstants[_0xa19a[140]]= 7;if(mxClient[_0xa19a[141]]){mxVertexHandler[_0xa19a[16]][_0xa19a[142]]= 4;mxEdgeHandler[_0xa19a[16]][_0xa19a[142]]= 6;Graph[_0xa19a[16]][_0xa19a[142]]= 14;Graph[_0xa19a[16]][_0xa19a[143]]= 20;mxPanningHandler[_0xa19a[16]][_0xa19a[144]]= false;mxPanningHandler[_0xa19a[16]][_0xa19a[145]]= true;mxPanningHandler[_0xa19a[16]][_0xa19a[146]]= function(_0x2548xb){var _0x2548x19=_0x2548xb[_0xa19a[129]]();return (this[_0xa19a[145]]&& (this[_0xa19a[147]]|| _0x2548xb[_0xa19a[32]]()== null))|| (mxEvent[_0xa19a[148]](_0x2548x19)&& mxEvent[_0xa19a[149]](_0x2548x19))|| (this[_0xa19a[150]]&& mxEvent[_0xa19a[151]](_0x2548x19))}};var _0x2548x1f=mxGraphHandler[_0xa19a[16]][_0xa19a[152]];mxGraphHandler[_0xa19a[16]][_0xa19a[152]]= function(_0x2548x18,_0x2548xb){_0x2548x1f[_0xa19a[15]](this,arguments);if(this[_0xa19a[46]][_0xa19a[52]](_0x2548xb[_0xa19a[125]]())&& this[_0xa19a[46]][_0xa19a[53]]()> 1){this[_0xa19a[153]]= false}};Graph[_0xa19a[16]][_0xa19a[154]]= function(_0x2548x1){this[_0xa19a[155]]= new mxTooltipHandler(this);this[_0xa19a[155]][_0xa19a[156]](false);this[_0xa19a[157]]= new mxSelectionCellsHandler(this);this[_0xa19a[29]]= new mxPanningHandler(this);this[_0xa19a[29]][_0xa19a[158]]= false;this[_0xa19a[11]]= new mxConnectionHandler(this);this[_0xa19a[11]][_0xa19a[156]](false);this[_0xa19a[159]]= new mxGraphHandler(this)};mxConnectionHandler[_0xa19a[16]][_0xa19a[160]]= function(_0x2548xe,_0x2548x20){if(touchStyle&& _0x2548x20!= null){this[_0xa19a[46]][_0xa19a[161]](_0x2548x20)}else {this[_0xa19a[46]][_0xa19a[161]](_0x2548xe)}};var _0x2548x21=mxGraph[_0xa19a[16]][_0xa19a[162]];Graph[_0xa19a[16]][_0xa19a[162]]= function(_0x2548x19,_0x2548x6){if(_0x2548x6== null){var _0x2548x22=mxUtils[_0xa19a[163]](this[_0xa19a[25]],mxEvent[_0xa19a[130]](_0x2548x19),mxEvent[_0xa19a[131]](_0x2548x19));_0x2548x6= this[_0xa19a[118]](_0x2548x22[_0xa19a[164]],_0x2548x22[_0xa19a[165]])};_0x2548x21[_0xa19a[0]](this,_0x2548x19,_0x2548x6)};var _0x2548x23= new mxImage(IMAGE_PATH+ _0xa19a[166],16,16);mxVertexHandler[_0xa19a[16]][_0xa19a[167]]= _0x2548x23;mxEdgeHandler[_0xa19a[16]][_0xa19a[167]]= _0x2548x23;mxOutline[_0xa19a[16]][_0xa19a[168]]= _0x2548x23; new Image()[_0xa19a[169]]= _0x2548x23[_0xa19a[169]];var _0x2548x24=IMAGE_PATH+ _0xa19a[170];var _0x2548x25=mxVertexHandler[_0xa19a[16]][_0xa19a[171]];mxVertexHandler[_0xa19a[16]][_0xa19a[171]]= function(){_0x2548x25[_0xa19a[15]](this,arguments);if(showConnectorImg&& this[_0xa19a[46]][_0xa19a[11]][_0xa19a[111]]()&& this[_0xa19a[46]][_0xa19a[172]](this[_0xa19a[119]][_0xa19a[51]])&& !this[_0xa19a[46]][_0xa19a[84]](this[_0xa19a[119]][_0xa19a[51]])&& this[_0xa19a[46]][_0xa19a[53]]()== 1){this[_0xa19a[173]]= mxUtils[_0xa19a[174]](_0x2548x24);this[_0xa19a[173]][_0xa19a[24]][_0xa19a[23]]= _0xa19a[26];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[175]]= _0xa19a[176];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[177]]= _0xa19a[176];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[178]]= _0xa19a[179];if(!mxClient[_0xa19a[141]]){this[_0xa19a[173]][_0xa19a[100]](_0xa19a[180],mxResources[_0xa19a[93]](_0xa19a[17]));mxEvent[_0xa19a[181]](this[_0xa19a[173]],this[_0xa19a[46]],this[_0xa19a[119]])};this[_0xa19a[173]][_0xa19a[24]][_0xa19a[182]]= _0xa19a[183];mxEvent[_0xa19a[185]](this[_0xa19a[173]],mxUtils[_0xa19a[27]](this,function(_0x2548x19){this[_0xa19a[46]][_0xa19a[29]][_0xa19a[114]]();var _0x2548x22=mxUtils[_0xa19a[163]](this[_0xa19a[46]][_0xa19a[25]],mxEvent[_0xa19a[130]](_0x2548x19),mxEvent[_0xa19a[131]](_0x2548x19));this[_0xa19a[46]][_0xa19a[11]][_0xa19a[49]](this[_0xa19a[119]],_0x2548x22[_0xa19a[164]],_0x2548x22[_0xa19a[165]]);this[_0xa19a[46]][_0xa19a[184]]= true;mxEvent[_0xa19a[133]](_0x2548x19)}));this[_0xa19a[46]][_0xa19a[25]][_0xa19a[186]](this[_0xa19a[173]])};this[_0xa19a[187]]()};var _0x2548x26=mxVertexHandler[_0xa19a[16]][_0xa19a[188]];mxVertexHandler[_0xa19a[16]][_0xa19a[188]]= function(){_0x2548x26[_0xa19a[15]](this);this[_0xa19a[187]]()};mxVertexHandler[_0xa19a[16]][_0xa19a[187]]= function(){if(this[_0xa19a[119]]!= null&& this[_0xa19a[173]]!= null){if(mxVertexHandler[_0xa19a[16]][_0xa19a[189]]){this[_0xa19a[173]][_0xa19a[24]][_0xa19a[190]]= (this[_0xa19a[119]][_0xa19a[164]]+ this[_0xa19a[119]][_0xa19a[175]]- this[_0xa19a[173]][_0xa19a[191]]/ 2)+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[193]]= (this[_0xa19a[119]][_0xa19a[165]]- this[_0xa19a[173]][_0xa19a[194]]/ 2)+ _0xa19a[192]}else {this[_0xa19a[173]][_0xa19a[24]][_0xa19a[190]]= (this[_0xa19a[119]][_0xa19a[164]]+ this[_0xa19a[119]][_0xa19a[175]]+ mxConstants[_0xa19a[139]]/ 2+ 4)+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[193]]= (this[_0xa19a[119]][_0xa19a[165]]+ (this[_0xa19a[119]][_0xa19a[177]]- this[_0xa19a[173]][_0xa19a[194]])/ 2)+ _0xa19a[192]}}};var _0x2548x27=mxVertexHandler[_0xa19a[16]][_0xa19a[195]];mxVertexHandler[_0xa19a[16]][_0xa19a[195]]= function(_0x2548x18,_0x2548xb){_0x2548x27[_0xa19a[15]](this,arguments);if(this[_0xa19a[173]]!= null){this[_0xa19a[173]][_0xa19a[197]][_0xa19a[196]](this[_0xa19a[173]]);this[_0xa19a[173]]= null}}; new Image()[_0xa19a[169]]= _0x2548x24}else {var _0x2548x28= new mxImage(IMAGE_PATH+ _0xa19a[198],15,15);mxConnectionHandler[_0xa19a[16]][_0xa19a[199]]= _0x2548x28; new Image()[_0xa19a[169]]= _0x2548x28[_0xa19a[169]];if(urlParams[_0xa19a[17]]== _0xa19a[18]){var _0x2548x28= new mxImage(IMAGE_PATH+ _0xa19a[198],15,15);var _0x2548x25=mxVertexHandler[_0xa19a[16]][_0xa19a[171]];mxVertexHandler[_0xa19a[16]][_0xa19a[171]]= function(){_0x2548x25[_0xa19a[15]](this,arguments);if(showConnectorImg&& this[_0xa19a[46]][_0xa19a[11]][_0xa19a[111]]()&& this[_0xa19a[46]][_0xa19a[172]](this[_0xa19a[119]][_0xa19a[51]])&& !this[_0xa19a[46]][_0xa19a[84]](this[_0xa19a[119]][_0xa19a[51]])&& this[_0xa19a[46]][_0xa19a[53]]()== 1){if(mxClient[_0xa19a[200]]&& !mxClient[_0xa19a[201]]){this[_0xa19a[173]]= document[_0xa19a[104]](_0xa19a[202]);this[_0xa19a[173]][_0xa19a[24]][_0xa19a[203]]= _0xa19a[204]+ _0x2548x28[_0xa19a[169]]+ _0xa19a[205];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[206]]= _0xa19a[207];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[208]]= _0xa19a[209];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[175]]= (_0x2548x28[_0xa19a[175]]+ 4)+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[177]]= (_0x2548x28[_0xa19a[177]]+ 4)+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[210]]= (mxClient[_0xa19a[211]])?_0xa19a[212]:_0xa19a[213]}else {this[_0xa19a[173]]= mxUtils[_0xa19a[174]](_0x2548x28[_0xa19a[169]]);this[_0xa19a[173]][_0xa19a[24]][_0xa19a[175]]= _0x2548x28[_0xa19a[175]]+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[177]]= _0x2548x28[_0xa19a[177]]+ _0xa19a[192]};this[_0xa19a[173]][_0xa19a[24]][_0xa19a[23]]= _0xa19a[26];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[178]]= _0xa19a[179];this[_0xa19a[173]][_0xa19a[100]](_0xa19a[180],mxResources[_0xa19a[93]](_0xa19a[17]));mxEvent[_0xa19a[181]](this[_0xa19a[173]],this[_0xa19a[46]],this[_0xa19a[119]]);this[_0xa19a[173]][_0xa19a[24]][_0xa19a[182]]= _0xa19a[183];mxEvent[_0xa19a[28]](this[_0xa19a[173]],_0xa19a[214],mxUtils[_0xa19a[27]](this,function(_0x2548x19){this[_0xa19a[46]][_0xa19a[29]][_0xa19a[114]]();var _0x2548x22=mxUtils[_0xa19a[163]](this[_0xa19a[46]][_0xa19a[25]],mxEvent[_0xa19a[130]](_0x2548x19),mxEvent[_0xa19a[131]](_0x2548x19));this[_0xa19a[46]][_0xa19a[11]][_0xa19a[49]](this[_0xa19a[119]],_0x2548x22[_0xa19a[164]],_0x2548x22[_0xa19a[165]]);this[_0xa19a[46]][_0xa19a[184]]= true;mxEvent[_0xa19a[133]](_0x2548x19)}));this[_0xa19a[46]][_0xa19a[25]][_0xa19a[186]](this[_0xa19a[173]])};this[_0xa19a[187]]()};var _0x2548x26=mxVertexHandler[_0xa19a[16]][_0xa19a[188]];mxVertexHandler[_0xa19a[16]][_0xa19a[188]]= function(){_0x2548x26[_0xa19a[15]](this);this[_0xa19a[187]]()};mxVertexHandler[_0xa19a[16]][_0xa19a[187]]= function(){if(this[_0xa19a[119]]!= null&& this[_0xa19a[173]]!= null){if(mxVertexHandler[_0xa19a[16]][_0xa19a[189]]){this[_0xa19a[173]][_0xa19a[24]][_0xa19a[190]]= (this[_0xa19a[119]][_0xa19a[164]]+ this[_0xa19a[119]][_0xa19a[175]]- this[_0xa19a[173]][_0xa19a[191]]/ 2)+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[193]]= (this[_0xa19a[119]][_0xa19a[165]]- this[_0xa19a[173]][_0xa19a[194]]/ 2)+ _0xa19a[192]}else {this[_0xa19a[173]][_0xa19a[24]][_0xa19a[190]]= (this[_0xa19a[119]][_0xa19a[164]]+ this[_0xa19a[119]][_0xa19a[175]]+ mxConstants[_0xa19a[139]]/ 2+ 2)+ _0xa19a[192];this[_0xa19a[173]][_0xa19a[24]][_0xa19a[193]]= (this[_0xa19a[119]][_0xa19a[165]]+ (this[_0xa19a[119]][_0xa19a[177]]- this[_0xa19a[173]][_0xa19a[194]])/ 2)+ _0xa19a[192]}}};var _0x2548x27=mxVertexHandler[_0xa19a[16]][_0xa19a[195]];mxVertexHandler[_0xa19a[16]][_0xa19a[195]]= function(_0x2548x18,_0x2548xb){_0x2548x27[_0xa19a[15]](this,arguments);if(this[_0xa19a[173]]!= null){this[_0xa19a[173]][_0xa19a[197]][_0xa19a[196]](this[_0xa19a[173]]);this[_0xa19a[173]]= null}}}}})()
\ No newline at end of file
-/**
- * $Id: Menus.js,v 1.13 2013-02-20 16:21:29 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new graph editor
- */
-Menus = function(editorUi) {
- this.editorUi = editorUi;
- this.menus = new Object();
- this.init();
-
- // Pre-fetches checkmark image
- new Image().src = IMAGE_PATH + '/checkmark.gif';
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.init = function() {
- var graph = this.editorUi.editor.graph;
-
- this.put('fontFamily', new Menu(mxUtils.bind(this, function(menu, parent) {
- var fonts = ['Helvetica', 'Verdana', 'Times New Roman', 'Garamond',
- 'Comic Sans MS',
- 'Courier New', 'Georgia', 'Lucida Console', 'Tahoma'
- ];
-
- for (var i = 0; i < fonts.length; i++) {
- var tr = this.styleChange(menu, fonts[i], [mxConstants.STYLE_FONTFAMILY], [
- fonts[i]
- ], null, parent);
- tr.firstChild.nextSibling.style.fontFamily = fonts[i];
- }
-
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('custom'), '', mxConstants.DEFAULT_FONTFAMILY,
- mxConstants.STYLE_FONTFAMILY, parent);
- })));
- this.put('fontSize', new Menu(mxUtils.bind(this, function(menu, parent) {
- var sizes = [6, 8, 9, 10, 11, 12, 14, 18, 24, 36, 48, 72];
-
- for (var i = 0; i < sizes.length; i++) {
- this.styleChange(menu, sizes[i], [mxConstants.STYLE_FONTSIZE], [sizes[i]],
- null, parent);
- }
-
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('custom'), '(pt)', '12',
- mxConstants.STYLE_FONTSIZE, parent);
- })));
- this.put('linewidth', new Menu(mxUtils.bind(this, function(menu, parent) {
- var sizes = [1, 2, 3, 4, 8, 12, 16, 24];
-
- for (var i = 0; i < sizes.length; i++) {
- this.styleChange(menu, sizes[i] + 'px', [mxConstants.STYLE_STROKEWIDTH], [
- sizes[i]
- ], null, parent);
- }
-
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('custom'), '(px)', '1',
- mxConstants.STYLE_STROKEWIDTH, parent);
- })));
- this.put('line', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('straight'), [mxConstants.STYLE_EDGE], [
- null
- ], null, parent);
- this.styleChange(menu, mxResources.get('entityRelation'), [mxConstants.STYLE_EDGE], [
- 'entityRelationEdgeStyle'
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('horizontal'), [mxConstants.STYLE_EDGE,
- mxConstants.STYLE_ELBOW
- ], ['elbowEdgeStyle', 'horizontal'], null, parent);
- this.styleChange(menu, mxResources.get('vertical'), [mxConstants.STYLE_EDGE,
- mxConstants.STYLE_ELBOW
- ], ['elbowEdgeStyle', 'vertical'], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('manual'), [mxConstants.STYLE_EDGE], [
- 'segmentEdgeStyle'
- ], null, parent);
- this.styleChange(menu, mxResources.get('automatic'), [mxConstants.STYLE_EDGE], [
- 'orthogonalEdgeStyle'
- ], null, parent);
- })));
- this.put('lineend', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('classic'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_CLASSIC
- ], null, parent);
- this.styleChange(menu, mxResources.get('openArrow'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_OPEN
- ], null, parent);
- this.styleChange(menu, mxResources.get('block'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_BLOCK
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('oval'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_OVAL
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamond'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_DIAMOND
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamondThin'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_DIAMOND_THIN
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('none'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.NONE
- ], null, parent);
- menu.addSeparator(parent);
- menu.addItem(mxResources.get('transparent'), null, function() {
- graph.toggleCellStyles('endFill', true);
- }, parent, null, true);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('size'), '(px)', mxConstants.DEFAULT_MARKERSIZE,
- mxConstants.STYLE_ENDSIZE, parent);
- })));
- this.put('linestart', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('classic'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_CLASSIC
- ], null, parent);
- this.styleChange(menu, mxResources.get('openArrow'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_OPEN
- ], null, parent);
- this.styleChange(menu, mxResources.get('block'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_BLOCK
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('oval'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_OVAL
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamond'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_DIAMOND
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamondThin'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_DIAMOND_THIN
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('none'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.NONE
- ], null, parent);
- menu.addSeparator(parent);
- menu.addItem(mxResources.get('transparent'), null, function() {
- graph.toggleCellStyles('startFill', true);
- }, parent, null, true);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('size'), '(px)', mxConstants.DEFAULT_MARKERSIZE,
- mxConstants.STYLE_STARTSIZE, parent);
- })));
- this.put('spacing', new Menu(mxUtils.bind(this, function(menu, parent) {
- // Uses shadow action and line menu to analyze selection
- var vertexSelected = this.editorUi.actions.get('shadow').enabled;
- var edgeSelected = this.get('line').enabled;
-
- if (vertexSelected || menu.showDisabled) {
- this.promptChange(menu, mxResources.get('top'), '(px)', '0',
- mxConstants.STYLE_SPACING_TOP, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('right'), '(px)', '0',
- mxConstants.STYLE_SPACING_RIGHT, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('bottom'), '(px)', '0',
- mxConstants.STYLE_SPACING_BOTTOM, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('left'), '(px)', '0',
- mxConstants.STYLE_SPACING_LEFT, parent, vertexSelected);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('global'), '(px)', '0',
- mxConstants.STYLE_SPACING, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('perimeter'), '(px)', '0',
- mxConstants.STYLE_PERIMETER_SPACING, parent, vertexSelected);
- }
-
- if (edgeSelected || menu.showDisabled) {
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('sourceSpacing'), '(px)', '0',
- mxConstants.STYLE_SOURCE_PERIMETER_SPACING, parent, edgeSelected);
- this.promptChange(menu, mxResources.get('targetSpacing'), '(px)', '0',
- mxConstants.STYLE_TARGET_PERIMETER_SPACING, parent, edgeSelected);
- }
- })));
- this.put('format', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItem(menu, 'style', parent);
- })));
- this.put('text', new Menu(mxUtils.bind(this, function(menu, parent) {
- var enabled = this.get('text').enabled;
- menu.addSeparator(parent);
- this.addSubmenu('fontFamily', menu, parent);
- this.addSubmenu('fontSize', menu, parent);
- this.addMenuItems(menu, ['-', 'bold', 'italic', 'underline', '-'],
- parent);
- this.addSubmenu('alignment', menu, parent);
- this.addMenuItem(menu, 'wordWrap', parent);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('textOpacity'), '(%)', '100',
- mxConstants.STYLE_TEXT_OPACITY, parent, enabled);
- menu.addItem(mxResources.get('hide'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_NOLABEL, false);
- }, parent, null, enabled);
- })));
- this.put('alignment', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('leftAlign'), [mxConstants.STYLE_ALIGN], [
- mxConstants.ALIGN_LEFT
- ], null, parent);
- this.styleChange(menu, mxResources.get('center'), [mxConstants.STYLE_ALIGN], [
- mxConstants.ALIGN_CENTER
- ], null, parent);
- this.styleChange(menu, mxResources.get('rightAlign'), [mxConstants.STYLE_ALIGN], [
- mxConstants.ALIGN_RIGHT
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('topAlign'), [mxConstants.STYLE_VERTICAL_ALIGN], [
- mxConstants.ALIGN_TOP
- ], null, parent);
- this.styleChange(menu, mxResources.get('middle'), [mxConstants.STYLE_VERTICAL_ALIGN], [
- mxConstants.ALIGN_MIDDLE
- ], null, parent);
- this.styleChange(menu, mxResources.get('bottomAlign'), [mxConstants.STYLE_VERTICAL_ALIGN], [
- mxConstants.ALIGN_BOTTOM
- ], null, parent);
- menu.addSeparator(parent);
- this.addSubmenu('position', menu, parent);
- this.addSubmenu('spacing', menu, parent);
- menu.addSeparator(parent);
- var enabled = this.get('text').enabled;
- menu.addItem(mxResources.get('vertical'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_HORIZONTAL, true);
- }, parent, null, enabled);
- })));
- this.put('position', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('left'), [mxConstants.STYLE_LABEL_POSITION,
- mxConstants.STYLE_ALIGN
- ], [mxConstants.ALIGN_LEFT, mxConstants.ALIGN_RIGHT], null, parent);
- this.styleChange(menu, mxResources.get('center'), [mxConstants.STYLE_LABEL_POSITION,
- mxConstants.STYLE_ALIGN
- ], [mxConstants.ALIGN_CENTER, mxConstants.ALIGN_CENTER], null, parent);
- this.styleChange(menu, mxResources.get('right'), [mxConstants.STYLE_LABEL_POSITION,
- mxConstants.STYLE_ALIGN
- ], [mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_LEFT], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('top'), [mxConstants.STYLE_VERTICAL_LABEL_POSITION,
- mxConstants.STYLE_VERTICAL_ALIGN
- ], [mxConstants.ALIGN_TOP, mxConstants.ALIGN_BOTTOM], null, parent);
- this.styleChange(menu, mxResources.get('middle'), [mxConstants.STYLE_VERTICAL_LABEL_POSITION,
- mxConstants.STYLE_VERTICAL_ALIGN
- ], [mxConstants.ALIGN_MIDDLE, mxConstants.ALIGN_MIDDLE], null, parent);
- this.styleChange(menu, mxResources.get('bottom'), [mxConstants.STYLE_VERTICAL_LABEL_POSITION,
- mxConstants.STYLE_VERTICAL_ALIGN
- ], [mxConstants.ALIGN_BOTTOM, mxConstants.ALIGN_TOP], null, parent);
- })));
- this.put('direction', new Menu(mxUtils.bind(this, function(menu, parent) {
- menu.addItem(mxResources.get('flipH'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_FLIPH, false);
- }, parent);
- menu.addItem(mxResources.get('flipV'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_FLIPV, false);
- }, parent);
- this.addMenuItems(menu, ['-', 'tilt', 'rotation'], parent);
- })));
- this.put('align', new Menu(mxUtils.bind(this, function(menu, parent) {
- menu.addItem(mxResources.get('leftAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_LEFT);
- }, parent);
- menu.addItem(mxResources.get('center'), null, function() {
- graph.alignCells(mxConstants.ALIGN_CENTER);
- }, parent);
- menu.addItem(mxResources.get('rightAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_RIGHT);
- }, parent);
- menu.addSeparator(parent);
- menu.addItem(mxResources.get('topAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_TOP);
- }, parent);
- menu.addItem(mxResources.get('middle'), null, function() {
- graph.alignCells(mxConstants.ALIGN_MIDDLE);
- }, parent);
- menu.addItem(mxResources.get('bottomAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_BOTTOM);
- }, parent);
- })));
- this.put('layout', new Menu(mxUtils.bind(this, function(menu, parent) {
- // menu.addItem(mxResources.get('horizontalTree'), null, mxUtils.bind(this, function()
- // {
- // if (!graph.isSelectionEmpty())
- // {
- // var layout = new mxCompactTreeLayout(graph, true);
- // layout.edgeRouting = false;
- // layout.levelDistance = 30;
- // this.editorUi.executeLayout(layout, true, true);
- // }
- // }), parent);
- // menu.addItem(mxResources.get('verticalTree'), null, mxUtils.bind(this, function()
- // {
- // if (!graph.isSelectionEmpty())
- // {
- // var layout = new mxCompactTreeLayout(graph, false);
- // layout.edgeRouting = false;
- // layout.levelDistance = 30;
- // this.editorUi.executeLayout(layout, true, true);
- // }
- // }), parent);
- // menu.addSeparator(parent);
- menu.addItem(mxResources.get('horizontalFlow'), null, mxUtils.bind(this,
- function() {
- var layout = new mxHierarchicalLayout(graph, mxConstants.DIRECTION_WEST);
- this.editorUi.executeLayout(layout, true, true);
- }), parent);
- menu.addItem(mxResources.get('verticalFlow'), null, mxUtils.bind(this,
- function() {
- var layout = new mxHierarchicalLayout(graph, mxConstants.DIRECTION_NORTH);
- this.editorUi.executeLayout(layout, true, true);
- }), parent);
- //menu.addSeparator(parent);
- // menu.addItem(mxResources.get('organic'), null, mxUtils.bind(this, function()
- // {
- // var layout = new mxFastOrganicLayout(graph);
- // this.editorUi.executeLayout(layout, true, true);
- // }), parent);
- // menu.addItem(mxResources.get('circle'), null, mxUtils.bind(this, function()
- // {
- // var layout = new mxCircleLayout(graph);
- // this.editorUi.executeLayout(layout, true, true, graph.getSelectionCells());
- // }), parent);
- })));
- this.put('navigation', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['home', '-', 'exitGroup', 'enterGroup', '-',
- 'expand', 'collapse'
- ], parent);
- })));
- this.put('arrange', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['toFront', 'toBack', '-'], parent);
- //this.addSubmenu('direction', menu, parent);
- this.addSubmenu('layout', menu, parent);
- //this.addSubmenu('align', menu, parent);
- menu.addSeparator(parent);
- //this.addSubmenu('navigation', menu, parent);
- this.addMenuItems(menu, ['-', 'group', 'ungroup', 'removeFromGroup'],
- parent);
- //this.addMenuItems(menu, ['-', 'group', 'ungroup', 'removeFromGroup', '-', 'autosize'], parent);
- })));
- this.put('view', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['actualSize'], parent);
- menu.addSeparator();
- var scales = [0.25, 0.5, 0.75, 1, 2, 4];
-
- for (var i = 0; i < scales.length; i++) {
- (function(scale) {
- menu.addItem((scale * 100) + '%', null, function() {
- graph.zoomTo(scale);
- }, parent);
- })(scales[i]);
- }
-
- this.addMenuItems(menu, ['-', 'zoomIn', 'zoomOut', '-', 'fitWindow',
- 'customZoom', '-', 'fitPage', 'fitPageWidth'
- ], parent);
- })));
- this.put('file', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['new', 'open', '-', 'save', 'saveAs', 'publish',
- '-', 'variable', '-', 'import', 'export', '-', 'editFile', 'rename', '-',
- 'print'
- ], parent);
- })));
- this.put('edit', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['undo', 'redo', '-', 'cut', 'copy', 'paste',
- 'delete', '-', 'duplicate', '-',
- 'selectVertices', 'selectEdges', 'selectAll'
- ]);
- })));
- this.put('help', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['help', '-', 'about']);
- })));
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.put = function(name, menu) {
- this.menus[name] = menu;
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.get = function(name) {
- return this.menus[name];
-};
-
-/**
- * Adds the given submenu.
- */
-Menus.prototype.addSubmenu = function(name, menu, parent) {
- var enabled = this.get(name).enabled;
-
- if (menu.showDisabled || enabled) {
- var submenu = menu.addItem(mxResources.get(name), null, null, parent, null,
- enabled);
- this.addMenu(name, menu, submenu);
- }
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.addMenu = function(name, popupMenu, parent) {
- var menu = this.get(name);
-
- if (menu != null && (popupMenu.showDisabled || menu.enabled)) {
- this.get(name).execute(popupMenu, parent);
- }
-};
-
-/**
- * Adds a style change item to the given menu.
- */
-Menus.prototype.styleChange = function(menu, label, keys, values, sprite,
- parent) {
- return menu.addItem(label, null, mxUtils.bind(this, function() {
- var graph = this.editorUi.editor.graph;
-
- graph.getModel().beginUpdate();
- try {
- for (var i = 0; i < keys.length; i++) {
- graph.setCellStyles(keys[i], values[i]);
- }
- } finally {
- graph.getModel().endUpdate();
- }
- }), parent, sprite);
-};
-
-/**
- * Adds a style change item with a prompt to the given menu.
- */
-Menus.prototype.promptChange = function(menu, label, hint, defaultValue, key,
- parent, enabled) {
- return menu.addItem(label, null, mxUtils.bind(this, function() {
- var graph = this.editorUi.editor.graph;
- var value = defaultValue;
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null) {
- value = state.style[key] || value;
- }
-
- value = mxUtils.prompt(mxResources.get('enterValue') + ((hint.length > 0) ?
- (' ' + hint) : ''), value);
-
- if (value != null && value.length > 0) {
- graph.setCellStyles(key, value);
- }
- }), parent, null, enabled);
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.addMenuItem = function(menu, key, parent) {
- var action = this.editorUi.actions.get(key);
-
- if (action != null && (menu.showDisabled || action.enabled)) {
- var item = menu.addItem(action.label, null, action.funct, parent, null,
- action.enabled);
-
- // Adds checkmark image
- if (action.toggleAction && action.isSelected()) {
- this.addCheckmark(item);
- }
-
- this.addShortcut(item, action);
-
- return item;
- }
-
- return null;
-};
-
-/**
- * Adds a checkmark to the given menuitem.
- */
-Menus.prototype.addShortcut = function(item, action) {
- if (action.shortcut != null) {
- var td = item.firstChild.nextSibling.nextSibling;
- var span = document.createElement('span');
- span.style.color = 'gray';
- mxUtils.write(span, action.shortcut);
- td.appendChild(span);
- }
-};
-
-/**
- * Adds a checkmark to the given menuitem.
- */
-Menus.prototype.addCheckmark = function(item) {
- var td = item.firstChild.nextSibling;
- td.style.backgroundImage = 'url(' + IMAGE_PATH + '/checkmark.gif)';
- td.style.backgroundRepeat = 'no-repeat';
- td.style.backgroundPosition = '2px 50%';
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.addMenuItems = function(menu, keys, parent) {
- for (var i = 0; i < keys.length; i++) {
- if (keys[i] == '-') {
- menu.addSeparator(parent);
- } else {
- this.addMenuItem(menu, keys[i], parent);
- }
- }
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.createPopupMenu = function(menu, cell, evt) {
- var graph = this.editorUi.editor.graph;
- menu.smartSeparators = true;
-
- if (graph.isSelectionEmpty()) {
- this.addMenuItems(menu, ['undo', 'redo', '-', 'paste', '-']);
- } else {
- this.addMenuItems(menu, ['delete', '-', 'cut', 'copy', '-', 'duplicate']);
-
- if (graph.getSelectionCount() == 1 && graph.getModel().isEdge(graph.getSelectionCell())) {
- this.addMenuItems(menu, ['setAsDefaultEdge']);
- }
-
- menu.addSeparator();
- }
-
- if (graph.getSelectionCount() > 0) {
- this.addMenuItems(menu, ['toFront', 'toBack', '-']);
-
- if (graph.getModel().isEdge(graph.getSelectionCell())) {
- var isWaypoint = false;
- var cell = graph.getSelectionCell();
-
- if (cell != null && graph.getModel().isEdge(cell)) {
- var handler = graph.selectionCellsHandler.getHandler(cell);
-
- if (handler instanceof mxEdgeHandler && handler.bends != null && handler.bends
- .length > 2) {
- var index = handler.getHandleForEvent(new mxMouseEvent(evt));
-
- // Configures removeWaypoint action before execution
- var rmWaypointAction = this.editorUi.actions.get('removeWaypoint');
- rmWaypointAction.handler = handler;
- rmWaypointAction.index = index;
-
- isWaypoint = index > 0 && index < handler.bends.length;
- }
- }
-
- this.addMenuItems(menu, ['-', (isWaypoint) ? 'removeWaypoint' :
- 'addWaypoint'
- ]);
- } else if (graph.getSelectionCount() > 1) {
- menu.addSeparator();
- this.addMenuItems(menu, ['group']);
- }
-
- menu.addSeparator();
-
- if (graph.getSelectionCount() == 1) {
- var link = graph.getLinkForCell(graph.getSelectionCell());
-
- if (link != null) {
- this.addMenuItems(menu, ['openLink']);
- }
- }
- } else {
- this.addMenuItems(menu, ['-', 'selectVertices', 'selectEdges', '-',
- 'selectAll'
- ]);
- }
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.createMenubar = function(container) {
- var menubar = new Menubar(this.editorUi, container);
- // var menus = ['file', 'edit', 'view', 'format', 'text', 'arrange',
- // 'help'
- // ];
- var menus = ['file', 'edit', 'view', 'format', 'text', 'arrange'];
- for (var i = 0; i < menus.length; i++) {
- menubar.addMenu(mxResources.get(menus[i]), this.get(menus[i]).funct);
- }
-
- return menubar;
-};
-
-/**
- * Construcs a new menubar for the given editor.
- */
-function Menubar(editorUi, container) {
- this.editorUi = editorUi;
- this.container = container;
-
- // Global handler to hide the current menu
- mxEvent.addGestureListeners(document, mxUtils.bind(this, function(evt) {
- this.hideMenu();
- }));
-};
-
-/**
- * Adds the menubar elements.
- */
-Menubar.prototype.hideMenu = function() {
- if (this.currentMenu != null) {
- this.currentMenu.hideMenu();
- }
-};
-
-/**
- * Adds a submenu to this menubar.
- */
-Menubar.prototype.addMenu = function(label, funct) {
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geItem';
- mxUtils.write(elt, label);
-
- this.addMenuHandler(elt, funct);
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Adds a handler for showing a menu in the given element.
- */
-Menubar.prototype.addMenuHandler = function(elt, funct) {
- if (funct != null) {
- var show = true;
-
- var clickHandler = mxUtils.bind(this, function(evt) {
- if (show && elt.enabled == null || elt.enabled) {
- this.editorUi.editor.graph.panningHandler.hideMenu();
- var menu = new mxPopupMenu(funct);
- menu.div.className += ' geMenubarMenu';
- menu.smartSeparators = true;
- menu.showDisabled = true;
- menu.autoExpand = true;
-
- // Disables autoexpand and destroys menu when hidden
- menu.hideMenu = mxUtils.bind(this, function() {
- mxPopupMenu.prototype.hideMenu.apply(menu, arguments);
- menu.destroy();
- this.currentMenu = null;
- this.currentElt = null;
- });
-
- // Added width of the page-sidebar
- var x = elt.offsetLeft + document.getElementById('page-sidebar').offsetWidth +
- 22;
- // Added static height of the page-navbar
- var y = elt.offsetTop + elt.offsetHeight + 140;
-
- menu.popup(x, y, null, evt);
-
- //menu.popup(elt.offsetLeft + 4, elt.offsetTop + elt.offsetHeight + 4, null, evt);
- this.currentMenu = menu;
- this.currentElt = elt;
- }
-
- show = true;
- mxEvent.consume(evt);
- });
-
- // Shows menu automatically while in expanded state
- mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
- if (this.currentMenu != null && this.currentElt != elt) {
- this.hideMenu();
- clickHandler(evt);
- }
- }));
-
- // Hides menu if already showing
- mxEvent.addListener(elt, 'mousedown', mxUtils.bind(this, function() {
- show = this.currentElt != elt;
- }));
-
- mxEvent.addListener(elt, 'click', clickHandler);
- }
-};
-
-/**
- * Constructs a new action for the given parameters.
- */
-function Menu(funct, enabled) {
- mxEventSource.call(this);
- this.funct = funct;
- this.enabled = (enabled != null) ? enabled : true;
-};
-
-// Menu inherits from mxEventSource
-mxUtils.extend(Menu, mxEventSource);
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Menu.prototype.setEnabled = function(value) {
- if (this.enabled != value) {
- this.enabled = value;
- this.fireEvent(new mxEventObject('stateChanged'));
- }
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Menu.prototype.execute = function(menu, parent) {
- this.funct(menu, parent);
-};
+var _0x5aa4=["\x65\x64\x69\x74\x6F\x72\x55\x69","\x6D\x65\x6E\x75\x73","\x69\x6E\x69\x74","\x73\x72\x63","\x2F\x63\x68\x65\x63\x6B\x6D\x61\x72\x6B\x2E\x67\x69\x66","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x67\x72\x61\x70\x68","\x65\x64\x69\x74\x6F\x72","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x48\x65\x6C\x76\x65\x74\x69\x63\x61","\x56\x65\x72\x64\x61\x6E\x61","\x54\x69\x6D\x65\x73\x20\x4E\x65\x77\x20\x52\x6F\x6D\x61\x6E","\x47\x61\x72\x61\x6D\x6F\x6E\x64","\x43\x6F\x6D\x69\x63\x20\x53\x61\x6E\x73\x20\x4D\x53","\x43\x6F\x75\x72\x69\x65\x72\x20\x4E\x65\x77","\x47\x65\x6F\x72\x67\x69\x61","\x4C\x75\x63\x69\x64\x61\x20\x43\x6F\x6E\x73\x6F\x6C\x65","\x54\x61\x68\x6F\x6D\x61","\x6C\x65\x6E\x67\x74\x68","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x46\x41\x4D\x49\x4C\x59","\x73\x74\x79\x6C\x65\x43\x68\x61\x6E\x67\x65","\x73\x74\x79\x6C\x65","\x6E\x65\x78\x74\x53\x69\x62\x6C\x69\x6E\x67","\x66\x69\x72\x73\x74\x43\x68\x69\x6C\x64","\x61\x64\x64\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x63\x75\x73\x74\x6F\x6D","\x67\x65\x74","","\x70\x72\x6F\x6D\x70\x74\x43\x68\x61\x6E\x67\x65","\x62\x69\x6E\x64","\x70\x75\x74","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x53\x49\x5A\x45","\x28\x70\x74\x29","\x31\x32","\x6C\x69\x6E\x65\x77\x69\x64\x74\x68","\x70\x78","\x53\x54\x59\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x57\x49\x44\x54\x48","\x28\x70\x78\x29","\x31","\x6C\x69\x6E\x65","\x73\x74\x72\x61\x69\x67\x68\x74","\x53\x54\x59\x4C\x45\x5F\x45\x44\x47\x45","\x65\x6E\x74\x69\x74\x79\x52\x65\x6C\x61\x74\x69\x6F\x6E","\x65\x6E\x74\x69\x74\x79\x52\x65\x6C\x61\x74\x69\x6F\x6E\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x53\x54\x59\x4C\x45\x5F\x45\x4C\x42\x4F\x57","\x65\x6C\x62\x6F\x77\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x76\x65\x72\x74\x69\x63\x61\x6C","\x6D\x61\x6E\x75\x61\x6C","\x73\x65\x67\x6D\x65\x6E\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x61\x75\x74\x6F\x6D\x61\x74\x69\x63","\x6F\x72\x74\x68\x6F\x67\x6F\x6E\x61\x6C\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x6C\x69\x6E\x65\x65\x6E\x64","\x63\x6C\x61\x73\x73\x69\x63","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x44\x41\x52\x52\x4F\x57","\x41\x52\x52\x4F\x57\x5F\x43\x4C\x41\x53\x53\x49\x43","\x6F\x70\x65\x6E\x41\x72\x72\x6F\x77","\x41\x52\x52\x4F\x57\x5F\x4F\x50\x45\x4E","\x62\x6C\x6F\x63\x6B","\x41\x52\x52\x4F\x57\x5F\x42\x4C\x4F\x43\x4B","\x6F\x76\x61\x6C","\x41\x52\x52\x4F\x57\x5F\x4F\x56\x41\x4C","\x64\x69\x61\x6D\x6F\x6E\x64","\x41\x52\x52\x4F\x57\x5F\x44\x49\x41\x4D\x4F\x4E\x44","\x64\x69\x61\x6D\x6F\x6E\x64\x54\x68\x69\x6E","\x41\x52\x52\x4F\x57\x5F\x44\x49\x41\x4D\x4F\x4E\x44\x5F\x54\x48\x49\x4E","\x6E\x6F\x6E\x65","\x4E\x4F\x4E\x45","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74","\x65\x6E\x64\x46\x69\x6C\x6C","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x61\x64\x64\x49\x74\x65\x6D","\x73\x69\x7A\x65","\x6C\x69\x6E\x65\x73\x74\x61\x72\x74","\x53\x54\x59\x4C\x45\x5F\x53\x54\x41\x52\x54\x41\x52\x52\x4F\x57","\x73\x74\x61\x72\x74\x46\x69\x6C\x6C","\x73\x70\x61\x63\x69\x6E\x67","\x65\x6E\x61\x62\x6C\x65\x64","\x73\x68\x61\x64\x6F\x77","\x61\x63\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x44\x69\x73\x61\x62\x6C\x65\x64","\x74\x6F\x70","\x30","\x72\x69\x67\x68\x74","\x62\x6F\x74\x74\x6F\x6D","\x6C\x65\x66\x74","\x67\x6C\x6F\x62\x61\x6C","\x70\x65\x72\x69\x6D\x65\x74\x65\x72","\x73\x6F\x75\x72\x63\x65\x53\x70\x61\x63\x69\x6E\x67","\x74\x61\x72\x67\x65\x74\x53\x70\x61\x63\x69\x6E\x67","\x66\x6F\x72\x6D\x61\x74","\x61\x64\x64\x4D\x65\x6E\x75\x49\x74\x65\x6D","\x74\x65\x78\x74","\x61\x64\x64\x53\x75\x62\x6D\x65\x6E\x75","\x2D","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x61\x64\x64\x4D\x65\x6E\x75\x49\x74\x65\x6D\x73","\x61\x6C\x69\x67\x6E\x6D\x65\x6E\x74","\x77\x6F\x72\x64\x57\x72\x61\x70","\x74\x65\x78\x74\x4F\x70\x61\x63\x69\x74\x79","\x28\x25\x29","\x31\x30\x30","\x68\x69\x64\x65","\x6C\x65\x66\x74\x41\x6C\x69\x67\x6E","\x53\x54\x59\x4C\x45\x5F\x41\x4C\x49\x47\x4E","\x41\x4C\x49\x47\x4E\x5F\x4C\x45\x46\x54","\x63\x65\x6E\x74\x65\x72","\x41\x4C\x49\x47\x4E\x5F\x43\x45\x4E\x54\x45\x52","\x72\x69\x67\x68\x74\x41\x6C\x69\x67\x6E","\x41\x4C\x49\x47\x4E\x5F\x52\x49\x47\x48\x54","\x74\x6F\x70\x41\x6C\x69\x67\x6E","\x53\x54\x59\x4C\x45\x5F\x56\x45\x52\x54\x49\x43\x41\x4C\x5F\x41\x4C\x49\x47\x4E","\x41\x4C\x49\x47\x4E\x5F\x54\x4F\x50","\x6D\x69\x64\x64\x6C\x65","\x41\x4C\x49\x47\x4E\x5F\x4D\x49\x44\x44\x4C\x45","\x62\x6F\x74\x74\x6F\x6D\x41\x6C\x69\x67\x6E","\x41\x4C\x49\x47\x4E\x5F\x42\x4F\x54\x54\x4F\x4D","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x53\x54\x59\x4C\x45\x5F\x4C\x41\x42\x45\x4C\x5F\x50\x4F\x53\x49\x54\x49\x4F\x4E","\x53\x54\x59\x4C\x45\x5F\x56\x45\x52\x54\x49\x43\x41\x4C\x5F\x4C\x41\x42\x45\x4C\x5F\x50\x4F\x53\x49\x54\x49\x4F\x4E","\x64\x69\x72\x65\x63\x74\x69\x6F\x6E","\x66\x6C\x69\x70\x48","\x66\x6C\x69\x70\x56","\x74\x69\x6C\x74","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x61\x6C\x69\x67\x6E","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73","\x6C\x61\x79\x6F\x75\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x46\x6C\x6F\x77","\x65\x78\x65\x63\x75\x74\x65\x4C\x61\x79\x6F\x75\x74","\x76\x65\x72\x74\x69\x63\x61\x6C\x46\x6C\x6F\x77","\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E","\x68\x6F\x6D\x65","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x65\x78\x70\x61\x6E\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x61\x72\x72\x61\x6E\x67\x65","\x74\x6F\x46\x72\x6F\x6E\x74","\x74\x6F\x42\x61\x63\x6B","\x67\x72\x6F\x75\x70","\x75\x6E\x67\x72\x6F\x75\x70","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x47\x72\x6F\x75\x70","\x76\x69\x65\x77","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x25","\x7A\x6F\x6F\x6D\x54\x6F","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x66\x69\x74\x57\x69\x6E\x64\x6F\x77","\x63\x75\x73\x74\x6F\x6D\x5A\x6F\x6F\x6D","\x66\x69\x74\x50\x61\x67\x65","\x66\x69\x74\x50\x61\x67\x65\x57\x69\x64\x74\x68","\x66\x69\x6C\x65","\x6E\x65\x77","\x6F\x70\x65\x6E","\x73\x61\x76\x65","\x73\x61\x76\x65\x41\x73","\x70\x75\x62\x6C\x69\x73\x68","\x76\x61\x72\x69\x61\x62\x6C\x65","\x69\x6D\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x65\x64\x69\x74\x46\x69\x6C\x65","\x72\x65\x6E\x61\x6D\x65","\x70\x72\x69\x6E\x74","\x65\x64\x69\x74","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x75\x74","\x63\x6F\x70\x79","\x70\x61\x73\x74\x65","\x64\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x68\x65\x6C\x70","\x61\x62\x6F\x75\x74","\x61\x64\x64\x4D\x65\x6E\x75","\x65\x78\x65\x63\x75\x74\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x65\x6E\x74\x65\x72\x56\x61\x6C\x75\x65","\x20","\x70\x72\x6F\x6D\x70\x74","\x6C\x61\x62\x65\x6C","\x66\x75\x6E\x63\x74","\x74\x6F\x67\x67\x6C\x65\x41\x63\x74\x69\x6F\x6E","\x69\x73\x53\x65\x6C\x65\x63\x74\x65\x64","\x61\x64\x64\x43\x68\x65\x63\x6B\x6D\x61\x72\x6B","\x61\x64\x64\x53\x68\x6F\x72\x74\x63\x75\x74","\x73\x68\x6F\x72\x74\x63\x75\x74","\x73\x70\x61\x6E","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6F\x6C\x6F\x72","\x67\x72\x61\x79","\x77\x72\x69\x74\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x2F\x63\x68\x65\x63\x6B\x6D\x61\x72\x6B\x2E\x67\x69\x66\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x70\x65\x61\x74","\x6E\x6F\x2D\x72\x65\x70\x65\x61\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x32\x70\x78\x20\x35\x30\x25","\x63\x72\x65\x61\x74\x65\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75","\x73\x6D\x61\x72\x74\x53\x65\x70\x61\x72\x61\x74\x6F\x72\x73","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x69\x73\x45\x64\x67\x65","\x73\x65\x74\x41\x73\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x62\x65\x6E\x64\x73","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x46\x6F\x72\x45\x76\x65\x6E\x74","\x72\x65\x6D\x6F\x76\x65\x57\x61\x79\x70\x6F\x69\x6E\x74","\x68\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x64\x65\x78","\x61\x64\x64\x57\x61\x79\x70\x6F\x69\x6E\x74","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x6F\x70\x65\x6E\x4C\x69\x6E\x6B","\x63\x72\x65\x61\x74\x65\x4D\x65\x6E\x75\x62\x61\x72","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x63\x75\x72\x72\x65\x6E\x74\x4D\x65\x6E\x75","\x61","\x68\x72\x65\x66","\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x76\x6F\x69\x64\x28\x30\x29\x3B","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x49\x74\x65\x6D","\x61\x64\x64\x4D\x65\x6E\x75\x48\x61\x6E\x64\x6C\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x64\x69\x76","\x20\x67\x65\x4D\x65\x6E\x75\x62\x61\x72\x4D\x65\x6E\x75","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x61\x70\x70\x6C\x79","\x64\x65\x73\x74\x72\x6F\x79","\x63\x75\x72\x72\x65\x6E\x74\x45\x6C\x74","\x6F\x66\x66\x73\x65\x74\x4C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68","\x70\x61\x67\x65\x2D\x73\x69\x64\x65\x62\x61\x72","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x70\x6F\x70\x75\x70","\x63\x6F\x6E\x73\x75\x6D\x65","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x63\x6C\x69\x63\x6B","\x63\x61\x6C\x6C","\x65\x78\x74\x65\x6E\x64","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x73\x74\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x64","\x66\x69\x72\x65\x45\x76\x65\x6E\x74"];Menus= function(_0x6f35x1){this[_0x5aa4[0]]= _0x6f35x1;this[_0x5aa4[1]]= new Object();this[_0x5aa4[2]](); new Image()[_0x5aa4[3]]= IMAGE_PATH+ _0x5aa4[4]};Menus[_0x5aa4[5]][_0x5aa4[2]]= function(){var _0x6f35x2=this[_0x5aa4[0]][_0x5aa4[7]][_0x5aa4[6]];this[_0x5aa4[30]](_0x5aa4[8], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){var _0x6f35x5=[_0x5aa4[9],_0x5aa4[10],_0x5aa4[11],_0x5aa4[12],_0x5aa4[13],_0x5aa4[14],_0x5aa4[15],_0x5aa4[16],_0x5aa4[17]];for(var _0x6f35x6=0;_0x6f35x6< _0x6f35x5[_0x5aa4[18]];_0x6f35x6++){var _0x6f35x7=this[_0x5aa4[20]](_0x6f35x3,_0x6f35x5[_0x6f35x6],[mxConstants[_0x5aa4[19]]],[_0x6f35x5[_0x6f35x6]],null,_0x6f35x4);_0x6f35x7[_0x5aa4[23]][_0x5aa4[22]][_0x5aa4[21]][_0x5aa4[8]]= _0x6f35x5[_0x6f35x6]};_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[25]),_0x5aa4[27],mxConstants.DEFAULT_FONTFAMILY,mxConstants.STYLE_FONTFAMILY,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[31], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){var _0x6f35x8=[6,8,9,10,11,12,14,18,24,36,48,72];for(var _0x6f35x6=0;_0x6f35x6< _0x6f35x8[_0x5aa4[18]];_0x6f35x6++){this[_0x5aa4[20]](_0x6f35x3,_0x6f35x8[_0x6f35x6],[mxConstants[_0x5aa4[32]]],[_0x6f35x8[_0x6f35x6]],null,_0x6f35x4)};_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[25]),_0x5aa4[33],_0x5aa4[34],mxConstants.STYLE_FONTSIZE,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[35], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){var _0x6f35x8=[1,2,3,4,8,12,16,24];for(var _0x6f35x6=0;_0x6f35x6< _0x6f35x8[_0x5aa4[18]];_0x6f35x6++){this[_0x5aa4[20]](_0x6f35x3,_0x6f35x8[_0x6f35x6]+ _0x5aa4[36],[mxConstants[_0x5aa4[37]]],[_0x6f35x8[_0x6f35x6]],null,_0x6f35x4)};_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[25]),_0x5aa4[38],_0x5aa4[39],mxConstants.STYLE_STROKEWIDTH,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[40], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[41]),[mxConstants[_0x5aa4[42]]],[null],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[43]),[mxConstants[_0x5aa4[42]]],[_0x5aa4[44]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[45]),[mxConstants[_0x5aa4[42]],mxConstants[_0x5aa4[46]]],[_0x5aa4[47],_0x5aa4[45]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[48]),[mxConstants[_0x5aa4[42]],mxConstants[_0x5aa4[46]]],[_0x5aa4[47],_0x5aa4[48]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[49]),[mxConstants[_0x5aa4[42]]],[_0x5aa4[50]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[51]),[mxConstants[_0x5aa4[42]]],[_0x5aa4[52]],null,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[53], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[54]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[56]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[57]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[58]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[59]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[60]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[61]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[62]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[63]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[64]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[65]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[66]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[67]),[mxConstants[_0x5aa4[55]]],[mxConstants[_0x5aa4[68]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[69]),null,function(){_0x6f35x2[_0x5aa4[71]](_0x5aa4[70],true)},_0x6f35x4,null,true);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[73]),_0x5aa4[38],mxConstants.DEFAULT_MARKERSIZE,mxConstants.STYLE_ENDSIZE,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[74], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[54]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[56]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[57]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[58]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[59]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[60]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[61]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[62]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[63]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[64]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[65]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[66]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[67]),[mxConstants[_0x5aa4[75]]],[mxConstants[_0x5aa4[68]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[69]),null,function(){_0x6f35x2[_0x5aa4[71]](_0x5aa4[76],true)},_0x6f35x4,null,true);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[73]),_0x5aa4[38],mxConstants.DEFAULT_MARKERSIZE,mxConstants.STYLE_STARTSIZE,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[77], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){var _0x6f35x9=this[_0x5aa4[0]][_0x5aa4[80]][_0x5aa4[26]](_0x5aa4[79])[_0x5aa4[78]];var _0x6f35xa=this[_0x5aa4[26]](_0x5aa4[40])[_0x5aa4[78]];if(_0x6f35x9|| _0x6f35x3[_0x5aa4[81]]){this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[82]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_SPACING_TOP,_0x6f35x4,_0x6f35x9);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[84]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_SPACING_RIGHT,_0x6f35x4,_0x6f35x9);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[85]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_SPACING_BOTTOM,_0x6f35x4,_0x6f35x9);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[86]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_SPACING_LEFT,_0x6f35x4,_0x6f35x9);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[87]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_SPACING,_0x6f35x4,_0x6f35x9);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[88]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_PERIMETER_SPACING,_0x6f35x4,_0x6f35x9)};if(_0x6f35xa|| _0x6f35x3[_0x5aa4[81]]){_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[89]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_SOURCE_PERIMETER_SPACING,_0x6f35x4,_0x6f35xa);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[90]),_0x5aa4[38],_0x5aa4[83],mxConstants.STYLE_TARGET_PERIMETER_SPACING,_0x6f35x4,_0x6f35xa)}})));this[_0x5aa4[30]](_0x5aa4[91], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[92]](_0x6f35x3,_0x5aa4[21],_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[93], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){var _0x6f35xb=this[_0x5aa4[26]](_0x5aa4[93])[_0x5aa4[78]];_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[94]](_0x5aa4[8],_0x6f35x3,_0x6f35x4);this[_0x5aa4[94]](_0x5aa4[31],_0x6f35x3,_0x6f35x4);this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[95],_0x5aa4[96],_0x5aa4[97],_0x5aa4[98],_0x5aa4[95]],_0x6f35x4);this[_0x5aa4[94]](_0x5aa4[100],_0x6f35x3,_0x6f35x4);this[_0x5aa4[92]](_0x6f35x3,_0x5aa4[101],_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[28]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[102]),_0x5aa4[103],_0x5aa4[104],mxConstants.STYLE_TEXT_OPACITY,_0x6f35x4,_0x6f35xb);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[105]),null,function(){_0x6f35x2[_0x5aa4[71]](mxConstants.STYLE_NOLABEL,false)},_0x6f35x4,null,_0x6f35xb)})));this[_0x5aa4[30]](_0x5aa4[100], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[106]),[mxConstants[_0x5aa4[107]]],[mxConstants[_0x5aa4[108]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[109]),[mxConstants[_0x5aa4[107]]],[mxConstants[_0x5aa4[110]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[111]),[mxConstants[_0x5aa4[107]]],[mxConstants[_0x5aa4[112]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[113]),[mxConstants[_0x5aa4[114]]],[mxConstants[_0x5aa4[115]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[116]),[mxConstants[_0x5aa4[114]]],[mxConstants[_0x5aa4[117]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[118]),[mxConstants[_0x5aa4[114]]],[mxConstants[_0x5aa4[119]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[94]](_0x5aa4[120],_0x6f35x3,_0x6f35x4);this[_0x5aa4[94]](_0x5aa4[77],_0x6f35x3,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);var _0x6f35xb=this[_0x5aa4[26]](_0x5aa4[93])[_0x5aa4[78]];_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[48]),null,function(){_0x6f35x2[_0x5aa4[71]](mxConstants.STYLE_HORIZONTAL,true)},_0x6f35x4,null,_0x6f35xb)})));this[_0x5aa4[30]](_0x5aa4[120], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[86]),[mxConstants[_0x5aa4[121]],mxConstants[_0x5aa4[107]]],[mxConstants[_0x5aa4[108]],mxConstants[_0x5aa4[112]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[109]),[mxConstants[_0x5aa4[121]],mxConstants[_0x5aa4[107]]],[mxConstants[_0x5aa4[110]],mxConstants[_0x5aa4[110]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[84]),[mxConstants[_0x5aa4[121]],mxConstants[_0x5aa4[107]]],[mxConstants[_0x5aa4[112]],mxConstants[_0x5aa4[108]]],null,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[82]),[mxConstants[_0x5aa4[122]],mxConstants[_0x5aa4[114]]],[mxConstants[_0x5aa4[115]],mxConstants[_0x5aa4[119]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[116]),[mxConstants[_0x5aa4[122]],mxConstants[_0x5aa4[114]]],[mxConstants[_0x5aa4[117]],mxConstants[_0x5aa4[117]]],null,_0x6f35x4);this[_0x5aa4[20]](_0x6f35x3,mxResources[_0x5aa4[26]](_0x5aa4[85]),[mxConstants[_0x5aa4[122]],mxConstants[_0x5aa4[114]]],[mxConstants[_0x5aa4[119]],mxConstants[_0x5aa4[115]]],null,_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[123], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[124]),null,function(){_0x6f35x2[_0x5aa4[71]](mxConstants.STYLE_FLIPH,false)},_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[125]),null,function(){_0x6f35x2[_0x5aa4[71]](mxConstants.STYLE_FLIPV,false)},_0x6f35x4);this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[95],_0x5aa4[126],_0x5aa4[127]],_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[128], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[106]),null,function(){_0x6f35x2[_0x5aa4[129]](mxConstants.ALIGN_LEFT)},_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[109]),null,function(){_0x6f35x2[_0x5aa4[129]](mxConstants.ALIGN_CENTER)},_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[111]),null,function(){_0x6f35x2[_0x5aa4[129]](mxConstants.ALIGN_RIGHT)},_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[113]),null,function(){_0x6f35x2[_0x5aa4[129]](mxConstants.ALIGN_TOP)},_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[116]),null,function(){_0x6f35x2[_0x5aa4[129]](mxConstants.ALIGN_MIDDLE)},_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[118]),null,function(){_0x6f35x2[_0x5aa4[129]](mxConstants.ALIGN_BOTTOM)},_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[130], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[131]),null,mxUtils[_0x5aa4[29]](this,function(){var _0x6f35xc= new mxHierarchicalLayout(_0x6f35x2,mxConstants.DIRECTION_WEST);this[_0x5aa4[0]][_0x5aa4[132]](_0x6f35xc,true,true)}),_0x6f35x4);_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x5aa4[133]),null,mxUtils[_0x5aa4[29]](this,function(){var _0x6f35xc= new mxHierarchicalLayout(_0x6f35x2,mxConstants.DIRECTION_NORTH);this[_0x5aa4[0]][_0x5aa4[132]](_0x6f35xc,true,true)}),_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[134], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[135],_0x5aa4[95],_0x5aa4[136],_0x5aa4[137],_0x5aa4[95],_0x5aa4[138],_0x5aa4[139]],_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[140], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[141],_0x5aa4[142],_0x5aa4[95]],_0x6f35x4);this[_0x5aa4[94]](_0x5aa4[130],_0x6f35x3,_0x6f35x4);_0x6f35x3[_0x5aa4[24]](_0x6f35x4);this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[95],_0x5aa4[143],_0x5aa4[144],_0x5aa4[145]],_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[146], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[147]],_0x6f35x4);_0x6f35x3[_0x5aa4[24]]();var _0x6f35xd=[0.25,0.5,0.75,1,2,4];for(var _0x6f35x6=0;_0x6f35x6< _0x6f35xd[_0x5aa4[18]];_0x6f35x6++){(function(_0x6f35xe){_0x6f35x3[_0x5aa4[72]]((_0x6f35xe* 100)+ _0x5aa4[148],null,function(){_0x6f35x2[_0x5aa4[149]](_0x6f35xe)},_0x6f35x4)})(_0x6f35xd[_0x6f35x6])};this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[95],_0x5aa4[150],_0x5aa4[151],_0x5aa4[95],_0x5aa4[152],_0x5aa4[153],_0x5aa4[95],_0x5aa4[154],_0x5aa4[155]],_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[156], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[157],_0x5aa4[158],_0x5aa4[95],_0x5aa4[159],_0x5aa4[160],_0x5aa4[161],_0x5aa4[95],_0x5aa4[162],_0x5aa4[95],_0x5aa4[163],_0x5aa4[164],_0x5aa4[95],_0x5aa4[165],_0x5aa4[166],_0x5aa4[95],_0x5aa4[167]],_0x6f35x4)})));this[_0x5aa4[30]](_0x5aa4[168], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[169],_0x5aa4[170],_0x5aa4[95],_0x5aa4[171],_0x5aa4[172],_0x5aa4[173],_0x5aa4[174],_0x5aa4[95],_0x5aa4[175],_0x5aa4[95],_0x5aa4[176],_0x5aa4[177],_0x5aa4[178]])})));this[_0x5aa4[30]](_0x5aa4[179], new Menu(mxUtils[_0x5aa4[29]](this,function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[179],_0x5aa4[95],_0x5aa4[180]])})))};Menus[_0x5aa4[5]][_0x5aa4[30]]= function(_0x6f35xf,_0x6f35x3){this[_0x5aa4[1]][_0x6f35xf]= _0x6f35x3};Menus[_0x5aa4[5]][_0x5aa4[26]]= function(_0x6f35xf){return this[_0x5aa4[1]][_0x6f35xf]};Menus[_0x5aa4[5]][_0x5aa4[94]]= function(_0x6f35xf,_0x6f35x3,_0x6f35x4){var _0x6f35xb=this[_0x5aa4[26]](_0x6f35xf)[_0x5aa4[78]];if(_0x6f35x3[_0x5aa4[81]]|| _0x6f35xb){var _0x6f35x10=_0x6f35x3[_0x5aa4[72]](mxResources[_0x5aa4[26]](_0x6f35xf),null,null,_0x6f35x4,null,_0x6f35xb);this[_0x5aa4[181]](_0x6f35xf,_0x6f35x3,_0x6f35x10)}};Menus[_0x5aa4[5]][_0x5aa4[181]]= function(_0x6f35xf,_0x6f35x11,_0x6f35x4){var _0x6f35x3=this[_0x5aa4[26]](_0x6f35xf);if(_0x6f35x3!= null&& (_0x6f35x11[_0x5aa4[81]]|| _0x6f35x3[_0x5aa4[78]])){this[_0x5aa4[26]](_0x6f35xf)[_0x5aa4[182]](_0x6f35x11,_0x6f35x4)}};Menus[_0x5aa4[5]][_0x5aa4[20]]= function(_0x6f35x3,_0x6f35x12,_0x6f35x13,_0x6f35x14,_0x6f35x15,_0x6f35x4){return _0x6f35x3[_0x5aa4[72]](_0x6f35x12,null,mxUtils[_0x5aa4[29]](this,function(){var _0x6f35x2=this[_0x5aa4[0]][_0x5aa4[7]][_0x5aa4[6]];_0x6f35x2[_0x5aa4[184]]()[_0x5aa4[183]]();try{for(var _0x6f35x6=0;_0x6f35x6< _0x6f35x13[_0x5aa4[18]];_0x6f35x6++){_0x6f35x2[_0x5aa4[185]](_0x6f35x13[_0x6f35x6],_0x6f35x14[_0x6f35x6])}}finally{_0x6f35x2[_0x5aa4[184]]()[_0x5aa4[186]]()}}),_0x6f35x4,_0x6f35x15)};Menus[_0x5aa4[5]][_0x5aa4[28]]= function(_0x6f35x3,_0x6f35x12,_0x6f35x16,_0x6f35x17,_0x6f35x18,_0x6f35x4,_0x6f35xb){return _0x6f35x3[_0x5aa4[72]](_0x6f35x12,null,mxUtils[_0x5aa4[29]](this,function(){var _0x6f35x2=this[_0x5aa4[0]][_0x5aa4[7]][_0x5aa4[6]];var _0x6f35x19=_0x6f35x17;var _0x6f35x1a=_0x6f35x2[_0x5aa4[189]]()[_0x5aa4[188]](_0x6f35x2[_0x5aa4[187]]());if(_0x6f35x1a!= null){_0x6f35x19= _0x6f35x1a[_0x5aa4[21]][_0x6f35x18]|| _0x6f35x19};_0x6f35x19= mxUtils[_0x5aa4[192]](mxResources[_0x5aa4[26]](_0x5aa4[190])+ ((_0x6f35x16[_0x5aa4[18]]> 0)?(_0x5aa4[191]+ _0x6f35x16):_0x5aa4[27]),_0x6f35x19);if(_0x6f35x19!= null&& _0x6f35x19[_0x5aa4[18]]> 0){_0x6f35x2[_0x5aa4[185]](_0x6f35x18,_0x6f35x19)}}),_0x6f35x4,null,_0x6f35xb)};Menus[_0x5aa4[5]][_0x5aa4[92]]= function(_0x6f35x3,_0x6f35x18,_0x6f35x4){var _0x6f35x1b=this[_0x5aa4[0]][_0x5aa4[80]][_0x5aa4[26]](_0x6f35x18);if(_0x6f35x1b!= null&& (_0x6f35x3[_0x5aa4[81]]|| _0x6f35x1b[_0x5aa4[78]])){var _0x6f35x1c=_0x6f35x3[_0x5aa4[72]](_0x6f35x1b[_0x5aa4[193]],null,_0x6f35x1b[_0x5aa4[194]],_0x6f35x4,null,_0x6f35x1b[_0x5aa4[78]]);if(_0x6f35x1b[_0x5aa4[195]]&& _0x6f35x1b[_0x5aa4[196]]()){this[_0x5aa4[197]](_0x6f35x1c)};this[_0x5aa4[198]](_0x6f35x1c,_0x6f35x1b);return _0x6f35x1c};return null};Menus[_0x5aa4[5]][_0x5aa4[198]]= function(_0x6f35x1c,_0x6f35x1b){if(_0x6f35x1b[_0x5aa4[199]]!= null){var _0x6f35x1d=_0x6f35x1c[_0x5aa4[23]][_0x5aa4[22]][_0x5aa4[22]];var _0x6f35x1e=document[_0x5aa4[201]](_0x5aa4[200]);_0x6f35x1e[_0x5aa4[21]][_0x5aa4[202]]= _0x5aa4[203];mxUtils[_0x5aa4[204]](_0x6f35x1e,_0x6f35x1b[_0x5aa4[199]]);_0x6f35x1d[_0x5aa4[205]](_0x6f35x1e)}};Menus[_0x5aa4[5]][_0x5aa4[197]]= function(_0x6f35x1c){var _0x6f35x1d=_0x6f35x1c[_0x5aa4[23]][_0x5aa4[22]];_0x6f35x1d[_0x5aa4[21]][_0x5aa4[206]]= _0x5aa4[207]+ IMAGE_PATH+ _0x5aa4[208];_0x6f35x1d[_0x5aa4[21]][_0x5aa4[209]]= _0x5aa4[210];_0x6f35x1d[_0x5aa4[21]][_0x5aa4[211]]= _0x5aa4[212]};Menus[_0x5aa4[5]][_0x5aa4[99]]= function(_0x6f35x3,_0x6f35x13,_0x6f35x4){for(var _0x6f35x6=0;_0x6f35x6< _0x6f35x13[_0x5aa4[18]];_0x6f35x6++){if(_0x6f35x13[_0x6f35x6]== _0x5aa4[95]){_0x6f35x3[_0x5aa4[24]](_0x6f35x4)}else {this[_0x5aa4[92]](_0x6f35x3,_0x6f35x13[_0x6f35x6],_0x6f35x4)}}};Menus[_0x5aa4[5]][_0x5aa4[213]]= function(_0x6f35x3,_0x6f35x1f,_0x6f35x20){var _0x6f35x2=this[_0x5aa4[0]][_0x5aa4[7]][_0x5aa4[6]];_0x6f35x3[_0x5aa4[214]]= true;if(_0x6f35x2[_0x5aa4[215]]()){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[169],_0x5aa4[170],_0x5aa4[95],_0x5aa4[173],_0x5aa4[95]])}else {this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[174],_0x5aa4[95],_0x5aa4[171],_0x5aa4[172],_0x5aa4[95],_0x5aa4[175]]);if(_0x6f35x2[_0x5aa4[216]]()== 1&& _0x6f35x2[_0x5aa4[184]]()[_0x5aa4[217]](_0x6f35x2[_0x5aa4[187]]())){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[218]])};_0x6f35x3[_0x5aa4[24]]()};if(_0x6f35x2[_0x5aa4[216]]()> 0){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[141],_0x5aa4[142],_0x5aa4[95]]);if(_0x6f35x2[_0x5aa4[184]]()[_0x5aa4[217]](_0x6f35x2[_0x5aa4[187]]())){var _0x6f35x21=false;var _0x6f35x1f=_0x6f35x2[_0x5aa4[187]]();if(_0x6f35x1f!= null&& _0x6f35x2[_0x5aa4[184]]()[_0x5aa4[217]](_0x6f35x1f)){var _0x6f35x22=_0x6f35x2[_0x5aa4[220]][_0x5aa4[219]](_0x6f35x1f);if(_0x6f35x22 instanceof mxEdgeHandler&& _0x6f35x22[_0x5aa4[221]]!= null&& _0x6f35x22[_0x5aa4[221]][_0x5aa4[18]]> 2){var _0x6f35x23=_0x6f35x22[_0x5aa4[222]]( new mxMouseEvent(_0x6f35x20));var _0x6f35x24=this[_0x5aa4[0]][_0x5aa4[80]][_0x5aa4[26]](_0x5aa4[223]);_0x6f35x24[_0x5aa4[224]]= _0x6f35x22;_0x6f35x24[_0x5aa4[225]]= _0x6f35x23;_0x6f35x21= _0x6f35x23> 0&& _0x6f35x23< _0x6f35x22[_0x5aa4[221]][_0x5aa4[18]]}};this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[95],(_0x6f35x21)?_0x5aa4[223]:_0x5aa4[226]])}else {if(_0x6f35x2[_0x5aa4[216]]()> 1){_0x6f35x3[_0x5aa4[24]]();this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[143]])}};_0x6f35x3[_0x5aa4[24]]();if(_0x6f35x2[_0x5aa4[216]]()== 1){var _0x6f35x25=_0x6f35x2[_0x5aa4[227]](_0x6f35x2[_0x5aa4[187]]());if(_0x6f35x25!= null){this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[228]])}}}else {this[_0x5aa4[99]](_0x6f35x3,[_0x5aa4[95],_0x5aa4[176],_0x5aa4[177],_0x5aa4[95],_0x5aa4[178]])}};Menus[_0x5aa4[5]][_0x5aa4[229]]= function(_0x6f35x26){var _0x6f35x27= new Menubar(this[_0x5aa4[0]],_0x6f35x26);var _0x6f35x28=[_0x5aa4[156],_0x5aa4[168],_0x5aa4[146],_0x5aa4[91],_0x5aa4[93],_0x5aa4[140]];for(var _0x6f35x6=0;_0x6f35x6< _0x6f35x28[_0x5aa4[18]];_0x6f35x6++){_0x6f35x27[_0x5aa4[181]](mxResources[_0x5aa4[26]](_0x6f35x28[_0x6f35x6]),this[_0x5aa4[26]](_0x6f35x28[_0x6f35x6])[_0x5aa4[194]])};return _0x6f35x27};function Menubar(_0x6f35x1,_0x6f35x26){this[_0x5aa4[0]]= _0x6f35x1;this[_0x5aa4[230]]= _0x6f35x26;mxEvent[_0x5aa4[232]](document,mxUtils[_0x5aa4[29]](this,function(_0x6f35x20){this[_0x5aa4[231]]()}))}Menubar[_0x5aa4[5]][_0x5aa4[231]]= function(){if(this[_0x5aa4[233]]!= null){this[_0x5aa4[233]][_0x5aa4[231]]()}};Menubar[_0x5aa4[5]][_0x5aa4[181]]= function(_0x6f35x12,_0x6f35x2a){var _0x6f35x2b=document[_0x5aa4[201]](_0x5aa4[234]);_0x6f35x2b[_0x5aa4[237]](_0x5aa4[235],_0x5aa4[236]);_0x6f35x2b[_0x5aa4[238]]= _0x5aa4[239];mxUtils[_0x5aa4[204]](_0x6f35x2b,_0x6f35x12);this[_0x5aa4[240]](_0x6f35x2b,_0x6f35x2a);this[_0x5aa4[230]][_0x5aa4[205]](_0x6f35x2b);return _0x6f35x2b};Menubar[_0x5aa4[5]][_0x5aa4[240]]= function(_0x6f35x2b,_0x6f35x2a){if(_0x6f35x2a!= null){var _0x6f35x2c=true;var _0x6f35x2d=mxUtils[_0x5aa4[29]](this,function(_0x6f35x20){if(_0x6f35x2c&& _0x6f35x2b[_0x5aa4[78]]== null|| _0x6f35x2b[_0x5aa4[78]]){this[_0x5aa4[0]][_0x5aa4[7]][_0x5aa4[6]][_0x5aa4[241]][_0x5aa4[231]]();var _0x6f35x3= new mxPopupMenu(_0x6f35x2a);_0x6f35x3[_0x5aa4[242]][_0x5aa4[238]]+= _0x5aa4[243];_0x6f35x3[_0x5aa4[214]]= true;_0x6f35x3[_0x5aa4[81]]= true;_0x6f35x3[_0x5aa4[244]]= true;_0x6f35x3[_0x5aa4[231]]= mxUtils[_0x5aa4[29]](this,function(){mxPopupMenu[_0x5aa4[5]][_0x5aa4[231]][_0x5aa4[245]](_0x6f35x3,arguments);_0x6f35x3[_0x5aa4[246]]();this[_0x5aa4[233]]= null;this[_0x5aa4[247]]= null});var _0x6f35x2e=_0x6f35x2b[_0x5aa4[248]]+ document[_0x5aa4[251]](_0x5aa4[250])[_0x5aa4[249]]+ 22;var _0x6f35x2f=_0x6f35x2b[_0x5aa4[252]]+ _0x6f35x2b[_0x5aa4[253]]+ 140;_0x6f35x3[_0x5aa4[254]](_0x6f35x2e,_0x6f35x2f,null,_0x6f35x20);this[_0x5aa4[233]]= _0x6f35x3;this[_0x5aa4[247]]= _0x6f35x2b};_0x6f35x2c= true;mxEvent[_0x5aa4[255]](_0x6f35x20)});mxEvent[_0x5aa4[257]](_0x6f35x2b,_0x5aa4[256],mxUtils[_0x5aa4[29]](this,function(_0x6f35x20){if(this[_0x5aa4[233]]!= null&& this[_0x5aa4[247]]!= _0x6f35x2b){this[_0x5aa4[231]]();_0x6f35x2d(_0x6f35x20)}}));mxEvent[_0x5aa4[257]](_0x6f35x2b,_0x5aa4[258],mxUtils[_0x5aa4[29]](this,function(){_0x6f35x2c= this[_0x5aa4[247]]!= _0x6f35x2b}));mxEvent[_0x5aa4[257]](_0x6f35x2b,_0x5aa4[259],_0x6f35x2d)}};function Menu(_0x6f35x2a,_0x6f35xb){mxEventSource[_0x5aa4[260]](this);this[_0x5aa4[194]]= _0x6f35x2a;this[_0x5aa4[78]]= (_0x6f35xb!= null)?_0x6f35xb:true}mxUtils[_0x5aa4[261]](Menu,mxEventSource);Menu[_0x5aa4[5]][_0x5aa4[262]]= function(_0x6f35x19){if(this[_0x5aa4[78]]!= _0x6f35x19){this[_0x5aa4[78]]= _0x6f35x19;this[_0x5aa4[264]]( new mxEventObject(_0x5aa4[263]))}};Menu[_0x5aa4[5]][_0x5aa4[182]]= function(_0x6f35x3,_0x6f35x4){this[_0x5aa4[194]](_0x6f35x3,_0x6f35x4)}
\ No newline at end of file
-/**
- * $Id: Shapes.js,v 1.13 2013-02-02 06:44:30 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-
-/**
- * Registers shapes.
- */
-(function()
-{
- // Cube Shape, supports size style
- function CubeShape() { };
- CubeShape.prototype = new mxCylinder();
- CubeShape.prototype.constructor = CubeShape;
- CubeShape.prototype.size = 20;
- CubeShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = Math.min(w, Math.min(h, mxUtils.getValue(this.style, 'size', this.size)));
-
- if (isForeground)
- {
- path.moveTo(s, h);
- path.lineTo(s, s);
- path.lineTo(0, 0);
- path.moveTo(s, s);
- path.lineTo(w, s);
- path.end();
- }
- else
- {
- path.moveTo(0, 0);
- path.lineTo(w - s, 0);
- path.lineTo(w, s);
- path.lineTo(w, h);
- path.lineTo(s, h);
- path.lineTo(0, h - s);
- path.lineTo(0, 0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['cube'] = CubeShape;
-
- // Note Shape, supports size style
- function NoteShape() { };
- NoteShape.prototype = new mxCylinder();
- NoteShape.prototype.constructor = NoteShape;
- NoteShape.prototype.size = 30;
- NoteShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = Math.min(w, Math.min(h, mxUtils.getValue(this.style, 'size', this.size)));
-
- if (isForeground)
- {
- path.moveTo(w - s, 0);
- path.lineTo(w - s, s);
- path.lineTo(w, s);
- path.end();
- }
- else
- {
- path.moveTo(0, 0);
- path.lineTo(w - s, 0);
- path.lineTo(w, s);
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.lineTo(0, 0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['note'] = NoteShape;
-
- // Folder Shape, supports tabWidth, tabHeight styles
- function FolderShape() { };
- FolderShape.prototype = new mxCylinder();
- FolderShape.prototype.constructor = FolderShape;
- FolderShape.prototype.tabWidth = 60;
- FolderShape.prototype.tabHeight = 20;
- FolderShape.prototype.tabPosition = 'right';
- FolderShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var tw = mxUtils.getValue(this.style, 'tabWidth', this.tabWidth);
- var th = mxUtils.getValue(this.style, 'tabHeight', this.tabHeight);
- var tp = mxUtils.getValue(this.style, 'tabPosition', this.tabPosition);
- var dx = Math.min(w, tw);
- var dy = Math.min(h, th);
-
- if (isForeground)
- {
- if (tp == 'left')
- {
- path.moveTo(0, dy);
- path.lineTo(dx, dy);
- }
- // Right is default
- else
- {
- path.moveTo(w - dx, dy);
- path.lineTo(w, dy);
- }
-
- path.end();
- }
- else
- {
- if (tp == 'left')
- {
- path.moveTo(0, 0);
- path.lineTo(dx, 0);
- path.lineTo(dx, dy);
- path.lineTo(w, dy);
- }
- // Right is default
- else
- {
- path.moveTo(0, dy);
- path.lineTo(w - dx, dy);
- path.lineTo(w - dx, 0);
- path.lineTo(w, 0);
- }
-
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.lineTo(0, dy);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['folder'] = FolderShape;
-
- // Card Shape, supports size style
- function CardShape() { };
- CardShape.prototype = new mxCylinder();
- CardShape.prototype.constructor = CardShape;
- CardShape.prototype.size = 30;
- CardShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = Math.min(w, Math.min(h, mxUtils.getValue(this.style, 'size', this.size)));
-
- if (!isForeground)
- {
- path.moveTo(s, 0);
- path.lineTo(w, 0);
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.lineTo(0, s);
- path.lineTo(s, 0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['card'] = CardShape;
-
- // Tape Shape, supports size style
- function TapeShape() { };
- TapeShape.prototype = new mxCylinder();
- TapeShape.prototype.constructor = TapeShape;
- TapeShape.prototype.size = 0.4;
- TapeShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = mxUtils.getValue(this.style, 'size', this.size);
- var dy = h * s;
- var fy = 1.4;
-
- if (!isForeground)
- {
- path.moveTo(0, dy / 2);
- path.quadTo(w / 4, dy * fy, w / 2, dy / 2);
- path.quadTo(w * 3 / 4, dy * (1 - fy), w, dy / 2);
- path.lineTo(w, h - dy / 2);
- path.quadTo(w * 3 / 4, h - dy * fy, w / 2, h - dy / 2);
- path.quadTo(w / 4, h - dy * (1 - fy), 0, h - dy / 2);
- path.lineTo(0, dy / 2);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['tape'] = TapeShape;
-
- // Tape Shape, supports size style
- function StepShape() { };
- StepShape.prototype = new mxCylinder();
- StepShape.prototype.constructor = StepShape;
- StepShape.prototype.size = 0.2;
- StepShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = w * mxUtils.getValue(this.style, 'size', this.size);
-
- if (!isForeground)
- {
- path.moveTo(0, 0);
- path.lineTo(w - s, 0);
- path.lineTo(w, h / 2);
- path.lineTo(w - s, h);
- path.lineTo(0, h);
- path.lineTo(s, h / 2);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['step'] = StepShape;
-
- // Plus Shape
- function PlusShape()
- {
- mxRectangleShape.call(this);
- };
- mxUtils.extend(PlusShape, mxRectangleShape);
- PlusShape.prototype.isHtmlAllowed = function()
- {
- return false;
- };
- PlusShape.prototype.paintForeground = function(c, x, y, w, h)
- {
- var border = Math.min(w / 5, h / 5) + 1;
-
- c.begin();
- c.moveTo(x + w / 2, y + border);
- c.lineTo(x + w / 2, y + h - border);
- c.moveTo(x + border, y + h / 2);
- c.lineTo(x + w - border, y + h / 2);
- c.end();
- c.stroke();
- mxRectangleShape.prototype.paintForeground.apply(this, arguments);
- };
-
- mxCellRenderer.prototype.defaultShapes['plus'] = PlusShape;
-
- // CompositeShape
- function ExtendedShape()
- {
- mxRectangleShape.call(this);
- };
- mxUtils.extend(ExtendedShape, mxRectangleShape);
- ExtendedShape.prototype.isHtmlAllowed = function()
- {
- return false;
- };
- ExtendedShape.prototype.paintForeground = function(c, x, y, w, h)
- {
- if (this.style != null)
- {
- if (this.style['double'] == 1)
- {
- var inset = Math.max(2, this.strokewidth + 1);
-
- mxRectangleShape.prototype.paintBackground.call(this, c, x + inset, y + inset, w - 2 * inset, h - 2 * inset);
- mxRectangleShape.prototype.paintForeground.apply(this, arguments);
-
- x += inset;
- y += inset;
- w -= 2 * inset;
- h -= 2 * inset;
- }
-
- c.setDashed(false);
-
- // Draws the symbols defined in the style. The symbols are
- // numbered from 1...n. Possible postfixes are align,
- // verticalAlign, spacing, arcSpacing, width, height
- var counter = 0;
- var shape = null;
-
- do
- {
- shape = mxCellRenderer.prototype.defaultShapes[this.style['symbol' + counter]];
-
- if (shape != null)
- {
- var align = this.style['symbol' + counter + 'Align'];
- var valign = this.style['symbol' + counter + 'VerticalAlign'];
- var width = this.style['symbol' + counter + 'Width'];
- var height = this.style['symbol' + counter + 'Height'];
- var spacing = this.style['symbol' + counter + 'Spacing'] || 0;
- var arcspacing = this.style['symbol' + counter + 'ArcSpacing'];
-
- if (arcspacing != null)
- {
- spacing += this.getArcSize(w + this.strokewidth, h + this.strokewidth) * arcspacing;
- }
-
- var x2 = x;
- var y2 = y;
-
- if (align == mxConstants.ALIGN_CENTER)
- {
- x2 += (w - width) / 2;
- }
- else if (align == mxConstants.ALIGN_RIGHT)
- {
- x2 += w - width - spacing;
- }
- else
- {
- x2 += spacing;
- }
-
- if (valign == mxConstants.ALIGN_MIDDLE)
- {
- y2 += (h - height) / 2;
- }
- else if (valign == mxConstants.ALIGN_BOTTOM)
- {
- y2 += h - height - spacing;
- }
- else
- {
- y2 += spacing;
- }
-
- c.save();
-
- // Small hack to pass style along into subshape
- var tmp = new shape();
- // TODO: Clone style and override settings (eg. strokewidth)
- tmp.style = this.style;
- shape.prototype.paintVertexShape.call(tmp, c, x2, y2, width, height);
- c.restore();
- }
-
- counter++;
- }
- while (shape != null);
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['ext'] = ExtendedShape;
-
- // Tape Shape, supports size style
- function MessageShape() { };
- MessageShape.prototype = new mxCylinder();
- MessageShape.prototype.constructor = MessageShape;
- MessageShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- if (isForeground)
- {
- path.moveTo(0, 0);
- path.lineTo(w / 2, h / 2);
- path.lineTo(w, 0);
- path.end();
- }
- else
- {
- path.moveTo(0, 0);
- path.lineTo(w, 0);
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.close();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['message'] = MessageShape;
-
- // New Actor Shape
- function UmlActorShape() { };
- UmlActorShape.prototype = new mxCylinder();
- UmlActorShape.prototype.constructor = UmlActorShape;
- UmlActorShape.prototype.addPipe = true;
- UmlActorShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var width = w / 3;
- var height = h / 4;
-
- if (!isForeground)
- {
- path.moveTo(w / 2, height);
- path.curveTo(w / 2 - width, height, w / 2 - width, 0, w / 2, 0);
- path.curveTo(w / 2 + width, 0, w / 2 + width, height, w / 2, height);
- path.close();
-
- path.moveTo(w / 2, height);
- path.lineTo(w / 2, 2 * h / 3);
-
- // Arms
- path.moveTo(w / 2, h / 3);
- path.lineTo(0, h / 3);
- path.moveTo(w / 2, h / 3);
- path.lineTo(w, h / 3);
-
- // Legs
- path.moveTo(w / 2, 2 * h / 3);
- path.lineTo(0, h);
- path.moveTo(w / 2, 2 * h / 3);
- path.lineTo(w, h);
- path.end();
- }
- };
-
- // Replaces existing actor shape
- mxCellRenderer.prototype.defaultShapes['umlActor'] = UmlActorShape;
-
- // New Actor Shape
- function LollipopShape() { };
- LollipopShape.prototype = new mxCylinder();
- LollipopShape.prototype.constructor = LollipopShape;
- LollipopShape.prototype.size = 10;
- LollipopShape.prototype.addPipe = true;
- LollipopShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var ss = mxUtils.getValue(this.style, 'size', this.size);
- var width = ss * 2 / 3;
- var height = ss;
-
- if (!isForeground)
- {
- path.moveTo(w / 2, height);
- path.curveTo(w / 2 - width, height, w / 2 - width, 0, w / 2, 0);
- path.curveTo(w / 2 + width, 0, w / 2 + width, height, w / 2, height);
- path.close();
-
- path.moveTo(w / 2, height);
- path.lineTo(w / 2, h);
- path.end();
- }
- };
-
- // Replaces existing actor shape
- mxCellRenderer.prototype.defaultShapes['lollipop'] = LollipopShape;
-
- // Folder Shape, supports tabWidth, tabHeight styles
- function ComponentShape() { };
- ComponentShape.prototype = new mxCylinder();
- ComponentShape.prototype.constructor = ComponentShape;
- ComponentShape.prototype.jettyWidth = 32;
- ComponentShape.prototype.jettyHeight = 12;
- ComponentShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var dx = mxUtils.getValue(this.style, 'jettyWidth', this.jettyWidth);
- var dy = mxUtils.getValue(this.style, 'jettyHeight', this.jettyHeight);
- var x0 = dx / 2;
- var x1 = x0 + dx / 2;
- var y0 = 0.3 * h - dy / 2;
- var y1 = 0.7 * h - dy / 2;
-
- if (isForeground)
- {
- path.moveTo(x0, y0);
- path.lineTo(x1, y0);
- path.lineTo(x1, y0 + dy);
- path.lineTo(x0, y0 + dy);
- path.moveTo(x0, y1);
- path.lineTo(x1, y1);
- path.lineTo(x1, y1 + dy);
- path.lineTo(x0, y1 + dy);
- path.end();
- }
- else
- {
- path.moveTo(x0, 0);
- path.lineTo(w, 0);
- path.lineTo(w, h);
- path.lineTo(x0, h);
- path.lineTo(x0, y1 + dy);
- path.lineTo(0, y1 + dy);
- path.lineTo(0, y1);
- path.lineTo(x0, y1);
- path.lineTo(x0, y0 + dy);
- path.lineTo(0, y0 + dy);
- path.lineTo(0, y0);
- path.lineTo(x0, y0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['component'] = ComponentShape;
-
- // State Shapes derives from double ellipse
- function StateShape() { };
- StateShape.prototype = new mxDoubleEllipse();
- StateShape.prototype.constructor = StateShape;
- StateShape.prototype.outerStroke = true;
- StateShape.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- var inset = Math.min(4, Math.min(w / 5, h / 5));
-
- if (w > 0 && h > 0)
- {
- c.ellipse(x + inset, y + inset, w - 2 * inset, h - 2 * inset);
- c.fillAndStroke();
- }
-
- c.setShadow(false);
-
- if (this.outerStroke)
- {
- c.ellipse(x, y, w, h);
- c.stroke();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['endState'] = StateShape;
-
- function StartStateShape() { };
- StartStateShape.prototype = new StateShape();
- StartStateShape.prototype.constructor = StartStateShape;
- StartStateShape.prototype.outerStroke = false;
-
- mxCellRenderer.prototype.defaultShapes['startState'] = StartStateShape;
-
- // Image export for state shapes
- var imageExportInitShapes = mxImageExport.prototype.initShapes;
- mxImageExport.prototype.initShapes = function()
- {
- imageExportInitShapes.apply(this, arguments);
-
- function createStateShape(outerStroke)
- {
- return {
- drawShape: function(canvas, state, bounds, background)
- {
- var x = bounds.x;
- var y = bounds.y;
- var w = bounds.width;
- var h = bounds.height;
-
- if (background)
- {
- var inset = Math.min(4, Math.min(w / 5, h / 5));
- x += inset;
- y += inset;
- w -= 2 * inset;
- h -= 2 * inset;
-
- if (w > 0 && h > 0)
- {
- canvas.ellipse(x, y, w, h);
- }
-
- return true;
- }
- else
- {
- canvas.fillAndStroke();
-
- if (outerStroke)
- {
- canvas.ellipse(x, y, w, h);
- canvas.stroke();
- }
- }
- }
- };
- };
-
- this.shapes['endState'] = createStateShape(true);
- this.shapes['startState'] = createStateShape(false);
- };
-
- // Defines custom edge shape
- function LinkShape()
- {
- mxArrow.call(this);
- };
- mxUtils.extend(LinkShape, mxArrow);
- LinkShape.prototype.paintEdgeShape = function(c, pts)
- {
- var width = 10;
-
- // Base vector (between end points)
- var p0 = pts[0];
- var pe = pts[pts.length - 1];
-
- var dx = pe.x - p0.x;
- var dy = pe.y - p0.y;
- var dist = Math.sqrt(dx * dx + dy * dy);
- var length = dist;
-
- // Computes the norm and the inverse norm
- var nx = dx / dist;
- var ny = dy / dist;
- var basex = length * nx;
- var basey = length * ny;
- var floorx = width * ny/3;
- var floory = -width * nx/3;
-
- // Computes points
- var p0x = p0.x - floorx / 2;
- var p0y = p0.y - floory / 2;
- var p1x = p0x + floorx;
- var p1y = p0y + floory;
- var p2x = p1x + basex;
- var p2y = p1y + basey;
- var p3x = p2x + floorx;
- var p3y = p2y + floory;
- // p4 not necessary
- var p5x = p3x - 3 * floorx;
- var p5y = p3y - 3 * floory;
-
- c.begin();
- c.moveTo(p1x, p1y);
- c.lineTo(p2x, p2y);
- c.moveTo(p5x + floorx, p5y + floory);
- c.lineTo(p0x, p0y);
- c.stroke();
- };
-
- // Registers the link shape
- mxCellRenderer.prototype.defaultShapes['link'] = LinkShape;
-
- // Registers and defines the custom marker
- mxMarker.addMarker('dash', function(canvas, shape, type, pe, unitX, unitY, size, source, sw, filled)
- {
- var nx = unitX * (size + sw + 1);
- var ny = unitY * (size + sw + 1);
-
- return function()
- {
- canvas.begin();
- canvas.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2);
- canvas.lineTo(pe.x + ny / 2 - 3 * nx / 2, pe.y - 3 * ny / 2 - nx / 2);
- canvas.stroke();
- };
- });
-
- // Implements custom handlers
- var SPECIAL_HANDLE_INDEX = -99;
-
- // Handlers are only added if mxVertexHandler is defined (ie. not in embedded graph)
- if (typeof(mxVertexHandler) != 'undefined')
- {
- function mxExtVertexHandler(state)
- {
- mxVertexHandler.call(this, state);
- };
-
- mxUtils.extend(mxExtVertexHandler, mxVertexHandler);
-
- mxExtVertexHandler.prototype.useGridForSpecialHandle = false;
-
- mxExtVertexHandler.prototype.init = function()
- {
- this.horizontal = mxUtils.getValue(this.state.style, mxConstants.STYLE_HORIZONTAL, true);
- var graph = this.state.view.graph;
-
- if (this.handleImage != null)
- {
- var bounds = new mxRectangle(0, 0, this.handleImage.width, this.handleImage.height);
- this.specialHandle = new mxImageShape(bounds, this.handleImage.src);
- }
- else
- {
- var size = 10;
- var bounds = new mxRectangle(0, 0, size, size);
- this.specialHandle = new mxRhombus(bounds, mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR);
- }
-
- this.specialHandle.dialect = (graph.dialect != mxConstants.DIALECT_SVG) ?
- mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
- this.specialHandle.init(graph.getView().getOverlayPane());
- this.specialHandle.node.style.cursor = this.getSpecialHandleCursor();
-
- mxEvent.redirectMouseEvents(this.specialHandle.node, graph, this.state);
- mxVertexHandler.prototype.init.apply(this, arguments);
- };
-
- mxExtVertexHandler.prototype.getSpecialHandleCursor = function()
- {
- return 'default';
- };
-
- mxExtVertexHandler.prototype.redraw = function()
- {
- mxVertexHandler.prototype.redraw.apply(this, arguments);
-
- var size = this.specialHandle.bounds.width;
- this.specialHandle.bounds = this.getSpecialHandleBounds(size);
- this.specialHandle.redraw();
- };
-
- mxExtVertexHandler.prototype.destroy = function()
- {
- mxVertexHandler.prototype.destroy.apply(this, arguments);
-
- if (this.specialHandle != null)
- {
- this.specialHandle.destroy();
- this.specialHandle = null;
- }
- };
-
- mxExtVertexHandler.prototype.getHandleForEvent = function(me)
- {
- if (me.isSource(this.specialHandle))
- {
- return SPECIAL_HANDLE_INDEX;
- }
-
- return mxVertexHandler.prototype.getHandleForEvent.apply(this, arguments);
- };
-
- mxExtVertexHandler.prototype.mouseMove = function(sender, me)
- {
- if (!me.isConsumed() && this.index == SPECIAL_HANDLE_INDEX)
- {
- var point = new mxPoint(me.getGraphX(), me.getGraphY());
- this.constrainPoint(point);
- var gridEnabled = this.graph.isGridEnabledEvent(me.getEvent());
- var scale = this.graph.getView().scale;
-
- if (gridEnabled && this.useGridForSpecialHandle)
- {
- point.x = this.graph.snap(point.x / scale) * scale;
- point.y = this.graph.snap(point.y / scale) * scale;
- }
-
- this.updateStyle(point);
- this.moveSizerTo(this.specialHandle, point.x, point.y);
- this.state.view.graph.cellRenderer.redraw(this.state, true);
- me.consume();
- }
- else
- {
- mxVertexHandler.prototype.mouseMove.apply(this, arguments);
- }
- };
-
- mxExtVertexHandler.prototype.mouseUp = function(sender, me)
- {
- if (!me.isConsumed() && this.index == SPECIAL_HANDLE_INDEX)
- {
- this.applyStyle();
- this.reset();
- me.consume();
- }
- else
- {
- mxVertexHandler.prototype.mouseUp.apply(this, arguments);
- }
- };
-
- mxExtVertexHandler.prototype.getSpecialHandleBounds = function(size)
- {
- var rotation = this.state.shape.getShapeRotation();
- var alpha = mxUtils.toRadians(rotation);
- var cos = Math.cos(alpha);
- var sin = Math.sin(alpha);
-
- var bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
-
- if (this.state.shape.isPaintBoundsInverted())
- {
- var t = (bounds.width - bounds.height) / 2;
- bounds.x += t;
- bounds.y -= t;
- var tmp = bounds.width;
- bounds.width = bounds.height;
- bounds.height = tmp;
- }
-
- var pt = this.getSpecialHandlePoint(bounds);
-
- if (this.state.shape.flipH)
- {
- pt.x = 2 * bounds.x + bounds.width - pt.x;
- }
-
- if (this.state.shape.flipV)
- {
- pt.y = 2 * bounds.y + bounds.height - pt.y;
- }
-
- pt = mxUtils.getRotatedPoint(pt, cos, sin,
- new mxPoint(this.state.getCenterX(), this.state.getCenterY()));
-
- return new mxRectangle(pt.x - size / 2, pt.y - size / 2, size, size);
- };
-
- mxExtVertexHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- // Hook for subclassers
- return null;
- };
-
- mxExtVertexHandler.prototype.updateStyle = function(point)
- {
- // Hook for subclassers
- };
-
- mxExtVertexHandler.prototype.constrainPoint = function(point)
- {
- point.x = Math.max(this.state.x, Math.min(this.state.x + this.state.width, point.x));
- point.y = Math.max(this.state.y, Math.min(this.state.y + this.state.height, point.y));
- };
-
- mxExtVertexHandler.prototype.applyStyle = function()
- {
- // Hook for subclassers
- };
-
- // Folder Handler
- function mxFolderHandler(state)
- {
- mxExtVertexHandler.call(this, state);
- };
-
- mxUtils.extend(mxFolderHandler, mxExtVertexHandler);
-
- mxFolderHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var tw = Math.min(bounds.width, mxUtils.getValue(this.state.style, 'tabWidth', 60) * scale);
- var th = Math.min(bounds.height, mxUtils.getValue(this.state.style, 'tabHeight', 20) * scale);
-
- var tp = mxUtils.getValue(this.state.style, 'tabPosition', 'right');
- var x = (tp == 'left') ? bounds.x + tw : bounds.x + bounds.width - tw;
-
- return new mxPoint(x, bounds.y + th);
- };
-
- mxFolderHandler.prototype.updateStyle = function(point)
- {
- var rotation = this.state.shape.getShapeRotation();
- var alpha = mxUtils.toRadians(rotation);
- var cos = Math.cos(-alpha);
- var sin = Math.sin(-alpha);
-
- var bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
-
- if (this.state.shape.isPaintBoundsInverted())
- {
- var t = (bounds.width - bounds.height) / 2;
- bounds.x += t;
- bounds.y -= t;
- var tmp = bounds.width;
- bounds.width = bounds.height;
- bounds.height = tmp;
- }
-
- var pt = new mxPoint(point.x, point.y);
- pt = mxUtils.getRotatedPoint(pt, cos, sin,
- new mxPoint(this.state.getCenterX(), this.state.getCenterY()));
-
- if (this.state.shape.flipH)
- {
- pt.x = 2 * bounds.x + bounds.width - pt.x;
- }
-
- if (this.state.shape.flipV)
- {
- pt.y = 2 * bounds.y + bounds.height - pt.y;
- }
-
- var result = this.updateStyleUnrotated(pt, bounds);
-
- // Modifies point to use rotated coordinates of return value
- if (result != null)
- {
- if (this.state.shape.flipH)
- {
- result.x = 2 * bounds.x + bounds.width - result.x;
- }
-
- if (this.state.shape.flipV)
- {
- result.y = 2 * bounds.y + bounds.height - result.y;
- }
-
- cos = Math.cos(alpha);
- sin = Math.sin(alpha);
- result = mxUtils.getRotatedPoint(result, cos, sin,
- new mxPoint(this.state.getCenterX(), this.state.getCenterY()));
- point.x = result.x;
- point.y = result.y;
- }
- };
-
- mxFolderHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var tp = mxUtils.getValue(this.state.style, 'tabPosition', 'right');
- var tw = (tp == 'left') ? pt.x - bounds.x : bounds.x + bounds.width - pt.x;
- var th = pt.y - bounds.y;
-
- var scale = this.graph.getView().scale;
- this.state.style['tabWidth'] = Math.round(Math.max(1, tw) / scale);
- this.state.style['tabHeight'] = Math.round(Math.max(1, th) / scale);
- };
-
- mxFolderHandler.prototype.applyStyle = function()
- {
- var model = this.graph.getModel();
- model.beginUpdate();
- try
- {
- this.state.view.graph.setCellStyles('tabWidth', this.state.style['tabWidth'], [this.state.cell]);
- this.state.view.graph.setCellStyles('tabHeight', this.state.style['tabHeight'], [this.state.cell]);
- }
- finally
- {
- model.endUpdate();
- }
- };
-
- // Swimlane Handler
- function mxSwimlaneHandler(state)
- {
- mxFolderHandler.call(this, state);
- };
-
- mxUtils.extend(mxSwimlaneHandler, mxFolderHandler);
-
- mxSwimlaneHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var startSize = mxUtils.getValue(this.state.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE);
-
- return new mxPoint(bounds.x + bounds.width / 2, bounds.y + Math.min(bounds.height, startSize * scale));
- };
-
- mxSwimlaneHandler.prototype.updateStyleUnrotated = function(point, bounds)
- {
- point.x = bounds.x + bounds.width / 2;
- startSize = point.y - bounds.y;
- var scale = this.graph.getView().scale;
- this.state.style['startSize'] = Math.round(Math.max(1, startSize) / scale);
-
- return point;
- };
-
- mxSwimlaneHandler.prototype.applyStyle = function()
- {
- this.state.view.graph.setCellStyles('startSize', this.state.style['startSize'], [this.state.cell]);
- };
-
- // Cube Handler
- function mxCubeHandler(state)
- {
- mxFolderHandler.call(this, state);
- };
-
- mxUtils.extend(mxCubeHandler, mxFolderHandler);
-
- mxCubeHandler.prototype.defaultValue = 20;
-
- mxCubeHandler.prototype.scaleFactor = 1;
-
- mxCubeHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var sz = Math.min(bounds.width, Math.min(bounds.height,
- mxUtils.getValue(this.state.style, 'size', this.defaultValue) * scale / this.scaleFactor));
-
- return new mxPoint(bounds.x + sz, bounds.y + sz);
- };
-
- mxCubeHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.max(0, Math.min(Math.min(bounds.width / this.scaleFactor, pt.x - bounds.x),
- Math.min(bounds.height / this.scaleFactor, pt.y - bounds.y)));
- var scale = this.graph.getView().scale;
- this.state.style['size'] = Math.round(Math.max(1, size) / scale) * this.scaleFactor;
-
- // Stays on the diagonal
- return new mxPoint(bounds.x + size, bounds.y + size);
- };
-
- mxCubeHandler.prototype.applyStyle = function()
- {
- this.state.view.graph.setCellStyles('size', this.state.style['size'], [this.state.cell]);
- };
-
- // Card Handler
- function mxCardHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxCardHandler, mxCubeHandler);
-
- mxCardHandler.prototype.defaultValue = 30;
-
- mxCardHandler.prototype.scaleFactor = 2;
-
- // Note Handler
- function mxNoteHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxNoteHandler, mxCubeHandler);
-
- mxNoteHandler.prototype.defaultValue = 30;
-
- mxNoteHandler.prototype.scaleFactor = 1;
-
- mxNoteHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var sz = Math.min(bounds.width, Math.min(bounds.height,
- mxUtils.getValue(this.state.style, 'size', this.defaultValue) * scale / this.scaleFactor));
-
- return new mxPoint(bounds.x + bounds.width - sz, bounds.y + sz);
- };
-
- mxNoteHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.max(0, Math.min(Math.min(bounds.width / this.scaleFactor, pt.x - bounds.x + bounds.width),
- Math.min(bounds.height / this.scaleFactor, pt.y - bounds.y)));
- var scale = this.graph.getView().scale;
- this.state.style['size'] = Math.round(Math.max(1, size) / scale) * this.scaleFactor;
-
- // Stays on the diagonal
- return new mxPoint(bounds.x + bounds.width - size, bounds.y + size);
- };
-
- // Step Handler
- function mxStepHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxStepHandler, mxCubeHandler);
-
- mxStepHandler.prototype.defaultValue = 0.2;
-
- mxStepHandler.prototype.scaleFactor = 1;
-
- mxStepHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var sz = mxUtils.getValue(this.state.style, 'size', this.defaultValue);
-
- return new mxPoint(bounds.x + bounds.width * sz, bounds.y + bounds.height / 2);
- };
-
- mxStepHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.min(1, (pt.x - bounds.x) / bounds.width);
- this.state.style['size'] = size;
-
- return new mxPoint(bounds.x + size * bounds.width, bounds.y + bounds.height / 2);
- };
-
- // Tape Handler
- function mxTapeHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxTapeHandler, mxCubeHandler);
-
- mxTapeHandler.prototype.defaultValue = 0.4;
-
- mxTapeHandler.prototype.scaleFactor = 1;
-
- mxTapeHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var sz = mxUtils.getValue(this.state.style, 'size', this.defaultValue);
-
- return new mxPoint(bounds.x + bounds.width / 2, bounds.y + sz * bounds.height / 2);
- };
-
- mxTapeHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.max(0, Math.min(1, ((pt.y - bounds.y) / bounds.height) * 2));
- this.state.style['size'] = size;
-
- return new mxPoint(bounds.x + bounds.width / 2, bounds.y + size * bounds.height / 2);
- };
-
- var handlers = {'swimlane': mxSwimlaneHandler, 'folder': mxFolderHandler, 'cube': mxCubeHandler,
- 'card': mxCardHandler, 'note': mxNoteHandler, 'step': mxStepHandler, 'tape': mxTapeHandler};
-
- var mxGraphCreateHandler = mxGraph.prototype.createHandler;
- mxGraph.prototype.createHandler = function(state)
- {
- if (state != null)
- {
- var ctor = handlers[state.style['shape']];
-
- if (ctor != null)
- {
- return new ctor(state);
- }
- }
-
- return mxGraphCreateHandler.apply(this, arguments);
- };
- }
-
- // Constraints
- mxGraph.prototype.getAllConnectionConstraints = function(terminal, source)
- {
- if (terminal != null && terminal.shape != null)
- {
- if (terminal.shape.stencil != null)
- {
- if (terminal.shape.stencil != null)
- {
- return terminal.shape.stencil.constraints;
- }
- }
- else if (terminal.shape.constraints != null)
- {
- return terminal.shape.constraints;
- }
- }
-
- return null;
- };
-
- mxRectangleShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0), true),
- new mxConnectionConstraint(new mxPoint(0, 0.25), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0, 0.75), true),
- new mxConnectionConstraint(new mxPoint(1, 0.25), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true)];
- mxLabel.prototype.constraints = mxRectangleShape.prototype.constraints;
- mxImageShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- mxSwimlane.prototype.constraints = mxRectangleShape.prototype.constraints;
- PlusShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- NoteShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- CardShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- CubeShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- FolderShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- mxCylinder.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.15, 0.05), false),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.85, 0.05), false),
- new mxConnectionConstraint(new mxPoint(0, 0.3), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0, 0.7), true),
- new mxConnectionConstraint(new mxPoint(1, 0.3), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.7), true),
- new mxConnectionConstraint(new mxPoint(0.15, 0.95), false),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.85, 0.95), false)];
- UmlActorShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0.1), false),
- new mxConnectionConstraint(new mxPoint(0.5, 0), false),
- new mxConnectionConstraint(new mxPoint(0.75, 0.1), false),
- new mxConnectionConstraint(new mxPoint(0, 1/3), false),
- new mxConnectionConstraint(new mxPoint(0, 1), false),
- new mxConnectionConstraint(new mxPoint(1, 1/3), false),
- new mxConnectionConstraint(new mxPoint(1, 1), false),
- new mxConnectionConstraint(new mxPoint(0.5, 0.5), false)];
- ComponentShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0), true),
- new mxConnectionConstraint(new mxPoint(0, 0.3), true),
- new mxConnectionConstraint(new mxPoint(0, 0.7), true),
- new mxConnectionConstraint(new mxPoint(1, 0.25), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true)];
- mxActor.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.25, 0.2), false),
- new mxConnectionConstraint(new mxPoint(0.1, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0.9, 0.5), false),
- new mxConnectionConstraint(new mxPoint(1, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true)];
- TapeShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0.35), false),
- new mxConnectionConstraint(new mxPoint(0, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0, 0.65), false),
- new mxConnectionConstraint(new mxPoint(1, 0.35), false),
- new mxConnectionConstraint(new mxPoint(1, 0.5), false),
- new mxConnectionConstraint(new mxPoint(1, 0.65), false),
- new mxConnectionConstraint(new mxPoint(0.25, 1), false),
- new mxConnectionConstraint(new mxPoint(0.75, 0), false)];
- // TODO: Relative ports
- StepShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true),
- new mxConnectionConstraint(new mxPoint(0.1, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0.2, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.1, 0.75), false),
- new mxConnectionConstraint(new mxPoint(0.9, 0.25), false),
- new mxConnectionConstraint(new mxPoint(1, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.9, 0.75), false)];
- mxLine.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.25, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.75, 0.5), false),
- new mxConnectionConstraint(new mxPoint(1, 0.5), false)];
- LollipopShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.5, 0), false),
- new mxConnectionConstraint(new mxPoint(0.5, 1), false)];
- mxEllipse.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0), true), new mxConnectionConstraint(new mxPoint(1, 0), true),
- new mxConnectionConstraint(new mxPoint(0, 1), true), new mxConnectionConstraint(new mxPoint(1, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true), new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true), new mxConnectionConstraint(new mxPoint(1, 0.5))];
- mxDoubleEllipse.prototype.constraints = mxEllipse.prototype.constraints;
- mxRhombus.prototype.constraints = mxEllipse.prototype.constraints;
- mxTriangle.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0.25), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true)];
- mxHexagon.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.375, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.625, 0), true),
- new mxConnectionConstraint(new mxPoint(0.125, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0.125, 0.75), false),
- new mxConnectionConstraint(new mxPoint(0.875, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0.875, 0.75), false),
- new mxConnectionConstraint(new mxPoint(0.375, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.625, 1), true)];
- mxCloud.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0.4, 0.1), false),
- new mxConnectionConstraint(new mxPoint(0.16, 0.55), false),
- new mxConnectionConstraint(new mxPoint(0.07, 0.4), false),
- new mxConnectionConstraint(new mxPoint(0.31, 0.8), false),
- new mxConnectionConstraint(new mxPoint(0.13, 0.77), false),
- new mxConnectionConstraint(new mxPoint(0.8, 0.8), false),
- new mxConnectionConstraint(new mxPoint(0.55, 0.95), false),
- new mxConnectionConstraint(new mxPoint(0.875, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.96, 0.7), false),
- new mxConnectionConstraint(new mxPoint(0.625, 0.2), false),
- new mxConnectionConstraint(new mxPoint(0.88, 0.25), false)];
- mxArrow.prototype.constraints = null;
-})();
+var _0x3b0a=["\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","\x73\x69\x7A\x65","\x72\x65\x64\x72\x61\x77\x50\x61\x74\x68","\x73\x74\x79\x6C\x65","\x67\x65\x74\x56\x61\x6C\x75\x65","\x6D\x69\x6E","\x6D\x6F\x76\x65\x54\x6F","\x6C\x69\x6E\x65\x54\x6F","\x65\x6E\x64","\x63\x6C\x6F\x73\x65","\x63\x75\x62\x65","\x64\x65\x66\x61\x75\x6C\x74\x53\x68\x61\x70\x65\x73","\x6E\x6F\x74\x65","\x74\x61\x62\x57\x69\x64\x74\x68","\x74\x61\x62\x48\x65\x69\x67\x68\x74","\x74\x61\x62\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x72\x69\x67\x68\x74","\x6C\x65\x66\x74","\x66\x6F\x6C\x64\x65\x72","\x63\x61\x72\x64","\x71\x75\x61\x64\x54\x6F","\x74\x61\x70\x65","\x73\x74\x65\x70","\x63\x61\x6C\x6C","\x65\x78\x74\x65\x6E\x64","\x69\x73\x48\x74\x6D\x6C\x41\x6C\x6C\x6F\x77\x65\x64","\x70\x61\x69\x6E\x74\x46\x6F\x72\x65\x67\x72\x6F\x75\x6E\x64","\x62\x65\x67\x69\x6E","\x73\x74\x72\x6F\x6B\x65","\x61\x70\x70\x6C\x79","\x70\x6C\x75\x73","\x64\x6F\x75\x62\x6C\x65","\x73\x74\x72\x6F\x6B\x65\x77\x69\x64\x74\x68","\x6D\x61\x78","\x70\x61\x69\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x73\x65\x74\x44\x61\x73\x68\x65\x64","\x73\x79\x6D\x62\x6F\x6C","\x41\x6C\x69\x67\x6E","\x56\x65\x72\x74\x69\x63\x61\x6C\x41\x6C\x69\x67\x6E","\x57\x69\x64\x74\x68","\x48\x65\x69\x67\x68\x74","\x53\x70\x61\x63\x69\x6E\x67","\x41\x72\x63\x53\x70\x61\x63\x69\x6E\x67","\x67\x65\x74\x41\x72\x63\x53\x69\x7A\x65","\x41\x4C\x49\x47\x4E\x5F\x43\x45\x4E\x54\x45\x52","\x41\x4C\x49\x47\x4E\x5F\x52\x49\x47\x48\x54","\x41\x4C\x49\x47\x4E\x5F\x4D\x49\x44\x44\x4C\x45","\x41\x4C\x49\x47\x4E\x5F\x42\x4F\x54\x54\x4F\x4D","\x73\x61\x76\x65","\x70\x61\x69\x6E\x74\x56\x65\x72\x74\x65\x78\x53\x68\x61\x70\x65","\x72\x65\x73\x74\x6F\x72\x65","\x65\x78\x74","\x6D\x65\x73\x73\x61\x67\x65","\x61\x64\x64\x50\x69\x70\x65","\x63\x75\x72\x76\x65\x54\x6F","\x75\x6D\x6C\x41\x63\x74\x6F\x72","\x6C\x6F\x6C\x6C\x69\x70\x6F\x70","\x6A\x65\x74\x74\x79\x57\x69\x64\x74\x68","\x6A\x65\x74\x74\x79\x48\x65\x69\x67\x68\x74","\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74","\x6F\x75\x74\x65\x72\x53\x74\x72\x6F\x6B\x65","\x65\x6C\x6C\x69\x70\x73\x65","\x66\x69\x6C\x6C\x41\x6E\x64\x53\x74\x72\x6F\x6B\x65","\x73\x65\x74\x53\x68\x61\x64\x6F\x77","\x65\x6E\x64\x53\x74\x61\x74\x65","\x73\x74\x61\x72\x74\x53\x74\x61\x74\x65","\x69\x6E\x69\x74\x53\x68\x61\x70\x65\x73","\x78","\x79","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x73\x68\x61\x70\x65\x73","\x70\x61\x69\x6E\x74\x45\x64\x67\x65\x53\x68\x61\x70\x65","\x6C\x65\x6E\x67\x74\x68","\x73\x71\x72\x74","\x6C\x69\x6E\x6B","\x64\x61\x73\x68","\x61\x64\x64\x4D\x61\x72\x6B\x65\x72","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x75\x73\x65\x47\x72\x69\x64\x46\x6F\x72\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65","\x69\x6E\x69\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x73\x74\x61\x74\x65","\x67\x72\x61\x70\x68","\x76\x69\x65\x77","\x68\x61\x6E\x64\x6C\x65\x49\x6D\x61\x67\x65","\x73\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65","\x73\x72\x63","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x44\x49\x41\x4C\x45\x43\x54\x5F\x56\x4D\x4C","\x67\x65\x74\x4F\x76\x65\x72\x6C\x61\x79\x50\x61\x6E\x65","\x67\x65\x74\x56\x69\x65\x77","\x63\x75\x72\x73\x6F\x72","\x6E\x6F\x64\x65","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65\x43\x75\x72\x73\x6F\x72","\x72\x65\x64\x69\x72\x65\x63\x74\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73","\x64\x65\x66\x61\x75\x6C\x74","\x72\x65\x64\x72\x61\x77","\x62\x6F\x75\x6E\x64\x73","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65\x42\x6F\x75\x6E\x64\x73","\x64\x65\x73\x74\x72\x6F\x79","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x46\x6F\x72\x45\x76\x65\x6E\x74","\x69\x73\x53\x6F\x75\x72\x63\x65","\x6D\x6F\x75\x73\x65\x4D\x6F\x76\x65","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74\x47\x72\x61\x70\x68\x58","\x67\x65\x74\x47\x72\x61\x70\x68\x59","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x50\x6F\x69\x6E\x74","\x67\x65\x74\x45\x76\x65\x6E\x74","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64\x45\x76\x65\x6E\x74","\x73\x63\x61\x6C\x65","\x73\x6E\x61\x70","\x75\x70\x64\x61\x74\x65\x53\x74\x79\x6C\x65","\x6D\x6F\x76\x65\x53\x69\x7A\x65\x72\x54\x6F","\x63\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72","\x63\x6F\x6E\x73\x75\x6D\x65","\x6D\x6F\x75\x73\x65\x55\x70","\x61\x70\x70\x6C\x79\x53\x74\x79\x6C\x65","\x72\x65\x73\x65\x74","\x67\x65\x74\x53\x68\x61\x70\x65\x52\x6F\x74\x61\x74\x69\x6F\x6E","\x73\x68\x61\x70\x65","\x74\x6F\x52\x61\x64\x69\x61\x6E\x73","\x63\x6F\x73","\x73\x69\x6E","\x69\x73\x50\x61\x69\x6E\x74\x42\x6F\x75\x6E\x64\x73\x49\x6E\x76\x65\x72\x74\x65\x64","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65\x50\x6F\x69\x6E\x74","\x66\x6C\x69\x70\x48","\x66\x6C\x69\x70\x56","\x67\x65\x74\x43\x65\x6E\x74\x65\x72\x58","\x67\x65\x74\x43\x65\x6E\x74\x65\x72\x59","\x67\x65\x74\x52\x6F\x74\x61\x74\x65\x64\x50\x6F\x69\x6E\x74","\x75\x70\x64\x61\x74\x65\x53\x74\x79\x6C\x65\x55\x6E\x72\x6F\x74\x61\x74\x65\x64","\x72\x6F\x75\x6E\x64","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x63\x65\x6C\x6C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x72\x74\x53\x69\x7A\x65","\x64\x65\x66\x61\x75\x6C\x74\x56\x61\x6C\x75\x65","\x73\x63\x61\x6C\x65\x46\x61\x63\x74\x6F\x72","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x41\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x73\x74\x65\x6E\x63\x69\x6C","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73"];(function(){function _0x2d44x1(){}_0x2d44x1[_0x3b0a[0]]= new mxCylinder();_0x2d44x1[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x1;_0x2d44x1[_0x3b0a[0]][_0x3b0a[2]]= 20;_0x2d44x1[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x8=Math[_0x3b0a[6]](_0x2d44x5,Math[_0x3b0a[6]](_0x2d44x6,mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[2]])));if(_0x2d44x7){_0x2d44x2[_0x3b0a[7]](_0x2d44x8,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](_0x2d44x8,_0x2d44x8);_0x2d44x2[_0x3b0a[8]](0,0);_0x2d44x2[_0x3b0a[7]](_0x2d44x8,_0x2d44x8);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x8);_0x2d44x2[_0x3b0a[9]]()}else {_0x2d44x2[_0x3b0a[7]](0,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44x8,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x8);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](_0x2d44x8,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6- _0x2d44x8);_0x2d44x2[_0x3b0a[8]](0,0);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[11]]= _0x2d44x1;function _0x2d44x9(){}_0x2d44x9[_0x3b0a[0]]= new mxCylinder();_0x2d44x9[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x9;_0x2d44x9[_0x3b0a[0]][_0x3b0a[2]]= 30;_0x2d44x9[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x8=Math[_0x3b0a[6]](_0x2d44x5,Math[_0x3b0a[6]](_0x2d44x6,mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[2]])));if(_0x2d44x7){_0x2d44x2[_0x3b0a[7]](_0x2d44x5- _0x2d44x8,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44x8,_0x2d44x8);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x8);_0x2d44x2[_0x3b0a[9]]()}else {_0x2d44x2[_0x3b0a[7]](0,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44x8,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x8);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,0);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[13]]= _0x2d44x9;function _0x2d44xa(){}_0x2d44xa[_0x3b0a[0]]= new mxCylinder();_0x2d44xa[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44xa;_0x2d44xa[_0x3b0a[0]][_0x3b0a[14]]= 60;_0x2d44xa[_0x3b0a[0]][_0x3b0a[15]]= 20;_0x2d44xa[_0x3b0a[0]][_0x3b0a[16]]= _0x3b0a[17];_0x2d44xa[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44xb=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[14],this[_0x3b0a[14]]);var _0x2d44xc=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[15],this[_0x3b0a[15]]);var _0x2d44xd=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[16],this[_0x3b0a[16]]);var _0x2d44xe=Math[_0x3b0a[6]](_0x2d44x5,_0x2d44xb);var _0x2d44xf=Math[_0x3b0a[6]](_0x2d44x6,_0x2d44xc);if(_0x2d44x7){if(_0x2d44xd== _0x3b0a[18]){_0x2d44x2[_0x3b0a[7]](0,_0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44xe,_0x2d44xf)}else {_0x2d44x2[_0x3b0a[7]](_0x2d44x5- _0x2d44xe,_0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44xf)};_0x2d44x2[_0x3b0a[9]]()}else {if(_0x2d44xd== _0x3b0a[18]){_0x2d44x2[_0x3b0a[7]](0,0);_0x2d44x2[_0x3b0a[8]](_0x2d44xe,0);_0x2d44x2[_0x3b0a[8]](_0x2d44xe,_0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44xf)}else {_0x2d44x2[_0x3b0a[7]](0,_0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44xe,_0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44xe,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,0)};_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44xf);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[19]]= _0x2d44xa;function _0x2d44x10(){}_0x2d44x10[_0x3b0a[0]]= new mxCylinder();_0x2d44x10[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x10;_0x2d44x10[_0x3b0a[0]][_0x3b0a[2]]= 30;_0x2d44x10[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x8=Math[_0x3b0a[6]](_0x2d44x5,Math[_0x3b0a[6]](_0x2d44x6,mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[2]])));if(!_0x2d44x7){_0x2d44x2[_0x3b0a[7]](_0x2d44x8,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x8);_0x2d44x2[_0x3b0a[8]](_0x2d44x8,0);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[20]]= _0x2d44x10;function _0x2d44x11(){}_0x2d44x11[_0x3b0a[0]]= new mxCylinder();_0x2d44x11[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x11;_0x2d44x11[_0x3b0a[0]][_0x3b0a[2]]= 0.4;_0x2d44x11[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x8=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[2]]);var _0x2d44xf=_0x2d44x6* _0x2d44x8;var _0x2d44x12=1.4;if(!_0x2d44x7){_0x2d44x2[_0x3b0a[7]](0,_0x2d44xf/ 2);_0x2d44x2[_0x3b0a[21]](_0x2d44x5/ 4,_0x2d44xf* _0x2d44x12,_0x2d44x5/ 2,_0x2d44xf/ 2);_0x2d44x2[_0x3b0a[21]](_0x2d44x5* 3/ 4,_0x2d44xf* (1- _0x2d44x12),_0x2d44x5,_0x2d44xf/ 2);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6- _0x2d44xf/ 2);_0x2d44x2[_0x3b0a[21]](_0x2d44x5* 3/ 4,_0x2d44x6- _0x2d44xf* _0x2d44x12,_0x2d44x5/ 2,_0x2d44x6- _0x2d44xf/ 2);_0x2d44x2[_0x3b0a[21]](_0x2d44x5/ 4,_0x2d44x6- _0x2d44xf* (1- _0x2d44x12),0,_0x2d44x6- _0x2d44xf/ 2);_0x2d44x2[_0x3b0a[8]](0,_0x2d44xf/ 2);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[22]]= _0x2d44x11;function _0x2d44x13(){}_0x2d44x13[_0x3b0a[0]]= new mxCylinder();_0x2d44x13[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x13;_0x2d44x13[_0x3b0a[0]][_0x3b0a[2]]= 0.2;_0x2d44x13[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x8=_0x2d44x5* mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[2]]);if(!_0x2d44x7){_0x2d44x2[_0x3b0a[7]](0,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44x8,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6/ 2);_0x2d44x2[_0x3b0a[8]](_0x2d44x5- _0x2d44x8,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](_0x2d44x8,_0x2d44x6/ 2);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[23]]= _0x2d44x13;function _0x2d44x14(){mxRectangleShape[_0x3b0a[24]](this)}mxUtils[_0x3b0a[25]](_0x2d44x14,mxRectangleShape);_0x2d44x14[_0x3b0a[0]][_0x3b0a[26]]= function(){return false};_0x2d44x14[_0x3b0a[0]][_0x3b0a[27]]= function(_0x2d44x15,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6){var _0x2d44x16=Math[_0x3b0a[6]](_0x2d44x5/ 5,_0x2d44x6/ 5)+ 1;_0x2d44x15[_0x3b0a[28]]();_0x2d44x15[_0x3b0a[7]](_0x2d44x3+ _0x2d44x5/ 2,_0x2d44x4+ _0x2d44x16);_0x2d44x15[_0x3b0a[8]](_0x2d44x3+ _0x2d44x5/ 2,_0x2d44x4+ _0x2d44x6- _0x2d44x16);_0x2d44x15[_0x3b0a[7]](_0x2d44x3+ _0x2d44x16,_0x2d44x4+ _0x2d44x6/ 2);_0x2d44x15[_0x3b0a[8]](_0x2d44x3+ _0x2d44x5- _0x2d44x16,_0x2d44x4+ _0x2d44x6/ 2);_0x2d44x15[_0x3b0a[9]]();_0x2d44x15[_0x3b0a[29]]();mxRectangleShape[_0x3b0a[0]][_0x3b0a[27]][_0x3b0a[30]](this,arguments)};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[31]]= _0x2d44x14;function _0x2d44x17(){mxRectangleShape[_0x3b0a[24]](this)}mxUtils[_0x3b0a[25]](_0x2d44x17,mxRectangleShape);_0x2d44x17[_0x3b0a[0]][_0x3b0a[26]]= function(){return false};_0x2d44x17[_0x3b0a[0]][_0x3b0a[27]]= function(_0x2d44x15,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6){if(this[_0x3b0a[4]]!= null){if(this[_0x3b0a[4]][_0x3b0a[32]]== 1){var _0x2d44x18=Math[_0x3b0a[34]](2,this[_0x3b0a[33]]+ 1);mxRectangleShape[_0x3b0a[0]][_0x3b0a[35]][_0x3b0a[24]](this,_0x2d44x15,_0x2d44x3+ _0x2d44x18,_0x2d44x4+ _0x2d44x18,_0x2d44x5- 2* _0x2d44x18,_0x2d44x6- 2* _0x2d44x18);mxRectangleShape[_0x3b0a[0]][_0x3b0a[27]][_0x3b0a[30]](this,arguments);_0x2d44x3+= _0x2d44x18;_0x2d44x4+= _0x2d44x18;_0x2d44x5-= 2* _0x2d44x18;_0x2d44x6-= 2* _0x2d44x18};_0x2d44x15[_0x3b0a[36]](false);var _0x2d44x19=0;var _0x2d44x1a=null;do{_0x2d44x1a= mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19]];if(_0x2d44x1a!= null){var _0x2d44x1b=this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19+ _0x3b0a[38]];var _0x2d44x1c=this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19+ _0x3b0a[39]];var _0x2d44x1d=this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19+ _0x3b0a[40]];var _0x2d44x1e=this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19+ _0x3b0a[41]];var _0x2d44x1f=this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19+ _0x3b0a[42]]|| 0;var _0x2d44x20=this[_0x3b0a[4]][_0x3b0a[37]+ _0x2d44x19+ _0x3b0a[43]];if(_0x2d44x20!= null){_0x2d44x1f+= this[_0x3b0a[44]](_0x2d44x5+ this[_0x3b0a[33]],_0x2d44x6+ this[_0x3b0a[33]])* _0x2d44x20};var _0x2d44x21=_0x2d44x3;var _0x2d44x22=_0x2d44x4;if(_0x2d44x1b== mxConstants[_0x3b0a[45]]){_0x2d44x21+= (_0x2d44x5- _0x2d44x1d)/ 2}else {if(_0x2d44x1b== mxConstants[_0x3b0a[46]]){_0x2d44x21+= _0x2d44x5- _0x2d44x1d- _0x2d44x1f}else {_0x2d44x21+= _0x2d44x1f}};if(_0x2d44x1c== mxConstants[_0x3b0a[47]]){_0x2d44x22+= (_0x2d44x6- _0x2d44x1e)/ 2}else {if(_0x2d44x1c== mxConstants[_0x3b0a[48]]){_0x2d44x22+= _0x2d44x6- _0x2d44x1e- _0x2d44x1f}else {_0x2d44x22+= _0x2d44x1f}};_0x2d44x15[_0x3b0a[49]]();var _0x2d44x23= new _0x2d44x1a();_0x2d44x23[_0x3b0a[4]]= this[_0x3b0a[4]];_0x2d44x1a[_0x3b0a[0]][_0x3b0a[50]][_0x3b0a[24]](_0x2d44x23,_0x2d44x15,_0x2d44x21,_0x2d44x22,_0x2d44x1d,_0x2d44x1e);_0x2d44x15[_0x3b0a[51]]()};_0x2d44x19++}while(_0x2d44x1a!= null);}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[52]]= _0x2d44x17;function _0x2d44x24(){}_0x2d44x24[_0x3b0a[0]]= new mxCylinder();_0x2d44x24[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x24;_0x2d44x24[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){if(_0x2d44x7){_0x2d44x2[_0x3b0a[7]](0,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5/ 2,_0x2d44x6/ 2);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,0);_0x2d44x2[_0x3b0a[9]]()}else {_0x2d44x2[_0x3b0a[7]](0,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6);_0x2d44x2[_0x3b0a[10]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[53]]= _0x2d44x24;function _0x2d44x25(){}_0x2d44x25[_0x3b0a[0]]= new mxCylinder();_0x2d44x25[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x25;_0x2d44x25[_0x3b0a[0]][_0x3b0a[54]]= true;_0x2d44x25[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x1d=_0x2d44x5/ 3;var _0x2d44x1e=_0x2d44x6/ 4;if(!_0x2d44x7){_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,_0x2d44x1e);_0x2d44x2[_0x3b0a[55]](_0x2d44x5/ 2- _0x2d44x1d,_0x2d44x1e,_0x2d44x5/ 2- _0x2d44x1d,0,_0x2d44x5/ 2,0);_0x2d44x2[_0x3b0a[55]](_0x2d44x5/ 2+ _0x2d44x1d,0,_0x2d44x5/ 2+ _0x2d44x1d,_0x2d44x1e,_0x2d44x5/ 2,_0x2d44x1e);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,_0x2d44x1e);_0x2d44x2[_0x3b0a[8]](_0x2d44x5/ 2,2* _0x2d44x6/ 3);_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,_0x2d44x6/ 3);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6/ 3);_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,_0x2d44x6/ 3);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6/ 3);_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,2* _0x2d44x6/ 3);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x6);_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,2* _0x2d44x6/ 3);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[56]]= _0x2d44x25;function _0x2d44x26(){}_0x2d44x26[_0x3b0a[0]]= new mxCylinder();_0x2d44x26[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x26;_0x2d44x26[_0x3b0a[0]][_0x3b0a[2]]= 10;_0x2d44x26[_0x3b0a[0]][_0x3b0a[54]]= true;_0x2d44x26[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44x27=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[2]]);var _0x2d44x1d=_0x2d44x27* 2/ 3;var _0x2d44x1e=_0x2d44x27;if(!_0x2d44x7){_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,_0x2d44x1e);_0x2d44x2[_0x3b0a[55]](_0x2d44x5/ 2- _0x2d44x1d,_0x2d44x1e,_0x2d44x5/ 2- _0x2d44x1d,0,_0x2d44x5/ 2,0);_0x2d44x2[_0x3b0a[55]](_0x2d44x5/ 2+ _0x2d44x1d,0,_0x2d44x5/ 2+ _0x2d44x1d,_0x2d44x1e,_0x2d44x5/ 2,_0x2d44x1e);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[7]](_0x2d44x5/ 2,_0x2d44x1e);_0x2d44x2[_0x3b0a[8]](_0x2d44x5/ 2,_0x2d44x6);_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[57]]= _0x2d44x26;function _0x2d44x28(){}_0x2d44x28[_0x3b0a[0]]= new mxCylinder();_0x2d44x28[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x28;_0x2d44x28[_0x3b0a[0]][_0x3b0a[58]]= 32;_0x2d44x28[_0x3b0a[0]][_0x3b0a[59]]= 12;_0x2d44x28[_0x3b0a[0]][_0x3b0a[3]]= function(_0x2d44x2,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6,_0x2d44x7){var _0x2d44xe=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[58],this[_0x3b0a[58]]);var _0x2d44xf=mxUtils[_0x3b0a[5]](this[_0x3b0a[4]],_0x3b0a[59],this[_0x3b0a[59]]);var _0x2d44x29=_0x2d44xe/ 2;var _0x2d44x2a=_0x2d44x29+ _0x2d44xe/ 2;var _0x2d44x2b=0.3* _0x2d44x6- _0x2d44xf/ 2;var _0x2d44x2c=0.7* _0x2d44x6- _0x2d44xf/ 2;if(_0x2d44x7){_0x2d44x2[_0x3b0a[7]](_0x2d44x29,_0x2d44x2b);_0x2d44x2[_0x3b0a[8]](_0x2d44x2a,_0x2d44x2b);_0x2d44x2[_0x3b0a[8]](_0x2d44x2a,_0x2d44x2b+ _0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x2b+ _0x2d44xf);_0x2d44x2[_0x3b0a[7]](_0x2d44x29,_0x2d44x2c);_0x2d44x2[_0x3b0a[8]](_0x2d44x2a,_0x2d44x2c);_0x2d44x2[_0x3b0a[8]](_0x2d44x2a,_0x2d44x2c+ _0x2d44xf);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x2c+ _0x2d44xf);_0x2d44x2[_0x3b0a[9]]()}else {_0x2d44x2[_0x3b0a[7]](_0x2d44x29,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,0);_0x2d44x2[_0x3b0a[8]](_0x2d44x5,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x6);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x2c+ _0x2d44xf);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x2c+ _0x2d44xf);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x2c);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x2c);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x2b+ _0x2d44xf);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x2b+ _0x2d44xf);_0x2d44x2[_0x3b0a[8]](0,_0x2d44x2b);_0x2d44x2[_0x3b0a[8]](_0x2d44x29,_0x2d44x2b);_0x2d44x2[_0x3b0a[10]]();_0x2d44x2[_0x3b0a[9]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[60]]= _0x2d44x28;function _0x2d44x2d(){}_0x2d44x2d[_0x3b0a[0]]= new mxDoubleEllipse();_0x2d44x2d[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x2d;_0x2d44x2d[_0x3b0a[0]][_0x3b0a[61]]= true;_0x2d44x2d[_0x3b0a[0]][_0x3b0a[50]]= function(_0x2d44x15,_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6){var _0x2d44x18=Math[_0x3b0a[6]](4,Math[_0x3b0a[6]](_0x2d44x5/ 5,_0x2d44x6/ 5));if(_0x2d44x5> 0&& _0x2d44x6> 0){_0x2d44x15[_0x3b0a[62]](_0x2d44x3+ _0x2d44x18,_0x2d44x4+ _0x2d44x18,_0x2d44x5- 2* _0x2d44x18,_0x2d44x6- 2* _0x2d44x18);_0x2d44x15[_0x3b0a[63]]()};_0x2d44x15[_0x3b0a[64]](false);if(this[_0x3b0a[61]]){_0x2d44x15[_0x3b0a[62]](_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6);_0x2d44x15[_0x3b0a[29]]()}};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[65]]= _0x2d44x2d;function _0x2d44x2e(){}_0x2d44x2e[_0x3b0a[0]]= new _0x2d44x2d();_0x2d44x2e[_0x3b0a[0]][_0x3b0a[1]]= _0x2d44x2e;_0x2d44x2e[_0x3b0a[0]][_0x3b0a[61]]= false;mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[66]]= _0x2d44x2e;var _0x2d44x2f=mxImageExport[_0x3b0a[0]][_0x3b0a[67]];mxImageExport[_0x3b0a[0]][_0x3b0a[67]]= function(){_0x2d44x2f[_0x3b0a[30]](this,arguments);function _0x2d44x30(_0x2d44x31){return {drawShape:function(_0x2d44x32,_0x2d44x33,_0x2d44x34,_0x2d44x35){var _0x2d44x3=_0x2d44x34[_0x3b0a[68]];var _0x2d44x4=_0x2d44x34[_0x3b0a[69]];var _0x2d44x5=_0x2d44x34[_0x3b0a[70]];var _0x2d44x6=_0x2d44x34[_0x3b0a[71]];if(_0x2d44x35){var _0x2d44x18=Math[_0x3b0a[6]](4,Math[_0x3b0a[6]](_0x2d44x5/ 5,_0x2d44x6/ 5));_0x2d44x3+= _0x2d44x18;_0x2d44x4+= _0x2d44x18;_0x2d44x5-= 2* _0x2d44x18;_0x2d44x6-= 2* _0x2d44x18;if(_0x2d44x5> 0&& _0x2d44x6> 0){_0x2d44x32[_0x3b0a[62]](_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6)};return true}else {_0x2d44x32[_0x3b0a[63]]();if(_0x2d44x31){_0x2d44x32[_0x3b0a[62]](_0x2d44x3,_0x2d44x4,_0x2d44x5,_0x2d44x6);_0x2d44x32[_0x3b0a[29]]()}}}}}this[_0x3b0a[72]][_0x3b0a[65]]= _0x2d44x30(true);this[_0x3b0a[72]][_0x3b0a[66]]= _0x2d44x30(false)};function _0x2d44x36(){mxArrow[_0x3b0a[24]](this)}mxUtils[_0x3b0a[25]](_0x2d44x36,mxArrow);_0x2d44x36[_0x3b0a[0]][_0x3b0a[73]]= function(_0x2d44x15,_0x2d44x37){var _0x2d44x1d=10;var _0x2d44x38=_0x2d44x37[0];var _0x2d44x39=_0x2d44x37[_0x2d44x37[_0x3b0a[74]]- 1];var _0x2d44xe=_0x2d44x39[_0x3b0a[68]]- _0x2d44x38[_0x3b0a[68]];var _0x2d44xf=_0x2d44x39[_0x3b0a[69]]- _0x2d44x38[_0x3b0a[69]];var _0x2d44x3a=Math[_0x3b0a[75]](_0x2d44xe* _0x2d44xe+ _0x2d44xf* _0x2d44xf);var _0x2d44x3b=_0x2d44x3a;var _0x2d44x3c=_0x2d44xe/ _0x2d44x3a;var _0x2d44x3d=_0x2d44xf/ _0x2d44x3a;var _0x2d44x3e=_0x2d44x3b* _0x2d44x3c;var _0x2d44x3f=_0x2d44x3b* _0x2d44x3d;var _0x2d44x40=_0x2d44x1d* _0x2d44x3d/ 3;var _0x2d44x41=-_0x2d44x1d* _0x2d44x3c/ 3;var _0x2d44x42=_0x2d44x38[_0x3b0a[68]]- _0x2d44x40/ 2;var _0x2d44x43=_0x2d44x38[_0x3b0a[69]]- _0x2d44x41/ 2;var _0x2d44x44=_0x2d44x42+ _0x2d44x40;var _0x2d44x45=_0x2d44x43+ _0x2d44x41;var _0x2d44x46=_0x2d44x44+ _0x2d44x3e;var _0x2d44x47=_0x2d44x45+ _0x2d44x3f;var _0x2d44x48=_0x2d44x46+ _0x2d44x40;var _0x2d44x49=_0x2d44x47+ _0x2d44x41;var _0x2d44x4a=_0x2d44x48- 3* _0x2d44x40;var _0x2d44x4b=_0x2d44x49- 3* _0x2d44x41;_0x2d44x15[_0x3b0a[28]]();_0x2d44x15[_0x3b0a[7]](_0x2d44x44,_0x2d44x45);_0x2d44x15[_0x3b0a[8]](_0x2d44x46,_0x2d44x47);_0x2d44x15[_0x3b0a[7]](_0x2d44x4a+ _0x2d44x40,_0x2d44x4b+ _0x2d44x41);_0x2d44x15[_0x3b0a[8]](_0x2d44x42,_0x2d44x43);_0x2d44x15[_0x3b0a[29]]()};mxCellRenderer[_0x3b0a[0]][_0x3b0a[12]][_0x3b0a[76]]= _0x2d44x36;mxMarker[_0x3b0a[78]](_0x3b0a[77],function(_0x2d44x32,_0x2d44x1a,_0x2d44x4c,_0x2d44x39,_0x2d44x4d,_0x2d44x4e,_0x2d44x4f,_0x2d44x50,_0x2d44x51,_0x2d44x52){var _0x2d44x3c=_0x2d44x4d* (_0x2d44x4f+ _0x2d44x51+ 1);var _0x2d44x3d=_0x2d44x4e* (_0x2d44x4f+ _0x2d44x51+ 1);return function(){_0x2d44x32[_0x3b0a[28]]();_0x2d44x32[_0x3b0a[7]](_0x2d44x39[_0x3b0a[68]]- _0x2d44x3c/ 2- _0x2d44x3d/ 2,_0x2d44x39[_0x3b0a[69]]- _0x2d44x3d/ 2+ _0x2d44x3c/ 2);_0x2d44x32[_0x3b0a[8]](_0x2d44x39[_0x3b0a[68]]+ _0x2d44x3d/ 2- 3* _0x2d44x3c/ 2,_0x2d44x39[_0x3b0a[69]]- 3* _0x2d44x3d/ 2- _0x2d44x3c/ 2);_0x2d44x32[_0x3b0a[29]]()}});var _0x2d44x53=-99;if( typeof (mxVertexHandler)!= _0x3b0a[79]){function _0x2d44x54(_0x2d44x33){mxVertexHandler[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x54,mxVertexHandler);_0x2d44x54[_0x3b0a[0]][_0x3b0a[80]]= false;_0x2d44x54[_0x3b0a[0]][_0x3b0a[81]]= function(){this[_0x3b0a[82]]= mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],mxConstants.STYLE_HORIZONTAL,true);var _0x2d44x55=this[_0x3b0a[83]][_0x3b0a[85]][_0x3b0a[84]];if(this[_0x3b0a[86]]!= null){var _0x2d44x34= new mxRectangle(0,0,this[_0x3b0a[86]][_0x3b0a[70]],this[_0x3b0a[86]][_0x3b0a[71]]);this[_0x3b0a[87]]= new mxImageShape(_0x2d44x34,this[_0x3b0a[86]][_0x3b0a[88]])}else {var _0x2d44x4f=10;var _0x2d44x34= new mxRectangle(0,0,_0x2d44x4f,_0x2d44x4f);this[_0x3b0a[87]]= new mxRhombus(_0x2d44x34,mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};this[_0x3b0a[87]][_0x3b0a[89]]= (_0x2d44x55[_0x3b0a[89]]!= mxConstants[_0x3b0a[90]])?mxConstants[_0x3b0a[91]]:mxConstants[_0x3b0a[90]];this[_0x3b0a[87]][_0x3b0a[81]](_0x2d44x55[_0x3b0a[93]]()[_0x3b0a[92]]());this[_0x3b0a[87]][_0x3b0a[95]][_0x3b0a[4]][_0x3b0a[94]]= this[_0x3b0a[96]]();mxEvent[_0x3b0a[97]](this[_0x3b0a[87]][_0x3b0a[95]],_0x2d44x55,this[_0x3b0a[83]]);mxVertexHandler[_0x3b0a[0]][_0x3b0a[81]][_0x3b0a[30]](this,arguments)};_0x2d44x54[_0x3b0a[0]][_0x3b0a[96]]= function(){return _0x3b0a[98]};_0x2d44x54[_0x3b0a[0]][_0x3b0a[99]]= function(){mxVertexHandler[_0x3b0a[0]][_0x3b0a[99]][_0x3b0a[30]](this,arguments);var _0x2d44x4f=this[_0x3b0a[87]][_0x3b0a[100]][_0x3b0a[70]];this[_0x3b0a[87]][_0x3b0a[100]]= this[_0x3b0a[101]](_0x2d44x4f);this[_0x3b0a[87]][_0x3b0a[99]]()};_0x2d44x54[_0x3b0a[0]][_0x3b0a[102]]= function(){mxVertexHandler[_0x3b0a[0]][_0x3b0a[102]][_0x3b0a[30]](this,arguments);if(this[_0x3b0a[87]]!= null){this[_0x3b0a[87]][_0x3b0a[102]]();this[_0x3b0a[87]]= null}};_0x2d44x54[_0x3b0a[0]][_0x3b0a[103]]= function(_0x2d44x56){if(_0x2d44x56[_0x3b0a[104]](this[_0x3b0a[87]])){return _0x2d44x53};return mxVertexHandler[_0x3b0a[0]][_0x3b0a[103]][_0x3b0a[30]](this,arguments)};_0x2d44x54[_0x3b0a[0]][_0x3b0a[105]]= function(_0x2d44x57,_0x2d44x56){if(!_0x2d44x56[_0x3b0a[106]]()&& this[_0x3b0a[107]]== _0x2d44x53){var _0x2d44x58= new mxPoint(_0x2d44x56[_0x3b0a[108]](),_0x2d44x56[_0x3b0a[109]]());this[_0x3b0a[110]](_0x2d44x58);var _0x2d44x59=this[_0x3b0a[84]][_0x3b0a[112]](_0x2d44x56[_0x3b0a[111]]());var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];if(_0x2d44x59&& this[_0x3b0a[80]]){_0x2d44x58[_0x3b0a[68]]= this[_0x3b0a[84]][_0x3b0a[114]](_0x2d44x58[_0x3b0a[68]]/ _0x2d44x5a)* _0x2d44x5a;_0x2d44x58[_0x3b0a[69]]= this[_0x3b0a[84]][_0x3b0a[114]](_0x2d44x58[_0x3b0a[69]]/ _0x2d44x5a)* _0x2d44x5a};this[_0x3b0a[115]](_0x2d44x58);this[_0x3b0a[116]](this[_0x3b0a[87]],_0x2d44x58[_0x3b0a[68]],_0x2d44x58[_0x3b0a[69]]);this[_0x3b0a[83]][_0x3b0a[85]][_0x3b0a[84]][_0x3b0a[117]][_0x3b0a[99]](this[_0x3b0a[83]],true);_0x2d44x56[_0x3b0a[118]]()}else {mxVertexHandler[_0x3b0a[0]][_0x3b0a[105]][_0x3b0a[30]](this,arguments)}};_0x2d44x54[_0x3b0a[0]][_0x3b0a[119]]= function(_0x2d44x57,_0x2d44x56){if(!_0x2d44x56[_0x3b0a[106]]()&& this[_0x3b0a[107]]== _0x2d44x53){this[_0x3b0a[120]]();this[_0x3b0a[121]]();_0x2d44x56[_0x3b0a[118]]()}else {mxVertexHandler[_0x3b0a[0]][_0x3b0a[119]][_0x3b0a[30]](this,arguments)}};_0x2d44x54[_0x3b0a[0]][_0x3b0a[101]]= function(_0x2d44x4f){var _0x2d44x5b=this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[122]]();var _0x2d44x5c=mxUtils[_0x3b0a[124]](_0x2d44x5b);var _0x2d44x5d=Math[_0x3b0a[125]](_0x2d44x5c);var _0x2d44x5e=Math[_0x3b0a[126]](_0x2d44x5c);var _0x2d44x34= new mxRectangle(this[_0x3b0a[83]][_0x3b0a[68]],this[_0x3b0a[83]][_0x3b0a[69]],this[_0x3b0a[83]][_0x3b0a[70]],this[_0x3b0a[83]][_0x3b0a[71]]);if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[127]]()){var _0x2d44x5f=(_0x2d44x34[_0x3b0a[70]]- _0x2d44x34[_0x3b0a[71]])/ 2;_0x2d44x34[_0x3b0a[68]]+= _0x2d44x5f;_0x2d44x34[_0x3b0a[69]]-= _0x2d44x5f;var _0x2d44x23=_0x2d44x34[_0x3b0a[70]];_0x2d44x34[_0x3b0a[70]]= _0x2d44x34[_0x3b0a[71]];_0x2d44x34[_0x3b0a[71]]= _0x2d44x23};var _0x2d44x60=this[_0x3b0a[128]](_0x2d44x34);if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[129]]){_0x2d44x60[_0x3b0a[68]]= 2* _0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44x60[_0x3b0a[68]]};if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[130]]){_0x2d44x60[_0x3b0a[69]]= 2* _0x2d44x34[_0x3b0a[69]]+ _0x2d44x34[_0x3b0a[71]]- _0x2d44x60[_0x3b0a[69]]};_0x2d44x60= mxUtils[_0x3b0a[133]](_0x2d44x60,_0x2d44x5d,_0x2d44x5e, new mxPoint(this[_0x3b0a[83]][_0x3b0a[131]](),this[_0x3b0a[83]][_0x3b0a[132]]()));return new mxRectangle(_0x2d44x60[_0x3b0a[68]]- _0x2d44x4f/ 2,_0x2d44x60[_0x3b0a[69]]- _0x2d44x4f/ 2,_0x2d44x4f,_0x2d44x4f)};_0x2d44x54[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){return null};_0x2d44x54[_0x3b0a[0]][_0x3b0a[115]]= function(_0x2d44x58){};_0x2d44x54[_0x3b0a[0]][_0x3b0a[110]]= function(_0x2d44x58){_0x2d44x58[_0x3b0a[68]]= Math[_0x3b0a[34]](this[_0x3b0a[83]][_0x3b0a[68]],Math[_0x3b0a[6]](this[_0x3b0a[83]][_0x3b0a[68]]+ this[_0x3b0a[83]][_0x3b0a[70]],_0x2d44x58[_0x3b0a[68]]));_0x2d44x58[_0x3b0a[69]]= Math[_0x3b0a[34]](this[_0x3b0a[83]][_0x3b0a[69]],Math[_0x3b0a[6]](this[_0x3b0a[83]][_0x3b0a[69]]+ this[_0x3b0a[83]][_0x3b0a[71]],_0x2d44x58[_0x3b0a[69]]))};_0x2d44x54[_0x3b0a[0]][_0x3b0a[120]]= function(){};function _0x2d44x61(_0x2d44x33){_0x2d44x54[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x61,_0x2d44x54);_0x2d44x61[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];var _0x2d44xb=Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[70]],mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[14],60)* _0x2d44x5a);var _0x2d44xc=Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[71]],mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[15],20)* _0x2d44x5a);var _0x2d44xd=mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[16],_0x3b0a[17]);var _0x2d44x3=(_0x2d44xd== _0x3b0a[18])?_0x2d44x34[_0x3b0a[68]]+ _0x2d44xb:_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44xb;return new mxPoint(_0x2d44x3,_0x2d44x34[_0x3b0a[69]]+ _0x2d44xc)};_0x2d44x61[_0x3b0a[0]][_0x3b0a[115]]= function(_0x2d44x58){var _0x2d44x5b=this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[122]]();var _0x2d44x5c=mxUtils[_0x3b0a[124]](_0x2d44x5b);var _0x2d44x5d=Math[_0x3b0a[125]](-_0x2d44x5c);var _0x2d44x5e=Math[_0x3b0a[126]](-_0x2d44x5c);var _0x2d44x34= new mxRectangle(this[_0x3b0a[83]][_0x3b0a[68]],this[_0x3b0a[83]][_0x3b0a[69]],this[_0x3b0a[83]][_0x3b0a[70]],this[_0x3b0a[83]][_0x3b0a[71]]);if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[127]]()){var _0x2d44x5f=(_0x2d44x34[_0x3b0a[70]]- _0x2d44x34[_0x3b0a[71]])/ 2;_0x2d44x34[_0x3b0a[68]]+= _0x2d44x5f;_0x2d44x34[_0x3b0a[69]]-= _0x2d44x5f;var _0x2d44x23=_0x2d44x34[_0x3b0a[70]];_0x2d44x34[_0x3b0a[70]]= _0x2d44x34[_0x3b0a[71]];_0x2d44x34[_0x3b0a[71]]= _0x2d44x23};var _0x2d44x60= new mxPoint(_0x2d44x58[_0x3b0a[68]],_0x2d44x58[_0x3b0a[69]]);_0x2d44x60= mxUtils[_0x3b0a[133]](_0x2d44x60,_0x2d44x5d,_0x2d44x5e, new mxPoint(this[_0x3b0a[83]][_0x3b0a[131]](),this[_0x3b0a[83]][_0x3b0a[132]]()));if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[129]]){_0x2d44x60[_0x3b0a[68]]= 2* _0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44x60[_0x3b0a[68]]};if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[130]]){_0x2d44x60[_0x3b0a[69]]= 2* _0x2d44x34[_0x3b0a[69]]+ _0x2d44x34[_0x3b0a[71]]- _0x2d44x60[_0x3b0a[69]]};var _0x2d44x62=this[_0x3b0a[134]](_0x2d44x60,_0x2d44x34);if(_0x2d44x62!= null){if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[129]]){_0x2d44x62[_0x3b0a[68]]= 2* _0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44x62[_0x3b0a[68]]};if(this[_0x3b0a[83]][_0x3b0a[123]][_0x3b0a[130]]){_0x2d44x62[_0x3b0a[69]]= 2* _0x2d44x34[_0x3b0a[69]]+ _0x2d44x34[_0x3b0a[71]]- _0x2d44x62[_0x3b0a[69]]};_0x2d44x5d= Math[_0x3b0a[125]](_0x2d44x5c);_0x2d44x5e= Math[_0x3b0a[126]](_0x2d44x5c);_0x2d44x62= mxUtils[_0x3b0a[133]](_0x2d44x62,_0x2d44x5d,_0x2d44x5e, new mxPoint(this[_0x3b0a[83]][_0x3b0a[131]](),this[_0x3b0a[83]][_0x3b0a[132]]()));_0x2d44x58[_0x3b0a[68]]= _0x2d44x62[_0x3b0a[68]];_0x2d44x58[_0x3b0a[69]]= _0x2d44x62[_0x3b0a[69]]}};_0x2d44x61[_0x3b0a[0]][_0x3b0a[134]]= function(_0x2d44x60,_0x2d44x34){var _0x2d44xd=mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[16],_0x3b0a[17]);var _0x2d44xb=(_0x2d44xd== _0x3b0a[18])?_0x2d44x60[_0x3b0a[68]]- _0x2d44x34[_0x3b0a[68]]:_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44x60[_0x3b0a[68]];var _0x2d44xc=_0x2d44x60[_0x3b0a[69]]- _0x2d44x34[_0x3b0a[69]];var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[14]]= Math[_0x3b0a[135]](Math[_0x3b0a[34]](1,_0x2d44xb)/ _0x2d44x5a);this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[15]]= Math[_0x3b0a[135]](Math[_0x3b0a[34]](1,_0x2d44xc)/ _0x2d44x5a)};_0x2d44x61[_0x3b0a[0]][_0x3b0a[120]]= function(){var _0x2d44x63=this[_0x3b0a[84]][_0x3b0a[136]]();_0x2d44x63[_0x3b0a[137]]();try{this[_0x3b0a[83]][_0x3b0a[85]][_0x3b0a[84]][_0x3b0a[139]](_0x3b0a[14],this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[14]],[this[_0x3b0a[83]][_0x3b0a[138]]]);this[_0x3b0a[83]][_0x3b0a[85]][_0x3b0a[84]][_0x3b0a[139]](_0x3b0a[15],this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[15]],[this[_0x3b0a[83]][_0x3b0a[138]]])}finally{_0x2d44x63[_0x3b0a[140]]()}};function _0x2d44x64(_0x2d44x33){_0x2d44x61[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x64,_0x2d44x61);_0x2d44x64[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];var _0x2d44x65=mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE);return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]/ 2,_0x2d44x34[_0x3b0a[69]]+ Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[71]],_0x2d44x65* _0x2d44x5a))};_0x2d44x64[_0x3b0a[0]][_0x3b0a[134]]= function(_0x2d44x58,_0x2d44x34){_0x2d44x58[_0x3b0a[68]]= _0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]/ 2;startSize= _0x2d44x58[_0x3b0a[69]]- _0x2d44x34[_0x3b0a[69]];var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[141]]= Math[_0x3b0a[135]](Math[_0x3b0a[34]](1,startSize)/ _0x2d44x5a);return _0x2d44x58};_0x2d44x64[_0x3b0a[0]][_0x3b0a[120]]= function(){this[_0x3b0a[83]][_0x3b0a[85]][_0x3b0a[84]][_0x3b0a[139]](_0x3b0a[141],this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[141]],[this[_0x3b0a[83]][_0x3b0a[138]]])};function _0x2d44x66(_0x2d44x33){_0x2d44x61[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x66,_0x2d44x61);_0x2d44x66[_0x3b0a[0]][_0x3b0a[142]]= 20;_0x2d44x66[_0x3b0a[0]][_0x3b0a[143]]= 1;_0x2d44x66[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];var _0x2d44x67=Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[70]],Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[71]],mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[142]])* _0x2d44x5a/ this[_0x3b0a[143]]));return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x67,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x67)};_0x2d44x66[_0x3b0a[0]][_0x3b0a[134]]= function(_0x2d44x60,_0x2d44x34){var _0x2d44x4f=Math[_0x3b0a[34]](0,Math[_0x3b0a[6]](Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[70]]/ this[_0x3b0a[143]],_0x2d44x60[_0x3b0a[68]]- _0x2d44x34[_0x3b0a[68]]),Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[71]]/ this[_0x3b0a[143]],_0x2d44x60[_0x3b0a[69]]- _0x2d44x34[_0x3b0a[69]])));var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[2]]= Math[_0x3b0a[135]](Math[_0x3b0a[34]](1,_0x2d44x4f)/ _0x2d44x5a)* this[_0x3b0a[143]];return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x4f,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x4f)};_0x2d44x66[_0x3b0a[0]][_0x3b0a[120]]= function(){this[_0x3b0a[83]][_0x3b0a[85]][_0x3b0a[84]][_0x3b0a[139]](_0x3b0a[2],this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[2]],[this[_0x3b0a[83]][_0x3b0a[138]]])};function _0x2d44x68(_0x2d44x33){_0x2d44x66[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x68,_0x2d44x66);_0x2d44x68[_0x3b0a[0]][_0x3b0a[142]]= 30;_0x2d44x68[_0x3b0a[0]][_0x3b0a[143]]= 2;function _0x2d44x69(_0x2d44x33){_0x2d44x66[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x69,_0x2d44x66);_0x2d44x69[_0x3b0a[0]][_0x3b0a[142]]= 30;_0x2d44x69[_0x3b0a[0]][_0x3b0a[143]]= 1;_0x2d44x69[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];var _0x2d44x67=Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[70]],Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[71]],mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[142]])* _0x2d44x5a/ this[_0x3b0a[143]]));return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44x67,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x67)};_0x2d44x69[_0x3b0a[0]][_0x3b0a[134]]= function(_0x2d44x60,_0x2d44x34){var _0x2d44x4f=Math[_0x3b0a[34]](0,Math[_0x3b0a[6]](Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[70]]/ this[_0x3b0a[143]],_0x2d44x60[_0x3b0a[68]]- _0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]),Math[_0x3b0a[6]](_0x2d44x34[_0x3b0a[71]]/ this[_0x3b0a[143]],_0x2d44x60[_0x3b0a[69]]- _0x2d44x34[_0x3b0a[69]])));var _0x2d44x5a=this[_0x3b0a[84]][_0x3b0a[93]]()[_0x3b0a[113]];this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[2]]= Math[_0x3b0a[135]](Math[_0x3b0a[34]](1,_0x2d44x4f)/ _0x2d44x5a)* this[_0x3b0a[143]];return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]- _0x2d44x4f,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x4f)};function _0x2d44x6a(_0x2d44x33){_0x2d44x66[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x6a,_0x2d44x66);_0x2d44x6a[_0x3b0a[0]][_0x3b0a[142]]= 0.2;_0x2d44x6a[_0x3b0a[0]][_0x3b0a[143]]= 1;_0x2d44x6a[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){var _0x2d44x67=mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[142]]);return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]* _0x2d44x67,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x34[_0x3b0a[71]]/ 2)};_0x2d44x6a[_0x3b0a[0]][_0x3b0a[134]]= function(_0x2d44x60,_0x2d44x34){var _0x2d44x4f=Math[_0x3b0a[6]](1,(_0x2d44x60[_0x3b0a[68]]- _0x2d44x34[_0x3b0a[68]])/ _0x2d44x34[_0x3b0a[70]]);this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[2]]= _0x2d44x4f;return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x4f* _0x2d44x34[_0x3b0a[70]],_0x2d44x34[_0x3b0a[69]]+ _0x2d44x34[_0x3b0a[71]]/ 2)};function _0x2d44x6b(_0x2d44x33){_0x2d44x66[_0x3b0a[24]](this,_0x2d44x33)}mxUtils[_0x3b0a[25]](_0x2d44x6b,_0x2d44x66);_0x2d44x6b[_0x3b0a[0]][_0x3b0a[142]]= 0.4;_0x2d44x6b[_0x3b0a[0]][_0x3b0a[143]]= 1;_0x2d44x6b[_0x3b0a[0]][_0x3b0a[128]]= function(_0x2d44x34){var _0x2d44x67=mxUtils[_0x3b0a[5]](this[_0x3b0a[83]][_0x3b0a[4]],_0x3b0a[2],this[_0x3b0a[142]]);return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]/ 2,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x67* _0x2d44x34[_0x3b0a[71]]/ 2)};_0x2d44x6b[_0x3b0a[0]][_0x3b0a[134]]= function(_0x2d44x60,_0x2d44x34){var _0x2d44x4f=Math[_0x3b0a[34]](0,Math[_0x3b0a[6]](1,((_0x2d44x60[_0x3b0a[69]]- _0x2d44x34[_0x3b0a[69]])/ _0x2d44x34[_0x3b0a[71]])* 2));this[_0x3b0a[83]][_0x3b0a[4]][_0x3b0a[2]]= _0x2d44x4f;return new mxPoint(_0x2d44x34[_0x3b0a[68]]+ _0x2d44x34[_0x3b0a[70]]/ 2,_0x2d44x34[_0x3b0a[69]]+ _0x2d44x4f* _0x2d44x34[_0x3b0a[71]]/ 2)};var _0x2d44x6c={"\x73\x77\x69\x6D\x6C\x61\x6E\x65":_0x2d44x64,"\x66\x6F\x6C\x64\x65\x72":_0x2d44x61,"\x63\x75\x62\x65":_0x2d44x66,"\x63\x61\x72\x64":_0x2d44x68,"\x6E\x6F\x74\x65":_0x2d44x69,"\x73\x74\x65\x70":_0x2d44x6a,"\x74\x61\x70\x65":_0x2d44x6b};var _0x2d44x6d=mxGraph[_0x3b0a[0]][_0x3b0a[144]];mxGraph[_0x3b0a[0]][_0x3b0a[144]]= function(_0x2d44x33){if(_0x2d44x33!= null){var _0x2d44x6e=_0x2d44x6c[_0x2d44x33[_0x3b0a[4]][_0x3b0a[123]]];if(_0x2d44x6e!= null){return new _0x2d44x6e(_0x2d44x33)}};return _0x2d44x6d[_0x3b0a[30]](this,arguments)}};mxGraph[_0x3b0a[0]][_0x3b0a[145]]= function(_0x2d44x6f,_0x2d44x50){if(_0x2d44x6f!= null&& _0x2d44x6f[_0x3b0a[123]]!= null){if(_0x2d44x6f[_0x3b0a[123]][_0x3b0a[146]]!= null){if(_0x2d44x6f[_0x3b0a[123]][_0x3b0a[146]]!= null){return _0x2d44x6f[_0x3b0a[123]][_0x3b0a[146]][_0x3b0a[147]]}}else {if(_0x2d44x6f[_0x3b0a[123]][_0x3b0a[147]]!= null){return _0x2d44x6f[_0x3b0a[123]][_0x3b0a[147]]}}};return null};mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.75,0),true), new mxConnectionConstraint( new mxPoint(0,0.25),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0,0.75),true), new mxConnectionConstraint( new mxPoint(1,0.25),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.75),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true)];mxLabel[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];mxImageShape[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];mxSwimlane[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];_0x2d44x14[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];_0x2d44x9[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];_0x2d44x10[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];_0x2d44x1[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];_0x2d44xa[_0x3b0a[0]][_0x3b0a[147]]= mxRectangleShape[_0x3b0a[0]][_0x3b0a[147]];mxCylinder[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.15,0.05),false), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.85,0.05),false), new mxConnectionConstraint( new mxPoint(0,0.3),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0,0.7),true), new mxConnectionConstraint( new mxPoint(1,0.3),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.7),true), new mxConnectionConstraint( new mxPoint(0.15,0.95),false), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.85,0.95),false)];_0x2d44x25[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0.1),false), new mxConnectionConstraint( new mxPoint(0.5,0),false), new mxConnectionConstraint( new mxPoint(0.75,0.1),false), new mxConnectionConstraint( new mxPoint(0,1/ 3),false), new mxConnectionConstraint( new mxPoint(0,1),false), new mxConnectionConstraint( new mxPoint(1,1/ 3),false), new mxConnectionConstraint( new mxPoint(1,1),false), new mxConnectionConstraint( new mxPoint(0.5,0.5),false)];_0x2d44x28[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.75,0),true), new mxConnectionConstraint( new mxPoint(0,0.3),true), new mxConnectionConstraint( new mxPoint(0,0.7),true), new mxConnectionConstraint( new mxPoint(1,0.25),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.75),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true)];mxActor[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.25,0.2),false), new mxConnectionConstraint( new mxPoint(0.1,0.5),false), new mxConnectionConstraint( new mxPoint(0,0.75),true), new mxConnectionConstraint( new mxPoint(0.75,0.25),false), new mxConnectionConstraint( new mxPoint(0.9,0.5),false), new mxConnectionConstraint( new mxPoint(1,0.75),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true)];_0x2d44x11[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0,0.35),false), new mxConnectionConstraint( new mxPoint(0,0.5),false), new mxConnectionConstraint( new mxPoint(0,0.65),false), new mxConnectionConstraint( new mxPoint(1,0.35),false), new mxConnectionConstraint( new mxPoint(1,0.5),false), new mxConnectionConstraint( new mxPoint(1,0.65),false), new mxConnectionConstraint( new mxPoint(0.25,1),false), new mxConnectionConstraint( new mxPoint(0.75,0),false)];_0x2d44x13[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.75,0),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true), new mxConnectionConstraint( new mxPoint(0.1,0.25),false), new mxConnectionConstraint( new mxPoint(0.2,0.5),false), new mxConnectionConstraint( new mxPoint(0.1,0.75),false), new mxConnectionConstraint( new mxPoint(0.9,0.25),false), new mxConnectionConstraint( new mxPoint(1,0.5),false), new mxConnectionConstraint( new mxPoint(0.9,0.75),false)];mxLine[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0,0.5),false), new mxConnectionConstraint( new mxPoint(0.25,0.5),false), new mxConnectionConstraint( new mxPoint(0.75,0.5),false), new mxConnectionConstraint( new mxPoint(1,0.5),false)];_0x2d44x26[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.5,0),false), new mxConnectionConstraint( new mxPoint(0.5,1),false)];mxEllipse[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0,0),true), new mxConnectionConstraint( new mxPoint(1,0),true), new mxConnectionConstraint( new mxPoint(0,1),true), new mxConnectionConstraint( new mxPoint(1,1),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.5))];mxDoubleEllipse[_0x3b0a[0]][_0x3b0a[147]]= mxEllipse[_0x3b0a[0]][_0x3b0a[147]];mxRhombus[_0x3b0a[0]][_0x3b0a[147]]= mxEllipse[_0x3b0a[0]][_0x3b0a[147]];mxTriangle[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0,0.25),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0,0.75),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(1,0.5),true)];mxHexagon[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.375,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.625,0),true), new mxConnectionConstraint( new mxPoint(0.125,0.25),false), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0.125,0.75),false), new mxConnectionConstraint( new mxPoint(0.875,0.25),false), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(0.875,0.75),false), new mxConnectionConstraint( new mxPoint(0.375,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.625,1),true)];mxCloud[_0x3b0a[0]][_0x3b0a[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0.25),false), new mxConnectionConstraint( new mxPoint(0.4,0.1),false), new mxConnectionConstraint( new mxPoint(0.16,0.55),false), new mxConnectionConstraint( new mxPoint(0.07,0.4),false), new mxConnectionConstraint( new mxPoint(0.31,0.8),false), new mxConnectionConstraint( new mxPoint(0.13,0.77),false), new mxConnectionConstraint( new mxPoint(0.8,0.8),false), new mxConnectionConstraint( new mxPoint(0.55,0.95),false), new mxConnectionConstraint( new mxPoint(0.875,0.5),false), new mxConnectionConstraint( new mxPoint(0.96,0.7),false), new mxConnectionConstraint( new mxPoint(0.625,0.2),false), new mxConnectionConstraint( new mxPoint(0.88,0.25),false)];mxArrow[_0x3b0a[0]][_0x3b0a[147]]= null})()
\ No newline at end of file
-'use strict';
-
-/**
- * Construcs a new sidebar for the given editor.
- */
-function Sidebar(editorUi, container) {
- this.editorUi = editorUi;
- this.container = container;
- this.palettes = new Object();
- this.showTooltips = true;
- this.graph = new Graph(document.createElement('div'), null, null, this.editorUi
- .editor.graph.getStylesheet());
- this.graph.resetViewOnRootChange = false;
- this.graph.foldingEnabled = false;
- this.graph.setConnectable(false);
- this.graph.autoScroll = false;
- this.graph.setTooltips(false);
- this.graph.setEnabled(false);
-
- // Container must be in the DOM for correct HTML rendering
- this.graph.container.style.visibility = 'hidden';
- this.graph.container.style.position = 'absolute';
- document.body.appendChild(this.graph.container);
-
- if (!mxClient.IS_TOUCH) {
- mxEvent.addListener(document, 'mouseup', mxUtils.bind(this, function() {
- this.showTooltips = true;
- }));
-
- // Enables tooltips after scroll
- mxEvent.addListener(container, 'scroll', mxUtils.bind(this, function() {
- this.showTooltips = true;
- }));
-
- mxEvent.addListener(document, 'mousedown', mxUtils.bind(this, function() {
- this.showTooltips = false;
- this.hideTooltip();
- }));
-
- mxEvent.addListener(document, 'mousemove', mxUtils.bind(this, function(evt) {
- var src = mxEvent.getSource(evt);
-
- while (src != null) {
- if (src == this.currentElt) {
- return;
- }
-
- src = src.parentNode;
- }
-
- this.hideTooltip();
- }));
-
- // Handles mouse leaving the window
- mxEvent.addListener(document, 'mouseout', mxUtils.bind(this, function(evt) {
- if (evt.toElement == null && evt.relatedTarget == null) {
- this.hideTooltip();
- }
- }));
- }
-
- this.init();
-
- // Pre-fetches tooltip image
- new Image().src = IMAGE_PATH + '/tooltip.png';
-};
-
-/**
- * Adds all palettes to the sidebar.
- */
-Sidebar.prototype.init = function() {
- var dir = STENCIL_PATH;
- console.log(dir);
-
- // this.addImagePalette('entry', mxResources.get('application'), dir + '/',
- // '_128x128.png', ['start', 'question', 'input', 'end', 'email'], [mxResources.get('start'),
- // mxResources.get('question'), mxResources.get('input'), mxResources.get('end'), mxResources.get('email')
- // ]);
- this.addImagePalette('entry', mxResources.get('application'), dir + '/',
- '_128x128.png', ['start', 'question', 'input', 'end'], [mxResources.get('start'),
- mxResources.get('question'), mxResources.get('input'), mxResources.get('end')
- ]);
- // this.addBpmnPalette(dir, false);
-
-};
-
-/**
- * Specifies if tooltips should be visible. Default is true.
- */
-Sidebar.prototype.enableTooltips = !mxClient.IS_TOUCH;
-
-/**
- * Specifies the delay for the tooltip. Default is 16 px.
- */
-Sidebar.prototype.tooltipBorder = 16;
-
-/**
- * Specifies the delay for the tooltip. Default is 3 px.
- */
-Sidebar.prototype.thumbBorder = 3;
-
-/**
- * Specifies the delay for the tooltip. Default is 300 ms.
- */
-Sidebar.prototype.tooltipDelay = 300;
-
-/**
- * Specifies if edges should be used as templates if clicked. Default is true.
- */
-Sidebar.prototype.installEdges = true;
-
-/**
- * Specifies the URL of the gear image.
- */
-Sidebar.prototype.gearImage = STENCIL_PATH + '/clipart/Gear_128x128.png';
-
-/**
- * Specifies the width of the thumbnails.
- */
-Sidebar.prototype.thumbWidth = 34;
-
-/**
- * Specifies the height of the thumbnails.
- */
-Sidebar.prototype.thumbHeight = 34;
-
-/**
- * Specifies the padding for the thumbnails. Default is 3.
- */
-Sidebar.prototype.thumbPadding = 2;
-
-/**
- * Specifies the size of the sidebar titles.
- */
-Sidebar.prototype.sidebarTitleSize = 9;
-
-/**
- * Specifies if titles in the sidebar should be enabled.
- */
-Sidebar.prototype.sidebarTitles = false;
-
-/**
- * Specifies if titles in the tooltips should be enabled.
- */
-Sidebar.prototype.tooltipTitles = false;
-
-/**
- * Adds all palettes to the sidebar.
- */
-Sidebar.prototype.showTooltip = function(elt, cells, title, showLabel) {
- if (this.enableTooltips && this.showTooltips) {
- if (this.currentElt != elt) {
- if (this.thread != null) {
- window.clearTimeout(this.thread);
- this.thread = null;
- }
-
- var show = mxUtils.bind(this, function() {
- // Lazy creation of the DOM nodes and graph instance
- if (this.tooltip == null) {
- this.tooltip = document.createElement('div');
- this.tooltip.className = 'geSidebarTooltip';
- document.body.appendChild(this.tooltip);
-
- this.graph2 = new Graph(this.tooltip, null, null, this.editorUi.editor.graph
- .getStylesheet());
- this.graph2.view.setTranslate(this.tooltipBorder, this.tooltipBorder);
- this.graph2.resetViewOnRootChange = false;
- this.graph2.foldingEnabled = false;
- this.graph2.autoScroll = false;
- this.graph2.setTooltips(false);
- this.graph2.setConnectable(false);
- this.graph2.setEnabled(false);
-
- if (!mxClient.IS_SVG) {
- this.graph2.view.canvas.style.position = 'relative';
- }
-
- this.tooltipImage = mxUtils.createImage(IMAGE_PATH + '/tooltip.png');
- this.tooltipImage.style.position = 'absolute';
- this.tooltipImage.style.width = '14px';
- this.tooltipImage.style.height = '27px';
-
- document.body.appendChild(this.tooltipImage);
- }
-
- this.tooltip.style.display = 'block';
- this.graph2.labelsVisible = (showLabel == null || showLabel);
- this.graph2.model.clear();
- this.graph2.addCells(cells);
-
- var bounds = this.graph2.getGraphBounds();
- var width = bounds.width + 2 * this.tooltipBorder;
- var height = bounds.height + 2 * this.tooltipBorder;
-
- if (mxClient.IS_QUIRKS) {
- width += 4;
- height += 4;
- this.tooltip.style.overflow = 'hidden';
- } else {
- this.tooltip.style.overflow = 'visible';
- }
-
- this.tooltipImage.style.visibility = 'visible';
- this.tooltip.style.width = width + 'px';
-
- // Adds title for entry
- if (this.tooltipTitles && title != null && title.length > 0) {
- if (this.tooltipTitle == null) {
- this.tooltipTitle = document.createElement('div');
- this.tooltipTitle.style.borderTop = '1px solid gray';
- this.tooltipTitle.style.textAlign = 'center';
- this.tooltipTitle.style.width = '100%';
-
- // Oversize titles are cut-off currently. Should make tooltip wider later.
- this.tooltipTitle.style.overflow = 'hidden';
-
- if (mxClient.IS_SVG) {
- this.tooltipTitle.style.paddingTop = '2px';
- } else {
- this.tooltipTitle.style.position = 'absolute';
- this.tooltipTitle.style.paddingTop = '6px';
- }
-
- this.tooltip.appendChild(this.tooltipTitle);
- } else {
- this.tooltipTitle.innerHTML = '';
- }
-
- this.tooltipTitle.style.display = '';
- mxUtils.write(this.tooltipTitle, title);
-
- var dy = this.tooltipTitle.offsetHeight + 10;
- height += dy;
-
- if (mxClient.IS_SVG) {
- this.tooltipTitle.style.marginTop = (-dy) + 'px';
- } else {
- height -= 6;
- this.tooltipTitle.style.top = (height - dy) + 'px';
- }
- } else if (this.tooltipTitle != null && this.tooltipTitle.parentNode !=
- null) {
- this.tooltipTitle.style.display = 'none';
- }
-
- this.tooltip.style.height = height + 'px';
- var x0 = -Math.min(0, bounds.x - this.tooltipBorder);
- var y0 = -Math.min(0, bounds.y - this.tooltipBorder);
-
- var left = this.container.clientWidth + this.editorUi.splitSize + 3;
- var top = Math.max(0, (this.container.offsetTop + elt.offsetTop - this.container
- .scrollTop - height / 2 + 16));
-
- if (mxClient.IS_SVG) {
- this.graph2.view.canvas.setAttribute('transform', 'translate(' + x0 +
- ',' + y0 + ')');
- } else {
- this.graph2.view.drawPane.style.left = x0 + 'px';
- this.graph2.view.drawPane.style.top = y0 + 'px';
- }
-
- // Workaround for ignored position CSS style in IE9
- // (changes to relative without the following line)
- // Added width of the page-sidebar
- // left += document.getElementById('page-sidebar').offsetWidth;
- // Added static height of the page-navbar
- top += 90;
-
- this.tooltip.style.position = 'absolute';
- this.tooltip.style.left = left + 'px';
- this.tooltip.style.top = top + 'px';
- this.tooltipImage.style.left = (left - 13) + 'px';
- this.tooltipImage.style.top = (top + height / 2 - 13) + 'px';
- });
-
- if (this.tooltip != null && this.tooltip.style.display != 'none') {
- show();
- } else {
- this.thread = window.setTimeout(show, this.tooltipDelay);
- }
-
- this.currentElt = elt;
- }
- }
-};
-
-/**
- * Hides the current tooltip.
- */
-Sidebar.prototype.hideTooltip = function() {
- if (this.thread != null) {
- window.clearTimeout(this.thread);
- this.thread = null;
- }
-
- if (this.tooltip != null) {
- this.tooltip.style.display = 'none';
- this.tooltipImage.style.visibility = 'hidden';
- this.currentElt = null;
- }
-};
-
-/**
- * Creates and returns the given title element.
- */
-Sidebar.prototype.createTitle = function(label) {
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geTitle';
- mxUtils.write(elt, label);
-
- return elt;
-};
-
-/**
- * Creates a thumbnail for the given cells.
- */
-Sidebar.prototype.createThumb = function(cells, width, height, parent, title,
- showLabel) {
- this.graph.labelsVisible = (showLabel == null || showLabel);
- this.graph.view.scaleAndTranslate(1, 0, 0);
- this.graph.addCells(cells);
- var bounds = this.graph.getGraphBounds();
- var corr = this.thumbBorder;
- var s = Math.min((width - 2) / (bounds.width - bounds.x + corr), (height - 2) /
- (bounds.height - bounds.y + corr));
- var x0 = -Math.min(bounds.x, 0);
- var y0 = -Math.min(bounds.y, 0);
- this.graph.view.scaleAndTranslate(s, x0, y0);
-
- bounds = this.graph.getGraphBounds();
- var dx = Math.max(0, Math.floor((width - bounds.width - bounds.x) / 2));
- var dy = Math.max(0, Math.floor((height - bounds.height - bounds.y) / 2));
-
- var node = null;
-
- // For supporting HTML labels in IE9 standards mode the container is cloned instead
- if (this.graph.dialect == mxConstants.DIALECT_SVG && !mxClient.NO_FO) {
- node = this.graph.view.getCanvas().ownerSVGElement.cloneNode(true);
- }
- // LATER: Check if deep clone can be used for quirks if container in DOM
- else {
- node = this.graph.container.cloneNode(false);
- node.innerHTML = this.graph.container.innerHTML;
- }
-
- this.graph.getModel().clear();
-
- // Catch-all event handling
- if (mxClient.IS_IE6) {
- parent.style.backgroundImage = 'url(' + this.editorUi.editor.transparentImage +
- ')';
- }
-
- var dd = 3;
- node.style.position = 'relative';
- node.style.overflow = 'hidden';
- node.style.cursor = 'pointer';
- node.style.left = (dx + dd) + 'px';
- node.style.top = (dy + dd) + 'px';
- node.style.width = width + 'px';
- node.style.height = height + 'px';
- node.style.visibility = '';
- node.style.minWidth = '';
- node.style.minHeight = '';
-
- parent.appendChild(node);
-
- // Adds title for sidebar entries
- if (this.sidebarTitles && title != null) {
- var border = (mxClient.IS_QUIRKS) ? 2 * this.thumbPadding + 2 : 0;
- parent.style.height = (this.thumbHeight + border + this.sidebarTitleSize + 8) +
- 'px';
-
- var div = document.createElement('div');
- div.style.fontSize = this.sidebarTitleSize + 'px';
- div.style.textAlign = 'center';
- div.style.whiteSpace = 'nowrap';
-
- if (mxClient.IS_IE) {
- div.style.height = (this.sidebarTitleSize + 12) + 'px';
- }
-
- div.style.paddingTop = '4px';
- mxUtils.write(div, title);
- parent.appendChild(div);
- }
-};
-
-/**
- * Creates and returns a new palette item for the given image.
- */
-Sidebar.prototype.createItem = function(cells, title, showLabel) {
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geItem';
- elt.style.overflow = 'hidden';
- var border = (mxClient.IS_QUIRKS) ? 8 + 2 * this.thumbPadding : 6;
- elt.style.width = (this.thumbWidth + border) + 'px';
- elt.style.height = (this.thumbHeight + border) + 'px';
- elt.style.padding = this.thumbPadding + 'px';
-
- // Blocks default click action
- mxEvent.addListener(elt, 'click', function(evt) {
- mxEvent.consume(evt);
- });
-
- this.createThumb(cells, this.thumbWidth, this.thumbHeight, elt, title,
- showLabel);
-
- return elt;
-};
-
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createDropHandler = function(cells, allowSplit) {
- return function(graph, evt, target, x, y) {
- if (graph.isEnabled()) {
- cells = graph.getImportableCells(cells);
-
- if (cells.length > 0) {
- var validDropTarget = (target != null) ?
- graph.isValidDropTarget(target, cells, evt) : false;
- var select = null;
-
- if (target != null && !validDropTarget) {
- target = null;
- }
-
- // Splits the target edge or inserts into target group
- if (allowSplit && graph.isSplitEnabled() && graph.isSplitTarget(target,
- cells, evt)) {
- graph.splitEdge(target, cells, null, x, y);
- select = cells;
- } else if (cells.length > 0) {
- select = graph.importCells(cells, x, y, target);
- }
-
- if (select != null && select.length > 0) {
- graph.scrollCellToVisible(select[0]);
- graph.setSelectionCells(select);
- }
- }
- }
- };
-};
-
-/**
- * Creates and returns a preview element for the given width and height.
- */
-Sidebar.prototype.createDragPreview = function(width, height) {
- var elt = document.createElement('div');
- elt.style.border = '1px dashed black';
- elt.style.width = width + 'px';
- elt.style.height = height + 'px';
-
- return elt;
-};
-
-/**
- * Creates a drag source for the given element.
- */
-Sidebar.prototype.createDragSource = function(elt, dropHandler, preview) {
- var dragSource = mxUtils.makeDraggable(elt, this.editorUi.editor.graph,
- dropHandler,
- preview, 0, 0, this.editorUi.editor.graph.autoscroll, true, true);
-
-
-
- // Allows drop into cell only if target is a valid root
- dragSource.getDropTarget = function(graph, x, y) {
- var target = mxDragSource.prototype.getDropTarget.apply(this, arguments);
- if (!graph.isValidRoot(target)) {
- target = null;
- }
-
- return target;
- };
-
- return dragSource;
-};
-
-
-
-/**
- * Adds a handler for inserting the cell with a single click.
- */
-Sidebar.prototype.addClickHandler = function(elt, ds) {
- var graph = this.editorUi.editor.graph;
- var first = null;
-
- mxEvent.addGestureListeners(elt, function(evt) {
- first = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- });
-
- var oldMouseUp = ds.mouseUp;
- ds.mouseUp = function(evt) {
- if (!mxEvent.isPopupTrigger(evt) && this.currentGraph == null && first !=
- null) {
- var tol = graph.tolerance;
-
- if (Math.abs(first.x - mxEvent.getClientX(evt)) <= tol &&
- Math.abs(first.y - mxEvent.getClientY(evt)) <= tol) {
- var gs = graph.getGridSize();
- ds.drop(graph, evt, null, gs, gs);
- }
- }
-
- oldMouseUp.apply(this, arguments);
- first = null;
- };
-};
-
-/**
- * Giuseppe Careri
- * Create xml document vertex
- */
-Sidebar.prototype.createXmlDocument = function(element, label, variables,
- values) {
- var doc = mxUtils.createXmlDocument();
- var node = doc.createElement(element)
- node.setAttribute('label', label);
-
- variables.forEach(function(variable, index) {
- node.setAttribute(variable, values[index] ? values[index] : '');
- });
-
- return node;
-}
-
-/**
- * Giuseppe Careri
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createVertexTemplate = function(style, width, height, value,
- title, showLabel) {
- var variables = [];
- var values = [];
-
- switch (value) {
- case 'start':
- variables = ['id', 'text', 'state'];
- values = ['0', '', "OFF"];
- break;
- case 'end':
- variables = ['id', 'text'];
- values = ['0', ''];
- break;
- case 'question':
- variables = ['id', 'question', 'other'];
- values = ['0', ''];
- break;
- case 'input':
- variables = ['id', 'question', 'add'];
- values = ['0', ''];
- break;
- // case 'email':
- // variables = ["Host", "Username", "Password", "To", "Subject", "Body"];
- // values = [''];
- // break;
- // case 'sms':
- // variables = ['account_id', 'to', 'sms_text'];
- // values = ['0'];
- // break;
-
- default:
- variables = [];
- values = [];
- break;
- }
-
- var node = this.createXmlDocument(value, title, variables, values);
-
- //var cells = [new mxCell((value != null) ? value : '', new mxGeometry(0, 0, width, height), style)];
- var cells = [new mxCell(node, new mxGeometry(0, 0, width, height), style)];
- cells[0].vertex = true;
- return this.createVertexTemplateFromCells(cells, width, height, title,
- showLabel);
-};
-
-
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createVertexTemplateFromCells = function(cells, width, height,
- title, showLabel) {
- var elt = this.createItem(cells, title, showLabel);
- var ds = this.createDragSource(elt, this.createDropHandler(cells, true), this
- .createDragPreview(width, height));
- this.addClickHandler(elt, ds);
-
- // Uses guides for vertices only if enabled in graph
- ds.isGuidesEnabled = mxUtils.bind(this, function() {
- return this.editorUi.editor.graph.graphHandler.guidesEnabled;
- });
-
- // Shows a tooltip with the rendered cell
- if (!touchStyle) {
- mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
- this.showTooltip(elt, cells, title, showLabel);
- }));
- }
-
- return elt;
-};
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createEdgeTemplate = function(style, width, height, value,
- title, showLabel) {
- var cells = [new mxCell((value != null) ? value : '', new mxGeometry(0, 0,
- width, height), style)];
- cells[0].geometry.setTerminalPoint(new mxPoint(0, height), true);
- cells[0].geometry.setTerminalPoint(new mxPoint(width, 0), false);
- cells[0].geometry.relative = true;
- cells[0].edge = true;
-
- return this.createEdgeTemplateFromCells(cells, width, height, title,
- showLabel);
-};
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createEdgeTemplateFromCells = function(cells, width, height,
- title, showLabel) {
- var elt = this.createItem(cells, title, showLabel);
- this.createDragSource(elt, this.createDropHandler(cells, false), this.createDragPreview(
- width, height));
-
- // Installs the default edge
- var graph = this.editorUi.editor.graph;
- mxEvent.addListener(elt, 'click', mxUtils.bind(this, function(evt) {
- if (this.installEdges) {
- graph.setDefaultEdge(cells[0]);
- }
-
- // Highlights the entry for 200ms
- elt.style.backgroundColor = '#ffffff';
-
- window.setTimeout(function() {
- elt.style.backgroundColor = '';
- }, 300);
-
- mxEvent.consume(evt);
- }));
-
- // Shows a tooltip with the rendered cell
- touchStyle = false;
- if (!touchStyle) {
- mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
- this.showTooltip(elt, cells, title, showLabel);
- }));
- }
-
- return elt;
-};
-
-/**
- * Adds the given palette.
- */
-Sidebar.prototype.addPalette = function(id, title, expanded, onInit) {
- var elt = this.createTitle(title);
- this.container.appendChild(elt);
-
- var div = document.createElement('div');
- div.className = 'geSidebar';
-
- if (expanded) {
- onInit(div);
- onInit = null;
- } else {
- div.style.display = 'none';
- }
-
- this.addFoldingHandler(elt, div, onInit);
-
- var outer = document.createElement('div');
- outer.appendChild(div);
- this.container.appendChild(outer);
-
- // Keeps references to the DOM nodes
- if (id != null) {
- this.palettes[id] = [elt, outer];
- }
-};
-
-/**
- * Create the given title element.
- */
-Sidebar.prototype.addFoldingHandler = function(title, content, funct) {
- var initialized = false;
-
- title.style.backgroundImage = (content.style.display == 'none') ?
- 'url(' + IMAGE_PATH + '/collapsed.gif)' : 'url(' + IMAGE_PATH +
- '/expanded.gif)';
- title.style.backgroundRepeat = 'no-repeat';
- title.style.backgroundPosition = '100% 50%';
-
- mxEvent.addListener(title, 'click', function(evt) {
- if (content.style.display == 'none') {
- if (!initialized) {
- initialized = true;
-
- if (funct != null) {
- title.style.cursor = 'wait';
- window.setTimeout(function() {
- funct(content);
- title.style.cursor = '';
- }, 0);
- }
- }
-
- title.style.backgroundImage = 'url(' + IMAGE_PATH + '/expanded.gif)';
- content.style.display = 'block';
- } else {
- title.style.backgroundImage = 'url(' + IMAGE_PATH + '/collapsed.gif)';
- content.style.display = 'none';
- }
-
- mxEvent.consume(evt);
- });
-};
-
-/**
- * Removes the palette for the given ID.
- */
-Sidebar.prototype.removePalette = function(id) {
- var elts = this.palettes[id];
-
- if (elts != null) {
- this.palettes[id] = null;
-
- for (var i = 0; i < elts.length; i++) {
- this.container.removeChild(elts[i]);
- }
-
- return true;
- }
-
- return false;
-};
-
-/**
- * Adds the given image palette.
- */
-Sidebar.prototype.addImagePalette = function(id, title, prefix, postfix, items,
- titles) {
- // Giuseppe Careri
- // Expanded Sidebar only entry
- this.addPalette(id, title, (id === 'entry'), mxUtils.bind(this, function(
- content) {
- var showTitles = titles != null;
-
- for (var i = 0; i < items.length; i++) {
- var icon = prefix + items[i] + postfix;
- content.appendChild(this.createVertexTemplate('image;image=' + icon, 80,
- 80, items[i], (showTitles) ? titles[i] : null, showTitles));
- }
- }));
-};
-// ***********modified***************
-// Sidebar.prototype.addBpmnPalette = function(dir, expand) {
-// //Abigael Dawit
-//
-// var fns = [
-// this.createVertexTemplate(
-// 'text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;',
-// 40, 20, 'Text', 'Text', null),
-// //this.createVertexTemplate('shape=ext;rounded=1;whiteSpace=wrap;dashed=1;dashPattern=1 4;', 120, 80, 'Event\nSub-Process', 'Event Sub-Process', null),
-// this.createVertexTemplate('shape=swimlane;whiteSpace=wrap;startSize=60;',
-// 120, 160, 'Container', 'Container', null),
-// // this.createVertexTemplate('shape=ellipse;', 120, 160, 'Ellips', 'Ellipse', null)
-// this.createVertexTemplate(
-// 'shape=swimlane;html=1;horizontal=0;swimlaneFillColor=white;swimlaneLine=0;fillColor=none;rounded=1;verticalAlign=middle',
-// 300, 120, 'Lane', 'Lane', null)
-//
-// ]
-//
-// this.addPalette('utility', 'Utility ', false, mxUtils.bind(this, function(
-// content) {
-// //var showTitles = titles != null;
-// for (var i = 0; i < fns.length; i++) {
-// content.appendChild(fns[i]);
-// }
-// }));
-//
-// };
+var _0x42b1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x64\x69\x74\x6F\x72\x55\x69","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x70\x61\x6C\x65\x74\x74\x65\x73","\x73\x68\x6F\x77\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x67\x72\x61\x70\x68","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x74\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x65\x64\x69\x74\x6F\x72","\x72\x65\x73\x65\x74\x56\x69\x65\x77\x4F\x6E\x52\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x61\x75\x74\x6F\x53\x63\x72\x6F\x6C\x6C","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79","\x73\x74\x79\x6C\x65","\x68\x69\x64\x64\x65\x6E","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x62\x6F\x64\x79","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x6D\x6F\x75\x73\x65\x75\x70","\x62\x69\x6E\x64","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x73\x63\x72\x6F\x6C\x6C","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x68\x69\x64\x65\x54\x6F\x6F\x6C\x74\x69\x70","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x67\x65\x74\x53\x6F\x75\x72\x63\x65","\x63\x75\x72\x72\x65\x6E\x74\x45\x6C\x74","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x6D\x6F\x75\x73\x65\x6F\x75\x74","\x74\x6F\x45\x6C\x65\x6D\x65\x6E\x74","\x72\x65\x6C\x61\x74\x65\x64\x54\x61\x72\x67\x65\x74","\x69\x6E\x69\x74","\x73\x72\x63","\x2F\x74\x6F\x6F\x6C\x74\x69\x70\x2E\x70\x6E\x67","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x6F\x67","\x65\x6E\x74\x72\x79","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x67\x65\x74","\x2F","\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67","\x73\x74\x61\x72\x74","\x71\x75\x65\x73\x74\x69\x6F\x6E","\x69\x6E\x70\x75\x74","\x65\x6E\x64","\x61\x64\x64\x49\x6D\x61\x67\x65\x50\x61\x6C\x65\x74\x74\x65","\x65\x6E\x61\x62\x6C\x65\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x42\x6F\x72\x64\x65\x72","\x74\x68\x75\x6D\x62\x42\x6F\x72\x64\x65\x72","\x74\x6F\x6F\x6C\x74\x69\x70\x44\x65\x6C\x61\x79","\x69\x6E\x73\x74\x61\x6C\x6C\x45\x64\x67\x65\x73","\x67\x65\x61\x72\x49\x6D\x61\x67\x65","\x2F\x63\x6C\x69\x70\x61\x72\x74\x2F\x47\x65\x61\x72\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67","\x74\x68\x75\x6D\x62\x57\x69\x64\x74\x68","\x74\x68\x75\x6D\x62\x48\x65\x69\x67\x68\x74","\x74\x68\x75\x6D\x62\x50\x61\x64\x64\x69\x6E\x67","\x73\x69\x64\x65\x62\x61\x72\x54\x69\x74\x6C\x65\x53\x69\x7A\x65","\x73\x69\x64\x65\x62\x61\x72\x54\x69\x74\x6C\x65\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x54\x69\x74\x6C\x65\x73","\x73\x68\x6F\x77\x54\x6F\x6F\x6C\x74\x69\x70","\x74\x68\x72\x65\x61\x64","\x63\x6C\x65\x61\x72\x54\x69\x6D\x65\x6F\x75\x74","\x74\x6F\x6F\x6C\x74\x69\x70","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x53\x69\x64\x65\x62\x61\x72\x54\x6F\x6F\x6C\x74\x69\x70","\x67\x72\x61\x70\x68\x32","\x73\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x76\x69\x65\x77","\x49\x53\x5F\x53\x56\x47","\x63\x61\x6E\x76\x61\x73","\x72\x65\x6C\x61\x74\x69\x76\x65","\x74\x6F\x6F\x6C\x74\x69\x70\x49\x6D\x61\x67\x65","\x63\x72\x65\x61\x74\x65\x49\x6D\x61\x67\x65","\x77\x69\x64\x74\x68","\x31\x34\x70\x78","\x68\x65\x69\x67\x68\x74","\x32\x37\x70\x78","\x64\x69\x73\x70\x6C\x61\x79","\x62\x6C\x6F\x63\x6B","\x6C\x61\x62\x65\x6C\x73\x56\x69\x73\x69\x62\x6C\x65","\x63\x6C\x65\x61\x72","\x6D\x6F\x64\x65\x6C","\x61\x64\x64\x43\x65\x6C\x6C\x73","\x67\x65\x74\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x76\x69\x73\x69\x62\x6C\x65","\x70\x78","\x6C\x65\x6E\x67\x74\x68","\x74\x6F\x6F\x6C\x74\x69\x70\x54\x69\x74\x6C\x65","\x62\x6F\x72\x64\x65\x72\x54\x6F\x70","\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x67\x72\x61\x79","\x74\x65\x78\x74\x41\x6C\x69\x67\x6E","\x63\x65\x6E\x74\x65\x72","\x31\x30\x30\x25","\x70\x61\x64\x64\x69\x6E\x67\x54\x6F\x70","\x32\x70\x78","\x36\x70\x78","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","","\x77\x72\x69\x74\x65","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70","\x74\x6F\x70","\x6E\x6F\x6E\x65","\x78","\x6D\x69\x6E","\x79","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x73\x70\x6C\x69\x74\x53\x69\x7A\x65","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x6D\x61\x78","\x74\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x28","\x2C","\x29","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x6C\x65\x66\x74","\x64\x72\x61\x77\x50\x61\x6E\x65","\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74","\x63\x72\x65\x61\x74\x65\x54\x69\x74\x6C\x65","\x61","\x68\x72\x65\x66","\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x76\x6F\x69\x64\x28\x30\x29\x3B","\x67\x65\x54\x69\x74\x6C\x65","\x63\x72\x65\x61\x74\x65\x54\x68\x75\x6D\x62","\x73\x63\x61\x6C\x65\x41\x6E\x64\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x66\x6C\x6F\x6F\x72","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x4E\x4F\x5F\x46\x4F","\x63\x6C\x6F\x6E\x65\x4E\x6F\x64\x65","\x6F\x77\x6E\x65\x72\x53\x56\x47\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x74\x43\x61\x6E\x76\x61\x73","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x49\x53\x5F\x49\x45\x36","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x49\x6D\x61\x67\x65","\x63\x75\x72\x73\x6F\x72","\x70\x6F\x69\x6E\x74\x65\x72","\x6D\x69\x6E\x57\x69\x64\x74\x68","\x6D\x69\x6E\x48\x65\x69\x67\x68\x74","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x6E\x6F\x77\x72\x61\x70","\x49\x53\x5F\x49\x45","\x34\x70\x78","\x63\x72\x65\x61\x74\x65\x49\x74\x65\x6D","\x67\x65\x49\x74\x65\x6D","\x70\x61\x64\x64\x69\x6E\x67","\x63\x6C\x69\x63\x6B","\x63\x6F\x6E\x73\x75\x6D\x65","\x63\x72\x65\x61\x74\x65\x44\x72\x6F\x70\x48\x61\x6E\x64\x6C\x65\x72","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x49\x6D\x70\x6F\x72\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x69\x73\x56\x61\x6C\x69\x64\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x69\x73\x53\x70\x6C\x69\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x70\x6C\x69\x74\x54\x61\x72\x67\x65\x74","\x73\x70\x6C\x69\x74\x45\x64\x67\x65","\x69\x6D\x70\x6F\x72\x74\x43\x65\x6C\x6C\x73","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x63\x72\x65\x61\x74\x65\x44\x72\x61\x67\x50\x72\x65\x76\x69\x65\x77","\x62\x6F\x72\x64\x65\x72","\x31\x70\x78\x20\x64\x61\x73\x68\x65\x64\x20\x62\x6C\x61\x63\x6B","\x63\x72\x65\x61\x74\x65\x44\x72\x61\x67\x53\x6F\x75\x72\x63\x65","\x61\x75\x74\x6F\x73\x63\x72\x6F\x6C\x6C","\x6D\x61\x6B\x65\x44\x72\x61\x67\x67\x61\x62\x6C\x65","\x67\x65\x74\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x61\x70\x70\x6C\x79","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x61\x64\x64\x43\x6C\x69\x63\x6B\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x6D\x6F\x75\x73\x65\x55\x70","\x69\x73\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x63\x75\x72\x72\x65\x6E\x74\x47\x72\x61\x70\x68","\x74\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x61\x62\x73","\x67\x65\x74\x47\x72\x69\x64\x53\x69\x7A\x65","\x64\x72\x6F\x70","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x6C\x61\x62\x65\x6C","\x66\x6F\x72\x45\x61\x63\x68","\x63\x72\x65\x61\x74\x65\x56\x65\x72\x74\x65\x78\x54\x65\x6D\x70\x6C\x61\x74\x65","\x69\x64","\x74\x65\x78\x74","\x73\x74\x61\x74\x65","\x30","\x4F\x46\x46","\x6F\x74\x68\x65\x72","\x61\x64\x64","\x76\x65\x72\x74\x65\x78","\x63\x72\x65\x61\x74\x65\x56\x65\x72\x74\x65\x78\x54\x65\x6D\x70\x6C\x61\x74\x65\x46\x72\x6F\x6D\x43\x65\x6C\x6C\x73","\x69\x73\x47\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x73\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x67\x65\x6F\x6D\x65\x74\x72\x79","\x65\x64\x67\x65","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x46\x72\x6F\x6D\x43\x65\x6C\x6C\x73","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x23\x66\x66\x66\x66\x66\x66","\x61\x64\x64\x50\x61\x6C\x65\x74\x74\x65","\x67\x65\x53\x69\x64\x65\x62\x61\x72","\x61\x64\x64\x46\x6F\x6C\x64\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x2F\x63\x6F\x6C\x6C\x61\x70\x73\x65\x64\x2E\x67\x69\x66\x29","\x2F\x65\x78\x70\x61\x6E\x64\x65\x64\x2E\x67\x69\x66\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x70\x65\x61\x74","\x6E\x6F\x2D\x72\x65\x70\x65\x61\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x31\x30\x30\x25\x20\x35\x30\x25","\x77\x61\x69\x74","\x72\x65\x6D\x6F\x76\x65\x50\x61\x6C\x65\x74\x74\x65","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D"];_0x42b1[0];function Sidebar(_0x4b7dx2,_0x4b7dx3){this[_0x42b1[1]]= _0x4b7dx2;this[_0x42b1[2]]= _0x4b7dx3;this[_0x42b1[3]]= new Object();this[_0x42b1[4]]= true;this[_0x42b1[5]]= new Graph(document[_0x42b1[7]](_0x42b1[6]),null,null,this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]][_0x42b1[8]]());this[_0x42b1[5]][_0x42b1[10]]= false;this[_0x42b1[5]][_0x42b1[11]]= false;this[_0x42b1[5]][_0x42b1[12]](false);this[_0x42b1[5]][_0x42b1[13]]= false;this[_0x42b1[5]][_0x42b1[14]](false);this[_0x42b1[5]][_0x42b1[15]](false);this[_0x42b1[5]][_0x42b1[2]][_0x42b1[17]][_0x42b1[16]]= _0x42b1[18];this[_0x42b1[5]][_0x42b1[2]][_0x42b1[17]][_0x42b1[19]]= _0x42b1[20];document[_0x42b1[22]][_0x42b1[21]](this[_0x42b1[5]][_0x42b1[2]]);if(!mxClient[_0x42b1[23]]){mxEvent[_0x42b1[26]](document,_0x42b1[24],mxUtils[_0x42b1[25]](this,function(){this[_0x42b1[4]]= true}));mxEvent[_0x42b1[26]](_0x4b7dx3,_0x42b1[27],mxUtils[_0x42b1[25]](this,function(){this[_0x42b1[4]]= true}));mxEvent[_0x42b1[26]](document,_0x42b1[28],mxUtils[_0x42b1[25]](this,function(){this[_0x42b1[4]]= false;this[_0x42b1[29]]()}));mxEvent[_0x42b1[26]](document,_0x42b1[30],mxUtils[_0x42b1[25]](this,function(_0x4b7dx4){var _0x4b7dx5=mxEvent[_0x42b1[31]](_0x4b7dx4);while(_0x4b7dx5!= null){if(_0x4b7dx5== this[_0x42b1[32]]){return};_0x4b7dx5= _0x4b7dx5[_0x42b1[33]]};this[_0x42b1[29]]()}));mxEvent[_0x42b1[26]](document,_0x42b1[34],mxUtils[_0x42b1[25]](this,function(_0x4b7dx4){if(_0x4b7dx4[_0x42b1[35]]== null&& _0x4b7dx4[_0x42b1[36]]== null){this[_0x42b1[29]]()}}))};this[_0x42b1[37]](); new Image()[_0x42b1[38]]= IMAGE_PATH+ _0x42b1[39]}Sidebar[_0x42b1[40]][_0x42b1[37]]= function(){var _0x4b7dx6=STENCIL_PATH;console[_0x42b1[41]](_0x4b7dx6);this[_0x42b1[51]](_0x42b1[42],mxResources[_0x42b1[44]](_0x42b1[43]),_0x4b7dx6+ _0x42b1[45],_0x42b1[46],[_0x42b1[47],_0x42b1[48],_0x42b1[49],_0x42b1[50]],[mxResources[_0x42b1[44]](_0x42b1[47]),mxResources[_0x42b1[44]](_0x42b1[48]),mxResources[_0x42b1[44]](_0x42b1[49]),mxResources[_0x42b1[44]](_0x42b1[50])])};Sidebar[_0x42b1[40]][_0x42b1[52]]= !mxClient[_0x42b1[23]];Sidebar[_0x42b1[40]][_0x42b1[53]]= 16;Sidebar[_0x42b1[40]][_0x42b1[54]]= 3;Sidebar[_0x42b1[40]][_0x42b1[55]]= 300;Sidebar[_0x42b1[40]][_0x42b1[56]]= true;Sidebar[_0x42b1[40]][_0x42b1[57]]= STENCIL_PATH+ _0x42b1[58];Sidebar[_0x42b1[40]][_0x42b1[59]]= 34;Sidebar[_0x42b1[40]][_0x42b1[60]]= 34;Sidebar[_0x42b1[40]][_0x42b1[61]]= 2;Sidebar[_0x42b1[40]][_0x42b1[62]]= 9;Sidebar[_0x42b1[40]][_0x42b1[63]]= false;Sidebar[_0x42b1[40]][_0x42b1[64]]= false;Sidebar[_0x42b1[40]][_0x42b1[65]]= function(_0x4b7dx7,_0x4b7dx8,_0x4b7dx9,_0x4b7dxa){if(this[_0x42b1[52]]&& this[_0x42b1[4]]){if(this[_0x42b1[32]]!= _0x4b7dx7){if(this[_0x42b1[66]]!= null){window[_0x42b1[67]](this[_0x42b1[66]]);this[_0x42b1[66]]= null};var _0x4b7dxb=mxUtils[_0x42b1[25]](this,function(){if(this[_0x42b1[68]]== null){this[_0x42b1[68]]= document[_0x42b1[7]](_0x42b1[6]);this[_0x42b1[68]][_0x42b1[69]]= _0x42b1[70];document[_0x42b1[22]][_0x42b1[21]](this[_0x42b1[68]]);this[_0x42b1[71]]= new Graph(this[_0x42b1[68]],null,null,this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]][_0x42b1[8]]());this[_0x42b1[71]][_0x42b1[73]][_0x42b1[72]](this[_0x42b1[53]],this[_0x42b1[53]]);this[_0x42b1[71]][_0x42b1[10]]= false;this[_0x42b1[71]][_0x42b1[11]]= false;this[_0x42b1[71]][_0x42b1[13]]= false;this[_0x42b1[71]][_0x42b1[14]](false);this[_0x42b1[71]][_0x42b1[12]](false);this[_0x42b1[71]][_0x42b1[15]](false);if(!mxClient[_0x42b1[74]]){this[_0x42b1[71]][_0x42b1[73]][_0x42b1[75]][_0x42b1[17]][_0x42b1[19]]= _0x42b1[76]};this[_0x42b1[77]]= mxUtils[_0x42b1[78]](IMAGE_PATH+ _0x42b1[39]);this[_0x42b1[77]][_0x42b1[17]][_0x42b1[19]]= _0x42b1[20];this[_0x42b1[77]][_0x42b1[17]][_0x42b1[79]]= _0x42b1[80];this[_0x42b1[77]][_0x42b1[17]][_0x42b1[81]]= _0x42b1[82];document[_0x42b1[22]][_0x42b1[21]](this[_0x42b1[77]])};this[_0x42b1[68]][_0x42b1[17]][_0x42b1[83]]= _0x42b1[84];this[_0x42b1[71]][_0x42b1[85]]= (_0x4b7dxa== null|| _0x4b7dxa);this[_0x42b1[71]][_0x42b1[87]][_0x42b1[86]]();this[_0x42b1[71]][_0x42b1[88]](_0x4b7dx8);var _0x4b7dxc=this[_0x42b1[71]][_0x42b1[89]]();var _0x4b7dxd=_0x4b7dxc[_0x42b1[79]]+ 2* this[_0x42b1[53]];var _0x4b7dxe=_0x4b7dxc[_0x42b1[81]]+ 2* this[_0x42b1[53]];if(mxClient[_0x42b1[90]]){_0x4b7dxd+= 4;_0x4b7dxe+= 4;this[_0x42b1[68]][_0x42b1[17]][_0x42b1[91]]= _0x42b1[18]}else {this[_0x42b1[68]][_0x42b1[17]][_0x42b1[91]]= _0x42b1[92]};this[_0x42b1[77]][_0x42b1[17]][_0x42b1[16]]= _0x42b1[92];this[_0x42b1[68]][_0x42b1[17]][_0x42b1[79]]= _0x4b7dxd+ _0x42b1[93];if(this[_0x42b1[64]]&& _0x4b7dx9!= null&& _0x4b7dx9[_0x42b1[94]]> 0){if(this[_0x42b1[95]]== null){this[_0x42b1[95]]= document[_0x42b1[7]](_0x42b1[6]);this[_0x42b1[95]][_0x42b1[17]][_0x42b1[96]]= _0x42b1[97];this[_0x42b1[95]][_0x42b1[17]][_0x42b1[98]]= _0x42b1[99];this[_0x42b1[95]][_0x42b1[17]][_0x42b1[79]]= _0x42b1[100];this[_0x42b1[95]][_0x42b1[17]][_0x42b1[91]]= _0x42b1[18];if(mxClient[_0x42b1[74]]){this[_0x42b1[95]][_0x42b1[17]][_0x42b1[101]]= _0x42b1[102]}else {this[_0x42b1[95]][_0x42b1[17]][_0x42b1[19]]= _0x42b1[20];this[_0x42b1[95]][_0x42b1[17]][_0x42b1[101]]= _0x42b1[103]};this[_0x42b1[68]][_0x42b1[21]](this[_0x42b1[95]])}else {this[_0x42b1[95]][_0x42b1[104]]= _0x42b1[105]};this[_0x42b1[95]][_0x42b1[17]][_0x42b1[83]]= _0x42b1[105];mxUtils[_0x42b1[106]](this[_0x42b1[95]],_0x4b7dx9);var _0x4b7dxf=this[_0x42b1[95]][_0x42b1[107]]+ 10;_0x4b7dxe+= _0x4b7dxf;if(mxClient[_0x42b1[74]]){this[_0x42b1[95]][_0x42b1[17]][_0x42b1[108]]= (-_0x4b7dxf) + _0x42b1[93]}else {_0x4b7dxe-= 6;this[_0x42b1[95]][_0x42b1[17]][_0x42b1[109]]= (_0x4b7dxe- _0x4b7dxf)+ _0x42b1[93]}}else {if(this[_0x42b1[95]]!= null&& this[_0x42b1[95]][_0x42b1[33]]!= null){this[_0x42b1[95]][_0x42b1[17]][_0x42b1[83]]= _0x42b1[110]}};this[_0x42b1[68]][_0x42b1[17]][_0x42b1[81]]= _0x4b7dxe+ _0x42b1[93];var _0x4b7dx10=-Math[_0x42b1[112]](0,_0x4b7dxc[_0x42b1[111]]- this[_0x42b1[53]]);var _0x4b7dx11=-Math[_0x42b1[112]](0,_0x4b7dxc[_0x42b1[113]]- this[_0x42b1[53]]);var _0x4b7dx12=this[_0x42b1[2]][_0x42b1[114]]+ this[_0x42b1[1]][_0x42b1[115]]+ 3;var _0x4b7dx13=Math[_0x42b1[118]](0,(this[_0x42b1[2]][_0x42b1[116]]+ _0x4b7dx7[_0x42b1[116]]- this[_0x42b1[2]][_0x42b1[117]]- _0x4b7dxe/ 2+ 16));if(mxClient[_0x42b1[74]]){this[_0x42b1[71]][_0x42b1[73]][_0x42b1[75]][_0x42b1[123]](_0x42b1[119],_0x42b1[120]+ _0x4b7dx10+ _0x42b1[121]+ _0x4b7dx11+ _0x42b1[122])}else {this[_0x42b1[71]][_0x42b1[73]][_0x42b1[125]][_0x42b1[17]][_0x42b1[124]]= _0x4b7dx10+ _0x42b1[93];this[_0x42b1[71]][_0x42b1[73]][_0x42b1[125]][_0x42b1[17]][_0x42b1[109]]= _0x4b7dx11+ _0x42b1[93]};_0x4b7dx13+= 90;this[_0x42b1[68]][_0x42b1[17]][_0x42b1[19]]= _0x42b1[20];this[_0x42b1[68]][_0x42b1[17]][_0x42b1[124]]= _0x4b7dx12+ _0x42b1[93];this[_0x42b1[68]][_0x42b1[17]][_0x42b1[109]]= _0x4b7dx13+ _0x42b1[93];this[_0x42b1[77]][_0x42b1[17]][_0x42b1[124]]= (_0x4b7dx12- 13)+ _0x42b1[93];this[_0x42b1[77]][_0x42b1[17]][_0x42b1[109]]= (_0x4b7dx13+ _0x4b7dxe/ 2- 13)+ _0x42b1[93]});if(this[_0x42b1[68]]!= null&& this[_0x42b1[68]][_0x42b1[17]][_0x42b1[83]]!= _0x42b1[110]){_0x4b7dxb()}else {this[_0x42b1[66]]= window[_0x42b1[126]](_0x4b7dxb,this[_0x42b1[55]])};this[_0x42b1[32]]= _0x4b7dx7}}};Sidebar[_0x42b1[40]][_0x42b1[29]]= function(){if(this[_0x42b1[66]]!= null){window[_0x42b1[67]](this[_0x42b1[66]]);this[_0x42b1[66]]= null};if(this[_0x42b1[68]]!= null){this[_0x42b1[68]][_0x42b1[17]][_0x42b1[83]]= _0x42b1[110];this[_0x42b1[77]][_0x42b1[17]][_0x42b1[16]]= _0x42b1[18];this[_0x42b1[32]]= null}};Sidebar[_0x42b1[40]][_0x42b1[127]]= function(_0x4b7dx14){var _0x4b7dx7=document[_0x42b1[7]](_0x42b1[128]);_0x4b7dx7[_0x42b1[123]](_0x42b1[129],_0x42b1[130]);_0x4b7dx7[_0x42b1[69]]= _0x42b1[131];mxUtils[_0x42b1[106]](_0x4b7dx7,_0x4b7dx14);return _0x4b7dx7};Sidebar[_0x42b1[40]][_0x42b1[132]]= function(_0x4b7dx8,_0x4b7dxd,_0x4b7dxe,_0x4b7dx15,_0x4b7dx9,_0x4b7dxa){this[_0x42b1[5]][_0x42b1[85]]= (_0x4b7dxa== null|| _0x4b7dxa);this[_0x42b1[5]][_0x42b1[73]][_0x42b1[133]](1,0,0);this[_0x42b1[5]][_0x42b1[88]](_0x4b7dx8);var _0x4b7dxc=this[_0x42b1[5]][_0x42b1[89]]();var _0x4b7dx16=this[_0x42b1[54]];var _0x4b7dx17=Math[_0x42b1[112]]((_0x4b7dxd- 2)/ (_0x4b7dxc[_0x42b1[79]]- _0x4b7dxc[_0x42b1[111]]+ _0x4b7dx16),(_0x4b7dxe- 2)/ (_0x4b7dxc[_0x42b1[81]]- _0x4b7dxc[_0x42b1[113]]+ _0x4b7dx16));var _0x4b7dx10=-Math[_0x42b1[112]](_0x4b7dxc[_0x42b1[111]],0);var _0x4b7dx11=-Math[_0x42b1[112]](_0x4b7dxc[_0x42b1[113]],0);this[_0x42b1[5]][_0x42b1[73]][_0x42b1[133]](_0x4b7dx17,_0x4b7dx10,_0x4b7dx11);_0x4b7dxc= this[_0x42b1[5]][_0x42b1[89]]();var _0x4b7dx18=Math[_0x42b1[118]](0,Math[_0x42b1[134]]((_0x4b7dxd- _0x4b7dxc[_0x42b1[79]]- _0x4b7dxc[_0x42b1[111]])/ 2));var _0x4b7dxf=Math[_0x42b1[118]](0,Math[_0x42b1[134]]((_0x4b7dxe- _0x4b7dxc[_0x42b1[81]]- _0x4b7dxc[_0x42b1[113]])/ 2));var _0x4b7dx19=null;if(this[_0x42b1[5]][_0x42b1[135]]== mxConstants[_0x42b1[136]]&& !mxClient[_0x42b1[137]]){_0x4b7dx19= this[_0x42b1[5]][_0x42b1[73]][_0x42b1[140]]()[_0x42b1[139]][_0x42b1[138]](true)}else {_0x4b7dx19= this[_0x42b1[5]][_0x42b1[2]][_0x42b1[138]](false);_0x4b7dx19[_0x42b1[104]]= this[_0x42b1[5]][_0x42b1[2]][_0x42b1[104]]};this[_0x42b1[5]][_0x42b1[141]]()[_0x42b1[86]]();if(mxClient[_0x42b1[142]]){_0x4b7dx15[_0x42b1[17]][_0x42b1[143]]= _0x42b1[144]+ this[_0x42b1[1]][_0x42b1[9]][_0x42b1[145]]+ _0x42b1[122]};var _0x4b7dx1a=3;_0x4b7dx19[_0x42b1[17]][_0x42b1[19]]= _0x42b1[76];_0x4b7dx19[_0x42b1[17]][_0x42b1[91]]= _0x42b1[18];_0x4b7dx19[_0x42b1[17]][_0x42b1[146]]= _0x42b1[147];_0x4b7dx19[_0x42b1[17]][_0x42b1[124]]= (_0x4b7dx18+ _0x4b7dx1a)+ _0x42b1[93];_0x4b7dx19[_0x42b1[17]][_0x42b1[109]]= (_0x4b7dxf+ _0x4b7dx1a)+ _0x42b1[93];_0x4b7dx19[_0x42b1[17]][_0x42b1[79]]= _0x4b7dxd+ _0x42b1[93];_0x4b7dx19[_0x42b1[17]][_0x42b1[81]]= _0x4b7dxe+ _0x42b1[93];_0x4b7dx19[_0x42b1[17]][_0x42b1[16]]= _0x42b1[105];_0x4b7dx19[_0x42b1[17]][_0x42b1[148]]= _0x42b1[105];_0x4b7dx19[_0x42b1[17]][_0x42b1[149]]= _0x42b1[105];_0x4b7dx15[_0x42b1[21]](_0x4b7dx19);if(this[_0x42b1[63]]&& _0x4b7dx9!= null){var _0x4b7dx1b=(mxClient[_0x42b1[90]])?2* this[_0x42b1[61]]+ 2:0;_0x4b7dx15[_0x42b1[17]][_0x42b1[81]]= (this[_0x42b1[60]]+ _0x4b7dx1b+ this[_0x42b1[62]]+ 8)+ _0x42b1[93];var _0x4b7dx1c=document[_0x42b1[7]](_0x42b1[6]);_0x4b7dx1c[_0x42b1[17]][_0x42b1[150]]= this[_0x42b1[62]]+ _0x42b1[93];_0x4b7dx1c[_0x42b1[17]][_0x42b1[98]]= _0x42b1[99];_0x4b7dx1c[_0x42b1[17]][_0x42b1[151]]= _0x42b1[152];if(mxClient[_0x42b1[153]]){_0x4b7dx1c[_0x42b1[17]][_0x42b1[81]]= (this[_0x42b1[62]]+ 12)+ _0x42b1[93]};_0x4b7dx1c[_0x42b1[17]][_0x42b1[101]]= _0x42b1[154];mxUtils[_0x42b1[106]](_0x4b7dx1c,_0x4b7dx9);_0x4b7dx15[_0x42b1[21]](_0x4b7dx1c)}};Sidebar[_0x42b1[40]][_0x42b1[155]]= function(_0x4b7dx8,_0x4b7dx9,_0x4b7dxa){var _0x4b7dx7=document[_0x42b1[7]](_0x42b1[128]);_0x4b7dx7[_0x42b1[123]](_0x42b1[129],_0x42b1[130]);_0x4b7dx7[_0x42b1[69]]= _0x42b1[156];_0x4b7dx7[_0x42b1[17]][_0x42b1[91]]= _0x42b1[18];var _0x4b7dx1b=(mxClient[_0x42b1[90]])?8+ 2* this[_0x42b1[61]]:6;_0x4b7dx7[_0x42b1[17]][_0x42b1[79]]= (this[_0x42b1[59]]+ _0x4b7dx1b)+ _0x42b1[93];_0x4b7dx7[_0x42b1[17]][_0x42b1[81]]= (this[_0x42b1[60]]+ _0x4b7dx1b)+ _0x42b1[93];_0x4b7dx7[_0x42b1[17]][_0x42b1[157]]= this[_0x42b1[61]]+ _0x42b1[93];mxEvent[_0x42b1[26]](_0x4b7dx7,_0x42b1[158],function(_0x4b7dx4){mxEvent[_0x42b1[159]](_0x4b7dx4)});this[_0x42b1[132]](_0x4b7dx8,this[_0x42b1[59]],this[_0x42b1[60]],_0x4b7dx7,_0x4b7dx9,_0x4b7dxa);return _0x4b7dx7};Sidebar[_0x42b1[40]][_0x42b1[160]]= function(_0x4b7dx8,_0x4b7dx1d){return function(_0x4b7dx1e,_0x4b7dx4,_0x4b7dx1f,_0x4b7dx20,_0x4b7dx21){if(_0x4b7dx1e[_0x42b1[161]]()){_0x4b7dx8= _0x4b7dx1e[_0x42b1[162]](_0x4b7dx8);if(_0x4b7dx8[_0x42b1[94]]> 0){var _0x4b7dx22=(_0x4b7dx1f!= null)?_0x4b7dx1e[_0x42b1[163]](_0x4b7dx1f,_0x4b7dx8,_0x4b7dx4):false;var _0x4b7dx23=null;if(_0x4b7dx1f!= null&& !_0x4b7dx22){_0x4b7dx1f= null};if(_0x4b7dx1d&& _0x4b7dx1e[_0x42b1[164]]()&& _0x4b7dx1e[_0x42b1[165]](_0x4b7dx1f,_0x4b7dx8,_0x4b7dx4)){_0x4b7dx1e[_0x42b1[166]](_0x4b7dx1f,_0x4b7dx8,null,_0x4b7dx20,_0x4b7dx21);_0x4b7dx23= _0x4b7dx8}else {if(_0x4b7dx8[_0x42b1[94]]> 0){_0x4b7dx23= _0x4b7dx1e[_0x42b1[167]](_0x4b7dx8,_0x4b7dx20,_0x4b7dx21,_0x4b7dx1f)}};if(_0x4b7dx23!= null&& _0x4b7dx23[_0x42b1[94]]> 0){_0x4b7dx1e[_0x42b1[168]](_0x4b7dx23[0]);_0x4b7dx1e[_0x42b1[169]](_0x4b7dx23)}}}}};Sidebar[_0x42b1[40]][_0x42b1[170]]= function(_0x4b7dxd,_0x4b7dxe){var _0x4b7dx7=document[_0x42b1[7]](_0x42b1[6]);_0x4b7dx7[_0x42b1[17]][_0x42b1[171]]= _0x42b1[172];_0x4b7dx7[_0x42b1[17]][_0x42b1[79]]= _0x4b7dxd+ _0x42b1[93];_0x4b7dx7[_0x42b1[17]][_0x42b1[81]]= _0x4b7dxe+ _0x42b1[93];return _0x4b7dx7};Sidebar[_0x42b1[40]][_0x42b1[173]]= function(_0x4b7dx7,_0x4b7dx24,_0x4b7dx25){var _0x4b7dx26=mxUtils[_0x42b1[175]](_0x4b7dx7,this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]],_0x4b7dx24,_0x4b7dx25,0,0,this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]][_0x42b1[174]],true,true);_0x4b7dx26[_0x42b1[176]]= function(_0x4b7dx1e,_0x4b7dx20,_0x4b7dx21){var _0x4b7dx1f=mxDragSource[_0x42b1[40]][_0x42b1[176]][_0x42b1[177]](this,arguments);if(!_0x4b7dx1e[_0x42b1[178]](_0x4b7dx1f)){_0x4b7dx1f= null};return _0x4b7dx1f};return _0x4b7dx26};Sidebar[_0x42b1[40]][_0x42b1[179]]= function(_0x4b7dx7,_0x4b7dx27){var _0x4b7dx1e=this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]];var _0x4b7dx28=null;mxEvent[_0x42b1[182]](_0x4b7dx7,function(_0x4b7dx4){_0x4b7dx28= new mxPoint(mxEvent[_0x42b1[180]](_0x4b7dx4),mxEvent[_0x42b1[181]](_0x4b7dx4))});var _0x4b7dx29=_0x4b7dx27[_0x42b1[183]];_0x4b7dx27[_0x42b1[183]]= function(_0x4b7dx4){if(!mxEvent[_0x42b1[184]](_0x4b7dx4)&& this[_0x42b1[185]]== null&& _0x4b7dx28!= null){var _0x4b7dx2a=_0x4b7dx1e[_0x42b1[186]];if(Math[_0x42b1[187]](_0x4b7dx28[_0x42b1[111]]- mxEvent[_0x42b1[180]](_0x4b7dx4))<= _0x4b7dx2a&& Math[_0x42b1[187]](_0x4b7dx28[_0x42b1[113]]- mxEvent[_0x42b1[181]](_0x4b7dx4))<= _0x4b7dx2a){var _0x4b7dx2b=_0x4b7dx1e[_0x42b1[188]]();_0x4b7dx27[_0x42b1[189]](_0x4b7dx1e,_0x4b7dx4,null,_0x4b7dx2b,_0x4b7dx2b)}};_0x4b7dx29[_0x42b1[177]](this,arguments);_0x4b7dx28= null}};Sidebar[_0x42b1[40]][_0x42b1[190]]= function(_0x4b7dx2c,_0x4b7dx14,_0x4b7dx2d,_0x4b7dx2e){var _0x4b7dx2f=mxUtils[_0x42b1[190]]();var _0x4b7dx19=_0x4b7dx2f[_0x42b1[7]](_0x4b7dx2c);_0x4b7dx19[_0x42b1[123]](_0x42b1[191],_0x4b7dx14);_0x4b7dx2d[_0x42b1[192]](function(_0x4b7dx30,_0x4b7dx31){_0x4b7dx19[_0x42b1[123]](_0x4b7dx30,_0x4b7dx2e[_0x4b7dx31]?_0x4b7dx2e[_0x4b7dx31]:_0x42b1[105])});return _0x4b7dx19};Sidebar[_0x42b1[40]][_0x42b1[193]]= function(_0x4b7dx32,_0x4b7dxd,_0x4b7dxe,_0x4b7dx33,_0x4b7dx9,_0x4b7dxa){var _0x4b7dx2d=[];var _0x4b7dx2e=[];switch(_0x4b7dx33){case _0x42b1[47]:_0x4b7dx2d= [_0x42b1[194],_0x42b1[195],_0x42b1[196]];_0x4b7dx2e= [_0x42b1[197],_0x42b1[105],_0x42b1[198]];break;case _0x42b1[50]:_0x4b7dx2d= [_0x42b1[194],_0x42b1[195]];_0x4b7dx2e= [_0x42b1[197],_0x42b1[105]];break;case _0x42b1[48]:_0x4b7dx2d= [_0x42b1[194],_0x42b1[48],_0x42b1[199]];_0x4b7dx2e= [_0x42b1[197],_0x42b1[105]];break;case _0x42b1[49]:_0x4b7dx2d= [_0x42b1[194],_0x42b1[48],_0x42b1[200]];_0x4b7dx2e= [_0x42b1[197],_0x42b1[105]];break;default:_0x4b7dx2d= [];_0x4b7dx2e= [];break};var _0x4b7dx19=this[_0x42b1[190]](_0x4b7dx33,_0x4b7dx9,_0x4b7dx2d,_0x4b7dx2e);var _0x4b7dx8=[ new mxCell(_0x4b7dx19, new mxGeometry(0,0,_0x4b7dxd,_0x4b7dxe),_0x4b7dx32)];_0x4b7dx8[0][_0x42b1[201]]= true;return this[_0x42b1[202]](_0x4b7dx8,_0x4b7dxd,_0x4b7dxe,_0x4b7dx9,_0x4b7dxa)};Sidebar[_0x42b1[40]][_0x42b1[202]]= function(_0x4b7dx8,_0x4b7dxd,_0x4b7dxe,_0x4b7dx9,_0x4b7dxa){var _0x4b7dx7=this[_0x42b1[155]](_0x4b7dx8,_0x4b7dx9,_0x4b7dxa);var _0x4b7dx27=this[_0x42b1[173]](_0x4b7dx7,this[_0x42b1[160]](_0x4b7dx8,true),this[_0x42b1[170]](_0x4b7dxd,_0x4b7dxe));this[_0x42b1[179]](_0x4b7dx7,_0x4b7dx27);_0x4b7dx27[_0x42b1[203]]= mxUtils[_0x42b1[25]](this,function(){return this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]][_0x42b1[205]][_0x42b1[204]]});if(!touchStyle){mxEvent[_0x42b1[26]](_0x4b7dx7,_0x42b1[30],mxUtils[_0x42b1[25]](this,function(_0x4b7dx4){this[_0x42b1[65]](_0x4b7dx7,_0x4b7dx8,_0x4b7dx9,_0x4b7dxa)}))};return _0x4b7dx7};Sidebar[_0x42b1[40]][_0x42b1[206]]= function(_0x4b7dx32,_0x4b7dxd,_0x4b7dxe,_0x4b7dx33,_0x4b7dx9,_0x4b7dxa){var _0x4b7dx8=[ new mxCell((_0x4b7dx33!= null)?_0x4b7dx33:_0x42b1[105], new mxGeometry(0,0,_0x4b7dxd,_0x4b7dxe),_0x4b7dx32)];_0x4b7dx8[0][_0x42b1[208]][_0x42b1[207]]( new mxPoint(0,_0x4b7dxe),true);_0x4b7dx8[0][_0x42b1[208]][_0x42b1[207]]( new mxPoint(_0x4b7dxd,0),false);_0x4b7dx8[0][_0x42b1[208]][_0x42b1[76]]= true;_0x4b7dx8[0][_0x42b1[209]]= true;return this[_0x42b1[210]](_0x4b7dx8,_0x4b7dxd,_0x4b7dxe,_0x4b7dx9,_0x4b7dxa)};Sidebar[_0x42b1[40]][_0x42b1[210]]= function(_0x4b7dx8,_0x4b7dxd,_0x4b7dxe,_0x4b7dx9,_0x4b7dxa){var _0x4b7dx7=this[_0x42b1[155]](_0x4b7dx8,_0x4b7dx9,_0x4b7dxa);this[_0x42b1[173]](_0x4b7dx7,this[_0x42b1[160]](_0x4b7dx8,false),this[_0x42b1[170]](_0x4b7dxd,_0x4b7dxe));var _0x4b7dx1e=this[_0x42b1[1]][_0x42b1[9]][_0x42b1[5]];mxEvent[_0x42b1[26]](_0x4b7dx7,_0x42b1[158],mxUtils[_0x42b1[25]](this,function(_0x4b7dx4){if(this[_0x42b1[56]]){_0x4b7dx1e[_0x42b1[211]](_0x4b7dx8[0])};_0x4b7dx7[_0x42b1[17]][_0x42b1[212]]= _0x42b1[213];window[_0x42b1[126]](function(){_0x4b7dx7[_0x42b1[17]][_0x42b1[212]]= _0x42b1[105]},300);mxEvent[_0x42b1[159]](_0x4b7dx4)}));touchStyle= false;if(!touchStyle){mxEvent[_0x42b1[26]](_0x4b7dx7,_0x42b1[30],mxUtils[_0x42b1[25]](this,function(_0x4b7dx4){this[_0x42b1[65]](_0x4b7dx7,_0x4b7dx8,_0x4b7dx9,_0x4b7dxa)}))};return _0x4b7dx7};Sidebar[_0x42b1[40]][_0x42b1[214]]= function(_0x4b7dx34,_0x4b7dx9,_0x4b7dx35,_0x4b7dx36){var _0x4b7dx7=this[_0x42b1[127]](_0x4b7dx9);this[_0x42b1[2]][_0x42b1[21]](_0x4b7dx7);var _0x4b7dx1c=document[_0x42b1[7]](_0x42b1[6]);_0x4b7dx1c[_0x42b1[69]]= _0x42b1[215];if(_0x4b7dx35){_0x4b7dx36(_0x4b7dx1c);_0x4b7dx36= null}else {_0x4b7dx1c[_0x42b1[17]][_0x42b1[83]]= _0x42b1[110]};this[_0x42b1[216]](_0x4b7dx7,_0x4b7dx1c,_0x4b7dx36);var _0x4b7dx37=document[_0x42b1[7]](_0x42b1[6]);_0x4b7dx37[_0x42b1[21]](_0x4b7dx1c);this[_0x42b1[2]][_0x42b1[21]](_0x4b7dx37);if(_0x4b7dx34!= null){this[_0x42b1[3]][_0x4b7dx34]= [_0x4b7dx7,_0x4b7dx37]}};Sidebar[_0x42b1[40]][_0x42b1[216]]= function(_0x4b7dx9,_0x4b7dx38,_0x4b7dx39){var _0x4b7dx3a=false;_0x4b7dx9[_0x42b1[17]][_0x42b1[143]]= (_0x4b7dx38[_0x42b1[17]][_0x42b1[83]]== _0x42b1[110])?_0x42b1[144]+ IMAGE_PATH+ _0x42b1[217]:_0x42b1[144]+ IMAGE_PATH+ _0x42b1[218];_0x4b7dx9[_0x42b1[17]][_0x42b1[219]]= _0x42b1[220];_0x4b7dx9[_0x42b1[17]][_0x42b1[221]]= _0x42b1[222];mxEvent[_0x42b1[26]](_0x4b7dx9,_0x42b1[158],function(_0x4b7dx4){if(_0x4b7dx38[_0x42b1[17]][_0x42b1[83]]== _0x42b1[110]){if(!_0x4b7dx3a){_0x4b7dx3a= true;if(_0x4b7dx39!= null){_0x4b7dx9[_0x42b1[17]][_0x42b1[146]]= _0x42b1[223];window[_0x42b1[126]](function(){_0x4b7dx39(_0x4b7dx38);_0x4b7dx9[_0x42b1[17]][_0x42b1[146]]= _0x42b1[105]},0)}};_0x4b7dx9[_0x42b1[17]][_0x42b1[143]]= _0x42b1[144]+ IMAGE_PATH+ _0x42b1[218];_0x4b7dx38[_0x42b1[17]][_0x42b1[83]]= _0x42b1[84]}else {_0x4b7dx9[_0x42b1[17]][_0x42b1[143]]= _0x42b1[144]+ IMAGE_PATH+ _0x42b1[217];_0x4b7dx38[_0x42b1[17]][_0x42b1[83]]= _0x42b1[110]};mxEvent[_0x42b1[159]](_0x4b7dx4)})};Sidebar[_0x42b1[40]][_0x42b1[224]]= function(_0x4b7dx34){var _0x4b7dx3b=this[_0x42b1[3]][_0x4b7dx34];if(_0x4b7dx3b!= null){this[_0x42b1[3]][_0x4b7dx34]= null;for(var _0x4b7dx3c=0;_0x4b7dx3c< _0x4b7dx3b[_0x42b1[94]];_0x4b7dx3c++){this[_0x42b1[2]][_0x42b1[225]](_0x4b7dx3b[_0x4b7dx3c])};return true};return false};Sidebar[_0x42b1[40]][_0x42b1[51]]= function(_0x4b7dx34,_0x4b7dx9,_0x4b7dx3d,_0x4b7dx3e,_0x4b7dx3f,_0x4b7dx40){this[_0x42b1[214]](_0x4b7dx34,_0x4b7dx9,(_0x4b7dx34=== _0x42b1[42]),mxUtils[_0x42b1[25]](this,function(_0x4b7dx38){var _0x4b7dx41=_0x4b7dx40!= null;for(var _0x4b7dx3c=0;_0x4b7dx3c< _0x4b7dx3f[_0x42b1[94]];_0x4b7dx3c++){var _0x4b7dx42=_0x4b7dx3d+ _0x4b7dx3f[_0x4b7dx3c]+ _0x4b7dx3e;_0x4b7dx38[_0x42b1[21]](this[_0x42b1[193]](_0x42b1[226]+ _0x4b7dx42,80,80,_0x4b7dx3f[_0x4b7dx3c],(_0x4b7dx41)?_0x4b7dx40[_0x4b7dx3c]:null,_0x4b7dx41))}}))}
\ No newline at end of file
-/**
- * $Id: Toolbar.js,v 1.3 2013-02-20 16:21:29 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Construcs a new toolbar for the given editor.
- */
-function Toolbar(editorUi, container)
-{
- this.editorUi = editorUi;
- this.container = container;
- this.init();
-
- // Global handler to hide the current menu
- mxEvent.addGestureListeners(document, mxUtils.bind(this, function(evt)
- {
- this.hideMenu();
- }));
-};
-
-/**
- * Adds the toolbar elements.
- */
-Toolbar.prototype.init = function()
-{
- this.addItems(['save', 'publish', '-', 'print', 'undo', 'redo', '-', 'copy', 'cut', 'paste', 'delete', '-', 'duplicate', '-', 'actualSize', 'zoomIn', 'zoomOut', '-']);
- var fontElt = this.addMenu('Helvetica', mxResources.get('fontFamily'), true, 'fontFamily');
- fontElt.style.whiteSpace = 'nowrap';
- fontElt.style.overflow = 'hidden';
- fontElt.style.width = '70px';
- this.addSeparator();
- var sizeElt = this.addMenu('12', mxResources.get('fontSize'), true, 'fontSize');
- sizeElt.style.whiteSpace = 'nowrap';
- sizeElt.style.overflow = 'hidden';
- sizeElt.style.width = '30px';
-
- this.addItems(['-', 'bold', 'italic', 'underline']);
- // Giuseppe Careri
- // var align = this.addMenuFunction('geSprite-left', mxResources.get('align'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ALIGN], [mxConstants.ALIGN_LEFT], 'geIcon geSprite geSprite-left', null).setAttribute('title', mxResources.get('left'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ALIGN], [mxConstants.ALIGN_CENTER], 'geIcon geSprite geSprite-center', null).setAttribute('title', mxResources.get('center'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ALIGN], [mxConstants.ALIGN_RIGHT], 'geIcon geSprite geSprite-right', null).setAttribute('title', mxResources.get('right'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_VERTICAL_ALIGN], [mxConstants.ALIGN_TOP], 'geIcon geSprite geSprite-top', null).setAttribute('title', mxResources.get('top'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_VERTICAL_ALIGN], [mxConstants.ALIGN_MIDDLE], 'geIcon geSprite geSprite-middle', null).setAttribute('title', mxResources.get('middle'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_VERTICAL_ALIGN], [mxConstants.ALIGN_BOTTOM], 'geIcon geSprite geSprite-bottom', null).setAttribute('title', mxResources.get('bottom'));
- // }));
- // this.addItems(['fontColor', '-']);
- // var line = this.addMenuFunction('geSprite-straight', mxResources.get('line'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], [null], 'geIcon geSprite geSprite-straight', null).setAttribute('title', mxResources.get('straight'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], ['entityRelationEdgeStyle'], 'geIcon geSprite geSprite-entity', null).setAttribute('title', mxResources.get('entityRelation'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE, mxConstants.STYLE_ELBOW], ['elbowEdgeStyle', 'horizontal'], 'geIcon geSprite geSprite-helbow', null).setAttribute('title', mxResources.get('horizontal'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE, mxConstants.STYLE_ELBOW], ['elbowEdgeStyle', 'vertical'], 'geIcon geSprite geSprite-velbow', null).setAttribute('title', mxResources.get('vertical'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], ['segmentEdgeStyle'], 'geIcon geSprite geSprite-segment', null).setAttribute('title', mxResources.get('manual'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], ['orthogonalEdgeStyle'], 'geIcon geSprite geSprite-orthogonal', null).setAttribute('title', mxResources.get('automatic'));
- // }));
- // var linestart = this.addMenuFunction('geSprite-startclassic', mxResources.get('lineend'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.NONE, 0], 'geIcon geSprite geSprite-noarrow', null).setAttribute('title', mxResources.get('none'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_CLASSIC, 1], 'geIcon geSprite geSprite-startclassic', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_OPEN, 1], 'geIcon geSprite geSprite-startopen', null).setAttribute('title', mxResources.get('openArrow'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_BLOCK, 1], 'geIcon geSprite geSprite-startblock', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_OVAL, 1], 'geIcon geSprite geSprite-startoval', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND, 1], 'geIcon geSprite geSprite-startdiamond', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND_THIN, 1], 'geIcon geSprite geSprite-startthindiamond', null).setAttribute('title', mxResources.get('diamondThin'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_CLASSIC, 0], 'geIcon geSprite geSprite-startclassictrans', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_BLOCK, 0], 'geIcon geSprite geSprite-startblocktrans', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_OVAL, 0], 'geIcon geSprite geSprite-startovaltrans', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND, 0], 'geIcon geSprite geSprite-startdiamondtrans', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND_THIN, 0], 'geIcon geSprite geSprite-startthindiamondtrans', null).setAttribute('title', mxResources.get('diamondThin'));
- // }));
- // var lineend = this.addMenuFunction('geSprite-endclassic', mxResources.get('lineend'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.NONE, 0], 'geIcon geSprite geSprite-noarrow', null).setAttribute('title', mxResources.get('none'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_CLASSIC, 1], 'geIcon geSprite geSprite-endclassic', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_OPEN, 1], 'geIcon geSprite geSprite-endopen', null).setAttribute('title', mxResources.get('openArrow'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_BLOCK, 1], 'geIcon geSprite geSprite-endblock', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_OVAL, 1], 'geIcon geSprite geSprite-endoval', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND, 1], 'geIcon geSprite geSprite-enddiamond', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND_THIN, 1], 'geIcon geSprite geSprite-endthindiamond', null).setAttribute('title', mxResources.get('diamondThin'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_CLASSIC, 0], 'geIcon geSprite geSprite-endclassictrans', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_BLOCK, 0], 'geIcon geSprite geSprite-endblocktrans', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_OVAL, 0], 'geIcon geSprite geSprite-endovaltrans', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND, 0], 'geIcon geSprite geSprite-enddiamondtrans', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND_THIN, 0], 'geIcon geSprite geSprite-endthindiamondtrans', null).setAttribute('title', mxResources.get('diamondThin'));
- // }));
- // this.addItems(['-', 'strokeColor', 'image', 'fillColor']);
- // this.addItem('geSprite-gradientcolor', 'gradientColor').setAttribute('title', mxResources.get('gradient'));
- // this.addItems(['shadow']);
-
- var graph = this.editorUi.editor.graph;
-
- // Update font size and font family labels
- var update = mxUtils.bind(this, function()
- {
- var ff = 'Helvetica';
- var fs = '12';
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null)
- {
- ff = state.style[mxConstants.STYLE_FONTFAMILY] || ff;
- fs = state.style[mxConstants.STYLE_FONTSIZE] || fs;
-
- if (ff.length > 10)
- {
- ff = ff.substring(0, 8) + '...';
- }
-
- fontElt.innerHTML = ff;
- sizeElt.innerHTML = fs;
- }
- });
-
- graph.getSelectionModel().addListener(mxEvent.CHANGE, update);
- graph.getModel().addListener(mxEvent.CHANGE, update);
-
- // Giuseppe Careri
- // Updates button states
- //this.addEdgeSelectionHandler([line, linestart, lineend]);
- //this.addSelectionHandler([align]);
-};
-
-/**
- * Hides the current menu.
- */
-Toolbar.prototype.hideMenu = function()
-{
- if (this.currentMenu != null)
- {
- this.currentMenu.hideMenu();
- this.currentMenu.destroy();
- this.currentMenu = null;
- }
-};
-
-/**
- * Adds a label to the toolbar.
- */
-Toolbar.prototype.addMenu = function(label, tooltip, showLabels, name)
-{
- var menu = this.editorUi.menus.get(name);
- var elt = this.addMenuFunction(label, tooltip, showLabels, menu.funct);
-
- menu.addListener('stateChanged', function()
- {
- elt.setEnabled(menu.enabled);
- });
-
- return elt;
-};
-
-/**
- * Adds a label to the toolbar.
- */
-Toolbar.prototype.addMenuFunction = function(label, tooltip, showLabels, funct)
-{
- var elt = (showLabels) ? this.createLabel(label) : this.createButton(label);
- this.initElement(elt, tooltip);
- this.addMenuHandler(elt, showLabels, funct);
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Adds a separator to the separator.
- */
-Toolbar.prototype.addSeparator = function()
-{
- var elt = document.createElement('div');
- elt.className = 'geSeparator';
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Adds given action item
- */
-Toolbar.prototype.addItems = function(keys)
-{
- for (var i = 0; i < keys.length; i++)
- {
- var key = keys[i];
-
- if (key == '-')
- {
- this.addSeparator();
- }
- else
- {
- this.addItem('geSprite-' + key.toLowerCase(), key);
- }
- }
-};
-
-/**
- * Adds given action item
- */
-Toolbar.prototype.addItem = function(sprite, key)
-{
- var action = this.editorUi.actions.get(key);
- var elt = null;
-
- if (action != null)
- {
- elt = this.addButton(sprite, action.label, action.funct);
- elt.setEnabled(action.enabled);
-
- action.addListener('stateChanged', function()
- {
- elt.setEnabled(action.enabled);
- });
- }
-
- return elt;
-};
-
-/**
- * Adds a button to the toolbar.
- */
-Toolbar.prototype.addButton = function(classname, tooltip, funct)
-{
- var elt = this.createButton(classname);
-
- this.initElement(elt, tooltip);
- this.addClickHandler(elt, funct);
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Updates the states of the given toolbar items based on the selection.
- */
-Toolbar.prototype.addSelectionHandler = function(items)
-{
- var graph = this.editorUi.editor.graph;
-
- var selectionListener = function()
- {
- var selected = !graph.isSelectionEmpty();
-
- for (var i = 0; i < items.length; i++)
- {
- items[i].setEnabled(selected);
- }
- };
-
- graph.getSelectionModel().addListener(mxEvent.CHANGE, selectionListener);
- selectionListener();
-};
-
-/**
- * Updates the states of the given toolbar items based on the selection.
- */
-Toolbar.prototype.addEdgeSelectionHandler = function(items)
-{
- var graph = this.editorUi.editor.graph;
-
- var selectionListener = function()
- {
- var edgeSelected = false;
-
- if (!graph.isSelectionEmpty())
- {
- var cells = graph.getSelectionCells();
-
- for (var i = 0; i < cells.length; i++)
- {
- if (graph.getModel().isEdge(cells[i]))
- {
- edgeSelected = true;
- break;
- }
- }
- }
-
- for (var i = 0; i < items.length; i++)
- {
- items[i].setEnabled(edgeSelected);
- }
- };
-
- graph.getSelectionModel().addListener(mxEvent.CHANGE, selectionListener);
- selectionListener();
-};
-
-/**
- * Initializes the given toolbar element.
- */
-Toolbar.prototype.initElement = function(elt, tooltip)
-{
- elt.setAttribute('tabindex', '0');
-
- // Adds tooltip
- if (tooltip != null)
- {
- elt.setAttribute('title', tooltip);
- }
-
- this.addEnabledState(elt);
-};
-
-/**
- * Adds enabled state with setter to DOM node (avoids JS wrapper).
- */
-Toolbar.prototype.addEnabledState = function(elt)
-{
- var classname = elt.className;
-
- elt.setEnabled = function(value)
- {
- elt.enabled = value;
-
- if (value)
- {
- elt.className = classname;
- }
- else
- {
- elt.className = classname + ' geDisabled';
- }
- };
-
- elt.setEnabled(true);
-};
-
-/**
- * Adds enabled state with setter to DOM node (avoids JS wrapper).
- */
-Toolbar.prototype.addClickHandler = function(elt, funct)
-{
- if (funct != null)
- {
- mxEvent.addListener(elt, 'click', function(evt)
- {
- if (elt.enabled)
- {
- funct(evt);
- }
-
- mxEvent.consume(evt);
- });
- }
-};
-
-/**
- * Creates and returns a new button.
- */
-Toolbar.prototype.createButton = function(classname)
-{
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geButton';
-
- var inner = document.createElement('div');
- inner.className = 'geSprite ' + classname;
- elt.appendChild(inner);
-
- return elt;
-};
-
-/**
- * Creates and returns a new button.
- */
-Toolbar.prototype.createLabel = function(label, tooltip)
-{
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geLabel';
- mxUtils.write(elt, label);
-
- return elt;
-};
-
-/**
- * Adds a handler for showing a menu in the given element.
- */
-Toolbar.prototype.addMenuHandler = function(elt, showLabels, funct, showAll)
-{
- if (funct != null)
- {
- var graph = this.editorUi.editor.graph;
- var menu = null;
-
- mxEvent.addListener(elt, 'click', mxUtils.bind(this, function(evt)
- {
- if (elt.enabled == null || elt.enabled)
- {
- graph.panningHandler.hideMenu();
- menu = new mxPopupMenu(funct);
- menu.div.className += ' geToolbarMenu';
- menu.showDisabled = showAll;
- menu.labels = showLabels;
- menu.autoExpand = true;
-
- menu.popup(elt.offsetLeft, elt.offsetTop + elt.offsetHeight + 34, null, evt);
- this.currentMenu = menu;
- }
-
- mxEvent.consume(evt);
- }));
- }
-};
+var _0x992f=["\x65\x64\x69\x74\x6F\x72\x55\x69","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x69\x6E\x69\x74","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x62\x69\x6E\x64","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x61\x76\x65","\x70\x75\x62\x6C\x69\x73\x68","\x2D","\x70\x72\x69\x6E\x74","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x6F\x70\x79","\x63\x75\x74","\x70\x61\x73\x74\x65","\x64\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x61\x64\x64\x49\x74\x65\x6D\x73","\x48\x65\x6C\x76\x65\x74\x69\x63\x61","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x67\x65\x74","\x61\x64\x64\x4D\x65\x6E\x75","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x73\x74\x79\x6C\x65","\x6E\x6F\x77\x72\x61\x70","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x68\x69\x64\x64\x65\x6E","\x77\x69\x64\x74\x68","\x37\x30\x70\x78","\x61\x64\x64\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x31\x32","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x33\x30\x70\x78","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x67\x72\x61\x70\x68","\x65\x64\x69\x74\x6F\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x46\x41\x4D\x49\x4C\x59","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x53\x49\x5A\x45","\x6C\x65\x6E\x67\x74\x68","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x2E\x2E\x2E","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x63\x75\x72\x72\x65\x6E\x74\x4D\x65\x6E\x75","\x64\x65\x73\x74\x72\x6F\x79","\x6D\x65\x6E\x75\x73","\x66\x75\x6E\x63\x74","\x61\x64\x64\x4D\x65\x6E\x75\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x73\x74\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x64","\x65\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x72\x65\x61\x74\x65\x4C\x61\x62\x65\x6C","\x63\x72\x65\x61\x74\x65\x42\x75\x74\x74\x6F\x6E","\x69\x6E\x69\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x61\x64\x64\x4D\x65\x6E\x75\x48\x61\x6E\x64\x6C\x65\x72","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x67\x65\x53\x70\x72\x69\x74\x65\x2D","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x61\x64\x64\x49\x74\x65\x6D","\x61\x63\x74\x69\x6F\x6E\x73","\x6C\x61\x62\x65\x6C","\x61\x64\x64\x42\x75\x74\x74\x6F\x6E","\x61\x64\x64\x43\x6C\x69\x63\x6B\x48\x61\x6E\x64\x6C\x65\x72","\x61\x64\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x61\x64\x64\x45\x64\x67\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x69\x73\x45\x64\x67\x65","\x74\x61\x62\x69\x6E\x64\x65\x78","\x30","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x74\x69\x74\x6C\x65","\x61\x64\x64\x45\x6E\x61\x62\x6C\x65\x64\x53\x74\x61\x74\x65","\x20\x67\x65\x44\x69\x73\x61\x62\x6C\x65\x64","\x63\x6C\x69\x63\x6B","\x63\x6F\x6E\x73\x75\x6D\x65","\x61","\x68\x72\x65\x66","\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x76\x6F\x69\x64\x28\x30\x29\x3B","\x67\x65\x42\x75\x74\x74\x6F\x6E","\x67\x65\x53\x70\x72\x69\x74\x65\x20","\x67\x65\x4C\x61\x62\x65\x6C","\x77\x72\x69\x74\x65","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x20\x67\x65\x54\x6F\x6F\x6C\x62\x61\x72\x4D\x65\x6E\x75","\x73\x68\x6F\x77\x44\x69\x73\x61\x62\x6C\x65\x64","\x6C\x61\x62\x65\x6C\x73","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x6F\x66\x66\x73\x65\x74\x4C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x70\x6F\x70\x75\x70"];function Toolbar(_0x2fc2x2,_0x2fc2x3){this[_0x992f[0]]= _0x2fc2x2;this[_0x992f[1]]= _0x2fc2x3;this[_0x992f[2]]();mxEvent[_0x992f[5]](document,mxUtils[_0x992f[4]](this,function(_0x2fc2x4){this[_0x992f[3]]()}))}Toolbar[_0x992f[6]][_0x992f[2]]= function(){this[_0x992f[21]]([_0x992f[7],_0x992f[8],_0x992f[9],_0x992f[10],_0x992f[11],_0x992f[12],_0x992f[9],_0x992f[13],_0x992f[14],_0x992f[15],_0x992f[16],_0x992f[9],_0x992f[17],_0x992f[9],_0x992f[18],_0x992f[19],_0x992f[20],_0x992f[9]]);var _0x2fc2x5=this[_0x992f[25]](_0x992f[22],mxResources[_0x992f[24]](_0x992f[23]),true,_0x992f[23]);_0x2fc2x5[_0x992f[27]][_0x992f[26]]= _0x992f[28];_0x2fc2x5[_0x992f[27]][_0x992f[29]]= _0x992f[30];_0x2fc2x5[_0x992f[27]][_0x992f[31]]= _0x992f[32];this[_0x992f[33]]();var _0x2fc2x6=this[_0x992f[25]](_0x992f[34],mxResources[_0x992f[24]](_0x992f[35]),true,_0x992f[35]);_0x2fc2x6[_0x992f[27]][_0x992f[26]]= _0x992f[28];_0x2fc2x6[_0x992f[27]][_0x992f[29]]= _0x992f[30];_0x2fc2x6[_0x992f[27]][_0x992f[31]]= _0x992f[36];this[_0x992f[21]]([_0x992f[9],_0x992f[37],_0x992f[38],_0x992f[39]]);var _0x2fc2x7=this[_0x992f[0]][_0x992f[41]][_0x992f[40]];var _0x2fc2x8=mxUtils[_0x992f[4]](this,function(){var _0x2fc2x9=_0x992f[22];var _0x2fc2xa=_0x992f[34];var _0x2fc2xb=_0x2fc2x7[_0x992f[44]]()[_0x992f[43]](_0x2fc2x7[_0x992f[42]]());if(_0x2fc2xb!= null){_0x2fc2x9= _0x2fc2xb[_0x992f[27]][mxConstants[_0x992f[45]]]|| _0x2fc2x9;_0x2fc2xa= _0x2fc2xb[_0x992f[27]][mxConstants[_0x992f[46]]]|| _0x2fc2xa;if(_0x2fc2x9[_0x992f[47]]> 10){_0x2fc2x9= _0x2fc2x9[_0x992f[48]](0,8)+ _0x992f[49]};_0x2fc2x5[_0x992f[50]]= _0x2fc2x9;_0x2fc2x6[_0x992f[50]]= _0x2fc2xa}});_0x2fc2x7[_0x992f[52]]()[_0x992f[51]](mxEvent.CHANGE,_0x2fc2x8);_0x2fc2x7[_0x992f[53]]()[_0x992f[51]](mxEvent.CHANGE,_0x2fc2x8)};Toolbar[_0x992f[6]][_0x992f[3]]= function(){if(this[_0x992f[54]]!= null){this[_0x992f[54]][_0x992f[3]]();this[_0x992f[54]][_0x992f[55]]();this[_0x992f[54]]= null}};Toolbar[_0x992f[6]][_0x992f[25]]= function(_0x2fc2xc,_0x2fc2xd,_0x2fc2xe,_0x2fc2xf){var _0x2fc2x10=this[_0x992f[0]][_0x992f[56]][_0x992f[24]](_0x2fc2xf);var _0x2fc2x11=this[_0x992f[58]](_0x2fc2xc,_0x2fc2xd,_0x2fc2xe,_0x2fc2x10[_0x992f[57]]);_0x2fc2x10[_0x992f[51]](_0x992f[59],function(){_0x2fc2x11[_0x992f[61]](_0x2fc2x10[_0x992f[60]])});return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[58]]= function(_0x2fc2xc,_0x2fc2xd,_0x2fc2xe,_0x2fc2x12){var _0x2fc2x11=(_0x2fc2xe)?this[_0x992f[62]](_0x2fc2xc):this[_0x992f[63]](_0x2fc2xc);this[_0x992f[64]](_0x2fc2x11,_0x2fc2xd);this[_0x992f[65]](_0x2fc2x11,_0x2fc2xe,_0x2fc2x12);this[_0x992f[1]][_0x992f[66]](_0x2fc2x11);return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[33]]= function(){var _0x2fc2x11=document[_0x992f[68]](_0x992f[67]);_0x2fc2x11[_0x992f[69]]= _0x992f[70];this[_0x992f[1]][_0x992f[66]](_0x2fc2x11);return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[21]]= function(_0x2fc2x13){for(var _0x2fc2x14=0;_0x2fc2x14< _0x2fc2x13[_0x992f[47]];_0x2fc2x14++){var _0x2fc2x15=_0x2fc2x13[_0x2fc2x14];if(_0x2fc2x15== _0x992f[9]){this[_0x992f[33]]()}else {this[_0x992f[73]](_0x992f[71]+ _0x2fc2x15[_0x992f[72]](),_0x2fc2x15)}}};Toolbar[_0x992f[6]][_0x992f[73]]= function(_0x2fc2x16,_0x2fc2x15){var _0x2fc2x17=this[_0x992f[0]][_0x992f[74]][_0x992f[24]](_0x2fc2x15);var _0x2fc2x11=null;if(_0x2fc2x17!= null){_0x2fc2x11= this[_0x992f[76]](_0x2fc2x16,_0x2fc2x17[_0x992f[75]],_0x2fc2x17[_0x992f[57]]);_0x2fc2x11[_0x992f[61]](_0x2fc2x17[_0x992f[60]]);_0x2fc2x17[_0x992f[51]](_0x992f[59],function(){_0x2fc2x11[_0x992f[61]](_0x2fc2x17[_0x992f[60]])})};return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[76]]= function(_0x2fc2x18,_0x2fc2xd,_0x2fc2x12){var _0x2fc2x11=this[_0x992f[63]](_0x2fc2x18);this[_0x992f[64]](_0x2fc2x11,_0x2fc2xd);this[_0x992f[77]](_0x2fc2x11,_0x2fc2x12);this[_0x992f[1]][_0x992f[66]](_0x2fc2x11);return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[78]]= function(_0x2fc2x19){var _0x2fc2x7=this[_0x992f[0]][_0x992f[41]][_0x992f[40]];var _0x2fc2x1a=function(){var _0x2fc2x1b=!_0x2fc2x7[_0x992f[79]]();for(var _0x2fc2x14=0;_0x2fc2x14< _0x2fc2x19[_0x992f[47]];_0x2fc2x14++){_0x2fc2x19[_0x2fc2x14][_0x992f[61]](_0x2fc2x1b)}};_0x2fc2x7[_0x992f[52]]()[_0x992f[51]](mxEvent.CHANGE,_0x2fc2x1a);_0x2fc2x1a()};Toolbar[_0x992f[6]][_0x992f[80]]= function(_0x2fc2x19){var _0x2fc2x7=this[_0x992f[0]][_0x992f[41]][_0x992f[40]];var _0x2fc2x1a=function(){var _0x2fc2x1c=false;if(!_0x2fc2x7[_0x992f[79]]()){var _0x2fc2x1d=_0x2fc2x7[_0x992f[81]]();for(var _0x2fc2x14=0;_0x2fc2x14< _0x2fc2x1d[_0x992f[47]];_0x2fc2x14++){if(_0x2fc2x7[_0x992f[53]]()[_0x992f[82]](_0x2fc2x1d[_0x2fc2x14])){_0x2fc2x1c= true;break}}};for(var _0x2fc2x14=0;_0x2fc2x14< _0x2fc2x19[_0x992f[47]];_0x2fc2x14++){_0x2fc2x19[_0x2fc2x14][_0x992f[61]](_0x2fc2x1c)}};_0x2fc2x7[_0x992f[52]]()[_0x992f[51]](mxEvent.CHANGE,_0x2fc2x1a);_0x2fc2x1a()};Toolbar[_0x992f[6]][_0x992f[64]]= function(_0x2fc2x11,_0x2fc2xd){_0x2fc2x11[_0x992f[85]](_0x992f[83],_0x992f[84]);if(_0x2fc2xd!= null){_0x2fc2x11[_0x992f[85]](_0x992f[86],_0x2fc2xd)};this[_0x992f[87]](_0x2fc2x11)};Toolbar[_0x992f[6]][_0x992f[87]]= function(_0x2fc2x11){var _0x2fc2x18=_0x2fc2x11[_0x992f[69]];_0x2fc2x11[_0x992f[61]]= function(_0x2fc2x1e){_0x2fc2x11[_0x992f[60]]= _0x2fc2x1e;if(_0x2fc2x1e){_0x2fc2x11[_0x992f[69]]= _0x2fc2x18}else {_0x2fc2x11[_0x992f[69]]= _0x2fc2x18+ _0x992f[88]}};_0x2fc2x11[_0x992f[61]](true)};Toolbar[_0x992f[6]][_0x992f[77]]= function(_0x2fc2x11,_0x2fc2x12){if(_0x2fc2x12!= null){mxEvent[_0x992f[51]](_0x2fc2x11,_0x992f[89],function(_0x2fc2x4){if(_0x2fc2x11[_0x992f[60]]){_0x2fc2x12(_0x2fc2x4)};mxEvent[_0x992f[90]](_0x2fc2x4)})}};Toolbar[_0x992f[6]][_0x992f[63]]= function(_0x2fc2x18){var _0x2fc2x11=document[_0x992f[68]](_0x992f[91]);_0x2fc2x11[_0x992f[85]](_0x992f[92],_0x992f[93]);_0x2fc2x11[_0x992f[69]]= _0x992f[94];var _0x2fc2x1f=document[_0x992f[68]](_0x992f[67]);_0x2fc2x1f[_0x992f[69]]= _0x992f[95]+ _0x2fc2x18;_0x2fc2x11[_0x992f[66]](_0x2fc2x1f);return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[62]]= function(_0x2fc2xc,_0x2fc2xd){var _0x2fc2x11=document[_0x992f[68]](_0x992f[91]);_0x2fc2x11[_0x992f[85]](_0x992f[92],_0x992f[93]);_0x2fc2x11[_0x992f[69]]= _0x992f[96];mxUtils[_0x992f[97]](_0x2fc2x11,_0x2fc2xc);return _0x2fc2x11};Toolbar[_0x992f[6]][_0x992f[65]]= function(_0x2fc2x11,_0x2fc2xe,_0x2fc2x12,_0x2fc2x20){if(_0x2fc2x12!= null){var _0x2fc2x7=this[_0x992f[0]][_0x992f[41]][_0x992f[40]];var _0x2fc2x10=null;mxEvent[_0x992f[51]](_0x2fc2x11,_0x992f[89],mxUtils[_0x992f[4]](this,function(_0x2fc2x4){if(_0x2fc2x11[_0x992f[60]]== null|| _0x2fc2x11[_0x992f[60]]){_0x2fc2x7[_0x992f[98]][_0x992f[3]]();_0x2fc2x10= new mxPopupMenu(_0x2fc2x12);_0x2fc2x10[_0x992f[67]][_0x992f[69]]+= _0x992f[99];_0x2fc2x10[_0x992f[100]]= _0x2fc2x20;_0x2fc2x10[_0x992f[101]]= _0x2fc2xe;_0x2fc2x10[_0x992f[102]]= true;_0x2fc2x10[_0x992f[106]](_0x2fc2x11[_0x992f[103]],_0x2fc2x11[_0x992f[104]]+ _0x2fc2x11[_0x992f[105]]+ 34,null,_0x2fc2x4);this[_0x992f[54]]= _0x2fc2x10};mxEvent[_0x992f[90]](_0x2fc2x4)}))}}
\ No newline at end of file
-var urlParams = (function(url) {
- var result = new Object();
- var idx = url.lastIndexOf('?');
-
- if (idx > 0) {
- var params = url.substring(idx + 1).split('&');
-
- for (var i = 0; i < params.length; i++) {
- idx = params[i].indexOf('=');
-
- if (idx > 0) {
- result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
- }
- }
- }
-
- return result;
-})(window.location.href);
-
-var t0 = new Date();
-
-// Public global variables
-var MAX_REQUEST_SIZE = 10485760;
-var MAX_WIDTH = 12000;
-var MAX_HEIGHT = 12000;
-
-// CUSTOM_PARAMETERS - URLs for save and export
-var EXPORT_URL = 'http://exp.draw.io/ImageExport2/export';
-var SHARE_HOST = 'http://localhost:3000';
-
-var SAVE_URL = 'api/jscripty/projects/';
-var VARIABLE_URL = 'api/square/variables/';
-
-// Paths and files
-var STENCIL_PATH = '/assets/plugins/jscripty/stencils';
-var SHAPES_PATH = '/assets/plugins/mxgraph/shapes';
-var IMAGE_PATH = '/assets/plugins/mxgraph/images';
-// Path for images inside the diagram
-//var GRAPH_IMAGE_PATH = 'assets/plugins/mxgraph/img';
-//var ICONFINDER_PATH = 'iconfinder';
-var STYLE_PATH = '/assets/plugins/mxgraph/styles';
-var CSS_PATH = '/assets/plugins/mxgraph/styles';
-var OPEN_FORM = 'api/jscripty/projects/open';
-var TEMPLATE_PATH = '/assets/plugins/jscripty/templates';
-
-// Directory for i18 files and basename for main i18n file
-var RESOURCES_PATH = '/assets/plugins/jscripty/resources';
-var RESOURCE_BASE = RESOURCES_PATH + '/dia';
-
-// Specifies connection mode for touch devices (at least one should be true)
-var tapAndHoldStartsConnection = true;
-var showConnectorImg = true;
-
-var mxLoadResources = false;
-// var mxLanguage = '';
-console.log('custom', localStorage.getItem("NG_TRANSLATE_LANG_KEY"));
-switch (localStorage.getItem("NG_TRANSLATE_LANG_KEY")) {
- case 'en_EN':
- mxLanguage = 'en';
- break;
- case 'it':
- mxLanguage = 'it';
- break;
- default:
- mxLanguage = 'it';
-}
-console.log('mxLanguage', mxLanguage);
-
-var mxLanguages = ['ar', 'bs', 'cs', 'da', 'de', 'el', 'es', 'es-ar', 'fr',
- 'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt-br', 'pt', 'ro', 'ru',
- 'sr', 'sv', 'th', 'tr', 'uk', 'zh'
-];
-var mxBasePath = 'assets/plugins/mxgraph';
-var geBasePath = 'assets/plugins/mxgraph/js';
-
-var ISPEECHLANG = {
- usenglishfemale: "US English Female",
- usenglishmale: "US English Male",
- ukenglishfemale: "UK English Female",
- ukenglishmale: "UK English Male",
- auenglishfemale: "Australian English",
- usspanishfemale: "US Spanish Female",
- usspanishmale: "US Spanish Male",
- chchinesefemale: "Chinese Female",
- chchinesemale: "Chinese Male",
- hkchinesefemale: "Hong Kong Cantonese Female",
- twchinesefemale: "Taiwan Chinese Female",
- jpjapanesefemale: "Japanese Female",
- jpjapanesemale: "Japanese Male",
- krkoreanfemale: "Korean Female",
- krkoreanmale: "Korean Male",
- caenglishfemale: "Canadian English Female",
- huhungarianfemale: "Hungarian Female",
- brportuguesefemale: "Brazilian Portuguese Female",
- eurportuguesefemale: "European Portuguese Female",
- eurportuguesemale: "European Portuguese Male",
- eurspanishfemale: "European Spanish Female",
- eurspanishmale: "European Spanish Male",
- eurcatalanfemale: "European Catalan Female",
- eurczechfemale: "European Czech Female",
- eurdanishfemale: "European Danish Female",
- eurfinnishfemale: "European Finnish Female",
- eurfrenchfemale: "European French Female",
- eurfrenchmale: "European French Male",
- eurnorwegianfemale: "European Norwegian Female",
- eurdutchfemale: "European Dutch Female",
- eurpolishfemale: "European Polish Female",
- euritalianfemale: "European Italian Female",
- eurturkishfemale: "European Turkish Female ",
- eurturkishmale: "European Turkish Male",
- eurgermanfemale: "European German Female",
- eurgermanmale: "European German Male",
- rurussianfemale: "Russian Female",
- rurussianmale: "Russian Male",
- swswedishfemale: "Swedish Female",
- cafrenchfemale: "Canadian French Female",
- cafrenchmale: "Canadian French Male"
-};
-
-var ISPEECHASRLANG = {
- "en-US": "English (US)",
- "en-CA": "English (Canada)",
- "en-GB": "English (UK)",
- "en-AU": "English (Australia)",
- "es-ES": "Spanish (Spain)",
- "es-MX": "Spanish (Mexico)",
- "it-IT": "Italian (Italy) / Finnish (Finland)",
- "fr-FR": "French (France)",
- "fr-CA": "French (Canada)",
- "pl-PL": "Polish (Poland)",
- "pt-PT": "Portuguese (Portugal)",
- "ca-ES": "Catalan (Catalan)",
- "zh-TW": "Chinese (Taiwan)",
- "da-DK": "Danish (Denmark)",
- "fr-FR": "German (Germany)",
- "ja-JP": "Japanese (Japan)",
- "ko-KR": "Korean (Korea)",
- "nl-NL": "Dutch (Netherlands)",
- "nb-NO": "Norwegian (Norway)",
- "pt-BR": "Portuguese (Brazil)",
- "ru-RU": "Russian (Russia)",
- "sv-SE": "Swedish (Sweden)",
- "zh-CN": "Chinese (China)",
- "zh-HK": "Chinese (Hong Kong)"
-};
-
-var ISPEECHASRMODEL = {
- 0: "Default",
- date: "Date",
- usmoney: "US Money",
- numbersto9: "Numbers to 9",
- numbersto99: "Numbers to 99",
- numbersto999: "Numbers to 999",
- time: "Time",
- phonenumber: "Phone number",
- streets: "Streets",
- citystate: "US City/States"
-};
-
-var GOOGLETTSLANG = {
- "af": "Afrikaans",
- "sq": "Albanian",
- "am": "Amharic",
- "ar": "Arabic",
- "hy": "Armenian",
- "az": "Azerbaijani",
- "eu": "Basque",
- "be": "Belarusian",
- "bn": "Bengali",
- "bh": "Bihari",
- "bs": "Bosnian",
- "br": "Breton",
- "bg": "Bulgarian",
- "km": "Cambodian",
- "ca": "Catalan",
- "zh-CN": "Chinese (Simplified)",
- "zh-TW": "Chinese (Traditional)",
- "co": "Corsican",
- "hr": "Croatian",
- "cs": "Czech",
- "da": "Danish",
- "nl": "Dutch",
- "en": "English",
- "eo": "Esperanto",
- "et": "Estonian",
- "fo": "Faroese",
- "tl": "Filipino",
- "fi": "Finnish",
- "fr": "French",
- "fy": "Frisian",
- "gl": "Galician",
- "ka": "Georgian",
- "de": "German",
- "el": "Greek",
- "gn": "Guarani",
- "gu": "Gujarati",
- "xx-hacker": "Hacker",
- "ha": "Hausa",
- "iw": "Hebrew",
- "hi": "Hindi",
- "hu": "Hungarian",
- "is": "Icelandic",
- "id": "Indonesian",
- "ia": "Interlingua",
- "ga": "Irish",
- "it": "Italian",
- "jw": "Javanese",
- "ja": "Japanese",
- "kn": "Kannada",
- "kk": "Kazakh",
- "rw": "Kinyarwanda",
- "rn": "Kirundi",
- "xx-klingon": "Klingon",
- "ku": "Kurdish",
- "ko": "Korean",
- "ky": "Kyrgyz",
- "lo": "Laothian",
- "la": "Latin",
- "lv": "Latvian",
- "ln": "Lingala",
- "lt": "Lithuanian",
- "mk": "Macedonian",
- "mg": "Malagasy",
- "ms": "Malay",
- "ml": "Malayalam",
- "mt": "Maltese",
- "mi": "Maori",
- "mr": "Marathi",
- "mo": "Moldavian",
- "mn": "Mongolian",
- "sr-ME": "Montenegrin",
- "ne": "Nepali",
- "no": "Norwegian",
- "nn": "Norwegian (Nynorsk)",
- "oc": "Occitan",
- "or": "Oriya",
- "om": "Oromo",
- "ps": "Pashto",
- "fa": "Persian",
- "xx-pirate": "Pirate",
- "pl": "Polish",
- "pt-BR": "Portuguese (Brazil)",
- "pt-PT": "Portuguese (Portugal)",
- "pa": "Punjabi",
- "qu": "Quechua",
- "ro": "Romanian",
- "rm": "Romansh",
- "ru": "Russian",
- "gd": "Scots Gaelic",
- "sr": "Serbian",
- "sh": "Serbo-Croatian",
- "st": "Sesotho",
- "sn": "Shona",
- "sd": "Sindhi",
- "si": "Sinhalese",
- "sk": "Slovak",
- "sl": "Slovenian",
- "so": "Somali",
- "es": "Spanish",
- "su": "Sundanese",
- "sw": "Swahili",
- "sv": "Swedish",
- "tg": "Tajik",
- "ta": "Tamil",
- "tt": "Tatar",
- "te": "Telugu",
- "th": "Thai",
- "ti": "Tigrinya",
- "to": "Tonga",
- "tr": "Turkish",
- "tk": "Turkmen",
- "tw": "Twi",
- "ug": "Uighur",
- "uk": "Ukrainian",
- "ur": "Urdu",
- "uz": "Uzbek",
- "vi": "Vietnamese",
- "cy": "Welsh",
- "xh": "Xhosa",
- "yi": "Yiddish",
- "yo": "Yoruba",
- "zu": "Zulu"
-};
+var _0xfa23=["\x68\x72\x65\x66","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x3F","\x6C\x61\x73\x74\x49\x6E\x64\x65\x78\x4F\x66","\x26","\x73\x70\x6C\x69\x74","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x6C\x65\x6E\x67\x74\x68","\x3D","\x69\x6E\x64\x65\x78\x4F\x66","\x68\x74\x74\x70\x3A\x2F\x2F\x65\x78\x70\x2E\x64\x72\x61\x77\x2E\x69\x6F\x2F\x49\x6D\x61\x67\x65\x45\x78\x70\x6F\x72\x74\x32\x2F\x65\x78\x70\x6F\x72\x74","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x3A\x33\x30\x30\x30","\x61\x70\x69\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F","\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73\x2F","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x73\x68\x61\x70\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x69\x6D\x61\x67\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x73\x74\x79\x6C\x65\x73","\x61\x70\x69\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6F\x70\x65\x6E","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x72\x65\x73\x6F\x75\x72\x63\x65\x73","\x2F\x64\x69\x61","\x63\x75\x73\x74\x6F\x6D","\x4E\x47\x5F\x54\x52\x41\x4E\x53\x4C\x41\x54\x45\x5F\x4C\x41\x4E\x47\x5F\x4B\x45\x59","\x67\x65\x74\x49\x74\x65\x6D","\x6C\x6F\x67","\x65\x6E","\x65\x6E\x5F\x45\x4E","\x69\x74","\x6D\x78\x4C\x61\x6E\x67\x75\x61\x67\x65","\x61\x72","\x62\x73","\x63\x73","\x64\x61","\x64\x65","\x65\x6C","\x65\x73","\x65\x73\x2D\x61\x72","\x66\x72","\x68\x75","\x69\x64","\x6A\x61","\x6B\x6F","\x6E\x6C","\x6E\x6F","\x70\x6C","\x70\x74\x2D\x62\x72","\x70\x74","\x72\x6F","\x72\x75","\x73\x72","\x73\x76","\x74\x68","\x74\x72","\x75\x6B","\x7A\x68","\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68","\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x6A\x73","\x55\x53\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x55\x53\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x4D\x61\x6C\x65","\x55\x4B\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x55\x4B\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x4D\x61\x6C\x65","\x41\x75\x73\x74\x72\x61\x6C\x69\x61\x6E\x20\x45\x6E\x67\x6C\x69\x73\x68","\x55\x53\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x55\x53\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x4D\x61\x6C\x65","\x43\x68\x69\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x43\x68\x69\x6E\x65\x73\x65\x20\x4D\x61\x6C\x65","\x48\x6F\x6E\x67\x20\x4B\x6F\x6E\x67\x20\x43\x61\x6E\x74\x6F\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x54\x61\x69\x77\x61\x6E\x20\x43\x68\x69\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x4A\x61\x70\x61\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x4A\x61\x70\x61\x6E\x65\x73\x65\x20\x4D\x61\x6C\x65","\x4B\x6F\x72\x65\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x4B\x6F\x72\x65\x61\x6E\x20\x4D\x61\x6C\x65","\x43\x61\x6E\x61\x64\x69\x61\x6E\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x48\x75\x6E\x67\x61\x72\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x42\x72\x61\x7A\x69\x6C\x69\x61\x6E\x20\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x43\x61\x74\x61\x6C\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x43\x7A\x65\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x44\x61\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x46\x69\x6E\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x44\x75\x74\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x50\x6F\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x49\x74\x61\x6C\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x54\x75\x72\x6B\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65\x09","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x54\x75\x72\x6B\x69\x73\x68\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x47\x65\x72\x6D\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x47\x65\x72\x6D\x61\x6E\x20\x4D\x61\x6C\x65","\x52\x75\x73\x73\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x52\x75\x73\x73\x69\x61\x6E\x20\x4D\x61\x6C\x65","\x53\x77\x65\x64\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x43\x61\x6E\x61\x64\x69\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x43\x61\x6E\x61\x64\x69\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x4D\x61\x6C\x65","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x55\x53\x29","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x43\x61\x6E\x61\x64\x61\x29","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x55\x4B\x29","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x41\x75\x73\x74\x72\x61\x6C\x69\x61\x29","\x53\x70\x61\x6E\x69\x73\x68\x20\x28\x53\x70\x61\x69\x6E\x29","\x53\x70\x61\x6E\x69\x73\x68\x20\x28\x4D\x65\x78\x69\x63\x6F\x29","\x49\x74\x61\x6C\x69\x61\x6E\x20\x28\x49\x74\x61\x6C\x79\x29\x20\x2F\x20\x46\x69\x6E\x6E\x69\x73\x68\x20\x28\x46\x69\x6E\x6C\x61\x6E\x64\x29","\x46\x72\x65\x6E\x63\x68\x20\x28\x46\x72\x61\x6E\x63\x65\x29","\x46\x72\x65\x6E\x63\x68\x20\x28\x43\x61\x6E\x61\x64\x61\x29","\x50\x6F\x6C\x69\x73\x68\x20\x28\x50\x6F\x6C\x61\x6E\x64\x29","\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x28\x50\x6F\x72\x74\x75\x67\x61\x6C\x29","\x43\x61\x74\x61\x6C\x61\x6E\x20\x28\x43\x61\x74\x61\x6C\x61\x6E\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x54\x61\x69\x77\x61\x6E\x29","\x44\x61\x6E\x69\x73\x68\x20\x28\x44\x65\x6E\x6D\x61\x72\x6B\x29","\x47\x65\x72\x6D\x61\x6E\x20\x28\x47\x65\x72\x6D\x61\x6E\x79\x29","\x4A\x61\x70\x61\x6E\x65\x73\x65\x20\x28\x4A\x61\x70\x61\x6E\x29","\x4B\x6F\x72\x65\x61\x6E\x20\x28\x4B\x6F\x72\x65\x61\x29","\x44\x75\x74\x63\x68\x20\x28\x4E\x65\x74\x68\x65\x72\x6C\x61\x6E\x64\x73\x29","\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E\x20\x28\x4E\x6F\x72\x77\x61\x79\x29","\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x28\x42\x72\x61\x7A\x69\x6C\x29","\x52\x75\x73\x73\x69\x61\x6E\x20\x28\x52\x75\x73\x73\x69\x61\x29","\x53\x77\x65\x64\x69\x73\x68\x20\x28\x53\x77\x65\x64\x65\x6E\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x43\x68\x69\x6E\x61\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x48\x6F\x6E\x67\x20\x4B\x6F\x6E\x67\x29","\x44\x65\x66\x61\x75\x6C\x74","\x44\x61\x74\x65","\x55\x53\x20\x4D\x6F\x6E\x65\x79","\x4E\x75\x6D\x62\x65\x72\x73\x20\x74\x6F\x20\x39","\x4E\x75\x6D\x62\x65\x72\x73\x20\x74\x6F\x20\x39\x39","\x4E\x75\x6D\x62\x65\x72\x73\x20\x74\x6F\x20\x39\x39\x39","\x54\x69\x6D\x65","\x50\x68\x6F\x6E\x65\x20\x6E\x75\x6D\x62\x65\x72","\x53\x74\x72\x65\x65\x74\x73","\x55\x53\x20\x43\x69\x74\x79\x2F\x53\x74\x61\x74\x65\x73","\x41\x66\x72\x69\x6B\x61\x61\x6E\x73","\x41\x6C\x62\x61\x6E\x69\x61\x6E","\x41\x6D\x68\x61\x72\x69\x63","\x41\x72\x61\x62\x69\x63","\x41\x72\x6D\x65\x6E\x69\x61\x6E","\x41\x7A\x65\x72\x62\x61\x69\x6A\x61\x6E\x69","\x42\x61\x73\x71\x75\x65","\x42\x65\x6C\x61\x72\x75\x73\x69\x61\x6E","\x42\x65\x6E\x67\x61\x6C\x69","\x42\x69\x68\x61\x72\x69","\x42\x6F\x73\x6E\x69\x61\x6E","\x42\x72\x65\x74\x6F\x6E","\x42\x75\x6C\x67\x61\x72\x69\x61\x6E","\x43\x61\x6D\x62\x6F\x64\x69\x61\x6E","\x43\x61\x74\x61\x6C\x61\x6E","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x53\x69\x6D\x70\x6C\x69\x66\x69\x65\x64\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x54\x72\x61\x64\x69\x74\x69\x6F\x6E\x61\x6C\x29","\x43\x6F\x72\x73\x69\x63\x61\x6E","\x43\x72\x6F\x61\x74\x69\x61\x6E","\x43\x7A\x65\x63\x68","\x44\x61\x6E\x69\x73\x68","\x44\x75\x74\x63\x68","\x45\x6E\x67\x6C\x69\x73\x68","\x45\x73\x70\x65\x72\x61\x6E\x74\x6F","\x45\x73\x74\x6F\x6E\x69\x61\x6E","\x46\x61\x72\x6F\x65\x73\x65","\x46\x69\x6C\x69\x70\x69\x6E\x6F","\x46\x69\x6E\x6E\x69\x73\x68","\x46\x72\x65\x6E\x63\x68","\x46\x72\x69\x73\x69\x61\x6E","\x47\x61\x6C\x69\x63\x69\x61\x6E","\x47\x65\x6F\x72\x67\x69\x61\x6E","\x47\x65\x72\x6D\x61\x6E","\x47\x72\x65\x65\x6B","\x47\x75\x61\x72\x61\x6E\x69","\x47\x75\x6A\x61\x72\x61\x74\x69","\x48\x61\x63\x6B\x65\x72","\x48\x61\x75\x73\x61","\x48\x65\x62\x72\x65\x77","\x48\x69\x6E\x64\x69","\x48\x75\x6E\x67\x61\x72\x69\x61\x6E","\x49\x63\x65\x6C\x61\x6E\x64\x69\x63","\x49\x6E\x64\x6F\x6E\x65\x73\x69\x61\x6E","\x49\x6E\x74\x65\x72\x6C\x69\x6E\x67\x75\x61","\x49\x72\x69\x73\x68","\x49\x74\x61\x6C\x69\x61\x6E","\x4A\x61\x76\x61\x6E\x65\x73\x65","\x4A\x61\x70\x61\x6E\x65\x73\x65","\x4B\x61\x6E\x6E\x61\x64\x61","\x4B\x61\x7A\x61\x6B\x68","\x4B\x69\x6E\x79\x61\x72\x77\x61\x6E\x64\x61","\x4B\x69\x72\x75\x6E\x64\x69","\x4B\x6C\x69\x6E\x67\x6F\x6E","\x4B\x75\x72\x64\x69\x73\x68","\x4B\x6F\x72\x65\x61\x6E","\x4B\x79\x72\x67\x79\x7A","\x4C\x61\x6F\x74\x68\x69\x61\x6E","\x4C\x61\x74\x69\x6E","\x4C\x61\x74\x76\x69\x61\x6E","\x4C\x69\x6E\x67\x61\x6C\x61","\x4C\x69\x74\x68\x75\x61\x6E\x69\x61\x6E","\x4D\x61\x63\x65\x64\x6F\x6E\x69\x61\x6E","\x4D\x61\x6C\x61\x67\x61\x73\x79","\x4D\x61\x6C\x61\x79","\x4D\x61\x6C\x61\x79\x61\x6C\x61\x6D","\x4D\x61\x6C\x74\x65\x73\x65","\x4D\x61\x6F\x72\x69","\x4D\x61\x72\x61\x74\x68\x69","\x4D\x6F\x6C\x64\x61\x76\x69\x61\x6E","\x4D\x6F\x6E\x67\x6F\x6C\x69\x61\x6E","\x4D\x6F\x6E\x74\x65\x6E\x65\x67\x72\x69\x6E","\x4E\x65\x70\x61\x6C\x69","\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E","\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E\x20\x28\x4E\x79\x6E\x6F\x72\x73\x6B\x29","\x4F\x63\x63\x69\x74\x61\x6E","\x4F\x72\x69\x79\x61","\x4F\x72\x6F\x6D\x6F","\x50\x61\x73\x68\x74\x6F","\x50\x65\x72\x73\x69\x61\x6E","\x50\x69\x72\x61\x74\x65","\x50\x6F\x6C\x69\x73\x68","\x50\x75\x6E\x6A\x61\x62\x69","\x51\x75\x65\x63\x68\x75\x61","\x52\x6F\x6D\x61\x6E\x69\x61\x6E","\x52\x6F\x6D\x61\x6E\x73\x68","\x52\x75\x73\x73\x69\x61\x6E","\x53\x63\x6F\x74\x73\x20\x47\x61\x65\x6C\x69\x63","\x53\x65\x72\x62\x69\x61\x6E","\x53\x65\x72\x62\x6F\x2D\x43\x72\x6F\x61\x74\x69\x61\x6E","\x53\x65\x73\x6F\x74\x68\x6F","\x53\x68\x6F\x6E\x61","\x53\x69\x6E\x64\x68\x69","\x53\x69\x6E\x68\x61\x6C\x65\x73\x65","\x53\x6C\x6F\x76\x61\x6B","\x53\x6C\x6F\x76\x65\x6E\x69\x61\x6E","\x53\x6F\x6D\x61\x6C\x69","\x53\x70\x61\x6E\x69\x73\x68","\x53\x75\x6E\x64\x61\x6E\x65\x73\x65","\x53\x77\x61\x68\x69\x6C\x69","\x53\x77\x65\x64\x69\x73\x68","\x54\x61\x6A\x69\x6B","\x54\x61\x6D\x69\x6C","\x54\x61\x74\x61\x72","\x54\x65\x6C\x75\x67\x75","\x54\x68\x61\x69","\x54\x69\x67\x72\x69\x6E\x79\x61","\x54\x6F\x6E\x67\x61","\x54\x75\x72\x6B\x69\x73\x68","\x54\x75\x72\x6B\x6D\x65\x6E","\x54\x77\x69","\x55\x69\x67\x68\x75\x72","\x55\x6B\x72\x61\x69\x6E\x69\x61\x6E","\x55\x72\x64\x75","\x55\x7A\x62\x65\x6B","\x56\x69\x65\x74\x6E\x61\x6D\x65\x73\x65","\x57\x65\x6C\x73\x68","\x58\x68\x6F\x73\x61","\x59\x69\x64\x64\x69\x73\x68","\x59\x6F\x72\x75\x62\x61","\x5A\x75\x6C\x75"];var urlParams=(function(_0x68afx2){var _0x68afx3= new Object();var _0x68afx4=_0x68afx2[_0xfa23[3]](_0xfa23[2]);if(_0x68afx4> 0){var _0x68afx5=_0x68afx2[_0xfa23[6]](_0x68afx4+ 1)[_0xfa23[5]](_0xfa23[4]);for(var _0x68afx6=0;_0x68afx6< _0x68afx5[_0xfa23[7]];_0x68afx6++){_0x68afx4= _0x68afx5[_0x68afx6][_0xfa23[9]](_0xfa23[8]);if(_0x68afx4> 0){_0x68afx3[_0x68afx5[_0x68afx6][_0xfa23[6]](0,_0x68afx4)]= _0x68afx5[_0x68afx6][_0xfa23[6]](_0x68afx4+ 1)}}};return _0x68afx3})(window[_0xfa23[1]][_0xfa23[0]]);var t0= new Date();var MAX_REQUEST_SIZE=10485760;var MAX_WIDTH=12000;var MAX_HEIGHT=12000;var EXPORT_URL=_0xfa23[10];var SHARE_HOST=_0xfa23[11];var SAVE_URL=_0xfa23[12];var VARIABLE_URL=_0xfa23[13];var STENCIL_PATH=_0xfa23[14];var SHAPES_PATH=_0xfa23[15];var IMAGE_PATH=_0xfa23[16];var STYLE_PATH=_0xfa23[17];var CSS_PATH=_0xfa23[17];var OPEN_FORM=_0xfa23[18];var TEMPLATE_PATH=_0xfa23[19];var RESOURCES_PATH=_0xfa23[20];var RESOURCE_BASE=RESOURCES_PATH+ _0xfa23[21];var tapAndHoldStartsConnection=true;var showConnectorImg=true;var mxLoadResources=false;console[_0xfa23[25]](_0xfa23[22],localStorage[_0xfa23[24]](_0xfa23[23]));switch(localStorage[_0xfa23[24]](_0xfa23[23])){case _0xfa23[27]:mxLanguage= _0xfa23[26];break;case _0xfa23[28]:mxLanguage= _0xfa23[28];break;default:mxLanguage= _0xfa23[28]};console[_0xfa23[25]](_0xfa23[29],mxLanguage);var mxLanguages=[_0xfa23[30],_0xfa23[31],_0xfa23[32],_0xfa23[33],_0xfa23[34],_0xfa23[35],_0xfa23[36],_0xfa23[37],_0xfa23[38],_0xfa23[39],_0xfa23[40],_0xfa23[28],_0xfa23[41],_0xfa23[42],_0xfa23[43],_0xfa23[44],_0xfa23[45],_0xfa23[46],_0xfa23[47],_0xfa23[48],_0xfa23[49],_0xfa23[50],_0xfa23[51],_0xfa23[52],_0xfa23[53],_0xfa23[54],_0xfa23[55]];var mxBasePath=_0xfa23[56];var geBasePath=_0xfa23[57];var ISPEECHLANG={usenglishfemale:_0xfa23[58],usenglishmale:_0xfa23[59],ukenglishfemale:_0xfa23[60],ukenglishmale:_0xfa23[61],auenglishfemale:_0xfa23[62],usspanishfemale:_0xfa23[63],usspanishmale:_0xfa23[64],chchinesefemale:_0xfa23[65],chchinesemale:_0xfa23[66],hkchinesefemale:_0xfa23[67],twchinesefemale:_0xfa23[68],jpjapanesefemale:_0xfa23[69],jpjapanesemale:_0xfa23[70],krkoreanfemale:_0xfa23[71],krkoreanmale:_0xfa23[72],caenglishfemale:_0xfa23[73],huhungarianfemale:_0xfa23[74],brportuguesefemale:_0xfa23[75],eurportuguesefemale:_0xfa23[76],eurportuguesemale:_0xfa23[77],eurspanishfemale:_0xfa23[78],eurspanishmale:_0xfa23[79],eurcatalanfemale:_0xfa23[80],eurczechfemale:_0xfa23[81],eurdanishfemale:_0xfa23[82],eurfinnishfemale:_0xfa23[83],eurfrenchfemale:_0xfa23[84],eurfrenchmale:_0xfa23[85],eurnorwegianfemale:_0xfa23[86],eurdutchfemale:_0xfa23[87],eurpolishfemale:_0xfa23[88],euritalianfemale:_0xfa23[89],eurturkishfemale:_0xfa23[90],eurturkishmale:_0xfa23[91],eurgermanfemale:_0xfa23[92],eurgermanmale:_0xfa23[93],rurussianfemale:_0xfa23[94],rurussianmale:_0xfa23[95],swswedishfemale:_0xfa23[96],cafrenchfemale:_0xfa23[97],cafrenchmale:_0xfa23[98]};var ISPEECHASRLANG={"\x65\x6E\x2D\x55\x53":_0xfa23[99],"\x65\x6E\x2D\x43\x41":_0xfa23[100],"\x65\x6E\x2D\x47\x42":_0xfa23[101],"\x65\x6E\x2D\x41\x55":_0xfa23[102],"\x65\x73\x2D\x45\x53":_0xfa23[103],"\x65\x73\x2D\x4D\x58":_0xfa23[104],"\x69\x74\x2D\x49\x54":_0xfa23[105],"\x66\x72\x2D\x46\x52":_0xfa23[106],"\x66\x72\x2D\x43\x41":_0xfa23[107],"\x70\x6C\x2D\x50\x4C":_0xfa23[108],"\x70\x74\x2D\x50\x54":_0xfa23[109],"\x63\x61\x2D\x45\x53":_0xfa23[110],"\x7A\x68\x2D\x54\x57":_0xfa23[111],"\x64\x61\x2D\x44\x4B":_0xfa23[112],"\x66\x72\x2D\x46\x52":_0xfa23[113],"\x6A\x61\x2D\x4A\x50":_0xfa23[114],"\x6B\x6F\x2D\x4B\x52":_0xfa23[115],"\x6E\x6C\x2D\x4E\x4C":_0xfa23[116],"\x6E\x62\x2D\x4E\x4F":_0xfa23[117],"\x70\x74\x2D\x42\x52":_0xfa23[118],"\x72\x75\x2D\x52\x55":_0xfa23[119],"\x73\x76\x2D\x53\x45":_0xfa23[120],"\x7A\x68\x2D\x43\x4E":_0xfa23[121],"\x7A\x68\x2D\x48\x4B":_0xfa23[122]};var ISPEECHASRMODEL={0:_0xfa23[123],date:_0xfa23[124],usmoney:_0xfa23[125],numbersto9:_0xfa23[126],numbersto99:_0xfa23[127],numbersto999:_0xfa23[128],time:_0xfa23[129],phonenumber:_0xfa23[130],streets:_0xfa23[131],citystate:_0xfa23[132]};var GOOGLETTSLANG={"\x61\x66":_0xfa23[133],"\x73\x71":_0xfa23[134],"\x61\x6D":_0xfa23[135],"\x61\x72":_0xfa23[136],"\x68\x79":_0xfa23[137],"\x61\x7A":_0xfa23[138],"\x65\x75":_0xfa23[139],"\x62\x65":_0xfa23[140],"\x62\x6E":_0xfa23[141],"\x62\x68":_0xfa23[142],"\x62\x73":_0xfa23[143],"\x62\x72":_0xfa23[144],"\x62\x67":_0xfa23[145],"\x6B\x6D":_0xfa23[146],"\x63\x61":_0xfa23[147],"\x7A\x68\x2D\x43\x4E":_0xfa23[148],"\x7A\x68\x2D\x54\x57":_0xfa23[149],"\x63\x6F":_0xfa23[150],"\x68\x72":_0xfa23[151],"\x63\x73":_0xfa23[152],"\x64\x61":_0xfa23[153],"\x6E\x6C":_0xfa23[154],"\x65\x6E":_0xfa23[155],"\x65\x6F":_0xfa23[156],"\x65\x74":_0xfa23[157],"\x66\x6F":_0xfa23[158],"\x74\x6C":_0xfa23[159],"\x66\x69":_0xfa23[160],"\x66\x72":_0xfa23[161],"\x66\x79":_0xfa23[162],"\x67\x6C":_0xfa23[163],"\x6B\x61":_0xfa23[164],"\x64\x65":_0xfa23[165],"\x65\x6C":_0xfa23[166],"\x67\x6E":_0xfa23[167],"\x67\x75":_0xfa23[168],"\x78\x78\x2D\x68\x61\x63\x6B\x65\x72":_0xfa23[169],"\x68\x61":_0xfa23[170],"\x69\x77":_0xfa23[171],"\x68\x69":_0xfa23[172],"\x68\x75":_0xfa23[173],"\x69\x73":_0xfa23[174],"\x69\x64":_0xfa23[175],"\x69\x61":_0xfa23[176],"\x67\x61":_0xfa23[177],"\x69\x74":_0xfa23[178],"\x6A\x77":_0xfa23[179],"\x6A\x61":_0xfa23[180],"\x6B\x6E":_0xfa23[181],"\x6B\x6B":_0xfa23[182],"\x72\x77":_0xfa23[183],"\x72\x6E":_0xfa23[184],"\x78\x78\x2D\x6B\x6C\x69\x6E\x67\x6F\x6E":_0xfa23[185],"\x6B\x75":_0xfa23[186],"\x6B\x6F":_0xfa23[187],"\x6B\x79":_0xfa23[188],"\x6C\x6F":_0xfa23[189],"\x6C\x61":_0xfa23[190],"\x6C\x76":_0xfa23[191],"\x6C\x6E":_0xfa23[192],"\x6C\x74":_0xfa23[193],"\x6D\x6B":_0xfa23[194],"\x6D\x67":_0xfa23[195],"\x6D\x73":_0xfa23[196],"\x6D\x6C":_0xfa23[197],"\x6D\x74":_0xfa23[198],"\x6D\x69":_0xfa23[199],"\x6D\x72":_0xfa23[200],"\x6D\x6F":_0xfa23[201],"\x6D\x6E":_0xfa23[202],"\x73\x72\x2D\x4D\x45":_0xfa23[203],"\x6E\x65":_0xfa23[204],"\x6E\x6F":_0xfa23[205],"\x6E\x6E":_0xfa23[206],"\x6F\x63":_0xfa23[207],"\x6F\x72":_0xfa23[208],"\x6F\x6D":_0xfa23[209],"\x70\x73":_0xfa23[210],"\x66\x61":_0xfa23[211],"\x78\x78\x2D\x70\x69\x72\x61\x74\x65":_0xfa23[212],"\x70\x6C":_0xfa23[213],"\x70\x74\x2D\x42\x52":_0xfa23[118],"\x70\x74\x2D\x50\x54":_0xfa23[109],"\x70\x61":_0xfa23[214],"\x71\x75":_0xfa23[215],"\x72\x6F":_0xfa23[216],"\x72\x6D":_0xfa23[217],"\x72\x75":_0xfa23[218],"\x67\x64":_0xfa23[219],"\x73\x72":_0xfa23[220],"\x73\x68":_0xfa23[221],"\x73\x74":_0xfa23[222],"\x73\x6E":_0xfa23[223],"\x73\x64":_0xfa23[224],"\x73\x69":_0xfa23[225],"\x73\x6B":_0xfa23[226],"\x73\x6C":_0xfa23[227],"\x73\x6F":_0xfa23[228],"\x65\x73":_0xfa23[229],"\x73\x75":_0xfa23[230],"\x73\x77":_0xfa23[231],"\x73\x76":_0xfa23[232],"\x74\x67":_0xfa23[233],"\x74\x61":_0xfa23[234],"\x74\x74":_0xfa23[235],"\x74\x65":_0xfa23[236],"\x74\x68":_0xfa23[237],"\x74\x69":_0xfa23[238],"\x74\x6F":_0xfa23[239],"\x74\x72":_0xfa23[240],"\x74\x6B":_0xfa23[241],"\x74\x77":_0xfa23[242],"\x75\x67":_0xfa23[243],"\x75\x6B":_0xfa23[244],"\x75\x72":_0xfa23[245],"\x75\x7A":_0xfa23[246],"\x76\x69":_0xfa23[247],"\x63\x79":_0xfa23[248],"\x78\x68":_0xfa23[249],"\x79\x69":_0xfa23[250],"\x79\x6F":_0xfa23[251],"\x7A\x75":_0xfa23[252]}
\ No newline at end of file
-var mxClient = {
- VERSION: "2.0.0.0",
- IS_IE: 0 <= navigator.userAgent.indexOf("MSIE"),
- IS_IE6: 0 <= navigator.userAgent.indexOf("MSIE 6"),
- IS_QUIRKS: 0 <= navigator.userAgent.indexOf("MSIE") && (null == document.documentMode || 5 == document.documentMode),
- VML_PREFIX: "v",
- OFFICE_PREFIX: "o",
- IS_NS: 0 <= navigator.userAgent.indexOf("Mozilla/") && 0 > navigator.userAgent.indexOf("MSIE"),
- IS_OP: 0 <= navigator.userAgent.indexOf("Opera/"),
- IS_OT: 0 > navigator.userAgent.indexOf("Presto/2.4.") && 0 > navigator.userAgent.indexOf("Presto/2.3.") && 0 > navigator.userAgent.indexOf("Presto/2.2.") &&
- 0 > navigator.userAgent.indexOf("Presto/2.1.") && 0 > navigator.userAgent.indexOf("Presto/2.0.") && 0 > navigator.userAgent.indexOf("Presto/1."),
- IS_SF: 0 <= navigator.userAgent.indexOf("AppleWebKit/") && 0 > navigator.userAgent.indexOf("Chrome/"),
- IS_GC: 0 <= navigator.userAgent.indexOf("Chrome/"),
- IS_MT: 0 <= navigator.userAgent.indexOf("Firefox/") && 0 > navigator.userAgent.indexOf("Firefox/1.") && 0 > navigator.userAgent.indexOf("Firefox/2.") || 0 <= navigator.userAgent.indexOf(
- "Iceweasel/") && 0 > navigator.userAgent.indexOf("Iceweasel/1.") &&
- 0 > navigator.userAgent.indexOf("Iceweasel/2.") || 0 <= navigator.userAgent.indexOf("SeaMonkey/") && 0 > navigator.userAgent.indexOf("SeaMonkey/1.") || 0 <= navigator.userAgent.indexOf(
- "Iceape/") && 0 > navigator.userAgent.indexOf("Iceape/1."),
- IS_SVG: 0 <= navigator.userAgent.indexOf("Firefox/") || 0 <= navigator.userAgent.indexOf("Iceweasel/") || 0 <= navigator.userAgent.indexOf("Seamonkey/") || 0 <= navigator.userAgent.indexOf(
- "Iceape/") || 0 <= navigator.userAgent.indexOf("Galeon/") || 0 <= navigator.userAgent.indexOf("Epiphany/") || 0 <=
- navigator.userAgent.indexOf("AppleWebKit/") || 0 <= navigator.userAgent.indexOf("Gecko/") || 0 <= navigator.userAgent.indexOf("Opera/"),
- NO_FO: 0 <= navigator.userAgent.indexOf("Firefox/1.") || 0 <= navigator.userAgent.indexOf("Iceweasel/1.") || 0 <= navigator.userAgent.indexOf("Firefox/2.") || 0 <= navigator.userAgent.indexOf(
- "Iceweasel/2.") || 0 <= navigator.userAgent.indexOf("SeaMonkey/1.") || 0 <= navigator.userAgent.indexOf("Iceape/1.") || 0 <= navigator.userAgent.indexOf("Camino/1.") || 0 <= navigator.userAgent
- .indexOf("Epiphany/2.") ||
- 0 <= navigator.userAgent.indexOf("Opera/") || 0 <= navigator.userAgent.indexOf("MSIE") || 0 <= navigator.userAgent.indexOf("Mozilla/2."),
- IS_VML: "MICROSOFT INTERNET EXPLORER" == navigator.appName.toUpperCase(),
- IS_MAC: 0 < navigator.userAgent.toUpperCase().indexOf("MACINTOSH"),
- IS_TOUCH: 0 < navigator.userAgent.toUpperCase().indexOf("IPAD") || 0 < navigator.userAgent.toUpperCase().indexOf("IPOD") || 0 < navigator.userAgent.toUpperCase().indexOf("IPHONE") || 0 <
- navigator.userAgent.toUpperCase().indexOf("ANDROID"),
- IS_LOCAL: 0 > document.location.href.indexOf("http://") &&
- 0 > document.location.href.indexOf("https://"),
- isBrowserSupported: function() {
- return mxClient.IS_VML || mxClient.IS_SVG
- },
- link: function(a, b, c) {
- c = c || document;
- if (mxClient.IS_IE6) c.write('\x3clink rel\x3d"' + a + '" href\x3d"' + b + '" charset\x3d"ISO-8859-1" type\x3d"text/css"/\x3e');
- else {
- var d = c.createElement("link");
- d.setAttribute("rel", a);
- d.setAttribute("href", b);
- d.setAttribute("charset", "ISO-8859-1");
- d.setAttribute("type", "text/css");
- c.getElementsByTagName("head")[0].appendChild(d)
- }
- },
- include: function(a) {
- document.write('\x3cscript src\x3d"' +
- a + '"\x3e\x3c/script\x3e')
- },
- dispose: function() {
- for (var a = 0; a < mxEvent.objects.length; a++) null != mxEvent.objects[a].mxListenerList && mxEvent.removeAllListeners(mxEvent.objects[a])
- }
-};
-mxClient.IS_OP && mxClient.IS_OT ? mxClient.CSS_PREFIX = "O" : mxClient.IS_SF || mxClient.IS_GC ? mxClient.CSS_PREFIX = "Webkit" : mxClient.IS_MT ? mxClient.CSS_PREFIX = "Moz" : mxClient.IS_IE && 9 <=
- document.documentMode && (mxClient.CSS_PREFIX = "ms");
-"undefined" == typeof mxLoadResources && (mxLoadResources = !0);
-"undefined" == typeof mxResourceExtension && (mxResourceExtension = ".txt");
-"undefined" == typeof mxLoadStylesheets && (mxLoadStylesheets = !0);
-"undefined" != typeof mxBasePath && 0 < mxBasePath.length ? ("/" == mxBasePath.substring(mxBasePath.length - 1) && (mxBasePath = mxBasePath.substring(0, mxBasePath.length - 1)), mxClient.basePath =
- mxBasePath) : mxClient.basePath = ".";
-"undefined" != typeof mxImageBasePath && 0 < mxImageBasePath.length ? ("/" == mxImageBasePath.substring(mxImageBasePath.length - 1) && (mxImageBasePath = mxImageBasePath.substring(0, mxImageBasePath.length -
- 1)), mxClient.imageBasePath = mxImageBasePath) : mxClient.imageBasePath = mxClient.basePath + "/images";
-mxClient.language = "undefined" != typeof mxLanguage ? mxLanguage : mxClient.IS_IE ? navigator.userLanguage : navigator.language;
-mxClient.defaultLanguage = "undefined" != typeof mxDefaultLanguage ? mxDefaultLanguage : "en";
-mxLoadStylesheets && mxClient.link("stylesheet", mxClient.basePath + "/css/common.css");
-"undefined" != typeof mxLanguages && (mxClient.languages = mxLanguages);
-if (mxClient.IS_IE) {
- if (9 <= document.documentMode) mxClient.IS_VML = !1, mxClient.IS_SVG = !0;
- else {
- 8 == document.documentMode ? (document.namespaces.add(mxClient.VML_PREFIX, "urn:schemas-microsoft-com:vml", "#default#VML"), document.namespaces.add(mxClient.OFFICE_PREFIX,
- "urn:schemas-microsoft-com:office:office", "#default#VML")) : (document.namespaces.add(mxClient.VML_PREFIX, "urn:schemas-microsoft-com:vml"), document.namespaces.add(mxClient.OFFICE_PREFIX,
- "urn:schemas-microsoft-com:office:office"));
- var ss = document.createStyleSheet();
- ss.cssText = "v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}";
- mxLoadStylesheets && mxClient.link("stylesheet", mxClient.basePath + "/css/explorer.css")
- }
- window.attachEvent("onunload", mxClient.dispose)
-}
-var mxLog = {
- consoleName: "Console",
- TRACE: !1,
- DEBUG: !0,
- WARN: !0,
- buffer: "",
- init: function() {
- if (null == mxLog.window && null != document.body) {
- var a = mxLog.consoleName + " - mxGraph " + mxClient.VERSION,
- b = document.createElement("table");
- b.setAttribute("width", "100%");
- b.setAttribute("height", "100%");
- var c = document.createElement("tbody"),
- d = document.createElement("tr"),
- e = document.createElement("td");
- e.style.verticalAlign = "top";
- mxLog.textarea = document.createElement("textarea");
- mxLog.textarea.setAttribute("readOnly", "true");
- mxLog.textarea.style.height = "100%";
- mxLog.textarea.style.resize = "none";
- mxLog.textarea.value = mxLog.buffer;
- mxLog.textarea.style.width = mxClient.IS_NS && "BackCompat" != document.compatMode ? "99%" : "100%";
- e.appendChild(mxLog.textarea);
- d.appendChild(e);
- c.appendChild(d);
- d = document.createElement("tr");
- mxLog.td = document.createElement("td");
- mxLog.td.style.verticalAlign = "top";
- mxLog.td.setAttribute("height", "30px");
- d.appendChild(mxLog.td);
- c.appendChild(d);
- b.appendChild(c);
- mxLog.addButton("Info", function(a) {
- mxLog.info()
- });
- mxLog.addButton("DOM", function(a) {
- a = mxUtils.getInnerHtml(document.body);
- mxLog.debug(a)
- });
- mxLog.addButton("Trace", function(a) {
- mxLog.TRACE = !mxLog.TRACE;
- mxLog.TRACE ? mxLog.debug("Tracing enabled") : mxLog.debug("Tracing disabled")
- });
- mxLog.addButton("Copy", function(a) {
- try {
- mxUtils.copy(mxLog.textarea.value)
- } catch (b) {
- mxUtils.alert(b)
- }
- });
- mxLog.addButton("Show", function(a) {
- try {
- mxUtils.popup(mxLog.textarea.value)
- } catch (b) {
- mxUtils.alert(b)
- }
- });
- mxLog.addButton("Clear", function(a) {
- mxLog.textarea.value = ""
- });
- d = c = 0;
- "number" === typeof window.innerWidth ? (c = window.innerHeight, d = window.innerWidth) : (c = document.documentElement.clientHeight || document.body.clientHeight, d = document.body.clientWidth);
- mxLog.window = new mxWindow(a, b, Math.max(0, d - 320), Math.max(0, c - 210), 300, 160);
- mxLog.window.setMaximizable(!0);
- mxLog.window.setScrollable(!1);
- mxLog.window.setResizable(!0);
- mxLog.window.setClosable(!0);
- mxLog.window.destroyOnClose = !1;
- if ((mxClient.IS_NS || mxClient.IS_IE) && !mxClient.IS_GC && !mxClient.IS_SF && "BackCompat" != document.compatMode) {
- var f =
- mxLog.window.getElement(),
- a = function(a, b) {
- mxLog.textarea.style.height = Math.max(0, f.offsetHeight - 70) + "px"
- };
- mxLog.window.addListener(mxEvent.RESIZE_END, a);
- mxLog.window.addListener(mxEvent.MAXIMIZE, a);
- mxLog.window.addListener(mxEvent.NORMALIZE, a);
- mxLog.textarea.style.height = "92px"
- }
- }
- },
- info: function() {
- mxLog.writeln(mxUtils.toString(navigator))
- },
- addButton: function(a, b) {
- var c = document.createElement("button");
- mxUtils.write(c, a);
- mxEvent.addListener(c, "click", b);
- mxLog.td.appendChild(c)
- },
- isVisible: function() {
- return null !=
- mxLog.window ? mxLog.window.isVisible() : !1
- },
- show: function() {
- mxLog.setVisible(!0)
- },
- setVisible: function(a) {
- null == mxLog.window && mxLog.init();
- null != mxLog.window && mxLog.window.setVisible(a)
- },
- enter: function(a) {
- if (mxLog.TRACE) return mxLog.writeln("Entering " + a), (new Date).getTime()
- },
- leave: function(a, b) {
- if (mxLog.TRACE) {
- var c = 0 != b ? " (" + ((new Date).getTime() - b) + " ms)" : "";
- mxLog.writeln("Leaving " + a + c)
- }
- },
- debug: function() {
- mxLog.DEBUG && mxLog.writeln.apply(this, arguments)
- },
- warn: function() {
- mxLog.WARN && mxLog.writeln.apply(this,
- arguments)
- },
- write: function() {
- for (var a = "", b = 0; b < arguments.length; b++) a += arguments[b], b < arguments.length - 1 && (a += " ");
- null != mxLog.textarea ? (mxLog.textarea.value += a, 0 <= navigator.userAgent.indexOf("Presto/2.5") && (mxLog.textarea.style.visibility = "hidden", mxLog.textarea.style.visibility = "visible"),
- mxLog.textarea.scrollTop = mxLog.textarea.scrollHeight) : mxLog.buffer += a
- },
- writeln: function() {
- for (var a = "", b = 0; b < arguments.length; b++) a += arguments[b], b < arguments.length - 1 && (a += " ");
- mxLog.write(a + "\n")
- }
- },
- mxObjectIdentity = {
- FIELD_NAME: "mxObjectId",
- counter: 0,
- get: function(a) {
- if ("object" == typeof a && null == a[mxObjectIdentity.FIELD_NAME]) {
- var b = mxUtils.getFunctionName(a.constructor);
- a[mxObjectIdentity.FIELD_NAME] = b + "#" + mxObjectIdentity.counter++
- }
- return a[mxObjectIdentity.FIELD_NAME]
- },
- clear: function(a) {
- "object" == typeof a && delete a[mxObjectIdentity.FIELD_NAME]
- }
- };
-
-function mxDictionary() {
- this.clear()
-}
-mxDictionary.prototype.map = null;
-mxDictionary.prototype.clear = function() {
- this.map = {}
-};
-mxDictionary.prototype.get = function(a) {
- a = mxObjectIdentity.get(a);
- return this.map[a]
-};
-mxDictionary.prototype.put = function(a, b) {
- var c = mxObjectIdentity.get(a),
- d = this.map[c];
- this.map[c] = b;
- return d
-};
-mxDictionary.prototype.remove = function(a) {
- a = mxObjectIdentity.get(a);
- var b = this.map[a];
- delete this.map[a];
- return b
-};
-mxDictionary.prototype.getKeys = function() {
- var a = [],
- b;
- for (b in this.map) a.push(b);
- return a
-};
-mxDictionary.prototype.getValues = function() {
- var a = [],
- b;
- for (b in this.map) a.push(this.map[b]);
- return a
-};
-mxDictionary.prototype.visit = function(a) {
- for (var b in this.map) a(b, this.map[b])
-};
-var mxResources = {
- resources: [],
- extension: mxResourceExtension,
- resourcesEncoded: !1,
- loadDefaultBundle: !0,
- loadSpecialBundle: !0,
- isLanguageSupported: function(a) {
- return null != mxClient.languages ? 0 <= mxUtils.indexOf(mxClient.languages, a) : !0
- },
- getDefaultBundle: function(a, b) {
- return mxResources.loadDefaultBundle || !mxResources.isLanguageSupported(b) ? a + mxResources.extension : null
- },
- getSpecialBundle: function(a, b) {
- if (null == mxClient.languages || !this.isLanguageSupported(b)) {
- var c = b.indexOf("-");
- 0 < c && (b = b.substring(0, c))
- }
- return mxResources.loadSpecialBundle &&
- mxResources.isLanguageSupported(b) && b != mxClient.defaultLanguage ? a + "_" + b + mxResources.extension : null
- },
- add: function(a, b) {
- b = null != b ? b : mxClient.language.toLowerCase();
- if (b != mxConstants.NONE) {
- var c = mxResources.getDefaultBundle(a, b);
- if (null != c) try {
- var d = mxUtils.load(c);
- d.isReady() && mxResources.parse(d.getText())
- } catch (e) {}
- c = mxResources.getSpecialBundle(a, b);
- if (null != c) try {
- d = mxUtils.load(c), d.isReady() && mxResources.parse(d.getText())
- } catch (f) {}
- }
- },
- parse: function(a) {
- if (null != a) {
- a = a.split("\n");
- for (var b = 0; b <
- a.length; b++)
- if ("#" != a[b].charAt(0)) {
- var c = a[b].indexOf("\x3d");
- if (0 < c) {
- var d = a[b].substring(0, c),
- e = a[b].length;
- 13 == a[b].charCodeAt(e - 1) && e--;
- c = a[b].substring(c + 1, e);
- this.resourcesEncoded ? (c = c.replace(/\\(?=u[a-fA-F\d]{4})/g, "%"), mxResources.resources[d] = unescape(c)) : mxResources.resources[d] = c
- }
- }
- }
- },
- get: function(a, b, c) {
- a = mxResources.resources[a];
- null == a && (a = c);
- if (null != a && null != b) {
- c = [];
- for (var d = null, e = 0; e < a.length; e++) {
- var f = a.charAt(e);
- "{" == f ? d = "" : null != d && "}" == f ? (d = parseInt(d) - 1, 0 <= d && d < b.length &&
- c.push(b[d]), d = null) : null != d ? d += f : c.push(f)
- }
- a = c.join("")
- }
- return a
- }
-};
-
-function mxPoint(a, b) {
- this.x = null != a ? a : 0;
- this.y = null != b ? b : 0
-}
-mxPoint.prototype.x = null;
-mxPoint.prototype.y = null;
-mxPoint.prototype.equals = function(a) {
- return a.x == this.x && a.y == this.y
-};
-mxPoint.prototype.clone = function() {
- return mxUtils.clone(this)
-};
-
-function mxRectangle(a, b, c, d) {
- mxPoint.call(this, a, b);
- this.width = null != c ? c : 0;
- this.height = null != d ? d : 0
-}
-mxRectangle.prototype = new mxPoint;
-mxRectangle.prototype.constructor = mxRectangle;
-mxRectangle.prototype.width = null;
-mxRectangle.prototype.height = null;
-mxRectangle.prototype.setRect = function(a, b, c, d) {
- this.x = a;
- this.y = b;
- this.width = c;
- this.height = d
-};
-mxRectangle.prototype.getCenterX = function() {
- return this.x + this.width / 2
-};
-mxRectangle.prototype.getCenterY = function() {
- return this.y + this.height / 2
-};
-mxRectangle.prototype.add = function(a) {
- if (null != a) {
- var b = Math.min(this.x, a.x),
- c = Math.min(this.y, a.y),
- d = Math.max(this.x + this.width, a.x + a.width);
- a = Math.max(this.y + this.height, a.y + a.height);
- this.x = b;
- this.y = c;
- this.width = d - b;
- this.height = a - c
- }
-};
-mxRectangle.prototype.grow = function(a) {
- this.x -= a;
- this.y -= a;
- this.width += 2 * a;
- this.height += 2 * a
-};
-mxRectangle.prototype.getPoint = function() {
- return new mxPoint(this.x, this.y)
-};
-mxRectangle.prototype.equals = function(a) {
- return a.x == this.x && a.y == this.y && a.width == this.width && a.height == this.height
-};
-var mxEffects = {
- animateChanges: function(a, b, c) {
- var d = 0,
- e = function() {
- for (var g = !1, h = 0; h < b.length; h++) {
- var k = b[h];
- if (k instanceof mxGeometryChange || k instanceof mxTerminalChange || k instanceof mxValueChange || k instanceof mxChildChange || k instanceof mxStyleChange) {
- var l = a.getView().getState(k.cell || k.child, !1);
- if (null != l)
- if (g = !0, k.constructor != mxGeometryChange || a.model.isEdge(k.cell)) mxUtils.setOpacity(l.shape.node, 100 * d / 10);
- else {
- var m = a.getView().scale,
- n = (k.geometry.x - k.previous.x) * m,
- p = (k.geometry.y -
- k.previous.y) * m,
- q = (k.geometry.width - k.previous.width) * m,
- m = (k.geometry.height - k.previous.height) * m;
- 0 == d ? (l.x -= n, l.y -= p, l.width -= q, l.height -= m) : (l.x += n / 10, l.y += p / 10, l.width += q / 10, l.height += m / 10);
- a.cellRenderer.redraw(l);
- mxEffects.cascadeOpacity(a, k.cell, 100 * d / 10)
- }
- }
- }
- 10 > d && g ? (d++, window.setTimeout(e, f)) : null != c && c()
- },
- f = 30;
- e()
- },
- cascadeOpacity: function(a, b, c) {
- for (var d = a.model.getChildCount(b), e = 0; e < d; e++) {
- var f = a.model.getChildAt(b, e),
- g = a.getView().getState(f);
- null != g && (mxUtils.setOpacity(g.shape.node,
- c), mxEffects.cascadeOpacity(a, f, c))
- }
- b = a.model.getEdges(b);
- if (null != b)
- for (e = 0; e < b.length; e++) d = a.getView().getState(b[e]), null != d && mxUtils.setOpacity(d.shape.node, c)
- },
- fadeOut: function(a, b, c, d, e, f) {
- d = d || 40;
- e = e || 30;
- var g = b || 100;
- mxUtils.setOpacity(a, g);
- if (f || null == f) {
- var h = function() {
- g = Math.max(g - d, 0);
- mxUtils.setOpacity(a, g);
- 0 < g ? window.setTimeout(h, e) : (a.style.visibility = "hidden", c && a.parentNode && a.parentNode.removeChild(a))
- };
- window.setTimeout(h, e)
- } else a.style.visibility = "hidden", c && a.parentNode && a.parentNode.removeChild(a)
- }
- },
- mxUtils = {
- errorResource: "none" != mxClient.language ? "error" : "",
- closeResource: "none" != mxClient.language ? "close" : "",
- errorImage: mxClient.imageBasePath + "/error.gif",
- removeCursors: function(a) {
- null != a.style && (a.style.cursor = "");
- a = a.childNodes;
- if (null != a)
- for (var b = a.length, c = 0; c < b; c += 1) mxUtils.removeCursors(a[c])
- },
- getCurrentStyle: function() {
- return mxClient.IS_IE ? function(a) {
- return null != a ? a.currentStyle : null
- } : function(a) {
- return null != a ? window.getComputedStyle(a, "") : null
- }
- }(),
- hasScrollbars: function(a) {
- a = mxUtils.getCurrentStyle(a);
- return null != a && ("scroll" == a.overflow || "auto" == a.overflow)
- },
- bind: function(a, b) {
- return function() {
- return b.apply(a, arguments)
- }
- },
- eval: function(a) {
- var b = null;
- if (0 <= a.indexOf("function")) try {
- eval("var _mxJavaScriptExpression\x3d" + a), b = _mxJavaScriptExpression, _mxJavaScriptExpression = null
- } catch (c) {
- mxLog.warn(c.message + " while evaluating " + a)
- } else try {
- b = eval(a)
- } catch (d) {
- mxLog.warn(d.message + " while evaluating " + a)
- }
- return b
- },
- findNode: function(a, b, c) {
- var d = a.getAttribute(b);
- if (null != d && d == c) return a;
- for (a =
- a.firstChild; null != a;) {
- d = mxUtils.findNode(a, b, c);
- if (null != d) return d;
- a = a.nextSibling
- }
- return null
- },
- findNodeByAttribute: function() {
- return 9 <= document.documentMode ? function(a, b, c) {
- var d = null;
- if (null != a)
- if (a.nodeType == mxConstants.NODETYPE_ELEMENT && a.getAttribute(b) == c) d = a;
- else
- for (a = a.firstChild; null != a && null == d;) d = mxUtils.findNodeByAttribute(a, b, c), a = a.nextSibling;
- return d
- } : mxClient.IS_IE ? function(a, b, c) {
- return null == a ? null : a.ownerDocument.selectSingleNode("//*[@" + b + "\x3d'" + c + "']")
- } : function(a, b, c) {
- return null ==
- a ? null : a.ownerDocument.evaluate("//*[@" + b + "\x3d'" + c + "']", a.ownerDocument, null, XPathResult.ANY_TYPE, null).iterateNext()
- }
- }(),
- getFunctionName: function(a) {
- var b = null;
- if (null != a)
- if (null != a.name) b = a.name;
- else {
- a = a.toString();
- for (b = 9;
- " " == a.charAt(b);) b++;
- var c = a.indexOf("(", b),
- b = a.substring(b, c)
- }
- return b
- },
- indexOf: function(a, b) {
- if (null != a && null != b)
- for (var c = 0; c < a.length; c++)
- if (a[c] == b) return c;
- return -1
- },
- remove: function(a, b) {
- var c = null;
- if ("object" == typeof b)
- for (var d = mxUtils.indexOf(b, a); 0 <= d;) b.splice(d,
- 1), c = a, d = mxUtils.indexOf(b, a);
- for (var e in b) b[e] == a && (delete b[e], c = a);
- return c
- },
- isNode: function(a, b, c, d) {
- return null != a && !isNaN(a.nodeType) && (null == b || a.nodeName.toLowerCase() == b.toLowerCase()) ? null == c || a.getAttribute(c) == d : !1
- },
- getChildNodes: function(a, b) {
- b = b || mxConstants.NODETYPE_ELEMENT;
- for (var c = [], d = a.firstChild; null != d;) d.nodeType == b && c.push(d), d = d.nextSibling;
- return c
- },
- createXmlDocument: function() {
- var a = null;
- document.implementation && document.implementation.createDocument ? a = document.implementation.createDocument("",
- "", null) : window.ActiveXObject && (a = new ActiveXObject("Microsoft.XMLDOM"));
- return a
- },
- parseXml: function() {
- return mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? function(a) {
- var b = mxUtils.createXmlDocument();
- b.async = "false";
- b.loadXML(a);
- return b
- } : function(a) {
- return (new DOMParser).parseFromString(a, "text/xml")
- }
- }(),
- clearSelection: function() {
- if (document.selection) return function() {
- document.selection.empty()
- };
- if (window.getSelection) return function() {
- window.getSelection().removeAllRanges()
- }
- }(),
- getPrettyXml: function(a, b, c) {
- var d = [];
- if (null != a)
- if (b = b || " ", c = c || "", a.nodeType == mxConstants.NODETYPE_TEXT) d.push(a.nodeValue);
- else {
- d.push(c + "\x3c" + a.nodeName);
- var e = a.attributes;
- if (null != e)
- for (var f = 0; f < e.length; f++) {
- var g = mxUtils.htmlEntities(e[f].nodeValue);
- d.push(" " + e[f].nodeName + '\x3d"' + g + '"')
- }
- e = a.firstChild;
- if (null != e) {
- for (d.push("\x3e\n"); null != e;) d.push(mxUtils.getPrettyXml(e, b, c + b)), e = e.nextSibling;
- d.push(c + "\x3c/" + a.nodeName + "\x3e\n")
- } else d.push("/\x3e\n")
- }
- return d.join("")
- },
- removeWhitespace: function(a,
- b) {
- for (var c = b ? a.previousSibling : a.nextSibling; null != c && c.nodeType == mxConstants.NODETYPE_TEXT;) {
- var d = b ? c.previousSibling : c.nextSibling,
- e = mxUtils.getTextContent(c);
- 0 == mxUtils.trim(e).length && c.parentNode.removeChild(c);
- c = d
- }
- },
- htmlEntities: function(a, b) {
- a = (a || "").replace(/&/g, "\x26amp;");
- a = a.replace(/"/g, "\x26quot;");
- a = a.replace(/\'/g, "\x26#39;");
- a = a.replace(/</g, "\x26lt;");
- a = a.replace(/>/g, "\x26gt;");
- if (null == b || b) a = a.replace(/\n/g, "\x26#xa;");
- return a
- },
- isVml: function(a) {
- return null != a && "urn:schemas-microsoft-com:vml" ==
- a.tagUrn
- },
- getXml: function(a, b) {
- var c = "";
- null != a && (c = a.xml, c = null == c ? a.innerHTML ? a.innerHTML : (new XMLSerializer).serializeToString(a) : c.replace(/\r\n\t[\t]*/g, "").replace(/>\r\n/g, "\x3e").replace(/\r\n/g, "\n"));
- return c = c.replace(/\n/g, b || "\x26#xa;")
- },
- getTextContent: function(a) {
- var b = "";
- null != a && (null != a.firstChild && (a = a.firstChild), b = a.nodeValue || "");
- return b
- },
- getInnerHtml: function() {
- return mxClient.IS_IE ? function(a) {
- return null != a ? a.innerHTML : ""
- } : function(a) {
- return null != a ? (new XMLSerializer).serializeToString(a) :
- ""
- }
- }(),
- getOuterHtml: function() {
- return mxClient.IS_IE ? function(a) {
- if (null != a) {
- if (null != a.outerHTML) return a.outerHTML;
- var b = [];
- b.push("\x3c" + a.nodeName);
- var c = a.attributes;
- if (null != c)
- for (var d = 0; d < c.length; d++) {
- var e = c[d].nodeValue;
- null != e && 0 < e.length && (b.push(" "), b.push(c[d].nodeName), b.push('\x3d"'), b.push(e), b.push('"'))
- }
- 0 == a.innerHTML.length ? b.push("/\x3e") : (b.push("\x3e"), b.push(a.innerHTML), b.push("\x3c/" + a.nodeName + "\x3e"));
- return b.join("")
- }
- return ""
- } : function(a) {
- return null != a ? (new XMLSerializer).serializeToString(a) :
- ""
- }
- }(),
- write: function(a, b) {
- var c = a.ownerDocument.createTextNode(b);
- null != a && a.appendChild(c);
- return c
- },
- writeln: function(a, b) {
- var c = a.ownerDocument.createTextNode(b);
- null != a && (a.appendChild(c), a.appendChild(document.createElement("br")));
- return c
- },
- br: function(a, b) {
- b = b || 1;
- for (var c = null, d = 0; d < b; d++) null != a && (c = a.ownerDocument.createElement("br"), a.appendChild(c));
- return c
- },
- button: function(a, b, c) {
- c = null != c ? c : document;
- c = c.createElement("button");
- mxUtils.write(c, a);
- mxEvent.addListener(c, "click", function(a) {
- b(a)
- });
- return c
- },
- para: function(a, b) {
- var c = document.createElement("p");
- mxUtils.write(c, b);
- null != a && a.appendChild(c);
- return c
- },
- addTransparentBackgroundFilter: function(a) {
- a.style.filter += "progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d'" + mxClient.imageBasePath + "/transparent.gif', sizingMethod\x3d'scale')"
- },
- linkAction: function(a, b, c, d, e) {
- return mxUtils.link(a, b, function() {
- c.execute(d)
- }, e)
- },
- linkInvoke: function(a, b, c, d, e, f) {
- return mxUtils.link(a, b, function() {
- c[d](e)
- }, f)
- },
- link: function(a, b, c, d) {
- var e =
- document.createElement("span");
- e.style.color = "blue";
- e.style.textDecoration = "underline";
- e.style.cursor = "pointer";
- null != d && (e.style.paddingLeft = d + "px");
- mxEvent.addListener(e, "click", c);
- mxUtils.write(e, b);
- null != a && a.appendChild(e);
- return e
- },
- fit: function(a) {
- var b = parseInt(a.offsetLeft),
- c = parseInt(a.offsetWidth),
- d = document.body,
- e = document.documentElement,
- f = (d.scrollLeft || e.scrollLeft) + (d.clientWidth || e.clientWidth);
- b + c > f && (a.style.left = Math.max(d.scrollLeft || e.scrollLeft, f - c) + "px");
- b = parseInt(a.offsetTop);
- c = parseInt(a.offsetHeight);
- f = (d.scrollTop || e.scrollTop) + Math.max(d.clientHeight || 0, e.clientHeight);
- b + c > f && (a.style.top = Math.max(d.scrollTop || e.scrollTop, f - c) + "px")
- },
- open: function(a) {
- if (mxClient.IS_NS) {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
- } catch (b) {
- return mxUtils.alert("Permission to read file denied."), ""
- }
- var c = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
- c.initWithPath(a);
- if (!c.exists()) return mxUtils.alert("File not found."),
- "";
- a = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
- a.init(c, 1, 4, null);
- c = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream);
- c.init(a);
- return c.read(c.available())
- }
- c = (new ActiveXObject("Scripting.FileSystemObject")).OpenTextFile(a, 1);
- a = c.readAll();
- c.close();
- return a
- },
- save: function(a, b) {
- if (mxClient.IS_NS) {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
- } catch (c) {
- mxUtils.alert("Permission to write file denied.");
- return
- }
- var d = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
- d.initWithPath(a);
- d.exists() || d.create(0, 420);
- var e = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
- e.init(d, 34, 4, null);
- e.write(b, b.length);
- e.flush();
- e.close()
- } else d = (new ActiveXObject("Scripting.FileSystemObject")).CreateTextFile(a, !0), d.Write(b), d.Close()
- },
- saveAs: function(a) {
- var b = document.createElement("iframe");
- b.setAttribute("src", "");
- b.style.visibility = "hidden";
- document.body.appendChild(b);
- try {
- if (mxClient.IS_NS) {
- var c = b.contentDocument;
- c.open();
- c.write(a);
- c.close();
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"), b.focus(), saveDocument(c)
- } catch (d) {
- mxUtils.alert("Permission to save document denied.")
- }
- } else c = b.contentWindow.document, c.write(a), c.execCommand("SaveAs", !1, document.location)
- } finally {
- document.body.removeChild(b)
- }
- },
- copy: function(a) {
- if (window.clipboardData) window.clipboardData.setData("Text",
- a);
- else {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var b = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
- if (b) {
- var c = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
- if (c) {
- c.addDataFlavor("text/unicode");
- var d = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
- d.data = a;
- c.setTransferData("text/unicode",
- d, 2 * a.length);
- b.setData(c, null, Components.interfaces.nsIClipboard.kGlobalClipboard)
- }
- }
- }
- },
- load: function(a) {
- a = new mxXmlRequest(a, null, "GET", !1);
- a.send();
- return a
- },
- get: function(a, b, c) {
- return (new mxXmlRequest(a, null, "GET")).send(b, c)
- },
- post: function(a, b, c, d) {
- return (new mxXmlRequest(a, b)).send(c, d)
- },
- submit: function(a, b, c, d) {
- return (new mxXmlRequest(a, b)).simulate(c, d)
- },
- loadInto: function(a, b, c) {
- mxClient.IS_IE ? b.onreadystatechange = function() {
- 4 == b.readyState && c()
- } : b.addEventListener("load", c, !1);
- b.load(a)
- },
- getValue: function(a, b, c) {
- a = null != a ? a[b] : null;
- null == a && (a = c);
- return a
- },
- getNumber: function(a, b, c) {
- a = null != a ? a[b] : null;
- null == a && (a = c || 0);
- return Number(a)
- },
- getColor: function(a, b, c) {
- a = null != a ? a[b] : null;
- null == a ? a = c : a == mxConstants.NONE && (a = null);
- return a
- },
- clone: function(a, b, c) {
- c = null != c ? c : !1;
- var d = null;
- if (null != a && "function" == typeof a.constructor) {
- var d = new a.constructor,
- e;
- for (e in a)
- if (e != mxObjectIdentity.FIELD_NAME && (null == b || 0 > mxUtils.indexOf(b, e))) d[e] = !c && "object" == typeof a[e] ? mxUtils.clone(a[e]) : a[e]
- }
- return d
- },
- equalPoints: function(a, b) {
- if (null == a && null != b || null != a && null == b || null != a && null != b && a.length != b.length) return !1;
- if (null != a && null != b)
- for (var c = 0; c < a.length; c++)
- if (a[c] == b[c] || null != a[c] && !a[c].equals(b[c])) return !1;
- return !0
- },
- equalEntries: function(a, b) {
- if (null == a && null != b || null != a && null == b || null != a && null != b && a.length != b.length) return !1;
- if (null != a && null != b)
- for (var c in a)
- if (a[c] != b[c]) return !1;
- return !0
- },
- extend: function(a, b) {
- var c = function() {};
- c.prototype = b.prototype;
- a.prototype = new c;
- a.prototype.constructor =
- a
- },
- toString: function(a) {
- var b = "",
- c;
- for (c in a) try {
- if (null == a[c]) b += c + " \x3d [null]\n";
- else if ("function" == typeof a[c]) b += c + " \x3d\x3e [Function]\n";
- else if ("object" == typeof a[c]) var d = mxUtils.getFunctionName(a[c].constructor),
- b = b + (c + " \x3d\x3e [" + d + "]\n");
- else b += c + " \x3d " + a[c] + "\n"
- } catch (e) {
- b += c + "\x3d" + e.message
- }
- return b
- },
- toRadians: function(a) {
- return Math.PI * a / 180
- },
- arcToCurves: function(a, b, c, d, e, f, g, h, k) {
- h -= a;
- k -= b;
- if (0 === c || 0 === d) return p;
- c = Math.abs(c);
- d = Math.abs(d);
- var l = -h / 2,
- m = -k / 2,
- n = Math.cos(e *
- Math.PI / 180),
- p = Math.sin(e * Math.PI / 180);
- e = n * l + p * m;
- var l = -1 * p * l + n * m,
- m = e * e,
- q = l * l,
- s = c * c,
- r = d * d,
- t = m / s + q / r;
- 1 < t ? (c *= Math.sqrt(t), d *= Math.sqrt(t), f = 0) : (t = 1, f === g && (t = -1), f = t * Math.sqrt((s * r - s * q - r * m) / (s * q + r * m)));
- m = f * c * l / d;
- q = -1 * f * d * e / c;
- h = n * m - p * q + h / 2;
- k = p * m + n * q + k / 2;
- s = Math.atan2((l - q) / d, (e - m) / c) - Math.atan2(0, 1);
- f = 0 <= s ? s : 2 * Math.PI + s;
- s = Math.atan2((-l - q) / d, (-e - m) / c) - Math.atan2((l - q) / d, (e - m) / c);
- e = 0 <= s ? s : 2 * Math.PI + s;
- 0 == g && 0 < e ? e -= 2 * Math.PI : 0 != g && 0 > e && (e += 2 * Math.PI);
- g = 2 * e / Math.PI;
- g = Math.ceil(0 > g ? -1 * g : g);
- e /= g;
- l = 8 / 3 * Math.sin(e /
- 4) * Math.sin(e / 4) / Math.sin(e / 2);
- m = n * c;
- n *= d;
- c *= p;
- d *= p;
- for (var v = Math.cos(f), w = Math.sin(f), q = -l * (m * w + d * v), s = -l * (c * w - n * v), t = r = 0, p = [], u = 0; u < g; ++u) {
- f += e;
- var v = Math.cos(f),
- w = Math.sin(f),
- r = m * v - d * w + h,
- t = c * v + n * w + k,
- y = -l * (m * w + d * v),
- v = -l * (c * w - n * v),
- w = 6 * u;
- p[w] = Number(q + a);
- p[w + 1] = Number(s + b);
- p[w + 2] = Number(r - y + a);
- p[w + 3] = Number(t - v + b);
- p[w + 4] = Number(r + a);
- p[w + 5] = Number(t + b);
- q = r + y;
- s = t + v
- }
- return p
- },
- getBoundingBox: function(a, b) {
- var c = null;
- if (null != a && null != b && 0 != b) {
- var d = mxUtils.toRadians(b),
- c = Math.cos(d),
- e = Math.sin(d),
- f =
- new mxPoint(a.x + a.width / 2, a.y + a.height / 2),
- g = new mxPoint(a.x, a.y),
- d = new mxPoint(a.x + a.width, a.y),
- h = new mxPoint(d.x, a.y + a.height),
- k = new mxPoint(a.x, h.y),
- g = mxUtils.getRotatedPoint(g, c, e, f),
- d = mxUtils.getRotatedPoint(d, c, e, f),
- h = mxUtils.getRotatedPoint(h, c, e, f),
- k = mxUtils.getRotatedPoint(k, c, e, f),
- c = new mxRectangle(g.x, g.y, 0, 0);
- c.add(new mxRectangle(d.x, d.y, 0, 0));
- c.add(new mxRectangle(h.x, h.y, 0, 0));
- c.add(new mxRectangle(k.x, k.y, 0, 0))
- }
- return c
- },
- getRotatedPoint: function(a, b, c, d) {
- d = null != d ? d : new mxPoint;
- var e =
- a.x - d.x;
- a = a.y - d.y;
- return new mxPoint(e * b - a * c + d.x, a * b + e * c + d.y)
- },
- getPortConstraints: function(a, b, c, d) {
- a = mxUtils.getValue(a.style, mxConstants.STYLE_PORT_CONSTRAINT, null);
- if (null == a) return d;
- d = a.toString();
- a = mxConstants.DIRECTION_MASK_NONE;
- 0 <= d.indexOf(mxConstants.DIRECTION_NORTH) && (a |= mxConstants.DIRECTION_MASK_NORTH);
- 0 <= d.indexOf(mxConstants.DIRECTION_WEST) && (a |= mxConstants.DIRECTION_MASK_WEST);
- 0 <= d.indexOf(mxConstants.DIRECTION_SOUTH) && (a |= mxConstants.DIRECTION_MASK_SOUTH);
- 0 <= d.indexOf(mxConstants.DIRECTION_EAST) &&
- (a |= mxConstants.DIRECTION_MASK_EAST);
- return a
- },
- reversePortConstraints: function(a) {
- var b = 0,
- b = (a & mxConstants.DIRECTION_MASK_WEST) << 3,
- b = b | (a & mxConstants.DIRECTION_MASK_NORTH) << 1,
- b = b | (a & mxConstants.DIRECTION_MASK_SOUTH) >> 1;
- return b |= (a & mxConstants.DIRECTION_MASK_EAST) >> 3
- },
- findNearestSegment: function(a, b, c) {
- var d = -1;
- if (0 < a.absolutePoints.length)
- for (var e = a.absolutePoints[0], f = null, g = 1; g < a.absolutePoints.length; g++) {
- var h = a.absolutePoints[g],
- e = mxUtils.ptSegDistSq(e.x, e.y, h.x, h.y, b, c);
- if (null == f || e < f) f =
- e, d = g - 1;
- e = h
- }
- return d
- },
- rectangleIntersectsSegment: function(a, b, c) {
- var d = a.y,
- e = a.x,
- f = d + a.height,
- g = e + a.width;
- a = b.x;
- var h = c.x;
- b.x > c.x && (a = c.x, h = b.x);
- h > g && (h = g);
- a < e && (a = e);
- if (a > h) return !1;
- var e = b.y,
- g = c.y,
- k = c.x - b.x;
- 1E-7 < Math.abs(k) && (c = (c.y - b.y) / k, b = b.y - c * b.x, e = c * a + b, g = c * h + b);
- e > g && (b = g, g = e, e = b);
- g > f && (g = f);
- e < d && (e = d);
- return e > g ? !1 : !0
- },
- contains: function(a, b, c) {
- return a.x <= b && a.x + a.width >= b && a.y <= c && a.y + a.height >= c
- },
- intersects: function(a, b) {
- var c = a.width,
- d = a.height,
- e = b.width,
- f = b.height;
- if (0 >= e || 0 >= f || 0 >= c ||
- 0 >= d) return !1;
- var g = a.x,
- h = a.y,
- k = b.x,
- l = b.y,
- e = e + k,
- f = f + l,
- c = c + g,
- d = d + h;
- return (e < k || e > g) && (f < l || f > h) && (c < g || c > k) && (d < h || d > l)
- },
- intersectsHotspot: function(a, b, c, d, e, f) {
- d = null != d ? d : 1;
- e = null != e ? e : 0;
- f = null != f ? f : 0;
- if (0 < d) {
- var g = a.getCenterX(),
- h = a.getCenterY(),
- k = a.width,
- l = a.height,
- m = mxUtils.getValue(a.style, mxConstants.STYLE_STARTSIZE) * a.view.scale;
- 0 < m && (mxUtils.getValue(a.style, mxConstants.STYLE_HORIZONTAL, !0) ? (h = a.y + m / 2, l = m) : (g = a.x + m / 2, k = m));
- k = Math.max(e, k * d);
- l = Math.max(e, l * d);
- 0 < f && (k = Math.min(k, f), l = Math.min(l,
- f));
- d = new mxRectangle(g - k / 2, h - l / 2, k, l);
- g = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0);
- 0 != g && (e = Math.cos(-g), f = Math.sin(-g), g = new mxPoint(a.getCenterX(), a.getCenterY()), a = mxUtils.getRotatedPoint(new mxPoint(b, c), e, f, g), b = a.x, c = a.y);
- return mxUtils.contains(d, b, c)
- }
- return !0
- },
- getOffset: function(a, b) {
- var c = 0,
- d = 0;
- if (null != b && b) var e = document.body,
- f = document.documentElement,
- c = c + (e.scrollLeft || f.scrollLeft),
- d = d + (e.scrollTop || f.scrollTop);
- for (; a.offsetParent;) c += a.offsetLeft, d +=
- a.offsetTop, a = a.offsetParent;
- return new mxPoint(c, d)
- },
- getScrollOrigin: function(a) {
- for (var b = document.body, c = document.documentElement, d = new mxPoint(b.scrollLeft || c.scrollLeft, b.scrollTop || c.scrollTop); null != a && a != b && a != c;) !isNaN(a.scrollLeft) && !
- isNaN(a.scrollTop) && (d.x += a.scrollLeft, d.y += a.scrollTop), a = a.parentNode;
- return d
- },
- convertPoint: function(a, b, c) {
- var d = mxUtils.getScrollOrigin(a);
- a = mxUtils.getOffset(a);
- a.x -= d.x;
- a.y -= d.y;
- return new mxPoint(b - a.x, c - a.y)
- },
- ltrim: function(a, b) {
- return a.replace(RegExp("^[" +
- (b || "\\s") + "]+", "g"), "")
- },
- rtrim: function(a, b) {
- return a.replace(RegExp("[" + (b || "\\s") + "]+$", "g"), "")
- },
- trim: function(a, b) {
- return mxUtils.ltrim(mxUtils.rtrim(a, b), b)
- },
- isNumeric: function(a) {
- return null != a && (null == a.length || 0 < a.length && 0 > a.indexOf("0x") && 0 > a.indexOf("0X")) && !isNaN(a)
- },
- mod: function(a, b) {
- return (a % b + b) % b
- },
- intersection: function(a, b, c, d, e, f, g, h) {
- var k = (h - f) * (c - a) - (g - e) * (d - b);
- g = ((g - e) * (b - f) - (h - f) * (a - e)) / k;
- e = ((c - a) * (b - f) - (d - b) * (a - e)) / k;
- return 0 <= g && 1 >= g && 0 <= e && 1 >= e ? new mxPoint(a + g * (c - a), b + g *
- (d - b)) : null
- },
- ptSegDistSq: function(a, b, c, d, e, f) {
- c -= a;
- d -= b;
- e -= a;
- f -= b;
- 0 >= e * c + f * d ? c = 0 : (e = c - e, f = d - f, a = e * c + f * d, c = 0 >= a ? 0 : a * a / (c * c + d * d));
- e = e * e + f * f - c;
- 0 > e && (e = 0);
- return e
- },
- relativeCcw: function(a, b, c, d, e, f) {
- c -= a;
- d -= b;
- e -= a;
- f -= b;
- a = e * d - f * c;
- 0 == a && (a = e * c + f * d, 0 < a && (a = (e - c) * c + (f - d) * d, 0 > a && (a = 0)));
- return 0 > a ? -1 : 0 < a ? 1 : 0
- },
- animateChanges: function(a, b) {
- mxEffects.animateChanges.apply(this, arguments)
- },
- cascadeOpacity: function(a, b, c) {
- mxEffects.cascadeOpacity.apply(this, arguments)
- },
- fadeOut: function(a, b, c, d, e, f) {
- mxEffects.fadeOut.apply(this,
- arguments)
- },
- setOpacity: function(a, b) {
- mxUtils.isVml(a) ? a.style.filter = 100 <= b ? null : "alpha(opacity\x3d" + b / 5 + ")" : mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? a.style
- .filter = 100 <= b ? null : "alpha(opacity\x3d" + b + ")" : a.style.opacity = b / 100
- },
- createImage: function(a) {
- var b = null;
- mxClient.IS_IE6 && "CSS1Compat" != document.compatMode ? (b = document.createElement(mxClient.VML_PREFIX + ":image"), b.setAttribute("src", a), b.style.borderStyle = "none") : (b = document.createElement(
- "img"), b.setAttribute("src",
- a), b.setAttribute("border", "0"));
- return b
- },
- sortCells: function(a, b) {
- b = null != b ? b : !0;
- var c = new mxDictionary;
- a.sort(function(a, e) {
- var f = c.get(a);
- null == f && (f = mxCellPath.create(a).split(mxCellPath.PATH_SEPARATOR), c.put(a, f));
- var g = c.get(e);
- null == g && (g = mxCellPath.create(e).split(mxCellPath.PATH_SEPARATOR), c.put(e, g));
- f = mxCellPath.compare(f, g);
- return 0 == f ? 0 : 0 < f == b ? 1 : -1
- });
- return a
- },
- getStylename: function(a) {
- return null != a && (a = a.split(";")[0], 0 > a.indexOf("\x3d")) ? a : ""
- },
- getStylenames: function(a) {
- var b = [];
- if (null !=
- a) {
- a = a.split(";");
- for (var c = 0; c < a.length; c++) 0 > a[c].indexOf("\x3d") && b.push(a[c])
- }
- return b
- },
- indexOfStylename: function(a, b) {
- if (null != a && null != b)
- for (var c = a.split(";"), d = 0, e = 0; e < c.length; e++) {
- if (c[e] == b) return d;
- d += c[e].length + 1
- }
- return -1
- },
- addStylename: function(a, b) {
- 0 > mxUtils.indexOfStylename(a, b) && (null == a ? a = "" : 0 < a.length && ";" != a.charAt(a.length - 1) && (a += ";"), a += b);
- return a
- },
- removeStylename: function(a, b) {
- var c = [];
- if (null != a)
- for (var d = a.split(";"), e = 0; e < d.length; e++) d[e] != b && c.push(d[e]);
- return c.join(";")
- },
- removeAllStylenames: function(a) {
- var b = [];
- if (null != a) {
- a = a.split(";");
- for (var c = 0; c < a.length; c++) 0 <= a[c].indexOf("\x3d") && b.push(a[c])
- }
- return b.join(";")
- },
- setCellStyles: function(a, b, c, d) {
- if (null != b && 0 < b.length) {
- a.beginUpdate();
- try {
- for (var e = 0; e < b.length; e++)
- if (null != b[e]) {
- var f = mxUtils.setStyle(a.getStyle(b[e]), c, d);
- a.setStyle(b[e], f)
- }
- } finally {
- a.endUpdate()
- }
- }
- },
- setStyle: function(a, b, c) {
- var d = null != c && ("undefined" == typeof c.length || 0 < c.length);
- if (null == a || 0 == a.length) d && (a = b + "\x3d" + c);
- else {
- var e = a.indexOf(b +
- "\x3d");
- 0 > e ? d && (d = ";" == a.charAt(a.length - 1) ? "" : ";", a = a + d + b + "\x3d" + c) : (b = d ? b + "\x3d" + c : "", c = a.indexOf(";", e), d || c++, a = a.substring(0, e) + b + (c > e ?
- a.substring(c) : ""))
- }
- return a
- },
- setCellStyleFlags: function(a, b, c, d, e) {
- if (null != b && 0 < b.length) {
- a.beginUpdate();
- try {
- for (var f = 0; f < b.length; f++)
- if (null != b[f]) {
- var g = mxUtils.setStyleFlag(a.getStyle(b[f]), c, d, e);
- a.setStyle(b[f], g)
- }
- } finally {
- a.endUpdate()
- }
- }
- },
- setStyleFlag: function(a, b, c, d) {
- if (null == a || 0 == a.length) a = d || null == d ? b + "\x3d" + c : b + "\x3d0";
- else {
- var e = a.indexOf(b +
- "\x3d");
- if (0 > e) e = ";" == a.charAt(a.length - 1) ? "" : ";", a = d || null == d ? a + e + b + "\x3d" + c : a + e + b + "\x3d0";
- else {
- var f = a.indexOf(";", e),
- g = "",
- g = 0 > f ? a.substring(e + b.length + 1) : a.substring(e + b.length + 1, f),
- g = null == d ? parseInt(g) ^ c : d ? parseInt(g) | c : parseInt(g) & ~c;
- a = a.substring(0, e) + b + "\x3d" + g + (0 <= f ? a.substring(f) : "")
- }
- }
- return a
- },
- getAlignmentAsPoint: function(a, b) {
- var c = 0,
- d = 0;
- a == mxConstants.ALIGN_CENTER ? c = -0.5 : a == mxConstants.ALIGN_RIGHT && (c = -1);
- b == mxConstants.ALIGN_MIDDLE ? d = -0.5 : b == mxConstants.ALIGN_BOTTOM && (d = -1);
- return new mxPoint(c,
- d)
- },
- getSizeForString: function(a, b, c) {
- b = null != b ? b : mxConstants.DEFAULT_FONTSIZE;
- c = null != c ? c : mxConstants.DEFAULT_FONTFAMILY;
- var d = document.createElement("div");
- d.style.fontFamily = c;
- d.style.fontSize = Math.round(b) + "px";
- d.style.lineHeight = Math.round(b * mxConstants.LINE_HEIGHT) + "px";
- d.style.position = "absolute";
- d.style.whiteSpace = "nowrap";
- d.style.visibility = "hidden";
- d.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
- d.style.zoom = "1";
- d.innerHTML = a;
- document.body.appendChild(d);
- a = new mxRectangle(0, 0,
- d.offsetWidth, d.offsetHeight);
- document.body.removeChild(d);
- return a
- },
- getViewXml: function(a, b, c, d, e) {
- d = null != d ? d : 0;
- e = null != e ? e : 0;
- b = null != b ? b : 1;
- null == c && (c = [a.getModel().getRoot()]);
- var f = a.getView(),
- g = null,
- h = f.isEventsEnabled();
- f.setEventsEnabled(!1);
- var k = f.drawPane,
- l = f.overlayPane;
- a.dialect == mxConstants.DIALECT_SVG ? (f.drawPane = document.createElementNS(mxConstants.NS_SVG, "g"), f.canvas.appendChild(f.drawPane), f.overlayPane = document.createElementNS(mxConstants.NS_SVG,
- "g")) : (f.drawPane = f.drawPane.cloneNode(!1),
- f.canvas.appendChild(f.drawPane), f.overlayPane = f.overlayPane.cloneNode(!1));
- f.canvas.appendChild(f.overlayPane);
- var m = f.getTranslate();
- f.translate = new mxPoint(d, e);
- b = new mxTemporaryCellStates(a.getView(), b, c);
- try {
- g = (new mxCodec).encode(a.getView())
- } finally {
- b.destroy(), f.translate = m, f.canvas.removeChild(f.drawPane), f.canvas.removeChild(f.overlayPane), f.drawPane = k, f.overlayPane = l, f.setEventsEnabled(h)
- }
- return g
- },
- getScaleForPageCount: function(a, b, c, d) {
- if (1 > a) return 1;
- c = null != c ? c : mxConstants.PAGE_FORMAT_A4_PORTRAIT;
- d = null != d ? d : 0;
- var e = c.width - 2 * d;
- c = c.height - 2 * d;
- d = b.getGraphBounds().clone();
- b = b.getView().getScale();
- d.width /= b;
- d.height /= b;
- b = d.width;
- c = b / d.height / (e / c);
- d = Math.sqrt(a);
- var f = Math.sqrt(c);
- c = d * f;
- d /= f;
- if (1 > c && d > a) {
- var g = d / a;
- d = a;
- c /= g
- }
- 1 > d && c > a && (g = c / a, c = a, d /= g);
- g = Math.ceil(c) * Math.ceil(d);
- for (f = 0; g > a;) {
- var g = Math.floor(c) / c,
- h = Math.floor(d) / d;
- 1 == g && (g = Math.floor(c - 1) / c);
- 1 == h && (h = Math.floor(d - 1) / d);
- g = g > h ? g : h;
- c *= g;
- d *= g;
- g = Math.ceil(c) * Math.ceil(d);
- f++;
- if (10 < f) break
- }
- return 0.99999 * (e * c / b)
- },
- show: function(a,
- b, c, d) {
- c = null != c ? c : 0;
- d = null != d ? d : 0;
- null == b ? b = window.open().document : b.open();
- var e = a.getGraphBounds();
- c = -e.x + c;
- d = -e.y + d;
- if (mxClient.IS_IE) {
- for (var e = "\x3chtml\x3e\x3chead\x3e", f = document.getElementsByTagName("base"), g = 0; g < f.length; g++) e += f[g].outerHTML;
- e += "\x3cstyle\x3e";
- for (g = 0; g < document.styleSheets.length; g++) try {
- e += document.styleSheets(g).cssText
- } catch (h) {}
- e += "\x3c/style\x3e\x3c/head\x3e";
- e += "\x3cbody\x3e";
- e += a.container.innerHTML;
- e += "\x3c/body\x3e";
- e += "\x3chtml\x3e";
- b.writeln(e);
- b.close();
- a =
- b.body.getElementsByTagName("DIV")[0];
- null != a && (a.style.position = "absolute", a.style.left = c + "px", a.style.top = d + "px")
- } else {
- b.writeln("\x3chtml");
- b.writeln("\x3chead\x3e");
- f = document.getElementsByTagName("base");
- for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
- f = document.getElementsByTagName("link");
- for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
- f = document.getElementsByTagName("style");
- for (g = 0; g < f.length; g++) b.writeln(mxUtils.getOuterHtml(f[g]));
- b.writeln("\x3c/head\x3e");
- b.writeln("\x3c/html\x3e");
- b.close();
- null == b.body && b.documentElement.appendChild(b.createElement("body"));
- b.body.style.overflow = "auto";
- for (a = a.container.firstChild; null != a;) g = a.cloneNode(!0), b.body.appendChild(g), a = a.nextSibling;
- a = b.getElementsByTagName("g")[0];
- null != a && (a.setAttribute("transform", "translate(" + c + "," + d + ")"), c = a.ownerSVGElement, c.setAttribute("width", e.width + Math.max(e.x, 0) + 3), c.setAttribute("height", e.height +
- Math.max(e.y, 0) + 3))
- }
- mxUtils.removeCursors(b.body);
- return b
- },
- printScreen: function(a) {
- var b = window.open();
- mxUtils.show(a, b.document);
- a = function() {
- b.focus();
- b.print();
- b.close()
- };
- mxClient.IS_GC ? b.setTimeout(a, 500) : a()
- },
- popup: function(a, b) {
- if (b) {
- var c = document.createElement("div");
- c.style.overflow = "scroll";
- c.style.width = "636px";
- c.style.height = "460px";
- var d = document.createElement("pre");
- d.innerHTML = mxUtils.htmlEntities(a, !1).replace(/\n/g, "\x3cbr\x3e").replace(/ /g, "\x26nbsp;");
- c.appendChild(d);
- c = new mxWindow("Popup Window", c, document.body.clientWidth / 2 - 320, (document.body.clientHeight || document.documentElement.clientHeight) /
- 2 - 240, 640, 480, !1, !0);
- c.setClosable(!0);
- c.setVisible(!0)
- } else mxClient.IS_NS ? (c = window.open(), c.document.writeln("\x3cpre\x3e" + mxUtils.htmlEntities(a) + "\x3c/pre"), c.document.close()) : (c = window.open(), d = c.document.createElement(
- "pre"), d.innerHTML = mxUtils.htmlEntities(a, !1).replace(/\n/g, "\x3cbr\x3e").replace(/ /g, "\x26nbsp;"), c.document.body.appendChild(d))
- },
- alert: function(a) {
- alert(a)
- },
- prompt: function(a, b) {
- return prompt(a, b)
- },
- confirm: function(a) {
- return confirm(a)
- },
- error: function(a, b, c, d) {
- var e = document.createElement("div");
- e.style.padding = "20px";
- var f = document.createElement("img");
- f.setAttribute("src", d || mxUtils.errorImage);
- f.setAttribute("valign", "bottom");
- f.style.verticalAlign = "middle";
- e.appendChild(f);
- e.appendChild(document.createTextNode("\u00a0"));
- e.appendChild(document.createTextNode("\u00a0"));
- e.appendChild(document.createTextNode("\u00a0"));
- mxUtils.write(e, a);
- a = document.body.clientWidth;
- d = document.body.clientHeight || document.documentElement.clientHeight;
- var g = new mxWindow(mxResources.get(mxUtils.errorResource) ||
- mxUtils.errorResource, e, (a - b) / 2, d / 4, b, null, !1, !0);
- c && (mxUtils.br(e), b = document.createElement("p"), c = document.createElement("button"), mxClient.IS_IE ? c.style.cssText = "float:right" : c.setAttribute("style", "float:right"), mxEvent.addListener(
- c, "click",
- function(a) {
- g.destroy()
- }), mxUtils.write(c, mxResources.get(mxUtils.closeResource) || mxUtils.closeResource), b.appendChild(c), e.appendChild(b), mxUtils.br(e), g.setClosable(!0));
- g.setVisible(!0);
- return g
- },
- makeDraggable: function(a, b, c, d, e, f, g, h, k, l) {
- a = new mxDragSource(a,
- c);
- a.dragOffset = new mxPoint(null != e ? e : 0, null != f ? f : mxConstants.TOOLTIP_VERTICAL_OFFSET);
- a.autoscroll = g;
- a.setGuidesEnabled(!1);
- null != k && (a.highlightDropTargets = k);
- null != l && (a.getDropTarget = l);
- a.getGraphForEvent = function(a) {
- return "function" == typeof b ? b(a) : b
- };
- null != d && (a.createDragElement = function() {
- return d.cloneNode(!0)
- }, h && (a.createPreviewElement = function(a) {
- var b = d.cloneNode(!0),
- c = parseInt(b.style.width),
- e = parseInt(b.style.height);
- b.style.width = Math.round(c * a.view.scale) + "px";
- b.style.height = Math.round(e *
- a.view.scale) + "px";
- return b
- }));
- return a
- }
- },
- mxConstants = {
- DEFAULT_HOTSPOT: 0.3,
- MIN_HOTSPOT_SIZE: 8,
- MAX_HOTSPOT_SIZE: 0,
- RENDERING_HINT_EXACT: "exact",
- RENDERING_HINT_FASTER: "faster",
- RENDERING_HINT_FASTEST: "fastest",
- DIALECT_SVG: "svg",
- DIALECT_VML: "vml",
- DIALECT_MIXEDHTML: "mixedHtml",
- DIALECT_PREFERHTML: "preferHtml",
- DIALECT_STRICTHTML: "strictHtml",
- NS_SVG: "http://www.w3.org/2000/svg",
- NS_XHTML: "http://www.w3.org/1999/xhtml",
- NS_XLINK: "http://www.w3.org/1999/xlink",
- SHADOWCOLOR: "gray",
- SHADOW_OFFSET_X: 2,
- SHADOW_OFFSET_Y: 3,
- SHADOW_OPACITY: 1,
- NODETYPE_ELEMENT: 1,
- NODETYPE_ATTRIBUTE: 2,
- NODETYPE_TEXT: 3,
- NODETYPE_CDATA: 4,
- NODETYPE_ENTITY_REFERENCE: 5,
- NODETYPE_ENTITY: 6,
- NODETYPE_PROCESSING_INSTRUCTION: 7,
- NODETYPE_COMMENT: 8,
- NODETYPE_DOCUMENT: 9,
- NODETYPE_DOCUMENTTYPE: 10,
- NODETYPE_DOCUMENT_FRAGMENT: 11,
- NODETYPE_NOTATION: 12,
- TOOLTIP_VERTICAL_OFFSET: 16,
- DEFAULT_VALID_COLOR: "#00FF00",
- DEFAULT_INVALID_COLOR: "#FF0000",
- HIGHLIGHT_STROKEWIDTH: 3,
- CURSOR_MOVABLE_VERTEX: "move",
- CURSOR_MOVABLE_EDGE: "move",
- CURSOR_LABEL_HANDLE: "default",
- CURSOR_BEND_HANDLE: "pointer",
- CURSOR_CONNECT: "pointer",
- HIGHLIGHT_COLOR: "#00FF00",
- CONNECT_TARGET_COLOR: "#0000FF",
- INVALID_CONNECT_TARGET_COLOR: "#FF0000",
- DROP_TARGET_COLOR: "#0000FF",
- VALID_COLOR: "#00FF00",
- INVALID_COLOR: "#FF0000",
- EDGE_SELECTION_COLOR: "#00FF00",
- VERTEX_SELECTION_COLOR: "#00FF00",
- VERTEX_SELECTION_STROKEWIDTH: 1,
- EDGE_SELECTION_STROKEWIDTH: 1,
- VERTEX_SELECTION_DASHED: !0,
- EDGE_SELECTION_DASHED: !0,
- GUIDE_COLOR: "#FF0000",
- GUIDE_STROKEWIDTH: 1,
- OUTLINE_COLOR: "#0099FF",
- OUTLINE_STROKEWIDTH: mxClient.IS_IE ? 2 : 3,
- HANDLE_SIZE: 7,
- LABEL_HANDLE_SIZE: 4,
- HANDLE_FILLCOLOR: "#00FF00",
- HANDLE_STROKECOLOR: "black",
- LABEL_HANDLE_FILLCOLOR: "yellow",
- CONNECT_HANDLE_FILLCOLOR: "#0000FF",
- LOCKED_HANDLE_FILLCOLOR: "#FF0000",
- OUTLINE_HANDLE_FILLCOLOR: "#00FFFF",
- OUTLINE_HANDLE_STROKECOLOR: "#0033FF",
- DEFAULT_FONTFAMILY: "Arial,Helvetica",
- DEFAULT_FONTSIZE: 11,
- LINE_HEIGHT: 1.2,
- DEFAULT_FONTSTYLE: 0,
- DEFAULT_STARTSIZE: 40,
- DEFAULT_MARKERSIZE: 6,
- DEFAULT_IMAGESIZE: 24,
- ENTITY_SEGMENT: 30,
- RECTANGLE_ROUNDING_FACTOR: 0.15,
- LINE_ARCSIZE: 20,
- ARROW_SPACING: 10,
- ARROW_WIDTH: 30,
- ARROW_SIZE: 30,
- PAGE_FORMAT_A4_PORTRAIT: new mxRectangle(0,
- 0, 826, 1169),
- PAGE_FORMAT_A4_LANDSCAPE: new mxRectangle(0, 0, 1169, 826),
- PAGE_FORMAT_LETTER_PORTRAIT: new mxRectangle(0, 0, 850, 1100),
- PAGE_FORMAT_LETTER_LANDSCAPE: new mxRectangle(0, 0, 1100, 850),
- NONE: "none",
- STYLE_PERIMETER: "perimeter",
- STYLE_SOURCE_PORT: "sourcePort",
- STYLE_TARGET_PORT: "targetPort",
- STYLE_PORT_CONSTRAINT: "portConstraint",
- STYLE_OPACITY: "opacity",
- STYLE_TEXT_OPACITY: "textOpacity",
- STYLE_OVERFLOW: "overflow",
- STYLE_ORTHOGONAL: "orthogonal",
- STYLE_EXIT_X: "exitX",
- STYLE_EXIT_Y: "exitY",
- STYLE_EXIT_PERIMETER: "exitPerimeter",
- STYLE_ENTRY_X: "entryX",
- STYLE_ENTRY_Y: "entryY",
- STYLE_ENTRY_PERIMETER: "entryPerimeter",
- STYLE_WHITE_SPACE: "whiteSpace",
- STYLE_ROTATION: "rotation",
- STYLE_FILLCOLOR: "fillColor",
- STYLE_SWIMLANE_FILLCOLOR: "swimlaneFillColor",
- STYLE_GRADIENTCOLOR: "gradientColor",
- STYLE_GRADIENT_DIRECTION: "gradientDirection",
- STYLE_STROKECOLOR: "strokeColor",
- STYLE_SEPARATORCOLOR: "separatorColor",
- STYLE_STROKEWIDTH: "strokeWidth",
- STYLE_ALIGN: "align",
- STYLE_VERTICAL_ALIGN: "verticalAlign",
- STYLE_LABEL_POSITION: "labelPosition",
- STYLE_VERTICAL_LABEL_POSITION: "verticalLabelPosition",
- STYLE_IMAGE_ASPECT: "imageAspect",
- STYLE_IMAGE_ALIGN: "imageAlign",
- STYLE_IMAGE_VERTICAL_ALIGN: "imageVerticalAlign",
- STYLE_GLASS: "glass",
- STYLE_IMAGE: "image",
- STYLE_IMAGE_WIDTH: "imageWidth",
- STYLE_IMAGE_HEIGHT: "imageHeight",
- STYLE_IMAGE_BACKGROUND: "imageBackground",
- STYLE_IMAGE_BORDER: "imageBorder",
- STYLE_FLIPH: "flipH",
- STYLE_FLIPV: "flipV",
- STYLE_NOLABEL: "noLabel",
- STYLE_NOEDGESTYLE: "noEdgeStyle",
- STYLE_LABEL_BACKGROUNDCOLOR: "labelBackgroundColor",
- STYLE_LABEL_BORDERCOLOR: "labelBorderColor",
- STYLE_LABEL_PADDING: "labelPadding",
- STYLE_INDICATOR_SHAPE: "indicatorShape",
- STYLE_INDICATOR_IMAGE: "indicatorImage",
- STYLE_INDICATOR_COLOR: "indicatorColor",
- STYLE_INDICATOR_STROKECOLOR: "indicatorStrokeColor",
- STYLE_INDICATOR_GRADIENTCOLOR: "indicatorGradientColor",
- STYLE_INDICATOR_SPACING: "indicatorSpacing",
- STYLE_INDICATOR_WIDTH: "indicatorWidth",
- STYLE_INDICATOR_HEIGHT: "indicatorHeight",
- STYLE_INDICATOR_DIRECTION: "indicatorDirection",
- STYLE_SHADOW: "shadow",
- STYLE_SEGMENT: "segment",
- STYLE_ENDARROW: "endArrow",
- STYLE_STARTARROW: "startArrow",
- STYLE_ENDSIZE: "endSize",
- STYLE_STARTSIZE: "startSize",
- STYLE_SWIMLANE_LINE: "swimlaneLine",
- STYLE_ENDFILL: "endFill",
- STYLE_STARTFILL: "startFill",
- STYLE_DASHED: "dashed",
- STYLE_DASH_PATTERN: "dashPattern",
- STYLE_ROUNDED: "rounded",
- STYLE_CURVED: "curved",
- STYLE_ARCSIZE: "arcSize",
- STYLE_SMOOTH: "smooth",
- STYLE_SOURCE_PERIMETER_SPACING: "sourcePerimeterSpacing",
- STYLE_TARGET_PERIMETER_SPACING: "targetPerimeterSpacing",
- STYLE_PERIMETER_SPACING: "perimeterSpacing",
- STYLE_SPACING: "spacing",
- STYLE_SPACING_TOP: "spacingTop",
- STYLE_SPACING_LEFT: "spacingLeft",
- STYLE_SPACING_BOTTOM: "spacingBottom",
- STYLE_SPACING_RIGHT: "spacingRight",
- STYLE_HORIZONTAL: "horizontal",
- STYLE_DIRECTION: "direction",
- STYLE_ELBOW: "elbow",
- STYLE_FONTCOLOR: "fontColor",
- STYLE_FONTFAMILY: "fontFamily",
- STYLE_FONTSIZE: "fontSize",
- STYLE_FONTSTYLE: "fontStyle",
- STYLE_AUTOSIZE: "autosize",
- STYLE_FOLDABLE: "foldable",
- STYLE_EDITABLE: "editable",
- STYLE_BENDABLE: "bendable",
- STYLE_MOVABLE: "movable",
- STYLE_RESIZABLE: "resizable",
- STYLE_CLONEABLE: "cloneable",
- STYLE_DELETABLE: "deletable",
- STYLE_SHAPE: "shape",
- STYLE_EDGE: "edgeStyle",
- STYLE_LOOP: "loopStyle",
- STYLE_ROUTING_CENTER_X: "routingCenterX",
- STYLE_ROUTING_CENTER_Y: "routingCenterY",
- FONT_BOLD: 1,
- FONT_ITALIC: 2,
- FONT_UNDERLINE: 4,
- FONT_SHADOW: 8,
- SHAPE_RECTANGLE: "rectangle",
- SHAPE_ELLIPSE: "ellipse",
- SHAPE_DOUBLE_ELLIPSE: "doubleEllipse",
- SHAPE_RHOMBUS: "rhombus",
- SHAPE_LINE: "line",
- SHAPE_IMAGE: "image",
- SHAPE_ARROW: "arrow",
- SHAPE_LABEL: "label",
- SHAPE_CYLINDER: "cylinder",
- SHAPE_SWIMLANE: "swimlane",
- SHAPE_CONNECTOR: "connector",
- SHAPE_ACTOR: "actor",
- SHAPE_CLOUD: "cloud",
- SHAPE_TRIANGLE: "triangle",
- SHAPE_HEXAGON: "hexagon",
- ARROW_CLASSIC: "classic",
- ARROW_BLOCK: "block",
- ARROW_OPEN: "open",
- ARROW_OVAL: "oval",
- ARROW_DIAMOND: "diamond",
- ARROW_DIAMOND_THIN: "diamondThin",
- ALIGN_LEFT: "left",
- ALIGN_CENTER: "center",
- ALIGN_RIGHT: "right",
- ALIGN_TOP: "top",
- ALIGN_MIDDLE: "middle",
- ALIGN_BOTTOM: "bottom",
- DIRECTION_NORTH: "north",
- DIRECTION_SOUTH: "south",
- DIRECTION_EAST: "east",
- DIRECTION_WEST: "west",
- DIRECTION_MASK_NONE: 0,
- DIRECTION_MASK_WEST: 1,
- DIRECTION_MASK_NORTH: 2,
- DIRECTION_MASK_SOUTH: 4,
- DIRECTION_MASK_EAST: 8,
- DIRECTION_MASK_ALL: 15,
- ELBOW_VERTICAL: "vertical",
- ELBOW_HORIZONTAL: "horizontal",
- EDGESTYLE_ELBOW: "elbowEdgeStyle",
- EDGESTYLE_ENTITY_RELATION: "entityRelationEdgeStyle",
- EDGESTYLE_LOOP: "loopEdgeStyle",
- EDGESTYLE_SIDETOSIDE: "sideToSideEdgeStyle",
- EDGESTYLE_TOPTOBOTTOM: "topToBottomEdgeStyle",
- EDGESTYLE_ORTHOGONAL: "orthogonalEdgeStyle",
- EDGESTYLE_SEGMENT: "segmentEdgeStyle",
- PERIMETER_ELLIPSE: "ellipsePerimeter",
- PERIMETER_RECTANGLE: "rectanglePerimeter",
- PERIMETER_RHOMBUS: "rhombusPerimeter",
- PERIMETER_TRIANGLE: "trianglePerimeter"
- };
-
-function mxEventObject(a) {
- this.name = a;
- this.properties = [];
- for (var b = 1; b < arguments.length; b += 2) null != arguments[b + 1] && (this.properties[arguments[b]] = arguments[b + 1])
-}
-mxEventObject.prototype.name = null;
-mxEventObject.prototype.properties = null;
-mxEventObject.prototype.consumed = !1;
-mxEventObject.prototype.getName = function() {
- return this.name
-};
-mxEventObject.prototype.getProperties = function() {
- return this.properties
-};
-mxEventObject.prototype.getProperty = function(a) {
- return this.properties[a]
-};
-mxEventObject.prototype.isConsumed = function() {
- return this.consumed
-};
-mxEventObject.prototype.consume = function() {
- this.consumed = !0
-};
-
-function mxMouseEvent(a, b) {
- this.evt = a;
- this.state = b
-}
-mxMouseEvent.prototype.consumed = !1;
-mxMouseEvent.prototype.evt = null;
-mxMouseEvent.prototype.graphX = null;
-mxMouseEvent.prototype.graphY = null;
-mxMouseEvent.prototype.state = null;
-mxMouseEvent.prototype.getEvent = function() {
- return this.evt
-};
-mxMouseEvent.prototype.getSource = function() {
- return mxEvent.getSource(this.evt)
-};
-mxMouseEvent.prototype.isSource = function(a) {
- if (null != a)
- for (var b = this.getSource(); null != b;) {
- if (b == a.node) return !0;
- b = b.parentNode
- }
- return !1
-};
-mxMouseEvent.prototype.getX = function() {
- return mxEvent.getClientX(this.getEvent())
-};
-mxMouseEvent.prototype.getY = function() {
- return mxEvent.getClientY(this.getEvent())
-};
-mxMouseEvent.prototype.getGraphX = function() {
- return this.graphX
-};
-mxMouseEvent.prototype.getGraphY = function() {
- return this.graphY
-};
-mxMouseEvent.prototype.getState = function() {
- return this.state
-};
-mxMouseEvent.prototype.getCell = function() {
- var a = this.getState();
- return null != a ? a.cell : null
-};
-mxMouseEvent.prototype.isPopupTrigger = function() {
- return mxEvent.isPopupTrigger(this.getEvent())
-};
-mxMouseEvent.prototype.isConsumed = function() {
- return this.consumed
-};
-mxMouseEvent.prototype.consume = function(a) {
- (null != a ? a : 1) && this.evt.preventDefault && this.evt.preventDefault();
- this.evt.returnValue = !1;
- this.consumed = !0
-};
-
-function mxEventSource(a) {
- this.setEventSource(a)
-}
-mxEventSource.prototype.eventListeners = null;
-mxEventSource.prototype.eventsEnabled = !0;
-mxEventSource.prototype.eventSource = null;
-mxEventSource.prototype.isEventsEnabled = function() {
- return this.eventsEnabled
-};
-mxEventSource.prototype.setEventsEnabled = function(a) {
- this.eventsEnabled = a
-};
-mxEventSource.prototype.getEventSource = function() {
- return this.eventSource
-};
-mxEventSource.prototype.setEventSource = function(a) {
- this.eventSource = a
-};
-mxEventSource.prototype.addListener = function(a, b) {
- null == this.eventListeners && (this.eventListeners = []);
- this.eventListeners.push(a);
- this.eventListeners.push(b)
-};
-mxEventSource.prototype.removeListener = function(a) {
- if (null != this.eventListeners)
- for (var b = 0; b < this.eventListeners.length;) this.eventListeners[b + 1] == a ? this.eventListeners.splice(b, 2) : b += 2
-};
-mxEventSource.prototype.fireEvent = function(a, b) {
- if (null != this.eventListeners && this.isEventsEnabled()) {
- null == a && (a = new mxEventObject);
- null == b && (b = this.getEventSource());
- null == b && (b = this);
- for (var c = [b, a], d = 0; d < this.eventListeners.length; d += 2) {
- var e = this.eventListeners[d];
- (null == e || e == a.getName()) && this.eventListeners[d + 1].apply(this, c)
- }
- }
-};
-var mxEvent = {
- objects: [],
- addListener: function() {
- var a = function(a, c, d) {
- null == a.mxListenerList && (a.mxListenerList = [], mxEvent.objects.push(a));
- a.mxListenerList.push({
- name: c,
- f: d
- })
- };
- return window.addEventListener ? function(b, c, d) {
- b.addEventListener(c, d, !1);
- a(b, c, d)
- } : function(b, c, d) {
- b.attachEvent("on" + c, d);
- a(b, c, d)
- }
- }(),
- removeListener: function() {
- var a = function(a, c, d) {
- if (null != a.mxListenerList) {
- c = a.mxListenerList.length;
- for (var e = 0; e < c; e++)
- if (a.mxListenerList[e].f == d) {
- a.mxListenerList.splice(e, 1);
- break
- }
- 0 ==
- a.mxListenerList.length && (a.mxListenerList = null)
- }
- };
- return window.removeEventListener ? function(b, c, d) {
- b.removeEventListener(c, d, !1);
- a(b, c, d)
- } : function(b, c, d) {
- b.detachEvent("on" + c, d);
- a(b, c, d)
- }
- }(),
- removeAllListeners: function(a) {
- var b = a.mxListenerList;
- if (null != b)
- for (; 0 < b.length;) {
- var c = b[0];
- mxEvent.removeListener(a, c.name, c.f)
- }
- },
- addGestureListeners: function(a, b, c, d) {
- null != b && mxEvent.addListener(a, "mousedown", b);
- null != c && mxEvent.addListener(a, "mousemove", c);
- null != d && mxEvent.addListener(a, "mouseup", d);
- mxClient.IS_TOUCH && (null != b && mxEvent.addListener(a, "touchstart", b), null != c && mxEvent.addListener(a, "touchmove", c), null != d && mxEvent.addListener(a, "touchend", d))
- },
- removeGestureListeners: function(a, b, c, d) {
- null != b && mxEvent.removeListener(a, "mousedown", b);
- null != c && mxEvent.removeListener(a, "mousemove", c);
- null != d && mxEvent.removeListener(a, "mouseup", d);
- mxClient.IS_TOUCH && (null != b && mxEvent.removeListener(a, "touchstart", b), null != c && mxEvent.removeListener(a, "touchmove", c), null != d && mxEvent.removeListener(a, "touchend",
- d))
- },
- redirectMouseEvents: function(a, b, c, d, e, f, g) {
- var h = function(a) {
- return "function" == typeof c ? c(a) : c
- };
- mxEvent.addGestureListeners(a, function(a) {
- null != d ? d(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, h(a)))
- }, function(a) {
- null != e ? e(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a, h(a)))
- }, function(a) {
- null != f ? f(a) : mxEvent.isConsumed(a) || b.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(a, h(a)))
- });
- mxEvent.addListener(a, "dblclick", function(a) {
- if (null !=
- g) g(a);
- else if (!mxEvent.isConsumed(a)) {
- var c = h(a);
- b.dblClick(a, null != c ? c.cell : null)
- }
- })
- },
- release: function(a) {
- if (null != a && (mxEvent.removeAllListeners(a), a = a.childNodes, null != a))
- for (var b = a.length, c = 0; c < b; c += 1) mxEvent.release(a[c])
- },
- addMouseWheelListener: function(a) {
- if (null != a) {
- var b = function(b) {
- null == b && (b = window.event);
- var d = 0,
- d = mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC ? -b.detail / 2 : b.wheelDelta / 120;
- 0 != d && a(b, 0 < d)
- };
- mxClient.IS_NS ? mxEvent.addListener(window, mxClient.IS_SF || mxClient.IS_GC ? "mousewheel" :
- "DOMMouseScroll", b) : mxEvent.addListener(document, "mousewheel", b)
- }
- },
- disableContextMenu: function() {
- return mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? function(a) {
- mxEvent.addListener(a, "contextmenu", function() {
- return !1
- })
- } : function(a) {
- a.setAttribute("oncontextmenu", "return false;")
- }
- }(),
- getSource: function(a) {
- return null != a.srcElement ? a.srcElement : a.target
- },
- isConsumed: function(a) {
- return null != a.isConsumed && a.isConsumed
- },
- isLeftMouseButton: function(a) {
- return a.button ==
- (mxClient.IS_IE && ("undefined" === typeof document.documentMode || 9 > document.documentMode) ? 1 : 0)
- },
- isRightMouseButton: function(a) {
- return 2 == a.button
- },
- isPopupTrigger: function(a) {
- return mxEvent.isRightMouseButton(a) || mxEvent.isShiftDown(a) && !mxEvent.isControlDown(a)
- },
- isShiftDown: function(a) {
- return null != a ? a.shiftKey : !1
- },
- isAltDown: function(a) {
- return null != a ? a.altKey : !1
- },
- isControlDown: function(a) {
- return null != a ? a.ctrlKey : !1
- },
- isMetaDown: function(a) {
- return null != a ? a.metaKey : !1
- },
- getMainEvent: function(a) {
- ("touchstart" ==
- a.type || "touchmove" == a.type) && null != a.touches && null != a.touches[0] ? a = a.touches[0] : "touchend" == a.type && (null != a.changedTouches && null != a.changedTouches[0]) && (a =
- a.changedTouches[0]);
- return a
- },
- getClientX: function(a) {
- return mxEvent.getMainEvent(a).clientX
- },
- getClientY: function(a) {
- return mxEvent.getMainEvent(a).clientY
- },
- consume: function(a, b, c) {
- c = null != c ? c : !0;
- if (null != b ? b : 1) a.preventDefault ? (c && a.stopPropagation(), a.preventDefault()) : c && (a.cancelBubble = !0);
- a.isConsumed = !0;
- a.returnValue = !1
- },
- LABEL_HANDLE: -1,
- ROTATION_HANDLE: -2,
- MOUSE_DOWN: "mouseDown",
- MOUSE_MOVE: "mouseMove",
- MOUSE_UP: "mouseUp",
- ACTIVATE: "activate",
- RESIZE_START: "resizeStart",
- RESIZE: "resize",
- RESIZE_END: "resizeEnd",
- MOVE_START: "moveStart",
- MOVE: "move",
- MOVE_END: "moveEnd",
- PAN_START: "panStart",
- PAN: "pan",
- PAN_END: "panEnd",
- MINIMIZE: "minimize",
- NORMALIZE: "normalize",
- MAXIMIZE: "maximize",
- HIDE: "hide",
- SHOW: "show",
- CLOSE: "close",
- DESTROY: "destroy",
- REFRESH: "refresh",
- SIZE: "size",
- SELECT: "select",
- FIRED: "fired",
- GET: "get",
- RECEIVE: "receive",
- CONNECT: "connect",
- DISCONNECT: "disconnect",
- SUSPEND: "suspend",
- RESUME: "resume",
- MARK: "mark",
- SESSION: "session",
- ROOT: "root",
- POST: "post",
- OPEN: "open",
- SAVE: "save",
- BEFORE_ADD_VERTEX: "beforeAddVertex",
- ADD_VERTEX: "addVertex",
- AFTER_ADD_VERTEX: "afterAddVertex",
- DONE: "done",
- EXECUTE: "execute",
- EXECUTED: "executed",
- BEGIN_UPDATE: "beginUpdate",
- START_EDIT: "startEdit",
- END_UPDATE: "endUpdate",
- END_EDIT: "endEdit",
- BEFORE_UNDO: "beforeUndo",
- UNDO: "undo",
- REDO: "redo",
- CHANGE: "change",
- NOTIFY: "notify",
- LAYOUT_CELLS: "layoutCells",
- CLICK: "click",
- SCALE: "scale",
- TRANSLATE: "translate",
- SCALE_AND_TRANSLATE: "scaleAndTranslate",
- UP: "up",
- DOWN: "down",
- ADD: "add",
- REMOVE: "remove",
- CLEAR: "clear",
- ADD_CELLS: "addCells",
- CELLS_ADDED: "cellsAdded",
- MOVE_CELLS: "moveCells",
- CELLS_MOVED: "cellsMoved",
- RESIZE_CELLS: "resizeCells",
- CELLS_RESIZED: "cellsResized",
- TOGGLE_CELLS: "toggleCells",
- CELLS_TOGGLED: "cellsToggled",
- ORDER_CELLS: "orderCells",
- CELLS_ORDERED: "cellsOrdered",
- REMOVE_CELLS: "removeCells",
- CELLS_REMOVED: "cellsRemoved",
- GROUP_CELLS: "groupCells",
- UNGROUP_CELLS: "ungroupCells",
- REMOVE_CELLS_FROM_PARENT: "removeCellsFromParent",
- FOLD_CELLS: "foldCells",
- CELLS_FOLDED: "cellsFolded",
- ALIGN_CELLS: "alignCells",
- LABEL_CHANGED: "labelChanged",
- CONNECT_CELL: "connectCell",
- CELL_CONNECTED: "cellConnected",
- SPLIT_EDGE: "splitEdge",
- FLIP_EDGE: "flipEdge",
- START_EDITING: "startEditing",
- ADD_OVERLAY: "addOverlay",
- REMOVE_OVERLAY: "removeOverlay",
- UPDATE_CELL_SIZE: "updateCellSize",
- ESCAPE: "escape",
- CLICK: "click",
- DOUBLE_CLICK: "doubleClick",
- START: "start",
- RESET: "reset"
-};
-
-function mxXmlRequest(a, b, c, d, e, f) {
- this.url = a;
- this.params = b;
- this.method = c || "POST";
- this.async = null != d ? d : !0;
- this.username = e;
- this.password = f
-}
-mxXmlRequest.prototype.url = null;
-mxXmlRequest.prototype.params = null;
-mxXmlRequest.prototype.method = null;
-mxXmlRequest.prototype.async = null;
-mxXmlRequest.prototype.binary = !1;
-mxXmlRequest.prototype.username = null;
-mxXmlRequest.prototype.password = null;
-mxXmlRequest.prototype.request = null;
-mxXmlRequest.prototype.isBinary = function() {
- return this.binary
-};
-mxXmlRequest.prototype.setBinary = function(a) {
- this.binary = a
-};
-mxXmlRequest.prototype.getText = function() {
- return this.request.responseText
-};
-mxXmlRequest.prototype.isReady = function() {
- return 4 == this.request.readyState
-};
-mxXmlRequest.prototype.getDocumentElement = function() {
- var a = this.getXml();
- return null != a ? a.documentElement : null
-};
-mxXmlRequest.prototype.getXml = function() {
- var a = this.request.responseXML;
- if (9 <= document.documentMode || null == a || null == a.documentElement) a = mxUtils.parseXml(this.request.responseText);
- return a
-};
-mxXmlRequest.prototype.getText = function() {
- return this.request.responseText
-};
-mxXmlRequest.prototype.getStatus = function() {
- return this.request.status
-};
-mxXmlRequest.prototype.create = function() {
- if (window.XMLHttpRequest) return function() {
- var a = new XMLHttpRequest;
- this.isBinary() && a.overrideMimeType && a.overrideMimeType("text/plain; charset\x3dx-user-defined");
- return a
- };
- if ("undefined" != typeof ActiveXObject) return function() {
- return new ActiveXObject("Microsoft.XMLHTTP")
- }
-}();
-mxXmlRequest.prototype.send = function(a, b) {
- this.request = this.create();
- null != this.request && (null != a && (this.request.onreadystatechange = mxUtils.bind(this, function() {
- this.isReady() && (a(this), this.onreadystatechaange = null)
- })), this.request.open(this.method, this.url, this.async, this.username, this.password), this.setRequestHeaders(this.request, this.params), this.request.send(this.params))
-};
-mxXmlRequest.prototype.setRequestHeaders = function(a, b) {
- null != b && a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
-};
-mxXmlRequest.prototype.simulate = function(a, b) {
- a = a || document;
- var c = null;
- a == document && (c = window.onbeforeunload, window.onbeforeunload = null);
- var d = a.createElement("form");
- d.setAttribute("method", this.method);
- d.setAttribute("action", this.url);
- null != b && d.setAttribute("target", b);
- d.style.display = "none";
- d.style.visibility = "hidden";
- for (var e = 0 < this.params.indexOf("\x26") ? this.params.split("\x26") : this.params.split(), f = 0; f < e.length; f++) {
- var g = e[f].indexOf("\x3d");
- if (0 < g) {
- var h = e[f].substring(0, g),
- k = e[f].substring(g +
- 1),
- g = a.createElement("textarea");
- g.setAttribute("name", h);
- k = k.replace(/\n/g, "\x26#xa;");
- h = a.createTextNode(k);
- g.appendChild(h);
- d.appendChild(g)
- }
- }
- a.body.appendChild(d);
- d.submit();
- a.body.removeChild(d);
- null != c && (window.onbeforeunload = c)
-};
-var mxClipboard = {
- STEPSIZE: 10,
- insertCount: 1,
- cells: null,
- isEmpty: function() {
- return null == mxClipboard.cells
- },
- cut: function(a, b) {
- b = mxClipboard.copy(a, b);
- mxClipboard.insertCount = 0;
- mxClipboard.removeCells(a, b);
- return b
- },
- removeCells: function(a, b) {
- a.removeCells(b)
- },
- copy: function(a, b) {
- b = b || a.getSelectionCells();
- var c = a.getExportableCells(b);
- mxClipboard.insertCount = 1;
- mxClipboard.cells = a.cloneCells(c);
- return c
- },
- paste: function(a) {
- if (null != mxClipboard.cells) {
- var b = a.getImportableCells(mxClipboard.cells),
- c = mxClipboard.insertCount *
- mxClipboard.STEPSIZE,
- d = a.getDefaultParent(),
- b = a.importCells(b, c, c, d);
- mxClipboard.insertCount++;
- a.setSelectionCells(b)
- }
- }
-};
-
-function mxWindow(a, b, c, d, e, f, g, h, k, l) {
- null != b && (g = null != g ? g : !0, this.content = b, this.init(c, d, e, f, l), this.installMaximizeHandler(), this.installMinimizeHandler(), this.installCloseHandler(), this.setMinimizable(g),
- this.setTitle(a), (null == h || h) && this.installMoveHandler(), null != k && null != k.parentNode ? k.parentNode.replaceChild(this.div, k) : document.body.appendChild(this.div))
-}
-mxWindow.prototype = new mxEventSource;
-mxWindow.prototype.constructor = mxWindow;
-mxWindow.prototype.closeImage = mxClient.imageBasePath + "/close.gif";
-mxWindow.prototype.minimizeImage = mxClient.imageBasePath + "/minimize.gif";
-mxWindow.prototype.normalizeImage = mxClient.imageBasePath + "/normalize.gif";
-mxWindow.prototype.maximizeImage = mxClient.imageBasePath + "/maximize.gif";
-mxWindow.prototype.resizeImage = mxClient.imageBasePath + "/resize.gif";
-mxWindow.prototype.visible = !1;
-mxWindow.prototype.content = !1;
-mxWindow.prototype.minimumSize = new mxRectangle(0, 0, 50, 40);
-mxWindow.prototype.title = !1;
-mxWindow.prototype.content = !1;
-mxWindow.prototype.destroyOnClose = !0;
-mxWindow.prototype.init = function(a, b, c, d, e) {
- e = null != e ? e : "mxWindow";
- this.div = document.createElement("div");
- this.div.className = e;
- this.div.style.left = a + "px";
- this.div.style.top = b + "px";
- this.table = document.createElement("table");
- this.table.className = e;
- null != c && (mxClient.IS_IE || (this.div.style.width = c + "px"), this.table.style.width = c + "px");
- null != d && (mxClient.IS_IE || (this.div.style.height = d + "px"), this.table.style.height = d + "px");
- a = document.createElement("tbody");
- b = document.createElement("tr");
- this.title = document.createElement("td");
- this.title.className = e + "Title";
- b.appendChild(this.title);
- a.appendChild(b);
- b = document.createElement("tr");
- this.td = document.createElement("td");
- this.td.className = e + "Pane";
- this.contentWrapper = document.createElement("div");
- this.contentWrapper.className = e + "Pane";
- this.contentWrapper.style.width = "100%";
- this.contentWrapper.appendChild(this.content);
- if (mxClient.IS_IE || "DIV" != this.content.nodeName.toUpperCase()) this.contentWrapper.style.height = "100%";
- this.td.appendChild(this.contentWrapper);
- b.appendChild(this.td);
- a.appendChild(b);
- this.table.appendChild(a);
- this.div.appendChild(this.table);
- e = mxUtils.bind(this, function(a) {
- this.activate()
- });
- mxEvent.addListener(this.title, "mousedown", e);
- mxEvent.addListener(this.table, "mousedown", e);
- mxClient.IS_TOUCH && (mxEvent.addListener(this.title, "touchstart", e), mxEvent.addListener(this.table, "touchstart", e));
- this.hide()
-};
-mxWindow.prototype.setTitle = function(a) {
- for (var b = this.title.firstChild; null != b;) {
- var c = b.nextSibling;
- b.nodeType == mxConstants.NODETYPE_TEXT && b.parentNode.removeChild(b);
- b = c
- }
- mxUtils.write(this.title, a || "")
-};
-mxWindow.prototype.setScrollable = function(a) {
- 0 > navigator.userAgent.indexOf("Presto/2.5") && (this.contentWrapper.style.overflow = a ? "auto" : "hidden")
-};
-mxWindow.prototype.activate = function() {
- if (mxWindow.activeWindow != this) {
- var a = mxUtils.getCurrentStyle(this.getElement()),
- a = null != a ? a.zIndex : 3;
- if (mxWindow.activeWindow) {
- var b = mxWindow.activeWindow.getElement();
- null != b && null != b.style && (b.style.zIndex = a)
- }
- b = mxWindow.activeWindow;
- this.getElement().style.zIndex = parseInt(a) + 1;
- mxWindow.activeWindow = this;
- this.fireEvent(new mxEventObject(mxEvent.ACTIVATE, "previousWindow", b))
- }
-};
-mxWindow.prototype.getElement = function() {
- return this.div
-};
-mxWindow.prototype.fit = function() {
- mxUtils.fit(this.div)
-};
-mxWindow.prototype.isResizable = function() {
- return null != this.resize ? "none" != this.resize.style.display : !1
-};
-mxWindow.prototype.setResizable = function(a) {
- a ? null == this.resize ? (this.resize = document.createElement("img"), this.resize.style.position = "absolute", this.resize.style.bottom = "2px", this.resize.style.right = "2px", this.resize.setAttribute(
- "src", mxClient.imageBasePath + "/resize.gif"), this.resize.style.cursor = "nw-resize", mxEvent.addGestureListeners(this.resize, mxUtils.bind(this, function(a) {
- this.activate();
- var c = mxEvent.getClientX(a),
- d = mxEvent.getClientY(a),
- e = this.div.offsetWidth,
- f = this.div.offsetHeight,
- g = mxUtils.bind(this,
- function(a) {
- var b = mxEvent.getClientX(a) - c,
- g = mxEvent.getClientY(a) - d;
- this.setSize(e + b, f + g);
- this.fireEvent(new mxEventObject(mxEvent.RESIZE, "event", a));
- mxEvent.consume(a)
- }),
- h = mxUtils.bind(this, function(a) {
- mxEvent.removeGestureListeners(document, null, g, h);
- this.fireEvent(new mxEventObject(mxEvent.RESIZE_END, "event", a));
- mxEvent.consume(a)
- });
- mxEvent.addGestureListeners(document, null, g, h);
- this.fireEvent(new mxEventObject(mxEvent.RESIZE_START, "event", a));
- mxEvent.consume(a)
- }), null, null), this.div.appendChild(this.resize)) :
- this.resize.style.display = "inline" : null != this.resize && (this.resize.style.display = "none")
-};
-mxWindow.prototype.setSize = function(a, b) {
- a = Math.max(this.minimumSize.width, a);
- b = Math.max(this.minimumSize.height, b);
- mxClient.IS_IE || (this.div.style.width = a + "px", this.div.style.height = b + "px");
- this.table.style.width = a + "px";
- this.table.style.height = b + "px";
- mxClient.IS_IE || (this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight - 2 + "px")
-};
-mxWindow.prototype.setMinimizable = function(a) {
- this.minimize.style.display = a ? "" : "none"
-};
-mxWindow.prototype.getMinimumSize = function() {
- return new mxRectangle(0, 0, 0, this.title.offsetHeight)
-};
-mxWindow.prototype.installMinimizeHandler = function() {
- this.minimize = document.createElement("img");
- this.minimize.setAttribute("src", this.minimizeImage);
- this.minimize.setAttribute("align", "right");
- this.minimize.setAttribute("title", "Minimize");
- this.minimize.style.cursor = "pointer";
- this.minimize.style.marginRight = "1px";
- this.minimize.style.display = "none";
- this.title.appendChild(this.minimize);
- var a = !1,
- b = null,
- c = null,
- d = mxUtils.bind(this, function(d) {
- this.activate();
- if (a) a = !1, this.minimize.setAttribute("src",
- this.minimizeImage), this.minimize.setAttribute("title", "Minimize"), this.contentWrapper.style.display = "", this.maximize.style.display = b, mxClient.IS_IE || (this.div.style.height =
- c), this.table.style.height = c, null != this.resize && (this.resize.style.visibility = ""), this.fireEvent(new mxEventObject(mxEvent.NORMALIZE, "event", d));
- else {
- a = !0;
- this.minimize.setAttribute("src", this.normalizeImage);
- this.minimize.setAttribute("title", "Normalize");
- this.contentWrapper.style.display = "none";
- b = this.maximize.style.display;
- this.maximize.style.display = "none";
- c = this.table.style.height;
- var f = this.getMinimumSize();
- 0 < f.height && (mxClient.IS_IE || (this.div.style.height = f.height + "px"), this.table.style.height = f.height + "px");
- 0 < f.width && (mxClient.IS_IE || (this.div.style.width = f.width + "px"), this.table.style.width = f.width + "px");
- null != this.resize && (this.resize.style.visibility = "hidden");
- this.fireEvent(new mxEventObject(mxEvent.MINIMIZE, "event", d))
- }
- mxEvent.consume(d)
- });
- mxEvent.addListener(this.minimize, "mousedown", d);
- mxClient.IS_TOUCH &&
- mxEvent.addListener(this.minimize, "touchstart", d)
-};
-mxWindow.prototype.setMaximizable = function(a) {
- this.maximize.style.display = a ? "" : "none"
-};
-mxWindow.prototype.installMaximizeHandler = function() {
- this.maximize = document.createElement("img");
- this.maximize.setAttribute("src", this.maximizeImage);
- this.maximize.setAttribute("align", "right");
- this.maximize.setAttribute("title", "Maximize");
- this.maximize.style.cursor = "default";
- this.maximize.style.marginLeft = "1px";
- this.maximize.style.cursor = "pointer";
- this.maximize.style.display = "none";
- this.title.appendChild(this.maximize);
- var a = !1,
- b = null,
- c = null,
- d = null,
- e = null,
- f = mxUtils.bind(this, function(f) {
- this.activate();
- if ("none" != this.maximize.style.display) {
- if (a) {
- a = !1;
- this.maximize.setAttribute("src", this.maximizeImage);
- this.maximize.setAttribute("title", "Maximize");
- this.contentWrapper.style.display = "";
- this.minimize.style.visibility = "";
- this.div.style.left = b + "px";
- this.div.style.top = c + "px";
- if (!mxClient.IS_IE && (this.div.style.height = d, this.div.style.width = e, h = mxUtils.getCurrentStyle(this.contentWrapper), "auto" == h.overflow || null != this.resize)) this.contentWrapper
- .style.height = this.div.offsetHeight - this.title.offsetHeight -
- 2 + "px";
- this.table.style.height = d;
- this.table.style.width = e;
- null != this.resize && (this.resize.style.visibility = "");
- this.fireEvent(new mxEventObject(mxEvent.NORMALIZE, "event", f))
- } else {
- a = !0;
- this.maximize.setAttribute("src", this.normalizeImage);
- this.maximize.setAttribute("title", "Normalize");
- this.contentWrapper.style.display = "";
- this.minimize.style.visibility = "hidden";
- b = parseInt(this.div.style.left);
- c = parseInt(this.div.style.top);
- d = this.table.style.height;
- e = this.table.style.width;
- this.div.style.left = "0px";
- this.div.style.top = "0px";
- mxClient.IS_IE || (this.div.style.height = document.body.clientHeight - 2 + "px", this.div.style.width = document.body.clientWidth - 2 + "px");
- this.table.style.width = document.body.clientWidth - 2 + "px";
- this.table.style.height = document.body.clientHeight - 2 + "px";
- null != this.resize && (this.resize.style.visibility = "hidden");
- if (!mxClient.IS_IE) {
- var h = mxUtils.getCurrentStyle(this.contentWrapper);
- if ("auto" == h.overflow || null != this.resize) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight -
- 2 + "px"
- }
- this.fireEvent(new mxEventObject(mxEvent.MAXIMIZE, "event", f))
- }
- mxEvent.consume(f)
- }
- });
- mxEvent.addGestureListeners(this.maximize, f);
- mxEvent.addListener(this.title, "dblclick", f)
-};
-mxWindow.prototype.installMoveHandler = function() {
- this.title.style.cursor = "move";
- mxEvent.addGestureListeners(this.title, mxUtils.bind(this, function(a) {
- var b = mxEvent.getClientX(a),
- c = mxEvent.getClientY(a),
- d = this.getX(),
- e = this.getY(),
- f = mxUtils.bind(this, function(a) {
- var f = mxEvent.getClientX(a) - b,
- g = mxEvent.getClientY(a) - c;
- this.setLocation(d + f, e + g);
- this.fireEvent(new mxEventObject(mxEvent.MOVE, "event", a));
- mxEvent.consume(a)
- }),
- g = mxUtils.bind(this, function(a) {
- mxEvent.removeGestureListeners(document, null, f,
- g);
- this.fireEvent(new mxEventObject(mxEvent.MOVE_END, "event", a));
- mxEvent.consume(a)
- });
- mxEvent.addGestureListeners(document, null, f, g);
- this.fireEvent(new mxEventObject(mxEvent.MOVE_START, "event", a));
- mxEvent.consume(a)
- }))
-};
-mxWindow.prototype.setLocation = function(a, b) {
- this.div.style.left = a + "px";
- this.div.style.top = b + "px"
-};
-mxWindow.prototype.getX = function() {
- return parseInt(this.div.style.left)
-};
-mxWindow.prototype.getY = function() {
- return parseInt(this.div.style.top)
-};
-mxWindow.prototype.installCloseHandler = function() {
- this.closeImg = document.createElement("img");
- this.closeImg.setAttribute("src", this.closeImage);
- this.closeImg.setAttribute("align", "right");
- this.closeImg.setAttribute("title", "Close");
- this.closeImg.style.marginLeft = "2px";
- this.closeImg.style.cursor = "pointer";
- this.closeImg.style.display = "none";
- this.title.insertBefore(this.closeImg, this.title.firstChild);
- mxEvent.addGestureListeners(this.closeImg, mxUtils.bind(this, function(a) {
- this.fireEvent(new mxEventObject(mxEvent.CLOSE,
- "event", a));
- this.destroyOnClose ? this.destroy() : this.setVisible(!1);
- mxEvent.consume(a)
- }))
-};
-mxWindow.prototype.setImage = function(a) {
- this.image = document.createElement("img");
- this.image.setAttribute("src", a);
- this.image.setAttribute("align", "left");
- this.image.style.marginRight = "4px";
- this.image.style.marginLeft = "0px";
- this.image.style.marginTop = "-2px";
- this.title.insertBefore(this.image, this.title.firstChild)
-};
-mxWindow.prototype.setClosable = function(a) {
- this.closeImg.style.display = a ? "" : "none"
-};
-mxWindow.prototype.isVisible = function() {
- return null != this.div ? "hidden" != this.div.style.visibility : !1
-};
-mxWindow.prototype.setVisible = function(a) {
- null != this.div && this.isVisible() != a && (a ? this.show() : this.hide())
-};
-mxWindow.prototype.show = function() {
- this.div.style.visibility = "";
- this.activate();
- var a = mxUtils.getCurrentStyle(this.contentWrapper);
- if (!mxClient.IS_IE && ("auto" == a.overflow || null != this.resize)) this.contentWrapper.style.height = this.div.offsetHeight - this.title.offsetHeight - 2 + "px";
- this.fireEvent(new mxEventObject(mxEvent.SHOW))
-};
-mxWindow.prototype.hide = function() {
- this.div.style.visibility = "hidden";
- this.fireEvent(new mxEventObject(mxEvent.HIDE))
-};
-mxWindow.prototype.destroy = function() {
- this.fireEvent(new mxEventObject(mxEvent.DESTROY));
- null != this.div && (mxEvent.release(this.div), this.div.parentNode.removeChild(this.div), this.div = null);
- this.contentWrapper = this.content = this.title = null
-};
-
-function mxForm(a) {
- this.table = document.createElement("table");
- this.table.className = a;
- this.body = document.createElement("tbody");
- this.table.appendChild(this.body)
-}
-mxForm.prototype.table = null;
-mxForm.prototype.body = !1;
-mxForm.prototype.getTable = function() {
- return this.table
-};
-mxForm.prototype.addButtons = function(a, b) {
- var c = document.createElement("tr"),
- d = document.createElement("td");
- c.appendChild(d);
- var d = document.createElement("td"),
- e = document.createElement("button");
- mxUtils.write(e, mxResources.get("ok") || "OK");
- d.appendChild(e);
- mxEvent.addListener(e, "click", function() {
- a()
- });
- e = document.createElement("button");
- mxUtils.write(e, mxResources.get("cancel") || "Cancel");
- d.appendChild(e);
- mxEvent.addListener(e, "click", function() {
- b()
- });
- c.appendChild(d);
- this.body.appendChild(c)
-};
-mxForm.prototype.addText = function(a, b) {
- var c = document.createElement("input");
- c.setAttribute("type", "text");
- c.value = b;
- return this.addField(a, c)
-};
-mxForm.prototype.addCheckbox = function(a, b) {
- var c = document.createElement("input");
- c.setAttribute("type", "checkbox");
- this.addField(a, c);
- b && (c.checked = !0);
- return c
-};
-mxForm.prototype.addTextarea = function(a, b, c) {
- var d = document.createElement("textarea");
- mxClient.IS_NS && c--;
- d.setAttribute("rows", c || 2);
- d.value = b;
- return this.addField(a, d)
-};
-mxForm.prototype.addCombo = function(a, b, c) {
- var d = document.createElement("select");
- null != c && d.setAttribute("size", c);
- b && d.setAttribute("multiple", "true");
- return this.addField(a, d)
-};
-mxForm.prototype.addOption = function(a, b, c, d) {
- var e = document.createElement("option");
- mxUtils.writeln(e, b);
- e.setAttribute("value", c);
- d && e.setAttribute("selected", d);
- a.appendChild(e)
-};
-mxForm.prototype.addField = function(a, b) {
- var c = document.createElement("tr"),
- d = document.createElement("td");
- mxUtils.write(d, a);
- c.appendChild(d);
- d = document.createElement("td");
- d.appendChild(b);
- c.appendChild(d);
- this.body.appendChild(c);
- return b
-};
-
-function mxImage(a, b, c) {
- this.src = a;
- this.width = b;
- this.height = c
-}
-mxImage.prototype.src = null;
-mxImage.prototype.width = null;
-mxImage.prototype.height = null;
-
-function mxDivResizer(a, b) {
- if ("div" == a.nodeName.toLowerCase()) {
- null == b && (b = window);
- this.div = a;
- var c = mxUtils.getCurrentStyle(a);
- null != c && (this.resizeWidth = "auto" == c.width, this.resizeHeight = "auto" == c.height);
- mxEvent.addListener(b, "resize", mxUtils.bind(this, function(a) {
- this.handlingResize || (this.handlingResize = !0, this.resize(), this.handlingResize = !1)
- }));
- this.resize()
- }
-}
-mxDivResizer.prototype.resizeWidth = !0;
-mxDivResizer.prototype.resizeHeight = !0;
-mxDivResizer.prototype.handlingResize = !1;
-mxDivResizer.prototype.resize = function() {
- var a = this.getDocumentWidth(),
- b = this.getDocumentHeight(),
- c = parseInt(this.div.style.left),
- d = parseInt(this.div.style.right),
- e = parseInt(this.div.style.top),
- f = parseInt(this.div.style.bottom);
- this.resizeWidth && (!isNaN(c) && !isNaN(d) && 0 <= c && 0 <= d && 0 < a - d - c) && (this.div.style.width = a - d - c + "px");
- this.resizeHeight && (!isNaN(e) && !isNaN(f) && 0 <= e && 0 <= f && 0 < b - e - f) && (this.div.style.height = b - e - f + "px")
-};
-mxDivResizer.prototype.getDocumentWidth = function() {
- return document.body.clientWidth
-};
-mxDivResizer.prototype.getDocumentHeight = function() {
- return document.body.clientHeight
-};
-
-function mxDragSource(a, b) {
- this.element = a;
- this.dropHandler = b;
- mxEvent.addGestureListeners(a, mxUtils.bind(this, this.mouseDown))
-}
-mxDragSource.prototype.element = null;
-mxDragSource.prototype.dropHandler = null;
-mxDragSource.prototype.dragOffset = null;
-mxDragSource.prototype.dragElement = null;
-mxDragSource.prototype.previewElement = null;
-mxDragSource.prototype.enabled = !0;
-mxDragSource.prototype.currentGraph = null;
-mxDragSource.prototype.currentDropTarget = null;
-mxDragSource.prototype.currentPoint = null;
-mxDragSource.prototype.currentGuide = null;
-mxDragSource.prototype.currentHighlight = null;
-mxDragSource.prototype.autoscroll = !0;
-mxDragSource.prototype.guidesEnabled = !0;
-mxDragSource.prototype.gridEnabled = !0;
-mxDragSource.prototype.highlightDropTargets = !0;
-mxDragSource.prototype.dragElementZIndex = 100;
-mxDragSource.prototype.dragElementOpacity = 70;
-mxDragSource.prototype.isEnabled = function() {
- return this.enabled
-};
-mxDragSource.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxDragSource.prototype.isGuidesEnabled = function() {
- return this.guidesEnabled
-};
-mxDragSource.prototype.setGuidesEnabled = function(a) {
- this.guidesEnabled = a
-};
-mxDragSource.prototype.isGridEnabled = function() {
- return this.gridEnabled
-};
-mxDragSource.prototype.setGridEnabled = function(a) {
- this.gridEnabled = a
-};
-mxDragSource.prototype.getGraphForEvent = function(a) {
- return null
-};
-mxDragSource.prototype.getDropTarget = function(a, b, c) {
- return a.getCellAt(b, c)
-};
-mxDragSource.prototype.createDragElement = function(a) {
- return this.element.cloneNode(!0)
-};
-mxDragSource.prototype.createPreviewElement = function(a) {
- return null
-};
-mxDragSource.prototype.mouseDown = function(a) {
- this.enabled && (!mxEvent.isConsumed(a) && null == this.mouseMoveHandler) && (this.startDrag(a), this.mouseMoveHandler = mxUtils.bind(this, this.mouseMove), this.mouseUpHandler = mxUtils.bind(
- this, this.mouseUp), mxEvent.addGestureListeners(document, null, this.mouseMoveHandler, this.mouseUpHandler), mxEvent.consume(a, !0, !1))
-};
-mxDragSource.prototype.startDrag = function(a) {
- this.dragElement = this.createDragElement(a);
- this.dragElement.style.position = "absolute";
- this.dragElement.style.zIndex = this.dragElementZIndex;
- mxUtils.setOpacity(this.dragElement, this.dragElementOpacity)
-};
-mxDragSource.prototype.stopDrag = function(a) {
- null != this.dragElement && (null != this.dragElement.parentNode && this.dragElement.parentNode.removeChild(this.dragElement), this.dragElement = null)
-};
-mxDragSource.prototype.graphContainsEvent = function(a, b) {
- var c = mxEvent.getClientX(b),
- d = mxEvent.getClientY(b),
- e = mxUtils.getOffset(a.container),
- f = mxUtils.getScrollOrigin();
- return c >= e.x - f.x && d >= e.y - f.y && c <= e.x - f.x + a.container.offsetWidth && d <= e.y - f.y + a.container.offsetHeight
-};
-mxDragSource.prototype.mouseMove = function(a) {
- var b = this.getGraphForEvent(a);
- null != b && !this.graphContainsEvent(b, a) && (b = null);
- b != this.currentGraph && (null != this.currentGraph && this.dragExit(this.currentGraph), this.currentGraph = b, null != this.currentGraph && this.dragEnter(this.currentGraph));
- null != this.currentGraph && this.dragOver(this.currentGraph, a);
- if (null != this.dragElement && (null == this.previewElement || "visible" != this.previewElement.style.visibility)) {
- var b = mxEvent.getClientX(a),
- c = mxEvent.getClientY(a);
- null == this.dragElement.parentNode && document.body.appendChild(this.dragElement);
- this.dragElement.style.visibility = "visible";
- null != this.dragOffset && (b += this.dragOffset.x, c += this.dragOffset.y);
- b += document.body.scrollLeft || document.documentElement.scrollLeft;
- c += document.body.scrollTop || document.documentElement.scrollTop;
- this.dragElement.style.left = b + "px";
- this.dragElement.style.top = c + "px"
- } else null != this.dragElement && (this.dragElement.style.visibility = "hidden");
- mxEvent.consume(a)
-};
-mxDragSource.prototype.mouseUp = function(a) {
- if (null != this.currentGraph) {
- if (null != this.currentPoint && (null == this.previewElement || "hidden" != this.previewElement.style.visibility)) {
- var b = this.currentGraph.view.scale,
- c = this.currentGraph.view.translate;
- this.drop(this.currentGraph, a, this.currentDropTarget, this.currentPoint.x / b - c.x, this.currentPoint.y / b - c.y)
- }
- this.dragExit(this.currentGraph)
- }
- this.stopDrag(a);
- mxEvent.removeGestureListeners(document, null, this.mouseMoveHandler, this.mouseUpHandler);
- this.currentGraph =
- this.mouseUpHandler = this.mouseMoveHandler = null;
- mxEvent.consume(a)
-};
-mxDragSource.prototype.dragEnter = function(a) {
- a.isMouseDown = !0;
- this.previewElement = this.createPreviewElement(a);
- this.isGuidesEnabled() && null != this.previewElement && (this.currentGuide = new mxGuide(a, a.graphHandler.getGuideStates()));
- this.highlightDropTargets && (this.currentHighlight = new mxCellHighlight(a, mxConstants.DROP_TARGET_COLOR))
-};
-mxDragSource.prototype.dragExit = function(a) {
- this.currentPoint = this.currentDropTarget = null;
- a.isMouseDown = !1;
- null != this.previewElement && (null != this.previewElement.parentNode && this.previewElement.parentNode.removeChild(this.previewElement), this.previewElement = null);
- null != this.currentGuide && (this.currentGuide.destroy(), this.currentGuide = null);
- null != this.currentHighlight && (this.currentHighlight.destroy(), this.currentHighlight = null)
-};
-mxDragSource.prototype.dragOver = function(a, b) {
- var c = mxUtils.getOffset(a.container),
- d = mxUtils.getScrollOrigin(a.container),
- e = mxEvent.getClientX(b) - c.x + d.x,
- c = mxEvent.getClientY(b) - c.y + d.y;
- a.autoScroll && (null == this.autoscroll || this.autoscroll) && a.scrollPointToVisible(e, c, a.autoExtend);
- null != this.currentHighlight && a.isDropEnabled() && (this.currentDropTarget = this.getDropTarget(a, e, c), d = a.getView().getState(this.currentDropTarget), this.currentHighlight.highlight(d));
- if (null != this.previewElement) {
- null == this.previewElement.parentNode &&
- (a.container.appendChild(this.previewElement), this.previewElement.style.zIndex = "3", this.previewElement.style.position = "absolute");
- var d = this.isGridEnabled() && a.isGridEnabledEvent(b),
- f = !0;
- if (null != this.currentGuide && this.currentGuide.isEnabledForEvent(b)) var f = parseInt(this.previewElement.style.width),
- g = parseInt(this.previewElement.style.height),
- f = new mxRectangle(0, 0, f, g),
- c = new mxPoint(e, c),
- c = this.currentGuide.move(f, c, d),
- f = !1,
- e = c.x,
- c = c.y;
- else if (d) var d = a.view.scale,
- g = a.view.translate,
- h = a.gridSize /
- 2,
- e = (a.snap(e / d - g.x - h) + g.x) * d,
- c = (a.snap(c / d - g.y - h) + g.y) * d;
- null != this.currentGuide && f && this.currentGuide.hide();
- null != this.previewOffset && (e += this.previewOffset.x, c += this.previewOffset.y);
- this.previewElement.style.left = Math.round(e) + "px";
- this.previewElement.style.top = Math.round(c) + "px";
- this.previewElement.style.visibility = "visible"
- }
- this.currentPoint = new mxPoint(e, c)
-};
-mxDragSource.prototype.drop = function(a, b, c, d, e) {
- this.dropHandler(a, b, c, d, e);
- a.container.focus()
-};
-
-function mxToolbar(a) {
- this.container = a
-}
-mxToolbar.prototype = new mxEventSource;
-mxToolbar.prototype.constructor = mxToolbar;
-mxToolbar.prototype.container = null;
-mxToolbar.prototype.enabled = !0;
-mxToolbar.prototype.noReset = !1;
-mxToolbar.prototype.updateDefaultMode = !0;
-mxToolbar.prototype.addItem = function(a, b, c, d, e, f) {
- var g = document.createElement(null != b ? "img" : "button"),
- h = e || (null != f ? "mxToolbarMode" : "mxToolbarItem");
- g.className = h;
- g.setAttribute("src", b);
- null != a && (null != b ? g.setAttribute("title", a) : mxUtils.write(g, a));
- this.container.appendChild(g);
- null != c && (mxEvent.addListener(g, "click", c), mxClient.IS_TOUCH && mxEvent.addListener(g, "touchend", c));
- a = mxUtils.bind(this, function(a) {
- null != d ? g.setAttribute("src", b) : g.style.backgroundColor = ""
- });
- mxEvent.addGestureListeners(g,
- mxUtils.bind(this, function(a) {
- null != d ? g.setAttribute("src", d) : g.style.backgroundColor = "gray";
- if (null != f) {
- null == this.menu && (this.menu = new mxPopupMenu, this.menu.init());
- var b = this.currentImg;
- this.menu.isMenuShowing() && this.menu.hideMenu();
- b != g && (this.currentImg = g, this.menu.factoryMethod = f, b = new mxPoint(g.offsetLeft, g.offsetTop + g.offsetHeight), this.menu.popup(b.x, b.y, null, a), this.menu.isMenuShowing() &&
- (g.className = h + "Selected", this.menu.hideMenu = function() {
- mxPopupMenu.prototype.hideMenu.apply(this);
- g.className = h;
- this.currentImg = null
- }))
- }
- }), null, a);
- mxEvent.addListener(g, "mouseout", a);
- return g
-};
-mxToolbar.prototype.addCombo = function(a) {
- var b = document.createElement("div");
- b.style.display = "inline";
- b.className = "mxToolbarComboContainer";
- var c = document.createElement("select");
- c.className = a || "mxToolbarCombo";
- b.appendChild(c);
- this.container.appendChild(b);
- return c
-};
-mxToolbar.prototype.addActionCombo = function(a, b) {
- var c = document.createElement("select");
- c.className = b || "mxToolbarCombo";
- this.addOption(c, a, null);
- mxEvent.addListener(c, "change", function(a) {
- var b = c.options[c.selectedIndex];
- c.selectedIndex = 0;
- null != b.funct && b.funct(a)
- });
- this.container.appendChild(c);
- return c
-};
-mxToolbar.prototype.addOption = function(a, b, c) {
- var d = document.createElement("option");
- mxUtils.writeln(d, b);
- "function" == typeof c ? d.funct = c : d.setAttribute("value", c);
- a.appendChild(d);
- return d
-};
-mxToolbar.prototype.addSwitchMode = function(a, b, c, d, e) {
- var f = document.createElement("img");
- f.initialClassName = e || "mxToolbarMode";
- f.className = f.initialClassName;
- f.setAttribute("src", b);
- f.altIcon = d;
- null != a && f.setAttribute("title", a);
- mxEvent.addListener(f, "click", mxUtils.bind(this, function(a) {
- a = this.selectedMode.altIcon;
- null != a ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", a)) : this.selectedMode.className = this.selectedMode.initialClassName;
- this.updateDefaultMode &&
- (this.defaultMode = f);
- this.selectedMode = f;
- a = f.altIcon;
- null != a ? (f.altIcon = f.getAttribute("src"), f.setAttribute("src", a)) : f.className = f.initialClassName + "Selected";
- this.fireEvent(new mxEventObject(mxEvent.SELECT));
- c()
- }));
- this.container.appendChild(f);
- null == this.defaultMode && (this.defaultMode = f, this.selectMode(f), c());
- return f
-};
-mxToolbar.prototype.addMode = function(a, b, c, d, e, f) {
- f = null != f ? f : !0;
- var g = document.createElement(null != b ? "img" : "button");
- g.initialClassName = e || "mxToolbarMode";
- g.className = g.initialClassName;
- g.setAttribute("src", b);
- g.altIcon = d;
- null != a && g.setAttribute("title", a);
- this.enabled && f && (mxEvent.addListener(g, "click", mxUtils.bind(this, function(a) {
- this.selectMode(g, c);
- this.noReset = !1
- })), mxEvent.addListener(g, "dblclick", mxUtils.bind(this, function(a) {
- this.selectMode(g, c);
- this.noReset = !0
- })), null == this.defaultMode &&
- (this.defaultMode = g, this.defaultFunction = c, this.selectMode(g, c)));
- this.container.appendChild(g);
- return g
-};
-mxToolbar.prototype.selectMode = function(a, b) {
- if (this.selectedMode != a) {
- if (null != this.selectedMode) {
- var c = this.selectedMode.altIcon;
- null != c ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", c)) : this.selectedMode.className = this.selectedMode.initialClassName
- }
- this.selectedMode = a;
- c = this.selectedMode.altIcon;
- null != c ? (this.selectedMode.altIcon = this.selectedMode.getAttribute("src"), this.selectedMode.setAttribute("src", c)) : this.selectedMode.className = this.selectedMode.initialClassName +
- "Selected";
- this.fireEvent(new mxEventObject(mxEvent.SELECT, "function", b))
- }
-};
-mxToolbar.prototype.resetMode = function(a) {
- (a || !this.noReset) && this.selectedMode != this.defaultMode && this.selectMode(this.defaultMode, this.defaultFunction)
-};
-mxToolbar.prototype.addSeparator = function(a) {
- return this.addItem(null, a, null)
-};
-mxToolbar.prototype.addBreak = function() {
- mxUtils.br(this.container)
-};
-mxToolbar.prototype.addLine = function() {
- var a = document.createElement("hr");
- a.style.marginRight = "6px";
- a.setAttribute("size", "1");
- this.container.appendChild(a)
-};
-mxToolbar.prototype.destroy = function() {
- mxEvent.release(this.container);
- this.selectedMode = this.defaultFunction = this.defaultMode = this.container = null;
- null != this.menu && this.menu.destroy()
-};
-
-function mxSession(a, b, c, d) {
- this.model = a;
- this.urlInit = b;
- this.urlPoll = c;
- this.urlNotify = d;
- null != a && (this.codec = new mxCodec, this.codec.lookup = function(b) {
- return a.getCell(b)
- });
- a.addListener(mxEvent.NOTIFY, mxUtils.bind(this, function(a, b) {
- var c = b.getProperty("edit");
- (null != c && this.debug || this.connected && !this.suspended) && this.notify("\x3cedit\x3e" + this.encodeChanges(c.changes, c.undone) + "\x3c/edit\x3e")
- }))
-}
-mxSession.prototype = new mxEventSource;
-mxSession.prototype.constructor = mxSession;
-mxSession.prototype.model = null;
-mxSession.prototype.urlInit = null;
-mxSession.prototype.urlPoll = null;
-mxSession.prototype.urlNotify = null;
-mxSession.prototype.codec = null;
-mxSession.prototype.linefeed = "\x26#xa;";
-mxSession.prototype.escapePostData = !0;
-mxSession.prototype.significantRemoteChanges = !0;
-mxSession.prototype.sent = 0;
-mxSession.prototype.received = 0;
-mxSession.prototype.debug = !1;
-mxSession.prototype.connected = !1;
-mxSession.prototype.suspended = !1;
-mxSession.prototype.polling = !1;
-mxSession.prototype.start = function() {
- this.debug ? (this.connected = !0, this.fireEvent(new mxEventObject(mxEvent.CONNECT))) : this.connected || this.get(this.urlInit, mxUtils.bind(this, function(a) {
- this.connected = !0;
- this.fireEvent(new mxEventObject(mxEvent.CONNECT));
- this.poll()
- }))
-};
-mxSession.prototype.suspend = function() {
- this.connected && !this.suspended && (this.suspended = !0, this.fireEvent(new mxEventObject(mxEvent.SUSPEND)))
-};
-mxSession.prototype.resume = function(a, b, c) {
- this.connected && this.suspended && (this.suspended = !1, this.fireEvent(new mxEventObject(mxEvent.RESUME)), this.polling || this.poll())
-};
-mxSession.prototype.stop = function(a) {
- this.connected && (this.connected = !1);
- this.fireEvent(new mxEventObject(mxEvent.DISCONNECT, "reason", a))
-};
-mxSession.prototype.poll = function() {
- this.connected && !this.suspended && null != this.urlPoll ? (this.polling = !0, this.get(this.urlPoll, mxUtils.bind(this, function() {
- this.poll()
- }))) : this.polling = !1
-};
-mxSession.prototype.notify = function(a, b, c) {
- null != a && 0 < a.length && (null != this.urlNotify && (this.debug ? (mxLog.show(), mxLog.debug("mxSession.notify: " + this.urlNotify + " xml\x3d" + a)) : (a = "\x3cmessage\x3e\x3cdelta\x3e" + a +
- "\x3c/delta\x3e\x3c/message\x3e", this.escapePostData && (a = encodeURIComponent(a)), mxUtils.post(this.urlNotify, "xml\x3d" + a, b, c))), this.sent += a.length, this.fireEvent(new mxEventObject(
- mxEvent.NOTIFY, "url", this.urlNotify, "xml", a)))
-};
-mxSession.prototype.get = function(a, b, c) {
- if ("undefined" != typeof mxUtils) {
- var d = mxUtils.bind(this, function(a) {
- null != c ? c(a) : this.stop(a)
- });
- mxUtils.get(a, mxUtils.bind(this, function(c) {
- if ("undefined" != typeof mxUtils)
- if (c.isReady() && 404 != c.getStatus()) {
- if (this.received += c.getText().length, this.fireEvent(new mxEventObject(mxEvent.GET, "url", a, "request", c)), this.isValidResponse(c)) {
- if (0 < c.getText().length) {
- var f = c.getDocumentElement();
- null == f ? d("Invalid response: " + c.getText()) : this.receive(f)
- }
- null != b && b(c)
- }
- } else d("Response not ready")
- }),
- function(a) {
- d("Transmission error")
- })
- }
-};
-mxSession.prototype.isValidResponse = function(a) {
- return 0 > a.getText().indexOf("\x3c?php")
-};
-mxSession.prototype.encodeChanges = function(a, b) {
- for (var c = "", d = b ? -1 : 1, e = b ? a.length - 1 : 0; 0 <= e && e < a.length; e += d) var f = this.codec.encode(a[e]),
- c = c + mxUtils.getXml(f, this.linefeed);
- return c
-};
-mxSession.prototype.receive = function(a) {
- if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
- var b = a.getAttribute("namespace");
- null != b && (this.model.prefix = b + "-");
- for (b = a.firstChild; null != b;) {
- var c = b.nodeName.toLowerCase();
- "state" == c ? this.processState(b) : "delta" == c && this.processDelta(b);
- b = b.nextSibling
- }
- this.fireEvent(new mxEventObject(mxEvent.RECEIVE, "node", a))
- }
-};
-mxSession.prototype.processState = function(a) {
- (new mxCodec(a.ownerDocument)).decode(a.firstChild, this.model)
-};
-mxSession.prototype.processDelta = function(a) {
- for (a = a.firstChild; null != a;) "edit" == a.nodeName && this.processEdit(a), a = a.nextSibling
-};
-mxSession.prototype.processEdit = function(a) {
- a = this.decodeChanges(a);
- if (0 < a.length) {
- var b = this.createUndoableEdit(a);
- this.model.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", b, "changes", a));
- this.model.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", b));
- this.fireEvent(new mxEventObject(mxEvent.FIRED, "edit", b))
- }
-};
-mxSession.prototype.createUndoableEdit = function(a) {
- var b = new mxUndoableEdit(this.model, this.significantRemoteChanges);
- b.changes = a;
- b.notify = function() {
- b.source.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", b, "changes", b.changes));
- b.source.fireEvent(new mxEventObject(mxEvent.NOTIFY, "edit", b, "changes", b.changes))
- };
- return b
-};
-mxSession.prototype.decodeChanges = function(a) {
- this.codec.document = a.ownerDocument;
- var b = [];
- for (a = a.firstChild; null != a;) {
- var c = this.decodeChange(a);
- null != c && b.push(c);
- a = a.nextSibling
- }
- return b
-};
-mxSession.prototype.decodeChange = function(a) {
- var b = null;
- a.nodeType == mxConstants.NODETYPE_ELEMENT && (b = "mxRootChange" == a.nodeName ? (new mxCodec(a.ownerDocument)).decode(a) : this.codec.decode(a), null != b && (b.model = this.model, b.execute(),
- "mxChildChange" == a.nodeName && null == b.parent && this.cellRemoved(b.child)));
- return b
-};
-mxSession.prototype.cellRemoved = function(a, b) {
- this.codec.putObject(a.getId(), a);
- for (var c = this.model.getChildCount(a), d = 0; d < c; d++) this.cellRemoved(this.model.getChildAt(a, d))
-};
-
-function mxUndoableEdit(a, b) {
- this.source = a;
- this.changes = [];
- this.significant = null != b ? b : !0
-}
-mxUndoableEdit.prototype.source = null;
-mxUndoableEdit.prototype.changes = null;
-mxUndoableEdit.prototype.significant = null;
-mxUndoableEdit.prototype.undone = !1;
-mxUndoableEdit.prototype.redone = !1;
-mxUndoableEdit.prototype.isEmpty = function() {
- return 0 == this.changes.length
-};
-mxUndoableEdit.prototype.isSignificant = function() {
- return this.significant
-};
-mxUndoableEdit.prototype.add = function(a) {
- this.changes.push(a)
-};
-mxUndoableEdit.prototype.notify = function() {};
-mxUndoableEdit.prototype.die = function() {};
-mxUndoableEdit.prototype.undo = function() {
- if (!this.undone) {
- this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));
- for (var a = this.changes.length - 1; 0 <= a; a--) {
- var b = this.changes[a];
- null != b.execute ? b.execute() : null != b.undo && b.undo();
- this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", b))
- }
- this.undone = !0;
- this.redone = !1;
- this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))
- }
- this.notify()
-};
-mxUndoableEdit.prototype.redo = function() {
- if (!this.redone) {
- this.source.fireEvent(new mxEventObject(mxEvent.START_EDIT));
- for (var a = this.changes.length, b = 0; b < a; b++) {
- var c = this.changes[b];
- null != c.execute ? c.execute() : null != c.redo && c.redo();
- this.source.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", c))
- }
- this.undone = !1;
- this.redone = !0;
- this.source.fireEvent(new mxEventObject(mxEvent.END_EDIT))
- }
- this.notify()
-};
-
-function mxUndoManager(a) {
- this.size = null != a ? a : 100;
- this.clear()
-}
-mxUndoManager.prototype = new mxEventSource;
-mxUndoManager.prototype.constructor = mxUndoManager;
-mxUndoManager.prototype.size = null;
-mxUndoManager.prototype.history = null;
-mxUndoManager.prototype.indexOfNextAdd = 0;
-mxUndoManager.prototype.isEmpty = function() {
- return 0 == this.history.length
-};
-mxUndoManager.prototype.clear = function() {
- this.history = [];
- this.indexOfNextAdd = 0;
- this.fireEvent(new mxEventObject(mxEvent.CLEAR))
-};
-mxUndoManager.prototype.canUndo = function() {
- return 0 < this.indexOfNextAdd
-};
-mxUndoManager.prototype.undo = function() {
- for (; 0 < this.indexOfNextAdd;) {
- var a = this.history[--this.indexOfNextAdd];
- a.undo();
- if (a.isSignificant()) {
- this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", a));
- break
- }
- }
-};
-mxUndoManager.prototype.canRedo = function() {
- return this.indexOfNextAdd < this.history.length
-};
-mxUndoManager.prototype.redo = function() {
- for (var a = this.history.length; this.indexOfNextAdd < a;) {
- var b = this.history[this.indexOfNextAdd++];
- b.redo();
- if (b.isSignificant()) {
- this.fireEvent(new mxEventObject(mxEvent.REDO, "edit", b));
- break
- }
- }
-};
-mxUndoManager.prototype.undoableEditHappened = function(a) {
- this.trim();
- 0 < this.size && this.size == this.history.length && this.history.shift();
- this.history.push(a);
- this.indexOfNextAdd = this.history.length;
- this.fireEvent(new mxEventObject(mxEvent.ADD, "edit", a))
-};
-mxUndoManager.prototype.trim = function() {
- if (this.history.length > this.indexOfNextAdd)
- for (var a = this.history.splice(this.indexOfNextAdd, this.history.length - this.indexOfNextAdd), b = 0; b < a.length; b++) a[b].die()
-};
-var mxUrlConverter = function(a) {
- var b = !0,
- c = null,
- d = null;
- return {
- isEnabled: function() {
- return b
- },
- setEnabled: function(a) {
- b = a
- },
- getBaseUrl: function() {
- return c
- },
- setBaseUrl: function(a) {
- c = a
- },
- getBaseDomain: function() {
- return c
- },
- setBaseDomain: function(a) {
- c = a
- },
- isRelativeUrl: function(a) {
- return "http://" != a.substring(0, 7) && "https://" != a.substring(0, 8) && "data:image" != a.substring(0, 10)
- },
- convert: function(a) {
- if (b && this.isRelativeUrl(a)) {
- if (null == c) {
- d = location.protocol + "//" + location.host;
- c = d + location.pathname;
- var f = c.lastIndexOf("/");
- 0 < f && (c = c.substring(0, f + 1))
- }
- a = "/" == a.charAt(0) ? d + a : c + a
- }
- return a
- }
- }
-};
-
-function mxPanningManager(a) {
- this.thread = null;
- this.active = !1;
- this.dy = this.dx = this.t0y = this.t0x = this.tdy = this.tdx = 0;
- this.scrollbars = !1;
- this.scrollTop = this.scrollLeft = 0;
- this.mouseListener = {
- mouseDown: function(a, b) {},
- mouseMove: function(a, b) {},
- mouseUp: mxUtils.bind(this, function(a, b) {
- this.active && this.stop()
- })
- };
- a.addMouseListener(this.mouseListener);
- mxEvent.addListener(document, "mouseup", mxUtils.bind(this, function() {
- this.active && this.stop()
- }));
- var b = mxUtils.bind(this, function() {
- this.scrollbars = mxUtils.hasScrollbars(a.container);
- this.scrollLeft = a.container.scrollLeft;
- this.scrollTop = a.container.scrollTop;
- return window.setInterval(mxUtils.bind(this, function() {
- this.tdx -= this.dx;
- this.tdy -= this.dy;
- if (this.scrollbars) {
- var b = -a.container.scrollLeft - Math.ceil(this.dx),
- d = -a.container.scrollTop - Math.ceil(this.dy);
- a.panGraph(b, d);
- a.panDx = this.scrollLeft - a.container.scrollLeft;
- a.panDy = this.scrollTop - a.container.scrollTop;
- a.fireEvent(new mxEventObject(mxEvent.PAN))
- } else a.panGraph(this.getDx(), this.getDy())
- }), this.delay)
- });
- this.isActive =
- function() {
- return active
- };
- this.getDx = function() {
- return Math.round(this.tdx)
- };
- this.getDy = function() {
- return Math.round(this.tdy)
- };
- this.start = function() {
- this.t0x = a.view.translate.x;
- this.t0y = a.view.translate.y;
- this.active = !0
- };
- this.panTo = function(c, d, e, f) {
- this.active || this.start();
- this.scrollLeft = a.container.scrollLeft;
- this.scrollTop = a.container.scrollTop;
- f = null != f ? f : 0;
- var g = a.container;
- this.dx = c + (null != e ? e : 0) - g.scrollLeft - g.clientWidth;
- 0 > this.dx && Math.abs(this.dx) < this.border ? this.dx = this.border + this.dx :
- this.dx = this.handleMouseOut ? Math.max(this.dx, 0) : 0;
- 0 == this.dx && (this.dx = c - g.scrollLeft, this.dx = 0 < this.dx && this.dx < this.border ? this.dx - this.border : this.handleMouseOut ? Math.min(0, this.dx) : 0);
- this.dy = d + f - g.scrollTop - g.clientHeight;
- 0 > this.dy && Math.abs(this.dy) < this.border ? this.dy = this.border + this.dy : this.dy = this.handleMouseOut ? Math.max(this.dy, 0) : 0;
- 0 == this.dy && (this.dy = d - g.scrollTop, this.dy = 0 < this.dy && this.dy < this.border ? this.dy - this.border : this.handleMouseOut ? Math.min(0, this.dy) : 0);
- 0 != this.dx || 0 != this.dy ?
- (this.dx *= this.damper, this.dy *= this.damper, null == this.thread && (this.thread = b())) : null != this.thread && (window.clearInterval(this.thread), this.thread = null)
- };
- this.stop = function() {
- if (this.active)
- if (this.active = !1, null != this.thread && (window.clearInterval(this.thread), this.thread = null), this.tdy = this.tdx = 0, this.scrollbars) a.panDx = 0, a.panDy = 0, a.fireEvent(new mxEventObject(
- mxEvent.PAN));
- else {
- var b = a.panDx,
- d = a.panDy;
- if (0 != b || 0 != d) a.panGraph(0, 0), a.view.setTranslate(this.t0x + b / a.view.scale, this.t0y + d / a.view.scale)
- }
- };
- this.destroy = function() {
- a.removeMouseListener(this.mouseListener)
- }
-}
-mxPanningManager.prototype.damper = 1 / 6;
-mxPanningManager.prototype.delay = 10;
-mxPanningManager.prototype.handleMouseOut = !0;
-mxPanningManager.prototype.border = 0;
-
-function mxPopupMenu(a) {
- this.factoryMethod = a;
- null != a && this.init()
-}
-mxPopupMenu.prototype = new mxEventSource;
-mxPopupMenu.prototype.constructor = mxPopupMenu;
-mxPopupMenu.prototype.submenuImage = mxClient.imageBasePath + "/submenu.gif";
-mxPopupMenu.prototype.zIndex = 10006;
-mxPopupMenu.prototype.factoryMethod = null;
-mxPopupMenu.prototype.useLeftButtonForPopup = !1;
-mxPopupMenu.prototype.enabled = !0;
-mxPopupMenu.prototype.itemCount = 0;
-mxPopupMenu.prototype.autoExpand = !1;
-mxPopupMenu.prototype.smartSeparators = !1;
-mxPopupMenu.prototype.labels = !0;
-mxPopupMenu.prototype.init = function() {
- this.table = document.createElement("table");
- this.table.className = "mxPopupMenu";
- this.tbody = document.createElement("tbody");
- this.table.appendChild(this.tbody);
- this.div = document.createElement("div");
- this.div.className = "mxPopupMenu";
- this.div.style.display = "inline";
- this.div.style.zIndex = this.zIndex;
- this.div.appendChild(this.table);
- mxEvent.disableContextMenu(this.div)
-};
-mxPopupMenu.prototype.isEnabled = function() {
- return this.enabled
-};
-mxPopupMenu.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxPopupMenu.prototype.isPopupTrigger = function(a) {
- return a.isPopupTrigger() || this.useLeftButtonForPopup && mxEvent.isLeftMouseButton(a.getEvent())
-};
-mxPopupMenu.prototype.addItem = function(a, b, c, d, e, f) {
- d = d || this;
- this.itemCount++;
- d.willAddSeparator && (d.containsItems && this.addSeparator(d, !0), d.willAddSeparator = !1);
- d.containsItems = !0;
- var g = document.createElement("tr");
- g.className = "mxPopupMenuItem";
- var h = document.createElement("td");
- h.className = "mxPopupMenuIcon";
- null != b ? (e = document.createElement("img"), e.src = b, h.appendChild(e)) : null != e && (b = document.createElement("div"), b.className = e, h.appendChild(b));
- g.appendChild(h);
- this.labels && (h = document.createElement("td"),
- h.className = "mxPopupMenuItem" + (null != f && !f ? " disabled" : ""), mxUtils.write(h, a), h.align = "left", g.appendChild(h), a = document.createElement("td"), a.className =
- "mxPopupMenuItem" + (null != f && !f ? " disabled" : ""), a.style.paddingRight = "6px", a.style.textAlign = "right", g.appendChild(a), null == d.div && this.createSubmenu(d));
- d.tbody.appendChild(g);
- if (null == f || f) mxEvent.addGestureListeners(g, mxUtils.bind(this, function(a) {
- this.eventReceiver = g;
- d.activeRow != g && d.activeRow != d && (null != d.activeRow && null != d.activeRow.div.parentNode &&
- this.hideSubmenu(d), null != g.div && (this.showSubmenu(d, g), d.activeRow = g));
- mxEvent.consume(a)
- }), mxUtils.bind(this, function(a) {
- d.activeRow != g && d.activeRow != d && (null != d.activeRow && null != d.activeRow.div.parentNode && this.hideSubmenu(d), this.autoExpand && null != g.div && (this.showSubmenu(d, g), d.activeRow =
- g));
- g.className = "mxPopupMenuItemHover"
- }), mxUtils.bind(this, function(a) {
- this.eventReceiver == g && (d.activeRow != g && this.hideMenu(), null != c && c(a));
- this.eventReceiver = null;
- mxEvent.consume(a)
- })), mxEvent.addListener(g,
- "mouseout", mxUtils.bind(this, function(a) {
- g.className = "mxPopupMenuItem"
- }));
- return g
-};
-mxPopupMenu.prototype.createSubmenu = function(a) {
- a.table = document.createElement("table");
- a.table.className = "mxPopupMenu";
- a.tbody = document.createElement("tbody");
- a.table.appendChild(a.tbody);
- a.div = document.createElement("div");
- a.div.className = "mxPopupMenu";
- a.div.style.position = "absolute";
- a.div.style.display = "inline";
- a.div.style.zIndex = this.zIndex;
- a.div.appendChild(a.table);
- var b = document.createElement("img");
- b.setAttribute("src", this.submenuImage);
- td = a.firstChild.nextSibling.nextSibling;
- td.appendChild(b)
-};
-mxPopupMenu.prototype.showSubmenu = function(a, b) {
- if (null != b.div) {
- b.div.style.left = a.div.offsetLeft + b.offsetLeft + b.offsetWidth - 1 + "px";
- b.div.style.top = a.div.offsetTop + b.offsetTop + "px";
- document.body.appendChild(b.div);
- var c = parseInt(b.div.offsetLeft),
- d = parseInt(b.div.offsetWidth),
- e = document.body,
- f = document.documentElement;
- if (c + d > (e.scrollLeft || f.scrollLeft) + (e.clientWidth || f.clientWidth)) b.div.style.left = a.div.offsetLeft - d + (mxClient.IS_IE ? 6 : -6) + "px";
- mxUtils.fit(b.div)
- }
-};
-mxPopupMenu.prototype.addSeparator = function(a, b) {
- a = a || this;
- if (this.smartSeparators && !b) a.willAddSeparator = !0;
- else if (null != a.tbody) {
- a.willAddSeparator = !1;
- var c = document.createElement("tr"),
- d = document.createElement("td");
- d.className = "mxPopupMenuIcon";
- d.style.padding = "0 0 0 0px";
- c.appendChild(d);
- d = document.createElement("td");
- d.style.padding = "0 0 0 0px";
- d.setAttribute("colSpan", "2");
- var e = document.createElement("hr");
- e.setAttribute("size", "1");
- d.appendChild(e);
- c.appendChild(d);
- a.tbody.appendChild(c)
- }
-};
-mxPopupMenu.prototype.popup = function(a, b, c, d) {
- if (null != this.div && null != this.tbody && null != this.factoryMethod) {
- this.div.style.left = a + "px";
- for (this.div.style.top = b + "px"; null != this.tbody.firstChild;) mxEvent.release(this.tbody.firstChild), this.tbody.removeChild(this.tbody.firstChild);
- this.itemCount = 0;
- this.factoryMethod(this, c, d);
- 0 < this.itemCount && (this.showMenu(), this.fireEvent(new mxEventObject(mxEvent.SHOW)))
- }
-};
-mxPopupMenu.prototype.isMenuShowing = function() {
- return null != this.div && this.div.parentNode == document.body
-};
-mxPopupMenu.prototype.showMenu = function() {
- 9 <= document.documentMode && (this.div.style.filter = "none");
- document.body.appendChild(this.div);
- mxUtils.fit(this.div)
-};
-mxPopupMenu.prototype.hideMenu = function() {
- null != this.div && (null != this.div.parentNode && this.div.parentNode.removeChild(this.div), this.hideSubmenu(this), this.containsItems = !1)
-};
-mxPopupMenu.prototype.hideSubmenu = function(a) {
- null != a.activeRow && (this.hideSubmenu(a.activeRow), null != a.activeRow.div.parentNode && a.activeRow.div.parentNode.removeChild(a.activeRow.div), a.activeRow = null)
-};
-mxPopupMenu.prototype.destroy = function() {
- null != this.div && (mxEvent.release(this.div), null != this.div.parentNode && this.div.parentNode.removeChild(this.div), this.div = null)
-};
-
-function mxAutoSaveManager(a) {
- this.changeHandler = mxUtils.bind(this, function(a, c) {
- this.isEnabled() && this.graphModelChanged(c.getProperty("edit").changes)
- });
- this.setGraph(a)
-}
-mxAutoSaveManager.prototype = new mxEventSource;
-mxAutoSaveManager.prototype.constructor = mxAutoSaveManager;
-mxAutoSaveManager.prototype.graph = null;
-mxAutoSaveManager.prototype.autoSaveDelay = 10;
-mxAutoSaveManager.prototype.autoSaveThrottle = 2;
-mxAutoSaveManager.prototype.autoSaveThreshold = 5;
-mxAutoSaveManager.prototype.ignoredChanges = 0;
-mxAutoSaveManager.prototype.lastSnapshot = 0;
-mxAutoSaveManager.prototype.enabled = !0;
-mxAutoSaveManager.prototype.changeHandler = null;
-mxAutoSaveManager.prototype.isEnabled = function() {
- return this.enabled
-};
-mxAutoSaveManager.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxAutoSaveManager.prototype.setGraph = function(a) {
- null != this.graph && this.graph.getModel().removeListener(this.changeHandler);
- this.graph = a;
- null != this.graph && this.graph.getModel().addListener(mxEvent.CHANGE, this.changeHandler)
-};
-mxAutoSaveManager.prototype.save = function() {};
-mxAutoSaveManager.prototype.graphModelChanged = function(a) {
- a = ((new Date).getTime() - this.lastSnapshot) / 1E3;
- a > this.autoSaveDelay || this.ignoredChanges >= this.autoSaveThreshold && a > this.autoSaveThrottle ? (this.save(), this.reset()) : this.ignoredChanges++
-};
-mxAutoSaveManager.prototype.reset = function() {
- this.lastSnapshot = (new Date).getTime();
- this.ignoredChanges = 0
-};
-mxAutoSaveManager.prototype.destroy = function() {
- this.setGraph(null)
-};
-
-function mxAnimation(a) {
- this.delay = null != a ? a : 20
-}
-mxAnimation.prototype = new mxEventSource;
-mxAnimation.prototype.constructor = mxAnimation;
-mxAnimation.prototype.delay = null;
-mxAnimation.prototype.thread = null;
-mxAnimation.prototype.startAnimation = function() {
- null == this.thread && (this.thread = window.setInterval(mxUtils.bind(this, this.updateAnimation), this.delay))
-};
-mxAnimation.prototype.updateAnimation = function() {
- this.fireEvent(new mxEventObject(mxEvent.EXECUTE))
-};
-mxAnimation.prototype.stopAnimation = function() {
- null != this.thread && (window.clearInterval(this.thread), this.thread = null, this.fireEvent(new mxEventObject(mxEvent.DONE)))
-};
-
-function mxMorphing(a, b, c, d) {
- mxAnimation.call(this, d);
- this.graph = a;
- this.steps = null != b ? b : 6;
- this.ease = null != c ? c : 1.5
-}
-mxMorphing.prototype = new mxAnimation;
-mxMorphing.prototype.constructor = mxMorphing;
-mxMorphing.prototype.graph = null;
-mxMorphing.prototype.steps = null;
-mxMorphing.prototype.step = 0;
-mxMorphing.prototype.ease = null;
-mxMorphing.prototype.cells = null;
-mxMorphing.prototype.updateAnimation = function() {
- var a = new mxCellStatePreview(this.graph);
- if (null != this.cells)
- for (var b = 0; b < this.cells.length; b++) this.animateCell(cells[b], a, !1);
- else this.animateCell(this.graph.getModel().getRoot(), a, !0);
- this.show(a);
- (a.isEmpty() || this.step++ >= this.steps) && this.stopAnimation()
-};
-mxMorphing.prototype.show = function(a) {
- a.show()
-};
-mxMorphing.prototype.animateCell = function(a, b, c) {
- var d = this.graph.getView().getState(a),
- e = null;
- if (null != d && (e = this.getDelta(d), this.graph.getModel().isVertex(a) && (0 != e.x || 0 != e.y))) {
- var f = this.graph.view.getTranslate(),
- g = this.graph.view.getScale();
- e.x += f.x * g;
- e.y += f.y * g;
- b.moveState(d, -e.x / this.ease, -e.y / this.ease)
- }
- if (c && !this.stopRecursion(d, e)) {
- d = this.graph.getModel().getChildCount(a);
- for (e = 0; e < d; e++) this.animateCell(this.graph.getModel().getChildAt(a, e), b, c)
- }
-};
-mxMorphing.prototype.stopRecursion = function(a, b) {
- return null != b && (0 != b.x || 0 != b.y)
-};
-mxMorphing.prototype.getDelta = function(a) {
- var b = this.getOriginForCell(a.cell),
- c = this.graph.getView().getTranslate(),
- d = this.graph.getView().getScale();
- a = new mxPoint(a.x / d - c.x, a.y / d - c.y);
- return new mxPoint((b.x - a.x) * d, (b.y - a.y) * d)
-};
-mxMorphing.prototype.getOriginForCell = function(a) {
- var b = null;
- null != a && (b = this.getOriginForCell(this.graph.getModel().getParent(a)), a = this.graph.getCellGeometry(a), null != a && (b.x += a.x, b.y += a.y));
- null == b && (b = this.graph.view.getTranslate(), b = new mxPoint(-b.x, -b.y));
- return b
-};
-
-function mxImageBundle(a) {
- this.images = [];
- this.alt = null != a ? a : !1
-}
-mxImageBundle.prototype.images = null;
-mxImageBundle.prototype.images = null;
-mxImageBundle.prototype.putImage = function(a, b, c) {
- this.images[a] = {
- value: b,
- fallback: c
- }
-};
-mxImageBundle.prototype.getImage = function(a) {
- var b = null;
- null != a && (a = this.images[a], null != a && (b = this.alt ? a.fallback : a.value));
- return b
-};
-
-function mxImageExport() {}
-mxImageExport.prototype.includeOverlays = !1;
-mxImageExport.prototype.drawState = function(a, b) {
- null != a && (this.visitStatesRecursive(a, b, this.drawCellState), this.includeOverlays && this.visitStatesRecursive(a, b, this.drawOverlays))
-};
-mxImageExport.prototype.visitStatesRecursive = function(a, b, c) {
- if (null != a) {
- c(a, b);
- for (var d = a.view.graph, e = d.model.getChildCount(a.cell), f = 0; f < e; f++) {
- var g = d.view.getState(d.model.getChildAt(a.cell, f));
- this.visitStatesRecursive(g, b, c)
- }
- }
-};
-mxImageExport.prototype.drawCellState = function(a, b) {
- a.shape instanceof mxShape && (b.save(), a.shape.paint(b), b.restore());
- null != a.text && (b.save(), a.text.paint(b), b.restore())
-};
-mxImageExport.prototype.drawOverlays = function(a, b) {
- null != a.overlays && a.overlays.visit(function(a, d) {
- d instanceof mxShape && d.paint(b)
- })
-};
-
-function mxAbstractCanvas2D() {
- this.converter = this.createUrlConverter();
- this.reset()
-}
-mxAbstractCanvas2D.prototype.state = null;
-mxAbstractCanvas2D.prototype.states = null;
-mxAbstractCanvas2D.prototype.path = null;
-mxAbstractCanvas2D.prototype.rotateHtml = !0;
-mxAbstractCanvas2D.prototype.lastX = 0;
-mxAbstractCanvas2D.prototype.lastY = 0;
-mxAbstractCanvas2D.prototype.moveOp = "M";
-mxAbstractCanvas2D.prototype.lineOp = "L";
-mxAbstractCanvas2D.prototype.quadOp = "Q";
-mxAbstractCanvas2D.prototype.curveOp = "C";
-mxAbstractCanvas2D.prototype.closeOp = "Z";
-mxAbstractCanvas2D.prototype.pointerEvents = !1;
-mxAbstractCanvas2D.prototype.createUrlConverter = function() {
- return new mxUrlConverter
-};
-mxAbstractCanvas2D.prototype.reset = function() {
- this.state = this.createState();
- this.states = []
-};
-mxAbstractCanvas2D.prototype.createState = function() {
- return {
- dx: 0,
- dy: 0,
- scale: 1,
- alpha: 1,
- fillColor: null,
- fillAlpha: 1,
- gradientColor: null,
- gradientAlpha: 1,
- gradientDirection: null,
- strokeColor: null,
- strokeWidth: 1,
- dashed: !1,
- dashPattern: "3 3",
- lineCap: "flat",
- lineJoin: "miter",
- miterLimit: 10,
- fontColor: "#000000",
- fontBackgroundColor: null,
- fontBorderColor: null,
- fontSize: mxConstants.DEFAULT_FONTSIZE,
- fontFamily: mxConstants.DEFAULT_FONTFAMILY,
- fontStyle: 0,
- shadow: !1,
- shadowColor: mxConstants.SHADOWCOLOR,
- shadowAlpha: mxConstants.SHADOW_OPACITY,
- shadowDx: mxConstants.SHADOW_OFFSET_X,
- shadowDy: mxConstants.SHADOW_OFFSET_Y,
- rotation: 0,
- rotationCx: 0,
- rotationCy: 0
- }
-};
-mxAbstractCanvas2D.prototype.format = function(a) {
- return Math.round(parseFloat(a))
-};
-mxAbstractCanvas2D.prototype.addOp = function() {
- if (null != this.path && (this.path.push(arguments[0]), 2 < arguments.length))
- for (var a = this.state, b = 2; b < arguments.length; b += 2) this.lastX = arguments[b - 1], this.lastY = arguments[b], this.path.push(this.format((this.lastX + a.dx) * a.scale)), this.path.push(
- this.format((this.lastY + a.dy) * a.scale))
-};
-mxAbstractCanvas2D.prototype.rotatePoint = function(a, b, c, d, e) {
- c *= Math.PI / 180;
- return mxUtils.getRotatedPoint(new mxPoint(a, b), Math.cos(c), Math.sin(c), new mxPoint(d, e))
-};
-mxAbstractCanvas2D.prototype.save = function() {
- this.states.push(this.state);
- this.state = mxUtils.clone(this.state)
-};
-mxAbstractCanvas2D.prototype.restore = function() {
- this.state = this.states.pop()
-};
-mxAbstractCanvas2D.prototype.scale = function(a) {
- this.state.scale *= a;
- this.state.strokeWidth *= a
-};
-mxAbstractCanvas2D.prototype.translate = function(a, b) {
- this.state.dx += a;
- this.state.dy += b
-};
-mxAbstractCanvas2D.prototype.setAlpha = function(a) {
- this.state.alpha = a
-};
-mxAbstractCanvas2D.prototype.setFillColor = function(a) {
- a == mxConstants.NONE && (a = null);
- this.state.fillColor = a;
- this.state.gradientColor = null
-};
-mxAbstractCanvas2D.prototype.setGradient = function(a, b, c, d, e, f, g, h, k) {
- c = this.state;
- c.fillColor = a;
- c.fillAlpha = null != h ? h : 1;
- c.gradientColor = b;
- c.gradientAlpha = null != k ? k : 1;
- c.gradientDirection = g
-};
-mxAbstractCanvas2D.prototype.setStrokeColor = function(a) {
- a == mxConstants.NONE && (a = null);
- this.state.strokeColor = a
-};
-mxAbstractCanvas2D.prototype.setStrokeWidth = function(a) {
- this.state.strokeWidth = a
-};
-mxAbstractCanvas2D.prototype.setDashed = function(a) {
- this.state.dashed = a
-};
-mxAbstractCanvas2D.prototype.setDashPattern = function(a) {
- this.state.dashPattern = a
-};
-mxAbstractCanvas2D.prototype.setLineCap = function(a) {
- this.state.lineCap = a
-};
-mxAbstractCanvas2D.prototype.setLineJoin = function(a) {
- this.state.lineJoin = a
-};
-mxAbstractCanvas2D.prototype.setMiterLimit = function(a) {
- this.state.miterLimit = a
-};
-mxAbstractCanvas2D.prototype.setFontColor = function(a) {
- a == mxConstants.NONE && (a = null);
- this.state.fontColor = a
-};
-mxAbstractCanvas2D.prototype.setFontBackgroundColor = function(a) {
- a == mxConstants.NONE && (a = null);
- this.state.fontBackgroundColor = a
-};
-mxAbstractCanvas2D.prototype.setFontBorderColor = function(a) {
- a == mxConstants.NONE && (a = null);
- this.state.fontBorderColor = a
-};
-mxAbstractCanvas2D.prototype.setFontSize = function(a) {
- this.state.fontSize = a
-};
-mxAbstractCanvas2D.prototype.setFontFamily = function(a) {
- this.state.fontFamily = a
-};
-mxAbstractCanvas2D.prototype.setFontStyle = function(a) {
- null == a && (a = 0);
- this.state.fontStyle = a
-};
-mxAbstractCanvas2D.prototype.setShadow = function(a) {
- this.state.shadow = a
-};
-mxAbstractCanvas2D.prototype.setShadowColor = function(a) {
- a == mxConstants.NONE && (a = null);
- this.state.shadowColor = a
-};
-mxAbstractCanvas2D.prototype.setShadowAlpha = function(a) {
- this.state.shadowAlpha = a
-};
-mxAbstractCanvas2D.prototype.setShadowOffset = function(a, b) {
- this.state.shadowDx = a;
- this.state.shadowDy = b
-};
-mxAbstractCanvas2D.prototype.begin = function() {
- this.lastY = this.lastX = 0;
- this.path = []
-};
-mxAbstractCanvas2D.prototype.moveTo = function(a, b) {
- this.addOp(this.moveOp, a, b)
-};
-mxAbstractCanvas2D.prototype.lineTo = function(a, b) {
- this.addOp(this.lineOp, a, b)
-};
-mxAbstractCanvas2D.prototype.quadTo = function(a, b, c, d) {
- this.addOp(this.quadOp, a, b, c, d)
-};
-mxAbstractCanvas2D.prototype.curveTo = function(a, b, c, d, e, f) {
- this.addOp(this.curveOp, a, b, c, d, e, f)
-};
-mxAbstractCanvas2D.prototype.arcTo = function(a, b, c, d, e, f, g) {
- a = mxUtils.arcToCurves(this.lastX, this.lastY, a, b, c, d, e, f, g);
- for (b = 0; b < a.length; b += 6) this.curveTo(a[b], a[b + 1], a[b + 2], a[b + 3], a[b + 4], a[b + 5])
-};
-mxAbstractCanvas2D.prototype.close = function(a, b, c, d, e, f) {
- this.addOp(this.closeOp)
-};
-mxAbstractCanvas2D.prototype.end = function() {};
-
-function mxXmlCanvas2D(a) {
- mxAbstractCanvas2D.call(this);
- this.root = a;
- this.writeDefaults()
-}
-mxUtils.extend(mxXmlCanvas2D, mxAbstractCanvas2D);
-mxXmlCanvas2D.prototype.textEnabled = !0;
-mxXmlCanvas2D.prototype.compressed = !0;
-mxXmlCanvas2D.prototype.writeDefaults = function() {
- var a;
- a = this.createElement("fontfamily");
- a.setAttribute("family", mxConstants.DEFAULT_FONTFAMILY);
- this.root.appendChild(a);
- a = this.createElement("fontsize");
- a.setAttribute("size", mxConstants.DEFAULT_FONTSIZE);
- this.root.appendChild(a);
- a = this.createElement("shadowcolor");
- a.setAttribute("color", mxConstants.SHADOWCOLOR);
- this.root.appendChild(a);
- a = this.createElement("shadowalpha");
- a.setAttribute("alpha", mxConstants.SHADOW_OPACITY);
- this.root.appendChild(a);
- a = this.createElement("shadowoffset");
- a.setAttribute("dx", mxConstants.SHADOW_OFFSET_X);
- a.setAttribute("dy", mxConstants.SHADOW_OFFSET_Y);
- this.root.appendChild(a)
-};
-mxXmlCanvas2D.prototype.format = function(a) {
- return parseFloat(parseFloat(a).toFixed(2))
-};
-mxXmlCanvas2D.prototype.createElement = function(a) {
- return this.root.ownerDocument.createElement(a)
-};
-mxXmlCanvas2D.prototype.save = function() {
- this.compressed && mxAbstractCanvas2D.prototype.save.apply(this, arguments);
- this.root.appendChild(this.createElement("save"))
-};
-mxXmlCanvas2D.prototype.restore = function() {
- this.compressed && mxAbstractCanvas2D.prototype.restore.apply(this, arguments);
- this.root.appendChild(this.createElement("restore"))
-};
-mxXmlCanvas2D.prototype.scale = function(a) {
- if (this.compressed) {
- if (this.state.scale == a) return;
- mxAbstractCanvas2D.prototype.setAlpha.apply(this, arguments)
- }
- var b = this.createElement("scale");
- b.setAttribute("scale", a);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.translate = function(a, b) {
- var c = this.createElement("translate");
- c.setAttribute("dx", this.format(a));
- c.setAttribute("dy", this.format(b));
- this.root.appendChild(c)
-};
-mxXmlCanvas2D.prototype.rotate = function(a, b, c, d, e) {
- var f = this.createElement("rotate");
- if (0 != a || b || c) f.setAttribute("theta", this.format(a)), f.setAttribute("flipH", b ? "1" : "0"), f.setAttribute("flipV", c ? "1" : "0"), f.setAttribute("cx", this.format(d)), f.setAttribute(
- "cy", this.format(e)), this.root.appendChild(f)
-};
-mxXmlCanvas2D.prototype.setAlpha = function(a) {
- if (this.compressed) {
- if (this.state.alpha == a) return;
- mxAbstractCanvas2D.prototype.setAlpha.apply(this, arguments)
- }
- var b = this.createElement("alpha");
- b.setAttribute("alpha", this.format(a));
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setFillColor = function(a) {
- a == mxConstants.NONE && (a = null);
- if (this.compressed) {
- if (this.state.fillColor == a) return;
- mxAbstractCanvas2D.prototype.setFillColor.apply(this, arguments)
- }
- var b = this.createElement("fillcolor");
- b.setAttribute("color", null != a ? a : mxConstants.NONE);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setGradient = function(a, b, c, d, e, f, g, h, k) {
- if (null != a && null != b) {
- mxAbstractCanvas2D.prototype.setGradient.apply(this, arguments);
- var l = this.createElement("gradient");
- l.setAttribute("c1", a);
- l.setAttribute("c2", b);
- l.setAttribute("x", this.format(c));
- l.setAttribute("y", this.format(d));
- l.setAttribute("w", this.format(e));
- l.setAttribute("h", this.format(f));
- null != g && l.setAttribute("direction", g);
- null != h && l.setAttribute("alpha1", h);
- null != k && l.setAttribute("alpha2", k);
- this.root.appendChild(l)
- }
-};
-mxXmlCanvas2D.prototype.setStrokeColor = function(a) {
- a == mxConstants.NONE && (a = null);
- if (this.compressed) {
- if (this.state.strokeColor == a) return;
- mxAbstractCanvas2D.prototype.setStrokeColor.apply(this, arguments)
- }
- var b = this.createElement("strokecolor");
- b.setAttribute("color", null != a ? a : mxConstants.NONE);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setStrokeWidth = function(a) {
- if (this.compressed) {
- if (this.state.strokeWidth == a) return;
- mxAbstractCanvas2D.prototype.setStrokeWidth.apply(this, arguments)
- }
- var b = this.createElement("strokewidth");
- b.setAttribute("width", this.format(a));
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setDashed = function(a) {
- if (this.compressed) {
- if (this.state.dashed == a) return;
- mxAbstractCanvas2D.prototype.setDashed.apply(this, arguments)
- }
- var b = this.createElement("dashed");
- b.setAttribute("dashed", a ? "1" : "0");
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setDashPattern = function(a) {
- if (this.compressed) {
- if (this.state.dashPattern == a) return;
- mxAbstractCanvas2D.prototype.setDashPattern.apply(this, arguments)
- }
- var b = this.createElement("dashpattern");
- b.setAttribute("pattern", a);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setLineCap = function(a) {
- if (this.compressed) {
- if (this.state.lineCap == a) return;
- mxAbstractCanvas2D.prototype.setLineCap.apply(this, arguments)
- }
- var b = this.createElement("linecap");
- b.setAttribute("cap", a);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setLineJoin = function(a) {
- if (this.compressed) {
- if (this.state.lineJoin == a) return;
- mxAbstractCanvas2D.prototype.setLineJoin.apply(this, arguments)
- }
- var b = this.createElement("linejoin");
- b.setAttribute("join", a);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setMiterLimit = function(a) {
- if (this.compressed) {
- if (this.state.miterLimit == a) return;
- mxAbstractCanvas2D.prototype.setMiterLimit.apply(this, arguments)
- }
- var b = this.createElement("miterlimit");
- b.setAttribute("limit", a);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setFontColor = function(a) {
- if (this.textEnabled) {
- a == mxConstants.NONE && (a = null);
- if (this.compressed) {
- if (this.state.fontColor == a) return;
- mxAbstractCanvas2D.prototype.setFontColor.apply(this, arguments)
- }
- var b = this.createElement("fontcolor");
- b.setAttribute("color", null != a ? a : mxConstants.NONE);
- this.root.appendChild(b)
- }
-};
-mxXmlCanvas2D.prototype.setFontBackgroundColor = function(a) {
- if (this.textEnabled) {
- a == mxConstants.NONE && (a = null);
- if (this.compressed) {
- if (this.state.fontBackgroundColor == a) return;
- mxAbstractCanvas2D.prototype.setFontBackgroundColor.apply(this, arguments)
- }
- var b = this.createElement("fontbackgroundcolor");
- b.setAttribute("color", null != a ? a : mxConstants.NONE);
- this.root.appendChild(b)
- }
-};
-mxXmlCanvas2D.prototype.setFontBorderColor = function(a) {
- if (this.textEnabled) {
- a == mxConstants.NONE && (a = null);
- if (this.compressed) {
- if (this.state.fontBorderColor == a) return;
- mxAbstractCanvas2D.prototype.setFontBorderColor.apply(this, arguments)
- }
- var b = this.createElement("fontbordercolor");
- b.setAttribute("color", null != a ? a : mxConstants.NONE);
- this.root.appendChild(b)
- }
-};
-mxXmlCanvas2D.prototype.setFontSize = function(a) {
- if (this.textEnabled) {
- if (this.compressed) {
- if (this.state.fontSize == a) return;
- mxAbstractCanvas2D.prototype.setFontSize.apply(this, arguments)
- }
- var b = this.createElement("fontsize");
- b.setAttribute("size", a);
- this.root.appendChild(b)
- }
-};
-mxXmlCanvas2D.prototype.setFontFamily = function(a) {
- if (this.textEnabled) {
- if (this.compressed) {
- if (this.state.fontFamily == a) return;
- mxAbstractCanvas2D.prototype.setFontFamily.apply(this, arguments)
- }
- var b = this.createElement("fontfamily");
- b.setAttribute("family", a);
- this.root.appendChild(b)
- }
-};
-mxXmlCanvas2D.prototype.setFontStyle = function(a) {
- if (this.textEnabled) {
- null == a && (a = 0);
- if (this.compressed) {
- if (this.state.fontStyle == a) return;
- mxAbstractCanvas2D.prototype.setFontStyle.apply(this, arguments)
- }
- var b = this.createElement("fontstyle");
- b.setAttribute("style", a);
- this.root.appendChild(b)
- }
-};
-mxXmlCanvas2D.prototype.setShadow = function(a) {
- if (this.compressed) {
- if (this.state.shadow == a) return;
- mxAbstractCanvas2D.prototype.setShadow.apply(this, arguments)
- }
- var b = this.createElement("shadow");
- b.setAttribute("enabled", a ? "1" : "0");
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setShadowColor = function(a) {
- if (this.compressed) {
- a == mxConstants.NONE && (a = null);
- if (this.state.shadowColor == a) return;
- mxAbstractCanvas2D.prototype.setShadowColor.apply(this, arguments)
- }
- var b = this.createElement("shadowcolor");
- b.setAttribute("color", null != a ? a : mxConstants.NONE);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setShadowAlpha = function(a) {
- if (this.compressed) {
- if (this.state.shadowAlpha == a) return;
- mxAbstractCanvas2D.prototype.setShadowAlpha.apply(this, arguments)
- }
- var b = this.createElement("shadowalpha");
- b.setAttribute("alpha", a);
- this.root.appendChild(b)
-};
-mxXmlCanvas2D.prototype.setShadowOffset = function(a, b) {
- if (this.compressed) {
- if (this.state.shadowDx == a && this.state.shadowDy == b) return;
- mxAbstractCanvas2D.prototype.setShadowOffset.apply(this, arguments)
- }
- var c = this.createElement("shadowoffset");
- c.setAttribute("dx", a);
- c.setAttribute("dy", b);
- this.root.appendChild(c)
-};
-mxXmlCanvas2D.prototype.rect = function(a, b, c, d) {
- var e = this.createElement("rect");
- e.setAttribute("x", this.format(a));
- e.setAttribute("y", this.format(b));
- e.setAttribute("w", this.format(c));
- e.setAttribute("h", this.format(d));
- this.root.appendChild(e)
-};
-mxXmlCanvas2D.prototype.roundrect = function(a, b, c, d, e, f) {
- var g = this.createElement("roundrect");
- g.setAttribute("x", this.format(a));
- g.setAttribute("y", this.format(b));
- g.setAttribute("w", this.format(c));
- g.setAttribute("h", this.format(d));
- g.setAttribute("dx", this.format(e));
- g.setAttribute("dy", this.format(f));
- this.root.appendChild(g)
-};
-mxXmlCanvas2D.prototype.ellipse = function(a, b, c, d) {
- var e = this.createElement("ellipse");
- e.setAttribute("x", this.format(a));
- e.setAttribute("y", this.format(b));
- e.setAttribute("w", this.format(c));
- e.setAttribute("h", this.format(d));
- this.root.appendChild(e)
-};
-mxXmlCanvas2D.prototype.image = function(a, b, c, d, e, f, g, h) {
- e = this.converter.convert(e);
- var k = this.createElement("image");
- k.setAttribute("x", this.format(a));
- k.setAttribute("y", this.format(b));
- k.setAttribute("w", this.format(c));
- k.setAttribute("h", this.format(d));
- k.setAttribute("src", e);
- k.setAttribute("aspect", f ? "1" : "0");
- k.setAttribute("flipH", g ? "1" : "0");
- k.setAttribute("flipV", h ? "1" : "0");
- this.root.appendChild(k)
-};
-mxXmlCanvas2D.prototype.begin = function() {
- this.root.appendChild(this.createElement("begin"));
- this.lastY = this.lastX = 0
-};
-mxXmlCanvas2D.prototype.moveTo = function(a, b) {
- var c = this.createElement("move");
- c.setAttribute("x", this.format(a));
- c.setAttribute("y", this.format(b));
- this.root.appendChild(c);
- this.lastX = a;
- this.lastY = b
-};
-mxXmlCanvas2D.prototype.lineTo = function(a, b) {
- var c = this.createElement("line");
- c.setAttribute("x", this.format(a));
- c.setAttribute("y", this.format(b));
- this.root.appendChild(c);
- this.lastX = a;
- this.lastY = b
-};
-mxXmlCanvas2D.prototype.quadTo = function(a, b, c, d) {
- var e = this.createElement("quad");
- e.setAttribute("x1", this.format(a));
- e.setAttribute("y1", this.format(b));
- e.setAttribute("x2", this.format(c));
- e.setAttribute("y2", this.format(d));
- this.root.appendChild(e);
- this.lastX = c;
- this.lastY = d
-};
-mxXmlCanvas2D.prototype.curveTo = function(a, b, c, d, e, f) {
- var g = this.createElement("curve");
- g.setAttribute("x1", this.format(a));
- g.setAttribute("y1", this.format(b));
- g.setAttribute("x2", this.format(c));
- g.setAttribute("y2", this.format(d));
- g.setAttribute("x3", this.format(e));
- g.setAttribute("y3", this.format(f));
- this.root.appendChild(g);
- this.lastX = e;
- this.lastY = f
-};
-mxXmlCanvas2D.prototype.close = function() {
- this.root.appendChild(this.createElement("close"))
-};
-mxXmlCanvas2D.prototype.text = function(a, b, c, d, e, f, g, h, k, l, m, n) {
- if (this.textEnabled && null != e) {
- mxUtils.isNode(e) && (e = mxUtils.getOuterHtml(e));
- var p = this.createElement("text");
- p.setAttribute("x", this.format(a));
- p.setAttribute("y", this.format(b));
- p.setAttribute("w", this.format(c));
- p.setAttribute("h", this.format(d));
- p.setAttribute("str", e);
- null != f && p.setAttribute("align", f);
- null != g && p.setAttribute("valign", g);
- p.setAttribute("wrap", h ? "1" : "0");
- null == k && (k = "");
- p.setAttribute("format", k);
- null != l && p.setAttribute("fill",
- l ? "1" : "0");
- null != m && p.setAttribute("clip", m ? "1" : "0");
- null != n && p.setAttribute("rotation", n);
- this.root.appendChild(p)
- }
-};
-mxXmlCanvas2D.prototype.stroke = function() {
- this.root.appendChild(this.createElement("stroke"))
-};
-mxXmlCanvas2D.prototype.fill = function() {
- this.root.appendChild(this.createElement("fill"))
-};
-mxXmlCanvas2D.prototype.fillAndStroke = function() {
- this.root.appendChild(this.createElement("fillstroke"))
-};
-
-function mxSvgCanvas2D(a, b) {
- mxAbstractCanvas2D.call(this);
- this.root = a;
- this.gradients = [];
- this.defs = null;
- this.styleEnabled = null != b ? b : !1;
- var c = null;
- if (a.ownerDocument != document)
- for (c = a; null != c && "svg" != c.nodeName;) c = c.parentNode;
- null != c && (0 < c.getElementsByTagName("defs").length && (this.defs = c.getElementsByTagName("defs")[0]), null == this.defs && (this.defs = this.createElement("defs"), null != c.firstChild ? c.insertBefore(
- this.defs, c.firstChild) : c.appendChild(this.defs)), this.styleEnabled && this.defs.appendChild(this.createStyle()))
-}
-mxUtils.extend(mxSvgCanvas2D, mxAbstractCanvas2D);
-mxSvgCanvas2D.prototype.node = null;
-mxSvgCanvas2D.prototype.matchHtmlAlignment = !0;
-mxSvgCanvas2D.prototype.textEnabled = !0;
-mxSvgCanvas2D.prototype.foEnabled = !0;
-mxSvgCanvas2D.prototype.strokeTolerance = 0;
-mxSvgCanvas2D.prototype.refCount = 0;
-mxSvgCanvas2D.prototype.blockImagePointerEvents = !1;
-mxSvgCanvas2D.prototype.reset = function() {
- mxAbstractCanvas2D.prototype.reset.apply(this, arguments);
- this.gradients = []
-};
-mxSvgCanvas2D.prototype.createStyle = function(a) {
- a = this.createElement("style");
- a.setAttribute("type", "text/css");
- mxUtils.write(a, "svg{font-family:" + mxConstants.DEFAULT_FONTFAMILY + ";font-size:" + mxConstants.DEFAULT_FONTSIZE + ";fill:none;stroke-miterlimit:10}");
- return a
-};
-mxSvgCanvas2D.prototype.createElement = function(a, b) {
- if (null != this.root.ownerDocument.createElementNS) return this.root.ownerDocument.createElementNS(b || mxConstants.NS_SVG, a);
- var c = this.root.ownerDocument.createElement(a);
- null != b && c.setAttribute("xmlns", b);
- return c
-};
-mxSvgCanvas2D.prototype.createGradientId = function(a, b, c, d, e) {
- "#" == a.charAt(0) && (a = a.substring(1));
- "#" == b.charAt(0) && (b = b.substring(1));
- a = a.toLowerCase() + "-" + c;
- b = b.toLowerCase() + "-" + d;
- c = null;
- null == e || e == mxConstants.DIRECTION_SOUTH ? c = "s" : e == mxConstants.DIRECTION_EAST ? c = "e" : (d = a, a = b, b = d, e == mxConstants.DIRECTION_NORTH ? c = "s" : e == mxConstants.DIRECTION_WEST &&
- (c = "e"));
- return "mx-gradient-" + a + "-" + b + "-" + c
-};
-mxSvgCanvas2D.prototype.getSvgGradient = function(a, b, c, d, e) {
- var f = this.createGradientId(a, b, c, d, e),
- g = this.gradients[f];
- if (null == g) {
- var h = this.root.ownerSVGElement,
- k = 0,
- l = f + "-" + k;
- if (null != h)
- for (g = h.ownerDocument.getElementById(l); null != g && g.ownerSVGElement != h;) l = f + "-" + k++, g = h.ownerDocument.getElementById(l);
- else l = "id" + ++this.refCount;
- null == g && (g = this.createSvgGradient(a, b, c, d, e), g.setAttribute("id", l), null != this.defs ? this.defs.appendChild(g) : h.appendChild(g));
- this.gradients[f] = g
- }
- return g.getAttribute("id")
-};
-mxSvgCanvas2D.prototype.createSvgGradient = function(a, b, c, d, e) {
- var f = this.createElement("linearGradient");
- f.setAttribute("x1", "0%");
- f.setAttribute("y1", "0%");
- f.setAttribute("x2", "0%");
- f.setAttribute("y2", "0%");
- null == e || e == mxConstants.DIRECTION_SOUTH ? f.setAttribute("y2", "100%") : e == mxConstants.DIRECTION_EAST ? f.setAttribute("x2", "100%") : e == mxConstants.DIRECTION_NORTH ? f.setAttribute(
- "y1", "100%") : e == mxConstants.DIRECTION_WEST && f.setAttribute("x1", "100%");
- c = 1 > c ? ";stop-opacity:" + c : "";
- e = this.createElement("stop");
- e.setAttribute("offset", "0%");
- e.setAttribute("style", "stop-color:" + a + c);
- f.appendChild(e);
- c = 1 > d ? ";stop-opacity:" + d : "";
- e = this.createElement("stop");
- e.setAttribute("offset", "100%");
- e.setAttribute("style", "stop-color:" + b + c);
- f.appendChild(e);
- return f
-};
-mxSvgCanvas2D.prototype.addNode = function(a, b) {
- var c = this.node,
- d = this.state;
- if (null != c) {
- if ("path" == c.nodeName)
- if (null != this.path && 0 < this.path.length) c.setAttribute("d", this.path.join(" "));
- else return;
- a && null != d.fillColor ? this.updateFill() : this.styleEnabled || ("ellipse" == c.nodeName && mxClient.IS_NS && !mxClient.IS_GC && !mxClient.IS_SF ? c.setAttribute("fill", "transparent") : c.setAttribute(
- "fill", "none"), a = !1);
- b && null != d.strokeColor ? this.updateStroke() : this.styleEnabled || c.setAttribute("stroke", "none");
- null !=
- d.transform && 0 < d.transform.length && c.setAttribute("transform", d.transform);
- d.shadow && this.root.appendChild(this.createShadow(c));
- 0 < this.strokeTolerance && !a && this.root.appendChild(this.createTolerance(c));
- this.pointerEvents && ("path" != c.nodeName || this.path[this.path.length - 1] == this.closeOp) && c.setAttribute("pointer-events", "all");
- this.root.appendChild(c)
- }
-};
-mxSvgCanvas2D.prototype.updateFill = function() {
- var a = this.state;
- 1 > a.alpha && this.node.setAttribute("fill-opacity", a.alpha);
- null != a.fillColor && (null != a.gradientColor ? (a = this.getSvgGradient(a.fillColor, a.gradientColor, a.fillAlpha, a.gradientAlpha, a.gradientDirection), this.node.setAttribute("fill", "url(#" +
- a + ")")) : this.node.setAttribute("fill", a.fillColor.toLowerCase()))
-};
-mxSvgCanvas2D.prototype.updateStroke = function() {
- var a = this.state;
- this.node.setAttribute("stroke", a.strokeColor.toLowerCase());
- 1 > a.alpha && this.node.setAttribute("stroke-opacity", a.alpha);
- var b = Math.max(1, this.format(a.strokeWidth * a.scale));
- 1 != b && this.node.setAttribute("stroke-width", b);
- "path" == this.node.nodeName && this.updateStrokeAttributes();
- a.dashed && this.node.setAttribute("stroke-dasharray", this.createDashPattern(b))
-};
-mxSvgCanvas2D.prototype.updateStrokeAttributes = function() {
- var a = this.state;
- null != a.lineJoin && "miter" != a.lineJoin && this.node.setAttribute("stroke-linejoin", a.lineJoin);
- if (null != a.lineCap) {
- var b = a.lineCap;
- "flat" == b && (b = "butt");
- "butt" != b && this.node.setAttribute("stroke-linecap", b)
- }
- null != a.miterLimit && (!this.styleEnabled || 10 != a.miterLimit) && this.node.setAttribute("stroke-miterlimit", a.miterLimit)
-};
-mxSvgCanvas2D.prototype.createDashPattern = function(a) {
- var b = this.state.dashPattern.split(" "),
- c = [];
- if (0 < b.length)
- for (var d = 0; d < b.length; d++) c[d] = Number(b[d]) * a;
- return c.join(" ")
-};
-mxSvgCanvas2D.prototype.createTolerance = function(a) {
- a = a.cloneNode(!0);
- var b = parseFloat(a.getAttribute("stroke-width") || 1) + this.strokeTolerance;
- a.setAttribute("pointer-events", "stroke");
- a.setAttribute("visibility", "hidden");
- a.removeAttribute("stroke-dasharray");
- a.setAttribute("stroke-width", b);
- a.setAttribute("fill", "none");
- a.setAttribute("stroke", mxClient.IS_OP ? "none" : "white");
- return a
-};
-mxSvgCanvas2D.prototype.createShadow = function(a) {
- a = a.cloneNode(!0);
- var b = this.state;
- "none" != a.getAttribute("fill") && a.setAttribute("fill", b.shadowColor);
- "none" != a.getAttribute("stroke") && a.setAttribute("stroke", b.shadowColor);
- a.setAttribute("transform", "translate(" + this.format(b.shadowDx * b.scale) + "," + this.format(b.shadowDy * b.scale) + ")" + (b.transform || ""));
- a.setAttribute("opacity", b.shadowAlpha);
- return a
-};
-mxSvgCanvas2D.prototype.rotate = function(a, b, c, d, e) {
- if (0 != a || b || c) {
- var f = this.state;
- d += f.dx;
- e += f.dy;
- d *= f.scale;
- e *= f.scale;
- f.transform = f.transform || "";
- if (b && c) a += 180;
- else if (b ^ c) {
- var g = b ? d : 0,
- h = b ? -1 : 1,
- k = c ? e : 0,
- l = c ? -1 : 1;
- f.transform += "translate(" + this.format(g) + "," + this.format(k) + ")scale(" + this.format(h) + "," + this.format(l) + ")translate(" + this.format(-g) + "," + this.format(-k) + ")"
- }
- if (b ? !c : c) a *= -1;
- 0 != a && (f.transform += "rotate(" + this.format(a) + "," + this.format(d) + "," + this.format(e) + ")");
- f.rotation += a;
- f.rotationCx =
- d;
- f.rotationCy = e
- }
-};
-mxSvgCanvas2D.prototype.begin = function() {
- mxAbstractCanvas2D.prototype.begin.apply(this, arguments);
- this.node = this.createElement("path")
-};
-mxSvgCanvas2D.prototype.rect = function(a, b, c, d) {
- var e = this.state,
- f = this.createElement("rect");
- f.setAttribute("x", this.format((a + e.dx) * e.scale));
- f.setAttribute("y", this.format((b + e.dy) * e.scale));
- f.setAttribute("width", this.format(c * e.scale));
- f.setAttribute("height", this.format(d * e.scale));
- this.node = f
-};
-mxSvgCanvas2D.prototype.roundrect = function(a, b, c, d, e, f) {
- this.rect(a, b, c, d);
- 0 < e && this.node.setAttribute("rx", this.format(e * this.state.scale));
- 0 < f && this.node.setAttribute("ry", this.format(f * this.state.scale))
-};
-mxSvgCanvas2D.prototype.ellipse = function(a, b, c, d) {
- var e = this.state,
- f = this.createElement("ellipse");
- f.setAttribute("cx", Math.round((a + c / 2 + e.dx) * e.scale));
- f.setAttribute("cy", Math.round((b + d / 2 + e.dy) * e.scale));
- f.setAttribute("rx", c / 2 * e.scale);
- f.setAttribute("ry", d / 2 * e.scale);
- this.node = f
-};
-mxSvgCanvas2D.prototype.image = function(a, b, c, d, e, f, g, h) {
- e = this.converter.convert(e);
- f = null != f ? f : !0;
- g = null != g ? g : !1;
- h = null != h ? h : !1;
- var k = this.state;
- a += k.dx;
- b += k.dy;
- var l = this.createElement("image");
- l.setAttribute("x", this.format(a * k.scale));
- l.setAttribute("y", this.format(b * k.scale));
- l.setAttribute("width", this.format(c * k.scale));
- l.setAttribute("height", this.format(d * k.scale));
- null == l.setAttributeNS ? l.setAttribute("xlink:href", e) : l.setAttributeNS(mxConstants.NS_XLINK, "href", e);
- f || l.setAttribute("preserveAspectRatio",
- "none");
- 1 > k.alpha && l.setAttribute("opacity", k.alpha);
- e = this.state.transform || "";
- if (g || h) {
- var m = f = 1,
- n = 0,
- p = 0;
- g && (f = -1, n = -c - 2 * a);
- h && (m = -1, p = -d - 2 * b);
- e += "scale(" + f + "," + m + ")translate(" + n + "," + p + ")"
- }
- 0 < e.length && l.setAttribute("transform", e);
- this.root.appendChild(l);
- this.blockImagePointerEvents && (l.setAttribute("style", "pointer-events:none"), l = this.createElement("rect"), l.setAttribute("visibility", "hidden"), l.setAttribute("pointer-events", "fill"),
- l.setAttribute("x", this.format(a * k.scale)), l.setAttribute("y",
- this.format(b * k.scale)), l.setAttribute("width", this.format(c * k.scale)), l.setAttribute("height", this.format(d * k.scale)), this.root.appendChild(l))
-};
-mxSvgCanvas2D.prototype.createDiv = function(a, b, c, d, e) {
- c = this.state;
- d = "display:inline-block;font-size:" + Math.round(c.fontSize) + "px;font-family:" + c.fontFamily + ";color:" + c.fontColor + ";line-height:" + Math.round(c.fontSize * mxConstants.LINE_HEIGHT) +
- "px;" + d;
- (c.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (d += "font-weight:bold;");
- (c.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (d += "font-style:italic;");
- (c.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && (d += "font-decoration:underline;");
- b == mxConstants.ALIGN_CENTER ? d += "text-align:center;" : b == mxConstants.ALIGN_RIGHT && (d += "text-align:right;");
- b = "";
- null != c.fontBackgroundColor && (b += "background-color:" + c.fontBackgroundColor + ";");
- null != c.fontBorderColor && (b += "border:1px solid " + c.fontBorderColor + ";");
- mxUtils.isNode(a) || (c = document.createElement("textarea"), c.innerHTML = a.replace(/</g, "\x26amp;lt;").replace(/>/g, "\x26amp;gt;").replace(/</g, "\x26lt;").replace(/>/g, "\x26gt;"), a =
- c.value, e ? d += b : 0 < b.length && (a = '\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"display:inline-block;' +
- b + '"\x3e' + a + "\x3c/div\x3e"));
- if (!mxClient.IS_IE && document.createElementNS) return e = document.createElementNS("http://www.w3.org/1999/xhtml", "div"), e.setAttribute("style", d), mxUtils.isNode(a) ? this.root.ownerDocument !=
- document ? e.appendChild(a.cloneNode(!0)) : e.appendChild(a) : e.innerHTML = a, e;
- mxUtils.isNode(a) && this.root.ownerDocument != document && (a = a.outerHTML);
- a = a.replace(/<br>/g, "\x3cbr /\x3e").replace(/<hr>/g, "\x3chr /\x3e");
- return mxUtils.parseXml('\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml" style\x3d"' +
- d + '"\x3e' + a + "\x3c/div\x3e").documentElement
-};
-mxSvgCanvas2D.prototype.text = function(a, b, c, d, e, f, g, h, k, l, m, n) {
- if (this.textEnabled && null != e) {
- n = null != n ? n : 0;
- var p = this.state;
- a += p.dx;
- b += p.dy;
- if (this.foEnabled && "html" == k) {
- var q = "vertical-align:top;";
- m ? (q += "overflow:hidden;", 0 < d && (q += "max-height:" + Math.round(d) + "px;"), 0 < c && (q += "width:" + Math.round(c) + "px;")) : l && (q += "width:" + Math.round(c) + "px;", 0 < d &&
- (q += "max-height:" + Math.round(d) + "px;"));
- h ? (!m && 0 < c && (q += "width:" + Math.round(c) + "px;"), q += "white-space:normal;") : q += "white-space:nowrap;";
- h = this.createElement("g");
- 1 > p.alpha && h.setAttribute("opacity", p.alpha);
- k = this.createElement("foreignObject");
- k.setAttribute("pointer-events", "all");
- q = this.createDiv(e, f, g, q, l);
- if (null != q) {
- h.appendChild(k);
- this.root.appendChild(h);
- var s = 0;
- if (mxClient.IS_IE && !mxClient.IS_SVG) {
- var r = document.createElement("div");
- r.style.cssText = q.getAttribute("style");
- r.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
- r.style.visibility = "hidden";
- r.innerHTML = mxUtils.isNode(e) ? e.outerHTML : e;
- document.body.appendChild(r);
- s = r.offsetWidth;
- d = mxClient.IS_QUIRKS && 0 < d && m ? Math.min(d, r.offsetHeight + 2) : r.offsetHeight;
- r.parentNode.removeChild(r);
- k.appendChild(q)
- } else this.root.ownerDocument != document ? (q.style.visibility = "hidden", document.body.appendChild(q), s = q.offsetWidth, d = q.offsetHeight, k.appendChild(q), q.style.visibility = "") :
- (k.appendChild(q), s = q.offsetWidth, d = q.offsetHeight);
- c = l ? Math.max(c, s) : s;
- 1 > p.alpha && h.setAttribute("opacity", p.alpha);
- l = e = 0;
- f == mxConstants.ALIGN_CENTER ? e -= c / 2 : f == mxConstants.ALIGN_RIGHT && (e -= c);
- a += e;
- g == mxConstants.ALIGN_MIDDLE ?
- l -= d / 2 : g == mxConstants.ALIGN_BOTTOM && (l -= d);
- b += l;
- f = 1 != p.scale ? "scale(" + p.scale + ")" : "";
- 0 != p.rotation && this.rotateHtml ? (f += "rotate(" + p.rotation + "," + c / 2 + "," + d / 2 + ")", b = this.rotatePoint((a + c / 2) * p.scale, (b + d / 2) * p.scale, p.rotation, p.rotationCx,
- p.rotationCy), a = b.x - c * p.scale / 2, b = b.y - d * p.scale / 2) : (a *= p.scale, b *= p.scale);
- 0 != n && (f += "rotate(" + n + "," + -e + "," + -l + ")");
- h.setAttribute("transform", "translate(" + Math.round(a) + "," + Math.round(b) + ")" + f);
- k.setAttribute("width", Math.round(Math.max(1, c)));
- k.setAttribute("height",
- Math.round(Math.max(1, d)))
- }
- } else this.plainText(a, b, c, d, e, f, g, h, l, m, n)
- }
-};
-mxSvgCanvas2D.prototype.createClip = function(a, b, c, d) {
- a = Math.round(a);
- b = Math.round(b);
- c = Math.round(c);
- d = Math.round(d);
- for (var e = "mx-clip-" + a + "-" + b + "-" + c + "-" + d, f = 0, g = e + "-" + f; null != document.getElementById(g);) g = e + "-" + ++f;
- clip = this.createElement("clipPath");
- clip.setAttribute("id", g);
- e = this.createElement("rect");
- e.setAttribute("x", a);
- e.setAttribute("y", b);
- e.setAttribute("width", c);
- e.setAttribute("height", d);
- clip.appendChild(e);
- return clip
-};
-mxSvgCanvas2D.prototype.plainText = function(a, b, c, d, e, f, g, h, k, l, m) {
- m = null != m ? m : 0;
- h = this.state;
- var n = Math.round(h.fontSize),
- p = this.createElement("g"),
- q = h.transform || "";
- 0 != m && (q += "rotate(" + m + "," + this.format(a * h.scale) + "," + this.format(b * h.scale) + ")");
- if (l && 0 < c && 0 < d) {
- var s = a;
- m = b;
- f == mxConstants.ALIGN_CENTER ? s -= c / 2 : f == mxConstants.ALIGN_RIGHT && (s -= c);
- g == mxConstants.ALIGN_MIDDLE ? m -= d / 2 : g == mxConstants.ALIGN_BOTTOM && (m -= d);
- m = this.createClip(s * h.scale - 2, m * h.scale - 2, c * h.scale + 4, d * h.scale + 4);
- null != this.defs ? this.defs.appendChild(m) :
- this.root.appendChild(m);
- p.setAttribute("clip-path", "url(#" + m.getAttribute("id") + ")")
- }
- this.updateFont(p, f);
- m = f == mxConstants.ALIGN_RIGHT ? "end" : f == mxConstants.ALIGN_CENTER ? "middle" : "start";
- "start" != m && p.setAttribute("text-anchor", m);
- (!this.styleEnabled || n != mxConstants.DEFAULT_FONTSIZE) && p.setAttribute("font-size", Math.round(n * h.scale) + "px");
- 0 < q.length && p.setAttribute("transform", q);
- 1 > h.alpha && p.setAttribute("opacity", h.alpha);
- var q = e.split("\n"),
- s = Math.round(n * mxConstants.LINE_HEIGHT),
- r = n + (q.length -
- 1) * s;
- m = b + n - 1;
- g == mxConstants.ALIGN_MIDDLE ? (d = (this.matchHtmlAlignment && l && 0 < d ? Math.min(r, d) : r) / 2, m -= d + 1) : g == mxConstants.ALIGN_BOTTOM && (d = this.matchHtmlAlignment && l && 0 < d ?
- Math.min(r, d) : r, m -= d + 2);
- for (d = 0; d < q.length; d++) 0 < q[d].length && 0 < mxUtils.trim(q[d]).length && (l = this.createElement("text"), l.setAttribute("x", this.format(a * h.scale)), l.setAttribute("y", this.format(
- m * h.scale)), mxUtils.write(l, q[d]), p.appendChild(l)), m += s;
- this.root.appendChild(p);
- this.addTextBackground(p, e, a, b, c, r, f, g, k)
-};
-mxSvgCanvas2D.prototype.updateFont = function(a) {
- var b = this.state;
- a.setAttribute("fill", b.fontColor);
- (!this.styleEnabled || b.fontFamily != mxConstants.DEFAULT_FONTFAMILY) && a.setAttribute("font-family", b.fontFamily);
- (b.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && a.setAttribute("font-weight", "bold");
- (b.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && a.setAttribute("font-style", "italic");
- (b.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && a.setAttribute("text-decoration",
- "underline")
-};
-mxSvgCanvas2D.prototype.addTextBackground = function(a, b, c, d, e, f, g, h, k) {
- var l = this.state;
- if (null != l.fontBackgroundColor || null != l.fontBorderColor) {
- var m = null;
- k ? (g == mxConstants.ALIGN_CENTER ? c -= e / 2 : g == mxConstants.ALIGN_RIGHT && (c -= e), h == mxConstants.ALIGN_MIDDLE ? d -= f / 2 : h == mxConstants.ALIGN_BOTTOM && (d -= f), m = new mxRectangle(
- (c + 1) * l.scale, d * l.scale, (e - 2) * l.scale, (f + 2) * l.scale)) : null != a.getBBox && this.root.ownerDocument == document ? (m = a.getBBox(), b = mxClient.IS_IE && mxClient.IS_SVG,
- m = new mxRectangle(m.x, m.y + (b ? 0 :
- 1), m.width, m.height + (b ? 1 : 0))) : (m = document.createElement("div"), m.style.lineHeight = Math.round(l.fontSize * mxConstants.LINE_HEIGHT) + "px", m.style.fontSize = Math.round(l.fontSize) +
- "px", m.style.fontFamily = l.fontFamily, m.style.whiteSpace = "nowrap", m.style.position = "absolute", m.style.visibility = "hidden", m.style.display = mxClient.IS_QUIRKS ? "inline" :
- "inline-block", m.style.zoom = "1", (l.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (m.style.fontWeight = "bold"), (l.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC &&
- (m.style.fontStyle = "italic"), b = mxUtils.htmlEntities(b, !1), m.innerHTML = b.replace(/\n/g, "\x3cbr/\x3e"), document.body.appendChild(m), e = m.offsetWidth, f = m.offsetHeight, m.parentNode
- .removeChild(m), g == mxConstants.ALIGN_CENTER ? c -= e / 2 : g == mxConstants.ALIGN_RIGHT && (c -= e), h == mxConstants.ALIGN_MIDDLE ? d -= f / 2 : h == mxConstants.ALIGN_BOTTOM && (d -= f),
- m = new mxRectangle((c + 1) * l.scale, (d + 2) * l.scale, e * l.scale, (f + 1) * l.scale));
- null != m && (b = this.createElement("rect"), b.setAttribute("fill", l.fontBackgroundColor || "none"), b.setAttribute("stroke",
- l.fontBorderColor || "none"), b.setAttribute("x", Math.floor(m.x - 1)), b.setAttribute("y", Math.floor(m.y - 1)), b.setAttribute("width", Math.ceil(m.width + 2)), b.setAttribute("height",
- Math.ceil(m.height)), l = null != l.fontBorderColor ? Math.max(1, this.format(l.scale)) : 0, b.setAttribute("stroke-width", l), this.root.ownerDocument == document && 1 == mxUtils.mod(l,
- 2) && b.setAttribute("transform", "translate(0.5, 0.5)"), a.insertBefore(b, a.firstChild))
- }
-};
-mxSvgCanvas2D.prototype.stroke = function() {
- this.addNode(!1, !0)
-};
-mxSvgCanvas2D.prototype.fill = function() {
- this.addNode(!0, !1)
-};
-mxSvgCanvas2D.prototype.fillAndStroke = function() {
- this.addNode(!0, !0)
-};
-var mxVmlCanvas2D = function(a) {
- mxAbstractCanvas2D.call(this);
- this.root = a
-};
-mxUtils.extend(mxVmlCanvas2D, mxAbstractCanvas2D);
-mxVmlCanvas2D.prototype.node = null;
-mxVmlCanvas2D.prototype.textEnabled = !0;
-mxVmlCanvas2D.prototype.moveOp = "m";
-mxVmlCanvas2D.prototype.lineOp = "l";
-mxVmlCanvas2D.prototype.curveOp = "c";
-mxVmlCanvas2D.prototype.closeOp = "x";
-mxVmlCanvas2D.prototype.rotatedHtmlBackground = "";
-mxVmlCanvas2D.prototype.vmlScale = 1;
-mxVmlCanvas2D.prototype.addNode = function(a, b) {
- var c = this.node,
- d = this.state;
- if (null != c) {
- if ("shape" == c.nodeName)
- if (null != this.path && 0 < this.path.length) c.path = this.path.join(" ") + " e", c.style.width = this.root.style.width, c.style.height = this.root.style.height, c.coordsize = parseInt(c.style
- .width) + " " + parseInt(c.style.height);
- else return;
- c.strokeweight = this.format(Math.max(1, d.strokeWidth * d.scale / this.vmlScale)) + "px";
- d.shadow && this.root.appendChild(this.createShadow(c, a && null != d.fillColor, b && null != d.strokeColor));
- b && null != d.strokeColor ? (c.stroked = "true", c.strokecolor = d.strokeColor) : c.stroked = "false";
- c.appendChild(this.createStroke());
- a && null != d.fillColor ? c.appendChild(this.createFill()) : this.pointerEvents && ("shape" != c.nodeName || this.path[this.path.length - 1] == this.closeOp) ? c.appendChild(this.createTransparentFill()) :
- c.filled = "false";
- this.root.appendChild(c)
- }
-};
-mxVmlCanvas2D.prototype.createTransparentFill = function() {
- var a = document.createElement(mxClient.VML_PREFIX + ":fill");
- a.src = mxClient.imageBasePath + "/transparent.gif";
- a.type = "tile";
- return a
-};
-mxVmlCanvas2D.prototype.createFill = function() {
- var a = this.state,
- b = document.createElement(mxClient.VML_PREFIX + ":fill");
- b.color = a.fillColor;
- if (null != a.gradientColor) {
- b.type = "gradient";
- b.method = "none";
- b.color2 = a.gradientColor;
- var c = 180 - a.rotation,
- c = a.gradientDirection == mxConstants.DIRECTION_WEST ? c - (90 + ("x" == this.root.style.flip ? 180 : 0)) : a.gradientDirection == mxConstants.DIRECTION_EAST ? c + (90 + ("x" == this.root.style
- .flip ? 180 : 0)) : a.gradientDirection == mxConstants.DIRECTION_NORTH ? c - (180 + ("y" == this.root.style.flip ?
- -180 : 0)) : c + ("y" == this.root.style.flip ? -180 : 0);
- if ("x" == this.root.style.flip || "y" == this.root.style.flip) c *= -1;
- b.angle = mxUtils.mod(c, 360);
- b.opacity = 100 * a.alpha * a.fillAlpha + "%";
- b.setAttribute(mxClient.OFFICE_PREFIX + ":opacity2", 100 * a.alpha * a.gradientAlpha + "%")
- } else 1 > a.alpha && (b.opacity = 100 * a.alpha + "%");
- return b
-};
-mxVmlCanvas2D.prototype.createStroke = function() {
- var a = this.state,
- b = document.createElement(mxClient.VML_PREFIX + ":stroke");
- b.endcap = a.lineCap || "flat";
- b.joinstyle = a.lineJoin || "miter";
- b.miterlimit = a.miterLimit || "10";
- 1 > a.alpha && (b.opacity = 100 * a.alpha + "%");
- a.dashed && (b.dashstyle = this.getVmlDashStyle());
- return b
-};
-mxVmlCanvas2D.prototype.getVmlDashStyle = function() {
- var a = "dash";
- if (null != this.state.dashPattern) {
- var b = this.state.dashPattern.split(" ");
- 0 < b.length && 1 == b[0] && (a = "0 2")
- }
- return a
-};
-mxVmlCanvas2D.prototype.createShadow = function(a, b, c) {
- var d = this.state,
- e = -d.rotation * (Math.PI / 180),
- f = Math.cos(e),
- e = Math.sin(e),
- g = d.shadowDx * d.scale,
- h = d.shadowDy * d.scale;
- "x" == this.root.style.flip ? g *= -1 : "y" == this.root.style.flip && (h *= -1);
- var k = a.cloneNode(!0);
- k.style.marginLeft = Math.round(g * f - h * e) + "px";
- k.style.marginTop = Math.round(g * e + h * f) + "px";
- 8 == document.documentMode && (k.strokeweight = a.strokeweight, "shape" == a.nodeName && (k.path = this.path.join(" ") + " e", k.style.width = this.root.style.width, k.style.height =
- this.root.style.height, k.coordsize = parseInt(a.style.width) + " " + parseInt(a.style.height)));
- c ? (k.strokecolor = d.shadowColor, k.appendChild(this.createShadowStroke())) : k.stroked = "false";
- b ? k.appendChild(this.createShadowFill()) : k.filled = "false";
- return k
-};
-mxVmlCanvas2D.prototype.createShadowFill = function() {
- var a = document.createElement(mxClient.VML_PREFIX + ":fill");
- a.color = this.state.shadowColor;
- a.opacity = 100 * this.state.alpha * this.state.shadowAlpha + "%";
- return a
-};
-mxVmlCanvas2D.prototype.createShadowStroke = function() {
- var a = this.createStroke();
- a.opacity = 100 * this.state.alpha * this.state.shadowAlpha + "%";
- return a
-};
-mxVmlCanvas2D.prototype.rotate = function(a, b, c, d, e) {
- b && c ? a += 180 : b ? this.root.style.flip = "x" : c && (this.root.style.flip = "y");
- if (b ? !c : c) a *= -1;
- this.root.style.rotation = a;
- this.state.rotation += a;
- this.state.rotationCx = d;
- this.state.rotationCy = e
-};
-mxVmlCanvas2D.prototype.begin = function() {
- mxAbstractCanvas2D.prototype.begin.apply(this, arguments);
- this.node = document.createElement(mxClient.VML_PREFIX + ":shape");
- this.node.style.position = "absolute"
-};
-mxVmlCanvas2D.prototype.quadTo = function(a, b, c, d) {
- var e = this.state,
- f = (this.lastX + e.dx) * e.scale,
- g = (this.lastY + e.dy) * e.scale;
- a = (a + e.dx) * e.scale;
- b = (b + e.dy) * e.scale;
- c = (c + e.dx) * e.scale;
- d = (d + e.dy) * e.scale;
- var g = g + 2 / 3 * (b - g),
- h = c + 2 / 3 * (a - c);
- b = d + 2 / 3 * (b - d);
- this.path.push("c " + this.format(f + 2 / 3 * (a - f)) + " " + this.format(g) + " " + this.format(h) + " " + this.format(b) + " " + this.format(c) + " " + this.format(d));
- this.lastX = c / e.scale - e.dx;
- this.lastY = d / e.scale - e.dy
-};
-mxVmlCanvas2D.prototype.createRect = function(a, b, c, d, e) {
- var f = this.state;
- a = document.createElement(a);
- a.style.position = "absolute";
- a.style.left = this.format((b + f.dx) * f.scale) + "px";
- a.style.top = this.format((c + f.dy) * f.scale) + "px";
- a.style.width = this.format(d * f.scale) + "px";
- a.style.height = this.format(e * f.scale) + "px";
- return a
-};
-mxVmlCanvas2D.prototype.rect = function(a, b, c, d) {
- this.node = this.createRect(mxClient.VML_PREFIX + ":rect", a, b, c, d)
-};
-mxVmlCanvas2D.prototype.roundrect = function(a, b, c, d, e, f) {
- this.node = this.createRect(mxClient.VML_PREFIX + ":roundrect", a, b, c, d);
- this.node.setAttribute("arcsize", Math.max(100 * e / c, 100 * f / d) + "%")
-};
-mxVmlCanvas2D.prototype.ellipse = function(a, b, c, d) {
- this.node = this.createRect(mxClient.VML_PREFIX + ":oval", a, b, c, d)
-};
-mxVmlCanvas2D.prototype.image = function(a, b, c, d, e, f, g, h) {
- var k = null;
- f ? (k = this.createRect(mxClient.VML_PREFIX + ":rect", a, b, c, d), k.stroked = "false", a = document.createElement(mxClient.VML_PREFIX + ":fill"), a.aspect = f ? "atmost" : "ignore", a.rotate =
- "true", a.type = "frame", a.src = e, k.appendChild(a)) : (k = this.createRect(mxClient.VML_PREFIX + ":image", a, b, c, d), k.src = e);
- g && h ? k.style.rotation = "180" : g ? k.style.flip = "x" : h && (k.style.flip = "y");
- 1 > this.state.alpha && (k.style.filter += "alpha(opacity\x3d" + 100 * this.state.alpha + ")");
- this.root.appendChild(k)
-};
-mxVmlCanvas2D.prototype.createDiv = function(a, b, c, d) {
- c = document.createElement("div");
- var e = this.state,
- f = "";
- null != e.fontBackgroundColor && (f += "background-color:" + e.fontBackgroundColor + ";");
- null != e.fontBorderColor && (f += "border:1px solid " + e.fontBorderColor + ";");
- mxUtils.isNode(a) ? c.appendChild(a) : 0 < f.length && !d ? (d = document.createElement("div"), d.style.cssText = f, d.style.display = mxClient.IS_QUIRKS ? "inline" : "inline-block", d.style.zoom =
- "1", d.innerHTML = a, c.appendChild(d)) : (c.style.cssText = f, c.innerHTML = a);
- a = c.style;
- a.fontSize = Math.round(e.fontSize / this.vmlScale) + "px";
- a.fontFamily = e.fontFamily;
- a.color = e.fontColor;
- a.verticalAlign = "top";
- a.textAlign = b || "left";
- a.lineHeight = Math.round(e.fontSize * mxConstants.LINE_HEIGHT / this.vmlScale) + "px";
- (e.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (a.fontWeight = "bold");
- (e.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (a.fontStyle = "italic");
- (e.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE && (a.fontDecoration = "underline");
- return c
-};
-mxVmlCanvas2D.prototype.text = function(a, b, c, d, e, f, g, h, k, l, m, n) {
- if (this.textEnabled && null != e) {
- var p = this.state;
- if ("html" == k) {
- null != p.rotation && (b = this.rotatePoint(a, b, p.rotation, p.rotationCx, p.rotationCy), a = b.x, b = b.y);
- 8 == document.documentMode ? (a += p.dx, b += p.dy) : (a *= p.scale, b *= p.scale);
- k = 8 == document.documentMode ? document.createElement(mxClient.VML_PREFIX + ":group") : document.createElement("div");
- k.style.position = "absolute";
- k.style.display = "inline";
- k.style.left = this.format(a) + "px";
- k.style.top = this.format(b) +
- "px";
- k.style.zoom = p.scale;
- var q = document.createElement("div");
- q.style.position = "relative";
- q.style.display = "inline";
- var s = mxUtils.getAlignmentAsPoint(f, g),
- r = s.x,
- s = s.y;
- e = this.createDiv(e, f, g, l);
- f = document.createElement("div");
- h ? (!m && 0 < c && (e.style.width = Math.round(c) + "px"), e.style.whiteSpace = "normal") : e.style.whiteSpace = "nowrap";
- h = p.rotation + (n || 0);
- this.rotateHtml && 0 != h ? (f.style.display = "inline", f.style.zoom = "1", f.appendChild(e), 8 == document.documentMode && "DIV" != this.root.nodeName ? (q.appendChild(f), k.appendChild(q)) :
- k.appendChild(f)) : 8 == document.documentMode ? (q.appendChild(e), k.appendChild(q)) : (e.style.display = "inline", k.appendChild(e));
- "DIV" != this.root.nodeName ? (n = document.createElement(mxClient.VML_PREFIX + ":rect"), n.stroked = "false", n.filled = "false", n.appendChild(k), this.root.appendChild(n)) : this.root.appendChild(
- k);
- m ? (e.style.overflow = "hidden", 0 < c && (e.style.width = Math.round(c) + "px"), 0 < d && 8 == document.documentMode && (e.style.maxHeight = Math.round(d) + "px")) : l && (e.style.width = c +
- "px", 0 < d && (e.style.maxHeight = Math.round(d) +
- "px"));
- if (this.rotateHtml && 0 != h) {
- c = h * (Math.PI / 180);
- h = parseFloat(parseFloat(Math.cos(c)).toFixed(8));
- n = parseFloat(parseFloat(Math.sin(-c)).toFixed(8));
- c %= 2 * Math.PI;
- 0 > c && (c += 2 * Math.PI);
- c %= Math.PI;
- c > Math.PI / 2 && (c = Math.PI - c);
- g = Math.cos(c);
- var t = Math.sin(c);
- 8 == document.documentMode && (e.style.display = "inline-block", f.style.display = "inline-block", q.style.display = "inline-block");
- e.style.visibility = "hidden";
- document.body.appendChild(e);
- c = e.offsetWidth;
- q = e.offsetHeight;
- if (mxClient.IS_QUIRKS && (m || l) && q > d) q =
- d, e.style.height = q + "px";
- d = q;
- m = (d - d * g + c * -t) / 2 - n * c * (r + 0.5) + h * d * (s + 0.5);
- l = (c - c * g + d * -t) / 2 + h * c * (r + 0.5) + n * d * (s + 0.5);
- "group" == k.nodeName && "DIV" == this.root.nodeName ? (r = document.createElement("div"), r.style.display = "inline-block", r.style.position = "absolute", r.style.left = this.format(a + (l -
- c / 2) * p.scale) + "px", r.style.top = this.format(b + (m - d / 2) * p.scale) + "px", k.parentNode.appendChild(r), r.appendChild(k)) : (p = 8 == document.documentMode ? 1 : p.scale, k.style
- .left = this.format(a + (l - c / 2) * p) + "px", k.style.top = this.format(b + (m -
- d / 2) * p) + "px");
- f.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11\x3d" + h + ", M12\x3d" + n + ", M21\x3d" + -n + ", M22\x3d" + h + ", sizingMethod\x3d'auto expand')";
- f.style.backgroundColor = this.rotatedHtmlBackground;
- 1 > this.state.alpha && (f.style.filter += "alpha(opacity\x3d" + 100 * this.state.alpha + ")");
- e.style.visibility = "";
- f.appendChild(e)
- } else 8 != document.documentMode ? (e.style.verticalAlign = "top", 1 > this.state.alpha && (k.style.filter = "alpha(opacity\x3d" + 100 * this.state.alpha + ")"), p = e.parentNode, e.style.visibility =
- "hidden", document.body.appendChild(e), c = e.offsetWidth, q = e.offsetHeight, mxClient.IS_QUIRKS && (m && q > d) && (q = d, e.style.height = q + "px"), d = q, e.style.visibility = "", p.appendChild(
- e), k.style.left = this.format(a + c * r * this.state.scale) + "px", k.style.top = this.format(b + d * s * this.state.scale) + "px") : (1 > this.state.alpha && (e.style.filter =
- "alpha(opacity\x3d" + 100 * this.state.alpha + ")"), q.style.left = 100 * r + "%", q.style.top = 100 * s + "%")
- } else this.plainText(a, b, c, d, mxUtils.htmlEntities(e, !1), f, g, h, k, l, m, n)
- }
-};
-mxVmlCanvas2D.prototype.plainText = function(a, b, c, d, e, f, g, h, k, l, m, n) {
- d = this.state;
- a = (a + d.dx) * d.scale;
- b = (b + d.dy) * d.scale;
- c = document.createElement(mxClient.VML_PREFIX + ":shape");
- c.style.width = "1px";
- c.style.height = "1px";
- c.stroked = "false";
- l = document.createElement(mxClient.VML_PREFIX + ":fill");
- l.color = d.fontColor;
- l.opacity = 100 * d.alpha + "%";
- c.appendChild(l);
- l = document.createElement(mxClient.VML_PREFIX + ":path");
- l.textpathok = "true";
- l.v = "m " + this.format(0) + " " + this.format(0) + " l " + this.format(1) + " " + this.format(0);
- c.appendChild(l);
- l = document.createElement(mxClient.VML_PREFIX + ":textpath");
- l.style.cssText = "v-text-align:" + f;
- l.style.align = f;
- l.style.fontFamily = d.fontFamily;
- l.string = e;
- l.on = "true";
- f = Math.round(d.fontSize * d.scale / this.vmlScale);
- l.style.fontSize = f + "px";
- (d.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD && (l.style.fontWeight = "bold");
- (d.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC && (l.style.fontStyle = "italic");
- (d.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE &&
- (l.style.textDecoration = "underline");
- e = e.split("\n");
- d = f + (e.length - 1) * f * mxConstants.LINE_HEIGHT;
- f = e = 0;
- g == mxConstants.ALIGN_BOTTOM ? f = -d / 2 : g != mxConstants.ALIGN_MIDDLE && (f = d / 2);
- null != n && (c.style.rotation = n, g = n * (Math.PI / 180), e = Math.sin(g) * f, f *= Math.cos(g));
- c.appendChild(l);
- c.style.left = this.format(a - e) + "px";
- c.style.top = this.format(b + f) + "px";
- this.root.appendChild(c)
-};
-mxVmlCanvas2D.prototype.stroke = function() {
- this.addNode(!1, !0)
-};
-mxVmlCanvas2D.prototype.fill = function() {
- this.addNode(!0, !1)
-};
-mxVmlCanvas2D.prototype.fillAndStroke = function() {
- this.addNode(!0, !0)
-};
-
-function mxGuide(a, b) {
- this.graph = a;
- this.setStates(b)
-}
-mxGuide.prototype.graph = null;
-mxGuide.prototype.states = null;
-mxGuide.prototype.horizontal = !0;
-mxGuide.prototype.vertical = !0;
-mxGuide.prototype.guideX = null;
-mxGuide.prototype.guideY = null;
-mxGuide.prototype.setStates = function(a) {
- this.states = a
-};
-mxGuide.prototype.isEnabledForEvent = function(a) {
- return !0
-};
-mxGuide.prototype.getGuideTolerance = function() {
- return this.graph.gridSize * this.graph.view.scale / 2
-};
-mxGuide.prototype.createGuideShape = function(a) {
- a = new mxPolyline([], mxConstants.GUIDE_COLOR, mxConstants.GUIDE_STROKEWIDTH);
- a.isDashed = !0;
- return a
-};
-mxGuide.prototype.move = function(a, b, c) {
- if (null != this.states && (this.horizontal || this.vertical) && null != a && null != b) {
- var d = this.graph.getView().translate,
- e = this.graph.getView().scale,
- f = b.x,
- g = b.y,
- h = !1,
- k = !1,
- l = this.getGuideTolerance(),
- m = l,
- n = l,
- l = a.clone();
- l.x += b.x;
- l.y += b.y;
- var p = l.x,
- q = l.x + l.width,
- s = l.getCenterX(),
- r = l.y,
- t = l.y + l.height,
- v = l.getCenterY();
- b = function(b) {
- b += this.graph.panDx;
- var c = !1;
- Math.abs(b - s) < m ? (f = b - a.getCenterX(), m = Math.abs(b - s), c = !0) : Math.abs(b - p) < m ? (f = b - a.x, m = Math.abs(b - p), c = !0) : Math.abs(b -
- q) < m && (f = b - a.x - a.width, m = Math.abs(b - q), c = !0);
- if (c) {
- null == this.guideX && (this.guideX = this.createGuideShape(!0), this.guideX.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG,
- this.guideX.pointerEvents = !1, this.guideX.init(this.graph.getView().getOverlayPane()));
- var d = this.graph.container;
- b -= this.graph.panDx;
- this.guideX.points = [new mxPoint(b, -this.graph.panDy), new mxPoint(b, d.scrollHeight - 3 - this.graph.panDy)]
- }
- h = h || c
- };
- for (var l = function(b) {
- b += this.graph.panDy;
- var c = !1;
- Math.abs(b - v) < n ? (g = b - a.getCenterY(), n = Math.abs(b - v), c = !0) : Math.abs(b - r) < n ? (g = b - a.y, n = Math.abs(b - r), c = !0) : Math.abs(b - t) < n && (g = b - a.y - a.height,
- n = Math.abs(b - t), c = !0);
- if (c) {
- null == this.guideY && (this.guideY = this.createGuideShape(!1), this.guideY.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG,
- this.guideY.pointerEvents = !1, this.guideY.init(this.graph.getView().getOverlayPane()));
- var d = this.graph.container;
- b -= this.graph.panDy;
- this.guideY.points = [new mxPoint(-this.graph.panDx,
- b), new mxPoint(d.scrollWidth - 3 - this.graph.panDx, b)]
- }
- k = k || c
- }, w = 0; w < this.states.length; w++) {
- var u = this.states[w];
- null != u && (this.horizontal && (b.call(this, u.getCenterX()), b.call(this, u.x), b.call(this, u.x + u.width)), this.vertical && (l.call(this, u.getCenterY()), l.call(this, u.y), l.call(this,
- u.y + u.height)))
- }!h && null != this.guideX ? this.guideX.node.style.visibility = "hidden" : null != this.guideX && (this.guideX.node.style.visibility = "visible", this.guideX.redraw());
- !k && null != this.guideY ? this.guideY.node.style.visibility =
- "hidden" : null != this.guideY && (this.guideY.node.style.visibility = "visible", this.guideY.redraw());
- c && (h || (c = a.x - (this.graph.snap(a.x / e - d.x) + d.x) * e, f = this.graph.snap(f / e) * e - c), k || (d = a.y - (this.graph.snap(a.y / e - d.y) + d.y) * e, g = this.graph.snap(g / e) * e -
- d));
- b = new mxPoint(f, g)
- }
- return b
-};
-mxGuide.prototype.hide = function() {
- null != this.guideX && (this.guideX.node.style.visibility = "hidden");
- null != this.guideY && (this.guideY.node.style.visibility = "hidden")
-};
-mxGuide.prototype.destroy = function() {
- null != this.guideX && (this.guideX.destroy(), this.guideX = null);
- null != this.guideY && (this.guideY.destroy(), this.guideY = null)
-};
-
-function mxStencil(a) {
- this.desc = a;
- this.parseDescription();
- this.parseConstraints()
-}
-mxStencil.defaultLocalized = !1;
-mxStencil.prototype.desc = null;
-mxStencil.prototype.constraints = null;
-mxStencil.prototype.aspect = null;
-mxStencil.prototype.w0 = null;
-mxStencil.prototype.h0 = null;
-mxStencil.prototype.bgNode = null;
-mxStencil.prototype.fgNode = null;
-mxStencil.prototype.strokewidth = null;
-mxStencil.prototype.parseDescription = function() {
- this.fgNode = this.desc.getElementsByTagName("foreground")[0];
- this.bgNode = this.desc.getElementsByTagName("background")[0];
- this.w0 = Number(this.desc.getAttribute("w") || 100);
- this.h0 = Number(this.desc.getAttribute("h") || 100);
- var a = this.desc.getAttribute("aspect");
- this.aspect = null != a ? a : "variable";
- a = this.desc.getAttribute("strokewidth");
- this.strokewidth = null != a ? a : "1"
-};
-mxStencil.prototype.parseConstraints = function() {
- var a = this.desc.getElementsByTagName("connections")[0];
- if (null != a && (a = mxUtils.getChildNodes(a), null != a && 0 < a.length)) {
- this.constraints = [];
- for (var b = 0; b < a.length; b++) this.constraints.push(this.parseConstraint(a[b]))
- }
-};
-mxStencil.prototype.parseConstraint = function(a) {
- var b = Number(a.getAttribute("x")),
- c = Number(a.getAttribute("y"));
- a = "1" == a.getAttribute("perimeter");
- return new mxConnectionConstraint(new mxPoint(b, c), a)
-};
-mxStencil.prototype.evaluateTextAttribute = function(a, b, c) {
- b = this.evaluateAttribute(a, b, c);
- a = a.getAttribute("localized");
- if (mxStencil.defaultLocalized && null == a || "1" == a) b = mxResources.get(b);
- return b
-};
-mxStencil.prototype.evaluateAttribute = function(a, b, c) {
- b = a.getAttribute(b);
- null == b && (a = mxUtils.getTextContent(a), null != a && (a = mxUtils.eval(a), "function" == typeof a && (b = a(c))));
- return b
-};
-mxStencil.prototype.drawShape = function(a, b, c, d, e, f) {
- this.drawChildren(a, b, c, d, e, f, this.bgNode, !1);
- this.drawChildren(a, b, c, d, e, f, this.fgNode, !0)
-};
-mxStencil.prototype.drawChildren = function(a, b, c, d, e, f, g, h) {
- if (null != g) {
- var k = mxUtils.getValue(b.style, mxConstants.STYLE_DIRECTION, null);
- c = this.computeAspect(b.style, c, d, e, f, k);
- d = Math.min(c.width, c.height);
- d = "inherit" == this.strokewidth ? Number(mxUtils.getNumber(b.style, mxConstants.STYLE_STROKEWIDTH, 1)) : Number(this.strokewidth) * d;
- a.setStrokeWidth(d);
- for (g = g.firstChild; null != g;) g.nodeType == mxConstants.NODETYPE_ELEMENT && this.drawNode(a, b, g, c, h), g = g.nextSibling
- }
-};
-mxStencil.prototype.computeAspect = function(a, b, c, d, e, f) {
- a = b;
- b = d / this.w0;
- var g = e / this.h0;
- if (f = "north" == f || "south" == f) {
- g = d / this.h0;
- b = e / this.w0;
- var h = (d - e) / 2;
- a += h;
- c -= h
- }
- "fixed" == this.aspect && (b = g = Math.min(b, g), f ? (a += (e - this.w0 * b) / 2, c += (d - this.h0 * g) / 2) : (a += (d - this.w0 * b) / 2, c += (e - this.h0 * g) / 2));
- return new mxRectangle(a, c, b, g)
-};
-mxStencil.prototype.drawNode = function(a, b, c, d, e) {
- var f = c.nodeName,
- g = d.x,
- h = d.y,
- k = d.width,
- l = d.height,
- m = Math.min(k, l);
- if ("save" == f) a.save();
- else if ("restore" == f) a.restore();
- else if ("path" == f) {
- a.begin();
- for (c = c.firstChild; null != c;) c.nodeType == mxConstants.NODETYPE_ELEMENT && this.drawNode(a, b, c, d, e), c = c.nextSibling
- } else if ("close" == f) a.close();
- else if ("move" == f) a.moveTo(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l);
- else if ("line" == f) a.lineTo(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) *
- l);
- else if ("quad" == f) a.quadTo(g + Number(c.getAttribute("x1")) * k, h + Number(c.getAttribute("y1")) * l, g + Number(c.getAttribute("x2")) * k, h + Number(c.getAttribute("y2")) * l);
- else if ("curve" == f) a.curveTo(g + Number(c.getAttribute("x1")) * k, h + Number(c.getAttribute("y1")) * l, g + Number(c.getAttribute("x2")) * k, h + Number(c.getAttribute("y2")) * l, g + Number(
- c.getAttribute("x3")) * k, h + Number(c.getAttribute("y3")) * l);
- else if ("arc" == f) a.arcTo(Number(c.getAttribute("rx")) * k, Number(c.getAttribute("ry")) * l, Number(c.getAttribute("x-axis-rotation")),
- Number(c.getAttribute("large-arc-flag")), Number(c.getAttribute("sweep-flag")), g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l);
- else if ("rect" == f) a.rect(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l);
- else if ("roundrect" == f) b = c.getAttribute("arcsize"), 0 == b && (b = 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR), m = Number(c.getAttribute("w")) * k, d = Number(c.getAttribute("h")) * l, b =
- Number(b) / 100, b = Math.min(m * b, d * b), a.roundrect(g +
- Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, m, d, b, b);
- else if ("ellipse" == f) a.ellipse(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute("h")) * l);
- else if ("image" == f) b = this.evaluateAttribute(c, "src", b), a.image(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, Number(c.getAttribute("w")) * k, Number(c.getAttribute(
- "h")) * l, b, !1, "1" == c.getAttribute("flipH"), "1" == c.getAttribute("flipV"));
- else if ("text" == f) {
- m = this.evaluateTextAttribute(c,
- "str", b);
- d = "1" == c.getAttribute("vertical") ? -90 : 0;
- if ("0" == c.getAttribute("align-shape")) {
- var n = b.rotation,
- p = 1 == mxUtils.getValue(b.style, mxConstants.STYLE_FLIPH, 0);
- b = 1 == mxUtils.getValue(b.style, mxConstants.STYLE_FLIPV, 0);
- d = p && b ? d - n : p || b ? d + n : d - n
- }
- d -= c.getAttribute("rotation");
- a.text(g + Number(c.getAttribute("x")) * k, h + Number(c.getAttribute("y")) * l, 0, 0, m, c.getAttribute("align") || "left", c.getAttribute("valign") || "top", !1, "", !1, !1, d)
- } else if ("include-shape" == f) n = mxStencilRegistry.getStencil(c.getAttribute("name")),
- null != n && (g += Number(c.getAttribute("x")) * k, h += Number(c.getAttribute("y")) * l, m = Number(c.getAttribute("w")) * k, d = Number(c.getAttribute("h")) * l, n.drawShape(a, b, g, h, m, d));
- else if ("fillstroke" == f) a.fillAndStroke();
- else if ("fill" == f) a.fill();
- else if ("stroke" == f) a.stroke();
- else if ("strokewidth" == f) a.setStrokeWidth(Number(c.getAttribute("width")) * m);
- else if ("dashed" == f) a.setDashed("1" == c.getAttribute("dashed"));
- else if ("dashpattern" == f) {
- if (c = c.getAttribute("pattern"), null != c) {
- c = c.split(" ");
- k = [];
- for (l = 0; l <
- c.length; l++) 0 < c[l].length && k.push(Number(c[l]) * m);
- c = k.join(" ");
- a.setDashPattern(c)
- }
- } else "strokecolor" == f ? a.setStrokeColor(c.getAttribute("color")) : "linecap" == f ? a.setLineCap(c.getAttribute("cap")) : "linejoin" == f ? a.setLineJoin(c.getAttribute("join")) :
- "miterlimit" == f ? a.setMiterLimit(Number(c.getAttribute("limit"))) : "fillcolor" == f ? a.setFillColor(c.getAttribute("color")) : "alpha" == f ? a.setAlpha(c.getAttribute("alpha")) :
- "fontcolor" == f ? a.setFontColor(c.getAttribute("color")) : "fontstyle" == f ? a.setFontStyle(c.getAttribute("style")) :
- "fontfamily" == f ? a.setFontFamily(c.getAttribute("family")) : "fontsize" == f && a.setFontSize(Number(c.getAttribute("size")) * m);
- e && ("fillstroke" == f || "fill" == f || "stroke" == f) && a.setShadow(!1)
-};
-
-function mxShape(a) {
- this.stencil = a;
- this.strokewidth = 1;
- this.rotation = 0;
- this.opacity = 100;
- this.flipV = this.flipH = !1
-}
-mxShape.prototype.dialect = null;
-mxShape.prototype.scale = 1;
-mxShape.prototype.bounds = null;
-mxShape.prototype.points = null;
-mxShape.prototype.node = null;
-mxShape.prototype.style = null;
-mxShape.prototype.style = null;
-mxShape.prototype.boundingBox = null;
-mxShape.prototype.stencil = null;
-mxShape.prototype.svgStrokeTolerance = 6;
-mxShape.prototype.pointerEvents = !0;
-mxShape.prototype.stencilPointerEvents = !1;
-mxShape.prototype.vmlScale = 1;
-mxShape.prototype.init = function(a) {
- null == this.node && (this.node = this.create(a), null != a && a.appendChild(this.node))
-};
-mxShape.prototype.isParseVml = function() {
- return !0
-};
-mxShape.prototype.isHtmlAllowed = function() {
- return !1
-};
-mxShape.prototype.getSvgScreenOffset = function() {
- return 1 == mxUtils.mod(Math.max(1, Math.round(this.strokewidth * this.scale)), 2) ? 0.5 : 0
-};
-mxShape.prototype.create = function(a) {
- var b = null;
- return b = null != a.ownerSVGElement ? this.createSvg(a) : 8 == document.documentMode || this.dialect == mxConstants.DIALECT_SVG || this.dialect != mxConstants.DIALECT_VML && this.isHtmlAllowed() ?
- this.createHtml(a) : this.createVml(a)
-};
-mxShape.prototype.createSvg = function() {
- return document.createElementNS(mxConstants.NS_SVG, "g")
-};
-mxShape.prototype.createVml = function() {
- var a = document.createElement(mxClient.VML_PREFIX + ":group");
- a.style.position = "absolute";
- return a
-};
-mxShape.prototype.createHtml = function() {
- var a = document.createElement("div");
- a.style.position = "absolute";
- return a
-};
-mxShape.prototype.reconfigure = function() {
- this.redraw()
-};
-mxShape.prototype.redraw = function() {
- this.updateBoundsFromPoints();
- this.checkBounds() ? (this.node.style.visibility = "", "DIV" == this.node.nodeName && this.isHtmlAllowed() ? this.redrawHtmlShape() : this.redrawShape(), this.updateBoundingBox()) : (this.node.style
- .visibility = "hidden", this.boundingBox = null)
-};
-mxShape.prototype.updateBoundsFromPoints = function() {
- var a = this.points;
- if (null != a && 0 < a.length && null != a[0]) {
- this.bounds = new mxRectangle(Number(a[0].x), Number(a[0].y), 1, 1);
- for (var b = 1; b < this.points.length; b++) null != a[b] && this.bounds.add(new mxRectangle(Number(a[b].x), Number(a[b].y), 1, 1))
- }
-};
-mxShape.prototype.checkBounds = function() {
- return null != this.bounds && !isNaN(this.bounds.x) && !isNaN(this.bounds.y) && !isNaN(this.bounds.width) && !isNaN(this.bounds.height) && 0 < this.bounds.width && 0 < this.bounds.height
-};
-mxShape.prototype.createVmlGroup = function() {
- var a = document.createElement(mxClient.VML_PREFIX + ":group");
- a.style.position = "absolute";
- a.style.width = this.node.style.width;
- a.style.height = this.node.style.height;
- return a
-};
-mxShape.prototype.redrawShape = function() {
- var a = this.createCanvas();
- for (a.pointerEvents = this.pointerEvents; this.node.hasChildNodes();) this.node.removeChild(this.node.lastChild);
- this.paint(a);
- this.node != a.root && this.node.insertAdjacentHTML("beforeend", a.root.outerHTML);
- "DIV" == this.node.nodeName && 8 == document.documentMode && (this.node.style.filter = "", (null == this.stencil || !this.stencilPointerEvents) && mxUtils.addTransparentBackgroundFilter(this.node));
- this.destroyCanvas(a)
-};
-mxShape.prototype.createCanvas = function() {
- var a = null,
- b = null;
- if (null != this.node.ownerSVGElement) a = new mxSvgCanvas2D(this.node, !1), a.strokeTolerance = this.svgStrokeTolerance, a.blockImagePointerEvents = mxClient.IS_NS && !mxClient.IS_SF && !
- mxClient.IS_GC, b = this.getSvgScreenOffset(), 0 != b ? this.node.setAttribute("transform", "translate(" + b + "," + b + ")") : this.node.removeAttribute("transform");
- else {
- this.updateVmlContainer();
- var c = Math.max(1, Math.round(this.bounds.width)),
- d = Math.max(1, Math.round(this.bounds.height)),
- b = 8 == document.documentMode && this.isParseVml() ? this.createVmlGroup() : this.node,
- a = new mxVmlCanvas2D(b, !1);
- "" != b.tagUrn && (b.coordsize = c * this.vmlScale + "," + d * this.vmlScale, a.scale(this.vmlScale), a.vmlScale = this.vmlScale);
- b = this.scale;
- a.translate(-Math.round(this.bounds.x / b), -Math.round(this.bounds.y / b))
- }
- return a
-};
-mxShape.prototype.updateVmlContainer = function() {
- this.node.style.left = Math.round(this.bounds.x) + "px";
- this.node.style.top = Math.round(this.bounds.y) + "px";
- var a = Math.max(1, Math.round(this.bounds.width)),
- b = Math.max(1, Math.round(this.bounds.height));
- this.node.style.width = a + "px";
- this.node.style.height = b + "px";
- this.node.style.overflow = "visible"
-};
-mxShape.prototype.destroyCanvas = function(a) {
- if (a instanceof mxSvgCanvas2D) {
- for (var b in a.gradients) {
- var c = a.gradients[b];
- c.mxRefCount = (c.mxRefCount || 0) + 1
- }
- this.releaseSvgGradients(this.oldGradients);
- this.oldGradients = a.gradients
- }
-};
-mxShape.prototype.paint = function(a) {
- var b = this.scale,
- c = this.bounds.x / b,
- d = this.bounds.y / b,
- e = this.bounds.width / b,
- f = this.bounds.height / b;
- if (this.isPaintBoundsInverted()) var g = (e - f) / 2,
- c = c + g,
- d = d - g,
- g = e,
- e = f,
- f = g;
- this.updateTransform(a, c, d, e, f);
- this.configureCanvas(a, c, d, e, f);
- if (null != this.stencil) this.paintStencilShape(a, c, d, e, f);
- else if (a.setStrokeWidth(this.strokewidth), null != this.points) {
- c = [];
- for (d = 0; d < this.points.length; d++) c.push(new mxPoint(this.points[d].x / b, this.points[d].y / b));
- this.paintEdgeShape(a,
- c)
- } else this.paintVertexShape(a, c, d, e, f)
-};
-mxShape.prototype.configureCanvas = function(a, b, c, d, e) {
- var f = null;
- null != this.style && (f = this.style.dashPattern);
- a.setAlpha(this.opacity / 100);
- null != this.isShadow && a.setShadow(this.isShadow);
- null != this.isDashed && a.setDashed(this.isDashed);
- null != f && a.setDashPattern(f);
- null != this.gradient ? (b = this.getGradientBounds(a, b, c, d, e), a.setGradient(this.fill, this.gradient, b.x, b.y, b.width, b.height, this.gradientDirection)) : a.setFillColor(this.fill);
- a.setStrokeColor(this.stroke)
-};
-mxShape.prototype.getGradientBounds = function(a, b, c, d, e) {
- return new mxRectangle(b, c, d, e)
-};
-mxShape.prototype.updateTransform = function(a, b, c, d, e) {
- a.scale(this.scale);
- a.rotate(this.getShapeRotation(), this.flipH, this.flipV, b + d / 2, c + e / 2)
-};
-mxShape.prototype.paintStencilShape = function(a, b, c, d, e) {
- this.stencilPointerEvents && (this.dialect == mxConstants.DIALECT_SVG ? this.addTransparentBackgroundRectangle(this.node, b, c, d, e) : 8 != document.documentMode && this.setTransparentBackgroundImage(
- this.node));
- this.stencil.drawShape(a, this, b, c, d, e)
-};
-mxShape.prototype.paintVertexShape = function(a, b, c, d, e) {
- this.paintBackground(a, b, c, d, e);
- a.setShadow(!1);
- this.paintForeground(a, b, c, d, e)
-};
-mxShape.prototype.paintBackground = function(a, b, c, d, e) {};
-mxShape.prototype.paintForeground = function(a, b, c, d, e) {};
-mxShape.prototype.paintEdgeShape = function(a, b) {};
-mxShape.prototype.getArcSize = function(a, b) {
- var c = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100;
- return Math.min(a * c, b * c)
-};
-mxShape.prototype.paintGlassEffect = function(a, b, c, d, e, f) {
- var g = Math.ceil(this.strokewidth / 2);
- a.setGradient("#ffffff", "#ffffff", b, c, d, 0.6 * e, "south", 0.9, 0.1);
- a.begin();
- f += 2 * g;
- this.isRounded ? (a.moveTo(b - g + f, c - g), a.quadTo(b - g, c - g, b - g, c - g + f), a.lineTo(b - g, c + 0.4 * e), a.quadTo(b + 0.5 * d, c + 0.7 * e, b + d + g, c + 0.4 * e), a.lineTo(b + d +
- g, c - g + f), a.quadTo(b + d + g, c - g, b + d + g - f, c - g)) : (a.moveTo(b - g, c - g), a.lineTo(b - g, c + 0.4 * e), a.quadTo(b + 0.5 * d, c + 0.7 * e, b + d + g, c + 0.4 * e), a.lineTo(
- b + d + g, c - g));
- a.close();
- a.fill()
-};
-mxShape.prototype.apply = function(a) {
- this.state = a;
- this.style = a.style;
- if (null != this.style) {
- this.fill = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, this.fill);
- this.gradient = mxUtils.getValue(this.style, mxConstants.STYLE_GRADIENTCOLOR, this.gradient);
- this.gradientDirection = mxUtils.getValue(this.style, mxConstants.STYLE_GRADIENT_DIRECTION, this.gradientDirection);
- this.opacity = mxUtils.getValue(this.style, mxConstants.STYLE_OPACITY, this.opacity);
- this.stroke = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR,
- this.stroke);
- this.strokewidth = mxUtils.getNumber(this.style, mxConstants.STYLE_STROKEWIDTH, this.strokewidth);
- this.spacing = mxUtils.getValue(this.style, mxConstants.STYLE_SPACING, this.spacing);
- this.startSize = mxUtils.getNumber(this.style, mxConstants.STYLE_STARTSIZE, this.startSize);
- this.endSize = mxUtils.getNumber(this.style, mxConstants.STYLE_ENDSIZE, this.endSize);
- this.startArrow = mxUtils.getValue(this.style, mxConstants.STYLE_STARTARROW, this.startArrow);
- this.endArrow = mxUtils.getValue(this.style, mxConstants.STYLE_ENDARROW,
- this.endArrow);
- this.rotation = mxUtils.getValue(this.style, mxConstants.STYLE_ROTATION, this.rotation);
- this.direction = mxUtils.getValue(this.style, mxConstants.STYLE_DIRECTION, this.direction);
- this.flipH = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_FLIPH, 0);
- this.flipV = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_FLIPV, 0);
- null != this.stencil && (this.flipH = 1 == mxUtils.getValue(this.style, "stencilFlipH", 0) || this.flipH, this.flipV = 1 == mxUtils.getValue(this.style, "stencilFlipV", 0) || this.flipV);
- if ("north" ==
- this.direction || "south" == this.direction) a = this.flipH, this.flipH = this.flipV, this.flipV = a;
- this.isShadow = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_SHADOW, this.isShadow);
- this.isDashed = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_DASHED, this.isDashed);
- this.isRounded = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_ROUNDED, this.isRounded);
- this.glass = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_GLASS, this.glass);
- "none" == this.fill && (this.fill = null);
- "none" == this.gradient && (this.gradient = null);
- "none" == this.stroke && (this.stroke = null)
- }
-};
-mxShape.prototype.setCursor = function(a) {
- null == a && (a = "");
- this.cursor = a;
- null != this.node && (this.node.style.cursor = a)
-};
-mxShape.prototype.getCursor = function() {
- return this.cursor
-};
-mxShape.prototype.updateBoundingBox = function() {
- if (null != this.bounds) {
- var a = this.createBoundingBox();
- if (null != a) {
- this.augmentBoundingBox(a);
- var b = this.getShapeRotation();
- 0 != b && (a = mxUtils.getBoundingBox(a, b));
- a.x = Math.floor(a.x);
- a.y = Math.floor(a.y);
- a.width = Math.ceil(a.width);
- a.height = Math.ceil(a.height)
- }
- this.boundingBox = a
- }
-};
-mxShape.prototype.createBoundingBox = function() {
- var a = this.bounds.clone();
- if (this.isPaintBoundsInverted()) {
- var b = (a.width - a.height) / 2;
- a.x += b;
- a.y -= b;
- b = a.width;
- a.width = a.height;
- a.height = b
- }
- return a
-};
-mxShape.prototype.augmentBoundingBox = function(a) {
- this.isShadow && (a.width += Math.ceil(mxConstants.SHADOW_OFFSET_X * this.scale), a.height += Math.ceil(mxConstants.SHADOW_OFFSET_Y * this.scale));
- var b = Math.ceil(this.strokewidth * this.scale);
- a.grow(Math.ceil(b / 2))
-};
-mxShape.prototype.isPaintBoundsInverted = function() {
- return null == this.stencil && ("north" == this.direction || "south" == this.direction)
-};
-mxShape.prototype.getRotation = function() {
- return null != this.rotation ? this.rotation : 0
-};
-mxShape.prototype.getTextRotation = function() {
- var a = this.getRotation();
- 1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1) && (a += mxText.prototype.verticalTextRotation);
- return a
-};
-mxShape.prototype.getShapeRotation = function() {
- var a = this.getRotation();
- null != this.direction && ("north" == this.direction ? a += 270 : "west" == this.direction ? a += 180 : "south" == this.direction && (a += 90));
- return a
-};
-mxShape.prototype.addTransparentBackgroundRectangle = function(a, b, c, d, e) {
- a = document.createElementNS(mxConstants.NS_SVG, "rect");
- a.setAttribute("x", b);
- a.setAttribute("y", c);
- a.setAttribute("width", d);
- a.setAttribute("height", e);
- a.setAttribute("fill", "none");
- a.setAttribute("stroke", "none");
- a.setAttribute("pointer-events", "all");
- this.node.appendChild(a)
-};
-mxShape.prototype.setTransparentBackgroundImage = function(a) {
- a.style.backgroundImage = "url('" + mxClient.imageBasePath + "/transparent.gif')"
-};
-mxShape.prototype.releaseSvgGradients = function(a) {
- if (null != a)
- for (var b in a) {
- var c = a[b];
- c.mxRefCount = (c.mxRefCount || 0) - 1;
- 0 == c.mxRefCount && null != c.parentNode && c.parentNode.removeChild(c)
- }
-};
-mxShape.prototype.destroy = function() {
- null != this.node && (mxEvent.release(this.node), null != this.node.parentNode && this.node.parentNode.removeChild(this.node), this.node = null);
- this.releaseSvgGradients(this.oldGradients);
- this.oldGradients = null
-};
-var mxStencilRegistry = {
- stencils: [],
- addStencil: function(a, b) {
- mxStencilRegistry.stencils[a] = b
- },
- getStencil: function(a) {
- return mxStencilRegistry.stencils[a]
- }
- },
- mxMarker = {
- markers: [],
- addMarker: function(a, b) {
- mxMarker.markers[a] = b
- },
- createMarker: function(a, b, c, d, e, f, g, h, k, l) {
- var m = mxMarker.markers[c];
- return null != m ? m(a, b, c, d, e, f, g, h, k, l) : null
- }
- };
-(function() {
- function a(a, b, e, f, g, h, k, l, m, n) {
- b = 1.118 * g * m;
- l = 1.118 * h * m;
- g *= k + m;
- h *= k + m;
- var p = f.clone();
- p.x -= b;
- p.y -= l;
- k = e != mxConstants.ARROW_CLASSIC ? 1 : 0.75;
- f.x += -g * k - b;
- f.y += -h * k - l;
- return function() {
- a.begin();
- a.moveTo(p.x, p.y);
- a.lineTo(p.x - g - h / 2, p.y - h + g / 2);
- e == mxConstants.ARROW_CLASSIC && a.lineTo(p.x - 3 * g / 4, p.y - 3 * h / 4);
- a.lineTo(p.x + h / 2 - g, p.y - h - g / 2);
- a.close();
- n ? a.fillAndStroke() : a.stroke()
- }
- }
-
- function b(a, b, e, f, g, h, k, l, m, n) {
- l = e == mxConstants.ARROW_DIAMOND ? 0.7071 : 0.9862;
- b = g * m * l;
- l *= h * m;
- g *= k + m;
- h *= k + m;
- var p = f.clone();
- p.x -= b;
- p.y -= l;
- f.x += -g - b;
- f.y += -h - l;
- var q = e == mxConstants.ARROW_DIAMOND ? 2 : 3.4;
- return function() {
- a.begin();
- a.moveTo(p.x, p.y);
- a.lineTo(p.x - g / 2 - h / q, p.y + g / q - h / 2);
- a.lineTo(p.x - g, p.y - h);
- a.lineTo(p.x - g / 2 + h / q, p.y - h / 2 - g / q);
- a.close();
- n ? a.fillAndStroke() : a.stroke()
- }
- }
- mxMarker.addMarker("classic", a);
- mxMarker.addMarker("block", a);
- mxMarker.addMarker("open", function(a, b, e, f, g, h, k, l, m, n) {
- b = 1.118 * g * m;
- e = 1.118 * h * m;
- g *= k + m;
- h *= k + m;
- var p = f.clone();
- p.x -= b;
- p.y -= e;
- f.x += 2 * -b;
- f.y += 2 * -e;
- return function() {
- a.begin();
- a.moveTo(p.x - g -
- h / 2, p.y - h + g / 2);
- a.lineTo(p.x, p.y);
- a.lineTo(p.x + h / 2 - g, p.y - h - g / 2);
- a.stroke()
- }
- });
- mxMarker.addMarker("oval", function(a, b, e, f, g, h, k, l, m, n) {
- var p = k / 2,
- q = f.clone();
- f.x -= g * p;
- f.y -= h * p;
- return function() {
- a.ellipse(q.x - p, q.y - p, k, k);
- n ? a.fillAndStroke() : a.stroke()
- }
- });
- mxMarker.addMarker("diamond", b);
- mxMarker.addMarker("diamondThin", b)
-})();
-
-function mxActor(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxActor, mxShape);
-mxActor.prototype.paintVertexShape = function(a, b, c, d, e) {
- a.translate(b, c);
- a.begin();
- this.redrawPath(a, b, c, d, e);
- a.fillAndStroke()
-};
-mxActor.prototype.redrawPath = function(a, b, c, d, e) {
- b = d / 3;
- a.moveTo(0, e);
- a.curveTo(0, 3 * e / 5, 0, 2 * e / 5, d / 2, 2 * e / 5);
- a.curveTo(d / 2 - b, 2 * e / 5, d / 2 - b, 0, d / 2, 0);
- a.curveTo(d / 2 + b, 0, d / 2 + b, 2 * e / 5, d / 2, 2 * e / 5);
- a.curveTo(d, 2 * e / 5, d, 3 * e / 5, d, e);
- a.close()
-};
-
-function mxCloud(a, b, c, d) {
- mxActor.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxCloud, mxActor);
-mxCloud.prototype.redrawPath = function(a, b, c, d, e) {
- a.moveTo(0.25 * d, 0.25 * e);
- a.curveTo(0.05 * d, 0.25 * e, 0, 0.5 * e, 0.16 * d, 0.55 * e);
- a.curveTo(0, 0.66 * e, 0.18 * d, 0.9 * e, 0.31 * d, 0.8 * e);
- a.curveTo(0.4 * d, e, 0.7 * d, e, 0.8 * d, 0.8 * e);
- a.curveTo(d, 0.8 * e, d, 0.6 * e, 0.875 * d, 0.5 * e);
- a.curveTo(d, 0.3 * e, 0.8 * d, 0.1 * e, 0.625 * d, 0.2 * e);
- a.curveTo(0.5 * d, 0.05 * e, 0.3 * d, 0.05 * e, 0.25 * d, 0.25 * e);
- a.close()
-};
-
-function mxRectangleShape(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxRectangleShape, mxShape);
-mxRectangleShape.prototype.isHtmlAllowed = function() {
- return !this.isRounded && !this.glass && 0 == this.rotation
-};
-mxRectangleShape.prototype.paintBackground = function(a, b, c, d, e) {
- if (this.isRounded) {
- var f = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100,
- f = Math.min(d * f, e * f);
- a.roundrect(b, c, d, e, f, f)
- } else a.rect(b, c, d, e);
- a.fillAndStroke()
-};
-mxRectangleShape.prototype.paintForeground = function(a, b, c, d, e) {
- this.glass && this.paintGlassEffect(a, b, c, d, e, this.getArcSize(d + this.strokewidth, e + this.strokewidth))
-};
-mxRectangleShape.prototype.redrawHtmlShape = function() {
- this.updateHtmlBounds(this.node);
- this.updateHtmlFilters(this.node);
- this.updateHtmlColors(this.node)
-};
-mxRectangleShape.prototype.updateHtmlBounds = function(a) {
- var b = 9 <= document.documentMode ? 0 : Math.ceil(this.strokewidth * this.scale);
- a.style.borderWidth = Math.max(1, b) + "px";
- a.style.overflow = "hidden";
- a.style.left = Math.round(this.bounds.x - b / 2) + "px";
- a.style.top = Math.round(this.bounds.y - b / 2) + "px";
- "CSS1Compat" == document.compatMode && (b = -b);
- a.style.width = Math.round(Math.max(0, this.bounds.width + b)) + "px";
- a.style.height = Math.round(Math.max(0, this.bounds.height + b)) + "px"
-};
-mxRectangleShape.prototype.updateHtmlColors = function(a) {
- var b = this.stroke;
- null != b && b != mxConstants.NONE ? (a.style.borderColor = b, this.isDashed ? a.style.borderStyle = "dashed" : 0 < this.strokewidth && (a.style.borderStyle = "solid"), a.style.borderWidth = Math
- .max(1, Math.ceil(this.strokewidth * this.scale)) + "px") : a.style.borderWidth = "0px";
- b = this.fill;
- null != b && b != mxConstants.NONE ? (a.style.backgroundColor = b, a.style.backgroundImage = "none") : this.pointerEvents ? a.style.backgroundColor = "transparent" : 8 == document.documentMode ?
- mxUtils.addTransparentBackgroundFilter(a) : this.setTransparentBackgroundImage(a)
-};
-mxRectangleShape.prototype.updateHtmlFilters = function(a) {
- var b = "";
- 100 > this.opacity && (b += "alpha(opacity\x3d" + this.opacity + ")");
- this.isShadow && (b += "progid:DXImageTransform.Microsoft.dropShadow (OffX\x3d'" + Math.round(mxConstants.SHADOW_OFFSET_X * this.scale) + "', OffY\x3d'" + Math.round(mxConstants.SHADOW_OFFSET_Y *
- this.scale) + "', Color\x3d'" + mxConstants.SHADOWCOLOR + "')");
- if (this.gradient) {
- var c = this.fill,
- d = this.gradient,
- e = "0",
- f = {
- east: 0,
- south: 1,
- west: 2,
- north: 3
- },
- g = null != this.direction ? f[this.direction] : 0;
- null !=
- this.gradientDirection && (g = mxUtils.mod(g + f[this.gradientDirection] - 1, 4));
- 1 == g ? (e = "1", f = c, c = d, d = f) : 2 == g ? (f = c, c = d, d = f) : 3 == g && (e = "1");
- b += "progid:DXImageTransform.Microsoft.gradient(startColorStr\x3d'" + c + "', endColorStr\x3d'" + d + "', gradientType\x3d'" + e + "')"
- }
- a.style.filter = b
-};
-
-function mxEllipse(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxEllipse, mxShape);
-mxEllipse.prototype.paintVertexShape = function(a, b, c, d, e) {
- a.ellipse(b, c, d, e);
- a.fillAndStroke()
-};
-
-function mxDoubleEllipse(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxDoubleEllipse, mxShape);
-mxDoubleEllipse.prototype.vmlScale = 10;
-mxDoubleEllipse.prototype.paintBackground = function(a, b, c, d, e) {
- a.ellipse(b, c, d, e);
- a.fillAndStroke()
-};
-mxDoubleEllipse.prototype.paintForeground = function(a, b, c, d, e) {
- var f = Math.min(4, Math.min(d / 5, e / 5));
- d -= 2 * f;
- e -= 2 * f;
- 0 < d && 0 < e && a.ellipse(b + f, c + f, d, e);
- a.stroke()
-};
-
-function mxRhombus(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxRhombus, mxShape);
-mxRhombus.prototype.paintVertexShape = function(a, b, c, d, e) {
- var f = d / 2,
- g = e / 2;
- a.begin();
- a.moveTo(b + f, c);
- a.lineTo(b + d, c + g);
- a.lineTo(b + f, c + e);
- a.lineTo(b, c + g);
- a.close();
- a.fillAndStroke()
-};
-
-function mxPolyline(a, b, c) {
- mxShape.call(this);
- this.points = a;
- this.stroke = b;
- this.strokewidth = null != c ? c : 1
-}
-mxUtils.extend(mxPolyline, mxShape);
-mxPolyline.prototype.getRotation = function() {
- return 0
-};
-mxPolyline.prototype.paintEdgeShape = function(a, b) {
- this.paintLine(a, b, this.isRounded)
-};
-mxPolyline.prototype.paintLine = function(a, b, c) {
- var d = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, mxConstants.LINE_ARCSIZE) / 2,
- e = b[0],
- f = b[b.length - 1];
- a.begin();
- a.moveTo(e.x, e.y);
- for (var g = 1; g < b.length - 1; g++) {
- var h = b[g],
- k = e.x - h.x,
- e = e.y - h.y;
- if (c && g < b.length - 1 && (0 != k || 0 != e)) {
- var l = Math.sqrt(k * k + e * e),
- k = k * Math.min(d, l / 2) / l,
- e = e * Math.min(d, l / 2) / l;
- a.lineTo(h.x + k, h.y + e);
- e = b[g + 1];
- k = e.x - h.x;
- e = e.y - h.y;
- l = Math.max(1, Math.sqrt(k * k + e * e));
- k = k * Math.min(d, l / 2) / l;
- e = e * Math.min(d, l / 2) / l;
- k = h.x + k;
- e = h.y + e;
- a.quadTo(h.x,
- h.y, k, e);
- h = new mxPoint(k, e)
- } else a.lineTo(h.x, h.y);
- e = h
- }
- a.lineTo(f.x, f.y);
- a.stroke()
-};
-
-function mxArrow(a, b, c, d, e, f, g) {
- mxShape.call(this);
- this.points = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1;
- this.arrowWidth = null != e ? e : mxConstants.ARROW_WIDTH;
- this.spacing = null != f ? f : mxConstants.ARROW_SPACING;
- this.endSize = null != g ? g : mxConstants.ARROW_SIZE
-}
-mxUtils.extend(mxArrow, mxShape);
-mxArrow.prototype.paintEdgeShape = function(a, b) {
- var c = mxConstants.ARROW_SPACING,
- d = mxConstants.ARROW_WIDTH,
- e = mxConstants.ARROW_SIZE,
- f = b[0],
- g = b[b.length - 1],
- h = g.x - f.x,
- k = g.y - f.y,
- l = Math.sqrt(h * h + k * k),
- m = l - 2 * c - e,
- h = h / l,
- k = k / l,
- l = d * k / 3,
- d = -d * h / 3,
- e = f.x - l / 2 + c * h,
- f = f.y - d / 2 + c * k,
- n = e + l,
- p = f + d,
- q = n + m * h,
- m = p + m * k,
- s = q + l,
- r = m + d,
- t = s - 3 * l,
- v = r - 3 * d;
- a.begin();
- a.moveTo(e, f);
- a.lineTo(n, p);
- a.lineTo(q, m);
- a.lineTo(s, r);
- a.lineTo(g.x - c * h, g.y - c * k);
- a.lineTo(t, v);
- a.lineTo(t + l, v + d);
- a.close();
- a.fillAndStroke()
-};
-
-function mxText(a, b, c, d, e, f, g, h, k, l, m, n, p, q, s, r, t, v, w, u) {
- mxShape.call(this);
- this.value = a;
- this.bounds = b;
- this.color = null != e ? e : "black";
- this.align = null != c ? c : "";
- this.valign = null != d ? d : "";
- this.family = null != f ? f : mxConstants.DEFAULT_FONTFAMILY;
- this.size = null != g ? g : mxConstants.DEFAULT_FONTSIZE;
- this.fontStyle = null != h ? h : mxConstants.DEFAULT_FONTSTYLE;
- this.spacing = parseInt(k || 2);
- this.spacingTop = this.spacing + parseInt(l || 0);
- this.spacingRight = this.spacing + parseInt(m || 0);
- this.spacingBottom = this.spacing + parseInt(n || 0);
- this.spacingLeft = this.spacing + parseInt(p || 0);
- this.horizontal = null != q ? q : !0;
- this.background = s;
- this.border = r;
- this.wrap = null != t ? t : !1;
- this.clipped = null != v ? v : !1;
- this.overflow = null != w ? w : "visible";
- this.labelPadding = null != u ? u : 0;
- this.rotation = 0
-}
-mxUtils.extend(mxText, mxShape);
-mxText.prototype.baseSpacingTop = 0;
-mxText.prototype.baseSpacingBottom = 0;
-mxText.prototype.baseSpacingLeft = 0;
-mxText.prototype.baseSpacingRight = 0;
-mxText.prototype.replaceLinefeeds = !0;
-mxText.prototype.verticalTextRotation = -90;
-mxText.prototype.ignoreClippedStringSize = !0;
-mxText.prototype.ignoreStringSize = !1;
-mxText.prototype.isParseVml = function() {
- return !1
-};
-mxText.prototype.isHtmlAllowed = function() {
- return 8 != document.documentMode
-};
-mxText.prototype.getSvgScreenOffset = function() {
- return 0
-};
-mxText.prototype.checkBounds = function() {
- return null != this.bounds && !isNaN(this.bounds.x) && !isNaN(this.bounds.y) && !isNaN(this.bounds.width) && !isNaN(this.bounds.height)
-};
-mxText.prototype.updateBoundingBox = function() {
- var a = this.node;
- 8 == document.documentMode && null != a.firstChild && (a = a.firstChild, null != a.firstChild && (a = a.firstChild));
- this.boundingBox = this.bounds.clone();
- var b = this.getTextRotation();
- if (!this.ignoreStringSize && null != a && "fill" != this.overflow && (!this.clipped || !this.ignoreClippedStringSize)) {
- var c = null,
- d = null;
- if (null != a.ownerSVGElement)
- if (null != a.firstChild && null != a.firstChild.firstChild && "foreignObject" == a.firstChild.firstChild.nodeName) a = a.firstChild.firstChild,
- c = this.wrap ? this.bounds.width : parseInt(a.getAttribute("width")) * this.scale, d = parseInt(a.getAttribute("height")) * this.scale;
- else {
- b = a.getBBox();
- if (0 == b.width && 0 == b.height) return;
- this.boundingBox = new mxRectangle(b.x, b.y, b.width, b.height);
- b = 0
- } else d = this.state.view.textDiv, null != this.offsetWidth && null != this.offsetHeight ? (c = this.wrap ? this.bounds.width : this.offsetWidth * this.scale, d = this.offsetHeight * this.scale) :
- null != d ? (this.updateFont(d), this.updateSize(d), mxUtils.isNode(this.value) ? d.innerHTML = this.value.outerHTML :
- (c = this.replaceLinefeeds ? this.value.replace(/\n/g, "\x3cbr/\x3e") : this.value, d.innerHTML = c), c = this.wrap ? this.bounds.width : d.offsetWidth * this.scale, d = d.offsetHeight *
- this.scale) : (c = this.wrap ? this.bounds.width : a.offsetWidth * this.scale, d = a.offsetHeight * this.scale);
- null != c && null != d && (this.boundingBox = new mxRectangle(this.bounds.x + this.margin.x * c, this.bounds.y + this.margin.y * d, c, d))
- } else this.boundingBox.x += this.margin.x * this.boundingBox.width, this.boundingBox.y += this.margin.y * this.boundingBox.height;
- null !=
- this.boundingBox && (0 != b && (b = mxUtils.getBoundingBox(this.boundingBox, b), this.boundingBox.x = b.x, this.boundingBox.y = b.y, mxClient.IS_QUIRKS || (this.boundingBox.width = b.width,
- this.boundingBox.height = b.height)), this.boundingBox.x = Math.floor(this.boundingBox.x), this.boundingBox.y = Math.floor(this.boundingBox.y), this.boundingBox.width = Math.ceil(this.boundingBox
- .width), this.boundingBox.height = Math.ceil(this.boundingBox.height))
-};
-mxText.prototype.getShapeRotation = function() {
- return 0
-};
-mxText.prototype.getTextRotation = function() {
- return null != this.state && null != this.state.shape ? this.state.shape.getTextRotation() : 0
-};
-mxText.prototype.isPaintBoundsInverted = function() {
- return !this.horizontal && null != this.state && this.state.view.graph.model.isVertex(this.state.cell)
-};
-mxText.prototype.configureCanvas = function(a, b, c, d, e) {
- mxShape.prototype.configureCanvas.apply(this, arguments);
- a.setFontColor(this.color);
- a.setFontBackgroundColor(this.background);
- a.setFontBorderColor(this.border);
- a.setFontFamily(this.family);
- a.setFontSize(this.size);
- a.setFontStyle(this.fontStyle)
-};
-mxText.prototype.updateVmlContainer = function() {
- this.node.style.left = Math.round(this.bounds.x) + "px";
- this.node.style.top = Math.round(this.bounds.y) + "px";
- this.node.style.width = "1px";
- this.node.style.height = "1px";
- this.node.style.overflow = "visible"
-};
-mxText.prototype.paint = function(a) {
- var b = this.scale,
- c = this.bounds.x / b,
- d = this.bounds.y / b,
- e = this.bounds.width / b,
- b = this.bounds.height / b;
- this.updateTransform(a, c, d, e, b);
- this.configureCanvas(a, c, d, e, b);
- var f = mxUtils.isNode(this.value) || this.dialect == mxConstants.DIALECT_STRICTHTML,
- g = f || a instanceof mxVmlCanvas2D ? "html" : "",
- h = this.value;
- !f && "html" == g && (h = mxUtils.htmlEntities(h, !1));
- h = !mxUtils.isNode(this.value) && this.replaceLinefeeds && "html" == g ? h.replace(/\n/g, "\x3cbr/\x3e") : h;
- a.text(c, d, e, b, h, this.align,
- this.valign, this.wrap, g, "fill" == this.overflow, this.clipped, this.getTextRotation())
-};
-mxText.prototype.redrawHtmlShape = function() {
- var a = this.node.style;
- a.opacity = 1 > this.opacity ? this.opacity : "";
- a.overflow = "";
- a.width = "";
- a.height = "";
- this.updateFont(this.node);
- this.updateSize(this.node);
- this.updateValue();
- this.offsetHeight = this.offsetWidth = null;
- null != mxClient.CSS_PREFIX ? this.updateHtmlTransform() : this.updateHtmlFilter()
-};
-mxText.prototype.updateHtmlTransform = function() {
- var a = this.getTextRotation(),
- b = this.node.style,
- c = this.margin.x,
- d = this.margin.y;
- 0 != a ? (b[mxClient.CSS_PREFIX + "TransformOrigin"] = 100 * -c + "% " + 100 * -d + "%", b[mxClient.CSS_PREFIX + "Transform"] = "translate(" + 100 * c + "%," + 100 * d + "%)scale(" + this.scale +
- ") rotate(" + a + "deg)") : (b[mxClient.CSS_PREFIX + "TransformOrigin"] = "0% 0%", b[mxClient.CSS_PREFIX + "Transform"] = "scale(" + this.scale + ")translate(" + 100 * c + "%," + 100 * d +
- "%)");
- b.left = Math.round(this.bounds.x) + "px";
- b.top = Math.round(this.bounds.y) +
- "px"
-};
-mxText.prototype.updateHtmlFilter = function() {
- var a = this.node.style,
- b = this.margin.x,
- c = this.margin.y,
- d = this.scale;
- a.filter = "";
- var e = 0,
- f = 0,
- g = null != this.state ? this.state.view.textDiv : null;
- if (null != g) {
- g.style.overflow = "";
- g.style.height = "";
- g.style.width = "";
- this.updateFont(g);
- this.updateSize(g);
- if (mxUtils.isNode(this.value)) g.innerHTML = this.value.outerHTML;
- else {
- var h = this.value;
- this.dialect != mxConstants.DIALECT_STRICTHTML && (h = mxUtils.htmlEntities(h, !1));
- h = this.replaceLinefeeds ? h.replace(/\n/g, "\x3cbr/\x3e") : h;
- g.innerHTML = h
- }
- e = g.offsetWidth + 2;
- f = g.offsetHeight + 2
- } else e = this.node.offsetWidth, f = this.node.offsetHeight + 1;
- this.offsetWidth = e;
- this.offsetHeight = f;
- g = this.bounds.width / d;
- h = this.bounds.height / d;
- mxClient.IS_QUIRKS && (this.clipped || "fill" == this.overflow) && 0 < h ? (h = Math.min(h, f), a.height = Math.round(h + 1) + "px") : h = f;
- "fill" != this.overflow && (mxClient.IS_QUIRKS && (this.clipped || this.wrap) && 0 < g ? (g = Math.min(g, e), a.width = Math.round(g) + "px") : g = e);
- var h = h * d,
- g = g * d,
- e = this.getTextRotation() * (Math.PI / 180),
- f = parseFloat(parseFloat(Math.cos(e)).toFixed(8)),
- k = parseFloat(parseFloat(Math.sin(-e)).toFixed(8)),
- e = e % (2 * Math.PI);
- 0 > e && (e += 2 * Math.PI);
- e %= Math.PI;
- e > Math.PI / 2 && (e = Math.PI - e);
- var l = Math.cos(e),
- m = Math.sin(-e),
- b = g * -(b + 0.5),
- c = h * -(c + 0.5),
- n = (h - h * l + g * m) / 2 + k * b - f * c;
- 0 != e && (a.filter = "progid:DXImageTransform.Microsoft.Matrix(M11\x3d" + f + ", M12\x3d" + k + ", M21\x3d" + -k + ", M22\x3d" + f + ", sizingMethod\x3d'auto expand')");
- a.zoom = d;
- a.left = Math.round(this.bounds.x + ((g - g * l + h * m) / 2 - f * b - k * c) - g / 2) + "px";
- a.top = Math.round(this.bounds.y + n - h / 2) + "px"
-};
-mxText.prototype.updateValue = function() {
- if (mxUtils.isNode(this.value)) this.node.innerHTML = "", this.node.appendChild(this.value);
- else {
- var a = this.value;
- this.dialect != mxConstants.DIALECT_STRICTHTML && (a = mxUtils.htmlEntities(a, !1));
- var a = this.replaceLinefeeds ? a.replace(/\n/g, "\x3cbr/\x3e") : a,
- b = null != this.background && this.background != mxConstants.NONE ? this.background : null,
- c = null != this.border && this.border != mxConstants.NONE ? this.border : null;
- if (null != b || null != c)
- if ("fill" == this.overflow) null != b && (this.node.style.backgroundColor =
- b), null != c && (this.node.style.border = "1px solid " + c);
- else {
- var d = "";
- null != b && (d += "background-color:" + b + ";");
- null != c && (d += "border:1px solid " + c + ";");
- a = '\x3cdiv style\x3d"zoom:1;' + d + "display:inline-block;_display:inline;padding-bottom:1px;padding-right:1px;line-height:" + this.node.style.lineHeight + '"\x3e' + a + "\x3c/div\x3e";
- this.node.style.lineHeight = ""
- }
- this.node.innerHTML = a
- }
-};
-mxText.prototype.updateFont = function(a) {
- a = a.style;
- a.lineHeight = Math.round(this.size * mxConstants.LINE_HEIGHT) + "px";
- a.fontSize = Math.round(this.size) + "px";
- a.fontFamily = this.family;
- a.verticalAlign = "top";
- a.color = this.color;
- a.fontWeight = (this.fontStyle & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD ? "bold" : "";
- a.fontStyle = (this.fontStyle & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC ? "italic" : "";
- a.fontDecoration = (this.fontStyle & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE ? "underline" : "";
- a.textAlign =
- this.align == mxConstants.ALIGN_CENTER ? "center" : this.align == mxConstants.ALIGN_RIGHT ? "right" : "left"
-};
-mxText.prototype.updateSize = function(a) {
- var b = Math.round(this.bounds.width / this.scale),
- c = Math.round(this.bounds.height / this.scale);
- a = a.style;
- this.clipped ? (a.overflow = "hidden", 0 < c && (a.maxHeight = c + "px"), 0 < b && (a.width = b + "px")) : "fill" == this.overflow && (a.width = b + "px", 0 < c && (a.maxHeight = c + "px"));
- this.wrap ? (!this.clipped && 0 < b && (a.width = b + "px"), a.whiteSpace = "normal") : a.whiteSpace = "nowrap"
-};
-mxText.prototype.updateMargin = function() {
- this.margin = mxUtils.getAlignmentAsPoint(this.align, this.valign)
-};
-mxText.prototype.getSpacing = function() {
- var a = 0,
- b = 0,
- a = this.align == mxConstants.ALIGN_CENTER ? (this.spacingLeft - this.spacingRight) / 2 : this.align == mxConstants.ALIGN_RIGHT ? -this.spacingRight - this.baseSpacingRight : this.spacingLeft +
- this.baseSpacingLeft,
- b = this.valign == mxConstants.ALIGN_MIDDLE ? (this.spacingTop - this.spacingBottom) / 2 : this.valign == mxConstants.ALIGN_BOTTOM ? -this.spacingBottom - this.baseSpacingBottom : this.spacingTop +
- this.baseSpacingTop;
- return new mxPoint(a, b)
-};
-
-function mxTriangle() {
- mxActor.call(this)
-}
-mxUtils.extend(mxTriangle, mxActor);
-mxTriangle.prototype.redrawPath = function(a, b, c, d, e) {
- a.moveTo(0, 0);
- a.lineTo(d, 0.5 * e);
- a.lineTo(0, e);
- a.close()
-};
-
-function mxHexagon() {
- mxActor.call(this)
-}
-mxUtils.extend(mxHexagon, mxActor);
-mxHexagon.prototype.redrawPath = function(a, b, c, d, e) {
- a.moveTo(0.25 * d, 0);
- a.lineTo(0.75 * d, 0);
- a.lineTo(d, 0.5 * e);
- a.lineTo(0.75 * d, e);
- a.lineTo(0.25 * d, e);
- a.lineTo(0, 0.5 * e);
- a.close()
-};
-
-function mxLine(a, b, c) {
- mxShape.call(this);
- this.bounds = a;
- this.stroke = b;
- this.strokewidth = null != c ? c : 1
-}
-mxUtils.extend(mxLine, mxShape);
-mxLine.prototype.paintVertexShape = function(a, b, c, d, e) {
- c += e / 2;
- a.begin();
- a.moveTo(b, c);
- a.lineTo(b + d, c);
- a.stroke()
-};
-
-function mxImageShape(a, b, c, d, e) {
- mxShape.call(this);
- this.bounds = a;
- this.image = b;
- this.fill = c;
- this.stroke = d;
- this.strokewidth = null != e ? e : 1;
- this.shadow = !1
-}
-mxUtils.extend(mxImageShape, mxRectangleShape);
-mxImageShape.prototype.preserveImageAspect = !0;
-mxImageShape.prototype.getSvgScreenOffset = function() {
- return !mxClient.IS_IE ? 0.5 : 0
-};
-mxImageShape.prototype.apply = function(a) {
- mxShape.prototype.apply.apply(this, arguments);
- this.gradient = this.stroke = this.fill = null;
- null != this.style && (this.fill = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BACKGROUND), this.stroke = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BORDER), this.preserveImageAspect =
- 1 == mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_ASPECT, 1), this.flipH = this.flipH || 1 == mxUtils.getValue(this.style, "imageFlipH", 0), this.flipV = this.flipV || 1 == mxUtils.getValue(
- this.style,
- "imageFlipV", 0))
-};
-mxImageShape.prototype.isHtmlAllowed = function() {
- return !this.preserveImageAspect
-};
-mxImageShape.prototype.createHtml = function() {
- var a = document.createElement("div");
- a.style.position = "absolute";
- return a
-};
-mxImageShape.prototype.paintVertexShape = function(a, b, c, d, e) {
- if (null != this.image) {
- var f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BACKGROUND, null),
- g = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_BORDER, null);
- if (null != f || null != g) a.setFillColor(f), a.setStrokeColor(g), a.rect(b, c, d, e), a.fillAndStroke();
- a.image(b, c, d, e, this.image, this.preserveImageAspect, !1, !1)
- } else mxRectangleShape.prototype.paintBackground.apply(this, arguments)
-};
-mxImageShape.prototype.redrawHtmlShape = function() {
- this.node.style.left = Math.round(this.bounds.x) + "px";
- this.node.style.top = Math.round(this.bounds.y) + "px";
- this.node.style.width = Math.max(0, Math.round(this.bounds.width)) + "px";
- this.node.style.height = Math.max(0, Math.round(this.bounds.height)) + "px";
- this.node.style.backgroundColor = this.fill || "";
- this.node.style.borderColor = this.stroke || "";
- this.node.innerHTML = "";
- if (null != this.image) {
- var a = document.createElement(mxClient.IS_IE6 || null == mxClient.CSS_PREFIX && 0 !=
- this.rotation ? mxClient.VML_PREFIX + ":image" : "img");
- a.style.position = "absolute";
- a.src = this.image;
- var b = 100 > this.opacity ? "alpha(opacity\x3d" + this.opacity + ")" : "";
- this.node.style.filter = b;
- this.flipH && this.flipV ? b += "progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2)" : this.flipH ? b += "progid:DXImageTransform.Microsoft.BasicImage(mirror\x3d1)" : this.flipV && (b +=
- "progid:DXImageTransform.Microsoft.BasicImage(rotation\x3d2, mirror\x3d1)");
- a.style.filter != b && (a.style.filter = b);
- "image" == a.nodeName ? a.style.rotation =
- this.rotation : a.style[mxClient.CSS_PREFIX + "Transform"] = "rotate(" + this.rotation + "deg)";
- a.style.width = this.node.style.width;
- a.style.height = this.node.style.height;
- this.node.style.backgroundImage = "";
- this.node.appendChild(a)
- } else this.setTransparentBackgroundImage(this.node)
-};
-
-function mxLabel(a, b, c, d) {
- mxRectangleShape.call(this, a, b, c, d)
-}
-mxUtils.extend(mxLabel, mxRectangleShape);
-mxLabel.prototype.imageSize = mxConstants.DEFAULT_IMAGESIZE;
-mxLabel.prototype.spacing = 2;
-mxLabel.prototype.indicatorSize = 10;
-mxLabel.prototype.indicatorSpacing = 2;
-mxLabel.prototype.init = function(a) {
- mxShape.prototype.init.apply(this, arguments);
- null != this.indicatorColor && null != this.indicatorShape && (this.indicator = new this.indicatorShape, this.indicator.dialect = this.dialect, this.indicator.bounds = this.bounds, this.indicator
- .fill = this.indicatorColor, this.indicator.stroke = this.indicatorColor, this.indicator.gradient = this.indicatorGradientColor, this.indicator.direction = this.indicatorDirection, this.indicator
- .init(this.node))
-};
-mxLabel.prototype.redraw = function() {
- null != this.indicator && (this.indicator.fill = this.indicatorColor, this.indicator.stroke = this.indicatorColor, this.indicator.gradient = this.indicatorGradientColor, this.indicator.direction =
- this.indicatorDirection);
- mxShape.prototype.redraw.apply(this, arguments)
-};
-mxLabel.prototype.isHtmlAllowed = function() {
- return mxRectangleShape.prototype.isHtmlAllowed.apply(this, arguments) && null == this.indicatorColor && null == this.indicatorShape
-};
-mxLabel.prototype.paintForeground = function(a, b, c, d, e) {
- this.paintImage(a, b, c, d, e);
- this.paintIndicator(a, b, c, d, e);
- mxRectangleShape.prototype.paintForeground.apply(this, arguments)
-};
-mxLabel.prototype.paintImage = function(a, b, c, d, e) {
- null != this.image && (b = this.getImageBounds(b, c, d, e), a.image(b.x, b.y, b.width, b.height, this.image, !1, !1, !1))
-};
-mxLabel.prototype.getImageBounds = function(a, b, c, d) {
- var e = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_ALIGN, mxConstants.ALIGN_LEFT),
- f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE),
- g = mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_WIDTH, mxConstants.DEFAULT_IMAGESIZE),
- h = mxUtils.getNumber(this.style, mxConstants.STYLE_IMAGE_HEIGHT, mxConstants.DEFAULT_IMAGESIZE),
- k = mxUtils.getNumber(this.style, mxConstants.STYLE_SPACING, this.spacing) + 5;
- a = e == mxConstants.ALIGN_CENTER ?
- a + (c - g) / 2 : e == mxConstants.ALIGN_RIGHT ? a + (c - g - k) : a + k;
- b = f == mxConstants.ALIGN_TOP ? b + k : f == mxConstants.ALIGN_BOTTOM ? b + (d - h - k) : b + (d - h) / 2;
- return new mxRectangle(a, b, g, h)
-};
-mxLabel.prototype.paintIndicator = function(a, b, c, d, e) {
- null != this.indicator ? (this.indicator.bounds = this.getIndicatorBounds(b, c, d, e), this.indicator.paint(a)) : null != this.indicatorImage && (b = this.getIndicatorBounds(b, c, d, e), a.image(
- b.x, b.y, b.width, b.height, this.indicatorImage, !1, !1, !1))
-};
-mxLabel.prototype.getIndicatorBounds = function(a, b, c, d) {
- var e = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_ALIGN, mxConstants.ALIGN_LEFT),
- f = mxUtils.getValue(this.style, mxConstants.STYLE_IMAGE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE),
- g = mxUtils.getNumber(this.style, mxConstants.STYLE_INDICATOR_WIDTH, this.indicatorSize),
- h = mxUtils.getNumber(this.style, mxConstants.STYLE_INDICATOR_HEIGHT, this.indicatorSize),
- k = this.spacing + 5;
- a = e == mxConstants.ALIGN_RIGHT ? a + (c - g - k) : e == mxConstants.ALIGN_CENTER ? a + (c - g) /
- 2 : a + k;
- b = f == mxConstants.ALIGN_BOTTOM ? b + (d - h - k) : f == mxConstants.ALIGN_TOP ? b + k : b + (d - h) / 2;
- return new mxRectangle(a, b, g, h)
-};
-mxLabel.prototype.redrawHtmlShape = function() {
- for (mxRectangleShape.prototype.redrawHtmlShape.apply(this, arguments); this.node.hasChildNodes();) this.node.removeChild(this.node.lastChild);
- if (null != this.image) {
- var a = document.createElement("img");
- a.style.position = "relative";
- a.setAttribute("border", "0");
- var b = this.getImageBounds(this.bounds.x, this.bounds.y, this.bounds.width, this.bounds.height);
- b.x -= this.bounds.x;
- b.y -= this.bounds.y;
- a.style.left = Math.round(b.x) + "px";
- a.style.top = Math.round(b.y) + "px";
- a.style.width =
- Math.round(b.width) + "px";
- a.style.height = Math.round(b.height) + "px";
- a.src = this.image;
- this.node.appendChild(a)
- }
-};
-
-function mxCylinder(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxCylinder, mxShape);
-mxCylinder.prototype.maxHeight = 40;
-mxCylinder.prototype.svgStrokeTolerance = 0;
-mxCylinder.prototype.paintVertexShape = function(a, b, c, d, e) {
- a.translate(b, c);
- a.begin();
- this.redrawPath(a, b, c, d, e, !1);
- a.fillAndStroke();
- a.setShadow(!1);
- a.begin();
- this.redrawPath(a, b, c, d, e, !0);
- a.stroke()
-};
-mxCylinder.prototype.redrawPath = function(a, b, c, d, e, f) {
- b = Math.min(this.maxHeight, Math.round(e / 5));
- if (f && null != this.fill || !f && null == this.fill) a.moveTo(0, b), a.curveTo(0, 2 * b, d, 2 * b, d, b), f || (a.stroke(), a.begin());
- f || (a.moveTo(0, b), a.curveTo(0, -b / 3, d, -b / 3, d, b), a.lineTo(d, e - b), a.curveTo(d, e + b / 3, 0, e + b / 3, 0, e - b), a.close())
-};
-
-function mxConnector(a, b, c) {
- mxPolyline.call(this, a, b, c)
-}
-mxUtils.extend(mxConnector, mxPolyline);
-mxConnector.prototype.paintEdgeShape = function(a, b) {
- var c = this.createMarker(a, b, !0),
- d = this.createMarker(a, b, !1);
- null == this.style || 1 != this.style[mxConstants.STYLE_CURVED] ? this.paintLine(a, b, this.isRounded) : this.paintCurvedLine(a, b);
- a.setFillColor(this.stroke);
- a.setShadow(!1);
- a.setDashed(!1);
- null != c && c();
- null != d && d()
-};
-mxConnector.prototype.paintCurvedLine = function(a, b) {
- a.begin();
- var c = b[0],
- d = b.length;
- a.moveTo(c.x, c.y);
- for (c = 1; c < d - 2; c++) {
- var e = b[c],
- f = b[c + 1];
- a.quadTo(e.x, e.y, (e.x + f.x) / 2, (e.y + f.y) / 2)
- }
- e = b[d - 2];
- f = b[d - 1];
- a.quadTo(e.x, e.y, f.x, f.y);
- a.stroke()
-};
-mxConnector.prototype.createMarker = function(a, b, c) {
- var d = b.length,
- e = c ? b[1] : b[d - 2];
- b = c ? b[0] : b[d - 1];
- var d = b.x - e.x,
- f = b.y - e.y,
- g = Math.max(1, Math.sqrt(d * d + f * f)),
- e = d / g,
- d = f / g,
- f = mxUtils.getNumber(this.style, c ? mxConstants.STYLE_STARTSIZE : mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE),
- g = mxUtils.getValue(this.style, c ? mxConstants.STYLE_STARTARROW : mxConstants.STYLE_ENDARROW);
- return mxMarker.createMarker(a, this, g, b, e, d, f, c, this.strokewidth, 0 != this.style[c ? mxConstants.STYLE_STARTFILL : mxConstants.STYLE_ENDFILL])
-};
-mxConnector.prototype.augmentBoundingBox = function(a) {
- mxShape.prototype.augmentBoundingBox.apply(this, arguments);
- var b = 0;
- mxUtils.getValue(this.style, mxConstants.STYLE_STARTARROW, mxConstants.NONE) != mxConstants.NONE && (b = mxUtils.getNumber(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_MARKERSIZE) +
- 1);
- mxUtils.getValue(this.style, mxConstants.STYLE_ENDARROW, mxConstants.NONE) != mxConstants.NONE && (b = Math.max(b, mxUtils.getNumber(this.style, mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE)) +
- 1);
- a.grow(Math.ceil(b * this.scale))
-};
-
-function mxSwimlane(a, b, c, d) {
- mxShape.call(this);
- this.bounds = a;
- this.fill = b;
- this.stroke = c;
- this.strokewidth = null != d ? d : 1
-}
-mxUtils.extend(mxSwimlane, mxShape);
-mxSwimlane.prototype.imageSize = 16;
-mxSwimlane.prototype.getGradientBounds = function(a, b, c, d, e) {
- a = Math.min(e, mxUtils.getValue(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE));
- return new mxRectangle(b, c, d, a)
-};
-mxSwimlane.prototype.getRotation = function() {
- var a = mxShape.prototype.getRotation.apply(this, arguments);
- 1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1) && (a += mxText.prototype.verticalTextRotation);
- return a
-};
-mxSwimlane.prototype.getTextRotation = function() {
- return this.getRotation()
-};
-mxSwimlane.prototype.isPaintBoundsInverted = function() {
- return mxShape.prototype.isPaintBoundsInverted.apply(this, arguments) || 1 != mxUtils.getValue(this.style, mxConstants.STYLE_HORIZONTAL, 1)
-};
-mxSwimlane.prototype.getArcSize = function(a, b, c) {
- a = mxUtils.getValue(this.style, mxConstants.STYLE_ARCSIZE, 100 * mxConstants.RECTANGLE_ROUNDING_FACTOR) / 100;
- return 3 * c * a
-};
-mxSwimlane.prototype.paintVertexShape = function(a, b, c, d, e) {
- var f = Math.min(e, mxUtils.getValue(this.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)),
- g = mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_FILLCOLOR, mxConstants.NONE),
- h = 1 == mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_LINE, 1),
- k = 0;
- a.translate(b, c);
- this.isRounded ? (k = this.getArcSize(d, e, f), this.paintRoundedSwimlane(a, b, c, d, e, f, k, g, h)) : this.paintSwimlane(a, b, c, d, e, f, g, h);
- g = mxUtils.getValue(this.style, mxConstants.STYLE_SEPARATORCOLOR,
- mxConstants.NONE);
- this.paintSeparator(a, d, f, e, g);
- null != this.image && (e = this.getImageBounds(b, f, d, e), a.image(e.x - b, e.y - c, e.width, e.height, this.image, !1, !1, !1));
- this.glass && (a.setShadow(!1), this.paintGlassEffect(a, 0, 0, d, f, k))
-};
-mxSwimlane.prototype.paintSwimlane = function(a, b, c, d, e, f, g, h) {
- g != mxConstants.NONE && (a.save(), a.setFillColor(g), a.rect(0, 0, d, e), a.fillAndStroke(), a.restore(), a.setShadow(!1));
- a.begin();
- a.moveTo(0, f);
- a.lineTo(0, 0);
- a.lineTo(d, 0);
- a.lineTo(d, f);
- h && a.close();
- a.fillAndStroke();
- f < e && g == mxConstants.NONE && (a.pointerEvents = !1, a.begin(), a.moveTo(0, f), a.lineTo(0, e), a.lineTo(d, e), a.lineTo(d, f), a.stroke())
-};
-mxSwimlane.prototype.paintRoundedSwimlane = function(a, b, c, d, e, f, g, h, k) {
- h != mxConstants.NONE && (a.save(), a.setFillColor(h), a.roundrect(0, 0, d, e, g, g), a.fillAndStroke(), a.restore(), a.setShadow(!1));
- a.begin();
- a.moveTo(d, f);
- a.lineTo(d, g);
- a.quadTo(d, 0, d - Math.min(d / 2, g), 0);
- a.lineTo(Math.min(d / 2, g), 0);
- a.quadTo(0, 0, 0, g);
- a.lineTo(0, f);
- k && a.close();
- a.fillAndStroke();
- f < e && h == mxConstants.NONE && (a.pointerEvents = !1, a.begin(), a.moveTo(0, f), a.lineTo(0, e - g), a.quadTo(0, e, Math.min(d / 2, g), e), a.lineTo(d - Math.min(d / 2, g), e),
- a.quadTo(d, e, d, e - g), a.lineTo(d, f), a.stroke())
-};
-mxSwimlane.prototype.paintSeparator = function(a, b, c, d, e) {
- e != mxConstants.NONE && (a.setStrokeColor(e), a.setDashed(!0), a.begin(), a.moveTo(b, c), a.lineTo(b, d), a.stroke(), a.setDashed(!1))
-};
-mxSwimlane.prototype.getImageBounds = function(a, b, c, d) {
- return new mxRectangle(a + c - this.imageSize, b, this.imageSize, this.imageSize)
-};
-
-function mxGraphLayout(a) {
- this.graph = a
-}
-mxGraphLayout.prototype.graph = null;
-mxGraphLayout.prototype.useBoundingBox = !0;
-mxGraphLayout.prototype.parent = null;
-mxGraphLayout.prototype.moveCell = function(a, b, c) {};
-mxGraphLayout.prototype.execute = function(a) {};
-mxGraphLayout.prototype.getGraph = function() {
- return this.graph
-};
-mxGraphLayout.prototype.getConstraint = function(a, b, c, d) {
- c = this.graph.view.getState(b);
- b = null != c ? c.style : this.graph.getCellStyle(b);
- return null != b ? b[a] : null
-};
-mxGraphLayout.traverse = function(a, b, c, d, e) {
- if (null != c && null != a) {
- b = null != b ? b : !0;
- e = e || [];
- var f = mxCellPath.create(a);
- if (null == e[f] && (e[f] = a, d = c(a, d), null == d || d))
- if (d = this.graph.model.getEdgeCount(a), 0 < d)
- for (f = 0; f < d; f++) {
- var g = this.graph.model.getEdgeAt(a, f),
- h = this.graph.model.getTerminal(g, !0) == a;
- if (!b || h) h = this.graph.view.getVisibleTerminal(g, !h), this.traverse(h, b, c, g, e)
- }
- }
-};
-mxGraphLayout.prototype.isVertexMovable = function(a) {
- return this.graph.isCellMovable(a)
-};
-mxGraphLayout.prototype.isVertexIgnored = function(a) {
- return !this.graph.getModel().isVertex(a) || !this.graph.isCellVisible(a)
-};
-mxGraphLayout.prototype.isEdgeIgnored = function(a) {
- var b = this.graph.getModel();
- return !b.isEdge(a) || !this.graph.isCellVisible(a) || null == b.getTerminal(a, !0) || null == b.getTerminal(a, !1)
-};
-mxGraphLayout.prototype.setEdgeStyleEnabled = function(a, b) {
- this.graph.setCellStyles(mxConstants.STYLE_NOEDGESTYLE, b ? "0" : "1", [a])
-};
-mxGraphLayout.prototype.setOrthogonalEdge = function(a, b) {
- this.graph.setCellStyles(mxConstants.STYLE_ORTHOGONAL, b ? "1" : "0", [a])
-};
-mxGraphLayout.prototype.getParentOffset = function(a) {
- var b = new mxPoint;
- if (null != a && a != this.parent) {
- var c = this.graph.getModel();
- if (c.isAncestor(this.parent, a))
- for (var d = c.getGeometry(a); a != this.parent;) b.x += d.x, b.y += d.y, a = c.getParent(a), d = c.getGeometry(a)
- }
- return b
-};
-mxGraphLayout.prototype.setEdgePoints = function(a, b) {
- if (null != a) {
- var c = this.graph.model,
- d = c.getGeometry(a);
- null == d ? (d = new mxGeometry, d.setRelative(!0)) : d = d.clone();
- if (null != this.parent && null != b)
- for (var e = c.getParent(a), e = this.getParentOffset(e), f = 0; f < b.length; f++) b[f].x -= e.x, b[f].y -= e.y;
- d.points = b;
- c.setGeometry(a, d)
- }
-};
-mxGraphLayout.prototype.setVertexLocation = function(a, b, c) {
- var d = this.graph.getModel(),
- e = d.getGeometry(a),
- f = null;
- if (null != e) {
- f = new mxRectangle(b, c, e.width, e.height);
- if (this.useBoundingBox) {
- var g = this.graph.getView().getState(a);
- if (null != g && null != g.text && null != g.text.boundingBox) {
- var h = this.graph.getView().scale,
- k = g.text.boundingBox;
- g.text.boundingBox.x < g.x && (b += (g.x - k.x) / h, f.width = k.width);
- g.text.boundingBox.y < g.y && (c += (g.y - k.y) / h, f.height = k.height)
- }
- }
- null != this.parent && (g = d.getParent(a), null != g && g !=
- this.parent && (g = this.getParentOffset(g), b -= g.x, c -= g.y));
- if (e.x != b || e.y != c) e = e.clone(), e.x = b, e.y = c, d.setGeometry(a, e)
- }
- return f
-};
-mxGraphLayout.prototype.getVertexBounds = function(a) {
- var b = this.graph.getModel().getGeometry(a);
- if (this.useBoundingBox) {
- var c = this.graph.getView().getState(a);
- if (null != c && null != c.text && null != c.text.boundingBox) var d = this.graph.getView().scale,
- e = c.text.boundingBox,
- f = Math.max(c.x - e.x, 0) / d,
- g = Math.max(c.y - e.y, 0) / d,
- h = Math.max(e.x + e.width - (c.x + c.width), 0) / d,
- c = Math.max(e.y + e.height - (c.y + c.height), 0) / d,
- b = new mxRectangle(b.x - f, b.y - g, b.width + f + h, b.height + g + c)
- }
- null != this.parent && (a = this.graph.getModel().getParent(a),
- b = b.clone(), null != a && a != this.parent && (a = this.getParentOffset(a), b.x += a.x, b.y += a.y));
- return new mxRectangle(b.x, b.y, b.width, b.height)
-};
-mxGraphLayout.prototype.arrangeGroups = function(a, b) {
- this.graph.getModel().beginUpdate();
- try {
- for (var c = a.length - 1; 0 <= c; c--) {
- var d = a[c],
- e = this.graph.getChildVertices(d),
- f = this.graph.getBoundingBoxFromGeometry(e),
- g = this.graph.getCellGeometry(d),
- h = 0,
- k = 0;
- if (this.graph.isSwimlane(d)) var l = this.graph.getStartSize(d),
- h = l.width,
- k = l.height;
- null != f && null != g && (g = g.clone(), g.x = g.x + f.x - b - h, g.y = g.y + f.y - b - k, g.width = f.width + 2 * b + h, g.height = f.height + 2 * b + k, this.graph.getModel().setGeometry(d,
- g), this.graph.moveCells(e,
- b + h - f.x, b + k - f.y))
- }
- } finally {
- this.graph.getModel().endUpdate()
- }
-};
-
-function mxStackLayout(a, b, c, d, e, f) {
- mxGraphLayout.call(this, a);
- this.horizontal = null != b ? b : !0;
- this.spacing = null != c ? c : 0;
- this.x0 = null != d ? d : 0;
- this.y0 = null != e ? e : 0;
- this.border = null != f ? f : 0
-}
-mxStackLayout.prototype = new mxGraphLayout;
-mxStackLayout.prototype.constructor = mxStackLayout;
-mxStackLayout.prototype.horizontal = null;
-mxStackLayout.prototype.spacing = null;
-mxStackLayout.prototype.x0 = null;
-mxStackLayout.prototype.y0 = null;
-mxStackLayout.prototype.border = 0;
-mxStackLayout.prototype.keepFirstLocation = !1;
-mxStackLayout.prototype.fill = !1;
-mxStackLayout.prototype.resizeParent = !1;
-mxStackLayout.prototype.resizeLast = !1;
-mxStackLayout.prototype.wrap = null;
-mxStackLayout.prototype.isHorizontal = function() {
- return this.horizontal
-};
-mxStackLayout.prototype.moveCell = function(a, b, c) {
- var d = this.graph.getModel(),
- e = d.getParent(a),
- f = this.isHorizontal();
- if (null != a && null != e) {
- var g = 0,
- h = 0,
- k = d.getChildCount(e);
- b = f ? b : c;
- g = this.graph.getView().getState(e);
- null != g && (b -= f ? g.x : g.y);
- for (g = 0; g < k; g++)
- if (c = d.getChildAt(e, g), c != a && (c = d.getGeometry(c), null != c)) {
- c = f ? c.x + c.width / 2 : c.y + c.height / 2;
- if (h < b && c > b) break;
- h = c
- }
- f = e.getIndex(a);
- f = Math.max(0, g - (g > f ? 1 : 0));
- d.add(e, a, f)
- }
-};
-mxStackLayout.prototype.getParentSize = function(a) {
- var b = this.graph.getModel(),
- c = b.getGeometry(a);
- if (null != this.graph.container && (null == c && b.isLayer(a) || a == this.graph.getView().currentRoot)) c = new mxRectangle(0, 0, this.graph.container.offsetWidth - 1, this.graph.container.offsetHeight -
- 1);
- return c
-};
-mxStackLayout.prototype.execute = function(a) {
- if (null != a) {
- var b = this.isHorizontal(),
- c = this.graph.getModel(),
- d = this.getParentSize(a),
- e = 0;
- null != d && (e = b ? d.height : d.width);
- var e = e - (2 * this.spacing + 2 * this.border),
- f = this.x0 + this.border,
- g = this.y0 + this.border;
- if (this.graph.isSwimlane(a)) {
- var h = this.graph.getCellStyle(a),
- k = mxUtils.getValue(h, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE),
- h = mxUtils.getValue(h, mxConstants.STYLE_HORIZONTAL, !0);
- b == h && (e -= k);
- b ? g += k : f += k
- }
- c.beginUpdate();
- try {
- for (var k = 0,
- h = null, l = c.getChildCount(a), m = 0; m < l; m++) {
- var n = c.getChildAt(a, m);
- if (!this.isVertexIgnored(n) && this.isVertexMovable(n)) {
- var p = c.getGeometry(n);
- if (null != p) {
- p = p.clone();
- if (null != this.wrap && null != h && (b && h.x + h.width + p.width + 2 * this.spacing > this.wrap || !b && h.y + h.height + p.height + 2 * this.spacing > this.wrap)) h = null, b ? g +=
- k + this.spacing : f += k + this.spacing, k = 0;
- k = Math.max(k, b ? p.height : p.width);
- null != h ? b ? p.x = h.x + h.width + this.spacing : p.y = h.y + h.height + this.spacing : this.keepFirstLocation || (b ? p.x = f : p.y = g);
- b ? p.y = g : p.x = f;
- this.fill && 0 < e && (b ? p.height = e : p.width = e);
- c.setGeometry(n, p);
- h = p
- }
- }
- }
- this.resizeParent && null != d && null != h && !this.graph.isCellCollapsed(a) ? (d = d.clone(), b ? d.width = h.x + h.width + this.spacing : d.height = h.y + h.height + this.spacing, c.setGeometry(
- a, d)) : this.resizeLast && (null != d && null != h) && (b ? h.width = d.width - h.x - this.spacing : h.height = d.height - h.y - this.spacing)
- } finally {
- c.endUpdate()
- }
- }
-};
-
-function mxPartitionLayout(a, b, c, d) {
- mxGraphLayout.call(this, a);
- this.horizontal = null != b ? b : !0;
- this.spacing = c || 0;
- this.border = d || 0
-}
-mxPartitionLayout.prototype = new mxGraphLayout;
-mxPartitionLayout.prototype.constructor = mxPartitionLayout;
-mxPartitionLayout.prototype.horizontal = null;
-mxPartitionLayout.prototype.spacing = null;
-mxPartitionLayout.prototype.border = null;
-mxPartitionLayout.prototype.resizeVertices = !0;
-mxPartitionLayout.prototype.isHorizontal = function() {
- return this.horizontal
-};
-mxPartitionLayout.prototype.moveCell = function(a, b, c) {
- c = this.graph.getModel();
- var d = c.getParent(a);
- if (null != a && null != d) {
- for (var e = 0, f = 0, g = c.getChildCount(d), e = 0; e < g; e++) {
- var h = c.getChildAt(d, e),
- h = this.getVertexBounds(h);
- if (null != h) {
- h = h.x + h.width / 2;
- if (f < b && h > b) break;
- f = h
- }
- }
- b = d.getIndex(a);
- b = Math.max(0, e - (e > b ? 1 : 0));
- c.add(d, a, b)
- }
-};
-mxPartitionLayout.prototype.execute = function(a) {
- var b = this.isHorizontal(),
- c = this.graph.getModel(),
- d = c.getGeometry(a);
- if (null != this.graph.container && (null == d && c.isLayer(a) || a == this.graph.getView().currentRoot)) d = new mxRectangle(0, 0, this.graph.container.offsetWidth - 1, this.graph.container.offsetHeight -
- 1);
- if (null != d) {
- for (var e = [], f = c.getChildCount(a), g = 0; g < f; g++) {
- var h = c.getChildAt(a, g);
- !this.isVertexIgnored(h) && this.isVertexMovable(h) && e.push(h)
- }
- f = e.length;
- if (0 < f) {
- var k = this.border,
- l = this.border,
- m = b ?
- d.height : d.width,
- m = m - 2 * this.border;
- a = this.graph.isSwimlane(a) ? this.graph.getStartSize(a) : new mxRectangle;
- m -= b ? a.height : a.width;
- k += a.width;
- l += a.height;
- a = this.border + (f - 1) * this.spacing;
- d = b ? (d.width - k - a) / f : (d.height - l - a) / f;
- if (0 < d) {
- c.beginUpdate();
- try {
- for (g = 0; g < f; g++) {
- var h = e[g],
- n = c.getGeometry(h);
- null != n && (n = n.clone(), n.x = k, n.y = l, b ? (this.resizeVertices && (n.width = d, n.height = m), k += d + this.spacing) : (this.resizeVertices && (n.height = d, n.width = m), l +=
- d + this.spacing), c.setGeometry(h, n))
- }
- } finally {
- c.endUpdate()
- }
- }
- }
- }
-};
-
-function mxCompactTreeLayout(a, b, c) {
- mxGraphLayout.call(this, a);
- this.horizontal = null != b ? b : !0;
- this.invert = null != c ? c : !1
-}
-mxCompactTreeLayout.prototype = new mxGraphLayout;
-mxCompactTreeLayout.prototype.constructor = mxCompactTreeLayout;
-mxCompactTreeLayout.prototype.horizontal = null;
-mxCompactTreeLayout.prototype.invert = null;
-mxCompactTreeLayout.prototype.resizeParent = !0;
-mxCompactTreeLayout.prototype.groupPadding = 10;
-mxCompactTreeLayout.prototype.parentsChanged = null;
-mxCompactTreeLayout.prototype.moveTree = !1;
-mxCompactTreeLayout.prototype.levelDistance = 10;
-mxCompactTreeLayout.prototype.nodeDistance = 20;
-mxCompactTreeLayout.prototype.resetEdges = !0;
-mxCompactTreeLayout.prototype.prefHozEdgeSep = 5;
-mxCompactTreeLayout.prototype.prefVertEdgeOff = 4;
-mxCompactTreeLayout.prototype.minEdgeJetty = 8;
-mxCompactTreeLayout.prototype.channelBuffer = 4;
-mxCompactTreeLayout.prototype.edgeRouting = !0;
-mxCompactTreeLayout.prototype.isVertexIgnored = function(a) {
- return mxGraphLayout.prototype.isVertexIgnored.apply(this, arguments) || 0 == this.graph.getConnections(a).length
-};
-mxCompactTreeLayout.prototype.isHorizontal = function() {
- return this.horizontal
-};
-mxCompactTreeLayout.prototype.execute = function(a, b) {
- this.parent = a;
- var c = this.graph.getModel();
- if (null == b)
- if (0 < this.graph.getEdges(a, c.getParent(a), this.invert, !this.invert, !1).length) b = a;
- else {
- var d = this.graph.findTreeRoots(a, !0, this.invert);
- if (0 < d.length)
- for (var e = 0; e < d.length; e++)
- if (!this.isVertexIgnored(d[e]) && 0 < this.graph.getEdges(d[e], null, this.invert, !this.invert, !1).length) {
- b = d[e];
- break
- }
- }
- if (null != b) {
- this.parentsChanged = this.resizeParent ? {} : null;
- c.beginUpdate();
- try {
- var f = this.dfs(b, a);
- if (null !=
- f) {
- this.layout(f);
- var g = this.graph.gridSize,
- d = g;
- if (!this.moveTree) {
- var h = this.getVertexBounds(b);
- null != h && (g = h.x, d = h.y)
- }
- h = null;
- h = this.isHorizontal() ? this.horizontalLayout(f, g, d) : this.verticalLayout(f, null, g, d);
- if (null != h) {
- var k = e = 0;
- 0 > h.x && (e = Math.abs(g - h.x));
- 0 > h.y && (k = Math.abs(d - h.y));
- (0 != e || 0 != k) && this.moveNode(f, e, k);
- this.resizeParent && this.adjustParents();
- this.edgeRouting && this.localEdgeProcessing(f)
- }
- }
- } finally {
- c.endUpdate()
- }
- }
-};
-mxCompactTreeLayout.prototype.moveNode = function(a, b, c) {
- a.x += b;
- a.y += c;
- this.apply(a);
- for (a = a.child; null != a;) this.moveNode(a, b, c), a = a.next
-};
-mxCompactTreeLayout.prototype.dfs = function(a, b, c) {
- c = null != c ? c : [];
- var d = mxCellPath.create(a),
- e = null;
- if (null != a && null == c[d] && !this.isVertexIgnored(a)) {
- c[d] = a;
- var e = this.createNode(a),
- d = this.graph.getModel(),
- f = null;
- a = this.graph.getEdges(a, b, this.invert, !this.invert, !1, !0);
- for (var g = this.graph.getView(), h = 0; h < a.length; h++) {
- var k = a[h];
- if (!this.isEdgeIgnored(k)) {
- this.resetEdges && this.setEdgePoints(k, null);
- this.edgeRouting && (this.setEdgeStyleEnabled(k, !1), this.setEdgePoints(k, null));
- var l = g.getState(k),
- k = null != l ? l.getVisibleTerminal(this.invert) : g.getVisibleTerminal(k, this.invert),
- l = this.dfs(k, b, c);
- null != l && null != d.getGeometry(k) && (null == f ? e.child = l : f.next = l, f = l)
- }
- }
- }
- return e
-};
-mxCompactTreeLayout.prototype.layout = function(a) {
- if (null != a) {
- for (var b = a.child; null != b;) this.layout(b), b = b.next;
- null != a.child ? this.attachParent(a, this.join(a)) : this.layoutLeaf(a)
- }
-};
-mxCompactTreeLayout.prototype.horizontalLayout = function(a, b, c, d) {
- a.x += b + a.offsetX;
- a.y += c + a.offsetY;
- d = this.apply(a, d);
- b = a.child;
- if (null != b) {
- d = this.horizontalLayout(b, a.x, a.y, d);
- c = a.y + b.offsetY;
- for (var e = b.next; null != e;) d = this.horizontalLayout(e, a.x + b.offsetX, c, d), c += e.offsetY, e = e.next
- }
- return d
-};
-mxCompactTreeLayout.prototype.verticalLayout = function(a, b, c, d, e) {
- a.x += c + a.offsetY;
- a.y += d + a.offsetX;
- e = this.apply(a, e);
- b = a.child;
- if (null != b) {
- e = this.verticalLayout(b, a, a.x, a.y, e);
- c = a.x + b.offsetY;
- for (d = b.next; null != d;) e = this.verticalLayout(d, a, c, a.y + b.offsetX, e), c += d.offsetY, d = d.next
- }
- return e
-};
-mxCompactTreeLayout.prototype.attachParent = function(a, b) {
- var c = this.nodeDistance + this.levelDistance,
- d = (b - a.width) / 2 - this.nodeDistance,
- e = d + a.width + 2 * this.nodeDistance - b;
- a.child.offsetX = c + a.height;
- a.child.offsetY = e;
- a.contour.upperHead = this.createLine(a.height, 0, this.createLine(c, e, a.contour.upperHead));
- a.contour.lowerHead = this.createLine(a.height, 0, this.createLine(c, d, a.contour.lowerHead))
-};
-mxCompactTreeLayout.prototype.layoutLeaf = function(a) {
- var b = 2 * this.nodeDistance;
- a.contour.upperTail = this.createLine(a.height + b, 0);
- a.contour.upperHead = a.contour.upperTail;
- a.contour.lowerTail = this.createLine(0, -a.width - b);
- a.contour.lowerHead = this.createLine(a.height + b, 0, a.contour.lowerTail)
-};
-mxCompactTreeLayout.prototype.join = function(a) {
- var b = 2 * this.nodeDistance,
- c = a.child;
- a.contour = c.contour;
- for (var d = c.width + b, e = d, c = c.next; null != c;) {
- var f = this.merge(a.contour, c.contour);
- c.offsetY = f + d;
- c.offsetX = 0;
- d = c.width + b;
- e += f + d;
- c = c.next
- }
- return e
-};
-mxCompactTreeLayout.prototype.merge = function(a, b) {
- for (var c = 0, d = 0, e = 0, f = a.lowerHead, g = b.upperHead; null != g && null != f;) {
- var h = this.offset(c, d, g.dx, g.dy, f.dx, f.dy),
- d = d + h,
- e = e + h;
- c + g.dx <= f.dx ? (c += g.dx, d += g.dy, g = g.next) : (c -= f.dx, d -= f.dy, f = f.next)
- }
- null != g ? (c = this.bridge(a.upperTail, 0, 0, g, c, d), a.upperTail = null != c.next ? b.upperTail : c, a.lowerTail = b.lowerTail) : (c = this.bridge(b.lowerTail, c, d, f, 0, 0), null == c.next &&
- (a.lowerTail = c));
- a.lowerHead = b.lowerHead;
- return e
-};
-mxCompactTreeLayout.prototype.offset = function(a, b, c, d, e, f) {
- var g = 0;
- if (e <= a || 0 >= a + c) return 0;
- g = 0 < e * d - c * f ? 0 > a ? a * d / c - b : 0 < a ? a * f / e - b : -b : e < a + c ? f - (b + (e - a) * d / c) : e > a + c ? (c + a) * f / e - (b + d) : f - (b + d);
- return 0 < g ? g : 0
-};
-mxCompactTreeLayout.prototype.bridge = function(a, b, c, d, e, f) {
- b = e + d.dx - b;
- e = e = 0;
- 0 == d.dx ? e = d.dy : (e = b * d.dy, e /= d.dx);
- b = this.createLine(b, e, d.next);
- a.next = this.createLine(0, f + d.dy - e - c, b);
- return b
-};
-mxCompactTreeLayout.prototype.createNode = function(a) {
- var b = {};
- b.cell = a;
- b.x = 0;
- b.y = 0;
- b.width = 0;
- b.height = 0;
- a = this.getVertexBounds(a);
- null != a && (this.isHorizontal() ? (b.width = a.height, b.height = a.width) : (b.width = a.width, b.height = a.height));
- b.offsetX = 0;
- b.offsetY = 0;
- b.contour = {};
- return b
-};
-mxCompactTreeLayout.prototype.apply = function(a, b) {
- var c = this.graph.getModel(),
- d = a.cell,
- e = c.getGeometry(d);
- null != d && null != e && (this.isVertexMovable(d) && (e = this.setVertexLocation(d, a.x, a.y), this.resizeParent && (c = c.getParent(d), d = mxCellPath.create(c), null == this.parentsChanged[d] &&
- (this.parentsChanged[d] = c))), b = null == b ? new mxRectangle(e.x, e.y, e.width, e.height) : new mxRectangle(Math.min(b.x, e.x), Math.min(b.y, e.y), Math.max(b.x + b.width, e.x + e.width),
- Math.max(b.y + b.height, e.y + e.height)));
- return b
-};
-mxCompactTreeLayout.prototype.createLine = function(a, b, c) {
- var d = {};
- d.dx = a;
- d.dy = b;
- d.next = c;
- return d
-};
-mxCompactTreeLayout.prototype.adjustParents = function() {
- var a = [],
- b;
- for (b in this.parentsChanged) a.push(this.parentsChanged[b]);
- this.arrangeGroups(mxUtils.sortCells(a, !0), this.groupPadding)
-};
-mxCompactTreeLayout.prototype.localEdgeProcessing = function(a) {
- this.processNodeOutgoing(a);
- for (a = a.child; null != a;) this.localEdgeProcessing(a), a = a.next
-};
-mxCompactTreeLayout.prototype.processNodeOutgoing = function(a) {
- for (var b = a.child, c = a.cell, d = 0, e = []; null != b;) {
- d++;
- var f = b.x;
- this.horizontal && (f = b.y);
- e.push(new WeightedCellSorter(b, f));
- b = b.next
- }
- e.sort(WeightedCellSorter.prototype.compare);
- var f = a.width,
- g = (d + 1) * this.prefHozEdgeSep;
- f > g + 2 * this.prefHozEdgeSep && (f -= 2 * this.prefHozEdgeSep);
- a = f / d;
- b = a / 2;
- f > g + 2 * this.prefHozEdgeSep && (b += this.prefHozEdgeSep);
- for (var f = this.minEdgeJetty - this.prefVertEdgeOff, g = 0, h = this.getVertexBounds(c), k = 0; k < e.length; k++) {
- for (var l =
- e[k].cell.cell, m = this.getVertexBounds(l), l = this.graph.getEdgesBetween(c, l, !1), n = [], p = 0, q = 0, s = 0; s < l.length; s++) this.horizontal ? (p = h.x + h.width, q = h.y + b, n.push(
- new mxPoint(p, q)), p = h.x + h.width + f, n.push(new mxPoint(p, q)), q = m.y + m.height / 2) : (p = h.x + b, q = h.y + h.height, n.push(new mxPoint(p, q)), q = h.y + h.height + f, n.push(
- new mxPoint(p, q)), p = m.x + m.width / 2), n.push(new mxPoint(p, q)), this.setEdgePoints(l[s], n);
- k < d / 2 ? f += this.prefVertEdgeOff : k > d / 2 && (f -= this.prefVertEdgeOff);
- b += a;
- g = Math.max(g, f)
- }
-};
-
-function WeightedCellSorter(a, b) {
- this.cell = a;
- this.weightedValue = b
-}
-WeightedCellSorter.prototype.weightedValue = 0;
-WeightedCellSorter.prototype.nudge = !1;
-WeightedCellSorter.prototype.visited = !1;
-WeightedCellSorter.prototype.rankIndex = null;
-WeightedCellSorter.prototype.cell = null;
-WeightedCellSorter.prototype.compare = function(a, b) {
- return null != a && null != b ? b.weightedValue > a.weightedValue ? 1 : b.weightedValue < a.weightedValue ? -1 : b.nudge ? 1 : -1 : 0
-};
-
-function mxFastOrganicLayout(a) {
- mxGraphLayout.call(this, a)
-}
-mxFastOrganicLayout.prototype = new mxGraphLayout;
-mxFastOrganicLayout.prototype.constructor = mxFastOrganicLayout;
-mxFastOrganicLayout.prototype.useInputOrigin = !0;
-mxFastOrganicLayout.prototype.resetEdges = !0;
-mxFastOrganicLayout.prototype.disableEdgeStyle = !0;
-mxFastOrganicLayout.prototype.forceConstant = 50;
-mxFastOrganicLayout.prototype.forceConstantSquared = 0;
-mxFastOrganicLayout.prototype.minDistanceLimit = 2;
-mxFastOrganicLayout.prototype.maxDistanceLimit = 500;
-mxFastOrganicLayout.prototype.minDistanceLimitSquared = 4;
-mxFastOrganicLayout.prototype.initialTemp = 200;
-mxFastOrganicLayout.prototype.temperature = 0;
-mxFastOrganicLayout.prototype.maxIterations = 0;
-mxFastOrganicLayout.prototype.iteration = 0;
-mxFastOrganicLayout.prototype.allowedToRun = !0;
-mxFastOrganicLayout.prototype.isVertexIgnored = function(a) {
- return mxGraphLayout.prototype.isVertexIgnored.apply(this, arguments) || 0 == this.graph.getConnections(a).length
-};
-mxFastOrganicLayout.prototype.execute = function(a) {
- var b = this.graph.getModel();
- this.vertexArray = [];
- for (var c = this.graph.getChildVertices(a), d = 0; d < c.length; d++) this.isVertexIgnored(c[d]) || this.vertexArray.push(c[d]);
- var e = this.useInputOrigin ? this.graph.view.getBounds(this.vertexArray) : null,
- f = this.vertexArray.length;
- this.indices = [];
- this.dispX = [];
- this.dispY = [];
- this.cellLocation = [];
- this.isMoveable = [];
- this.neighbours = [];
- this.radius = [];
- this.radiusSquared = [];
- 0.0010 > this.forceConstant && (this.forceConstant =
- 0.0010);
- this.forceConstantSquared = this.forceConstant * this.forceConstant;
- for (d = 0; d < this.vertexArray.length; d++) {
- var g = this.vertexArray[d];
- this.cellLocation[d] = [];
- var h = mxCellPath.create(g);
- this.indices[h] = d;
- var k = this.getVertexBounds(g),
- l = k.width,
- m = k.height,
- n = k.x,
- p = k.y;
- this.cellLocation[d][0] = n + l / 2;
- this.cellLocation[d][1] = p + m / 2;
- this.radius[d] = Math.min(l, m);
- this.radiusSquared[d] = this.radius[d] * this.radius[d]
- }
- b.beginUpdate();
- try {
- for (d = 0; d < f; d++) {
- this.dispX[d] = 0;
- this.dispY[d] = 0;
- this.isMoveable[d] = this.isVertexMovable(this.vertexArray[d]);
- var q = this.graph.getConnections(this.vertexArray[d], a),
- c = this.graph.getOpposites(q, this.vertexArray[d]);
- this.neighbours[d] = [];
- for (l = 0; l < c.length; l++) {
- this.resetEdges && this.graph.resetEdge(q[l]);
- this.disableEdgeStyle && this.setEdgeStyleEnabled(q[l], !1);
- var h = mxCellPath.create(c[l]),
- s = this.indices[h];
- this.neighbours[d][l] = null != s ? s : d
- }
- }
- this.temperature = this.initialTemp;
- 0 == this.maxIterations && (this.maxIterations = 20 * Math.sqrt(f));
- for (this.iteration = 0; this.iteration < this.maxIterations; this.iteration++) {
- if (!this.allowedToRun) return;
- this.calcRepulsion();
- this.calcAttraction();
- this.calcPositions();
- this.reduceTemperature()
- }
- a = c = null;
- for (d = 0; d < this.vertexArray.length; d++) g = this.vertexArray[d], this.isVertexMovable(g) && (k = this.getVertexBounds(g), null != k && (this.cellLocation[d][0] -= k.width / 2, this.cellLocation[
- d][1] -= k.height / 2, n = this.graph.snap(this.cellLocation[d][0]), p = this.graph.snap(this.cellLocation[d][1]), this.setVertexLocation(g, n, p), c = null == c ? n : Math.min(c, n), a =
- null == a ? p : Math.min(a, p)));
- d = -(c || 0) + 1;
- g = -(a || 0) + 1;
- null != e && (d += e.x,
- g += e.y);
- this.graph.moveCells(this.vertexArray, d, g)
- } finally {
- b.endUpdate()
- }
-};
-mxFastOrganicLayout.prototype.calcPositions = function() {
- for (var a = 0; a < this.vertexArray.length; a++)
- if (this.isMoveable[a]) {
- var b = Math.sqrt(this.dispX[a] * this.dispX[a] + this.dispY[a] * this.dispY[a]);
- 0.0010 > b && (b = 0.0010);
- var c = this.dispX[a] / b * Math.min(b, this.temperature),
- b = this.dispY[a] / b * Math.min(b, this.temperature);
- this.dispX[a] = 0;
- this.dispY[a] = 0;
- this.cellLocation[a][0] += c;
- this.cellLocation[a][1] += b
- }
-};
-mxFastOrganicLayout.prototype.calcAttraction = function() {
- for (var a = 0; a < this.vertexArray.length; a++)
- for (var b = 0; b < this.neighbours[a].length; b++) {
- var c = this.neighbours[a][b];
- if (a != c && this.isMoveable[a] && this.isMoveable[c]) {
- var d = this.cellLocation[a][0] - this.cellLocation[c][0],
- e = this.cellLocation[a][1] - this.cellLocation[c][1],
- f = d * d + e * e - this.radiusSquared[a] - this.radiusSquared[c];
- f < this.minDistanceLimitSquared && (f = this.minDistanceLimitSquared);
- var g = Math.sqrt(f),
- f = f / this.forceConstant,
- d = d / g * f,
- e = e / g * f;
- this.dispX[a] -= d;
- this.dispY[a] -= e;
- this.dispX[c] += d;
- this.dispY[c] += e
- }
- }
-};
-mxFastOrganicLayout.prototype.calcRepulsion = function() {
- for (var a = this.vertexArray.length, b = 0; b < a; b++)
- for (var c = b; c < a; c++) {
- if (!this.allowedToRun) return;
- if (c != b && this.isMoveable[b] && this.isMoveable[c]) {
- var d = this.cellLocation[b][0] - this.cellLocation[c][0],
- e = this.cellLocation[b][1] - this.cellLocation[c][1];
- 0 == d && (d = 0.01 + Math.random());
- 0 == e && (e = 0.01 + Math.random());
- var f = Math.sqrt(d * d + e * e),
- g = f - this.radius[b] - this.radius[c];
- g > this.maxDistanceLimit || (g < this.minDistanceLimit && (g = this.minDistanceLimit), g = this.forceConstantSquared /
- g, d = d / f * g, e = e / f * g, this.dispX[b] += d, this.dispY[b] += e, this.dispX[c] -= d, this.dispY[c] -= e)
- }
- }
-};
-mxFastOrganicLayout.prototype.reduceTemperature = function() {
- this.temperature = this.initialTemp * (1 - this.iteration / this.maxIterations)
-};
-
-function mxCircleLayout(a, b) {
- mxGraphLayout.call(this, a);
- this.radius = null != b ? b : 100
-}
-mxCircleLayout.prototype = new mxGraphLayout;
-mxCircleLayout.prototype.constructor = mxCircleLayout;
-mxCircleLayout.prototype.radius = null;
-mxCircleLayout.prototype.moveCircle = !1;
-mxCircleLayout.prototype.x0 = 0;
-mxCircleLayout.prototype.y0 = 0;
-mxCircleLayout.prototype.resetEdges = !0;
-mxCircleLayout.prototype.disableEdgeStyle = !0;
-mxCircleLayout.prototype.execute = function(a) {
- var b = this.graph.getModel();
- b.beginUpdate();
- try {
- for (var c = 0, d = null, e = null, f = [], g = b.getChildCount(a), h = 0; h < g; h++) {
- var k = b.getChildAt(a, h);
- if (this.isVertexIgnored(k)) this.isEdgeIgnored(k) || (this.resetEdges && this.graph.resetEdge(k), this.disableEdgeStyle && this.setEdgeStyleEnabled(k, !1));
- else {
- f.push(k);
- var l = this.getVertexBounds(k),
- d = null == d ? l.y : Math.min(d, l.y),
- e = null == e ? l.x : Math.min(e, l.x),
- c = Math.max(c, Math.max(l.width, l.height))
- }
- }
- var m = this.getRadius(f.length,
- c);
- this.moveCircle && (e = this.x0, d = this.y0);
- this.circle(f, m, e, d)
- } finally {
- b.endUpdate()
- }
-};
-mxCircleLayout.prototype.getRadius = function(a, b) {
- return Math.max(a * b / Math.PI, this.radius)
-};
-mxCircleLayout.prototype.circle = function(a, b, c, d) {
- for (var e = a.length, f = 2 * Math.PI / e, g = 0; g < e; g++) this.isVertexMovable(a[g]) && this.setVertexLocation(a[g], c + b + b * Math.sin(g * f), d + b + b * Math.cos(g * f))
-};
-
-function mxParallelEdgeLayout(a) {
- mxGraphLayout.call(this, a)
-}
-mxParallelEdgeLayout.prototype = new mxGraphLayout;
-mxParallelEdgeLayout.prototype.constructor = mxParallelEdgeLayout;
-mxParallelEdgeLayout.prototype.spacing = 20;
-mxParallelEdgeLayout.prototype.execute = function(a) {
- a = this.findParallels(a);
- this.graph.model.beginUpdate();
- try {
- for (var b in a) {
- var c = a[b];
- 1 < c.length && this.layout(c)
- }
- } finally {
- this.graph.model.endUpdate()
- }
-};
-mxParallelEdgeLayout.prototype.findParallels = function(a) {
- for (var b = this.graph.getModel(), c = [], d = b.getChildCount(a), e = 0; e < d; e++) {
- var f = b.getChildAt(a, e);
- if (!this.isEdgeIgnored(f)) {
- var g = this.getEdgeId(f);
- null != g && (null == c[g] && (c[g] = []), c[g].push(f))
- }
- }
- return c
-};
-mxParallelEdgeLayout.prototype.getEdgeId = function(a) {
- var b = this.graph.getView(),
- c = b.getState(a),
- d = null != c ? c.getVisibleTerminal(!0) : b.getVisibleTerminal(a, !0);
- a = null != c ? c.getVisibleTerminal(!1) : b.getVisibleTerminal(a, !1);
- return null != d && null != a ? (d = mxCellPath.create(d), a = mxCellPath.create(a), d > a ? a + "-" + d : d + "-" + a) : null
-};
-mxParallelEdgeLayout.prototype.layout = function(a) {
- var b = a[0],
- c = this.graph.getModel(),
- d = c.getGeometry(c.getTerminal(b, !0)),
- e = c.getGeometry(c.getTerminal(b, !1));
- if (d == e)
- for (var b = d.x + d.width + this.spacing, c = d.y + d.height / 2, f = 0; f < a.length; f++) this.route(a[f], b, c), b += this.spacing;
- else if (null != d && null != e)
- for (var b = d.x + d.width / 2, c = d.y + d.height / 2, f = e.x + e.width / 2 - b, g = e.y + e.height / 2 - c, e = Math.sqrt(f * f + g * g), d = g * this.spacing / e, e = f * this.spacing / e,
- b = b + f / 2 + d * (a.length - 1) / 2, c = c + g / 2 - e * (a.length - 1) / 2, f = 0; f < a.length; f++) this.route(a[f],
- b, c), b -= d, c += e
-};
-mxParallelEdgeLayout.prototype.route = function(a, b, c) {
- this.graph.isCellMovable(a) && this.setEdgePoints(a, [new mxPoint(b, c)])
-};
-
-function mxCompositeLayout(a, b, c) {
- mxGraphLayout.call(this, a);
- this.layouts = b;
- this.master = c
-}
-mxCompositeLayout.prototype = new mxGraphLayout;
-mxCompositeLayout.prototype.constructor = mxCompositeLayout;
-mxCompositeLayout.prototype.layouts = null;
-mxCompositeLayout.prototype.master = null;
-mxCompositeLayout.prototype.moveCell = function(a, b, c) {
- null != this.master ? this.master.move.apply(this.master, arguments) : this.layouts[0].move.apply(this.layouts[0], arguments)
-};
-mxCompositeLayout.prototype.execute = function(a) {
- var b = this.graph.getModel();
- b.beginUpdate();
- try {
- for (var c = 0; c < this.layouts.length; c++) this.layouts[c].execute.apply(this.layouts[c], arguments)
- } finally {
- b.endUpdate()
- }
-};
-
-function mxEdgeLabelLayout(a, b) {
- mxGraphLayout.call(this, a)
-}
-mxEdgeLabelLayout.prototype = new mxGraphLayout;
-mxEdgeLabelLayout.prototype.constructor = mxEdgeLabelLayout;
-mxEdgeLabelLayout.prototype.execute = function(a) {
- for (var b = this.graph.view, c = this.graph.getModel(), d = [], e = [], f = c.getChildCount(a), g = 0; g < f; g++) {
- var h = c.getChildAt(a, g),
- k = b.getState(h);
- null != k && (this.isVertexIgnored(h) ? this.isEdgeIgnored(h) || d.push(k) : e.push(k))
- }
- this.placeLabels(e, d)
-};
-mxEdgeLabelLayout.prototype.placeLabels = function(a, b) {
- var c = this.graph.getModel();
- c.beginUpdate();
- try {
- for (var d = 0; d < b.length; d++) {
- var e = b[d];
- if (null != e && null != e.text && null != e.text.boundingBox)
- for (var f = 0; f < a.length; f++) {
- var g = a[f];
- null != g && this.avoid(e, g)
- }
- }
- } finally {
- c.endUpdate()
- }
-};
-mxEdgeLabelLayout.prototype.avoid = function(a, b) {
- var c = this.graph.getModel(),
- d = a.text.boundingBox;
- if (mxUtils.intersects(d, b)) {
- var e = -d.y - d.height + b.y,
- f = -d.y + b.y + b.height,
- e = Math.abs(e) < Math.abs(f) ? e : f,
- f = -d.x - d.width + b.x,
- d = -d.x + b.x + b.width,
- d = Math.abs(f) < Math.abs(d) ? f : d;
- Math.abs(d) < Math.abs(e) ? e = 0 : d = 0;
- f = c.getGeometry(a.cell);
- null != f && (f = f.clone(), null != f.offset ? (f.offset.x += d, f.offset.y += e) : f.offset = new mxPoint(d, e), c.setGeometry(a.cell, f))
- }
-};
-
-function mxGraphAbstractHierarchyCell() {
- this.x = [];
- this.y = [];
- this.temp = []
-}
-mxGraphAbstractHierarchyCell.prototype.maxRank = -1;
-mxGraphAbstractHierarchyCell.prototype.minRank = -1;
-mxGraphAbstractHierarchyCell.prototype.x = null;
-mxGraphAbstractHierarchyCell.prototype.y = null;
-mxGraphAbstractHierarchyCell.prototype.width = 0;
-mxGraphAbstractHierarchyCell.prototype.height = 0;
-mxGraphAbstractHierarchyCell.prototype.nextLayerConnectedCells = null;
-mxGraphAbstractHierarchyCell.prototype.previousLayerConnectedCells = null;
-mxGraphAbstractHierarchyCell.prototype.temp = null;
-mxGraphAbstractHierarchyCell.prototype.getNextLayerConnectedCells = function(a) {
- return null
-};
-mxGraphAbstractHierarchyCell.prototype.getPreviousLayerConnectedCells = function(a) {
- return null
-};
-mxGraphAbstractHierarchyCell.prototype.isEdge = function() {
- return !1
-};
-mxGraphAbstractHierarchyCell.prototype.isVertex = function() {
- return !1
-};
-mxGraphAbstractHierarchyCell.prototype.getGeneralPurposeVariable = function(a) {
- return null
-};
-mxGraphAbstractHierarchyCell.prototype.setGeneralPurposeVariable = function(a, b) {
- return null
-};
-mxGraphAbstractHierarchyCell.prototype.setX = function(a, b) {
- this.isVertex() ? this.x[0] = b : this.isEdge() && (this.x[a - this.minRank - 1] = b)
-};
-mxGraphAbstractHierarchyCell.prototype.getX = function(a) {
- return this.isVertex() ? this.x[0] : this.isEdge() ? this.x[a - this.minRank - 1] : 0
-};
-mxGraphAbstractHierarchyCell.prototype.setY = function(a, b) {
- this.isVertex() ? this.y[0] = b : this.isEdge() && (this.y[a - this.minRank - 1] = b)
-};
-
-function mxGraphHierarchyNode(a) {
- mxGraphAbstractHierarchyCell.apply(this, arguments);
- this.cell = a
-}
-mxGraphHierarchyNode.prototype = new mxGraphAbstractHierarchyCell;
-mxGraphHierarchyNode.prototype.constructor = mxGraphHierarchyNode;
-mxGraphHierarchyNode.prototype.cell = null;
-mxGraphHierarchyNode.prototype.connectsAsTarget = [];
-mxGraphHierarchyNode.prototype.connectsAsSource = [];
-mxGraphHierarchyNode.prototype.hashCode = !1;
-mxGraphHierarchyNode.prototype.getRankValue = function(a) {
- return this.maxRank
-};
-mxGraphHierarchyNode.prototype.getNextLayerConnectedCells = function(a) {
- if (null == this.nextLayerConnectedCells) {
- this.nextLayerConnectedCells = [];
- this.nextLayerConnectedCells[0] = [];
- for (var b = 0; b < this.connectsAsTarget.length; b++) {
- var c = this.connectsAsTarget[b]; - 1 == c.maxRank || c.maxRank == a + 1 ? this.nextLayerConnectedCells[0].push(c.source) : this.nextLayerConnectedCells[0].push(c)
- }
- }
- return this.nextLayerConnectedCells[0]
-};
-mxGraphHierarchyNode.prototype.getPreviousLayerConnectedCells = function(a) {
- if (null == this.previousLayerConnectedCells) {
- this.previousLayerConnectedCells = [];
- this.previousLayerConnectedCells[0] = [];
- for (var b = 0; b < this.connectsAsSource.length; b++) {
- var c = this.connectsAsSource[b]; - 1 == c.minRank || c.minRank == a - 1 ? this.previousLayerConnectedCells[0].push(c.target) : this.previousLayerConnectedCells[0].push(c)
- }
- }
- return this.previousLayerConnectedCells[0]
-};
-mxGraphHierarchyNode.prototype.isVertex = function() {
- return !0
-};
-mxGraphHierarchyNode.prototype.getGeneralPurposeVariable = function(a) {
- return this.temp[0]
-};
-mxGraphHierarchyNode.prototype.setGeneralPurposeVariable = function(a, b) {
- this.temp[0] = b
-};
-mxGraphHierarchyNode.prototype.isAncestor = function(a) {
- if (null != a && null != this.hashCode && null != a.hashCode && this.hashCode.length < a.hashCode.length) {
- if (this.hashCode == a.hashCode) return !0;
- if (null == this.hashCode || null == this.hashCode) return !1;
- for (var b = 0; b < this.hashCode.length; b++)
- if (this.hashCode[b] != a.hashCode[b]) return !1;
- return !0
- }
- return !1
-};
-mxGraphHierarchyNode.prototype.getCoreCell = function() {
- return this.cell
-};
-
-function mxGraphHierarchyEdge(a) {
- mxGraphAbstractHierarchyCell.apply(this, arguments);
- this.edges = a
-}
-mxGraphHierarchyEdge.prototype = new mxGraphAbstractHierarchyCell;
-mxGraphHierarchyEdge.prototype.constructor = mxGraphHierarchyEdge;
-mxGraphHierarchyEdge.prototype.edges = null;
-mxGraphHierarchyEdge.prototype.source = null;
-mxGraphHierarchyEdge.prototype.target = null;
-mxGraphHierarchyEdge.prototype.isReversed = !1;
-mxGraphHierarchyEdge.prototype.invert = function(a) {
- a = this.source;
- this.source = this.target;
- this.target = a;
- this.isReversed = !this.isReversed
-};
-mxGraphHierarchyEdge.prototype.getNextLayerConnectedCells = function(a) {
- if (null == this.nextLayerConnectedCells) {
- this.nextLayerConnectedCells = [];
- for (var b = 0; b < this.temp.length; b++) this.nextLayerConnectedCells[b] = [], b == this.temp.length - 1 ? this.nextLayerConnectedCells[b].push(this.source) : this.nextLayerConnectedCells[b].push(
- this)
- }
- return this.nextLayerConnectedCells[a - this.minRank - 1]
-};
-mxGraphHierarchyEdge.prototype.getPreviousLayerConnectedCells = function(a) {
- if (null == this.previousLayerConnectedCells) {
- this.previousLayerConnectedCells = [];
- for (var b = 0; b < this.temp.length; b++) this.previousLayerConnectedCells[b] = [], 0 == b ? this.previousLayerConnectedCells[b].push(this.target) : this.previousLayerConnectedCells[b].push(
- this)
- }
- return this.previousLayerConnectedCells[a - this.minRank - 1]
-};
-mxGraphHierarchyEdge.prototype.isEdge = function() {
- return !0
-};
-mxGraphHierarchyEdge.prototype.getGeneralPurposeVariable = function(a) {
- return this.temp[a - this.minRank - 1]
-};
-mxGraphHierarchyEdge.prototype.setGeneralPurposeVariable = function(a, b) {
- this.temp[a - this.minRank - 1] = b
-};
-mxGraphHierarchyEdge.prototype.getCoreCell = function() {
- return null != this.edges && 0 < this.edges.length ? this.edges[0] : null
-};
-
-function mxGraphHierarchyModel(a, b, c, d, e) {
- a.getGraph();
- this.tightenToSource = e;
- this.roots = c;
- this.parent = d;
- this.vertexMapper = {};
- this.edgeMapper = {};
- this.maxRank = 0;
- c = [];
- null == b && (b = this.graph.getChildVertices(d));
- this.maxRank = this.SOURCESCANSTARTRANK;
- this.createInternalCells(a, b, c);
- for (d = 0; d < b.length; d++) {
- e = c[d].connectsAsSource;
- for (var f = 0; f < e.length; f++) {
- var g = e[f],
- h = g.edges;
- if (null != h && 0 < h.length) {
- var h = h[0],
- k = a.getVisibleTerminal(h, !1),
- k = mxCellPath.create(k),
- k = this.vertexMapper[k];
- c[d] == k && (k = a.getVisibleTerminal(h, !0), k = mxCellPath.create(k), k = this.vertexMapper[k]);
- null != k && c[d] != k && (g.target = k, 0 == k.connectsAsTarget.length && (k.connectsAsTarget = []), 0 > mxUtils.indexOf(k.connectsAsTarget, g) && k.connectsAsTarget.push(g))
- }
- }
- c[d].temp[0] = 1
- }
-}
-mxGraphHierarchyModel.prototype.maxRank = null;
-mxGraphHierarchyModel.prototype.vertexMapper = null;
-mxGraphHierarchyModel.prototype.edgeMapper = null;
-mxGraphHierarchyModel.prototype.ranks = null;
-mxGraphHierarchyModel.prototype.roots = null;
-mxGraphHierarchyModel.prototype.parent = null;
-mxGraphHierarchyModel.prototype.dfsCount = 0;
-mxGraphHierarchyModel.prototype.SOURCESCANSTARTRANK = 1E8;
-mxGraphHierarchyModel.prototype.tightenToSource = !1;
-mxGraphHierarchyModel.prototype.createInternalCells = function(a, b, c) {
- for (var d = a.getGraph(), e = 0; e < b.length; e++) {
- c[e] = new mxGraphHierarchyNode(b[e]);
- var f = mxCellPath.create(b[e]);
- this.vertexMapper[f] = c[e];
- f = a.getEdges(b[e]);
- c[e].connectsAsSource = [];
- for (var g = 0; g < f.length; g++) {
- var h = a.getVisibleTerminal(f[g], !1);
- if (h != b[e] && h != b[e] && a.graph.model.isVertex(h) && !a.isVertexIgnored(h)) {
- var k = a.getEdgesBetween(b[e], h, !1),
- l = a.getEdgesBetween(b[e], h, !0),
- h = mxCellPath.create(k[0]);
- if (null != k && 0 < k.length && null ==
- this.edgeMapper[h] && 2 * l.length >= k.length) {
- for (var l = new mxGraphHierarchyEdge(k), m = 0; m < k.length; m++) {
- var n = k[m],
- h = mxCellPath.create(n);
- this.edgeMapper[h] = l;
- d.resetEdge(n);
- a.disableEdgeStyle && (a.setEdgeStyleEnabled(n, !1), a.setOrthogonalEdge(n, !0))
- }
- l.source = c[e];
- 0 > mxUtils.indexOf(c[e].connectsAsSource, l) && c[e].connectsAsSource.push(l)
- }
- }
- }
- c[e].temp[0] = 0
- }
-};
-mxGraphHierarchyModel.prototype.initialRank = function() {
- var a = [];
- if (null != this.roots)
- for (var b = 0; b < this.roots.length; b++) {
- var c = mxCellPath.create(this.roots[b]),
- c = this.vertexMapper[c];
- null != c && a.push(c)
- }
- for (var d in this.vertexMapper) c = this.vertexMapper[d], c.temp[0] = -1;
- for (var e = a.slice(); 0 < a.length;) {
- var c = a[0],
- f, g;
- f = c.connectsAsTarget;
- g = c.connectsAsSource;
- for (var h = !0, k = this.SOURCESCANSTARTRANK, b = 0; b < f.length; b++) {
- var l = f[b];
- if (5270620 == l.temp[0]) l = l.source, k = Math.min(k, l.temp[0] - 1);
- else {
- h = !1;
- break
- }
- }
- if (h) {
- c.temp[0] =
- k;
- this.maxRank = Math.min(this.maxRank, k);
- if (null != g)
- for (b = 0; b < g.length; b++) l = g[b], l.temp[0] = 5270620, l = l.target, -1 == l.temp[0] && (a.push(l), l.temp[0] = -2);
- a.shift()
- } else if (b = a.shift(), a.push(c), b == c && 1 == a.length) break
- }
- for (d in this.vertexMapper) c = this.vertexMapper[d], c.temp[0] -= this.maxRank;
- for (b = 0; b < e.length; b++) {
- c = e[b];
- a = 0;
- f = c.connectsAsSource;
- for (d = 0; d < f.length; d++) l = f[d], l = l.target, c.temp[0] = Math.max(a, l.temp[0] + 1), a = c.temp[0]
- }
- this.maxRank = this.SOURCESCANSTARTRANK - this.maxRank
-};
-mxGraphHierarchyModel.prototype.fixRanks = function() {
- var a = [];
- this.ranks = [];
- for (var b = 0; b < this.maxRank + 1; b++) a[b] = [], this.ranks[b] = a[b];
- var c = null;
- if (null != this.roots)
- for (var d = this.roots, c = [], b = 0; b < d.length; b++) {
- var e = mxCellPath.create(d[b]);
- c[b] = this.vertexMapper[e]
- }
- this.visit(function(b, c, d, e, l) {
- 0 == l && (0 > c.maxRank && 0 > c.minRank) && (a[c.temp[0]].push(c), c.maxRank = c.temp[0], c.minRank = c.temp[0], c.temp[0] = a[c.maxRank].length - 1);
- if (null != b && null != d && 1 < b.maxRank - c.maxRank) {
- d.maxRank = b.maxRank;
- d.minRank =
- c.maxRank;
- d.temp = [];
- d.x = [];
- d.y = [];
- for (b = d.minRank + 1; b < d.maxRank; b++) a[b].push(d), d.setGeneralPurposeVariable(b, a[b].length - 1)
- }
- }, c, !1, null)
-};
-mxGraphHierarchyModel.prototype.visit = function(a, b, c, d) {
- if (null != b) {
- for (var e = 0; e < b.length; e++) {
- var f = b[e];
- null != f && (null == d && (d = {}), c ? (f.hashCode = [], f.hashCode[0] = this.dfsCount, f.hashCode[1] = e, this.extendedDfs(null, f, null, a, d, f.hashCode, e, 0)) : this.dfs(null, f, null,
- a, d, 0))
- }
- this.dfsCount++
- }
-};
-mxGraphHierarchyModel.prototype.dfs = function(a, b, c, d, e, f) {
- if (null != b) {
- var g = mxCellPath.create(b.cell);
- if (null == e[g]) {
- e[g] = b;
- d(a, b, c, f, 0);
- a = b.connectsAsSource.slice();
- for (c = 0; c < a.length; c++) g = a[c], this.dfs(b, g.target, g, d, e, f + 1)
- } else d(a, b, c, f, 1)
- }
-};
-mxGraphHierarchyModel.prototype.extendedDfs = function(a, b, c, d, e, f, g, h) {
- if (null != b) {
- if (null != a && (null == b.hashCode || b.hashCode[0] != a.hashCode[0])) f = a.hashCode.length + 1, b.hashCode = a.hashCode.slice(), b.hashCode[f - 1] = g;
- g = mxCellPath.create(b.cell);
- if (null == e[g]) {
- e[g] = b;
- d(a, b, c, h, 0);
- a = b.connectsAsSource.slice();
- for (c = 0; c < a.length; c++) g = a[c], this.extendedDfs(b, g.target, g, d, e, b.hashCode, c, h + 1)
- } else d(a, b, c, h, 1)
- }
-};
-
-function mxHierarchicalLayoutStage() {}
-mxHierarchicalLayoutStage.prototype.execute = function(a) {};
-
-function mxMedianHybridCrossingReduction(a) {
- this.layout = a
-}
-mxMedianHybridCrossingReduction.prototype = new mxHierarchicalLayoutStage;
-mxMedianHybridCrossingReduction.prototype.constructor = mxMedianHybridCrossingReduction;
-mxMedianHybridCrossingReduction.prototype.layout = null;
-mxMedianHybridCrossingReduction.prototype.maxIterations = 24;
-mxMedianHybridCrossingReduction.prototype.nestedBestRanks = null;
-mxMedianHybridCrossingReduction.prototype.currentBestCrossings = 0;
-mxMedianHybridCrossingReduction.prototype.iterationsWithoutImprovement = 0;
-mxMedianHybridCrossingReduction.prototype.maxNoImprovementIterations = 2;
-mxMedianHybridCrossingReduction.prototype.execute = function(a) {
- a = this.layout.getModel();
- this.nestedBestRanks = [];
- for (var b = 0; b < a.ranks.length; b++) this.nestedBestRanks[b] = a.ranks[b].slice();
- for (var c = 0, d = this.calculateCrossings(a), b = 0; b < this.maxIterations && c < this.maxNoImprovementIterations; b++) {
- this.weightedMedian(b, a);
- this.transpose(b, a);
- var e = this.calculateCrossings(a);
- if (e < d) {
- d = e;
- for (e = c = 0; e < this.nestedBestRanks.length; e++)
- for (var f = a.ranks[e], g = 0; g < f.length; g++) {
- var h = f[g];
- this.nestedBestRanks[e][h.getGeneralPurposeVariable(e)] =
- h
- }
- } else {
- c++;
- for (e = 0; e < this.nestedBestRanks.length; e++) {
- f = a.ranks[e];
- for (g = 0; g < f.length; g++) h = f[g], h.setGeneralPurposeVariable(e, g)
- }
- }
- if (0 == d) break
- }
- c = [];
- d = [];
- for (b = 0; b < a.maxRank + 1; b++) d[b] = [], c[b] = d[b];
- for (b = 0; b < this.nestedBestRanks.length; b++)
- for (e = 0; e < this.nestedBestRanks[b].length; e++) d[b].push(this.nestedBestRanks[b][e]);
- a.ranks = c
-};
-mxMedianHybridCrossingReduction.prototype.calculateCrossings = function(a) {
- for (var b = a.ranks.length, c = 0, d = 1; d < b; d++) c += this.calculateRankCrossing(d, a);
- return c
-};
-mxMedianHybridCrossingReduction.prototype.calculateRankCrossing = function(a, b) {
- for (var c = 0, d = b.ranks[a], e = d.length, f = b.ranks[a - 1].length, g = [], h = 0; h < e; h++) g[h] = [];
- for (h = 0; h < d.length; h++)
- for (var k = d[h], l = k.getGeneralPurposeVariable(a), m = k.getPreviousLayerConnectedCells(a), k = 0; k < m.length; k++) {
- var n = m[k].getGeneralPurposeVariable(a - 1);
- g[l][n] = 201207
- }
- for (h = 0; h < e; h++)
- for (k = 0; k < f; k++)
- if (201207 == g[h][k]) {
- for (d = h + 1; d < e; d++)
- for (l = 0; l < k; l++) 201207 == g[d][l] && c++;
- for (d = 0; d < h; d++)
- for (l = k + 1; l < f; l++) 201207 == g[d][l] &&
- c++
- }
- return c / 2
-};
-mxMedianHybridCrossingReduction.prototype.transpose = function(a, b) {
- for (var c = !0, d = 0; c && 10 > d++;)
- for (var e = 1 == a % 2 && 1 == d % 2, c = !1, f = 0; f < b.ranks.length; f++) {
- for (var g = b.ranks[f], h = [], k = 0; k < g.length; k++) {
- var l = g[k],
- m = l.getGeneralPurposeVariable(f);
- 0 > m && (m = k);
- h[m] = l
- }
- for (var n = m = l = null, p = null, q = null, s = null, r = null, t = null, v = null, w = null, k = 0; k < g.length - 1; k++) {
- if (0 == k) {
- for (var v = h[k], l = v.getNextLayerConnectedCells(f), m = v.getPreviousLayerConnectedCells(f), q = [], s = [], u = 0; u < l.length; u++) q[u] = l[u].getGeneralPurposeVariable(f + 1);
- for (u = 0; u < m.length; u++) s[u] = m[u].getGeneralPurposeVariable(f - 1)
- } else l = n, m = p, q = r, s = t, v = w;
- w = h[k + 1];
- n = w.getNextLayerConnectedCells(f);
- p = w.getPreviousLayerConnectedCells(f);
- r = [];
- t = [];
- for (u = 0; u < n.length; u++) r[u] = n[u].getGeneralPurposeVariable(f + 1);
- for (u = 0; u < p.length; u++) t[u] = p[u].getGeneralPurposeVariable(f - 1);
- for (var y = 0, z = 0, u = 0; u < q.length; u++)
- for (var x = 0; x < r.length; x++) q[u] > r[x] && y++, q[u] < r[x] && z++;
- for (u = 0; u < s.length; u++)
- for (x = 0; x < t.length; x++) s[u] > t[x] && y++, s[u] < t[x] && z++;
- if (z < y || z == y && e) n = v.getGeneralPurposeVariable(f),
- v.setGeneralPurposeVariable(f, w.getGeneralPurposeVariable(f)), w.setGeneralPurposeVariable(f, n), n = l, p = m, r = q, t = s, w = v, e || (c = !0)
- }
- }
-};
-mxMedianHybridCrossingReduction.prototype.weightedMedian = function(a, b) {
- var c = 0 == a % 2;
- if (c)
- for (var d = b.maxRank - 1; 0 <= d; d--) this.medianRank(d, c);
- else
- for (d = 1; d < b.maxRank; d++) this.medianRank(d, c)
-};
-mxMedianHybridCrossingReduction.prototype.medianRank = function(a, b) {
- for (var c = this.nestedBestRanks[a].length, d = [], e = [], f = 0; f < c; f++) {
- var g = this.nestedBestRanks[a][f],
- h = new MedianCellSorter;
- h.cell = g;
- var k;
- k = b ? g.getNextLayerConnectedCells(a) : g.getPreviousLayerConnectedCells(a);
- var l;
- l = b ? a + 1 : a - 1;
- null != k && 0 != k.length ? (h.medianValue = this.medianValue(k, l), d.push(h)) : e[g.getGeneralPurposeVariable(a)] = !0
- }
- d.sort(MedianCellSorter.prototype.compare);
- for (f = 0; f < c; f++) null == e[f] && (g = d.shift().cell, g.setGeneralPurposeVariable(a,
- f))
-};
-mxMedianHybridCrossingReduction.prototype.medianValue = function(a, b) {
- for (var c = [], d = 0, e = 0; e < a.length; e++) {
- var f = a[e];
- c[d++] = f.getGeneralPurposeVariable(b)
- }
- c.sort(function(a, b) {
- return a - b
- });
- if (1 == d % 2) return c[Math.floor(d / 2)];
- if (2 == d) return (c[0] + c[1]) / 2;
- e = d / 2;
- f = c[e - 1] - c[0];
- d = c[d - 1] - c[e];
- return (c[e - 1] * d + c[e] * f) / (f + d)
-};
-
-function MedianCellSorter() {}
-MedianCellSorter.prototype.medianValue = 0;
-MedianCellSorter.prototype.cell = !1;
-MedianCellSorter.prototype.compare = function(a, b) {
- return null != a && null != b ? b.medianValue > a.medianValue ? -1 : b.medianValue < a.medianValue ? 1 : 0 : 0
-};
-
-function mxMinimumCycleRemover(a) {
- this.layout = a
-}
-mxMinimumCycleRemover.prototype = new mxHierarchicalLayoutStage;
-mxMinimumCycleRemover.prototype.constructor = mxMinimumCycleRemover;
-mxMinimumCycleRemover.prototype.layout = null;
-mxMinimumCycleRemover.prototype.execute = function(a) {
- var b = this.layout.getModel(),
- c = {},
- d = mxUtils.clone(b.vertexMapper, null, !0),
- e = null;
- if (null != b.roots) {
- var f = b.roots,
- e = [];
- for (a = 0; a < f.length; a++) {
- var g = mxCellPath.create(f[a]);
- e[a] = b.vertexMapper[g]
- }
- }
- b.visit(function(a, b, e, f, g) {
- b.isAncestor(a) && (e.invert(), mxUtils.remove(e, a.connectsAsSource), a.connectsAsTarget.push(e), mxUtils.remove(e, b.connectsAsTarget), b.connectsAsSource.push(e));
- a = mxCellPath.create(b.cell);
- c[a] = b;
- delete d[a]
- }, e, !0, null);
- e = null;
- 0 <
- d.lenth && (e = mxUtils.clone(d, null, !0));
- a = mxUtils.clone(c, null, !0);
- b.visit(function(a, b, e, f, g) {
- b.isAncestor(a) && (e.invert(), mxUtils.remove(e, a.connectsAsSource), b.connectsAsSource.push(e), a.connectsAsTarget.push(e), mxUtils.remove(e, b.connectsAsTarget));
- a = mxCellPath.create(b.cell);
- c[a] = b;
- delete d[a]
- }, d, !0, a);
- f = this.layout.getGraph();
- if (null != e && 0 < e.length) {
- b = b.roots;
- for (a = 0; a < e.length; a++) g = e[a].cell, 0 == f.getIncomingEdges(g).length && b.push(g)
- }
-};
-
-function mxCoordinateAssignment(a, b, c, d, e, f) {
- this.layout = a;
- this.intraCellSpacing = b;
- this.interRankCellSpacing = c;
- this.orientation = d;
- this.initialX = e;
- this.parallelEdgeSpacing = f
-}
-var mxHierarchicalEdgeStyle = {
- ORTHOGONAL: 1,
- POLYLINE: 2,
- STRAIGHT: 3,
- CURVE: 4
-};
-mxCoordinateAssignment.prototype = new mxHierarchicalLayoutStage;
-mxCoordinateAssignment.prototype.constructor = mxCoordinateAssignment;
-mxCoordinateAssignment.prototype.layout = null;
-mxCoordinateAssignment.prototype.intraCellSpacing = 30;
-mxCoordinateAssignment.prototype.interRankCellSpacing = 100;
-mxCoordinateAssignment.prototype.parallelEdgeSpacing = 10;
-mxCoordinateAssignment.prototype.maxIterations = 8;
-mxCoordinateAssignment.prototype.prefHozEdgeSep = 5;
-mxCoordinateAssignment.prototype.prefVertEdgeOff = 2;
-mxCoordinateAssignment.prototype.minEdgeJetty = 12;
-mxCoordinateAssignment.prototype.channelBuffer = 4;
-mxCoordinateAssignment.prototype.jettyPositions = null;
-mxCoordinateAssignment.prototype.orientation = mxConstants.DIRECTION_NORTH;
-mxCoordinateAssignment.prototype.initialX = null;
-mxCoordinateAssignment.prototype.limitX = null;
-mxCoordinateAssignment.prototype.currentXDelta = null;
-mxCoordinateAssignment.prototype.widestRank = null;
-mxCoordinateAssignment.prototype.rankTopY = null;
-mxCoordinateAssignment.prototype.rankBottomY = null;
-mxCoordinateAssignment.prototype.widestRankValue = null;
-mxCoordinateAssignment.prototype.rankWidths = null;
-mxCoordinateAssignment.prototype.rankY = null;
-mxCoordinateAssignment.prototype.fineTuning = !0;
-mxCoordinateAssignment.prototype.edgeStyle = mxHierarchicalEdgeStyle.POLYLINE;
-mxCoordinateAssignment.prototype.nextLayerConnectedCache = null;
-mxCoordinateAssignment.prototype.previousLayerConnectedCache = null;
-mxCoordinateAssignment.prototype.groupPadding = 10;
-mxCoordinateAssignment.prototype.printStatus = function() {
- var a = this.layout.getModel();
- mxLog.show();
- mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3dCoord assignment debug\x3d\x3d\x3d\x3d\x3d\x3d\x3d");
- for (var b = 0; b < a.ranks.length; b++) {
- mxLog.write("Rank ", b, " : ");
- for (var c = a.ranks[b], d = 0; d < c.length; d++) mxLog.write(c[d].getGeneralPurposeVariable(b), " ");
- mxLog.writeln()
- }
- mxLog.writeln("\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d")
-};
-mxCoordinateAssignment.prototype.execute = function(a) {
- this.jettyPositions = [];
- a = this.layout.getModel();
- this.currentXDelta = 0;
- this.initialCoords(this.layout.getGraph(), a);
- this.fineTuning && this.minNode(a);
- var b = 1E8;
- if (this.fineTuning)
- for (var c = 0; c < this.maxIterations; c++) {
- 0 != c && (this.medianPos(c, a), this.minNode(a));
- if (this.currentXDelta < b) {
- for (var d = 0; d < a.ranks.length; d++)
- for (var e = a.ranks[d], f = 0; f < e.length; f++) {
- var g = e[f];
- g.setX(d, g.getGeneralPurposeVariable(d))
- }
- b = this.currentXDelta
- } else
- for (d = 0; d < a.ranks.length; d++) {
- e =
- a.ranks[d];
- for (f = 0; f < e.length; f++) g = e[f], g.setGeneralPurposeVariable(d, g.getX(d))
- }
- this.minPath(this.layout.getGraph(), a);
- this.currentXDelta = 0
- }
- this.setCellLocations(this.layout.getGraph(), a)
-};
-mxCoordinateAssignment.prototype.minNode = function(a) {
- for (var b = [], c = [], d = [], e = 0; e <= a.maxRank; e++) {
- d[e] = a.ranks[e];
- for (var f = 0; f < d[e].length; f++) {
- var g = d[e][f],
- h = new WeightedCellSorter(g, e);
- h.rankIndex = f;
- h.visited = !0;
- b.push(h);
- g = mxCellPath.create(g.getCoreCell());
- c[g] = h
- }
- }
- a = 10 * b.length;
- for (f = 0; 0 < b.length && f <= a;) {
- var h = b.shift(),
- e = h.cell,
- k = h.weightedValue,
- l = parseInt(h.rankIndex),
- g = e.getNextLayerConnectedCells(k),
- m = e.getPreviousLayerConnectedCells(k),
- n = g.length,
- p = m.length,
- q = this.medianXValue(g, k + 1),
- s =
- this.medianXValue(m, k - 1),
- r = n + p,
- t = e.getGeneralPurposeVariable(k),
- v = t;
- 0 < r && (v = (q * n + s * p) / r);
- n = !1;
- v < t - 1 ? 0 == l ? (e.setGeneralPurposeVariable(k, v), n = !0) : (l = d[k][l - 1], t = l.getGeneralPurposeVariable(k), t = t + l.width / 2 + this.intraCellSpacing + e.width / 2, t < v ? (e.setGeneralPurposeVariable(
- k, v), n = !0) : t < e.getGeneralPurposeVariable(k) - 1 && (e.setGeneralPurposeVariable(k, t), n = !0)) : v > t + 1 && (l == d[k].length - 1 ? (e.setGeneralPurposeVariable(k, v), n = !0) :
- (l = d[k][l + 1], t = l.getGeneralPurposeVariable(k), t = t - l.width / 2 - this.intraCellSpacing -
- e.width / 2, t > v ? (e.setGeneralPurposeVariable(k, v), n = !0) : t > e.getGeneralPurposeVariable(k) + 1 && (e.setGeneralPurposeVariable(k, t), n = !0)));
- if (n) {
- for (e = 0; e < g.length; e++) k = g[e], k = mxCellPath.create(k.getCoreCell()), k = c[k], null != k && !1 == k.visited && (k.visited = !0, b.push(k));
- for (e = 0; e < m.length; e++) k = m[e], k = mxCellPath.create(k.getCoreCell()), k = c[k], null != k && !1 == k.visited && (k.visited = !0, b.push(k))
- }
- h.visited = !1;
- f++
- }
-};
-mxCoordinateAssignment.prototype.medianPos = function(a, b) {
- if (0 == a % 2)
- for (var c = b.maxRank; 0 < c; c--) this.rankMedianPosition(c - 1, b, c);
- else
- for (c = 0; c < b.maxRank - 1; c++) this.rankMedianPosition(c + 1, b, c)
-};
-mxCoordinateAssignment.prototype.rankMedianPosition = function(a, b, c) {
- b = b.ranks[a];
- for (var d = [], e = [], f = 0; f < b.length; f++) {
- var g = b[f];
- d[f] = new WeightedCellSorter;
- d[f].cell = g;
- d[f].rankIndex = f;
- var h = mxCellPath.create(g.getCoreCell());
- e[h] = d[f];
- var k = null,
- k = c < a ? g.getPreviousLayerConnectedCells(a) : g.getNextLayerConnectedCells(a);
- d[f].weightedValue = this.calculatedWeightedValue(g, k)
- }
- d.sort(WeightedCellSorter.prototype.compare);
- for (f = 0; f < d.length; f++) {
- h = 0;
- g = d[f].cell;
- h = 0;
- k = c < a ? g.getPreviousLayerConnectedCells(a).slice() :
- g.getNextLayerConnectedCells(a).slice();
- null != k && (h = k.length, h = 0 < h ? this.medianXValue(k, c) : g.getGeneralPurposeVariable(a));
- for (var l = 0, k = -1E8, m = d[f].rankIndex - 1; 0 <= m;) {
- var n = mxCellPath.create(b[m].getCoreCell()),
- n = e[n];
- if (null != n) {
- var p = n.cell;
- n.visited ? (k = p.getGeneralPurposeVariable(a) + p.width / 2 + this.intraCellSpacing + l + g.width / 2, m = -1) : (l += p.width + this.intraCellSpacing, m--)
- }
- }
- l = 0;
- p = 1E8;
- for (m = d[f].rankIndex + 1; m < d.length;)
- if (n = mxCellPath.create(b[m].getCoreCell()), n = e[n], null != n) {
- var q = n.cell;
- n.visited ?
- (p = q.getGeneralPurposeVariable(a) - q.width / 2 - this.intraCellSpacing - l - g.width / 2, m = d.length) : (l += q.width + this.intraCellSpacing, m++)
- }
- h >= k && h <= p ? g.setGeneralPurposeVariable(a, h) : h < k ? (g.setGeneralPurposeVariable(a, k), this.currentXDelta += k - h) : h > p && (g.setGeneralPurposeVariable(a, p), this.currentXDelta +=
- h - p);
- d[f].visited = !0
- }
-};
-mxCoordinateAssignment.prototype.calculatedWeightedValue = function(a, b) {
- for (var c = 0, d = 0; d < b.length; d++) {
- var e = b[d];
- a.isVertex() && e.isVertex() ? c++ : c = a.isEdge() && e.isEdge() ? c + 8 : c + 2
- }
- return c
-};
-mxCoordinateAssignment.prototype.medianXValue = function(a, b) {
- if (0 == a.length) return 0;
- for (var c = [], d = 0; d < a.length; d++) c[d] = a[d].getGeneralPurposeVariable(b);
- c.sort(function(a, b) {
- return a - b
- });
- if (1 == a.length % 2) return c[Math.floor(a.length / 2)];
- d = a.length / 2;
- return (c[d - 1] + c[d]) / 2
-};
-mxCoordinateAssignment.prototype.initialCoords = function(a, b) {
- this.calculateWidestRank(a, b);
- for (var c = this.widestRank; 0 <= c; c--) c < b.maxRank && this.rankCoordinates(c, a, b);
- for (c = this.widestRank + 1; c <= b.maxRank; c++) 0 < c && this.rankCoordinates(c, a, b)
-};
-mxCoordinateAssignment.prototype.rankCoordinates = function(a, b, c) {
- b = c.ranks[a];
- c = 0;
- for (var d = this.initialX + (this.widestRankValue - this.rankWidths[a]) / 2, e = !1, f = 0; f < b.length; f++) {
- var g = b[f];
- if (g.isVertex()) {
- var h = this.layout.getVertexBounds(g.cell);
- null != h ? this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (g.width = h.width, g.height = h.height) : (g.width = h.height, g.height = h.width) :
- e = !0;
- c = Math.max(c, g.height)
- } else g.isEdge() && (h = 1, null != g.edges ? h = g.edges.length : mxLog.warn("edge.edges is null"),
- g.width = (h - 1) * this.parallelEdgeSpacing);
- d += g.width / 2;
- g.setX(a, d);
- g.setGeneralPurposeVariable(a, d);
- d += g.width / 2;
- d += this.intraCellSpacing
- }!0 == e && mxLog.warn("At least one cell has no bounds")
-};
-mxCoordinateAssignment.prototype.calculateWidestRank = function(a, b) {
- var c = -this.interRankCellSpacing,
- d = 0;
- this.rankWidths = [];
- this.rankY = [];
- for (var e = b.maxRank; 0 <= e; e--) {
- for (var f = 0, g = b.ranks[e], h = this.initialX, k = !1, l = 0; l < g.length; l++) {
- var m = g[l];
- if (m.isVertex()) {
- var n = this.layout.getVertexBounds(m.cell);
- null != n ? this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (m.width = n.width, m.height = n.height) : (m.width = n.height, m.height = n
- .width) : k = !0;
- f = Math.max(f, m.height)
- } else m.isEdge() &&
- (n = 1, null != m.edges ? n = m.edges.length : mxLog.warn("edge.edges is null"), m.width = (n - 1) * this.parallelEdgeSpacing);
- h += m.width / 2;
- m.setX(e, h);
- m.setGeneralPurposeVariable(e, h);
- h += m.width / 2;
- h += this.intraCellSpacing;
- h > this.widestRankValue && (this.widestRankValue = h, this.widestRank = e);
- this.rankWidths[e] = h
- }!0 == k && mxLog.warn("At least one cell has no bounds");
- this.rankY[e] = c;
- h = f / 2 + d / 2 + this.interRankCellSpacing;
- d = f;
- c = this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_WEST ? c + h : c -
- h;
- for (l = 0; l < g.length; l++) g[l].setY(e, c)
- }
-};
-mxCoordinateAssignment.prototype.minPath = function(a, b) {
- var c = b.edgeMapper,
- d;
- for (d in c) {
- var e = c[d];
- if (!(1 > e.maxRank - e.minRank - 1)) {
- for (var f = e.getGeneralPurposeVariable(e.minRank + 1), g = !0, h = 0, k = e.minRank + 2; k < e.maxRank; k++) {
- var l = e.getGeneralPurposeVariable(k);
- f != l ? (g = !1, f = l) : h++
- }
- if (!g) {
- for (var g = f = 0, l = [], m = [], n = e.getGeneralPurposeVariable(e.minRank + 1), k = e.minRank + 1; k < e.maxRank - 1; k++) {
- var p = e.getX(k + 1);
- n == p ? (l[k - e.minRank - 1] = n, f++) : this.repositionValid(b, e, k + 1, n) ? (l[k - e.minRank - 1] = n, f++) : n = l[k - e.minRank -
- 1] = p
- }
- n = e.getX(k);
- for (k = e.maxRank - 1; k > e.minRank + 1; k--) p = e.getX(k - 1), n == p ? (m[k - e.minRank - 2] = n, g++) : this.repositionValid(b, e, k - 1, n) ? (m[k - e.minRank - 2] = n, g++) : (m[k -
- e.minRank - 2] = e.getX(k - 1), n = p);
- if (g > h || f > h)
- if (g >= f)
- for (k = e.maxRank - 2; k > e.minRank; k--) e.setX(k, m[k - e.minRank - 1]);
- else if (f > g)
- for (k = e.minRank + 2; k < e.maxRank; k++) e.setX(k, l[k - e.minRank - 2])
- }
- }
- }
-};
-mxCoordinateAssignment.prototype.repositionValid = function(a, b, c, d) {
- a = a.ranks[c];
- for (var e = -1, f = 0; f < a.length; f++)
- if (b == a[f]) {
- e = f;
- break
- }
- if (0 > e) return !1;
- f = b.getGeneralPurposeVariable(c);
- if (d < f) {
- if (0 == e) return !0;
- a = a[e - 1];
- c = a.getGeneralPurposeVariable(c);
- c = c + a.width / 2 + this.intraCellSpacing + b.width / 2;
- if (!(c <= d)) return !1
- } else if (d > f) {
- if (e == a.length - 1) return !0;
- a = a[e + 1];
- c = a.getGeneralPurposeVariable(c);
- c = c - a.width / 2 - this.intraCellSpacing - b.width / 2;
- if (!(c >= d)) return !1
- }
- return !0
-};
-mxCoordinateAssignment.prototype.setCellLocations = function(a, b) {
- this.rankTopY = [];
- this.rankBottomY = [];
- for (var c = 0; c < b.ranks.length; c++) this.rankTopY[c] = Number.MAX_VALUE, this.rankBottomY[c] = 0;
- c = null;
- this.layout.resizeParent && (c = {});
- var d = b.edgeMapper,
- e = b.vertexMapper,
- f;
- for (f in e) {
- var g = e[f];
- this.setVertexLocation(g);
- if (this.layout.resizeParent) {
- var g = a.model.getParent(g.cell),
- h = mxCellPath.create(g);
- null == c[h] && (c[h] = g)
- }
- }
- this.layout.resizeParent && null != c && this.adjustParents(c);
- (this.edgeStyle == mxHierarchicalEdgeStyle.ORTHOGONAL ||
- this.edgeStyle == mxHierarchicalEdgeStyle.POLYLINE || this.edgeStyle == mxHierarchicalEdgeStyle.CURVE) && this.localEdgeProcessing(b);
- for (f in d) this.setEdgePosition(d[f])
-};
-mxCoordinateAssignment.prototype.adjustParents = function(a) {
- var b = [],
- c;
- for (c in a) b.push(a[c]);
- this.layout.arrangeGroups(mxUtils.sortCells(b, !0), this.groupPadding)
-};
-mxCoordinateAssignment.prototype.localEdgeProcessing = function(a) {
- for (var b = 0; b < a.ranks.length; b++)
- for (var c = a.ranks[b], d = 0; d < c.length; d++) {
- var e = c[d];
- if (e.isVertex())
- for (var f = e.getPreviousLayerConnectedCells(b), g = b - 1, h = 0; 2 > h; h++) {
- if (-1 < g && g < a.ranks.length && null != f && 0 < f.length) {
- for (var k = [], l = 0; l < f.length; l++) {
- var m = new WeightedCellSorter(f[l], f[l].getX(g));
- k.push(m)
- }
- k.sort(WeightedCellSorter.prototype.compare);
- for (var m = e.x[0] - e.width / 2, n = m + e.width, p = f = 0, g = [], l = 0; l < k.length; l++) {
- var q = k[l].cell,
- s;
- if (q.isVertex()) {
- s = 0 == h ? e.connectsAsSource : e.connectsAsTarget;
- for (var r = 0; r < s.length; r++)
- if (s[r].source == q || s[r].target == q) f += s[r].edges.length, p++, g.push(s[r])
- } else f += q.edges.length, p++, g.push(q)
- }
- e.width > (f + 1) * this.prefHozEdgeSep + 2 * this.prefHozEdgeSep && (m += this.prefHozEdgeSep, n -= this.prefHozEdgeSep);
- k = (n - m) / f;
- m += k / 2;
- n = this.minEdgeJetty - this.prefVertEdgeOff;
- for (l = p = 0; l < g.length; l++) {
- q = g[l].edges.length;
- r = mxCellPath.create(g[l].edges[0]);
- s = this.jettyPositions[r];
- null == s && (s = [], this.jettyPositions[r] =
- s);
- l < f / 2 ? n += this.prefVertEdgeOff : l > f / 2 && (n -= this.prefVertEdgeOff);
- for (r = 0; r < q; r++) s[4 * r + 2 * h] = m, m += k, s[4 * r + 2 * h + 1] = n;
- p = Math.max(p, n)
- }
- }
- f = e.getNextLayerConnectedCells(b);
- g = b + 1
- }
- }
-};
-mxCoordinateAssignment.prototype.setEdgePosition = function(a) {
- var b = 0;
- if (101207 != a.temp[0]) {
- var c = a.maxRank,
- d = a.minRank;
- c == d && (c = a.source.maxRank, d = a.target.minRank);
- for (var e = 0, f = mxCellPath.create(a.edges[0]), f = this.jettyPositions[f], g = a.isReversed ? a.target.cell : a.source.cell, h = this.layout.graph, k = 0; k < a.edges.length; k++) {
- var l = a.edges[k],
- m = this.layout.getVisibleTerminal(l, !0),
- n = h.model.getTerminal(l, !0),
- p = [],
- q = a.isReversed;
- m != g && (q = !q);
- if (null != f) {
- var s = q ? 2 : 0,
- r = q ? this.rankTopY[d] : this.rankBottomY[c],
- t = f[4 * e + 1 + s];
- q && (t = -t);
- r += t;
- s = f[4 * e + s];
- n = h.model.getTerminal(l, !0);
- this.layout.isPort(n) && h.model.getParent(n) == m && (s = h.view.getState(n), s = null != s ? s.x : m.geometry.x + a.source.width * n.geometry.x);
- this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (p.push(new mxPoint(s, r)), this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(
- new mxPoint(s, r + t))) : (p.push(new mxPoint(r, s)), this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(r + t, s)))
- }
- s = a.x.length -
- 1;
- r = t = -1;
- m = a.maxRank - 1;
- q && (s = 0, t = a.x.length, r = 1, m = a.minRank + 1);
- for (; a.maxRank != a.minRank && s != t; s += r) {
- var n = a.x[s] + b,
- v = (this.rankTopY[m] + this.rankBottomY[m + 1]) / 2,
- w = (this.rankTopY[m - 1] + this.rankBottomY[m]) / 2;
- if (q) var u = v,
- v = w,
- w = u;
- this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? (p.push(new mxPoint(n, v)), p.push(new mxPoint(n, w))) : (p.push(new mxPoint(v, n)), p.push(
- new mxPoint(w, n)));
- this.limitX = Math.max(this.limitX, n);
- m += r
- }
- null != f && (s = q ? 2 : 0, r = q ? this.rankBottomY[c] :
- this.rankTopY[d], t = f[4 * e + 3 - s], q && (t = -t), r -= t, s = f[4 * e + 2 - s], q = h.model.getTerminal(l, !1), m = this.layout.getVisibleTerminal(l, !1), this.layout.isPort(q) && h.model
- .getParent(q) == m && (s = h.view.getState(q), s = null != s ? s.x : m.geometry.x + a.target.width * q.geometry.x), this.orientation == mxConstants.DIRECTION_NORTH || this.orientation ==
- mxConstants.DIRECTION_SOUTH ? (this.edgeStyle == mxHierarchicalEdgeStyle.CURVE && p.push(new mxPoint(s, r - t)), p.push(new mxPoint(s, r))) : (this.edgeStyle == mxHierarchicalEdgeStyle.CURVE &&
- p.push(new mxPoint(r -
- t, s)), p.push(new mxPoint(r, s))));
- a.isReversed && this.processReversedEdge(a, l);
- this.layout.setEdgePoints(l, p);
- b = 0 == b ? this.parallelEdgeSpacing : 0 < b ? -b : -b + this.parallelEdgeSpacing;
- e++
- }
- a.temp[0] = 101207
- }
-};
-mxCoordinateAssignment.prototype.setVertexLocation = function(a) {
- var b = a.cell,
- c = a.x[0] - a.width / 2,
- d = a.y[0] - a.height / 2;
- this.rankTopY[a.minRank] = Math.min(this.rankTopY[a.minRank], d);
- this.rankBottomY[a.minRank] = Math.max(this.rankBottomY[a.minRank], d + a.height);
- this.orientation == mxConstants.DIRECTION_NORTH || this.orientation == mxConstants.DIRECTION_SOUTH ? this.layout.setVertexLocation(b, c, d) : this.layout.setVertexLocation(b, d, c);
- this.limitX = Math.max(this.limitX, c + a.width)
-};
-mxCoordinateAssignment.prototype.processReversedEdge = function(a, b) {};
-
-function WeightedCellSorter(a, b) {
- this.cell = a;
- this.weightedValue = b
-}
-WeightedCellSorter.prototype.weightedValue = 0;
-WeightedCellSorter.prototype.nudge = !1;
-WeightedCellSorter.prototype.visited = !1;
-WeightedCellSorter.prototype.rankIndex = null;
-WeightedCellSorter.prototype.cell = null;
-WeightedCellSorter.prototype.compare = function(a, b) {
- return null != a && null != b ? b.weightedValue > a.weightedValue ? -1 : b.weightedValue < a.weightedValue ? 1 : b.nudge ? -1 : 1 : 0
-};
-
-function mxHierarchicalLayout(a, b, c) {
- mxGraphLayout.call(this, a);
- this.orientation = null != b ? b : mxConstants.DIRECTION_NORTH;
- this.deterministic = null != c ? c : !0
-}
-mxHierarchicalLayout.prototype = new mxGraphLayout;
-mxHierarchicalLayout.prototype.constructor = mxHierarchicalLayout;
-mxHierarchicalLayout.prototype.roots = null;
-mxHierarchicalLayout.prototype.resizeParent = !1;
-mxHierarchicalLayout.prototype.moveParent = !1;
-mxHierarchicalLayout.prototype.parentBorder = 0;
-mxHierarchicalLayout.prototype.intraCellSpacing = 30;
-mxHierarchicalLayout.prototype.interRankCellSpacing = 100;
-mxHierarchicalLayout.prototype.interHierarchySpacing = 60;
-mxHierarchicalLayout.prototype.parallelEdgeSpacing = 10;
-mxHierarchicalLayout.prototype.orientation = mxConstants.DIRECTION_NORTH;
-mxHierarchicalLayout.prototype.fineTuning = !0;
-mxHierarchicalLayout.prototype.tightenToSource = !0;
-mxHierarchicalLayout.prototype.disableEdgeStyle = !0;
-mxHierarchicalLayout.prototype.traverseAncestors = !0;
-mxHierarchicalLayout.prototype.model = null;
-mxHierarchicalLayout.prototype.edgesCache = null;
-mxHierarchicalLayout.prototype.getModel = function() {
- return this.model
-};
-mxHierarchicalLayout.prototype.execute = function(a, b) {
- this.parent = a;
- var c = this.graph.model;
- this.edgesCache = {};
- if (!(null == b && null == a)) {
- if (null != b && null != a) {
- for (var d = [], e = 0; e < b.length; e++) c.isAncestor(a, b[e]) && d.push(b[e]);
- this.roots = d
- } else this.roots = b;
- c.beginUpdate();
- try {
- this.run(a), this.resizeParent && !this.graph.isCellCollapsed(a) && this.graph.updateGroupBounds([a], this.parentBorder, this.moveParent)
- } finally {
- c.endUpdate()
- }
- }
-};
-mxHierarchicalLayout.prototype.findRoots = function(a, b) {
- var c = [];
- if (null != a && null != b) {
- var d = this.graph.model,
- e = null,
- f = -1E5,
- g;
- for (g in b) {
- var h = b[g];
- if (d.isVertex(h) && this.graph.isCellVisible(h)) {
- for (var k = this.getEdges(h), l = 0, m = 0, n = 0; n < k.length; n++) this.getVisibleTerminal(k[n], !0) == h ? l++ : m++;
- 0 == m && 0 < l && c.push(h);
- k = l - m;
- k > f && (f = k, e = h)
- }
- }
- 0 == c.length && null != e && c.push(e)
- }
- return c
-};
-mxHierarchicalLayout.prototype.getEdges = function(a) {
- var b = mxCellPath.create(a);
- if (null != this.edgesCache[b]) return this.edgesCache[b];
- for (var c = this.graph.model, d = [], e = this.graph.isCellCollapsed(a), f = c.getChildCount(a), g = 0; g < f; g++) {
- var h = c.getChildAt(a, g);
- if (this.isPort(h)) d = d.concat(c.getEdges(h, !0, !0));
- else if (e || !this.graph.isCellVisible(h)) d = d.concat(c.getEdges(h, !0, !0))
- }
- d = d.concat(c.getEdges(a, !0, !0));
- c = [];
- for (g = 0; g < d.length; g++) e = this.getVisibleTerminal(d[g], !0), f = this.getVisibleTerminal(d[g], !1), (e == f || e != f && (f == a && (null == this.parent || this.graph.isValidAncestor(e,
- this.parent, this.traverseAncestors)) || e == a && (null == this.parent || this.graph.isValidAncestor(f, this.parent, this.traverseAncestors)))) && c.push(d[g]);
- return this.edgesCache[b] = c
-};
-mxHierarchicalLayout.prototype.getVisibleTerminal = function(a, b) {
- var c = this.graph.view.getState(a),
- c = null != c ? c.getVisibleTerminal(b) : this.graph.view.getVisibleTerminal(a, b);
- this.isPort(c) && (c = this.graph.model.getParent(c));
- return c
-};
-mxHierarchicalLayout.prototype.run = function(a) {
- var b = [],
- c = [];
- if (null == this.roots && null != a) {
- var d = {};
- this.filterDescendants(a, d);
- this.roots = [];
- var e = !0,
- f;
- for (f in d)
- if (null != d[f]) {
- e = !1;
- break
- }
- for (; !e;) {
- for (var g = this.findRoots(a, d), e = 0; e < g.length; e++) {
- var h = [];
- b.push(h);
- this.traverse(g[e], !0, null, c, h, b, d)
- }
- for (e = 0; e < g.length; e++) this.roots.push(g[e]);
- e = !0;
- for (f in d)
- if (null != d[f]) {
- e = !1;
- break
- }
- }
- } else
- for (e = 0; e < roots.length; e++) h = [], b.push(h), traverse(roots.get(e), !0, null, c, h, b, null);
- for (e = c = 0; e < b.length; e++) {
- h =
- b[e];
- d = [];
- for (f in h) d.push(h[f]);
- this.model = new mxGraphHierarchyModel(this, d, this.roots, a, this.tightenToSource);
- this.cycleStage(a);
- this.layeringStage();
- this.crossingStage(a);
- c = this.placementStage(c, a)
- }
-};
-mxHierarchicalLayout.prototype.filterDescendants = function(a, b) {
- var c = this.graph.model;
- c.isVertex(a) && (a != this.parent && this.graph.isCellVisible(a)) && (b[mxCellPath.create(a)] = a);
- if (this.traverseAncestors || a == this.parent && this.graph.isCellVisible(a))
- for (var d = c.getChildCount(a), e = 0; e < d; e++) {
- var f = c.getChildAt(a, e);
- this.isPort(f) || this.filterDescendants(f, b)
- }
-};
-mxHierarchicalLayout.prototype.isPort = function(a) {
- return a.geometry.relative ? !0 : !1
-};
-mxHierarchicalLayout.prototype.getEdgesBetween = function(a, b, c) {
- c = null != c ? c : !1;
- for (var d = this.getEdges(a), e = [], f = 0; f < d.length; f++) {
- var g = this.getVisibleTerminal(d[f], !0),
- h = this.getVisibleTerminal(d[f], !1);
- (g == a && h == b || !c && g == b && h == a) && e.push(d[f])
- }
- return e
-};
-mxHierarchicalLayout.prototype.traverse = function(a, b, c, d, e, f, g) {
- if (null != a && null != d) {
- var h = mxCellPath.create(a);
- if (null == d[h] && (null == g || null != g[h])) {
- null == e[h] && (e[h] = a);
- null == d[h] && (d[h] = a);
- delete g[h];
- var k = this.getEdges(a);
- for (c = 0; c < k.length; c++)
- if (h = this.getVisibleTerminal(k[c], !0) == a, !b || h) h = this.getVisibleTerminal(k[c], !h), e = this.traverse(h, b, k[c], d, e, f, g)
- } else if (null == e[h])
- for (c = 0; c < f.length; c++)
- if (a = f[c], null != a[h]) {
- for (k in e) a[k] = e[k];
- f.pop();
- return a
- }
- }
- return e
-};
-mxHierarchicalLayout.prototype.cycleStage = function(a) {
- (new mxMinimumCycleRemover(this)).execute(a)
-};
-mxHierarchicalLayout.prototype.layeringStage = function() {
- this.model.initialRank();
- this.model.fixRanks()
-};
-mxHierarchicalLayout.prototype.crossingStage = function(a) {
- (new mxMedianHybridCrossingReduction(this)).execute(a)
-};
-mxHierarchicalLayout.prototype.placementStage = function(a, b) {
- var c = new mxCoordinateAssignment(this, this.intraCellSpacing, this.interRankCellSpacing, this.orientation, a, this.parallelEdgeSpacing);
- c.fineTuning = this.fineTuning;
- c.execute(b);
- return c.limitX + this.interHierarchySpacing
-};
-
-function mxGraphModel(a) {
- this.currentEdit = this.createUndoableEdit();
- null != a ? this.setRoot(a) : this.clear()
-}
-mxGraphModel.prototype = new mxEventSource;
-mxGraphModel.prototype.constructor = mxGraphModel;
-mxGraphModel.prototype.root = null;
-mxGraphModel.prototype.cells = null;
-mxGraphModel.prototype.maintainEdgeParent = !0;
-mxGraphModel.prototype.createIds = !0;
-mxGraphModel.prototype.prefix = "";
-mxGraphModel.prototype.postfix = "";
-mxGraphModel.prototype.nextId = 0;
-mxGraphModel.prototype.currentEdit = null;
-mxGraphModel.prototype.updateLevel = 0;
-mxGraphModel.prototype.endingUpdate = !1;
-mxGraphModel.prototype.clear = function() {
- this.setRoot(this.createRoot())
-};
-mxGraphModel.prototype.isCreateIds = function() {
- return this.createIds
-};
-mxGraphModel.prototype.setCreateIds = function(a) {
- this.createIds = a
-};
-mxGraphModel.prototype.createRoot = function() {
- var a = new mxCell;
- a.insert(new mxCell);
- return a
-};
-mxGraphModel.prototype.getCell = function(a) {
- return null != this.cells ? this.cells[a] : null
-};
-mxGraphModel.prototype.filterCells = function(a, b) {
- var c = null;
- if (null != a)
- for (var c = [], d = 0; d < a.length; d++) b(a[d]) && c.push(a[d]);
- return c
-};
-mxGraphModel.prototype.getDescendants = function(a) {
- return this.filterDescendants(null, a)
-};
-mxGraphModel.prototype.filterDescendants = function(a, b) {
- var c = [];
- b = b || this.getRoot();
- (null == a || a(b)) && c.push(b);
- for (var d = this.getChildCount(b), e = 0; e < d; e++) var f = this.getChildAt(b, e),
- c = c.concat(this.filterDescendants(a, f));
- return c
-};
-mxGraphModel.prototype.getRoot = function(a) {
- var b = a || this.root;
- if (null != a)
- for (; null != a;) b = a, a = this.getParent(a);
- return b
-};
-mxGraphModel.prototype.setRoot = function(a) {
- this.execute(new mxRootChange(this, a));
- return a
-};
-mxGraphModel.prototype.rootChanged = function(a) {
- var b = this.root;
- this.root = a;
- this.nextId = 0;
- this.cells = null;
- this.cellAdded(a);
- return b
-};
-mxGraphModel.prototype.isRoot = function(a) {
- return null != a && this.root == a
-};
-mxGraphModel.prototype.isLayer = function(a) {
- return this.isRoot(this.getParent(a))
-};
-mxGraphModel.prototype.isAncestor = function(a, b) {
- for (; null != b && b != a;) b = this.getParent(b);
- return b == a
-};
-mxGraphModel.prototype.contains = function(a) {
- return this.isAncestor(this.root, a)
-};
-mxGraphModel.prototype.getParent = function(a) {
- return null != a ? a.getParent() : null
-};
-mxGraphModel.prototype.add = function(a, b, c) {
- if (b != a && null != a && null != b) {
- null == c && (c = this.getChildCount(a));
- var d = a != this.getParent(b);
- this.execute(new mxChildChange(this, a, b, c));
- this.maintainEdgeParent && d && this.updateEdgeParents(b)
- }
- return b
-};
-mxGraphModel.prototype.cellAdded = function(a) {
- if (null != a) {
- null == a.getId() && this.createIds && a.setId(this.createId(a));
- if (null != a.getId()) {
- var b = this.getCell(a.getId());
- if (b != a) {
- for (; null != b;) a.setId(this.createId(a)), b = this.getCell(a.getId());
- null == this.cells && (this.cells = {});
- this.cells[a.getId()] = a
- }
- }
- mxUtils.isNumeric(a.getId()) && (this.nextId = Math.max(this.nextId, a.getId()));
- for (var b = this.getChildCount(a), c = 0; c < b; c++) this.cellAdded(this.getChildAt(a, c))
- }
-};
-mxGraphModel.prototype.createId = function(a) {
- a = this.nextId;
- this.nextId++;
- return this.prefix + a + this.postfix
-};
-mxGraphModel.prototype.updateEdgeParents = function(a, b) {
- b = b || this.getRoot(a);
- for (var c = this.getChildCount(a), d = 0; d < c; d++) {
- var e = this.getChildAt(a, d);
- this.updateEdgeParents(e, b)
- }
- e = this.getEdgeCount(a);
- c = [];
- for (d = 0; d < e; d++) c.push(this.getEdgeAt(a, d));
- for (d = 0; d < c.length; d++) e = c[d], this.isAncestor(b, e) && this.updateEdgeParent(e, b)
-};
-mxGraphModel.prototype.updateEdgeParent = function(a, b) {
- for (var c = this.getTerminal(a, !0), d = this.getTerminal(a, !1), e = null; null != c && !this.isEdge(c) && null != c.geometry && c.geometry.relative;) c = this.getParent(c);
- for (; null != d && !this.isEdge(d) && null != d.geometry && d.geometry.relative;) d = this.getParent(d);
- if (this.isAncestor(b, c) && this.isAncestor(b, d) && (e = c == d ? this.getParent(c) : this.getNearestCommonAncestor(c, d), null != e && (this.getParent(e) != this.root || this.isAncestor(e, a)) &&
- this.getParent(a) != e)) {
- c = this.getGeometry(a);
- if (null != c) {
- var f = this.getOrigin(this.getParent(a)),
- g = this.getOrigin(e),
- d = g.x - f.x,
- f = g.y - f.y,
- c = c.clone();
- c.translate(-d, -f);
- this.setGeometry(a, c)
- }
- this.add(e, a, this.getChildCount(e))
- }
-};
-mxGraphModel.prototype.getOrigin = function(a) {
- var b = null;
- null != a ? (b = this.getOrigin(this.getParent(a)), this.isEdge(a) || (a = this.getGeometry(a), null != a && (b.x += a.x, b.y += a.y))) : b = new mxPoint;
- return b
-};
-mxGraphModel.prototype.getNearestCommonAncestor = function(a, b) {
- if (null != a && null != b) {
- var c = mxCellPath.create(b);
- if (null != c && 0 < c.length) {
- var d = a,
- e = mxCellPath.create(d);
- if (c.length < e.length) var d = b,
- f = e,
- e = c,
- c = f;
- for (; null != d;) {
- f = this.getParent(d);
- if (0 == c.indexOf(e + mxCellPath.PATH_SEPARATOR) && null != f) return d;
- e = mxCellPath.getParentPath(e);
- d = f
- }
- }
- }
- return null
-};
-mxGraphModel.prototype.remove = function(a) {
- a == this.root ? this.setRoot(null) : null != this.getParent(a) && this.execute(new mxChildChange(this, null, a));
- return a
-};
-mxGraphModel.prototype.cellRemoved = function(a) {
- if (null != a && null != this.cells) {
- for (var b = this.getChildCount(a) - 1; 0 <= b; b--) this.cellRemoved(this.getChildAt(a, b));
- null != this.cells && null != a.getId() && delete this.cells[a.getId()]
- }
-};
-mxGraphModel.prototype.parentForCellChanged = function(a, b, c) {
- var d = this.getParent(a);
- null != b ? (b != d || d.getIndex(a) != c) && b.insert(a, c) : null != d && (c = d.getIndex(a), d.remove(c));
- !this.contains(d) && null != b ? this.cellAdded(a) : null == b && this.cellRemoved(a);
- return d
-};
-mxGraphModel.prototype.getChildCount = function(a) {
- return null != a ? a.getChildCount() : 0
-};
-mxGraphModel.prototype.getChildAt = function(a, b) {
- return null != a ? a.getChildAt(b) : null
-};
-mxGraphModel.prototype.getChildren = function(a) {
- return null != a ? a.children : null
-};
-mxGraphModel.prototype.getChildVertices = function(a) {
- return this.getChildCells(a, !0, !1)
-};
-mxGraphModel.prototype.getChildEdges = function(a) {
- return this.getChildCells(a, !1, !0)
-};
-mxGraphModel.prototype.getChildCells = function(a, b, c) {
- b = null != b ? b : !1;
- c = null != c ? c : !1;
- for (var d = this.getChildCount(a), e = [], f = 0; f < d; f++) {
- var g = this.getChildAt(a, f);
- (!c && !b || c && this.isEdge(g) || b && this.isVertex(g)) && e.push(g)
- }
- return e
-};
-mxGraphModel.prototype.getTerminal = function(a, b) {
- return null != a ? a.getTerminal(b) : null
-};
-mxGraphModel.prototype.setTerminal = function(a, b, c) {
- var d = b != this.getTerminal(a, c);
- this.execute(new mxTerminalChange(this, a, b, c));
- this.maintainEdgeParent && d && this.updateEdgeParent(a, this.getRoot());
- return b
-};
-mxGraphModel.prototype.setTerminals = function(a, b, c) {
- this.beginUpdate();
- try {
- this.setTerminal(a, b, !0), this.setTerminal(a, c, !1)
- } finally {
- this.endUpdate()
- }
-};
-mxGraphModel.prototype.terminalForCellChanged = function(a, b, c) {
- var d = this.getTerminal(a, c);
- null != b ? b.insertEdge(a, c) : null != d && d.removeEdge(a, c);
- return d
-};
-mxGraphModel.prototype.getEdgeCount = function(a) {
- return null != a ? a.getEdgeCount() : 0
-};
-mxGraphModel.prototype.getEdgeAt = function(a, b) {
- return null != a ? a.getEdgeAt(b) : null
-};
-mxGraphModel.prototype.getDirectedEdgeCount = function(a, b, c) {
- for (var d = 0, e = this.getEdgeCount(a), f = 0; f < e; f++) {
- var g = this.getEdgeAt(a, f);
- g != c && this.getTerminal(g, b) == a && d++
- }
- return d
-};
-mxGraphModel.prototype.getConnections = function(a) {
- return this.getEdges(a, !0, !0, !1)
-};
-mxGraphModel.prototype.getIncomingEdges = function(a) {
- return this.getEdges(a, !0, !1, !1)
-};
-mxGraphModel.prototype.getOutgoingEdges = function(a) {
- return this.getEdges(a, !1, !0, !1)
-};
-mxGraphModel.prototype.getEdges = function(a, b, c, d) {
- b = null != b ? b : !0;
- c = null != c ? c : !0;
- d = null != d ? d : !0;
- for (var e = this.getEdgeCount(a), f = [], g = 0; g < e; g++) {
- var h = this.getEdgeAt(a, g),
- k = this.getTerminal(h, !0),
- l = this.getTerminal(h, !1);
- (d && k == l || k != l && (b && l == a || c && k == a)) && f.push(h)
- }
- return f
-};
-mxGraphModel.prototype.getEdgesBetween = function(a, b, c) {
- c = null != c ? c : !1;
- var d = this.getEdgeCount(a),
- e = this.getEdgeCount(b),
- f = a,
- g = d;
- e < d && (g = e, f = b);
- d = [];
- for (e = 0; e < g; e++) {
- var h = this.getEdgeAt(f, e),
- k = this.getTerminal(h, !0),
- l = this.getTerminal(h, !1),
- m = l == a && k == b;
- (k == a && l == b || !c && m) && d.push(h)
- }
- return d
-};
-mxGraphModel.prototype.getOpposites = function(a, b, c, d) {
- c = null != c ? c : !0;
- d = null != d ? d : !0;
- var e = [];
- if (null != a)
- for (var f = 0; f < a.length; f++) {
- var g = this.getTerminal(a[f], !0),
- h = this.getTerminal(a[f], !1);
- g == b && null != h && h != b && d ? e.push(h) : h == b && (null != g && g != b && c) && e.push(g)
- }
- return e
-};
-mxGraphModel.prototype.getTopmostCells = function(a) {
- for (var b = [], c = 0; c < a.length; c++) {
- for (var d = a[c], e = !0, f = this.getParent(d); null != f;) {
- if (0 <= mxUtils.indexOf(a, f)) {
- e = !1;
- break
- }
- f = this.getParent(f)
- }
- e && b.push(d)
- }
- return b
-};
-mxGraphModel.prototype.isVertex = function(a) {
- return null != a ? a.isVertex() : !1
-};
-mxGraphModel.prototype.isEdge = function(a) {
- return null != a ? a.isEdge() : !1
-};
-mxGraphModel.prototype.isConnectable = function(a) {
- return null != a ? a.isConnectable() : !1
-};
-mxGraphModel.prototype.getValue = function(a) {
- return null != a ? a.getValue() : null
-};
-mxGraphModel.prototype.setValue = function(a, b) {
- this.execute(new mxValueChange(this, a, b));
- return b
-};
-mxGraphModel.prototype.valueForCellChanged = function(a, b) {
- return a.valueChanged(b)
-};
-mxGraphModel.prototype.getGeometry = function(a, b) {
- return null != a ? a.getGeometry() : null
-};
-mxGraphModel.prototype.setGeometry = function(a, b) {
- b != this.getGeometry(a) && this.execute(new mxGeometryChange(this, a, b));
- return b
-};
-mxGraphModel.prototype.geometryForCellChanged = function(a, b) {
- var c = this.getGeometry(a);
- a.setGeometry(b);
- return c
-};
-mxGraphModel.prototype.getStyle = function(a) {
- return null != a ? a.getStyle() : null
-};
-mxGraphModel.prototype.setStyle = function(a, b) {
- b != this.getStyle(a) && this.execute(new mxStyleChange(this, a, b));
- return b
-};
-mxGraphModel.prototype.styleForCellChanged = function(a, b) {
- var c = this.getStyle(a);
- a.setStyle(b);
- return c
-};
-mxGraphModel.prototype.isCollapsed = function(a) {
- return null != a ? a.isCollapsed() : !1
-};
-mxGraphModel.prototype.setCollapsed = function(a, b) {
- b != this.isCollapsed(a) && this.execute(new mxCollapseChange(this, a, b));
- return b
-};
-mxGraphModel.prototype.collapsedStateForCellChanged = function(a, b) {
- var c = this.isCollapsed(a);
- a.setCollapsed(b);
- return c
-};
-mxGraphModel.prototype.isVisible = function(a) {
- return null != a ? a.isVisible() : !1
-};
-mxGraphModel.prototype.setVisible = function(a, b) {
- b != this.isVisible(a) && this.execute(new mxVisibleChange(this, a, b));
- return b
-};
-mxGraphModel.prototype.visibleStateForCellChanged = function(a, b) {
- var c = this.isVisible(a);
- a.setVisible(b);
- return c
-};
-mxGraphModel.prototype.execute = function(a) {
- a.execute();
- this.beginUpdate();
- this.currentEdit.add(a);
- this.fireEvent(new mxEventObject(mxEvent.EXECUTE, "change", a));
- this.fireEvent(new mxEventObject(mxEvent.EXECUTED, "change", a));
- this.endUpdate()
-};
-mxGraphModel.prototype.beginUpdate = function() {
- this.updateLevel++;
- this.fireEvent(new mxEventObject(mxEvent.BEGIN_UPDATE));
- 1 == this.updateLevel && this.fireEvent(new mxEventObject(mxEvent.START_EDIT))
-};
-mxGraphModel.prototype.endUpdate = function() {
- this.updateLevel--;
- 0 == this.updateLevel && this.fireEvent(new mxEventObject(mxEvent.END_EDIT));
- if (!this.endingUpdate) {
- this.endingUpdate = 0 == this.updateLevel;
- this.fireEvent(new mxEventObject(mxEvent.END_UPDATE, "edit", this.currentEdit));
- try {
- if (this.endingUpdate && !this.currentEdit.isEmpty()) {
- this.fireEvent(new mxEventObject(mxEvent.BEFORE_UNDO, "edit", this.currentEdit));
- var a = this.currentEdit;
- this.currentEdit = this.createUndoableEdit();
- a.notify();
- this.fireEvent(new mxEventObject(mxEvent.UNDO,
- "edit", a))
- }
- } finally {
- this.endingUpdate = !1
- }
- }
-};
-mxGraphModel.prototype.createUndoableEdit = function() {
- var a = new mxUndoableEdit(this, !0);
- a.notify = function() {
- a.source.fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", a, "changes", a.changes));
- a.source.fireEvent(new mxEventObject(mxEvent.NOTIFY, "edit", a, "changes", a.changes))
- };
- return a
-};
-mxGraphModel.prototype.mergeChildren = function(a, b, c) {
- c = null != c ? c : !0;
- this.beginUpdate();
- try {
- var d = {};
- this.mergeChildrenImpl(a, b, c, d);
- for (var e in d) {
- var f = d[e],
- g = this.getTerminal(f, !0);
- null != g && (g = d[mxCellPath.create(g)], this.setTerminal(f, g, !0));
- g = this.getTerminal(f, !1);
- null != g && (g = d[mxCellPath.create(g)], this.setTerminal(f, g, !1))
- }
- } finally {
- this.endUpdate()
- }
-};
-mxGraphModel.prototype.mergeChildrenImpl = function(a, b, c, d) {
- this.beginUpdate();
- try {
- for (var e = a.getChildCount(), f = 0; f < e; f++) {
- var g = a.getChildAt(f);
- if ("function" == typeof g.getId) {
- var h = g.getId(),
- k = null != h && (!this.isEdge(g) || !c) ? this.getCell(h) : null;
- if (null == k) {
- var l = g.clone();
- l.setId(h);
- l.setTerminal(g.getTerminal(!0), !0);
- l.setTerminal(g.getTerminal(!1), !1);
- k = b.insert(l);
- this.cellAdded(k)
- }
- d[mxCellPath.create(g)] = k;
- this.mergeChildrenImpl(g, k, c, d)
- }
- }
- } finally {
- this.endUpdate()
- }
-};
-mxGraphModel.prototype.getParents = function(a) {
- var b = [];
- if (null != a)
- for (var c = {}, d = 0; d < a.length; d++) {
- var e = this.getParent(a[d]);
- if (null != e) {
- var f = mxCellPath.create(e);
- null == c[f] && (c[f] = e, b.push(e))
- }
- }
- return b
-};
-mxGraphModel.prototype.cloneCell = function(a) {
- return null != a ? this.cloneCells([a], !0)[0] : null
-};
-mxGraphModel.prototype.cloneCells = function(a, b) {
- for (var c = {}, d = [], e = 0; e < a.length; e++) null != a[e] ? d.push(this.cloneCellImpl(a[e], c, b)) : d.push(null);
- for (e = 0; e < d.length; e++) null != d[e] && this.restoreClone(d[e], a[e], c);
- return d
-};
-mxGraphModel.prototype.cloneCellImpl = function(a, b, c) {
- var d = this.cellCloned(a);
- b[mxObjectIdentity.get(a)] = d;
- if (c) {
- c = this.getChildCount(a);
- for (var e = 0; e < c; e++) {
- var f = this.cloneCellImpl(this.getChildAt(a, e), b, !0);
- d.insert(f)
- }
- }
- return d
-};
-mxGraphModel.prototype.cellCloned = function(a) {
- return a.clone()
-};
-mxGraphModel.prototype.restoreClone = function(a, b, c) {
- var d = this.getTerminal(b, !0);
- null != d && (d = c[mxObjectIdentity.get(d)], null != d && d.insertEdge(a, !0));
- d = this.getTerminal(b, !1);
- null != d && (d = c[mxObjectIdentity.get(d)], null != d && d.insertEdge(a, !1));
- for (var d = this.getChildCount(a), e = 0; e < d; e++) this.restoreClone(this.getChildAt(a, e), this.getChildAt(b, e), c)
-};
-
-function mxRootChange(a, b) {
- this.model = a;
- this.previous = this.root = b
-}
-mxRootChange.prototype.execute = function() {
- this.root = this.previous;
- this.previous = this.model.rootChanged(this.previous)
-};
-
-function mxChildChange(a, b, c, d) {
- this.model = a;
- this.previous = this.parent = b;
- this.child = c;
- this.previousIndex = this.index = d
-}
-mxChildChange.prototype.execute = function() {
- var a = this.model.getParent(this.child),
- b = null != a ? a.getIndex(this.child) : 0;
- null == this.previous && this.connect(this.child, !1);
- a = this.model.parentForCellChanged(this.child, this.previous, this.previousIndex);
- null != this.previous && this.connect(this.child, !0);
- this.parent = this.previous;
- this.previous = a;
- this.index = this.previousIndex;
- this.previousIndex = b
-};
-mxChildChange.prototype.connect = function(a, b) {
- b = null != b ? b : !0;
- var c = a.getTerminal(!0),
- d = a.getTerminal(!1);
- null != c && (b ? this.model.terminalForCellChanged(a, c, !0) : this.model.terminalForCellChanged(a, null, !0));
- null != d && (b ? this.model.terminalForCellChanged(a, d, !1) : this.model.terminalForCellChanged(a, null, !1));
- a.setTerminal(c, !0);
- a.setTerminal(d, !1);
- c = this.model.getChildCount(a);
- for (d = 0; d < c; d++) this.connect(this.model.getChildAt(a, d), b)
-};
-
-function mxTerminalChange(a, b, c, d) {
- this.model = a;
- this.cell = b;
- this.previous = this.terminal = c;
- this.source = d
-}
-mxTerminalChange.prototype.execute = function() {
- this.terminal = this.previous;
- this.previous = this.model.terminalForCellChanged(this.cell, this.previous, this.source)
-};
-
-function mxValueChange(a, b, c) {
- this.model = a;
- this.cell = b;
- this.previous = this.value = c
-}
-mxValueChange.prototype.execute = function() {
- this.value = this.previous;
- this.previous = this.model.valueForCellChanged(this.cell, this.previous)
-};
-
-function mxStyleChange(a, b, c) {
- this.model = a;
- this.cell = b;
- this.previous = this.style = c
-}
-mxStyleChange.prototype.execute = function() {
- this.style = this.previous;
- this.previous = this.model.styleForCellChanged(this.cell, this.previous)
-};
-
-function mxGeometryChange(a, b, c) {
- this.model = a;
- this.cell = b;
- this.previous = this.geometry = c
-}
-mxGeometryChange.prototype.execute = function() {
- this.geometry = this.previous;
- this.previous = this.model.geometryForCellChanged(this.cell, this.previous)
-};
-
-function mxCollapseChange(a, b, c) {
- this.model = a;
- this.cell = b;
- this.previous = this.collapsed = c
-}
-mxCollapseChange.prototype.execute = function() {
- this.collapsed = this.previous;
- this.previous = this.model.collapsedStateForCellChanged(this.cell, this.previous)
-};
-
-function mxVisibleChange(a, b, c) {
- this.model = a;
- this.cell = b;
- this.previous = this.visible = c
-}
-mxVisibleChange.prototype.execute = function() {
- this.visible = this.previous;
- this.previous = this.model.visibleStateForCellChanged(this.cell, this.previous)
-};
-
-function mxCellAttributeChange(a, b, c) {
- this.cell = a;
- this.attribute = b;
- this.previous = this.value = c
-}
-mxCellAttributeChange.prototype.execute = function() {
- var a = this.cell.getAttribute(this.attribute);
- null == this.previous ? this.cell.value.removeAttribute(this.attribute) : this.cell.setAttribute(this.attribute, this.previous);
- this.previous = a
-};
-
-function mxCell(a, b, c) {
- this.value = a;
- this.setGeometry(b);
- this.setStyle(c);
- if (null != this.onInit) this.onInit()
-}
-mxCell.prototype.id = null;
-mxCell.prototype.value = null;
-mxCell.prototype.geometry = null;
-mxCell.prototype.style = null;
-mxCell.prototype.vertex = !1;
-mxCell.prototype.edge = !1;
-mxCell.prototype.connectable = !0;
-mxCell.prototype.visible = !0;
-mxCell.prototype.collapsed = !1;
-mxCell.prototype.parent = null;
-mxCell.prototype.source = null;
-mxCell.prototype.target = null;
-mxCell.prototype.children = null;
-mxCell.prototype.edges = null;
-mxCell.prototype.mxTransient = "id value parent source target children edges".split(" ");
-mxCell.prototype.getId = function() {
- return this.id
-};
-mxCell.prototype.setId = function(a) {
- this.id = a
-};
-mxCell.prototype.getValue = function() {
- return this.value
-};
-mxCell.prototype.setValue = function(a) {
- this.value = a
-};
-mxCell.prototype.valueChanged = function(a) {
- var b = this.getValue();
- this.setValue(a);
- return b
-};
-mxCell.prototype.getGeometry = function() {
- return this.geometry
-};
-mxCell.prototype.setGeometry = function(a) {
- this.geometry = a
-};
-mxCell.prototype.getStyle = function() {
- return this.style
-};
-mxCell.prototype.setStyle = function(a) {
- this.style = a
-};
-mxCell.prototype.isVertex = function() {
- return this.vertex
-};
-mxCell.prototype.setVertex = function(a) {
- this.vertex = a
-};
-mxCell.prototype.isEdge = function() {
- return this.edge
-};
-mxCell.prototype.setEdge = function(a) {
- this.edge = a
-};
-mxCell.prototype.isConnectable = function() {
- return this.connectable
-};
-mxCell.prototype.setConnectable = function(a) {
- this.connectable = a
-};
-mxCell.prototype.isVisible = function() {
- return this.visible
-};
-mxCell.prototype.setVisible = function(a) {
- this.visible = a
-};
-mxCell.prototype.isCollapsed = function() {
- return this.collapsed
-};
-mxCell.prototype.setCollapsed = function(a) {
- this.collapsed = a
-};
-mxCell.prototype.getParent = function() {
- return this.parent
-};
-mxCell.prototype.setParent = function(a) {
- this.parent = a
-};
-mxCell.prototype.getTerminal = function(a) {
- return a ? this.source : this.target
-};
-mxCell.prototype.setTerminal = function(a, b) {
- b ? this.source = a : this.target = a;
- return a
-};
-mxCell.prototype.getChildCount = function() {
- return null == this.children ? 0 : this.children.length
-};
-mxCell.prototype.getIndex = function(a) {
- return mxUtils.indexOf(this.children, a)
-};
-mxCell.prototype.getChildAt = function(a) {
- return null == this.children ? null : this.children[a]
-};
-mxCell.prototype.insert = function(a, b) {
- null != a && (null == b && (b = this.getChildCount(), a.getParent() == this && b--), a.removeFromParent(), a.setParent(this), null == this.children ? (this.children = [], this.children.push(a)) :
- this.children.splice(b, 0, a));
- return a
-};
-mxCell.prototype.remove = function(a) {
- var b = null;
- null != this.children && 0 <= a && (b = this.getChildAt(a), null != b && (this.children.splice(a, 1), b.setParent(null)));
- return b
-};
-mxCell.prototype.removeFromParent = function() {
- if (null != this.parent) {
- var a = this.parent.getIndex(this);
- this.parent.remove(a)
- }
-};
-mxCell.prototype.getEdgeCount = function() {
- return null == this.edges ? 0 : this.edges.length
-};
-mxCell.prototype.getEdgeIndex = function(a) {
- return mxUtils.indexOf(this.edges, a)
-};
-mxCell.prototype.getEdgeAt = function(a) {
- return null == this.edges ? null : this.edges[a]
-};
-mxCell.prototype.insertEdge = function(a, b) {
- if (null != a && (a.removeFromTerminal(b), a.setTerminal(this, b), null == this.edges || a.getTerminal(!b) != this || 0 > mxUtils.indexOf(this.edges, a))) null == this.edges && (this.edges = []),
- this.edges.push(a);
- return a
-};
-mxCell.prototype.removeEdge = function(a, b) {
- if (null != a) {
- if (a.getTerminal(!b) != this && null != this.edges) {
- var c = this.getEdgeIndex(a);
- 0 <= c && this.edges.splice(c, 1)
- }
- a.setTerminal(null, b)
- }
- return a
-};
-mxCell.prototype.removeFromTerminal = function(a) {
- var b = this.getTerminal(a);
- null != b && b.removeEdge(this, a)
-};
-mxCell.prototype.getAttribute = function(a, b) {
- var c = this.getValue();
- return (null != c && c.nodeType == mxConstants.NODETYPE_ELEMENT ? c.getAttribute(a) : null) || b
-};
-mxCell.prototype.setAttribute = function(a, b) {
- var c = this.getValue();
- null != c && c.nodeType == mxConstants.NODETYPE_ELEMENT && c.setAttribute(a, b)
-};
-mxCell.prototype.clone = function() {
- var a = mxUtils.clone(this, this.mxTransient);
- a.setValue(this.cloneValue());
- return a
-};
-mxCell.prototype.cloneValue = function() {
- var a = this.getValue();
- null != a && ("function" == typeof a.clone ? a = a.clone() : isNaN(a.nodeType) || (a = a.cloneNode(!0)));
- return a
-};
-
-function mxGeometry(a, b, c, d) {
- mxRectangle.call(this, a, b, c, d)
-}
-mxGeometry.prototype = new mxRectangle;
-mxGeometry.prototype.constructor = mxGeometry;
-mxGeometry.prototype.TRANSLATE_CONTROL_POINTS = !0;
-mxGeometry.prototype.alternateBounds = null;
-mxGeometry.prototype.sourcePoint = null;
-mxGeometry.prototype.targetPoint = null;
-mxGeometry.prototype.points = null;
-mxGeometry.prototype.offset = null;
-mxGeometry.prototype.relative = !1;
-mxGeometry.prototype.swap = function() {
- if (null != this.alternateBounds) {
- var a = new mxRectangle(this.x, this.y, this.width, this.height);
- this.x = this.alternateBounds.x;
- this.y = this.alternateBounds.y;
- this.width = this.alternateBounds.width;
- this.height = this.alternateBounds.height;
- this.alternateBounds = a
- }
-};
-mxGeometry.prototype.getTerminalPoint = function(a) {
- return a ? this.sourcePoint : this.targetPoint
-};
-mxGeometry.prototype.setTerminalPoint = function(a, b) {
- b ? this.sourcePoint = a : this.targetPoint = a;
- return a
-};
-mxGeometry.prototype.translate = function(a, b) {
- this.clone();
- this.relative || (this.x += a, this.y += b);
- null != this.sourcePoint && (this.sourcePoint.x += a, this.sourcePoint.y += b);
- null != this.targetPoint && (this.targetPoint.x += a, this.targetPoint.y += b);
- if (this.TRANSLATE_CONTROL_POINTS && null != this.points)
- for (var c = this.points.length, d = 0; d < c; d++) {
- var e = this.points[d];
- null != e && (e.x += a, e.y += b)
- }
-};
-var mxCellPath = {
- PATH_SEPARATOR: ".",
- create: function(a) {
- var b = "";
- if (null != a)
- for (var c = a.getParent(); null != c;) b = c.getIndex(a) + mxCellPath.PATH_SEPARATOR + b, a = c, c = a.getParent();
- a = b.length;
- 1 < a && (b = b.substring(0, a - 1));
- return b
- },
- getParentPath: function(a) {
- if (null != a) {
- var b = a.lastIndexOf(mxCellPath.PATH_SEPARATOR);
- if (0 <= b) return a.substring(0, b);
- if (0 < a.length) return ""
- }
- return null
- },
- resolve: function(a, b) {
- var c = a;
- if (null != b)
- for (var d = b.split(mxCellPath.PATH_SEPARATOR), e = 0; e < d.length; e++) c = c.getChildAt(parseInt(d[e]));
- return c
- },
- compare: function(a, b) {
- for (var c = Math.min(a.length, b.length), d = 0, e = 0; e < c; e++)
- if (a[e] != b[e]) {
- 0 == a[e].length || 0 == b[e].length ? d = a[e] == b[e] ? 0 : a[e] > b[e] ? 1 : -1 : (c = parseInt(a[e]), e = parseInt(b[e]), d = c == e ? 0 : c > e ? 1 : -1);
- break
- }
- 0 == d && (c = a.length, e = b.length, c != e && (d = c > e ? 1 : -1));
- return d
- }
- },
- mxPerimeter = {
- RectanglePerimeter: function(a, b, c, d) {
- b = a.getCenterX();
- var e = a.getCenterY(),
- f = Math.atan2(c.y - e, c.x - b),
- g = new mxPoint(0, 0),
- h = Math.PI,
- k = Math.PI / 2 - f,
- l = Math.atan2(a.height, a.width);
- f < -h + l || f > h - l ? (g.x = a.x, g.y = e - a.width *
- Math.tan(f) / 2) : f < -l ? (g.y = a.y, g.x = b - a.height * Math.tan(k) / 2) : f < l ? (g.x = a.x + a.width, g.y = e + a.width * Math.tan(f) / 2) : (g.y = a.y + a.height, g.x = b + a.height *
- Math.tan(k) / 2);
- d && (c.x >= a.x && c.x <= a.x + a.width ? g.x = c.x : c.y >= a.y && c.y <= a.y + a.height && (g.y = c.y), c.x < a.x ? g.x = a.x : c.x > a.x + a.width && (g.x = a.x + a.width), c.y < a.y ? g.y =
- a.y : c.y > a.y + a.height && (g.y = a.y + a.height));
- return g
- },
- EllipsePerimeter: function(a, b, c, d) {
- var e = a.x,
- f = a.y,
- g = a.width / 2,
- h = a.height / 2,
- k = e + g,
- l = f + h;
- b = c.x;
- c = c.y;
- var m = parseInt(b - k),
- n = parseInt(c - l);
- if (0 == m && 0 != n) return new mxPoint(k,
- l + h * n / Math.abs(n));
- if (0 == m && 0 == n) return new mxPoint(b, c);
- if (d) {
- if (c >= f && c <= f + a.height) return a = c - l, a = Math.sqrt(g * g * (1 - a * a / (h * h))) || 0, b <= e && (a = -a), new mxPoint(k + a, c);
- if (b >= e && b <= e + a.width) return a = b - k, a = Math.sqrt(h * h * (1 - a * a / (g * g))) || 0, c <= f && (a = -a), new mxPoint(b, l + a)
- }
- e = n / m;
- l -= e * k;
- f = g * g * e * e + h * h;
- a = -2 * k * f;
- h = Math.sqrt(a * a - 4 * f * (g * g * e * e * k * k + h * h * k * k - g * g * h * h));
- g = (-a + h) / (2 * f);
- h = (-a - h) / (2 * f);
- k = e * g + l;
- l = e * h + l;
- e = Math.sqrt(Math.pow(g - b, 2) + Math.pow(k - c, 2));
- b = Math.sqrt(Math.pow(h - b, 2) + Math.pow(l - c, 2));
- f = c = 0;
- e < b ? (c =
- g, f = k) : (c = h, f = l);
- return new mxPoint(c, f)
- },
- RhombusPerimeter: function(a, b, c, d) {
- b = a.x;
- var e = a.y,
- f = a.width;
- a = a.height;
- var g = b + f / 2,
- h = e + a / 2,
- k = c.x;
- c = c.y;
- if (g == k) return h > c ? new mxPoint(g, e) : new mxPoint(g, e + a);
- if (h == c) return g > k ? new mxPoint(b, h) : new mxPoint(b + f, h);
- var l = g,
- m = h;
- d && (k >= b && k <= b + f ? l = k : c >= e && c <= e + a && (m = c));
- return k < g ? c < h ? mxUtils.intersection(k, c, l, m, g, e, b, h) : mxUtils.intersection(k, c, l, m, g, e + a, b, h) : c < h ? mxUtils.intersection(k, c, l, m, g, e, b + f, h) : mxUtils.intersection(
- k, c, l, m, g, e + a, b + f, h)
- },
- TrianglePerimeter: function(a,
- b, c, d) {
- b = null != b ? b.style[mxConstants.STYLE_DIRECTION] : null;
- var e = b == mxConstants.DIRECTION_NORTH || b == mxConstants.DIRECTION_SOUTH,
- f = a.x,
- g = a.y,
- h = a.width;
- a = a.height;
- var k = f + h / 2,
- l = g + a / 2,
- m = new mxPoint(f, g),
- n = new mxPoint(f + h, l),
- p = new mxPoint(f, g + a);
- b == mxConstants.DIRECTION_NORTH ? (m = p, n = new mxPoint(k, g), p = new mxPoint(f + h, g + a)) : b == mxConstants.DIRECTION_SOUTH ? (n = new mxPoint(k, g + a), p = new mxPoint(f + h, g)) :
- b == mxConstants.DIRECTION_WEST && (m = new mxPoint(f + h, g), n = new mxPoint(f, l), p = new mxPoint(f + h, g + a));
- var q = c.x -
- k,
- s = c.y - l,
- q = e ? Math.atan2(q, s) : Math.atan2(s, q),
- r = e ? Math.atan2(h, a) : Math.atan2(a, h),
- s = !1,
- s = b == mxConstants.DIRECTION_NORTH || b == mxConstants.DIRECTION_WEST ? q > -r && q < r : q < -Math.PI + r || q > Math.PI - r,
- r = null;
- s ? r = d && (e && c.x >= m.x && c.x <= p.x || !e && c.y >= m.y && c.y <= p.y) ? e ? new mxPoint(c.x, m.y) : new mxPoint(m.x, c.y) : b == mxConstants.DIRECTION_NORTH ? new mxPoint(f + h / 2 +
- a * Math.tan(q) / 2, g + a) : b == mxConstants.DIRECTION_SOUTH ? new mxPoint(f + h / 2 - a * Math.tan(q) / 2, g) : b == mxConstants.DIRECTION_WEST ? new mxPoint(f + h, g + a / 2 + h *
- Math.tan(q) / 2) : new mxPoint(f,
- g + a / 2 - h * Math.tan(q) / 2) : (d && (d = new mxPoint(k, l), c.y >= g && c.y <= g + a ? (d.x = e ? k : b == mxConstants.DIRECTION_WEST ? f + h : f, d.y = c.y) : c.x >= f && c.x <= f +
- h && (d.x = c.x, d.y = !e ? l : b == mxConstants.DIRECTION_NORTH ? g + a : g), k = d.x, l = d.y), r = e && c.x <= f + h / 2 || !e && c.y <= g + a / 2 ? mxUtils.intersection(c.x, c.y, k,
- l, m.x, m.y, n.x, n.y) : mxUtils.intersection(c.x, c.y, k, l, n.x, n.y, p.x, p.y));
- null == r && (r = new mxPoint(k, l));
- return r
- }
- };
-
-function mxPrintPreview(a, b, c, d, e, f, g, h, k) {
- this.graph = a;
- this.scale = null != b ? b : 1 / a.pageScale;
- this.border = null != d ? d : 0;
- this.pageFormat = null != c ? c : a.pageFormat;
- this.title = null != h ? h : "Printer-friendly version";
- this.x0 = null != e ? e : 0;
- this.y0 = null != f ? f : 0;
- this.borderColor = g;
- this.pageSelector = null != k ? k : !0
-}
-mxPrintPreview.prototype.graph = null;
-mxPrintPreview.prototype.pageFormat = null;
-mxPrintPreview.prototype.scale = null;
-mxPrintPreview.prototype.border = 0;
-mxPrintPreview.prototype.x0 = 0;
-mxPrintPreview.prototype.y0 = 0;
-mxPrintPreview.prototype.autoOrigin = !0;
-mxPrintPreview.prototype.printOverlays = !1;
-mxPrintPreview.prototype.borderColor = null;
-mxPrintPreview.prototype.title = null;
-mxPrintPreview.prototype.pageSelector = null;
-mxPrintPreview.prototype.wnd = null;
-mxPrintPreview.prototype.pageCount = 0;
-mxPrintPreview.prototype.getWindow = function() {
- return this.wnd
-};
-mxPrintPreview.prototype.getDoctype = function() {
- var a = "";
- 8 == document.documentMode && (a = '\x3cmeta http-equiv\x3d"X-UA-Compatible" content\x3d"IE\x3d8"\x3e');
- return a
-};
-mxPrintPreview.prototype.open = function(a) {
- var b = this.graph.cellRenderer.initializeOverlay,
- c = null;
- try {
- this.printOverlays && (this.graph.cellRenderer.initializeOverlay = function(a, b) {
- b.init(a.view.getDrawPane())
- });
- if (null == this.wnd) {
- this.wnd = window.open();
- var d = this.wnd.document,
- e = this.getDoctype();
- null != e && 0 < e.length && d.writeln(e);
- d.writeln("\x3chtml\x3e");
- d.writeln("\x3chead\x3e");
- this.writeHead(d, a);
- d.writeln("\x3c/head\x3e");
- d.writeln('\x3cbody class\x3d"mxPage"\x3e');
- mxClient.link("stylesheet", mxClient.basePath +
- "/css/common.css", d);
- mxClient.IS_VML && (d.namespaces.add("v", "urn:schemas-microsoft-com:vml"), d.namespaces.add("o", "urn:schemas-microsoft-com:office:office"), d.createStyleSheet().cssText =
- "v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}", mxClient.link("stylesheet", mxClient.basePath + "/css/explorer.css", d));
- var f = this.graph.getGraphBounds().clone(),
- g = this.graph.getView().getScale(),
- h = g / this.scale,
- k = this.graph.getView().getTranslate();
- this.autoOrigin || (this.x0 = -k.x * this.scale, this.y0 = -k.y * this.scale, f.width += f.x, f.height += f.y, f.x = 0, this.border = f.y = 0);
- f.width /= h;
- f.height /= h;
- var l = this.pageFormat.width - 2 * this.border,
- m = this.pageFormat.height - 2 * this.border,
- n = Math.max(1, Math.ceil((f.width + this.x0) / l)),
- p = Math.max(1, Math.ceil((f.height + this.y0) / m));
- this.pageCount = n * p;
- var q = mxUtils.bind(this, function() {
- if (this.pageSelector && (1 < p || 1 < n)) {
- var a = this.createPageSelector(p, n);
- d.body.appendChild(a);
- if (mxClient.IS_IE) {
- a.style.position = "absolute";
- var b = function() {
- a.style.top = d.body.scrollTop +
- 10 + "px"
- };
- mxEvent.addListener(this.wnd, "scroll", function(a) {
- b()
- });
- mxEvent.addListener(this.wnd, "resize", function(a) {
- b()
- })
- }
- }
- });
- a = function(a, b) {
- null != this.borderColor && (a.style.borderColor = this.borderColor, a.style.borderStyle = "solid", a.style.borderWidth = "1px");
- a.style.background = "white";
- b && (a.style.pageBreakAfter = "always");
- mxClient.IS_IE ? (d.writeln(a.outerHTML), a.parentNode.removeChild(a)) : (a.parentNode.removeChild(a), d.body.appendChild(a));
- if (b) {
- var c = d.createElement("hr");
- c.className = "mxPageBreak";
- d.body.appendChild(c)
- }
- };
- var s = this.getCoverPages(this.pageFormat.width, this.pageFormat.height);
- if (null != s)
- for (var r = 0; r < s.length; r++) a(s[r], !0);
- for (var t = this.getAppendices(this.pageFormat.width, this.pageFormat.height), r = 0; r < p; r++)
- for (var v = r * m / this.scale - this.y0 / this.scale + (f.y - k.y * g) / g, s = 0; s < n; s++) {
- if (null == this.wnd) return null;
- var w = s * l / this.scale - this.x0 / this.scale + (f.x - k.x * g) / g,
- u = r * n + s + 1,
- c = this.renderPage(this.pageFormat.width, this.pageFormat.height, mxUtils.bind(this, function(a) {
- this.addGraphFragment(-w, -v, this.scale, u, a)
- }));
- c.setAttribute("id", "mxPage-" + u);
- a(c, null != t || r < p - 1 || s < n - 1)
- }
- if (null != t)
- for (r = 0; r < t.length; r++) a(t[r], r < t.length);
- d.writeln("\x3c/body\x3e");
- d.writeln("\x3c/html\x3e");
- d.close();
- q();
- mxEvent.release(d.body)
- }
- this.wnd.focus()
- } catch (y) {
- null != c && null != c.parentNode && c.parentNode.removeChild(c)
- } finally {
- this.graph.cellRenderer.initializeOverlay = b
- }
- return this.wnd
-};
-mxPrintPreview.prototype.writeHead = function(a, b) {
- null != this.title && a.writeln("\x3ctitle\x3e" + this.title + "\x3c/title\x3e");
- a.writeln('\x3cstyle type\x3d"text/css"\x3e');
- a.writeln("@media print {");
- a.writeln(" table.mxPageSelector { display: none; }");
- a.writeln(" hr.mxPageBreak { display: none; }");
- a.writeln("}");
- a.writeln("@media screen {");
- a.writeln(" table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");
- a.writeln(" table.mxPageSelector td { border: solid 1px gray; padding:4px; }");
- a.writeln(" body.mxPage { background: gray; }");
- a.writeln("}");
- null != b && a.writeln(b);
- a.writeln("\x3c/style\x3e")
-};
-mxPrintPreview.prototype.createPageSelector = function(a, b) {
- var c = this.wnd.document,
- d = c.createElement("table");
- d.className = "mxPageSelector";
- d.setAttribute("border", "0");
- for (var e = c.createElement("tbody"), f = 0; f < a; f++) {
- for (var g = c.createElement("tr"), h = 0; h < b; h++) {
- var k = f * b + h + 1,
- l = c.createElement("td");
- if (!mxClient.IS_NS || mxClient.IS_SF || mxClient.IS_GC) {
- var m = c.createElement("a");
- m.setAttribute("href", "#mxPage-" + k);
- mxUtils.write(m, k, c);
- l.appendChild(m)
- } else mxUtils.write(l, k, c);
- g.appendChild(l)
- }
- e.appendChild(g)
- }
- d.appendChild(e);
- return d
-};
-mxPrintPreview.prototype.renderPage = function(a, b, c) {
- var d = document.createElement("div");
- try {
- d.style.width = a + "px";
- d.style.height = b + "px";
- d.style.overflow = "hidden";
- d.style.pageBreakInside = "avoid";
- d.style.position = "relative";
- var e = document.createElement("div");
- e.style.top = this.border + "px";
- e.style.left = this.border + "px";
- e.style.width = a - 2 * this.border + "px";
- e.style.height = b - 2 * this.border + "px";
- e.style.overflow = "hidden";
- this.graph.dialect == mxConstants.DIALECT_VML && (e.style.position = "absolute");
- d.appendChild(e);
- document.body.appendChild(d);
- c(e)
- } catch (f) {
- throw d.parentNode.removeChild(d), f;
- }
- return d
-};
-mxPrintPreview.prototype.addGraphFragment = function(a, b, c, d, e) {
- d = this.graph.getView();
- var f = this.graph.container;
- this.graph.container = e;
- var g = d.getCanvas(),
- h = d.getBackgroundPane(),
- k = d.getDrawPane(),
- l = d.getOverlayPane();
- this.graph.dialect == mxConstants.DIALECT_SVG ? d.createSvg() : this.graph.dialect == mxConstants.DIALECT_VML ? d.createVml() : d.createHtml();
- var m = d.isEventsEnabled();
- d.setEventsEnabled(!1);
- var n = this.graph.isEnabled();
- this.graph.setEnabled(!1);
- var p = d.getTranslate();
- d.translate = new mxPoint(a,
- b);
- a = null;
- try {
- var q = [this.graph.getModel().getRoot()];
- a = new mxTemporaryCellStates(d, c, q)
- } finally {
- if (mxClient.IS_IE) d.overlayPane.innerHTML = "";
- else
- for (c = e.firstChild; null != c;) q = c.nextSibling, b = c.nodeName.toLowerCase(), "svg" == b ? (c.setAttribute("width", parseInt(e.style.width)), c.setAttribute("height", parseInt(e.style.height))) :
- "default" != c.style.cursor && "table" != b && c.parentNode.removeChild(c), c = q;
- d.overlayPane.parentNode.removeChild(d.overlayPane);
- this.graph.setEnabled(n);
- this.graph.container = f;
- d.canvas =
- g;
- d.backgroundPane = h;
- d.drawPane = k;
- d.overlayPane = l;
- d.translate = p;
- a.destroy();
- d.setEventsEnabled(m)
- }
-};
-mxPrintPreview.prototype.getCoverPages = function() {
- return null
-};
-mxPrintPreview.prototype.getAppendices = function() {
- return null
-};
-mxPrintPreview.prototype.print = function() {
- var a = this.open();
- null != a && a.print()
-};
-mxPrintPreview.prototype.close = function() {
- null != this.wnd && (this.wnd.close(), this.wnd = null)
-};
-
-function mxStylesheet() {
- this.styles = {};
- this.putDefaultVertexStyle(this.createDefaultVertexStyle());
- this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())
-}
-mxStylesheet.prototype.createDefaultVertexStyle = function() {
- var a = {};
- a[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_RECTANGLE;
- a[mxConstants.STYLE_PERIMETER] = mxPerimeter.RectanglePerimeter;
- a[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE;
- a[mxConstants.STYLE_ALIGN] = mxConstants.ALIGN_CENTER;
- a[mxConstants.STYLE_FILLCOLOR] = "#C3D9FF";
- a[mxConstants.STYLE_STROKECOLOR] = "#6482B9";
- a[mxConstants.STYLE_FONTCOLOR] = "#774400";
- return a
-};
-mxStylesheet.prototype.createDefaultEdgeStyle = function() {
- var a = {};
- a[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_CONNECTOR;
- a[mxConstants.STYLE_ENDARROW] = mxConstants.ARROW_CLASSIC;
- a[mxConstants.STYLE_VERTICAL_ALIGN] = mxConstants.ALIGN_MIDDLE;
- a[mxConstants.STYLE_ALIGN] = mxConstants.ALIGN_CENTER;
- a[mxConstants.STYLE_STROKECOLOR] = "#6482B9";
- a[mxConstants.STYLE_FONTCOLOR] = "#446299";
- return a
-};
-mxStylesheet.prototype.putDefaultVertexStyle = function(a) {
- this.putCellStyle("defaultVertex", a)
-};
-mxStylesheet.prototype.putDefaultEdgeStyle = function(a) {
- this.putCellStyle("defaultEdge", a)
-};
-mxStylesheet.prototype.getDefaultVertexStyle = function() {
- return this.styles.defaultVertex
-};
-mxStylesheet.prototype.getDefaultEdgeStyle = function() {
- return this.styles.defaultEdge
-};
-mxStylesheet.prototype.putCellStyle = function(a, b) {
- this.styles[a] = b
-};
-mxStylesheet.prototype.getCellStyle = function(a, b) {
- var c = b;
- if (null != a && 0 < a.length)
- for (var d = a.split(";"), c = null != c && ";" != a.charAt(0) ? mxUtils.clone(c) : {}, e = 0; e < d.length; e++) {
- var f = d[e],
- g = f.indexOf("\x3d");
- if (0 <= g) {
- var h = f.substring(0, g),
- f = f.substring(g + 1);
- f == mxConstants.NONE ? delete c[h] : mxUtils.isNumeric(f) ? c[h] = parseFloat(f) : c[h] = f
- } else if (f = this.styles[f], null != f)
- for (h in f) c[h] = f[h]
- }
- return c
-};
-
-function mxCellState(a, b, c) {
- this.view = a;
- this.cell = b;
- this.style = c;
- this.origin = new mxPoint;
- this.absoluteOffset = new mxPoint
-}
-mxCellState.prototype = new mxRectangle;
-mxCellState.prototype.constructor = mxCellState;
-mxCellState.prototype.view = null;
-mxCellState.prototype.cell = null;
-mxCellState.prototype.style = null;
-mxCellState.prototype.invalid = !0;
-mxCellState.prototype.invalidOrder = !1;
-mxCellState.prototype.orderChanged = !1;
-mxCellState.prototype.origin = null;
-mxCellState.prototype.absolutePoints = null;
-mxCellState.prototype.absoluteOffset = null;
-mxCellState.prototype.visibleSourceState = null;
-mxCellState.prototype.visibleTargetState = null;
-mxCellState.prototype.terminalDistance = 0;
-mxCellState.prototype.length = 0;
-mxCellState.prototype.segments = null;
-mxCellState.prototype.shape = null;
-mxCellState.prototype.text = null;
-mxCellState.prototype.getPerimeterBounds = function(a, b) {
- a = a || 0;
- b = null != b ? b : new mxRectangle(this.x, this.y, this.width, this.height);
- if (null != this.shape && null != this.shape.stencil) {
- var c = this.shape.stencil.computeAspect(this.style, b.x, b.y, b.width, b.height);
- b.x = c.x;
- b.y = c.y;
- b.width = this.shape.stencil.w0 * c.width;
- b.height = this.shape.stencil.h0 * c.height
- }
- 0 != a && b.grow(a);
- return b
-};
-mxCellState.prototype.setAbsoluteTerminalPoint = function(a, b) {
- b ? (null == this.absolutePoints && (this.absolutePoints = []), 0 == this.absolutePoints.length ? this.absolutePoints.push(a) : this.absolutePoints[0] = a) : null == this.absolutePoints ? (this.absolutePoints = [],
- this.absolutePoints.push(null), this.absolutePoints.push(a)) : 1 == this.absolutePoints.length ? this.absolutePoints.push(a) : this.absolutePoints[this.absolutePoints.length - 1] = a
-};
-mxCellState.prototype.setCursor = function(a) {
- null != this.shape && this.shape.setCursor(a);
- null != this.text && this.text.setCursor(a)
-};
-mxCellState.prototype.getVisibleTerminal = function(a) {
- a = this.getVisibleTerminalState(a);
- return null != a ? a.cell : null
-};
-mxCellState.prototype.getVisibleTerminalState = function(a) {
- return a ? this.visibleSourceState : this.visibleTargetState
-};
-mxCellState.prototype.setVisibleTerminalState = function(a, b) {
- b ? this.visibleSourceState = a : this.visibleTargetState = a
-};
-mxCellState.prototype.destroy = function() {
- this.view.graph.cellRenderer.destroy(this)
-};
-mxCellState.prototype.clone = function() {
- var a = new mxCellState(this.view, this.cell, this.style);
- if (null != this.absolutePoints) {
- a.absolutePoints = [];
- for (var b = 0; b < this.absolutePoints.length; b++) a.absolutePoints[b] = this.absolutePoints[b].clone()
- }
- null != this.origin && (a.origin = this.origin.clone());
- null != this.absoluteOffset && (a.absoluteOffset = this.absoluteOffset.clone());
- null != this.boundingBox && (a.boundingBox = this.boundingBox.clone());
- a.terminalDistance = this.terminalDistance;
- a.segments = this.segments;
- a.length =
- this.length;
- a.x = this.x;
- a.y = this.y;
- a.width = this.width;
- a.height = this.height;
- return a
-};
-
-function mxGraphSelectionModel(a) {
- this.graph = a;
- this.cells = []
-}
-mxGraphSelectionModel.prototype = new mxEventSource;
-mxGraphSelectionModel.prototype.constructor = mxGraphSelectionModel;
-mxGraphSelectionModel.prototype.doneResource = "none" != mxClient.language ? "done" : "";
-mxGraphSelectionModel.prototype.updatingSelectionResource = "none" != mxClient.language ? "updatingSelection" : "";
-mxGraphSelectionModel.prototype.graph = null;
-mxGraphSelectionModel.prototype.singleSelection = !1;
-mxGraphSelectionModel.prototype.isSingleSelection = function() {
- return this.singleSelection
-};
-mxGraphSelectionModel.prototype.setSingleSelection = function(a) {
- this.singleSelection = a
-};
-mxGraphSelectionModel.prototype.isSelected = function(a) {
- return null != a ? 0 <= mxUtils.indexOf(this.cells, a) : !1
-};
-mxGraphSelectionModel.prototype.isEmpty = function() {
- return 0 == this.cells.length
-};
-mxGraphSelectionModel.prototype.clear = function() {
- this.changeSelection(null, this.cells)
-};
-mxGraphSelectionModel.prototype.setCell = function(a) {
- null != a && this.setCells([a])
-};
-mxGraphSelectionModel.prototype.setCells = function(a) {
- if (null != a) {
- this.singleSelection && (a = [this.getFirstSelectableCell(a)]);
- for (var b = [], c = 0; c < a.length; c++) this.graph.isCellSelectable(a[c]) && b.push(a[c]);
- this.changeSelection(b, this.cells)
- }
-};
-mxGraphSelectionModel.prototype.getFirstSelectableCell = function(a) {
- if (null != a)
- for (var b = 0; b < a.length; b++)
- if (this.graph.isCellSelectable(a[b])) return a[b];
- return null
-};
-mxGraphSelectionModel.prototype.addCell = function(a) {
- null != a && this.addCells([a])
-};
-mxGraphSelectionModel.prototype.addCells = function(a) {
- if (null != a) {
- var b = null;
- this.singleSelection && (b = this.cells, a = [this.getFirstSelectableCell(a)]);
- for (var c = [], d = 0; d < a.length; d++) !this.isSelected(a[d]) && this.graph.isCellSelectable(a[d]) && c.push(a[d]);
- this.changeSelection(c, b)
- }
-};
-mxGraphSelectionModel.prototype.removeCell = function(a) {
- null != a && this.removeCells([a])
-};
-mxGraphSelectionModel.prototype.removeCells = function(a) {
- if (null != a) {
- for (var b = [], c = 0; c < a.length; c++) this.isSelected(a[c]) && b.push(a[c]);
- this.changeSelection(null, b)
- }
-};
-mxGraphSelectionModel.prototype.changeSelection = function(a, b) {
- if (null != a && 0 < a.length && null != a[0] || null != b && 0 < b.length && null != b[0]) {
- var c = new mxSelectionChange(this, a, b);
- c.execute();
- var d = new mxUndoableEdit(this, !1);
- d.add(c);
- this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", d))
- }
-};
-mxGraphSelectionModel.prototype.cellAdded = function(a) {
- null != a && !this.isSelected(a) && this.cells.push(a)
-};
-mxGraphSelectionModel.prototype.cellRemoved = function(a) {
- null != a && (a = mxUtils.indexOf(this.cells, a), 0 <= a && this.cells.splice(a, 1))
-};
-
-function mxSelectionChange(a, b, c) {
- this.selectionModel = a;
- this.added = null != b ? b.slice() : null;
- this.removed = null != c ? c.slice() : null
-}
-mxSelectionChange.prototype.execute = function() {
- var a = mxLog.enter("mxSelectionChange.execute");
- window.status = mxResources.get(this.selectionModel.updatingSelectionResource) || this.selectionModel.updatingSelectionResource;
- if (null != this.removed)
- for (var b = 0; b < this.removed.length; b++) this.selectionModel.cellRemoved(this.removed[b]);
- if (null != this.added)
- for (b = 0; b < this.added.length; b++) this.selectionModel.cellAdded(this.added[b]);
- b = this.added;
- this.added = this.removed;
- this.removed = b;
- window.status = mxResources.get(this.selectionModel.doneResource) ||
- this.selectionModel.doneResource;
- mxLog.leave("mxSelectionChange.execute", a);
- this.selectionModel.fireEvent(new mxEventObject(mxEvent.CHANGE, "added", this.added, "removed", this.removed))
-};
-
-function mxCellEditor(a) {
- this.graph = a
-}
-mxCellEditor.prototype.graph = null;
-mxCellEditor.prototype.textarea = null;
-mxCellEditor.prototype.editingCell = null;
-mxCellEditor.prototype.trigger = null;
-mxCellEditor.prototype.modified = !1;
-mxCellEditor.prototype.autoSize = !0;
-mxCellEditor.prototype.emptyLabelText = "";
-mxCellEditor.prototype.textNode = "";
-mxCellEditor.prototype.init = function() {
- this.textarea = document.createElement("textarea");
- this.textarea.className = "mxCellEditor";
- this.textarea.style.position = "absolute";
- this.textarea.style.overflow = "visible";
- this.textarea.setAttribute("cols", "20");
- this.textarea.setAttribute("rows", "4");
- mxClient.IS_NS && (this.textarea.style.resize = "none");
- mxEvent.addListener(this.textarea, "blur", mxUtils.bind(this, function(a) {
- this.focusLost()
- }));
- mxEvent.addListener(this.textarea, "keydown", mxUtils.bind(this, function(a) {
- mxEvent.isConsumed(a) ||
- (113 == a.keyCode || this.graph.isEnterStopsCellEditing() && 13 == a.keyCode && !mxEvent.isControlDown(a) && !mxEvent.isShiftDown(a) ? (this.graph.stopEditing(!1), mxEvent.consume(a)) :
- 27 == a.keyCode ? (this.graph.stopEditing(!0), mxEvent.consume(a)) : (this.clearOnChange && (this.clearOnChange = !1, this.textarea.value = ""), this.setModified(!0)))
- }));
- mxEvent.addListener(this.textarea, "keypress", mxUtils.bind(this, function(a) {
- this.autoSize && !mxEvent.isConsumed(a) && setTimeout(mxUtils.bind(this, function() {
- this.resize()
- }), 0)
- }))
-};
-mxCellEditor.prototype.resize = function() {
- if (null != this.textDiv) {
- var a = this.graph.getView().getState(this.editingCell),
- b = this.graph.isLabelClipped(a.cell),
- c = this.graph.isWrapping(a.cell);
- if (this.graph.getModel().isEdge(a.cell)) this.bounds.x = a.absoluteOffset.x, this.bounds.y = a.absoluteOffset.y, this.bounds.width = 0, this.bounds.height = 0;
- else if (null != this.bounds) {
- this.bounds.x = a.x;
- this.bounds.y = a.y;
- this.bounds.width = a.width;
- this.bounds.height = a.height;
- var d = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION,
- mxConstants.ALIGN_CENTER);
- d == mxConstants.ALIGN_LEFT ? this.bounds.x -= a.width : d == mxConstants.ALIGN_RIGHT && (this.bounds.x += a.width);
- d = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);
- d == mxConstants.ALIGN_TOP ? this.bounds.y -= a.height : d == mxConstants.ALIGN_BOTTOM && (this.bounds.y += a.height)
- }
- d = this.textarea.value;
- if ("\n" == d.charAt(d.length - 1) || "" == d) d += "\x26nbsp;";
- d = mxUtils.htmlEntities(d, !1);
- c ? (this.textDiv.style.whiteSpace = "normal", this.textDiv.style.width = this.bounds.width +
- "px") : d = d.replace(/ /g, "\x26nbsp;");
- d = d.replace(/\n/g, "\x3cbr/\x3e");
- this.textDiv.innerHTML = d;
- var d = this.textDiv.offsetWidth + 30,
- e = this.textDiv.offsetHeight + 16,
- d = Math.max(d, 40),
- e = Math.max(e, 20);
- b && (d = Math.min(this.bounds.width - 4, d), e = Math.min(this.bounds.height, e));
- var f = null != a.text ? a.text.margin : null;
- null == f && (f = mxUtils.getValue(a.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER), a = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE), f =
- mxUtils.getAlignmentAsPoint(f,
- a));
- if (null != f) {
- if (b || !c) this.textarea.style.left = Math.max(0, Math.round(this.bounds.x - f.x * this.bounds.width + f.x * d) - 3) + "px";
- this.textarea.style.top = Math.max(0, Math.round(this.bounds.y - f.y * this.bounds.height + f.y * e) + 4) + "px"
- }
- if (b || !c) this.textarea.style.width = d + "px";
- this.textarea.style.height = e + "px"
- }
-};
-mxCellEditor.prototype.isModified = function() {
- return this.modified
-};
-mxCellEditor.prototype.setModified = function(a) {
- this.modified = a
-};
-mxCellEditor.prototype.focusLost = function() {
- this.stopEditing(!this.graph.isInvokesStopCellEditing())
-};
-mxCellEditor.prototype.startEditing = function(a, b) {
- null == this.textarea && this.init();
- this.stopEditing(!0);
- var c = this.graph.getView().getState(a);
- if (null != c) {
- this.editingCell = a;
- this.trigger = b;
- this.textNode = null;
- null != c.text && this.isHideLabel(c) && (this.textNode = c.text.node, this.textNode.style.visibility = "hidden");
- var d = this.graph.getView().scale,
- d = mxUtils.getValue(c.style, mxConstants.STYLE_FONTSIZE, mxConstants.DEFAULT_FONTSIZE) * d,
- e = mxUtils.getValue(c.style, mxConstants.STYLE_FONTFAMILY, mxConstants.DEFAULT_FONTFAMILY),
- f = mxUtils.getValue(c.style, mxConstants.STYLE_FONTCOLOR, "black"),
- g = mxUtils.getValue(c.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_LEFT),
- h = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_BOLD) == mxConstants.FONT_BOLD,
- k = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_ITALIC) == mxConstants.FONT_ITALIC,
- l = (mxUtils.getValue(c.style, mxConstants.STYLE_FONTSTYLE, 0) & mxConstants.FONT_UNDERLINE) == mxConstants.FONT_UNDERLINE;
- this.textarea.style.fontSize = Math.round(d) +
- "px";
- this.textarea.style.lineHeight = Math.round(d * mxConstants.LINE_HEIGHT) + "px";
- this.textarea.style.fontFamily = e;
- this.textarea.style.textAlign = g;
- this.textarea.style.color = f;
- this.textarea.style.fontWeight = h ? "bold" : "normal";
- this.textarea.style.fontStyle = k ? "italic" : "";
- this.textarea.style.textDecoration = l ? "underline" : "";
- this.textarea.style.overflow = "auto";
- this.textarea.style.outline = "none";
- this.bounds = d = this.getEditorBounds(c);
- this.textarea.style.left = d.x + "px";
- this.textarea.style.top = d.y + "px";
- this.textarea.style.width =
- d.width + "px";
- this.textarea.style.height = d.height + "px";
- this.textarea.style.zIndex = 5;
- c = this.getInitialValue(c, b);
- null == c || 0 == c.length ? (c = this.getEmptyLabelText(), this.clearOnChange = !0) : this.clearOnChange = !1;
- this.setModified(!1);
- this.textarea.value = c;
- this.graph.container.appendChild(this.textarea);
- "none" != this.textarea.style.display && (this.autoSize && (this.textDiv = this.createTextDiv(), document.body.appendChild(this.textDiv), this.resize()), this.textarea.focus(), this.textarea.select())
- }
-};
-mxCellEditor.prototype.createTextDiv = function() {
- var a = document.createElement("div"),
- b = a.style;
- b.position = "absolute";
- b.whiteSpace = "nowrap";
- b.visibility = "hidden";
- b.display = mxClient.IS_QUIRKS ? "inline" : "inline-block";
- b.zoom = "1";
- b.verticalAlign = "top";
- b.lineHeight = this.textarea.style.lineHeight;
- b.fontSize = this.textarea.style.fontSize;
- b.fontFamily = this.textarea.style.fontFamily;
- b.fontWeight = this.textarea.style.fontWeight;
- b.textAlign = this.textarea.style.textAlign;
- b.fontStyle = this.textarea.style.fontStyle;
- b.textDecoration = this.textarea.style.textDecoration;
- return a
-};
-mxCellEditor.prototype.stopEditing = function(a) {
- null != this.editingCell && (null != this.textNode && (this.textNode.style.visibility = "visible", this.textNode = null), !a && this.isModified() && this.graph.labelChanged(this.editingCell, this
- .getCurrentValue(), this.trigger), null != this.textDiv && (document.body.removeChild(this.textDiv), this.textDiv = null), this.bounds = this.trigger = this.editingCell = null, this.textarea
- .blur(), this.textarea.parentNode.removeChild(this.textarea))
-};
-mxCellEditor.prototype.getInitialValue = function(a, b) {
- return this.graph.getEditingValue(a.cell, b)
-};
-mxCellEditor.prototype.getCurrentValue = function() {
- return this.textarea.value.replace(/\r/g, "")
-};
-mxCellEditor.prototype.isHideLabel = function(a) {
- return !0
-};
-mxCellEditor.prototype.getMinimumSize = function(a) {
- var b = this.graph.getView().scale;
- return new mxRectangle(0, 0, null == a.text ? 30 : a.text.size * b + 20, "left" == this.textarea.style.textAlign ? 120 : 40)
-};
-mxCellEditor.prototype.getEditorBounds = function(a) {
- var b = this.graph.getModel().isEdge(a.cell),
- c = this.graph.getView().scale,
- d = this.getMinimumSize(a),
- e = d.width,
- d = d.height,
- f = parseInt(a.style[mxConstants.STYLE_SPACING] || 2) * c,
- g = parseInt(a.style[mxConstants.STYLE_SPACING_TOP] || 0) * c + f,
- h = parseInt(a.style[mxConstants.STYLE_SPACING_RIGHT] || 0) * c + f,
- k = parseInt(a.style[mxConstants.STYLE_SPACING_BOTTOM] || 0) * c + f,
- c = parseInt(a.style[mxConstants.STYLE_SPACING_LEFT] || 0) * c + f,
- h = new mxRectangle(a.x, a.y, Math.max(e, a.width -
- c - h), Math.max(d, a.height - g - k));
- b ? (h.x = a.absoluteOffset.x, h.y = a.absoluteOffset.y, null != a.text && null != a.text.boundingBox && (0 < a.text.boundingBox.x && (h.x = a.text.boundingBox.x), 0 < a.text.boundingBox.y && (h.y =
- a.text.boundingBox.y))) : null != a.text && null != a.text.boundingBox && (h.x = Math.min(h.x, a.text.boundingBox.x), h.y = Math.min(h.y, a.text.boundingBox.y));
- h.x += c;
- h.y += g;
- null != a.text && null != a.text.boundingBox && (b ? (h.width = Math.max(e, a.text.boundingBox.width), h.height = Math.max(d, a.text.boundingBox.height)) : (h.width =
- Math.max(h.width, a.text.boundingBox.width), h.height = Math.max(h.height, a.text.boundingBox.height)));
- this.graph.getModel().isVertex(a.cell) && (b = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER), b == mxConstants.ALIGN_LEFT ? h.x -= a.width : b ==
- mxConstants.ALIGN_RIGHT && (h.x += a.width), b = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE), b == mxConstants.ALIGN_TOP ? h.y -= a.height :
- b == mxConstants.ALIGN_BOTTOM && (h.y += a.height));
- return h
-};
-mxCellEditor.prototype.getEmptyLabelText = function(a) {
- return this.emptyLabelText
-};
-mxCellEditor.prototype.getEditingCell = function() {
- return this.editingCell
-};
-mxCellEditor.prototype.destroy = function() {
- null != this.textarea && (mxEvent.release(this.textarea), null != this.textarea.parentNode && this.textarea.parentNode.removeChild(this.textarea), this.textarea = null)
-};
-
-function mxCellRenderer() {}
-mxCellRenderer.prototype.defaultEdgeShape = mxConnector;
-mxCellRenderer.prototype.defaultVertexShape = mxRectangleShape;
-mxCellRenderer.prototype.defaultTextShape = mxText;
-mxCellRenderer.prototype.legacyControlPosition = !0;
-mxCellRenderer.prototype.defaultShapes = {};
-mxCellRenderer.registerShape = function(a, b) {
- mxCellRenderer.prototype.defaultShapes[a] = b
-};
-mxCellRenderer.registerShape(mxConstants.SHAPE_RECTANGLE, mxRectangleShape);
-mxCellRenderer.registerShape(mxConstants.SHAPE_ELLIPSE, mxEllipse);
-mxCellRenderer.registerShape(mxConstants.SHAPE_RHOMBUS, mxRhombus);
-mxCellRenderer.registerShape(mxConstants.SHAPE_CYLINDER, mxCylinder);
-mxCellRenderer.registerShape(mxConstants.SHAPE_CONNECTOR, mxConnector);
-mxCellRenderer.registerShape(mxConstants.SHAPE_ACTOR, mxActor);
-mxCellRenderer.registerShape(mxConstants.SHAPE_TRIANGLE, mxTriangle);
-mxCellRenderer.registerShape(mxConstants.SHAPE_HEXAGON, mxHexagon);
-mxCellRenderer.registerShape(mxConstants.SHAPE_CLOUD, mxCloud);
-mxCellRenderer.registerShape(mxConstants.SHAPE_LINE, mxLine);
-mxCellRenderer.registerShape(mxConstants.SHAPE_ARROW, mxArrow);
-mxCellRenderer.registerShape(mxConstants.SHAPE_DOUBLE_ELLIPSE, mxDoubleEllipse);
-mxCellRenderer.registerShape(mxConstants.SHAPE_SWIMLANE, mxSwimlane);
-mxCellRenderer.registerShape(mxConstants.SHAPE_IMAGE, mxImageShape);
-mxCellRenderer.registerShape(mxConstants.SHAPE_LABEL, mxLabel);
-mxCellRenderer.prototype.initialize = function(a, b) {
- var c = a.view.graph.getModel();
- if (null != a.view.graph.container && null == a.shape && a.cell != a.view.currentRoot && (c.isVertex(a.cell) || c.isEdge(a.cell)))
- if (this.createShape(a), null != a.shape && (null == b || b)) this.initializeShape(a), a.view.graph.ordered || c.isEdge(a.cell) ? a.invalidOrder = !0 : a.view.graph.keepEdgesInForeground &&
- null != this.firstEdge && (this.firstEdge.parentNode == a.shape.node.parentNode ? this.insertState(a, this.firstEdge) : this.firstEdge = null), a.shape.scale =
- a.view.scale, this.createCellOverlays(a), this.installListeners(a)
-};
-mxCellRenderer.prototype.initializeShape = function(a) {
- a.shape.init(a.view.getDrawPane())
-};
-mxCellRenderer.prototype.getPreviousStateInContainer = function(a, b) {
- for (var c = null, d = a.view.graph, e = d.getModel(), f = a.cell, g = e.getParent(f); null != g && null == c;) c = this.findPreviousStateInContainer(d, g, f, b), f = g, g = e.getParent(f);
- return c
-};
-mxCellRenderer.prototype.findPreviousStateInContainer = function(a, b, c, d) {
- var e = null,
- f = a.getModel();
- for (c = null != c ? b.getIndex(c) - 1 : f.getChildCount(b) - 1; 0 <= c && null == e; c--) e = this.findPreviousStateInContainer(a, f.getChildAt(b, c), null, d);
- if (null == e && (e = a.view.getState(b), null != e && (null == e.shape || null == e.shape.node || e.shape.node.parentNode != d))) e = null;
- return e
-};
-mxCellRenderer.prototype.order = function(a) {
- var b = a.shape.node.parentNode,
- c = this.getPreviousStateInContainer(a, b),
- d = b.firstChild;
- null != c && (d = c.shape.node, null != c.text && (null != c.text.node && c.text.node.parentNode == b) && (d = c.text.node), d = d.nextSibling);
- this.insertState(a, d)
-};
-mxCellRenderer.prototype.orderEdge = function(a) {
- var b = a.view,
- c = b.graph.getModel();
- if (b.graph.keepEdgesInForeground) {
- if (null == this.firstEdge || null == this.firstEdge.parentNode || this.firstEdge.parentNode != a.shape.node.parentNode) this.firstEdge = a.shape.node
- } else if (b.graph.keepEdgesInBackground) {
- var d = a.shape.node,
- e = d.parentNode,
- c = c.getParent(a.cell),
- b = b.getState(c),
- e = null != b && null != b.shape && null != b.shape.node ? b.shape.node.nextSibling : e.firstChild;
- null != e && e != d && this.insertState(a, e)
- }
-};
-mxCellRenderer.prototype.insertState = function(a, b) {
- a.shape.node.parentNode.insertBefore(a.shape.node, b);
- null != a.text && (null != a.text.node && a.text.node.parentNode == a.shape.node.parentNode) && a.shape.node.parentNode.insertBefore(a.text.node, a.shape.node.nextSibling)
-};
-mxCellRenderer.prototype.createShape = function(a) {
- if (null != a.style) {
- var b = mxStencilRegistry.getStencil(a.style[mxConstants.STYLE_SHAPE]);
- null != b ? a.shape = new mxShape(b) : (b = this.getShapeConstructor(a), a.shape = new b);
- a.shape.points = a.absolutePoints;
- a.shape.bounds = new mxRectangle(a.x, a.y, a.width, a.height);
- a.shape.dialect = a.view.graph.dialect;
- this.configureShape(a)
- }
-};
-mxCellRenderer.prototype.getShape = function(a) {
- return null != a ? mxCellRenderer.prototype.defaultShapes[a] : null
-};
-mxCellRenderer.prototype.getShapeConstructor = function(a) {
- var b = this.getShape(a.style[mxConstants.STYLE_SHAPE]);
- null == b && (b = a.view.graph.getModel().isEdge(a.cell) ? this.defaultEdgeShape : this.defaultVertexShape);
- return b
-};
-mxCellRenderer.prototype.configureShape = function(a) {
- a.shape.apply(a);
- a.shape.image = a.view.graph.getImage(a);
- a.shape.indicatorShape = this.getShape(a.view.graph.getIndicatorShape(a));
- a.shape.indicatorColor = a.view.graph.getIndicatorColor(a);
- a.shape.indicatorGradientColor = a.view.graph.getIndicatorGradientColor(a);
- a.shape.indicatorDirection = a.style[mxConstants.STYLE_INDICATOR_DIRECTION];
- a.shape.indicatorImage = a.view.graph.getIndicatorImage(a);
- this.postConfigureShape(a)
-};
-mxCellRenderer.prototype.postConfigureShape = function(a) {
- null != a.shape && (this.resolveColor(a, "indicatorColor", mxConstants.STYLE_FILLCOLOR), this.resolveColor(a, "indicatorGradientColor", mxConstants.STYLE_GRADIENTCOLOR), this.resolveColor(a,
- "fill", mxConstants.STYLE_FILLCOLOR), this.resolveColor(a, "stroke", mxConstants.STYLE_STROKECOLOR), this.resolveColor(a, "gradient", mxConstants.STYLE_GRADIENTCOLOR))
-};
-mxCellRenderer.prototype.resolveColor = function(a, b, c) {
- var d = a.shape[b],
- e = a.view.graph,
- f = null;
- "inherit" == d ? f = e.model.getParent(a.cell) : "swimlane" == d ? (f = null != e.model.getTerminal(a.cell, !1) ? e.model.getTerminal(a.cell, !1) : a.cell, f = e.getSwimlane(f), c = e.swimlaneIndicatorColorAttribute) :
- "indicated" == d && (a.shape[b] = a.shape.indicatorColor);
- null != f && (d = e.getView().getState(f), a.shape[b] = null, null != d && (a.shape[b] = null != d.shape && "indicatorColor" != b ? d.shape[b] : d.style[c]))
-};
-mxCellRenderer.prototype.getLabelValue = function(a) {
- return a.view.graph.getLabel(a.cell)
-};
-mxCellRenderer.prototype.createLabel = function(a, b) {
- var c = a.view.graph;
- c.getModel().isEdge(a.cell);
- if (0 < a.style[mxConstants.STYLE_FONTSIZE] || null == a.style[mxConstants.STYLE_FONTSIZE]) {
- var d = c.isHtmlLabel(a.cell) || null != b && mxUtils.isNode(b);
- a.text = new this.defaultTextShape(b, new mxRectangle, a.style[mxConstants.STYLE_ALIGN] || mxConstants.ALIGN_CENTER, c.getVerticalAlign(a), a.style[mxConstants.STYLE_FONTCOLOR], a.style[
- mxConstants.STYLE_FONTFAMILY], a.style[mxConstants.STYLE_FONTSIZE], a.style[mxConstants.STYLE_FONTSTYLE],
- a.style[mxConstants.STYLE_SPACING], a.style[mxConstants.STYLE_SPACING_TOP], a.style[mxConstants.STYLE_SPACING_RIGHT], a.style[mxConstants.STYLE_SPACING_BOTTOM], a.style[mxConstants.STYLE_SPACING_LEFT],
- a.style[mxConstants.STYLE_HORIZONTAL], a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR], a.style[mxConstants.STYLE_LABEL_BORDERCOLOR], c.isWrapping(a.cell) && c.isHtmlLabel(a.cell), c.isLabelClipped(
- a.cell), a.style[mxConstants.STYLE_OVERFLOW], a.style[mxConstants.STYLE_LABEL_PADDING]);
- a.text.opacity = mxUtils.getValue(a.style,
- mxConstants.STYLE_TEXT_OPACITY, 100);
- a.text.dialect = d ? mxConstants.DIALECT_STRICTHTML : a.view.graph.dialect;
- a.text.state = a;
- this.initializeLabel(a);
- var e = !1,
- f = function(b) {
- var d = a;
- if (mxClient.IS_TOUCH || e) d = mxEvent.getClientX(b), b = mxEvent.getClientY(b), b = mxUtils.convertPoint(c.container, d, b), d = c.view.getState(c.getCellAt(b.x, b.y));
- return d
- };
- mxEvent.addGestureListeners(a.text.node, mxUtils.bind(this, function(b) {
- this.isLabelEvent(a, b) && (c.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b, a)), e = c.dialect !=
- mxConstants.DIALECT_SVG && "IMG" == mxEvent.getSource(b).nodeName)
- }), mxUtils.bind(this, function(b) {
- this.isLabelEvent(a, b) && c.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, f(b)))
- }), mxUtils.bind(this, function(b) {
- this.isLabelEvent(a, b) && (c.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b, f(b))), e = !1)
- }));
- mxEvent.addListener(a.text.node, "dblclick", mxUtils.bind(this, function(b) {
- this.isLabelEvent(a, b) && (c.dblClick(b, a.cell), mxEvent.consume(b))
- }))
- }
-};
-mxCellRenderer.prototype.initializeLabel = function(a) {
- var b = a.view.graph;
- a.text.dialect != mxConstants.DIALECT_SVG && (mxClient.IS_SVG && mxClient.NO_FO ? a.text.init(b.container) : mxUtils.isVml(a.view.getDrawPane()) && (null != a.shape.label ? a.text.init(a.shape.label) :
- a.text.init(a.shape.node)));
- null == a.text.node && (a.text.init(a.view.getDrawPane()), null != a.shape && null != a.text && a.shape.node.parentNode.insertBefore(a.text.node, a.shape.node.nextSibling))
-};
-mxCellRenderer.prototype.createCellOverlays = function(a) {
- var b = a.view.graph.getCellOverlays(a.cell),
- c = null;
- if (null != b)
- for (var c = new mxDictionary, d = 0; d < b.length; d++) {
- var e = null != a.overlays ? a.overlays.remove(b[d]) : null;
- null == e && (e = new mxImageShape(new mxRectangle, b[d].image.src), e.dialect = a.view.graph.dialect, e.preserveImageAspect = !1, e.overlay = b[d], this.initializeOverlay(a, e), this.installCellOverlayListeners(
- a, b[d], e), null != b[d].cursor && (e.node.style.cursor = b[d].cursor));
- c.put(b[d], e)
- }
- null != a.overlays &&
- a.overlays.visit(function(a, b) {
- b.destroy()
- });
- a.overlays = c
-};
-mxCellRenderer.prototype.initializeOverlay = function(a, b) {
- b.init(a.view.getOverlayPane())
-};
-mxCellRenderer.prototype.installCellOverlayListeners = function(a, b, c) {
- var d = a.view.graph;
- mxEvent.addListener(c.node, "click", function(c) {
- d.isEditing() && d.stopEditing(!d.isInvokesStopCellEditing());
- b.fireEvent(new mxEventObject(mxEvent.CLICK, "event", c, "cell", a.cell))
- });
- mxEvent.addGestureListeners(c.node, function(a) {
- mxEvent.consume(a)
- }, function(b) {
- d.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, a))
- });
- mxClient.IS_TOUCH && mxEvent.addListener(c.node, "touchend", function(c) {
- b.fireEvent(new mxEventObject(mxEvent.CLICK,
- "event", c, "cell", a.cell))
- })
-};
-mxCellRenderer.prototype.createControl = function(a) {
- var b = a.view.graph,
- c = b.getFoldingImage(a);
- if (b.foldingEnabled && null != c) {
- if (null == a.control) {
- var d = new mxRectangle(0, 0, c.width, c.height);
- a.control = new mxImageShape(d, c.src);
- a.control.preserveImageAspect = !1;
- a.control.dialect = b.dialect;
- this.initControl(a, a.control, !0, function(c) {
- if (b.isEnabled()) {
- var d = !b.isCellCollapsed(a.cell);
- b.foldCells(d, !1, [a.cell]);
- mxEvent.consume(c)
- }
- })
- }
- } else null != a.control && (a.control.destroy(), a.control = null)
-};
-mxCellRenderer.prototype.initControl = function(a, b, c, d) {
- var e = a.view.graph;
- e.isHtmlLabel(a.cell) && mxClient.NO_FO && e.dialect == mxConstants.DIALECT_SVG ? (b.dialect = mxConstants.DIALECT_PREFERHTML, b.init(e.container), b.node.style.zIndex = 1) : b.init(a.view.getOverlayPane());
- b = b.innerNode || b.node;
- d && (e.isEnabled() && (b.style.cursor = "pointer"), mxEvent.addListener(b, "click", d));
- c && mxEvent.addGestureListeners(b, function(b) {
- e.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(b, a));
- mxEvent.consume(b)
- }, function(b) {
- e.fireMouseEvent(mxEvent.MOUSE_MOVE,
- new mxMouseEvent(b, a))
- });
- return b
-};
-mxCellRenderer.prototype.isShapeEvent = function(a, b) {
- return !0
-};
-mxCellRenderer.prototype.isLabelEvent = function(a, b) {
- return !0
-};
-mxCellRenderer.prototype.installListeners = function(a) {
- var b = a.view.graph,
- c = function(c) {
- var d = a;
- if (b.dialect != mxConstants.DIALECT_SVG && "IMG" == mxEvent.getSource(c).nodeName || mxClient.IS_TOUCH) d = mxEvent.getClientX(c), c = mxEvent.getClientY(c), c = mxUtils.convertPoint(b.container,
- d, c), d = b.view.getState(b.getCellAt(c.x, c.y));
- return d
- },
- d = !1;
- mxEvent.addListener(a.shape.node, "gesturestart", mxUtils.bind(this, function(a) {
- b.lastTouchTime = 0;
- d = !0;
- mxEvent.consume(a)
- }));
- mxEvent.addGestureListeners(a.shape.node, mxUtils.bind(this,
- function(c) {
- this.isShapeEvent(a, c) && !d ? b.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(c, null != a.shape && mxEvent.getSource(c) == a.shape.content ? null : a)) : d && mxEvent.consume(c)
- }), mxUtils.bind(this, function(e) {
- this.isShapeEvent(a, e) && !d ? b.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(e, null != a.shape && mxEvent.getSource(e) == a.shape.content ? null : c(e))) : d && mxEvent.consume(
- e)
- }), mxUtils.bind(this, function(e) {
- this.isShapeEvent(a, e) && !d ? b.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(e, null != a.shape &&
- mxEvent.getSource(e) == a.shape.content ? null : c(e))) : d && mxEvent.consume(e)
- }));
- var e = mxClient.IS_TOUCH ? "gestureend" : "dblclick";
- mxEvent.addListener(a.shape.node, e, mxUtils.bind(this, function(c) {
- d = !1;
- "gestureend" == e ? (b.lastTouchTime = 0, b.gestureEnabled && (b.handleGesture(a, c), mxEvent.consume(c))) : this.isShapeEvent(a, c) && (b.dblClick(c, null != a.shape && mxEvent.getSource(
- c) == a.shape.content ? null : a.cell), mxEvent.consume(c))
- }))
-};
-mxCellRenderer.prototype.redrawLabel = function(a, b) {
- var c = this.getLabelValue(a);
- if (null == a.text && null != c && (mxUtils.isNode(c) || 0 < c.length)) this.createLabel(a, c);
- else if (null != a.text && (null == c || 0 == c.length)) a.text.destroy(), a.text = null;
- if (null != a.text) {
- var d = a.view.graph,
- e = d.isWrapping(a.cell),
- d = d.isLabelClipped(a.cell),
- f = this.getLabelBounds(a);
- if (b || a.text.value != c || a.text.isWrapping != e || a.text.isClipping != d || a.text.scale != a.view.scale || !a.text.bounds.equals(f)) a.text.value = c, a.text.bounds = f, a.text.scale =
- this.getTextScale(a), a.text.isWrapping = e, a.text.isClipping = d, a.text.redraw()
- }
-};
-mxCellRenderer.prototype.getTextScale = function(a) {
- return a.view.scale
-};
-mxCellRenderer.prototype.getLabelBounds = function(a) {
- var b = a.view.graph,
- c = a.view.scale,
- d = b.getModel().isEdge(a.cell),
- e = new mxRectangle(a.absoluteOffset.x, a.absoluteOffset.y);
- a.text.updateMargin();
- d ? (d = a.text.getSpacing(), e.x += d.x * c, e.y += d.y * c, b = b.getCellGeometry(a.cell), null != b && (e.width = Math.max(0, a.text.margin.x * b.width * c - a.text.spacingLeft * c - a.text.spacingRight *
- c), e.height = Math.max(0, a.text.margin.y * b.height * c - a.text.spacingTop * c - a.text.spacingBottom * c))) : (a.text.isPaintBoundsInverted() && (d = e.x,
- e.x = e.y, e.y = d), e.x += a.x, e.y += a.y, e.width = Math.max(1, a.width), e.height = Math.max(1, a.height), b.isSwimlane(a.cell) && (b = b.getStartSize(a.cell), 0 < b.width ? (d = Math.min(
- e.width, b.width * c), a.shape.flipH && (e.x += e.width - d), e.width = d) : 0 < b.height && (d = Math.min(e.height, b.height * c), a.shape.flipV && (e.y += e.height - d), e.height = d)),
- this.rotateLabelBounds(a, e));
- return e
-};
-mxCellRenderer.prototype.rotateLabelBounds = function(a, b) {
- if (a.text.isPaintBoundsInverted()) {
- var c = (a.width - a.height) / 2;
- b.x += c;
- b.y -= c;
- c = b.width;
- b.width = b.height;
- b.height = c
- }
- b.x -= a.text.margin.x * b.width;
- b.y -= a.text.margin.y * b.height;
- if ("fill" != a.style[mxConstants.STYLE_OVERFLOW]) {
- var c = a.view.scale,
- d = a.text.getSpacing();
- b.x += d.x * c;
- b.y += d.y * c;
- b.width = Math.max(0, b.width - a.text.spacingLeft * c - a.text.spacingRight * c);
- b.height = Math.max(0, b.height - a.text.spacingTop * c - a.text.spacingBottom * c)
- }
- var e = a.text.getTextRotation();
- if (0 != e && (null != a && a.view.graph.model.isVertex(a.cell)) && (c = a.getCenterX(), d = a.getCenterY(), b.x != c || b.y != d)) e *= Math.PI / 180, pt = mxUtils.getRotatedPoint(new mxPoint(b.x,
- b.y), Math.cos(e), Math.sin(e), new mxPoint(c, d)), b.x = pt.x, b.y = pt.y
-};
-mxCellRenderer.prototype.redrawCellOverlays = function(a, b) {
- this.createCellOverlays(a);
- if (null != a.overlays) {
- var c = mxUtils.mod(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0), 90),
- d = mxUtils.toRadians(c),
- e = Math.cos(d),
- f = Math.sin(d);
- a.overlays.visit(function(d, h) {
- var k = h.overlay.getBounds(a);
- if (!a.view.graph.getModel().isEdge(a.cell) && null != a.shape && 0 != c) {
- var l = k.getCenterX(),
- m = k.getCenterY(),
- m = mxUtils.getRotatedPoint(new mxPoint(l, m), e, f, new mxPoint(a.getCenterX(), a.getCenterY())),
- l = m.x,
- m = m.y;
- k.x =
- Math.round(l - k.width / 2);
- k.y = Math.round(m - k.height / 2)
- }
- if (b || null == h.bounds || h.scale != a.view.scale || !h.bounds.equals(k)) h.bounds = k, h.scale = a.view.scale, h.redraw()
- })
- }
-};
-mxCellRenderer.prototype.redrawControl = function(a, b) {
- if (null != a.control) {
- var c = this.getControlBounds(a),
- d = this.legacyControlPosition ? mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0) : a.shape.getTextRotation(),
- e = a.view.scale;
- if (b || a.control.scale != e || !a.control.bounds.equals(c) || a.control.rotation != d) a.control.rotation = d, a.control.bounds = c, a.control.scale = e, a.control.redraw()
- }
-};
-mxCellRenderer.prototype.getControlBounds = function(a) {
- if (null != a.control) {
- var b = a.control.scale,
- c = a.control.bounds.width / b,
- b = a.control.bounds.height / b,
- d = a.view.scale,
- e = a.getCenterX(),
- f = a.getCenterY();
- if (!a.view.graph.getModel().isEdge(a.cell) && (e = a.x + c * d, f = a.y + b * d, null != a.shape)) {
- var g = a.shape.getShapeRotation();
- if (this.legacyControlPosition) g = mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0);
- else if (a.shape.isPaintBoundsInverted()) var h = (a.width - a.height) / 2,
- e = e + h,
- f = f - h;
- 0 != g && (h = mxUtils.toRadians(g),
- g = Math.cos(h), h = Math.sin(h), f = mxUtils.getRotatedPoint(new mxPoint(e, f), g, h, new mxPoint(a.getCenterX(), a.getCenterY())), e = f.x, f = f.y)
- }
- return a.view.graph.getModel().isEdge(a.cell), new mxRectangle(Math.round(e - c / 2 * d), Math.round(f - b / 2 * d), Math.round(c * d), Math.round(b * d))
- }
- return null
-};
-mxCellRenderer.prototype.redraw = function(a, b, c) {
- if (null != a.shape) {
- var d = !1;
- a.view.graph.getModel().isEdge(a.cell);
- reconfigure = null != b ? b : !1;
- this.createControl(a);
- if (a.orderChanged || a.invalidOrder) a.view.graph.ordered ? this.order(a) : this.orderEdge(a);
- if (a.orderChanged || !mxUtils.equalEntries(a.shape.style, a.style)) this.configureShape(a), b = !0;
- delete a.invalidOrder;
- delete a.orderChanged;
- if (b || null == a.shape.bounds || a.shape.scale != a.view.scale || !a.shape.bounds.equals(a) || !mxUtils.equalPoints(a.shape.points,
- a.absolutePoints)) d = !0, a.shape.points = null != a.absolutePoints ? a.absolutePoints.slice() : null, a.shape.bounds = new mxRectangle(a.x, a.y, a.width, a.height), a.shape.scale = a.view
- .scale, null == c || c ? a.shape.redraw() : a.shape.updateBoundingBox();
- if (null == c || c) this.redrawLabel(a, d), this.redrawCellOverlays(a, d), this.redrawControl(a, d)
- }
-};
-mxCellRenderer.prototype.destroy = function(a) {
- null != a.shape && (null != a.text && (a.text.destroy(), a.text = null), null != a.overlays && (a.overlays.visit(function(a, c) {
- c.destroy()
- }), a.overlays = null), null != a.control && (a.control.destroy(), a.control = null), a.shape.destroy(), a.shape = null)
-};
-var mxEdgeStyle = {
- EntityRelation: function(a, b, c, d, e) {
- var f = a.view,
- g = f.graph;
- d = mxUtils.getValue(a.style, mxConstants.STYLE_SEGMENT, mxConstants.ENTITY_SEGMENT) * f.scale;
- var h = a.absolutePoints,
- k = h[0],
- l = h[h.length - 1],
- h = !1;
- if (null != k) b = new mxCellState, b.x = k.x, b.y = k.y;
- else if (null != b) {
- var m = mxUtils.getPortConstraints(b, a, !0, mxConstants.DIRECTION_MASK_NONE);
- m != mxConstants.DIRECTION_MASK_NONE ? h = m == mxConstants.DIRECTION_MASK_WEST : (k = g.getCellGeometry(b.cell), k.relative ? h = 0.5 >= k.x : null != c && (h = c.x + c.width < b.x))
- } else return;
- k = !0;
- null != l ? (c = new mxCellState, c.x = l.x, c.y = l.y) : null != c && (m = mxUtils.getPortConstraints(c, a, !1, mxConstants.DIRECTION_MASK_NONE), m != mxConstants.DIRECTION_MASK_NONE ? k = m ==
- mxConstants.DIRECTION_MASK_WEST : (a = g.getCellGeometry(c.cell), a.relative ? k = 0.5 >= a.x : null != b && (k = b.x + b.width < c.x)));
- null != b && null != c && (a = h ? b.x : b.x + b.width, b = f.getRoutingCenterY(b), g = k ? c.x : c.x + c.width, c = f.getRoutingCenterY(c), f = new mxPoint(a + (h ? -d : d), b), l = new mxPoint(
- g + (k ? -d : d), c), h == k ? (d = h ? Math.min(a, g) - d : Math.max(a, g) + d, e.push(new mxPoint(d,
- b)), e.push(new mxPoint(d, c))) : (f.x < l.x == h ? (d = b + (c - b) / 2, e.push(f), e.push(new mxPoint(f.x, d)), e.push(new mxPoint(l.x, d))) : e.push(f), e.push(l)))
- },
- Loop: function(a, b, c, d, e) {
- if (null != b) {
- c = a.view;
- var f = c.graph;
- d = null != d && 0 < d.length ? d[0] : null;
- null != d && (d = c.transformControlPoint(a, d), mxUtils.contains(b, d.x, d.y) && (d = null));
- var g = 0,
- h = 0,
- k = 0,
- l = 0,
- f = mxUtils.getValue(a.style, mxConstants.STYLE_SEGMENT, f.gridSize) * c.scale;
- a = mxUtils.getValue(a.style, mxConstants.STYLE_DIRECTION, mxConstants.DIRECTION_WEST);
- a == mxConstants.DIRECTION_NORTH ||
- a == mxConstants.DIRECTION_SOUTH ? (g = c.getRoutingCenterX(b), h = f) : (k = c.getRoutingCenterY(b), l = f);
- null == d || d.x < b.x || d.x > b.x + b.width ? null != d ? (g = d.x, l = Math.max(Math.abs(k - d.y), l)) : a == mxConstants.DIRECTION_NORTH ? k = b.y - 2 * h : a == mxConstants.DIRECTION_SOUTH ?
- k = b.y + b.height + 2 * h : g = a == mxConstants.DIRECTION_EAST ? b.x - 2 * l : b.x + b.width + 2 * l : null != d && (g = c.getRoutingCenterX(b), h = Math.max(Math.abs(g - d.x), l), k =
- d.y, l = 0);
- e.push(new mxPoint(g - h, k - l));
- e.push(new mxPoint(g + h, k + l))
- }
- },
- ElbowConnector: function(a, b, c, d, e) {
- var f = null !=
- d && 0 < d.length ? d[0] : null,
- g = !1,
- h = !1;
- if (null != b && null != c)
- if (null != f) var k = Math.min(b.x, c.x),
- l = Math.max(b.x + b.width, c.x + c.width),
- h = Math.min(b.y, c.y),
- m = Math.max(b.y + b.height, c.y + c.height),
- f = a.view.transformControlPoint(a, f),
- g = f.y < h || f.y > m,
- h = f.x < k || f.x > l;
- else k = Math.max(b.x, c.x), l = Math.min(b.x + b.width, c.x + c.width), g = k == l, g || (h = Math.max(b.y, c.y), m = Math.min(b.y + b.height, c.y + c.height), h = h == m);
- !h && (g || a.style[mxConstants.STYLE_ELBOW] == mxConstants.ELBOW_VERTICAL) ? mxEdgeStyle.TopToBottom(a, b, c, d, e) : mxEdgeStyle.SideToSide(a,
- b, c, d, e)
- },
- SideToSide: function(a, b, c, d, e) {
- var f = a.view;
- d = null != d && 0 < d.length ? d[0] : null;
- var g = a.absolutePoints,
- h = g[0],
- g = g[g.length - 1];
- null != d && (d = f.transformControlPoint(a, d));
- null != h && (b = new mxCellState, b.x = h.x, b.y = h.y);
- null != g && (c = new mxCellState, c.x = g.x, c.y = g.y);
- null != b && null != c && (a = Math.max(b.x, c.x), h = Math.min(b.x + b.width, c.x + c.width), a = null != d ? d.x : h + (a - h) / 2, h = f.getRoutingCenterY(b), f = f.getRoutingCenterY(c),
- null != d && (d.y >= b.y && d.y <= b.y + b.height && (h = d.y), d.y >= c.y && d.y <= c.y + c.height && (f = d.y)), !mxUtils.contains(c,
- a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), !mxUtils.contains(c, a, f) && !mxUtils.contains(b, a, f) && e.push(new mxPoint(a, f)), 1 == e.length && (null != d ? !
- mxUtils.contains(c, a, d.y) && !mxUtils.contains(b, a, d.y) && e.push(new mxPoint(a, d.y)) : (f = Math.max(b.y, c.y), b = Math.min(b.y + b.height, c.y + c.height), e.push(new mxPoint(a,
- f + (b - f) / 2)))))
- },
- TopToBottom: function(a, b, c, d, e) {
- var f = a.view;
- d = null != d && 0 < d.length ? d[0] : null;
- var g = a.absolutePoints,
- h = g[0],
- g = g[g.length - 1];
- null != d && (d = f.transformControlPoint(a, d));
- null !=
- h && (b = new mxCellState, b.x = h.x, b.y = h.y);
- null != g && (c = new mxCellState, c.x = g.x, c.y = g.y);
- null != b && null != c && (h = Math.max(b.y, c.y), g = Math.min(b.y + b.height, c.y + c.height), a = f.getRoutingCenterX(b), null != d && (d.x >= b.x && d.x <= b.x + b.width) && (a = d.x), h =
- null != d ? d.y : g + (h - g) / 2, !mxUtils.contains(c, a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), a = null != d && d.x >= c.x && d.x <= c.x + c.width ? d.x : f.getRoutingCenterX(
- c), !mxUtils.contains(c, a, h) && !mxUtils.contains(b, a, h) && e.push(new mxPoint(a, h)), 1 == e.length && (null != d && 1 ==
- e.length ? !mxUtils.contains(c, d.x, h) && !mxUtils.contains(b, d.x, h) && e.push(new mxPoint(d.x, h)) : (f = Math.max(b.x, c.x), b = Math.min(b.x + b.width, c.x + c.width), e.push(new mxPoint(
- f + (b - f) / 2, h)))))
- },
- SegmentConnector: function(a, b, c, d, e) {
- var f = a.absolutePoints,
- g = !0,
- h = null,
- k = f[0];
- null == k && null != b ? k = new mxPoint(a.view.getRoutingCenterX(b), a.view.getRoutingCenterY(b)) : null != k && (k = k.clone());
- var l = f.length - 1;
- if (null != d && 0 < d.length) {
- for (var h = a.view.transformControlPoint(a, d[0]), m = b, n = f[0], p = !1, q = !1, p = h, s = d.length, r =
- 0; 2 > r; r++) {
- var t = null != n && n.x == p.x,
- v = null != n && n.y == p.y,
- w = null != m && p.y >= m.y && p.y <= m.y + m.height,
- m = null != m && p.x >= m.x && p.x <= m.x + m.width,
- p = v || null == n && w,
- q = t || null == n && m;
- if (null != n && !v && !t && (w || m)) {
- g = w ? !1 : !0;
- break
- }
- if (q || p) {
- g = p;
- 1 == r && (g = 0 == d.length % 2 ? p : q);
- break
- }
- m = c;
- n = f[l];
- p = a.view.transformControlPoint(a, d[s - 1])
- }
- g && (null != f[0] && f[0].y != h.y || null == f[0] && null != b && (h.y < b.y || h.y > b.y + b.height)) ? e.push(new mxPoint(k.x, h.y)) : !g && (null != f[0] && f[0].x != h.x || null == f[
- 0] && null != b && (h.x < b.x || h.x > b.x + b.width)) && e.push(new mxPoint(h.x,
- k.y));
- g ? k.y = h.y : k.x = h.x;
- for (r = 0; r < d.length; r++) g = !g, h = a.view.transformControlPoint(a, d[r]), g ? k.y = h.y : k.x = h.x, e.push(k.clone())
- } else h = k, g = !0;
- k = f[l];
- null == k && null != c && (k = new mxPoint(a.view.getRoutingCenterX(c), a.view.getRoutingCenterY(c)));
- g && (null != f[l] && f[l].y != h.y || null == f[l] && null != c && (h.y < c.y || h.y > c.y + c.height)) ? e.push(new mxPoint(k.x, h.y)) : !g && (null != f[l] && f[l].x != h.x || null == f[l] &&
- null != c && (h.x < c.x || h.x > c.x + c.width)) && e.push(new mxPoint(h.x, k.y));
- if (null == f[0] && null != b)
- for (; 1 < e.length && mxUtils.contains(b,
- e[1].x, e[1].y);) e = e.splice(1, 1);
- if (null == f[l] && null != c)
- for (; 1 < e.length && mxUtils.contains(c, e[e.length - 1].x, e[e.length - 1].y);) e = e.splice(e.length - 1, 1)
- },
- orthBuffer: 10,
- dirVectors: [
- [-1, 0],
- [0, -1],
- [1, 0],
- [0, 1],
- [-1, 0],
- [0, -1],
- [1, 0]
- ],
- wayPoints1: [
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0],
- [0, 0]
- ],
- routePatterns: [
- [
- [513, 2308, 2081, 2562],
- [513, 1090, 514, 2184, 2114, 2561],
- [513, 1090, 514, 2564, 2184, 2562],
- [513, 2308, 2561, 1090, 514, 2568, 2308]
- ],
- [
- [514, 1057, 513, 2308, 2081, 2562],
- [514, 2184, 2114, 2561],
- [514, 2184,
- 2562, 1057, 513, 2564, 2184
- ],
- [514, 1057, 513, 2568, 2308, 2561]
- ],
- [
- [1090, 514, 1057, 513, 2308, 2081, 2562],
- [2114, 2561],
- [1090, 2562, 1057, 513, 2564, 2184],
- [1090, 514, 1057, 513, 2308, 2561, 2568]
- ],
- [
- [2081, 2562],
- [1057, 513, 1090, 514, 2184, 2114, 2561],
- [1057, 513, 1090, 514, 2184, 2562, 2564],
- [1057, 2561, 1090, 514, 2568, 2308]
- ]
- ],
- inlineRoutePatterns: [
- [null, [2114, 2568], null, null],
- [null, [514, 2081, 2114, 2568], null, null],
- [null, [2114, 2561], null, null],
- [
- [2081, 2562],
- [1057, 2114, 2568],
- [2184, 2562], null
- ]
- ],
- vertexSeperations: [],
- limits: [
- [0, 0, 0, 0, 0, 0, 0, 0, 0],
- [0, 0, 0, 0, 0, 0, 0, 0, 0]
- ],
- LEFT_MASK: 32,
- TOP_MASK: 64,
- RIGHT_MASK: 128,
- BOTTOM_MASK: 256,
- LEFT: 1,
- TOP: 2,
- RIGHT: 4,
- BOTTOM: 8,
- SIDE_MASK: 480,
- CENTER_MASK: 512,
- SOURCE_MASK: 1024,
- TARGET_MASK: 2048,
- VERTEX_MASK: 3072,
- OrthConnector: function(a, b, c, d, e) {
- var f = a.view.graph,
- g = null == b ? !1 : f.getModel().isEdge(b.cell),
- f = null == c ? !1 : f.getModel().isEdge(c.cell);
- if (null != d && 0 < d.length || g || f) mxEdgeStyle.SegmentConnector(a, b, c, d, e);
- else {
- d = a.absolutePoints;
- var h = d[0],
- k = d[d.length - 1];
- d = null != b ? b.x : h.x;
- var g = null != b ? b.y : h.y,
- l = null != b ? b.width :
- 1,
- m = null != b ? b.height : 1,
- n = null != c ? c.x : k.x,
- p = null != c ? c.y : k.y,
- q = null != c ? c.width : 1,
- s = null != c ? c.height : 1,
- f = a.view.scale * mxEdgeStyle.orthBuffer,
- r = [mxConstants.DIRECTION_MASK_ALL, mxConstants.DIRECTION_MASK_ALL];
- null != b && (r[0] = mxUtils.getPortConstraints(b, a, !0, mxConstants.DIRECTION_MASK_ALL));
- null != c && (r[1] = mxUtils.getPortConstraints(c, a, !1, mxConstants.DIRECTION_MASK_ALL));
- a = [0, 0];
- d = [
- [d, g, l, m],
- [n, p, q, s]
- ];
- for (l = 0; 2 > l; l++) mxEdgeStyle.limits[l][1] = d[l][0] - f, mxEdgeStyle.limits[l][2] = d[l][1] - f, mxEdgeStyle.limits[l][4] =
- d[l][0] + d[l][2] + f, mxEdgeStyle.limits[l][8] = d[l][1] + d[l][3] + f;
- l = d[0][0] + d[0][2] / 2 - (d[1][0] + d[1][2] / 2);
- m = d[0][1] + d[0][3] / 2 - (d[1][1] + d[1][3] / 2);
- g = 0;
- 0 > l ? g = 0 > m ? 2 : 1 : 0 >= m && (g = 3, 0 == l && (g = 2));
- m = null;
- null != b && (m = h);
- b = [
- [0.5, 0.5],
- [0.5, 0.5]
- ];
- for (l = 0; 2 > l; l++) null != m && (b[l][0] = (m.x - d[l][0]) / d[l][2], 0.01 > b[l][0] ? a[l] = mxConstants.DIRECTION_MASK_WEST : 0.99 < b[l][0] && (a[l] = mxConstants.DIRECTION_MASK_EAST),
- b[l][1] = (m.y - d[l][1]) / d[l][3], 0.01 > b[l][1] ? a[l] = mxConstants.DIRECTION_MASK_NORTH : 0.99 < b[l][1] && (a[l] = mxConstants.DIRECTION_MASK_SOUTH)),
- m = null, null != c && (m = k);
- l = d[0][1] - (d[1][1] + d[1][3]);
- m = d[0][0] - (d[1][0] + d[1][2]);
- n = d[1][1] - (d[0][1] + d[0][3]);
- p = d[1][0] - (d[0][0] + d[0][2]);
- mxEdgeStyle.vertexSeperations[1] = Math.max(m - 2 * f, 0);
- mxEdgeStyle.vertexSeperations[2] = Math.max(l - 2 * f, 0);
- mxEdgeStyle.vertexSeperations[4] = Math.max(n - 2 * f, 0);
- mxEdgeStyle.vertexSeperations[3] = Math.max(p - 2 * f, 0);
- c = [];
- h = [];
- k = [];
- h[0] = m >= p ? mxConstants.DIRECTION_MASK_WEST : mxConstants.DIRECTION_MASK_EAST;
- k[0] = l >= n ? mxConstants.DIRECTION_MASK_NORTH : mxConstants.DIRECTION_MASK_SOUTH;
- h[1] = mxUtils.reversePortConstraints(h[0]);
- k[1] = mxUtils.reversePortConstraints(k[0]);
- m = m >= p ? m : p;
- n = l >= n ? l : n;
- p = [
- [0, 0],
- [0, 0]
- ];
- q = !1;
- for (l = 0; 2 > l; l++) 0 == a[l] && (0 == (h[l] & r[l]) && (h[l] = mxUtils.reversePortConstraints(h[l])), 0 == (k[l] & r[l]) && (k[l] = mxUtils.reversePortConstraints(k[l])), p[l][0] = k[l],
- p[l][1] = h[l]);
- n > 2 * f && m > 2 * f && (0 < (h[0] & r[0]) && 0 < (k[1] & r[1]) ? (p[0][0] = h[0], p[0][1] = k[0], p[1][0] = k[1], p[1][1] = h[1], q = !0) : 0 < (k[0] & r[0]) && 0 < (h[1] & r[1]) && (p[0]
- [0] = k[0], p[0][1] = h[0], p[1][0] = h[1], p[1][1] = k[1], q = !0));
- n > 2 * f && !q &&
- (p[0][0] = k[0], p[0][1] = h[0], p[1][0] = k[1], p[1][1] = h[1], q = !0);
- m > 2 * f && !q && (p[0][0] = h[0], p[0][1] = k[0], p[1][0] = h[1], p[1][1] = k[1]);
- for (l = 0; 2 > l; l++)
- if (0 == a[l] && (0 == (p[l][0] & r[l]) && (p[l][0] = p[l][1]), c[l] = p[l][0] & r[l], c[l] |= (p[l][1] & r[l]) << 8, c[l] |= (p[1 - l][l] & r[l]) << 16, c[l] |= (p[1 - l][1 - l] & r[l]) <<
- 24, 0 == (c[l] & 15) && (c[l] <<= 8), 0 == (c[l] & 3840) && (c[l] = c[l] & 15 | c[l] >> 8), 0 == (c[l] & 983040) && (c[l] = c[l] & 65535 | (c[l] & 251658240) >> 8), a[l] = c[l] & 15,
- r[l] == mxConstants.DIRECTION_MASK_WEST || r[l] == mxConstants.DIRECTION_MASK_NORTH || r[l] ==
- mxConstants.DIRECTION_MASK_EAST || r[l] == mxConstants.DIRECTION_MASK_SOUTH)) a[l] = r[l];
- l = a[0] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[0];
- r = a[1] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[1];
- l -= g;
- r -= g;
- 1 > l && (l += 4);
- 1 > r && (r += 4);
- r = mxEdgeStyle.routePatterns[l - 1][r - 1];
- mxEdgeStyle.wayPoints1[0][0] = d[0][0];
- mxEdgeStyle.wayPoints1[0][1] = d[0][1];
- switch (a[0]) {
- case mxConstants.DIRECTION_MASK_WEST:
- mxEdgeStyle.wayPoints1[0][0] -= f;
- mxEdgeStyle.wayPoints1[0][1] += b[0][1] * d[0][3];
- break;
- case mxConstants.DIRECTION_MASK_SOUTH:
- mxEdgeStyle.wayPoints1[0][0] +=
- b[0][0] * d[0][2];
- mxEdgeStyle.wayPoints1[0][1] += d[0][3] + f;
- break;
- case mxConstants.DIRECTION_MASK_EAST:
- mxEdgeStyle.wayPoints1[0][0] += d[0][2] + f;
- mxEdgeStyle.wayPoints1[0][1] += b[0][1] * d[0][3];
- break;
- case mxConstants.DIRECTION_MASK_NORTH:
- mxEdgeStyle.wayPoints1[0][0] += b[0][0] * d[0][2], mxEdgeStyle.wayPoints1[0][1] -= f
- }
- f = 0;
- h = c = 0 < (a[0] & (mxConstants.DIRECTION_MASK_EAST | mxConstants.DIRECTION_MASK_WEST)) ? 0 : 1;
- for (l = k = 0; l < r.length; l++) {
- k = r[l] & 15;
- s = k == mxConstants.DIRECTION_MASK_EAST ? 3 : k;
- s += g;
- 4 < s && (s -= 4);
- m = mxEdgeStyle.dirVectors[s -
- 1];
- k = 0 < s % 2 ? 0 : 1;
- k != c && (f++, mxEdgeStyle.wayPoints1[f][0] = mxEdgeStyle.wayPoints1[f - 1][0], mxEdgeStyle.wayPoints1[f][1] = mxEdgeStyle.wayPoints1[f - 1][1]);
- var t = 0 < (r[l] & mxEdgeStyle.TARGET_MASK),
- q = 0 < (r[l] & mxEdgeStyle.SOURCE_MASK),
- n = (r[l] & mxEdgeStyle.SIDE_MASK) >> 5,
- n = n << g;
- 15 < n && (n >>= 4);
- p = 0 < (r[l] & mxEdgeStyle.CENTER_MASK);
- (q || t) && 9 > n ? (s = 0, q = q ? 0 : 1, s = p && 0 == k ? d[q][0] + b[q][0] * d[q][2] : p ? d[q][1] + b[q][1] * d[q][3] : mxEdgeStyle.limits[q][n], 0 == k ? (n = (s - mxEdgeStyle.wayPoints1[
- f][0]) * m[0], 0 < n && (mxEdgeStyle.wayPoints1[f][0] +=
- m[0] * n)) : (n = (s - mxEdgeStyle.wayPoints1[f][1]) * m[1], 0 < n && (mxEdgeStyle.wayPoints1[f][1] += m[1] * n))) : p && (mxEdgeStyle.wayPoints1[f][0] += m[0] * Math.abs(mxEdgeStyle.vertexSeperations[
- s] / 2), mxEdgeStyle.wayPoints1[f][1] += m[1] * Math.abs(mxEdgeStyle.vertexSeperations[s] / 2));
- 0 < f && mxEdgeStyle.wayPoints1[f][k] == mxEdgeStyle.wayPoints1[f - 1][k] ? f-- : c = k
- }
- for (l = 0; l <= f && !(l == f && ((0 < (a[1] & (mxConstants.DIRECTION_MASK_EAST | mxConstants.DIRECTION_MASK_WEST)) ? 0 : 1) == h ? 0 : 1) != (f + 1) % 2); l++) e.push(new mxPoint(
- mxEdgeStyle.wayPoints1[l][0],
- mxEdgeStyle.wayPoints1[l][1]))
- }
- },
- getRoutePattern: function(a, b, c, d) {
- var e = a[0] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[0];
- a = a[1] == mxConstants.DIRECTION_MASK_EAST ? 3 : a[1];
- e -= b;
- a -= b;
- 1 > e && (e += 4);
- 1 > a && (a += 4);
- b = routePatterns[e - 1][a - 1];
- if (0 == c || 0 == d) null != inlineRoutePatterns[e - 1][a - 1] && (b = inlineRoutePatterns[e - 1][a - 1]);
- return b
- }
- },
- mxStyleRegistry = {
- values: [],
- putValue: function(a, b) {
- mxStyleRegistry.values[a] = b
- },
- getValue: function(a) {
- return mxStyleRegistry.values[a]
- },
- getName: function(a) {
- for (var b in mxStyleRegistry.values)
- if (mxStyleRegistry.values[b] ==
- a) return b;
- return null
- }
- };
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW, mxEdgeStyle.ElbowConnector);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION, mxEdgeStyle.EntityRelation);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP, mxEdgeStyle.Loop);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE, mxEdgeStyle.SideToSide);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM, mxEdgeStyle.TopToBottom);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL, mxEdgeStyle.OrthConnector);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT, mxEdgeStyle.SegmentConnector);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE, mxPerimeter.EllipsePerimeter);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE, mxPerimeter.RectanglePerimeter);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS, mxPerimeter.RhombusPerimeter);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE, mxPerimeter.TrianglePerimeter);
-
-function mxGraphView(a) {
- this.graph = a;
- this.translate = new mxPoint;
- this.graphBounds = new mxRectangle;
- this.states = new mxDictionary
-}
-mxGraphView.prototype = new mxEventSource;
-mxGraphView.prototype.constructor = mxGraphView;
-mxGraphView.prototype.EMPTY_POINT = new mxPoint;
-mxGraphView.prototype.doneResource = "none" != mxClient.language ? "done" : "";
-mxGraphView.prototype.updatingDocumentResource = "none" != mxClient.language ? "updatingDocument" : "";
-mxGraphView.prototype.allowEval = !1;
-mxGraphView.prototype.captureDocumentGesture = !0;
-mxGraphView.prototype.optimizeVmlReflows = !0;
-mxGraphView.prototype.rendering = !0;
-mxGraphView.prototype.graph = null;
-mxGraphView.prototype.currentRoot = null;
-mxGraphView.prototype.graphBounds = null;
-mxGraphView.prototype.scale = 1;
-mxGraphView.prototype.translate = null;
-mxGraphView.prototype.updateStyle = !1;
-mxGraphView.prototype.getGraphBounds = function() {
- return this.graphBounds
-};
-mxGraphView.prototype.setGraphBounds = function(a) {
- this.graphBounds = a
-};
-mxGraphView.prototype.getBounds = function(a) {
- var b = null;
- if (null != a && 0 < a.length)
- for (var c = this.graph.getModel(), d = 0; d < a.length; d++)
- if (c.isVertex(a[d]) || c.isEdge(a[d])) {
- var e = this.getState(a[d]);
- null != e && (null == b ? b = new mxRectangle(e.x, e.y, e.width, e.height) : b.add(e))
- }
- return b
-};
-mxGraphView.prototype.setCurrentRoot = function(a) {
- if (this.currentRoot != a) {
- var b = new mxCurrentRootChange(this, a);
- b.execute();
- var c = new mxUndoableEdit(this, !1);
- c.add(b);
- this.fireEvent(new mxEventObject(mxEvent.UNDO, "edit", c));
- this.graph.sizeDidChange()
- }
- return a
-};
-mxGraphView.prototype.scaleAndTranslate = function(a, b, c) {
- var d = this.scale,
- e = new mxPoint(this.translate.x, this.translate.y);
- if (this.scale != a || this.translate.x != b || this.translate.y != c) this.scale = a, this.translate.x = b, this.translate.y = c, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange());
- this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE, "scale", a, "previousScale", d, "translate", this.translate, "previousTranslate", e))
-};
-mxGraphView.prototype.getScale = function() {
- return this.scale
-};
-mxGraphView.prototype.setScale = function(a) {
- var b = this.scale;
- this.scale != a && (this.scale = a, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange()));
- this.fireEvent(new mxEventObject(mxEvent.SCALE, "scale", a, "previousScale", b))
-};
-mxGraphView.prototype.getTranslate = function() {
- return this.translate
-};
-mxGraphView.prototype.setTranslate = function(a, b) {
- var c = new mxPoint(this.translate.x, this.translate.y);
- if (this.translate.x != a || this.translate.y != b) this.translate.x = a, this.translate.y = b, this.isEventsEnabled() && (this.revalidate(), this.graph.sizeDidChange());
- this.fireEvent(new mxEventObject(mxEvent.TRANSLATE, "translate", this.translate, "previousTranslate", c))
-};
-mxGraphView.prototype.refresh = function() {
- null != this.currentRoot && this.clear();
- this.revalidate()
-};
-mxGraphView.prototype.revalidate = function() {
- this.invalidate();
- this.validate()
-};
-mxGraphView.prototype.clear = function(a, b, c) {
- var d = this.graph.getModel();
- a = a || d.getRoot();
- b = null != b ? b : !1;
- c = null != c ? c : !0;
- this.removeState(a);
- if (c && (b || a != this.currentRoot)) {
- c = d.getChildCount(a);
- for (var e = 0; e < c; e++) this.clear(d.getChildAt(a, e), b)
- } else this.invalidate(a)
-};
-mxGraphView.prototype.invalidate = function(a, b, c, d) {
- var e = this.graph.getModel();
- a = a || e.getRoot();
- b = null != b ? b : !0;
- c = null != c ? c : !0;
- d = null != d ? d : !1;
- var f = this.getState(a);
- null != f && (f.invalid = !0, d && (f.orderChanged = !0));
- if (b)
- for (var g = e.getChildCount(a), f = 0; f < g; f++) {
- var h = e.getChildAt(a, f);
- this.invalidate(h, b, c, d)
- }
- if (c) {
- d = e.getEdgeCount(a);
- for (f = 0; f < d; f++) this.invalidate(e.getEdgeAt(a, f), b, c)
- }
-};
-mxGraphView.prototype.validate = function(a) {
- var b = mxLog.enter("mxGraphView.validate");
- window.status = mxResources.get(this.updatingDocumentResource) || this.updatingDocumentResource;
- var c = null;
- if (this.optimizeVmlReflows && null != this.canvas && null == this.textDiv && (8 == document.documentMode || mxClient.IS_QUIRKS)) {
- c = this.canvas.style.display;
- this.canvas.style.display = "none";
- var d = document.createElement("div");
- d.style.position = "absolute";
- d.style.whiteSpace = "nowrap";
- d.style.visibility = "hidden";
- d.style.display = mxClient.IS_QUIRKS ?
- "inline" : "inline-block";
- d.style.zoom = "1";
- document.body.appendChild(d);
- this.textDiv = d
- }
- a = a || (null != this.currentRoot ? this.currentRoot : this.graph.getModel().getRoot());
- this.validateBounds(null, a);
- a = this.validatePoints(null, a);
- null == a && (a = new mxRectangle);
- this.setGraphBounds(a);
- this.validateBackground();
- null != c && (this.canvas.style.display = c, document.body.removeChild(this.textDiv), this.textDiv = null);
- window.status = mxResources.get(this.doneResource) || this.doneResource;
- mxLog.leave("mxGraphView.validate", b)
-};
-mxGraphView.prototype.createBackgroundPageShape = function(a) {
- return new mxRectangleShape(a, "white", "black")
-};
-mxGraphView.prototype.validateBackground = function() {
- var a = this.graph.getBackgroundImage();
- if (null != a) {
- if (null == this.backgroundImage || this.backgroundImage.image != a.src) {
- null != this.backgroundImage && this.backgroundImage.destroy();
- var b = new mxRectangle(0, 0, 1, 1);
- this.backgroundImage = new mxImageShape(b, a.src);
- this.backgroundImage.dialect = this.graph.dialect;
- this.backgroundImage.init(this.backgroundPane);
- this.backgroundImage.redraw()
- }
- this.redrawBackgroundImage(this.backgroundImage, a)
- } else null != this.backgroundImage &&
- (this.backgroundImage.destroy(), this.backgroundImage = null);
- this.graph.pageVisible ? (b = this.getBackgroundPageBounds(), null == this.backgroundPageShape ? (this.backgroundPageShape = this.createBackgroundPageShape(b), this.backgroundPageShape.scale =
- this.scale, this.backgroundPageShape.isShadow = !0, this.backgroundPageShape.dialect = this.graph.dialect, this.backgroundPageShape.init(this.backgroundPane), this.backgroundPageShape.redraw(),
- mxEvent.addListener(this.backgroundPageShape.node, "dblclick", mxUtils.bind(this,
- function(a) {
- this.graph.dblClick(a)
- })), mxEvent.addGestureListeners(this.backgroundPageShape.node, mxUtils.bind(this, function(a) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a))
- }), mxUtils.bind(this, function(a) {
- null != this.graph.tooltipHandler && this.graph.tooltipHandler.isHideOnHover() && this.graph.tooltipHandler.hide();
- this.graph.isMouseDown && !mxEvent.isConsumed(a) && this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a))
- }), mxUtils.bind(this, function(a) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_UP,
- new mxMouseEvent(a))
- }))) : (this.backgroundPageShape.scale = this.scale, this.backgroundPageShape.bounds = b, this.backgroundPageShape.redraw())) : null != this.backgroundPageShape && (this.backgroundPageShape.destroy(),
- this.backgroundPageShape = null)
-};
-mxGraphView.prototype.getBackgroundPageBounds = function() {
- var a = this.graph.pageFormat,
- b = this.scale * this.graph.pageScale;
- return new mxRectangle(this.scale * this.translate.x, this.scale * this.translate.y, a.width * b, a.height * b)
-};
-mxGraphView.prototype.redrawBackgroundImage = function(a, b) {
- a.scale = this.scale;
- a.bounds.x = this.scale * this.translate.x;
- a.bounds.y = this.scale * this.translate.y;
- a.bounds.width = this.scale * b.width;
- a.bounds.height = this.scale * b.height;
- a.redraw()
-};
-mxGraphView.prototype.validateBounds = function(a, b) {
- var c = this.graph.getModel(),
- d = this.getState(b, !0);
- if (null != d && d.invalid) {
- if (this.graph.isCellVisible(b)) {
- if (b != this.currentRoot && null != a) {
- d.absoluteOffset.x = 0;
- d.absoluteOffset.y = 0;
- d.origin.x = a.origin.x;
- d.origin.y = a.origin.y;
- var e = this.graph.getCellGeometry(b);
- if (null != e) {
- if (!c.isEdge(b)) {
- var f = e.offset || this.EMPTY_POINT;
- e.relative ? (d.origin.x += e.x * a.width / this.scale + f.x, d.origin.y += e.y * a.height / this.scale + f.y) : (d.absoluteOffset.x = this.scale * f.x, d.absoluteOffset.y =
- this.scale * f.y, d.origin.x += e.x, d.origin.y += e.y)
- }
- d.x = this.scale * (this.translate.x + d.origin.x);
- d.y = this.scale * (this.translate.y + d.origin.y);
- d.width = this.scale * e.width;
- d.height = this.scale * e.height;
- if (c.isVertex(b)) {
- if (e.relative && (f = mxUtils.toRadians(a.style[mxConstants.STYLE_ROTATION] || "0"), 0 != f)) {
- var e = Math.cos(f),
- f = Math.sin(f),
- g = new mxPoint(d.getCenterX(), d.getCenterY()),
- h = new mxPoint(a.getCenterX(), a.getCenterY()),
- e = mxUtils.getRotatedPoint(g, e, f, h);
- d.x = e.x - d.width / 2;
- d.y = e.y - d.height / 2
- }
- this.updateVertexLabelOffset(d)
- }
- }
- }
- } else this.removeState(b);
- f = this.graph.getChildOffsetForCell(b);
- null != f && (d.origin.x += f.x, d.origin.y += f.y)
- }
- if (null != d && (!this.graph.isCellCollapsed(b) || b == this.currentRoot)) {
- e = c.getChildCount(b);
- for (f = 0; f < e; f++) g = c.getChildAt(b, f), this.validateBounds(d, g)
- }
-};
-mxGraphView.prototype.updateVertexLabelOffset = function(a) {
- var b = mxUtils.getValue(a.style, mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER);
- b == mxConstants.ALIGN_LEFT ? a.absoluteOffset.x -= a.width : b == mxConstants.ALIGN_RIGHT && (a.absoluteOffset.x += a.width);
- b = mxUtils.getValue(a.style, mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);
- b == mxConstants.ALIGN_TOP ? a.absoluteOffset.y -= a.height : b == mxConstants.ALIGN_BOTTOM && (a.absoluteOffset.y += a.height)
-};
-mxGraphView.prototype.validatePoints = function(a, b) {
- var c = this.graph.getModel(),
- d = this.getState(b),
- e = null;
- if (null != d) {
- if (d.invalid) {
- var f = this.graph.getCellGeometry(b);
- if (null != f && c.isEdge(b)) {
- var g = this.getState(this.getVisibleTerminal(b, !0));
- d.setVisibleTerminalState(g, !0);
- if (null != g && c.isEdge(g.cell) && !c.isAncestor(g.cell, b)) {
- var h = this.getState(c.getParent(g.cell));
- this.validatePoints(h, g.cell)
- }
- var k = this.getState(this.getVisibleTerminal(b, !1));
- d.setVisibleTerminalState(k, !1);
- null != k && (c.isEdge(k.cell) &&
- !c.isAncestor(k.cell, b)) && (h = this.getState(c.getParent(k.cell)), this.validatePoints(h, k.cell));
- this.updateFixedTerminalPoints(d, g, k);
- this.updatePoints(d, f.points, g, k);
- this.updateFloatingTerminalPoints(d, g, k);
- this.updateEdgeBounds(d);
- this.updateEdgeLabelOffset(d)
- } else null != f && (f.relative && null != a && c.isEdge(a.cell)) && (f = this.getPoint(a, f), null != f && (d.x = f.x, d.y = f.y, f.x = f.x / this.scale - this.translate.x, f.y = f.y / this.scale -
- this.translate.y, d.origin = f, this.childMoved(a, d)));
- d.invalid = !1;
- b != this.currentRoot &&
- this.graph.cellRenderer.redraw(d, !1, this.isRendering())
- }
- if (c.isEdge(b) || c.isVertex(b)) null != d.shape && null != d.shape.boundingBox && (e = d.shape.boundingBox.clone()), null != d.text && !this.graph.isLabelClipped(d.cell) && null != d.text.boundingBox &&
- (null != e ? e.add(d.text.boundingBox) : e = d.text.boundingBox.clone())
- }
- if (null != d && (!this.graph.isCellCollapsed(b) || b == this.currentRoot)) {
- f = c.getChildCount(b);
- for (g = 0; g < f; g++) h = c.getChildAt(b, g), h = this.validatePoints(d, h), null != h && (null == e ? e = h : e.add(h))
- }
- return e
-};
-mxGraphView.prototype.childMoved = function(a, b) {
- var c = b.cell;
- if (!this.graph.isCellCollapsed(c) || c == this.currentRoot)
- for (var d = this.graph.getModel(), e = d.getChildCount(c), f = 0; f < e; f++) this.validateBounds(b, d.getChildAt(c, f))
-};
-mxGraphView.prototype.updateFixedTerminalPoints = function(a, b, c) {
- this.updateFixedTerminalPoint(a, b, !0, this.graph.getConnectionConstraint(a, b, !0));
- this.updateFixedTerminalPoint(a, c, !1, this.graph.getConnectionConstraint(a, c, !1))
-};
-mxGraphView.prototype.updateFixedTerminalPoint = function(a, b, c, d) {
- var e = null;
- null != d && (e = this.graph.getConnectionPoint(b, d));
- if (null == e && null == b) {
- b = this.scale;
- d = this.translate;
- var f = a.origin,
- e = this.graph.getCellGeometry(a.cell).getTerminalPoint(c);
- null != e && (e = new mxPoint(b * (d.x + e.x + f.x), b * (d.y + e.y + f.y)))
- }
- a.setAbsoluteTerminalPoint(e, c)
-};
-mxGraphView.prototype.updatePoints = function(a, b, c, d) {
- if (null != a) {
- var e = [];
- e.push(a.absolutePoints[0]);
- var f = this.getEdgeStyle(a, b, c, d);
- if (null != f) c = this.getTerminalPort(a, c, !0), d = this.getTerminalPort(a, d, !1), f(a, c, d, b, e);
- else if (null != b)
- for (f = 0; f < b.length; f++) null != b[f] && (d = mxUtils.clone(b[f]), e.push(this.transformControlPoint(a, d)));
- b = a.absolutePoints;
- e.push(b[b.length - 1]);
- a.absolutePoints = e
- }
-};
-mxGraphView.prototype.transformControlPoint = function(a, b) {
- var c = a.origin;
- return new mxPoint(this.scale * (b.x + this.translate.x + c.x), this.scale * (b.y + this.translate.y + c.y))
-};
-mxGraphView.prototype.getEdgeStyle = function(a, b, c, d) {
- a = null != c && c == d ? mxUtils.getValue(a.style, mxConstants.STYLE_LOOP, this.graph.defaultLoopStyle) : !mxUtils.getValue(a.style, mxConstants.STYLE_NOEDGESTYLE, !1) ? a.style[mxConstants.STYLE_EDGE] :
- null;
- "string" == typeof a && (b = mxStyleRegistry.getValue(a), null == b && this.isAllowEval() && (b = mxUtils.eval(a)), a = b);
- return "function" == typeof a ? a : null
-};
-mxGraphView.prototype.updateFloatingTerminalPoints = function(a, b, c) {
- var d = a.absolutePoints,
- e = d[0];
- null == d[d.length - 1] && null != c && this.updateFloatingTerminalPoint(a, c, b, !1);
- null == e && null != b && this.updateFloatingTerminalPoint(a, b, c, !0)
-};
-mxGraphView.prototype.updateFloatingTerminalPoint = function(a, b, c, d) {
- b = this.getTerminalPort(a, b, d);
- var e = this.getNextPoint(a, c, d),
- f = this.graph.isOrthogonal(a);
- c = mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION] || "0"));
- var g = new mxPoint(b.getCenterX(), b.getCenterY());
- if (0 != c) var h = Math.cos(-c),
- k = Math.sin(-c),
- e = mxUtils.getRotatedPoint(e, h, k, g);
- h = parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING] || 0);
- h += parseFloat(a.style[d ? mxConstants.STYLE_SOURCE_PERIMETER_SPACING : mxConstants.STYLE_TARGET_PERIMETER_SPACING] ||
- 0);
- b = this.getPerimeterPoint(b, e, 0 == c && f, h);
- 0 != c && (h = Math.cos(c), k = Math.sin(c), b = mxUtils.getRotatedPoint(b, h, k, g));
- a.setAbsoluteTerminalPoint(b, d)
-};
-mxGraphView.prototype.getTerminalPort = function(a, b, c) {
- a = mxUtils.getValue(a.style, c ? mxConstants.STYLE_SOURCE_PORT : mxConstants.STYLE_TARGET_PORT);
- null != a && (a = this.getState(this.graph.getModel().getCell(a)), null != a && (b = a));
- return b
-};
-mxGraphView.prototype.getPerimeterPoint = function(a, b, c, d) {
- var e = null;
- if (null != a) {
- var f = this.getPerimeterFunction(a);
- if (null != f && null != b && (d = this.getPerimeterBounds(a, d), 0 < d.width || 0 < d.height)) e = f(d, a, b, c);
- null == e && (e = this.getPoint(a))
- }
- return e
-};
-mxGraphView.prototype.getRoutingCenterX = function(a) {
- var b = null != a.style ? parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_X]) || 0 : 0;
- return a.getCenterX() + b * a.width
-};
-mxGraphView.prototype.getRoutingCenterY = function(a) {
- var b = null != a.style ? parseFloat(a.style[mxConstants.STYLE_ROUTING_CENTER_Y]) || 0 : 0;
- return a.getCenterY() + b * a.height
-};
-mxGraphView.prototype.getPerimeterBounds = function(a, b) {
- b = null != b ? b : 0;
- null != a && (b += parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING] || 0));
- return a.getPerimeterBounds(b * this.scale)
-};
-mxGraphView.prototype.getPerimeterFunction = function(a) {
- a = a.style[mxConstants.STYLE_PERIMETER];
- if ("string" == typeof a) {
- var b = mxStyleRegistry.getValue(a);
- null == b && this.isAllowEval() && (b = mxUtils.eval(a));
- a = b
- }
- return "function" == typeof a ? a : null
-};
-mxGraphView.prototype.getNextPoint = function(a, b, c) {
- a = a.absolutePoints;
- var d = null;
- if (null != a && (c || 2 < a.length || null == b)) d = a.length, d = a[c ? Math.min(1, d - 1) : Math.max(0, d - 2)];
- null == d && null != b && (d = new mxPoint(b.getCenterX(), b.getCenterY()));
- return d
-};
-mxGraphView.prototype.getVisibleTerminal = function(a, b) {
- for (var c = this.graph.getModel(), d = c.getTerminal(a, b), e = d; null != d && d != this.currentRoot;) {
- if (!this.graph.isCellVisible(e) || this.graph.isCellCollapsed(d)) e = d;
- d = c.getParent(d)
- }
- c.getParent(e) == c.getRoot() && (e = null);
- return e
-};
-mxGraphView.prototype.updateEdgeBounds = function(a) {
- var b = a.absolutePoints;
- a.length = 0;
- if (null != b && 0 < b.length) {
- var c = b[0],
- d = b[b.length - 1];
- if (null == c || null == d) a.cell != this.currentRoot && this.clear(a.cell, !0);
- else {
- if (c.x != d.x || c.y != d.y) {
- var e = d.x - c.x,
- f = d.y - c.y;
- a.terminalDistance = Math.sqrt(e * e + f * f)
- } else a.terminalDistance = 0;
- var d = 0,
- g = [],
- f = c;
- if (null != f) {
- for (var c = f.x, h = f.y, k = c, l = h, m = 1; m < b.length; m++) {
- var n = b[m];
- null != n && (e = f.x - n.x, f = f.y - n.y, e = Math.sqrt(e * e + f * f), g.push(e), d += e, f = n, c = Math.min(f.x, c), h = Math.min(f.y,
- h), k = Math.max(f.x, k), l = Math.max(f.y, l))
- }
- a.length = d;
- a.segments = g;
- a.x = c;
- a.y = h;
- a.width = Math.max(1, k - c);
- a.height = Math.max(1, l - h)
- }
- }
- }
-};
-mxGraphView.prototype.getPoint = function(a, b) {
- var c = a.getCenterX(),
- d = a.getCenterY();
- if (null != a.segments && (null == b || b.relative)) {
- for (var e = a.absolutePoints.length, f = ((null != b ? b.x / 2 : 0) + 0.5) * a.length, g = a.segments[0], h = 0, k = 1; f > h + g && k < e - 1;) h += g, g = a.segments[k++];
- e = 0 == g ? 0 : (f - h) / g;
- f = a.absolutePoints[k - 1];
- k = a.absolutePoints[k];
- if (null != f && null != k) {
- h = c = d = 0;
- if (null != b) {
- var d = b.y,
- l = b.offset;
- null != l && (c = l.x, h = l.y)
- }
- l = k.x - f.x;
- k = k.y - f.y;
- c = f.x + l * e + ((0 == g ? 0 : k / g) * d + c) * this.scale;
- d = f.y + k * e - ((0 == g ? 0 : l / g) * d - h) * this.scale
- }
- } else null !=
- b && (l = b.offset, null != l && (c += l.x, d += l.y));
- return new mxPoint(c, d)
-};
-mxGraphView.prototype.getRelativePoint = function(a, b, c) {
- var d = this.graph.getModel().getGeometry(a.cell);
- if (null != d) {
- var e = a.absolutePoints.length;
- if (d.relative && 1 < e) {
- for (var d = a.length, f = a.segments, g = a.absolutePoints[0], h = a.absolutePoints[1], k = mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c), l = 0, m = 0, n = 0, p = 2; p < e; p++) m += f[p -
- 2], h = a.absolutePoints[p], g = mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c), g <= k && (k = g, l = p - 1, n = m), g = h;
- e = f[l];
- g = a.absolutePoints[l];
- h = a.absolutePoints[l + 1];
- k = h.x;
- f = h.y;
- a = g.x - k;
- l = g.y - f;
- k = b - k;
- f = c - f;
- k = a - k;
- f = l - f;
- f = k * a + f * l;
- a = Math.sqrt(0 >= f ? 0 : f * f / (a * a + l * l));
- a > e && (a = e);
- e = Math.sqrt(mxUtils.ptSegDistSq(g.x, g.y, h.x, h.y, b, c)); - 1 == mxUtils.relativeCcw(g.x, g.y, h.x, h.y, b, c) && (e = -e);
- return new mxPoint(-2 * ((d / 2 - n - a) / d), e / this.scale)
- }
- }
- return new mxPoint
-};
-mxGraphView.prototype.updateEdgeLabelOffset = function(a) {
- var b = a.absolutePoints;
- a.absoluteOffset.x = a.getCenterX();
- a.absoluteOffset.y = a.getCenterY();
- if (null != b && 0 < b.length && null != a.segments) {
- var c = this.graph.getCellGeometry(a.cell);
- if (c.relative) {
- var d = this.getPoint(a, c);
- null != d && (a.absoluteOffset = d)
- } else {
- var d = b[0],
- e = b[b.length - 1];
- if (null != d && null != e) {
- var b = e.x - d.x,
- f = e.y - d.y,
- g = e = 0,
- c = c.offset;
- null != c && (e = c.x, g = c.y);
- c = d.y + f / 2 + g * this.scale;
- a.absoluteOffset.x = d.x + b / 2 + e * this.scale;
- a.absoluteOffset.y = c
- }
- }
- }
-};
-mxGraphView.prototype.getState = function(a, b) {
- b = b || !1;
- var c = null;
- null != a && (c = this.states.get(a), this.graph.isCellVisible(a) && (null == c && b && this.graph.isCellVisible(a) ? (c = this.createState(a), this.states.put(a, c)) : b && (null != c && this.updateStyle) &&
- (c.style = this.graph.getCellStyle(a))));
- return c
-};
-mxGraphView.prototype.isRendering = function() {
- return this.rendering
-};
-mxGraphView.prototype.setRendering = function(a) {
- this.rendering = a
-};
-mxGraphView.prototype.isAllowEval = function() {
- return this.allowEval
-};
-mxGraphView.prototype.setAllowEval = function(a) {
- this.allowEval = a
-};
-mxGraphView.prototype.getStates = function() {
- return this.states
-};
-mxGraphView.prototype.setStates = function(a) {
- this.states = a
-};
-mxGraphView.prototype.getCellStates = function(a) {
- if (null == a) return this.states;
- for (var b = [], c = 0; c < a.length; c++) {
- var d = this.getState(a[c]);
- null != d && b.push(d)
- }
- return b
-};
-mxGraphView.prototype.removeState = function(a) {
- var b = null;
- null != a && (b = this.states.remove(a), null != b && (this.graph.cellRenderer.destroy(b), b.destroy()));
- return b
-};
-mxGraphView.prototype.createState = function(a) {
- var b = this.graph.getCellStyle(a);
- a = new mxCellState(this, a, b);
- this.graph.cellRenderer.initialize(a, this.isRendering());
- return a
-};
-mxGraphView.prototype.getCanvas = function() {
- return this.canvas
-};
-mxGraphView.prototype.getBackgroundPane = function() {
- return this.backgroundPane
-};
-mxGraphView.prototype.getDrawPane = function() {
- return this.drawPane
-};
-mxGraphView.prototype.getOverlayPane = function() {
- return this.overlayPane
-};
-mxGraphView.prototype.isContainerEvent = function(a) {
- a = mxEvent.getSource(a);
- return a == this.graph.container || a.parentNode == this.backgroundPane || null != a.parentNode && a.parentNode.parentNode == this.backgroundPane || a == this.canvas.parentNode || a == this.canvas ||
- a == this.backgroundPane || a == this.drawPane || a == this.overlayPane
-};
-mxGraphView.prototype.isScrollEvent = function(a) {
- var b = mxUtils.getOffset(this.graph.container);
- a = new mxPoint(a.clientX - b.x, a.clientY - b.y);
- var b = this.graph.container.offsetWidth,
- c = this.graph.container.clientWidth;
- if (b > c && a.x > c + 2 && a.x <= b) return !0;
- b = this.graph.container.offsetHeight;
- c = this.graph.container.clientHeight;
- return b > c && a.y > c + 2 && a.y <= b ? !0 : !1
-};
-mxGraphView.prototype.init = function() {
- this.installListeners();
- var a = this.graph;
- a.dialect == mxConstants.DIALECT_SVG ? this.createSvg() : a.dialect == mxConstants.DIALECT_VML ? this.createVml() : this.createHtml()
-};
-mxGraphView.prototype.installListeners = function() {
- var a = this.graph,
- b = a.container;
- if (null != b) {
- mxEvent.addGestureListeners(b, mxUtils.bind(this, function(b) {
- mxClient.IS_TOUCH && a.isEditing() && a.stopEditing(!a.isInvokesStopCellEditing());
- this.isContainerEvent(b) && (!mxClient.IS_IE && !mxClient.IS_GC && !mxClient.IS_OP && !mxClient.IS_SF || !this.isScrollEvent(b)) && a.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(
- b))
- }), mxUtils.bind(this, function(b) {
- this.isContainerEvent(b) && a.fireMouseEvent(mxEvent.MOUSE_MOVE,
- new mxMouseEvent(b))
- }), mxUtils.bind(this, function(b) {
- this.isContainerEvent(b) && a.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b))
- }));
- mxEvent.addListener(b, "dblclick", mxUtils.bind(this, function(b) {
- a.dblClick(b)
- }));
- var c = function(c) {
- var e = null;
- mxClient.IS_TOUCH && (e = mxEvent.getClientX(c), c = mxEvent.getClientY(c), c = mxUtils.convertPoint(b, e, c), e = a.view.getState(a.getCellAt(c.x, c.y)));
- return e
- };
- a.addMouseListener({
- mouseDown: function(b, c) {
- a.panningHandler.hideMenu()
- },
- mouseMove: function() {},
- mouseUp: function() {}
- });
- this.moveHandler = mxUtils.bind(this, function(b) {
- null != a.tooltipHandler && a.tooltipHandler.isHideOnHover() && a.tooltipHandler.hide();
- this.captureDocumentGesture && (a.isMouseDown && !mxEvent.isConsumed(b)) && a.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(b, c(b)))
- });
- this.endHandler = mxUtils.bind(this, function(b) {
- this.captureDocumentGesture && a.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(b))
- });
- mxEvent.addGestureListeners(document, null, this.moveHandler, this.endHandler)
- }
-};
-mxGraphView.prototype.createHtml = function() {
- var a = this.graph.container;
- null != a && (this.canvas = this.createHtmlPane("100%", "100%"), this.backgroundPane = this.createHtmlPane("1px", "1px"), this.drawPane = this.createHtmlPane("1px", "1px"), this.overlayPane =
- this.createHtmlPane("1px", "1px"), this.canvas.appendChild(this.backgroundPane), this.canvas.appendChild(this.drawPane), this.canvas.appendChild(this.overlayPane), a.appendChild(this.canvas),
- mxClient.IS_QUIRKS && (a = mxUtils.bind(this, function(a) {
- a = this.getGraphBounds();
- this.updateHtmlCanvasSize(a.x + a.width + this.graph.border, a.y + a.height + this.graph.border)
- }), mxEvent.addListener(window, "resize", a)))
-};
-mxGraphView.prototype.updateHtmlCanvasSize = function(a, b) {
- if (null != this.graph.container) {
- var c = this.graph.container.offsetHeight;
- this.canvas.style.width = this.graph.container.offsetWidth < a ? a + "px" : "100%";
- this.canvas.style.height = c < b ? b + "px" : "100%"
- }
-};
-mxGraphView.prototype.createHtmlPane = function(a, b) {
- var c = document.createElement("DIV");
- null != a && null != b ? (c.style.position = "absolute", c.style.left = "0px", c.style.top = "0px", c.style.width = a, c.style.height = b) : c.style.position = "relative";
- return c
-};
-mxGraphView.prototype.createVml = function() {
- var a = this.graph.container;
- if (null != a) {
- var b = a.offsetWidth,
- c = a.offsetHeight;
- this.canvas = this.createVmlPane(b, c);
- this.backgroundPane = this.createVmlPane(b, c);
- this.drawPane = this.createVmlPane(b, c);
- this.overlayPane = this.createVmlPane(b, c);
- this.canvas.appendChild(this.backgroundPane);
- this.canvas.appendChild(this.drawPane);
- this.canvas.appendChild(this.overlayPane);
- a.appendChild(this.canvas)
- }
-};
-mxGraphView.prototype.createVmlPane = function(a, b) {
- var c = document.createElement(mxClient.VML_PREFIX + ":group");
- c.style.position = "absolute";
- c.style.left = "0px";
- c.style.top = "0px";
- c.style.width = a + "px";
- c.style.height = b + "px";
- c.setAttribute("coordsize", a + "," + b);
- c.setAttribute("coordorigin", "0,0");
- return c
-};
-mxGraphView.prototype.createSvg = function() {
- var a = this.graph.container;
- this.canvas = document.createElementNS(mxConstants.NS_SVG, "g");
- this.backgroundPane = document.createElementNS(mxConstants.NS_SVG, "g");
- this.canvas.appendChild(this.backgroundPane);
- this.drawPane = document.createElementNS(mxConstants.NS_SVG, "g");
- this.canvas.appendChild(this.drawPane);
- this.overlayPane = document.createElementNS(mxConstants.NS_SVG, "g");
- this.canvas.appendChild(this.overlayPane);
- var b = document.createElementNS(mxConstants.NS_SVG,
- "svg");
- b.style.width = "100%";
- b.style.height = "100%";
- b.style.display = "block";
- b.appendChild(this.canvas);
- null != a && (a.appendChild(b), "static" == mxUtils.getCurrentStyle(a).position && (a.style.position = "relative"))
-};
-mxGraphView.prototype.destroy = function() {
- var a = null != this.canvas ? this.canvas.ownerSVGElement : null;
- null == a && (a = this.canvas);
- null != a && null != a.parentNode && (this.clear(this.currentRoot, !0), mxEvent.removeGestureListeners(document, null, this.moveHandler, this.endHandler), mxEvent.release(this.graph.container), a
- .parentNode.removeChild(a), this.overlayPane = this.drawPane = this.backgroundPane = this.canvas = this.endHandler = this.moveHandler = null)
-};
-
-function mxCurrentRootChange(a, b) {
- this.view = a;
- this.previous = this.root = b;
- this.isUp = null == b;
- if (!this.isUp)
- for (var c = this.view.currentRoot, d = this.view.graph.getModel(); null != c;) {
- if (c == b) {
- this.isUp = !0;
- break
- }
- c = d.getParent(c)
- }
-}
-mxCurrentRootChange.prototype.execute = function() {
- var a = this.view.currentRoot;
- this.view.currentRoot = this.previous;
- this.previous = a;
- a = this.view.graph.getTranslateForRoot(this.view.currentRoot);
- null != a && (this.view.translate = new mxPoint(-a.x, -a.y));
- this.view.fireEvent(new mxEventObject(this.isUp ? mxEvent.UP : mxEvent.DOWN, "root", this.view.currentRoot, "previous", this.previous));
- this.isUp ? (this.view.clear(this.view.currentRoot, !0), this.view.validate()) : this.view.refresh();
- this.isUp = !this.isUp
-};
-
-function mxGraph(a, b, c, d) {
- this.mouseListeners = null;
- this.renderHint = c;
- this.dialect = mxClient.IS_SVG ? mxConstants.DIALECT_SVG : c == mxConstants.RENDERING_HINT_EXACT && mxClient.IS_VML ? mxConstants.DIALECT_VML : c == mxConstants.RENDERING_HINT_FASTEST ? mxConstants
- .DIALECT_STRICTHTML : c == mxConstants.RENDERING_HINT_FASTER ? mxConstants.DIALECT_PREFERHTML : mxConstants.DIALECT_MIXEDHTML;
- this.model = null != b ? b : new mxGraphModel;
- this.multiplicities = [];
- this.imageBundles = [];
- this.cellRenderer = this.createCellRenderer();
- this.setSelectionModel(this.createSelectionModel());
- this.setStylesheet(null != d ? d : this.createStylesheet());
- this.view = this.createGraphView();
- this.graphModelChangeListener = mxUtils.bind(this, function(a, b) {
- this.graphModelChanged(b.getProperty("edit").changes)
- });
- this.model.addListener(mxEvent.CHANGE, this.graphModelChangeListener);
- this.createHandlers();
- null != a && this.init(a);
- this.view.revalidate()
-}
-mxLoadResources && mxResources.add(mxClient.basePath + "/resources/graph");
-mxGraph.prototype = new mxEventSource;
-mxGraph.prototype.constructor = mxGraph;
-mxGraph.prototype.EMPTY_ARRAY = [];
-mxGraph.prototype.mouseListeners = null;
-mxGraph.prototype.isMouseDown = !1;
-mxGraph.prototype.model = null;
-mxGraph.prototype.view = null;
-mxGraph.prototype.stylesheet = null;
-mxGraph.prototype.selectionModel = null;
-mxGraph.prototype.cellEditor = null;
-mxGraph.prototype.cellRenderer = null;
-mxGraph.prototype.multiplicities = null;
-mxGraph.prototype.renderHint = null;
-mxGraph.prototype.dialect = null;
-mxGraph.prototype.gridSize = 10;
-mxGraph.prototype.gridEnabled = !0;
-mxGraph.prototype.portsEnabled = !0;
-mxGraph.prototype.doubleTapEnabled = !0;
-mxGraph.prototype.doubleTapTimeout = 700;
-mxGraph.prototype.doubleTapTolerance = 25;
-mxGraph.prototype.lastTouchY = 0;
-mxGraph.prototype.lastTouchY = 0;
-mxGraph.prototype.lastTouchTime = 0;
-mxGraph.prototype.gestureEnabled = !0;
-mxGraph.prototype.tolerance = 4;
-mxGraph.prototype.defaultOverlap = 0.5;
-mxGraph.prototype.defaultParent = null;
-mxGraph.prototype.alternateEdgeStyle = null;
-mxGraph.prototype.backgroundImage = null;
-mxGraph.prototype.pageVisible = !1;
-mxGraph.prototype.pageBreaksVisible = !1;
-mxGraph.prototype.pageBreakColor = "gray";
-mxGraph.prototype.pageBreakDashed = !0;
-mxGraph.prototype.minPageBreakDist = 20;
-mxGraph.prototype.preferPageSize = !1;
-mxGraph.prototype.pageFormat = mxConstants.PAGE_FORMAT_A4_PORTRAIT;
-mxGraph.prototype.pageScale = 1.5;
-mxGraph.prototype.enabled = !0;
-mxGraph.prototype.escapeEnabled = !0;
-mxGraph.prototype.invokesStopCellEditing = !0;
-mxGraph.prototype.enterStopsCellEditing = !1;
-mxGraph.prototype.useScrollbarsForPanning = !0;
-mxGraph.prototype.exportEnabled = !0;
-mxGraph.prototype.importEnabled = !0;
-mxGraph.prototype.cellsLocked = !1;
-mxGraph.prototype.cellsCloneable = !0;
-mxGraph.prototype.foldingEnabled = !0;
-mxGraph.prototype.cellsEditable = !0;
-mxGraph.prototype.cellsDeletable = !0;
-mxGraph.prototype.cellsMovable = !0;
-mxGraph.prototype.edgeLabelsMovable = !0;
-mxGraph.prototype.vertexLabelsMovable = !1;
-mxGraph.prototype.dropEnabled = !1;
-mxGraph.prototype.splitEnabled = !0;
-mxGraph.prototype.cellsResizable = !0;
-mxGraph.prototype.cellsBendable = !0;
-mxGraph.prototype.cellsSelectable = !0;
-mxGraph.prototype.cellsDisconnectable = !0;
-mxGraph.prototype.autoSizeCells = !1;
-mxGraph.prototype.autoScroll = !0;
-mxGraph.prototype.timerAutoScroll = !1;
-mxGraph.prototype.allowAutoPanning = !1;
-mxGraph.prototype.ignoreScrollbars = !1;
-mxGraph.prototype.autoExtend = !0;
-mxGraph.prototype.maximumGraphBounds = null;
-mxGraph.prototype.minimumGraphSize = null;
-mxGraph.prototype.minimumContainerSize = null;
-mxGraph.prototype.maximumContainerSize = null;
-mxGraph.prototype.resizeContainer = !1;
-mxGraph.prototype.border = 0;
-mxGraph.prototype.ordered = !0;
-mxGraph.prototype.keepEdgesInForeground = !1;
-mxGraph.prototype.keepEdgesInBackground = !0;
-mxGraph.prototype.allowNegativeCoordinates = !0;
-mxGraph.prototype.constrainChildren = !0;
-mxGraph.prototype.extendParents = !0;
-mxGraph.prototype.extendParentsOnAdd = !0;
-mxGraph.prototype.collapseToPreferredSize = !0;
-mxGraph.prototype.zoomFactor = 1.2;
-mxGraph.prototype.keepSelectionVisibleOnZoom = !1;
-mxGraph.prototype.centerZoom = !0;
-mxGraph.prototype.resetViewOnRootChange = !0;
-mxGraph.prototype.resetEdgesOnResize = !1;
-mxGraph.prototype.resetEdgesOnMove = !1;
-mxGraph.prototype.resetEdgesOnConnect = !0;
-mxGraph.prototype.allowLoops = !1;
-mxGraph.prototype.defaultLoopStyle = mxEdgeStyle.Loop;
-mxGraph.prototype.multigraph = !0;
-mxGraph.prototype.connectableEdges = !1;
-mxGraph.prototype.allowDanglingEdges = !0;
-mxGraph.prototype.cloneInvalidEdges = !1;
-mxGraph.prototype.disconnectOnMove = !0;
-mxGraph.prototype.labelsVisible = !0;
-mxGraph.prototype.htmlLabels = !1;
-mxGraph.prototype.swimlaneSelectionEnabled = !0;
-mxGraph.prototype.swimlaneNesting = !0;
-mxGraph.prototype.swimlaneIndicatorColorAttribute = mxConstants.STYLE_FILLCOLOR;
-mxGraph.prototype.imageBundles = null;
-mxGraph.prototype.minFitScale = 0.1;
-mxGraph.prototype.maxFitScale = 8;
-mxGraph.prototype.panDx = 0;
-mxGraph.prototype.panDy = 0;
-mxGraph.prototype.collapsedImage = new mxImage(mxClient.imageBasePath + "/collapsed.gif", 9, 9);
-mxGraph.prototype.expandedImage = new mxImage(mxClient.imageBasePath + "/expanded.gif", 9, 9);
-// mxGraph.prototype.warningImage = new mxImage(mxClient.imageBasePath + "/warning" + (mxClient.IS_MAC ? ".png" : ".gif"), 16, 16);
-mxGraph.prototype.warningImage = new mxImage("/assets/plugins/mxgraph/images/warning.gif", 16, 16);
-
-
-mxGraph.prototype.alreadyConnectedResource = "none" != mxClient.language ? "alreadyConnected" : "";
-mxGraph.prototype.containsValidationErrorsResource = "none" != mxClient.language ? "containsValidationErrors" : "";
-mxGraph.prototype.collapseExpandResource = "none" != mxClient.language ? "collapse-expand" : "";
-mxGraph.prototype.init = function(a) {
- this.container = a;
- this.cellEditor = this.createCellEditor();
- this.view.init();
- this.sizeDidChange();
- mxClient.IS_IE && (mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
- this.destroy()
- })), mxEvent.addListener(a, "selectstart", mxUtils.bind(this, function() {
- return this.isEditing()
- })));
- 8 == document.documentMode && a.insertAdjacentHTML("beforeend", '\x3cv:group style\x3d"DISPLAY: none;"\x3e\x3c/v:group\x3e')
-};
-mxGraph.prototype.createHandlers = function(a) {
- this.tooltipHandler = new mxTooltipHandler(this);
- this.tooltipHandler.setEnabled(!1);
- this.panningHandler = new mxPanningHandler(this);
- this.panningHandler.panningEnabled = !1;
- this.selectionCellsHandler = new mxSelectionCellsHandler(this);
- this.connectionHandler = new mxConnectionHandler(this);
- this.connectionHandler.setEnabled(!1);
- this.graphHandler = new mxGraphHandler(this)
-};
-mxGraph.prototype.createSelectionModel = function() {
- return new mxGraphSelectionModel(this)
-};
-mxGraph.prototype.createStylesheet = function() {
- return new mxStylesheet
-};
-mxGraph.prototype.createGraphView = function() {
- return new mxGraphView(this)
-};
-mxGraph.prototype.createCellRenderer = function() {
- return new mxCellRenderer
-};
-mxGraph.prototype.createCellEditor = function() {
- return new mxCellEditor(this)
-};
-mxGraph.prototype.getModel = function() {
- return this.model
-};
-mxGraph.prototype.getView = function() {
- return this.view
-};
-mxGraph.prototype.getStylesheet = function() {
- return this.stylesheet
-};
-mxGraph.prototype.setStylesheet = function(a) {
- this.stylesheet = a
-};
-mxGraph.prototype.getSelectionModel = function() {
- return this.selectionModel
-};
-mxGraph.prototype.setSelectionModel = function(a) {
- this.selectionModel = a
-};
-mxGraph.prototype.getSelectionCellsForChanges = function(a) {
- for (var b = [], c = 0; c < a.length; c++) {
- var d = a[c];
- if (d.constructor != mxRootChange) {
- var e = null;
- d instanceof mxChildChange && null == d.previous ? e = d.child : null != d.cell && d.cell instanceof mxCell && (e = d.cell);
- null != e && 0 > mxUtils.indexOf(b, e) && b.push(e)
- }
- }
- return this.getModel().getTopmostCells(b)
-};
-mxGraph.prototype.graphModelChanged = function(a) {
- for (var b = 0; b < a.length; b++) this.processChange(a[b]);
- this.removeSelectionCells(this.getRemovedCellsForChanges(a));
- this.view.validate();
- this.sizeDidChange()
-};
-mxGraph.prototype.getRemovedCellsForChanges = function(a) {
- for (var b = [], c = 0; c < a.length; c++) {
- var d = a[c];
- if (d instanceof mxRootChange) break;
- else d instanceof mxChildChange ? null != d.previous && null == d.parent && (b = b.concat(this.model.getDescendants(d.child))) : d instanceof mxVisibleChange && (b = b.concat(this.model.getDescendants(
- d.cell)))
- }
- return b
-};
-mxGraph.prototype.processChange = function(a) {
- if (a instanceof mxRootChange) this.clearSelection(), this.removeStateForCell(a.previous), this.resetViewOnRootChange && (this.view.scale = 1, this.view.translate.x = 0, this.view.translate.y = 0),
- this.fireEvent(new mxEventObject(mxEvent.ROOT));
- else if (a instanceof mxChildChange) {
- var b = this.model.getParent(a.child);
- null != b ? this.view.invalidate(a.child, !0, !1, null != a.previous) : (this.removeStateForCell(a.child), this.view.currentRoot == a.child && this.home());
- b != a.previous &&
- (null != b && this.view.invalidate(b, !1, !1), null != a.previous && this.view.invalidate(a.previous, !1, !1))
- } else a instanceof mxTerminalChange || a instanceof mxGeometryChange ? this.view.invalidate(a.cell) : a instanceof mxValueChange ? this.view.invalidate(a.cell, !1, !1) : a instanceof mxStyleChange ?
- (this.view.invalidate(a.cell, !0, !0, !1), this.view.removeState(a.cell)) : null != a.cell && a.cell instanceof mxCell && this.removeStateForCell(a.cell)
-};
-mxGraph.prototype.removeStateForCell = function(a) {
- for (var b = this.model.getChildCount(a), c = 0; c < b; c++) this.removeStateForCell(this.model.getChildAt(a, c));
- this.view.removeState(a)
-};
-mxGraph.prototype.addCellOverlay = function(a, b) {
- null == a.overlays && (a.overlays = []);
- a.overlays.push(b);
- var c = this.view.getState(a);
- null != c && this.cellRenderer.redraw(c);
- this.fireEvent(new mxEventObject(mxEvent.ADD_OVERLAY, "cell", a, "overlay", b));
- return b
-};
-mxGraph.prototype.getCellOverlays = function(a) {
- return a.overlays
-};
-mxGraph.prototype.removeCellOverlay = function(a, b) {
- if (null == b) this.removeCellOverlays(a);
- else {
- var c = mxUtils.indexOf(a.overlays, b);
- 0 <= c ? (a.overlays.splice(c, 1), 0 == a.overlays.length && (a.overlays = null), c = this.view.getState(a), null != c && this.cellRenderer.redraw(c), this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY,
- "cell", a, "overlay", b))) : b = null
- }
- return b
-};
-mxGraph.prototype.removeCellOverlays = function(a) {
- var b = a.overlays;
- if (null != b) {
- a.overlays = null;
- var c = this.view.getState(a);
- null != c && this.cellRenderer.redraw(c);
- for (c = 0; c < b.length; c++) this.fireEvent(new mxEventObject(mxEvent.REMOVE_OVERLAY, "cell", a, "overlay", b[c]))
- }
- return b
-};
-mxGraph.prototype.clearCellOverlays = function(a) {
- a = null != a ? a : this.model.getRoot();
- this.removeCellOverlays(a);
- for (var b = this.model.getChildCount(a), c = 0; c < b; c++) {
- var d = this.model.getChildAt(a, c);
- this.clearCellOverlays(d)
- }
-};
-mxGraph.prototype.setCellWarning = function(a, b, c, d) {
- if (null != b && 0 < b.length) return c = null != c ? c : this.warningImage, b = new mxCellOverlay(c, "\x3cfont color\x3dred\x3e" + b + "\x3c/font\x3e"), d && b.addListener(mxEvent.CLICK, mxUtils
- .bind(this, function(b, c) {
- this.isEnabled() && this.setSelectionCell(a)
- })), this.addCellOverlay(a, b);
- this.removeCellOverlays(a);
- return null
-};
-mxGraph.prototype.startEditing = function(a) {
- this.startEditingAtCell(null, a)
-};
-mxGraph.prototype.startEditingAtCell = function(a, b) {
- null == a && (a = this.getSelectionCell(), null != a && !this.isCellEditable(a) && (a = null));
- null != a && (this.fireEvent(new mxEventObject(mxEvent.START_EDITING, "cell", a, "event", b)), this.cellEditor.startEditing(a, b))
-};
-mxGraph.prototype.getEditingValue = function(a, b) {
- return this.convertValueToString(a)
-};
-mxGraph.prototype.stopEditing = function(a) {
- this.cellEditor.stopEditing(a)
-};
-mxGraph.prototype.labelChanged = function(a, b, c) {
- this.model.beginUpdate();
- try {
- this.cellLabelChanged(a, b, this.isAutoSizeCell(a)), this.fireEvent(new mxEventObject(mxEvent.LABEL_CHANGED, "cell", a, "value", b, "event", c))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cellLabelChanged = function(a, b, c) {
- this.model.beginUpdate();
- try {
- this.model.setValue(a, b), c && this.cellSizeUpdated(a, !1)
- } finally {
- this.model.endUpdate()
- }
-};
-mxGraph.prototype.escape = function(a) {
- this.stopEditing(!0);
- this.connectionHandler.reset();
- this.graphHandler.reset();
- a = this.getSelectionCells();
- for (var b = 0; b < a.length; b++) {
- var c = this.view.getState(a[b]);
- null != c && null != c.handler && c.handler.reset()
- }
-};
-mxGraph.prototype.click = function(a) {
- var b = a.getEvent(),
- c = a.getCell(),
- d = new mxEventObject(mxEvent.CLICK, "event", b, "cell", c);
- a.isConsumed() && d.consume();
- this.fireEvent(d);
- this.isEnabled() && (!mxEvent.isConsumed(b) && !d.isConsumed()) && (null != c ? this.selectCellForEvent(c, b) : (c = null, this.isSwimlaneSelectionEnabled() && (c = this.getSwimlaneAt(a.getGraphX(),
- a.getGraphY())), null != c ? this.selectCellForEvent(c, b) : this.isToggleEvent(b) || this.clearSelection()))
-};
-mxGraph.prototype.dblClick = function(a, b) {
- var c = new mxEventObject(mxEvent.DOUBLE_CLICK, "event", a, "cell", b);
- this.fireEvent(c);
- this.isEnabled() && (!mxEvent.isConsumed(a) && !c.isConsumed() && null != b && this.isCellEditable(b)) && this.startEditingAtCell(b, a)
-};
-mxGraph.prototype.scrollPointToVisible = function(a, b, c, d) {
- if (!this.timerAutoScroll && (this.ignoreScrollbars || mxUtils.hasScrollbars(this.container))) {
- var e = this.container;
- d = null != d ? d : 20;
- if (a >= e.scrollLeft && b >= e.scrollTop && a <= e.scrollLeft + e.clientWidth && b <= e.scrollTop + e.clientHeight) {
- var f = e.scrollLeft + e.clientWidth - a;
- if (f < d) {
- if (a = e.scrollLeft, e.scrollLeft += d - f, c && a == e.scrollLeft) {
- if (this.dialect == mxConstants.DIALECT_SVG) {
- a = this.view.getDrawPane().ownerSVGElement;
- var g = this.container.scrollWidth + d - f
- } else g =
- Math.max(e.clientWidth, e.scrollWidth) + d - f, a = this.view.getCanvas();
- a.style.width = g + "px";
- e.scrollLeft += d - f
- }
- } else f = a - e.scrollLeft, f < d && (e.scrollLeft -= d - f);
- f = e.scrollTop + e.clientHeight - b;
- f < d ? (a = e.scrollTop, e.scrollTop += d - f, a == e.scrollTop && c && (this.dialect == mxConstants.DIALECT_SVG ? (a = this.view.getDrawPane().ownerSVGElement, b = this.container.scrollHeight +
- d - f) : (b = Math.max(e.clientHeight, e.scrollHeight) + d - f, a = this.view.getCanvas()), a.style.height = b + "px", e.scrollTop += d - f)) : (f = b - e.scrollTop, f < d && (e.scrollTop -=
- d - f))
- }
- } else this.allowAutoPanning && !this.panningHandler.active && (null == this.panningManager && (this.panningManager = this.createPanningManager()), this.panningManager.panTo(a + this.panDx, b +
- this.panDy))
-};
-mxGraph.prototype.createPanningManager = function() {
- return new mxPanningManager(this)
-};
-mxGraph.prototype.getBorderSizes = function() {
- function a(a) {
- var b = 0,
- b = "thin" == a ? 2 : "medium" == a ? 4 : "thick" == a ? 6 : parseInt(a);
- isNaN(b) && (b = 0);
- return b
- }
- var b = mxUtils.getCurrentStyle(this.container),
- c = new mxRectangle;
- c.x = a(b.borderLeftWidth) + parseInt(b.paddingLeft || 0);
- c.y = a(b.borderTopWidth) + parseInt(b.paddingTop || 0);
- c.width = a(b.borderRightWidth) + parseInt(b.paddingRight || 0);
- c.height = a(b.borderBottomWidth) + parseInt(b.paddingBottom || 0);
- return c
-};
-mxGraph.prototype.getPreferredPageSize = function(a, b, c) {
- a = this.view.scale;
- var d = this.view.translate,
- e = this.pageFormat,
- f = a * this.pageScale,
- e = new mxRectangle(0, 0, e.width * f, e.height * f);
- b = this.pageBreaksVisible ? Math.ceil(b / e.width) : 1;
- c = this.pageBreaksVisible ? Math.ceil(c / e.height) : 1;
- return new mxRectangle(0, 0, b * e.width + 2 + d.x / a, c * e.height + 2 + d.y / a)
-};
-mxGraph.prototype.sizeDidChange = function() {
- var a = this.getGraphBounds();
- if (null != this.container) {
- var b = this.getBorder(),
- c = Math.max(0, a.x + a.width + 1 + b),
- b = Math.max(0, a.y + a.height + 1 + b);
- null != this.minimumContainerSize && (c = Math.max(c, this.minimumContainerSize.width), b = Math.max(b, this.minimumContainerSize.height));
- this.resizeContainer && this.doResizeContainer(c, b);
- if (this.preferPageSize || !mxClient.IS_IE && this.pageVisible) {
- var d = this.getPreferredPageSize(a, c, b);
- null != d && (c = d.width, b = d.height)
- }
- null != this.minimumGraphSize &&
- (c = Math.max(c, this.minimumGraphSize.width * this.view.scale), b = Math.max(b, this.minimumGraphSize.height * this.view.scale));
- c = Math.ceil(c - 1);
- b = Math.ceil(b - 1);
- this.dialect == mxConstants.DIALECT_SVG ? (d = this.view.getDrawPane().ownerSVGElement, d.style.minWidth = Math.max(1, c) + "px", d.style.minHeight = Math.max(1, b) + "px", d.style.width =
- "100%", d.style.height = "100%") : mxClient.IS_QUIRKS ? this.view.updateHtmlCanvasSize(Math.max(1, c), Math.max(1, b)) : (this.view.canvas.style.minWidth = Math.max(1, c) + "px", this.view.canvas
- .style.minHeight =
- Math.max(1, b) + "px");
- this.updatePageBreaks(this.pageBreaksVisible, c - 1, b - 1)
- }
- this.fireEvent(new mxEventObject(mxEvent.SIZE, "bounds", a))
-};
-mxGraph.prototype.doResizeContainer = function(a, b) {
- if (mxClient.IS_IE)
- if (mxClient.IS_QUIRKS) {
- var c = this.getBorderSizes();
- a += Math.max(2, c.x + c.width + 1);
- b += Math.max(2, c.y + c.height + 1)
- } else 9 <= document.documentMode ? (a += 3, b += 5) : (a += 1, b += 1);
- else b += 1;
- null != this.maximumContainerSize && (a = Math.min(this.maximumContainerSize.width, a), b = Math.min(this.maximumContainerSize.height, b));
- this.container.style.width = Math.ceil(a) + "px";
- this.container.style.height = Math.ceil(b) + "px"
-};
-mxGraph.prototype.updatePageBreaks = function(a, b, c) {
- var d = this.view.scale,
- e = this.view.translate,
- f = this.pageFormat,
- g = d * this.pageScale,
- e = new mxRectangle(d * e.x, d * e.y, f.width * g, f.height * g);
- a = a && Math.min(e.width, e.height) > this.minPageBreakDist;
- e.x = mxUtils.mod(e.x, e.width);
- e.y = mxUtils.mod(e.y, e.height);
- f = a ? Math.ceil((b - e.x) / e.width) : 0;
- a = a ? Math.ceil((c - e.y) / e.height) : 0;
- null == this.horizontalPageBreaks && 0 < f && (this.horizontalPageBreaks = []);
- if (null != this.horizontalPageBreaks) {
- for (g = 0; g <= f; g++) {
- var h = [new mxPoint(e.x +
- g * e.width, 1), new mxPoint(e.x + g * e.width, c)];
- null != this.horizontalPageBreaks[g] ? (this.horizontalPageBreaks[g].scale = 1, this.horizontalPageBreaks[g].points = h, this.horizontalPageBreaks[g].redraw()) : (h = new mxPolyline(h, this.pageBreakColor,
- this.scale), h.dialect = this.dialect, h.isDashed = this.pageBreakDashed, h.scale = d, h.init(this.view.backgroundPane), h.redraw(), this.horizontalPageBreaks[g] = h)
- }
- for (g = f; g < this.horizontalPageBreaks.length; g++) this.horizontalPageBreaks[g].destroy();
- this.horizontalPageBreaks.splice(f,
- this.horizontalPageBreaks.length - f)
- }
- null == this.verticalPageBreaks && 0 < a && (this.verticalPageBreaks = []);
- if (null != this.verticalPageBreaks) {
- for (g = 0; g <= a; g++) h = [new mxPoint(1, e.y + g * e.height), new mxPoint(b, e.y + g * e.height)], null != this.verticalPageBreaks[g] ? (this.verticalPageBreaks[g].scale = 1, this.verticalPageBreaks[
- g].points = h, this.verticalPageBreaks[g].redraw()) : (h = new mxPolyline(h, this.pageBreakColor, d), h.dialect = this.dialect, h.isDashed = this.pageBreakDashed, h.scale = d, h.init(this.view
- .backgroundPane), h.redraw(),
- this.verticalPageBreaks[g] = h);
- for (g = a; g < this.verticalPageBreaks.length; g++) this.verticalPageBreaks[g].destroy();
- this.verticalPageBreaks.splice(a, this.verticalPageBreaks.length - a)
- }
-};
-mxGraph.prototype.getCellStyle = function(a) {
- var b = this.model.getStyle(a),
- c = null,
- c = this.model.isEdge(a) ? this.stylesheet.getDefaultEdgeStyle() : this.stylesheet.getDefaultVertexStyle();
- null != b && (c = this.postProcessCellStyle(this.stylesheet.getCellStyle(b, c)));
- null == c && (c = mxGraph.prototype.EMPTY_ARRAY);
- return c
-};
-mxGraph.prototype.postProcessCellStyle = function(a) {
- if (null != a) {
- var b = a[mxConstants.STYLE_IMAGE],
- c = this.getImageFromBundles(b);
- null != c ? a[mxConstants.STYLE_IMAGE] = c : c = b;
- null != c && "data:image/" == c.substring(0, 11) && (b = c.indexOf(","), 0 < b && (c = c.substring(0, b) + ";base64," + c.substring(b + 1)), a[mxConstants.STYLE_IMAGE] = c)
- }
- return a
-};
-mxGraph.prototype.setCellStyle = function(a, b) {
- b = b || this.getSelectionCells();
- if (null != b) {
- this.model.beginUpdate();
- try {
- for (var c = 0; c < b.length; c++) this.model.setStyle(b[c], a)
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.toggleCellStyle = function(a, b, c) {
- c = c || this.getSelectionCell();
- this.toggleCellStyles(a, b, [c])
-};
-mxGraph.prototype.toggleCellStyles = function(a, b, c) {
- b = null != b ? b : !1;
- c = c || this.getSelectionCells();
- if (null != c && 0 < c.length) {
- var d = this.view.getState(c[0]),
- d = null != d ? d.style : this.getCellStyle(c[0]);
- null != d && (b = mxUtils.getValue(d, a, b) ? 0 : 1, this.setCellStyles(a, b, c))
- }
-};
-mxGraph.prototype.setCellStyles = function(a, b, c) {
- c = c || this.getSelectionCells();
- mxUtils.setCellStyles(this.model, c, a, b)
-};
-mxGraph.prototype.toggleCellStyleFlags = function(a, b, c) {
- this.setCellStyleFlags(a, b, null, c)
-};
-mxGraph.prototype.setCellStyleFlags = function(a, b, c, d) {
- d = d || this.getSelectionCells();
- if (null != d && 0 < d.length) {
- if (null == c) {
- var e = this.view.getState(d[0]),
- e = null != e ? e.style : this.getCellStyle(d[0]);
- null != e && (c = (parseInt(e[a] || 0) & b) != b)
- }
- mxUtils.setCellStyleFlags(this.model, d, a, b, c)
- }
-};
-mxGraph.prototype.alignCells = function(a, b, c) {
- null == b && (b = this.getSelectionCells());
- if (null != b && 1 < b.length) {
- if (null == c)
- for (var d = 0; d < b.length; d++) {
- var e = this.getCellGeometry(b[d]);
- if (null != e && !this.model.isEdge(b[d]))
- if (null == c)
- if (a == mxConstants.ALIGN_CENTER) {
- c = e.x + e.width / 2;
- break
- } else if (a == mxConstants.ALIGN_RIGHT) c = e.x + e.width;
- else if (a == mxConstants.ALIGN_TOP) c = e.y;
- else if (a == mxConstants.ALIGN_MIDDLE) {
- c = e.y + e.height / 2;
- break
- } else c = a == mxConstants.ALIGN_BOTTOM ? e.y + e.height : e.x;
- else c = a == mxConstants.ALIGN_RIGHT ?
- Math.max(c, e.x + e.width) : a == mxConstants.ALIGN_TOP ? Math.min(c, e.y) : a == mxConstants.ALIGN_BOTTOM ? Math.max(c, e.y + e.height) : Math.min(c, e.x)
- }
- if (null != c) {
- this.model.beginUpdate();
- try {
- for (d = 0; d < b.length; d++) e = this.getCellGeometry(b[d]), null != e && !this.model.isEdge(b[d]) && (e = e.clone(), a == mxConstants.ALIGN_CENTER ? e.x = c - e.width / 2 : a ==
- mxConstants.ALIGN_RIGHT ? e.x = c - e.width : a == mxConstants.ALIGN_TOP ? e.y = c : a == mxConstants.ALIGN_MIDDLE ? e.y = c - e.height / 2 : a == mxConstants.ALIGN_BOTTOM ? e.y = c - e
- .height : e.x = c, this.model.setGeometry(b[d],
- e));
- this.fireEvent(new mxEventObject(mxEvent.ALIGN_CELLS, "align", a, "cells", b))
- } finally {
- this.model.endUpdate()
- }
- }
- }
- return b
-};
-mxGraph.prototype.flipEdge = function(a) {
- if (null != a && null != this.alternateEdgeStyle) {
- this.model.beginUpdate();
- try {
- var b = this.model.getStyle(a);
- null == b || 0 == b.length ? this.model.setStyle(a, this.alternateEdgeStyle) : this.model.setStyle(a, null);
- this.resetEdge(a);
- this.fireEvent(new mxEventObject(mxEvent.FLIP_EDGE, "edge", a))
- } finally {
- this.model.endUpdate()
- }
- }
- return a
-};
-mxGraph.prototype.addImageBundle = function(a) {
- this.imageBundles.push(a)
-};
-mxGraph.prototype.removeImageBundle = function(a) {
- for (var b = [], c = 0; c < this.imageBundles.length; c++) this.imageBundles[c] != a && b.push(this.imageBundles[c]);
- this.imageBundles = b
-};
-mxGraph.prototype.getImageFromBundles = function(a) {
- if (null != a)
- for (var b = 0; b < this.imageBundles.length; b++) {
- var c = this.imageBundles[b].getImage(a);
- if (null != c) return c
- }
- return null
-};
-mxGraph.prototype.orderCells = function(a, b) {
- null == b && (b = mxUtils.sortCells(this.getSelectionCells(), !0));
- this.model.beginUpdate();
- try {
- this.cellsOrdered(b, a), this.fireEvent(new mxEventObject(mxEvent.ORDER_CELLS, "back", a, "cells", b))
- } finally {
- this.model.endUpdate()
- }
- return b
-};
-mxGraph.prototype.cellsOrdered = function(a, b) {
- if (null != a) {
- this.model.beginUpdate();
- try {
- for (var c = 0; c < a.length; c++) {
- var d = this.model.getParent(a[c]);
- b ? this.model.add(d, a[c], c) : this.model.add(d, a[c], this.model.getChildCount(d) - 1)
- }
- this.fireEvent(new mxEventObject(mxEvent.CELLS_ORDERED, "back", b, "cells", a))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.groupCells = function(a, b, c) {
- null == c && (c = mxUtils.sortCells(this.getSelectionCells(), !0));
- c = this.getCellsForGroup(c);
- null == a && (a = this.createGroupCell(c));
- var d = this.getBoundsForGroup(a, c, b);
- if (0 < c.length && null != d) {
- var e = this.model.getParent(a);
- null == e && (e = this.model.getParent(c[0]));
- this.model.beginUpdate();
- try {
- null == this.getCellGeometry(a) && this.model.setGeometry(a, new mxGeometry);
- var f = this.model.getChildCount(e);
- this.cellsAdded([a], e, f, null, null, !1);
- f = this.model.getChildCount(a);
- this.cellsAdded(c, a, f, null, null, !1, !1);
- this.cellsMoved(c, -d.x, -d.y, !1, !0);
- this.cellsResized([a], [d]);
- this.fireEvent(new mxEventObject(mxEvent.GROUP_CELLS, "group", a, "border", b, "cells", c))
- } finally {
- this.model.endUpdate()
- }
- }
- return a
-};
-mxGraph.prototype.getCellsForGroup = function(a) {
- var b = [];
- if (null != a && 0 < a.length) {
- var c = this.model.getParent(a[0]);
- b.push(a[0]);
- for (var d = 1; d < a.length; d++) this.model.getParent(a[d]) == c && b.push(a[d])
- }
- return b
-};
-mxGraph.prototype.getBoundsForGroup = function(a, b, c) {
- b = this.getBoundingBoxFromGeometry(b);
- null != b && (this.isSwimlane(a) && (a = this.getStartSize(a), b.x -= a.width, b.y -= a.height, b.width += a.width, b.height += a.height), b.x -= c, b.y -= c, b.width += 2 * c, b.height += 2 * c);
- return b
-};
-mxGraph.prototype.createGroupCell = function(a) {
- a = new mxCell("");
- a.setVertex(!0);
- a.setConnectable(!1);
- return a
-};
-mxGraph.prototype.ungroupCells = function(a) {
- var b = [];
- if (null == a) {
- a = this.getSelectionCells();
- for (var c = [], d = 0; d < a.length; d++) 0 < this.model.getChildCount(a[d]) && c.push(a[d]);
- a = c
- }
- if (null != a && 0 < a.length) {
- this.model.beginUpdate();
- try {
- for (d = 0; d < a.length; d++) {
- var e = this.model.getChildren(a[d]);
- if (null != e && 0 < e.length) {
- var e = e.slice(),
- f = this.model.getParent(a[d]),
- g = this.model.getChildCount(f);
- this.cellsAdded(e, f, g, null, null, !0);
- b = b.concat(e)
- }
- }
- this.cellsRemoved(this.addAllEdges(a));
- this.fireEvent(new mxEventObject(mxEvent.UNGROUP_CELLS,
- "cells", a))
- } finally {
- this.model.endUpdate()
- }
- }
- return b
-};
-mxGraph.prototype.removeCellsFromParent = function(a) {
- null == a && (a = this.getSelectionCells());
- this.model.beginUpdate();
- try {
- var b = this.getDefaultParent(),
- c = this.model.getChildCount(b);
- this.cellsAdded(a, b, c, null, null, !0);
- this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS_FROM_PARENT, "cells", a))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.updateGroupBounds = function(a, b, c) {
- null == a && (a = this.getSelectionCells());
- b = null != b ? b : 0;
- c = null != c ? c : !1;
- this.model.beginUpdate();
- try {
- for (var d = 0; d < a.length; d++) {
- var e = this.getCellGeometry(a[d]);
- if (null != e) {
- var f = this.getChildCells(a[d]);
- if (null != f && 0 < f.length) {
- var g = this.getBoundingBoxFromGeometry(f);
- if (0 < g.width && 0 < g.height) {
- var h = this.isSwimlane(a[d]) ? this.getStartSize(a[d]) : new mxRectangle,
- e = e.clone();
- c && (e.x += g.x - h.width - b, e.y += g.y - h.height - b);
- e.width = g.width + h.width + 2 * b;
- e.height =
- g.height + h.height + 2 * b;
- this.model.setGeometry(a[d], e);
- this.moveCells(f, -g.x + h.width + b, -g.y + h.height + b)
- }
- }
- }
- }
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cloneCells = function(a, b) {
- b = null != b ? b : !0;
- var c = null;
- if (null != a) {
- for (var d = {}, c = [], e = 0; e < a.length; e++) {
- var f = mxCellPath.create(a[e]);
- d[f] = a[e];
- c.push(a[e])
- }
- if (0 < c.length)
- for (var f = this.view.scale, g = this.view.translate, c = this.model.cloneCells(a, !0), e = 0; e < a.length; e++)
- if (!b && this.model.isEdge(c[e]) && null != this.getEdgeValidationError(c[e], this.model.getTerminal(c[e], !0), this.model.getTerminal(c[e], !1))) c[e] = null;
- else {
- var h = this.model.getGeometry(c[e]);
- if (null != h) {
- var k = this.view.getState(a[e]),
- l = this.view.getState(this.model.getParent(a[e]));
- if (null != k && null != l) {
- var m = l.origin.x,
- l = l.origin.y;
- if (this.model.isEdge(c[e])) {
- for (var k = k.absolutePoints, n = this.model.getTerminal(a[e], !0), p = mxCellPath.create(n); null != n && null == d[p];) n = this.model.getParent(n), p = mxCellPath.create(n);
- null == n && h.setTerminalPoint(new mxPoint(k[0].x / f - g.x, k[0].y / f - g.y), !0);
- n = this.model.getTerminal(a[e], !1);
- for (p = mxCellPath.create(n); null != n && null == d[p];) n = this.model.getParent(n), p = mxCellPath.create(n);
- null == n && (n = k.length -
- 1, h.setTerminalPoint(new mxPoint(k[n].x / f - g.x, k[n].y / f - g.y), !1));
- h = h.points;
- if (null != h)
- for (k = 0; k < h.length; k++) h[k].x += m, h[k].y += l
- } else h.x += m, h.y += l
- }
- }
- } else c = []
- }
- return c
-};
-mxGraph.prototype.insertVertex = function(a, b, c, d, e, f, g, h, k) {
- b = this.createVertex(a, b, c, d, e, f, g, h, k);
- return this.addCell(b, a)
-};
-mxGraph.prototype.createVertex = function(a, b, c, d, e, f, g, h, k) {
- a = new mxGeometry(d, e, f, g);
- a.relative = null != k ? k : !1;
- c = new mxCell(c, a, h);
- c.setId(b);
- c.setVertex(!0);
- c.setConnectable(!0);
- return c
-};
-mxGraph.prototype.insertEdge = function(a, b, c, d, e, f) {
- b = this.createEdge(a, b, c, d, e, f);
- return this.addEdge(b, a, d, e)
-};
-mxGraph.prototype.createEdge = function(a, b, c, d, e, f) {
- a = new mxCell(c, new mxGeometry, f);
- a.setId(b);
- a.setEdge(!0);
- a.geometry.relative = !0;
- return a
-};
-mxGraph.prototype.addEdge = function(a, b, c, d, e) {
- return this.addCell(a, b, e, c, d)
-};
-mxGraph.prototype.addCell = function(a, b, c, d, e) {
- return this.addCells([a], b, c, d, e)[0]
-};
-mxGraph.prototype.addCells = function(a, b, c, d, e) {
- null == b && (b = this.getDefaultParent());
- null == c && (c = this.model.getChildCount(b));
- this.model.beginUpdate();
- try {
- this.cellsAdded(a, b, c, d, e, !1, !0), this.fireEvent(new mxEventObject(mxEvent.ADD_CELLS, "cells", a, "parent", b, "index", c, "source", d, "target", e))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cellsAdded = function(a, b, c, d, e, f, g) {
- if (null != a && null != b && null != c) {
- this.model.beginUpdate();
- try {
- for (var h = f ? this.view.getState(b) : null, k = null != h ? h.origin : null, l = new mxPoint(0, 0), h = 0; h < a.length; h++)
- if (null == a[h]) c--;
- else {
- var m = this.model.getParent(a[h]);
- if (null != k && a[h] != b && b != m) {
- var n = this.view.getState(m),
- p = null != n ? n.origin : l,
- q = this.model.getGeometry(a[h]);
- if (null != q) {
- var s = p.x - k.x,
- r = p.y - k.y,
- q = q.clone();
- q.translate(s, r);
- !q.relative && (this.model.isVertex(a[h]) && !this.isAllowNegativeCoordinates()) &&
- (q.x = Math.max(0, q.x), q.y = Math.max(0, q.y));
- this.model.setGeometry(a[h], q)
- }
- }
- b == m && c + h > this.model.getChildCount(b) && c--;
- this.model.add(b, a[h], c + h);
- this.isExtendParentsOnAdd() && this.isExtendParent(a[h]) && this.extendParent(a[h]);
- (null == g || g) && this.constrainChild(a[h]);
- null != d && this.cellConnected(a[h], d, !0);
- null != e && this.cellConnected(a[h], e, !1)
- }
- this.fireEvent(new mxEventObject(mxEvent.CELLS_ADDED, "cells", a, "parent", b, "index", c, "source", d, "target", e, "absolute", f))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.removeCells = function(a, b) {
- b = null != b ? b : !0;
- null == a && (a = this.getDeletableCells(this.getSelectionCells()));
- b && (a = this.getDeletableCells(this.addAllEdges(a)));
- this.model.beginUpdate();
- try {
- this.cellsRemoved(a), this.fireEvent(new mxEventObject(mxEvent.REMOVE_CELLS, "cells", a, "includeEdges", b))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cellsRemoved = function(a) {
- if (null != a && 0 < a.length) {
- var b = this.view.scale,
- c = this.view.translate;
- this.model.beginUpdate();
- try {
- for (var d = {}, e = 0; e < a.length; e++) {
- var f = mxCellPath.create(a[e]);
- d[f] = a[e]
- }
- for (e = 0; e < a.length; e++) {
- for (var g = this.getConnections(a[e]), h = 0; h < g.length; h++)
- if (f = mxCellPath.create(g[h]), null == d[f]) {
- var k = this.model.getGeometry(g[h]);
- if (null != k) {
- var l = this.view.getState(g[h]);
- if (null != l) {
- var k = k.clone(),
- m = l.getVisibleTerminal(!0) == a[e],
- n = l.absolutePoints,
- p = m ? 0 : n.length -
- 1;
- k.setTerminalPoint(new mxPoint(n[p].x / b - c.x, n[p].y / b - c.y), m);
- this.model.setTerminal(g[h], null, m);
- this.model.setGeometry(g[h], k)
- }
- }
- }
- this.model.remove(a[e])
- }
- this.fireEvent(new mxEventObject(mxEvent.CELLS_REMOVED, "cells", a))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.splitEdge = function(a, b, c, d, e) {
- d = d || 0;
- e = e || 0;
- null == c && (c = this.cloneCells([a])[0]);
- var f = this.model.getParent(a),
- g = this.model.getTerminal(a, !0);
- this.model.beginUpdate();
- try {
- this.cellsMoved(b, d, e, !1, !1), this.cellsAdded(b, f, this.model.getChildCount(f), null, null, !0), this.cellsAdded([c], f, this.model.getChildCount(f), g, b[0], !1), this.cellConnected(a, b[
- 0], !0), this.fireEvent(new mxEventObject(mxEvent.SPLIT_EDGE, "edge", a, "cells", b, "newEdge", c, "dx", d, "dy", e))
- } finally {
- this.model.endUpdate()
- }
- return c
-};
-mxGraph.prototype.toggleCells = function(a, b, c) {
- null == b && (b = this.getSelectionCells());
- c && (b = this.addAllEdges(b));
- this.model.beginUpdate();
- try {
- this.cellsToggled(b, a), this.fireEvent(new mxEventObject(mxEvent.TOGGLE_CELLS, "show", a, "cells", b, "includeEdges", c))
- } finally {
- this.model.endUpdate()
- }
- return b
-};
-mxGraph.prototype.cellsToggled = function(a, b) {
- if (null != a && 0 < a.length) {
- this.model.beginUpdate();
- try {
- for (var c = 0; c < a.length; c++) this.model.setVisible(a[c], b)
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.foldCells = function(a, b, c, d) {
- b = null != b ? b : !1;
- null == c && (c = this.getFoldableCells(this.getSelectionCells(), a));
- this.stopEditing(!1);
- this.model.beginUpdate();
- try {
- this.cellsFolded(c, a, b, d), this.fireEvent(new mxEventObject(mxEvent.FOLD_CELLS, "collapse", a, "recurse", b, "cells", c))
- } finally {
- this.model.endUpdate()
- }
- return c
-};
-mxGraph.prototype.cellsFolded = function(a, b, c, d) {
- if (null != a && 0 < a.length) {
- this.model.beginUpdate();
- try {
- for (var e = 0; e < a.length; e++)
- if ((!d || this.isCellFoldable(a[e], b)) && b != this.isCellCollapsed(a[e]))
- if (this.model.setCollapsed(a[e], b), this.swapBounds(a[e], b), this.isExtendParent(a[e]) && this.extendParent(a[e]), c) {
- var f = this.model.getChildren(a[e]);
- this.foldCells(f, b, c)
- }
- this.fireEvent(new mxEventObject(mxEvent.CELLS_FOLDED, "cells", a, "collapse", b, "recurse", c))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.swapBounds = function(a, b) {
- if (null != a) {
- var c = this.model.getGeometry(a);
- null != c && (c = c.clone(), this.updateAlternateBounds(a, c, b), c.swap(), this.model.setGeometry(a, c))
- }
-};
-mxGraph.prototype.updateAlternateBounds = function(a, b, c) {
- if (null != a && null != b) {
- c = this.view.getState(a);
- c = null != c ? c.style : this.getCellStyle(a);
- if (null == b.alternateBounds) {
- var d = b;
- this.collapseToPreferredSize && (a = this.getPreferredSizeForCell(a), null != a && (d = a, a = mxUtils.getValue(c, mxConstants.STYLE_STARTSIZE), 0 < a && (d.height = Math.max(d.height, a))));
- b.alternateBounds = new mxRectangle(0, 0, d.width, d.height)
- }
- if (null != b.alternateBounds) {
- b.alternateBounds.x = b.x;
- b.alternateBounds.y = b.y;
- var e = mxUtils.toRadians(c[mxConstants.STYLE_ROTATION] ||
- "0");
- 0 != e && (a = b.alternateBounds.getCenterX() - b.getCenterX(), c = b.alternateBounds.getCenterY() - b.getCenterY(), d = Math.cos(e), e = Math.sin(e), b.alternateBounds.x += d * a - e * c - a,
- b.alternateBounds.y += e * a + d * c - c)
- }
- }
-};
-mxGraph.prototype.addAllEdges = function(a) {
- var b = a.slice();
- return b = b.concat(this.getAllEdges(a))
-};
-mxGraph.prototype.getAllEdges = function(a) {
- var b = [];
- if (null != a)
- for (var c = 0; c < a.length; c++) {
- for (var d = this.model.getEdgeCount(a[c]), e = 0; e < d; e++) b.push(this.model.getEdgeAt(a[c], e));
- d = this.model.getChildren(a[c]);
- b = b.concat(this.getAllEdges(d))
- }
- return b
-};
-mxGraph.prototype.updateCellSize = function(a, b) {
- b = null != b ? b : !1;
- this.model.beginUpdate();
- try {
- this.cellSizeUpdated(a, b), this.fireEvent(new mxEventObject(mxEvent.UPDATE_CELL_SIZE, "cell", a, "ignoreChildren", b))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cellSizeUpdated = function(a, b) {
- if (null != a) {
- this.model.beginUpdate();
- try {
- var c = this.getPreferredSizeForCell(a),
- d = this.model.getGeometry(a);
- if (null != c && null != d) {
- var e = this.isCellCollapsed(a),
- d = d.clone();
- if (this.isSwimlane(a)) {
- var f = this.view.getState(a),
- g = null != f ? f.style : this.getCellStyle(a),
- h = this.model.getStyle(a);
- null == h && (h = "");
- mxUtils.getValue(g, mxConstants.STYLE_HORIZONTAL, !0) ? (h = mxUtils.setStyle(h, mxConstants.STYLE_STARTSIZE, c.height + 8), e && (d.height = c.height + 8), d.width = c.width) :
- (h = mxUtils.setStyle(h, mxConstants.STYLE_STARTSIZE, c.width + 8), e && (d.width = c.width + 8), d.height = c.height);
- this.model.setStyle(a, h)
- } else d.width = c.width, d.height = c.height;
- if (!b && !e) {
- var k = this.view.getBounds(this.model.getChildren(a));
- if (null != k) {
- var l = this.view.translate,
- m = this.view.scale,
- n = (k.y + k.height) / m - d.y - l.y;
- d.width = Math.max(d.width, (k.x + k.width) / m - d.x - l.x);
- d.height = Math.max(d.height, n)
- }
- }
- this.cellsResized([a], [d])
- }
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.getPreferredSizeForCell = function(a) {
- var b = null;
- if (null != a) {
- var c = this.view.getState(a),
- d = null != c ? c.style : this.getCellStyle(a);
- if (null != d && !this.model.isEdge(a)) {
- var e = d[mxConstants.STYLE_FONTSIZE] || mxConstants.DEFAULT_FONTSIZE,
- f = 0,
- b = 0;
- if ((null != this.getImage(c) || null != d[mxConstants.STYLE_IMAGE]) && d[mxConstants.STYLE_SHAPE] == mxConstants.SHAPE_LABEL) d[mxConstants.STYLE_VERTICAL_ALIGN] == mxConstants.ALIGN_MIDDLE &&
- (f += parseFloat(d[mxConstants.STYLE_IMAGE_WIDTH]) || mxLabel.prototype.imageSize),
- d[mxConstants.STYLE_ALIGN] != mxConstants.ALIGN_CENTER && (b += parseFloat(d[mxConstants.STYLE_IMAGE_HEIGHT]) || mxLabel.prototype.imageSize);
- f += 2 * (d[mxConstants.STYLE_SPACING] || 0);
- f += d[mxConstants.STYLE_SPACING_LEFT] || 0;
- f += d[mxConstants.STYLE_SPACING_RIGHT] || 0;
- b += 2 * (d[mxConstants.STYLE_SPACING] || 0);
- b += d[mxConstants.STYLE_SPACING_TOP] || 0;
- b += d[mxConstants.STYLE_SPACING_BOTTOM] || 0;
- c = this.getFoldingImage(c);
- null != c && (f += c.width + 8);
- c = this.getLabel(a);
- null != c && 0 < c.length ? (this.isHtmlLabel(a) || (c = c.replace(/\n/g,
- "\x3cbr\x3e")), e = mxUtils.getSizeForString(c, e, d[mxConstants.STYLE_FONTFAMILY]), a = e.width + f, b = e.height + b, mxUtils.getValue(d, mxConstants.STYLE_HORIZONTAL, !0) || (d = b,
- b = a, a = d), this.gridEnabled && (a = this.snap(a + this.gridSize / 2), b = this.snap(b + this.gridSize / 2)), b = new mxRectangle(0, 0, a, b)) : (d = 4 * this.gridSize, b = new mxRectangle(
- 0, 0, d, d))
- }
- }
- return b
-};
-mxGraph.prototype.handleGesture = function(a, b) {
- if (0.2 < Math.abs(1 - b.scale)) {
- var c = this.view.scale,
- d = this.view.translate,
- e = a.width * b.scale,
- f = a.height * b.scale,
- g = a.y - (f - a.height) / 2,
- c = new mxRectangle(this.snap((a.x - (e - a.width) / 2) / c) - d.x, this.snap(g / c) - d.y, this.snap(e / c), this.snap(f / c));
- this.resizeCell(a.cell, c)
- }
-};
-mxGraph.prototype.resizeCell = function(a, b) {
- return this.resizeCells([a], [b])[0]
-};
-mxGraph.prototype.resizeCells = function(a, b) {
- this.model.beginUpdate();
- try {
- this.cellsResized(a, b), this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS, "cells", a, "bounds", b))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cellsResized = function(a, b) {
- if (null != a && null != b && a.length == b.length) {
- this.model.beginUpdate();
- try {
- for (var c = 0; c < a.length; c++) {
- var d = b[c],
- e = this.model.getGeometry(a[c]);
- if (null != e && (e.x != d.x || e.y != d.y || e.width != d.width || e.height != d.height)) {
- e = e.clone();
- if (e.relative) {
- var f = e.offset;
- null != f && (f.x += d.x - e.x, f.y += d.y - e.y)
- } else e.x = d.x, e.y = d.y;
- e.width = d.width;
- e.height = d.height;
- !e.relative && (this.model.isVertex(a[c]) && !this.isAllowNegativeCoordinates()) && (e.x = Math.max(0, e.x), e.y = Math.max(0,
- e.y));
- this.model.setGeometry(a[c], e);
- this.isExtendParent(a[c]) && this.extendParent(a[c])
- }
- }
- this.resetEdgesOnResize && this.resetEdges(a);
- this.fireEvent(new mxEventObject(mxEvent.CELLS_RESIZED, "cells", a, "bounds", b))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.extendParent = function(a) {
- if (null != a) {
- var b = this.model.getParent(a),
- c = this.model.getGeometry(b);
- if (null != b && (null != c && !this.isCellCollapsed(b)) && (a = this.model.getGeometry(a), null != a && (c.width < a.x + a.width || c.height < a.y + a.height))) c = c.clone(), c.width = Math.max(
- c.width, a.x + a.width), c.height = Math.max(c.height, a.y + a.height), this.cellsResized([b], [c])
- }
-};
-mxGraph.prototype.importCells = function(a, b, c, d, e) {
- return this.moveCells(a, b, c, !0, d, e)
-};
-mxGraph.prototype.moveCells = function(a, b, c, d, e, f) {
- b = null != b ? b : 0;
- c = null != c ? c : 0;
- d = null != d ? d : !1;
- if (null != a && (0 != b || 0 != c || d || null != e)) {
- this.model.beginUpdate();
- try {
- d && (a = this.cloneCells(a, this.isCloneInvalidEdges()), null == e && (e = this.getDefaultParent()));
- var g = this.isAllowNegativeCoordinates();
- null != e && this.setAllowNegativeCoordinates(!0);
- this.cellsMoved(a, b, c, !d && this.isDisconnectOnMove() && this.isAllowDanglingEdges(), null == e);
- this.setAllowNegativeCoordinates(g);
- if (null != e) {
- var h = this.model.getChildCount(e);
- this.cellsAdded(a, e, h, null, null, !0)
- }
- this.fireEvent(new mxEventObject(mxEvent.MOVE_CELLS, "cells", a, "dx", b, "dy", c, "clone", d, "target", e, "event", f))
- } finally {
- this.model.endUpdate()
- }
- }
- return a
-};
-mxGraph.prototype.cellsMoved = function(a, b, c, d, e) {
- if (null != a && (0 != b || 0 != c)) {
- this.model.beginUpdate();
- try {
- d && this.disconnectGraph(a);
- for (var f = 0; f < a.length; f++) this.translateCell(a[f], b, c), e && this.constrainChild(a[f]);
- this.resetEdgesOnMove && this.resetEdges(a);
- this.fireEvent(new mxEventObject(mxEvent.CELLS_MOVED, "cells", a, "dx", c, "dy", c, "disconnect", d))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.translateCell = function(a, b, c) {
- var d = this.model.getGeometry(a);
- null != d && (d = d.clone(), d.translate(b, c), !d.relative && (this.model.isVertex(a) && !this.isAllowNegativeCoordinates()) && (d.x = Math.max(0, d.x), d.y = Math.max(0, d.y)), d.relative && !
- this.model.isEdge(a) && (null == d.offset ? d.offset = new mxPoint(b, c) : (d.offset.x += b, d.offset.y += c)), this.model.setGeometry(a, d))
-};
-mxGraph.prototype.getCellContainmentArea = function(a) {
- if (null != a && !this.model.isEdge(a)) {
- var b = this.model.getParent(a);
- if (b == this.getDefaultParent() || b == this.getCurrentRoot()) return this.getMaximumGraphBounds();
- if (null != b && b != this.getDefaultParent()) {
- var c = this.model.getGeometry(b);
- if (null != c) {
- var d = a = 0,
- e = c.width,
- c = c.height;
- this.isSwimlane(b) && (b = this.getStartSize(b), a = b.width, e -= b.width, d = b.height, c -= b.height);
- return new mxRectangle(a, d, e, c)
- }
- }
- }
- return null
-};
-mxGraph.prototype.getMaximumGraphBounds = function() {
- return this.maximumGraphBounds
-};
-mxGraph.prototype.constrainChild = function(a) {
- if (null != a) {
- var b = this.model.getGeometry(a),
- c = this.isConstrainChild(a) ? this.getCellContainmentArea(a) : this.getMaximumGraphBounds();
- if (null != b && null != c && !b.relative && (b.x < c.x || b.y < c.y || c.width < b.x + b.width || c.height < b.y + b.height)) a = this.getOverlap(a), 0 < c.width && (b.x = Math.min(b.x, c.x +
- c.width - (1 - a) * b.width)), 0 < c.height && (b.y = Math.min(b.y, c.y + c.height - (1 - a) * b.height)), b.x = Math.max(b.x, c.x - b.width * a), b.y = Math.max(b.y, c.y - b.height * a)
- }
-};
-mxGraph.prototype.resetEdges = function(a) {
- if (null != a) {
- for (var b = {}, c = 0; c < a.length; c++) {
- var d = mxCellPath.create(a[c]);
- b[d] = a[c]
- }
- this.model.beginUpdate();
- try {
- for (c = 0; c < a.length; c++) {
- var e = this.model.getEdges(a[c]);
- if (null != e)
- for (d = 0; d < e.length; d++) {
- var f = this.view.getState(e[d]),
- g = null != f ? f.getVisibleTerminal(!0) : this.view.getVisibleTerminal(e[d], !0),
- h = null != f ? f.getVisibleTerminal(!1) : this.view.getVisibleTerminal(e[d], !1),
- k = mxCellPath.create(g),
- l = mxCellPath.create(h);
- (null == b[k] || null == b[l]) && this.resetEdge(e[d])
- }
- this.resetEdges(this.model.getChildren(a[c]))
- }
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.resetEdge = function(a) {
- var b = this.model.getGeometry(a);
- null != b && (null != b.points && 0 < b.points.length) && (b = b.clone(), b.points = [], this.model.setGeometry(a, b));
- return a
-};
-mxGraph.prototype.getAllConnectionConstraints = function(a, b) {
- return null != a && null != a.shape && null != a.shape.stencil ? a.shape.stencil.constraints : null
-};
-mxGraph.prototype.getConnectionConstraint = function(a, b, c) {
- b = null;
- var d = a.style[c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X];
- if (null != d) {
- var e = a.style[c ? mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y];
- null != e && (b = new mxPoint(parseFloat(d), parseFloat(e)))
- }
- d = !1;
- null != b && (d = mxUtils.getValue(a.style, c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, !0));
- return new mxConnectionConstraint(b, d)
-};
-mxGraph.prototype.setConnectionConstraint = function(a, b, c, d) {
- if (null != d) {
- this.model.beginUpdate();
- try {
- null == d || null == d.point ? (this.setCellStyles(c ? mxConstants.STYLE_EXIT_X : mxConstants.STYLE_ENTRY_X, null, [a]), this.setCellStyles(c ? mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y,
- null, [a]), this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, null, [a])) : null != d.point && (this.setCellStyles(c ? mxConstants.STYLE_EXIT_X :
- mxConstants.STYLE_ENTRY_X, d.point.x, [a]), this.setCellStyles(c ?
- mxConstants.STYLE_EXIT_Y : mxConstants.STYLE_ENTRY_Y, d.point.y, [a]), d.perimeter ? this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, null, [
- a
- ]) : this.setCellStyles(c ? mxConstants.STYLE_EXIT_PERIMETER : mxConstants.STYLE_ENTRY_PERIMETER, "0", [a]))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.getConnectionPoint = function(a, b) {
- var c = null;
- if (null != a) {
- var d = this.view.getPerimeterBounds(a),
- e = new mxPoint(d.getCenterX(), d.getCenterY()),
- f = a.style[mxConstants.STYLE_DIRECTION],
- g = 0;
- if (null != f && ("north" == f ? g += 270 : "west" == f ? g += 180 : "south" == f && (g += 90), "north" == f || "south" == f)) {
- d.x += d.width / 2 - d.height / 2;
- d.y += d.height / 2 - d.width / 2;
- var h = d.width;
- d.width = d.height;
- d.height = h
- }
- if (null != b.point) {
- var k = c = 1,
- l = 0,
- m = 0;
- if (this.getModel().isVertex(a.cell)) {
- var n = a.style[mxConstants.STYLE_FLIPH],
- p =
- a.style[mxConstants.STYLE_FLIPV];
- null != a.shape.stencil && (n = 1 == mxUtils.getValue(a.style, "stencilFlipH", 0) || n, p = 1 == mxUtils.getValue(a.style, "stencilFlipV", 0) || p);
- if ("north" == f || "south" == f) h = n, n = p, p = h;
- n && (c = -1, l = -d.width);
- p && (k = -1, m = -d.height)
- }
- c = new mxPoint(d.x + b.point.x * d.width * c - l, d.y + b.point.y * d.height * k - m)
- }
- f = a.style[mxConstants.STYLE_ROTATION] || 0;
- b.perimeter ? (0 != g && null != c && (h = d = 0, 90 == g ? h = 1 : 180 == g ? d = -1 : 270 == f && (h = -1), c = mxUtils.getRotatedPoint(c, d, h, e)), null != c && b.perimeter && (c = this.view
- .getPerimeterPoint(a,
- c, !1))) : f += g;
- 0 != f && null != c && (g = mxUtils.toRadians(f), d = Math.cos(g), h = Math.sin(g), c = mxUtils.getRotatedPoint(c, d, h, e))
- }
- return c
-};
-mxGraph.prototype.connectCell = function(a, b, c, d) {
- this.model.beginUpdate();
- try {
- var e = this.model.getTerminal(a, c);
- this.cellConnected(a, b, c, d);
- this.fireEvent(new mxEventObject(mxEvent.CONNECT_CELL, "edge", a, "terminal", b, "source", c, "previous", e))
- } finally {
- this.model.endUpdate()
- }
- return a
-};
-mxGraph.prototype.cellConnected = function(a, b, c, d) {
- if (null != a) {
- this.model.beginUpdate();
- try {
- var e = this.model.getTerminal(a, c);
- this.setConnectionConstraint(a, b, c, d);
- this.isPortsEnabled() && (d = null, this.isPort(b) && (d = b.getId(), b = this.getTerminalForPort(b, c)), this.setCellStyles(c ? mxConstants.STYLE_SOURCE_PORT : mxConstants.STYLE_TARGET_PORT,
- d, [a]));
- this.model.setTerminal(a, b, c);
- this.resetEdgesOnConnect && this.resetEdge(a);
- this.fireEvent(new mxEventObject(mxEvent.CELL_CONNECTED, "edge", a, "terminal", b, "source",
- c, "previous", e))
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.disconnectGraph = function(a) {
- if (null != a) {
- this.model.beginUpdate();
- try {
- for (var b = this.view.scale, c = this.view.translate, d = {}, e = 0; e < a.length; e++) {
- var f = mxCellPath.create(a[e]);
- d[f] = a[e]
- }
- for (e = 0; e < a.length; e++)
- if (this.model.isEdge(a[e])) {
- var g = this.model.getGeometry(a[e]);
- if (null != g) {
- var h = this.view.getState(a[e]),
- k = this.view.getState(this.model.getParent(a[e]));
- if (null != h && null != k) {
- var g = g.clone(),
- l = -k.origin.x,
- m = -k.origin.y,
- n = h.absolutePoints,
- p = this.model.getTerminal(a[e], !0);
- if (null !=
- p && this.isCellDisconnectable(a[e], p, !0)) {
- for (var q = mxCellPath.create(p); null != p && null == d[q];) p = this.model.getParent(p), q = mxCellPath.create(p);
- null == p && (g.setTerminalPoint(new mxPoint(n[0].x / b - c.x + l, n[0].y / b - c.y + m), !0), this.model.setTerminal(a[e], null, !0))
- }
- var s = this.model.getTerminal(a[e], !1);
- if (null != s && this.isCellDisconnectable(a[e], s, !1)) {
- for (var r = mxCellPath.create(s); null != s && null == d[r];) s = this.model.getParent(s), r = mxCellPath.create(s);
- if (null == s) {
- var t = n.length - 1;
- g.setTerminalPoint(new mxPoint(n[t].x /
- b - c.x + l, n[t].y / b - c.y + m), !1);
- this.model.setTerminal(a[e], null, !1)
- }
- }
- this.model.setGeometry(a[e], g)
- }
- }
- }
- } finally {
- this.model.endUpdate()
- }
- }
-};
-mxGraph.prototype.getCurrentRoot = function() {
- return this.view.currentRoot
-};
-mxGraph.prototype.getTranslateForRoot = function(a) {
- return null
-};
-mxGraph.prototype.isPort = function(a) {
- return !1
-};
-mxGraph.prototype.getTerminalForPort = function(a, b) {
- return this.model.getParent(a)
-};
-mxGraph.prototype.getChildOffsetForCell = function(a) {
- return null
-};
-mxGraph.prototype.enterGroup = function(a) {
- a = a || this.getSelectionCell();
- null != a && this.isValidRoot(a) && (this.view.setCurrentRoot(a), this.clearSelection())
-};
-mxGraph.prototype.exitGroup = function() {
- var a = this.model.getRoot(),
- b = this.getCurrentRoot();
- if (null != b) {
- for (var c = this.model.getParent(b); c != a && !this.isValidRoot(c) && this.model.getParent(c) != a;) c = this.model.getParent(c);
- c == a || this.model.getParent(c) == a ? this.view.setCurrentRoot(null) : this.view.setCurrentRoot(c);
- null != this.view.getState(b) && this.setSelectionCell(b)
- }
-};
-mxGraph.prototype.home = function() {
- var a = this.getCurrentRoot();
- null != a && (this.view.setCurrentRoot(null), null != this.view.getState(a) && this.setSelectionCell(a))
-};
-mxGraph.prototype.isValidRoot = function(a) {
- return null != a
-};
-mxGraph.prototype.getGraphBounds = function() {
- return this.view.getGraphBounds()
-};
-mxGraph.prototype.getCellBounds = function(a, b, c) {
- var d = [a];
- b && (d = d.concat(this.model.getEdges(a)));
- d = this.view.getBounds(d);
- if (c) {
- c = this.model.getChildCount(a);
- for (var e = 0; e < c; e++) {
- var f = this.getCellBounds(this.model.getChildAt(a, e), b, !0);
- null != d ? d.add(f) : d = f
- }
- }
- return d
-};
-mxGraph.prototype.getBoundingBoxFromGeometry = function(a, b) {
- b = null != b ? b : !1;
- var c = null;
- if (null != a)
- for (var d = 0; d < a.length; d++)
- if (b || this.model.isVertex(a[d])) {
- var e = this.getCellGeometry(a[d]);
- if (null != e) {
- var f = e.points;
- if (null != f && 0 < f.length) {
- for (var g = new mxRectangle(f[0].x, f[0].y, 0, 0), h = function(a) {
- null != a && g.add(new mxRectangle(a.x, a.y, 0, 0))
- }, k = 1; k < f.length; k++) h(f[k]);
- h(e.getTerminalPoint(!0));
- h(e.getTerminalPoint(!1))
- }
- null == c ? c = new mxRectangle(e.x, e.y, e.width, e.height) : c.add(e)
- }
- }
- return c
-};
-mxGraph.prototype.refresh = function(a) {
- this.view.clear(a, null == a);
- this.view.validate();
- this.sizeDidChange();
- this.fireEvent(new mxEventObject(mxEvent.REFRESH))
-};
-mxGraph.prototype.snap = function(a) {
- this.gridEnabled && (a = Math.round(a / this.gridSize) * this.gridSize);
- return a
-};
-mxGraph.prototype.panGraph = function(a, b) {
- if (this.useScrollbarsForPanning && mxUtils.hasScrollbars(this.container)) this.container.scrollLeft = -a, this.container.scrollTop = -b;
- else {
- var c = this.view.getCanvas();
- if (this.dialect == mxConstants.DIALECT_SVG)
- if (0 == a && 0 == b) {
- if (mxClient.IS_IE ? c.setAttribute("transform", "translate(" + a + "," + b + ")") : c.removeAttribute("transform"), null != this.shiftPreview1) {
- for (var d = this.shiftPreview1.firstChild; null != d;) {
- var e = d.nextSibling;
- this.container.appendChild(d);
- d = e
- }
- this.shiftPreview1.parentNode.removeChild(this.shiftPreview1);
- this.shiftPreview1 = null;
- this.container.appendChild(c.parentNode);
- for (d = this.shiftPreview2.firstChild; null != d;) e = d.nextSibling, this.container.appendChild(d), d = e;
- this.shiftPreview2.parentNode.removeChild(this.shiftPreview2);
- this.shiftPreview2 = null
- }
- } else {
- c.setAttribute("transform", "translate(" + a + "," + b + ")");
- if (null == this.shiftPreview1) {
- this.shiftPreview1 = document.createElement("div");
- this.shiftPreview1.style.position = "absolute";
- this.shiftPreview1.style.overflow = "visible";
- this.shiftPreview2 = document.createElement("div");
- this.shiftPreview2.style.position = "absolute";
- this.shiftPreview2.style.overflow = "visible";
- for (var f = this.shiftPreview1, d = this.container.firstChild; null != d;) e = d.nextSibling, d != c.parentNode ? f.appendChild(d) : f = this.shiftPreview2, d = e;
- this.container.insertBefore(this.shiftPreview1, c.parentNode);
- this.container.appendChild(this.shiftPreview2)
- }
- this.shiftPreview1.style.left = a + "px";
- this.shiftPreview1.style.top = b + "px";
- this.shiftPreview2.style.left = a + "px";
- this.shiftPreview2.style.top = b + "px"
- } else c.style.left =
- a + "px", c.style.top = b + "px";
- this.panDx = a;
- this.panDy = b;
- this.fireEvent(new mxEventObject(mxEvent.PAN))
- }
-};
-mxGraph.prototype.zoomIn = function() {
- this.zoom(this.zoomFactor)
-};
-mxGraph.prototype.zoomOut = function() {
- this.zoom(1 / this.zoomFactor)
-};
-mxGraph.prototype.zoomActual = function() {
- 1 == this.view.scale ? this.view.setTranslate(0, 0) : (this.view.translate.x = 0, this.view.translate.y = 0, this.view.setScale(1))
-};
-mxGraph.prototype.zoomTo = function(a, b) {
- this.zoom(a / this.view.scale, b)
-};
-mxGraph.prototype.zoom = function(a, b) {
- b = null != b ? b : this.centerZoom;
- var c = this.view.scale * a,
- d = this.view.getState(this.getSelectionCell());
- if (this.keepSelectionVisibleOnZoom && null != d) d = new mxRectangle(d.x * a, d.y * a, d.width * a, d.height * a), this.view.scale = c, this.scrollRectToVisible(d) || (this.view.revalidate(),
- this.view.setScale(c));
- else if (b && !mxUtils.hasScrollbars(this.container)) {
- var d = this.container.offsetWidth,
- e = this.container.offsetHeight;
- if (1 < a) var f = (a - 1) / (2 * c),
- d = d * -f,
- e = e * -f;
- else f = (1 / a - 1) / (2 * this.view.scale),
- d *= f, e *= f;
- this.view.scaleAndTranslate(c, this.view.translate.x + d, this.view.translate.y + e)
- } else this.view.setScale(c), mxUtils.hasScrollbars(this.container) && (e = d = 0, b && (d = this.container.offsetWidth * (a - 1) / 2, e = this.container.offsetHeight * (a - 1) / 2), this.container
- .scrollLeft = Math.round(this.container.scrollLeft * a + d), this.container.scrollTop = Math.round(this.container.scrollTop * a + e))
-};
-mxGraph.prototype.zoomToRect = function(a) {
- var b = this.container.clientWidth / a.width / (this.container.clientHeight / a.height);
- a.x = Math.max(0, a.x);
- a.y = Math.max(0, a.y);
- var c = Math.min(this.container.scrollWidth, a.x + a.width),
- d = Math.min(this.container.scrollHeight, a.y + a.height);
- a.width = c - a.x;
- a.height = d - a.y;
- 1 > b ? (b = a.height / b, c = (b - a.height) / 2, a.height = b, b = Math.min(a.y, c), a.y -= b, d = Math.min(this.container.scrollHeight, a.y + a.height), a.height = d - a.y) : (b *= a.width, c =
- (b - a.width) / 2, a.width = b, b = Math.min(a.x, c), a.x -= b,
- c = Math.min(this.container.scrollWidth, a.x + a.width), a.width = c - a.x);
- b = this.container.clientWidth / a.width;
- c = this.view.scale * b;
- mxUtils.hasScrollbars(this.container) ? (this.view.setScale(c), this.container.scrollLeft = Math.round(a.x * b), this.container.scrollTop = Math.round(a.y * b)) : this.view.scaleAndTranslate(c,
- this.view.translate.x - a.x / this.view.scale, this.view.translate.y - a.y / this.view.scale)
-};
-mxGraph.prototype.fit = function(a, b) {
- if (null != this.container) {
- a = null != a ? a : 0;
- b = null != b ? b : !1;
- var c = this.container.clientWidth,
- d = this.container.clientHeight,
- e = this.view.getGraphBounds();
- b && (null != e.x && null != e.y) && (e.width += e.x, e.height += e.y, e.x = 0, e.y = 0);
- var f = this.view.scale,
- g = e.width / f,
- h = e.height / f;
- null != this.backgroundImage && (g = Math.max(g, this.backgroundImage.width - e.x / f), h = Math.max(h, this.backgroundImage.height - e.y / f));
- var k = b ? a : 2 * a,
- c = Math.floor(100 * Math.min(c / (g + k), d / (h + k))) / 100;
- null != this.minFitScale &&
- (c = Math.max(c, this.minFitScale));
- null != this.maxFitScale && (c = Math.min(c, this.maxFitScale));
- b ? this.view.scale != c && this.view.setScale(c) : mxUtils.hasScrollbars(this.container) ? (this.view.setScale(c), null != e.x && (this.container.scrollLeft = Math.round(e.x / f) * c - a -
- Math.max(0, (this.container.clientWidth - g * c) / 2)), null != e.y && (this.container.scrollTop = Math.round(e.y / f) * c - a - Math.max(0, (this.container.clientHeight - h * c) / 2))) :
- this.view.scaleAndTranslate(c, null != e.x ? Math.floor(this.view.translate.x - e.x / f + a + 1) : a, null !=
- e.y ? Math.floor(this.view.translate.y - e.y / f + a + 1) : a)
- }
- return this.view.scale
-};
-mxGraph.prototype.scrollCellToVisible = function(a, b) {
- var c = -this.view.translate.x,
- d = -this.view.translate.y,
- e = this.view.getState(a);
- null != e && (c = new mxRectangle(c + e.x, d + e.y, e.width, e.height), b && null != this.container && (d = this.container.clientWidth, e = this.container.clientHeight, c.x = c.getCenterX() - d /
- 2, c.width = d, c.y = c.getCenterY() - e / 2, c.height = e), this.scrollRectToVisible(c) && this.view.setTranslate(this.view.translate.x, this.view.translate.y))
-};
-mxGraph.prototype.scrollRectToVisible = function(a) {
- var b = !1;
- if (null != a) {
- var c = this.container.offsetWidth,
- d = this.container.offsetHeight,
- e = Math.min(c, a.width),
- f = Math.min(d, a.height);
- if (mxUtils.hasScrollbars(this.container)) {
- c = this.container;
- a.x += this.view.translate.x;
- a.y += this.view.translate.y;
- var g = c.scrollLeft - a.x,
- d = Math.max(g - c.scrollLeft, 0);
- 0 < g ? c.scrollLeft -= g + 2 : (g = a.x + e - c.scrollLeft - c.clientWidth, 0 < g && (c.scrollLeft += g + 2));
- e = c.scrollTop - a.y;
- g = Math.max(0, e - c.scrollTop);
- 0 < e ? c.scrollTop -= e + 2 : (e = a.y +
- f - c.scrollTop - c.clientHeight, 0 < e && (c.scrollTop += e + 2));
- !this.useScrollbarsForPanning && (0 != d || 0 != g) && this.view.setTranslate(d, g)
- } else {
- var g = -this.view.translate.x,
- h = -this.view.translate.y,
- k = this.view.scale;
- a.x + e > g + c && (this.view.translate.x -= (a.x + e - c - g) / k, b = !0);
- a.y + f > h + d && (this.view.translate.y -= (a.y + f - d - h) / k, b = !0);
- a.x < g && (this.view.translate.x += (g - a.x) / k, b = !0);
- a.y < h && (this.view.translate.y += (h - a.y) / k, b = !0);
- b && (this.view.refresh(), null != this.selectionCellsHandler && this.selectionCellsHandler.refresh())
- }
- }
- return b
-};
-mxGraph.prototype.getCellGeometry = function(a) {
- return this.model.getGeometry(a)
-};
-mxGraph.prototype.isCellVisible = function(a) {
- return this.model.isVisible(a)
-};
-mxGraph.prototype.isCellCollapsed = function(a) {
- return this.model.isCollapsed(a)
-};
-mxGraph.prototype.isCellConnectable = function(a) {
- return this.model.isConnectable(a)
-};
-mxGraph.prototype.isOrthogonal = function(a) {
- var b = a.style[mxConstants.STYLE_ORTHOGONAL];
- if (null != b) return b;
- a = this.view.getEdgeStyle(a);
- return a == mxEdgeStyle.SegmentConnector || a == mxEdgeStyle.ElbowConnector || a == mxEdgeStyle.SideToSide || a == mxEdgeStyle.TopToBottom || a == mxEdgeStyle.EntityRelation || a == mxEdgeStyle.OrthConnector
-};
-mxGraph.prototype.isLoop = function(a) {
- var b = a.getVisibleTerminalState(!0);
- a = a.getVisibleTerminalState(!1);
- return null != b && b == a
-};
-mxGraph.prototype.isCloneEvent = function(a) {
- return mxEvent.isControlDown(a)
-};
-mxGraph.prototype.isToggleEvent = function(a) {
- return mxClient.IS_MAC ? mxEvent.isMetaDown(a) : mxEvent.isControlDown(a)
-};
-mxGraph.prototype.isGridEnabledEvent = function(a) {
- return null != a && !mxEvent.isAltDown(a)
-};
-mxGraph.prototype.isConstrainedEvent = function(a) {
- return mxEvent.isShiftDown(a)
-};
-mxGraph.prototype.isForceMarqueeEvent = function(a) {
- return mxEvent.isAltDown(a)
-};
-mxGraph.prototype.validationAlert = function(a) {
- mxUtils.alert(a)
-};
-mxGraph.prototype.isEdgeValid = function(a, b, c) {
- return null == this.getEdgeValidationError(a, b, c)
-};
-mxGraph.prototype.getEdgeValidationError = function(a, b, c) {
- if (null != a && !this.isAllowDanglingEdges() && (null == b || null == c)) return "";
- if (null != a && null == this.model.getTerminal(a, !0) && null == this.model.getTerminal(a, !1)) return null;
- if (!this.allowLoops && b == c && null != b || !this.isValidConnection(b, c)) return "";
- if (null != b && null != c) {
- var d = "";
- if (!this.multigraph) {
- var e = this.model.getEdgesBetween(b, c, !0);
- if (1 < e.length || 1 == e.length && e[0] != a) d += (mxResources.get(this.alreadyConnectedResource) || this.alreadyConnectedResource) +
- "\n"
- }
- var e = this.model.getDirectedEdgeCount(b, !0, a),
- f = this.model.getDirectedEdgeCount(c, !1, a);
- if (null != this.multiplicities)
- for (var g = 0; g < this.multiplicities.length; g++) {
- var h = this.multiplicities[g].check(this, a, b, c, e, f);
- null != h && (d += h)
- }
- h = this.validateEdge(a, b, c);
- null != h && (d += h);
- return 0 < d.length ? d : null
- }
- return this.allowDanglingEdges ? null : ""
-};
-mxGraph.prototype.validateEdge = function(a, b, c) {
- return null
-};
-mxGraph.prototype.validateGraph = function(a, b) {
- a = null != a ? a : this.model.getRoot();
- b = null != b ? b : {};
- for (var c = !0, d = this.model.getChildCount(a), e = 0; e < d; e++) {
- var f = this.model.getChildAt(a, e),
- g = b;
- this.isValidRoot(f) && (g = {});
- g = this.validateGraph(f, g);
- null != g ? this.setCellWarning(f, g.replace(/\n/g, "\x3cbr\x3e")) : this.setCellWarning(f, null);
- c = c && null == g
- }
- d = "";
- this.isCellCollapsed(a) && !c && (d += (mxResources.get(this.containsValidationErrorsResource) || this.containsValidationErrorsResource) + "\n");
- d = this.model.isEdge(a) ?
- d + (this.getEdgeValidationError(a, this.model.getTerminal(a, !0), this.model.getTerminal(a, !1)) || "") : d + (this.getCellValidationError(a) || "");
- e = this.validateCell(a, b);
- null != e && (d += e);
- null == this.model.getParent(a) && this.view.validate();
- return 0 < d.length || !c ? d : null
-};
-mxGraph.prototype.getCellValidationError = function(a) {
- var b = this.model.getDirectedEdgeCount(a, !0),
- c = this.model.getDirectedEdgeCount(a, !1);
- a = this.model.getValue(a);
- var d = "";
- if (null != this.multiplicities)
- for (var e = 0; e < this.multiplicities.length; e++) {
- var f = this.multiplicities[e];
- if (f.source && mxUtils.isNode(a, f.type, f.attr, f.value) && (0 == f.max && 0 < b || 1 == f.min && 0 == b || 1 == f.max && 1 < b)) d += f.countError + "\n";
- else if (!f.source && mxUtils.isNode(a, f.type, f.attr, f.value) && (0 == f.max && 0 < c || 1 == f.min && 0 == c || 1 == f.max && 1 <
- c)) d += f.countError + "\n"
- }
- return 0 < d.length ? d : null
-};
-mxGraph.prototype.validateCell = function(a, b) {
- return null
-};
-mxGraph.prototype.getBackgroundImage = function() {
- return this.backgroundImage
-};
-mxGraph.prototype.setBackgroundImage = function(a) {
- this.backgroundImage = a
-};
-mxGraph.prototype.getFoldingImage = function(a) {
- if (null != a && this.foldingEnabled && !this.getModel().isEdge(a.cell)) {
- var b = this.isCellCollapsed(a.cell);
- if (this.isCellFoldable(a.cell, !b)) return b ? this.collapsedImage : this.expandedImage
- }
- return null
-};
-mxGraph.prototype.convertValueToString = function(a) {
- a = this.model.getValue(a);
- if (null != a) {
- if (mxUtils.isNode(a)) return a.nodeName;
- if ("function" == typeof a.toString) return a.toString()
- }
- return ""
-};
-mxGraph.prototype.getLabel = function(a) {
- var b = "";
- if (this.labelsVisible && null != a) {
- var c = this.view.getState(a),
- c = null != c ? c.style : this.getCellStyle(a);
- mxUtils.getValue(c, mxConstants.STYLE_NOLABEL, !1) || (b = this.convertValueToString(a))
- }
- return b
-};
-mxGraph.prototype.isHtmlLabel = function(a) {
- return this.isHtmlLabels()
-};
-mxGraph.prototype.isHtmlLabels = function() {
- return this.htmlLabels
-};
-mxGraph.prototype.setHtmlLabels = function(a) {
- this.htmlLabels = a
-};
-mxGraph.prototype.isWrapping = function(a) {
- var b = this.view.getState(a);
- a = null != b ? b.style : this.getCellStyle(a);
- return null != a ? "wrap" == a[mxConstants.STYLE_WHITE_SPACE] : !1
-};
-mxGraph.prototype.isLabelClipped = function(a) {
- var b = this.view.getState(a);
- a = null != b ? b.style : this.getCellStyle(a);
- return null != a ? "hidden" == a[mxConstants.STYLE_OVERFLOW] : !1
-};
-mxGraph.prototype.getTooltip = function(a, b, c, d) {
- var e = null;
- if (null != a) {
- if (null != a.control && (b == a.control.node || b.parentNode == a.control.node)) e = this.collapseExpandResource, e = mxResources.get(e) || e;
- null == e && null != a.overlays && a.overlays.visit(function(a, c) {
- if (null == e && (b == c.node || b.parentNode == c.node)) e = c.overlay.toString()
- });
- null == e && (c = this.selectionCellsHandler.getHandler(a.cell), null != c && "function" == typeof c.getTooltipForNode && (e = c.getTooltipForNode(b)));
- null == e && (e = this.getTooltipForCell(a.cell))
- }
- return e
-};
-mxGraph.prototype.getTooltipForCell = function(a) {
- var b = null;
- return b = null != a && null != a.getTooltip ? a.getTooltip() : this.convertValueToString(a)
-};
-mxGraph.prototype.getCursorForCell = function(a) {
- return null
-};
-mxGraph.prototype.getStartSize = function(a) {
- var b = new mxRectangle,
- c = this.view.getState(a);
- a = null != c ? c.style : this.getCellStyle(a);
- null != a && (c = parseInt(mxUtils.getValue(a, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)), mxUtils.getValue(a, mxConstants.STYLE_HORIZONTAL, !0) ? b.height = c : b.width = c);
- return b
-};
-mxGraph.prototype.getImage = function(a) {
- return null != a && null != a.style ? a.style[mxConstants.STYLE_IMAGE] : null
-};
-mxGraph.prototype.getVerticalAlign = function(a) {
- return null != a && null != a.style ? a.style[mxConstants.STYLE_VERTICAL_ALIGN] || mxConstants.ALIGN_MIDDLE : null
-};
-mxGraph.prototype.getIndicatorColor = function(a) {
- return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_COLOR] : null
-};
-mxGraph.prototype.getIndicatorGradientColor = function(a) {
- return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_GRADIENTCOLOR] : null
-};
-mxGraph.prototype.getIndicatorShape = function(a) {
- return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_SHAPE] : null
-};
-mxGraph.prototype.getIndicatorImage = function(a) {
- return null != a && null != a.style ? a.style[mxConstants.STYLE_INDICATOR_IMAGE] : null
-};
-mxGraph.prototype.getBorder = function() {
- return this.border
-};
-mxGraph.prototype.setBorder = function(a) {
- this.border = a
-};
-mxGraph.prototype.isSwimlane = function(a) {
- if (null != a && this.model.getParent(a) != this.model.getRoot()) {
- var b = this.view.getState(a),
- b = null != b ? b.style : this.getCellStyle(a);
- if (null != b && !this.model.isEdge(a)) return b[mxConstants.STYLE_SHAPE] == mxConstants.SHAPE_SWIMLANE
- }
- return !1
-};
-mxGraph.prototype.isResizeContainer = function() {
- return this.resizeContainer
-};
-mxGraph.prototype.setResizeContainer = function(a) {
- this.resizeContainer = a
-};
-mxGraph.prototype.isEnabled = function() {
- return this.enabled
-};
-mxGraph.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxGraph.prototype.isEscapeEnabled = function() {
- return this.escapeEnabled
-};
-mxGraph.prototype.setEscapeEnabled = function(a) {
- this.escapeEnabled = a
-};
-mxGraph.prototype.isInvokesStopCellEditing = function() {
- return this.invokesStopCellEditing
-};
-mxGraph.prototype.setInvokesStopCellEditing = function(a) {
- this.invokesStopCellEditing = a
-};
-mxGraph.prototype.isEnterStopsCellEditing = function() {
- return this.enterStopsCellEditing
-};
-mxGraph.prototype.setEnterStopsCellEditing = function(a) {
- this.enterStopsCellEditing = a
-};
-mxGraph.prototype.isCellLocked = function(a) {
- var b = this.model.getGeometry(a);
- return this.isCellsLocked() || null != b && this.model.isVertex(a) && b.relative
-};
-mxGraph.prototype.isCellsLocked = function() {
- return this.cellsLocked
-};
-mxGraph.prototype.setCellsLocked = function(a) {
- this.cellsLocked = a
-};
-mxGraph.prototype.getCloneableCells = function(a) {
- return this.model.filterCells(a, mxUtils.bind(this, function(a) {
- return this.isCellCloneable(a)
- }))
-};
-mxGraph.prototype.isCellCloneable = function(a) {
- var b = this.view.getState(a);
- a = null != b ? b.style : this.getCellStyle(a);
- return this.isCellsCloneable() && 0 != a[mxConstants.STYLE_CLONEABLE]
-};
-mxGraph.prototype.isCellsCloneable = function() {
- return this.cellsCloneable
-};
-mxGraph.prototype.setCellsCloneable = function(a) {
- this.cellsCloneable = a
-};
-mxGraph.prototype.getExportableCells = function(a) {
- return this.model.filterCells(a, mxUtils.bind(this, function(a) {
- return this.canExportCell(a)
- }))
-};
-mxGraph.prototype.canExportCell = function(a) {
- return this.exportEnabled
-};
-mxGraph.prototype.getImportableCells = function(a) {
- return this.model.filterCells(a, mxUtils.bind(this, function(a) {
- return this.canImportCell(a)
- }))
-};
-mxGraph.prototype.canImportCell = function(a) {
- return this.importEnabled
-};
-mxGraph.prototype.isCellSelectable = function(a) {
- return this.isCellsSelectable()
-};
-mxGraph.prototype.isCellsSelectable = function() {
- return this.cellsSelectable
-};
-mxGraph.prototype.setCellsSelectable = function(a) {
- this.cellsSelectable = a
-};
-mxGraph.prototype.getDeletableCells = function(a) {
- return this.model.filterCells(a, mxUtils.bind(this, function(a) {
- return this.isCellDeletable(a)
- }))
-};
-mxGraph.prototype.isCellDeletable = function(a) {
- var b = this.view.getState(a);
- a = null != b ? b.style : this.getCellStyle(a);
- return this.isCellsDeletable() && 0 != a[mxConstants.STYLE_DELETABLE]
-};
-mxGraph.prototype.isCellsDeletable = function() {
- return this.cellsDeletable
-};
-mxGraph.prototype.setCellsDeletable = function(a) {
- this.cellsDeletable = a
-};
-mxGraph.prototype.isLabelMovable = function(a) {
- return !this.isCellLocked(a) && (this.model.isEdge(a) && this.edgeLabelsMovable || this.model.isVertex(a) && this.vertexLabelsMovable)
-};
-mxGraph.prototype.getMovableCells = function(a) {
- return this.model.filterCells(a, mxUtils.bind(this, function(a) {
- return this.isCellMovable(a)
- }))
-};
-mxGraph.prototype.isCellMovable = function(a) {
- var b = this.view.getState(a),
- b = null != b ? b.style : this.getCellStyle(a);
- return this.isCellsMovable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_MOVABLE]
-};
-mxGraph.prototype.isCellsMovable = function() {
- return this.cellsMovable
-};
-mxGraph.prototype.setCellsMovable = function(a) {
- this.cellsMovable = a
-};
-mxGraph.prototype.isGridEnabled = function() {
- return this.gridEnabled
-};
-mxGraph.prototype.setGridEnabled = function(a) {
- this.gridEnabled = a
-};
-mxGraph.prototype.isPortsEnabled = function() {
- return this.portsEnabled
-};
-mxGraph.prototype.setPortsEnabled = function(a) {
- this.portsEnabled = a
-};
-mxGraph.prototype.getGridSize = function() {
- return this.gridSize
-};
-mxGraph.prototype.setGridSize = function(a) {
- this.gridSize = a
-};
-mxGraph.prototype.getTolerance = function() {
- return this.tolerance
-};
-mxGraph.prototype.setTolerance = function(a) {
- this.tolerance = a
-};
-mxGraph.prototype.isVertexLabelsMovable = function() {
- return this.vertexLabelsMovable
-};
-mxGraph.prototype.setVertexLabelsMovable = function(a) {
- this.vertexLabelsMovable = a
-};
-mxGraph.prototype.isEdgeLabelsMovable = function() {
- return this.edgeLabelsMovable
-};
-mxGraph.prototype.setEdgeLabelsMovable = function(a) {
- this.edgeLabelsMovable = a
-};
-mxGraph.prototype.isSwimlaneNesting = function() {
- return this.swimlaneNesting
-};
-mxGraph.prototype.setSwimlaneNesting = function(a) {
- this.swimlaneNesting = a
-};
-mxGraph.prototype.isSwimlaneSelectionEnabled = function() {
- return this.swimlaneSelectionEnabled
-};
-mxGraph.prototype.setSwimlaneSelectionEnabled = function(a) {
- this.swimlaneSelectionEnabled = a
-};
-mxGraph.prototype.isMultigraph = function() {
- return this.multigraph
-};
-mxGraph.prototype.setMultigraph = function(a) {
- this.multigraph = a
-};
-mxGraph.prototype.isAllowLoops = function() {
- return this.allowLoops
-};
-mxGraph.prototype.setAllowDanglingEdges = function(a) {
- this.allowDanglingEdges = a
-};
-mxGraph.prototype.isAllowDanglingEdges = function() {
- return this.allowDanglingEdges
-};
-mxGraph.prototype.setConnectableEdges = function(a) {
- this.connectableEdges = a
-};
-mxGraph.prototype.isConnectableEdges = function() {
- return this.connectableEdges
-};
-mxGraph.prototype.setCloneInvalidEdges = function(a) {
- this.cloneInvalidEdges = a
-};
-mxGraph.prototype.isCloneInvalidEdges = function() {
- return this.cloneInvalidEdges
-};
-mxGraph.prototype.setAllowLoops = function(a) {
- this.allowLoops = a
-};
-mxGraph.prototype.isDisconnectOnMove = function() {
- return this.disconnectOnMove
-};
-mxGraph.prototype.setDisconnectOnMove = function(a) {
- this.disconnectOnMove = a
-};
-mxGraph.prototype.isDropEnabled = function() {
- return this.dropEnabled
-};
-mxGraph.prototype.setDropEnabled = function(a) {
- this.dropEnabled = a
-};
-mxGraph.prototype.isSplitEnabled = function() {
- return this.splitEnabled
-};
-mxGraph.prototype.setSplitEnabled = function(a) {
- this.splitEnabled = a
-};
-mxGraph.prototype.isCellResizable = function(a) {
- var b = this.view.getState(a),
- b = null != b ? b.style : this.getCellStyle(a);
- return this.isCellsResizable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_RESIZABLE]
-};
-mxGraph.prototype.isCellsResizable = function() {
- return this.cellsResizable
-};
-mxGraph.prototype.setCellsResizable = function(a) {
- this.cellsResizable = a
-};
-mxGraph.prototype.isTerminalPointMovable = function(a, b) {
- return !0
-};
-mxGraph.prototype.isCellBendable = function(a) {
- var b = this.view.getState(a),
- b = null != b ? b.style : this.getCellStyle(a);
- return this.isCellsBendable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_BENDABLE]
-};
-mxGraph.prototype.isCellsBendable = function() {
- return this.cellsBendable
-};
-mxGraph.prototype.setCellsBendable = function(a) {
- this.cellsBendable = a
-};
-mxGraph.prototype.isCellEditable = function(a) {
- var b = this.view.getState(a),
- b = null != b ? b.style : this.getCellStyle(a);
- return this.isCellsEditable() && !this.isCellLocked(a) && 0 != b[mxConstants.STYLE_EDITABLE]
-};
-mxGraph.prototype.isCellsEditable = function() {
- return this.cellsEditable
-};
-mxGraph.prototype.setCellsEditable = function(a) {
- this.cellsEditable = a
-};
-mxGraph.prototype.isCellDisconnectable = function(a, b, c) {
- return this.isCellsDisconnectable() && !this.isCellLocked(a)
-};
-mxGraph.prototype.isCellsDisconnectable = function() {
- return this.cellsDisconnectable
-};
-mxGraph.prototype.setCellsDisconnectable = function(a) {
- this.cellsDisconnectable = a
-};
-mxGraph.prototype.isValidSource = function(a) {
- return null == a && this.allowDanglingEdges || null != a && (!this.model.isEdge(a) || this.connectableEdges) && this.isCellConnectable(a)
-};
-mxGraph.prototype.isValidTarget = function(a) {
- return this.isValidSource(a)
-};
-mxGraph.prototype.isValidConnection = function(a, b) {
- return this.isValidSource(a) && this.isValidTarget(b)
-};
-mxGraph.prototype.setConnectable = function(a) {
- this.connectionHandler.setEnabled(a)
-};
-mxGraph.prototype.isConnectable = function(a) {
- return this.connectionHandler.isEnabled()
-};
-mxGraph.prototype.setTooltips = function(a) {
- this.tooltipHandler.setEnabled(a)
-};
-mxGraph.prototype.setPanning = function(a) {
- this.panningHandler.panningEnabled = a
-};
-mxGraph.prototype.isEditing = function(a) {
- if (null != this.cellEditor) {
- var b = this.cellEditor.getEditingCell();
- return null == a ? null != b : a == b
- }
- return !1
-};
-mxGraph.prototype.isAutoSizeCell = function(a) {
- var b = this.view.getState(a);
- a = null != b ? b.style : this.getCellStyle(a);
- return this.isAutoSizeCells() || 1 == a[mxConstants.STYLE_AUTOSIZE]
-};
-mxGraph.prototype.isAutoSizeCells = function() {
- return this.autoSizeCells
-};
-mxGraph.prototype.setAutoSizeCells = function(a) {
- this.autoSizeCells = a
-};
-mxGraph.prototype.isExtendParent = function(a) {
- return !this.getModel().isEdge(a) && this.isExtendParents()
-};
-mxGraph.prototype.isExtendParents = function() {
- return this.extendParents
-};
-mxGraph.prototype.setExtendParents = function(a) {
- this.extendParents = a
-};
-mxGraph.prototype.isExtendParentsOnAdd = function() {
- return this.extendParentsOnAdd
-};
-mxGraph.prototype.setExtendParentsOnAdd = function(a) {
- this.extendParentsOnAdd = a
-};
-mxGraph.prototype.isConstrainChild = function(a) {
- return this.isConstrainChildren() && !this.getModel().isEdge(this.getModel().getParent(a))
-};
-mxGraph.prototype.isConstrainChildren = function() {
- return this.constrainChildren
-};
-mxGraph.prototype.setConstrainChildren = function(a) {
- this.constrainChildren = a
-};
-mxGraph.prototype.isAllowNegativeCoordinates = function() {
- return this.allowNegativeCoordinates
-};
-mxGraph.prototype.setAllowNegativeCoordinates = function(a) {
- this.allowNegativeCoordinates = a
-};
-mxGraph.prototype.getOverlap = function(a) {
- return this.isAllowOverlapParent(a) ? this.defaultOverlap : 0
-};
-mxGraph.prototype.isAllowOverlapParent = function(a) {
- return !1
-};
-mxGraph.prototype.getFoldableCells = function(a, b) {
- return this.model.filterCells(a, mxUtils.bind(this, function(a) {
- return this.isCellFoldable(a, b)
- }))
-};
-mxGraph.prototype.isCellFoldable = function(a, b) {
- var c = this.view.getState(a),
- c = null != c ? c.style : this.getCellStyle(a);
- return 0 < this.model.getChildCount(a) && 0 != c[mxConstants.STYLE_FOLDABLE]
-};
-mxGraph.prototype.isValidDropTarget = function(a, b, c) {
- return null != a && (this.isSplitEnabled() && this.isSplitTarget(a, b, c) || !this.model.isEdge(a) && (this.isSwimlane(a) || 0 < this.model.getChildCount(a) && !this.isCellCollapsed(a)))
-};
-mxGraph.prototype.isSplitTarget = function(a, b, c) {
- return this.model.isEdge(a) && null != b && 1 == b.length && this.isCellConnectable(b[0]) && null == this.getEdgeValidationError(a, this.model.getTerminal(a, !0), b[0]) ? (c = this.model.getTerminal(
- a, !0), a = this.model.getTerminal(a, !1), !this.model.isAncestor(b[0], c) && !this.model.isAncestor(b[0], a)) : !1
-};
-mxGraph.prototype.getDropTarget = function(a, b, c) {
- if (!this.isSwimlaneNesting())
- for (var d = 0; d < a.length; d++)
- if (this.isSwimlane(a[d])) return null;
- d = mxUtils.convertPoint(this.container, mxEvent.getClientX(b), mxEvent.getClientY(b));
- d.x -= this.panDx;
- d.y -= this.panDy;
- d = this.getSwimlaneAt(d.x, d.y);
- if (null == c) c = d;
- else if (null != d) {
- for (var e = this.model.getParent(d); null != e && this.isSwimlane(e) && e != c;) e = this.model.getParent(e);
- e == c && (c = d)
- }
- for (; null != c && !this.isValidDropTarget(c, a, b) && !this.model.isLayer(c);) c = this.model.getParent(c);
- return !this.model.isLayer(c) && 0 > mxUtils.indexOf(a, c) ? c : null
-};
-mxGraph.prototype.getDefaultParent = function() {
- var a = this.defaultParent;
- null == a && (a = this.getCurrentRoot(), null == a && (a = this.model.getRoot(), a = this.model.getChildAt(a, 0)));
- return a
-};
-mxGraph.prototype.setDefaultParent = function(a) {
- this.defaultParent = a
-};
-mxGraph.prototype.getSwimlane = function(a) {
- for (; null != a && !this.isSwimlane(a);) a = this.model.getParent(a);
- return a
-};
-mxGraph.prototype.getSwimlaneAt = function(a, b, c) {
- c = c || this.getDefaultParent();
- if (null != c)
- for (var d = this.model.getChildCount(c), e = 0; e < d; e++) {
- var f = this.model.getChildAt(c, e),
- g = this.getSwimlaneAt(a, b, f);
- if (null != g) return g;
- if (this.isSwimlane(f) && (g = this.view.getState(f), this.intersects(g, a, b))) return f
- }
- return null
-};
-mxGraph.prototype.getCellAt = function(a, b, c, d, e) {
- d = null != d ? d : !0;
- e = null != e ? e : !0;
- c = null != c ? c : this.getDefaultParent();
- if (null != c)
- for (var f = this.model.getChildCount(c) - 1; 0 <= f; f--) {
- var g = this.model.getChildAt(c, f),
- h = this.getCellAt(a, b, g, d, e);
- if (null != h) return h;
- if (this.isCellVisible(g) && (e && this.model.isEdge(g) || d && this.model.isVertex(g)))
- if (h = this.view.getState(g), this.intersects(h, a, b)) return g
- }
- return null
-};
-mxGraph.prototype.intersects = function(a, b, c) {
- if (null != a) {
- var d = a.absolutePoints;
- if (null != d) {
- a = this.tolerance * this.tolerance;
- for (var e = d[0], f = 1; f < d.length; f++) {
- var g = d[f];
- if (mxUtils.ptSegDistSq(e.x, e.y, g.x, g.y, b, c) <= a) return !0;
- e = g
- }
- } else if (e = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0), 0 != e && (d = Math.cos(-e), e = Math.sin(-e), f = new mxPoint(a.getCenterX(), a.getCenterY()), e =
- mxUtils.getRotatedPoint(new mxPoint(b, c), d, e, f), b = e.x, c = e.y), mxUtils.contains(a, b, c)) return !0
- }
- return !1
-};
-mxGraph.prototype.hitsSwimlaneContent = function(a, b, c) {
- var d = this.getView().getState(a);
- a = this.getStartSize(a);
- if (null != d) {
- var e = this.getView().getScale();
- b -= d.x;
- c -= d.y;
- if (0 < a.width && 0 < b && b > a.width * e || 0 < a.height && 0 < c && c > a.height * e) return !0
- }
- return !1
-};
-mxGraph.prototype.getChildVertices = function(a) {
- return this.getChildCells(a, !0, !1)
-};
-mxGraph.prototype.getChildEdges = function(a) {
- return this.getChildCells(a, !1, !0)
-};
-mxGraph.prototype.getChildCells = function(a, b, c) {
- a = null != a ? a : this.getDefaultParent();
- a = this.model.getChildCells(a, null != b ? b : !1, null != c ? c : !1);
- b = [];
- for (c = 0; c < a.length; c++) this.isCellVisible(a[c]) && b.push(a[c]);
- return b
-};
-mxGraph.prototype.getConnections = function(a, b) {
- return this.getEdges(a, b, !0, !0, !1)
-};
-mxGraph.prototype.getIncomingEdges = function(a, b) {
- return this.getEdges(a, b, !0, !1, !1)
-};
-mxGraph.prototype.getOutgoingEdges = function(a, b) {
- return this.getEdges(a, b, !1, !0, !1)
-};
-mxGraph.prototype.getEdges = function(a, b, c, d, e, f) {
- c = null != c ? c : !0;
- d = null != d ? d : !0;
- e = null != e ? e : !0;
- f = null != f ? f : !1;
- for (var g = [], h = this.isCellCollapsed(a), k = this.model.getChildCount(a), l = 0; l < k; l++) {
- var m = this.model.getChildAt(a, l);
- if (h || !this.isCellVisible(m)) g = g.concat(this.model.getEdges(m, c, d))
- }
- g = g.concat(this.model.getEdges(a, c, d));
- h = [];
- for (l = 0; l < g.length; l++) m = this.view.getState(g[l]), k = null != m ? m.getVisibleTerminal(!0) : this.view.getVisibleTerminal(g[l], !0), m = null != m ? m.getVisibleTerminal(!1) : this.view
- .getVisibleTerminal(g[l], !1), (e && k == m || k != m && (c && m == a && (null == b || this.isValidAncestor(k, b, f)) || d && k == a && (null == b || this.isValidAncestor(m, b, f)))) && h.push(
- g[l]);
- return h
-};
-mxGraph.prototype.isValidAncestor = function(a, b, c) {
- return c ? this.model.isAncestor(b, a) : this.model.getParent(a) == b
-};
-mxGraph.prototype.getOpposites = function(a, b, c, d) {
- c = null != c ? c : !0;
- d = null != d ? d : !0;
- var e = [],
- f = {};
- if (null != a)
- for (var g = 0; g < a.length; g++) {
- var h = this.view.getState(a[g]),
- k = null != h ? h.getVisibleTerminal(!0) : this.view.getVisibleTerminal(a[g], !0),
- h = null != h ? h.getVisibleTerminal(!1) : this.view.getVisibleTerminal(a[g], !1);
- if (k == b && null != h && h != b && d) {
- var l = mxCellPath.create(h);
- null == f[l] && (f[l] = h, e.push(h))
- } else h == b && (null != k && k != b && c) && (l = mxCellPath.create(k), null == f[l] && (f[l] = k, e.push(k)))
- }
- return e
-};
-mxGraph.prototype.getEdgesBetween = function(a, b, c) {
- c = null != c ? c : !1;
- for (var d = this.getEdges(a), e = [], f = 0; f < d.length; f++) {
- var g = this.view.getState(d[f]),
- h = null != g ? g.getVisibleTerminal(!0) : this.view.getVisibleTerminal(d[f], !0),
- g = null != g ? g.getVisibleTerminal(!1) : this.view.getVisibleTerminal(d[f], !1);
- (h == a && g == b || !c && h == b && g == a) && e.push(d[f])
- }
- return e
-};
-mxGraph.prototype.getPointForEvent = function(a, b) {
- var c = mxUtils.convertPoint(this.container, mxEvent.getClientX(a), mxEvent.getClientY(a)),
- d = this.view.scale,
- e = this.view.translate,
- f = !1 != b ? this.gridSize / 2 : 0;
- c.x = this.snap(c.x / d - e.x - f);
- c.y = this.snap(c.y / d - e.y - f);
- return c
-};
-mxGraph.prototype.getCells = function(a, b, c, d, e, f) {
- f = null != f ? f : [];
- if (0 < c || 0 < d) {
- var g = a + c,
- h = b + d;
- e = e || this.getDefaultParent();
- if (null != e)
- for (var k = this.model.getChildCount(e), l = 0; l < k; l++) {
- var m = this.model.getChildAt(e, l),
- n = this.view.getState(m);
- if (this.isCellVisible(m) && null != n) {
- var p = n,
- n = mxUtils.getValue(n.style, mxConstants.STYLE_ROTATION) || 0;
- 0 != n && (p = mxUtils.getBoundingBox(p, n));
- p.x >= a && p.y + p.height <= h && p.y >= b && p.x + p.width <= g ? f.push(m) : this.getCells(a, b, c, d, m, f)
- }
- }
- }
- return f
-};
-mxGraph.prototype.getCellsBeyond = function(a, b, c, d, e) {
- var f = [];
- if (d || e)
- if (null == c && (c = this.getDefaultParent()), null != c)
- for (var g = this.model.getChildCount(c), h = 0; h < g; h++) {
- var k = this.model.getChildAt(c, h),
- l = this.view.getState(k);
- this.isCellVisible(k) && null != l && (!d || l.x >= a) && (!e || l.y >= b) && f.push(k)
- }
- return f
-};
-mxGraph.prototype.findTreeRoots = function(a, b, c) {
- b = null != b ? b : !1;
- c = null != c ? c : !1;
- var d = [];
- if (null != a) {
- for (var e = this.getModel(), f = e.getChildCount(a), g = null, h = 0, k = 0; k < f; k++) {
- var l = e.getChildAt(a, k);
- if (this.model.isVertex(l) && this.isCellVisible(l)) {
- for (var m = this.getConnections(l, b ? a : null), n = 0, p = 0, q = 0; q < m.length; q++) this.view.getVisibleTerminal(m[q], !0) == l ? n++ : p++;
- (c && 0 == n && 0 < p || !c && 0 == p && 0 < n) && d.push(l);
- m = c ? p - n : n - p;
- m > h && (h = m, g = l)
- }
- }
- 0 == d.length && null != g && d.push(g)
- }
- return d
-};
-mxGraph.prototype.traverse = function(a, b, c, d, e) {
- if (null != c && null != a) {
- b = null != b ? b : !0;
- e = e || [];
- var f = mxCellPath.create(a);
- if (null == e[f] && (e[f] = a, d = c(a, d), null == d || d))
- if (d = this.model.getEdgeCount(a), 0 < d)
- for (f = 0; f < d; f++) {
- var g = this.model.getEdgeAt(a, f),
- h = this.model.getTerminal(g, !0) == a;
- if (!b || h) h = this.model.getTerminal(g, !h), this.traverse(h, b, c, g, e)
- }
- }
-};
-mxGraph.prototype.isCellSelected = function(a) {
- return this.getSelectionModel().isSelected(a)
-};
-mxGraph.prototype.isSelectionEmpty = function() {
- return this.getSelectionModel().isEmpty()
-};
-mxGraph.prototype.clearSelection = function() {
- return this.getSelectionModel().clear()
-};
-mxGraph.prototype.getSelectionCount = function() {
- return this.getSelectionModel().cells.length
-};
-mxGraph.prototype.getSelectionCell = function() {
- return this.getSelectionModel().cells[0]
-};
-mxGraph.prototype.getSelectionCells = function() {
- return this.getSelectionModel().cells.slice()
-};
-mxGraph.prototype.setSelectionCell = function(a) {
- this.getSelectionModel().setCell(a)
-};
-mxGraph.prototype.setSelectionCells = function(a) {
- this.getSelectionModel().setCells(a)
-};
-mxGraph.prototype.addSelectionCell = function(a) {
- this.getSelectionModel().addCell(a)
-};
-mxGraph.prototype.addSelectionCells = function(a) {
- this.getSelectionModel().addCells(a)
-};
-mxGraph.prototype.removeSelectionCell = function(a) {
- this.getSelectionModel().removeCell(a)
-};
-mxGraph.prototype.removeSelectionCells = function(a) {
- this.getSelectionModel().removeCells(a)
-};
-mxGraph.prototype.selectRegion = function(a, b) {
- var c = this.getCells(a.x, a.y, a.width, a.height);
- this.selectCellsForEvent(c, b);
- return c
-};
-mxGraph.prototype.selectNextCell = function() {
- this.selectCell(!0)
-};
-mxGraph.prototype.selectPreviousCell = function() {
- this.selectCell()
-};
-mxGraph.prototype.selectParentCell = function() {
- this.selectCell(!1, !0)
-};
-mxGraph.prototype.selectChildCell = function() {
- this.selectCell(!1, !1, !0)
-};
-mxGraph.prototype.selectCell = function(a, b, c) {
- var d = this.selectionModel,
- e = 0 < d.cells.length ? d.cells[0] : null;
- 1 < d.cells.length && d.clear();
- var d = null != e ? this.model.getParent(e) : this.getDefaultParent(),
- f = this.model.getChildCount(d);
- null == e && 0 < f ? (a = this.model.getChildAt(d, 0), this.setSelectionCell(a)) : (null == e || b) && null != this.view.getState(d) && null != this.model.getGeometry(d) ? this.getCurrentRoot() !=
- d && this.setSelectionCell(d) : null != e && c ? 0 < this.model.getChildCount(e) && (a = this.model.getChildAt(e, 0), this.setSelectionCell(a)) :
- 0 < f && (b = d.getIndex(e), a ? (b++, a = this.model.getChildAt(d, b % f)) : (b--, a = this.model.getChildAt(d, 0 > b ? f - 1 : b)), this.setSelectionCell(a))
-};
-mxGraph.prototype.selectAll = function(a) {
- a = a || this.getDefaultParent();
- a = this.model.getChildren(a);
- null != a && this.setSelectionCells(a)
-};
-mxGraph.prototype.selectVertices = function(a) {
- this.selectCells(!0, !1, a)
-};
-mxGraph.prototype.selectEdges = function(a) {
- this.selectCells(!1, !0, a)
-};
-mxGraph.prototype.selectCells = function(a, b, c) {
- c = c || this.getDefaultParent();
- var d = mxUtils.bind(this, function(c) {
- return null != this.view.getState(c) && 0 == this.model.getChildCount(c) && (this.model.isVertex(c) && a || this.model.isEdge(c) && b)
- });
- c = this.model.filterDescendants(d, c);
- this.setSelectionCells(c)
-};
-mxGraph.prototype.selectCellForEvent = function(a, b) {
- var c = this.isCellSelected(a);
- this.isToggleEvent(b) ? c ? this.removeSelectionCell(a) : this.addSelectionCell(a) : (!c || 1 != this.getSelectionCount()) && this.setSelectionCell(a)
-};
-mxGraph.prototype.selectCellsForEvent = function(a, b) {
- this.isToggleEvent(b) ? this.addSelectionCells(a) : this.setSelectionCells(a)
-};
-mxGraph.prototype.createHandler = function(a) {
- var b = null;
- null != a && (this.model.isEdge(a.cell) ? (b = this.view.getEdgeStyle(a), b = this.isLoop(a) || b == mxEdgeStyle.ElbowConnector || b == mxEdgeStyle.SideToSide || b == mxEdgeStyle.TopToBottom ?
- new mxElbowEdgeHandler(a) : b == mxEdgeStyle.SegmentConnector || b == mxEdgeStyle.OrthConnector ? new mxEdgeSegmentHandler(a) : new mxEdgeHandler(a)) : b = new mxVertexHandler(a));
- return b
-};
-mxGraph.prototype.addMouseListener = function(a) {
- null == this.mouseListeners && (this.mouseListeners = []);
- this.mouseListeners.push(a)
-};
-mxGraph.prototype.removeMouseListener = function(a) {
- if (null != this.mouseListeners)
- for (var b = 0; b < this.mouseListeners.length; b++)
- if (this.mouseListeners[b] == a) {
- this.mouseListeners.splice(b, 1);
- break
- }
-};
-mxGraph.prototype.updateMouseEvent = function(a) {
- if (null == a.graphX || null == a.graphY) {
- var b = mxUtils.convertPoint(this.container, a.getX(), a.getY());
- a.graphX = b.x - this.panDx;
- a.graphY = b.y - this.panDy
- }
-};
-mxGraph.prototype.fireMouseEvent = function(a, b, c) {
- null == c && (c = this);
- this.updateMouseEvent(b);
- a == mxEvent.MOUSE_DOWN && (this.isMouseDown = !0);
- if (mxClient.IS_TOUCH && this.doubleTapEnabled && a == mxEvent.MOUSE_DOWN) {
- var d = (new Date).getTime();
- d - this.lastTouchTime < this.doubleTapTimeout && Math.abs(this.lastTouchX - b.getX()) < this.doubleTapTolerance && Math.abs(this.lastTouchY - b.getY()) < this.doubleTapTolerance ? (this.lastTouchTime =
- 0, this.dblClick(b.getEvent(), b.getCell()), b.getEvent().cancelBubble = !0) : (this.lastTouchX =
- b.getX(), this.lastTouchY = b.getY(), this.lastTouchTime = d)
- }
- d = 2 != b.getEvent().detail;
- if (mxClient.IS_IE && "CSS1Compat" == document.compatMode) {
- if (null != this.lastMouseX && Math.abs(this.lastMouseX - b.getX()) > this.doubleTapTolerance || null != this.lastMouseY && Math.abs(this.lastMouseY - b.getY()) > this.doubleTapTolerance) d = !
- 0;
- a == mxEvent.MOUSE_UP && (this.lastMouseX = b.getX(), this.lastMouseY = b.getY())
- }
- if ((a != mxEvent.MOUSE_UP || this.isMouseDown) && d) {
- if (a == mxEvent.MOUSE_UP && (this.isMouseDown = !1), !this.isEditing() && (mxClient.IS_OP ||
- mxClient.IS_SF || mxClient.IS_GC || mxClient.IS_IE && mxClient.IS_SVG || b.getEvent().target != this.container)) {
- a == mxEvent.MOUSE_MOVE && (this.isMouseDown && this.autoScroll) && this.scrollPointToVisible(b.getGraphX(), b.getGraphY(), this.autoExtend);
- if (null != this.mouseListeners) {
- c = [c, b];
- b.getEvent().returnValue = !0;
- for (d = 0; d < this.mouseListeners.length; d++) {
- var e = this.mouseListeners[d];
- a == mxEvent.MOUSE_DOWN ? e.mouseDown.apply(e, c) : a == mxEvent.MOUSE_MOVE ? e.mouseMove.apply(e, c) : a == mxEvent.MOUSE_UP && e.mouseUp.apply(e, c)
- }
- }
- a ==
- mxEvent.MOUSE_UP && this.click(b)
- }
- } else a == mxEvent.MOUSE_UP && (this.isMouseDown = !1)
-};
-mxGraph.prototype.destroy = function() {
- this.destroyed || (this.destroyed = !0, null != this.tooltipHandler && this.tooltipHandler.destroy(), null != this.selectionCellsHandler && this.selectionCellsHandler.destroy(), null != this.panningHandler &&
- this.panningHandler.destroy(), null != this.connectionHandler && this.connectionHandler.destroy(), null != this.graphHandler && this.graphHandler.destroy(), null != this.cellEditor && this.cellEditor
- .destroy(), null != this.view && this.view.destroy(), null != this.model && null != this.graphModelChangeListener &&
- (this.model.removeListener(this.graphModelChangeListener), this.graphModelChangeListener = null), this.container = null)
-};
-
-function mxCellOverlay(a, b, c, d, e, f) {
- this.image = a;
- this.tooltip = b;
- this.align = null != c ? c : this.align;
- this.verticalAlign = null != d ? d : this.verticalAlign;
- this.offset = null != e ? e : new mxPoint;
- this.cursor = null != f ? f : "help"
-}
-mxCellOverlay.prototype = new mxEventSource;
-mxCellOverlay.prototype.constructor = mxCellOverlay;
-mxCellOverlay.prototype.image = null;
-mxCellOverlay.prototype.tooltip = null;
-mxCellOverlay.prototype.align = mxConstants.ALIGN_RIGHT;
-mxCellOverlay.prototype.verticalAlign = mxConstants.ALIGN_BOTTOM;
-mxCellOverlay.prototype.offset = null;
-mxCellOverlay.prototype.cursor = null;
-mxCellOverlay.prototype.defaultOverlap = 0.5;
-mxCellOverlay.prototype.getBounds = function(a) {
- var b = a.view.graph.getModel().isEdge(a.cell),
- c = a.view.scale,
- d = null,
- e = this.image.width,
- f = this.image.height;
- b ? (b = a.absolutePoints, 1 == b.length % 2 ? d = b[Math.floor(b.length / 2)] : (d = b.length / 2, a = b[d - 1], b = b[d], d = new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2))) : (d =
- new mxPoint, d.x = this.align == mxConstants.ALIGN_LEFT ? a.x : this.align == mxConstants.ALIGN_CENTER ? a.x + a.width / 2 : a.x + a.width, d.y = this.verticalAlign == mxConstants.ALIGN_TOP ?
- a.y : this.verticalAlign == mxConstants.ALIGN_MIDDLE ?
- a.y + a.height / 2 : a.y + a.height);
- return new mxRectangle(Math.round(d.x - (e * this.defaultOverlap - this.offset.x) * c), Math.round(d.y - (f * this.defaultOverlap - this.offset.y) * c), e * c, f * c)
-};
-mxCellOverlay.prototype.toString = function() {
- return this.tooltip
-};
-
-function mxOutline(a, b) {
- this.source = a;
- null != b && this.init(b)
-}
-mxOutline.prototype.source = null;
-mxOutline.prototype.outline = null;
-mxOutline.prototype.graphRenderHint = mxConstants.RENDERING_HINT_FASTER;
-mxOutline.prototype.enabled = !0;
-mxOutline.prototype.showViewport = !0;
-mxOutline.prototype.border = 10;
-mxOutline.prototype.sizerSize = 8;
-mxOutline.prototype.updateOnPan = !1;
-mxOutline.prototype.sizerImage = null;
-mxOutline.prototype.suspended = !1;
-mxOutline.prototype.init = function(a) {
- this.outline = new mxGraph(a, this.source.getModel(), this.graphRenderHint, this.source.getStylesheet());
- this.outline.foldingEnabled = !1;
- this.outline.autoScroll = !1;
- var b = this.outline.graphModelChanged;
- this.outline.graphModelChanged = mxUtils.bind(this, function(a) {
- !this.suspended && null != this.outline && b.apply(this.outline, arguments)
- });
- mxClient.IS_SVG && (a = this.outline.getView().getCanvas().parentNode, a.setAttribute("shape-rendering", "optimizeSpeed"), a.setAttribute("image-rendering",
- "optimizeSpeed"));
- this.outline.labelsVisible = !1;
- this.outline.setEnabled(!1);
- this.updateHandler = mxUtils.bind(this, function(a, b) {
- !this.suspended && !this.active && this.update()
- });
- this.source.getModel().addListener(mxEvent.CHANGE, this.updateHandler);
- this.outline.addMouseListener(this);
- a = this.source.getView();
- a.addListener(mxEvent.SCALE, this.updateHandler);
- a.addListener(mxEvent.TRANSLATE, this.updateHandler);
- a.addListener(mxEvent.SCALE_AND_TRANSLATE, this.updateHandler);
- a.addListener(mxEvent.DOWN, this.updateHandler);
- a.addListener(mxEvent.UP, this.updateHandler);
- mxEvent.addListener(this.source.container, "scroll", this.updateHandler);
- this.panHandler = mxUtils.bind(this, function(a) {
- this.updateOnPan && this.updateHandler.apply(this, arguments)
- });
- this.source.addListener(mxEvent.PAN, this.panHandler);
- this.refreshHandler = mxUtils.bind(this, function(a) {
- this.outline.setStylesheet(this.source.getStylesheet());
- this.outline.refresh()
- });
- this.source.addListener(mxEvent.REFRESH, this.refreshHandler);
- this.bounds = new mxRectangle(0, 0, 0,
- 0);
- this.selectionBorder = new mxRectangleShape(this.bounds, null, mxConstants.OUTLINE_COLOR, mxConstants.OUTLINE_STROKEWIDTH);
- this.selectionBorder.dialect = this.outline.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
- this.selectionBorder.init(this.outline.getView().getOverlayPane());
- mxEvent.redirectMouseEvents(this.selectionBorder.node, this.outline);
- this.selectionBorder.node.style.background = "";
- this.sizer = this.createSizer();
- this.sizer.init(this.outline.getView().getOverlayPane());
- this.enabled && (this.sizer.node.style.cursor = "pointer");
- mxEvent.addListener(this.sizer.node, mxClient.IS_TOUCH ? "touchstart" : "mousedown", mxUtils.bind(this, function(a) {
- this.outline.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a))
- }));
- this.selectionBorder.node.style.display = this.showViewport ? "" : "none";
- this.sizer.node.style.display = this.selectionBorder.node.style.display;
- this.selectionBorder.node.style.cursor = "move";
- this.update(!1)
-};
-mxOutline.prototype.isEnabled = function() {
- return this.enabled
-};
-mxOutline.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxOutline.prototype.setZoomEnabled = function(a) {
- this.sizer.node.style.visibility = a ? "visible" : "hidden"
-};
-mxOutline.prototype.refresh = function() {
- this.update(!0)
-};
-mxOutline.prototype.createSizer = function() {
- var a = null != this.sizerImage ? new mxImageShape(new mxRectangle(0, 0, this.sizerImage.width, this.sizerImage.height), this.sizerImage.src) : new mxRectangleShape(new mxRectangle(0, 0, this.sizerSize,
- this.sizerSize), mxConstants.OUTLINE_HANDLE_FILLCOLOR, mxConstants.OUTLINE_HANDLE_STROKECOLOR);
- a.dialect = this.outline.dialect;
- return a
-};
-mxOutline.prototype.getSourceContainerSize = function() {
- return new mxRectangle(0, 0, this.source.container.scrollWidth, this.source.container.scrollHeight)
-};
-mxOutline.prototype.getOutlineOffset = function(a) {
- return null
-};
-mxOutline.prototype.update = function(a) {
- if (null != this.source) {
- var b = this.source.view.scale,
- c = this.source.getGraphBounds(),
- c = new mxRectangle(c.x / b + this.source.panDx, c.y / b + this.source.panDy, c.width / b, c.height / b),
- d = new mxRectangle(0, 0, this.source.container.clientWidth / b, this.source.container.clientHeight / b),
- e = c.clone();
- e.add(d);
- var f = this.getSourceContainerSize(),
- d = Math.max(f.width / b, e.width),
- b = Math.max(f.height / b, e.height),
- e = Math.max(0, this.outline.container.clientWidth - this.border),
- f = Math.max(0, this.outline.container.clientHeight -
- this.border),
- e = Math.min(e / d, f / b);
- if (0 < e) {
- this.outline.getView().scale != e && (this.outline.getView().scale = e, a = !0);
- d = this.outline.getView();
- d.currentRoot != this.source.getView().currentRoot && d.setCurrentRoot(this.source.getView().currentRoot);
- var b = this.source.view.translate,
- f = b.x + this.source.panDx,
- g = b.y + this.source.panDy,
- e = this.getOutlineOffset(e);
- null != e && (f += e.x, g += e.y);
- 0 > c.x && (f -= c.x);
- 0 > c.y && (g -= c.y);
- if (d.translate.x != f || d.translate.y != g) d.translate.x = f, d.translate.y = g, a = !0;
- var c = d.translate,
- e = this.source.getView().scale,
- f = e / d.scale,
- g = 1 / d.scale,
- h = this.source.container;
- this.bounds = new mxRectangle((c.x - b.x - this.source.panDx) / g, (c.y - b.y - this.source.panDy) / g, h.clientWidth / f, h.clientHeight / f);
- this.bounds.x += this.source.container.scrollLeft * d.scale / e;
- this.bounds.y += this.source.container.scrollTop * d.scale / e;
- c = this.selectionBorder.bounds;
- if (c.x != this.bounds.x || c.y != this.bounds.y || c.width != this.bounds.width || c.height != this.bounds.height) this.selectionBorder.bounds = this.bounds, this.selectionBorder.redraw();
- c = this.sizer.bounds;
- d = new mxRectangle(this.bounds.x + this.bounds.width - c.width / 2, this.bounds.y + this.bounds.height - c.height / 2, c.width, c.height);
- if (c.x != d.x || c.y != d.y || c.width != d.width || c.height != d.height) this.sizer.bounds = d, "hidden" != this.sizer.node.style.visibility && this.sizer.redraw();
- a && this.outline.view.revalidate()
- }
- }
-};
-mxOutline.prototype.mouseDown = function(a, b) {
- this.enabled && this.showViewport && (this.zoom = b.isSource(this.sizer), this.startX = b.getX(), this.startY = b.getY(), this.active = !0, this.source.useScrollbarsForPanning && mxUtils.hasScrollbars(
- this.source.container) ? (this.dx0 = this.source.container.scrollLeft, this.dy0 = this.source.container.scrollTop) : this.dy0 = this.dx0 = 0);
- b.consume()
-};
-mxOutline.prototype.mouseMove = function(a, b) {
- if (this.active) {
- this.selectionBorder.node.style.display = this.showViewport ? "" : "none";
- this.sizer.node.style.display = this.selectionBorder.node.style.display;
- var c = b.getX() - this.startX,
- d = b.getY() - this.startY,
- e = null;
- if (this.zoom) e = this.source.container, d = c / (e.clientWidth / e.clientHeight), e = new mxRectangle(this.bounds.x, this.bounds.y, Math.max(1, this.bounds.width + c), Math.max(1, this.bounds
- .height + d)), this.selectionBorder.bounds = e, this.selectionBorder.redraw();
- else {
- var f =
- this.outline.getView().scale,
- e = new mxRectangle(this.bounds.x + c, this.bounds.y + d, this.bounds.width, this.bounds.height);
- this.selectionBorder.bounds = e;
- this.selectionBorder.redraw();
- c = c / f * this.source.getView().scale;
- d = d / f * this.source.getView().scale;
- this.source.panGraph(-c - this.dx0, -d - this.dy0)
- }
- c = this.sizer.bounds;
- this.sizer.bounds = new mxRectangle(e.x + e.width - c.width / 2, e.y + e.height - c.height / 2, c.width, c.height);
- "hidden" != this.sizer.node.style.visibility && this.sizer.redraw();
- b.consume()
- }
-};
-mxOutline.prototype.mouseUp = function(a, b) {
- if (this.active) {
- var c = b.getX() - this.startX,
- d = b.getY() - this.startY;
- if (0 < Math.abs(c) || 0 < Math.abs(d)) {
- if (this.zoom) {
- var d = this.selectionBorder.bounds.width,
- e = this.source.getView().scale;
- this.source.zoomTo(e - c * e / d, !1)
- } else if (!this.source.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.source.container)) this.source.panGraph(0, 0), c /= this.outline.getView().scale, d /= this.outline.getView().scale,
- e = this.source.getView().translate, this.source.getView().setTranslate(e.x -
- c, e.y - d);
- this.update();
- b.consume()
- }
- this.index = null;
- this.active = !1
- }
-};
-mxOutline.prototype.destroy = function() {
- null != this.source && (this.source.removeListener(this.panHandler), this.source.removeListener(this.refreshHandler), this.source.getModel().removeListener(this.updateHandler), this.source.getView()
- .removeListener(this.updateHandler), mxEvent.addListener(this.source.container, "scroll", this.updateHandler), this.source = null);
- null != this.outline && (this.outline.removeMouseListener(this), this.outline.destroy(), this.outline = null);
- null != this.selectionBorder && (this.selectionBorder.destroy(),
- this.selectionBorder = null);
- null != this.sizer && (this.sizer.destroy(), this.sizer = null)
-};
-
-function mxMultiplicity(a, b, c, d, e, f, g, h, k, l) {
- this.source = a;
- this.type = b;
- this.attr = c;
- this.value = d;
- this.min = null != e ? e : 0;
- this.max = null != f ? f : "n";
- this.validNeighbors = g;
- this.countError = mxResources.get(h) || h;
- this.typeError = mxResources.get(k) || k;
- this.validNeighborsAllowed = null != l ? l : !0
-}
-mxMultiplicity.prototype.type = null;
-mxMultiplicity.prototype.attr = null;
-mxMultiplicity.prototype.value = null;
-mxMultiplicity.prototype.source = null;
-mxMultiplicity.prototype.min = null;
-mxMultiplicity.prototype.max = null;
-mxMultiplicity.prototype.validNeighbors = null;
-mxMultiplicity.prototype.validNeighborsAllowed = !0;
-mxMultiplicity.prototype.countError = null;
-mxMultiplicity.prototype.typeError = null;
-mxMultiplicity.prototype.check = function(a, b, c, d, e, f) {
- var g = "";
- if (this.source && this.checkTerminal(a, c, b) || !this.source && this.checkTerminal(a, d, b)) {
- if (null != this.countError && (this.source && (0 == this.max || e >= this.max) || !this.source && (0 == this.max || f >= this.max))) g += this.countError + "\n";
- null != this.validNeighbors && (null != this.typeError && 0 < this.validNeighbors.length) && (this.checkNeighbors(a, b, c, d) || (g += this.typeError + "\n"))
- }
- return 0 < g.length ? g : null
-};
-mxMultiplicity.prototype.checkNeighbors = function(a, b, c, d) {
- b = a.model.getValue(c);
- d = a.model.getValue(d);
- c = !this.validNeighborsAllowed;
- for (var e = this.validNeighbors, f = 0; f < e.length; f++)
- if (this.source && this.checkType(a, d, e[f])) {
- c = this.validNeighborsAllowed;
- break
- } else if (!this.source && this.checkType(a, b, e[f])) {
- c = this.validNeighborsAllowed;
- break
- }
- return c
-};
-mxMultiplicity.prototype.checkTerminal = function(a, b, c) {
- b = a.model.getValue(b);
- return this.checkType(a, b, this.type, this.attr, this.value)
-};
-mxMultiplicity.prototype.checkType = function(a, b, c, d, e) {
- return null != b ? isNaN(b.nodeType) ? b == c : mxUtils.isNode(b, c, d, e) : !1
-};
-
-function mxLayoutManager(a) {
- this.undoHandler = mxUtils.bind(this, function(a, c) {
- this.isEnabled() && this.beforeUndo(c.getProperty("edit"))
- });
- this.moveHandler = mxUtils.bind(this, function(a, c) {
- this.isEnabled() && this.cellsMoved(c.getProperty("cells"), c.getProperty("event"))
- });
- this.setGraph(a)
-}
-mxLayoutManager.prototype = new mxEventSource;
-mxLayoutManager.prototype.constructor = mxLayoutManager;
-mxLayoutManager.prototype.graph = null;
-mxLayoutManager.prototype.bubbling = !0;
-mxLayoutManager.prototype.enabled = !0;
-mxLayoutManager.prototype.updateHandler = null;
-mxLayoutManager.prototype.moveHandler = null;
-mxLayoutManager.prototype.isEnabled = function() {
- return this.enabled
-};
-mxLayoutManager.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxLayoutManager.prototype.isBubbling = function() {
- return this.bubbling
-};
-mxLayoutManager.prototype.setBubbling = function(a) {
- this.bubbling = a
-};
-mxLayoutManager.prototype.getGraph = function() {
- return this.graph
-};
-mxLayoutManager.prototype.setGraph = function(a) {
- if (null != this.graph) {
- var b = this.graph.getModel();
- b.removeListener(this.undoHandler);
- this.graph.removeListener(this.moveHandler)
- }
- this.graph = a;
- null != this.graph && (b = this.graph.getModel(), b.addListener(mxEvent.BEFORE_UNDO, this.undoHandler), this.graph.addListener(mxEvent.MOVE_CELLS, this.moveHandler))
-};
-mxLayoutManager.prototype.getLayout = function(a) {
- return null
-};
-mxLayoutManager.prototype.beforeUndo = function(a) {
- a = this.getCellsForChanges(a.changes);
- var b = this.getGraph().getModel();
- if (this.isBubbling())
- for (var c = b.getParents(a); 0 < c.length;) a = a.concat(c), c = b.getParents(c);
- this.layoutCells(mxUtils.sortCells(a, !1))
-};
-mxLayoutManager.prototype.cellsMoved = function(a, b) {
- if (null != a && null != b)
- for (var c = mxUtils.convertPoint(this.getGraph().container, mxEvent.getClientX(b), mxEvent.getClientY(b)), d = this.getGraph().getModel(), e = 0; e < a.length; e++) {
- var f = this.getLayout(d.getParent(a[e]));
- null != f && f.moveCell(a[e], c.x, c.y)
- }
-};
-mxLayoutManager.prototype.getCellsForChanges = function(a) {
- for (var b = [], c = {}, d = 0; d < a.length; d++) {
- var e = a[d];
- if (e instanceof mxRootChange) return [];
- for (var e = this.getCellsForChange(e), f = 0; f < e.length; f++)
- if (null != e[f]) {
- var g = mxCellPath.create(e[f]);
- null == c[g] && (c[g] = e[f], b.push(e[f]))
- }
- }
- return b
-};
-mxLayoutManager.prototype.getCellsForChange = function(a) {
- var b = this.getGraph().getModel();
- return a instanceof mxChildChange ? [a.child, a.previous, b.getParent(a.child)] : a instanceof mxTerminalChange || a instanceof mxGeometryChange ? [a.cell, b.getParent(a.cell)] : []
-};
-mxLayoutManager.prototype.layoutCells = function(a) {
- if (0 < a.length) {
- var b = this.getGraph().getModel();
- b.beginUpdate();
- try {
- for (var c = null, d = 0; d < a.length; d++) a[d] != b.getRoot() && a[d] != c && (c = a[d], this.executeLayout(this.getLayout(c), c));
- this.fireEvent(new mxEventObject(mxEvent.LAYOUT_CELLS, "cells", a))
- } finally {
- b.endUpdate()
- }
- }
-};
-mxLayoutManager.prototype.executeLayout = function(a, b) {
- null != a && null != b && a.execute(b)
-};
-mxLayoutManager.prototype.destroy = function() {
- this.setGraph(null)
-};
-
-function mxSpaceManager(a, b, c, d) {
- this.resizeHandler = mxUtils.bind(this, function(a, b) {
- this.isEnabled() && this.cellsResized(b.getProperty("cells"))
- });
- this.foldHandler = mxUtils.bind(this, function(a, b) {
- this.isEnabled() && this.cellsResized(b.getProperty("cells"))
- });
- this.shiftRightwards = null != b ? b : !0;
- this.shiftDownwards = null != c ? c : !0;
- this.extendParents = null != d ? d : !0;
- this.setGraph(a)
-}
-mxSpaceManager.prototype = new mxEventSource;
-mxSpaceManager.prototype.constructor = mxSpaceManager;
-mxSpaceManager.prototype.graph = null;
-mxSpaceManager.prototype.enabled = !0;
-mxSpaceManager.prototype.shiftRightwards = !0;
-mxSpaceManager.prototype.shiftDownwards = !0;
-mxSpaceManager.prototype.extendParents = !0;
-mxSpaceManager.prototype.resizeHandler = null;
-mxSpaceManager.prototype.foldHandler = null;
-mxSpaceManager.prototype.isCellIgnored = function(a) {
- return !this.getGraph().getModel().isVertex(a)
-};
-mxSpaceManager.prototype.isCellShiftable = function(a) {
- return this.getGraph().getModel().isVertex(a) && this.getGraph().isCellMovable(a)
-};
-mxSpaceManager.prototype.isEnabled = function() {
- return this.enabled
-};
-mxSpaceManager.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxSpaceManager.prototype.isShiftRightwards = function() {
- return this.shiftRightwards
-};
-mxSpaceManager.prototype.setShiftRightwards = function(a) {
- this.shiftRightwards = a
-};
-mxSpaceManager.prototype.isShiftDownwards = function() {
- return this.shiftDownwards
-};
-mxSpaceManager.prototype.setShiftDownwards = function(a) {
- this.shiftDownwards = a
-};
-mxSpaceManager.prototype.isExtendParents = function() {
- return this.extendParents
-};
-mxSpaceManager.prototype.setExtendParents = function(a) {
- this.extendParents = a
-};
-mxSpaceManager.prototype.getGraph = function() {
- return this.graph
-};
-mxSpaceManager.prototype.setGraph = function(a) {
- null != this.graph && (this.graph.removeListener(this.resizeHandler), this.graph.removeListener(this.foldHandler));
- this.graph = a;
- null != this.graph && (this.graph.addListener(mxEvent.RESIZE_CELLS, this.resizeHandler), this.graph.addListener(mxEvent.FOLD_CELLS, this.foldHandler))
-};
-mxSpaceManager.prototype.cellsResized = function(a) {
- if (null != a) {
- var b = this.graph.getModel();
- b.beginUpdate();
- try {
- for (var c = 0; c < a.length; c++)
- if (!this.isCellIgnored(a[c])) {
- this.cellResized(a[c]);
- break
- }
- } finally {
- b.endUpdate()
- }
- }
-};
-mxSpaceManager.prototype.cellResized = function(a) {
- var b = this.getGraph(),
- c = b.getView(),
- d = b.getModel(),
- e = c.getState(a),
- f = c.getState(d.getParent(a));
- if (null != e && null != f) {
- var g = this.getCellsToShift(e),
- h = d.getGeometry(a);
- if (null != g && null != h) {
- var k = c.translate,
- l = c.scale,
- c = e.x - f.origin.x - k.x * l,
- f = e.y - f.origin.y - k.y * l,
- k = e.x + e.width,
- m = e.y + e.height,
- n = e.width - h.width * l + c - h.x * l,
- p = e.height - h.height * l + f - h.y * l,
- q = 1 - h.width * l / e.width,
- e = 1 - h.height * l / e.height;
- d.beginUpdate();
- try {
- for (h = 0; h < g.length; h++) g[h] != a && this.isCellShiftable(g[h]) &&
- this.shiftCell(g[h], n, p, c, f, k, m, q, e, this.isExtendParents() && b.isExtendParent(g[h]))
- } finally {
- d.endUpdate()
- }
- }
- }
-};
-mxSpaceManager.prototype.shiftCell = function(a, b, c, d, e, f, g, h, k, l) {
- d = this.getGraph();
- var m = d.getView().getState(a);
- if (null != m) {
- var n = d.getModel(),
- p = n.getGeometry(a);
- if (null != p) {
- n.beginUpdate();
- try {
- if (this.isShiftRightwards())
- if (m.x >= f) p = p.clone(), p.translate(-b, 0);
- else {
- var q = Math.max(0, m.x - x0),
- p = p.clone();
- p.translate(-h * q, 0)
- }
- if (this.isShiftDownwards())
- if (m.y >= g) p = p.clone(), p.translate(0, -c);
- else {
- var s = Math.max(0, m.y - e),
- p = p.clone();
- p.translate(0, -k * s)
- }
- p != n.getGeometry(a) && (n.setGeometry(a, p), l && d.extendParent(a))
- } finally {
- n.endUpdate()
- }
- }
- }
-};
-mxSpaceManager.prototype.getCellsToShift = function(a) {
- var b = this.getGraph(),
- c = b.getModel().getParent(a.cell),
- d = this.isShiftDownwards(),
- e = this.isShiftRightwards();
- return b.getCellsBeyond(a.x + (d ? 0 : a.width), a.y + (d && e ? 0 : a.height), c, e, d)
-};
-mxSpaceManager.prototype.destroy = function() {
- this.setGraph(null)
-};
-
-function mxSwimlaneManager(a, b, c, d) {
- this.horizontal = null != b ? b : !0;
- this.addEnabled = null != c ? c : !0;
- this.resizeEnabled = null != d ? d : !0;
- this.addHandler = mxUtils.bind(this, function(a, b) {
- this.isEnabled() && this.isAddEnabled() && this.cellsAdded(b.getProperty("cells"))
- });
- this.resizeHandler = mxUtils.bind(this, function(a, b) {
- this.isEnabled() && this.isResizeEnabled() && this.cellsResized(b.getProperty("cells"))
- });
- this.setGraph(a)
-}
-mxSwimlaneManager.prototype = new mxEventSource;
-mxSwimlaneManager.prototype.constructor = mxSwimlaneManager;
-mxSwimlaneManager.prototype.graph = null;
-mxSwimlaneManager.prototype.enabled = !0;
-mxSwimlaneManager.prototype.horizontal = !0;
-mxSwimlaneManager.prototype.addEnabled = !0;
-mxSwimlaneManager.prototype.resizeEnabled = !0;
-mxSwimlaneManager.prototype.addHandler = null;
-mxSwimlaneManager.prototype.resizeHandler = null;
-mxSwimlaneManager.prototype.isEnabled = function() {
- return this.enabled
-};
-mxSwimlaneManager.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxSwimlaneManager.prototype.isHorizontal = function() {
- return this.horizontal
-};
-mxSwimlaneManager.prototype.setHorizontal = function(a) {
- this.horizontal = a
-};
-mxSwimlaneManager.prototype.isAddEnabled = function() {
- return this.addEnabled
-};
-mxSwimlaneManager.prototype.setAddEnabled = function(a) {
- this.addEnabled = a
-};
-mxSwimlaneManager.prototype.isResizeEnabled = function() {
- return this.resizeEnabled
-};
-mxSwimlaneManager.prototype.setResizeEnabled = function(a) {
- this.resizeEnabled = a
-};
-mxSwimlaneManager.prototype.getGraph = function() {
- return this.graph
-};
-mxSwimlaneManager.prototype.setGraph = function(a) {
- null != this.graph && (this.graph.removeListener(this.addHandler), this.graph.removeListener(this.resizeHandler));
- this.graph = a;
- null != this.graph && (this.graph.addListener(mxEvent.ADD_CELLS, this.addHandler), this.graph.addListener(mxEvent.CELLS_RESIZED, this.resizeHandler))
-};
-mxSwimlaneManager.prototype.isSwimlaneIgnored = function(a) {
- return !this.getGraph().isSwimlane(a)
-};
-mxSwimlaneManager.prototype.isCellHorizontal = function(a) {
- if (this.graph.isSwimlane(a)) {
- var b = this.graph.view.getState(a);
- a = null != b ? b.style : this.graph.getCellStyle(a);
- return 1 == mxUtils.getValue(a, mxConstants.STYLE_HORIZONTAL, 1)
- }
- return !this.isHorizontal()
-};
-mxSwimlaneManager.prototype.cellsAdded = function(a) {
- if (null != a) {
- var b = this.getGraph().getModel();
- b.beginUpdate();
- try {
- for (var c = 0; c < a.length; c++) this.isSwimlaneIgnored(a[c]) || this.swimlaneAdded(a[c])
- } finally {
- b.endUpdate()
- }
- }
-};
-mxSwimlaneManager.prototype.swimlaneAdded = function(a) {
- for (var b = this.getGraph().getModel(), c = b.getParent(a), d = b.getChildCount(c), e = null, f = 0; f < d; f++) {
- var g = b.getChildAt(c, f);
- if (g != a && !this.isSwimlaneIgnored(g) && (e = b.getGeometry(g), null != e)) break
- }
- null != e && this.resizeSwimlane(a, e.width, e.height)
-};
-mxSwimlaneManager.prototype.cellsResized = function(a) {
- if (null != a) {
- var b = this.getGraph().getModel();
- b.beginUpdate();
- try {
- for (var c = 0; c < a.length; c++)
- if (!this.isSwimlaneIgnored(a[c])) {
- var d = b.getGeometry(a[c]);
- if (null != d) {
- for (var e = new mxRectangle(0, 0, d.width, d.height), f = a[c], g = f; null != g;) {
- var f = g,
- g = b.getParent(g),
- h = this.graph.isSwimlane(g) ? this.graph.getStartSize(g) : new mxRectangle;
- e.width += h.width;
- e.height += h.height
- }
- this.resizeSwimlane(f, e.width, e.height)
- }
- }
- } finally {
- b.endUpdate()
- }
- }
-};
-mxSwimlaneManager.prototype.resizeSwimlane = function(a, b, c) {
- var d = this.getGraph().getModel();
- d.beginUpdate();
- try {
- if (!this.isSwimlaneIgnored(a)) {
- var e = d.getGeometry(a);
- if (null != e) {
- var f = this.isCellHorizontal(a);
- if (f && e.height != c || !f && e.width != b) e = e.clone(), f ? e.height = c : e.width = b, d.setGeometry(a, e)
- }
- }
- var g = this.graph.isSwimlane(a) ? this.graph.getStartSize(a) : new mxRectangle;
- b -= g.width;
- c -= g.height;
- for (var h = d.getChildCount(a), e = 0; e < h; e++) {
- var k = d.getChildAt(a, e);
- this.resizeSwimlane(k, b, c)
- }
- } finally {
- d.endUpdate()
- }
-};
-mxSwimlaneManager.prototype.destroy = function() {
- this.setGraph(null)
-};
-
-function mxTemporaryCellStates(a, b, c) {
- this.view = a;
- b = null != b ? b : 1;
- this.oldBounds = a.getGraphBounds();
- this.oldStates = a.getStates();
- this.oldScale = a.getScale();
- a.setStates(new mxDictionary);
- a.setScale(b);
- if (null != c) {
- b = a.createState(new mxCell);
- for (var d = 0; d < c.length; d++) a.validateBounds(b, c[d]);
- for (var e = null, d = 0; d < c.length; d++) {
- var f = a.validatePoints(b, c[d]);
- null == e ? e = f : e.add(f)
- }
- null == e && (e = new mxRectangle);
- a.setGraphBounds(e)
- }
-}
-mxTemporaryCellStates.prototype.view = null;
-mxTemporaryCellStates.prototype.oldStates = null;
-mxTemporaryCellStates.prototype.oldBounds = null;
-mxTemporaryCellStates.prototype.oldScale = null;
-mxTemporaryCellStates.prototype.destroy = function() {
- this.view.setScale(this.oldScale);
- this.view.setStates(this.oldStates);
- this.view.setGraphBounds(this.oldBounds)
-};
-
-function mxCellStatePreview(a) {
- this.graph = a;
- this.deltas = {}
-}
-mxCellStatePreview.prototype.graph = null;
-mxCellStatePreview.prototype.deltas = null;
-mxCellStatePreview.prototype.count = 0;
-mxCellStatePreview.prototype.isEmpty = function() {
- return 0 == this.count
-};
-mxCellStatePreview.prototype.moveState = function(a, b, c, d, e) {
- d = null != d ? d : !0;
- e = null != e ? e : !0;
- var f = mxCellPath.create(a.cell),
- g = this.deltas[f];
- null == g ? (g = new mxPoint(b, c), this.deltas[f] = g, this.count++) : d ? (g.X += b, g.Y += c) : (g.X = b, g.Y = c);
- e && this.addEdges(a);
- return g
-};
-mxCellStatePreview.prototype.show = function(a) {
- var b = this.graph.getModel(),
- c = b.getRoot(),
- d;
- for (d in this.deltas) {
- var e = mxCellPath.resolve(c, d),
- f = this.graph.view.getState(e),
- g = this.deltas[d],
- e = this.graph.view.getState(b.getParent(e));
- this.translateState(e, f, g.x, g.y)
- }
- for (d in this.deltas) e = mxCellPath.resolve(c, d), f = this.graph.view.getState(e), g = this.deltas[d], e = this.graph.view.getState(b.getParent(e)), this.revalidateState(e, f, g.x, g.y, a)
-};
-mxCellStatePreview.prototype.translateState = function(a, b, c, d) {
- if (null != b) {
- var e = this.graph.getModel();
- if (e.isVertex(b.cell)) {
- b.invalid = !0;
- this.graph.view.validateBounds(a, b.cell);
- a = e.getGeometry(b.cell);
- var f = mxCellPath.create(b.cell);
- if ((0 != c || 0 != d) && null != a && (!a.relative || null != this.deltas[f])) b.x += c, b.y += d
- }
- a = e.getChildCount(b.cell);
- for (f = 0; f < a; f++) this.translateState(b, this.graph.view.getState(e.getChildAt(b.cell, f)), c, d)
- }
-};
-mxCellStatePreview.prototype.revalidateState = function(a, b, c, d, e) {
- if (null != b) {
- b.invalid = !0;
- this.graph.view.validatePoints(a, b.cell);
- var f = mxCellPath.create(b.cell),
- g = this.graph.getModel(),
- h = this.graph.getCellGeometry(b.cell);
- if ((0 != c || 0 != d) && null != h && h.relative && g.isVertex(b.cell) && (null == a || g.isVertex(a.cell) || null != this.deltas[f])) b.x += c, b.y += d, this.graph.cellRenderer.redraw(b);
- null != e && e(b);
- a = g.getChildCount(b.cell);
- for (f = 0; f < a; f++) this.revalidateState(b, this.graph.view.getState(g.getChildAt(b.cell,
- f)), c, d, e)
- }
-};
-mxCellStatePreview.prototype.addEdges = function(a) {
- for (var b = this.graph.getModel(), c = b.getEdgeCount(a.cell), d = 0; d < c; d++) {
- var e = this.graph.view.getState(b.getEdgeAt(a.cell, d));
- null != e && this.moveState(e, 0, 0)
- }
-};
-
-function mxConnectionConstraint(a, b) {
- this.point = a;
- this.perimeter = null != b ? b : !0
-}
-mxConnectionConstraint.prototype.point = null;
-mxConnectionConstraint.prototype.perimeter = null;
-
-function mxGraphHandler(a) {
- this.graph = a;
- this.graph.addMouseListener(this);
- this.panHandler = mxUtils.bind(this, function() {
- this.updatePreviewShape()
- });
- this.graph.addListener(mxEvent.PAN, this.panHandler)
-}
-mxGraphHandler.prototype.graph = null;
-mxGraphHandler.prototype.maxCells = mxClient.IS_IE ? 20 : 50;
-mxGraphHandler.prototype.enabled = !0;
-mxGraphHandler.prototype.highlightEnabled = !0;
-mxGraphHandler.prototype.cloneEnabled = !0;
-mxGraphHandler.prototype.moveEnabled = !0;
-mxGraphHandler.prototype.guidesEnabled = !1;
-mxGraphHandler.prototype.guide = null;
-mxGraphHandler.prototype.currentDx = null;
-mxGraphHandler.prototype.currentDy = null;
-mxGraphHandler.prototype.updateCursor = !0;
-mxGraphHandler.prototype.selectEnabled = !0;
-mxGraphHandler.prototype.removeCellsFromParent = !0;
-mxGraphHandler.prototype.connectOnDrop = !1;
-mxGraphHandler.prototype.scrollOnMove = !0;
-mxGraphHandler.prototype.minimumSize = 6;
-mxGraphHandler.prototype.previewColor = "black";
-mxGraphHandler.prototype.htmlPreview = !1;
-mxGraphHandler.prototype.shape = null;
-mxGraphHandler.prototype.scaleGrid = !1;
-mxGraphHandler.prototype.rotationEnabled = !0;
-mxGraphHandler.prototype.isEnabled = function() {
- return this.enabled
-};
-mxGraphHandler.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxGraphHandler.prototype.isCloneEnabled = function() {
- return this.cloneEnabled
-};
-mxGraphHandler.prototype.setCloneEnabled = function(a) {
- this.cloneEnabled = a
-};
-mxGraphHandler.prototype.isMoveEnabled = function() {
- return this.moveEnabled
-};
-mxGraphHandler.prototype.setMoveEnabled = function(a) {
- this.moveEnabled = a
-};
-mxGraphHandler.prototype.isSelectEnabled = function() {
- return this.selectEnabled
-};
-mxGraphHandler.prototype.setSelectEnabled = function(a) {
- this.selectEnabled = a
-};
-mxGraphHandler.prototype.isRemoveCellsFromParent = function() {
- return this.removeCellsFromParent
-};
-mxGraphHandler.prototype.setRemoveCellsFromParent = function(a) {
- this.removeCellsFromParent = a
-};
-mxGraphHandler.prototype.getInitialCellForEvent = function(a) {
- return a.getCell()
-};
-mxGraphHandler.prototype.isDelayedSelection = function(a) {
- return this.graph.isCellSelected(a)
-};
-mxGraphHandler.prototype.mouseDown = function(a, b) {
- if (!b.isConsumed() && this.isEnabled() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent()) && null != b.getState()) {
- var c = this.getInitialCellForEvent(b);
- this.cell = null;
- this.delayedSelection = this.isDelayedSelection(c);
- this.isSelectEnabled() && !this.delayedSelection && this.graph.selectCellForEvent(c, b.getEvent());
- if (this.isMoveEnabled()) {
- var d = this.graph.model,
- e = d.getGeometry(c);
- this.graph.isCellMovable(c) && (!d.isEdge(c) || 1 < this.graph.getSelectionCount() ||
- null != e.points && 0 < e.points.length || null == d.getTerminal(c, !0) || null == d.getTerminal(c, !1) || this.graph.allowDanglingEdges || this.graph.isCloneEvent(b.getEvent()) && this.graph
- .isCellsCloneable()) && this.start(c, b.getX(), b.getY());
- this.cellWasClicked = !0;
- !mxClient.IS_SF && !mxClient.IS_GC || "SELECT" != b.getSource().nodeName ? b.consume() : mxClient.IS_SF && "SELECT" == b.getSource().nodeName && (this.cellWasClicked = !1, this.first = null)
- }
- }
-};
-mxGraphHandler.prototype.getGuideStates = function() {
- var a = this.graph.getDefaultParent(),
- b = this.graph.getModel(),
- c = mxUtils.bind(this, function(a) {
- return null != this.graph.view.getState(a) && b.isVertex(a) && null != b.getGeometry(a) && !b.getGeometry(a).relative
- });
- return this.graph.view.getCellStates(b.filterDescendants(c, a))
-};
-mxGraphHandler.prototype.getCells = function(a) {
- return !this.delayedSelection && this.graph.isCellMovable(a) ? [a] : this.graph.getMovableCells(this.graph.getSelectionCells())
-};
-mxGraphHandler.prototype.getPreviewBounds = function(a) {
- a = this.getBoundingBox(a);
- null != a && (a.grow(-1, -1), a.width < this.minimumSize && (a.x -= (this.minimumSize - a.width) / 2, a.width = this.minimumSize), a.height < this.minimumSize && (a.y -= (this.minimumSize - a.height) /
- 2, a.height = this.minimumSize));
- return a
-};
-mxGraphHandler.prototype.getBoundingBox = function(a) {
- var b = null;
- if (null != a && 0 < a.length)
- for (var c = this.graph.getModel(), d = 0; d < a.length; d++)
- if (c.isVertex(a[d]) || c.isEdge(a[d])) {
- var e = this.graph.view.getState(a[d]);
- if (null != e) {
- var f = e;
- c.isVertex(a[d]) && (null != e.shape && null != e.shape.boundingBox) && (f = e.shape.boundingBox);
- null == b ? b = new mxRectangle(f.x, f.y, f.width, f.height) : b.add(f)
- }
- }
- return b
-};
-mxGraphHandler.prototype.createPreviewShape = function(a) {
- a = new mxRectangleShape(a, null, this.previewColor);
- a.isDashed = !0;
- this.htmlPreview ? (a.dialect = mxConstants.DIALECT_STRICTHTML, a.init(this.graph.container)) : (a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG,
- a.init(this.graph.getView().getOverlayPane()), a.pointerEvents = !1);
- return a
-};
-mxGraphHandler.prototype.start = function(a, b, c) {
- this.cell = a;
- this.first = mxUtils.convertPoint(this.graph.container, b, c);
- this.cells = this.getCells(this.cell);
- this.bounds = this.graph.getView().getBounds(this.cells);
- this.pBounds = this.getPreviewBounds(this.cells);
- this.guidesEnabled && (this.guide = new mxGuide(this.graph, this.getGuideStates()))
-};
-mxGraphHandler.prototype.useGuidesForEvent = function(a) {
- return null != this.guide ? this.guide.isEnabledForEvent(a.getEvent()) : !0
-};
-mxGraphHandler.prototype.snap = function(a) {
- var b = this.scaleGrid ? this.graph.view.scale : 1;
- a.x = this.graph.snap(a.x / b) * b;
- a.y = this.graph.snap(a.y / b) * b;
- return a
-};
-mxGraphHandler.prototype.mouseMove = function(a, b) {
- var c = this.graph;
- if (!b.isConsumed() && c.isMouseDown && null != this.cell && null != this.first && null != this.bounds) {
- var d = mxUtils.convertPoint(c.container, b.getX(), b.getY()),
- e = d.x - this.first.x,
- f = d.y - this.first.y,
- d = c.tolerance;
- if (null != this.shape || Math.abs(e) > d || Math.abs(f) > d) {
- null == this.highlight && (this.highlight = new mxCellHighlight(this.graph, mxConstants.DROP_TARGET_COLOR, 3));
- null == this.shape && (this.shape = this.createPreviewShape(this.bounds));
- var g = c.isGridEnabledEvent(b.getEvent()),
- d = !0;
- if (null != this.guide && this.useGuidesForEvent(b)) f = this.guide.move(this.bounds, new mxPoint(e, f), g), d = !1, e = f.x, f = f.y;
- else if (g) var h = c.getView().translate,
- k = c.getView().scale,
- g = this.bounds.x - (c.snap(this.bounds.x / k - h.x) + h.x) * k,
- h = this.bounds.y - (c.snap(this.bounds.y / k - h.y) + h.y) * k,
- f = this.snap(new mxPoint(e, f)),
- e = f.x - g,
- f = f.y - h;
- null != this.guide && d && this.guide.hide();
- c.isConstrainedEvent(b.getEvent()) && (Math.abs(e) > Math.abs(f) ? f = 0 : e = 0);
- this.currentDx = e;
- this.currentDy = f;
- this.updatePreviewShape();
- d = null;
- f = b.getCell();
- c.isDropEnabled() && this.highlightEnabled && (d = c.getDropTarget(this.cells, b.getEvent(), f));
- g = d;
- for (h = c.getModel(); null != g && g != this.cells[0];) g = h.getParent(g);
- var k = c.isCloneEvent(b.getEvent()) && c.isCellsCloneable() && this.isCloneEnabled(),
- e = c.getView().getState(d),
- l = !1;
- null != e && null == g && (h.getParent(this.cell) != d || k) ? (this.target != d && (this.target = d, this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)), l = !0) : (this.target = null,
- this.connectOnDrop && (null != f && 1 == this.cells.length && c.getModel().isVertex(f) &&
- c.isCellConnectable(f)) && (e = c.getView().getState(f), null != e && (c = null == c.getEdgeValidationError(null, this.cell, f) ? mxConstants.VALID_COLOR : mxConstants.INVALID_CONNECT_TARGET_COLOR,
- this.setHighlightColor(c), l = !0)));
- null != e && l ? this.highlight.highlight(e) : this.highlight.hide()
- }
- b.consume();
- mxEvent.consume(b.getEvent())
- } else if ((this.isMoveEnabled() || this.isCloneEnabled()) && this.updateCursor && !b.isConsumed() && null != b.getState() && !c.isMouseDown) e = c.getCursorForCell(b.getCell()), null == e && (c.isEnabled() &&
- c.isCellMovable(b.getCell())) &&
- (e = c.getModel().isEdge(b.getCell()) ? mxConstants.CURSOR_MOVABLE_EDGE : mxConstants.CURSOR_MOVABLE_VERTEX), b.getState().setCursor(e), b.consume()
-};
-mxGraphHandler.prototype.updatePreviewShape = function() {
- null != this.shape && (this.shape.bounds = new mxRectangle(Math.round(this.pBounds.x + this.currentDx - this.graph.panDx), Math.round(this.pBounds.y + this.currentDy - this.graph.panDy), this.pBounds
- .width, this.pBounds.height), this.shape.redraw())
-};
-mxGraphHandler.prototype.setHighlightColor = function(a) {
- null != this.highlight && this.highlight.setHighlightColor(a)
-};
-mxGraphHandler.prototype.mouseUp = function(a, b) {
- if (!b.isConsumed()) {
- var c = this.graph;
- if (null != this.cell && null != this.first && null != this.shape && null != this.currentDx && null != this.currentDy) {
- var d = c.getView().scale,
- e = c.isCloneEvent(b.getEvent()) && c.isCellsCloneable() && this.isCloneEnabled(),
- f = this.currentDx / d,
- d = this.currentDy / d,
- g = b.getCell();
- this.connectOnDrop && null == this.target && null != g && c.getModel().isVertex(g) && c.isCellConnectable(g) && c.isEdgeValid(null, this.cell, g) ? c.connectionHandler.connect(this.cell,
- g, b.getEvent()) : (g = this.target, c.isSplitEnabled() && c.isSplitTarget(g, this.cells, b.getEvent()) ? c.splitEdge(g, this.cells, null, f, d) : this.moveCells(this.cells, f, d, e, this
- .target, b.getEvent()))
- } else this.isSelectEnabled() && (this.delayedSelection && null != this.cell) && this.selectDelayed(b)
- }
- this.cellWasClicked && b.consume();
- this.reset()
-};
-mxGraphHandler.prototype.selectDelayed = function(a) {
- this.graph.selectCellForEvent(this.cell, a.getEvent())
-};
-mxGraphHandler.prototype.reset = function() {
- this.destroyShapes();
- this.delayedSelection = this.cellWasClicked = !1;
- this.target = this.cell = this.first = this.guides = this.currentDy = this.currentDx = null
-};
-mxGraphHandler.prototype.shouldRemoveCellsFromParent = function(a, b, c) {
- if (this.graph.getModel().isVertex(a)) {
- a = this.graph.getView().getState(a);
- c = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(c), mxEvent.getClientY(c));
- var d = mxUtils.toRadians(mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION) || 0);
- if (0 != d) {
- b = Math.cos(-d);
- var d = Math.sin(-d),
- e = new mxPoint(a.getCenterX(), a.getCenterY());
- c = mxUtils.getRotatedPoint(c, b, d, e)
- }
- return null != a && !mxUtils.contains(a, c.x, c.y)
- }
- return !1
-};
-mxGraphHandler.prototype.moveCells = function(a, b, c, d, e, f) {
- d && (a = this.graph.getCloneableCells(a));
- null == e && (this.isRemoveCellsFromParent() && this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell), a, f)) && (e = this.graph.getDefaultParent());
- a = this.graph.moveCells(a, b - this.graph.panDx / this.graph.view.scale, c - this.graph.panDy / this.graph.view.scale, d, e, f);
- this.isSelectEnabled() && this.scrollOnMove && this.graph.scrollCellToVisible(a[0]);
- d && this.graph.setSelectionCells(a)
-};
-mxGraphHandler.prototype.destroyShapes = function() {
- null != this.shape && (this.shape.destroy(), this.shape = null);
- null != this.guide && (this.guide.destroy(), this.guide = null);
- null != this.highlight && (this.highlight.destroy(), this.highlight = null)
-};
-mxGraphHandler.prototype.destroy = function() {
- this.graph.removeMouseListener(this);
- this.graph.removeListener(this.panHandler);
- this.destroyShapes()
-};
-
-function mxPanningHandler(a, b) {
- null != a && (this.graph = a, this.factoryMethod = b, this.graph.addMouseListener(this), this.init())
-}
-mxPanningHandler.prototype = new mxPopupMenu;
-mxPanningHandler.prototype.constructor = mxPanningHandler;
-mxPanningHandler.prototype.graph = null;
-mxPanningHandler.prototype.triggerX = null;
-mxPanningHandler.prototype.triggerY = null;
-mxPanningHandler.prototype.usePopupTrigger = !0;
-mxPanningHandler.prototype.useLeftButtonForPanning = !1;
-mxPanningHandler.prototype.selectOnPopup = !0;
-mxPanningHandler.prototype.clearSelectionOnBackground = !0;
-mxPanningHandler.prototype.ignoreCell = !1;
-mxPanningHandler.prototype.previewEnabled = !0;
-mxPanningHandler.prototype.useGrid = !1;
-mxPanningHandler.prototype.panningEnabled = !0;
-mxPanningHandler.prototype.isPanningEnabled = function() {
- return this.panningEnabled
-};
-mxPanningHandler.prototype.setPanningEnabled = function(a) {
- this.panningEnabled = a
-};
-mxPanningHandler.prototype.init = function() {
- mxPopupMenu.prototype.init.apply(this);
- mxEvent.addListener(this.div, mxClient.IS_TOUCH ? "touchmove" : "mousemove", mxUtils.bind(this, function(a) {
- this.graph.tooltipHandler.hide()
- }))
-};
-mxPanningHandler.prototype.isPanningTrigger = function(a) {
- var b = a.getEvent();
- return this.useLeftButtonForPanning && (this.ignoreCell || null == a.getState()) && mxEvent.isLeftMouseButton(b) || mxEvent.isControlDown(b) && mxEvent.isShiftDown(b) || this.usePopupTrigger &&
- mxEvent.isPopupTrigger(b)
-};
-mxPanningHandler.prototype.mouseDown = function(a, b) {
- if (!b.isConsumed() && this.isEnabled()) {
- this.hideMenu();
- this.dx0 = -this.graph.container.scrollLeft;
- this.dy0 = -this.graph.container.scrollTop;
- var c = mxUtils.convertPoint(this.graph.container, b.getX(), b.getY());
- this.triggerX = c.x;
- this.triggerY = c.y;
- this.popupTrigger = this.isPopupTrigger(b);
- this.panningTrigger = this.isPanningEnabled() && this.isPanningTrigger(b);
- this.startX = b.getX();
- this.startY = b.getY();
- this.panningTrigger && this.consumePanningTrigger(b)
- }
-};
-mxPanningHandler.prototype.consumePanningTrigger = function(a) {
- a.consume()
-};
-mxPanningHandler.prototype.mouseMove = function(a, b) {
- var c = b.getX() - this.startX,
- d = b.getY() - this.startY;
- if (this.active) this.previewEnabled && (this.useGrid && (c = this.graph.snap(c), d = this.graph.snap(d)), this.graph.panGraph(c + this.dx0, d + this.dy0)), this.fireEvent(new mxEventObject(
- mxEvent.PAN, "event", b)), b.consume();
- else if (this.panningTrigger) {
- var e = this.active;
- this.active = Math.abs(c) > this.graph.tolerance || Math.abs(d) > this.graph.tolerance;
- !e && this.active && this.fireEvent(new mxEventObject(mxEvent.PAN_START,
- "event", b))
- }
-};
-mxPanningHandler.prototype.mouseUp = function(a, b) {
- var c = Math.abs(b.getX() - this.startX),
- d = Math.abs(b.getY() - this.startY);
- if (this.active) {
- if (!this.graph.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.graph.container)) {
- c = b.getX() - this.startX;
- d = b.getY() - this.startY;
- this.useGrid && (c = this.graph.snap(c), d = this.graph.snap(d));
- var e = this.graph.getView().scale,
- f = this.graph.getView().translate;
- this.graph.panGraph(0, 0);
- this.panGraph(f.x + c / e, f.y + d / e)
- }
- this.active = !1;
- this.fireEvent(new mxEventObject(mxEvent.PAN_END, "event",
- b));
- b.consume()
- } else this.popupTrigger && (c < this.graph.tolerance && d < this.graph.tolerance) && (c = this.getCellForPopupEvent(b), this.graph.isEnabled() && this.selectOnPopup && null != c && !this.graph.isCellSelected(
- c) ? this.graph.setSelectionCell(c) : this.clearSelectionOnBackground && null == c && this.graph.clearSelection(), this.graph.tooltipHandler.hide(), d = mxUtils.getScrollOrigin(), d = new mxPoint(
- b.getX() + d.x, b.getY() + d.y), this.popup(d.x + 1, d.y + 1, c, b.getEvent()), b.consume());
- this.popupTrigger = this.panningTrigger = !1
-};
-mxPanningHandler.prototype.getCellForPopupEvent = function(a) {
- return a.getCell()
-};
-mxPanningHandler.prototype.panGraph = function(a, b) {
- this.graph.getView().setTranslate(a, b)
-};
-mxPanningHandler.prototype.destroy = function() {
- this.graph.removeMouseListener(this);
- mxPopupMenu.prototype.destroy.apply(this)
-};
-
-function mxCellMarker(a, b, c, d) {
- mxEventSource.call(this);
- null != a && (this.graph = a, this.validColor = null != b ? b : mxConstants.DEFAULT_VALID_COLOR, this.invalidColor = null != b ? c : mxConstants.DEFAULT_INVALID_COLOR, this.hotspot = null != d ? d :
- mxConstants.DEFAULT_HOTSPOT, this.highlight = new mxCellHighlight(a))
-}
-mxUtils.extend(mxCellMarker, mxEventSource);
-mxCellMarker.prototype.graph = null;
-mxCellMarker.prototype.enabled = !0;
-mxCellMarker.prototype.hotspot = mxConstants.DEFAULT_HOTSPOT;
-mxCellMarker.prototype.hotspotEnabled = !1;
-mxCellMarker.prototype.validColor = null;
-mxCellMarker.prototype.invalidColor = null;
-mxCellMarker.prototype.currentColor = null;
-mxCellMarker.prototype.validState = null;
-mxCellMarker.prototype.markedState = null;
-mxCellMarker.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxCellMarker.prototype.isEnabled = function() {
- return this.enabled
-};
-mxCellMarker.prototype.setHotspot = function(a) {
- this.hotspot = a
-};
-mxCellMarker.prototype.getHotspot = function() {
- return this.hotspot
-};
-mxCellMarker.prototype.setHotspotEnabled = function(a) {
- this.hotspotEnabled = a
-};
-mxCellMarker.prototype.isHotspotEnabled = function() {
- return this.hotspotEnabled
-};
-mxCellMarker.prototype.hasValidState = function() {
- return null != this.validState
-};
-mxCellMarker.prototype.getValidState = function() {
- return this.validState
-};
-mxCellMarker.prototype.getMarkedState = function() {
- return this.markedState
-};
-mxCellMarker.prototype.reset = function() {
- this.validState = null;
- null != this.markedState && (this.markedState = null, this.unmark())
-};
-mxCellMarker.prototype.process = function(a) {
- var b = null;
- if (this.isEnabled()) {
- var b = this.getState(a),
- c = null != b ? this.isValidState(b) : !1;
- a = this.getMarkerColor(a.getEvent(), b, c);
- this.validState = c ? b : null;
- if (b != this.markedState || a != this.currentColor) this.currentColor = a, null != b && null != this.currentColor ? (this.markedState = b, this.mark()) : null != this.markedState && (this.markedState =
- null, this.unmark())
- }
- return b
-};
-mxCellMarker.prototype.markCell = function(a, b) {
- var c = this.graph.getView().getState(a);
- null != c && (this.currentColor = null != b ? b : this.validColor, this.markedState = c, this.mark())
-};
-mxCellMarker.prototype.mark = function() {
- this.highlight.setHighlightColor(this.currentColor);
- this.highlight.highlight(this.markedState);
- this.fireEvent(new mxEventObject(mxEvent.MARK, "state", this.markedState))
-};
-mxCellMarker.prototype.unmark = function() {
- this.mark()
-};
-mxCellMarker.prototype.isValidState = function(a) {
- return !0
-};
-mxCellMarker.prototype.getMarkerColor = function(a, b, c) {
- return c ? this.validColor : this.invalidColor
-};
-mxCellMarker.prototype.getState = function(a) {
- var b = this.graph.getView();
- cell = this.getCell(a);
- b = this.getStateToMark(b.getState(cell));
- return null != b && this.intersects(b, a) ? b : null
-};
-mxCellMarker.prototype.getCell = function(a) {
- return a.getCell()
-};
-mxCellMarker.prototype.getStateToMark = function(a) {
- return a
-};
-mxCellMarker.prototype.intersects = function(a, b) {
- return this.hotspotEnabled ? mxUtils.intersectsHotspot(a, b.getGraphX(), b.getGraphY(), this.hotspot, mxConstants.MIN_HOTSPOT_SIZE, mxConstants.MAX_HOTSPOT_SIZE) : !0
-};
-mxCellMarker.prototype.destroy = function() {
- this.graph.getView().removeListener(this.resetHandler);
- this.graph.getModel().removeListener(this.resetHandler);
- this.highlight.destroy()
-};
-
-function mxSelectionCellsHandler(a) {
- mxEventSource.call(this);
- this.graph = a;
- this.handlers = new mxDictionary;
- this.graph.addMouseListener(this);
- this.refreshHandler = mxUtils.bind(this, function(a, c) {
- this.isEnabled() && this.refresh()
- });
- this.graph.getSelectionModel().addListener(mxEvent.CHANGE, this.refreshHandler);
- this.graph.getModel().addListener(mxEvent.CHANGE, this.refreshHandler);
- this.graph.getView().addListener(mxEvent.SCALE, this.refreshHandler);
- this.graph.getView().addListener(mxEvent.TRANSLATE, this.refreshHandler);
- this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.refreshHandler);
- this.graph.getView().addListener(mxEvent.DOWN, this.refreshHandler);
- this.graph.getView().addListener(mxEvent.UP, this.refreshHandler)
-}
-mxUtils.extend(mxSelectionCellsHandler, mxEventSource);
-mxSelectionCellsHandler.prototype.graph = null;
-mxSelectionCellsHandler.prototype.enabled = !0;
-mxSelectionCellsHandler.prototype.refreshHandler = null;
-mxSelectionCellsHandler.prototype.maxHandlers = 100;
-mxSelectionCellsHandler.prototype.handlers = null;
-mxSelectionCellsHandler.prototype.isEnabled = function() {
- return this.enabled
-};
-mxSelectionCellsHandler.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxSelectionCellsHandler.prototype.getHandler = function(a) {
- return this.handlers.get(a)
-};
-mxSelectionCellsHandler.prototype.reset = function() {
- this.handlers.visit(function(a, b) {
- b.reset.apply(b)
- })
-};
-mxSelectionCellsHandler.prototype.refresh = function() {
- var a = this.handlers;
- this.handlers = new mxDictionary;
- for (var b = this.graph.getSelectionCells(), c = 0; c < b.length; c++) {
- var d = this.graph.view.getState(b[c]);
- if (null != d) {
- var e = a.remove(b[c]);
- null != e && (e.state != d ? (e.destroy(), e = null) : e.redraw());
- null == e && (e = this.graph.createHandler(d), this.fireEvent(new mxEventObject(mxEvent.ADD, "state", d)));
- null != e && this.handlers.put(b[c], e)
- }
- }
- a.visit(mxUtils.bind(this, function(a, b) {
- this.fireEvent(new mxEventObject(mxEvent.REMOVE,
- "state", b.state));
- b.destroy()
- }))
-};
-mxSelectionCellsHandler.prototype.mouseDown = function(a, b) {
- if (this.graph.isEnabled() && this.isEnabled()) {
- var c = [a, b];
- this.handlers.visit(function(a, b) {
- b.mouseDown.apply(b, c)
- })
- }
-};
-mxSelectionCellsHandler.prototype.mouseMove = function(a, b) {
- if (this.graph.isEnabled() && this.isEnabled()) {
- var c = [a, b];
- this.handlers.visit(function(a, b) {
- b.mouseMove.apply(b, c)
- })
- }
-};
-mxSelectionCellsHandler.prototype.mouseUp = function(a, b) {
- if (this.graph.isEnabled() && this.isEnabled()) {
- var c = [a, b];
- this.handlers.visit(function(a, b) {
- b.mouseUp.apply(b, c)
- })
- }
-};
-mxSelectionCellsHandler.prototype.destroy = function() {
- this.graph.removeMouseListener(this);
- null != this.refreshHandler && (this.graph.getSelectionModel().removeListener(this.refreshHandler), this.graph.getModel().removeListener(this.refreshHandler), this.graph.getView().removeListener(
- this.refreshHandler), this.refreshHandler = null)
-};
-
-function mxConnectionHandler(a, b) {
- mxEventSource.call(this);
- null != a && (this.graph = a, this.factoryMethod = b, this.init())
-}
-mxUtils.extend(mxConnectionHandler, mxEventSource);
-mxConnectionHandler.prototype.graph = null;
-mxConnectionHandler.prototype.factoryMethod = !0;
-mxConnectionHandler.prototype.moveIconFront = !1;
-mxConnectionHandler.prototype.moveIconBack = !1;
-mxConnectionHandler.prototype.connectImage = null;
-mxConnectionHandler.prototype.targetConnectImage = !1;
-mxConnectionHandler.prototype.enabled = !0;
-mxConnectionHandler.prototype.select = !0;
-mxConnectionHandler.prototype.createTarget = !1;
-mxConnectionHandler.prototype.marker = null;
-mxConnectionHandler.prototype.constraintHandler = null;
-mxConnectionHandler.prototype.error = null;
-mxConnectionHandler.prototype.waypointsEnabled = !1;
-mxConnectionHandler.prototype.tapAndHoldEnabled = !0;
-mxConnectionHandler.prototype.tapAndHoldDelay = 500;
-mxConnectionHandler.prototype.tapAndHoldInProgress = !1;
-mxConnectionHandler.prototype.tapAndHoldValid = !1;
-mxConnectionHandler.prototype.tapAndHoldTolerance = 4;
-mxConnectionHandler.prototype.initialTouchX = 0;
-mxConnectionHandler.prototype.initialTouchY = 0;
-mxConnectionHandler.prototype.ignoreMouseDown = !1;
-mxConnectionHandler.prototype.first = null;
-mxConnectionHandler.prototype.connectIconOffset = new mxPoint(0, mxConstants.TOOLTIP_VERTICAL_OFFSET);
-mxConnectionHandler.prototype.edgeState = null;
-mxConnectionHandler.prototype.changeHandler = null;
-mxConnectionHandler.prototype.drillHandler = null;
-mxConnectionHandler.prototype.mouseDownCounter = 0;
-mxConnectionHandler.prototype.movePreviewAway = mxClient.IS_VML;
-mxConnectionHandler.prototype.isEnabled = function() {
- return this.enabled
-};
-mxConnectionHandler.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxConnectionHandler.prototype.isCreateTarget = function() {
- return this.createTarget
-};
-mxConnectionHandler.prototype.setCreateTarget = function(a) {
- this.createTarget = a
-};
-mxConnectionHandler.prototype.createShape = function() {
- var a = new mxPolyline([], mxConstants.INVALID_COLOR);
- a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
- a.init(this.graph.getView().getOverlayPane());
- a.svgStrokeTolerance = 0;
- a.pointerEvents = !1;
- a.isDashed = !0;
- if (this.graph.dialect == mxConstants.DIALECT_SVG) a.node.setAttribute("pointer-events", "none");
- else {
- var b = mxUtils.bind(this, function(a) {
- a = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a),
- mxEvent.getClientY(a));
- return this.graph.view.getState(this.graph.getCellAt(a.x, a.y))
- });
- mxEvent.redirectMouseEvents(a.node, this.graph, b)
- }
- return a
-};
-mxConnectionHandler.prototype.init = function() {
- this.graph.addMouseListener(this);
- this.marker = this.createMarker();
- this.constraintHandler = new mxConstraintHandler(this.graph);
- this.changeHandler = mxUtils.bind(this, function(a) {
- null != this.iconState && (this.iconState = this.graph.getView().getState(this.iconState.cell));
- null != this.iconState ? this.redrawIcons(this.icons, this.iconState) : (this.destroyIcons(this.icons), this.previous = null);
- this.constraintHandler.reset()
- });
- this.graph.getModel().addListener(mxEvent.CHANGE,
- this.changeHandler);
- this.graph.getView().addListener(mxEvent.SCALE, this.changeHandler);
- this.graph.getView().addListener(mxEvent.TRANSLATE, this.changeHandler);
- this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE, this.changeHandler);
- this.drillHandler = mxUtils.bind(this, function(a) {
- this.destroyIcons(this.icons)
- });
- this.graph.addListener(mxEvent.START_EDITING, this.drillHandler);
- this.graph.getView().addListener(mxEvent.DOWN, this.drillHandler);
- this.graph.getView().addListener(mxEvent.UP, this.drillHandler)
-};
-mxConnectionHandler.prototype.isConnectableCell = function(a) {
- return !0
-};
-mxConnectionHandler.prototype.createMarker = function() {
- var a = new mxCellMarker(this.graph);
- a.hotspotEnabled = !0;
- a.getCell = mxUtils.bind(this, function(b, c) {
- c = mxCellMarker.prototype.getCell.apply(a, arguments);
- this.error = null;
- if (!this.isConnectableCell(c)) return null;
- null != c ? this.isConnecting() ? null != this.previous && (this.error = this.validateConnection(this.previous.cell, c), null != this.error && 0 == this.error.length && (c = null, this.isCreateTarget() &&
- (this.error = null))) : this.isValidSource(c) || (c = null) : this.isConnecting() &&
- (!this.isCreateTarget() && !this.graph.allowDanglingEdges) && (this.error = "");
- return c
- });
- a.isValidState = mxUtils.bind(this, function(b) {
- return this.isConnecting() ? null == this.error : mxCellMarker.prototype.isValidState.apply(a, arguments)
- });
- a.getMarkerColor = mxUtils.bind(this, function(b, c, d) {
- return null == this.connectImage || this.isConnecting() ? mxCellMarker.prototype.getMarkerColor.apply(a, arguments) : null
- });
- a.intersects = mxUtils.bind(this, function(b, c) {
- return null != this.connectImage || this.isConnecting() ? !0 : mxCellMarker.prototype.intersects.apply(a,
- arguments)
- });
- return a
-};
-mxConnectionHandler.prototype.start = function(a, b, c, d) {
- this.previous = a;
- this.first = new mxPoint(b, c);
- this.edgeState = null != d ? d : this.createEdgeState(null);
- this.marker.currentColor = this.marker.validColor;
- this.marker.markedState = a;
- this.marker.mark();
- this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous))
-};
-mxConnectionHandler.prototype.isConnecting = function() {
- return null != this.first && null != this.shape
-};
-mxConnectionHandler.prototype.isValidSource = function(a) {
- return this.graph.isValidSource(a)
-};
-mxConnectionHandler.prototype.isValidTarget = function(a) {
- return !0
-};
-mxConnectionHandler.prototype.validateConnection = function(a, b) {
- return !this.isValidTarget(b) ? "" : this.graph.getEdgeValidationError(null, a, b)
-};
-mxConnectionHandler.prototype.getConnectImage = function(a) {
- return this.connectImage
-};
-mxConnectionHandler.prototype.isMoveIconToFrontForState = function(a) {
- return null != a.text && a.text.node.parentNode == this.graph.container ? !0 : this.moveIconFront
-};
-mxConnectionHandler.prototype.createIcons = function(a) {
- var b = this.getConnectImage(a);
- if (null != b && null != a) {
- this.iconState = a;
- var c = [],
- d = new mxRectangle(0, 0, b.width, b.height),
- e = new mxImageShape(d, b.src, null, null, 0);
- e.preserveImageAspect = !1;
- this.isMoveIconToFrontForState(a) ? (e.dialect = mxConstants.DIALECT_STRICTHTML, e.init(this.graph.container)) : (e.dialect = this.graph.dialect == mxConstants.DIALECT_SVG ? mxConstants.DIALECT_SVG :
- mxConstants.DIALECT_VML, e.init(this.graph.getView().getOverlayPane()), this.moveIconBack &&
- null != e.node.previousSibling && e.node.parentNode.insertBefore(e.node, e.node.parentNode.firstChild));
- e.node.style.cursor = mxConstants.CURSOR_CONNECT;
- var f = mxUtils.bind(this, function() {
- return null != this.currentState ? this.currentState : a
- }),
- b = mxUtils.bind(this, function(a) {
- mxEvent.isConsumed(a) || (this.icon = e, this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, f())))
- });
- mxEvent.redirectMouseEvents(e.node, this.graph, f, b);
- c.push(e);
- this.redrawIcons(c, this.iconState);
- return c
- }
- return null
-};
-mxConnectionHandler.prototype.redrawIcons = function(a, b) {
- if (null != a && null != a[0] && null != b) {
- var c = this.getIconPosition(a[0], b);
- a[0].bounds.x = c.x;
- a[0].bounds.y = c.y;
- a[0].redraw()
- }
-};
-mxConnectionHandler.prototype.getIconPosition = function(a, b) {
- var c = this.graph.getView().scale,
- d = b.getCenterX(),
- e = b.getCenterY();
- if (this.graph.isSwimlane(b.cell)) {
- var f = this.graph.getStartSize(b.cell),
- d = 0 != f.width ? b.x + f.width * c / 2 : d,
- e = 0 != f.height ? b.y + f.height * c / 2 : e,
- f = mxUtils.toRadians(mxUtils.getValue(b.style, mxConstants.STYLE_ROTATION) || 0);
- if (0 != f) var c = Math.cos(f),
- f = Math.sin(f),
- g = new mxPoint(b.getCenterX(), b.getCenterY()),
- e = mxUtils.getRotatedPoint(new mxPoint(d, e), c, f, g),
- d = e.x,
- e = e.y
- }
- return new mxPoint(d -
- a.bounds.width / 2, e - a.bounds.height / 2)
-};
-mxConnectionHandler.prototype.destroyIcons = function(a) {
- if (null != a) {
- this.iconState = null;
- for (var b = 0; b < a.length; b++) a[b].destroy()
- }
-};
-mxConnectionHandler.prototype.isStartEvent = function(a) {
- return !this.graph.isForceMarqueeEvent(a.getEvent()) && (null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentConstraint || null != this.previous && null == this.error &&
- (null == this.icons || null != this.icons && null != this.icon))
-};
-mxConnectionHandler.prototype.mouseDown = function(a, b) {
- this.mouseDownCounter++;
- if (this.isEnabled() && this.graph.isEnabled() && !b.isConsumed() && !this.isConnecting() && this.isStartEvent(b)) {
- null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentPoint ? (this.sourceConstraint = this.constraintHandler.currentConstraint,
- this.previous = this.constraintHandler.currentFocus, this.first = this.constraintHandler.currentPoint.clone()) : this.first = new mxPoint(b.getGraphX(),
- b.getGraphY());
- this.edgeState = this.createEdgeState(b);
- this.mouseDownCounter = 1;
- this.waypointsEnabled && null == this.shape && (this.waypoints = null, this.shape = this.createShape());
- if (null == this.previous && null != this.edgeState) {
- var c = this.graph.getPointForEvent(b.getEvent());
- this.edgeState.cell.geometry.setTerminalPoint(c, !0)
- }
- this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous));
- b.consume()
- } else if (mxClient.IS_TOUCH && this.tapAndHoldEnabled && !this.tapAndHoldInProgress && this.isEnabled() && this.graph.isEnabled() &&
- !this.isConnecting()) {
- this.tapAndHoldInProgress = !0;
- this.initialTouchX = b.getX();
- this.initialTouchY = b.getY();
- var d = this.graph.view.getState(this.marker.getCell(b));
- this.tapAndHoldThread && window.clearTimeout(this.tapAndHoldThread);
- this.tapAndHoldThread = window.setTimeout(mxUtils.bind(this, function() {
- this.tapAndHoldValid && this.tapAndHold(b, d);
- this.tapAndHoldValid = this.tapAndHoldInProgress = !1
- }), this.tapAndHoldDelay);
- this.tapAndHoldValid = !0
- }
- this.selectedIcon = this.icon;
- this.icon = null
-};
-mxConnectionHandler.prototype.tapAndHold = function(a, b) {
- null != b && (this.marker.currentColor = this.marker.validColor, this.marker.markedState = b, this.marker.mark(), this.first = new mxPoint(a.getGraphX(), a.getGraphY()), this.edgeState = this.createEdgeState(
- a), this.previous = b, this.fireEvent(new mxEventObject(mxEvent.START, "state", this.previous)))
-};
-mxConnectionHandler.prototype.isImmediateConnectSource = function(a) {
- return !this.graph.isCellMovable(a.cell)
-};
-mxConnectionHandler.prototype.createEdgeState = function(a) {
- return null
-};
-mxConnectionHandler.prototype.updateCurrentState = function(a) {
- var b = this.marker.process(a);
- this.constraintHandler.update(a, null == this.first);
- this.currentState = b
-};
-mxConnectionHandler.prototype.convertWaypoint = function(a) {
- var b = this.graph.getView().getScale(),
- c = this.graph.getView().getTranslate();
- a.x = a.x / b - c.x;
- a.y = a.y / b - c.y
-};
-mxConnectionHandler.prototype.mouseMove = function(a, b) {
- this.tapAndHoldValid && (this.tapAndHoldValid = Math.abs(this.initialTouchX - b.getX()) < this.tapAndHoldTolerance && Math.abs(this.initialTouchY - b.getY()) < this.tapAndHoldTolerance);
- if (!b.isConsumed() && (this.ignoreMouseDown || null != this.first || !this.graph.isMouseDown)) {
- !this.isEnabled() && null != this.currentState && (this.destroyIcons(this.icons), this.currentState = null);
- (null != this.first || this.isEnabled() && this.graph.isEnabled()) && this.updateCurrentState(b);
- if (null != this.first) {
- var c = this.graph.getView().scale,
- c = new mxPoint(this.graph.snap(b.getGraphX() / c) * c, this.graph.snap(b.getGraphY() / c) * c),
- d = null,
- e = c;
- null != this.constraintHandler.currentConstraint && (null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentPoint) && (d = this.constraintHandler.currentConstraint,
- e = this.constraintHandler.currentPoint.clone());
- var f = this.first;
- if (null != this.selectedIcon) {
- var g = this.selectedIcon.bounds.width,
- h = this.selectedIcon.bounds.height;
- null != this.currentState &&
- this.targetConnectImage ? (g = this.getIconPosition(this.selectedIcon, this.currentState), this.selectedIcon.bounds.x = g.x, this.selectedIcon.bounds.y = g.y) : (g = new mxRectangle(b.getGraphX() +
- this.connectIconOffset.x, b.getGraphY() + this.connectIconOffset.y, g, h), this.selectedIcon.bounds = g);
- this.selectedIcon.redraw()
- }
- if (null != this.edgeState) {
- this.edgeState.absolutePoints = [null, null != this.currentState ? null : e];
- this.graph.view.updateFixedTerminalPoint(this.edgeState, this.previous, !0, this.sourceConstraint);
- null != this.currentState &&
- (null == d && (d = this.graph.getConnectionConstraint(this.edgeState, this.previous, !1)), this.edgeState.setAbsoluteTerminalPoint(null, !1), this.graph.view.updateFixedTerminalPoint(this
- .edgeState, this.currentState, !1, d));
- f = null;
- if (null != this.waypoints) {
- f = [];
- for (e = 0; e < this.waypoints.length; e++) d = this.waypoints[e].clone(), this.convertWaypoint(d), f[e] = d
- }
- this.graph.view.updatePoints(this.edgeState, f, this.previous, this.currentState);
- this.graph.view.updateFloatingTerminalPoints(this.edgeState, this.previous, this.currentState);
- e = this.edgeState.absolutePoints[this.edgeState.absolutePoints.length - 1];
- f = this.edgeState.absolutePoints[0]
- } else null != this.currentState && null == this.constraintHandler.currentConstraint && (g = this.getTargetPerimeterPoint(this.currentState, b), null != g && (e = g)), null == this.sourceConstraint &&
- null != this.previous && (g = this.getSourcePerimeterPoint(this.previous, null != this.waypoints && 0 < this.waypoints.length ? this.waypoints[0] : e, b), null != g && (f = g));
- if (null == this.currentState && this.movePreviewAway) {
- g = f;
- null != this.edgeState &&
- 2 < this.edgeState.absolutePoints.length && (d = this.edgeState.absolutePoints[this.edgeState.absolutePoints.length - 2], null != d && (g = d));
- d = e.x - g.x;
- g = e.y - g.y;
- h = Math.sqrt(d * d + g * g);
- if (0 == h) return;
- e.x -= 4 * d / h;
- e.y -= 4 * g / h
- }
- if (null == this.shape && (d = Math.abs(c.x - this.first.x), g = Math.abs(c.y - this.first.y), d > this.graph.tolerance || g > this.graph.tolerance)) this.shape = this.createShape(), this.updateCurrentState(
- b);
- null != this.shape && (null != this.edgeState ? this.shape.points = this.edgeState.absolutePoints : (c = [f], null != this.waypoints &&
- (c = c.concat(this.waypoints)), c.push(e), this.shape.points = c), this.drawPreview());
- mxEvent.consume(b.getEvent());
- b.consume()
- } else !this.isEnabled() || !this.graph.isEnabled() ? this.constraintHandler.reset() : this.previous != this.currentState && null == this.edgeState ? (this.destroyIcons(this.icons), this.icons =
- null, null != this.currentState && null == this.error && (this.icons = this.createIcons(this.currentState), null == this.icons && (this.currentState.setCursor(mxConstants.CURSOR_CONNECT), b
- .consume())), this.previous = this.currentState) :
- this.previous == this.currentState && (null != this.currentState && null == this.icons && !this.graph.isMouseDown) && b.consume();
- null != this.constraintHandler.currentConstraint && this.marker.reset();
- if (!this.graph.isMouseDown && null != this.currentState && null != this.icons) {
- c = !1;
- f = b.getSource();
- for (e = 0; e < this.icons.length && !c; e++) c = f == this.icons[e].node || f.parentNode == this.icons[e].node;
- c || this.updateIcons(this.currentState, this.icons, b)
- }
- } else this.constraintHandler.reset()
-};
-mxConnectionHandler.prototype.getTargetPerimeterPoint = function(a, b) {
- var c = null,
- d = a.view,
- e = d.getPerimeterFunction(a);
- if (null != e) {
- var f = null != this.waypoints && 0 < this.waypoints.length ? this.waypoints[this.waypoints.length - 1] : new mxPoint(this.previous.getCenterX(), this.previous.getCenterY()),
- d = e(d.getPerimeterBounds(a), this.edgeState, f, !1);
- null != d && (c = d)
- } else c = new mxPoint(a.getCenterX(), a.getCenterY());
- return c
-};
-mxConnectionHandler.prototype.getSourcePerimeterPoint = function(a, b, c) {
- c = null;
- var d = a.view,
- e = d.getPerimeterFunction(a),
- f = new mxPoint(a.getCenterX(), a.getCenterY());
- if (null != e) {
- var g = mxUtils.getValue(a.style, mxConstants.STYLE_ROTATION, 0),
- h = -g * (Math.PI / 180);
- 0 != g && (b = mxUtils.getRotatedPoint(new mxPoint(b.x, b.y), Math.cos(h), Math.sin(h), f));
- a = e(d.getPerimeterBounds(a), a, b, !1);
- null != a && (0 != g && (a = mxUtils.getRotatedPoint(new mxPoint(a.x, a.y), Math.cos(-h), Math.sin(-h), f)), c = a)
- } else c = f;
- return c
-};
-mxConnectionHandler.prototype.updateIcons = function(a, b, c) {};
-mxConnectionHandler.prototype.isStopEvent = function(a) {
- return null != a.getState()
-};
-mxConnectionHandler.prototype.addWaypointForEvent = function(a) {
- var b = mxUtils.convertPoint(this.graph.container, a.getX(), a.getY()),
- c = Math.abs(b.x - this.first.x),
- b = Math.abs(b.y - this.first.y);
- if (null != this.waypoints || 1 < this.mouseDownCounter && (c > this.graph.tolerance || b > this.graph.tolerance)) null == this.waypoints && (this.waypoints = []), c = this.graph.view.scale, b =
- new mxPoint(this.graph.snap(a.getGraphX() / c) * c, this.graph.snap(a.getGraphY() / c) * c), this.waypoints.push(b)
-};
-mxConnectionHandler.prototype.mouseUp = function(a, b) {
- if (!b.isConsumed() && this.isConnecting()) {
- if (this.waypointsEnabled && !this.isStopEvent(b)) {
- this.addWaypointForEvent(b);
- b.consume();
- return
- }
- if (null == this.error) {
- var c = null != this.previous ? this.previous.cell : null,
- d = null;
- null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (d = this.constraintHandler.currentFocus.cell);
- null == d && this.marker.hasValidState() && (d = this.marker.validState.cell);
- this.connect(c, d, b.getEvent(),
- b.getCell())
- } else null != this.previous && (null != this.marker.validState && this.previous.cell == this.marker.validState.cell) && this.graph.selectCellForEvent(this.marker.source, evt), 0 < this.error.length &&
- this.graph.validationAlert(this.error);
- this.destroyIcons(this.icons);
- b.consume()
- }
- null != this.first && this.reset();
- this.tapAndHoldValid = this.tapAndHoldInProgress = !1
-};
-mxConnectionHandler.prototype.reset = function() {
- null != this.shape && (this.shape.destroy(), this.shape = null);
- this.destroyIcons(this.icons);
- this.icons = null;
- this.marker.reset();
- this.constraintHandler.reset();
- this.sourceConstraint = this.error = this.previous = this.edgeState = this.selectedIcon = null;
- this.mouseDownCounter = 0;
- this.icon = this.first = null;
- this.fireEvent(new mxEventObject(mxEvent.RESET))
-};
-mxConnectionHandler.prototype.drawPreview = function() {
- var a = null == this.error;
- this.shape.strokewidth = this.getEdgeWidth(a);
- a = this.getEdgeColor(a);
- this.shape.stroke = a;
- this.shape.redraw()
-};
-mxConnectionHandler.prototype.getEdgeColor = function(a) {
- return a ? mxConstants.VALID_COLOR : mxConstants.INVALID_COLOR
-};
-mxConnectionHandler.prototype.getEdgeWidth = function(a) {
- return a ? 3 : 1
-};
-mxConnectionHandler.prototype.connect = function(a, b, c, d) {
- if (null != b || this.isCreateTarget() || this.graph.allowDanglingEdges) {
- var e = this.graph.getModel(),
- f = null;
- e.beginUpdate();
- try {
- if (null != a && (null == b && this.isCreateTarget()) && (b = this.createTargetVertex(c, a), null != b)) {
- d = this.graph.getDropTarget([b], c, d);
- if (null == d || !this.graph.getModel().isEdge(d)) {
- var g = this.graph.getView().getState(d);
- if (null != g) {
- var h = e.getGeometry(b);
- h.x -= g.origin.x;
- h.y -= g.origin.y
- }
- } else d = this.graph.getDefaultParent();
- this.graph.addCell(b,
- d)
- }
- var k = this.graph.getDefaultParent();
- null != a && (null != b && e.getParent(a) == e.getParent(b) && e.getParent(e.getParent(a)) != e.getRoot()) && (k = e.getParent(a), null != a.geometry && a.geometry.relative && (null != b.geometry &&
- b.geometry.relative) && (k = e.getParent(k)));
- h = g = null;
- null != this.edgeState && (g = this.edgeState.cell.value, h = this.edgeState.cell.style);
- f = this.insertEdge(k, null, g, a, b, h);
- if (null != f) {
- this.graph.setConnectionConstraint(f, a, !0, this.sourceConstraint);
- this.graph.setConnectionConstraint(f, b, !1, this.constraintHandler.currentConstraint);
- null != this.edgeState && e.setGeometry(f, this.edgeState.cell.geometry);
- var l = e.getGeometry(f);
- null == l && (l = new mxGeometry, l.relative = !0, e.setGeometry(f, l));
- if (null != this.waypoints && 0 < this.waypoints.length) {
- var m = this.graph.view.scale,
- n = this.graph.view.translate;
- l.points = [];
- for (a = 0; a < this.waypoints.length; a++) {
- var p = this.waypoints[a];
- l.points.push(new mxPoint(p.x / m - n.x, p.y / m - n.y))
- }
- }
- null == b && (p = this.graph.getPointForEvent(c, !1), p.x -= this.graph.panDx / this.graph.view.scale, p.y -= this.graph.panDy / this.graph.view.scale,
- l.setTerminalPoint(p, !1));
- this.fireEvent(new mxEventObject(mxEvent.CONNECT, "cell", f, "event", c, "target", d))
- }
- } catch (q) {
- mxLog.show(), mxLog.debug(q.message)
- } finally {
- e.endUpdate()
- }
- this.select && this.selectCells(f, b)
- }
-};
-mxConnectionHandler.prototype.selectCells = function(a, b) {
- this.graph.setSelectionCell(a)
-};
-mxConnectionHandler.prototype.insertEdge = function(a, b, c, d, e, f) {
- if (null == this.factoryMethod) return this.graph.insertEdge(a, b, c, d, e, f);
- b = this.createEdge(c, d, e, f);
- return b = this.graph.addEdge(b, a, d, e)
-};
-mxConnectionHandler.prototype.createTargetVertex = function(a, b) {
- for (var c = this.graph.getCellGeometry(b); null != c && c.relative;) b = this.graph.getModel().getParent(b), c = this.graph.getCellGeometry(b);
- var d = this.graph.cloneCells([b])[0],
- c = this.graph.getModel().getGeometry(d);
- if (null != c) {
- var e = this.graph.getPointForEvent(a);
- c.x = this.graph.snap(e.x - c.width / 2) - this.graph.panDx / this.graph.view.scale;
- c.y = this.graph.snap(e.y - c.height / 2) - this.graph.panDy / this.graph.view.scale;
- if (null != this.first) {
- var f = this.graph.view.getState(b);
- if (null != f) {
- var g = this.getAlignmentTolerance();
- Math.abs(this.graph.snap(this.first.x) - this.graph.snap(e.x)) <= g ? c.x = f.x : Math.abs(this.graph.snap(this.first.y) - this.graph.snap(e.y)) <= g && (c.y = f.y)
- }
- }
- }
- return d
-};
-mxConnectionHandler.prototype.getAlignmentTolerance = function() {
- return this.graph.isGridEnabled() ? this.graph.gridSize : this.graph.tolerance
-};
-mxConnectionHandler.prototype.createEdge = function(a, b, c, d) {
- var e = null;
- null != this.factoryMethod && (e = this.factoryMethod(b, c, d));
- null == e && (e = new mxCell(a || ""), e.setEdge(!0), e.setStyle(d), a = new mxGeometry, a.relative = !0, e.setGeometry(a));
- return e
-};
-mxConnectionHandler.prototype.destroy = function() {
- this.graph.removeMouseListener(this);
- null != this.shape && (this.shape.destroy(), this.shape = null);
- null != this.marker && (this.marker.destroy(), this.marker = null);
- null != this.constraintHandler && (this.constraintHandler.destroy(), this.constraintHandler = null);
- null != this.changeHandler && (this.graph.getModel().removeListener(this.changeHandler), this.graph.getView().removeListener(this.changeHandler), this.changeHandler = null);
- null != this.drillHandler && (this.graph.removeListener(this.drillHandler),
- this.graph.getView().removeListener(this.drillHandler), this.drillHandler = null)
-};
-
-function mxConstraintHandler(a) {
- this.graph = a
-}
-mxConstraintHandler.prototype.pointImage = new mxImage(mxClient.imageBasePath + "/point.gif", 5, 5);
-mxConstraintHandler.prototype.graph = null;
-mxConstraintHandler.prototype.enabled = !0;
-mxConstraintHandler.prototype.highlightColor = mxConstants.DEFAULT_VALID_COLOR;
-mxConstraintHandler.prototype.isEnabled = function() {
- return this.enabled
-};
-mxConstraintHandler.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxConstraintHandler.prototype.reset = function() {
- if (null != this.focusIcons) {
- for (var a = 0; a < this.focusIcons.length; a++) this.focusIcons[a].destroy();
- this.focusIcons = null
- }
- null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null);
- this.focusPoints = this.currentFocus = this.currentPoint = this.currentFocusArea = this.currentConstraint = null
-};
-mxConstraintHandler.prototype.getTolerance = function() {
- return this.graph.getTolerance()
-};
-mxConstraintHandler.prototype.getImageForConstraint = function(a, b, c) {
- return this.pointImage
-};
-mxConstraintHandler.prototype.isEventIgnored = function(a, b) {
- return !1
-};
-mxConstraintHandler.prototype.update = function(a, b) {
- if (this.isEnabled() && !this.isEventIgnored(a)) {
- var c = this.getTolerance(),
- d = new mxRectangle(a.getGraphX() - c, a.getGraphY() - c, 2 * c, 2 * c),
- e = null != a.getCell() ? this.graph.isCellConnectable(a.getCell()) : !1;
- if (null == this.currentFocusArea || !mxUtils.intersects(this.currentFocusArea, d) || null != a.getState() && null != this.currentFocus && e)
- if (this.currentFocusArea = null, a.getState() != this.currentFocus)
- if (this.currentFocus = null, this.constraints = null != a.getState() && e ? this.graph.getAllConnectionConstraints(a.getState(),
- b) : null, null != this.constraints) {
- this.currentFocus = a.getState();
- this.currentFocusArea = new mxRectangle(a.getState().x, a.getState().y, a.getState().width, a.getState().height);
- if (null != this.focusIcons) {
- for (e = 0; e < this.focusIcons.length; e++) this.focusIcons[e].destroy();
- this.focusPoints = this.focusIcons = null
- }
- this.focusIcons = [];
- this.focusPoints = [];
- for (e = 0; e < this.constraints.length; e++) {
- var f = this.graph.getConnectionPoint(a.getState(), this.constraints[e]),
- g = this.getImageForConstraint(a.getState(), this.constraints[e],
- f),
- h = g.src,
- g = new mxRectangle(f.x - g.width / 2, f.y - g.height / 2, g.width, g.height),
- g = new mxImageShape(g, h);
- g.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG;
- g.preserveImageAspect = !1;
- g.init(this.graph.getView().getOverlayPane());
- null != g.node.previousSibling && g.node.parentNode.insertBefore(g.node, g.node.parentNode.firstChild);
- h = mxUtils.bind(this, function() {
- return null != this.currentFocus ? this.currentFocus : a.getState()
- });
- g.redraw();
- mxEvent.redirectMouseEvents(g.node,
- this.graph, h);
- this.currentFocusArea.add(g.bounds);
- this.focusIcons.push(g);
- this.focusPoints.push(f)
- }
- this.currentFocusArea.grow(c)
- } else if (null != this.focusIcons) {
- null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null);
- for (e = 0; e < this.focusIcons.length; e++) this.focusIcons[e].destroy();
- this.focusPoints = this.focusIcons = null
- }
- this.currentPoint = this.currentConstraint = null;
- if (null != this.focusIcons && null != this.constraints && (null == a.getState() || this.currentFocus == a.getState()))
- for (e =
- 0; e < this.focusIcons.length; e++)
- if (mxUtils.intersects(this.focusIcons[e].bounds, d)) {
- this.currentConstraint = this.constraints[e];
- this.currentPoint = this.focusPoints[e];
- c = this.focusIcons[e].bounds.clone();
- c.grow(mxClient.IS_IE ? 3 : 2);
- mxClient.IS_IE && (c.width -= 1, c.height -= 1);
- null == this.focusHighlight ? (c = new mxRectangleShape(c, null, this.highlightColor, 3), c.dialect = this.graph.dialect == mxConstants.DIALECT_SVG ? mxConstants.DIALECT_SVG : mxConstants
- .DIALECT_VML, c.init(this.graph.getView().getOverlayPane()), this.focusHighlight =
- c, h = mxUtils.bind(this, function() {
- return null != this.currentFocus ? this.currentFocus : a.getState()
- }), mxEvent.redirectMouseEvents(c.node, this.graph, h)) : (this.focusHighlight.bounds = c, this.focusHighlight.redraw());
- break
- }
- null == this.currentConstraint && null != this.focusHighlight && (this.focusHighlight.destroy(), this.focusHighlight = null)
- }
-};
-mxConstraintHandler.prototype.destroy = function() {
- this.reset()
-};
-
-function mxRubberband(a) {
- null != a && (this.graph = a, this.graph.addMouseListener(this), this.panHandler = mxUtils.bind(this, function() {
- this.repaint()
- }), this.graph.addListener(mxEvent.PAN, this.panHandler), mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
- this.destroy()
- })))
-}
-mxRubberband.prototype.defaultOpacity = 20;
-mxRubberband.prototype.enabled = !0;
-mxRubberband.prototype.div = null;
-mxRubberband.prototype.sharedDiv = null;
-mxRubberband.prototype.currentX = 0;
-mxRubberband.prototype.currentY = 0;
-mxRubberband.prototype.isEnabled = function() {
- return this.enabled
-};
-mxRubberband.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxRubberband.prototype.mouseDown = function(a, b) {
- if (!b.isConsumed() && this.isEnabled() && this.graph.isEnabled() && (this.graph.isForceMarqueeEvent(b.getEvent()) || null == b.getState())) {
- var c = mxUtils.getOffset(this.graph.container),
- d = mxUtils.getScrollOrigin(this.graph.container);
- d.x -= c.x;
- d.y -= c.y;
- this.start(b.getX() + d.x, b.getY() + d.y);
- if (mxClient.IS_NS && !mxClient.IS_SF && !mxClient.IS_GC) {
- var e = this.graph.container,
- f = function(a) {
- a = new mxMouseEvent(a);
- var b = mxUtils.convertPoint(e, a.getX(), a.getY());
- a.graphX = b.x;
- a.graphY = b.y;
- return a
- };
- this.dragHandler = mxUtils.bind(this, function(a) {
- this.mouseMove(this.graph, f(a))
- });
- this.dropHandler = mxUtils.bind(this, function(a) {
- this.mouseUp(this.graph, f(a))
- });
- mxEvent.addListener(document, "mousemove", this.dragHandler);
- mxEvent.addListener(document, "mouseup", this.dropHandler)
- }
- b.consume(!1)
- }
-};
-mxRubberband.prototype.start = function(a, b) {
- this.first = new mxPoint(a, b)
-};
-mxRubberband.prototype.mouseMove = function(a, b) {
- if (!b.isConsumed() && null != this.first) {
- var c = mxUtils.getScrollOrigin(this.graph.container),
- d = mxUtils.getOffset(this.graph.container);
- c.x -= d.x;
- c.y -= d.y;
- var d = b.getX() + c.x,
- c = b.getY() + c.y,
- e = this.first.x - d,
- f = this.first.y - c,
- g = this.graph.tolerance;
- if (null != this.div || Math.abs(e) > g || Math.abs(f) > g) null == this.div && (this.div = this.createShape()), mxUtils.clearSelection(), this.update(d, c), b.consume()
- }
-};
-mxRubberband.prototype.createShape = function() {
- null == this.sharedDiv && (this.sharedDiv = document.createElement("div"), this.sharedDiv.className = "mxRubberband", mxUtils.setOpacity(this.sharedDiv, this.defaultOpacity));
- this.graph.container.appendChild(this.sharedDiv);
- return this.sharedDiv
-};
-mxRubberband.prototype.mouseUp = function(a, b) {
- var c = null != this.div;
- this.reset();
- c && (c = new mxRectangle(this.x, this.y, this.width, this.height), this.graph.selectRegion(c, b.getEvent()), b.consume())
-};
-mxRubberband.prototype.reset = function() {
- null != this.div && this.div.parentNode.removeChild(this.div);
- null != this.dragHandler && (mxEvent.removeListener(document, "mousemove", this.dragHandler), this.dragHandler = null);
- null != this.dropHandler && (mxEvent.removeListener(document, "mouseup", this.dropHandler), this.dropHandler = null);
- this.currentY = this.currentX = 0;
- this.div = this.first = null
-};
-mxRubberband.prototype.update = function(a, b) {
- this.currentX = a;
- this.currentY = b;
- this.repaint()
-};
-mxRubberband.prototype.repaint = function() {
- if (null != this.div) {
- var a = this.currentX - this.graph.panDx,
- b = this.currentY - this.graph.panDy;
- this.x = Math.min(this.first.x, a);
- this.y = Math.min(this.first.y, b);
- this.width = Math.max(this.first.x, a) - this.x;
- this.height = Math.max(this.first.y, b) - this.y;
- a = mxClient.IS_VML ? this.graph.panDy : 0;
- this.div.style.left = this.x + (mxClient.IS_VML ? this.graph.panDx : 0) + "px";
- this.div.style.top = this.y + a + "px";
- this.div.style.width = Math.max(1, this.width) + "px";
- this.div.style.height = Math.max(1,
- this.height) + "px"
- }
-};
-mxRubberband.prototype.destroy = function() {
- this.destroyed || (this.destroyed = !0, this.graph.removeMouseListener(this), this.graph.removeListener(this.panHandler), this.reset(), null != this.sharedDiv && (this.sharedDiv = null))
-};
-
-function mxVertexHandler(a) {
- null != a && (this.state = a, this.init())
-}
-mxVertexHandler.prototype.graph = null;
-mxVertexHandler.prototype.state = null;
-mxVertexHandler.prototype.singleSizer = !1;
-mxVertexHandler.prototype.index = null;
-mxVertexHandler.prototype.allowHandleBoundsCheck = !0;
-mxVertexHandler.prototype.handleImage = null;
-mxVertexHandler.prototype.tolerance = 0;
-mxVertexHandler.prototype.rotationEnabled = !1;
-mxVertexHandler.prototype.rotationRaster = !0;
-mxVertexHandler.prototype.init = function() {
- this.graph = this.state.view.graph;
- this.selectionBounds = this.getSelectionBounds(this.state);
- this.bounds = new mxRectangle(this.selectionBounds.x, this.selectionBounds.y, this.selectionBounds.width, this.selectionBounds.height);
- this.selectionBorder = this.createSelectionShape(this.bounds);
- this.selectionBorder.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
- this.selectionBorder.pointerEvents = !1;
- this.selectionBorder.init(this.graph.getView().getOverlayPane());
- this.graph.isCellMovable(this.state.cell) && (this.selectionBorder.node.style.cursor = mxConstants.CURSOR_MOVABLE_VERTEX);
- mxEvent.redirectMouseEvents(this.selectionBorder.node, this.graph, this.state);
- if (0 >= mxGraphHandler.prototype.maxCells || this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells) {
- var a = this.graph.isCellResizable(this.state.cell);
- this.sizers = [];
- if (a || this.graph.isLabelMovable(this.state.cell) && 2 <= this.state.width && 2 <= this.state.height) {
- var b = 0;
- a && (this.singleSizer || (this.sizers.push(this.createSizer("nw-resize",
- b++)), this.sizers.push(this.createSizer("n-resize", b++)), this.sizers.push(this.createSizer("ne-resize", b++)), this.sizers.push(this.createSizer("w-resize", b++)), this.sizers.push(
- this.createSizer("e-resize", b++)), this.sizers.push(this.createSizer("sw-resize", b++)), this.sizers.push(this.createSizer("s-resize", b++))), this.sizers.push(this.createSizer(
- "se-resize", b++)));
- a = this.graph.model.getGeometry(this.state.cell);
- null != a && (!a.relative && !this.graph.isSwimlane(this.state.cell) && this.graph.isLabelMovable(this.state.cell)) &&
- (this.labelShape = this.createSizer(mxConstants.CURSOR_LABEL_HANDLE, mxEvent.LABEL_HANDLE, mxConstants.LABEL_HANDLE_SIZE, mxConstants.LABEL_HANDLE_FILLCOLOR), this.sizers.push(this.labelShape))
- } else this.graph.isCellMovable(this.state.cell) && (!this.graph.isCellResizable(this.state.cell) && 2 > this.state.width && 2 > this.state.height) && (this.labelShape = this.createSizer(
- mxConstants.CURSOR_MOVABLE_VERTEX, null, null, mxConstants.LABEL_HANDLE_FILLCOLOR), this.sizers.push(this.labelShape))
- }
- if (this.rotationEnabled && (0 >=
- mxGraphHandler.prototype.maxCells || this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells)) this.rotationShape = this.createSizer("pointer", mxEvent.ROTATION_HANDLE, mxConstants
- .HANDLE_SIZE + 3, mxConstants.HANDLE_FILLCOLOR), this.sizers.push(this.rotationShape);
- this.redraw()
-};
-mxVertexHandler.prototype.getSelectionBounds = function(a) {
- return new mxRectangle(Math.round(a.x), Math.round(a.y), Math.round(a.width), Math.round(a.height))
-};
-mxVertexHandler.prototype.createSelectionShape = function(a) {
- a = new mxRectangleShape(a, null, this.getSelectionColor());
- a.strokewidth = this.getSelectionStrokeWidth();
- a.isDashed = this.isSelectionDashed();
- return a
-};
-mxVertexHandler.prototype.getSelectionColor = function() {
- return mxConstants.VERTEX_SELECTION_COLOR
-};
-mxVertexHandler.prototype.getSelectionStrokeWidth = function() {
- return mxConstants.VERTEX_SELECTION_STROKEWIDTH
-};
-mxVertexHandler.prototype.isSelectionDashed = function() {
- return mxConstants.VERTEX_SELECTION_DASHED
-};
-mxVertexHandler.prototype.createSizer = function(a, b, c, d) {
- c = c || mxConstants.HANDLE_SIZE;
- c = new mxRectangle(0, 0, c, c);
- d = this.createSizerShape(c, b, d);
- d.isHtmlAllowed() && null != this.state.text && this.state.text.node.parentNode == this.graph.container ? (d.bounds.height -= 1, d.bounds.width -= 1, d.dialect = mxConstants.DIALECT_STRICTHTML, d
- .init(this.graph.container)) : (d.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG, d.init(this.graph.getView().getOverlayPane()));
- mxEvent.redirectMouseEvents(d.node, this.graph, this.state);
- this.graph.isEnabled() && (d.node.style.cursor = a);
- this.isSizerVisible(b) || (d.node.style.visibility = "hidden");
- return d
-};
-mxVertexHandler.prototype.isSizerVisible = function(a) {
- return !0
-};
-mxVertexHandler.prototype.createSizerShape = function(a, b, c) {
- return null != this.handleImage ? (a.width = this.handleImage.width, a.height = this.handleImage.height, new mxImageShape(a, this.handleImage.src)) : b == mxEvent.ROTATION_HANDLE ? new mxEllipse(
- a, c || mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR) : new mxRectangleShape(a, c || mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)
-};
-mxVertexHandler.prototype.moveSizerTo = function(a, b, c) {
- null != a && (a.bounds.x = Math.round(b - a.bounds.width / 2), a.bounds.y = Math.round(c - a.bounds.height / 2), a.redraw())
-};
-mxVertexHandler.prototype.getHandleForEvent = function(a) {
- if (a.isSource(this.rotationShape)) return mxEvent.ROTATION_HANDLE;
- if (a.isSource(this.labelShape)) return mxEvent.LABEL_HANDLE;
- if (null != this.sizers)
- for (var b = this.tolerance, b = this.allowHandleBoundsCheck && (mxClient.IS_IE || 0 < b) ? new mxRectangle(a.getGraphX() - b, a.getGraphY() - b, 2 * b, 2 * b) : null, c = 0; c < this.sizers.length; c++)
- if (a.isSource(this.sizers[c]) || null != b && mxUtils.intersects(this.sizers[c].bounds, b)) return c;
- return null
-};
-mxVertexHandler.prototype.mouseDown = function(a, b) {
- if (!b.isConsumed() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent()) && (0 < this.tolerance || b.getState() == this.state)) {
- var c = this.getHandleForEvent(b);
- null != c && (this.start(b.getX(), b.getY(), c), b.consume())
- }
-};
-mxVertexHandler.prototype.start = function(a, b, c) {
- a = mxUtils.convertPoint(this.graph.container, a, b);
- this.startX = a.x;
- this.startY = a.y;
- this.index = c;
- this.selectionBorder.node.style.display = c == mxEvent.ROTATION_HANDLE ? "inline" : "none";
- this.preview = this.createSelectionShape(this.bounds);
- !(mxClient.IS_SVG && 0 != Number(this.state.style[mxConstants.STYLE_ROTATION] || "0")) && null != this.state.text && this.state.text.node.parentNode == this.graph.container ? (this.preview.dialect =
- mxConstants.DIALECT_STRICTHTML, this.preview.init(this.graph.container)) :
- (this.preview.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG, this.preview.init(this.graph.view.getOverlayPane()))
-};
-mxVertexHandler.prototype.mouseMove = function(a, b) {
- if (!b.isConsumed() && null != this.index) {
- var c = new mxPoint(b.getGraphX(), b.getGraphY()),
- d = this.graph.isGridEnabledEvent(b.getEvent()),
- e = this.graph.getView().scale;
- if (this.index == mxEvent.LABEL_HANDLE) d && (c.x = this.graph.snap(c.x / e) * e, c.y = this.graph.snap(c.y / e) * e), this.moveSizerTo(this.sizers[this.sizers.length - 1], c.x, c.y);
- else if (this.index == mxEvent.ROTATION_HANDLE) {
- var f = this.state.x + this.state.width / 2 - c.x,
- g = this.state.y + this.state.height / 2 - c.y;
- this.currentAlpha =
- 0 != f ? 180 * Math.atan(g / f) / Math.PI + 90 : 0 > g ? 180 : 0;
- 0 < f && (this.currentAlpha -= 180);
- this.rotationRaster && (f = c.x - this.state.getCenterX(), g = c.y - this.state.getCenterY(), f = Math.abs(Math.sqrt(f * f + g * g) - this.state.height / 2 - 20), f = Math.max(1, 5 * Math.min(
- 3, Math.max(0, Math.round(80 / Math.abs(f))))), this.currentAlpha = Math.round(this.currentAlpha / f) * f);
- this.selectionBorder.rotation = this.currentAlpha;
- this.selectionBorder.redraw()
- } else {
- var h = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0"),
- k = Math.cos(-h),
- l = Math.sin(-h),
- m = new mxPoint(this.state.getCenterX(), this.state.getCenterY()),
- f = c.x - this.startX,
- g = c.y - this.startY,
- c = this.graph.view.translate,
- n = l * f + k * g,
- f = k * f - l * g;
- this.bounds = this.union(this.selectionBounds, f, n, this.index, d, e, c);
- k = Math.cos(h);
- l = Math.sin(h);
- g = new mxPoint(this.bounds.getCenterX(), this.bounds.getCenterY());
- f = g.x - m.x;
- g = g.y - m.y;
- m = l * f + k * g - g;
- this.bounds.x += k * f - l * g - f;
- this.bounds.y += m;
- this.drawPreview()
- }
- b.consume()
- } else null != this.getHandleForEvent(b) && b.consume(!1)
-};
-mxVertexHandler.prototype.mouseUp = function(a, b) {
- if (!b.isConsumed() && null != this.index && null != this.state) {
- var c = new mxPoint(b.getGraphX(), b.getGraphY());
- this.graph.getModel().beginUpdate();
- try {
- if (this.index == mxEvent.ROTATION_HANDLE) null != this.currentAlpha && this.rotateCell(this.state.cell, this.currentAlpha - (this.state.style[mxConstants.STYLE_ROTATION] || 0));
- else {
- var d = this.graph.isGridEnabledEvent(b.getEvent()),
- e = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0"),
- f = Math.cos(-e),
- g = Math.sin(-e),
- h = c.x - this.startX,
- k = c.y - this.startY,
- c = g * h + f * k,
- h = f * h - g * k,
- k = c,
- l = this.graph.view.scale;
- this.resizeCell(this.state.cell, h / l, k / l, this.index, d)
- }
- } finally {
- this.graph.getModel().endUpdate()
- }
- this.reset();
- b.consume()
- }
-};
-mxVertexHandler.prototype.rotateCell = function(a, b) {
- var c = this.graph.getModel();
- if (c.isVertex(a)) {
- var d = a == this.state ? this.state : this.graph.view.getState(a);
- null != d && this.graph.setCellStyles(mxConstants.STYLE_ROTATION, (d.style[mxConstants.STYLE_ROTATION] || 0) + b, [a]);
- if (this.state.cell != a && (d = this.graph.getCellGeometry(a), null != d && !d.relative))
- if (0 != b) {
- var e = this.graph.getModel().getParent(a),
- f = this.graph.getCellGeometry(e);
- if (!d.relative && null != f) {
- var g = mxUtils.toRadians(b),
- e = Math.cos(g),
- g = Math.sin(g),
- h = new mxPoint(d.getCenterX(), d.getCenterY()),
- f = new mxPoint(f.width / 2, f.height / 2),
- e = mxUtils.getRotatedPoint(h, e, g, f),
- d = d.clone();
- d.x = e.x - d.width / 2;
- d.y = e.y - d.height / 2;
- c.setGeometry(a, d)
- }
- } else d = d.clone(), d.x += dx, d.y += dy, c.setGeometry(a, d);
- d = c.getChildCount(a);
- for (e = 0; e < d; e++) this.rotateCell(c.getChildAt(a, e), b)
- }
-};
-mxVertexHandler.prototype.reset = function() {
- this.index = this.currentAlpha = null;
- null != this.preview && (this.preview.destroy(), this.preview = null);
- null != this.selectionBorder && (this.selectionBorder.node.style.display = "inline", this.selectionBounds = this.getSelectionBounds(this.state), this.bounds = new mxRectangle(this.selectionBounds
- .x, this.selectionBounds.y, this.selectionBounds.width, this.selectionBounds.height), this.drawPreview())
-};
-mxVertexHandler.prototype.resizeCell = function(a, b, c, d, e) {
- var f = this.graph.model.getGeometry(a);
- if (null != f)
- if (d == mxEvent.LABEL_HANDLE) d = this.graph.view.scale, b = (this.labelShape.bounds.getCenterX() - this.startX) / d, c = (this.labelShape.bounds.getCenterY() - this.startY) / d, f = f.clone(),
- null == f.offset ? f.offset = new mxPoint(b, c) : (f.offset.x += b, f.offset.y += c), this.graph.model.setGeometry(a, f);
- else {
- d = this.union(f, b, c, d, e, 1, new mxPoint(0, 0));
- var g = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] || "0");
- if (0 != g) {
- b = d.getCenterX() - f.getCenterX();
- c = d.getCenterY() - f.getCenterY();
- e = Math.cos(g);
- var h = Math.sin(g),
- g = e * b - h * c - b;
- b = h * b + e * c - c;
- c = d.x - f.x;
- var k = d.y - f.y,
- l = e * c - h * k;
- e = h * c + e * k;
- d.x += g;
- d.y += b;
- if (!this.graph.isCellCollapsed(a) && (0 != g || 0 != b)) c = f.x - d.x + l, k = f.y - d.y + e, this.moveChildren(a, c, k)
- }
- this.graph.resizeCell(a, d)
- }
-};
-mxVertexHandler.prototype.moveChildren = function(a, b, c) {
- for (var d = this.graph.getModel(), e = d.getChildCount(a), f = 0; f < e; f++) {
- var g = d.getChildAt(a, f);
- if (d.isVertex(g)) {
- var h = this.graph.getCellGeometry(g);
- null != h && !h.relative && (h = h.clone(), h.x += b, h.y += c, d.setGeometry(g, h))
- }
- }
-};
-mxVertexHandler.prototype.union = function(a, b, c, d, e, f, g) {
- if (this.singleSizer) {
- g = a.x + a.width + b;
- var h = a.y + a.height + c;
- e && (g = this.graph.snap(g / f) * f, h = this.graph.snap(h / f) * f);
- f = new mxRectangle(a.x, a.y, 0, 0);
- f.add(new mxRectangle(g, h, 0, 0));
- return f
- }
- var h = a.x - g.x * f,
- k = h + a.width,
- l = a.y - g.y * f;
- a = l + a.height;
- 4 < d ? (a += c, e && (a = this.graph.snap(a / f) * f)) : 3 > d && (l += c, e && (l = this.graph.snap(l / f) * f));
- if (0 == d || 3 == d || 5 == d) h += b, e && (h = this.graph.snap(h / f) * f);
- else if (2 == d || 4 == d || 7 == d) k += b, e && (k = this.graph.snap(k / f) * f);
- e = k - h;
- a -=
- l;
- 0 > e && (h += e, e = Math.abs(e));
- 0 > a && (l += a, a = Math.abs(a));
- return new mxRectangle(h + g.x * f, l + g.y * f, e, a)
-};
-mxVertexHandler.prototype.redraw = function() {
- this.selectionBounds = this.getSelectionBounds(this.state);
- this.bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
- var a = this.state;
- if (null != this.sizers) {
- var b = a.x + a.width,
- c = a.y + a.height;
- if (this.singleSizer) this.moveSizerTo(this.sizers[0], b, c);
- else {
- var d = a.x + a.width / 2,
- e = a.y + a.height / 2;
- if (1 < this.sizers.length) {
- var f = mxUtils.toRadians(a.style[mxConstants.STYLE_ROTATION] || "0"),
- g = Math.cos(f),
- f = Math.sin(f),
- h = new mxPoint(a.getCenterX(),
- a.getCenterY()),
- k = mxUtils.getRotatedPoint(new mxPoint(a.x, a.y), g, f, h);
- this.moveSizerTo(this.sizers[0], k.x, k.y);
- k.x = d;
- k.y = a.y;
- k = mxUtils.getRotatedPoint(k, g, f, h);
- this.moveSizerTo(this.sizers[1], k.x, k.y);
- k.x = b;
- k.y = a.y;
- k = mxUtils.getRotatedPoint(k, g, f, h);
- this.moveSizerTo(this.sizers[2], k.x, k.y);
- k.x = a.x;
- k.y = e;
- k = mxUtils.getRotatedPoint(k, g, f, h);
- this.moveSizerTo(this.sizers[3], k.x, k.y);
- k.x = b;
- k.y = e;
- k = mxUtils.getRotatedPoint(k, g, f, h);
- this.moveSizerTo(this.sizers[4], k.x, k.y);
- k.x = a.x;
- k.y = c;
- k = mxUtils.getRotatedPoint(k,
- g, f, h);
- this.moveSizerTo(this.sizers[5], k.x, k.y);
- k.x = d;
- k.y = c;
- k = mxUtils.getRotatedPoint(k, g, f, h);
- this.moveSizerTo(this.sizers[6], k.x, k.y);
- k.x = b;
- k.y = c;
- k = mxUtils.getRotatedPoint(k, g, f, h);
- this.moveSizerTo(this.sizers[7], k.x, k.y);
- this.moveSizerTo(this.sizers[8], d + a.absoluteOffset.x, e + a.absoluteOffset.y)
- } else 2 <= this.state.width && 2 <= this.state.height ? this.moveSizerTo(this.sizers[0], d + a.absoluteOffset.x, e + a.absoluteOffset.y) : this.moveSizerTo(this.sizers[0], a.x, a.y)
- }
- }
- null != this.rotationShape && (f = mxUtils.toRadians(this.state.style[mxConstants.STYLE_ROTATION] ||
- "0"), g = Math.cos(f), f = Math.sin(f), h = new mxPoint(this.state.getCenterX(), this.state.getCenterY()), k = mxUtils.getRotatedPoint(new mxPoint(a.x + a.width / 2, a.y - 16), g, f, h),
- this.moveSizerTo(this.rotationShape, k.x, k.y));
- this.selectionBorder.rotation = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0");
- this.drawPreview()
-};
-mxVertexHandler.prototype.drawPreview = function() {
- null != this.preview && (this.preview.bounds = this.bounds, this.preview.node.parentNode == this.graph.container && (this.preview.bounds.width = Math.max(0, this.preview.bounds.width - 1), this.preview
- .bounds.height = Math.max(0, this.preview.bounds.height - 1)), this.preview.rotation = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0"), this.preview.redraw());
- this.selectionBorder.bounds = this.bounds;
- this.selectionBorder.redraw()
-};
-mxVertexHandler.prototype.destroy = function() {
- null != this.preview && (this.preview.destroy(), this.preview = null);
- this.selectionBorder.destroy();
- this.labelShape = this.selectionBorder = null;
- if (null != this.sizers)
- for (var a = 0; a < this.sizers.length; a++) this.sizers[a].destroy(), this.sizers[a] = null
-};
-
-function mxEdgeHandler(a) {
- null != a && (this.state = a, this.init())
-}
-mxEdgeHandler.prototype.graph = null;
-mxEdgeHandler.prototype.state = null;
-mxEdgeHandler.prototype.marker = null;
-mxEdgeHandler.prototype.constraintHandler = null;
-mxEdgeHandler.prototype.error = null;
-mxEdgeHandler.prototype.shape = null;
-mxEdgeHandler.prototype.bends = null;
-mxEdgeHandler.prototype.labelShape = null;
-mxEdgeHandler.prototype.cloneEnabled = !0;
-mxEdgeHandler.prototype.addEnabled = !1;
-mxEdgeHandler.prototype.removeEnabled = !1;
-mxEdgeHandler.prototype.preferHtml = !1;
-mxEdgeHandler.prototype.allowHandleBoundsCheck = !0;
-mxEdgeHandler.prototype.snapToTerminals = !1;
-mxEdgeHandler.prototype.handleImage = null;
-mxEdgeHandler.prototype.tolerance = 0;
-mxEdgeHandler.prototype.init = function() {
- this.graph = this.state.view.graph;
- this.marker = this.createMarker();
- this.constraintHandler = new mxConstraintHandler(this.graph);
- this.points = [];
- this.abspoints = this.getSelectionPoints(this.state);
- this.shape = this.createSelectionShape(this.abspoints);
- this.shape.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML : mxConstants.DIALECT_SVG;
- this.shape.init(this.graph.getView().getOverlayPane());
- this.shape.svgStrokeTolerance = 0;
- this.shape.node.style.cursor =
- mxConstants.CURSOR_MOVABLE_EDGE;
- mxEvent.addListener(this.shape.node, "dblclick", mxUtils.bind(this, function(a) {
- this.graph.dblClick(a, this.state.cell)
- }));
- mxEvent.addGestureListeners(this.shape.node, mxUtils.bind(this, function(a) {
- this.addEnabled && this.isAddPointEvent(a) ? this.addPoint(this.state, a) : this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(a, this.state))
- }), mxUtils.bind(this, function(a) {
- var c = this.state.cell;
- if (null != this.index) {
- var d = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a),
- mxEvent.getClientY(a)),
- c = this.graph.getCellAt(d.x, d.y);
- this.graph.isSwimlane(c) && this.graph.hitsSwimlaneContent(c, d.x, d.y) && (c = null)
- }
- this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE, new mxMouseEvent(a, this.graph.getView().getState(c)))
- }), mxUtils.bind(this, function(a) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_UP, new mxMouseEvent(a, this.state))
- }));
- this.preferHtml = null != this.state.text && this.state.text.node.parentNode == this.graph.container;
- if (!this.preferHtml) {
- var a = this.state.getVisibleTerminalState(!0);
- null != a && (this.preferHtml = null != a.text && a.text.node.parentNode == this.graph.container);
- this.preferHtml || (a = this.state.getVisibleTerminalState(!1), null != a && (this.preferHtml = null != a.text && a.text.node.parentNode == this.graph.container))
- }
- if (this.graph.getSelectionCount() < mxGraphHandler.prototype.maxCells || 0 >= mxGraphHandler.prototype.maxCells) this.bends = this.createBends();
- this.label = new mxPoint(this.state.absoluteOffset.x, this.state.absoluteOffset.y);
- this.labelShape = new mxRectangleShape(new mxRectangle,
- mxConstants.LABEL_HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR);
- this.labelShape.pointerEvents = !1;
- this.initBend(this.labelShape);
- this.labelShape.node.style.cursor = mxConstants.CURSOR_LABEL_HANDLE;
- mxEvent.redirectMouseEvents(this.labelShape.node, this.graph, this.state);
- this.redraw()
-};
-mxEdgeHandler.prototype.isAddPointEvent = function(a) {
- return mxEvent.isShiftDown(a)
-};
-mxEdgeHandler.prototype.isRemovePointEvent = function(a) {
- return mxEvent.isShiftDown(a)
-};
-mxEdgeHandler.prototype.getSelectionPoints = function(a) {
- return a.absolutePoints
-};
-mxEdgeHandler.prototype.createSelectionShape = function(a) {
- a = new mxPolyline(a, this.getSelectionColor());
- a.strokewidth = this.getSelectionStrokeWidth();
- a.isDashed = this.isSelectionDashed();
- return a
-};
-mxEdgeHandler.prototype.getSelectionColor = function() {
- return mxConstants.EDGE_SELECTION_COLOR
-};
-mxEdgeHandler.prototype.getSelectionStrokeWidth = function() {
- return mxConstants.EDGE_SELECTION_STROKEWIDTH
-};
-mxEdgeHandler.prototype.isSelectionDashed = function() {
- return mxConstants.EDGE_SELECTION_DASHED
-};
-mxEdgeHandler.prototype.isConnectableCell = function(a) {
- return !0
-};
-mxEdgeHandler.prototype.createMarker = function() {
- var a = new mxCellMarker(this.graph),
- b = this;
- a.getCell = function(a) {
- var d = mxCellMarker.prototype.getCell.apply(this, arguments);
- if (!b.isConnectableCell(d)) return null;
- var e = b.graph.getModel();
- if (d == b.state.cell || null != d && !b.graph.connectableEdges && e.isEdge(d)) d = null;
- return d
- };
- a.isValidState = function(a) {
- var d = b.graph.getModel(),
- d = b.graph.view.getTerminalPort(a, b.graph.view.getState(d.getTerminal(b.state.cell, !b.isSource)), !b.isSource),
- d = null != d ? d.cell : null;
- b.error = b.validateConnection(b.isSource ? a.cell : d, b.isSource ? d : a.cell);
- return null == b.error
- };
- return a
-};
-mxEdgeHandler.prototype.validateConnection = function(a, b) {
- return this.graph.getEdgeValidationError(this.state.cell, a, b)
-};
-mxEdgeHandler.prototype.createBends = function() {
- for (var a = this.state.cell, b = [], c = 0; c < this.abspoints.length; c++)
- if (this.isHandleVisible(c)) {
- var d = c == this.abspoints.length - 1;
- if ((d = 0 == c || d) || this.graph.isCellBendable(a)) {
- var e = this.createHandleShape(c);
- this.initBend(e);
- mxClient.IS_TOUCH && e.node.setAttribute("pointer-events", "none");
- if (this.isHandleEnabled(c))
- if (mxClient.IS_TOUCH) {
- var f = mxUtils.bind(this, function(a) {
- a = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(a), mxEvent.getClientY(a));
- return this.graph.view.getState(this.graph.getCellAt(a.x, a.y))
- });
- mxEvent.redirectMouseEvents(e.node, this.graph, f)
- } else e.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE, mxEvent.redirectMouseEvents(e.node, this.graph, this.state);
- b.push(e);
- d || (this.points.push(new mxPoint(0, 0)), e.node.style.visibility = "hidden")
- }
- }
- return b
-};
-mxEdgeHandler.prototype.isHandleEnabled = function(a) {
- return !0
-};
-mxEdgeHandler.prototype.isHandleVisible = function(a) {
- return !0
-};
-mxEdgeHandler.prototype.createHandleShape = function(a) {
- if (null != this.handleImage) return new mxImageShape(new mxRectangle(0, 0, this.handleImage.width, this.handleImage.height), this.handleImage.src);
- a = mxConstants.HANDLE_SIZE;
- this.preferHtml && (a -= 1);
- return new mxRectangleShape(new mxRectangle(0, 0, a, a), mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)
-};
-mxEdgeHandler.prototype.initBend = function(a) {
- this.preferHtml ? (a.dialect = mxConstants.DIALECT_STRICTHTML, a.init(this.graph.container)) : (a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_MIXEDHTML :
- mxConstants.DIALECT_SVG, a.init(this.graph.getView().getOverlayPane()))
-};
-mxEdgeHandler.prototype.getHandleForEvent = function(a) {
- if (null != this.bends)
- for (var b = this.tolerance, b = this.allowHandleBoundsCheck && (mxClient.IS_IE || 0 < b) ? new mxRectangle(a.getGraphX() - b, a.getGraphY() - b, 2 * b, 2 * b) : null, c = 0; c < this.bends.length; c++)
- if ((a.isSource(this.bends[c]) || null != b && mxUtils.intersects(this.bends[c].bounds, b)) && "hidden" != this.bends[c].node.style.visibility) return c;
- if (a.isSource(this.labelShape) && "hidden" != this.labelShape.node.style.visibility || a.isSource(this.state.text))
- if (!mxClient.IS_SF &&
- !mxClient.IS_GC || "SELECT" != a.getSource().nodeName) return mxEvent.LABEL_HANDLE;
- return null
-};
-mxEdgeHandler.prototype.mouseDown = function(a, b) {
- var c = null,
- c = this.getHandleForEvent(b);
- null != c && (!b.isConsumed() && this.graph.isEnabled() && !this.graph.isForceMarqueeEvent(b.getEvent())) && (this.removeEnabled && this.isRemovePointEvent(b.getEvent()) ? this.removePoint(this.state,
- c) : (c != mxEvent.LABEL_HANDLE || this.graph.isLabelMovable(b.getCell())) && this.start(b.getX(), b.getY(), c), b.consume())
-};
-mxEdgeHandler.prototype.start = function(a, b, c) {
- this.startX = a;
- this.startY = b;
- this.isSource = null == this.bends ? !1 : 0 == c;
- this.isTarget = null == this.bends ? !1 : c == this.bends.length - 1;
- this.isLabel = c == mxEvent.LABEL_HANDLE;
- if (this.isSource || this.isTarget) {
- if (a = this.state.cell, b = this.graph.model.getTerminal(a, this.isSource), null == b && this.graph.isTerminalPointMovable(a, this.isSource) || null != b && this.graph.isCellDisconnectable(a,
- b, this.isSource)) this.index = c
- } else this.index = c
-};
-mxEdgeHandler.prototype.clonePreviewState = function(a, b) {
- return this.state.clone()
-};
-mxEdgeHandler.prototype.getSnapToTerminalTolerance = function() {
- return this.graph.gridSize * this.graph.view.scale / 2
-};
-mxEdgeHandler.prototype.getPointForEvent = function(a) {
- var b = new mxPoint(a.getGraphX(), a.getGraphY()),
- c = this.getSnapToTerminalTolerance(),
- d = this.graph.getView(),
- e = !1,
- f = !1;
- if (this.snapToTerminals && 0 < c) {
- var g = function(a) {
- if (null != a) {
- var d = a.x;
- Math.abs(b.x - d) < c && (b.x = d, e = !0);
- a = a.y;
- Math.abs(b.y - a) < c && (b.y = a, f = !0)
- }
- },
- h = function(a) {
- null != a && g.call(this, new mxPoint(d.getRoutingCenterX(a), d.getRoutingCenterY(a)))
- };
- h.call(this, this.state.getVisibleTerminalState(!0));
- h.call(this, this.state.getVisibleTerminalState(!1));
- if (null != this.abspoints)
- for (h = 0; h < this.abspoints; h++) h != this.index && g.call(this, this.abspoints[h])
- }
- this.graph.isGridEnabledEvent(a.getEvent()) && (a = d.scale, h = d.translate, e || (b.x = (this.graph.snap(b.x / a - h.x) + h.x) * a), f || (b.y = (this.graph.snap(b.y / a - h.y) + h.y) * a));
- return b
-};
-mxEdgeHandler.prototype.getPreviewTerminalState = function(a) {
- this.constraintHandler.update(a, this.isSource);
- this.marker.process(a);
- a = this.marker.getValidState();
- var b = null;
- null != this.constraintHandler.currentFocus && null != this.constraintHandler.currentConstraint && this.marker.reset();
- null != a ? b = a : null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (b = this.constraintHandler.currentFocus);
- return b
-};
-mxEdgeHandler.prototype.getPreviewPoints = function(a) {
- var b = this.graph.getCellGeometry(this.state.cell),
- b = null != b.points ? b.points.slice() : null;
- !this.isSource && !this.isTarget ? (this.convertPoint(a, !1), null == b ? b = [a] : b[this.index - 1] = a) : this.graph.resetEdgesOnConnect && (b = null);
- return b
-};
-mxEdgeHandler.prototype.updatePreviewState = function(a, b, c) {
- var d = this.isSource ? c : this.state.getVisibleTerminalState(!0),
- e = this.isTarget ? c : this.state.getVisibleTerminalState(!1),
- f = this.graph.getConnectionConstraint(a, d, !0),
- g = this.graph.getConnectionConstraint(a, e, !1),
- h = this.constraintHandler.currentConstraint;
- null == h && (h = new mxConnectionConstraint);
- this.isSource ? f = h : this.isTarget && (g = h);
- (!this.isSource || null != d) && a.view.updateFixedTerminalPoint(a, d, !0, f);
- (!this.isTarget || null != e) && a.view.updateFixedTerminalPoint(a,
- e, !1, g);
- if ((this.isSource || this.isTarget) && null == c) a.setAbsoluteTerminalPoint(b, this.isSource), null == this.marker.getMarkedState() && (this.error = this.graph.allowDanglingEdges ? null : "");
- a.view.updatePoints(a, this.points, d, e);
- a.view.updateFloatingTerminalPoints(a, d, e)
-};
-mxEdgeHandler.prototype.mouseMove = function(a, b) {
- if (null != this.index && null != this.marker) {
- var c = this.getPointForEvent(b);
- if (this.isLabel) this.label.x = c.x, this.label.y = c.y;
- else {
- this.points = this.getPreviewPoints(c);
- var d = this.isSource || this.isTarget ? this.getPreviewTerminalState(b) : null,
- e = this.clonePreviewState(c, null != d ? d.cell : null);
- this.updatePreviewState(e, c, d);
- this.setPreviewColor(null == this.error ? this.marker.validColor : this.marker.invalidColor);
- this.abspoints = e.absolutePoints;
- this.active = !0
- }
- this.drawPreview();
- mxEvent.consume(b.getEvent());
- b.consume()
- } else mxClient.IS_IE && null != this.getHandleForEvent(b) && b.consume(!1)
-};
-mxEdgeHandler.prototype.mouseUp = function(a, b) {
- if (null != this.index && null != this.marker) {
- var c = this.state.cell;
- if (b.getX() != this.startX || b.getY() != this.startY)
- if (null != this.error) 0 < this.error.length && this.graph.validationAlert(this.error);
- else if (this.isLabel) this.moveLabel(this.state, this.label.x, this.label.y);
- else if (this.isSource || this.isTarget) {
- var d = null;
- null != this.constraintHandler.currentConstraint && null != this.constraintHandler.currentFocus && (d = this.constraintHandler.currentFocus.cell);
- null ==
- d && this.marker.hasValidState() && (d = this.marker.validState.cell);
- if (null != d) c = this.connect(c, d, this.isSource, this.graph.isCloneEvent(b.getEvent()) && this.cloneEnabled && this.graph.isCellsCloneable(), b);
- else if (this.graph.isAllowDanglingEdges()) {
- d = this.abspoints[this.isSource ? 0 : this.abspoints.length - 1];
- d.x = d.x / this.graph.view.scale - this.graph.view.translate.x;
- d.y = d.y / this.graph.view.scale - this.graph.view.translate.y;
- var e = this.graph.getView().getState(this.graph.getModel().getParent(c));
- null != e && (d.x -=
- e.origin.x, d.y -= e.origin.y);
- d.x -= this.graph.panDx / this.graph.view.scale;
- d.y -= this.graph.panDy / this.graph.view.scale;
- this.changeTerminalPoint(c, d, this.isSource)
- }
- } else this.active ? this.changePoints(c, this.points) : (this.graph.getView().invalidate(this.state.cell), this.graph.getView().revalidate(this.state.cell));
- null != this.marker && (this.reset(), c != this.state.cell && this.graph.setSelectionCell(c));
- b.consume()
- }
-};
-mxEdgeHandler.prototype.reset = function() {
- this.points = this.label = this.index = this.error = null;
- this.isTarget = this.isSource = this.isLabel = this.active = !1;
- this.marker.reset();
- this.constraintHandler.reset();
- this.setPreviewColor(mxConstants.EDGE_SELECTION_COLOR);
- this.redraw()
-};
-mxEdgeHandler.prototype.setPreviewColor = function(a) {
- null != this.shape && (this.shape.stroke = a)
-};
-mxEdgeHandler.prototype.convertPoint = function(a, b) {
- var c = this.graph.getView().getScale(),
- d = this.graph.getView().getTranslate();
- b && (a.x = this.graph.snap(a.x), a.y = this.graph.snap(a.y));
- a.x = Math.round(a.x / c - d.x);
- a.y = Math.round(a.y / c - d.y);
- c = this.graph.getView().getState(this.graph.getModel().getParent(this.state.cell));
- null != c && (a.x -= c.origin.x, a.y -= c.origin.y);
- return a
-};
-mxEdgeHandler.prototype.moveLabel = function(a, b, c) {
- var d = this.graph.getModel(),
- e = d.getGeometry(a.cell);
- if (null != e) {
- var e = e.clone(),
- f = this.graph.getView().getRelativePoint(a, b, c);
- e.x = f.x;
- e.y = f.y;
- var g = this.graph.getView().scale;
- e.offset = new mxPoint(0, 0);
- f = this.graph.view.getPoint(a, e);
- e.offset = new mxPoint((b - f.x) / g, (c - f.y) / g);
- d.setGeometry(a.cell, e)
- }
-};
-mxEdgeHandler.prototype.connect = function(a, b, c, d, e) {
- e = this.graph.getModel();
- var f = e.getParent(a);
- e.beginUpdate();
- try {
- if (d) {
- var g = a.clone();
- e.add(f, g, e.getChildCount(f));
- var h = e.getTerminal(a, !c);
- this.graph.connectCell(g, h, !c);
- a = g
- }
- var k = this.constraintHandler.currentConstraint;
- null == k && (k = new mxConnectionConstraint);
- this.graph.connectCell(a, b, c, k)
- } finally {
- e.endUpdate()
- }
- return a
-};
-mxEdgeHandler.prototype.changeTerminalPoint = function(a, b, c) {
- var d = this.graph.getModel(),
- e = d.getGeometry(a);
- if (null != e) {
- d.beginUpdate();
- try {
- e = e.clone(), e.setTerminalPoint(b, c), d.setGeometry(a, e), this.graph.connectCell(a, null, c, new mxConnectionConstraint)
- } finally {
- d.endUpdate()
- }
- }
-};
-mxEdgeHandler.prototype.changePoints = function(a, b) {
- var c = this.graph.getModel(),
- d = c.getGeometry(a);
- null != d && (d = d.clone(), d.points = b, c.setGeometry(a, d))
-};
-mxEdgeHandler.prototype.addPoint = function(a, b) {
- var c = mxUtils.convertPoint(this.graph.container, mxEvent.getClientX(b), mxEvent.getClientY(b)),
- d = this.graph.isGridEnabledEvent(b);
- this.convertPoint(c, d);
- this.addPointAt(a, c.x, c.y);
- mxEvent.consume(b)
-};
-mxEdgeHandler.prototype.addPointAt = function(a, b, c) {
- var d = this.graph.getCellGeometry(a.cell);
- b = new mxPoint(b, c);
- if (null != d) {
- d = d.clone();
- c = this.graph.view.translate;
- var e = this.graph.view.scale;
- c = mxUtils.findNearestSegment(a, (b.x + c.x) * e, (b.y + c.y) * e);
- null == d.points ? d.points = [b] : d.points.splice(c, 0, b);
- this.graph.getModel().setGeometry(a.cell, d);
- this.destroy();
- this.init()
- }
-};
-mxEdgeHandler.prototype.removePoint = function(a, b) {
- if (0 < b && b < this.abspoints.length - 1) {
- var c = this.graph.getCellGeometry(this.state.cell);
- null != c && null != c.points && (c = c.clone(), c.points.splice(b - 1, 1), this.graph.getModel().setGeometry(a.cell, c), this.destroy(), this.init())
- }
-};
-mxEdgeHandler.prototype.getHandleFillColor = function(a) {
- a = 0 == a;
- var b = this.state.cell,
- c = this.graph.getModel().getTerminal(b, a),
- d = mxConstants.HANDLE_FILLCOLOR;
- null != c && !this.graph.isCellDisconnectable(b, c, a) || null == c && !this.graph.isTerminalPointMovable(b, a) ? d = mxConstants.LOCKED_HANDLE_FILLCOLOR : null != c && this.graph.isCellDisconnectable(
- b, c, a) && (d = mxConstants.CONNECT_HANDLE_FILLCOLOR);
- return d
-};
-mxEdgeHandler.prototype.redraw = function() {
- this.abspoints = this.state.absolutePoints.slice();
- var a = this.state.cell,
- b = mxConstants.LABEL_HANDLE_SIZE;
- this.label = new mxPoint(this.state.absoluteOffset.x, this.state.absoluteOffset.y);
- this.labelShape.bounds = new mxRectangle(Math.round(this.label.x - b / 2), Math.round(this.label.y - b / 2), b, b);
- this.labelShape.redraw();
- b = this.graph.getLabel(a);
- null != b && 0 < b.length && this.graph.isLabelMovable(a) ? this.labelShape.node.style.visibility = "visible" : this.labelShape.node.style.visibility =
- "hidden";
- if (null != this.bends && 0 < this.bends.length) {
- var c = this.abspoints.length - 1,
- a = this.abspoints[0],
- d = this.abspoints[0].y,
- b = this.bends[0].bounds;
- this.bends[0].bounds = new mxRectangle(Math.round(this.abspoints[0].x - b.width / 2), Math.round(d - b.height / 2), b.width, b.height);
- this.bends[0].fill = this.getHandleFillColor(0);
- this.bends[0].redraw();
- var d = this.abspoints[c],
- e = this.abspoints[c].x,
- c = this.abspoints[c].y,
- f = this.bends.length - 1,
- b = this.bends[f].bounds;
- this.bends[f].bounds = new mxRectangle(Math.round(e - b.width /
- 2), Math.round(c - b.height / 2), b.width, b.height);
- this.bends[f].fill = this.getHandleFillColor(f);
- this.bends[f].redraw();
- this.redrawInnerBends(a, d)
- }
- this.drawPreview()
-};
-mxEdgeHandler.prototype.redrawInnerBends = function(a, b) {
- var c = this.graph.getModel().getGeometry(this.state.cell).points;
- if (null != c) {
- null == this.points && (this.points = []);
- for (var d = 1; d < this.bends.length - 1; d++)
- if (null != this.bends[d])
- if (null != this.abspoints[d]) {
- var e = this.abspoints[d].x,
- f = this.abspoints[d].y,
- g = this.bends[d].bounds;
- this.bends[d].node.style.visibility = "visible";
- this.bends[d].bounds = new mxRectangle(Math.round(e - g.width / 2), Math.round(f - g.height / 2), g.width, g.height);
- this.bends[d].redraw();
- this.points[d -
- 1] = c[d - 1]
- } else this.bends[d].destroy(), this.bends[d] = null
- }
-};
-mxEdgeHandler.prototype.drawPreview = function() {
- if (this.isLabel) {
- var a = mxConstants.LABEL_HANDLE_SIZE,
- a = new mxRectangle(Math.round(this.label.x - a / 2), Math.round(this.label.y - a / 2), a, a);
- this.labelShape.bounds = a;
- this.labelShape.redraw()
- } else this.shape.points = this.abspoints, this.shape.redraw()
-};
-mxEdgeHandler.prototype.destroy = function() {
- null != this.marker && (this.marker.destroy(), this.marker = null);
- null != this.shape && (this.shape.destroy(), this.shape = null);
- null != this.labelShape && (this.labelShape.destroy(), this.labelShape = null);
- null != this.constraintHandler && (this.constraintHandler.destroy(), this.constraintHandler = null);
- if (null != this.bends)
- for (var a = 0; a < this.bends.length; a++) null != this.bends[a] && (this.bends[a].destroy(), this.bends[a] = null)
-};
-
-function mxElbowEdgeHandler(a) {
- mxEdgeHandler.call(this, a)
-}
-mxUtils.extend(mxElbowEdgeHandler, mxEdgeHandler);
-mxElbowEdgeHandler.prototype = new mxEdgeHandler;
-mxElbowEdgeHandler.prototype.constructor = mxElbowEdgeHandler;
-mxElbowEdgeHandler.prototype.flipEnabled = !0;
-mxElbowEdgeHandler.prototype.doubleClickOrientationResource = "none" != mxClient.language ? "doubleClickOrientation" : "";
-mxElbowEdgeHandler.prototype.createBends = function() {
- var a = [],
- b = this.createHandleShape(0);
- this.initBend(b);
- b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
- mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
- a.push(b);
- mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
- a.push(this.createVirtualBend());
- this.points.push(new mxPoint(0, 0));
- b = this.createHandleShape(2);
- this.initBend(b);
- b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
- mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
- a.push(b);
- mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
- return a
-};
-mxElbowEdgeHandler.prototype.createVirtualBend = function() {
- var a = this.createHandleShape();
- this.initBend(a);
- var b = this.getCursorForBend();
- a.node.style.cursor = b;
- b = mxUtils.bind(this, function(a) {
- !mxEvent.isConsumed(a) && this.flipEnabled && (this.graph.flipEdge(this.state.cell, a), mxEvent.consume(a))
- });
- mxEvent.redirectMouseEvents(a.node, this.graph, this.state, null, null, null, b);
- this.graph.isCellBendable(this.state.cell) || (a.node.style.display = "none");
- return a
-};
-mxElbowEdgeHandler.prototype.getCursorForBend = function() {
- return this.state.style[mxConstants.STYLE_EDGE] == mxEdgeStyle.TopToBottom || this.state.style[mxConstants.STYLE_EDGE] == mxConstants.EDGESTYLE_TOPTOBOTTOM || (this.state.style[mxConstants.STYLE_EDGE] ==
- mxEdgeStyle.ElbowConnector || this.state.style[mxConstants.STYLE_EDGE] == mxConstants.EDGESTYLE_ELBOW) && this.state.style[mxConstants.STYLE_ELBOW] == mxConstants.ELBOW_VERTICAL ?
- "row-resize" : "col-resize"
-};
-mxElbowEdgeHandler.prototype.getTooltipForNode = function(a) {
- var b = null;
- if (null != this.bends && null != this.bends[1] && (a == this.bends[1].node || a.parentNode == this.bends[1].node)) b = this.doubleClickOrientationResource, b = mxResources.get(b) || b;
- return b
-};
-mxElbowEdgeHandler.prototype.convertPoint = function(a, b) {
- var c = this.graph.getView().getScale(),
- d = this.graph.getView().getTranslate(),
- e = this.state.origin;
- b && (a.x = this.graph.snap(a.x), a.y = this.graph.snap(a.y));
- a.x = Math.round(a.x / c - d.x - e.x);
- a.y = Math.round(a.y / c - d.y - e.y)
-};
-mxElbowEdgeHandler.prototype.redrawInnerBends = function(a, b) {
- var c = this.graph.getModel().getGeometry(this.state.cell).points,
- c = null != c ? c[0] : null,
- c = null == c ? new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2) : new mxPoint(this.graph.getView().scale * (c.x + this.graph.getView().translate.x + this.state.origin.x), this.graph.getView()
- .scale * (c.y + this.graph.getView().translate.y + this.state.origin.y)),
- d = this.bends[1].bounds,
- e = d.width,
- d = d.height;
- null == this.handleImage && (d = e = mxConstants.HANDLE_SIZE);
- var f = new mxRectangle(Math.round(c.x -
- e / 2), Math.round(c.y - d / 2), e, d);
- null == this.handleImage && ("hidden" != this.labelShape.node.style.visibility && mxUtils.intersects(f, this.labelShape.bounds)) && (e += 3, d += 3, f = new mxRectangle(Math.round(c.x - e / 2),
- Math.round(c.y - d / 2), e, d));
- this.bends[1].bounds = f;
- this.bends[1].redraw()
-};
-
-function mxEdgeSegmentHandler(a) {
- mxEdgeHandler.call(this, a)
-}
-mxUtils.extend(mxEdgeSegmentHandler, mxEdgeHandler);
-mxEdgeSegmentHandler.prototype = new mxElbowEdgeHandler;
-mxEdgeSegmentHandler.prototype.constructor = mxEdgeSegmentHandler;
-mxEdgeSegmentHandler.prototype.getPreviewPoints = function(a) {
- if (this.isSource || this.isTarget) return mxElbowEdgeHandler.prototype.getPreviewPoints.apply(this, arguments);
- this.convertPoint(a, !1);
- var b = this.state.absolutePoints,
- c = b[0].clone();
- this.convertPoint(c, !1);
- for (var d = [], e = 1; e < b.length; e++) {
- var f = b[e].clone();
- this.convertPoint(f, !1);
- e == this.index && (c.x == f.x ? (c.x = a.x, f.x = a.x) : (c.y = a.y, f.y = a.y));
- e < b.length - 1 && d.push(f);
- c = f
- }
- if (1 == d.length) {
- if (c = this.state.view, e = this.state.getVisibleTerminalState(!0),
- f = this.state.getVisibleTerminalState(!1), null != f & null != e) {
- var g = this.state.origin.x,
- h = this.state.origin.y;
- mxUtils.contains(f, d[0].x + g, d[0].y + h) ? b[1].y == b[2].y ? d[0].y = c.getRoutingCenterY(e) - h : d[0].x = c.getRoutingCenterX(e) - g : mxUtils.contains(e, d[0].x + g, d[0].y + h) && (b[
- 1].y == b[0].y ? d[0].y = c.getRoutingCenterY(f) - h : d[0].x = c.getRoutingCenterX(f) - g)
- }
- } else 0 == d.length && (d = [a]);
- return d
-};
-mxEdgeSegmentHandler.prototype.createBends = function() {
- var a = [],
- b = this.createHandleShape(0);
- this.initBend(b);
- b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
- mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
- a.push(b);
- mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
- var c = this.state.absolutePoints;
- if (this.graph.isCellBendable(this.state.cell)) {
- null == this.points && (this.points = []);
- for (var d = 0; d < c.length - 1; d++) b = this.createVirtualBend(), a.push(b), b.node.style.cursor = 0 == c[d].x -
- c[d + 1].x ? "col-resize" : "row-resize", this.points.push(new mxPoint(0, 0)), mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none")
- }
- b = this.createHandleShape(c.length);
- this.initBend(b);
- b.node.style.cursor = mxConstants.CURSOR_BEND_HANDLE;
- mxEvent.redirectMouseEvents(b.node, this.graph, this.state);
- a.push(b);
- mxClient.IS_TOUCH && b.node.setAttribute("pointer-events", "none");
- return a
-};
-mxEdgeSegmentHandler.prototype.redraw = function() {
- this.refresh();
- mxEdgeHandler.prototype.redraw.apply(this, arguments)
-};
-mxEdgeSegmentHandler.prototype.refresh = function() {
- if (null != this.bends) {
- for (var a = 0; a < this.bends.length; a++) null != this.bends[a] && (this.bends[a].destroy(), this.bends[a] = null);
- this.bends = this.createBends()
- }
-};
-mxEdgeSegmentHandler.prototype.redrawInnerBends = function(a, b) {
- if (this.graph.isCellBendable(this.state.cell)) {
- var c = mxConstants.HANDLE_SIZE,
- d = this.state.absolutePoints;
- if (null != d && 1 < d.length)
- for (var e = 0; e < this.state.absolutePoints.length - 1; e++)
- if (null != this.bends[e + 1]) {
- a = d[e];
- b = d[e + 1];
- var f = new mxPoint(a.x + (b.x - a.x) / 2, a.y + (b.y - a.y) / 2);
- this.bends[e + 1].bounds = new mxRectangle(Math.round(f.x - c / 2), Math.round(f.y - c / 2), c, c);
- this.bends[e + 1].redraw()
- }
- }
-};
-mxEdgeSegmentHandler.prototype.changePoints = function(a, b) {
- b = [];
- var c = this.abspoints;
- if (1 < c.length)
- for (var d = c[0], e = c[1], f = 2; f < c.length; f++) {
- var g = c[f];
- if ((Math.round(d.x) != Math.round(e.x) || Math.round(e.x) != Math.round(g.x)) && (Math.round(d.y) != Math.round(e.y) || Math.round(e.y) != Math.round(g.y))) d = e, e = e.clone(), this.convertPoint(
- e, !1), b.push(e);
- e = g
- }
- mxElbowEdgeHandler.prototype.changePoints.apply(this, arguments)
-};
-
-function mxKeyHandler(a, b) {
- null != a && (this.graph = a, this.target = b || document.documentElement, this.normalKeys = [], this.shiftKeys = [], this.controlKeys = [], this.controlShiftKeys = [], mxEvent.addListener(this.target,
- "keydown", mxUtils.bind(this, function(a) {
- this.keyDown(a)
- })), mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
- this.destroy()
- })))
-}
-mxKeyHandler.prototype.graph = null;
-mxKeyHandler.prototype.target = null;
-mxKeyHandler.prototype.normalKeys = null;
-mxKeyHandler.prototype.shiftKeys = null;
-mxKeyHandler.prototype.controlKeys = null;
-mxKeyHandler.prototype.controlShiftKeys = null;
-mxKeyHandler.prototype.enabled = !0;
-mxKeyHandler.prototype.isEnabled = function() {
- return this.enabled
-};
-mxKeyHandler.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxKeyHandler.prototype.bindKey = function(a, b) {
- this.normalKeys[a] = b
-};
-mxKeyHandler.prototype.bindShiftKey = function(a, b) {
- this.shiftKeys[a] = b
-};
-mxKeyHandler.prototype.bindControlKey = function(a, b) {
- this.controlKeys[a] = b
-};
-mxKeyHandler.prototype.bindControlShiftKey = function(a, b) {
- this.controlShiftKeys[a] = b
-};
-mxKeyHandler.prototype.isControlDown = function(a) {
- return mxEvent.isControlDown(a)
-};
-mxKeyHandler.prototype.getFunction = function(a) {
- return null != a ? this.isControlDown(a) ? mxEvent.isShiftDown(a) ? this.controlShiftKeys[a.keyCode] : this.controlKeys[a.keyCode] : mxEvent.isShiftDown(a) ? this.shiftKeys[a.keyCode] : this.normalKeys[
- a.keyCode] : null
-};
-mxKeyHandler.prototype.isGraphEvent = function(a) {
- a = mxEvent.getSource(a);
- if (a == this.target || a.parentNode == this.target || null != this.graph.cellEditor && a == this.graph.cellEditor.textarea) return !0;
- for (; null != a;) {
- if (a == this.graph.container) return !0;
- a = a.parentNode
- }
- return !1
-};
-mxKeyHandler.prototype.keyDown = function(a) {
- if (this.graph.isEnabled() && !mxEvent.isConsumed(a) && this.isGraphEvent(a) && this.isEnabled())
- if (27 == a.keyCode) this.escape(a);
- else if (!this.graph.isEditing()) {
- var b = this.getFunction(a);
- null != b && (b(a), mxEvent.consume(a))
- }
-};
-mxKeyHandler.prototype.escape = function(a) {
- this.graph.isEscapeEnabled() && this.graph.escape(a)
-};
-mxKeyHandler.prototype.destroy = function() {
- this.target = null
-};
-
-function mxTooltipHandler(a, b) {
- null != a && (this.graph = a, this.delay = b || 500, this.graph.addMouseListener(this))
-}
-mxTooltipHandler.prototype.zIndex = 10005;
-mxTooltipHandler.prototype.graph = null;
-mxTooltipHandler.prototype.delay = null;
-mxTooltipHandler.prototype.hideOnHover = !1;
-mxTooltipHandler.prototype.enabled = !0;
-mxTooltipHandler.prototype.isEnabled = function() {
- return this.enabled
-};
-mxTooltipHandler.prototype.setEnabled = function(a) {
- this.enabled = a
-};
-mxTooltipHandler.prototype.isHideOnHover = function() {
- return this.hideOnHover
-};
-mxTooltipHandler.prototype.setHideOnHover = function(a) {
- this.hideOnHover = a
-};
-mxTooltipHandler.prototype.init = function() {
- null != document.body && (this.div = document.createElement("div"), this.div.className = "mxTooltip", this.div.style.visibility = "hidden", this.div.style.zIndex = this.zIndex, document.body.appendChild(
- this.div), mxEvent.addListener(this.div, "mousedown", mxUtils.bind(this, function(a) {
- this.hideTooltip()
- })))
-};
-mxTooltipHandler.prototype.mouseDown = function(a, b) {
- this.reset(b, !1);
- this.hideTooltip()
-};
-mxTooltipHandler.prototype.mouseMove = function(a, b) {
- if (b.getX() != this.lastX || b.getY() != this.lastY) this.reset(b, !0), (this.isHideOnHover() || b.getState() != this.state || b.getSource() != this.node && (!this.stateSource || null != b.getState() &&
- this.stateSource == (b.isSource(b.getState().shape) || !b.isSource(b.getState().text)))) && this.hideTooltip();
- this.lastX = b.getX();
- this.lastY = b.getY()
-};
-mxTooltipHandler.prototype.mouseUp = function(a, b) {
- this.reset(b, !0);
- this.hideTooltip()
-};
-mxTooltipHandler.prototype.resetTimer = function() {
- null != this.thread && (window.clearTimeout(this.thread), this.thread = null)
-};
-mxTooltipHandler.prototype.reset = function(a, b) {
- this.resetTimer();
- if (b && this.isEnabled() && null != a.getState() && (null == this.div || "hidden" == this.div.style.visibility)) {
- var c = a.getState(),
- d = a.getSource(),
- e = a.getX(),
- f = a.getY(),
- g = a.isSource(c.shape) || a.isSource(c.text);
- this.thread = window.setTimeout(mxUtils.bind(this, function() {
- if (!this.graph.isEditing() && !this.graph.panningHandler.isMenuShowing()) {
- var a = this.graph.getTooltip(c, d, e, f);
- this.show(a, e, f);
- this.state = c;
- this.node = d;
- this.stateSource = g
- }
- }), this.delay)
- }
-};
-mxTooltipHandler.prototype.hide = function() {
- this.resetTimer();
- this.hideTooltip()
-};
-mxTooltipHandler.prototype.hideTooltip = function() {
- null != this.div && (this.div.style.visibility = "hidden")
-};
-mxTooltipHandler.prototype.show = function(a, b, c) {
- if (null != a && 0 < a.length) {
- null == this.div && this.init();
- var d = mxUtils.getScrollOrigin();
- this.div.style.left = b + d.x + "px";
- this.div.style.top = c + mxConstants.TOOLTIP_VERTICAL_OFFSET + d.y + "px";
- mxUtils.isNode(a) ? (this.div.innerHTML = "", this.div.appendChild(a)) : this.div.innerHTML = a.replace(/\n/g, "\x3cbr\x3e");
- this.div.style.visibility = "";
- mxUtils.fit(this.div)
- }
-};
-mxTooltipHandler.prototype.destroy = function() {
- this.graph.removeMouseListener(this);
- mxEvent.release(this.div);
- null != this.div && null != this.div.parentNode && this.div.parentNode.removeChild(this.div);
- this.div = null
-};
-
-function mxCellTracker(a, b, c) {
- mxCellMarker.call(this, a, b);
- this.graph.addMouseListener(this);
- null != c && (this.getCell = c);
- mxClient.IS_IE && mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
- this.destroy()
- }))
-}
-mxUtils.extend(mxCellTracker, mxCellMarker);
-mxCellTracker.prototype.mouseDown = function(a, b) {};
-mxCellTracker.prototype.mouseMove = function(a, b) {
- this.isEnabled() && this.process(b)
-};
-mxCellTracker.prototype.mouseUp = function(a, b) {
- this.reset()
-};
-mxCellTracker.prototype.destroy = function() {
- this.destroyed || (this.destroyed = !0, this.graph.removeMouseListener(this), mxCellMarker.prototype.destroy.apply(this))
-};
-
-function mxCellHighlight(a, b, c, d) {
- null != a && (this.graph = a, this.highlightColor = null != b ? b : mxConstants.DEFAULT_VALID_COLOR, this.strokeWidth = null != c ? c : mxConstants.HIGHLIGHT_STROKEWIDTH, this.dashed = null != d ?
- d : !1, this.repaintHandler = mxUtils.bind(this, function() {
- this.repaint()
- }), this.graph.getView().addListener(mxEvent.SCALE, this.repaintHandler), this.graph.getView().addListener(mxEvent.TRANSLATE, this.repaintHandler), this.graph.getView().addListener(mxEvent.SCALE_AND_TRANSLATE,
- this.repaintHandler), this.graph.getModel().addListener(mxEvent.CHANGE,
- this.repaintHandler), this.resetHandler = mxUtils.bind(this, function() {
- this.hide()
- }), this.graph.getView().addListener(mxEvent.DOWN, this.resetHandler), this.graph.getView().addListener(mxEvent.UP, this.resetHandler))
-}
-mxCellHighlight.prototype.keepOnTop = !1;
-mxCellHighlight.prototype.graph = !0;
-mxCellHighlight.prototype.state = null;
-mxCellHighlight.prototype.spacing = 2;
-mxCellHighlight.prototype.resetHandler = null;
-mxCellHighlight.prototype.setHighlightColor = function(a) {
- this.highlightColor = a;
- null != this.shape && (this.shape.stroke = a)
-};
-mxCellHighlight.prototype.drawHighlight = function() {
- this.shape = this.createShape();
- this.repaint();
- !this.keepOnTop && this.shape.node.parentNode.firstChild != this.shape.node && this.shape.node.parentNode.insertBefore(this.shape.node, this.shape.node.parentNode.firstChild)
-};
-mxCellHighlight.prototype.createShape = function() {
- var a = null,
- a = this.graph.model.isEdge(this.state.cell) ? new mxPolyline(this.state.absolutePoints, this.highlightColor, this.strokeWidth) : new mxRectangleShape(new mxRectangle, null, this.highlightColor,
- this.strokeWidth);
- a.dialect = this.graph.dialect != mxConstants.DIALECT_SVG ? mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
- a.init(this.graph.getView().getOverlayPane());
- mxEvent.redirectMouseEvents(a.node, this.graph, this.state);
- a.svgStrokeTolerance = 0;
- a.pointerEvents = !1;
- a.isDashed = this.dashed;
- return a
-};
-mxCellHighlight.prototype.repaint = function() {
- if (null != this.state && null != this.shape) {
- var a = 0;
- this.graph.model.isEdge(this.state.cell) ? this.shape.points = this.state.absolutePoints : (this.shape.bounds = new mxRectangle(this.state.x - this.spacing, this.state.y - this.spacing, this.state
- .width + 2 * this.spacing, this.state.height + 2 * this.spacing), a = Number(this.state.style[mxConstants.STYLE_ROTATION] || "0"));
- null != this.state.shape && this.shape.setCursor(this.state.shape.getCursor());
- 0 != a && (this.shape.rotation = a);
- this.shape.redraw()
- }
-};
-mxCellHighlight.prototype.hide = function() {
- this.highlight(null)
-};
-mxCellHighlight.prototype.highlight = function(a) {
- this.state != a && (null != this.shape && (this.shape.destroy(), this.shape = null), this.state = a, null != this.state && this.drawHighlight())
-};
-mxCellHighlight.prototype.destroy = function() {
- this.graph.getView().removeListener(this.repaintHandler);
- this.graph.getModel().removeListener(this.repaintHandler);
- this.graph.getView().removeListener(this.resetHandler);
- this.graph.getModel().removeListener(this.resetHandler);
- null != this.shape && (this.shape.destroy(), this.shape = null)
-};
-
-function mxDefaultKeyHandler(a) {
- if (null != a) {
- this.editor = a;
- this.handler = new mxKeyHandler(a.graph);
- var b = this.handler.escape;
- this.handler.escape = function(c) {
- b.apply(this, arguments);
- a.hideProperties();
- a.fireEvent(new mxEventObject(mxEvent.ESCAPE, "event", c))
- }
- }
-}
-mxDefaultKeyHandler.prototype.editor = null;
-mxDefaultKeyHandler.prototype.handler = null;
-mxDefaultKeyHandler.prototype.bindAction = function(a, b, c) {
- var d = mxUtils.bind(this, function() {
- this.editor.execute(b)
- });
- c ? this.handler.bindControlKey(a, d) : this.handler.bindKey(a, d)
-};
-mxDefaultKeyHandler.prototype.destroy = function() {
- this.handler.destroy();
- this.handler = null
-};
-
-function mxDefaultPopupMenu(a) {
- this.config = a
-}
-mxDefaultPopupMenu.prototype.imageBasePath = null;
-mxDefaultPopupMenu.prototype.config = null;
-mxDefaultPopupMenu.prototype.createMenu = function(a, b, c, d) {
- if (null != this.config) {
- var e = this.createConditions(a, c, d);
- this.addItems(a, b, c, d, e, this.config.firstChild, null)
- }
-};
-mxDefaultPopupMenu.prototype.addItems = function(a, b, c, d, e, f, g) {
- for (var h = !1; null != f;) {
- if ("add" == f.nodeName) {
- var k = f.getAttribute("if");
- if (null == k || e[k]) {
- var k = f.getAttribute("as"),
- k = mxResources.get(k) || k,
- l = mxUtils.eval(mxUtils.getTextContent(f)),
- m = f.getAttribute("action"),
- n = f.getAttribute("icon"),
- p = f.getAttribute("iconCls");
- h && (b.addSeparator(g), h = !1);
- null != n && this.imageBasePath && (n = this.imageBasePath + n);
- k = this.addAction(b, a, k, n, l, m, c, g, p);
- this.addItems(a, b, c, d, e, f.firstChild, k)
- }
- } else "separator" ==
- f.nodeName && (h = !0);
- f = f.nextSibling
- }
-};
-mxDefaultPopupMenu.prototype.addAction = function(a, b, c, d, e, f, g, h, k) {
- return a.addItem(c, d, function(a) {
- "function" == typeof e && e.call(b, b, g, a);
- null != f && b.execute(f, g, a)
- }, h, k)
-};
-mxDefaultPopupMenu.prototype.createConditions = function(a, b, c) {
- var d = a.graph.getModel(),
- e = d.getChildCount(b),
- f = [];
- f.nocell = null == b;
- f.ncells = 1 < a.graph.getSelectionCount();
- f.notRoot = d.getRoot() != d.getParent(a.graph.getDefaultParent());
- f.cell = null != b;
- d = null != b && 1 == a.graph.getSelectionCount();
- f.nonEmpty = d && 0 < e;
- f.expandable = d && a.graph.isCellFoldable(b, !1);
- f.collapsable = d && a.graph.isCellFoldable(b, !0);
- f.validRoot = d && a.graph.isValidRoot(b);
- f.emptyValidRoot = f.validRoot && 0 == e;
- f.swimlane = d && a.graph.isSwimlane(b);
- e = this.config.getElementsByTagName("condition");
- for (d = 0; d < e.length; d++) {
- var g = mxUtils.eval(mxUtils.getTextContent(e[d])),
- h = e[d].getAttribute("name");
- null != h && "function" == typeof g && (f[h] = g(a, b, c))
- }
- return f
-};
-
-function mxDefaultToolbar(a, b) {
- this.editor = b;
- null != a && null != b && this.init(a)
-}
-mxDefaultToolbar.prototype.editor = null;
-mxDefaultToolbar.prototype.toolbar = null;
-mxDefaultToolbar.prototype.resetHandler = null;
-mxDefaultToolbar.prototype.spacing = 4;
-mxDefaultToolbar.prototype.connectOnDrop = !1;
-mxDefaultToolbar.prototype.init = function(a) {
- null != a && (this.toolbar = new mxToolbar(a), this.toolbar.addListener(mxEvent.SELECT, mxUtils.bind(this, function(a, c) {
- var d = c.getProperty("function");
- this.editor.insertFunction = null != d ? mxUtils.bind(this, function() {
- d.apply(this, arguments);
- this.toolbar.resetMode()
- }) : null
- })), this.resetHandler = mxUtils.bind(this, function() {
- null != this.toolbar && this.toolbar.resetMode(!0)
- }), this.editor.graph.addListener(mxEvent.DOUBLE_CLICK, this.resetHandler), this.editor.addListener(mxEvent.ESCAPE,
- this.resetHandler))
-};
-mxDefaultToolbar.prototype.addItem = function(a, b, c, d) {
- var e = mxUtils.bind(this, function() {
- null != c && 0 < c.length && this.editor.execute(c)
- });
- return this.toolbar.addItem(a, b, e, d)
-};
-mxDefaultToolbar.prototype.addSeparator = function(a) {
- a = a || mxClient.imageBasePath + "/separator.gif";
- this.toolbar.addSeparator(a)
-};
-mxDefaultToolbar.prototype.addCombo = function() {
- return this.toolbar.addCombo()
-};
-mxDefaultToolbar.prototype.addActionCombo = function(a) {
- return this.toolbar.addActionCombo(a)
-};
-mxDefaultToolbar.prototype.addActionOption = function(a, b, c) {
- var d = mxUtils.bind(this, function() {
- this.editor.execute(c)
- });
- this.addOption(a, b, d)
-};
-mxDefaultToolbar.prototype.addOption = function(a, b, c) {
- return this.toolbar.addOption(a, b, c)
-};
-mxDefaultToolbar.prototype.addMode = function(a, b, c, d, e) {
- var f = mxUtils.bind(this, function() {
- this.editor.setMode(c);
- null != e && e(this.editor)
- });
- return this.toolbar.addSwitchMode(a, b, f, d)
-};
-mxDefaultToolbar.prototype.addPrototype = function(a, b, c, d, e, f) {
- var g = function() {
- return "function" == typeof c ? c() : null != c ? c.clone() : null
- },
- h = mxUtils.bind(this, function(a, b) {
- "function" == typeof e ? e(this.editor, g(), a, b) : this.drop(g(), a, b);
- this.toolbar.resetMode();
- mxEvent.consume(a)
- });
- a = this.toolbar.addMode(a, b, h, d, null, f);
- this.installDropHandler(a, function(a, b, c) {
- h(b, c)
- });
- return a
-};
-mxDefaultToolbar.prototype.drop = function(a, b, c) {
- var d = this.editor.graph,
- e = d.getModel();
- if (null == c || e.isEdge(c) || !this.connectOnDrop || !d.isCellConnectable(c)) {
- for (; null != c && !d.isValidDropTarget(c, [a], b);) c = e.getParent(c);
- this.insert(a, b, c)
- } else this.connect(a, b, c)
-};
-mxDefaultToolbar.prototype.insert = function(a, b, c) {
- var d = this.editor.graph;
- if (d.canImportCell(a)) {
- var e = mxEvent.getClientX(b),
- f = mxEvent.getClientY(b),
- e = mxUtils.convertPoint(d.container, e, f);
- return d.isSplitEnabled() && d.isSplitTarget(c, [a], b) ? d.splitEdge(c, [a], null, e.x, e.y) : this.editor.addVertex(c, a, e.x, e.y)
- }
- return null
-};
-mxDefaultToolbar.prototype.connect = function(a, b, c) {
- b = this.editor.graph;
- var d = b.getModel();
- if (null != c && b.isCellConnectable(a) && b.isEdgeValid(null, c, a)) {
- var e = null;
- d.beginUpdate();
- try {
- var f = d.getGeometry(c),
- g = d.getGeometry(a).clone();
- g.x = f.x + (f.width - g.width) / 2;
- g.y = f.y + (f.height - g.height) / 2;
- var h = this.spacing * b.gridSize,
- k = 20 * d.getDirectedEdgeCount(c, !0);
- this.editor.horizontalFlow ? g.x += (g.width + f.width) / 2 + h + k : g.y += (g.height + f.height) / 2 + h + k;
- a.setGeometry(g);
- var l = d.getParent(c);
- b.addCell(a, l);
- b.constrainChild(a);
- e = this.editor.createEdge(c, a);
- if (null == d.getGeometry(e)) {
- var m = new mxGeometry;
- m.relative = !0;
- d.setGeometry(e, m)
- }
- b.addEdge(e, l, c, a)
- } finally {
- d.endUpdate()
- }
- b.setSelectionCells([a, e]);
- b.scrollCellToVisible(a)
- }
-};
-mxDefaultToolbar.prototype.installDropHandler = function(a, b) {
- var c = document.createElement("img");
- c.setAttribute("src", a.getAttribute("src"));
- var d = mxUtils.bind(this, function(e) {
- c.style.width = 2 * a.offsetWidth + "px";
- c.style.height = 2 * a.offsetHeight + "px";
- mxUtils.makeDraggable(a, this.editor.graph, b, c);
- mxEvent.removeListener(c, "load", d)
- });
- mxClient.IS_IE ? d() : mxEvent.addListener(c, "load", d)
-};
-mxDefaultToolbar.prototype.destroy = function() {
- null != this.resetHandler && (this.editor.graph.removeListener("dblclick", this.resetHandler), this.editor.removeListener("escape", this.resetHandler), this.resetHandler = null);
- null != this.toolbar && (this.toolbar.destroy(), this.toolbar = null)
-};
-
-function mxEditor(a) {
- this.actions = [];
- this.addActions();
- if (null != document.body) {
- this.cycleAttributeValues = [];
- this.popupHandler = new mxDefaultPopupMenu;
- this.undoManager = new mxUndoManager;
- this.graph = this.createGraph();
- this.toolbar = this.createToolbar();
- this.keyHandler = new mxDefaultKeyHandler(this);
- this.configure(a);
- this.graph.swimlaneIndicatorColorAttribute = this.cycleAttributeName;
- !mxClient.IS_LOCAL && null != this.urlInit && (this.session = this.createSession());
- if (null != this.onInit) this.onInit();
- mxClient.IS_IE &&
- mxEvent.addListener(window, "unload", mxUtils.bind(this, function() {
- this.destroy()
- }))
- }
-}
-mxLoadResources && mxResources.add(mxClient.basePath + "/resources/editor");
-mxEditor.prototype = new mxEventSource;
-mxEditor.prototype.constructor = mxEditor;
-mxEditor.prototype.askZoomResource = "none" != mxClient.language ? "askZoom" : "";
-mxEditor.prototype.lastSavedResource = "none" != mxClient.language ? "lastSaved" : "";
-mxEditor.prototype.currentFileResource = "none" != mxClient.language ? "currentFile" : "";
-mxEditor.prototype.propertiesResource = "none" != mxClient.language ? "properties" : "";
-mxEditor.prototype.tasksResource = "none" != mxClient.language ? "tasks" : "";
-mxEditor.prototype.helpResource = "none" != mxClient.language ? "help" : "";
-mxEditor.prototype.outlineResource = "none" != mxClient.language ? "outline" : "";
-mxEditor.prototype.outline = null;
-mxEditor.prototype.graph = null;
-mxEditor.prototype.graphRenderHint = null;
-mxEditor.prototype.toolbar = null;
-mxEditor.prototype.session = null;
-mxEditor.prototype.status = null;
-mxEditor.prototype.popupHandler = null;
-mxEditor.prototype.undoManager = null;
-mxEditor.prototype.keyHandler = null;
-mxEditor.prototype.actions = null;
-mxEditor.prototype.dblClickAction = "edit";
-mxEditor.prototype.swimlaneRequired = !1;
-mxEditor.prototype.disableContextMenu = !0;
-mxEditor.prototype.insertFunction = null;
-mxEditor.prototype.forcedInserting = !1;
-mxEditor.prototype.templates = null;
-mxEditor.prototype.defaultEdge = null;
-mxEditor.prototype.defaultEdgeStyle = null;
-mxEditor.prototype.defaultGroup = null;
-mxEditor.prototype.groupBorderSize = null;
-mxEditor.prototype.filename = null;
-mxEditor.prototype.linefeed = "\x26#xa;";
-mxEditor.prototype.postParameterName = "xml";
-mxEditor.prototype.escapePostData = !0;
-mxEditor.prototype.urlPost = null;
-mxEditor.prototype.urlImage = null;
-mxEditor.prototype.urlInit = null;
-mxEditor.prototype.urlNotify = null;
-mxEditor.prototype.urlPoll = null;
-mxEditor.prototype.horizontalFlow = !1;
-mxEditor.prototype.layoutDiagram = !1;
-mxEditor.prototype.swimlaneSpacing = 0;
-mxEditor.prototype.maintainSwimlanes = !1;
-mxEditor.prototype.layoutSwimlanes = !1;
-mxEditor.prototype.cycleAttributeValues = null;
-mxEditor.prototype.cycleAttributeIndex = 0;
-mxEditor.prototype.cycleAttributeName = "fillColor";
-mxEditor.prototype.tasks = null;
-mxEditor.prototype.tasksWindowImage = null;
-mxEditor.prototype.tasksTop = 20;
-mxEditor.prototype.help = null;
-mxEditor.prototype.helpWindowImage = null;
-mxEditor.prototype.urlHelp = null;
-mxEditor.prototype.helpWidth = 300;
-mxEditor.prototype.helpHeight = 260;
-mxEditor.prototype.propertiesWidth = 240;
-mxEditor.prototype.propertiesHeight = null;
-mxEditor.prototype.movePropertiesDialog = !1;
-mxEditor.prototype.validating = !1;
-mxEditor.prototype.modified = !1;
-mxEditor.prototype.isModified = function() {
- return this.modified
-};
-mxEditor.prototype.setModified = function(a) {
- this.modified = a
-};
-mxEditor.prototype.addActions = function() {
- this.addAction("save", function(a) {
- a.save()
- });
- this.addAction("print", function(a) {
- (new mxPrintPreview(a.graph, 1)).open()
- });
- this.addAction("show", function(a) {
- mxUtils.show(a.graph, null, 10, 10)
- });
- this.addAction("exportImage", function(a) {
- var b = a.getUrlImage();
- if (null == b || mxClient.IS_LOCAL) a.execute("show");
- else {
- var c = mxUtils.getViewXml(a.graph, 1),
- c = mxUtils.getXml(c, "\n");
- mxUtils.submit(b, a.postParameterName + "\x3d" + encodeURIComponent(c), document, "_blank")
- }
- });
- this.addAction("refresh",
- function(a) {
- a.graph.refresh()
- });
- this.addAction("cut", function(a) {
- a.graph.isEnabled() && mxClipboard.cut(a.graph)
- });
- this.addAction("copy", function(a) {
- a.graph.isEnabled() && mxClipboard.copy(a.graph)
- });
- this.addAction("paste", function(a) {
- a.graph.isEnabled() && mxClipboard.paste(a.graph)
- });
- this.addAction("delete", function(a) {
- a.graph.isEnabled() && a.graph.removeCells()
- });
- this.addAction("group", function(a) {
- a.graph.isEnabled() && a.graph.setSelectionCell(a.groupCells())
- });
- this.addAction("ungroup", function(a) {
- a.graph.isEnabled() &&
- a.graph.setSelectionCells(a.graph.ungroupCells())
- });
- this.addAction("removeFromParent", function(a) {
- a.graph.isEnabled() && a.graph.removeCellsFromParent()
- });
- this.addAction("undo", function(a) {
- a.graph.isEnabled() && a.undo()
- });
- this.addAction("redo", function(a) {
- a.graph.isEnabled() && a.redo()
- });
- this.addAction("zoomIn", function(a) {
- a.graph.zoomIn()
- });
- this.addAction("zoomOut", function(a) {
- a.graph.zoomOut()
- });
- this.addAction("actualSize", function(a) {
- a.graph.zoomActual()
- });
- this.addAction("fit", function(a) {
- a.graph.fit()
- });
- this.addAction("showProperties", function(a, b) {
- a.showProperties(b)
- });
- this.addAction("selectAll", function(a) {
- a.graph.isEnabled() && a.graph.selectAll()
- });
- this.addAction("selectNone", function(a) {
- a.graph.isEnabled() && a.graph.clearSelection()
- });
- this.addAction("selectVertices", function(a) {
- a.graph.isEnabled() && a.graph.selectVertices()
- });
- this.addAction("selectEdges", function(a) {
- a.graph.isEnabled() && a.graph.selectEdges()
- });
- this.addAction("edit", function(a, b) {
- a.graph.isEnabled() && a.graph.isCellEditable(b) && a.graph.startEditingAtCell(b)
- });
- this.addAction("toBack", function(a, b) {
- a.graph.isEnabled() && a.graph.orderCells(!0)
- });
- this.addAction("toFront", function(a, b) {
- a.graph.isEnabled() && a.graph.orderCells(!1)
- });
- this.addAction("enterGroup", function(a, b) {
- a.graph.enterGroup(b)
- });
- this.addAction("exitGroup", function(a) {
- a.graph.exitGroup()
- });
- this.addAction("home", function(a) {
- a.graph.home()
- });
- this.addAction("selectPrevious", function(a) {
- a.graph.isEnabled() && a.graph.selectPreviousCell()
- });
- this.addAction("selectNext", function(a) {
- a.graph.isEnabled() &&
- a.graph.selectNextCell()
- });
- this.addAction("selectParent", function(a) {
- a.graph.isEnabled() && a.graph.selectParentCell()
- });
- this.addAction("selectChild", function(a) {
- a.graph.isEnabled() && a.graph.selectChildCell()
- });
- this.addAction("collapse", function(a) {
- a.graph.isEnabled() && a.graph.foldCells(!0)
- });
- this.addAction("collapseAll", function(a) {
- if (a.graph.isEnabled()) {
- var b = a.graph.getChildVertices();
- a.graph.foldCells(!0, !1, b)
- }
- });
- this.addAction("expand", function(a) {
- a.graph.isEnabled() && a.graph.foldCells(!1)
- });
- this.addAction("expandAll", function(a) {
- if (a.graph.isEnabled()) {
- var b = a.graph.getChildVertices();
- a.graph.foldCells(!1, !1, b)
- }
- });
- this.addAction("bold", function(a) {
- a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_BOLD)
- });
- this.addAction("italic", function(a) {
- a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_ITALIC)
- });
- this.addAction("underline", function(a) {
- a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,
- mxConstants.FONT_UNDERLINE)
- });
- this.addAction("shadow", function(a) {
- a.graph.isEnabled() && a.graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, mxConstants.FONT_SHADOW)
- });
- this.addAction("alignCellsLeft", function(a) {
- a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_LEFT)
- });
- this.addAction("alignCellsCenter", function(a) {
- a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_CENTER)
- });
- this.addAction("alignCellsRight", function(a) {
- a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_RIGHT)
- });
- this.addAction("alignCellsTop", function(a) {
- a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_TOP)
- });
- this.addAction("alignCellsMiddle", function(a) {
- a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_MIDDLE)
- });
- this.addAction("alignCellsBottom", function(a) {
- a.graph.isEnabled() && a.graph.alignCells(mxConstants.ALIGN_BOTTOM)
- });
- this.addAction("alignFontLeft", function(a) {
- a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_LEFT)
- });
- this.addAction("alignFontCenter", function(a) {
- a.graph.isEnabled() &&
- a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER)
- });
- this.addAction("alignFontRight", function(a) {
- a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_RIGHT)
- });
- this.addAction("alignFontTop", function(a) {
- a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_TOP)
- });
- this.addAction("alignFontMiddle", function(a) {
- a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE)
- });
- this.addAction("alignFontBottom", function(a) {
- a.graph.isEnabled() && a.graph.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_BOTTOM)
- });
- this.addAction("zoom", function(a) {
- var b = 100 * a.graph.getView().scale,
- b = parseFloat(mxUtils.prompt(mxResources.get(a.askZoomResource) || a.askZoomResource, b)) / 100;
- isNaN(b) || a.graph.getView().setScale(b)
- });
- this.addAction("toggleTasks", function(a) {
- null != a.tasks ? a.tasks.setVisible(!a.tasks.isVisible()) : a.showTasks()
- });
- this.addAction("toggleHelp", function(a) {
- null !=
- a.help ? a.help.setVisible(!a.help.isVisible()) : a.showHelp()
- });
- this.addAction("toggleOutline", function(a) {
- null == a.outline ? a.showOutline() : a.outline.setVisible(!a.outline.isVisible())
- });
- this.addAction("toggleConsole", function(a) {
- mxLog.setVisible(!mxLog.isVisible())
- })
-};
-mxEditor.prototype.createSession = function() {
- var a = mxUtils.bind(this, function(a) {
- this.fireEvent(new mxEventObject(mxEvent.SESSION, "session", a))
- });
- return this.connect(this.urlInit, this.urlPoll, this.urlNotify, a)
-};
-mxEditor.prototype.configure = function(a) {
- null != a && ((new mxCodec(a.ownerDocument)).decode(a, this), this.resetHistory())
-};
-mxEditor.prototype.resetFirstTime = function() {
- document.cookie = "mxgraph\x3dseen; expires\x3dFri, 27 Jul 2001 02:47:11 UTC; path\x3d/"
-};
-mxEditor.prototype.resetHistory = function() {
- this.lastSnapshot = (new Date).getTime();
- this.undoManager.clear();
- this.ignoredChanges = 0;
- this.setModified(!1)
-};
-mxEditor.prototype.addAction = function(a, b) {
- this.actions[a] = b
-};
-mxEditor.prototype.execute = function(a, b, c) {
- var d = this.actions[a];
- if (null != d) try {
- var e = arguments;
- e[0] = this;
- d.apply(this, e)
- } catch (f) {
- throw mxUtils.error("Cannot execute " + a + ": " + f.message, 280, !0), f;
- } else mxUtils.error("Cannot find action " + a, 280, !0)
-};
-mxEditor.prototype.addTemplate = function(a, b) {
- this.templates[a] = b
-};
-mxEditor.prototype.getTemplate = function(a) {
- return this.templates[a]
-};
-mxEditor.prototype.createGraph = function() {
- var a = new mxGraph(null, null, this.graphRenderHint);
- a.setTooltips(!0);
- a.setPanning(!0);
- this.installDblClickHandler(a);
- this.installUndoHandler(a);
- this.installDrillHandler(a);
- this.installChangeHandler(a);
- this.installInsertHandler(a);
- a.panningHandler.factoryMethod = mxUtils.bind(this, function(a, c, d) {
- return this.createPopupMenu(a, c, d)
- });
- a.connectionHandler.factoryMethod = mxUtils.bind(this, function(a, c) {
- return this.createEdge(a, c)
- });
- this.createSwimlaneManager(a);
- this.createLayoutManager(a);
- return a
-};
-mxEditor.prototype.createSwimlaneManager = function(a) {
- a = new mxSwimlaneManager(a, !1);
- a.isHorizontal = mxUtils.bind(this, function() {
- return this.horizontalFlow
- });
- a.isEnabled = mxUtils.bind(this, function() {
- return this.maintainSwimlanes
- });
- return a
-};
-mxEditor.prototype.createLayoutManager = function(a) {
- var b = new mxLayoutManager(a),
- c = this;
- b.getLayout = function(b) {
- var e = null,
- f = c.graph.getModel();
- if (null != f.getParent(b))
- if (c.layoutSwimlanes && a.isSwimlane(b)) null == c.swimlaneLayout && (c.swimlaneLayout = c.createSwimlaneLayout()), e = c.swimlaneLayout;
- else if (c.layoutDiagram && (a.isValidRoot(b) || null == f.getParent(f.getParent(b)))) null == c.diagramLayout && (c.diagramLayout = c.createDiagramLayout()), e = c.diagramLayout;
- return e
- };
- return b
-};
-mxEditor.prototype.setGraphContainer = function(a) {
- null == this.graph.container && (this.graph.init(a), this.rubberband = new mxRubberband(this.graph), this.disableContextMenu && mxEvent.disableContextMenu(a), mxClient.IS_QUIRKS && new mxDivResizer(
- a))
-};
-mxEditor.prototype.installDblClickHandler = function(a) {
- a.addListener(mxEvent.DOUBLE_CLICK, mxUtils.bind(this, function(b, c) {
- var d = c.getProperty("cell");
- null != d && (a.isEnabled() && null != this.dblClickAction) && (this.execute(this.dblClickAction, d), c.consume())
- }))
-};
-mxEditor.prototype.installUndoHandler = function(a) {
- var b = mxUtils.bind(this, function(a, b) {
- var e = b.getProperty("edit");
- this.undoManager.undoableEditHappened(e)
- });
- a.getModel().addListener(mxEvent.UNDO, b);
- a.getView().addListener(mxEvent.UNDO, b);
- b = function(b, d) {
- var e = d.getProperty("edit").changes;
- a.setSelectionCells(a.getSelectionCellsForChanges(e))
- };
- this.undoManager.addListener(mxEvent.UNDO, b);
- this.undoManager.addListener(mxEvent.REDO, b)
-};
-mxEditor.prototype.installDrillHandler = function(a) {
- var b = mxUtils.bind(this, function(a) {
- this.fireEvent(new mxEventObject(mxEvent.ROOT))
- });
- a.getView().addListener(mxEvent.DOWN, b);
- a.getView().addListener(mxEvent.UP, b)
-};
-mxEditor.prototype.installChangeHandler = function(a) {
- var b = mxUtils.bind(this, function(b, d) {
- this.setModified(!0);
- !0 == this.validating && a.validateGraph();
- for (var e = d.getProperty("edit").changes, f = 0; f < e.length; f++) {
- var g = e[f];
- if (g instanceof mxRootChange || g instanceof mxValueChange && g.cell == this.graph.model.root || g instanceof mxCellAttributeChange && g.cell == this.graph.model.root) {
- this.fireEvent(new mxEventObject(mxEvent.ROOT));
- break
- }
- }
- });
- a.getModel().addListener(mxEvent.CHANGE, b)
-};
-mxEditor.prototype.installInsertHandler = function(a) {
- var b = this;
- a.addMouseListener({
- mouseDown: function(a, d) {
- if (null != b.insertFunction && !d.isPopupTrigger() && (b.forcedInserting || null == d.getState())) b.graph.clearSelection(), b.insertFunction(d.getEvent(), d.getCell()), this.isActive = !
- 0, d.consume()
- },
- mouseMove: function(a, b) {
- this.isActive && b.consume()
- },
- mouseUp: function(a, b) {
- this.isActive && (this.isActive = !1, b.consume())
- }
- })
-};
-mxEditor.prototype.createDiagramLayout = function() {
- var a = this.graph.gridSize,
- b = new mxStackLayout(this.graph, !this.horizontalFlow, this.swimlaneSpacing, 2 * a, 2 * a);
- b.isVertexIgnored = function(a) {
- return !b.graph.isSwimlane(a)
- };
- return b
-};
-mxEditor.prototype.createSwimlaneLayout = function() {
- return new mxCompactTreeLayout(this.graph, this.horizontalFlow)
-};
-mxEditor.prototype.createToolbar = function() {
- return new mxDefaultToolbar(null, this)
-};
-mxEditor.prototype.setToolbarContainer = function(a) {
- this.toolbar.init(a);
- mxClient.IS_QUIRKS && new mxDivResizer(a)
-};
-mxEditor.prototype.setStatusContainer = function(a) {
- null == this.status && (this.status = a, this.addListener(mxEvent.SAVE, mxUtils.bind(this, function() {
- var a = (new Date).toLocaleString();
- this.setStatus((mxResources.get(this.lastSavedResource) || this.lastSavedResource) + ": " + a)
- })), this.addListener(mxEvent.OPEN, mxUtils.bind(this, function() {
- this.setStatus((mxResources.get(this.currentFileResource) || this.currentFileResource) + ": " + this.filename)
- })), mxClient.IS_QUIRKS && new mxDivResizer(a))
-};
-mxEditor.prototype.setStatus = function(a) {
- null != this.status && null != a && (this.status.innerHTML = a)
-};
-mxEditor.prototype.setTitleContainer = function(a) {
- this.addListener(mxEvent.ROOT, mxUtils.bind(this, function(b) {
- a.innerHTML = this.getTitle()
- }));
- mxClient.IS_QUIRKS && new mxDivResizer(a)
-};
-mxEditor.prototype.treeLayout = function(a, b) {
- null != a && (new mxCompactTreeLayout(this.graph, b)).execute(a)
-};
-mxEditor.prototype.getTitle = function() {
- for (var a = "", b = this.graph, c = b.getCurrentRoot(); null != c && null != b.getModel().getParent(b.getModel().getParent(c));) b.isValidRoot(c) && (a = " \x3e " + b.convertValueToString(c) + a),
- c = b.getModel().getParent(c);
- return this.getRootTitle() + a
-};
-mxEditor.prototype.getRootTitle = function() {
- var a = this.graph.getModel().getRoot();
- return this.graph.convertValueToString(a)
-};
-mxEditor.prototype.undo = function() {
- this.undoManager.undo()
-};
-mxEditor.prototype.redo = function() {
- this.undoManager.redo()
-};
-mxEditor.prototype.groupCells = function() {
- var a = null != this.groupBorderSize ? this.groupBorderSize : this.graph.gridSize;
- return this.graph.groupCells(this.createGroup(), a)
-};
-mxEditor.prototype.createGroup = function() {
- return this.graph.getModel().cloneCell(this.defaultGroup)
-};
-mxEditor.prototype.open = function(a) {
- if (null != a) {
- var b = mxUtils.load(a).getXml();
- this.readGraphModel(b.documentElement);
- this.filename = a;
- this.fireEvent(new mxEventObject(mxEvent.OPEN, "filename", a))
- }
-};
-mxEditor.prototype.readGraphModel = function(a) {
- (new mxCodec(a.ownerDocument)).decode(a, this.graph.getModel());
- this.resetHistory()
-};
-mxEditor.prototype.save = function(a, b) {
- a = a || this.getUrlPost();
- if (null != a && 0 < a.length) {
- var c = this.writeGraphModel(b);
- this.postDiagram(a, c);
- this.setModified(!1)
- }
- this.fireEvent(new mxEventObject(mxEvent.SAVE, "url", a))
-};
-mxEditor.prototype.postDiagram = function(a, b) {
- this.escapePostData && (b = encodeURIComponent(b));
- mxUtils.post(a, this.postParameterName + "\x3d" + b, mxUtils.bind(this, function(c) {
- this.fireEvent(new mxEventObject(mxEvent.POST, "request", c, "url", a, "data", b))
- }))
-};
-mxEditor.prototype.writeGraphModel = function(a) {
- a = null != a ? a : this.linefeed;
- var b = (new mxCodec).encode(this.graph.getModel());
- return mxUtils.getXml(b, a)
-};
-mxEditor.prototype.getUrlPost = function() {
- return this.urlPost
-};
-mxEditor.prototype.getUrlImage = function() {
- return this.urlImage
-};
-mxEditor.prototype.connect = function(a, b, c, d) {
- var e = null;
- mxClient.IS_LOCAL || (e = new mxSession(this.graph.getModel(), a, b, c), e.addListener(mxEvent.RECEIVE, mxUtils.bind(this, function(a, b) {
- null != b.getProperty("node").getAttribute("namespace") && this.resetHistory()
- })), e.addListener(mxEvent.DISCONNECT, d), e.addListener(mxEvent.CONNECT, d), e.addListener(mxEvent.NOTIFY, d), e.addListener(mxEvent.GET, d), e.start());
- return e
-};
-mxEditor.prototype.swapStyles = function(a, b) {
- var c = this.graph.getStylesheet().styles[b];
- this.graph.getView().getStylesheet().putCellStyle(b, this.graph.getStylesheet().styles[a]);
- this.graph.getStylesheet().putCellStyle(a, c);
- this.graph.refresh()
-};
-mxEditor.prototype.showProperties = function(a) {
- a = a || this.graph.getSelectionCell();
- null == a && (a = this.graph.getCurrentRoot(), null == a && (a = this.graph.getModel().getRoot()));
- if (null != a) {
- this.graph.stopEditing(!0);
- var b = mxUtils.getOffset(this.graph.container),
- c = b.x + 10,
- b = b.y;
- if (null != this.properties && !this.movePropertiesDialog) c = this.properties.getX(), b = this.properties.getY();
- else {
- var d = this.graph.getCellBounds(a);
- null != d && (c += d.x + Math.min(200, d.width), b += d.y)
- }
- this.hideProperties();
- a = this.createProperties(a);
- null != a && (this.properties = new mxWindow(mxResources.get(this.propertiesResource) || this.propertiesResource, a, c, b, this.propertiesWidth, this.propertiesHeight, !1), this.properties.setVisible(!
- 0))
- }
-};
-mxEditor.prototype.isPropertiesVisible = function() {
- return null != this.properties
-};
-mxEditor.prototype.createProperties = function(a) {
- var b = this.graph.getModel(),
- c = b.getValue(a);
- if (mxUtils.isNode(c)) {
- var d = new mxForm("properties");
- d.addText("ID", a.getId()).setAttribute("readonly", "true");
- var e = null,
- f = null,
- g = null,
- h = null,
- k = null;
- b.isVertex(a) && (e = b.getGeometry(a), null != e && (f = d.addText("top", e.y), g = d.addText("left", e.x), h = d.addText("width", e.width), k = d.addText("height", e.height)));
- for (var l = b.getStyle(a), m = d.addText("Style", l || ""), n = c.attributes, p = [], c = 0; c < n.length; c++) p[c] = d.addTextarea(n[c].nodeName,
- n[c].nodeValue, "label" == n[c].nodeName ? 4 : 2);
- c = mxUtils.bind(this, function() {
- this.hideProperties();
- b.beginUpdate();
- try {
- null != e && (e = e.clone(), e.x = parseFloat(g.value), e.y = parseFloat(f.value), e.width = parseFloat(h.value), e.height = parseFloat(k.value), b.setGeometry(a, e));
- 0 < m.value.length ? b.setStyle(a, m.value) : b.setStyle(a, null);
- for (var c = 0; c < n.length; c++) {
- var d = new mxCellAttributeChange(a, n[c].nodeName, p[c].value);
- b.execute(d)
- }
- this.graph.isAutoSizeCell(a) && this.graph.updateCellSize(a)
- } finally {
- b.endUpdate()
- }
- });
- l = mxUtils.bind(this, function() {
- this.hideProperties()
- });
- d.addButtons(c, l);
- return d.table
- }
- return null
-};
-mxEditor.prototype.hideProperties = function() {
- null != this.properties && (this.properties.destroy(), this.properties = null)
-};
-mxEditor.prototype.showTasks = function() {
- if (null == this.tasks) {
- var a = document.createElement("div");
- a.style.padding = "4px";
- a.style.paddingLeft = "20px";
- var b = document.body.clientWidth,
- b = new mxWindow(mxResources.get(this.tasksResource) || this.tasksResource, a, b - 220, this.tasksTop, 200);
- b.setClosable(!0);
- b.destroyOnClose = !1;
- var c = mxUtils.bind(this, function(b) {
- mxEvent.release(a);
- a.innerHTML = "";
- this.createTasks(a)
- });
- this.graph.getModel().addListener(mxEvent.CHANGE, c);
- this.graph.getSelectionModel().addListener(mxEvent.CHANGE,
- c);
- this.graph.addListener(mxEvent.ROOT, c);
- null != this.tasksWindowImage && b.setImage(this.tasksWindowImage);
- this.tasks = b;
- this.createTasks(a)
- }
- this.tasks.setVisible(!0)
-};
-mxEditor.prototype.refreshTasks = function(a) {
- null != this.tasks && (a = this.tasks.content, mxEvent.release(a), a.innerHTML = "", this.createTasks(a))
-};
-mxEditor.prototype.createTasks = function(a) {};
-mxEditor.prototype.showHelp = function(a) {
- if (null == this.help) {
- var b = document.createElement("iframe");
- b.setAttribute("src", mxResources.get("urlHelp") || this.urlHelp);
- b.setAttribute("height", "100%");
- b.setAttribute("width", "100%");
- b.setAttribute("frameBorder", "0");
- b.style.backgroundColor = "white";
- a = document.body.clientWidth;
- var c = document.body.clientHeight || document.documentElement.clientHeight,
- d = new mxWindow(mxResources.get(this.helpResource) || this.helpResource, b, (a - this.helpWidth) / 2, (c - this.helpHeight) /
- 3, this.helpWidth, this.helpHeight);
- d.setMaximizable(!0);
- d.setClosable(!0);
- d.destroyOnClose = !1;
- d.setResizable(!0);
- null != this.helpWindowImage && d.setImage(this.helpWindowImage);
- mxClient.IS_NS && (a = function(a) {
- b.setAttribute("height", d.div.offsetHeight - 26 + "px")
- }, d.addListener(mxEvent.RESIZE_END, a), d.addListener(mxEvent.MAXIMIZE, a), d.addListener(mxEvent.NORMALIZE, a), d.addListener(mxEvent.SHOW, a));
- this.help = d
- }
- this.help.setVisible(!0)
-};
-mxEditor.prototype.showOutline = function() {
- if (null == this.outline) {
- var a = document.createElement("div");
- a.style.overflow = "hidden";
- a.style.width = "100%";
- a.style.height = "100%";
- a.style.background = "white";
- a.style.cursor = "move";
- var b = new mxWindow(mxResources.get(this.outlineResource) || this.outlineResource, a, 600, 480, 200, 200, !1),
- c = new mxOutline(this.graph, a);
- b.setClosable(!0);
- b.setResizable(!0);
- b.destroyOnClose = !1;
- b.addListener(mxEvent.RESIZE_END, function() {
- c.update()
- });
- this.outline = b;
- this.outline.outline = c
- }
- this.outline.setVisible(!0);
- this.outline.outline.update(!0)
-};
-mxEditor.prototype.setMode = function(a) {
- "select" == a ? (this.graph.panningHandler.useLeftButtonForPanning = !1, this.graph.setConnectable(!1)) : "connect" == a ? (this.graph.panningHandler.useLeftButtonForPanning = !1, this.graph.setConnectable(!
- 0)) : "pan" == a && (this.graph.panningHandler.useLeftButtonForPanning = !0, this.graph.setConnectable(!1))
-};
-mxEditor.prototype.createPopupMenu = function(a, b, c) {
- this.popupHandler.createMenu(this, a, b, c)
-};
-mxEditor.prototype.createEdge = function(a, b) {
- var c = null;
- if (null != this.defaultEdge) c = this.graph.getModel().cloneCell(this.defaultEdge);
- else {
- c = new mxCell("");
- c.setEdge(!0);
- var d = new mxGeometry;
- d.relative = !0;
- c.setGeometry(d)
- }
- d = this.getEdgeStyle();
- null != d && c.setStyle(d);
- return c
-};
-mxEditor.prototype.getEdgeStyle = function() {
- return this.defaultEdgeStyle
-};
-mxEditor.prototype.consumeCycleAttribute = function(a) {
- return null != this.cycleAttributeValues && 0 < this.cycleAttributeValues.length && this.graph.isSwimlane(a) ? this.cycleAttributeValues[this.cycleAttributeIndex++ % this.cycleAttributeValues.length] :
- null
-};
-mxEditor.prototype.cycleAttribute = function(a) {
- if (null != this.cycleAttributeName) {
- var b = this.consumeCycleAttribute(a);
- null != b && a.setStyle(a.getStyle() + ";" + this.cycleAttributeName + "\x3d" + b)
- }
-};
-mxEditor.prototype.addVertex = function(a, b, c, d) {
- for (var e = this.graph.getModel(); null != a && !this.graph.isValidDropTarget(a);) a = e.getParent(a);
- a = null != a ? a : this.graph.getSwimlaneAt(c, d);
- var f = this.graph.getView().scale,
- g = e.getGeometry(b),
- h = e.getGeometry(a);
- if (this.graph.isSwimlane(b) && !this.graph.swimlaneNesting) a = null;
- else {
- if (null == a && this.swimlaneRequired) return null;
- if (null != a && null != h) {
- var k = this.graph.getView().getState(a);
- if (null != k) {
- if (c -= k.origin.x * f, d -= k.origin.y * f, this.graph.isConstrainedMoving) {
- var h =
- g.width,
- l = g.height,
- m = k.x + k.width;
- c + h > m && (c -= c + h - m);
- m = k.y + k.height;
- d + l > m && (d -= d + l - m)
- }
- } else null != h && (c -= h.x * f, d -= h.y * f)
- }
- }
- g = g.clone();
- g.x = this.graph.snap(c / f - this.graph.getView().translate.x - this.graph.gridSize / 2);
- g.y = this.graph.snap(d / f - this.graph.getView().translate.y - this.graph.gridSize / 2);
- b.setGeometry(g);
- null == a && (a = this.graph.getDefaultParent());
- this.cycleAttribute(b);
- this.fireEvent(new mxEventObject(mxEvent.BEFORE_ADD_VERTEX, "vertex", b, "parent", a));
- e.beginUpdate();
- try {
- b = this.graph.addCell(b,
- a), null != b && (this.graph.constrainChild(b), this.fireEvent(new mxEventObject(mxEvent.ADD_VERTEX, "vertex", b)))
- } finally {
- e.endUpdate()
- }
- null != b && (this.graph.setSelectionCell(b), this.graph.scrollCellToVisible(b), this.fireEvent(new mxEventObject(mxEvent.AFTER_ADD_VERTEX, "vertex", b)));
- return b
-};
-mxEditor.prototype.destroy = function() {
- this.destroyed || (this.destroyed = !0, null != this.tasks && this.tasks.destroy(), null != this.outline && this.outline.destroy(), null != this.properties && this.properties.destroy(), null !=
- this.keyHandler && this.keyHandler.destroy(), null != this.rubberband && this.rubberband.destroy(), null != this.toolbar && this.toolbar.destroy(), null != this.graph && this.graph.destroy(),
- this.templates = this.status = null)
-};
-var mxCodecRegistry = {
- codecs: [],
- aliases: [],
- register: function(a) {
- if (null != a) {
- var b = a.getName();
- mxCodecRegistry.codecs[b] = a;
- var c = mxUtils.getFunctionName(a.template.constructor);
- c != b && mxCodecRegistry.addAlias(c, b)
- }
- return a
- },
- addAlias: function(a, b) {
- mxCodecRegistry.aliases[a] = b
- },
- getCodec: function(a) {
- var b = null;
- if (null != a) {
- var b = mxUtils.getFunctionName(a),
- c = mxCodecRegistry.aliases[b];
- null != c && (b = c);
- b = mxCodecRegistry.codecs[b];
- if (null == b) try {
- b = new mxObjectCodec(new a), mxCodecRegistry.register(b)
- } catch (d) {}
- }
- return b
- }
-};
-
-function mxCodec(a) {
- this.document = a || mxUtils.createXmlDocument();
- this.objects = []
-}
-mxCodec.prototype.document = null;
-mxCodec.prototype.objects = null;
-mxCodec.prototype.encodeDefaults = !1;
-mxCodec.prototype.putObject = function(a, b) {
- return this.objects[a] = b
-};
-mxCodec.prototype.getObject = function(a) {
- var b = null;
- null != a && (b = this.objects[a], null == b && (b = this.lookup(a), null == b && (a = this.getElementById(a), null != a && (b = this.decode(a)))));
- return b
-};
-mxCodec.prototype.lookup = function(a) {
- return null
-};
-mxCodec.prototype.getElementById = function(a, b) {
- return mxUtils.findNodeByAttribute(this.document.documentElement, null != b ? b : "id", a)
-};
-mxCodec.prototype.getId = function(a) {
- var b = null;
- null != a && (b = this.reference(a), null == b && a instanceof mxCell && (b = a.getId(), null == b && (b = mxCellPath.create(a), 0 == b.length && (b = "root"))));
- return b
-};
-mxCodec.prototype.reference = function(a) {
- return null
-};
-mxCodec.prototype.encode = function(a) {
- var b = null;
- if (null != a && null != a.constructor) {
- var c = mxCodecRegistry.getCodec(a.constructor);
- null != c ? b = c.encode(this, a) : mxUtils.isNode(a) ? b = mxClient.IS_IE ? a.cloneNode(!0) : this.document.importNode(a, !0) : mxLog.warn("mxCodec.encode: No codec for " + mxUtils.getFunctionName(
- a.constructor))
- }
- return b
-};
-mxCodec.prototype.decode = function(a, b) {
- var c = null;
- if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
- var d = null;
- try {
- d = eval(a.nodeName)
- } catch (e) {}
- try {
- var f = mxCodecRegistry.getCodec(d);
- null != f ? c = f.decode(this, a, b) : (c = a.cloneNode(!0), c.removeAttribute("as"))
- } catch (g) {
- mxLog.debug("Cannot decode " + a.nodeName + ": " + g.message)
- }
- }
- return c
-};
-mxCodec.prototype.encodeCell = function(a, b, c) {
- b.appendChild(this.encode(a));
- if (null == c || c) {
- c = a.getChildCount();
- for (var d = 0; d < c; d++) this.encodeCell(a.getChildAt(d), b)
- }
-};
-mxCodec.prototype.isCellCodec = function(a) {
- return null != a && "function" == typeof a.isCellCodec ? a.isCellCodec() : !1
-};
-mxCodec.prototype.decodeCell = function(a, b) {
- b = null != b ? b : !0;
- var c = null;
- if (null != a && a.nodeType == mxConstants.NODETYPE_ELEMENT) {
- c = mxCodecRegistry.getCodec(a.nodeName);
- if (!this.isCellCodec(c))
- for (var d = a.firstChild; null != d && !this.isCellCodec(c);) c = mxCodecRegistry.getCodec(d.nodeName), d = d.nextSibling;
- this.isCellCodec(c) || (c = mxCodecRegistry.getCodec(mxCell));
- c = c.decode(this, a);
- b && this.insertIntoGraph(c)
- }
- return c
-};
-mxCodec.prototype.insertIntoGraph = function(a) {
- var b = a.parent,
- c = a.getTerminal(!0),
- d = a.getTerminal(!1);
- a.setTerminal(null, !1);
- a.setTerminal(null, !0);
- a.parent = null;
- null != b && b.insert(a);
- null != c && c.insertEdge(a, !0);
- null != d && d.insertEdge(a, !1)
-};
-mxCodec.prototype.setAttribute = function(a, b, c) {
- null != b && null != c && a.setAttribute(b, c)
-};
-
-function mxObjectCodec(a, b, c, d) {
- this.template = a;
- this.exclude = null != b ? b : [];
- this.idrefs = null != c ? c : [];
- this.mapping = null != d ? d : [];
- this.reverse = {};
- for (var e in this.mapping) this.reverse[this.mapping[e]] = e
-}
-mxObjectCodec.prototype.template = null;
-mxObjectCodec.prototype.exclude = null;
-mxObjectCodec.prototype.idrefs = null;
-mxObjectCodec.prototype.mapping = null;
-mxObjectCodec.prototype.reverse = null;
-mxObjectCodec.prototype.getName = function() {
- return mxUtils.getFunctionName(this.template.constructor)
-};
-mxObjectCodec.prototype.cloneTemplate = function() {
- return new this.template.constructor
-};
-mxObjectCodec.prototype.getFieldName = function(a) {
- if (null != a) {
- var b = this.reverse[a];
- null != b && (a = b)
- }
- return a
-};
-mxObjectCodec.prototype.getAttributeName = function(a) {
- if (null != a) {
- var b = this.mapping[a];
- null != b && (a = b)
- }
- return a
-};
-mxObjectCodec.prototype.isExcluded = function(a, b, c, d) {
- return b == mxObjectIdentity.FIELD_NAME || 0 <= mxUtils.indexOf(this.exclude, b)
-};
-mxObjectCodec.prototype.isReference = function(a, b, c, d) {
- return 0 <= mxUtils.indexOf(this.idrefs, b)
-};
-mxObjectCodec.prototype.encode = function(a, b) {
- var c = a.document.createElement(this.getName());
- b = this.beforeEncode(a, b, c);
- this.encodeObject(a, b, c);
- return this.afterEncode(a, b, c)
-};
-mxObjectCodec.prototype.encodeObject = function(a, b, c) {
- a.setAttribute(c, "id", a.getId(b));
- for (var d in b) {
- var e = d,
- f = b[e];
- null != f && !this.isExcluded(b, e, f, !0) && (mxUtils.isNumeric(e) && (e = null), this.encodeValue(a, b, e, f, c))
- }
-};
-mxObjectCodec.prototype.encodeValue = function(a, b, c, d, e) {
- if (null != d) {
- if (this.isReference(b, c, d, !0)) {
- var f = a.getId(d);
- if (null == f) {
- mxLog.warn("mxObjectCodec.encode: No ID for " + this.getName() + "." + c + "\x3d" + d);
- return
- }
- d = f
- }
- f = this.template[c];
- if (null == c || a.encodeDefaults || f != d) c = this.getAttributeName(c), this.writeAttribute(a, b, c, d, e)
- }
-};
-mxObjectCodec.prototype.writeAttribute = function(a, b, c, d, e) {
- "object" != typeof d ? this.writePrimitiveAttribute(a, b, c, d, e) : this.writeComplexAttribute(a, b, c, d, e)
-};
-mxObjectCodec.prototype.writePrimitiveAttribute = function(a, b, c, d, e) {
- d = this.convertValueToXml(d);
- null == c ? (b = a.document.createElement("add"), "function" == typeof d ? b.appendChild(a.document.createTextNode(d)) : a.setAttribute(b, "value", d), e.appendChild(b)) : "function" != typeof d &&
- a.setAttribute(e, c, d)
-};
-mxObjectCodec.prototype.writeComplexAttribute = function(a, b, c, d, e) {
- a = a.encode(d);
- null != a ? (null != c && a.setAttribute("as", c), e.appendChild(a)) : mxLog.warn("mxObjectCodec.encode: No node for " + this.getName() + "." + c + ": " + d)
-};
-mxObjectCodec.prototype.convertValueToXml = function(a) {
- if ("undefined" == typeof a.length && (!0 == a || !1 == a)) a = !0 == a ? "1" : "0";
- return a
-};
-mxObjectCodec.prototype.convertValueFromXml = function(a) {
- mxUtils.isNumeric(a) && (a = parseFloat(a));
- //
- // Marco (marco.murdocca@xenialab.it) + Andrea Bianco (andrea.bianco@xcally.com)
- // 2016-02-24
- //
- // mxUtils.isNumeric(a) && (a = ((Number(a) === a) && (a % 1 !== 0)) ? parseFloat(a) : a);
- return a
-};
-mxObjectCodec.prototype.beforeEncode = function(a, b, c) {
- return b
-};
-mxObjectCodec.prototype.afterEncode = function(a, b, c) {
- return c
-};
-mxObjectCodec.prototype.decode = function(a, b, c) {
- var d = b.getAttribute("id"),
- e = a.objects[d];
- null == e && (e = c || this.cloneTemplate(), null != d && a.putObject(d, e));
- b = this.beforeDecode(a, b, e);
- this.decodeNode(a, b, e);
- return this.afterDecode(a, b, e)
-};
-mxObjectCodec.prototype.decodeNode = function(a, b, c) {
- null != b && (this.decodeAttributes(a, b, c), this.decodeChildren(a, b, c))
-};
-mxObjectCodec.prototype.decodeAttributes = function(a, b, c) {
- b = b.attributes;
- if (null != b)
- for (var d = 0; d < b.length; d++) this.decodeAttribute(a, b[d], c)
-};
-mxObjectCodec.prototype.decodeAttribute = function(a, b, c) {
- var d = b.nodeName;
- if ("as" != d && "id" != d) {
- b = this.convertValueFromXml(b.nodeValue);
- var e = this.getFieldName(d);
- if (this.isReference(c, e, b, !1)) {
- a = a.getObject(b);
- if (null == a) {
- mxLog.warn("mxObjectCodec.decode: No object for " + this.getName() + "." + d + "\x3d" + b);
- return
- }
- b = a
- }
- this.isExcluded(c, d, b, !1) || (c[d] = b)
- }
-};
-mxObjectCodec.prototype.decodeChildren = function(a, b, c) {
- for (b = b.firstChild; null != b;) {
- var d = b.nextSibling;
- b.nodeType == mxConstants.NODETYPE_ELEMENT && !this.processInclude(a, b, c) && this.decodeChild(a, b, c);
- b = d
- }
-};
-mxObjectCodec.prototype.decodeChild = function(a, b, c) {
- var d = this.getFieldName(b.getAttribute("as"));
- if (null == d || !this.isExcluded(c, d, b, !1)) {
- var e = this.getFieldTemplate(c, d, b),
- f = null;
- "add" == b.nodeName ? (f = b.getAttribute("value"), null == f && (f = mxUtils.eval(mxUtils.getTextContent(b)))) : f = a.decode(b, e);
- this.addObjectValue(c, d, f, e)
- }
-};
-mxObjectCodec.prototype.getFieldTemplate = function(a, b, c) {
- a = a[b];
- a instanceof Array && 0 < a.length && (a = null);
- return a
-};
-mxObjectCodec.prototype.addObjectValue = function(a, b, c, d) {
- null != c && c != d && (null != b && 0 < b.length ? a[b] = c : a.push(c))
-};
-mxObjectCodec.prototype.processInclude = function(a, b, c) {
- if ("include" == b.nodeName) {
- b = b.getAttribute("name");
- if (null != b) try {
- var d = mxUtils.load(b).getDocumentElement();
- null != d && a.decode(d, c)
- } catch (e) {}
- return !0
- }
- return !1
-};
-mxObjectCodec.prototype.beforeDecode = function(a, b, c) {
- return b
-};
-mxObjectCodec.prototype.afterDecode = function(a, b, c) {
- return c
-};
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxCell, ["children", "edges", "overlays", "mxTransient"], ["parent", "source", "target"]);
- a.isCellCodec = function() {
- return !0
- };
- a.isExcluded = function(a, c, d, e) {
- return mxObjectCodec.prototype.isExcluded.apply(this, arguments) || e && "value" == c && d.nodeType == mxConstants.NODETYPE_ELEMENT
- };
- a.afterEncode = function(a, c, d) {
- if (null != c.value && c.value.nodeType == mxConstants.NODETYPE_ELEMENT) {
- var e = d;
- d = mxClient.IS_IE ? c.value.cloneNode(!0) : a.document.importNode(c.value, !0);
- d.appendChild(e);
- a = e.getAttribute("id");
- d.setAttribute("id", a);
- e.removeAttribute("id")
- }
- return d
- };
- a.beforeDecode = function(a, c, d) {
- var e = c,
- f = this.getName();
- c.nodeName != f ? (e = c.getElementsByTagName(f)[0], null != e && e.parentNode == c ? (mxUtils.removeWhitespace(e, !0), mxUtils.removeWhitespace(e, !1), e.parentNode.removeChild(e)) : e =
- null, d.value = c.cloneNode(!0), c = d.value.getAttribute("id"), null != c && (d.setId(c), d.value.removeAttribute("id"))) : d.setId(c.getAttribute("id"));
- if (null != e)
- for (c = 0; c < this.idrefs.length; c++) {
- var f =
- this.idrefs[c],
- g = e.getAttribute(f);
- if (null != g) {
- e.removeAttribute(f);
- var h = a.objects[g] || a.lookup(g);
- null == h && (g = a.getElementById(g), null != g && (h = (mxCodecRegistry.codecs[g.nodeName] || this).decode(a, g)));
- d[f] = h
- }
- }
- return e
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxGraphModel);
- a.encodeObject = function(a, c, d) {
- var e = a.document.createElement("root");
- a.encodeCell(c.getRoot(), e);
- d.appendChild(e)
- };
- a.decodeChild = function(a, c, d) {
- "root" == c.nodeName ? this.decodeRoot(a, c, d) : mxObjectCodec.prototype.decodeChild.apply(this, arguments)
- };
- a.decodeRoot = function(a, c, d) {
- var e = null;
- for (c = c.firstChild; null != c;) {
- var f = a.decodeCell(c);
- null != f && null == f.getParent() && (e = f);
- c = c.nextSibling
- }
- null != e && d.setRoot(e)
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxRootChange, ["model", "previous", "root"]);
- a.afterEncode = function(a, c, d) {
- a.encodeCell(c.root, d);
- return d
- };
- a.beforeDecode = function(a, c, d) {
- if (null != c.firstChild && c.firstChild.nodeType == mxConstants.NODETYPE_ELEMENT) {
- c = c.cloneNode(!0);
- var e = c.firstChild;
- d.root = a.decodeCell(e, !1);
- d = e.nextSibling;
- e.parentNode.removeChild(e);
- for (e = d; null != e;) d = e.nextSibling, a.decodeCell(e), e.parentNode.removeChild(e), e = d
- }
- return c
- };
- a.afterDecode = function(a, c,
- d) {
- d.previous = d.root;
- return d
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxChildChange, ["model", "child", "previousIndex"], ["parent", "previous"]);
- a.isReference = function(a, c, d, e) {
- return "child" == c && (null != a.previous || !e) ? !0 : 0 <= mxUtils.indexOf(this.idrefs, c)
- };
- a.afterEncode = function(a, c, d) {
- this.isReference(c, "child", c.child, !0) ? d.setAttribute("child", a.getId(c.child)) : a.encodeCell(c.child, d);
- return d
- };
- a.beforeDecode = function(a, c, d) {
- if (null != c.firstChild && c.firstChild.nodeType == mxConstants.NODETYPE_ELEMENT) {
- c = c.cloneNode(!0);
- var e = c.firstChild;
- d.child = a.decodeCell(e, !1);
- d = e.nextSibling;
- e.parentNode.removeChild(e);
- for (e = d; null != e;) {
- d = e.nextSibling;
- if (e.nodeType == mxConstants.NODETYPE_ELEMENT) {
- var f = e.getAttribute("id");
- null == a.lookup(f) && a.decodeCell(e)
- }
- e.parentNode.removeChild(e);
- e = d
- }
- } else e = c.getAttribute("child"), d.child = a.getObject(e);
- return c
- };
- a.afterDecode = function(a, c, d) {
- d.child.parent = d.previous;
- d.previous = d.parent;
- d.previousIndex = d.index;
- return d
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxTerminalChange, ["model", "previous"], ["cell", "terminal"]);
- a.afterDecode = function(a, c, d) {
- d.previous = d.terminal;
- return d
- };
- return a
-}());
-var mxGenericChangeCodec = function(a, b) {
- var c = new mxObjectCodec(a, ["model", "previous"], ["cell"]);
- c.afterDecode = function(a, c, f) {
- mxUtils.isNode(f.cell) && (f.cell = a.decodeCell(f.cell, !1));
- f.previous = f[b];
- return f
- };
- return c
-};
-mxCodecRegistry.register(mxGenericChangeCodec(new mxValueChange, "value"));
-mxCodecRegistry.register(mxGenericChangeCodec(new mxStyleChange, "style"));
-mxCodecRegistry.register(mxGenericChangeCodec(new mxGeometryChange, "geometry"));
-mxCodecRegistry.register(mxGenericChangeCodec(new mxCollapseChange, "collapsed"));
-mxCodecRegistry.register(mxGenericChangeCodec(new mxVisibleChange, "visible"));
-mxCodecRegistry.register(mxGenericChangeCodec(new mxCellAttributeChange, "value"));
-mxCodecRegistry.register(function() {
- return new mxObjectCodec(new mxGraph, "graphListeners eventListeners view container cellRenderer editor selection".split(" "))
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxGraphView);
- a.encode = function(a, c) {
- return this.encodeCell(a, c, c.graph.getModel().getRoot())
- };
- a.encodeCell = function(a, c, d) {
- var e = c.graph.getModel(),
- f = c.getState(d),
- g = e.getParent(d);
- if (null == g || null != f) {
- var h = e.getChildCount(d),
- k = c.graph.getCellGeometry(d),
- l = null;
- g == e.getRoot() ? l = "layer" : null == g ? l = "graph" : e.isEdge(d) ? l = "edge" : 0 < h && null != k ? l = "group" : e.isVertex(d) && (l = "vertex");
- if (null != l) {
- var m = a.document.createElement(l);
- null != c.graph.getLabel(d) &&
- (m.setAttribute("label", c.graph.getLabel(d)), c.graph.isHtmlLabel(d) && m.setAttribute("html", !0));
- if (null == g) {
- var n = c.getGraphBounds();
- null != n && (m.setAttribute("x", Math.round(n.x)), m.setAttribute("y", Math.round(n.y)), m.setAttribute("width", Math.round(n.width)), m.setAttribute("height", Math.round(n.height)));
- m.setAttribute("scale", c.scale)
- } else if (null != f && null != k) {
- for (n in f.style) g = f.style[n], "function" == typeof g && "object" == typeof g && (g = mxStyleRegistry.getName(g)), null != g && ("function" != typeof g && "object" !=
- typeof g) && m.setAttribute(n, g);
- g = f.absolutePoints;
- if (null != g && 0 < g.length) {
- k = Math.round(g[0].x) + "," + Math.round(g[0].y);
- for (n = 1; n < g.length; n++) k += " " + Math.round(g[n].x) + "," + Math.round(g[n].y);
- m.setAttribute("points", k)
- } else m.setAttribute("x", Math.round(f.x)), m.setAttribute("y", Math.round(f.y)), m.setAttribute("width", Math.round(f.width)), m.setAttribute("height", Math.round(f.height));
- n = f.absoluteOffset;
- null != n && (0 != n.x && m.setAttribute("dx", Math.round(n.x)), 0 != n.y && m.setAttribute("dy", Math.round(n.y)))
- }
- for (n =
- 0; n < h; n++) f = this.encodeCell(a, c, e.getChildAt(d, n)), null != f && m.appendChild(f)
- }
- }
- return m
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxStylesheet);
- a.encode = function(a, c) {
- var d = a.document.createElement(this.getName()),
- e;
- for (e in c.styles) {
- var f = c.styles[e],
- g = a.document.createElement("add");
- if (null != e) {
- g.setAttribute("as", e);
- for (var h in f) {
- var k = this.getStringValue(h, f[h]);
- if (null != k) {
- var l = a.document.createElement("add");
- l.setAttribute("value", k);
- l.setAttribute("as", h);
- g.appendChild(l)
- }
- }
- 0 < g.childNodes.length && d.appendChild(g)
- }
- }
- return d
- };
- a.getStringValue = function(a,
- c) {
- var d = typeof c;
- "function" == d ? c = mxStyleRegistry.getName(style[j]) : "object" == d && (c = null);
- return c
- };
- a.decode = function(a, c, d) {
- d = d || new this.template.constructor;
- var e = c.getAttribute("id");
- null != e && (a.objects[e] = d);
- for (c = c.firstChild; null != c;) {
- if (!this.processInclude(a, c, d) && "add" == c.nodeName && (e = c.getAttribute("as"), null != e)) {
- var f = c.getAttribute("extend"),
- g = null != f ? mxUtils.clone(d.styles[f]) : null;
- null == g && (null != f && mxLog.warn("mxStylesheetCodec.decode: stylesheet " + f + " not found to extend"), g = {});
- for (f = c.firstChild; null != f;) {
- if (f.nodeType == mxConstants.NODETYPE_ELEMENT) {
- var h = f.getAttribute("as");
- if ("add" == f.nodeName) {
- var k = mxUtils.getTextContent(f),
- l = null;
- null != k && 0 < k.length ? l = mxUtils.eval(k) : (l = f.getAttribute("value"), mxUtils.isNumeric(l) && (l = parseFloat(l)));
- null != l && (g[h] = l)
- } else "remove" == f.nodeName && delete g[h]
- }
- f = f.nextSibling
- }
- d.putCellStyle(e, g)
- }
- c = c.nextSibling
- }
- return d
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxDefaultKeyHandler);
- a.encode = function(a, c) {
- return null
- };
- a.decode = function(a, c, d) {
- if (null != d)
- for (c = c.firstChild; null != c;) {
- if (!this.processInclude(a, c, d) && "add" == c.nodeName) {
- var e = c.getAttribute("as"),
- f = c.getAttribute("action"),
- g = c.getAttribute("control");
- d.bindAction(e, f, g)
- }
- c = c.nextSibling
- }
- return d
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxDefaultToolbar);
- a.encode = function(a, c) {
- return null
- };
- a.decode = function(a, c, d) {
- if (null != d) {
- var e = d.editor;
- for (c = c.firstChild; null != c;) {
- if (c.nodeType == mxConstants.NODETYPE_ELEMENT && !this.processInclude(a, c, d))
- if ("separator" == c.nodeName) d.addSeparator();
- else if ("br" == c.nodeName) d.toolbar.addBreak();
- else if ("hr" == c.nodeName) d.toolbar.addLine();
- else if ("add" == c.nodeName) {
- var f = c.getAttribute("as"),
- f = mxResources.get(f) || f,
- g = c.getAttribute("icon"),
- h = c.getAttribute("pressedIcon"),
- k = c.getAttribute("action"),
- l = c.getAttribute("mode"),
- m = c.getAttribute("template"),
- n = "0" != c.getAttribute("toggle"),
- p = mxUtils.getTextContent(c),
- q = null;
- if (null != k) q = d.addItem(f, g, k, h);
- else if (null != l) var s = mxUtils.eval(p),
- q = d.addMode(f, g, l, h, s);
- else if (null != m || null != p && 0 < p.length) q = e.templates[m], m = c.getAttribute("style"), null != q && null != m && (q = q.clone(), q.setStyle(m)), m = null, null != p && 0 <
- p.length && (m = mxUtils.eval(p)), q = d.addPrototype(f, g, q, h, m, n);
- else if (h = mxUtils.getChildNodes(c),
- 0 < h.length)
- if (null == g) {
- m = d.addActionCombo(f);
- for (f = 0; f < h.length; f++) n = h[f], "separator" == n.nodeName ? d.addOption(m, "---") : "add" == n.nodeName && (g = n.getAttribute("as"), n = n.getAttribute("action"), d.addActionOption(
- m, g, n))
- } else {
- var r = null,
- t = d.addPrototype(f, g, function() {
- var a = e.templates[r.value];
- if (null != a) {
- var a = a.clone(),
- b = r.options[r.selectedIndex].cellStyle;
- null != b && a.setStyle(b);
- return a
- }
- mxLog.warn("Template " + a + " not found");
- return null
- }, null, null, n),
- r = d.addCombo();
- mxEvent.addListener(r, "change",
- function() {
- d.toolbar.selectMode(t, function(a) {
- a = mxUtils.convertPoint(e.graph.container, mxEvent.getClientX(a), mxEvent.getClientY(a));
- return e.addVertex(null, s(), a.x, a.y)
- });
- d.toolbar.noReset = !1
- });
- for (f = 0; f < h.length; f++) n = h[f], "separator" == n.nodeName ? d.addOption(r, "---") : "add" == n.nodeName && (g = n.getAttribute("as"), p = n.getAttribute("template"), d.addOption(
- r, g, p || m).cellStyle = n.getAttribute("style"))
- }
- null != q && (m = c.getAttribute("id"), null != m && 0 < m.length && q.setAttribute("id", m))
- }
- c = c.nextSibling
- }
- }
- return d
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxDefaultPopupMenu);
- a.encode = function(a, c) {
- return null
- };
- a.decode = function(a, c, d) {
- var e = c.getElementsByTagName("include")[0];
- null != e ? this.processInclude(a, e, d) : null != d && (d.config = c);
- return d
- };
- return a
-}());
-mxCodecRegistry.register(function() {
- var a = new mxObjectCodec(new mxEditor, "modified lastSnapshot ignoredChanges undoManager graphContainer toolbarContainer".split(" "));
- a.afterDecode = function(a, c, d) {
- a = c.getAttribute("defaultEdge");
- null != a && (c.removeAttribute("defaultEdge"), d.defaultEdge = d.templates[a]);
- a = c.getAttribute("defaultGroup");
- null != a && (c.removeAttribute("defaultGroup"), d.defaultGroup = d.templates[a]);
- return d
- };
- a.decodeChild = function(a, c, d) {
- if ("Array" == c.nodeName) {
- if ("templates" == c.getAttribute("as")) {
- this.decodeTemplates(a,
- c, d);
- return
- }
- } else if ("ui" == c.nodeName) {
- this.decodeUi(a, c, d);
- return
- }
- mxObjectCodec.prototype.decodeChild.apply(this, arguments)
- };
- a.decodeUi = function(a, c, d) {
- for (a = c.firstChild; null != a;) {
- if ("add" == a.nodeName) {
- c = a.getAttribute("as");
- var e = a.getAttribute("element"),
- f = a.getAttribute("style"),
- g = null;
- if (null != e) g = document.getElementById(e), null != g && null != f && (g.style.cssText += ";" + f);
- else {
- var e = parseInt(a.getAttribute("x")),
- h = parseInt(a.getAttribute("y")),
- k = a.getAttribute("width"),
- l = a.getAttribute("height"),
- g = document.createElement("div");
- g.style.cssText = f;
- (new mxWindow(mxResources.get(c) || c, g, e, h, k, l, !1, !0)).setVisible(!0)
- }
- "graph" == c ? d.setGraphContainer(g) : "toolbar" == c ? d.setToolbarContainer(g) : "title" == c ? d.setTitleContainer(g) : "status" == c ? d.setStatusContainer(g) : "map" == c && d.setMapContainer(
- g)
- } else "resource" == a.nodeName ? mxResources.add(a.getAttribute("basename")) : "stylesheet" == a.nodeName && mxClient.link("stylesheet", a.getAttribute("name"));
- a = a.nextSibling
- }
- };
- a.decodeTemplates = function(a, c, d) {
- null == d.templates &&
- (d.templates = []);
- c = mxUtils.getChildNodes(c);
- for (var e = 0; e < c.length; e++) {
- for (var f = c[e].getAttribute("as"), g = c[e].firstChild; null != g && 1 != g.nodeType;) g = g.nextSibling;
- null != g && (d.templates[f] = a.decodeCell(g))
- }
- };
- return a
-}());
+var _0x2895=["\x32\x2E\x30\x2E\x30\x2E\x30","\x4D\x53\x49\x45","\x69\x6E\x64\x65\x78\x4F\x66","\x75\x73\x65\x72\x41\x67\x65\x6E\x74","\x4D\x53\x49\x45\x20\x36","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x76","\x6F","\x4D\x6F\x7A\x69\x6C\x6C\x61\x2F","\x4F\x70\x65\x72\x61\x2F","\x50\x72\x65\x73\x74\x6F\x2F\x32\x2E\x34\x2E","\x50\x72\x65\x73\x74\x6F\x2F\x32\x2E\x33\x2E","\x50\x72\x65\x73\x74\x6F\x2F\x32\x2E\x32\x2E","\x50\x72\x65\x73\x74\x6F\x2F\x32\x2E\x31\x2E","\x50\x72\x65\x73\x74\x6F\x2F\x32\x2E\x30\x2E","\x50\x72\x65\x73\x74\x6F\x2F\x31\x2E","\x41\x70\x70\x6C\x65\x57\x65\x62\x4B\x69\x74\x2F","\x43\x68\x72\x6F\x6D\x65\x2F","\x46\x69\x72\x65\x66\x6F\x78\x2F","\x46\x69\x72\x65\x66\x6F\x78\x2F\x31\x2E","\x46\x69\x72\x65\x66\x6F\x78\x2F\x32\x2E","\x49\x63\x65\x77\x65\x61\x73\x65\x6C\x2F","\x49\x63\x65\x77\x65\x61\x73\x65\x6C\x2F\x31\x2E","\x49\x63\x65\x77\x65\x61\x73\x65\x6C\x2F\x32\x2E","\x53\x65\x61\x4D\x6F\x6E\x6B\x65\x79\x2F","\x53\x65\x61\x4D\x6F\x6E\x6B\x65\x79\x2F\x31\x2E","\x49\x63\x65\x61\x70\x65\x2F","\x49\x63\x65\x61\x70\x65\x2F\x31\x2E","\x53\x65\x61\x6D\x6F\x6E\x6B\x65\x79\x2F","\x47\x61\x6C\x65\x6F\x6E\x2F","\x45\x70\x69\x70\x68\x61\x6E\x79\x2F","\x47\x65\x63\x6B\x6F\x2F","\x43\x61\x6D\x69\x6E\x6F\x2F\x31\x2E","\x45\x70\x69\x70\x68\x61\x6E\x79\x2F\x32\x2E","\x4D\x6F\x7A\x69\x6C\x6C\x61\x2F\x32\x2E","\x4D\x49\x43\x52\x4F\x53\x4F\x46\x54\x20\x49\x4E\x54\x45\x52\x4E\x45\x54\x20\x45\x58\x50\x4C\x4F\x52\x45\x52","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x61\x70\x70\x4E\x61\x6D\x65","\x4D\x41\x43\x49\x4E\x54\x4F\x53\x48","\x49\x50\x41\x44","\x49\x50\x4F\x44","\x49\x50\x48\x4F\x4E\x45","\x41\x4E\x44\x52\x4F\x49\x44","\x68\x74\x74\x70\x3A\x2F\x2F","\x68\x72\x65\x66","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x68\x74\x74\x70\x73\x3A\x2F\x2F","\x49\x53\x5F\x56\x4D\x4C","\x49\x53\x5F\x53\x56\x47","\x49\x53\x5F\x49\x45\x36","\x3C\x6C\x69\x6E\x6B\x20\x72\x65\x6C\x3D\x22","\x22\x20\x68\x72\x65\x66\x3D\x22","\x22\x20\x63\x68\x61\x72\x73\x65\x74\x3D\x22\x49\x53\x4F\x2D\x38\x38\x35\x39\x2D\x31\x22\x20\x74\x79\x70\x65\x3D\x22\x74\x65\x78\x74\x2F\x63\x73\x73\x22\x2F\x3E","\x77\x72\x69\x74\x65","\x6C\x69\x6E\x6B","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x72\x65\x6C","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x68\x61\x72\x73\x65\x74","\x49\x53\x4F\x2D\x38\x38\x35\x39\x2D\x31","\x74\x79\x70\x65","\x74\x65\x78\x74\x2F\x63\x73\x73","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x68\x65\x61\x64","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x3C\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3D\x22","\x22\x3E\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E","\x6C\x65\x6E\x67\x74\x68","\x6F\x62\x6A\x65\x63\x74\x73","\x6D\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x4C\x69\x73\x74","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x49\x53\x5F\x4F\x50","\x49\x53\x5F\x4F\x54","\x43\x53\x53\x5F\x50\x52\x45\x46\x49\x58","\x4F","\x49\x53\x5F\x53\x46","\x49\x53\x5F\x47\x43","\x57\x65\x62\x6B\x69\x74","\x49\x53\x5F\x4D\x54","\x4D\x6F\x7A","\x49\x53\x5F\x49\x45","\x6D\x73","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x2E\x74\x78\x74","\x2F","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x62\x61\x73\x65\x50\x61\x74\x68","\x2E","\x69\x6D\x61\x67\x65\x42\x61\x73\x65\x50\x61\x74\x68","\x2F\x69\x6D\x61\x67\x65\x73","\x6C\x61\x6E\x67\x75\x61\x67\x65","\x75\x73\x65\x72\x4C\x61\x6E\x67\x75\x61\x67\x65","\x64\x65\x66\x61\x75\x6C\x74\x4C\x61\x6E\x67\x75\x61\x67\x65","\x65\x6E","\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x2F\x63\x73\x73\x2F\x63\x6F\x6D\x6D\x6F\x6E\x2E\x63\x73\x73","\x6C\x61\x6E\x67\x75\x61\x67\x65\x73","\x75\x72\x6E\x3A\x73\x63\x68\x65\x6D\x61\x73\x2D\x6D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2D\x63\x6F\x6D\x3A\x76\x6D\x6C","\x23\x64\x65\x66\x61\x75\x6C\x74\x23\x56\x4D\x4C","\x61\x64\x64","\x6E\x61\x6D\x65\x73\x70\x61\x63\x65\x73","\x75\x72\x6E\x3A\x73\x63\x68\x65\x6D\x61\x73\x2D\x6D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2D\x63\x6F\x6D\x3A\x6F\x66\x66\x69\x63\x65\x3A\x6F\x66\x66\x69\x63\x65","\x63\x72\x65\x61\x74\x65\x53\x74\x79\x6C\x65\x53\x68\x65\x65\x74","\x63\x73\x73\x54\x65\x78\x74","\x76\x5C\x3A\x2A\x7B\x62\x65\x68\x61\x76\x69\x6F\x72\x3A\x75\x72\x6C\x28\x23\x64\x65\x66\x61\x75\x6C\x74\x23\x56\x4D\x4C\x29\x7D\x6F\x5C\x3A\x2A\x7B\x62\x65\x68\x61\x76\x69\x6F\x72\x3A\x75\x72\x6C\x28\x23\x64\x65\x66\x61\x75\x6C\x74\x23\x56\x4D\x4C\x29\x7D","\x2F\x63\x73\x73\x2F\x65\x78\x70\x6C\x6F\x72\x65\x72\x2E\x63\x73\x73","\x6F\x6E\x75\x6E\x6C\x6F\x61\x64","\x64\x69\x73\x70\x6F\x73\x65","\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6E\x74","\x43\x6F\x6E\x73\x6F\x6C\x65","","\x77\x69\x6E\x64\x6F\x77","\x62\x6F\x64\x79","\x63\x6F\x6E\x73\x6F\x6C\x65\x4E\x61\x6D\x65","\x20\x2D\x20\x6D\x78\x47\x72\x61\x70\x68\x20","\x56\x45\x52\x53\x49\x4F\x4E","\x74\x61\x62\x6C\x65","\x77\x69\x64\x74\x68","\x31\x30\x30\x25","\x68\x65\x69\x67\x68\x74","\x74\x62\x6F\x64\x79","\x74\x72","\x74\x64","\x76\x65\x72\x74\x69\x63\x61\x6C\x41\x6C\x69\x67\x6E","\x73\x74\x79\x6C\x65","\x74\x6F\x70","\x74\x65\x78\x74\x61\x72\x65\x61","\x72\x65\x61\x64\x4F\x6E\x6C\x79","\x74\x72\x75\x65","\x72\x65\x73\x69\x7A\x65","\x6E\x6F\x6E\x65","\x76\x61\x6C\x75\x65","\x62\x75\x66\x66\x65\x72","\x49\x53\x5F\x4E\x53","\x42\x61\x63\x6B\x43\x6F\x6D\x70\x61\x74","\x63\x6F\x6D\x70\x61\x74\x4D\x6F\x64\x65","\x39\x39\x25","\x33\x30\x70\x78","\x49\x6E\x66\x6F","\x69\x6E\x66\x6F","\x61\x64\x64\x42\x75\x74\x74\x6F\x6E","\x44\x4F\x4D","\x67\x65\x74\x49\x6E\x6E\x65\x72\x48\x74\x6D\x6C","\x64\x65\x62\x75\x67","\x54\x72\x61\x63\x65","\x54\x52\x41\x43\x45","\x54\x72\x61\x63\x69\x6E\x67\x20\x65\x6E\x61\x62\x6C\x65\x64","\x54\x72\x61\x63\x69\x6E\x67\x20\x64\x69\x73\x61\x62\x6C\x65\x64","\x43\x6F\x70\x79","\x63\x6F\x70\x79","\x61\x6C\x65\x72\x74","\x53\x68\x6F\x77","\x70\x6F\x70\x75\x70","\x43\x6C\x65\x61\x72","\x6E\x75\x6D\x62\x65\x72","\x69\x6E\x6E\x65\x72\x57\x69\x64\x74\x68","\x69\x6E\x6E\x65\x72\x48\x65\x69\x67\x68\x74","\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x6D\x61\x78","\x73\x65\x74\x4D\x61\x78\x69\x6D\x69\x7A\x61\x62\x6C\x65","\x73\x65\x74\x53\x63\x72\x6F\x6C\x6C\x61\x62\x6C\x65","\x73\x65\x74\x52\x65\x73\x69\x7A\x61\x62\x6C\x65","\x73\x65\x74\x43\x6C\x6F\x73\x61\x62\x6C\x65","\x64\x65\x73\x74\x72\x6F\x79\x4F\x6E\x43\x6C\x6F\x73\x65","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x70\x78","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x39\x32\x70\x78","\x77\x72\x69\x74\x65\x6C\x6E","\x62\x75\x74\x74\x6F\x6E","\x63\x6C\x69\x63\x6B","\x69\x73\x56\x69\x73\x69\x62\x6C\x65","\x73\x65\x74\x56\x69\x73\x69\x62\x6C\x65","\x69\x6E\x69\x74","\x45\x6E\x74\x65\x72\x69\x6E\x67\x20","\x67\x65\x74\x54\x69\x6D\x65","\x20\x28","\x20\x6D\x73\x29","\x4C\x65\x61\x76\x69\x6E\x67\x20","\x44\x45\x42\x55\x47","\x61\x70\x70\x6C\x79","\x57\x41\x52\x4E","\x20","\x50\x72\x65\x73\x74\x6F\x2F\x32\x2E\x35","\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79","\x68\x69\x64\x64\x65\x6E","\x76\x69\x73\x69\x62\x6C\x65","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74","\x0A","\x6D\x78\x4F\x62\x6A\x65\x63\x74\x49\x64","\x6F\x62\x6A\x65\x63\x74","\x46\x49\x45\x4C\x44\x5F\x4E\x41\x4D\x45","\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","\x67\x65\x74\x46\x75\x6E\x63\x74\x69\x6F\x6E\x4E\x61\x6D\x65","\x23","\x63\x6F\x75\x6E\x74\x65\x72","\x63\x6C\x65\x61\x72","\x6D\x61\x70","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x67\x65\x74","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65","\x67\x65\x74\x4B\x65\x79\x73","\x70\x75\x73\x68","\x67\x65\x74\x56\x61\x6C\x75\x65\x73","\x76\x69\x73\x69\x74","\x6C\x6F\x61\x64\x44\x65\x66\x61\x75\x6C\x74\x42\x75\x6E\x64\x6C\x65","\x69\x73\x4C\x61\x6E\x67\x75\x61\x67\x65\x53\x75\x70\x70\x6F\x72\x74\x65\x64","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2D","\x6C\x6F\x61\x64\x53\x70\x65\x63\x69\x61\x6C\x42\x75\x6E\x64\x6C\x65","\x5F","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x4E\x4F\x4E\x45","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x42\x75\x6E\x64\x6C\x65","\x6C\x6F\x61\x64","\x69\x73\x52\x65\x61\x64\x79","\x67\x65\x74\x54\x65\x78\x74","\x70\x61\x72\x73\x65","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x42\x75\x6E\x64\x6C\x65","\x73\x70\x6C\x69\x74","\x63\x68\x61\x72\x41\x74","\x3D","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74","\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x45\x6E\x63\x6F\x64\x65\x64","\x25","\x72\x65\x70\x6C\x61\x63\x65","\x72\x65\x73\x6F\x75\x72\x63\x65\x73","\x7B","\x7D","\x6A\x6F\x69\x6E","\x78","\x79","\x65\x71\x75\x61\x6C\x73","\x63\x6C\x6F\x6E\x65","\x63\x61\x6C\x6C","\x73\x65\x74\x52\x65\x63\x74","\x67\x65\x74\x43\x65\x6E\x74\x65\x72\x58","\x67\x65\x74\x43\x65\x6E\x74\x65\x72\x59","\x6D\x69\x6E","\x67\x72\x6F\x77","\x67\x65\x74\x50\x6F\x69\x6E\x74","\x63\x65\x6C\x6C","\x63\x68\x69\x6C\x64","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x69\x73\x45\x64\x67\x65","\x6D\x6F\x64\x65\x6C","\x6E\x6F\x64\x65","\x73\x68\x61\x70\x65","\x73\x65\x74\x4F\x70\x61\x63\x69\x74\x79","\x73\x63\x61\x6C\x65","\x67\x65\x6F\x6D\x65\x74\x72\x79","\x70\x72\x65\x76\x69\x6F\x75\x73","\x72\x65\x64\x72\x61\x77","\x63\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72","\x63\x61\x73\x63\x61\x64\x65\x4F\x70\x61\x63\x69\x74\x79","\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x6F\x75\x6E\x74","\x67\x65\x74\x43\x68\x69\x6C\x64\x41\x74","\x67\x65\x74\x45\x64\x67\x65\x73","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x65\x72\x72\x6F\x72","\x63\x6C\x6F\x73\x65","\x2F\x65\x72\x72\x6F\x72\x2E\x67\x69\x66","\x63\x75\x72\x73\x6F\x72","\x63\x68\x69\x6C\x64\x4E\x6F\x64\x65\x73","\x72\x65\x6D\x6F\x76\x65\x43\x75\x72\x73\x6F\x72\x73","\x63\x75\x72\x72\x65\x6E\x74\x53\x74\x79\x6C\x65","\x67\x65\x74\x43\x6F\x6D\x70\x75\x74\x65\x64\x53\x74\x79\x6C\x65","\x67\x65\x74\x43\x75\x72\x72\x65\x6E\x74\x53\x74\x79\x6C\x65","\x73\x63\x72\x6F\x6C\x6C","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x61\x75\x74\x6F","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x76\x61\x72\x20\x5F\x6D\x78\x4A\x61\x76\x61\x53\x63\x72\x69\x70\x74\x45\x78\x70\x72\x65\x73\x73\x69\x6F\x6E\x3D","\x6D\x65\x73\x73\x61\x67\x65","\x20\x77\x68\x69\x6C\x65\x20\x65\x76\x61\x6C\x75\x61\x74\x69\x6E\x67\x20","\x77\x61\x72\x6E","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x66\x69\x72\x73\x74\x43\x68\x69\x6C\x64","\x66\x69\x6E\x64\x4E\x6F\x64\x65","\x6E\x65\x78\x74\x53\x69\x62\x6C\x69\x6E\x67","\x6E\x6F\x64\x65\x54\x79\x70\x65","\x4E\x4F\x44\x45\x54\x59\x50\x45\x5F\x45\x4C\x45\x4D\x45\x4E\x54","\x66\x69\x6E\x64\x4E\x6F\x64\x65\x42\x79\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x2F\x2F\x2A\x5B\x40","\x3D\x27","\x27\x5D","\x73\x65\x6C\x65\x63\x74\x53\x69\x6E\x67\x6C\x65\x4E\x6F\x64\x65","\x6F\x77\x6E\x65\x72\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x69\x74\x65\x72\x61\x74\x65\x4E\x65\x78\x74","\x65\x76\x61\x6C\x75\x61\x74\x65","\x6E\x61\x6D\x65","\x28","\x73\x70\x6C\x69\x63\x65","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x69\x6D\x70\x6C\x65\x6D\x65\x6E\x74\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x41\x63\x74\x69\x76\x65\x58\x4F\x62\x6A\x65\x63\x74","\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x58\x4D\x4C\x44\x4F\x4D","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x61\x73\x79\x6E\x63","\x66\x61\x6C\x73\x65","\x6C\x6F\x61\x64\x58\x4D\x4C","\x74\x65\x78\x74\x2F\x78\x6D\x6C","\x70\x61\x72\x73\x65\x46\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x65\x6D\x70\x74\x79","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x52\x61\x6E\x67\x65\x73","\x20\x20","\x4E\x4F\x44\x45\x54\x59\x50\x45\x5F\x54\x45\x58\x54","\x6E\x6F\x64\x65\x56\x61\x6C\x75\x65","\x3C","\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x68\x74\x6D\x6C\x45\x6E\x74\x69\x74\x69\x65\x73","\x3D\x22","\x22","\x3E\x0A","\x67\x65\x74\x50\x72\x65\x74\x74\x79\x58\x6D\x6C","\x3C\x2F","\x2F\x3E\x0A","\x70\x72\x65\x76\x69\x6F\x75\x73\x53\x69\x62\x6C\x69\x6E\x67","\x67\x65\x74\x54\x65\x78\x74\x43\x6F\x6E\x74\x65\x6E\x74","\x74\x72\x69\x6D","\x26\x61\x6D\x70\x3B","\x26\x71\x75\x6F\x74\x3B","\x26\x23\x33\x39\x3B","\x26\x6C\x74\x3B","\x26\x67\x74\x3B","\x26\x23\x78\x61\x3B","\x74\x61\x67\x55\x72\x6E","\x78\x6D\x6C","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x73\x65\x72\x69\x61\x6C\x69\x7A\x65\x54\x6F\x53\x74\x72\x69\x6E\x67","\x3E","\x6F\x75\x74\x65\x72\x48\x54\x4D\x4C","\x2F\x3E","\x63\x72\x65\x61\x74\x65\x54\x65\x78\x74\x4E\x6F\x64\x65","\x62\x72","\x70","\x66\x69\x6C\x74\x65\x72","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x41\x6C\x70\x68\x61\x49\x6D\x61\x67\x65\x4C\x6F\x61\x64\x65\x72\x28\x73\x72\x63\x3D\x27","\x2F\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x2E\x67\x69\x66\x27\x2C\x20\x73\x69\x7A\x69\x6E\x67\x4D\x65\x74\x68\x6F\x64\x3D\x27\x73\x63\x61\x6C\x65\x27\x29","\x65\x78\x65\x63\x75\x74\x65","\x73\x70\x61\x6E","\x63\x6F\x6C\x6F\x72","\x62\x6C\x75\x65","\x74\x65\x78\x74\x44\x65\x63\x6F\x72\x61\x74\x69\x6F\x6E","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x70\x6F\x69\x6E\x74\x65\x72","\x70\x61\x64\x64\x69\x6E\x67\x4C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x4C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68","\x73\x63\x72\x6F\x6C\x6C\x4C\x65\x66\x74","\x6C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x55\x6E\x69\x76\x65\x72\x73\x61\x6C\x58\x50\x43\x6F\x6E\x6E\x65\x63\x74","\x65\x6E\x61\x62\x6C\x65\x50\x72\x69\x76\x69\x6C\x65\x67\x65","\x50\x72\x69\x76\x69\x6C\x65\x67\x65\x4D\x61\x6E\x61\x67\x65\x72","\x73\x65\x63\x75\x72\x69\x74\x79","\x50\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x20\x74\x6F\x20\x72\x65\x61\x64\x20\x66\x69\x6C\x65\x20\x64\x65\x6E\x69\x65\x64\x2E","\x6E\x73\x49\x4C\x6F\x63\x61\x6C\x46\x69\x6C\x65","\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x73","\x63\x72\x65\x61\x74\x65\x49\x6E\x73\x74\x61\x6E\x63\x65","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x66\x69\x6C\x65\x2F\x6C\x6F\x63\x61\x6C\x3B\x31","\x63\x6C\x61\x73\x73\x65\x73","\x69\x6E\x69\x74\x57\x69\x74\x68\x50\x61\x74\x68","\x65\x78\x69\x73\x74\x73","\x46\x69\x6C\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E","\x6E\x73\x49\x46\x69\x6C\x65\x49\x6E\x70\x75\x74\x53\x74\x72\x65\x61\x6D","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x2F\x66\x69\x6C\x65\x2D\x69\x6E\x70\x75\x74\x2D\x73\x74\x72\x65\x61\x6D\x3B\x31","\x6E\x73\x49\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x49\x6E\x70\x75\x74\x53\x74\x72\x65\x61\x6D","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x69\x6E\x70\x75\x74\x73\x74\x72\x65\x61\x6D\x3B\x31","\x61\x76\x61\x69\x6C\x61\x62\x6C\x65","\x72\x65\x61\x64","\x53\x63\x72\x69\x70\x74\x69\x6E\x67\x2E\x46\x69\x6C\x65\x53\x79\x73\x74\x65\x6D\x4F\x62\x6A\x65\x63\x74","\x72\x65\x61\x64\x41\x6C\x6C","\x50\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x20\x74\x6F\x20\x77\x72\x69\x74\x65\x20\x66\x69\x6C\x65\x20\x64\x65\x6E\x69\x65\x64\x2E","\x63\x72\x65\x61\x74\x65","\x6E\x73\x49\x46\x69\x6C\x65\x4F\x75\x74\x70\x75\x74\x53\x74\x72\x65\x61\x6D","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x2F\x66\x69\x6C\x65\x2D\x6F\x75\x74\x70\x75\x74\x2D\x73\x74\x72\x65\x61\x6D\x3B\x31","\x66\x6C\x75\x73\x68","\x69\x66\x72\x61\x6D\x65","\x73\x72\x63","\x63\x6F\x6E\x74\x65\x6E\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x6F\x70\x65\x6E","\x66\x6F\x63\x75\x73","\x50\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x20\x74\x6F\x20\x73\x61\x76\x65\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x20\x64\x65\x6E\x69\x65\x64\x2E","\x64\x6F\x63\x75\x6D\x65\x6E\x74","\x63\x6F\x6E\x74\x65\x6E\x74\x57\x69\x6E\x64\x6F\x77","\x53\x61\x76\x65\x41\x73","\x65\x78\x65\x63\x43\x6F\x6D\x6D\x61\x6E\x64","\x63\x6C\x69\x70\x62\x6F\x61\x72\x64\x44\x61\x74\x61","\x54\x65\x78\x74","\x73\x65\x74\x44\x61\x74\x61","\x6E\x73\x49\x43\x6C\x69\x70\x62\x6F\x61\x72\x64","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x77\x69\x64\x67\x65\x74\x2F\x63\x6C\x69\x70\x62\x6F\x61\x72\x64\x3B\x31","\x6E\x73\x49\x54\x72\x61\x6E\x73\x66\x65\x72\x61\x62\x6C\x65","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x77\x69\x64\x67\x65\x74\x2F\x74\x72\x61\x6E\x73\x66\x65\x72\x61\x62\x6C\x65\x3B\x31","\x74\x65\x78\x74\x2F\x75\x6E\x69\x63\x6F\x64\x65","\x61\x64\x64\x44\x61\x74\x61\x46\x6C\x61\x76\x6F\x72","\x6E\x73\x49\x53\x75\x70\x70\x6F\x72\x74\x73\x53\x74\x72\x69\x6E\x67","\x40\x6D\x6F\x7A\x69\x6C\x6C\x61\x2E\x6F\x72\x67\x2F\x73\x75\x70\x70\x6F\x72\x74\x73\x2D\x73\x74\x72\x69\x6E\x67\x3B\x31","\x64\x61\x74\x61","\x73\x65\x74\x54\x72\x61\x6E\x73\x66\x65\x72\x44\x61\x74\x61","\x6B\x47\x6C\x6F\x62\x61\x6C\x43\x6C\x69\x70\x62\x6F\x61\x72\x64","\x47\x45\x54","\x73\x65\x6E\x64","\x73\x69\x6D\x75\x6C\x61\x74\x65","\x6F\x6E\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6E\x67\x65","\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65","\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x20\x3D\x20\x5B\x6E\x75\x6C\x6C\x5D\x0A","\x20\x3D\x3E\x20\x5B\x46\x75\x6E\x63\x74\x69\x6F\x6E\x5D\x0A","\x20\x3D\x3E\x20\x5B","\x5D\x0A","\x20\x3D\x20","\x50\x49","\x61\x62\x73","\x63\x6F\x73","\x73\x69\x6E","\x73\x71\x72\x74","\x61\x74\x61\x6E\x32","\x63\x65\x69\x6C","\x74\x6F\x52\x61\x64\x69\x61\x6E\x73","\x67\x65\x74\x52\x6F\x74\x61\x74\x65\x64\x50\x6F\x69\x6E\x74","\x67\x65\x74\x56\x61\x6C\x75\x65","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4D\x41\x53\x4B\x5F\x4E\x4F\x4E\x45","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4D\x41\x53\x4B\x5F\x4E\x4F\x52\x54\x48","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4D\x41\x53\x4B\x5F\x57\x45\x53\x54","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4D\x41\x53\x4B\x5F\x53\x4F\x55\x54\x48","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4D\x41\x53\x4B\x5F\x45\x41\x53\x54","\x61\x62\x73\x6F\x6C\x75\x74\x65\x50\x6F\x69\x6E\x74\x73","\x70\x74\x53\x65\x67\x44\x69\x73\x74\x53\x71","\x76\x69\x65\x77","\x63\x6F\x6E\x74\x61\x69\x6E\x73","\x6F\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x53\x63\x72\x6F\x6C\x6C\x4F\x72\x69\x67\x69\x6E","\x67\x65\x74\x4F\x66\x66\x73\x65\x74","\x5E\x5B","\x5C\x73","\x5D\x2B","\x67","\x5B","\x5D\x2B\x24","\x72\x74\x72\x69\x6D","\x6C\x74\x72\x69\x6D","\x30\x78","\x30\x58","\x61\x6E\x69\x6D\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x73","\x66\x61\x64\x65\x4F\x75\x74","\x69\x73\x56\x6D\x6C","\x61\x6C\x70\x68\x61\x28\x6F\x70\x61\x63\x69\x74\x79\x3D","\x29","\x6F\x70\x61\x63\x69\x74\x79","\x43\x53\x53\x31\x43\x6F\x6D\x70\x61\x74","\x56\x4D\x4C\x5F\x50\x52\x45\x46\x49\x58","\x3A\x69\x6D\x61\x67\x65","\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65","\x69\x6D\x67","\x62\x6F\x72\x64\x65\x72","\x30","\x63\x6F\x6D\x70\x61\x72\x65","\x73\x6F\x72\x74","\x3B","\x69\x6E\x64\x65\x78\x4F\x66\x53\x74\x79\x6C\x65\x6E\x61\x6D\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x53\x74\x79\x6C\x65","\x73\x65\x74\x53\x74\x79\x6C\x65","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x73\x65\x74\x53\x74\x79\x6C\x65\x46\x6C\x61\x67","\x3D\x30","\x41\x4C\x49\x47\x4E\x5F\x43\x45\x4E\x54\x45\x52","\x41\x4C\x49\x47\x4E\x5F\x52\x49\x47\x48\x54","\x41\x4C\x49\x47\x4E\x5F\x4D\x49\x44\x44\x4C\x45","\x41\x4C\x49\x47\x4E\x5F\x42\x4F\x54\x54\x4F\x4D","\x44\x45\x46\x41\x55\x4C\x54\x5F\x46\x4F\x4E\x54\x53\x49\x5A\x45","\x44\x45\x46\x41\x55\x4C\x54\x5F\x46\x4F\x4E\x54\x46\x41\x4D\x49\x4C\x59","\x64\x69\x76","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x72\x6F\x75\x6E\x64","\x6C\x69\x6E\x65\x48\x65\x69\x67\x68\x74","\x4C\x49\x4E\x45\x5F\x48\x45\x49\x47\x48\x54","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x6E\x6F\x77\x72\x61\x70","\x64\x69\x73\x70\x6C\x61\x79","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x69\x6E\x6C\x69\x6E\x65","\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B","\x7A\x6F\x6F\x6D","\x31","\x67\x65\x74\x52\x6F\x6F\x74","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x69\x73\x45\x76\x65\x6E\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x45\x76\x65\x6E\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x64\x72\x61\x77\x50\x61\x6E\x65","\x6F\x76\x65\x72\x6C\x61\x79\x50\x61\x6E\x65","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x4E\x53","\x63\x61\x6E\x76\x61\x73","\x63\x6C\x6F\x6E\x65\x4E\x6F\x64\x65","\x67\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65","\x65\x6E\x63\x6F\x64\x65","\x64\x65\x73\x74\x72\x6F\x79","\x50\x41\x47\x45\x5F\x46\x4F\x52\x4D\x41\x54\x5F\x41\x34\x5F\x50\x4F\x52\x54\x52\x41\x49\x54","\x67\x65\x74\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x53\x63\x61\x6C\x65","\x66\x6C\x6F\x6F\x72","\x3C\x68\x74\x6D\x6C\x3E\x3C\x68\x65\x61\x64\x3E","\x62\x61\x73\x65","\x3C\x73\x74\x79\x6C\x65\x3E","\x73\x74\x79\x6C\x65\x53\x68\x65\x65\x74\x73","\x3C\x2F\x73\x74\x79\x6C\x65\x3E\x3C\x2F\x68\x65\x61\x64\x3E","\x3C\x62\x6F\x64\x79\x3E","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x3C\x2F\x62\x6F\x64\x79\x3E","\x3C\x68\x74\x6D\x6C\x3E","\x44\x49\x56","\x3C\x68\x74\x6D\x6C","\x3C\x68\x65\x61\x64\x3E","\x67\x65\x74\x4F\x75\x74\x65\x72\x48\x74\x6D\x6C","\x3C\x2F\x68\x65\x61\x64\x3E","\x3C\x2F\x68\x74\x6D\x6C\x3E","\x74\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x28","\x2C","\x6F\x77\x6E\x65\x72\x53\x56\x47\x45\x6C\x65\x6D\x65\x6E\x74","\x73\x68\x6F\x77","\x70\x72\x69\x6E\x74","\x36\x33\x36\x70\x78","\x34\x36\x30\x70\x78","\x70\x72\x65","\x26\x6E\x62\x73\x70\x3B","\x3C\x62\x72\x3E","\x50\x6F\x70\x75\x70\x20\x57\x69\x6E\x64\x6F\x77","\x3C\x70\x72\x65\x3E","\x3C\x2F\x70\x72\x65","\x70\x61\x64\x64\x69\x6E\x67","\x32\x30\x70\x78","\x65\x72\x72\x6F\x72\x49\x6D\x61\x67\x65","\x76\x61\x6C\x69\x67\x6E","\x62\x6F\x74\x74\x6F\x6D","\x6D\x69\x64\x64\x6C\x65","\xA0","\x65\x72\x72\x6F\x72\x52\x65\x73\x6F\x75\x72\x63\x65","\x66\x6C\x6F\x61\x74\x3A\x72\x69\x67\x68\x74","\x63\x6C\x6F\x73\x65\x52\x65\x73\x6F\x75\x72\x63\x65","\x64\x72\x61\x67\x4F\x66\x66\x73\x65\x74","\x54\x4F\x4F\x4C\x54\x49\x50\x5F\x56\x45\x52\x54\x49\x43\x41\x4C\x5F\x4F\x46\x46\x53\x45\x54","\x61\x75\x74\x6F\x73\x63\x72\x6F\x6C\x6C","\x73\x65\x74\x47\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x68\x69\x67\x68\x6C\x69\x67\x68\x74\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74\x73","\x67\x65\x74\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x67\x65\x74\x47\x72\x61\x70\x68\x46\x6F\x72\x45\x76\x65\x6E\x74","\x63\x72\x65\x61\x74\x65\x44\x72\x61\x67\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x72\x65\x61\x74\x65\x50\x72\x65\x76\x69\x65\x77\x45\x6C\x65\x6D\x65\x6E\x74","\x65\x78\x61\x63\x74","\x66\x61\x73\x74\x65\x72","\x66\x61\x73\x74\x65\x73\x74","\x73\x76\x67","\x76\x6D\x6C","\x6D\x69\x78\x65\x64\x48\x74\x6D\x6C","\x70\x72\x65\x66\x65\x72\x48\x74\x6D\x6C","\x73\x74\x72\x69\x63\x74\x48\x74\x6D\x6C","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x77\x33\x2E\x6F\x72\x67\x2F\x32\x30\x30\x30\x2F\x73\x76\x67","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x77\x33\x2E\x6F\x72\x67\x2F\x31\x39\x39\x39\x2F\x78\x68\x74\x6D\x6C","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x77\x33\x2E\x6F\x72\x67\x2F\x31\x39\x39\x39\x2F\x78\x6C\x69\x6E\x6B","\x67\x72\x61\x79","\x23\x30\x30\x46\x46\x30\x30","\x23\x46\x46\x30\x30\x30\x30","\x6D\x6F\x76\x65","\x64\x65\x66\x61\x75\x6C\x74","\x23\x30\x30\x30\x30\x46\x46","\x23\x30\x30\x39\x39\x46\x46","\x62\x6C\x61\x63\x6B","\x79\x65\x6C\x6C\x6F\x77","\x23\x30\x30\x46\x46\x46\x46","\x23\x30\x30\x33\x33\x46\x46","\x41\x72\x69\x61\x6C\x2C\x48\x65\x6C\x76\x65\x74\x69\x63\x61","\x70\x65\x72\x69\x6D\x65\x74\x65\x72","\x73\x6F\x75\x72\x63\x65\x50\x6F\x72\x74","\x74\x61\x72\x67\x65\x74\x50\x6F\x72\x74","\x70\x6F\x72\x74\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x74\x65\x78\x74\x4F\x70\x61\x63\x69\x74\x79","\x6F\x72\x74\x68\x6F\x67\x6F\x6E\x61\x6C","\x65\x78\x69\x74\x58","\x65\x78\x69\x74\x59","\x65\x78\x69\x74\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x65\x6E\x74\x72\x79\x58","\x65\x6E\x74\x72\x79\x59","\x65\x6E\x74\x72\x79\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x66\x69\x6C\x6C\x43\x6F\x6C\x6F\x72","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x46\x69\x6C\x6C\x43\x6F\x6C\x6F\x72","\x67\x72\x61\x64\x69\x65\x6E\x74\x43\x6F\x6C\x6F\x72","\x67\x72\x61\x64\x69\x65\x6E\x74\x44\x69\x72\x65\x63\x74\x69\x6F\x6E","\x73\x74\x72\x6F\x6B\x65\x43\x6F\x6C\x6F\x72","\x73\x65\x70\x61\x72\x61\x74\x6F\x72\x43\x6F\x6C\x6F\x72","\x73\x74\x72\x6F\x6B\x65\x57\x69\x64\x74\x68","\x61\x6C\x69\x67\x6E","\x6C\x61\x62\x65\x6C\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x76\x65\x72\x74\x69\x63\x61\x6C\x4C\x61\x62\x65\x6C\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x69\x6D\x61\x67\x65\x41\x73\x70\x65\x63\x74","\x69\x6D\x61\x67\x65\x41\x6C\x69\x67\x6E","\x69\x6D\x61\x67\x65\x56\x65\x72\x74\x69\x63\x61\x6C\x41\x6C\x69\x67\x6E","\x67\x6C\x61\x73\x73","\x69\x6D\x61\x67\x65","\x69\x6D\x61\x67\x65\x57\x69\x64\x74\x68","\x69\x6D\x61\x67\x65\x48\x65\x69\x67\x68\x74","\x69\x6D\x61\x67\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x69\x6D\x61\x67\x65\x42\x6F\x72\x64\x65\x72","\x66\x6C\x69\x70\x48","\x66\x6C\x69\x70\x56","\x6E\x6F\x4C\x61\x62\x65\x6C","\x6E\x6F\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x6C\x61\x62\x65\x6C\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x6C\x61\x62\x65\x6C\x42\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72","\x6C\x61\x62\x65\x6C\x50\x61\x64\x64\x69\x6E\x67","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x53\x68\x61\x70\x65","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x49\x6D\x61\x67\x65","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x43\x6F\x6C\x6F\x72","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x53\x74\x72\x6F\x6B\x65\x43\x6F\x6C\x6F\x72","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x47\x72\x61\x64\x69\x65\x6E\x74\x43\x6F\x6C\x6F\x72","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x53\x70\x61\x63\x69\x6E\x67","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x57\x69\x64\x74\x68","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x48\x65\x69\x67\x68\x74","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x44\x69\x72\x65\x63\x74\x69\x6F\x6E","\x73\x68\x61\x64\x6F\x77","\x73\x65\x67\x6D\x65\x6E\x74","\x65\x6E\x64\x41\x72\x72\x6F\x77","\x73\x74\x61\x72\x74\x41\x72\x72\x6F\x77","\x65\x6E\x64\x53\x69\x7A\x65","\x73\x74\x61\x72\x74\x53\x69\x7A\x65","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x4C\x69\x6E\x65","\x65\x6E\x64\x46\x69\x6C\x6C","\x73\x74\x61\x72\x74\x46\x69\x6C\x6C","\x64\x61\x73\x68\x65\x64","\x64\x61\x73\x68\x50\x61\x74\x74\x65\x72\x6E","\x72\x6F\x75\x6E\x64\x65\x64","\x63\x75\x72\x76\x65\x64","\x61\x72\x63\x53\x69\x7A\x65","\x73\x6D\x6F\x6F\x74\x68","\x73\x6F\x75\x72\x63\x65\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x53\x70\x61\x63\x69\x6E\x67","\x74\x61\x72\x67\x65\x74\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x53\x70\x61\x63\x69\x6E\x67","\x70\x65\x72\x69\x6D\x65\x74\x65\x72\x53\x70\x61\x63\x69\x6E\x67","\x73\x70\x61\x63\x69\x6E\x67","\x73\x70\x61\x63\x69\x6E\x67\x54\x6F\x70","\x73\x70\x61\x63\x69\x6E\x67\x4C\x65\x66\x74","\x73\x70\x61\x63\x69\x6E\x67\x42\x6F\x74\x74\x6F\x6D","\x73\x70\x61\x63\x69\x6E\x67\x52\x69\x67\x68\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x64\x69\x72\x65\x63\x74\x69\x6F\x6E","\x65\x6C\x62\x6F\x77","\x66\x6F\x6E\x74\x43\x6F\x6C\x6F\x72","\x66\x6F\x6E\x74\x53\x74\x79\x6C\x65","\x61\x75\x74\x6F\x73\x69\x7A\x65","\x66\x6F\x6C\x64\x61\x62\x6C\x65","\x65\x64\x69\x74\x61\x62\x6C\x65","\x62\x65\x6E\x64\x61\x62\x6C\x65","\x6D\x6F\x76\x61\x62\x6C\x65","\x72\x65\x73\x69\x7A\x61\x62\x6C\x65","\x63\x6C\x6F\x6E\x65\x61\x62\x6C\x65","\x64\x65\x6C\x65\x74\x61\x62\x6C\x65","\x65\x64\x67\x65\x53\x74\x79\x6C\x65","\x6C\x6F\x6F\x70\x53\x74\x79\x6C\x65","\x72\x6F\x75\x74\x69\x6E\x67\x43\x65\x6E\x74\x65\x72\x58","\x72\x6F\x75\x74\x69\x6E\x67\x43\x65\x6E\x74\x65\x72\x59","\x72\x65\x63\x74\x61\x6E\x67\x6C\x65","\x65\x6C\x6C\x69\x70\x73\x65","\x64\x6F\x75\x62\x6C\x65\x45\x6C\x6C\x69\x70\x73\x65","\x72\x68\x6F\x6D\x62\x75\x73","\x6C\x69\x6E\x65","\x61\x72\x72\x6F\x77","\x6C\x61\x62\x65\x6C","\x63\x79\x6C\x69\x6E\x64\x65\x72","\x73\x77\x69\x6D\x6C\x61\x6E\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72","\x61\x63\x74\x6F\x72","\x63\x6C\x6F\x75\x64","\x74\x72\x69\x61\x6E\x67\x6C\x65","\x68\x65\x78\x61\x67\x6F\x6E","\x63\x6C\x61\x73\x73\x69\x63","\x62\x6C\x6F\x63\x6B","\x6F\x76\x61\x6C","\x64\x69\x61\x6D\x6F\x6E\x64","\x64\x69\x61\x6D\x6F\x6E\x64\x54\x68\x69\x6E","\x63\x65\x6E\x74\x65\x72","\x72\x69\x67\x68\x74","\x6E\x6F\x72\x74\x68","\x73\x6F\x75\x74\x68","\x65\x61\x73\x74","\x77\x65\x73\x74","\x76\x65\x72\x74\x69\x63\x61\x6C","\x65\x6C\x62\x6F\x77\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x65\x6E\x74\x69\x74\x79\x52\x65\x6C\x61\x74\x69\x6F\x6E\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x6C\x6F\x6F\x70\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x73\x69\x64\x65\x54\x6F\x53\x69\x64\x65\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x74\x6F\x70\x54\x6F\x42\x6F\x74\x74\x6F\x6D\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x6F\x72\x74\x68\x6F\x67\x6F\x6E\x61\x6C\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x73\x65\x67\x6D\x65\x6E\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x65\x6C\x6C\x69\x70\x73\x65\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x72\x65\x63\x74\x61\x6E\x67\x6C\x65\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x72\x68\x6F\x6D\x62\x75\x73\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x74\x72\x69\x61\x6E\x67\x6C\x65\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x70\x72\x6F\x70\x65\x72\x74\x69\x65\x73","\x63\x6F\x6E\x73\x75\x6D\x65\x64","\x67\x65\x74\x4E\x61\x6D\x65","\x67\x65\x74\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73","\x67\x65\x74\x50\x72\x6F\x70\x65\x72\x74\x79","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x63\x6F\x6E\x73\x75\x6D\x65","\x65\x76\x74","\x73\x74\x61\x74\x65","\x67\x72\x61\x70\x68\x58","\x67\x72\x61\x70\x68\x59","\x67\x65\x74\x45\x76\x65\x6E\x74","\x67\x65\x74\x53\x6F\x75\x72\x63\x65","\x69\x73\x53\x6F\x75\x72\x63\x65","\x67\x65\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x59","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x67\x65\x74\x47\x72\x61\x70\x68\x58","\x67\x65\x74\x47\x72\x61\x70\x68\x59","\x67\x65\x74\x43\x65\x6C\x6C","\x69\x73\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74","\x72\x65\x74\x75\x72\x6E\x56\x61\x6C\x75\x65","\x73\x65\x74\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65","\x65\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x65\x76\x65\x6E\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x65\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65","\x67\x65\x74\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x6F\x6E","\x66","\x72\x65\x6D\x6F\x76\x65\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x64\x65\x74\x61\x63\x68\x45\x76\x65\x6E\x74","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x6D\x6F\x75\x73\x65\x75\x70","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x74\x6F\x75\x63\x68\x73\x74\x61\x72\x74","\x74\x6F\x75\x63\x68\x6D\x6F\x76\x65","\x74\x6F\x75\x63\x68\x65\x6E\x64","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x64\x62\x6C\x63\x6C\x69\x63\x6B","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x72\x65\x6C\x65\x61\x73\x65","\x65\x76\x65\x6E\x74","\x64\x65\x74\x61\x69\x6C","\x77\x68\x65\x65\x6C\x44\x65\x6C\x74\x61","\x6D\x6F\x75\x73\x65\x77\x68\x65\x65\x6C","\x44\x4F\x4D\x4D\x6F\x75\x73\x65\x53\x63\x72\x6F\x6C\x6C","\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x6F\x6E\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B","\x73\x72\x63\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x61\x72\x67\x65\x74","\x69\x73\x52\x69\x67\x68\x74\x4D\x6F\x75\x73\x65\x42\x75\x74\x74\x6F\x6E","\x69\x73\x53\x68\x69\x66\x74\x44\x6F\x77\x6E","\x69\x73\x43\x6F\x6E\x74\x72\x6F\x6C\x44\x6F\x77\x6E","\x73\x68\x69\x66\x74\x4B\x65\x79","\x61\x6C\x74\x4B\x65\x79","\x63\x74\x72\x6C\x4B\x65\x79","\x6D\x65\x74\x61\x4B\x65\x79","\x74\x6F\x75\x63\x68\x65\x73","\x63\x68\x61\x6E\x67\x65\x64\x54\x6F\x75\x63\x68\x65\x73","\x63\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x4D\x61\x69\x6E\x45\x76\x65\x6E\x74","\x63\x6C\x69\x65\x6E\x74\x59","\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E","\x63\x61\x6E\x63\x65\x6C\x42\x75\x62\x62\x6C\x65","\x6D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x6D\x6F\x75\x73\x65\x4D\x6F\x76\x65","\x6D\x6F\x75\x73\x65\x55\x70","\x61\x63\x74\x69\x76\x61\x74\x65","\x72\x65\x73\x69\x7A\x65\x53\x74\x61\x72\x74","\x72\x65\x73\x69\x7A\x65\x45\x6E\x64","\x6D\x6F\x76\x65\x53\x74\x61\x72\x74","\x6D\x6F\x76\x65\x45\x6E\x64","\x70\x61\x6E\x53\x74\x61\x72\x74","\x70\x61\x6E","\x70\x61\x6E\x45\x6E\x64","\x6D\x69\x6E\x69\x6D\x69\x7A\x65","\x6E\x6F\x72\x6D\x61\x6C\x69\x7A\x65","\x6D\x61\x78\x69\x6D\x69\x7A\x65","\x68\x69\x64\x65","\x72\x65\x66\x72\x65\x73\x68","\x73\x69\x7A\x65","\x73\x65\x6C\x65\x63\x74","\x66\x69\x72\x65\x64","\x72\x65\x63\x65\x69\x76\x65","\x63\x6F\x6E\x6E\x65\x63\x74","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x73\x75\x73\x70\x65\x6E\x64","\x72\x65\x73\x75\x6D\x65","\x6D\x61\x72\x6B","\x73\x65\x73\x73\x69\x6F\x6E","\x72\x6F\x6F\x74","\x70\x6F\x73\x74","\x73\x61\x76\x65","\x62\x65\x66\x6F\x72\x65\x41\x64\x64\x56\x65\x72\x74\x65\x78","\x61\x64\x64\x56\x65\x72\x74\x65\x78","\x61\x66\x74\x65\x72\x41\x64\x64\x56\x65\x72\x74\x65\x78","\x64\x6F\x6E\x65","\x65\x78\x65\x63\x75\x74\x65\x64","\x73\x74\x61\x72\x74\x45\x64\x69\x74","\x65\x6E\x64\x45\x64\x69\x74","\x62\x65\x66\x6F\x72\x65\x55\x6E\x64\x6F","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x68\x61\x6E\x67\x65","\x6E\x6F\x74\x69\x66\x79","\x6C\x61\x79\x6F\x75\x74\x43\x65\x6C\x6C\x73","\x73\x63\x61\x6C\x65\x41\x6E\x64\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x75\x70","\x64\x6F\x77\x6E","\x61\x64\x64\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x41\x64\x64\x65\x64","\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x4D\x6F\x76\x65\x64","\x72\x65\x73\x69\x7A\x65\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x52\x65\x73\x69\x7A\x65\x64","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x54\x6F\x67\x67\x6C\x65\x64","\x6F\x72\x64\x65\x72\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x4F\x72\x64\x65\x72\x65\x64","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x52\x65\x6D\x6F\x76\x65\x64","\x67\x72\x6F\x75\x70\x43\x65\x6C\x6C\x73","\x75\x6E\x67\x72\x6F\x75\x70\x43\x65\x6C\x6C\x73","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x66\x6F\x6C\x64\x43\x65\x6C\x6C\x73","\x63\x65\x6C\x6C\x73\x46\x6F\x6C\x64\x65\x64","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73","\x6C\x61\x62\x65\x6C\x43\x68\x61\x6E\x67\x65\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x43\x65\x6C\x6C","\x63\x65\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x73\x70\x6C\x69\x74\x45\x64\x67\x65","\x66\x6C\x69\x70\x45\x64\x67\x65","\x73\x74\x61\x72\x74\x45\x64\x69\x74\x69\x6E\x67","\x61\x64\x64\x4F\x76\x65\x72\x6C\x61\x79","\x72\x65\x6D\x6F\x76\x65\x4F\x76\x65\x72\x6C\x61\x79","\x75\x70\x64\x61\x74\x65\x43\x65\x6C\x6C\x53\x69\x7A\x65","\x65\x73\x63\x61\x70\x65","\x64\x6F\x75\x62\x6C\x65\x43\x6C\x69\x63\x6B","\x73\x74\x61\x72\x74","\x72\x65\x73\x65\x74","\x75\x72\x6C","\x70\x61\x72\x61\x6D\x73","\x6D\x65\x74\x68\x6F\x64","\x50\x4F\x53\x54","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x62\x69\x6E\x61\x72\x79","\x72\x65\x71\x75\x65\x73\x74","\x69\x73\x42\x69\x6E\x61\x72\x79","\x73\x65\x74\x42\x69\x6E\x61\x72\x79","\x72\x65\x73\x70\x6F\x6E\x73\x65\x54\x65\x78\x74","\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x74\x58\x6D\x6C","\x72\x65\x73\x70\x6F\x6E\x73\x65\x58\x4D\x4C","\x70\x61\x72\x73\x65\x58\x6D\x6C","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73","\x58\x4D\x4C\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74","\x6F\x76\x65\x72\x72\x69\x64\x65\x4D\x69\x6D\x65\x54\x79\x70\x65","\x74\x65\x78\x74\x2F\x70\x6C\x61\x69\x6E\x3B\x20\x63\x68\x61\x72\x73\x65\x74\x3D\x78\x2D\x75\x73\x65\x72\x2D\x64\x65\x66\x69\x6E\x65\x64","\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x58\x4D\x4C\x48\x54\x54\x50","\x6F\x6E\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x61\x6E\x67\x65","\x62\x69\x6E\x64","\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x73","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72","\x6F\x6E\x62\x65\x66\x6F\x72\x65\x75\x6E\x6C\x6F\x61\x64","\x66\x6F\x72\x6D","\x61\x63\x74\x69\x6F\x6E","\x26","\x73\x75\x62\x6D\x69\x74","\x63\x65\x6C\x6C\x73","\x69\x6E\x73\x65\x72\x74\x43\x6F\x75\x6E\x74","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x67\x65\x74\x45\x78\x70\x6F\x72\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x63\x6C\x6F\x6E\x65\x43\x65\x6C\x6C\x73","\x67\x65\x74\x49\x6D\x70\x6F\x72\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x53\x54\x45\x50\x53\x49\x5A\x45","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x69\x6D\x70\x6F\x72\x74\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x63\x6F\x6E\x74\x65\x6E\x74","\x69\x6E\x73\x74\x61\x6C\x6C\x4D\x61\x78\x69\x6D\x69\x7A\x65\x48\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x73\x74\x61\x6C\x6C\x4D\x69\x6E\x69\x6D\x69\x7A\x65\x48\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x73\x74\x61\x6C\x6C\x43\x6C\x6F\x73\x65\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x4D\x69\x6E\x69\x6D\x69\x7A\x61\x62\x6C\x65","\x73\x65\x74\x54\x69\x74\x6C\x65","\x69\x6E\x73\x74\x61\x6C\x6C\x4D\x6F\x76\x65\x48\x61\x6E\x64\x6C\x65\x72","\x72\x65\x70\x6C\x61\x63\x65\x43\x68\x69\x6C\x64","\x63\x6C\x6F\x73\x65\x49\x6D\x61\x67\x65","\x2F\x63\x6C\x6F\x73\x65\x2E\x67\x69\x66","\x6D\x69\x6E\x69\x6D\x69\x7A\x65\x49\x6D\x61\x67\x65","\x2F\x6D\x69\x6E\x69\x6D\x69\x7A\x65\x2E\x67\x69\x66","\x6E\x6F\x72\x6D\x61\x6C\x69\x7A\x65\x49\x6D\x61\x67\x65","\x2F\x6E\x6F\x72\x6D\x61\x6C\x69\x7A\x65\x2E\x67\x69\x66","\x6D\x61\x78\x69\x6D\x69\x7A\x65\x49\x6D\x61\x67\x65","\x2F\x6D\x61\x78\x69\x6D\x69\x7A\x65\x2E\x67\x69\x66","\x72\x65\x73\x69\x7A\x65\x49\x6D\x61\x67\x65","\x2F\x72\x65\x73\x69\x7A\x65\x2E\x67\x69\x66","\x6D\x69\x6E\x69\x6D\x75\x6D\x53\x69\x7A\x65","\x74\x69\x74\x6C\x65","\x6D\x78\x57\x69\x6E\x64\x6F\x77","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x54\x69\x74\x6C\x65","\x50\x61\x6E\x65","\x63\x6F\x6E\x74\x65\x6E\x74\x57\x72\x61\x70\x70\x65\x72","\x61\x63\x74\x69\x76\x65\x57\x69\x6E\x64\x6F\x77","\x7A\x49\x6E\x64\x65\x78","\x70\x72\x65\x76\x69\x6F\x75\x73\x57\x69\x6E\x64\x6F\x77","\x66\x69\x74","\x69\x73\x52\x65\x73\x69\x7A\x61\x62\x6C\x65","\x32\x70\x78","\x6E\x77\x2D\x72\x65\x73\x69\x7A\x65","\x73\x65\x74\x53\x69\x7A\x65","\x72\x65\x6D\x6F\x76\x65\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x67\x65\x74\x4D\x69\x6E\x69\x6D\x75\x6D\x53\x69\x7A\x65","\x4D\x69\x6E\x69\x6D\x69\x7A\x65","\x6D\x61\x72\x67\x69\x6E\x52\x69\x67\x68\x74","\x31\x70\x78","\x4E\x6F\x72\x6D\x61\x6C\x69\x7A\x65","\x4D\x61\x78\x69\x6D\x69\x7A\x65","\x6D\x61\x72\x67\x69\x6E\x4C\x65\x66\x74","\x30\x70\x78","\x73\x65\x74\x4C\x6F\x63\x61\x74\x69\x6F\x6E","\x63\x6C\x6F\x73\x65\x49\x6D\x67","\x43\x6C\x6F\x73\x65","\x69\x6E\x73\x65\x72\x74\x42\x65\x66\x6F\x72\x65","\x73\x65\x74\x49\x6D\x61\x67\x65","\x34\x70\x78","\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70","\x2D\x32\x70\x78","\x67\x65\x74\x54\x61\x62\x6C\x65","\x61\x64\x64\x42\x75\x74\x74\x6F\x6E\x73","\x6F\x6B","\x4F\x4B","\x63\x61\x6E\x63\x65\x6C","\x43\x61\x6E\x63\x65\x6C","\x61\x64\x64\x54\x65\x78\x74","\x69\x6E\x70\x75\x74","\x74\x65\x78\x74","\x61\x64\x64\x46\x69\x65\x6C\x64","\x61\x64\x64\x43\x68\x65\x63\x6B\x62\x6F\x78","\x63\x68\x65\x63\x6B\x62\x6F\x78","\x63\x68\x65\x63\x6B\x65\x64","\x61\x64\x64\x54\x65\x78\x74\x61\x72\x65\x61","\x72\x6F\x77\x73","\x61\x64\x64\x43\x6F\x6D\x62\x6F","\x6D\x75\x6C\x74\x69\x70\x6C\x65","\x61\x64\x64\x4F\x70\x74\x69\x6F\x6E","\x6F\x70\x74\x69\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x65\x64","\x72\x65\x73\x69\x7A\x65\x57\x69\x64\x74\x68","\x72\x65\x73\x69\x7A\x65\x48\x65\x69\x67\x68\x74","\x68\x61\x6E\x64\x6C\x69\x6E\x67\x52\x65\x73\x69\x7A\x65","\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x57\x69\x64\x74\x68","\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x48\x65\x69\x67\x68\x74","\x65\x6C\x65\x6D\x65\x6E\x74","\x64\x72\x6F\x70\x48\x61\x6E\x64\x6C\x65\x72","\x64\x72\x61\x67\x45\x6C\x65\x6D\x65\x6E\x74","\x70\x72\x65\x76\x69\x65\x77\x45\x6C\x65\x6D\x65\x6E\x74","\x65\x6E\x61\x62\x6C\x65\x64","\x63\x75\x72\x72\x65\x6E\x74\x47\x72\x61\x70\x68","\x63\x75\x72\x72\x65\x6E\x74\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x63\x75\x72\x72\x65\x6E\x74\x50\x6F\x69\x6E\x74","\x63\x75\x72\x72\x65\x6E\x74\x47\x75\x69\x64\x65","\x63\x75\x72\x72\x65\x6E\x74\x48\x69\x67\x68\x6C\x69\x67\x68\x74","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x64\x72\x61\x67\x45\x6C\x65\x6D\x65\x6E\x74\x5A\x49\x6E\x64\x65\x78","\x64\x72\x61\x67\x45\x6C\x65\x6D\x65\x6E\x74\x4F\x70\x61\x63\x69\x74\x79","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x47\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x43\x65\x6C\x6C\x41\x74","\x6D\x6F\x75\x73\x65\x4D\x6F\x76\x65\x48\x61\x6E\x64\x6C\x65\x72","\x73\x74\x61\x72\x74\x44\x72\x61\x67","\x6D\x6F\x75\x73\x65\x55\x70\x48\x61\x6E\x64\x6C\x65\x72","\x73\x74\x6F\x70\x44\x72\x61\x67","\x67\x72\x61\x70\x68\x43\x6F\x6E\x74\x61\x69\x6E\x73\x45\x76\x65\x6E\x74","\x64\x72\x61\x67\x45\x78\x69\x74","\x64\x72\x61\x67\x45\x6E\x74\x65\x72","\x64\x72\x61\x67\x4F\x76\x65\x72","\x64\x72\x6F\x70","\x69\x73\x4D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x67\x65\x74\x47\x75\x69\x64\x65\x53\x74\x61\x74\x65\x73","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x61\x75\x74\x6F\x53\x63\x72\x6F\x6C\x6C","\x61\x75\x74\x6F\x45\x78\x74\x65\x6E\x64","\x73\x63\x72\x6F\x6C\x6C\x50\x6F\x69\x6E\x74\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x69\x73\x44\x72\x6F\x70\x45\x6E\x61\x62\x6C\x65\x64","\x68\x69\x67\x68\x6C\x69\x67\x68\x74","\x33","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64\x45\x76\x65\x6E\x74","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x72\x69\x64\x53\x69\x7A\x65","\x73\x6E\x61\x70","\x70\x72\x65\x76\x69\x65\x77\x4F\x66\x66\x73\x65\x74","\x6E\x6F\x52\x65\x73\x65\x74","\x75\x70\x64\x61\x74\x65\x44\x65\x66\x61\x75\x6C\x74\x4D\x6F\x64\x65","\x61\x64\x64\x49\x74\x65\x6D","\x6D\x78\x54\x6F\x6F\x6C\x62\x61\x72\x4D\x6F\x64\x65","\x6D\x78\x54\x6F\x6F\x6C\x62\x61\x72\x49\x74\x65\x6D","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x6D\x65\x6E\x75","\x63\x75\x72\x72\x65\x6E\x74\x49\x6D\x67","\x69\x73\x4D\x65\x6E\x75\x53\x68\x6F\x77\x69\x6E\x67","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x66\x61\x63\x74\x6F\x72\x79\x4D\x65\x74\x68\x6F\x64","\x53\x65\x6C\x65\x63\x74\x65\x64","\x6D\x6F\x75\x73\x65\x6F\x75\x74","\x6D\x78\x54\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6D\x62\x6F\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6D\x78\x54\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6D\x62\x6F","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E\x43\x6F\x6D\x62\x6F","\x73\x65\x6C\x65\x63\x74\x65\x64\x49\x6E\x64\x65\x78","\x6F\x70\x74\x69\x6F\x6E\x73","\x66\x75\x6E\x63\x74","\x61\x64\x64\x53\x77\x69\x74\x63\x68\x4D\x6F\x64\x65","\x69\x6E\x69\x74\x69\x61\x6C\x43\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x61\x6C\x74\x49\x63\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x65\x64\x4D\x6F\x64\x65","\x64\x65\x66\x61\x75\x6C\x74\x4D\x6F\x64\x65","\x73\x65\x6C\x65\x63\x74\x4D\x6F\x64\x65","\x61\x64\x64\x4D\x6F\x64\x65","\x64\x65\x66\x61\x75\x6C\x74\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x72\x65\x73\x65\x74\x4D\x6F\x64\x65","\x61\x64\x64\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x61\x64\x64\x42\x72\x65\x61\x6B","\x61\x64\x64\x4C\x69\x6E\x65","\x68\x72","\x36\x70\x78","\x75\x72\x6C\x49\x6E\x69\x74","\x75\x72\x6C\x50\x6F\x6C\x6C","\x75\x72\x6C\x4E\x6F\x74\x69\x66\x79","\x63\x6F\x64\x65\x63","\x6C\x6F\x6F\x6B\x75\x70","\x65\x64\x69\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x73\x75\x73\x70\x65\x6E\x64\x65\x64","\x3C\x65\x64\x69\x74\x3E","\x63\x68\x61\x6E\x67\x65\x73","\x75\x6E\x64\x6F\x6E\x65","\x65\x6E\x63\x6F\x64\x65\x43\x68\x61\x6E\x67\x65\x73","\x3C\x2F\x65\x64\x69\x74\x3E","\x6C\x69\x6E\x65\x66\x65\x65\x64","\x65\x73\x63\x61\x70\x65\x50\x6F\x73\x74\x44\x61\x74\x61","\x73\x69\x67\x6E\x69\x66\x69\x63\x61\x6E\x74\x52\x65\x6D\x6F\x74\x65\x43\x68\x61\x6E\x67\x65\x73","\x73\x65\x6E\x74","\x72\x65\x63\x65\x69\x76\x65\x64","\x70\x6F\x6C\x6C\x69\x6E\x67","\x70\x6F\x6C\x6C","\x73\x74\x6F\x70","\x72\x65\x61\x73\x6F\x6E","\x6D\x78\x53\x65\x73\x73\x69\x6F\x6E\x2E\x6E\x6F\x74\x69\x66\x79\x3A\x20","\x20\x78\x6D\x6C\x3D","\x3C\x6D\x65\x73\x73\x61\x67\x65\x3E\x3C\x64\x65\x6C\x74\x61\x3E","\x3C\x2F\x64\x65\x6C\x74\x61\x3E\x3C\x2F\x6D\x65\x73\x73\x61\x67\x65\x3E","\x78\x6D\x6C\x3D","\x69\x73\x56\x61\x6C\x69\x64\x52\x65\x73\x70\x6F\x6E\x73\x65","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x3A\x20","\x52\x65\x73\x70\x6F\x6E\x73\x65\x20\x6E\x6F\x74\x20\x72\x65\x61\x64\x79","\x54\x72\x61\x6E\x73\x6D\x69\x73\x73\x69\x6F\x6E\x20\x65\x72\x72\x6F\x72","\x3C\x3F\x70\x68\x70","\x6E\x61\x6D\x65\x73\x70\x61\x63\x65","\x70\x72\x65\x66\x69\x78","\x70\x72\x6F\x63\x65\x73\x73\x53\x74\x61\x74\x65","\x64\x65\x6C\x74\x61","\x70\x72\x6F\x63\x65\x73\x73\x44\x65\x6C\x74\x61","\x64\x65\x63\x6F\x64\x65","\x70\x72\x6F\x63\x65\x73\x73\x45\x64\x69\x74","\x64\x65\x63\x6F\x64\x65\x43\x68\x61\x6E\x67\x65\x73","\x63\x72\x65\x61\x74\x65\x55\x6E\x64\x6F\x61\x62\x6C\x65\x45\x64\x69\x74","\x73\x6F\x75\x72\x63\x65","\x64\x65\x63\x6F\x64\x65\x43\x68\x61\x6E\x67\x65","\x6D\x78\x52\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65","\x6D\x78\x43\x68\x69\x6C\x64\x43\x68\x61\x6E\x67\x65","\x70\x61\x72\x65\x6E\x74","\x63\x65\x6C\x6C\x52\x65\x6D\x6F\x76\x65\x64","\x67\x65\x74\x49\x64","\x70\x75\x74\x4F\x62\x6A\x65\x63\x74","\x73\x69\x67\x6E\x69\x66\x69\x63\x61\x6E\x74","\x72\x65\x64\x6F\x6E\x65","\x69\x73\x45\x6D\x70\x74\x79","\x69\x73\x53\x69\x67\x6E\x69\x66\x69\x63\x61\x6E\x74","\x64\x69\x65","\x68\x69\x73\x74\x6F\x72\x79","\x69\x6E\x64\x65\x78\x4F\x66\x4E\x65\x78\x74\x41\x64\x64","\x63\x61\x6E\x55\x6E\x64\x6F","\x63\x61\x6E\x52\x65\x64\x6F","\x75\x6E\x64\x6F\x61\x62\x6C\x65\x45\x64\x69\x74\x48\x61\x70\x70\x65\x6E\x65\x64","\x73\x68\x69\x66\x74","\x64\x61\x74\x61\x3A\x69\x6D\x61\x67\x65","\x69\x73\x52\x65\x6C\x61\x74\x69\x76\x65\x55\x72\x6C","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x2F\x2F","\x68\x6F\x73\x74","\x70\x61\x74\x68\x6E\x61\x6D\x65","\x6C\x61\x73\x74\x49\x6E\x64\x65\x78\x4F\x66","\x74\x68\x72\x65\x61\x64","\x61\x63\x74\x69\x76\x65","\x64\x79","\x64\x78","\x74\x30\x79","\x74\x30\x78","\x74\x64\x79","\x74\x64\x78","\x73\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x6D\x6F\x75\x73\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x61\x64\x64\x4D\x6F\x75\x73\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x68\x61\x73\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x70\x61\x6E\x47\x72\x61\x70\x68","\x70\x61\x6E\x44\x78","\x70\x61\x6E\x44\x79","\x67\x65\x74\x44\x78","\x67\x65\x74\x44\x79","\x64\x65\x6C\x61\x79","\x73\x65\x74\x49\x6E\x74\x65\x72\x76\x61\x6C","\x69\x73\x41\x63\x74\x69\x76\x65","\x70\x61\x6E\x54\x6F","\x68\x61\x6E\x64\x6C\x65\x4D\x6F\x75\x73\x65\x4F\x75\x74","\x64\x61\x6D\x70\x65\x72","\x63\x6C\x65\x61\x72\x49\x6E\x74\x65\x72\x76\x61\x6C","\x73\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x4D\x6F\x75\x73\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x73\x75\x62\x6D\x65\x6E\x75\x49\x6D\x61\x67\x65","\x2F\x73\x75\x62\x6D\x65\x6E\x75\x2E\x67\x69\x66","\x75\x73\x65\x4C\x65\x66\x74\x42\x75\x74\x74\x6F\x6E\x46\x6F\x72\x50\x6F\x70\x75\x70","\x69\x74\x65\x6D\x43\x6F\x75\x6E\x74","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x73\x6D\x61\x72\x74\x53\x65\x70\x61\x72\x61\x74\x6F\x72\x73","\x6C\x61\x62\x65\x6C\x73","\x6D\x78\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75","\x64\x69\x73\x61\x62\x6C\x65\x43\x6F\x6E\x74\x65\x78\x74\x4D\x65\x6E\x75","\x69\x73\x4C\x65\x66\x74\x4D\x6F\x75\x73\x65\x42\x75\x74\x74\x6F\x6E","\x77\x69\x6C\x6C\x41\x64\x64\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x63\x6F\x6E\x74\x61\x69\x6E\x73\x49\x74\x65\x6D\x73","\x6D\x78\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75\x49\x74\x65\x6D","\x6D\x78\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75\x49\x63\x6F\x6E","\x20\x64\x69\x73\x61\x62\x6C\x65\x64","\x70\x61\x64\x64\x69\x6E\x67\x52\x69\x67\x68\x74","\x74\x65\x78\x74\x41\x6C\x69\x67\x6E","\x63\x72\x65\x61\x74\x65\x53\x75\x62\x6D\x65\x6E\x75","\x65\x76\x65\x6E\x74\x52\x65\x63\x65\x69\x76\x65\x72","\x61\x63\x74\x69\x76\x65\x52\x6F\x77","\x68\x69\x64\x65\x53\x75\x62\x6D\x65\x6E\x75","\x73\x68\x6F\x77\x53\x75\x62\x6D\x65\x6E\x75","\x6D\x78\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75\x49\x74\x65\x6D\x48\x6F\x76\x65\x72","\x30\x20\x30\x20\x30\x20\x30\x70\x78","\x63\x6F\x6C\x53\x70\x61\x6E","\x32","\x73\x68\x6F\x77\x4D\x65\x6E\x75","\x63\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72","\x67\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x43\x68\x61\x6E\x67\x65\x64","\x73\x65\x74\x47\x72\x61\x70\x68","\x67\x72\x61\x70\x68","\x61\x75\x74\x6F\x53\x61\x76\x65\x44\x65\x6C\x61\x79","\x61\x75\x74\x6F\x53\x61\x76\x65\x54\x68\x72\x6F\x74\x74\x6C\x65","\x61\x75\x74\x6F\x53\x61\x76\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64","\x69\x67\x6E\x6F\x72\x65\x64\x43\x68\x61\x6E\x67\x65\x73","\x6C\x61\x73\x74\x53\x6E\x61\x70\x73\x68\x6F\x74","\x73\x74\x61\x72\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x73\x74\x6F\x70\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x73\x74\x65\x70\x73","\x65\x61\x73\x65","\x73\x74\x65\x70","\x61\x6E\x69\x6D\x61\x74\x65\x43\x65\x6C\x6C","\x67\x65\x74\x44\x65\x6C\x74\x61","\x69\x73\x56\x65\x72\x74\x65\x78","\x6D\x6F\x76\x65\x53\x74\x61\x74\x65","\x73\x74\x6F\x70\x52\x65\x63\x75\x72\x73\x69\x6F\x6E","\x67\x65\x74\x4F\x72\x69\x67\x69\x6E\x46\x6F\x72\x43\x65\x6C\x6C","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x43\x65\x6C\x6C\x47\x65\x6F\x6D\x65\x74\x72\x79","\x69\x6D\x61\x67\x65\x73","\x61\x6C\x74","\x70\x75\x74\x49\x6D\x61\x67\x65","\x67\x65\x74\x49\x6D\x61\x67\x65","\x66\x61\x6C\x6C\x62\x61\x63\x6B","\x69\x6E\x63\x6C\x75\x64\x65\x4F\x76\x65\x72\x6C\x61\x79\x73","\x64\x72\x61\x77\x53\x74\x61\x74\x65","\x64\x72\x61\x77\x43\x65\x6C\x6C\x53\x74\x61\x74\x65","\x76\x69\x73\x69\x74\x53\x74\x61\x74\x65\x73\x52\x65\x63\x75\x72\x73\x69\x76\x65","\x64\x72\x61\x77\x4F\x76\x65\x72\x6C\x61\x79\x73","\x70\x61\x69\x6E\x74","\x72\x65\x73\x74\x6F\x72\x65","\x6F\x76\x65\x72\x6C\x61\x79\x73","\x63\x6F\x6E\x76\x65\x72\x74\x65\x72","\x63\x72\x65\x61\x74\x65\x55\x72\x6C\x43\x6F\x6E\x76\x65\x72\x74\x65\x72","\x73\x74\x61\x74\x65\x73","\x70\x61\x74\x68","\x72\x6F\x74\x61\x74\x65\x48\x74\x6D\x6C","\x6C\x61\x73\x74\x58","\x6C\x61\x73\x74\x59","\x6D\x6F\x76\x65\x4F\x70","\x4D","\x6C\x69\x6E\x65\x4F\x70","\x4C","\x71\x75\x61\x64\x4F\x70","\x51","\x63\x75\x72\x76\x65\x4F\x70","\x43","\x63\x6C\x6F\x73\x65\x4F\x70","\x5A","\x70\x6F\x69\x6E\x74\x65\x72\x45\x76\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65\x53\x74\x61\x74\x65","\x33\x20\x33","\x66\x6C\x61\x74","\x6D\x69\x74\x65\x72","\x23\x30\x30\x30\x30\x30\x30","\x53\x48\x41\x44\x4F\x57\x43\x4F\x4C\x4F\x52","\x53\x48\x41\x44\x4F\x57\x5F\x4F\x50\x41\x43\x49\x54\x59","\x53\x48\x41\x44\x4F\x57\x5F\x4F\x46\x46\x53\x45\x54\x5F\x58","\x53\x48\x41\x44\x4F\x57\x5F\x4F\x46\x46\x53\x45\x54\x5F\x59","\x66\x6F\x72\x6D\x61\x74","\x61\x64\x64\x4F\x70","\x72\x6F\x74\x61\x74\x65\x50\x6F\x69\x6E\x74","\x70\x6F\x70","\x73\x65\x74\x41\x6C\x70\x68\x61","\x61\x6C\x70\x68\x61","\x73\x65\x74\x46\x69\x6C\x6C\x43\x6F\x6C\x6F\x72","\x73\x65\x74\x47\x72\x61\x64\x69\x65\x6E\x74","\x66\x69\x6C\x6C\x41\x6C\x70\x68\x61","\x67\x72\x61\x64\x69\x65\x6E\x74\x41\x6C\x70\x68\x61","\x73\x65\x74\x53\x74\x72\x6F\x6B\x65\x43\x6F\x6C\x6F\x72","\x73\x65\x74\x53\x74\x72\x6F\x6B\x65\x57\x69\x64\x74\x68","\x73\x65\x74\x44\x61\x73\x68\x65\x64","\x73\x65\x74\x44\x61\x73\x68\x50\x61\x74\x74\x65\x72\x6E","\x73\x65\x74\x4C\x69\x6E\x65\x43\x61\x70","\x6C\x69\x6E\x65\x43\x61\x70","\x73\x65\x74\x4C\x69\x6E\x65\x4A\x6F\x69\x6E","\x6C\x69\x6E\x65\x4A\x6F\x69\x6E","\x73\x65\x74\x4D\x69\x74\x65\x72\x4C\x69\x6D\x69\x74","\x6D\x69\x74\x65\x72\x4C\x69\x6D\x69\x74","\x73\x65\x74\x46\x6F\x6E\x74\x43\x6F\x6C\x6F\x72","\x73\x65\x74\x46\x6F\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x66\x6F\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x73\x65\x74\x46\x6F\x6E\x74\x42\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72","\x66\x6F\x6E\x74\x42\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72","\x73\x65\x74\x46\x6F\x6E\x74\x53\x69\x7A\x65","\x73\x65\x74\x46\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x73\x65\x74\x46\x6F\x6E\x74\x53\x74\x79\x6C\x65","\x73\x65\x74\x53\x68\x61\x64\x6F\x77","\x73\x65\x74\x53\x68\x61\x64\x6F\x77\x43\x6F\x6C\x6F\x72","\x73\x68\x61\x64\x6F\x77\x43\x6F\x6C\x6F\x72","\x73\x65\x74\x53\x68\x61\x64\x6F\x77\x41\x6C\x70\x68\x61","\x73\x68\x61\x64\x6F\x77\x41\x6C\x70\x68\x61","\x73\x65\x74\x53\x68\x61\x64\x6F\x77\x4F\x66\x66\x73\x65\x74","\x73\x68\x61\x64\x6F\x77\x44\x78","\x73\x68\x61\x64\x6F\x77\x44\x79","\x62\x65\x67\x69\x6E","\x6D\x6F\x76\x65\x54\x6F","\x6C\x69\x6E\x65\x54\x6F","\x71\x75\x61\x64\x54\x6F","\x63\x75\x72\x76\x65\x54\x6F","\x61\x72\x63\x54\x6F","\x61\x72\x63\x54\x6F\x43\x75\x72\x76\x65\x73","\x65\x6E\x64","\x77\x72\x69\x74\x65\x44\x65\x66\x61\x75\x6C\x74\x73","\x65\x78\x74\x65\x6E\x64","\x74\x65\x78\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x6F\x6D\x70\x72\x65\x73\x73\x65\x64","\x66\x6F\x6E\x74\x66\x61\x6D\x69\x6C\x79","\x66\x61\x6D\x69\x6C\x79","\x66\x6F\x6E\x74\x73\x69\x7A\x65","\x73\x68\x61\x64\x6F\x77\x63\x6F\x6C\x6F\x72","\x73\x68\x61\x64\x6F\x77\x61\x6C\x70\x68\x61","\x73\x68\x61\x64\x6F\x77\x6F\x66\x66\x73\x65\x74","\x74\x6F\x46\x69\x78\x65\x64","\x72\x6F\x74\x61\x74\x65","\x74\x68\x65\x74\x61","\x63\x78","\x63\x79","\x66\x69\x6C\x6C\x63\x6F\x6C\x6F\x72","\x67\x72\x61\x64\x69\x65\x6E\x74","\x63\x31","\x63\x32","\x77","\x68","\x61\x6C\x70\x68\x61\x31","\x61\x6C\x70\x68\x61\x32","\x73\x74\x72\x6F\x6B\x65\x63\x6F\x6C\x6F\x72","\x73\x74\x72\x6F\x6B\x65\x77\x69\x64\x74\x68","\x64\x61\x73\x68\x70\x61\x74\x74\x65\x72\x6E","\x70\x61\x74\x74\x65\x72\x6E","\x6C\x69\x6E\x65\x63\x61\x70","\x63\x61\x70","\x6C\x69\x6E\x65\x6A\x6F\x69\x6E","\x6D\x69\x74\x65\x72\x6C\x69\x6D\x69\x74","\x6C\x69\x6D\x69\x74","\x66\x6F\x6E\x74\x63\x6F\x6C\x6F\x72","\x66\x6F\x6E\x74\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x63\x6F\x6C\x6F\x72","\x66\x6F\x6E\x74\x62\x6F\x72\x64\x65\x72\x63\x6F\x6C\x6F\x72","\x66\x6F\x6E\x74\x73\x74\x79\x6C\x65","\x72\x65\x63\x74","\x72\x6F\x75\x6E\x64\x72\x65\x63\x74","\x63\x6F\x6E\x76\x65\x72\x74","\x61\x73\x70\x65\x63\x74","\x71\x75\x61\x64","\x78\x31","\x79\x31","\x78\x32","\x79\x32","\x63\x75\x72\x76\x65","\x78\x33","\x79\x33","\x69\x73\x4E\x6F\x64\x65","\x73\x74\x72","\x77\x72\x61\x70","\x66\x69\x6C\x6C","\x63\x6C\x69\x70","\x73\x74\x72\x6F\x6B\x65","\x66\x69\x6C\x6C\x41\x6E\x64\x53\x74\x72\x6F\x6B\x65","\x66\x69\x6C\x6C\x73\x74\x72\x6F\x6B\x65","\x67\x72\x61\x64\x69\x65\x6E\x74\x73","\x64\x65\x66\x73","\x73\x74\x79\x6C\x65\x45\x6E\x61\x62\x6C\x65\x64","\x63\x72\x65\x61\x74\x65\x53\x74\x79\x6C\x65","\x6D\x61\x74\x63\x68\x48\x74\x6D\x6C\x41\x6C\x69\x67\x6E\x6D\x65\x6E\x74","\x66\x6F\x45\x6E\x61\x62\x6C\x65\x64","\x73\x74\x72\x6F\x6B\x65\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x72\x65\x66\x43\x6F\x75\x6E\x74","\x62\x6C\x6F\x63\x6B\x49\x6D\x61\x67\x65\x50\x6F\x69\x6E\x74\x65\x72\x45\x76\x65\x6E\x74\x73","\x73\x76\x67\x7B\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A","\x3B\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A","\x3B\x66\x69\x6C\x6C\x3A\x6E\x6F\x6E\x65\x3B\x73\x74\x72\x6F\x6B\x65\x2D\x6D\x69\x74\x65\x72\x6C\x69\x6D\x69\x74\x3A\x31\x30\x7D","\x4E\x53\x5F\x53\x56\x47","\x78\x6D\x6C\x6E\x73","\x63\x72\x65\x61\x74\x65\x47\x72\x61\x64\x69\x65\x6E\x74\x49\x64","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x53\x4F\x55\x54\x48","\x73","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x45\x41\x53\x54","\x65","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4E\x4F\x52\x54\x48","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x57\x45\x53\x54","\x6D\x78\x2D\x67\x72\x61\x64\x69\x65\x6E\x74\x2D","\x67\x65\x74\x53\x76\x67\x47\x72\x61\x64\x69\x65\x6E\x74","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x69\x64","\x63\x72\x65\x61\x74\x65\x53\x76\x67\x47\x72\x61\x64\x69\x65\x6E\x74","\x6C\x69\x6E\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6E\x74","\x30\x25","\x3B\x73\x74\x6F\x70\x2D\x6F\x70\x61\x63\x69\x74\x79\x3A","\x6F\x66\x66\x73\x65\x74","\x73\x74\x6F\x70\x2D\x63\x6F\x6C\x6F\x72\x3A","\x61\x64\x64\x4E\x6F\x64\x65","\x64","\x75\x70\x64\x61\x74\x65\x46\x69\x6C\x6C","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74","\x75\x70\x64\x61\x74\x65\x53\x74\x72\x6F\x6B\x65","\x63\x72\x65\x61\x74\x65\x53\x68\x61\x64\x6F\x77","\x63\x72\x65\x61\x74\x65\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x70\x6F\x69\x6E\x74\x65\x72\x2D\x65\x76\x65\x6E\x74\x73","\x61\x6C\x6C","\x66\x69\x6C\x6C\x2D\x6F\x70\x61\x63\x69\x74\x79","\x75\x72\x6C\x28\x23","\x73\x74\x72\x6F\x6B\x65\x2D\x6F\x70\x61\x63\x69\x74\x79","\x73\x74\x72\x6F\x6B\x65\x2D\x77\x69\x64\x74\x68","\x75\x70\x64\x61\x74\x65\x53\x74\x72\x6F\x6B\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x73\x74\x72\x6F\x6B\x65\x2D\x64\x61\x73\x68\x61\x72\x72\x61\x79","\x63\x72\x65\x61\x74\x65\x44\x61\x73\x68\x50\x61\x74\x74\x65\x72\x6E","\x73\x74\x72\x6F\x6B\x65\x2D\x6C\x69\x6E\x65\x6A\x6F\x69\x6E","\x62\x75\x74\x74","\x73\x74\x72\x6F\x6B\x65\x2D\x6C\x69\x6E\x65\x63\x61\x70","\x73\x74\x72\x6F\x6B\x65\x2D\x6D\x69\x74\x65\x72\x6C\x69\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x77\x68\x69\x74\x65","\x29\x73\x63\x61\x6C\x65\x28","\x29\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x28","\x72\x6F\x74\x61\x74\x65\x28","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x43\x78","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x43\x79","\x72\x78","\x72\x79","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4E\x53","\x78\x6C\x69\x6E\x6B\x3A\x68\x72\x65\x66","\x70\x72\x65\x73\x65\x72\x76\x65\x41\x73\x70\x65\x63\x74\x52\x61\x74\x69\x6F","\x73\x63\x61\x6C\x65\x28","\x70\x6F\x69\x6E\x74\x65\x72\x2D\x65\x76\x65\x6E\x74\x73\x3A\x6E\x6F\x6E\x65","\x63\x72\x65\x61\x74\x65\x44\x69\x76","\x64\x69\x73\x70\x6C\x61\x79\x3A\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A","\x70\x78\x3B\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A","\x3B\x63\x6F\x6C\x6F\x72\x3A","\x3B\x6C\x69\x6E\x65\x2D\x68\x65\x69\x67\x68\x74\x3A","\x70\x78\x3B","\x46\x4F\x4E\x54\x5F\x42\x4F\x4C\x44","\x66\x6F\x6E\x74\x2D\x77\x65\x69\x67\x68\x74\x3A\x62\x6F\x6C\x64\x3B","\x46\x4F\x4E\x54\x5F\x49\x54\x41\x4C\x49\x43","\x66\x6F\x6E\x74\x2D\x73\x74\x79\x6C\x65\x3A\x69\x74\x61\x6C\x69\x63\x3B","\x46\x4F\x4E\x54\x5F\x55\x4E\x44\x45\x52\x4C\x49\x4E\x45","\x66\x6F\x6E\x74\x2D\x64\x65\x63\x6F\x72\x61\x74\x69\x6F\x6E\x3A\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65\x3B","\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A\x63\x65\x6E\x74\x65\x72\x3B","\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A\x72\x69\x67\x68\x74\x3B","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A","\x62\x6F\x72\x64\x65\x72\x3A\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20","\x26\x61\x6D\x70\x3B\x67\x74\x3B","\x26\x61\x6D\x70\x3B\x6C\x74\x3B","\x3C\x64\x69\x76\x20\x78\x6D\x6C\x6E\x73\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x77\x33\x2E\x6F\x72\x67\x2F\x31\x39\x39\x39\x2F\x78\x68\x74\x6D\x6C\x22\x20\x73\x74\x79\x6C\x65\x3D\x22\x64\x69\x73\x70\x6C\x61\x79\x3A\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B","\x22\x3E","\x3C\x2F\x64\x69\x76\x3E","\x3C\x68\x72\x20\x2F\x3E","\x3C\x62\x72\x20\x2F\x3E","\x3C\x64\x69\x76\x20\x78\x6D\x6C\x6E\x73\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x77\x33\x2E\x6F\x72\x67\x2F\x31\x39\x39\x39\x2F\x78\x68\x74\x6D\x6C\x22\x20\x73\x74\x79\x6C\x65\x3D\x22","\x68\x74\x6D\x6C","\x76\x65\x72\x74\x69\x63\x61\x6C\x2D\x61\x6C\x69\x67\x6E\x3A\x74\x6F\x70\x3B","\x6F\x76\x65\x72\x66\x6C\x6F\x77\x3A\x68\x69\x64\x64\x65\x6E\x3B","\x6D\x61\x78\x2D\x68\x65\x69\x67\x68\x74\x3A","\x77\x69\x64\x74\x68\x3A","\x77\x68\x69\x74\x65\x2D\x73\x70\x61\x63\x65\x3A\x6E\x6F\x72\x6D\x61\x6C\x3B","\x77\x68\x69\x74\x65\x2D\x73\x70\x61\x63\x65\x3A\x6E\x6F\x77\x72\x61\x70\x3B","\x66\x6F\x72\x65\x69\x67\x6E\x4F\x62\x6A\x65\x63\x74","\x70\x6C\x61\x69\x6E\x54\x65\x78\x74","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x70","\x6D\x78\x2D\x63\x6C\x69\x70\x2D","\x63\x6C\x69\x70\x50\x61\x74\x68","\x63\x6C\x69\x70\x2D\x70\x61\x74\x68","\x75\x70\x64\x61\x74\x65\x46\x6F\x6E\x74","\x74\x65\x78\x74\x2D\x61\x6E\x63\x68\x6F\x72","\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65","\x61\x64\x64\x54\x65\x78\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79","\x66\x6F\x6E\x74\x2D\x77\x65\x69\x67\x68\x74","\x62\x6F\x6C\x64","\x66\x6F\x6E\x74\x2D\x73\x74\x79\x6C\x65","\x69\x74\x61\x6C\x69\x63","\x74\x65\x78\x74\x2D\x64\x65\x63\x6F\x72\x61\x74\x69\x6F\x6E","\x67\x65\x74\x42\x42\x6F\x78","\x66\x6F\x6E\x74\x57\x65\x69\x67\x68\x74","\x3C\x62\x72\x2F\x3E","\x6D\x6F\x64","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x28\x30\x2E\x35\x2C\x20\x30\x2E\x35\x29","\x6D","\x6C","\x63","\x72\x6F\x74\x61\x74\x65\x64\x48\x74\x6D\x6C\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x76\x6D\x6C\x53\x63\x61\x6C\x65","\x20\x65","\x63\x6F\x6F\x72\x64\x73\x69\x7A\x65","\x73\x74\x72\x6F\x6B\x65\x77\x65\x69\x67\x68\x74","\x73\x74\x72\x6F\x6B\x65\x64","\x63\x72\x65\x61\x74\x65\x53\x74\x72\x6F\x6B\x65","\x63\x72\x65\x61\x74\x65\x46\x69\x6C\x6C","\x63\x72\x65\x61\x74\x65\x54\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x46\x69\x6C\x6C","\x66\x69\x6C\x6C\x65\x64","\x3A\x66\x69\x6C\x6C","\x2F\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x2E\x67\x69\x66","\x74\x69\x6C\x65","\x63\x6F\x6C\x6F\x72\x32","\x66\x6C\x69\x70","\x61\x6E\x67\x6C\x65","\x4F\x46\x46\x49\x43\x45\x5F\x50\x52\x45\x46\x49\x58","\x3A\x6F\x70\x61\x63\x69\x74\x79\x32","\x3A\x73\x74\x72\x6F\x6B\x65","\x65\x6E\x64\x63\x61\x70","\x6A\x6F\x69\x6E\x73\x74\x79\x6C\x65","\x31\x30","\x64\x61\x73\x68\x73\x74\x79\x6C\x65","\x67\x65\x74\x56\x6D\x6C\x44\x61\x73\x68\x53\x74\x79\x6C\x65","\x64\x61\x73\x68","\x30\x20\x32","\x63\x72\x65\x61\x74\x65\x53\x68\x61\x64\x6F\x77\x53\x74\x72\x6F\x6B\x65","\x63\x72\x65\x61\x74\x65\x53\x68\x61\x64\x6F\x77\x46\x69\x6C\x6C","\x3A\x73\x68\x61\x70\x65","\x63\x20","\x63\x72\x65\x61\x74\x65\x52\x65\x63\x74","\x3A\x72\x65\x63\x74","\x3A\x72\x6F\x75\x6E\x64\x72\x65\x63\x74","\x61\x72\x63\x73\x69\x7A\x65","\x3A\x6F\x76\x61\x6C","\x61\x74\x6D\x6F\x73\x74","\x69\x67\x6E\x6F\x72\x65","\x66\x72\x61\x6D\x65","\x31\x38\x30","\x66\x6F\x6E\x74\x44\x65\x63\x6F\x72\x61\x74\x69\x6F\x6E","\x3A\x67\x72\x6F\x75\x70","\x72\x65\x6C\x61\x74\x69\x76\x65","\x67\x65\x74\x41\x6C\x69\x67\x6E\x6D\x65\x6E\x74\x41\x73\x50\x6F\x69\x6E\x74","\x6E\x6F\x72\x6D\x61\x6C","\x6D\x61\x78\x48\x65\x69\x67\x68\x74","\x67\x72\x6F\x75\x70","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x4D\x61\x74\x72\x69\x78\x28\x4D\x31\x31\x3D","\x2C\x20\x4D\x31\x32\x3D","\x2C\x20\x4D\x32\x31\x3D","\x2C\x20\x4D\x32\x32\x3D","\x2C\x20\x73\x69\x7A\x69\x6E\x67\x4D\x65\x74\x68\x6F\x64\x3D\x27\x61\x75\x74\x6F\x20\x65\x78\x70\x61\x6E\x64\x27\x29","\x3A\x70\x61\x74\x68","\x74\x65\x78\x74\x70\x61\x74\x68\x6F\x6B","\x6D\x20","\x20\x6C\x20","\x3A\x74\x65\x78\x74\x70\x61\x74\x68","\x76\x2D\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A","\x73\x74\x72\x69\x6E\x67","\x73\x65\x74\x53\x74\x61\x74\x65\x73","\x67\x75\x69\x64\x65\x58","\x67\x75\x69\x64\x65\x59","\x67\x65\x74\x47\x75\x69\x64\x65\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x63\x72\x65\x61\x74\x65\x47\x75\x69\x64\x65\x53\x68\x61\x70\x65","\x69\x73\x44\x61\x73\x68\x65\x64","\x44\x49\x41\x4C\x45\x43\x54\x5F\x56\x4D\x4C","\x67\x65\x74\x4F\x76\x65\x72\x6C\x61\x79\x50\x61\x6E\x65","\x70\x6F\x69\x6E\x74\x73","\x73\x63\x72\x6F\x6C\x6C\x57\x69\x64\x74\x68","\x64\x65\x73\x63","\x70\x61\x72\x73\x65\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x61\x72\x73\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x64\x65\x66\x61\x75\x6C\x74\x4C\x6F\x63\x61\x6C\x69\x7A\x65\x64","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x77\x30","\x68\x30","\x62\x67\x4E\x6F\x64\x65","\x66\x67\x4E\x6F\x64\x65","\x66\x6F\x72\x65\x67\x72\x6F\x75\x6E\x64","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x76\x61\x72\x69\x61\x62\x6C\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73","\x67\x65\x74\x43\x68\x69\x6C\x64\x4E\x6F\x64\x65\x73","\x70\x61\x72\x73\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x65\x76\x61\x6C\x75\x61\x74\x65\x54\x65\x78\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x65\x76\x61\x6C\x75\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x6C\x6F\x63\x61\x6C\x69\x7A\x65\x64","\x65\x76\x61\x6C","\x64\x72\x61\x77\x53\x68\x61\x70\x65","\x64\x72\x61\x77\x43\x68\x69\x6C\x64\x72\x65\x6E","\x63\x6F\x6D\x70\x75\x74\x65\x41\x73\x70\x65\x63\x74","\x69\x6E\x68\x65\x72\x69\x74","\x67\x65\x74\x4E\x75\x6D\x62\x65\x72","\x64\x72\x61\x77\x4E\x6F\x64\x65","\x66\x69\x78\x65\x64","\x61\x72\x63","\x78\x2D\x61\x78\x69\x73\x2D\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x6C\x61\x72\x67\x65\x2D\x61\x72\x63\x2D\x66\x6C\x61\x67","\x73\x77\x65\x65\x70\x2D\x66\x6C\x61\x67","\x52\x45\x43\x54\x41\x4E\x47\x4C\x45\x5F\x52\x4F\x55\x4E\x44\x49\x4E\x47\x5F\x46\x41\x43\x54\x4F\x52","\x61\x6C\x69\x67\x6E\x2D\x73\x68\x61\x70\x65","\x69\x6E\x63\x6C\x75\x64\x65\x2D\x73\x68\x61\x70\x65","\x67\x65\x74\x53\x74\x65\x6E\x63\x69\x6C","\x73\x74\x65\x6E\x63\x69\x6C","\x62\x6F\x75\x6E\x64\x73","\x62\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78","\x73\x76\x67\x53\x74\x72\x6F\x6B\x65\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x73\x74\x65\x6E\x63\x69\x6C\x50\x6F\x69\x6E\x74\x65\x72\x45\x76\x65\x6E\x74\x73","\x69\x73\x50\x61\x72\x73\x65\x56\x6D\x6C","\x69\x73\x48\x74\x6D\x6C\x41\x6C\x6C\x6F\x77\x65\x64","\x67\x65\x74\x53\x76\x67\x53\x63\x72\x65\x65\x6E\x4F\x66\x66\x73\x65\x74","\x63\x72\x65\x61\x74\x65\x53\x76\x67","\x63\x72\x65\x61\x74\x65\x48\x74\x6D\x6C","\x63\x72\x65\x61\x74\x65\x56\x6D\x6C","\x72\x65\x63\x6F\x6E\x66\x69\x67\x75\x72\x65","\x75\x70\x64\x61\x74\x65\x42\x6F\x75\x6E\x64\x73\x46\x72\x6F\x6D\x50\x6F\x69\x6E\x74\x73","\x63\x68\x65\x63\x6B\x42\x6F\x75\x6E\x64\x73","\x72\x65\x64\x72\x61\x77\x48\x74\x6D\x6C\x53\x68\x61\x70\x65","\x72\x65\x64\x72\x61\x77\x53\x68\x61\x70\x65","\x75\x70\x64\x61\x74\x65\x42\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78","\x63\x72\x65\x61\x74\x65\x56\x6D\x6C\x47\x72\x6F\x75\x70","\x63\x72\x65\x61\x74\x65\x43\x61\x6E\x76\x61\x73","\x68\x61\x73\x43\x68\x69\x6C\x64\x4E\x6F\x64\x65\x73","\x6C\x61\x73\x74\x43\x68\x69\x6C\x64","\x62\x65\x66\x6F\x72\x65\x65\x6E\x64","\x69\x6E\x73\x65\x72\x74\x41\x64\x6A\x61\x63\x65\x6E\x74\x48\x54\x4D\x4C","\x61\x64\x64\x54\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x46\x69\x6C\x74\x65\x72","\x64\x65\x73\x74\x72\x6F\x79\x43\x61\x6E\x76\x61\x73","\x75\x70\x64\x61\x74\x65\x56\x6D\x6C\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6D\x78\x52\x65\x66\x43\x6F\x75\x6E\x74","\x6F\x6C\x64\x47\x72\x61\x64\x69\x65\x6E\x74\x73","\x72\x65\x6C\x65\x61\x73\x65\x53\x76\x67\x47\x72\x61\x64\x69\x65\x6E\x74\x73","\x69\x73\x50\x61\x69\x6E\x74\x42\x6F\x75\x6E\x64\x73\x49\x6E\x76\x65\x72\x74\x65\x64","\x75\x70\x64\x61\x74\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x43\x61\x6E\x76\x61\x73","\x70\x61\x69\x6E\x74\x53\x74\x65\x6E\x63\x69\x6C\x53\x68\x61\x70\x65","\x70\x61\x69\x6E\x74\x45\x64\x67\x65\x53\x68\x61\x70\x65","\x70\x61\x69\x6E\x74\x56\x65\x72\x74\x65\x78\x53\x68\x61\x70\x65","\x69\x73\x53\x68\x61\x64\x6F\x77","\x67\x65\x74\x47\x72\x61\x64\x69\x65\x6E\x74\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x53\x68\x61\x70\x65\x52\x6F\x74\x61\x74\x69\x6F\x6E","\x61\x64\x64\x54\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x63\x74\x61\x6E\x67\x6C\x65","\x73\x65\x74\x54\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x70\x61\x69\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x70\x61\x69\x6E\x74\x46\x6F\x72\x65\x67\x72\x6F\x75\x6E\x64","\x67\x65\x74\x41\x72\x63\x53\x69\x7A\x65","\x70\x61\x69\x6E\x74\x47\x6C\x61\x73\x73\x45\x66\x66\x65\x63\x74","\x23\x66\x66\x66\x66\x66\x66","\x69\x73\x52\x6F\x75\x6E\x64\x65\x64","\x73\x74\x65\x6E\x63\x69\x6C\x46\x6C\x69\x70\x48","\x73\x74\x65\x6E\x63\x69\x6C\x46\x6C\x69\x70\x56","\x73\x65\x74\x43\x75\x72\x73\x6F\x72","\x67\x65\x74\x43\x75\x72\x73\x6F\x72","\x63\x72\x65\x61\x74\x65\x42\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78","\x61\x75\x67\x6D\x65\x6E\x74\x42\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78","\x67\x65\x74\x42\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78","\x67\x65\x74\x52\x6F\x74\x61\x74\x69\x6F\x6E","\x67\x65\x74\x54\x65\x78\x74\x52\x6F\x74\x61\x74\x69\x6F\x6E","\x76\x65\x72\x74\x69\x63\x61\x6C\x54\x65\x78\x74\x52\x6F\x74\x61\x74\x69\x6F\x6E","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28\x27","\x2F\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x2E\x67\x69\x66\x27\x29","\x73\x74\x65\x6E\x63\x69\x6C\x73","\x6D\x61\x72\x6B\x65\x72\x73","\x41\x52\x52\x4F\x57\x5F\x43\x4C\x41\x53\x53\x49\x43","\x41\x52\x52\x4F\x57\x5F\x44\x49\x41\x4D\x4F\x4E\x44","\x61\x64\x64\x4D\x61\x72\x6B\x65\x72","\x72\x65\x64\x72\x61\x77\x50\x61\x74\x68","\x75\x70\x64\x61\x74\x65\x48\x74\x6D\x6C\x42\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x48\x74\x6D\x6C\x46\x69\x6C\x74\x65\x72\x73","\x75\x70\x64\x61\x74\x65\x48\x74\x6D\x6C\x43\x6F\x6C\x6F\x72\x73","\x62\x6F\x72\x64\x65\x72\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72","\x73\x6F\x6C\x69\x64","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x64\x72\x6F\x70\x53\x68\x61\x64\x6F\x77\x20\x28\x4F\x66\x66\x58\x3D\x27","\x27\x2C\x20\x4F\x66\x66\x59\x3D\x27","\x27\x2C\x20\x43\x6F\x6C\x6F\x72\x3D\x27","\x27\x29","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x67\x72\x61\x64\x69\x65\x6E\x74\x28\x73\x74\x61\x72\x74\x43\x6F\x6C\x6F\x72\x53\x74\x72\x3D\x27","\x27\x2C\x20\x65\x6E\x64\x43\x6F\x6C\x6F\x72\x53\x74\x72\x3D\x27","\x27\x2C\x20\x67\x72\x61\x64\x69\x65\x6E\x74\x54\x79\x70\x65\x3D\x27","\x70\x61\x69\x6E\x74\x4C\x69\x6E\x65","\x61\x72\x72\x6F\x77\x57\x69\x64\x74\x68","\x41\x52\x52\x4F\x57\x5F\x57\x49\x44\x54\x48","\x41\x52\x52\x4F\x57\x5F\x53\x50\x41\x43\x49\x4E\x47","\x41\x52\x52\x4F\x57\x5F\x53\x49\x5A\x45","\x44\x45\x46\x41\x55\x4C\x54\x5F\x46\x4F\x4E\x54\x53\x54\x59\x4C\x45","\x63\x6C\x69\x70\x70\x65\x64","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x54\x6F\x70","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x42\x6F\x74\x74\x6F\x6D","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x4C\x65\x66\x74","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x52\x69\x67\x68\x74","\x72\x65\x70\x6C\x61\x63\x65\x4C\x69\x6E\x65\x66\x65\x65\x64\x73","\x69\x67\x6E\x6F\x72\x65\x43\x6C\x69\x70\x70\x65\x64\x53\x74\x72\x69\x6E\x67\x53\x69\x7A\x65","\x69\x67\x6E\x6F\x72\x65\x53\x74\x72\x69\x6E\x67\x53\x69\x7A\x65","\x74\x65\x78\x74\x44\x69\x76","\x75\x70\x64\x61\x74\x65\x53\x69\x7A\x65","\x6D\x61\x72\x67\x69\x6E","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x54\x52\x49\x43\x54\x48\x54\x4D\x4C","\x75\x70\x64\x61\x74\x65\x56\x61\x6C\x75\x65","\x75\x70\x64\x61\x74\x65\x48\x74\x6D\x6C\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x75\x70\x64\x61\x74\x65\x48\x74\x6D\x6C\x46\x69\x6C\x74\x65\x72","\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x4F\x72\x69\x67\x69\x6E","\x25\x20","\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x25\x2C","\x25\x29\x73\x63\x61\x6C\x65\x28","\x29\x20\x72\x6F\x74\x61\x74\x65\x28","\x64\x65\x67\x29","\x30\x25\x20\x30\x25","\x25\x29","\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20","\x3C\x64\x69\x76\x20\x73\x74\x79\x6C\x65\x3D\x22\x7A\x6F\x6F\x6D\x3A\x31\x3B","\x64\x69\x73\x70\x6C\x61\x79\x3A\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B\x5F\x64\x69\x73\x70\x6C\x61\x79\x3A\x69\x6E\x6C\x69\x6E\x65\x3B\x70\x61\x64\x64\x69\x6E\x67\x2D\x62\x6F\x74\x74\x6F\x6D\x3A\x31\x70\x78\x3B\x70\x61\x64\x64\x69\x6E\x67\x2D\x72\x69\x67\x68\x74\x3A\x31\x70\x78\x3B\x6C\x69\x6E\x65\x2D\x68\x65\x69\x67\x68\x74\x3A","\x75\x70\x64\x61\x74\x65\x4D\x61\x72\x67\x69\x6E","\x67\x65\x74\x53\x70\x61\x63\x69\x6E\x67","\x70\x72\x65\x73\x65\x72\x76\x65\x49\x6D\x61\x67\x65\x41\x73\x70\x65\x63\x74","\x69\x6D\x61\x67\x65\x46\x6C\x69\x70\x48","\x69\x6D\x61\x67\x65\x46\x6C\x69\x70\x56","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x42\x61\x73\x69\x63\x49\x6D\x61\x67\x65\x28\x72\x6F\x74\x61\x74\x69\x6F\x6E\x3D\x32\x29","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x42\x61\x73\x69\x63\x49\x6D\x61\x67\x65\x28\x6D\x69\x72\x72\x6F\x72\x3D\x31\x29","\x70\x72\x6F\x67\x69\x64\x3A\x44\x58\x49\x6D\x61\x67\x65\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x2E\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x42\x61\x73\x69\x63\x49\x6D\x61\x67\x65\x28\x72\x6F\x74\x61\x74\x69\x6F\x6E\x3D\x32\x2C\x20\x6D\x69\x72\x72\x6F\x72\x3D\x31\x29","\x69\x6D\x61\x67\x65\x53\x69\x7A\x65","\x44\x45\x46\x41\x55\x4C\x54\x5F\x49\x4D\x41\x47\x45\x53\x49\x5A\x45","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72\x53\x69\x7A\x65","\x69\x6E\x64\x69\x63\x61\x74\x6F\x72","\x70\x61\x69\x6E\x74\x49\x6D\x61\x67\x65","\x70\x61\x69\x6E\x74\x49\x6E\x64\x69\x63\x61\x74\x6F\x72","\x67\x65\x74\x49\x6D\x61\x67\x65\x42\x6F\x75\x6E\x64\x73","\x41\x4C\x49\x47\x4E\x5F\x54\x4F\x50","\x67\x65\x74\x49\x6E\x64\x69\x63\x61\x74\x6F\x72\x42\x6F\x75\x6E\x64\x73","\x63\x72\x65\x61\x74\x65\x4D\x61\x72\x6B\x65\x72","\x53\x54\x59\x4C\x45\x5F\x43\x55\x52\x56\x45\x44","\x70\x61\x69\x6E\x74\x43\x75\x72\x76\x65\x64\x4C\x69\x6E\x65","\x53\x54\x59\x4C\x45\x5F\x53\x54\x41\x52\x54\x53\x49\x5A\x45","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x44\x53\x49\x5A\x45","\x53\x54\x59\x4C\x45\x5F\x53\x54\x41\x52\x54\x41\x52\x52\x4F\x57","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x44\x41\x52\x52\x4F\x57","\x53\x54\x59\x4C\x45\x5F\x53\x54\x41\x52\x54\x46\x49\x4C\x4C","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x44\x46\x49\x4C\x4C","\x70\x61\x69\x6E\x74\x52\x6F\x75\x6E\x64\x65\x64\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x70\x61\x69\x6E\x74\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x70\x61\x69\x6E\x74\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x75\x73\x65\x42\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78","\x6D\x6F\x76\x65\x43\x65\x6C\x6C","\x67\x65\x74\x47\x72\x61\x70\x68","\x67\x65\x74\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x67\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x74\x72\x61\x76\x65\x72\x73\x65","\x67\x65\x74\x45\x64\x67\x65\x43\x6F\x75\x6E\x74","\x67\x65\x74\x45\x64\x67\x65\x41\x74","\x67\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x67\x65\x74\x56\x69\x73\x69\x62\x6C\x65\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x69\x73\x56\x65\x72\x74\x65\x78\x4D\x6F\x76\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x4D\x6F\x76\x61\x62\x6C\x65","\x69\x73\x56\x65\x72\x74\x65\x78\x49\x67\x6E\x6F\x72\x65\x64","\x69\x73\x43\x65\x6C\x6C\x56\x69\x73\x69\x62\x6C\x65","\x69\x73\x45\x64\x67\x65\x49\x67\x6E\x6F\x72\x65\x64","\x73\x65\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x73\x65\x74\x4F\x72\x74\x68\x6F\x67\x6F\x6E\x61\x6C\x45\x64\x67\x65","\x67\x65\x74\x50\x61\x72\x65\x6E\x74\x4F\x66\x66\x73\x65\x74","\x69\x73\x41\x6E\x63\x65\x73\x74\x6F\x72","\x67\x65\x74\x47\x65\x6F\x6D\x65\x74\x72\x79","\x73\x65\x74\x45\x64\x67\x65\x50\x6F\x69\x6E\x74\x73","\x73\x65\x74\x52\x65\x6C\x61\x74\x69\x76\x65","\x73\x65\x74\x47\x65\x6F\x6D\x65\x74\x72\x79","\x73\x65\x74\x56\x65\x72\x74\x65\x78\x4C\x6F\x63\x61\x74\x69\x6F\x6E","\x67\x65\x74\x56\x65\x72\x74\x65\x78\x42\x6F\x75\x6E\x64\x73","\x61\x72\x72\x61\x6E\x67\x65\x47\x72\x6F\x75\x70\x73","\x67\x65\x74\x43\x68\x69\x6C\x64\x56\x65\x72\x74\x69\x63\x65\x73","\x67\x65\x74\x42\x6F\x75\x6E\x64\x69\x6E\x67\x42\x6F\x78\x46\x72\x6F\x6D\x47\x65\x6F\x6D\x65\x74\x72\x79","\x69\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x67\x65\x74\x53\x74\x61\x72\x74\x53\x69\x7A\x65","\x78\x30","\x79\x30","\x6B\x65\x65\x70\x46\x69\x72\x73\x74\x4C\x6F\x63\x61\x74\x69\x6F\x6E","\x72\x65\x73\x69\x7A\x65\x50\x61\x72\x65\x6E\x74","\x72\x65\x73\x69\x7A\x65\x4C\x61\x73\x74","\x69\x73\x48\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x67\x65\x74\x49\x6E\x64\x65\x78","\x67\x65\x74\x50\x61\x72\x65\x6E\x74\x53\x69\x7A\x65","\x69\x73\x4C\x61\x79\x65\x72","\x63\x75\x72\x72\x65\x6E\x74\x52\x6F\x6F\x74","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x6C\x6C\x61\x70\x73\x65\x64","\x72\x65\x73\x69\x7A\x65\x56\x65\x72\x74\x69\x63\x65\x73","\x69\x6E\x76\x65\x72\x74","\x67\x72\x6F\x75\x70\x50\x61\x64\x64\x69\x6E\x67","\x70\x61\x72\x65\x6E\x74\x73\x43\x68\x61\x6E\x67\x65\x64","\x6D\x6F\x76\x65\x54\x72\x65\x65","\x6C\x65\x76\x65\x6C\x44\x69\x73\x74\x61\x6E\x63\x65","\x6E\x6F\x64\x65\x44\x69\x73\x74\x61\x6E\x63\x65","\x72\x65\x73\x65\x74\x45\x64\x67\x65\x73","\x70\x72\x65\x66\x48\x6F\x7A\x45\x64\x67\x65\x53\x65\x70","\x70\x72\x65\x66\x56\x65\x72\x74\x45\x64\x67\x65\x4F\x66\x66","\x6D\x69\x6E\x45\x64\x67\x65\x4A\x65\x74\x74\x79","\x63\x68\x61\x6E\x6E\x65\x6C\x42\x75\x66\x66\x65\x72","\x65\x64\x67\x65\x52\x6F\x75\x74\x69\x6E\x67","\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x54\x72\x65\x65\x52\x6F\x6F\x74\x73","\x64\x66\x73","\x6C\x61\x79\x6F\x75\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x4C\x61\x79\x6F\x75\x74","\x76\x65\x72\x74\x69\x63\x61\x6C\x4C\x61\x79\x6F\x75\x74","\x6D\x6F\x76\x65\x4E\x6F\x64\x65","\x61\x64\x6A\x75\x73\x74\x50\x61\x72\x65\x6E\x74\x73","\x6C\x6F\x63\x61\x6C\x45\x64\x67\x65\x50\x72\x6F\x63\x65\x73\x73\x69\x6E\x67","\x6E\x65\x78\x74","\x63\x72\x65\x61\x74\x65\x4E\x6F\x64\x65","\x61\x74\x74\x61\x63\x68\x50\x61\x72\x65\x6E\x74","\x6C\x61\x79\x6F\x75\x74\x4C\x65\x61\x66","\x6F\x66\x66\x73\x65\x74\x58","\x6F\x66\x66\x73\x65\x74\x59","\x75\x70\x70\x65\x72\x48\x65\x61\x64","\x63\x6F\x6E\x74\x6F\x75\x72","\x63\x72\x65\x61\x74\x65\x4C\x69\x6E\x65","\x6C\x6F\x77\x65\x72\x48\x65\x61\x64","\x75\x70\x70\x65\x72\x54\x61\x69\x6C","\x6C\x6F\x77\x65\x72\x54\x61\x69\x6C","\x6D\x65\x72\x67\x65","\x62\x72\x69\x64\x67\x65","\x73\x6F\x72\x74\x43\x65\x6C\x6C\x73","\x70\x72\x6F\x63\x65\x73\x73\x4E\x6F\x64\x65\x4F\x75\x74\x67\x6F\x69\x6E\x67","\x67\x65\x74\x45\x64\x67\x65\x73\x42\x65\x74\x77\x65\x65\x6E","\x77\x65\x69\x67\x68\x74\x65\x64\x56\x61\x6C\x75\x65","\x6E\x75\x64\x67\x65","\x76\x69\x73\x69\x74\x65\x64","\x72\x61\x6E\x6B\x49\x6E\x64\x65\x78","\x75\x73\x65\x49\x6E\x70\x75\x74\x4F\x72\x69\x67\x69\x6E","\x64\x69\x73\x61\x62\x6C\x65\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x66\x6F\x72\x63\x65\x43\x6F\x6E\x73\x74\x61\x6E\x74","\x66\x6F\x72\x63\x65\x43\x6F\x6E\x73\x74\x61\x6E\x74\x53\x71\x75\x61\x72\x65\x64","\x6D\x69\x6E\x44\x69\x73\x74\x61\x6E\x63\x65\x4C\x69\x6D\x69\x74","\x6D\x61\x78\x44\x69\x73\x74\x61\x6E\x63\x65\x4C\x69\x6D\x69\x74","\x6D\x69\x6E\x44\x69\x73\x74\x61\x6E\x63\x65\x4C\x69\x6D\x69\x74\x53\x71\x75\x61\x72\x65\x64","\x69\x6E\x69\x74\x69\x61\x6C\x54\x65\x6D\x70","\x74\x65\x6D\x70\x65\x72\x61\x74\x75\x72\x65","\x6D\x61\x78\x49\x74\x65\x72\x61\x74\x69\x6F\x6E\x73","\x69\x74\x65\x72\x61\x74\x69\x6F\x6E","\x61\x6C\x6C\x6F\x77\x65\x64\x54\x6F\x52\x75\x6E","\x76\x65\x72\x74\x65\x78\x41\x72\x72\x61\x79","\x67\x65\x74\x42\x6F\x75\x6E\x64\x73","\x69\x6E\x64\x69\x63\x65\x73","\x64\x69\x73\x70\x58","\x64\x69\x73\x70\x59","\x63\x65\x6C\x6C\x4C\x6F\x63\x61\x74\x69\x6F\x6E","\x69\x73\x4D\x6F\x76\x65\x61\x62\x6C\x65","\x6E\x65\x69\x67\x68\x62\x6F\x75\x72\x73","\x72\x61\x64\x69\x75\x73","\x72\x61\x64\x69\x75\x73\x53\x71\x75\x61\x72\x65\x64","\x67\x65\x74\x4F\x70\x70\x6F\x73\x69\x74\x65\x73","\x72\x65\x73\x65\x74\x45\x64\x67\x65","\x63\x61\x6C\x63\x52\x65\x70\x75\x6C\x73\x69\x6F\x6E","\x63\x61\x6C\x63\x41\x74\x74\x72\x61\x63\x74\x69\x6F\x6E","\x63\x61\x6C\x63\x50\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x72\x65\x64\x75\x63\x65\x54\x65\x6D\x70\x65\x72\x61\x74\x75\x72\x65","\x72\x61\x6E\x64\x6F\x6D","\x6D\x6F\x76\x65\x43\x69\x72\x63\x6C\x65","\x67\x65\x74\x52\x61\x64\x69\x75\x73","\x63\x69\x72\x63\x6C\x65","\x66\x69\x6E\x64\x50\x61\x72\x61\x6C\x6C\x65\x6C\x73","\x67\x65\x74\x45\x64\x67\x65\x49\x64","\x72\x6F\x75\x74\x65","\x6C\x61\x79\x6F\x75\x74\x73","\x6D\x61\x73\x74\x65\x72","\x70\x6C\x61\x63\x65\x4C\x61\x62\x65\x6C\x73","\x61\x76\x6F\x69\x64","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x73","\x74\x65\x6D\x70","\x6D\x61\x78\x52\x61\x6E\x6B","\x6D\x69\x6E\x52\x61\x6E\x6B","\x6E\x65\x78\x74\x4C\x61\x79\x65\x72\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x43\x65\x6C\x6C\x73","\x70\x72\x65\x76\x69\x6F\x75\x73\x4C\x61\x79\x65\x72\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x43\x65\x6C\x6C\x73","\x67\x65\x74\x4E\x65\x78\x74\x4C\x61\x79\x65\x72\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x43\x65\x6C\x6C\x73","\x67\x65\x74\x50\x72\x65\x76\x69\x6F\x75\x73\x4C\x61\x79\x65\x72\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x43\x65\x6C\x6C\x73","\x67\x65\x74\x47\x65\x6E\x65\x72\x61\x6C\x50\x75\x72\x70\x6F\x73\x65\x56\x61\x72\x69\x61\x62\x6C\x65","\x73\x65\x74\x47\x65\x6E\x65\x72\x61\x6C\x50\x75\x72\x70\x6F\x73\x65\x56\x61\x72\x69\x61\x62\x6C\x65","\x73\x65\x74\x58","\x73\x65\x74\x59","\x63\x6F\x6E\x6E\x65\x63\x74\x73\x41\x73\x54\x61\x72\x67\x65\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x73\x41\x73\x53\x6F\x75\x72\x63\x65","\x68\x61\x73\x68\x43\x6F\x64\x65","\x67\x65\x74\x52\x61\x6E\x6B\x56\x61\x6C\x75\x65","\x67\x65\x74\x43\x6F\x72\x65\x43\x65\x6C\x6C","\x65\x64\x67\x65\x73","\x69\x73\x52\x65\x76\x65\x72\x73\x65\x64","\x74\x69\x67\x68\x74\x65\x6E\x54\x6F\x53\x6F\x75\x72\x63\x65","\x72\x6F\x6F\x74\x73","\x76\x65\x72\x74\x65\x78\x4D\x61\x70\x70\x65\x72","\x65\x64\x67\x65\x4D\x61\x70\x70\x65\x72","\x53\x4F\x55\x52\x43\x45\x53\x43\x41\x4E\x53\x54\x41\x52\x54\x52\x41\x4E\x4B","\x63\x72\x65\x61\x74\x65\x49\x6E\x74\x65\x72\x6E\x61\x6C\x43\x65\x6C\x6C\x73","\x72\x61\x6E\x6B\x73","\x64\x66\x73\x43\x6F\x75\x6E\x74","\x69\x6E\x69\x74\x69\x61\x6C\x52\x61\x6E\x6B","\x73\x6C\x69\x63\x65","\x66\x69\x78\x52\x61\x6E\x6B\x73","\x65\x78\x74\x65\x6E\x64\x65\x64\x44\x66\x73","\x6E\x65\x73\x74\x65\x64\x42\x65\x73\x74\x52\x61\x6E\x6B\x73","\x63\x75\x72\x72\x65\x6E\x74\x42\x65\x73\x74\x43\x72\x6F\x73\x73\x69\x6E\x67\x73","\x69\x74\x65\x72\x61\x74\x69\x6F\x6E\x73\x57\x69\x74\x68\x6F\x75\x74\x49\x6D\x70\x72\x6F\x76\x65\x6D\x65\x6E\x74","\x6D\x61\x78\x4E\x6F\x49\x6D\x70\x72\x6F\x76\x65\x6D\x65\x6E\x74\x49\x74\x65\x72\x61\x74\x69\x6F\x6E\x73","\x63\x61\x6C\x63\x75\x6C\x61\x74\x65\x43\x72\x6F\x73\x73\x69\x6E\x67\x73","\x77\x65\x69\x67\x68\x74\x65\x64\x4D\x65\x64\x69\x61\x6E","\x74\x72\x61\x6E\x73\x70\x6F\x73\x65","\x63\x61\x6C\x63\x75\x6C\x61\x74\x65\x52\x61\x6E\x6B\x43\x72\x6F\x73\x73\x69\x6E\x67","\x6D\x65\x64\x69\x61\x6E\x52\x61\x6E\x6B","\x6D\x65\x64\x69\x61\x6E\x56\x61\x6C\x75\x65","\x6C\x65\x6E\x74\x68","\x67\x65\x74\x49\x6E\x63\x6F\x6D\x69\x6E\x67\x45\x64\x67\x65\x73","\x69\x6E\x74\x72\x61\x43\x65\x6C\x6C\x53\x70\x61\x63\x69\x6E\x67","\x69\x6E\x74\x65\x72\x52\x61\x6E\x6B\x43\x65\x6C\x6C\x53\x70\x61\x63\x69\x6E\x67","\x6F\x72\x69\x65\x6E\x74\x61\x74\x69\x6F\x6E","\x69\x6E\x69\x74\x69\x61\x6C\x58","\x70\x61\x72\x61\x6C\x6C\x65\x6C\x45\x64\x67\x65\x53\x70\x61\x63\x69\x6E\x67","\x6A\x65\x74\x74\x79\x50\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x6C\x69\x6D\x69\x74\x58","\x63\x75\x72\x72\x65\x6E\x74\x58\x44\x65\x6C\x74\x61","\x77\x69\x64\x65\x73\x74\x52\x61\x6E\x6B","\x72\x61\x6E\x6B\x54\x6F\x70\x59","\x72\x61\x6E\x6B\x42\x6F\x74\x74\x6F\x6D\x59","\x77\x69\x64\x65\x73\x74\x52\x61\x6E\x6B\x56\x61\x6C\x75\x65","\x72\x61\x6E\x6B\x57\x69\x64\x74\x68\x73","\x72\x61\x6E\x6B\x59","\x66\x69\x6E\x65\x54\x75\x6E\x69\x6E\x67","\x50\x4F\x4C\x59\x4C\x49\x4E\x45","\x6E\x65\x78\x74\x4C\x61\x79\x65\x72\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x43\x61\x63\x68\x65","\x70\x72\x65\x76\x69\x6F\x75\x73\x4C\x61\x79\x65\x72\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x43\x61\x63\x68\x65","\x70\x72\x69\x6E\x74\x53\x74\x61\x74\x75\x73","\x3D\x3D\x3D\x3D\x3D\x3D\x43\x6F\x6F\x72\x64\x20\x61\x73\x73\x69\x67\x6E\x6D\x65\x6E\x74\x20\x64\x65\x62\x75\x67\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x52\x61\x6E\x6B\x20","\x20\x3A\x20","\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x69\x6E\x69\x74\x69\x61\x6C\x43\x6F\x6F\x72\x64\x73","\x6D\x69\x6E\x4E\x6F\x64\x65","\x6D\x65\x64\x69\x61\x6E\x50\x6F\x73","\x6D\x69\x6E\x50\x61\x74\x68","\x73\x65\x74\x43\x65\x6C\x6C\x4C\x6F\x63\x61\x74\x69\x6F\x6E\x73","\x6D\x65\x64\x69\x61\x6E\x58\x56\x61\x6C\x75\x65","\x72\x61\x6E\x6B\x4D\x65\x64\x69\x61\x6E\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x63\x61\x6C\x63\x75\x6C\x61\x74\x65\x64\x57\x65\x69\x67\x68\x74\x65\x64\x56\x61\x6C\x75\x65","\x63\x61\x6C\x63\x75\x6C\x61\x74\x65\x57\x69\x64\x65\x73\x74\x52\x61\x6E\x6B","\x72\x61\x6E\x6B\x43\x6F\x6F\x72\x64\x69\x6E\x61\x74\x65\x73","\x65\x64\x67\x65\x2E\x65\x64\x67\x65\x73\x20\x69\x73\x20\x6E\x75\x6C\x6C","\x41\x74\x20\x6C\x65\x61\x73\x74\x20\x6F\x6E\x65\x20\x63\x65\x6C\x6C\x20\x68\x61\x73\x20\x6E\x6F\x20\x62\x6F\x75\x6E\x64\x73","\x72\x65\x70\x6F\x73\x69\x74\x69\x6F\x6E\x56\x61\x6C\x69\x64","\x4D\x41\x58\x5F\x56\x41\x4C\x55\x45","\x4F\x52\x54\x48\x4F\x47\x4F\x4E\x41\x4C","\x43\x55\x52\x56\x45","\x73\x65\x74\x45\x64\x67\x65\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x69\x73\x50\x6F\x72\x74","\x70\x72\x6F\x63\x65\x73\x73\x52\x65\x76\x65\x72\x73\x65\x64\x45\x64\x67\x65","\x64\x65\x74\x65\x72\x6D\x69\x6E\x69\x73\x74\x69\x63","\x6D\x6F\x76\x65\x50\x61\x72\x65\x6E\x74","\x70\x61\x72\x65\x6E\x74\x42\x6F\x72\x64\x65\x72","\x69\x6E\x74\x65\x72\x48\x69\x65\x72\x61\x72\x63\x68\x79\x53\x70\x61\x63\x69\x6E\x67","\x74\x72\x61\x76\x65\x72\x73\x65\x41\x6E\x63\x65\x73\x74\x6F\x72\x73","\x65\x64\x67\x65\x73\x43\x61\x63\x68\x65","\x72\x75\x6E","\x75\x70\x64\x61\x74\x65\x47\x72\x6F\x75\x70\x42\x6F\x75\x6E\x64\x73","\x66\x69\x6E\x64\x52\x6F\x6F\x74\x73","\x63\x6F\x6E\x63\x61\x74","\x69\x73\x56\x61\x6C\x69\x64\x41\x6E\x63\x65\x73\x74\x6F\x72","\x66\x69\x6C\x74\x65\x72\x44\x65\x73\x63\x65\x6E\x64\x61\x6E\x74\x73","\x63\x79\x63\x6C\x65\x53\x74\x61\x67\x65","\x6C\x61\x79\x65\x72\x69\x6E\x67\x53\x74\x61\x67\x65","\x63\x72\x6F\x73\x73\x69\x6E\x67\x53\x74\x61\x67\x65","\x70\x6C\x61\x63\x65\x6D\x65\x6E\x74\x53\x74\x61\x67\x65","\x63\x75\x72\x72\x65\x6E\x74\x45\x64\x69\x74","\x73\x65\x74\x52\x6F\x6F\x74","\x6D\x61\x69\x6E\x74\x61\x69\x6E\x45\x64\x67\x65\x50\x61\x72\x65\x6E\x74","\x63\x72\x65\x61\x74\x65\x49\x64\x73","\x70\x6F\x73\x74\x66\x69\x78","\x6E\x65\x78\x74\x49\x64","\x75\x70\x64\x61\x74\x65\x4C\x65\x76\x65\x6C","\x65\x6E\x64\x69\x6E\x67\x55\x70\x64\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x52\x6F\x6F\x74","\x69\x73\x43\x72\x65\x61\x74\x65\x49\x64\x73","\x73\x65\x74\x43\x72\x65\x61\x74\x65\x49\x64\x73","\x69\x6E\x73\x65\x72\x74","\x66\x69\x6C\x74\x65\x72\x43\x65\x6C\x6C\x73","\x67\x65\x74\x44\x65\x73\x63\x65\x6E\x64\x61\x6E\x74\x73","\x72\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65\x64","\x63\x65\x6C\x6C\x41\x64\x64\x65\x64","\x69\x73\x52\x6F\x6F\x74","\x75\x70\x64\x61\x74\x65\x45\x64\x67\x65\x50\x61\x72\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65\x49\x64","\x73\x65\x74\x49\x64","\x69\x73\x4E\x75\x6D\x65\x72\x69\x63","\x75\x70\x64\x61\x74\x65\x45\x64\x67\x65\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x4E\x65\x61\x72\x65\x73\x74\x43\x6F\x6D\x6D\x6F\x6E\x41\x6E\x63\x65\x73\x74\x6F\x72","\x67\x65\x74\x4F\x72\x69\x67\x69\x6E","\x50\x41\x54\x48\x5F\x53\x45\x50\x41\x52\x41\x54\x4F\x52","\x67\x65\x74\x50\x61\x72\x65\x6E\x74\x50\x61\x74\x68","\x70\x61\x72\x65\x6E\x74\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x67\x65\x74\x43\x68\x69\x6C\x64\x72\x65\x6E","\x63\x68\x69\x6C\x64\x72\x65\x6E","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x65\x6C\x6C\x73","\x67\x65\x74\x43\x68\x69\x6C\x64\x45\x64\x67\x65\x73","\x73\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x73\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x73","\x74\x65\x72\x6D\x69\x6E\x61\x6C\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x69\x6E\x73\x65\x72\x74\x45\x64\x67\x65","\x72\x65\x6D\x6F\x76\x65\x45\x64\x67\x65","\x67\x65\x74\x44\x69\x72\x65\x63\x74\x65\x64\x45\x64\x67\x65\x43\x6F\x75\x6E\x74","\x67\x65\x74\x4F\x75\x74\x67\x6F\x69\x6E\x67\x45\x64\x67\x65\x73","\x67\x65\x74\x54\x6F\x70\x6D\x6F\x73\x74\x43\x65\x6C\x6C\x73","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x73\x65\x74\x56\x61\x6C\x75\x65","\x76\x61\x6C\x75\x65\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x76\x61\x6C\x75\x65\x43\x68\x61\x6E\x67\x65\x64","\x67\x65\x6F\x6D\x65\x74\x72\x79\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x73\x74\x79\x6C\x65\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x69\x73\x43\x6F\x6C\x6C\x61\x70\x73\x65\x64","\x73\x65\x74\x43\x6F\x6C\x6C\x61\x70\x73\x65\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x64\x53\x74\x61\x74\x65\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x76\x69\x73\x69\x62\x6C\x65\x53\x74\x61\x74\x65\x46\x6F\x72\x43\x65\x6C\x6C\x43\x68\x61\x6E\x67\x65\x64","\x6D\x65\x72\x67\x65\x43\x68\x69\x6C\x64\x72\x65\x6E","\x6D\x65\x72\x67\x65\x43\x68\x69\x6C\x64\x72\x65\x6E\x49\x6D\x70\x6C","\x67\x65\x74\x50\x61\x72\x65\x6E\x74\x73","\x63\x6C\x6F\x6E\x65\x43\x65\x6C\x6C","\x63\x6C\x6F\x6E\x65\x43\x65\x6C\x6C\x49\x6D\x70\x6C","\x72\x65\x73\x74\x6F\x72\x65\x43\x6C\x6F\x6E\x65","\x63\x65\x6C\x6C\x43\x6C\x6F\x6E\x65\x64","\x70\x72\x65\x76\x69\x6F\x75\x73\x49\x6E\x64\x65\x78","\x69\x6E\x64\x65\x78","\x74\x65\x72\x6D\x69\x6E\x61\x6C","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x64","\x61\x74\x74\x72\x69\x62\x75\x74\x65","\x6F\x6E\x49\x6E\x69\x74","\x76\x65\x72\x74\x65\x78","\x65\x64\x67\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x6D\x78\x54\x72\x61\x6E\x73\x69\x65\x6E\x74","\x69\x64\x20\x76\x61\x6C\x75\x65\x20\x70\x61\x72\x65\x6E\x74\x20\x73\x6F\x75\x72\x63\x65\x20\x74\x61\x72\x67\x65\x74\x20\x63\x68\x69\x6C\x64\x72\x65\x6E\x20\x65\x64\x67\x65\x73","\x73\x65\x74\x56\x65\x72\x74\x65\x78","\x73\x65\x74\x45\x64\x67\x65","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x73\x65\x74\x50\x61\x72\x65\x6E\x74","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x45\x64\x67\x65\x49\x6E\x64\x65\x78","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x63\x6C\x6F\x6E\x65\x56\x61\x6C\x75\x65","\x54\x52\x41\x4E\x53\x4C\x41\x54\x45\x5F\x43\x4F\x4E\x54\x52\x4F\x4C\x5F\x50\x4F\x49\x4E\x54\x53","\x61\x6C\x74\x65\x72\x6E\x61\x74\x65\x42\x6F\x75\x6E\x64\x73","\x73\x6F\x75\x72\x63\x65\x50\x6F\x69\x6E\x74","\x74\x61\x72\x67\x65\x74\x50\x6F\x69\x6E\x74","\x73\x77\x61\x70","\x67\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x73\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x74\x61\x6E","\x70\x6F\x77","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x69\x6F\x6E","\x53\x54\x59\x4C\x45\x5F\x44\x49\x52\x45\x43\x54\x49\x4F\x4E","\x70\x61\x67\x65\x53\x63\x61\x6C\x65","\x70\x61\x67\x65\x46\x6F\x72\x6D\x61\x74","\x50\x72\x69\x6E\x74\x65\x72\x2D\x66\x72\x69\x65\x6E\x64\x6C\x79\x20\x76\x65\x72\x73\x69\x6F\x6E","\x70\x61\x67\x65\x53\x65\x6C\x65\x63\x74\x6F\x72","\x61\x75\x74\x6F\x4F\x72\x69\x67\x69\x6E","\x70\x72\x69\x6E\x74\x4F\x76\x65\x72\x6C\x61\x79\x73","\x77\x6E\x64","\x70\x61\x67\x65\x43\x6F\x75\x6E\x74","\x67\x65\x74\x57\x69\x6E\x64\x6F\x77","\x67\x65\x74\x44\x6F\x63\x74\x79\x70\x65","\x3C\x6D\x65\x74\x61\x20\x68\x74\x74\x70\x2D\x65\x71\x75\x69\x76\x3D\x22\x58\x2D\x55\x41\x2D\x43\x6F\x6D\x70\x61\x74\x69\x62\x6C\x65\x22\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3D\x22\x49\x45\x3D\x38\x22\x3E","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65\x4F\x76\x65\x72\x6C\x61\x79","\x67\x65\x74\x44\x72\x61\x77\x50\x61\x6E\x65","\x77\x72\x69\x74\x65\x48\x65\x61\x64","\x3C\x62\x6F\x64\x79\x20\x63\x6C\x61\x73\x73\x3D\x22\x6D\x78\x50\x61\x67\x65\x22\x3E","\x63\x72\x65\x61\x74\x65\x50\x61\x67\x65\x53\x65\x6C\x65\x63\x74\x6F\x72","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x41\x66\x74\x65\x72","\x61\x6C\x77\x61\x79\x73","\x6D\x78\x50\x61\x67\x65\x42\x72\x65\x61\x6B","\x67\x65\x74\x43\x6F\x76\x65\x72\x50\x61\x67\x65\x73","\x67\x65\x74\x41\x70\x70\x65\x6E\x64\x69\x63\x65\x73","\x61\x64\x64\x47\x72\x61\x70\x68\x46\x72\x61\x67\x6D\x65\x6E\x74","\x72\x65\x6E\x64\x65\x72\x50\x61\x67\x65","\x6D\x78\x50\x61\x67\x65\x2D","\x3C\x74\x69\x74\x6C\x65\x3E","\x3C\x2F\x74\x69\x74\x6C\x65\x3E","\x3C\x73\x74\x79\x6C\x65\x20\x74\x79\x70\x65\x3D\x22\x74\x65\x78\x74\x2F\x63\x73\x73\x22\x3E","\x40\x6D\x65\x64\x69\x61\x20\x70\x72\x69\x6E\x74\x20\x7B","\x20\x20\x74\x61\x62\x6C\x65\x2E\x6D\x78\x50\x61\x67\x65\x53\x65\x6C\x65\x63\x74\x6F\x72\x20\x7B\x20\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x6E\x6F\x6E\x65\x3B\x20\x7D","\x20\x20\x68\x72\x2E\x6D\x78\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x20\x7B\x20\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x6E\x6F\x6E\x65\x3B\x20\x7D","\x40\x6D\x65\x64\x69\x61\x20\x73\x63\x72\x65\x65\x6E\x20\x7B","\x20\x20\x74\x61\x62\x6C\x65\x2E\x6D\x78\x50\x61\x67\x65\x53\x65\x6C\x65\x63\x74\x6F\x72\x20\x7B\x20\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x66\x69\x78\x65\x64\x3B\x20\x72\x69\x67\x68\x74\x3A\x20\x31\x30\x70\x78\x3B\x20\x74\x6F\x70\x3A\x20\x31\x30\x70\x78\x3B\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A\x20\x41\x72\x69\x61\x6C\x3B\x20\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A\x31\x30\x70\x74\x3B\x20\x62\x6F\x72\x64\x65\x72\x3A\x20\x73\x6F\x6C\x69\x64\x20\x31\x70\x78\x20\x64\x61\x72\x6B\x67\x72\x61\x79\x3B\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x3A\x20\x77\x68\x69\x74\x65\x3B\x20\x62\x6F\x72\x64\x65\x72\x2D\x63\x6F\x6C\x6C\x61\x70\x73\x65\x3A\x63\x6F\x6C\x6C\x61\x70\x73\x65\x3B\x20\x7D","\x20\x20\x74\x61\x62\x6C\x65\x2E\x6D\x78\x50\x61\x67\x65\x53\x65\x6C\x65\x63\x74\x6F\x72\x20\x74\x64\x20\x7B\x20\x62\x6F\x72\x64\x65\x72\x3A\x20\x73\x6F\x6C\x69\x64\x20\x31\x70\x78\x20\x67\x72\x61\x79\x3B\x20\x70\x61\x64\x64\x69\x6E\x67\x3A\x34\x70\x78\x3B\x20\x7D","\x20\x20\x62\x6F\x64\x79\x2E\x6D\x78\x50\x61\x67\x65\x20\x7B\x20\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x3A\x20\x67\x72\x61\x79\x3B\x20\x7D","\x3C\x2F\x73\x74\x79\x6C\x65\x3E","\x6D\x78\x50\x61\x67\x65\x53\x65\x6C\x65\x63\x74\x6F\x72","\x61","\x23\x6D\x78\x50\x61\x67\x65\x2D","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x49\x6E\x73\x69\x64\x65","\x67\x65\x74\x43\x61\x6E\x76\x61\x73","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x6E\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x6E\x65","\x73\x74\x79\x6C\x65\x73","\x63\x72\x65\x61\x74\x65\x44\x65\x66\x61\x75\x6C\x74\x56\x65\x72\x74\x65\x78\x53\x74\x79\x6C\x65","\x70\x75\x74\x44\x65\x66\x61\x75\x6C\x74\x56\x65\x72\x74\x65\x78\x53\x74\x79\x6C\x65","\x63\x72\x65\x61\x74\x65\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x70\x75\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x53\x48\x41\x50\x45","\x53\x48\x41\x50\x45\x5F\x52\x45\x43\x54\x41\x4E\x47\x4C\x45","\x53\x54\x59\x4C\x45\x5F\x50\x45\x52\x49\x4D\x45\x54\x45\x52","\x52\x65\x63\x74\x61\x6E\x67\x6C\x65\x50\x65\x72\x69\x6D\x65\x74\x65\x72","\x53\x54\x59\x4C\x45\x5F\x56\x45\x52\x54\x49\x43\x41\x4C\x5F\x41\x4C\x49\x47\x4E","\x53\x54\x59\x4C\x45\x5F\x41\x4C\x49\x47\x4E","\x53\x54\x59\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x23\x43\x33\x44\x39\x46\x46","\x53\x54\x59\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x43\x4F\x4C\x4F\x52","\x23\x36\x34\x38\x32\x42\x39","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x43\x4F\x4C\x4F\x52","\x23\x37\x37\x34\x34\x30\x30","\x53\x48\x41\x50\x45\x5F\x43\x4F\x4E\x4E\x45\x43\x54\x4F\x52","\x23\x34\x34\x36\x32\x39\x39","\x64\x65\x66\x61\x75\x6C\x74\x56\x65\x72\x74\x65\x78","\x70\x75\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x56\x65\x72\x74\x65\x78\x53\x74\x79\x6C\x65","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x6F\x72\x69\x67\x69\x6E","\x61\x62\x73\x6F\x6C\x75\x74\x65\x4F\x66\x66\x73\x65\x74","\x69\x6E\x76\x61\x6C\x69\x64","\x69\x6E\x76\x61\x6C\x69\x64\x4F\x72\x64\x65\x72","\x6F\x72\x64\x65\x72\x43\x68\x61\x6E\x67\x65\x64","\x76\x69\x73\x69\x62\x6C\x65\x53\x6F\x75\x72\x63\x65\x53\x74\x61\x74\x65","\x76\x69\x73\x69\x62\x6C\x65\x54\x61\x72\x67\x65\x74\x53\x74\x61\x74\x65","\x74\x65\x72\x6D\x69\x6E\x61\x6C\x44\x69\x73\x74\x61\x6E\x63\x65","\x73\x65\x67\x6D\x65\x6E\x74\x73","\x67\x65\x74\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x42\x6F\x75\x6E\x64\x73","\x73\x65\x74\x41\x62\x73\x6F\x6C\x75\x74\x65\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x67\x65\x74\x56\x69\x73\x69\x62\x6C\x65\x54\x65\x72\x6D\x69\x6E\x61\x6C\x53\x74\x61\x74\x65","\x73\x65\x74\x56\x69\x73\x69\x62\x6C\x65\x54\x65\x72\x6D\x69\x6E\x61\x6C\x53\x74\x61\x74\x65","\x64\x6F\x6E\x65\x52\x65\x73\x6F\x75\x72\x63\x65","\x75\x70\x64\x61\x74\x69\x6E\x67\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x52\x65\x73\x6F\x75\x72\x63\x65","\x75\x70\x64\x61\x74\x69\x6E\x67\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x73\x69\x6E\x67\x6C\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x69\x73\x53\x69\x6E\x67\x6C\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x73\x65\x74\x53\x69\x6E\x67\x6C\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x69\x73\x53\x65\x6C\x65\x63\x74\x65\x64","\x63\x68\x61\x6E\x67\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x73\x65\x74\x43\x65\x6C\x6C","\x73\x65\x74\x43\x65\x6C\x6C\x73","\x67\x65\x74\x46\x69\x72\x73\x74\x53\x65\x6C\x65\x63\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C","\x69\x73\x43\x65\x6C\x6C\x53\x65\x6C\x65\x63\x74\x61\x62\x6C\x65","\x61\x64\x64\x43\x65\x6C\x6C","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x61\x64\x64\x65\x64","\x72\x65\x6D\x6F\x76\x65\x64","\x6D\x78\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x68\x61\x6E\x67\x65\x2E\x65\x78\x65\x63\x75\x74\x65","\x65\x6E\x74\x65\x72","\x6C\x65\x61\x76\x65","\x65\x64\x69\x74\x69\x6E\x67\x43\x65\x6C\x6C","\x74\x72\x69\x67\x67\x65\x72","\x6D\x6F\x64\x69\x66\x69\x65\x64","\x61\x75\x74\x6F\x53\x69\x7A\x65","\x65\x6D\x70\x74\x79\x4C\x61\x62\x65\x6C\x54\x65\x78\x74","\x74\x65\x78\x74\x4E\x6F\x64\x65","\x6D\x78\x43\x65\x6C\x6C\x45\x64\x69\x74\x6F\x72","\x63\x6F\x6C\x73","\x32\x30","\x34","\x62\x6C\x75\x72","\x66\x6F\x63\x75\x73\x4C\x6F\x73\x74","\x6B\x65\x79\x64\x6F\x77\x6E","\x6B\x65\x79\x43\x6F\x64\x65","\x69\x73\x45\x6E\x74\x65\x72\x53\x74\x6F\x70\x73\x43\x65\x6C\x6C\x45\x64\x69\x74\x69\x6E\x67","\x73\x74\x6F\x70\x45\x64\x69\x74\x69\x6E\x67","\x63\x6C\x65\x61\x72\x4F\x6E\x43\x68\x61\x6E\x67\x65","\x73\x65\x74\x4D\x6F\x64\x69\x66\x69\x65\x64","\x6B\x65\x79\x70\x72\x65\x73\x73","\x69\x73\x4C\x61\x62\x65\x6C\x43\x6C\x69\x70\x70\x65\x64","\x69\x73\x57\x72\x61\x70\x70\x69\x6E\x67","\x41\x4C\x49\x47\x4E\x5F\x4C\x45\x46\x54","\x69\x73\x4D\x6F\x64\x69\x66\x69\x65\x64","\x69\x73\x49\x6E\x76\x6F\x6B\x65\x73\x53\x74\x6F\x70\x43\x65\x6C\x6C\x45\x64\x69\x74\x69\x6E\x67","\x69\x73\x48\x69\x64\x65\x4C\x61\x62\x65\x6C","\x6F\x75\x74\x6C\x69\x6E\x65","\x67\x65\x74\x45\x64\x69\x74\x6F\x72\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x49\x6E\x69\x74\x69\x61\x6C\x56\x61\x6C\x75\x65","\x67\x65\x74\x45\x6D\x70\x74\x79\x4C\x61\x62\x65\x6C\x54\x65\x78\x74","\x63\x72\x65\x61\x74\x65\x54\x65\x78\x74\x44\x69\x76","\x67\x65\x74\x43\x75\x72\x72\x65\x6E\x74\x56\x61\x6C\x75\x65","\x67\x65\x74\x45\x64\x69\x74\x69\x6E\x67\x56\x61\x6C\x75\x65","\x53\x54\x59\x4C\x45\x5F\x53\x50\x41\x43\x49\x4E\x47","\x53\x54\x59\x4C\x45\x5F\x53\x50\x41\x43\x49\x4E\x47\x5F\x54\x4F\x50","\x53\x54\x59\x4C\x45\x5F\x53\x50\x41\x43\x49\x4E\x47\x5F\x52\x49\x47\x48\x54","\x53\x54\x59\x4C\x45\x5F\x53\x50\x41\x43\x49\x4E\x47\x5F\x42\x4F\x54\x54\x4F\x4D","\x53\x54\x59\x4C\x45\x5F\x53\x50\x41\x43\x49\x4E\x47\x5F\x4C\x45\x46\x54","\x67\x65\x74\x45\x64\x69\x74\x69\x6E\x67\x43\x65\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65\x53\x68\x61\x70\x65","\x64\x65\x66\x61\x75\x6C\x74\x56\x65\x72\x74\x65\x78\x53\x68\x61\x70\x65","\x64\x65\x66\x61\x75\x6C\x74\x54\x65\x78\x74\x53\x68\x61\x70\x65","\x6C\x65\x67\x61\x63\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x65\x66\x61\x75\x6C\x74\x53\x68\x61\x70\x65\x73","\x72\x65\x67\x69\x73\x74\x65\x72\x53\x68\x61\x70\x65","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65","\x63\x72\x65\x61\x74\x65\x53\x68\x61\x70\x65","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65\x53\x68\x61\x70\x65","\x6F\x72\x64\x65\x72\x65\x64","\x6B\x65\x65\x70\x45\x64\x67\x65\x73\x49\x6E\x46\x6F\x72\x65\x67\x72\x6F\x75\x6E\x64","\x66\x69\x72\x73\x74\x45\x64\x67\x65","\x69\x6E\x73\x65\x72\x74\x53\x74\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79\x73","\x69\x6E\x73\x74\x61\x6C\x6C\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x67\x65\x74\x50\x72\x65\x76\x69\x6F\x75\x73\x53\x74\x61\x74\x65\x49\x6E\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x66\x69\x6E\x64\x50\x72\x65\x76\x69\x6F\x75\x73\x53\x74\x61\x74\x65\x49\x6E\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6F\x72\x64\x65\x72","\x6F\x72\x64\x65\x72\x45\x64\x67\x65","\x6B\x65\x65\x70\x45\x64\x67\x65\x73\x49\x6E\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x67\x65\x74\x53\x68\x61\x70\x65\x43\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x53\x68\x61\x70\x65","\x67\x65\x74\x53\x68\x61\x70\x65","\x67\x65\x74\x49\x6E\x64\x69\x63\x61\x74\x6F\x72\x53\x68\x61\x70\x65","\x67\x65\x74\x49\x6E\x64\x69\x63\x61\x74\x6F\x72\x43\x6F\x6C\x6F\x72","\x67\x65\x74\x49\x6E\x64\x69\x63\x61\x74\x6F\x72\x47\x72\x61\x64\x69\x65\x6E\x74\x43\x6F\x6C\x6F\x72","\x53\x54\x59\x4C\x45\x5F\x49\x4E\x44\x49\x43\x41\x54\x4F\x52\x5F\x44\x49\x52\x45\x43\x54\x49\x4F\x4E","\x67\x65\x74\x49\x6E\x64\x69\x63\x61\x74\x6F\x72\x49\x6D\x61\x67\x65","\x70\x6F\x73\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x65\x53\x68\x61\x70\x65","\x72\x65\x73\x6F\x6C\x76\x65\x43\x6F\x6C\x6F\x72","\x67\x65\x74\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x49\x6E\x64\x69\x63\x61\x74\x6F\x72\x43\x6F\x6C\x6F\x72\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x69\x6E\x64\x69\x63\x61\x74\x65\x64","\x67\x65\x74\x4C\x61\x62\x65\x6C\x56\x61\x6C\x75\x65","\x67\x65\x74\x4C\x61\x62\x65\x6C","\x63\x72\x65\x61\x74\x65\x4C\x61\x62\x65\x6C","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x53\x49\x5A\x45","\x69\x73\x48\x74\x6D\x6C\x4C\x61\x62\x65\x6C","\x67\x65\x74\x56\x65\x72\x74\x69\x63\x61\x6C\x41\x6C\x69\x67\x6E","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x46\x41\x4D\x49\x4C\x59","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x53\x54\x59\x4C\x45","\x53\x54\x59\x4C\x45\x5F\x48\x4F\x52\x49\x5A\x4F\x4E\x54\x41\x4C","\x53\x54\x59\x4C\x45\x5F\x4C\x41\x42\x45\x4C\x5F\x42\x41\x43\x4B\x47\x52\x4F\x55\x4E\x44\x43\x4F\x4C\x4F\x52","\x53\x54\x59\x4C\x45\x5F\x4C\x41\x42\x45\x4C\x5F\x42\x4F\x52\x44\x45\x52\x43\x4F\x4C\x4F\x52","\x53\x54\x59\x4C\x45\x5F\x4F\x56\x45\x52\x46\x4C\x4F\x57","\x53\x54\x59\x4C\x45\x5F\x4C\x41\x42\x45\x4C\x5F\x50\x41\x44\x44\x49\x4E\x47","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65\x4C\x61\x62\x65\x6C","\x63\x6F\x6E\x76\x65\x72\x74\x50\x6F\x69\x6E\x74","\x69\x73\x4C\x61\x62\x65\x6C\x45\x76\x65\x6E\x74","\x49\x4D\x47","\x4E\x4F\x5F\x46\x4F","\x67\x65\x74\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79\x73","\x6F\x76\x65\x72\x6C\x61\x79","\x69\x6E\x73\x74\x61\x6C\x6C\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x69\x73\x45\x64\x69\x74\x69\x6E\x67","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C","\x67\x65\x74\x46\x6F\x6C\x64\x69\x6E\x67\x49\x6D\x61\x67\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x63\x6F\x6E\x74\x72\x6F\x6C","\x69\x6E\x69\x74\x43\x6F\x6E\x74\x72\x6F\x6C","\x44\x49\x41\x4C\x45\x43\x54\x5F\x50\x52\x45\x46\x45\x52\x48\x54\x4D\x4C","\x69\x6E\x6E\x65\x72\x4E\x6F\x64\x65","\x69\x73\x53\x68\x61\x70\x65\x45\x76\x65\x6E\x74","\x67\x65\x73\x74\x75\x72\x65\x73\x74\x61\x72\x74","\x6C\x61\x73\x74\x54\x6F\x75\x63\x68\x54\x69\x6D\x65","\x67\x65\x73\x74\x75\x72\x65\x65\x6E\x64","\x67\x65\x73\x74\x75\x72\x65\x45\x6E\x61\x62\x6C\x65\x64","\x68\x61\x6E\x64\x6C\x65\x47\x65\x73\x74\x75\x72\x65","\x72\x65\x64\x72\x61\x77\x4C\x61\x62\x65\x6C","\x67\x65\x74\x4C\x61\x62\x65\x6C\x42\x6F\x75\x6E\x64\x73","\x69\x73\x43\x6C\x69\x70\x70\x69\x6E\x67","\x67\x65\x74\x54\x65\x78\x74\x53\x63\x61\x6C\x65","\x72\x6F\x74\x61\x74\x65\x4C\x61\x62\x65\x6C\x42\x6F\x75\x6E\x64\x73","\x72\x65\x64\x72\x61\x77\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79\x73","\x72\x65\x64\x72\x61\x77\x43\x6F\x6E\x74\x72\x6F\x6C","\x67\x65\x74\x43\x6F\x6E\x74\x72\x6F\x6C\x42\x6F\x75\x6E\x64\x73","\x65\x71\x75\x61\x6C\x45\x6E\x74\x72\x69\x65\x73","\x65\x71\x75\x61\x6C\x50\x6F\x69\x6E\x74\x73","\x67\x65\x74\x50\x6F\x72\x74\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x67\x65\x74\x52\x6F\x75\x74\x69\x6E\x67\x43\x65\x6E\x74\x65\x72\x59","\x74\x72\x61\x6E\x73\x66\x6F\x72\x6D\x43\x6F\x6E\x74\x72\x6F\x6C\x50\x6F\x69\x6E\x74","\x67\x65\x74\x52\x6F\x75\x74\x69\x6E\x67\x43\x65\x6E\x74\x65\x72\x58","\x53\x54\x59\x4C\x45\x5F\x45\x4C\x42\x4F\x57","\x45\x4C\x42\x4F\x57\x5F\x56\x45\x52\x54\x49\x43\x41\x4C","\x6F\x72\x74\x68\x42\x75\x66\x66\x65\x72","\x44\x49\x52\x45\x43\x54\x49\x4F\x4E\x5F\x4D\x41\x53\x4B\x5F\x41\x4C\x4C","\x6C\x69\x6D\x69\x74\x73","\x76\x65\x72\x74\x65\x78\x53\x65\x70\x65\x72\x61\x74\x69\x6F\x6E\x73","\x72\x65\x76\x65\x72\x73\x65\x50\x6F\x72\x74\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x72\x6F\x75\x74\x65\x50\x61\x74\x74\x65\x72\x6E\x73","\x77\x61\x79\x50\x6F\x69\x6E\x74\x73\x31","\x64\x69\x72\x56\x65\x63\x74\x6F\x72\x73","\x54\x41\x52\x47\x45\x54\x5F\x4D\x41\x53\x4B","\x53\x4F\x55\x52\x43\x45\x5F\x4D\x41\x53\x4B","\x53\x49\x44\x45\x5F\x4D\x41\x53\x4B","\x43\x45\x4E\x54\x45\x52\x5F\x4D\x41\x53\x4B","\x76\x61\x6C\x75\x65\x73","\x70\x75\x74\x56\x61\x6C\x75\x65","\x67\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x45\x4D\x50\x54\x59\x5F\x50\x4F\x49\x4E\x54","\x75\x70\x64\x61\x74\x69\x6E\x67\x44\x6F\x63\x75\x6D\x65\x6E\x74\x52\x65\x73\x6F\x75\x72\x63\x65","\x75\x70\x64\x61\x74\x69\x6E\x67\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x61\x6C\x6C\x6F\x77\x45\x76\x61\x6C","\x63\x61\x70\x74\x75\x72\x65\x44\x6F\x63\x75\x6D\x65\x6E\x74\x47\x65\x73\x74\x75\x72\x65","\x6F\x70\x74\x69\x6D\x69\x7A\x65\x56\x6D\x6C\x52\x65\x66\x6C\x6F\x77\x73","\x72\x65\x6E\x64\x65\x72\x69\x6E\x67","\x75\x70\x64\x61\x74\x65\x53\x74\x79\x6C\x65","\x73\x65\x74\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x73\x65\x74\x43\x75\x72\x72\x65\x6E\x74\x52\x6F\x6F\x74","\x73\x69\x7A\x65\x44\x69\x64\x43\x68\x61\x6E\x67\x65","\x72\x65\x76\x61\x6C\x69\x64\x61\x74\x65","\x70\x72\x65\x76\x69\x6F\x75\x73\x53\x63\x61\x6C\x65","\x70\x72\x65\x76\x69\x6F\x75\x73\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x73\x65\x74\x53\x63\x61\x6C\x65","\x69\x6E\x76\x61\x6C\x69\x64\x61\x74\x65","\x76\x61\x6C\x69\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x53\x74\x61\x74\x65","\x6D\x78\x47\x72\x61\x70\x68\x56\x69\x65\x77\x2E\x76\x61\x6C\x69\x64\x61\x74\x65","\x76\x61\x6C\x69\x64\x61\x74\x65\x42\x6F\x75\x6E\x64\x73","\x76\x61\x6C\x69\x64\x61\x74\x65\x50\x6F\x69\x6E\x74\x73","\x76\x61\x6C\x69\x64\x61\x74\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x63\x72\x65\x61\x74\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x53\x68\x61\x70\x65","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x72\x65\x64\x72\x61\x77\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x70\x61\x67\x65\x56\x69\x73\x69\x62\x6C\x65","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x42\x6F\x75\x6E\x64\x73","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x53\x68\x61\x70\x65","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x69\x73\x48\x69\x64\x65\x4F\x6E\x48\x6F\x76\x65\x72","\x53\x54\x59\x4C\x45\x5F\x52\x4F\x54\x41\x54\x49\x4F\x4E","\x75\x70\x64\x61\x74\x65\x56\x65\x72\x74\x65\x78\x4C\x61\x62\x65\x6C\x4F\x66\x66\x73\x65\x74","\x67\x65\x74\x43\x68\x69\x6C\x64\x4F\x66\x66\x73\x65\x74\x46\x6F\x72\x43\x65\x6C\x6C","\x75\x70\x64\x61\x74\x65\x46\x69\x78\x65\x64\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74\x73","\x75\x70\x64\x61\x74\x65\x50\x6F\x69\x6E\x74\x73","\x75\x70\x64\x61\x74\x65\x46\x6C\x6F\x61\x74\x69\x6E\x67\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74\x73","\x75\x70\x64\x61\x74\x65\x45\x64\x67\x65\x42\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x45\x64\x67\x65\x4C\x61\x62\x65\x6C\x4F\x66\x66\x73\x65\x74","\x63\x68\x69\x6C\x64\x4D\x6F\x76\x65\x64","\x69\x73\x52\x65\x6E\x64\x65\x72\x69\x6E\x67","\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x75\x70\x64\x61\x74\x65\x46\x69\x78\x65\x64\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x50\x6F\x69\x6E\x74","\x67\x65\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x67\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x72\x74","\x64\x65\x66\x61\x75\x6C\x74\x4C\x6F\x6F\x70\x53\x74\x79\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x45\x44\x47\x45","\x69\x73\x41\x6C\x6C\x6F\x77\x45\x76\x61\x6C","\x75\x70\x64\x61\x74\x65\x46\x6C\x6F\x61\x74\x69\x6E\x67\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x67\x65\x74\x4E\x65\x78\x74\x50\x6F\x69\x6E\x74","\x69\x73\x4F\x72\x74\x68\x6F\x67\x6F\x6E\x61\x6C","\x53\x54\x59\x4C\x45\x5F\x50\x45\x52\x49\x4D\x45\x54\x45\x52\x5F\x53\x50\x41\x43\x49\x4E\x47","\x53\x54\x59\x4C\x45\x5F\x53\x4F\x55\x52\x43\x45\x5F\x50\x45\x52\x49\x4D\x45\x54\x45\x52\x5F\x53\x50\x41\x43\x49\x4E\x47","\x53\x54\x59\x4C\x45\x5F\x54\x41\x52\x47\x45\x54\x5F\x50\x45\x52\x49\x4D\x45\x54\x45\x52\x5F\x53\x50\x41\x43\x49\x4E\x47","\x67\x65\x74\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x50\x6F\x69\x6E\x74","\x53\x54\x59\x4C\x45\x5F\x53\x4F\x55\x52\x43\x45\x5F\x50\x4F\x52\x54","\x53\x54\x59\x4C\x45\x5F\x54\x41\x52\x47\x45\x54\x5F\x50\x4F\x52\x54","\x67\x65\x74\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x53\x54\x59\x4C\x45\x5F\x52\x4F\x55\x54\x49\x4E\x47\x5F\x43\x45\x4E\x54\x45\x52\x5F\x58","\x53\x54\x59\x4C\x45\x5F\x52\x4F\x55\x54\x49\x4E\x47\x5F\x43\x45\x4E\x54\x45\x52\x5F\x59","\x67\x65\x74\x52\x65\x6C\x61\x74\x69\x76\x65\x50\x6F\x69\x6E\x74","\x72\x65\x6C\x61\x74\x69\x76\x65\x43\x63\x77","\x73\x65\x74\x52\x65\x6E\x64\x65\x72\x69\x6E\x67","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x45\x76\x61\x6C","\x67\x65\x74\x53\x74\x61\x74\x65\x73","\x67\x65\x74\x43\x65\x6C\x6C\x53\x74\x61\x74\x65\x73","\x69\x73\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x45\x76\x65\x6E\x74","\x69\x73\x53\x63\x72\x6F\x6C\x6C\x45\x76\x65\x6E\x74","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x6D\x6F\x76\x65\x48\x61\x6E\x64\x6C\x65\x72","\x65\x6E\x64\x48\x61\x6E\x64\x6C\x65\x72","\x63\x72\x65\x61\x74\x65\x48\x74\x6D\x6C\x50\x61\x6E\x65","\x75\x70\x64\x61\x74\x65\x48\x74\x6D\x6C\x43\x61\x6E\x76\x61\x73\x53\x69\x7A\x65","\x63\x72\x65\x61\x74\x65\x56\x6D\x6C\x50\x61\x6E\x65","\x63\x6F\x6F\x72\x64\x6F\x72\x69\x67\x69\x6E","\x30\x2C\x30","\x73\x74\x61\x74\x69\x63","\x69\x73\x55\x70","\x67\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65\x46\x6F\x72\x52\x6F\x6F\x74","\x55\x50","\x44\x4F\x57\x4E","\x6D\x6F\x75\x73\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x72\x65\x6E\x64\x65\x72\x48\x69\x6E\x74","\x52\x45\x4E\x44\x45\x52\x49\x4E\x47\x5F\x48\x49\x4E\x54\x5F\x45\x58\x41\x43\x54","\x52\x45\x4E\x44\x45\x52\x49\x4E\x47\x5F\x48\x49\x4E\x54\x5F\x46\x41\x53\x54\x45\x53\x54","\x52\x45\x4E\x44\x45\x52\x49\x4E\x47\x5F\x48\x49\x4E\x54\x5F\x46\x41\x53\x54\x45\x52","\x44\x49\x41\x4C\x45\x43\x54\x5F\x4D\x49\x58\x45\x44\x48\x54\x4D\x4C","\x6D\x75\x6C\x74\x69\x70\x6C\x69\x63\x69\x74\x69\x65\x73","\x69\x6D\x61\x67\x65\x42\x75\x6E\x64\x6C\x65\x73","\x63\x72\x65\x61\x74\x65\x43\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72","\x63\x72\x65\x61\x74\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x63\x72\x65\x61\x74\x65\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x73\x65\x74\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x63\x72\x65\x61\x74\x65\x47\x72\x61\x70\x68\x56\x69\x65\x77","\x67\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x43\x68\x61\x6E\x67\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72\x73","\x2F\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x2F\x67\x72\x61\x70\x68","\x45\x4D\x50\x54\x59\x5F\x41\x52\x52\x41\x59","\x63\x65\x6C\x6C\x45\x64\x69\x74\x6F\x72","\x70\x6F\x72\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x64\x6F\x75\x62\x6C\x65\x54\x61\x70\x45\x6E\x61\x62\x6C\x65\x64","\x64\x6F\x75\x62\x6C\x65\x54\x61\x70\x54\x69\x6D\x65\x6F\x75\x74","\x64\x6F\x75\x62\x6C\x65\x54\x61\x70\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x6C\x61\x73\x74\x54\x6F\x75\x63\x68\x59","\x74\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x64\x65\x66\x61\x75\x6C\x74\x4F\x76\x65\x72\x6C\x61\x70","\x64\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x61\x6C\x74\x65\x72\x6E\x61\x74\x65\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x73\x56\x69\x73\x69\x62\x6C\x65","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x43\x6F\x6C\x6F\x72","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x44\x61\x73\x68\x65\x64","\x6D\x69\x6E\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x44\x69\x73\x74","\x70\x72\x65\x66\x65\x72\x50\x61\x67\x65\x53\x69\x7A\x65","\x65\x73\x63\x61\x70\x65\x45\x6E\x61\x62\x6C\x65\x64","\x69\x6E\x76\x6F\x6B\x65\x73\x53\x74\x6F\x70\x43\x65\x6C\x6C\x45\x64\x69\x74\x69\x6E\x67","\x65\x6E\x74\x65\x72\x53\x74\x6F\x70\x73\x43\x65\x6C\x6C\x45\x64\x69\x74\x69\x6E\x67","\x75\x73\x65\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73\x46\x6F\x72\x50\x61\x6E\x6E\x69\x6E\x67","\x65\x78\x70\x6F\x72\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x6D\x70\x6F\x72\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x65\x6C\x6C\x73\x4C\x6F\x63\x6B\x65\x64","\x63\x65\x6C\x6C\x73\x43\x6C\x6F\x6E\x65\x61\x62\x6C\x65","\x63\x65\x6C\x6C\x73\x45\x64\x69\x74\x61\x62\x6C\x65","\x63\x65\x6C\x6C\x73\x44\x65\x6C\x65\x74\x61\x62\x6C\x65","\x63\x65\x6C\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x65\x64\x67\x65\x4C\x61\x62\x65\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x76\x65\x72\x74\x65\x78\x4C\x61\x62\x65\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x64\x72\x6F\x70\x45\x6E\x61\x62\x6C\x65\x64","\x73\x70\x6C\x69\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x65\x6C\x6C\x73\x52\x65\x73\x69\x7A\x61\x62\x6C\x65","\x63\x65\x6C\x6C\x73\x42\x65\x6E\x64\x61\x62\x6C\x65","\x63\x65\x6C\x6C\x73\x53\x65\x6C\x65\x63\x74\x61\x62\x6C\x65","\x63\x65\x6C\x6C\x73\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x61\x75\x74\x6F\x53\x69\x7A\x65\x43\x65\x6C\x6C\x73","\x74\x69\x6D\x65\x72\x41\x75\x74\x6F\x53\x63\x72\x6F\x6C\x6C","\x61\x6C\x6C\x6F\x77\x41\x75\x74\x6F\x50\x61\x6E\x6E\x69\x6E\x67","\x69\x67\x6E\x6F\x72\x65\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x6D\x61\x78\x69\x6D\x75\x6D\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x6D\x69\x6E\x69\x6D\x75\x6D\x47\x72\x61\x70\x68\x53\x69\x7A\x65","\x6D\x69\x6E\x69\x6D\x75\x6D\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x53\x69\x7A\x65","\x6D\x61\x78\x69\x6D\x75\x6D\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x53\x69\x7A\x65","\x72\x65\x73\x69\x7A\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x61\x6C\x6C\x6F\x77\x4E\x65\x67\x61\x74\x69\x76\x65\x43\x6F\x6F\x72\x64\x69\x6E\x61\x74\x65\x73","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64\x72\x65\x6E","\x65\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74\x73","\x65\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74\x73\x4F\x6E\x41\x64\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x54\x6F\x50\x72\x65\x66\x65\x72\x72\x65\x64\x53\x69\x7A\x65","\x7A\x6F\x6F\x6D\x46\x61\x63\x74\x6F\x72","\x6B\x65\x65\x70\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x56\x69\x73\x69\x62\x6C\x65\x4F\x6E\x5A\x6F\x6F\x6D","\x63\x65\x6E\x74\x65\x72\x5A\x6F\x6F\x6D","\x72\x65\x73\x65\x74\x56\x69\x65\x77\x4F\x6E\x52\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65","\x72\x65\x73\x65\x74\x45\x64\x67\x65\x73\x4F\x6E\x52\x65\x73\x69\x7A\x65","\x72\x65\x73\x65\x74\x45\x64\x67\x65\x73\x4F\x6E\x4D\x6F\x76\x65","\x72\x65\x73\x65\x74\x45\x64\x67\x65\x73\x4F\x6E\x43\x6F\x6E\x6E\x65\x63\x74","\x61\x6C\x6C\x6F\x77\x4C\x6F\x6F\x70\x73","\x4C\x6F\x6F\x70","\x6D\x75\x6C\x74\x69\x67\x72\x61\x70\x68","\x63\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65\x45\x64\x67\x65\x73","\x61\x6C\x6C\x6F\x77\x44\x61\x6E\x67\x6C\x69\x6E\x67\x45\x64\x67\x65\x73","\x63\x6C\x6F\x6E\x65\x49\x6E\x76\x61\x6C\x69\x64\x45\x64\x67\x65\x73","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x4F\x6E\x4D\x6F\x76\x65","\x6C\x61\x62\x65\x6C\x73\x56\x69\x73\x69\x62\x6C\x65","\x68\x74\x6D\x6C\x4C\x61\x62\x65\x6C\x73","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6E\x61\x62\x6C\x65\x64","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x4E\x65\x73\x74\x69\x6E\x67","\x6D\x69\x6E\x46\x69\x74\x53\x63\x61\x6C\x65","\x6D\x61\x78\x46\x69\x74\x53\x63\x61\x6C\x65","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x64\x49\x6D\x61\x67\x65","\x2F\x63\x6F\x6C\x6C\x61\x70\x73\x65\x64\x2E\x67\x69\x66","\x65\x78\x70\x61\x6E\x64\x65\x64\x49\x6D\x61\x67\x65","\x2F\x65\x78\x70\x61\x6E\x64\x65\x64\x2E\x67\x69\x66","\x77\x61\x72\x6E\x69\x6E\x67\x49\x6D\x61\x67\x65","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x69\x6D\x61\x67\x65\x73\x2F\x77\x61\x72\x6E\x69\x6E\x67\x2E\x67\x69\x66","\x61\x6C\x72\x65\x61\x64\x79\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x52\x65\x73\x6F\x75\x72\x63\x65","\x61\x6C\x72\x65\x61\x64\x79\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x63\x6F\x6E\x74\x61\x69\x6E\x73\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72\x73\x52\x65\x73\x6F\x75\x72\x63\x65","\x63\x6F\x6E\x74\x61\x69\x6E\x73\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72\x73","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x45\x78\x70\x61\x6E\x64\x52\x65\x73\x6F\x75\x72\x63\x65","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x2D\x65\x78\x70\x61\x6E\x64","\x63\x72\x65\x61\x74\x65\x43\x65\x6C\x6C\x45\x64\x69\x74\x6F\x72","\x75\x6E\x6C\x6F\x61\x64","\x73\x65\x6C\x65\x63\x74\x73\x74\x61\x72\x74","\x3C\x76\x3A\x67\x72\x6F\x75\x70\x20\x73\x74\x79\x6C\x65\x3D\x22\x44\x49\x53\x50\x4C\x41\x59\x3A\x20\x6E\x6F\x6E\x65\x3B\x22\x3E\x3C\x2F\x76\x3A\x67\x72\x6F\x75\x70\x3E","\x70\x61\x6E\x6E\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x46\x6F\x72\x43\x68\x61\x6E\x67\x65\x73","\x70\x72\x6F\x63\x65\x73\x73\x43\x68\x61\x6E\x67\x65","\x67\x65\x74\x52\x65\x6D\x6F\x76\x65\x64\x43\x65\x6C\x6C\x73\x46\x6F\x72\x43\x68\x61\x6E\x67\x65\x73","\x72\x65\x6D\x6F\x76\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x63\x6C\x65\x61\x72\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x76\x65\x53\x74\x61\x74\x65\x46\x6F\x72\x43\x65\x6C\x6C","\x68\x6F\x6D\x65","\x61\x64\x64\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79\x73","\x63\x6C\x65\x61\x72\x43\x65\x6C\x6C\x4F\x76\x65\x72\x6C\x61\x79\x73","\x73\x65\x74\x43\x65\x6C\x6C\x57\x61\x72\x6E\x69\x6E\x67","\x3C\x66\x6F\x6E\x74\x20\x63\x6F\x6C\x6F\x72\x3D\x72\x65\x64\x3E","\x3C\x2F\x66\x6F\x6E\x74\x3E","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x73\x74\x61\x72\x74\x45\x64\x69\x74\x69\x6E\x67\x41\x74\x43\x65\x6C\x6C","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x69\x73\x43\x65\x6C\x6C\x45\x64\x69\x74\x61\x62\x6C\x65","\x63\x6F\x6E\x76\x65\x72\x74\x56\x61\x6C\x75\x65\x54\x6F\x53\x74\x72\x69\x6E\x67","\x69\x73\x41\x75\x74\x6F\x53\x69\x7A\x65\x43\x65\x6C\x6C","\x63\x65\x6C\x6C\x4C\x61\x62\x65\x6C\x43\x68\x61\x6E\x67\x65\x64","\x63\x65\x6C\x6C\x53\x69\x7A\x65\x55\x70\x64\x61\x74\x65\x64","\x68\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x46\x6F\x72\x45\x76\x65\x6E\x74","\x69\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x53\x77\x69\x6D\x6C\x61\x6E\x65\x41\x74","\x69\x73\x54\x6F\x67\x67\x6C\x65\x45\x76\x65\x6E\x74","\x70\x61\x6E\x6E\x69\x6E\x67\x4D\x61\x6E\x61\x67\x65\x72","\x63\x72\x65\x61\x74\x65\x50\x61\x6E\x6E\x69\x6E\x67\x4D\x61\x6E\x61\x67\x65\x72","\x67\x65\x74\x42\x6F\x72\x64\x65\x72\x53\x69\x7A\x65\x73","\x74\x68\x69\x6E","\x6D\x65\x64\x69\x75\x6D","\x74\x68\x69\x63\x6B","\x62\x6F\x72\x64\x65\x72\x4C\x65\x66\x74\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72\x54\x6F\x70\x57\x69\x64\x74\x68","\x70\x61\x64\x64\x69\x6E\x67\x54\x6F\x70","\x62\x6F\x72\x64\x65\x72\x52\x69\x67\x68\x74\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72\x42\x6F\x74\x74\x6F\x6D\x57\x69\x64\x74\x68","\x70\x61\x64\x64\x69\x6E\x67\x42\x6F\x74\x74\x6F\x6D","\x67\x65\x74\x50\x72\x65\x66\x65\x72\x72\x65\x64\x50\x61\x67\x65\x53\x69\x7A\x65","\x67\x65\x74\x42\x6F\x72\x64\x65\x72","\x64\x6F\x52\x65\x73\x69\x7A\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6D\x69\x6E\x57\x69\x64\x74\x68","\x6D\x69\x6E\x48\x65\x69\x67\x68\x74","\x75\x70\x64\x61\x74\x65\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x76\x65\x72\x74\x69\x63\x61\x6C\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x70\x6F\x73\x74\x50\x72\x6F\x63\x65\x73\x73\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x49\x4D\x41\x47\x45","\x67\x65\x74\x49\x6D\x61\x67\x65\x46\x72\x6F\x6D\x42\x75\x6E\x64\x6C\x65\x73","\x64\x61\x74\x61\x3A\x69\x6D\x61\x67\x65\x2F","\x3B\x62\x61\x73\x65\x36\x34\x2C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x46\x6C\x61\x67\x73","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x46\x6C\x61\x67\x73","\x61\x64\x64\x49\x6D\x61\x67\x65\x42\x75\x6E\x64\x6C\x65","\x72\x65\x6D\x6F\x76\x65\x49\x6D\x61\x67\x65\x42\x75\x6E\x64\x6C\x65","\x62\x61\x63\x6B","\x67\x65\x74\x43\x65\x6C\x6C\x73\x46\x6F\x72\x47\x72\x6F\x75\x70","\x63\x72\x65\x61\x74\x65\x47\x72\x6F\x75\x70\x43\x65\x6C\x6C","\x67\x65\x74\x42\x6F\x75\x6E\x64\x73\x46\x6F\x72\x47\x72\x6F\x75\x70","\x61\x64\x64\x41\x6C\x6C\x45\x64\x67\x65\x73","\x67\x65\x74\x45\x64\x67\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72","\x69\x6E\x73\x65\x72\x74\x56\x65\x72\x74\x65\x78","\x63\x72\x65\x61\x74\x65\x56\x65\x72\x74\x65\x78","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65","\x61\x64\x64\x45\x64\x67\x65","\x69\x73\x41\x6C\x6C\x6F\x77\x4E\x65\x67\x61\x74\x69\x76\x65\x43\x6F\x6F\x72\x64\x69\x6E\x61\x74\x65\x73","\x69\x73\x45\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74\x73\x4F\x6E\x41\x64\x64","\x69\x73\x45\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74","\x65\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64","\x67\x65\x74\x44\x65\x6C\x65\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x69\x6E\x63\x6C\x75\x64\x65\x45\x64\x67\x65\x73","\x6E\x65\x77\x45\x64\x67\x65","\x67\x65\x74\x46\x6F\x6C\x64\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x72\x65\x63\x75\x72\x73\x65","\x69\x73\x43\x65\x6C\x6C\x46\x6F\x6C\x64\x61\x62\x6C\x65","\x73\x77\x61\x70\x42\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x41\x6C\x74\x65\x72\x6E\x61\x74\x65\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x50\x72\x65\x66\x65\x72\x72\x65\x64\x53\x69\x7A\x65\x46\x6F\x72\x43\x65\x6C\x6C","\x67\x65\x74\x41\x6C\x6C\x45\x64\x67\x65\x73","\x69\x67\x6E\x6F\x72\x65\x43\x68\x69\x6C\x64\x72\x65\x6E","\x53\x48\x41\x50\x45\x5F\x4C\x41\x42\x45\x4C","\x53\x54\x59\x4C\x45\x5F\x49\x4D\x41\x47\x45\x5F\x57\x49\x44\x54\x48","\x53\x54\x59\x4C\x45\x5F\x49\x4D\x41\x47\x45\x5F\x48\x45\x49\x47\x48\x54","\x67\x65\x74\x53\x69\x7A\x65\x46\x6F\x72\x53\x74\x72\x69\x6E\x67","\x72\x65\x73\x69\x7A\x65\x43\x65\x6C\x6C","\x69\x73\x43\x6C\x6F\x6E\x65\x49\x6E\x76\x61\x6C\x69\x64\x45\x64\x67\x65\x73","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x4E\x65\x67\x61\x74\x69\x76\x65\x43\x6F\x6F\x72\x64\x69\x6E\x61\x74\x65\x73","\x69\x73\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x4F\x6E\x4D\x6F\x76\x65","\x69\x73\x41\x6C\x6C\x6F\x77\x44\x61\x6E\x67\x6C\x69\x6E\x67\x45\x64\x67\x65\x73","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x47\x72\x61\x70\x68","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x43\x65\x6C\x6C","\x67\x65\x74\x43\x65\x6C\x6C\x43\x6F\x6E\x74\x61\x69\x6E\x6D\x65\x6E\x74\x41\x72\x65\x61","\x67\x65\x74\x43\x75\x72\x72\x65\x6E\x74\x52\x6F\x6F\x74","\x67\x65\x74\x4D\x61\x78\x69\x6D\x75\x6D\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x69\x73\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64","\x67\x65\x74\x4F\x76\x65\x72\x6C\x61\x70","\x67\x65\x74\x41\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x53\x54\x59\x4C\x45\x5F\x45\x58\x49\x54\x5F\x58","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x54\x52\x59\x5F\x58","\x53\x54\x59\x4C\x45\x5F\x45\x58\x49\x54\x5F\x59","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x54\x52\x59\x5F\x59","\x53\x54\x59\x4C\x45\x5F\x45\x58\x49\x54\x5F\x50\x45\x52\x49\x4D\x45\x54\x45\x52","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x54\x52\x59\x5F\x50\x45\x52\x49\x4D\x45\x54\x45\x52","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x70\x6F\x69\x6E\x74","\x53\x54\x59\x4C\x45\x5F\x46\x4C\x49\x50\x48","\x53\x54\x59\x4C\x45\x5F\x46\x4C\x49\x50\x56","\x69\x73\x50\x6F\x72\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x46\x6F\x72\x50\x6F\x72\x74","\x69\x73\x43\x65\x6C\x6C\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x67\x65\x74\x43\x65\x6C\x6C\x42\x6F\x75\x6E\x64\x73","\x73\x68\x69\x66\x74\x50\x72\x65\x76\x69\x65\x77\x31","\x73\x68\x69\x66\x74\x50\x72\x65\x76\x69\x65\x77\x32","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x7A\x6F\x6F\x6D\x41\x63\x74\x75\x61\x6C","\x7A\x6F\x6F\x6D\x54\x6F","\x73\x63\x72\x6F\x6C\x6C\x52\x65\x63\x74\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x7A\x6F\x6F\x6D\x54\x6F\x52\x65\x63\x74","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x4F\x52\x54\x48\x4F\x47\x4F\x4E\x41\x4C","\x53\x65\x67\x6D\x65\x6E\x74\x43\x6F\x6E\x6E\x65\x63\x74\x6F\x72","\x45\x6C\x62\x6F\x77\x43\x6F\x6E\x6E\x65\x63\x74\x6F\x72","\x53\x69\x64\x65\x54\x6F\x53\x69\x64\x65","\x54\x6F\x70\x54\x6F\x42\x6F\x74\x74\x6F\x6D","\x45\x6E\x74\x69\x74\x79\x52\x65\x6C\x61\x74\x69\x6F\x6E","\x4F\x72\x74\x68\x43\x6F\x6E\x6E\x65\x63\x74\x6F\x72","\x69\x73\x4C\x6F\x6F\x70","\x69\x73\x43\x6C\x6F\x6E\x65\x45\x76\x65\x6E\x74","\x49\x53\x5F\x4D\x41\x43","\x69\x73\x4D\x65\x74\x61\x44\x6F\x77\x6E","\x69\x73\x41\x6C\x74\x44\x6F\x77\x6E","\x69\x73\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x65\x64\x45\x76\x65\x6E\x74","\x69\x73\x46\x6F\x72\x63\x65\x4D\x61\x72\x71\x75\x65\x65\x45\x76\x65\x6E\x74","\x76\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x41\x6C\x65\x72\x74","\x69\x73\x45\x64\x67\x65\x56\x61\x6C\x69\x64","\x69\x73\x56\x61\x6C\x69\x64\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x63\x68\x65\x63\x6B","\x76\x61\x6C\x69\x64\x61\x74\x65\x45\x64\x67\x65","\x76\x61\x6C\x69\x64\x61\x74\x65\x47\x72\x61\x70\x68","\x67\x65\x74\x43\x65\x6C\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72","\x76\x61\x6C\x69\x64\x61\x74\x65\x43\x65\x6C\x6C","\x61\x74\x74\x72","\x63\x6F\x75\x6E\x74\x45\x72\x72\x6F\x72","\x73\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x74\x6F\x53\x74\x72\x69\x6E\x67","\x69\x73\x48\x74\x6D\x6C\x4C\x61\x62\x65\x6C\x73","\x73\x65\x74\x48\x74\x6D\x6C\x4C\x61\x62\x65\x6C\x73","\x53\x54\x59\x4C\x45\x5F\x57\x48\x49\x54\x45\x5F\x53\x50\x41\x43\x45","\x67\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x46\x6F\x72\x4E\x6F\x64\x65","\x67\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x46\x6F\x72\x43\x65\x6C\x6C","\x67\x65\x74\x43\x75\x72\x73\x6F\x72\x46\x6F\x72\x43\x65\x6C\x6C","\x53\x54\x59\x4C\x45\x5F\x49\x4E\x44\x49\x43\x41\x54\x4F\x52\x5F\x43\x4F\x4C\x4F\x52","\x53\x54\x59\x4C\x45\x5F\x49\x4E\x44\x49\x43\x41\x54\x4F\x52\x5F\x47\x52\x41\x44\x49\x45\x4E\x54\x43\x4F\x4C\x4F\x52","\x53\x54\x59\x4C\x45\x5F\x49\x4E\x44\x49\x43\x41\x54\x4F\x52\x5F\x53\x48\x41\x50\x45","\x53\x54\x59\x4C\x45\x5F\x49\x4E\x44\x49\x43\x41\x54\x4F\x52\x5F\x49\x4D\x41\x47\x45","\x73\x65\x74\x42\x6F\x72\x64\x65\x72","\x53\x48\x41\x50\x45\x5F\x53\x57\x49\x4D\x4C\x41\x4E\x45","\x69\x73\x52\x65\x73\x69\x7A\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x65\x74\x52\x65\x73\x69\x7A\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x69\x73\x45\x73\x63\x61\x70\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x45\x73\x63\x61\x70\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x49\x6E\x76\x6F\x6B\x65\x73\x53\x74\x6F\x70\x43\x65\x6C\x6C\x45\x64\x69\x74\x69\x6E\x67","\x73\x65\x74\x45\x6E\x74\x65\x72\x53\x74\x6F\x70\x73\x43\x65\x6C\x6C\x45\x64\x69\x74\x69\x6E\x67","\x69\x73\x43\x65\x6C\x6C\x4C\x6F\x63\x6B\x65\x64","\x69\x73\x43\x65\x6C\x6C\x73\x4C\x6F\x63\x6B\x65\x64","\x73\x65\x74\x43\x65\x6C\x6C\x73\x4C\x6F\x63\x6B\x65\x64","\x67\x65\x74\x43\x6C\x6F\x6E\x65\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x69\x73\x43\x65\x6C\x6C\x43\x6C\x6F\x6E\x65\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x73\x43\x6C\x6F\x6E\x65\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x43\x4C\x4F\x4E\x45\x41\x42\x4C\x45","\x73\x65\x74\x43\x65\x6C\x6C\x73\x43\x6C\x6F\x6E\x65\x61\x62\x6C\x65","\x63\x61\x6E\x45\x78\x70\x6F\x72\x74\x43\x65\x6C\x6C","\x63\x61\x6E\x49\x6D\x70\x6F\x72\x74\x43\x65\x6C\x6C","\x69\x73\x43\x65\x6C\x6C\x73\x53\x65\x6C\x65\x63\x74\x61\x62\x6C\x65","\x73\x65\x74\x43\x65\x6C\x6C\x73\x53\x65\x6C\x65\x63\x74\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x44\x65\x6C\x65\x74\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x73\x44\x65\x6C\x65\x74\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x44\x45\x4C\x45\x54\x41\x42\x4C\x45","\x73\x65\x74\x43\x65\x6C\x6C\x73\x44\x65\x6C\x65\x74\x61\x62\x6C\x65","\x69\x73\x4C\x61\x62\x65\x6C\x4D\x6F\x76\x61\x62\x6C\x65","\x67\x65\x74\x4D\x6F\x76\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x69\x73\x43\x65\x6C\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x4D\x4F\x56\x41\x42\x4C\x45","\x73\x65\x74\x43\x65\x6C\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x73\x65\x74\x50\x6F\x72\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x47\x72\x69\x64\x53\x69\x7A\x65","\x73\x65\x74\x47\x72\x69\x64\x53\x69\x7A\x65","\x67\x65\x74\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x73\x65\x74\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x69\x73\x56\x65\x72\x74\x65\x78\x4C\x61\x62\x65\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x73\x65\x74\x56\x65\x72\x74\x65\x78\x4C\x61\x62\x65\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x69\x73\x45\x64\x67\x65\x4C\x61\x62\x65\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x73\x65\x74\x45\x64\x67\x65\x4C\x61\x62\x65\x6C\x73\x4D\x6F\x76\x61\x62\x6C\x65","\x69\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65\x4E\x65\x73\x74\x69\x6E\x67","\x73\x65\x74\x53\x77\x69\x6D\x6C\x61\x6E\x65\x4E\x65\x73\x74\x69\x6E\x67","\x73\x65\x74\x53\x77\x69\x6D\x6C\x61\x6E\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x4D\x75\x6C\x74\x69\x67\x72\x61\x70\x68","\x73\x65\x74\x4D\x75\x6C\x74\x69\x67\x72\x61\x70\x68","\x69\x73\x41\x6C\x6C\x6F\x77\x4C\x6F\x6F\x70\x73","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x44\x61\x6E\x67\x6C\x69\x6E\x67\x45\x64\x67\x65\x73","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65\x45\x64\x67\x65\x73","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65\x45\x64\x67\x65\x73","\x73\x65\x74\x43\x6C\x6F\x6E\x65\x49\x6E\x76\x61\x6C\x69\x64\x45\x64\x67\x65\x73","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x4C\x6F\x6F\x70\x73","\x73\x65\x74\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x4F\x6E\x4D\x6F\x76\x65","\x73\x65\x74\x44\x72\x6F\x70\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x70\x6C\x69\x74\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x53\x70\x6C\x69\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x43\x65\x6C\x6C\x52\x65\x73\x69\x7A\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x73\x52\x65\x73\x69\x7A\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x52\x45\x53\x49\x5A\x41\x42\x4C\x45","\x73\x65\x74\x43\x65\x6C\x6C\x73\x52\x65\x73\x69\x7A\x61\x62\x6C\x65","\x69\x73\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74\x4D\x6F\x76\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x42\x65\x6E\x64\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x73\x42\x65\x6E\x64\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x42\x45\x4E\x44\x41\x42\x4C\x45","\x73\x65\x74\x43\x65\x6C\x6C\x73\x42\x65\x6E\x64\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x73\x45\x64\x69\x74\x61\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x45\x44\x49\x54\x41\x42\x4C\x45","\x73\x65\x74\x43\x65\x6C\x6C\x73\x45\x64\x69\x74\x61\x62\x6C\x65","\x69\x73\x43\x65\x6C\x6C\x73\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x73\x65\x74\x43\x65\x6C\x6C\x73\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x69\x73\x56\x61\x6C\x69\x64\x53\x6F\x75\x72\x63\x65","\x69\x73\x56\x61\x6C\x69\x64\x54\x61\x72\x67\x65\x74","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x50\x61\x6E\x6E\x69\x6E\x67","\x69\x73\x41\x75\x74\x6F\x53\x69\x7A\x65\x43\x65\x6C\x6C\x73","\x53\x54\x59\x4C\x45\x5F\x41\x55\x54\x4F\x53\x49\x5A\x45","\x73\x65\x74\x41\x75\x74\x6F\x53\x69\x7A\x65\x43\x65\x6C\x6C\x73","\x69\x73\x45\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74\x73","\x73\x65\x74\x45\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74\x73","\x73\x65\x74\x45\x78\x74\x65\x6E\x64\x50\x61\x72\x65\x6E\x74\x73\x4F\x6E\x41\x64\x64","\x69\x73\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64\x72\x65\x6E","\x73\x65\x74\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64\x72\x65\x6E","\x69\x73\x41\x6C\x6C\x6F\x77\x4F\x76\x65\x72\x6C\x61\x70\x50\x61\x72\x65\x6E\x74","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4C\x44\x41\x42\x4C\x45","\x69\x73\x56\x61\x6C\x69\x64\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x69\x73\x53\x70\x6C\x69\x74\x54\x61\x72\x67\x65\x74","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x68\x69\x74\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65\x43\x6F\x6E\x74\x65\x6E\x74","\x67\x65\x74\x50\x6F\x69\x6E\x74\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x65\x74\x43\x65\x6C\x6C\x73","\x67\x65\x74\x43\x65\x6C\x6C\x73\x42\x65\x79\x6F\x6E\x64","\x69\x73\x43\x65\x6C\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x61\x64\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x61\x64\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x72\x65\x6D\x6F\x76\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x52\x65\x67\x69\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x73\x46\x6F\x72\x45\x76\x65\x6E\x74","\x73\x65\x6C\x65\x63\x74\x4E\x65\x78\x74\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x50\x72\x65\x76\x69\x6F\x75\x73\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x50\x61\x72\x65\x6E\x74\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x43\x68\x69\x6C\x64\x43\x65\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x73","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72","\x75\x70\x64\x61\x74\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x4D\x4F\x55\x53\x45\x5F\x44\x4F\x57\x4E","\x6C\x61\x73\x74\x54\x6F\x75\x63\x68\x58","\x6C\x61\x73\x74\x4D\x6F\x75\x73\x65\x58","\x6C\x61\x73\x74\x4D\x6F\x75\x73\x65\x59","\x4D\x4F\x55\x53\x45\x5F\x55\x50","\x4D\x4F\x55\x53\x45\x5F\x4D\x4F\x56\x45","\x64\x65\x73\x74\x72\x6F\x79\x65\x64","\x74\x6F\x6F\x6C\x74\x69\x70","\x68\x65\x6C\x70","\x67\x72\x61\x70\x68\x52\x65\x6E\x64\x65\x72\x48\x69\x6E\x74","\x73\x68\x6F\x77\x56\x69\x65\x77\x70\x6F\x72\x74","\x73\x69\x7A\x65\x72\x53\x69\x7A\x65","\x75\x70\x64\x61\x74\x65\x4F\x6E\x50\x61\x6E","\x73\x69\x7A\x65\x72\x49\x6D\x61\x67\x65","\x73\x68\x61\x70\x65\x2D\x72\x65\x6E\x64\x65\x72\x69\x6E\x67","\x6F\x70\x74\x69\x6D\x69\x7A\x65\x53\x70\x65\x65\x64","\x69\x6D\x61\x67\x65\x2D\x72\x65\x6E\x64\x65\x72\x69\x6E\x67","\x75\x70\x64\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72","\x75\x70\x64\x61\x74\x65","\x70\x61\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x72\x65\x66\x72\x65\x73\x68\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x42\x6F\x72\x64\x65\x72","\x72\x65\x64\x69\x72\x65\x63\x74\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73","\x73\x69\x7A\x65\x72","\x63\x72\x65\x61\x74\x65\x53\x69\x7A\x65\x72","\x73\x65\x74\x5A\x6F\x6F\x6D\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x53\x6F\x75\x72\x63\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x53\x69\x7A\x65","\x67\x65\x74\x4F\x75\x74\x6C\x69\x6E\x65\x4F\x66\x66\x73\x65\x74","\x73\x74\x61\x72\x74\x58","\x73\x74\x61\x72\x74\x59","\x64\x78\x30","\x64\x79\x30","\x6E","\x76\x61\x6C\x69\x64\x4E\x65\x69\x67\x68\x62\x6F\x72\x73","\x74\x79\x70\x65\x45\x72\x72\x6F\x72","\x76\x61\x6C\x69\x64\x4E\x65\x69\x67\x68\x62\x6F\x72\x73\x41\x6C\x6C\x6F\x77\x65\x64","\x63\x68\x65\x63\x6B\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x63\x68\x65\x63\x6B\x4E\x65\x69\x67\x68\x62\x6F\x72\x73","\x63\x68\x65\x63\x6B\x54\x79\x70\x65","\x75\x6E\x64\x6F\x48\x61\x6E\x64\x6C\x65\x72","\x62\x75\x62\x62\x6C\x69\x6E\x67","\x69\x73\x42\x75\x62\x62\x6C\x69\x6E\x67","\x73\x65\x74\x42\x75\x62\x62\x6C\x69\x6E\x67","\x67\x65\x74\x4C\x61\x79\x6F\x75\x74","\x67\x65\x74\x43\x65\x6C\x6C\x73\x46\x6F\x72\x43\x68\x61\x6E\x67\x65\x73","\x67\x65\x74\x43\x65\x6C\x6C\x73\x46\x6F\x72\x43\x68\x61\x6E\x67\x65","\x65\x78\x65\x63\x75\x74\x65\x4C\x61\x79\x6F\x75\x74","\x72\x65\x73\x69\x7A\x65\x48\x61\x6E\x64\x6C\x65\x72","\x66\x6F\x6C\x64\x48\x61\x6E\x64\x6C\x65\x72","\x73\x68\x69\x66\x74\x52\x69\x67\x68\x74\x77\x61\x72\x64\x73","\x73\x68\x69\x66\x74\x44\x6F\x77\x6E\x77\x61\x72\x64\x73","\x69\x73\x43\x65\x6C\x6C\x49\x67\x6E\x6F\x72\x65\x64","\x69\x73\x43\x65\x6C\x6C\x53\x68\x69\x66\x74\x61\x62\x6C\x65","\x69\x73\x53\x68\x69\x66\x74\x52\x69\x67\x68\x74\x77\x61\x72\x64\x73","\x73\x65\x74\x53\x68\x69\x66\x74\x52\x69\x67\x68\x74\x77\x61\x72\x64\x73","\x69\x73\x53\x68\x69\x66\x74\x44\x6F\x77\x6E\x77\x61\x72\x64\x73","\x73\x65\x74\x53\x68\x69\x66\x74\x44\x6F\x77\x6E\x77\x61\x72\x64\x73","\x63\x65\x6C\x6C\x52\x65\x73\x69\x7A\x65\x64","\x67\x65\x74\x43\x65\x6C\x6C\x73\x54\x6F\x53\x68\x69\x66\x74","\x73\x68\x69\x66\x74\x43\x65\x6C\x6C","\x61\x64\x64\x45\x6E\x61\x62\x6C\x65\x64","\x72\x65\x73\x69\x7A\x65\x45\x6E\x61\x62\x6C\x65\x64","\x61\x64\x64\x48\x61\x6E\x64\x6C\x65\x72","\x69\x73\x41\x64\x64\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x52\x65\x73\x69\x7A\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x48\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x73\x65\x74\x41\x64\x64\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x52\x65\x73\x69\x7A\x65\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65\x49\x67\x6E\x6F\x72\x65\x64","\x69\x73\x43\x65\x6C\x6C\x48\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x41\x64\x64\x65\x64","\x72\x65\x73\x69\x7A\x65\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x6F\x6C\x64\x42\x6F\x75\x6E\x64\x73","\x6F\x6C\x64\x53\x74\x61\x74\x65\x73","\x6F\x6C\x64\x53\x63\x61\x6C\x65","\x64\x65\x6C\x74\x61\x73","\x63\x6F\x75\x6E\x74","\x58","\x59","\x61\x64\x64\x45\x64\x67\x65\x73","\x72\x65\x73\x6F\x6C\x76\x65","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x53\x74\x61\x74\x65","\x72\x65\x76\x61\x6C\x69\x64\x61\x74\x65\x53\x74\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x50\x72\x65\x76\x69\x65\x77\x53\x68\x61\x70\x65","\x6D\x61\x78\x43\x65\x6C\x6C\x73","\x68\x69\x67\x68\x6C\x69\x67\x68\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x6C\x6F\x6E\x65\x45\x6E\x61\x62\x6C\x65\x64","\x6D\x6F\x76\x65\x45\x6E\x61\x62\x6C\x65\x64","\x67\x75\x69\x64\x65","\x63\x75\x72\x72\x65\x6E\x74\x44\x78","\x63\x75\x72\x72\x65\x6E\x74\x44\x79","\x75\x70\x64\x61\x74\x65\x43\x75\x72\x73\x6F\x72","\x73\x65\x6C\x65\x63\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x4F\x6E\x44\x72\x6F\x70","\x73\x63\x72\x6F\x6C\x6C\x4F\x6E\x4D\x6F\x76\x65","\x70\x72\x65\x76\x69\x65\x77\x43\x6F\x6C\x6F\x72","\x68\x74\x6D\x6C\x50\x72\x65\x76\x69\x65\x77","\x73\x63\x61\x6C\x65\x47\x72\x69\x64","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x43\x6C\x6F\x6E\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x43\x6C\x6F\x6E\x65\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x4D\x6F\x76\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x4D\x6F\x76\x65\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x65\x6C\x65\x63\x74\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x52\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x73\x65\x74\x52\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x49\x6E\x69\x74\x69\x61\x6C\x43\x65\x6C\x6C\x46\x6F\x72\x45\x76\x65\x6E\x74","\x69\x73\x44\x65\x6C\x61\x79\x65\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x64\x65\x6C\x61\x79\x65\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x63\x65\x6C\x6C\x57\x61\x73\x43\x6C\x69\x63\x6B\x65\x64","\x53\x45\x4C\x45\x43\x54","\x66\x69\x72\x73\x74","\x67\x65\x74\x50\x72\x65\x76\x69\x65\x77\x42\x6F\x75\x6E\x64\x73","\x63\x72\x65\x61\x74\x65\x50\x72\x65\x76\x69\x65\x77\x53\x68\x61\x70\x65","\x70\x42\x6F\x75\x6E\x64\x73","\x75\x73\x65\x47\x75\x69\x64\x65\x73\x46\x6F\x72\x45\x76\x65\x6E\x74","\x73\x65\x74\x48\x69\x67\x68\x6C\x69\x67\x68\x74\x43\x6F\x6C\x6F\x72","\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4C\x4F\x52","\x49\x4E\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4E\x4E\x45\x43\x54\x5F\x54\x41\x52\x47\x45\x54\x5F\x43\x4F\x4C\x4F\x52","\x43\x55\x52\x53\x4F\x52\x5F\x4D\x4F\x56\x41\x42\x4C\x45\x5F\x45\x44\x47\x45","\x43\x55\x52\x53\x4F\x52\x5F\x4D\x4F\x56\x41\x42\x4C\x45\x5F\x56\x45\x52\x54\x45\x58","\x73\x65\x6C\x65\x63\x74\x44\x65\x6C\x61\x79\x65\x64","\x64\x65\x73\x74\x72\x6F\x79\x53\x68\x61\x70\x65\x73","\x67\x75\x69\x64\x65\x73","\x73\x68\x6F\x75\x6C\x64\x52\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x74\x72\x69\x67\x67\x65\x72\x58","\x74\x72\x69\x67\x67\x65\x72\x59","\x75\x73\x65\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x75\x73\x65\x4C\x65\x66\x74\x42\x75\x74\x74\x6F\x6E\x46\x6F\x72\x50\x61\x6E\x6E\x69\x6E\x67","\x73\x65\x6C\x65\x63\x74\x4F\x6E\x50\x6F\x70\x75\x70","\x63\x6C\x65\x61\x72\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4F\x6E\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x69\x67\x6E\x6F\x72\x65\x43\x65\x6C\x6C","\x70\x72\x65\x76\x69\x65\x77\x45\x6E\x61\x62\x6C\x65\x64","\x75\x73\x65\x47\x72\x69\x64","\x69\x73\x50\x61\x6E\x6E\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x50\x61\x6E\x6E\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x50\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x70\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x63\x6F\x6E\x73\x75\x6D\x65\x50\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x67\x65\x74\x43\x65\x6C\x6C\x46\x6F\x72\x50\x6F\x70\x75\x70\x45\x76\x65\x6E\x74","\x76\x61\x6C\x69\x64\x43\x6F\x6C\x6F\x72","\x44\x45\x46\x41\x55\x4C\x54\x5F\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4C\x4F\x52","\x69\x6E\x76\x61\x6C\x69\x64\x43\x6F\x6C\x6F\x72","\x44\x45\x46\x41\x55\x4C\x54\x5F\x49\x4E\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4C\x4F\x52","\x68\x6F\x74\x73\x70\x6F\x74","\x44\x45\x46\x41\x55\x4C\x54\x5F\x48\x4F\x54\x53\x50\x4F\x54","\x68\x6F\x74\x73\x70\x6F\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x75\x72\x72\x65\x6E\x74\x43\x6F\x6C\x6F\x72","\x76\x61\x6C\x69\x64\x53\x74\x61\x74\x65","\x6D\x61\x72\x6B\x65\x64\x53\x74\x61\x74\x65","\x73\x65\x74\x48\x6F\x74\x73\x70\x6F\x74","\x67\x65\x74\x48\x6F\x74\x73\x70\x6F\x74","\x73\x65\x74\x48\x6F\x74\x73\x70\x6F\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x48\x6F\x74\x73\x70\x6F\x74\x45\x6E\x61\x62\x6C\x65\x64","\x68\x61\x73\x56\x61\x6C\x69\x64\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x61\x6C\x69\x64\x53\x74\x61\x74\x65","\x67\x65\x74\x4D\x61\x72\x6B\x65\x64\x53\x74\x61\x74\x65","\x75\x6E\x6D\x61\x72\x6B","\x70\x72\x6F\x63\x65\x73\x73","\x69\x73\x56\x61\x6C\x69\x64\x53\x74\x61\x74\x65","\x67\x65\x74\x4D\x61\x72\x6B\x65\x72\x43\x6F\x6C\x6F\x72","\x6D\x61\x72\x6B\x43\x65\x6C\x6C","\x67\x65\x74\x53\x74\x61\x74\x65\x54\x6F\x4D\x61\x72\x6B","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x73\x48\x6F\x74\x73\x70\x6F\x74","\x72\x65\x73\x65\x74\x48\x61\x6E\x64\x6C\x65\x72","\x68\x61\x6E\x64\x6C\x65\x72\x73","\x6D\x61\x78\x48\x61\x6E\x64\x6C\x65\x72\x73","\x6D\x6F\x76\x65\x49\x63\x6F\x6E\x46\x72\x6F\x6E\x74","\x6D\x6F\x76\x65\x49\x63\x6F\x6E\x42\x61\x63\x6B","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x74\x61\x72\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x63\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x6D\x61\x72\x6B\x65\x72","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x48\x61\x6E\x64\x6C\x65\x72","\x77\x61\x79\x70\x6F\x69\x6E\x74\x73\x45\x6E\x61\x62\x6C\x65\x64","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x45\x6E\x61\x62\x6C\x65\x64","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x44\x65\x6C\x61\x79","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x49\x6E\x50\x72\x6F\x67\x72\x65\x73\x73","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x56\x61\x6C\x69\x64","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x69\x6E\x69\x74\x69\x61\x6C\x54\x6F\x75\x63\x68\x58","\x69\x6E\x69\x74\x69\x61\x6C\x54\x6F\x75\x63\x68\x59","\x69\x67\x6E\x6F\x72\x65\x4D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x63\x6F\x6E\x4F\x66\x66\x73\x65\x74","\x65\x64\x67\x65\x53\x74\x61\x74\x65","\x64\x72\x69\x6C\x6C\x48\x61\x6E\x64\x6C\x65\x72","\x6D\x6F\x75\x73\x65\x44\x6F\x77\x6E\x43\x6F\x75\x6E\x74\x65\x72","\x6D\x6F\x76\x65\x50\x72\x65\x76\x69\x65\x77\x41\x77\x61\x79","\x69\x73\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x73\x65\x74\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x69\x63\x6F\x6E\x53\x74\x61\x74\x65","\x69\x63\x6F\x6E\x73","\x72\x65\x64\x72\x61\x77\x49\x63\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x49\x63\x6F\x6E\x73","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67","\x76\x61\x6C\x69\x64\x61\x74\x65\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x53\x74\x61\x74\x65","\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x69\x73\x4D\x6F\x76\x65\x49\x63\x6F\x6E\x54\x6F\x46\x72\x6F\x6E\x74\x46\x6F\x72\x53\x74\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x49\x63\x6F\x6E\x73","\x43\x55\x52\x53\x4F\x52\x5F\x43\x4F\x4E\x4E\x45\x43\x54","\x63\x75\x72\x72\x65\x6E\x74\x53\x74\x61\x74\x65","\x69\x63\x6F\x6E","\x67\x65\x74\x49\x63\x6F\x6E\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x69\x73\x53\x74\x61\x72\x74\x45\x76\x65\x6E\x74","\x63\x75\x72\x72\x65\x6E\x74\x46\x6F\x63\x75\x73","\x63\x75\x72\x72\x65\x6E\x74\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x73\x6F\x75\x72\x63\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x77\x61\x79\x70\x6F\x69\x6E\x74\x73","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x54\x68\x72\x65\x61\x64","\x63\x6C\x65\x61\x72\x54\x69\x6D\x65\x6F\x75\x74","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64","\x73\x65\x6C\x65\x63\x74\x65\x64\x49\x63\x6F\x6E","\x69\x73\x49\x6D\x6D\x65\x64\x69\x61\x74\x65\x43\x6F\x6E\x6E\x65\x63\x74\x53\x6F\x75\x72\x63\x65","\x75\x70\x64\x61\x74\x65\x43\x75\x72\x72\x65\x6E\x74\x53\x74\x61\x74\x65","\x63\x6F\x6E\x76\x65\x72\x74\x57\x61\x79\x70\x6F\x69\x6E\x74","\x67\x65\x74\x54\x61\x72\x67\x65\x74\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x50\x6F\x69\x6E\x74","\x67\x65\x74\x53\x6F\x75\x72\x63\x65\x50\x65\x72\x69\x6D\x65\x74\x65\x72\x50\x6F\x69\x6E\x74","\x64\x72\x61\x77\x50\x72\x65\x76\x69\x65\x77","\x75\x70\x64\x61\x74\x65\x49\x63\x6F\x6E\x73","\x69\x73\x53\x74\x6F\x70\x45\x76\x65\x6E\x74","\x61\x64\x64\x57\x61\x79\x70\x6F\x69\x6E\x74\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x65\x74\x45\x64\x67\x65\x57\x69\x64\x74\x68","\x67\x65\x74\x45\x64\x67\x65\x43\x6F\x6C\x6F\x72","\x49\x4E\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4C\x4F\x52","\x63\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x41\x6C\x69\x67\x6E\x6D\x65\x6E\x74\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x70\x6F\x69\x6E\x74\x49\x6D\x61\x67\x65","\x2F\x70\x6F\x69\x6E\x74\x2E\x67\x69\x66","\x68\x69\x67\x68\x6C\x69\x67\x68\x74\x43\x6F\x6C\x6F\x72","\x66\x6F\x63\x75\x73\x49\x63\x6F\x6E\x73","\x66\x6F\x63\x75\x73\x48\x69\x67\x68\x6C\x69\x67\x68\x74","\x66\x6F\x63\x75\x73\x50\x6F\x69\x6E\x74\x73","\x63\x75\x72\x72\x65\x6E\x74\x46\x6F\x63\x75\x73\x41\x72\x65\x61","\x67\x65\x74\x49\x6D\x61\x67\x65\x46\x6F\x72\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74","\x69\x73\x45\x76\x65\x6E\x74\x49\x67\x6E\x6F\x72\x65\x64","\x72\x65\x70\x61\x69\x6E\x74","\x64\x65\x66\x61\x75\x6C\x74\x4F\x70\x61\x63\x69\x74\x79","\x73\x68\x61\x72\x65\x64\x44\x69\x76","\x63\x75\x72\x72\x65\x6E\x74\x58","\x63\x75\x72\x72\x65\x6E\x74\x59","\x64\x72\x61\x67\x48\x61\x6E\x64\x6C\x65\x72","\x6D\x78\x52\x75\x62\x62\x65\x72\x62\x61\x6E\x64","\x73\x69\x6E\x67\x6C\x65\x53\x69\x7A\x65\x72","\x61\x6C\x6C\x6F\x77\x48\x61\x6E\x64\x6C\x65\x42\x6F\x75\x6E\x64\x73\x43\x68\x65\x63\x6B","\x68\x61\x6E\x64\x6C\x65\x49\x6D\x61\x67\x65","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x52\x61\x73\x74\x65\x72","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x42\x6F\x75\x6E\x64\x73","\x63\x72\x65\x61\x74\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x53\x68\x61\x70\x65","\x73\x69\x7A\x65\x72\x73","\x6E\x2D\x72\x65\x73\x69\x7A\x65","\x6E\x65\x2D\x72\x65\x73\x69\x7A\x65","\x77\x2D\x72\x65\x73\x69\x7A\x65","\x65\x2D\x72\x65\x73\x69\x7A\x65","\x73\x77\x2D\x72\x65\x73\x69\x7A\x65","\x73\x2D\x72\x65\x73\x69\x7A\x65","\x73\x65\x2D\x72\x65\x73\x69\x7A\x65","\x6C\x61\x62\x65\x6C\x53\x68\x61\x70\x65","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x53\x68\x61\x70\x65","\x48\x41\x4E\x44\x4C\x45\x5F\x53\x49\x5A\x45","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x6C\x6F\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x53\x74\x72\x6F\x6B\x65\x57\x69\x64\x74\x68","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x44\x61\x73\x68\x65\x64","\x56\x45\x52\x54\x45\x58\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x43\x4F\x4C\x4F\x52","\x56\x45\x52\x54\x45\x58\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x53\x54\x52\x4F\x4B\x45\x57\x49\x44\x54\x48","\x56\x45\x52\x54\x45\x58\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x45\x44","\x63\x72\x65\x61\x74\x65\x53\x69\x7A\x65\x72\x53\x68\x61\x70\x65","\x69\x73\x53\x69\x7A\x65\x72\x56\x69\x73\x69\x62\x6C\x65","\x52\x4F\x54\x41\x54\x49\x4F\x4E\x5F\x48\x41\x4E\x44\x4C\x45","\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x6D\x6F\x76\x65\x53\x69\x7A\x65\x72\x54\x6F","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x46\x6F\x72\x45\x76\x65\x6E\x74","\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45","\x70\x72\x65\x76\x69\x65\x77","\x63\x75\x72\x72\x65\x6E\x74\x41\x6C\x70\x68\x61","\x61\x74\x61\x6E","\x75\x6E\x69\x6F\x6E","\x72\x6F\x74\x61\x74\x65\x43\x65\x6C\x6C","\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64\x72\x65\x6E","\x62\x65\x6E\x64\x73","\x72\x65\x6D\x6F\x76\x65\x45\x6E\x61\x62\x6C\x65\x64","\x73\x6E\x61\x70\x54\x6F\x54\x65\x72\x6D\x69\x6E\x61\x6C\x73","\x61\x62\x73\x70\x6F\x69\x6E\x74\x73","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x50\x6F\x69\x6E\x74\x73","\x69\x73\x41\x64\x64\x50\x6F\x69\x6E\x74\x45\x76\x65\x6E\x74","\x61\x64\x64\x50\x6F\x69\x6E\x74","\x63\x72\x65\x61\x74\x65\x42\x65\x6E\x64\x73","\x69\x6E\x69\x74\x42\x65\x6E\x64","\x43\x55\x52\x53\x4F\x52\x5F\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45","\x69\x73\x52\x65\x6D\x6F\x76\x65\x50\x6F\x69\x6E\x74\x45\x76\x65\x6E\x74","\x45\x44\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x43\x4F\x4C\x4F\x52","\x45\x44\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x53\x54\x52\x4F\x4B\x45\x57\x49\x44\x54\x48","\x45\x44\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x45\x44","\x69\x73\x48\x61\x6E\x64\x6C\x65\x56\x69\x73\x69\x62\x6C\x65","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x53\x68\x61\x70\x65","\x69\x73\x48\x61\x6E\x64\x6C\x65\x45\x6E\x61\x62\x6C\x65\x64","\x43\x55\x52\x53\x4F\x52\x5F\x42\x45\x4E\x44\x5F\x48\x41\x4E\x44\x4C\x45","\x72\x65\x6D\x6F\x76\x65\x50\x6F\x69\x6E\x74","\x69\x73\x54\x61\x72\x67\x65\x74","\x69\x73\x4C\x61\x62\x65\x6C","\x63\x6C\x6F\x6E\x65\x50\x72\x65\x76\x69\x65\x77\x53\x74\x61\x74\x65","\x67\x65\x74\x53\x6E\x61\x70\x54\x6F\x54\x65\x72\x6D\x69\x6E\x61\x6C\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x67\x65\x74\x50\x72\x65\x76\x69\x65\x77\x54\x65\x72\x6D\x69\x6E\x61\x6C\x53\x74\x61\x74\x65","\x67\x65\x74\x50\x72\x65\x76\x69\x65\x77\x50\x6F\x69\x6E\x74\x73","\x75\x70\x64\x61\x74\x65\x50\x72\x65\x76\x69\x65\x77\x53\x74\x61\x74\x65","\x73\x65\x74\x50\x72\x65\x76\x69\x65\x77\x43\x6F\x6C\x6F\x72","\x6D\x6F\x76\x65\x4C\x61\x62\x65\x6C","\x63\x68\x61\x6E\x67\x65\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x63\x68\x61\x6E\x67\x65\x50\x6F\x69\x6E\x74\x73","\x61\x64\x64\x50\x6F\x69\x6E\x74\x41\x74","\x66\x69\x6E\x64\x4E\x65\x61\x72\x65\x73\x74\x53\x65\x67\x6D\x65\x6E\x74","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x46\x69\x6C\x6C\x43\x6F\x6C\x6F\x72","\x4C\x4F\x43\x4B\x45\x44\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x43\x4F\x4E\x4E\x45\x43\x54\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x53\x49\x5A\x45","\x72\x65\x64\x72\x61\x77\x49\x6E\x6E\x65\x72\x42\x65\x6E\x64\x73","\x66\x6C\x69\x70\x45\x6E\x61\x62\x6C\x65\x64","\x64\x6F\x75\x62\x6C\x65\x43\x6C\x69\x63\x6B\x4F\x72\x69\x65\x6E\x74\x61\x74\x69\x6F\x6E\x52\x65\x73\x6F\x75\x72\x63\x65","\x64\x6F\x75\x62\x6C\x65\x43\x6C\x69\x63\x6B\x4F\x72\x69\x65\x6E\x74\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x56\x69\x72\x74\x75\x61\x6C\x42\x65\x6E\x64","\x67\x65\x74\x43\x75\x72\x73\x6F\x72\x46\x6F\x72\x42\x65\x6E\x64","\x45\x44\x47\x45\x53\x54\x59\x4C\x45\x5F\x54\x4F\x50\x54\x4F\x42\x4F\x54\x54\x4F\x4D","\x45\x44\x47\x45\x53\x54\x59\x4C\x45\x5F\x45\x4C\x42\x4F\x57","\x72\x6F\x77\x2D\x72\x65\x73\x69\x7A\x65","\x63\x6F\x6C\x2D\x72\x65\x73\x69\x7A\x65","\x6E\x6F\x72\x6D\x61\x6C\x4B\x65\x79\x73","\x73\x68\x69\x66\x74\x4B\x65\x79\x73","\x63\x6F\x6E\x74\x72\x6F\x6C\x4B\x65\x79\x73","\x63\x6F\x6E\x74\x72\x6F\x6C\x53\x68\x69\x66\x74\x4B\x65\x79\x73","\x6B\x65\x79\x44\x6F\x77\x6E","\x62\x69\x6E\x64\x4B\x65\x79","\x62\x69\x6E\x64\x53\x68\x69\x66\x74\x4B\x65\x79","\x62\x69\x6E\x64\x43\x6F\x6E\x74\x72\x6F\x6C\x4B\x65\x79","\x62\x69\x6E\x64\x43\x6F\x6E\x74\x72\x6F\x6C\x53\x68\x69\x66\x74\x4B\x65\x79","\x67\x65\x74\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x69\x73\x47\x72\x61\x70\x68\x45\x76\x65\x6E\x74","\x68\x69\x64\x65\x4F\x6E\x48\x6F\x76\x65\x72","\x73\x65\x74\x48\x69\x64\x65\x4F\x6E\x48\x6F\x76\x65\x72","\x6D\x78\x54\x6F\x6F\x6C\x74\x69\x70","\x68\x69\x64\x65\x54\x6F\x6F\x6C\x74\x69\x70","\x73\x74\x61\x74\x65\x53\x6F\x75\x72\x63\x65","\x72\x65\x73\x65\x74\x54\x69\x6D\x65\x72","\x48\x49\x47\x48\x4C\x49\x47\x48\x54\x5F\x53\x54\x52\x4F\x4B\x45\x57\x49\x44\x54\x48","\x72\x65\x70\x61\x69\x6E\x74\x48\x61\x6E\x64\x6C\x65\x72","\x6B\x65\x65\x70\x4F\x6E\x54\x6F\x70","\x64\x72\x61\x77\x48\x69\x67\x68\x6C\x69\x67\x68\x74","\x65\x64\x69\x74\x6F\x72","\x68\x69\x64\x65\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73","\x62\x69\x6E\x64\x41\x63\x74\x69\x6F\x6E","\x63\x6F\x6E\x66\x69\x67","\x63\x72\x65\x61\x74\x65\x4D\x65\x6E\x75","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x61\x64\x64\x49\x74\x65\x6D\x73","\x69\x66","\x61\x73","\x69\x63\x6F\x6E\x43\x6C\x73","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E","\x73\x65\x70\x61\x72\x61\x74\x6F\x72","\x6E\x6F\x63\x65\x6C\x6C","\x6E\x63\x65\x6C\x6C\x73","\x6E\x6F\x74\x52\x6F\x6F\x74","\x6E\x6F\x6E\x45\x6D\x70\x74\x79","\x65\x78\x70\x61\x6E\x64\x61\x62\x6C\x65","\x63\x6F\x6C\x6C\x61\x70\x73\x61\x62\x6C\x65","\x76\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x65\x6D\x70\x74\x79\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x74\x6F\x6F\x6C\x62\x61\x72","\x69\x6E\x73\x65\x72\x74\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x2F\x73\x65\x70\x61\x72\x61\x74\x6F\x72\x2E\x67\x69\x66","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E\x4F\x70\x74\x69\x6F\x6E","\x73\x65\x74\x4D\x6F\x64\x65","\x61\x64\x64\x50\x72\x6F\x74\x6F\x74\x79\x70\x65","\x69\x6E\x73\x74\x61\x6C\x6C\x44\x72\x6F\x70\x48\x61\x6E\x64\x6C\x65\x72","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x46\x6C\x6F\x77","\x6D\x61\x6B\x65\x44\x72\x61\x67\x67\x61\x62\x6C\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E\x73","\x63\x79\x63\x6C\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x56\x61\x6C\x75\x65\x73","\x70\x6F\x70\x75\x70\x48\x61\x6E\x64\x6C\x65\x72","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x63\x72\x65\x61\x74\x65\x47\x72\x61\x70\x68","\x63\x72\x65\x61\x74\x65\x54\x6F\x6F\x6C\x62\x61\x72","\x6B\x65\x79\x48\x61\x6E\x64\x6C\x65\x72","\x63\x6F\x6E\x66\x69\x67\x75\x72\x65","\x63\x79\x63\x6C\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4E\x61\x6D\x65","\x49\x53\x5F\x4C\x4F\x43\x41\x4C","\x63\x72\x65\x61\x74\x65\x53\x65\x73\x73\x69\x6F\x6E","\x2F\x72\x65\x73\x6F\x75\x72\x63\x65\x73\x2F\x65\x64\x69\x74\x6F\x72","\x61\x73\x6B\x5A\x6F\x6F\x6D\x52\x65\x73\x6F\x75\x72\x63\x65","\x61\x73\x6B\x5A\x6F\x6F\x6D","\x6C\x61\x73\x74\x53\x61\x76\x65\x64\x52\x65\x73\x6F\x75\x72\x63\x65","\x6C\x61\x73\x74\x53\x61\x76\x65\x64","\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\x65\x52\x65\x73\x6F\x75\x72\x63\x65","\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\x65","\x70\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x52\x65\x73\x6F\x75\x72\x63\x65","\x74\x61\x73\x6B\x73\x52\x65\x73\x6F\x75\x72\x63\x65","\x74\x61\x73\x6B\x73","\x68\x65\x6C\x70\x52\x65\x73\x6F\x75\x72\x63\x65","\x6F\x75\x74\x6C\x69\x6E\x65\x52\x65\x73\x6F\x75\x72\x63\x65","\x64\x62\x6C\x43\x6C\x69\x63\x6B\x41\x63\x74\x69\x6F\x6E","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x52\x65\x71\x75\x69\x72\x65\x64","\x66\x6F\x72\x63\x65\x64\x49\x6E\x73\x65\x72\x74\x69\x6E\x67","\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x64\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x64\x65\x66\x61\x75\x6C\x74\x47\x72\x6F\x75\x70","\x67\x72\x6F\x75\x70\x42\x6F\x72\x64\x65\x72\x53\x69\x7A\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x70\x6F\x73\x74\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x4E\x61\x6D\x65","\x75\x72\x6C\x50\x6F\x73\x74","\x75\x72\x6C\x49\x6D\x61\x67\x65","\x6C\x61\x79\x6F\x75\x74\x44\x69\x61\x67\x72\x61\x6D","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x53\x70\x61\x63\x69\x6E\x67","\x6D\x61\x69\x6E\x74\x61\x69\x6E\x53\x77\x69\x6D\x6C\x61\x6E\x65\x73","\x6C\x61\x79\x6F\x75\x74\x53\x77\x69\x6D\x6C\x61\x6E\x65\x73","\x63\x79\x63\x6C\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x49\x6E\x64\x65\x78","\x74\x61\x73\x6B\x73\x57\x69\x6E\x64\x6F\x77\x49\x6D\x61\x67\x65","\x74\x61\x73\x6B\x73\x54\x6F\x70","\x68\x65\x6C\x70\x57\x69\x6E\x64\x6F\x77\x49\x6D\x61\x67\x65","\x75\x72\x6C\x48\x65\x6C\x70","\x68\x65\x6C\x70\x57\x69\x64\x74\x68","\x68\x65\x6C\x70\x48\x65\x69\x67\x68\x74","\x70\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x57\x69\x64\x74\x68","\x70\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x48\x65\x69\x67\x68\x74","\x6D\x6F\x76\x65\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x44\x69\x61\x6C\x6F\x67","\x76\x61\x6C\x69\x64\x61\x74\x69\x6E\x67","\x65\x78\x70\x6F\x72\x74\x49\x6D\x61\x67\x65","\x67\x65\x74\x55\x72\x6C\x49\x6D\x61\x67\x65","\x67\x65\x74\x56\x69\x65\x77\x58\x6D\x6C","\x5F\x62\x6C\x61\x6E\x6B","\x63\x75\x74","\x70\x61\x73\x74\x65","\x64\x65\x6C\x65\x74\x65","\x75\x6E\x67\x72\x6F\x75\x70","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x73\x68\x6F\x77\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73","\x73\x65\x6C\x65\x63\x74\x4E\x6F\x6E\x65","\x74\x6F\x42\x61\x63\x6B","\x74\x6F\x46\x72\x6F\x6E\x74","\x73\x65\x6C\x65\x63\x74\x50\x72\x65\x76\x69\x6F\x75\x73","\x73\x65\x6C\x65\x63\x74\x4E\x65\x78\x74","\x73\x65\x6C\x65\x63\x74\x50\x61\x72\x65\x6E\x74","\x73\x65\x6C\x65\x63\x74\x43\x68\x69\x6C\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65\x41\x6C\x6C","\x65\x78\x70\x61\x6E\x64","\x65\x78\x70\x61\x6E\x64\x41\x6C\x6C","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73\x4C\x65\x66\x74","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73\x43\x65\x6E\x74\x65\x72","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73\x52\x69\x67\x68\x74","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73\x54\x6F\x70","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73\x4D\x69\x64\x64\x6C\x65","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73\x42\x6F\x74\x74\x6F\x6D","\x61\x6C\x69\x67\x6E\x46\x6F\x6E\x74\x4C\x65\x66\x74","\x61\x6C\x69\x67\x6E\x46\x6F\x6E\x74\x43\x65\x6E\x74\x65\x72","\x61\x6C\x69\x67\x6E\x46\x6F\x6E\x74\x52\x69\x67\x68\x74","\x61\x6C\x69\x67\x6E\x46\x6F\x6E\x74\x54\x6F\x70","\x61\x6C\x69\x67\x6E\x46\x6F\x6E\x74\x4D\x69\x64\x64\x6C\x65","\x61\x6C\x69\x67\x6E\x46\x6F\x6E\x74\x42\x6F\x74\x74\x6F\x6D","\x70\x72\x6F\x6D\x70\x74","\x74\x6F\x67\x67\x6C\x65\x54\x61\x73\x6B\x73","\x73\x68\x6F\x77\x54\x61\x73\x6B\x73","\x74\x6F\x67\x67\x6C\x65\x48\x65\x6C\x70","\x73\x68\x6F\x77\x48\x65\x6C\x70","\x74\x6F\x67\x67\x6C\x65\x4F\x75\x74\x6C\x69\x6E\x65","\x73\x68\x6F\x77\x4F\x75\x74\x6C\x69\x6E\x65","\x74\x6F\x67\x67\x6C\x65\x43\x6F\x6E\x73\x6F\x6C\x65","\x72\x65\x73\x65\x74\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x73\x65\x74\x46\x69\x72\x73\x74\x54\x69\x6D\x65","\x63\x6F\x6F\x6B\x69\x65","\x6D\x78\x67\x72\x61\x70\x68\x3D\x73\x65\x65\x6E\x3B\x20\x65\x78\x70\x69\x72\x65\x73\x3D\x46\x72\x69\x2C\x20\x32\x37\x20\x4A\x75\x6C\x20\x32\x30\x30\x31\x20\x30\x32\x3A\x34\x37\x3A\x31\x31\x20\x55\x54\x43\x3B\x20\x70\x61\x74\x68\x3D\x2F","\x43\x61\x6E\x6E\x6F\x74\x20\x65\x78\x65\x63\x75\x74\x65\x20","\x3A\x20","\x43\x61\x6E\x6E\x6F\x74\x20\x66\x69\x6E\x64\x20\x61\x63\x74\x69\x6F\x6E\x20","\x61\x64\x64\x54\x65\x6D\x70\x6C\x61\x74\x65","\x67\x65\x74\x54\x65\x6D\x70\x6C\x61\x74\x65","\x69\x6E\x73\x74\x61\x6C\x6C\x44\x62\x6C\x43\x6C\x69\x63\x6B\x48\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x73\x74\x61\x6C\x6C\x55\x6E\x64\x6F\x48\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x73\x74\x61\x6C\x6C\x44\x72\x69\x6C\x6C\x48\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x73\x74\x61\x6C\x6C\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x73\x74\x61\x6C\x6C\x49\x6E\x73\x65\x72\x74\x48\x61\x6E\x64\x6C\x65\x72","\x63\x72\x65\x61\x74\x65\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75","\x63\x72\x65\x61\x74\x65\x53\x77\x69\x6D\x6C\x61\x6E\x65\x4D\x61\x6E\x61\x67\x65\x72","\x63\x72\x65\x61\x74\x65\x4C\x61\x79\x6F\x75\x74\x4D\x61\x6E\x61\x67\x65\x72","\x73\x77\x69\x6D\x6C\x61\x6E\x65\x4C\x61\x79\x6F\x75\x74","\x63\x72\x65\x61\x74\x65\x53\x77\x69\x6D\x6C\x61\x6E\x65\x4C\x61\x79\x6F\x75\x74","\x64\x69\x61\x67\x72\x61\x6D\x4C\x61\x79\x6F\x75\x74","\x63\x72\x65\x61\x74\x65\x44\x69\x61\x67\x72\x61\x6D\x4C\x61\x79\x6F\x75\x74","\x73\x65\x74\x47\x72\x61\x70\x68\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x72\x75\x62\x62\x65\x72\x62\x61\x6E\x64","\x73\x65\x74\x54\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x65\x74\x53\x74\x61\x74\x75\x73\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x74\x6F\x4C\x6F\x63\x61\x6C\x65\x53\x74\x72\x69\x6E\x67","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x65\x74\x54\x69\x74\x6C\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x74\x54\x69\x74\x6C\x65","\x74\x72\x65\x65\x4C\x61\x79\x6F\x75\x74","\x20\x3E\x20","\x67\x65\x74\x52\x6F\x6F\x74\x54\x69\x74\x6C\x65","\x63\x72\x65\x61\x74\x65\x47\x72\x6F\x75\x70","\x72\x65\x61\x64\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C","\x67\x65\x74\x55\x72\x6C\x50\x6F\x73\x74","\x77\x72\x69\x74\x65\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C","\x70\x6F\x73\x74\x44\x69\x61\x67\x72\x61\x6D","\x73\x77\x61\x70\x53\x74\x79\x6C\x65\x73","\x63\x72\x65\x61\x74\x65\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73","\x69\x73\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x56\x69\x73\x69\x62\x6C\x65","\x72\x65\x61\x64\x6F\x6E\x6C\x79","\x49\x44","\x53\x74\x79\x6C\x65","\x63\x72\x65\x61\x74\x65\x54\x61\x73\x6B\x73","\x72\x65\x66\x72\x65\x73\x68\x54\x61\x73\x6B\x73","\x66\x72\x61\x6D\x65\x42\x6F\x72\x64\x65\x72","\x63\x6F\x6E\x73\x75\x6D\x65\x43\x79\x63\x6C\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x79\x63\x6C\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x69\x73\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x65\x64\x4D\x6F\x76\x69\x6E\x67","\x63\x6F\x64\x65\x63\x73","\x74\x65\x6D\x70\x6C\x61\x74\x65","\x61\x64\x64\x41\x6C\x69\x61\x73","\x61\x6C\x69\x61\x73\x65\x73","\x72\x65\x67\x69\x73\x74\x65\x72","\x65\x6E\x63\x6F\x64\x65\x44\x65\x66\x61\x75\x6C\x74\x73","\x67\x65\x74\x4F\x62\x6A\x65\x63\x74","\x72\x65\x66\x65\x72\x65\x6E\x63\x65","\x67\x65\x74\x43\x6F\x64\x65\x63","\x69\x6D\x70\x6F\x72\x74\x4E\x6F\x64\x65","\x6D\x78\x43\x6F\x64\x65\x63\x2E\x65\x6E\x63\x6F\x64\x65\x3A\x20\x4E\x6F\x20\x63\x6F\x64\x65\x63\x20\x66\x6F\x72\x20","\x43\x61\x6E\x6E\x6F\x74\x20\x64\x65\x63\x6F\x64\x65\x20","\x65\x6E\x63\x6F\x64\x65\x43\x65\x6C\x6C","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x64\x65\x63","\x64\x65\x63\x6F\x64\x65\x43\x65\x6C\x6C","\x69\x6E\x73\x65\x72\x74\x49\x6E\x74\x6F\x47\x72\x61\x70\x68","\x65\x78\x63\x6C\x75\x64\x65","\x69\x64\x72\x65\x66\x73","\x6D\x61\x70\x70\x69\x6E\x67","\x72\x65\x76\x65\x72\x73\x65","\x63\x6C\x6F\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x4E\x61\x6D\x65","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4E\x61\x6D\x65","\x69\x73\x45\x78\x63\x6C\x75\x64\x65\x64","\x69\x73\x52\x65\x66\x65\x72\x65\x6E\x63\x65","\x62\x65\x66\x6F\x72\x65\x45\x6E\x63\x6F\x64\x65","\x65\x6E\x63\x6F\x64\x65\x4F\x62\x6A\x65\x63\x74","\x61\x66\x74\x65\x72\x45\x6E\x63\x6F\x64\x65","\x65\x6E\x63\x6F\x64\x65\x56\x61\x6C\x75\x65","\x6D\x78\x4F\x62\x6A\x65\x63\x74\x43\x6F\x64\x65\x63\x2E\x65\x6E\x63\x6F\x64\x65\x3A\x20\x4E\x6F\x20\x49\x44\x20\x66\x6F\x72\x20","\x77\x72\x69\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x77\x72\x69\x74\x65\x50\x72\x69\x6D\x69\x74\x69\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x77\x72\x69\x74\x65\x43\x6F\x6D\x70\x6C\x65\x78\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x6F\x6E\x76\x65\x72\x74\x56\x61\x6C\x75\x65\x54\x6F\x58\x6D\x6C","\x6D\x78\x4F\x62\x6A\x65\x63\x74\x43\x6F\x64\x65\x63\x2E\x65\x6E\x63\x6F\x64\x65\x3A\x20\x4E\x6F\x20\x6E\x6F\x64\x65\x20\x66\x6F\x72\x20","\x63\x6F\x6E\x76\x65\x72\x74\x56\x61\x6C\x75\x65\x46\x72\x6F\x6D\x58\x6D\x6C","\x62\x65\x66\x6F\x72\x65\x44\x65\x63\x6F\x64\x65","\x64\x65\x63\x6F\x64\x65\x4E\x6F\x64\x65","\x61\x66\x74\x65\x72\x44\x65\x63\x6F\x64\x65","\x64\x65\x63\x6F\x64\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x63\x6F\x64\x65\x43\x68\x69\x6C\x64\x72\x65\x6E","\x64\x65\x63\x6F\x64\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x6D\x78\x4F\x62\x6A\x65\x63\x74\x43\x6F\x64\x65\x63\x2E\x64\x65\x63\x6F\x64\x65\x3A\x20\x4E\x6F\x20\x6F\x62\x6A\x65\x63\x74\x20\x66\x6F\x72\x20","\x70\x72\x6F\x63\x65\x73\x73\x49\x6E\x63\x6C\x75\x64\x65","\x64\x65\x63\x6F\x64\x65\x43\x68\x69\x6C\x64","\x67\x65\x74\x46\x69\x65\x6C\x64\x54\x65\x6D\x70\x6C\x61\x74\x65","\x61\x64\x64\x4F\x62\x6A\x65\x63\x74\x56\x61\x6C\x75\x65","\x69\x6E\x63\x6C\x75\x64\x65","\x72\x65\x6D\x6F\x76\x65\x57\x68\x69\x74\x65\x73\x70\x61\x63\x65","\x64\x65\x63\x6F\x64\x65\x52\x6F\x6F\x74","\x67\x72\x61\x70\x68\x4C\x69\x73\x74\x65\x6E\x65\x72\x73\x20\x65\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x73\x20\x76\x69\x65\x77\x20\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x20\x63\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72\x20\x65\x64\x69\x74\x6F\x72\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x6C\x61\x79\x65\x72","\x67\x65\x74\x53\x74\x72\x69\x6E\x67\x56\x61\x6C\x75\x65","\x6D\x78\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74\x43\x6F\x64\x65\x63\x2E\x64\x65\x63\x6F\x64\x65\x3A\x20\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74\x20","\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x20\x74\x6F\x20\x65\x78\x74\x65\x6E\x64","\x70\x72\x65\x73\x73\x65\x64\x49\x63\x6F\x6E","\x6D\x6F\x64\x65","\x74\x6F\x67\x67\x6C\x65","\x2D\x2D\x2D","\x63\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x54\x65\x6D\x70\x6C\x61\x74\x65\x20","\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x6D\x6F\x64\x69\x66\x69\x65\x64\x20\x6C\x61\x73\x74\x53\x6E\x61\x70\x73\x68\x6F\x74\x20\x69\x67\x6E\x6F\x72\x65\x64\x43\x68\x61\x6E\x67\x65\x73\x20\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72\x20\x67\x72\x61\x70\x68\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x20\x74\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x41\x72\x72\x61\x79","\x64\x65\x63\x6F\x64\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x73","\x75\x69","\x64\x65\x63\x6F\x64\x65\x55\x69","\x73\x65\x74\x4D\x61\x70\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x72\x65\x73\x6F\x75\x72\x63\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65"];var mxClient={VERSION:_0x2895[0],IS_IE:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[1]),IS_IE6:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[4]),IS_QUIRKS:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[1])&& (null== document[_0x2895[5]]|| 5== document[_0x2895[5]]),VML_PREFIX:_0x2895[6],OFFICE_PREFIX:_0x2895[7],IS_NS:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[8])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[1]),IS_OP:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[9]),IS_OT:0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[10])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[11])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[12])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[13])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[14])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[15]),IS_SF:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[16])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[17]),IS_GC:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[17]),IS_MT:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[18])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[19])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[20])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[21])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[22])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[23])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[24])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[25])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[26])&& 0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[27]),IS_SVG:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[18])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[21])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[28])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[26])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[29])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[30])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[16])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[31])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[9]),NO_FO:0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[19])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[22])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[20])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[23])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[25])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[27])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[32])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[33])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[9])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[1])|| 0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[34]),IS_VML:_0x2895[35]== navigator[_0x2895[37]][_0x2895[36]](),IS_MAC:0< navigator[_0x2895[3]][_0x2895[36]]()[_0x2895[2]](_0x2895[38]),IS_TOUCH:0< navigator[_0x2895[3]][_0x2895[36]]()[_0x2895[2]](_0x2895[39])|| 0< navigator[_0x2895[3]][_0x2895[36]]()[_0x2895[2]](_0x2895[40])|| 0< navigator[_0x2895[3]][_0x2895[36]]()[_0x2895[2]](_0x2895[41])|| 0< navigator[_0x2895[3]][_0x2895[36]]()[_0x2895[2]](_0x2895[42]),IS_LOCAL:0> document[_0x2895[45]][_0x2895[44]][_0x2895[2]](_0x2895[43])&& 0> document[_0x2895[45]][_0x2895[44]][_0x2895[2]](_0x2895[46]),isBrowserSupported:function(){return mxClient[_0x2895[47]]|| mxClient[_0x2895[48]]},link:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= _0x4315x4|| document;if(mxClient[_0x2895[49]]){_0x4315x4[_0x2895[53]](_0x2895[50]+ _0x4315x2+ _0x2895[51]+ _0x4315x3+ _0x2895[52])}else {var _0x4315x5=_0x4315x4[_0x2895[55]](_0x2895[54]);_0x4315x5[_0x2895[57]](_0x2895[56],_0x4315x2);_0x4315x5[_0x2895[57]](_0x2895[44],_0x4315x3);_0x4315x5[_0x2895[57]](_0x2895[58],_0x2895[59]);_0x4315x5[_0x2895[57]](_0x2895[60],_0x2895[61]);_0x4315x4[_0x2895[64]](_0x2895[63])[0][_0x2895[62]](_0x4315x5)}},include:function(_0x4315x2){document[_0x2895[53]](_0x2895[65]+ _0x4315x2+ _0x2895[66])},dispose:function(){for(var _0x4315x2=0;_0x4315x2< mxEvent[_0x2895[68]][_0x2895[67]];_0x4315x2++){null!= mxEvent[_0x2895[68]][_0x4315x2][_0x2895[69]]&& mxEvent[_0x2895[70]](mxEvent[_0x2895[68]][_0x4315x2])}}};mxClient[_0x2895[71]]&& mxClient[_0x2895[72]]?mxClient[_0x2895[73]]= _0x2895[74]:mxClient[_0x2895[75]]|| mxClient[_0x2895[76]]?mxClient[_0x2895[73]]= _0x2895[77]:mxClient[_0x2895[78]]?mxClient[_0x2895[73]]= _0x2895[79]:mxClient[_0x2895[80]]&& 9<= document[_0x2895[5]]&& (mxClient[_0x2895[73]]= _0x2895[81]);_0x2895[82]== typeof mxLoadResources&& (mxLoadResources= !0);_0x2895[82]== typeof mxResourceExtension&& (mxResourceExtension= _0x2895[83]);_0x2895[82]== typeof mxLoadStylesheets&& (mxLoadStylesheets= !0);_0x2895[82]!= typeof mxBasePath&& 0< mxBasePath[_0x2895[67]]?(_0x2895[84]== mxBasePath[_0x2895[85]](mxBasePath[_0x2895[67]]- 1)&& (mxBasePath= mxBasePath[_0x2895[85]](0,mxBasePath[_0x2895[67]]- 1)),mxClient[_0x2895[86]]= mxBasePath):mxClient[_0x2895[86]]= _0x2895[87];_0x2895[82]!= typeof mxImageBasePath&& 0< mxImageBasePath[_0x2895[67]]?(_0x2895[84]== mxImageBasePath[_0x2895[85]](mxImageBasePath[_0x2895[67]]- 1)&& (mxImageBasePath= mxImageBasePath[_0x2895[85]](0,mxImageBasePath[_0x2895[67]]- 1)),mxClient[_0x2895[88]]= mxImageBasePath):mxClient[_0x2895[88]]= mxClient[_0x2895[86]]+ _0x2895[89];mxClient[_0x2895[90]]= _0x2895[82]!= typeof mxLanguage?mxLanguage:mxClient[_0x2895[80]]?navigator[_0x2895[91]]:navigator[_0x2895[90]];mxClient[_0x2895[92]]= _0x2895[82]!= typeof mxDefaultLanguage?mxDefaultLanguage:_0x2895[93];mxLoadStylesheets&& mxClient[_0x2895[54]](_0x2895[94],mxClient[_0x2895[86]]+ _0x2895[95]);_0x2895[82]!= typeof mxLanguages&& (mxClient[_0x2895[96]]= mxLanguages);if(mxClient[_0x2895[80]]){if(9<= document[_0x2895[5]]){mxClient[_0x2895[47]]= !1,mxClient[_0x2895[48]]= !0}else {8== document[_0x2895[5]]?(document[_0x2895[100]][_0x2895[99]](mxClient.VML_PREFIX,_0x2895[97],_0x2895[98]),document[_0x2895[100]][_0x2895[99]](mxClient.OFFICE_PREFIX,_0x2895[101],_0x2895[98])):(document[_0x2895[100]][_0x2895[99]](mxClient.VML_PREFIX,_0x2895[97]),document[_0x2895[100]][_0x2895[99]](mxClient.OFFICE_PREFIX,_0x2895[101]));var ss=document[_0x2895[102]]();ss[_0x2895[103]]= _0x2895[104];mxLoadStylesheets&& mxClient[_0x2895[54]](_0x2895[94],mxClient[_0x2895[86]]+ _0x2895[105])};window[_0x2895[108]](_0x2895[106],mxClient[_0x2895[107]])};var mxLog={consoleName:_0x2895[109],TRACE:!1,DEBUG:!0,WARN:!0,buffer:_0x2895[110],init:function(){if(null== mxLog[_0x2895[111]]&& null!= document[_0x2895[112]]){var _0x4315x2=mxLog[_0x2895[113]]+ _0x2895[114]+ mxClient[_0x2895[115]],_0x4315x3=document[_0x2895[55]](_0x2895[116]);_0x4315x3[_0x2895[57]](_0x2895[117],_0x2895[118]);_0x4315x3[_0x2895[57]](_0x2895[119],_0x2895[118]);var _0x4315x4=document[_0x2895[55]](_0x2895[120]),_0x4315x5=document[_0x2895[55]](_0x2895[121]),_0x4315x9=document[_0x2895[55]](_0x2895[122]);_0x4315x9[_0x2895[124]][_0x2895[123]]= _0x2895[125];mxLog[_0x2895[126]]= document[_0x2895[55]](_0x2895[126]);mxLog[_0x2895[126]][_0x2895[57]](_0x2895[127],_0x2895[128]);mxLog[_0x2895[126]][_0x2895[124]][_0x2895[119]]= _0x2895[118];mxLog[_0x2895[126]][_0x2895[124]][_0x2895[129]]= _0x2895[130];mxLog[_0x2895[126]][_0x2895[131]]= mxLog[_0x2895[132]];mxLog[_0x2895[126]][_0x2895[124]][_0x2895[117]]= mxClient[_0x2895[133]]&& _0x2895[134]!= document[_0x2895[135]]?_0x2895[136]:_0x2895[118];_0x4315x9[_0x2895[62]](mxLog[_0x2895[126]]);_0x4315x5[_0x2895[62]](_0x4315x9);_0x4315x4[_0x2895[62]](_0x4315x5);_0x4315x5= document[_0x2895[55]](_0x2895[121]);mxLog[_0x2895[122]]= document[_0x2895[55]](_0x2895[122]);mxLog[_0x2895[122]][_0x2895[124]][_0x2895[123]]= _0x2895[125];mxLog[_0x2895[122]][_0x2895[57]](_0x2895[119],_0x2895[137]);_0x4315x5[_0x2895[62]](mxLog[_0x2895[122]]);_0x4315x4[_0x2895[62]](_0x4315x5);_0x4315x3[_0x2895[62]](_0x4315x4);mxLog[_0x2895[140]](_0x2895[138],function(_0x4315x2){mxLog[_0x2895[139]]()});mxLog[_0x2895[140]](_0x2895[141],function(_0x4315x2){_0x4315x2= mxUtils[_0x2895[142]](document[_0x2895[112]]);mxLog[_0x2895[143]](_0x4315x2)});mxLog[_0x2895[140]](_0x2895[144],function(_0x4315x2){mxLog[_0x2895[145]]= !mxLog[_0x2895[145]];mxLog[_0x2895[145]]?mxLog[_0x2895[143]](_0x2895[146]):mxLog[_0x2895[143]](_0x2895[147])});mxLog[_0x2895[140]](_0x2895[148],function(_0x4315x2){try{mxUtils[_0x2895[149]](mxLog[_0x2895[126]][_0x2895[131]])}catch(_0x4315x3){mxUtils[_0x2895[150]](_0x4315x3)}});mxLog[_0x2895[140]](_0x2895[151],function(_0x4315x2){try{mxUtils[_0x2895[152]](mxLog[_0x2895[126]][_0x2895[131]])}catch(_0x4315x3){mxUtils[_0x2895[150]](_0x4315x3)}});mxLog[_0x2895[140]](_0x2895[153],function(_0x4315x2){mxLog[_0x2895[126]][_0x2895[131]]= _0x2895[110]});_0x4315x5= _0x4315x4= 0;_0x2895[154]=== typeof window[_0x2895[155]]?(_0x4315x4= window[_0x2895[156]],_0x4315x5= window[_0x2895[155]]):(_0x4315x4= document[_0x2895[158]][_0x2895[157]]|| document[_0x2895[112]][_0x2895[157]],_0x4315x5= document[_0x2895[112]][_0x2895[159]]);mxLog[_0x2895[111]]= new mxWindow(_0x4315x2,_0x4315x3,Math[_0x2895[160]](0,_0x4315x5- 320),Math[_0x2895[160]](0,_0x4315x4- 210),300,160);mxLog[_0x2895[111]][_0x2895[161]](!0);mxLog[_0x2895[111]][_0x2895[162]](!1);mxLog[_0x2895[111]][_0x2895[163]](!0);mxLog[_0x2895[111]][_0x2895[164]](!0);mxLog[_0x2895[111]][_0x2895[165]]= !1;if((mxClient[_0x2895[133]]|| mxClient[_0x2895[80]])&& !mxClient[_0x2895[76]]&& !mxClient[_0x2895[75]]&& _0x2895[134]!= document[_0x2895[135]]){var _0x4315xa=mxLog[_0x2895[111]][_0x2895[166]](),_0x4315x2=function(_0x4315x2,_0x4315x3){mxLog[_0x2895[126]][_0x2895[124]][_0x2895[119]]= Math[_0x2895[160]](0,_0x4315xa[_0x2895[167]]- 70)+ _0x2895[168]};mxLog[_0x2895[111]][_0x2895[169]](mxEvent.RESIZE_END,_0x4315x2);mxLog[_0x2895[111]][_0x2895[169]](mxEvent.MAXIMIZE,_0x4315x2);mxLog[_0x2895[111]][_0x2895[169]](mxEvent.NORMALIZE,_0x4315x2);mxLog[_0x2895[126]][_0x2895[124]][_0x2895[119]]= _0x2895[170]}}},info:function(){mxLog[_0x2895[171]](mxUtils.toString(navigator))},addButton:function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[172]);mxUtils[_0x2895[53]](_0x4315x4,_0x4315x2);mxEvent[_0x2895[169]](_0x4315x4,_0x2895[173],_0x4315x3);mxLog[_0x2895[122]][_0x2895[62]](_0x4315x4)},isVisible:function(){return null!= mxLog[_0x2895[111]]?mxLog[_0x2895[111]][_0x2895[174]]():!1},show:function(){mxLog[_0x2895[175]](!0)},setVisible:function(_0x4315x2){null== mxLog[_0x2895[111]]&& mxLog[_0x2895[176]]();null!= mxLog[_0x2895[111]]&& mxLog[_0x2895[111]][_0x2895[175]](_0x4315x2)},enter:function(_0x4315x2){if(mxLog[_0x2895[145]]){return mxLog[_0x2895[171]](_0x2895[177]+ _0x4315x2),( new Date)[_0x2895[178]]()}},leave:function(_0x4315x2,_0x4315x3){if(mxLog[_0x2895[145]]){var _0x4315x4=0!= _0x4315x3?_0x2895[179]+ (( new Date)[_0x2895[178]]()- _0x4315x3)+ _0x2895[180]:_0x2895[110];mxLog[_0x2895[171]](_0x2895[181]+ _0x4315x2+ _0x4315x4)}},debug:function(){mxLog[_0x2895[182]]&& mxLog[_0x2895[171]][_0x2895[183]](this,arguments)},warn:function(){mxLog[_0x2895[184]]&& mxLog[_0x2895[171]][_0x2895[183]](this,arguments)},write:function(){for(var _0x4315x2=_0x2895[110],_0x4315x3=0;_0x4315x3< arguments[_0x2895[67]];_0x4315x3++){_0x4315x2+= arguments[_0x4315x3],_0x4315x3< arguments[_0x2895[67]]- 1&& (_0x4315x2+= _0x2895[185])};null!= mxLog[_0x2895[126]]?(mxLog[_0x2895[126]][_0x2895[131]]+= _0x4315x2,0<= navigator[_0x2895[3]][_0x2895[2]](_0x2895[186])&& (mxLog[_0x2895[126]][_0x2895[124]][_0x2895[187]]= _0x2895[188],mxLog[_0x2895[126]][_0x2895[124]][_0x2895[187]]= _0x2895[189]),mxLog[_0x2895[126]][_0x2895[190]]= mxLog[_0x2895[126]][_0x2895[191]]):mxLog[_0x2895[132]]+= _0x4315x2},writeln:function(){for(var _0x4315x2=_0x2895[110],_0x4315x3=0;_0x4315x3< arguments[_0x2895[67]];_0x4315x3++){_0x4315x2+= arguments[_0x4315x3],_0x4315x3< arguments[_0x2895[67]]- 1&& (_0x4315x2+= _0x2895[185])};mxLog[_0x2895[53]](_0x4315x2+ _0x2895[192])}},mxObjectIdentity={FIELD_NAME:_0x2895[193],counter:0,get:function(_0x4315x2){if(_0x2895[194]== typeof _0x4315x2&& null== _0x4315x2[mxObjectIdentity[_0x2895[195]]]){var _0x4315x3=mxUtils[_0x2895[197]](_0x4315x2[_0x2895[196]]);_0x4315x2[mxObjectIdentity[_0x2895[195]]]= _0x4315x3+ _0x2895[198]+ mxObjectIdentity[_0x2895[199]]++};return _0x4315x2[mxObjectIdentity[_0x2895[195]]]},clear:function(_0x4315x2){_0x2895[194]== typeof _0x4315x2&& delete _0x4315x2[mxObjectIdentity[_0x2895[195]]]}};function mxDictionary(){this[_0x2895[200]]()}mxDictionary[_0x2895[202]][_0x2895[201]]= null;mxDictionary[_0x2895[202]][_0x2895[200]]= function(){this[_0x2895[201]]= {}};mxDictionary[_0x2895[202]][_0x2895[203]]= function(_0x4315x2){_0x4315x2= mxObjectIdentity[_0x2895[203]](_0x4315x2);return this[_0x2895[201]][_0x4315x2]};mxDictionary[_0x2895[202]][_0x2895[204]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxObjectIdentity[_0x2895[203]](_0x4315x2),_0x4315x5=this[_0x2895[201]][_0x4315x4];this[_0x2895[201]][_0x4315x4]= _0x4315x3;return _0x4315x5};mxDictionary[_0x2895[202]][_0x2895[205]]= function(_0x4315x2){_0x4315x2= mxObjectIdentity[_0x2895[203]](_0x4315x2);var _0x4315x3=this[_0x2895[201]][_0x4315x2];delete this[_0x2895[201]][_0x4315x2];return _0x4315x3};mxDictionary[_0x2895[202]][_0x2895[206]]= function(){var _0x4315x2=[],_0x4315x3;for(_0x4315x3 in this[_0x2895[201]]){_0x4315x2[_0x2895[207]](_0x4315x3)};return _0x4315x2};mxDictionary[_0x2895[202]][_0x2895[208]]= function(){var _0x4315x2=[],_0x4315x3;for(_0x4315x3 in this[_0x2895[201]]){_0x4315x2[_0x2895[207]](this[_0x2895[201]][_0x4315x3])};return _0x4315x2};mxDictionary[_0x2895[202]][_0x2895[209]]= function(_0x4315x2){for(var _0x4315x3 in this[_0x2895[201]]){_0x4315x2(_0x4315x3,this[_0x2895[201]][_0x4315x3])}};var mxResources={resources:[],extension:mxResourceExtension,resourcesEncoded:!1,loadDefaultBundle:!0,loadSpecialBundle:!0,isLanguageSupported:function(_0x4315x2){return null!= mxClient[_0x2895[96]]?0<= mxUtils[_0x2895[2]](mxClient[_0x2895[96]],_0x4315x2):!0},getDefaultBundle:function(_0x4315x2,_0x4315x3){return mxResources[_0x2895[210]]|| !mxResources[_0x2895[211]](_0x4315x3)?_0x4315x2+ mxResources[_0x2895[212]]:null},getSpecialBundle:function(_0x4315x2,_0x4315x3){if(null== mxClient[_0x2895[96]]|| !this[_0x2895[211]](_0x4315x3)){var _0x4315x4=_0x4315x3[_0x2895[2]](_0x2895[213]);0< _0x4315x4&& (_0x4315x3= _0x4315x3[_0x2895[85]](0,_0x4315x4))};return mxResources[_0x2895[214]]&& mxResources[_0x2895[211]](_0x4315x3)&& _0x4315x3!= mxClient[_0x2895[92]]?_0x4315x2+ _0x2895[215]+ _0x4315x3+ mxResources[_0x2895[212]]:null},add:function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:mxClient[_0x2895[90]][_0x2895[216]]();if(_0x4315x3!= mxConstants[_0x2895[217]]){var _0x4315x4=mxResources[_0x2895[218]](_0x4315x2,_0x4315x3);if(null!= _0x4315x4){try{var _0x4315x5=mxUtils[_0x2895[219]](_0x4315x4);_0x4315x5[_0x2895[220]]()&& mxResources[_0x2895[222]](_0x4315x5[_0x2895[221]]())}catch(e){}};_0x4315x4= mxResources[_0x2895[223]](_0x4315x2,_0x4315x3);if(null!= _0x4315x4){try{_0x4315x5= mxUtils[_0x2895[219]](_0x4315x4),_0x4315x5[_0x2895[220]]()&& mxResources[_0x2895[222]](_0x4315x5[_0x2895[221]]())}catch(f){}}}},parse:function(_0x4315x2){if(null!= _0x4315x2){_0x4315x2= _0x4315x2[_0x2895[224]](_0x2895[192]);for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){if(_0x2895[198]!= _0x4315x2[_0x4315x3][_0x2895[225]](0)){var _0x4315x4=_0x4315x2[_0x4315x3][_0x2895[2]](_0x2895[226]);if(0< _0x4315x4){var _0x4315x5=_0x4315x2[_0x4315x3][_0x2895[85]](0,_0x4315x4),_0x4315x9=_0x4315x2[_0x4315x3][_0x2895[67]];13== _0x4315x2[_0x4315x3][_0x2895[227]](_0x4315x9- 1)&& _0x4315x9--;_0x4315x4= _0x4315x2[_0x4315x3][_0x2895[85]](_0x4315x4+ 1,_0x4315x9);this[_0x2895[228]]?(_0x4315x4= _0x4315x4[_0x2895[230]](/\\(?=u[a-fA-F\d]{4})/g,_0x2895[229]),mxResources[_0x2895[231]][_0x4315x5]= unescape(_0x4315x4)):mxResources[_0x2895[231]][_0x4315x5]= _0x4315x4}}}}},get:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= mxResources[_0x2895[231]][_0x4315x2];null== _0x4315x2&& (_0x4315x2= _0x4315x4);if(null!= _0x4315x2&& null!= _0x4315x3){_0x4315x4= [];for(var _0x4315x5=null,_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){var _0x4315xa=_0x4315x2[_0x2895[225]](_0x4315x9);_0x2895[232]== _0x4315xa?_0x4315x5= _0x2895[110]:null!= _0x4315x5&& _0x2895[233]== _0x4315xa?(_0x4315x5= parseInt(_0x4315x5)- 1,0<= _0x4315x5&& _0x4315x5< _0x4315x3[_0x2895[67]]&& _0x4315x4[_0x2895[207]](_0x4315x3[_0x4315x5]),_0x4315x5= null):null!= _0x4315x5?_0x4315x5+= _0x4315xa:_0x4315x4[_0x2895[207]](_0x4315xa)};_0x4315x2= _0x4315x4[_0x2895[234]](_0x2895[110])};return _0x4315x2}};function mxPoint(_0x4315x2,_0x4315x3){this[_0x2895[235]]= null!= _0x4315x2?_0x4315x2:0;this[_0x2895[236]]= null!= _0x4315x3?_0x4315x3:0}mxPoint[_0x2895[202]][_0x2895[235]]= null;mxPoint[_0x2895[202]][_0x2895[236]]= null;mxPoint[_0x2895[202]][_0x2895[237]]= function(_0x4315x2){return _0x4315x2[_0x2895[235]]== this[_0x2895[235]]&& _0x4315x2[_0x2895[236]]== this[_0x2895[236]]};mxPoint[_0x2895[202]][_0x2895[238]]= function(){return mxUtils[_0x2895[238]](this)};function mxRectangle(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxPoint[_0x2895[239]](this,_0x4315x2,_0x4315x3);this[_0x2895[117]]= null!= _0x4315x4?_0x4315x4:0;this[_0x2895[119]]= null!= _0x4315x5?_0x4315x5:0}mxRectangle[_0x2895[202]]= new mxPoint;mxRectangle[_0x2895[202]][_0x2895[196]]= mxRectangle;mxRectangle[_0x2895[202]][_0x2895[117]]= null;mxRectangle[_0x2895[202]][_0x2895[119]]= null;mxRectangle[_0x2895[202]][_0x2895[240]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[235]]= _0x4315x2;this[_0x2895[236]]= _0x4315x3;this[_0x2895[117]]= _0x4315x4;this[_0x2895[119]]= _0x4315x5};mxRectangle[_0x2895[202]][_0x2895[241]]= function(){return this[_0x2895[235]]+ this[_0x2895[117]]/ 2};mxRectangle[_0x2895[202]][_0x2895[242]]= function(){return this[_0x2895[236]]+ this[_0x2895[119]]/ 2};mxRectangle[_0x2895[202]][_0x2895[99]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=Math[_0x2895[243]](this[_0x2895[235]],_0x4315x2[_0x2895[235]]),_0x4315x4=Math[_0x2895[243]](this[_0x2895[236]],_0x4315x2[_0x2895[236]]),_0x4315x5=Math[_0x2895[160]](this[_0x2895[235]]+ this[_0x2895[117]],_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]);_0x4315x2= Math[_0x2895[160]](this[_0x2895[236]]+ this[_0x2895[119]],_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]);this[_0x2895[235]]= _0x4315x3;this[_0x2895[236]]= _0x4315x4;this[_0x2895[117]]= _0x4315x5- _0x4315x3;this[_0x2895[119]]= _0x4315x2- _0x4315x4}};mxRectangle[_0x2895[202]][_0x2895[244]]= function(_0x4315x2){this[_0x2895[235]]-= _0x4315x2;this[_0x2895[236]]-= _0x4315x2;this[_0x2895[117]]+= 2* _0x4315x2;this[_0x2895[119]]+= 2* _0x4315x2};mxRectangle[_0x2895[202]][_0x2895[245]]= function(){return new mxPoint(this[_0x2895[235]],this[_0x2895[236]])};mxRectangle[_0x2895[202]][_0x2895[237]]= function(_0x4315x2){return _0x4315x2[_0x2895[235]]== this[_0x2895[235]]&& _0x4315x2[_0x2895[236]]== this[_0x2895[236]]&& _0x4315x2[_0x2895[117]]== this[_0x2895[117]]&& _0x4315x2[_0x2895[119]]== this[_0x2895[119]]};var mxEffects={animateChanges:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=0,_0x4315x9=function(){for(var _0x4315x12=!1,_0x4315x13=0;_0x4315x13< _0x4315x3[_0x2895[67]];_0x4315x13++){var _0x4315x14=_0x4315x3[_0x4315x13];if(_0x4315x14 instanceof mxGeometryChange|| _0x4315x14 instanceof mxTerminalChange|| _0x4315x14 instanceof mxValueChange|| _0x4315x14 instanceof mxChildChange|| _0x4315x14 instanceof mxStyleChange){var _0x4315x15=_0x4315x2[_0x2895[249]]()[_0x2895[248]](_0x4315x14[_0x2895[246]]|| _0x4315x14[_0x2895[247]],!1);if(null!= _0x4315x15){if(_0x4315x12= !0,_0x4315x14[_0x2895[196]]!= mxGeometryChange|| _0x4315x2[_0x2895[251]][_0x2895[250]](_0x4315x14[_0x2895[246]])){mxUtils[_0x2895[254]](_0x4315x15[_0x2895[253]][_0x2895[252]],100* _0x4315x5/ 10)}else {var _0x4315x16=_0x4315x2[_0x2895[249]]()[_0x2895[255]],_0x4315x17=(_0x4315x14[_0x2895[256]][_0x2895[235]]- _0x4315x14[_0x2895[257]][_0x2895[235]])* _0x4315x16,_0x4315x18=(_0x4315x14[_0x2895[256]][_0x2895[236]]- _0x4315x14[_0x2895[257]][_0x2895[236]])* _0x4315x16,_0x4315x19=(_0x4315x14[_0x2895[256]][_0x2895[117]]- _0x4315x14[_0x2895[257]][_0x2895[117]])* _0x4315x16,_0x4315x16=(_0x4315x14[_0x2895[256]][_0x2895[119]]- _0x4315x14[_0x2895[257]][_0x2895[119]])* _0x4315x16;0== _0x4315x5?(_0x4315x15[_0x2895[235]]-= _0x4315x17,_0x4315x15[_0x2895[236]]-= _0x4315x18,_0x4315x15[_0x2895[117]]-= _0x4315x19,_0x4315x15[_0x2895[119]]-= _0x4315x16):(_0x4315x15[_0x2895[235]]+= _0x4315x17/ 10,_0x4315x15[_0x2895[236]]+= _0x4315x18/ 10,_0x4315x15[_0x2895[117]]+= _0x4315x19/ 10,_0x4315x15[_0x2895[119]]+= _0x4315x16/ 10);_0x4315x2[_0x2895[259]][_0x2895[258]](_0x4315x15);mxEffects[_0x2895[260]](_0x4315x2,_0x4315x14[_0x2895[246]],100* _0x4315x5/ 10)}}}};10> _0x4315x5&& _0x4315x12?(_0x4315x5++,window[_0x2895[261]](_0x4315x9,_0x4315xa)):null!= _0x4315x4&& _0x4315x4()},_0x4315xa=30;_0x4315x9()},cascadeOpacity:function(_0x4315x2,_0x4315x3,_0x4315x4){for(var _0x4315x5=_0x4315x2[_0x2895[251]][_0x2895[262]](_0x4315x3),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){var _0x4315xa=_0x4315x2[_0x2895[251]][_0x2895[263]](_0x4315x3,_0x4315x9),_0x4315x12=_0x4315x2[_0x2895[249]]()[_0x2895[248]](_0x4315xa);null!= _0x4315x12&& (mxUtils[_0x2895[254]](_0x4315x12[_0x2895[253]][_0x2895[252]],_0x4315x4),mxEffects[_0x2895[260]](_0x4315x2,_0x4315xa,_0x4315x4))};_0x4315x3= _0x4315x2[_0x2895[251]][_0x2895[264]](_0x4315x3);if(null!= _0x4315x3){for(_0x4315x9= 0;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){_0x4315x5= _0x4315x2[_0x2895[249]]()[_0x2895[248]](_0x4315x3[_0x4315x9]),null!= _0x4315x5&& mxUtils[_0x2895[254]](_0x4315x5[_0x2895[253]][_0x2895[252]],_0x4315x4)}}},fadeOut:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x5= _0x4315x5|| 40;_0x4315x9= _0x4315x9|| 30;var _0x4315x12=_0x4315x3|| 100;mxUtils[_0x2895[254]](_0x4315x2,_0x4315x12);if(_0x4315xa|| null== _0x4315xa){var _0x4315x13=function(){_0x4315x12= Math[_0x2895[160]](_0x4315x12- _0x4315x5,0);mxUtils[_0x2895[254]](_0x4315x2,_0x4315x12);0< _0x4315x12?window[_0x2895[261]](_0x4315x13,_0x4315x9):(_0x4315x2[_0x2895[124]][_0x2895[187]]= _0x2895[188],_0x4315x4&& _0x4315x2[_0x2895[265]]&& _0x4315x2[_0x2895[265]][_0x2895[266]](_0x4315x2))};window[_0x2895[261]](_0x4315x13,_0x4315x9)}else {_0x4315x2[_0x2895[124]][_0x2895[187]]= _0x2895[188],_0x4315x4&& _0x4315x2[_0x2895[265]]&& _0x4315x2[_0x2895[265]][_0x2895[266]](_0x4315x2)}}},mxUtils={errorResource:_0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[267]:_0x2895[110],closeResource:_0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[268]:_0x2895[110],errorImage:mxClient[_0x2895[88]]+ _0x2895[269],removeCursors:function(_0x4315x2){null!= _0x4315x2[_0x2895[124]]&& (_0x4315x2[_0x2895[124]][_0x2895[270]]= _0x2895[110]);_0x4315x2= _0x4315x2[_0x2895[271]];if(null!= _0x4315x2){for(var _0x4315x3=_0x4315x2[_0x2895[67]],_0x4315x4=0;_0x4315x4< _0x4315x3;_0x4315x4+= 1){mxUtils[_0x2895[272]](_0x4315x2[_0x4315x4])}}},getCurrentStyle:function(){return mxClient[_0x2895[80]]?function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[273]]:null}:function(_0x4315x2){return null!= _0x4315x2?window[_0x2895[274]](_0x4315x2,_0x2895[110]):null}}(),hasScrollbars:function(_0x4315x2){_0x4315x2= mxUtils[_0x2895[275]](_0x4315x2);return null!= _0x4315x2&& (_0x2895[276]== _0x4315x2[_0x2895[277]]|| _0x2895[278]== _0x4315x2[_0x2895[277]])},bind:function(_0x4315x2,_0x4315x3){return function(){return _0x4315x3[_0x2895[183]](_0x4315x2,arguments)}},eval:function(_0x4315x2){var _0x4315x3=null;if(0<= _0x4315x2[_0x2895[2]](_0x2895[279])){try{eval(_0x2895[280]+ _0x4315x2),_0x4315x3= _mxJavaScriptExpression,_mxJavaScriptExpression= null}catch(c){mxLog[_0x2895[283]](c[_0x2895[281]]+ _0x2895[282]+ _0x4315x2)}}else {try{_0x4315x3= eval(_0x4315x2)}catch(d){mxLog[_0x2895[283]](d[_0x2895[281]]+ _0x2895[282]+ _0x4315x2)}};return _0x4315x3},findNode:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[284]](_0x4315x3);if(null!= _0x4315x5&& _0x4315x5== _0x4315x4){return _0x4315x2};for(_0x4315x2= _0x4315x2[_0x2895[285]];null!= _0x4315x2;){_0x4315x5= mxUtils[_0x2895[286]](_0x4315x2,_0x4315x3,_0x4315x4);if(null!= _0x4315x5){return _0x4315x5};_0x4315x2= _0x4315x2[_0x2895[287]]};return null},findNodeByAttribute:function(){return 9<= document[_0x2895[5]]?function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=null;if(null!= _0x4315x2){if(_0x4315x2[_0x2895[288]]== mxConstants[_0x2895[289]]&& _0x4315x2[_0x2895[284]](_0x4315x3)== _0x4315x4){_0x4315x5= _0x4315x2}else {for(_0x4315x2= _0x4315x2[_0x2895[285]];null!= _0x4315x2&& null== _0x4315x5;){_0x4315x5= mxUtils[_0x2895[290]](_0x4315x2,_0x4315x3,_0x4315x4),_0x4315x2= _0x4315x2[_0x2895[287]]}}};return _0x4315x5}:mxClient[_0x2895[80]]?function(_0x4315x2,_0x4315x3,_0x4315x4){return null== _0x4315x2?null:_0x4315x2[_0x2895[295]][_0x2895[294]](_0x2895[291]+ _0x4315x3+ _0x2895[292]+ _0x4315x4+ _0x2895[293])}:function(_0x4315x2,_0x4315x3,_0x4315x4){return null== _0x4315x2?null:_0x4315x2[_0x2895[295]][_0x2895[297]](_0x2895[291]+ _0x4315x3+ _0x2895[292]+ _0x4315x4+ _0x2895[293],_0x4315x2[_0x2895[295]],null,XPathResult.ANY_TYPE,null)[_0x2895[296]]()}}(),getFunctionName:function(_0x4315x2){var _0x4315x3=null;if(null!= _0x4315x2){if(null!= _0x4315x2[_0x2895[298]]){_0x4315x3= _0x4315x2[_0x2895[298]]}else {_0x4315x2= _0x4315x2.toString();for(_0x4315x3= 9;_0x2895[185]== _0x4315x2[_0x2895[225]](_0x4315x3);){_0x4315x3++};var _0x4315x4=_0x4315x2[_0x2895[2]](_0x2895[299],_0x4315x3),_0x4315x3=_0x4315x2[_0x2895[85]](_0x4315x3,_0x4315x4)}};return _0x4315x3},indexOf:function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& null!= _0x4315x3){for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){if(_0x4315x2[_0x4315x4]== _0x4315x3){return _0x4315x4}}};return -1},remove:function(_0x4315x2,_0x4315x3){var _0x4315x4=null;if(_0x2895[194]== typeof _0x4315x3){for(var _0x4315x5=mxUtils[_0x2895[2]](_0x4315x3,_0x4315x2);0<= _0x4315x5;){_0x4315x3[_0x2895[300]](_0x4315x5,1),_0x4315x4= _0x4315x2,_0x4315x5= mxUtils[_0x2895[2]](_0x4315x3,_0x4315x2)}};for(var _0x4315x9 in _0x4315x3){_0x4315x3[_0x4315x9]== _0x4315x2&& ( delete _0x4315x3[_0x4315x9],_0x4315x4= _0x4315x2)};return _0x4315x4},isNode:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){return null!= _0x4315x2&& !isNaN(_0x4315x2[_0x2895[288]])&& (null== _0x4315x3|| _0x4315x2[_0x2895[301]][_0x2895[216]]()== _0x4315x3[_0x2895[216]]())?null== _0x4315x4|| _0x4315x2[_0x2895[284]](_0x4315x4)== _0x4315x5:!1},getChildNodes:function(_0x4315x2,_0x4315x3){_0x4315x3= _0x4315x3|| mxConstants[_0x2895[289]];for(var _0x4315x4=[],_0x4315x5=_0x4315x2[_0x2895[285]];null!= _0x4315x5;){_0x4315x5[_0x2895[288]]== _0x4315x3&& _0x4315x4[_0x2895[207]](_0x4315x5),_0x4315x5= _0x4315x5[_0x2895[287]]};return _0x4315x4},createXmlDocument:function(){var _0x4315x2=null;document[_0x2895[302]]&& document[_0x2895[302]][_0x2895[303]]?_0x4315x2= document[_0x2895[302]][_0x2895[303]](_0x2895[110],_0x2895[110],null):window[_0x2895[304]]&& (_0x4315x2= new ActiveXObject(_0x2895[305]));return _0x4315x2},parseXml:function(){return mxClient[_0x2895[80]]&& (_0x2895[82]=== typeof document[_0x2895[5]]|| 9> document[_0x2895[5]])?function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[306]]();_0x4315x3[_0x2895[307]]= _0x2895[308];_0x4315x3[_0x2895[309]](_0x4315x2);return _0x4315x3}:function(_0x4315x2){return ( new DOMParser)[_0x2895[311]](_0x4315x2,_0x2895[310])}}(),clearSelection:function(){if(document[_0x2895[312]]){return function(){document[_0x2895[312]][_0x2895[313]]()}};if(window[_0x2895[314]]){return function(){window[_0x2895[314]]()[_0x2895[315]]()}}}(),getPrettyXml:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=[];if(null!= _0x4315x2){if(_0x4315x3= _0x4315x3|| _0x2895[316],_0x4315x4= _0x4315x4|| _0x2895[110],_0x4315x2[_0x2895[288]]== mxConstants[_0x2895[317]]){_0x4315x5[_0x2895[207]](_0x4315x2[_0x2895[318]])}else {_0x4315x5[_0x2895[207]](_0x4315x4+ _0x2895[319]+ _0x4315x2[_0x2895[301]]);var _0x4315x9=_0x4315x2[_0x2895[320]];if(null!= _0x4315x9){for(var _0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){var _0x4315x12=mxUtils[_0x2895[321]](_0x4315x9[_0x4315xa][_0x2895[318]]);_0x4315x5[_0x2895[207]](_0x2895[185]+ _0x4315x9[_0x4315xa][_0x2895[301]]+ _0x2895[322]+ _0x4315x12+ _0x2895[323])}};_0x4315x9= _0x4315x2[_0x2895[285]];if(null!= _0x4315x9){for(_0x4315x5[_0x2895[207]](_0x2895[324]);null!= _0x4315x9;){_0x4315x5[_0x2895[207]](mxUtils[_0x2895[325]](_0x4315x9,_0x4315x3,_0x4315x4+ _0x4315x3)),_0x4315x9= _0x4315x9[_0x2895[287]]};_0x4315x5[_0x2895[207]](_0x4315x4+ _0x2895[326]+ _0x4315x2[_0x2895[301]]+ _0x2895[324])}else {_0x4315x5[_0x2895[207]](_0x2895[327])}}};return _0x4315x5[_0x2895[234]](_0x2895[110])},removeWhitespace:function(_0x4315x2,_0x4315x3){for(var _0x4315x4=_0x4315x3?_0x4315x2[_0x2895[328]]:_0x4315x2[_0x2895[287]];null!= _0x4315x4&& _0x4315x4[_0x2895[288]]== mxConstants[_0x2895[317]];){var _0x4315x5=_0x4315x3?_0x4315x4[_0x2895[328]]:_0x4315x4[_0x2895[287]],_0x4315x9=mxUtils[_0x2895[329]](_0x4315x4);0== mxUtils[_0x2895[330]](_0x4315x9)[_0x2895[67]]&& _0x4315x4[_0x2895[265]][_0x2895[266]](_0x4315x4);_0x4315x4= _0x4315x5}},htmlEntities:function(_0x4315x2,_0x4315x3){_0x4315x2= (_0x4315x2|| _0x2895[110])[_0x2895[230]](/&/g,_0x2895[331]);_0x4315x2= _0x4315x2[_0x2895[230]](/"/g,_0x2895[332]);_0x4315x2= _0x4315x2[_0x2895[230]](/\'/g,_0x2895[333]);_0x4315x2= _0x4315x2[_0x2895[230]](/</g,_0x2895[334]);_0x4315x2= _0x4315x2[_0x2895[230]](/>/g,_0x2895[335]);if(null== _0x4315x3|| _0x4315x3){_0x4315x2= _0x4315x2[_0x2895[230]](/\n/g,_0x2895[336])};return _0x4315x2},isVml:function(_0x4315x2){return null!= _0x4315x2&& _0x2895[97]== _0x4315x2[_0x2895[337]]},getXml:function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x2895[110];null!= _0x4315x2&& (_0x4315x4= _0x4315x2[_0x2895[338]],_0x4315x4= null== _0x4315x4?_0x4315x2[_0x2895[339]]?_0x4315x2[_0x2895[339]]:( new XMLSerializer)[_0x2895[340]](_0x4315x2):_0x4315x4[_0x2895[230]](/\r\n\t[\t]*/g,_0x2895[110])[_0x2895[230]](/>\r\n/g,_0x2895[341])[_0x2895[230]](/\r\n/g,_0x2895[192]));return _0x4315x4= _0x4315x4[_0x2895[230]](/\n/g,_0x4315x3|| _0x2895[336])},getTextContent:function(_0x4315x2){var _0x4315x3=_0x2895[110];null!= _0x4315x2&& (null!= _0x4315x2[_0x2895[285]]&& (_0x4315x2= _0x4315x2[_0x2895[285]]),_0x4315x3= _0x4315x2[_0x2895[318]]|| _0x2895[110]);return _0x4315x3},getInnerHtml:function(){return mxClient[_0x2895[80]]?function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[339]]:_0x2895[110]}:function(_0x4315x2){return null!= _0x4315x2?( new XMLSerializer)[_0x2895[340]](_0x4315x2):_0x2895[110]}}(),getOuterHtml:function(){return mxClient[_0x2895[80]]?function(_0x4315x2){if(null!= _0x4315x2){if(null!= _0x4315x2[_0x2895[342]]){return _0x4315x2[_0x2895[342]]};var _0x4315x3=[];_0x4315x3[_0x2895[207]](_0x2895[319]+ _0x4315x2[_0x2895[301]]);var _0x4315x4=_0x4315x2[_0x2895[320]];if(null!= _0x4315x4){for(var _0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){var _0x4315x9=_0x4315x4[_0x4315x5][_0x2895[318]];null!= _0x4315x9&& 0< _0x4315x9[_0x2895[67]]&& (_0x4315x3[_0x2895[207]](_0x2895[185]),_0x4315x3[_0x2895[207]](_0x4315x4[_0x4315x5][_0x2895[301]]),_0x4315x3[_0x2895[207]](_0x2895[322]),_0x4315x3[_0x2895[207]](_0x4315x9),_0x4315x3[_0x2895[207]](_0x2895[323]))}};0== _0x4315x2[_0x2895[339]][_0x2895[67]]?_0x4315x3[_0x2895[207]](_0x2895[343]):(_0x4315x3[_0x2895[207]](_0x2895[341]),_0x4315x3[_0x2895[207]](_0x4315x2[_0x2895[339]]),_0x4315x3[_0x2895[207]](_0x2895[326]+ _0x4315x2[_0x2895[301]]+ _0x2895[341]));return _0x4315x3[_0x2895[234]](_0x2895[110])};return _0x2895[110]}:function(_0x4315x2){return null!= _0x4315x2?( new XMLSerializer)[_0x2895[340]](_0x4315x2):_0x2895[110]}}(),write:function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[295]][_0x2895[344]](_0x4315x3);null!= _0x4315x2&& _0x4315x2[_0x2895[62]](_0x4315x4);return _0x4315x4},writeln:function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[295]][_0x2895[344]](_0x4315x3);null!= _0x4315x2&& (_0x4315x2[_0x2895[62]](_0x4315x4),_0x4315x2[_0x2895[62]](document[_0x2895[55]](_0x2895[345])));return _0x4315x4},br:function(_0x4315x2,_0x4315x3){_0x4315x3= _0x4315x3|| 1;for(var _0x4315x4=null,_0x4315x5=0;_0x4315x5< _0x4315x3;_0x4315x5++){null!= _0x4315x2&& (_0x4315x4= _0x4315x2[_0x2895[295]][_0x2895[55]](_0x2895[345]),_0x4315x2[_0x2895[62]](_0x4315x4))};return _0x4315x4},button:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:document;_0x4315x4= _0x4315x4[_0x2895[55]](_0x2895[172]);mxUtils[_0x2895[53]](_0x4315x4,_0x4315x2);mxEvent[_0x2895[169]](_0x4315x4,_0x2895[173],function(_0x4315x2){_0x4315x3(_0x4315x2)});return _0x4315x4},para:function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[346]);mxUtils[_0x2895[53]](_0x4315x4,_0x4315x3);null!= _0x4315x2&& _0x4315x2[_0x2895[62]](_0x4315x4);return _0x4315x4},addTransparentBackgroundFilter:function(_0x4315x2){_0x4315x2[_0x2895[124]][_0x2895[347]]+= _0x2895[348]+ mxClient[_0x2895[88]]+ _0x2895[349]},linkAction:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){return mxUtils[_0x2895[54]](_0x4315x2,_0x4315x3,function(){_0x4315x4[_0x2895[350]](_0x4315x5)},_0x4315x9)},linkInvoke:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){return mxUtils[_0x2895[54]](_0x4315x2,_0x4315x3,function(){_0x4315x4[_0x4315x5](_0x4315x9)},_0x4315xa)},link:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=document[_0x2895[55]](_0x2895[351]);_0x4315x9[_0x2895[124]][_0x2895[352]]= _0x2895[353];_0x4315x9[_0x2895[124]][_0x2895[354]]= _0x2895[355];_0x4315x9[_0x2895[124]][_0x2895[270]]= _0x2895[356];null!= _0x4315x5&& (_0x4315x9[_0x2895[124]][_0x2895[357]]= _0x4315x5+ _0x2895[168]);mxEvent[_0x2895[169]](_0x4315x9,_0x2895[173],_0x4315x4);mxUtils[_0x2895[53]](_0x4315x9,_0x4315x3);null!= _0x4315x2&& _0x4315x2[_0x2895[62]](_0x4315x9);return _0x4315x9},fit:function(_0x4315x2){var _0x4315x3=parseInt(_0x4315x2[_0x2895[358]]),_0x4315x4=parseInt(_0x4315x2[_0x2895[359]]),_0x4315x5=document[_0x2895[112]],_0x4315x9=document[_0x2895[158]],_0x4315xa=(_0x4315x5[_0x2895[360]]|| _0x4315x9[_0x2895[360]])+ (_0x4315x5[_0x2895[159]]|| _0x4315x9[_0x2895[159]]);_0x4315x3+ _0x4315x4> _0x4315xa&& (_0x4315x2[_0x2895[124]][_0x2895[361]]= Math[_0x2895[160]](_0x4315x5[_0x2895[360]]|| _0x4315x9[_0x2895[360]],_0x4315xa- _0x4315x4)+ _0x2895[168]);_0x4315x3= parseInt(_0x4315x2[_0x2895[362]]);_0x4315x4= parseInt(_0x4315x2[_0x2895[167]]);_0x4315xa= (_0x4315x5[_0x2895[190]]|| _0x4315x9[_0x2895[190]])+ Math[_0x2895[160]](_0x4315x5[_0x2895[157]]|| 0,_0x4315x9[_0x2895[157]]);_0x4315x3+ _0x4315x4> _0x4315xa&& (_0x4315x2[_0x2895[124]][_0x2895[125]]= Math[_0x2895[160]](_0x4315x5[_0x2895[190]]|| _0x4315x9[_0x2895[190]],_0x4315xa- _0x4315x4)+ _0x2895[168])},open:function(_0x4315x2){if(mxClient[_0x2895[133]]){try{netscape[_0x2895[366]][_0x2895[365]][_0x2895[364]](_0x2895[363])}catch(b){return mxUtils[_0x2895[150]](_0x2895[367]),_0x2895[110]};var _0x4315x4=Components[_0x2895[372]][_0x2895[371]][_0x2895[370]](Components[_0x2895[369]][_0x2895[368]]);_0x4315x4[_0x2895[373]](_0x4315x2);if(!_0x4315x4[_0x2895[374]]()){return mxUtils[_0x2895[150]](_0x2895[375]),_0x2895[110]};_0x4315x2= Components[_0x2895[372]][_0x2895[377]][_0x2895[370]](Components[_0x2895[369]][_0x2895[376]]);_0x4315x2[_0x2895[176]](_0x4315x4,1,4,null);_0x4315x4= Components[_0x2895[372]][_0x2895[379]][_0x2895[370]](Components[_0x2895[369]][_0x2895[378]]);_0x4315x4[_0x2895[176]](_0x4315x2);return _0x4315x4[_0x2895[381]](_0x4315x4[_0x2895[380]]())};_0x4315x4= ( new ActiveXObject(_0x2895[382])).OpenTextFile(_0x4315x2,1);_0x4315x2= _0x4315x4[_0x2895[383]]();_0x4315x4[_0x2895[268]]();return _0x4315x2},save:function(_0x4315x2,_0x4315x3){if(mxClient[_0x2895[133]]){try{netscape[_0x2895[366]][_0x2895[365]][_0x2895[364]](_0x2895[363])}catch(c){mxUtils[_0x2895[150]](_0x2895[384]);return};var _0x4315x5=Components[_0x2895[372]][_0x2895[371]][_0x2895[370]](Components[_0x2895[369]][_0x2895[368]]);_0x4315x5[_0x2895[373]](_0x4315x2);_0x4315x5[_0x2895[374]]()|| _0x4315x5[_0x2895[385]](0,420);var _0x4315x9=Components[_0x2895[372]][_0x2895[387]][_0x2895[370]](Components[_0x2895[369]][_0x2895[386]]);_0x4315x9[_0x2895[176]](_0x4315x5,34,4,null);_0x4315x9[_0x2895[53]](_0x4315x3,_0x4315x3[_0x2895[67]]);_0x4315x9[_0x2895[388]]();_0x4315x9[_0x2895[268]]()}else {_0x4315x5= ( new ActiveXObject(_0x2895[382])).CreateTextFile(_0x4315x2,!0),_0x4315x5.Write(_0x4315x3),_0x4315x5.Close()}},saveAs:function(_0x4315x2){var _0x4315x3=document[_0x2895[55]](_0x2895[389]);_0x4315x3[_0x2895[57]](_0x2895[390],_0x2895[110]);_0x4315x3[_0x2895[124]][_0x2895[187]]= _0x2895[188];document[_0x2895[112]][_0x2895[62]](_0x4315x3);try{if(mxClient[_0x2895[133]]){var _0x4315x4=_0x4315x3[_0x2895[391]];_0x4315x4[_0x2895[392]]();_0x4315x4[_0x2895[53]](_0x4315x2);_0x4315x4[_0x2895[268]]();try{netscape[_0x2895[366]][_0x2895[365]][_0x2895[364]](_0x2895[363]),_0x4315x3[_0x2895[393]](),saveDocument(_0x4315x4)}catch(d){mxUtils[_0x2895[150]](_0x2895[394])}}else {_0x4315x4= _0x4315x3[_0x2895[396]][_0x2895[395]],_0x4315x4[_0x2895[53]](_0x4315x2),_0x4315x4[_0x2895[398]](_0x2895[397],!1,document[_0x2895[45]])}}finally{document[_0x2895[112]][_0x2895[266]](_0x4315x3)}},copy:function(_0x4315x2){if(window[_0x2895[399]]){window[_0x2895[399]][_0x2895[401]](_0x2895[400],_0x4315x2)}else {netscape[_0x2895[366]][_0x2895[365]][_0x2895[364]](_0x2895[363]);var _0x4315x3=Components[_0x2895[372]][_0x2895[403]][_0x2895[370]](Components[_0x2895[369]][_0x2895[402]]);if(_0x4315x3){var _0x4315x4=Components[_0x2895[372]][_0x2895[405]][_0x2895[370]](Components[_0x2895[369]][_0x2895[404]]);if(_0x4315x4){_0x4315x4[_0x2895[407]](_0x2895[406]);var _0x4315x5=Components[_0x2895[372]][_0x2895[409]][_0x2895[370]](Components[_0x2895[369]][_0x2895[408]]);_0x4315x5[_0x2895[410]]= _0x4315x2;_0x4315x4[_0x2895[411]](_0x2895[406],_0x4315x5,2* _0x4315x2[_0x2895[67]]);_0x4315x3[_0x2895[401]](_0x4315x4,null,Components[_0x2895[369]][_0x2895[402]][_0x2895[412]])}}}},load:function(_0x4315x2){_0x4315x2= new mxXmlRequest(_0x4315x2,null,_0x2895[413],!1);_0x4315x2[_0x2895[414]]();return _0x4315x2},get:function(_0x4315x2,_0x4315x3,_0x4315x4){return ( new mxXmlRequest(_0x4315x2,null,_0x2895[413]))[_0x2895[414]](_0x4315x3,_0x4315x4)},post:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){return ( new mxXmlRequest(_0x4315x2,_0x4315x3))[_0x2895[414]](_0x4315x4,_0x4315x5)},submit:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){return ( new mxXmlRequest(_0x4315x2,_0x4315x3))[_0x2895[415]](_0x4315x4,_0x4315x5)},loadInto:function(_0x4315x2,_0x4315x3,_0x4315x4){mxClient[_0x2895[80]]?_0x4315x3[_0x2895[416]]= function(){4== _0x4315x3[_0x2895[417]]&& _0x4315x4()}:_0x4315x3[_0x2895[418]](_0x2895[219],_0x4315x4,!1);_0x4315x3[_0x2895[219]](_0x4315x2)},getValue:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= null!= _0x4315x2?_0x4315x2[_0x4315x3]:null;null== _0x4315x2&& (_0x4315x2= _0x4315x4);return _0x4315x2},getNumber:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= null!= _0x4315x2?_0x4315x2[_0x4315x3]:null;null== _0x4315x2&& (_0x4315x2= _0x4315x4|| 0);return Number(_0x4315x2)},getColor:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= null!= _0x4315x2?_0x4315x2[_0x4315x3]:null;null== _0x4315x2?_0x4315x2= _0x4315x4:_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);return _0x4315x2},clone:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;var _0x4315x5=null;if(null!= _0x4315x2&& _0x2895[279]== typeof _0x4315x2[_0x2895[196]]){var _0x4315x5= new _0x4315x2[_0x2895[196]],_0x4315x9;for(_0x4315x9 in _0x4315x2){if(_0x4315x9!= mxObjectIdentity[_0x2895[195]]&& (null== _0x4315x3|| 0> mxUtils[_0x2895[2]](_0x4315x3,_0x4315x9))){_0x4315x5[_0x4315x9]= !_0x4315x4&& _0x2895[194]== typeof _0x4315x2[_0x4315x9]?mxUtils[_0x2895[238]](_0x4315x2[_0x4315x9]):_0x4315x2[_0x4315x9]}}};return _0x4315x5},equalPoints:function(_0x4315x2,_0x4315x3){if(null== _0x4315x2&& null!= _0x4315x3|| null!= _0x4315x2&& null== _0x4315x3|| null!= _0x4315x2&& null!= _0x4315x3&& _0x4315x2[_0x2895[67]]!= _0x4315x3[_0x2895[67]]){return !1};if(null!= _0x4315x2&& null!= _0x4315x3){for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){if(_0x4315x2[_0x4315x4]== _0x4315x3[_0x4315x4]|| null!= _0x4315x2[_0x4315x4]&& !_0x4315x2[_0x4315x4][_0x2895[237]](_0x4315x3[_0x4315x4])){return !1}}};return !0},equalEntries:function(_0x4315x2,_0x4315x3){if(null== _0x4315x2&& null!= _0x4315x3|| null!= _0x4315x2&& null== _0x4315x3|| null!= _0x4315x2&& null!= _0x4315x3&& _0x4315x2[_0x2895[67]]!= _0x4315x3[_0x2895[67]]){return !1};if(null!= _0x4315x2&& null!= _0x4315x3){for(var _0x4315x4 in _0x4315x2){if(_0x4315x2[_0x4315x4]!= _0x4315x3[_0x4315x4]){return !1}}};return !0},extend:function(_0x4315x2,_0x4315x3){var _0x4315x4=function(){};_0x4315x4[_0x2895[202]]= _0x4315x3[_0x2895[202]];_0x4315x2[_0x2895[202]]= new _0x4315x4;_0x4315x2[_0x2895[202]][_0x2895[196]]= _0x4315x2},toString:function(_0x4315x2){var _0x4315x3=_0x2895[110],_0x4315x4;for(_0x4315x4 in _0x4315x2){try{if(null== _0x4315x2[_0x4315x4]){_0x4315x3+= _0x4315x4+ _0x2895[419]}else {if(_0x2895[279]== typeof _0x4315x2[_0x4315x4]){_0x4315x3+= _0x4315x4+ _0x2895[420]}else {if(_0x2895[194]== typeof _0x4315x2[_0x4315x4]){var _0x4315x5=mxUtils[_0x2895[197]](_0x4315x2[_0x4315x4][_0x2895[196]]),_0x4315x3=_0x4315x3+ (_0x4315x4+ _0x2895[421]+ _0x4315x5+ _0x2895[422])}else {_0x4315x3+= _0x4315x4+ _0x2895[423]+ _0x4315x2[_0x4315x4]+ _0x2895[192]}}}}catch(e){_0x4315x3+= _0x4315x4+ _0x2895[226]+ e[_0x2895[281]]}};return _0x4315x3},toRadians:function(_0x4315x2){return Math[_0x2895[424]]* _0x4315x2/ 180},arcToCurves:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){_0x4315x13-= _0x4315x2;_0x4315x14-= _0x4315x3;if(0=== _0x4315x4|| 0=== _0x4315x5){return _0x4315x18};_0x4315x4= Math[_0x2895[425]](_0x4315x4);_0x4315x5= Math[_0x2895[425]](_0x4315x5);var _0x4315x15=-_0x4315x13/ 2,_0x4315x16=-_0x4315x14/ 2,_0x4315x17=Math[_0x2895[426]](_0x4315x9* Math[_0x2895[424]]/ 180),_0x4315x18=Math[_0x2895[427]](_0x4315x9* Math[_0x2895[424]]/ 180);_0x4315x9= _0x4315x17* _0x4315x15+ _0x4315x18* _0x4315x16;var _0x4315x15=-1* _0x4315x18* _0x4315x15+ _0x4315x17* _0x4315x16,_0x4315x16=_0x4315x9* _0x4315x9,_0x4315x19=_0x4315x15* _0x4315x15,_0x4315x1a=_0x4315x4* _0x4315x4,_0x4315x1b=_0x4315x5* _0x4315x5,_0x4315x1c=_0x4315x16/ _0x4315x1a+ _0x4315x19/ _0x4315x1b;1< _0x4315x1c?(_0x4315x4*= Math[_0x2895[428]](_0x4315x1c),_0x4315x5*= Math[_0x2895[428]](_0x4315x1c),_0x4315xa= 0):(_0x4315x1c= 1,_0x4315xa=== _0x4315x12&& (_0x4315x1c= -1),_0x4315xa= _0x4315x1c* Math[_0x2895[428]]((_0x4315x1a* _0x4315x1b- _0x4315x1a* _0x4315x19- _0x4315x1b* _0x4315x16)/ (_0x4315x1a* _0x4315x19+ _0x4315x1b* _0x4315x16)));_0x4315x16= _0x4315xa* _0x4315x4* _0x4315x15/ _0x4315x5;_0x4315x19= -1* _0x4315xa* _0x4315x5* _0x4315x9/ _0x4315x4;_0x4315x13= _0x4315x17* _0x4315x16- _0x4315x18* _0x4315x19+ _0x4315x13/ 2;_0x4315x14= _0x4315x18* _0x4315x16+ _0x4315x17* _0x4315x19+ _0x4315x14/ 2;_0x4315x1a= Math[_0x2895[429]]((_0x4315x15- _0x4315x19)/ _0x4315x5,(_0x4315x9- _0x4315x16)/ _0x4315x4)- Math[_0x2895[429]](0,1);_0x4315xa= 0<= _0x4315x1a?_0x4315x1a:2* Math[_0x2895[424]]+ _0x4315x1a;_0x4315x1a= Math[_0x2895[429]]((-_0x4315x15- _0x4315x19) / _0x4315x5,(-_0x4315x9- _0x4315x16) / _0x4315x4) - Math[_0x2895[429]]((_0x4315x15- _0x4315x19)/ _0x4315x5,(_0x4315x9- _0x4315x16)/ _0x4315x4);_0x4315x9= 0<= _0x4315x1a?_0x4315x1a:2* Math[_0x2895[424]]+ _0x4315x1a;0== _0x4315x12&& 0< _0x4315x9?_0x4315x9-= 2* Math[_0x2895[424]]:0!= _0x4315x12&& 0> _0x4315x9&& (_0x4315x9+= 2* Math[_0x2895[424]]);_0x4315x12= 2* _0x4315x9/ Math[_0x2895[424]];_0x4315x12= Math[_0x2895[430]](0> _0x4315x12?-1* _0x4315x12:_0x4315x12);_0x4315x9/= _0x4315x12;_0x4315x15= 8/ 3* Math[_0x2895[427]](_0x4315x9/ 4)* Math[_0x2895[427]](_0x4315x9/ 4)/ Math[_0x2895[427]](_0x4315x9/ 2);_0x4315x16= _0x4315x17* _0x4315x4;_0x4315x17*= _0x4315x5;_0x4315x4*= _0x4315x18;_0x4315x5*= _0x4315x18;for(var _0x4315x1d=Math[_0x2895[426]](_0x4315xa),_0x4315x1e=Math[_0x2895[427]](_0x4315xa),_0x4315x19=-_0x4315x15* (_0x4315x16* _0x4315x1e+ _0x4315x5* _0x4315x1d),_0x4315x1a=-_0x4315x15* (_0x4315x4* _0x4315x1e- _0x4315x17* _0x4315x1d),_0x4315x1c=_0x4315x1b= 0,_0x4315x18=[],_0x4315x1f=0;_0x4315x1f< _0x4315x12;++_0x4315x1f){_0x4315xa+= _0x4315x9;var _0x4315x1d=Math[_0x2895[426]](_0x4315xa),_0x4315x1e=Math[_0x2895[427]](_0x4315xa),_0x4315x1b=_0x4315x16* _0x4315x1d- _0x4315x5* _0x4315x1e+ _0x4315x13,_0x4315x1c=_0x4315x4* _0x4315x1d+ _0x4315x17* _0x4315x1e+ _0x4315x14,_0x4315x20=-_0x4315x15* (_0x4315x16* _0x4315x1e+ _0x4315x5* _0x4315x1d),_0x4315x1d=-_0x4315x15* (_0x4315x4* _0x4315x1e- _0x4315x17* _0x4315x1d),_0x4315x1e=6* _0x4315x1f;_0x4315x18[_0x4315x1e]= Number(_0x4315x19+ _0x4315x2);_0x4315x18[_0x4315x1e+ 1]= Number(_0x4315x1a+ _0x4315x3);_0x4315x18[_0x4315x1e+ 2]= Number(_0x4315x1b- _0x4315x20+ _0x4315x2);_0x4315x18[_0x4315x1e+ 3]= Number(_0x4315x1c- _0x4315x1d+ _0x4315x3);_0x4315x18[_0x4315x1e+ 4]= Number(_0x4315x1b+ _0x4315x2);_0x4315x18[_0x4315x1e+ 5]= Number(_0x4315x1c+ _0x4315x3);_0x4315x19= _0x4315x1b+ _0x4315x20;_0x4315x1a= _0x4315x1c+ _0x4315x1d};return _0x4315x18},getBoundingBox:function(_0x4315x2,_0x4315x3){var _0x4315x4=null;if(null!= _0x4315x2&& null!= _0x4315x3&& 0!= _0x4315x3){var _0x4315x5=mxUtils[_0x2895[431]](_0x4315x3),_0x4315x4=Math[_0x2895[426]](_0x4315x5),_0x4315x9=Math[_0x2895[427]](_0x4315x5),_0x4315xa= new mxPoint(_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]/ 2,_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]/ 2),_0x4315x12= new mxPoint(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]]),_0x4315x5= new mxPoint(_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]],_0x4315x2[_0x2895[236]]),_0x4315x13= new mxPoint(_0x4315x5[_0x2895[235]],_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]),_0x4315x14= new mxPoint(_0x4315x2[_0x2895[235]],_0x4315x13[_0x2895[236]]),_0x4315x12=mxUtils[_0x2895[432]](_0x4315x12,_0x4315x4,_0x4315x9,_0x4315xa),_0x4315x5=mxUtils[_0x2895[432]](_0x4315x5,_0x4315x4,_0x4315x9,_0x4315xa),_0x4315x13=mxUtils[_0x2895[432]](_0x4315x13,_0x4315x4,_0x4315x9,_0x4315xa),_0x4315x14=mxUtils[_0x2895[432]](_0x4315x14,_0x4315x4,_0x4315x9,_0x4315xa),_0x4315x4= new mxRectangle(_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],0,0);_0x4315x4[_0x2895[99]]( new mxRectangle(_0x4315x5[_0x2895[235]],_0x4315x5[_0x2895[236]],0,0));_0x4315x4[_0x2895[99]]( new mxRectangle(_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],0,0));_0x4315x4[_0x2895[99]]( new mxRectangle(_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]],0,0))};return _0x4315x4},getRotatedPoint:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x5= null!= _0x4315x5?_0x4315x5: new mxPoint;var _0x4315x9=_0x4315x2[_0x2895[235]]- _0x4315x5[_0x2895[235]];_0x4315x2= _0x4315x2[_0x2895[236]]- _0x4315x5[_0x2895[236]];return new mxPoint(_0x4315x9* _0x4315x3- _0x4315x2* _0x4315x4+ _0x4315x5[_0x2895[235]],_0x4315x2* _0x4315x3+ _0x4315x9* _0x4315x4+ _0x4315x5[_0x2895[236]])},getPortConstraints:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x2= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_PORT_CONSTRAINT,null);if(null== _0x4315x2){return _0x4315x5};_0x4315x5= _0x4315x2.toString();_0x4315x2= mxConstants[_0x2895[434]];0<= _0x4315x5[_0x2895[2]](mxConstants.DIRECTION_NORTH)&& (_0x4315x2|= mxConstants[_0x2895[435]]);0<= _0x4315x5[_0x2895[2]](mxConstants.DIRECTION_WEST)&& (_0x4315x2|= mxConstants[_0x2895[436]]);0<= _0x4315x5[_0x2895[2]](mxConstants.DIRECTION_SOUTH)&& (_0x4315x2|= mxConstants[_0x2895[437]]);0<= _0x4315x5[_0x2895[2]](mxConstants.DIRECTION_EAST)&& (_0x4315x2|= mxConstants[_0x2895[438]]);return _0x4315x2},reversePortConstraints:function(_0x4315x2){var _0x4315x3=0,_0x4315x3=(_0x4315x2& mxConstants[_0x2895[436]])<< 3,_0x4315x3=_0x4315x3| (_0x4315x2& mxConstants[_0x2895[435]])<< 1,_0x4315x3=_0x4315x3| (_0x4315x2& mxConstants[_0x2895[437]])>> 1;return _0x4315x3|= (_0x4315x2& mxConstants[_0x2895[438]])>> 3},findNearestSegment:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=-1;if(0< _0x4315x2[_0x2895[439]][_0x2895[67]]){for(var _0x4315x9=_0x4315x2[_0x2895[439]][0],_0x4315xa=null,_0x4315x12=1;_0x4315x12< _0x4315x2[_0x2895[439]][_0x2895[67]];_0x4315x12++){var _0x4315x13=_0x4315x2[_0x2895[439]][_0x4315x12],_0x4315x9=mxUtils[_0x2895[440]](_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],_0x4315x3,_0x4315x4);if(null== _0x4315xa|| _0x4315x9< _0x4315xa){_0x4315xa= _0x4315x9,_0x4315x5= _0x4315x12- 1};_0x4315x9= _0x4315x13}};return _0x4315x5},rectangleIntersectsSegment:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[236]],_0x4315x9=_0x4315x2[_0x2895[235]],_0x4315xa=_0x4315x5+ _0x4315x2[_0x2895[119]],_0x4315x12=_0x4315x9+ _0x4315x2[_0x2895[117]];_0x4315x2= _0x4315x3[_0x2895[235]];var _0x4315x13=_0x4315x4[_0x2895[235]];_0x4315x3[_0x2895[235]]> _0x4315x4[_0x2895[235]]&& (_0x4315x2= _0x4315x4[_0x2895[235]],_0x4315x13= _0x4315x3[_0x2895[235]]);_0x4315x13> _0x4315x12&& (_0x4315x13= _0x4315x12);_0x4315x2< _0x4315x9&& (_0x4315x2= _0x4315x9);if(_0x4315x2> _0x4315x13){return !1};var _0x4315x9=_0x4315x3[_0x2895[236]],_0x4315x12=_0x4315x4[_0x2895[236]],_0x4315x14=_0x4315x4[_0x2895[235]]- _0x4315x3[_0x2895[235]];1E-7< Math[_0x2895[425]](_0x4315x14)&& (_0x4315x4= (_0x4315x4[_0x2895[236]]- _0x4315x3[_0x2895[236]])/ _0x4315x14,_0x4315x3= _0x4315x3[_0x2895[236]]- _0x4315x4* _0x4315x3[_0x2895[235]],_0x4315x9= _0x4315x4* _0x4315x2+ _0x4315x3,_0x4315x12= _0x4315x4* _0x4315x13+ _0x4315x3);_0x4315x9> _0x4315x12&& (_0x4315x3= _0x4315x12,_0x4315x12= _0x4315x9,_0x4315x9= _0x4315x3);_0x4315x12> _0x4315xa&& (_0x4315x12= _0x4315xa);_0x4315x9< _0x4315x5&& (_0x4315x9= _0x4315x5);return _0x4315x9> _0x4315x12?!1:!0},contains:function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x2[_0x2895[235]]<= _0x4315x3&& _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]>= _0x4315x3&& _0x4315x2[_0x2895[236]]<= _0x4315x4&& _0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]>= _0x4315x4},intersects:function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[117]],_0x4315x5=_0x4315x2[_0x2895[119]],_0x4315x9=_0x4315x3[_0x2895[117]],_0x4315xa=_0x4315x3[_0x2895[119]];if(0>= _0x4315x9|| 0>= _0x4315xa|| 0>= _0x4315x4|| 0>= _0x4315x5){return !1};var _0x4315x12=_0x4315x2[_0x2895[235]],_0x4315x13=_0x4315x2[_0x2895[236]],_0x4315x14=_0x4315x3[_0x2895[235]],_0x4315x15=_0x4315x3[_0x2895[236]],_0x4315x9=_0x4315x9+ _0x4315x14,_0x4315xa=_0x4315xa+ _0x4315x15,_0x4315x4=_0x4315x4+ _0x4315x12,_0x4315x5=_0x4315x5+ _0x4315x13;return (_0x4315x9< _0x4315x14|| _0x4315x9> _0x4315x12)&& (_0x4315xa< _0x4315x15|| _0x4315xa> _0x4315x13)&& (_0x4315x4< _0x4315x12|| _0x4315x4> _0x4315x14)&& (_0x4315x5< _0x4315x13|| _0x4315x5> _0x4315x15)},intersectsHotspot:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x5= null!= _0x4315x5?_0x4315x5:1;_0x4315x9= null!= _0x4315x9?_0x4315x9:0;_0x4315xa= null!= _0x4315xa?_0x4315xa:0;if(0< _0x4315x5){var _0x4315x12=_0x4315x2[_0x2895[241]](),_0x4315x13=_0x4315x2[_0x2895[242]](),_0x4315x14=_0x4315x2[_0x2895[117]],_0x4315x15=_0x4315x2[_0x2895[119]],_0x4315x16=mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_STARTSIZE)* _0x4315x2[_0x2895[441]][_0x2895[255]];0< _0x4315x16&& (mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_HORIZONTAL,!0)?(_0x4315x13= _0x4315x2[_0x2895[236]]+ _0x4315x16/ 2,_0x4315x15= _0x4315x16):(_0x4315x12= _0x4315x2[_0x2895[235]]+ _0x4315x16/ 2,_0x4315x14= _0x4315x16));_0x4315x14= Math[_0x2895[160]](_0x4315x9,_0x4315x14* _0x4315x5);_0x4315x15= Math[_0x2895[160]](_0x4315x9,_0x4315x15* _0x4315x5);0< _0x4315xa&& (_0x4315x14= Math[_0x2895[243]](_0x4315x14,_0x4315xa),_0x4315x15= Math[_0x2895[243]](_0x4315x15,_0x4315xa));_0x4315x5= new mxRectangle(_0x4315x12- _0x4315x14/ 2,_0x4315x13- _0x4315x15/ 2,_0x4315x14,_0x4315x15);_0x4315x12= mxUtils[_0x2895[431]](mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION)|| 0);0!= _0x4315x12&& (_0x4315x9= Math[_0x2895[426]](-_0x4315x12),_0x4315xa= Math[_0x2895[427]](-_0x4315x12),_0x4315x12= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]()),_0x4315x2= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x3,_0x4315x4),_0x4315x9,_0x4315xa,_0x4315x12),_0x4315x3= _0x4315x2[_0x2895[235]],_0x4315x4= _0x4315x2[_0x2895[236]]);return mxUtils[_0x2895[442]](_0x4315x5,_0x4315x3,_0x4315x4)};return !0},getOffset:function(_0x4315x2,_0x4315x3){var _0x4315x4=0,_0x4315x5=0;if(null!= _0x4315x3&& _0x4315x3){var _0x4315x9=document[_0x2895[112]],_0x4315xa=document[_0x2895[158]],_0x4315x4=_0x4315x4+ (_0x4315x9[_0x2895[360]]|| _0x4315xa[_0x2895[360]]),_0x4315x5=_0x4315x5+ (_0x4315x9[_0x2895[190]]|| _0x4315xa[_0x2895[190]])};for(;_0x4315x2[_0x2895[443]];){_0x4315x4+= _0x4315x2[_0x2895[358]],_0x4315x5+= _0x4315x2[_0x2895[362]],_0x4315x2= _0x4315x2[_0x2895[443]]};return new mxPoint(_0x4315x4,_0x4315x5)},getScrollOrigin:function(_0x4315x2){for(var _0x4315x3=document[_0x2895[112]],_0x4315x4=document[_0x2895[158]],_0x4315x5= new mxPoint(_0x4315x3[_0x2895[360]]|| _0x4315x4[_0x2895[360]],_0x4315x3[_0x2895[190]]|| _0x4315x4[_0x2895[190]]);null!= _0x4315x2&& _0x4315x2!= _0x4315x3&& _0x4315x2!= _0x4315x4;){!isNaN(_0x4315x2[_0x2895[360]])&& !isNaN(_0x4315x2[_0x2895[190]])&& (_0x4315x5[_0x2895[235]]+= _0x4315x2[_0x2895[360]],_0x4315x5[_0x2895[236]]+= _0x4315x2[_0x2895[190]]),_0x4315x2= _0x4315x2[_0x2895[265]]};return _0x4315x5},convertPoint:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=mxUtils[_0x2895[444]](_0x4315x2);_0x4315x2= mxUtils[_0x2895[445]](_0x4315x2);_0x4315x2[_0x2895[235]]-= _0x4315x5[_0x2895[235]];_0x4315x2[_0x2895[236]]-= _0x4315x5[_0x2895[236]];return new mxPoint(_0x4315x3- _0x4315x2[_0x2895[235]],_0x4315x4- _0x4315x2[_0x2895[236]])},ltrim:function(_0x4315x2,_0x4315x3){return _0x4315x2[_0x2895[230]](RegExp(_0x2895[446]+ (_0x4315x3|| _0x2895[447])+ _0x2895[448],_0x2895[449]),_0x2895[110])},rtrim:function(_0x4315x2,_0x4315x3){return _0x4315x2[_0x2895[230]](RegExp(_0x2895[450]+ (_0x4315x3|| _0x2895[447])+ _0x2895[451],_0x2895[449]),_0x2895[110])},trim:function(_0x4315x2,_0x4315x3){return mxUtils[_0x2895[453]](mxUtils[_0x2895[452]](_0x4315x2,_0x4315x3),_0x4315x3)},isNumeric:function(_0x4315x2){return null!= _0x4315x2&& (null== _0x4315x2[_0x2895[67]]|| 0< _0x4315x2[_0x2895[67]]&& 0> _0x4315x2[_0x2895[2]](_0x2895[454])&& 0> _0x4315x2[_0x2895[2]](_0x2895[455]))&& !isNaN(_0x4315x2)},mod:function(_0x4315x2,_0x4315x3){return (_0x4315x2% _0x4315x3+ _0x4315x3)% _0x4315x3},intersection:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){var _0x4315x14=(_0x4315x13- _0x4315xa)* (_0x4315x4- _0x4315x2)- (_0x4315x12- _0x4315x9)* (_0x4315x5- _0x4315x3);_0x4315x12= ((_0x4315x12- _0x4315x9)* (_0x4315x3- _0x4315xa)- (_0x4315x13- _0x4315xa)* (_0x4315x2- _0x4315x9))/ _0x4315x14;_0x4315x9= ((_0x4315x4- _0x4315x2)* (_0x4315x3- _0x4315xa)- (_0x4315x5- _0x4315x3)* (_0x4315x2- _0x4315x9))/ _0x4315x14;return 0<= _0x4315x12&& 1>= _0x4315x12&& 0<= _0x4315x9&& 1>= _0x4315x9? new mxPoint(_0x4315x2+ _0x4315x12* (_0x4315x4- _0x4315x2),_0x4315x3+ _0x4315x12* (_0x4315x5- _0x4315x3)):null},ptSegDistSq:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x4-= _0x4315x2;_0x4315x5-= _0x4315x3;_0x4315x9-= _0x4315x2;_0x4315xa-= _0x4315x3;0>= _0x4315x9* _0x4315x4+ _0x4315xa* _0x4315x5?_0x4315x4= 0:(_0x4315x9= _0x4315x4- _0x4315x9,_0x4315xa= _0x4315x5- _0x4315xa,_0x4315x2= _0x4315x9* _0x4315x4+ _0x4315xa* _0x4315x5,_0x4315x4= 0>= _0x4315x2?0:_0x4315x2* _0x4315x2/ (_0x4315x4* _0x4315x4+ _0x4315x5* _0x4315x5));_0x4315x9= _0x4315x9* _0x4315x9+ _0x4315xa* _0x4315xa- _0x4315x4;0> _0x4315x9&& (_0x4315x9= 0);return _0x4315x9},relativeCcw:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x4-= _0x4315x2;_0x4315x5-= _0x4315x3;_0x4315x9-= _0x4315x2;_0x4315xa-= _0x4315x3;_0x4315x2= _0x4315x9* _0x4315x5- _0x4315xa* _0x4315x4;0== _0x4315x2&& (_0x4315x2= _0x4315x9* _0x4315x4+ _0x4315xa* _0x4315x5,0< _0x4315x2&& (_0x4315x2= (_0x4315x9- _0x4315x4)* _0x4315x4+ (_0x4315xa- _0x4315x5)* _0x4315x5,0> _0x4315x2&& (_0x4315x2= 0)));return 0> _0x4315x2?-1:0< _0x4315x2?1:0},animateChanges:function(_0x4315x2,_0x4315x3){mxEffects[_0x2895[456]][_0x2895[183]](this,arguments)},cascadeOpacity:function(_0x4315x2,_0x4315x3,_0x4315x4){mxEffects[_0x2895[260]][_0x2895[183]](this,arguments)},fadeOut:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){mxEffects[_0x2895[457]][_0x2895[183]](this,arguments)},setOpacity:function(_0x4315x2,_0x4315x3){mxUtils[_0x2895[458]](_0x4315x2)?_0x4315x2[_0x2895[124]][_0x2895[347]]= 100<= _0x4315x3?null:_0x2895[459]+ _0x4315x3/ 5+ _0x2895[460]:mxClient[_0x2895[80]]&& (_0x2895[82]=== typeof document[_0x2895[5]]|| 9> document[_0x2895[5]])?_0x4315x2[_0x2895[124]][_0x2895[347]]= 100<= _0x4315x3?null:_0x2895[459]+ _0x4315x3+ _0x2895[460]:_0x4315x2[_0x2895[124]][_0x2895[461]]= _0x4315x3/ 100},createImage:function(_0x4315x2){var _0x4315x3=null;mxClient[_0x2895[49]]&& _0x2895[462]!= document[_0x2895[135]]?(_0x4315x3= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[464]),_0x4315x3[_0x2895[57]](_0x2895[390],_0x4315x2),_0x4315x3[_0x2895[124]][_0x2895[465]]= _0x2895[130]):(_0x4315x3= document[_0x2895[55]](_0x2895[466]),_0x4315x3[_0x2895[57]](_0x2895[390],_0x4315x2),_0x4315x3[_0x2895[57]](_0x2895[467],_0x2895[468]));return _0x4315x3},sortCells:function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;var _0x4315x4= new mxDictionary;_0x4315x2[_0x2895[470]](function(_0x4315x2,_0x4315x9){var _0x4315xa=_0x4315x4[_0x2895[203]](_0x4315x2);null== _0x4315xa&& (_0x4315xa= mxCellPath[_0x2895[385]](_0x4315x2)[_0x2895[224]](mxCellPath.PATH_SEPARATOR),_0x4315x4[_0x2895[204]](_0x4315x2,_0x4315xa));var _0x4315x12=_0x4315x4[_0x2895[203]](_0x4315x9);null== _0x4315x12&& (_0x4315x12= mxCellPath[_0x2895[385]](_0x4315x9)[_0x2895[224]](mxCellPath.PATH_SEPARATOR),_0x4315x4[_0x2895[204]](_0x4315x9,_0x4315x12));_0x4315xa= mxCellPath[_0x2895[469]](_0x4315xa,_0x4315x12);return 0== _0x4315xa?0:0< _0x4315xa== _0x4315x3?1:-1});return _0x4315x2},getStylename:function(_0x4315x2){return null!= _0x4315x2&& (_0x4315x2= _0x4315x2[_0x2895[224]](_0x2895[471])[0],0> _0x4315x2[_0x2895[2]](_0x2895[226]))?_0x4315x2:_0x2895[110]},getStylenames:function(_0x4315x2){var _0x4315x3=[];if(null!= _0x4315x2){_0x4315x2= _0x4315x2[_0x2895[224]](_0x2895[471]);for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){0> _0x4315x2[_0x4315x4][_0x2895[2]](_0x2895[226])&& _0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x4])}};return _0x4315x3},indexOfStylename:function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& null!= _0x4315x3){for(var _0x4315x4=_0x4315x2[_0x2895[224]](_0x2895[471]),_0x4315x5=0,_0x4315x9=0;_0x4315x9< _0x4315x4[_0x2895[67]];_0x4315x9++){if(_0x4315x4[_0x4315x9]== _0x4315x3){return _0x4315x5};_0x4315x5+= _0x4315x4[_0x4315x9][_0x2895[67]]+ 1}};return -1},addStylename:function(_0x4315x2,_0x4315x3){0> mxUtils[_0x2895[472]](_0x4315x2,_0x4315x3)&& (null== _0x4315x2?_0x4315x2= _0x2895[110]:0< _0x4315x2[_0x2895[67]]&& _0x2895[471]!= _0x4315x2[_0x2895[225]](_0x4315x2[_0x2895[67]]- 1)&& (_0x4315x2+= _0x2895[471]),_0x4315x2+= _0x4315x3);return _0x4315x2},removeStylename:function(_0x4315x2,_0x4315x3){var _0x4315x4=[];if(null!= _0x4315x2){for(var _0x4315x5=_0x4315x2[_0x2895[224]](_0x2895[471]),_0x4315x9=0;_0x4315x9< _0x4315x5[_0x2895[67]];_0x4315x9++){_0x4315x5[_0x4315x9]!= _0x4315x3&& _0x4315x4[_0x2895[207]](_0x4315x5[_0x4315x9])}};return _0x4315x4[_0x2895[234]](_0x2895[471])},removeAllStylenames:function(_0x4315x2){var _0x4315x3=[];if(null!= _0x4315x2){_0x4315x2= _0x4315x2[_0x2895[224]](_0x2895[471]);for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){0<= _0x4315x2[_0x4315x4][_0x2895[2]](_0x2895[226])&& _0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x4])}};return _0x4315x3[_0x2895[234]](_0x2895[471])},setCellStyles:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]){_0x4315x2[_0x2895[473]]();try{for(var _0x4315x9=0;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){if(null!= _0x4315x3[_0x4315x9]){var _0x4315xa=mxUtils[_0x2895[475]](_0x4315x2[_0x2895[474]](_0x4315x3[_0x4315x9]),_0x4315x4,_0x4315x5);_0x4315x2[_0x2895[475]](_0x4315x3[_0x4315x9],_0x4315xa)}}}finally{_0x4315x2[_0x2895[476]]()}}},setStyle:function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=null!= _0x4315x4&& (_0x2895[82]== typeof _0x4315x4[_0x2895[67]]|| 0< _0x4315x4[_0x2895[67]]);if(null== _0x4315x2|| 0== _0x4315x2[_0x2895[67]]){_0x4315x5&& (_0x4315x2= _0x4315x3+ _0x2895[226]+ _0x4315x4)}else {var _0x4315x9=_0x4315x2[_0x2895[2]](_0x4315x3+ _0x2895[226]);0> _0x4315x9?_0x4315x5&& (_0x4315x5= _0x2895[471]== _0x4315x2[_0x2895[225]](_0x4315x2[_0x2895[67]]- 1)?_0x2895[110]:_0x2895[471],_0x4315x2= _0x4315x2+ _0x4315x5+ _0x4315x3+ _0x2895[226]+ _0x4315x4):(_0x4315x3= _0x4315x5?_0x4315x3+ _0x2895[226]+ _0x4315x4:_0x2895[110],_0x4315x4= _0x4315x2[_0x2895[2]](_0x2895[471],_0x4315x9),_0x4315x5|| _0x4315x4++,_0x4315x2= _0x4315x2[_0x2895[85]](0,_0x4315x9)+ _0x4315x3+ (_0x4315x4> _0x4315x9?_0x4315x2[_0x2895[85]](_0x4315x4):_0x2895[110]))};return _0x4315x2},setCellStyleFlags:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]){_0x4315x2[_0x2895[473]]();try{for(var _0x4315xa=0;_0x4315xa< _0x4315x3[_0x2895[67]];_0x4315xa++){if(null!= _0x4315x3[_0x4315xa]){var _0x4315x12=mxUtils[_0x2895[477]](_0x4315x2[_0x2895[474]](_0x4315x3[_0x4315xa]),_0x4315x4,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[475]](_0x4315x3[_0x4315xa],_0x4315x12)}}}finally{_0x4315x2[_0x2895[476]]()}}},setStyleFlag:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null== _0x4315x2|| 0== _0x4315x2[_0x2895[67]]){_0x4315x2= _0x4315x5|| null== _0x4315x5?_0x4315x3+ _0x2895[226]+ _0x4315x4:_0x4315x3+ _0x2895[478]}else {var _0x4315x9=_0x4315x2[_0x2895[2]](_0x4315x3+ _0x2895[226]);if(0> _0x4315x9){_0x4315x9= _0x2895[471]== _0x4315x2[_0x2895[225]](_0x4315x2[_0x2895[67]]- 1)?_0x2895[110]:_0x2895[471],_0x4315x2= _0x4315x5|| null== _0x4315x5?_0x4315x2+ _0x4315x9+ _0x4315x3+ _0x2895[226]+ _0x4315x4:_0x4315x2+ _0x4315x9+ _0x4315x3+ _0x2895[478]}else {var _0x4315xa=_0x4315x2[_0x2895[2]](_0x2895[471],_0x4315x9),_0x4315x12=_0x2895[110],_0x4315x12=0> _0x4315xa?_0x4315x2[_0x2895[85]](_0x4315x9+ _0x4315x3[_0x2895[67]]+ 1):_0x4315x2[_0x2895[85]](_0x4315x9+ _0x4315x3[_0x2895[67]]+ 1,_0x4315xa),_0x4315x12=null== _0x4315x5?parseInt(_0x4315x12)^ _0x4315x4:_0x4315x5?parseInt(_0x4315x12)| _0x4315x4:parseInt(_0x4315x12)& ~_0x4315x4;_0x4315x2= _0x4315x2[_0x2895[85]](0,_0x4315x9)+ _0x4315x3+ _0x2895[226]+ _0x4315x12+ (0<= _0x4315xa?_0x4315x2[_0x2895[85]](_0x4315xa):_0x2895[110])}};return _0x4315x2},getAlignmentAsPoint:function(_0x4315x2,_0x4315x3){var _0x4315x4=0,_0x4315x5=0;_0x4315x2== mxConstants[_0x2895[479]]?_0x4315x4= -0.5:_0x4315x2== mxConstants[_0x2895[480]]&& (_0x4315x4= -1);_0x4315x3== mxConstants[_0x2895[481]]?_0x4315x5= -0.5:_0x4315x3== mxConstants[_0x2895[482]]&& (_0x4315x5= -1);return new mxPoint(_0x4315x4,_0x4315x5)},getSizeForString:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= null!= _0x4315x3?_0x4315x3:mxConstants[_0x2895[483]];_0x4315x4= null!= _0x4315x4?_0x4315x4:mxConstants[_0x2895[484]];var _0x4315x5=document[_0x2895[55]](_0x2895[485]);_0x4315x5[_0x2895[124]][_0x2895[486]]= _0x4315x4;_0x4315x5[_0x2895[124]][_0x2895[487]]= Math[_0x2895[488]](_0x4315x3)+ _0x2895[168];_0x4315x5[_0x2895[124]][_0x2895[489]]= Math[_0x2895[488]](_0x4315x3* mxConstants[_0x2895[490]])+ _0x2895[168];_0x4315x5[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x5[_0x2895[124]][_0x2895[493]]= _0x2895[494];_0x4315x5[_0x2895[124]][_0x2895[187]]= _0x2895[188];_0x4315x5[_0x2895[124]][_0x2895[495]]= mxClient[_0x2895[496]]?_0x2895[497]:_0x2895[498];_0x4315x5[_0x2895[124]][_0x2895[499]]= _0x2895[500];_0x4315x5[_0x2895[339]]= _0x4315x2;document[_0x2895[112]][_0x2895[62]](_0x4315x5);_0x4315x2= new mxRectangle(0,0,_0x4315x5[_0x2895[359]],_0x4315x5[_0x2895[167]]);document[_0x2895[112]][_0x2895[266]](_0x4315x5);return _0x4315x2},getViewXml:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x5= null!= _0x4315x5?_0x4315x5:0;_0x4315x9= null!= _0x4315x9?_0x4315x9:0;_0x4315x3= null!= _0x4315x3?_0x4315x3:1;null== _0x4315x4&& (_0x4315x4= [_0x4315x2[_0x2895[502]]()[_0x2895[501]]()]);var _0x4315xa=_0x4315x2[_0x2895[249]](),_0x4315x12=null,_0x4315x13=_0x4315xa[_0x2895[503]]();_0x4315xa[_0x2895[504]](!1);var _0x4315x14=_0x4315xa[_0x2895[505]],_0x4315x15=_0x4315xa[_0x2895[506]];_0x4315x2[_0x2895[507]]== mxConstants[_0x2895[508]]?(_0x4315xa[_0x2895[505]]= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449]),_0x4315xa[_0x2895[510]][_0x2895[62]](_0x4315xa[_0x2895[505]]),_0x4315xa[_0x2895[506]]= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449])):(_0x4315xa[_0x2895[505]]= _0x4315xa[_0x2895[505]][_0x2895[511]](!1),_0x4315xa[_0x2895[510]][_0x2895[62]](_0x4315xa[_0x2895[505]]),_0x4315xa[_0x2895[506]]= _0x4315xa[_0x2895[506]][_0x2895[511]](!1));_0x4315xa[_0x2895[510]][_0x2895[62]](_0x4315xa[_0x2895[506]]);var _0x4315x16=_0x4315xa[_0x2895[512]]();_0x4315xa[_0x2895[513]]= new mxPoint(_0x4315x5,_0x4315x9);_0x4315x3= new mxTemporaryCellStates(_0x4315x2[_0x2895[249]](),_0x4315x3,_0x4315x4);try{_0x4315x12= ( new mxCodec)[_0x2895[514]](_0x4315x2[_0x2895[249]]())}finally{_0x4315x3[_0x2895[515]](),_0x4315xa[_0x2895[513]]= _0x4315x16,_0x4315xa[_0x2895[510]][_0x2895[266]](_0x4315xa[_0x2895[505]]),_0x4315xa[_0x2895[510]][_0x2895[266]](_0x4315xa[_0x2895[506]]),_0x4315xa[_0x2895[505]]= _0x4315x14,_0x4315xa[_0x2895[506]]= _0x4315x15,_0x4315xa[_0x2895[504]](_0x4315x13)};return _0x4315x12},getScaleForPageCount:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(1> _0x4315x2){return 1};_0x4315x4= null!= _0x4315x4?_0x4315x4:mxConstants[_0x2895[516]];_0x4315x5= null!= _0x4315x5?_0x4315x5:0;var _0x4315x9=_0x4315x4[_0x2895[117]]- 2* _0x4315x5;_0x4315x4= _0x4315x4[_0x2895[119]]- 2* _0x4315x5;_0x4315x5= _0x4315x3[_0x2895[517]]()[_0x2895[238]]();_0x4315x3= _0x4315x3[_0x2895[249]]()[_0x2895[518]]();_0x4315x5[_0x2895[117]]/= _0x4315x3;_0x4315x5[_0x2895[119]]/= _0x4315x3;_0x4315x3= _0x4315x5[_0x2895[117]];_0x4315x4= _0x4315x3/ _0x4315x5[_0x2895[119]]/ (_0x4315x9/ _0x4315x4);_0x4315x5= Math[_0x2895[428]](_0x4315x2);var _0x4315xa=Math[_0x2895[428]](_0x4315x4);_0x4315x4= _0x4315x5* _0x4315xa;_0x4315x5/= _0x4315xa;if(1> _0x4315x4&& _0x4315x5> _0x4315x2){var _0x4315x12=_0x4315x5/ _0x4315x2;_0x4315x5= _0x4315x2;_0x4315x4/= _0x4315x12};1> _0x4315x5&& _0x4315x4> _0x4315x2&& (_0x4315x12= _0x4315x4/ _0x4315x2,_0x4315x4= _0x4315x2,_0x4315x5/= _0x4315x12);_0x4315x12= Math[_0x2895[430]](_0x4315x4)* Math[_0x2895[430]](_0x4315x5);for(_0x4315xa= 0;_0x4315x12> _0x4315x2;){var _0x4315x12=Math[_0x2895[519]](_0x4315x4)/ _0x4315x4,_0x4315x13=Math[_0x2895[519]](_0x4315x5)/ _0x4315x5;1== _0x4315x12&& (_0x4315x12= Math[_0x2895[519]](_0x4315x4- 1)/ _0x4315x4);1== _0x4315x13&& (_0x4315x13= Math[_0x2895[519]](_0x4315x5- 1)/ _0x4315x5);_0x4315x12= _0x4315x12> _0x4315x13?_0x4315x12:_0x4315x13;_0x4315x4*= _0x4315x12;_0x4315x5*= _0x4315x12;_0x4315x12= Math[_0x2895[430]](_0x4315x4)* Math[_0x2895[430]](_0x4315x5);_0x4315xa++;if(10< _0x4315xa){break}};return 0.99999* (_0x4315x9* _0x4315x4/ _0x4315x3)},show:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x4= null!= _0x4315x4?_0x4315x4:0;_0x4315x5= null!= _0x4315x5?_0x4315x5:0;null== _0x4315x3?_0x4315x3= window[_0x2895[392]]()[_0x2895[395]]:_0x4315x3[_0x2895[392]]();var _0x4315x9=_0x4315x2[_0x2895[517]]();_0x4315x4= -_0x4315x9[_0x2895[235]]+ _0x4315x4;_0x4315x5= -_0x4315x9[_0x2895[236]]+ _0x4315x5;if(mxClient[_0x2895[80]]){for(var _0x4315x9=_0x2895[520],_0x4315xa=document[_0x2895[64]](_0x2895[521]),_0x4315x12=0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){_0x4315x9+= _0x4315xa[_0x4315x12][_0x2895[342]]};_0x4315x9+= _0x2895[522];for(_0x4315x12= 0;_0x4315x12< document[_0x2895[523]][_0x2895[67]];_0x4315x12++){try{_0x4315x9+= document[_0x2895[523]](_0x4315x12)[_0x2895[103]]}catch(h){}};_0x4315x9+= _0x2895[524];_0x4315x9+= _0x2895[525];_0x4315x9+= _0x4315x2[_0x2895[526]][_0x2895[339]];_0x4315x9+= _0x2895[527];_0x4315x9+= _0x2895[528];_0x4315x3[_0x2895[171]](_0x4315x9);_0x4315x3[_0x2895[268]]();_0x4315x2= _0x4315x3[_0x2895[112]][_0x2895[64]](_0x2895[529])[0];null!= _0x4315x2&& (_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492],_0x4315x2[_0x2895[124]][_0x2895[361]]= _0x4315x4+ _0x2895[168],_0x4315x2[_0x2895[124]][_0x2895[125]]= _0x4315x5+ _0x2895[168])}else {_0x4315x3[_0x2895[171]](_0x2895[530]);_0x4315x3[_0x2895[171]](_0x2895[531]);_0x4315xa= document[_0x2895[64]](_0x2895[521]);for(_0x4315x12= 0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){_0x4315x3[_0x2895[171]](mxUtils[_0x2895[532]](_0x4315xa[_0x4315x12]))};_0x4315xa= document[_0x2895[64]](_0x2895[54]);for(_0x4315x12= 0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){_0x4315x3[_0x2895[171]](mxUtils[_0x2895[532]](_0x4315xa[_0x4315x12]))};_0x4315xa= document[_0x2895[64]](_0x2895[124]);for(_0x4315x12= 0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){_0x4315x3[_0x2895[171]](mxUtils[_0x2895[532]](_0x4315xa[_0x4315x12]))};_0x4315x3[_0x2895[171]](_0x2895[533]);_0x4315x3[_0x2895[171]](_0x2895[534]);_0x4315x3[_0x2895[268]]();null== _0x4315x3[_0x2895[112]]&& _0x4315x3[_0x2895[158]][_0x2895[62]](_0x4315x3[_0x2895[55]](_0x2895[112]));_0x4315x3[_0x2895[112]][_0x2895[124]][_0x2895[277]]= _0x2895[278];for(_0x4315x2= _0x4315x2[_0x2895[526]][_0x2895[285]];null!= _0x4315x2;){_0x4315x12= _0x4315x2[_0x2895[511]](!0),_0x4315x3[_0x2895[112]][_0x2895[62]](_0x4315x12),_0x4315x2= _0x4315x2[_0x2895[287]]};_0x4315x2= _0x4315x3[_0x2895[64]](_0x2895[449])[0];null!= _0x4315x2&& (_0x4315x2[_0x2895[57]](_0x2895[535],_0x2895[536]+ _0x4315x4+ _0x2895[537]+ _0x4315x5+ _0x2895[460]),_0x4315x4= _0x4315x2[_0x2895[538]],_0x4315x4[_0x2895[57]](_0x2895[117],_0x4315x9[_0x2895[117]]+ Math[_0x2895[160]](_0x4315x9[_0x2895[235]],0)+ 3),_0x4315x4[_0x2895[57]](_0x2895[119],_0x4315x9[_0x2895[119]]+ Math[_0x2895[160]](_0x4315x9[_0x2895[236]],0)+ 3))};mxUtils[_0x2895[272]](_0x4315x3[_0x2895[112]]);return _0x4315x3},printScreen:function(_0x4315x2){var _0x4315x3=window[_0x2895[392]]();mxUtils[_0x2895[539]](_0x4315x2,_0x4315x3[_0x2895[395]]);_0x4315x2= function(){_0x4315x3[_0x2895[393]]();_0x4315x3[_0x2895[540]]();_0x4315x3[_0x2895[268]]()};mxClient[_0x2895[76]]?_0x4315x3[_0x2895[261]](_0x4315x2,500):_0x4315x2()},popup:function(_0x4315x2,_0x4315x3){if(_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[485]);_0x4315x4[_0x2895[124]][_0x2895[277]]= _0x2895[276];_0x4315x4[_0x2895[124]][_0x2895[117]]= _0x2895[541];_0x4315x4[_0x2895[124]][_0x2895[119]]= _0x2895[542];var _0x4315x5=document[_0x2895[55]](_0x2895[543]);_0x4315x5[_0x2895[339]]= mxUtils[_0x2895[321]](_0x4315x2,!1)[_0x2895[230]](/\n/g,_0x2895[545])[_0x2895[230]](/ /g,_0x2895[544]);_0x4315x4[_0x2895[62]](_0x4315x5);_0x4315x4= new mxWindow(_0x2895[546],_0x4315x4,document[_0x2895[112]][_0x2895[159]]/ 2- 320,(document[_0x2895[112]][_0x2895[157]]|| document[_0x2895[158]][_0x2895[157]])/ 2- 240,640,480,!1,!0);_0x4315x4[_0x2895[164]](!0);_0x4315x4[_0x2895[175]](!0)}else {mxClient[_0x2895[133]]?(_0x4315x4= window[_0x2895[392]](),_0x4315x4[_0x2895[395]][_0x2895[171]](_0x2895[547]+ mxUtils[_0x2895[321]](_0x4315x2)+ _0x2895[548]),_0x4315x4[_0x2895[395]][_0x2895[268]]()):(_0x4315x4= window[_0x2895[392]](),_0x4315x5= _0x4315x4[_0x2895[395]][_0x2895[55]](_0x2895[543]),_0x4315x5[_0x2895[339]]= mxUtils[_0x2895[321]](_0x4315x2,!1)[_0x2895[230]](/\n/g,_0x2895[545])[_0x2895[230]](/ /g,_0x2895[544]),_0x4315x4[_0x2895[395]][_0x2895[112]][_0x2895[62]](_0x4315x5))}},alert:function(_0x4315x2){alert(_0x4315x2)},prompt:function(_0x4315x2,_0x4315x3){return prompt(_0x4315x2,_0x4315x3)},confirm:function(_0x4315x2){return confirm(_0x4315x2)},error:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=document[_0x2895[55]](_0x2895[485]);_0x4315x9[_0x2895[124]][_0x2895[549]]= _0x2895[550];var _0x4315xa=document[_0x2895[55]](_0x2895[466]);_0x4315xa[_0x2895[57]](_0x2895[390],_0x4315x5|| mxUtils[_0x2895[551]]);_0x4315xa[_0x2895[57]](_0x2895[552],_0x2895[553]);_0x4315xa[_0x2895[124]][_0x2895[123]]= _0x2895[554];_0x4315x9[_0x2895[62]](_0x4315xa);_0x4315x9[_0x2895[62]](document[_0x2895[344]](_0x2895[555]));_0x4315x9[_0x2895[62]](document[_0x2895[344]](_0x2895[555]));_0x4315x9[_0x2895[62]](document[_0x2895[344]](_0x2895[555]));mxUtils[_0x2895[53]](_0x4315x9,_0x4315x2);_0x4315x2= document[_0x2895[112]][_0x2895[159]];_0x4315x5= document[_0x2895[112]][_0x2895[157]]|| document[_0x2895[158]][_0x2895[157]];var _0x4315x12= new mxWindow(mxResources[_0x2895[203]](mxUtils[_0x2895[556]])|| mxUtils[_0x2895[556]],_0x4315x9,(_0x4315x2- _0x4315x3)/ 2,_0x4315x5/ 4,_0x4315x3,null,!1,!0);_0x4315x4&& (mxUtils[_0x2895[345]](_0x4315x9),_0x4315x3= document[_0x2895[55]](_0x2895[346]),_0x4315x4= document[_0x2895[55]](_0x2895[172]),mxClient[_0x2895[80]]?_0x4315x4[_0x2895[124]][_0x2895[103]]= _0x2895[557]:_0x4315x4[_0x2895[57]](_0x2895[124],_0x2895[557]),mxEvent[_0x2895[169]](_0x4315x4,_0x2895[173],function(_0x4315x2){_0x4315x12[_0x2895[515]]()}),mxUtils[_0x2895[53]](_0x4315x4,mxResources[_0x2895[203]](mxUtils[_0x2895[558]])|| mxUtils[_0x2895[558]]),_0x4315x3[_0x2895[62]](_0x4315x4),_0x4315x9[_0x2895[62]](_0x4315x3),mxUtils[_0x2895[345]](_0x4315x9),_0x4315x12[_0x2895[164]](!0));_0x4315x12[_0x2895[175]](!0);return _0x4315x12},makeDraggable:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15){_0x4315x2= new mxDragSource(_0x4315x2,_0x4315x4);_0x4315x2[_0x2895[559]]= new mxPoint(null!= _0x4315x9?_0x4315x9:0,null!= _0x4315xa?_0x4315xa:mxConstants[_0x2895[560]]);_0x4315x2[_0x2895[561]]= _0x4315x12;_0x4315x2[_0x2895[562]](!1);null!= _0x4315x14&& (_0x4315x2[_0x2895[563]]= _0x4315x14);null!= _0x4315x15&& (_0x4315x2[_0x2895[564]]= _0x4315x15);_0x4315x2[_0x2895[565]]= function(_0x4315x2){return _0x2895[279]== typeof _0x4315x3?_0x4315x3(_0x4315x2):_0x4315x3};null!= _0x4315x5&& (_0x4315x2[_0x2895[566]]= function(){return _0x4315x5[_0x2895[511]](!0)},_0x4315x13&& (_0x4315x2[_0x2895[567]]= function(_0x4315x2){var _0x4315x3=_0x4315x5[_0x2895[511]](!0),_0x4315x4=parseInt(_0x4315x3[_0x2895[124]][_0x2895[117]]),_0x4315x9=parseInt(_0x4315x3[_0x2895[124]][_0x2895[119]]);_0x4315x3[_0x2895[124]][_0x2895[117]]= Math[_0x2895[488]](_0x4315x4* _0x4315x2[_0x2895[441]][_0x2895[255]])+ _0x2895[168];_0x4315x3[_0x2895[124]][_0x2895[119]]= Math[_0x2895[488]](_0x4315x9* _0x4315x2[_0x2895[441]][_0x2895[255]])+ _0x2895[168];return _0x4315x3}));return _0x4315x2}},mxConstants={DEFAULT_HOTSPOT:0.3,MIN_HOTSPOT_SIZE:8,MAX_HOTSPOT_SIZE:0,RENDERING_HINT_EXACT:_0x2895[568],RENDERING_HINT_FASTER:_0x2895[569],RENDERING_HINT_FASTEST:_0x2895[570],DIALECT_SVG:_0x2895[571],DIALECT_VML:_0x2895[572],DIALECT_MIXEDHTML:_0x2895[573],DIALECT_PREFERHTML:_0x2895[574],DIALECT_STRICTHTML:_0x2895[575],NS_SVG:_0x2895[576],NS_XHTML:_0x2895[577],NS_XLINK:_0x2895[578],SHADOWCOLOR:_0x2895[579],SHADOW_OFFSET_X:2,SHADOW_OFFSET_Y:3,SHADOW_OPACITY:1,NODETYPE_ELEMENT:1,NODETYPE_ATTRIBUTE:2,NODETYPE_TEXT:3,NODETYPE_CDATA:4,NODETYPE_ENTITY_REFERENCE:5,NODETYPE_ENTITY:6,NODETYPE_PROCESSING_INSTRUCTION:7,NODETYPE_COMMENT:8,NODETYPE_DOCUMENT:9,NODETYPE_DOCUMENTTYPE:10,NODETYPE_DOCUMENT_FRAGMENT:11,NODETYPE_NOTATION:12,TOOLTIP_VERTICAL_OFFSET:16,DEFAULT_VALID_COLOR:_0x2895[580],DEFAULT_INVALID_COLOR:_0x2895[581],HIGHLIGHT_STROKEWIDTH:3,CURSOR_MOVABLE_VERTEX:_0x2895[582],CURSOR_MOVABLE_EDGE:_0x2895[582],CURSOR_LABEL_HANDLE:_0x2895[583],CURSOR_BEND_HANDLE:_0x2895[356],CURSOR_CONNECT:_0x2895[356],HIGHLIGHT_COLOR:_0x2895[580],CONNECT_TARGET_COLOR:_0x2895[584],INVALID_CONNECT_TARGET_COLOR:_0x2895[581],DROP_TARGET_COLOR:_0x2895[584],VALID_COLOR:_0x2895[580],INVALID_COLOR:_0x2895[581],EDGE_SELECTION_COLOR:_0x2895[580],VERTEX_SELECTION_COLOR:_0x2895[580],VERTEX_SELECTION_STROKEWIDTH:1,EDGE_SELECTION_STROKEWIDTH:1,VERTEX_SELECTION_DASHED:!0,EDGE_SELECTION_DASHED:!0,GUIDE_COLOR:_0x2895[581],GUIDE_STROKEWIDTH:1,OUTLINE_COLOR:_0x2895[585],OUTLINE_STROKEWIDTH:mxClient[_0x2895[80]]?2:3,HANDLE_SIZE:7,LABEL_HANDLE_SIZE:4,HANDLE_FILLCOLOR:_0x2895[580],HANDLE_STROKECOLOR:_0x2895[586],LABEL_HANDLE_FILLCOLOR:_0x2895[587],CONNECT_HANDLE_FILLCOLOR:_0x2895[584],LOCKED_HANDLE_FILLCOLOR:_0x2895[581],OUTLINE_HANDLE_FILLCOLOR:_0x2895[588],OUTLINE_HANDLE_STROKECOLOR:_0x2895[589],DEFAULT_FONTFAMILY:_0x2895[590],DEFAULT_FONTSIZE:11,LINE_HEIGHT:1.2,DEFAULT_FONTSTYLE:0,DEFAULT_STARTSIZE:40,DEFAULT_MARKERSIZE:6,DEFAULT_IMAGESIZE:24,ENTITY_SEGMENT:30,RECTANGLE_ROUNDING_FACTOR:0.15,LINE_ARCSIZE:20,ARROW_SPACING:10,ARROW_WIDTH:30,ARROW_SIZE:30,PAGE_FORMAT_A4_PORTRAIT: new mxRectangle(0,0,826,1169),PAGE_FORMAT_A4_LANDSCAPE: new mxRectangle(0,0,1169,826),PAGE_FORMAT_LETTER_PORTRAIT: new mxRectangle(0,0,850,1100),PAGE_FORMAT_LETTER_LANDSCAPE: new mxRectangle(0,0,1100,850),NONE:_0x2895[130],STYLE_PERIMETER:_0x2895[591],STYLE_SOURCE_PORT:_0x2895[592],STYLE_TARGET_PORT:_0x2895[593],STYLE_PORT_CONSTRAINT:_0x2895[594],STYLE_OPACITY:_0x2895[461],STYLE_TEXT_OPACITY:_0x2895[595],STYLE_OVERFLOW:_0x2895[277],STYLE_ORTHOGONAL:_0x2895[596],STYLE_EXIT_X:_0x2895[597],STYLE_EXIT_Y:_0x2895[598],STYLE_EXIT_PERIMETER:_0x2895[599],STYLE_ENTRY_X:_0x2895[600],STYLE_ENTRY_Y:_0x2895[601],STYLE_ENTRY_PERIMETER:_0x2895[602],STYLE_WHITE_SPACE:_0x2895[493],STYLE_ROTATION:_0x2895[603],STYLE_FILLCOLOR:_0x2895[604],STYLE_SWIMLANE_FILLCOLOR:_0x2895[605],STYLE_GRADIENTCOLOR:_0x2895[606],STYLE_GRADIENT_DIRECTION:_0x2895[607],STYLE_STROKECOLOR:_0x2895[608],STYLE_SEPARATORCOLOR:_0x2895[609],STYLE_STROKEWIDTH:_0x2895[610],STYLE_ALIGN:_0x2895[611],STYLE_VERTICAL_ALIGN:_0x2895[123],STYLE_LABEL_POSITION:_0x2895[612],STYLE_VERTICAL_LABEL_POSITION:_0x2895[613],STYLE_IMAGE_ASPECT:_0x2895[614],STYLE_IMAGE_ALIGN:_0x2895[615],STYLE_IMAGE_VERTICAL_ALIGN:_0x2895[616],STYLE_GLASS:_0x2895[617],STYLE_IMAGE:_0x2895[618],STYLE_IMAGE_WIDTH:_0x2895[619],STYLE_IMAGE_HEIGHT:_0x2895[620],STYLE_IMAGE_BACKGROUND:_0x2895[621],STYLE_IMAGE_BORDER:_0x2895[622],STYLE_FLIPH:_0x2895[623],STYLE_FLIPV:_0x2895[624],STYLE_NOLABEL:_0x2895[625],STYLE_NOEDGESTYLE:_0x2895[626],STYLE_LABEL_BACKGROUNDCOLOR:_0x2895[627],STYLE_LABEL_BORDERCOLOR:_0x2895[628],STYLE_LABEL_PADDING:_0x2895[629],STYLE_INDICATOR_SHAPE:_0x2895[630],STYLE_INDICATOR_IMAGE:_0x2895[631],STYLE_INDICATOR_COLOR:_0x2895[632],STYLE_INDICATOR_STROKECOLOR:_0x2895[633],STYLE_INDICATOR_GRADIENTCOLOR:_0x2895[634],STYLE_INDICATOR_SPACING:_0x2895[635],STYLE_INDICATOR_WIDTH:_0x2895[636],STYLE_INDICATOR_HEIGHT:_0x2895[637],STYLE_INDICATOR_DIRECTION:_0x2895[638],STYLE_SHADOW:_0x2895[639],STYLE_SEGMENT:_0x2895[640],STYLE_ENDARROW:_0x2895[641],STYLE_STARTARROW:_0x2895[642],STYLE_ENDSIZE:_0x2895[643],STYLE_STARTSIZE:_0x2895[644],STYLE_SWIMLANE_LINE:_0x2895[645],STYLE_ENDFILL:_0x2895[646],STYLE_STARTFILL:_0x2895[647],STYLE_DASHED:_0x2895[648],STYLE_DASH_PATTERN:_0x2895[649],STYLE_ROUNDED:_0x2895[650],STYLE_CURVED:_0x2895[651],STYLE_ARCSIZE:_0x2895[652],STYLE_SMOOTH:_0x2895[653],STYLE_SOURCE_PERIMETER_SPACING:_0x2895[654],STYLE_TARGET_PERIMETER_SPACING:_0x2895[655],STYLE_PERIMETER_SPACING:_0x2895[656],STYLE_SPACING:_0x2895[657],STYLE_SPACING_TOP:_0x2895[658],STYLE_SPACING_LEFT:_0x2895[659],STYLE_SPACING_BOTTOM:_0x2895[660],STYLE_SPACING_RIGHT:_0x2895[661],STYLE_HORIZONTAL:_0x2895[662],STYLE_DIRECTION:_0x2895[663],STYLE_ELBOW:_0x2895[664],STYLE_FONTCOLOR:_0x2895[665],STYLE_FONTFAMILY:_0x2895[486],STYLE_FONTSIZE:_0x2895[487],STYLE_FONTSTYLE:_0x2895[666],STYLE_AUTOSIZE:_0x2895[667],STYLE_FOLDABLE:_0x2895[668],STYLE_EDITABLE:_0x2895[669],STYLE_BENDABLE:_0x2895[670],STYLE_MOVABLE:_0x2895[671],STYLE_RESIZABLE:_0x2895[672],STYLE_CLONEABLE:_0x2895[673],STYLE_DELETABLE:_0x2895[674],STYLE_SHAPE:_0x2895[253],STYLE_EDGE:_0x2895[675],STYLE_LOOP:_0x2895[676],STYLE_ROUTING_CENTER_X:_0x2895[677],STYLE_ROUTING_CENTER_Y:_0x2895[678],FONT_BOLD:1,FONT_ITALIC:2,FONT_UNDERLINE:4,FONT_SHADOW:8,SHAPE_RECTANGLE:_0x2895[679],SHAPE_ELLIPSE:_0x2895[680],SHAPE_DOUBLE_ELLIPSE:_0x2895[681],SHAPE_RHOMBUS:_0x2895[682],SHAPE_LINE:_0x2895[683],SHAPE_IMAGE:_0x2895[618],SHAPE_ARROW:_0x2895[684],SHAPE_LABEL:_0x2895[685],SHAPE_CYLINDER:_0x2895[686],SHAPE_SWIMLANE:_0x2895[687],SHAPE_CONNECTOR:_0x2895[688],SHAPE_ACTOR:_0x2895[689],SHAPE_CLOUD:_0x2895[690],SHAPE_TRIANGLE:_0x2895[691],SHAPE_HEXAGON:_0x2895[692],ARROW_CLASSIC:_0x2895[693],ARROW_BLOCK:_0x2895[694],ARROW_OPEN:_0x2895[392],ARROW_OVAL:_0x2895[695],ARROW_DIAMOND:_0x2895[696],ARROW_DIAMOND_THIN:_0x2895[697],ALIGN_LEFT:_0x2895[361],ALIGN_CENTER:_0x2895[698],ALIGN_RIGHT:_0x2895[699],ALIGN_TOP:_0x2895[125],ALIGN_MIDDLE:_0x2895[554],ALIGN_BOTTOM:_0x2895[553],DIRECTION_NORTH:_0x2895[700],DIRECTION_SOUTH:_0x2895[701],DIRECTION_EAST:_0x2895[702],DIRECTION_WEST:_0x2895[703],DIRECTION_MASK_NONE:0,DIRECTION_MASK_WEST:1,DIRECTION_MASK_NORTH:2,DIRECTION_MASK_SOUTH:4,DIRECTION_MASK_EAST:8,DIRECTION_MASK_ALL:15,ELBOW_VERTICAL:_0x2895[704],ELBOW_HORIZONTAL:_0x2895[662],EDGESTYLE_ELBOW:_0x2895[705],EDGESTYLE_ENTITY_RELATION:_0x2895[706],EDGESTYLE_LOOP:_0x2895[707],EDGESTYLE_SIDETOSIDE:_0x2895[708],EDGESTYLE_TOPTOBOTTOM:_0x2895[709],EDGESTYLE_ORTHOGONAL:_0x2895[710],EDGESTYLE_SEGMENT:_0x2895[711],PERIMETER_ELLIPSE:_0x2895[712],PERIMETER_RECTANGLE:_0x2895[713],PERIMETER_RHOMBUS:_0x2895[714],PERIMETER_TRIANGLE:_0x2895[715]};function mxEventObject(_0x4315x2){this[_0x2895[298]]= _0x4315x2;this[_0x2895[716]]= [];for(var _0x4315x3=1;_0x4315x3< arguments[_0x2895[67]];_0x4315x3+= 2){null!= arguments[_0x4315x3+ 1]&& (this[_0x2895[716]][arguments[_0x4315x3]]= arguments[_0x4315x3+ 1])}}mxEventObject[_0x2895[202]][_0x2895[298]]= null;mxEventObject[_0x2895[202]][_0x2895[716]]= null;mxEventObject[_0x2895[202]][_0x2895[717]]= !1;mxEventObject[_0x2895[202]][_0x2895[718]]= function(){return this[_0x2895[298]]};mxEventObject[_0x2895[202]][_0x2895[719]]= function(){return this[_0x2895[716]]};mxEventObject[_0x2895[202]][_0x2895[720]]= function(_0x4315x2){return this[_0x2895[716]][_0x4315x2]};mxEventObject[_0x2895[202]][_0x2895[721]]= function(){return this[_0x2895[717]]};mxEventObject[_0x2895[202]][_0x2895[722]]= function(){this[_0x2895[717]]= !0};function mxMouseEvent(_0x4315x2,_0x4315x3){this[_0x2895[723]]= _0x4315x2;this[_0x2895[724]]= _0x4315x3}mxMouseEvent[_0x2895[202]][_0x2895[717]]= !1;mxMouseEvent[_0x2895[202]][_0x2895[723]]= null;mxMouseEvent[_0x2895[202]][_0x2895[725]]= null;mxMouseEvent[_0x2895[202]][_0x2895[726]]= null;mxMouseEvent[_0x2895[202]][_0x2895[724]]= null;mxMouseEvent[_0x2895[202]][_0x2895[727]]= function(){return this[_0x2895[723]]};mxMouseEvent[_0x2895[202]][_0x2895[728]]= function(){return mxEvent[_0x2895[728]](this[_0x2895[723]])};mxMouseEvent[_0x2895[202]][_0x2895[729]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3=this[_0x2895[728]]();null!= _0x4315x3;){if(_0x4315x3== _0x4315x2[_0x2895[252]]){return !0};_0x4315x3= _0x4315x3[_0x2895[265]]}};return !1};mxMouseEvent[_0x2895[202]][_0x2895[730]]= function(){return mxEvent[_0x2895[731]](this[_0x2895[727]]())};mxMouseEvent[_0x2895[202]][_0x2895[732]]= function(){return mxEvent[_0x2895[733]](this[_0x2895[727]]())};mxMouseEvent[_0x2895[202]][_0x2895[734]]= function(){return this[_0x2895[725]]};mxMouseEvent[_0x2895[202]][_0x2895[735]]= function(){return this[_0x2895[726]]};mxMouseEvent[_0x2895[202]][_0x2895[248]]= function(){return this[_0x2895[724]]};mxMouseEvent[_0x2895[202]][_0x2895[736]]= function(){var _0x4315x2=this[_0x2895[248]]();return null!= _0x4315x2?_0x4315x2[_0x2895[246]]:null};mxMouseEvent[_0x2895[202]][_0x2895[737]]= function(){return mxEvent[_0x2895[737]](this[_0x2895[727]]())};mxMouseEvent[_0x2895[202]][_0x2895[721]]= function(){return this[_0x2895[717]]};mxMouseEvent[_0x2895[202]][_0x2895[722]]= function(_0x4315x2){(null!= _0x4315x2?_0x4315x2:1)&& this[_0x2895[723]][_0x2895[738]]&& this[_0x2895[723]][_0x2895[738]]();this[_0x2895[723]][_0x2895[739]]= !1;this[_0x2895[717]]= !0};function mxEventSource(_0x4315x2){this[_0x2895[740]](_0x4315x2)}mxEventSource[_0x2895[202]][_0x2895[741]]= null;mxEventSource[_0x2895[202]][_0x2895[742]]= !0;mxEventSource[_0x2895[202]][_0x2895[743]]= null;mxEventSource[_0x2895[202]][_0x2895[503]]= function(){return this[_0x2895[742]]};mxEventSource[_0x2895[202]][_0x2895[504]]= function(_0x4315x2){this[_0x2895[742]]= _0x4315x2};mxEventSource[_0x2895[202]][_0x2895[744]]= function(){return this[_0x2895[743]]};mxEventSource[_0x2895[202]][_0x2895[740]]= function(_0x4315x2){this[_0x2895[743]]= _0x4315x2};mxEventSource[_0x2895[202]][_0x2895[169]]= function(_0x4315x2,_0x4315x3){null== this[_0x2895[741]]&& (this[_0x2895[741]]= []);this[_0x2895[741]][_0x2895[207]](_0x4315x2);this[_0x2895[741]][_0x2895[207]](_0x4315x3)};mxEventSource[_0x2895[202]][_0x2895[745]]= function(_0x4315x2){if(null!= this[_0x2895[741]]){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[741]][_0x2895[67]];){this[_0x2895[741]][_0x4315x3+ 1]== _0x4315x2?this[_0x2895[741]][_0x2895[300]](_0x4315x3,2):_0x4315x3+= 2}}};mxEventSource[_0x2895[202]][_0x2895[746]]= function(_0x4315x2,_0x4315x3){if(null!= this[_0x2895[741]]&& this[_0x2895[503]]()){null== _0x4315x2&& (_0x4315x2= new mxEventObject);null== _0x4315x3&& (_0x4315x3= this[_0x2895[744]]());null== _0x4315x3&& (_0x4315x3= this);for(var _0x4315x4=[_0x4315x3,_0x4315x2],_0x4315x5=0;_0x4315x5< this[_0x2895[741]][_0x2895[67]];_0x4315x5+= 2){var _0x4315x9=this[_0x2895[741]][_0x4315x5];(null== _0x4315x9|| _0x4315x9== _0x4315x2[_0x2895[718]]())&& this[_0x2895[741]][_0x4315x5+ 1][_0x2895[183]](this,_0x4315x4)}}};var mxEvent={objects:[],addListener:function(){var _0x4315x2=function(_0x4315x2,_0x4315x4,_0x4315x5){null== _0x4315x2[_0x2895[69]]&& (_0x4315x2[_0x2895[69]]= [],mxEvent[_0x2895[68]][_0x2895[207]](_0x4315x2));_0x4315x2[_0x2895[69]][_0x2895[207]]({name:_0x4315x4,f:_0x4315x5})};return window[_0x2895[418]]?function(_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3[_0x2895[418]](_0x4315x4,_0x4315x5,!1);_0x4315x2(_0x4315x3,_0x4315x4,_0x4315x5)}:function(_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3[_0x2895[108]](_0x2895[747]+ _0x4315x4,_0x4315x5);_0x4315x2(_0x4315x3,_0x4315x4,_0x4315x5)}}(),removeListener:function(){var _0x4315x2=function(_0x4315x2,_0x4315x4,_0x4315x5){if(null!= _0x4315x2[_0x2895[69]]){_0x4315x4= _0x4315x2[_0x2895[69]][_0x2895[67]];for(var _0x4315x9=0;_0x4315x9< _0x4315x4;_0x4315x9++){if(_0x4315x2[_0x2895[69]][_0x4315x9][_0x2895[748]]== _0x4315x5){_0x4315x2[_0x2895[69]][_0x2895[300]](_0x4315x9,1);break}};0== _0x4315x2[_0x2895[69]][_0x2895[67]]&& (_0x4315x2[_0x2895[69]]= null)}};return window[_0x2895[749]]?function(_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3[_0x2895[749]](_0x4315x4,_0x4315x5,!1);_0x4315x2(_0x4315x3,_0x4315x4,_0x4315x5)}:function(_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3[_0x2895[750]](_0x2895[747]+ _0x4315x4,_0x4315x5);_0x4315x2(_0x4315x3,_0x4315x4,_0x4315x5)}}(),removeAllListeners:function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[69]];if(null!= _0x4315x3){for(;0< _0x4315x3[_0x2895[67]];){var _0x4315x4=_0x4315x3[0];mxEvent[_0x2895[745]](_0x4315x2,_0x4315x4[_0x2895[298]],_0x4315x4[_0x2895[748]])}}},addGestureListeners:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){null!= _0x4315x3&& mxEvent[_0x2895[169]](_0x4315x2,_0x2895[751],_0x4315x3);null!= _0x4315x4&& mxEvent[_0x2895[169]](_0x4315x2,_0x2895[752],_0x4315x4);null!= _0x4315x5&& mxEvent[_0x2895[169]](_0x4315x2,_0x2895[753],_0x4315x5);mxClient[_0x2895[754]]&& (null!= _0x4315x3&& mxEvent[_0x2895[169]](_0x4315x2,_0x2895[755],_0x4315x3),null!= _0x4315x4&& mxEvent[_0x2895[169]](_0x4315x2,_0x2895[756],_0x4315x4),null!= _0x4315x5&& mxEvent[_0x2895[169]](_0x4315x2,_0x2895[757],_0x4315x5))},removeGestureListeners:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){null!= _0x4315x3&& mxEvent[_0x2895[745]](_0x4315x2,_0x2895[751],_0x4315x3);null!= _0x4315x4&& mxEvent[_0x2895[745]](_0x4315x2,_0x2895[752],_0x4315x4);null!= _0x4315x5&& mxEvent[_0x2895[745]](_0x4315x2,_0x2895[753],_0x4315x5);mxClient[_0x2895[754]]&& (null!= _0x4315x3&& mxEvent[_0x2895[745]](_0x4315x2,_0x2895[755],_0x4315x3),null!= _0x4315x4&& mxEvent[_0x2895[745]](_0x4315x2,_0x2895[756],_0x4315x4),null!= _0x4315x5&& mxEvent[_0x2895[745]](_0x4315x2,_0x2895[757],_0x4315x5))},redirectMouseEvents:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){var _0x4315x13=function(_0x4315x2){return _0x2895[279]== typeof _0x4315x4?_0x4315x4(_0x4315x2):_0x4315x4};mxEvent[_0x2895[759]](_0x4315x2,function(_0x4315x2){null!= _0x4315x5?_0x4315x5(_0x4315x2):mxEvent[_0x2895[721]](_0x4315x2)|| _0x4315x3[_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x2,_0x4315x13(_0x4315x2)))},function(_0x4315x2){null!= _0x4315x9?_0x4315x9(_0x4315x2):mxEvent[_0x2895[721]](_0x4315x2)|| _0x4315x3[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x2,_0x4315x13(_0x4315x2)))},function(_0x4315x2){null!= _0x4315xa?_0x4315xa(_0x4315x2):mxEvent[_0x2895[721]](_0x4315x2)|| _0x4315x3[_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x2,_0x4315x13(_0x4315x2)))});mxEvent[_0x2895[169]](_0x4315x2,_0x2895[760],function(_0x4315x2){if(null!= _0x4315x12){_0x4315x12(_0x4315x2)}else {if(!mxEvent[_0x2895[721]](_0x4315x2)){var _0x4315x4=_0x4315x13(_0x4315x2);_0x4315x3[_0x2895[761]](_0x4315x2,null!= _0x4315x4?_0x4315x4[_0x2895[246]]:null)}}})},release:function(_0x4315x2){if(null!= _0x4315x2&& (mxEvent[_0x2895[70]](_0x4315x2),_0x4315x2= _0x4315x2[_0x2895[271]],null!= _0x4315x2)){for(var _0x4315x3=_0x4315x2[_0x2895[67]],_0x4315x4=0;_0x4315x4< _0x4315x3;_0x4315x4+= 1){mxEvent[_0x2895[762]](_0x4315x2[_0x4315x4])}}},addMouseWheelListener:function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=function(_0x4315x3){null== _0x4315x3&& (_0x4315x3= window[_0x2895[763]]);var _0x4315x5=0,_0x4315x5=mxClient[_0x2895[133]]&& !mxClient[_0x2895[75]]&& !mxClient[_0x2895[76]]?-_0x4315x3[_0x2895[764]]/ 2:_0x4315x3[_0x2895[765]]/ 120;0!= _0x4315x5&& _0x4315x2(_0x4315x3,0< _0x4315x5)};mxClient[_0x2895[133]]?mxEvent[_0x2895[169]](window,mxClient[_0x2895[75]]|| mxClient[_0x2895[76]]?_0x2895[766]:_0x2895[767],_0x4315x3):mxEvent[_0x2895[169]](document,_0x2895[766],_0x4315x3)}},disableContextMenu:function(){return mxClient[_0x2895[80]]&& (_0x2895[82]=== typeof document[_0x2895[5]]|| 9> document[_0x2895[5]])?function(_0x4315x2){mxEvent[_0x2895[169]](_0x4315x2,_0x2895[768],function(){return !1})}:function(_0x4315x2){_0x4315x2[_0x2895[57]](_0x2895[769],_0x2895[770])}}(),getSource:function(_0x4315x2){return null!= _0x4315x2[_0x2895[771]]?_0x4315x2[_0x2895[771]]:_0x4315x2[_0x2895[772]]},isConsumed:function(_0x4315x2){return null!= _0x4315x2[_0x2895[721]]&& _0x4315x2[_0x2895[721]]},isLeftMouseButton:function(_0x4315x2){return _0x4315x2[_0x2895[172]]== (mxClient[_0x2895[80]]&& (_0x2895[82]=== typeof document[_0x2895[5]]|| 9> document[_0x2895[5]])?1:0)},isRightMouseButton:function(_0x4315x2){return 2== _0x4315x2[_0x2895[172]]},isPopupTrigger:function(_0x4315x2){return mxEvent[_0x2895[773]](_0x4315x2)|| mxEvent[_0x2895[774]](_0x4315x2)&& !mxEvent[_0x2895[775]](_0x4315x2)},isShiftDown:function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[776]]:!1},isAltDown:function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[777]]:!1},isControlDown:function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[778]]:!1},isMetaDown:function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[779]]:!1},getMainEvent:function(_0x4315x2){(_0x2895[755]== _0x4315x2[_0x2895[60]]|| _0x2895[756]== _0x4315x2[_0x2895[60]])&& null!= _0x4315x2[_0x2895[780]]&& null!= _0x4315x2[_0x2895[780]][0]?_0x4315x2= _0x4315x2[_0x2895[780]][0]:_0x2895[757]== _0x4315x2[_0x2895[60]]&& (null!= _0x4315x2[_0x2895[781]]&& null!= _0x4315x2[_0x2895[781]][0])&& (_0x4315x2= _0x4315x2[_0x2895[781]][0]);return _0x4315x2},getClientX:function(_0x4315x2){return mxEvent[_0x2895[783]](_0x4315x2)[_0x2895[782]]},getClientY:function(_0x4315x2){return mxEvent[_0x2895[783]](_0x4315x2)[_0x2895[784]]},consume:function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;if(null!= _0x4315x3?_0x4315x3:1){_0x4315x2[_0x2895[738]]?(_0x4315x4&& _0x4315x2[_0x2895[785]](),_0x4315x2[_0x2895[738]]()):_0x4315x4&& (_0x4315x2[_0x2895[786]]= !0)};_0x4315x2[_0x2895[721]]= !0;_0x4315x2[_0x2895[739]]= !1},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,MOUSE_DOWN:_0x2895[787],MOUSE_MOVE:_0x2895[788],MOUSE_UP:_0x2895[789],ACTIVATE:_0x2895[790],RESIZE_START:_0x2895[791],RESIZE:_0x2895[129],RESIZE_END:_0x2895[792],MOVE_START:_0x2895[793],MOVE:_0x2895[582],MOVE_END:_0x2895[794],PAN_START:_0x2895[795],PAN:_0x2895[796],PAN_END:_0x2895[797],MINIMIZE:_0x2895[798],NORMALIZE:_0x2895[799],MAXIMIZE:_0x2895[800],HIDE:_0x2895[801],SHOW:_0x2895[539],CLOSE:_0x2895[268],DESTROY:_0x2895[515],REFRESH:_0x2895[802],SIZE:_0x2895[803],SELECT:_0x2895[804],FIRED:_0x2895[805],GET:_0x2895[203],RECEIVE:_0x2895[806],CONNECT:_0x2895[807],DISCONNECT:_0x2895[808],SUSPEND:_0x2895[809],RESUME:_0x2895[810],MARK:_0x2895[811],SESSION:_0x2895[812],ROOT:_0x2895[813],POST:_0x2895[814],OPEN:_0x2895[392],SAVE:_0x2895[815],BEFORE_ADD_VERTEX:_0x2895[816],ADD_VERTEX:_0x2895[817],AFTER_ADD_VERTEX:_0x2895[818],DONE:_0x2895[819],EXECUTE:_0x2895[350],EXECUTED:_0x2895[820],BEGIN_UPDATE:_0x2895[473],START_EDIT:_0x2895[821],END_UPDATE:_0x2895[476],END_EDIT:_0x2895[822],BEFORE_UNDO:_0x2895[823],UNDO:_0x2895[824],REDO:_0x2895[825],CHANGE:_0x2895[826],NOTIFY:_0x2895[827],LAYOUT_CELLS:_0x2895[828],CLICK:_0x2895[173],SCALE:_0x2895[255],TRANSLATE:_0x2895[513],SCALE_AND_TRANSLATE:_0x2895[829],UP:_0x2895[830],DOWN:_0x2895[831],ADD:_0x2895[99],REMOVE:_0x2895[205],CLEAR:_0x2895[200],ADD_CELLS:_0x2895[832],CELLS_ADDED:_0x2895[833],MOVE_CELLS:_0x2895[834],CELLS_MOVED:_0x2895[835],RESIZE_CELLS:_0x2895[836],CELLS_RESIZED:_0x2895[837],TOGGLE_CELLS:_0x2895[838],CELLS_TOGGLED:_0x2895[839],ORDER_CELLS:_0x2895[840],CELLS_ORDERED:_0x2895[841],REMOVE_CELLS:_0x2895[842],CELLS_REMOVED:_0x2895[843],GROUP_CELLS:_0x2895[844],UNGROUP_CELLS:_0x2895[845],REMOVE_CELLS_FROM_PARENT:_0x2895[846],FOLD_CELLS:_0x2895[847],CELLS_FOLDED:_0x2895[848],ALIGN_CELLS:_0x2895[849],LABEL_CHANGED:_0x2895[850],CONNECT_CELL:_0x2895[851],CELL_CONNECTED:_0x2895[852],SPLIT_EDGE:_0x2895[853],FLIP_EDGE:_0x2895[854],START_EDITING:_0x2895[855],ADD_OVERLAY:_0x2895[856],REMOVE_OVERLAY:_0x2895[857],UPDATE_CELL_SIZE:_0x2895[858],ESCAPE:_0x2895[859],CLICK:_0x2895[173],DOUBLE_CLICK:_0x2895[860],START:_0x2895[861],RESET:_0x2895[862]};function mxXmlRequest(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[863]]= _0x4315x2;this[_0x2895[864]]= _0x4315x3;this[_0x2895[865]]= _0x4315x4|| _0x2895[866];this[_0x2895[307]]= null!= _0x4315x5?_0x4315x5:!0;this[_0x2895[867]]= _0x4315x9;this[_0x2895[868]]= _0x4315xa}mxXmlRequest[_0x2895[202]][_0x2895[863]]= null;mxXmlRequest[_0x2895[202]][_0x2895[864]]= null;mxXmlRequest[_0x2895[202]][_0x2895[865]]= null;mxXmlRequest[_0x2895[202]][_0x2895[307]]= null;mxXmlRequest[_0x2895[202]][_0x2895[869]]= !1;mxXmlRequest[_0x2895[202]][_0x2895[867]]= null;mxXmlRequest[_0x2895[202]][_0x2895[868]]= null;mxXmlRequest[_0x2895[202]][_0x2895[870]]= null;mxXmlRequest[_0x2895[202]][_0x2895[871]]= function(){return this[_0x2895[869]]};mxXmlRequest[_0x2895[202]][_0x2895[872]]= function(_0x4315x2){this[_0x2895[869]]= _0x4315x2};mxXmlRequest[_0x2895[202]][_0x2895[221]]= function(){return this[_0x2895[870]][_0x2895[873]]};mxXmlRequest[_0x2895[202]][_0x2895[220]]= function(){return 4== this[_0x2895[870]][_0x2895[417]]};mxXmlRequest[_0x2895[202]][_0x2895[874]]= function(){var _0x4315x2=this[_0x2895[875]]();return null!= _0x4315x2?_0x4315x2[_0x2895[158]]:null};mxXmlRequest[_0x2895[202]][_0x2895[875]]= function(){var _0x4315x2=this[_0x2895[870]][_0x2895[876]];if(9<= document[_0x2895[5]]|| null== _0x4315x2|| null== _0x4315x2[_0x2895[158]]){_0x4315x2= mxUtils[_0x2895[877]](this[_0x2895[870]][_0x2895[873]])};return _0x4315x2};mxXmlRequest[_0x2895[202]][_0x2895[221]]= function(){return this[_0x2895[870]][_0x2895[873]]};mxXmlRequest[_0x2895[202]][_0x2895[878]]= function(){return this[_0x2895[870]][_0x2895[879]]};mxXmlRequest[_0x2895[202]][_0x2895[385]]= function(){if(window[_0x2895[880]]){return function(){var _0x4315x2= new XMLHttpRequest;this[_0x2895[871]]()&& _0x4315x2[_0x2895[881]]&& _0x4315x2[_0x2895[881]](_0x2895[882]);return _0x4315x2}};if(_0x2895[82]!= typeof ActiveXObject){return function(){return new ActiveXObject(_0x2895[883])}}}();mxXmlRequest[_0x2895[202]][_0x2895[414]]= function(_0x4315x2,_0x4315x3){this[_0x2895[870]]= this[_0x2895[385]]();null!= this[_0x2895[870]]&& (null!= _0x4315x2&& (this[_0x2895[870]][_0x2895[416]]= mxUtils[_0x2895[885]](this,function(){this[_0x2895[220]]()&& (_0x4315x2(this),this[_0x2895[884]]= null)})),this[_0x2895[870]][_0x2895[392]](this[_0x2895[865]],this[_0x2895[863]],this[_0x2895[307]],this[_0x2895[867]],this[_0x2895[868]]),this[_0x2895[886]](this[_0x2895[870]],this[_0x2895[864]]),this[_0x2895[870]][_0x2895[414]](this[_0x2895[864]]))};mxXmlRequest[_0x2895[202]][_0x2895[886]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x3&& _0x4315x2[_0x2895[889]](_0x2895[887],_0x2895[888])};mxXmlRequest[_0x2895[202]][_0x2895[415]]= function(_0x4315x2,_0x4315x3){_0x4315x2= _0x4315x2|| document;var _0x4315x4=null;_0x4315x2== document&& (_0x4315x4= window[_0x2895[890]],window[_0x2895[890]]= null);var _0x4315x5=_0x4315x2[_0x2895[55]](_0x2895[891]);_0x4315x5[_0x2895[57]](_0x2895[865],this[_0x2895[865]]);_0x4315x5[_0x2895[57]](_0x2895[892],this[_0x2895[863]]);null!= _0x4315x3&& _0x4315x5[_0x2895[57]](_0x2895[772],_0x4315x3);_0x4315x5[_0x2895[124]][_0x2895[495]]= _0x2895[130];_0x4315x5[_0x2895[124]][_0x2895[187]]= _0x2895[188];for(var _0x4315x9=0< this[_0x2895[864]][_0x2895[2]](_0x2895[893])?this[_0x2895[864]][_0x2895[224]](_0x2895[893]):this[_0x2895[864]][_0x2895[224]](),_0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x9[_0x4315xa][_0x2895[2]](_0x2895[226]);if(0< _0x4315x12){var _0x4315x13=_0x4315x9[_0x4315xa][_0x2895[85]](0,_0x4315x12),_0x4315x14=_0x4315x9[_0x4315xa][_0x2895[85]](_0x4315x12+ 1),_0x4315x12=_0x4315x2[_0x2895[55]](_0x2895[126]);_0x4315x12[_0x2895[57]](_0x2895[298],_0x4315x13);_0x4315x14= _0x4315x14[_0x2895[230]](/\n/g,_0x2895[336]);_0x4315x13= _0x4315x2[_0x2895[344]](_0x4315x14);_0x4315x12[_0x2895[62]](_0x4315x13);_0x4315x5[_0x2895[62]](_0x4315x12)}};_0x4315x2[_0x2895[112]][_0x2895[62]](_0x4315x5);_0x4315x5[_0x2895[894]]();_0x4315x2[_0x2895[112]][_0x2895[266]](_0x4315x5);null!= _0x4315x4&& (window[_0x2895[890]]= _0x4315x4)};var mxClipboard={STEPSIZE:10,insertCount:1,cells:null,isEmpty:function(){return null== mxClipboard[_0x2895[895]]},cut:function(_0x4315x2,_0x4315x3){_0x4315x3= mxClipboard[_0x2895[149]](_0x4315x2,_0x4315x3);mxClipboard[_0x2895[896]]= 0;mxClipboard[_0x2895[842]](_0x4315x2,_0x4315x3);return _0x4315x3},removeCells:function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[842]](_0x4315x3)},copy:function(_0x4315x2,_0x4315x3){_0x4315x3= _0x4315x3|| _0x4315x2[_0x2895[897]]();var _0x4315x4=_0x4315x2[_0x2895[898]](_0x4315x3);mxClipboard[_0x2895[896]]= 1;mxClipboard[_0x2895[895]]= _0x4315x2[_0x2895[899]](_0x4315x4);return _0x4315x4},paste:function(_0x4315x2){if(null!= mxClipboard[_0x2895[895]]){var _0x4315x3=_0x4315x2[_0x2895[900]](mxClipboard[_0x2895[895]]),_0x4315x4=mxClipboard[_0x2895[896]]* mxClipboard[_0x2895[901]],_0x4315x5=_0x4315x2[_0x2895[902]](),_0x4315x3=_0x4315x2[_0x2895[903]](_0x4315x3,_0x4315x4,_0x4315x4,_0x4315x5);mxClipboard[_0x2895[896]]++;_0x4315x2[_0x2895[904]](_0x4315x3)}}};function mxWindow(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15){null!= _0x4315x3&& (_0x4315x12= null!= _0x4315x12?_0x4315x12:!0,this[_0x2895[905]]= _0x4315x3,this[_0x2895[176]](_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x15),this[_0x2895[906]](),this[_0x2895[907]](),this[_0x2895[908]](),this[_0x2895[909]](_0x4315x12),this[_0x2895[910]](_0x4315x2),(null== _0x4315x13|| _0x4315x13)&& this[_0x2895[911]](),null!= _0x4315x14&& null!= _0x4315x14[_0x2895[265]]?_0x4315x14[_0x2895[265]][_0x2895[912]](this[_0x2895[485]],_0x4315x14):document[_0x2895[112]][_0x2895[62]](this[_0x2895[485]]))}mxWindow[_0x2895[202]]= new mxEventSource;mxWindow[_0x2895[202]][_0x2895[196]]= mxWindow;mxWindow[_0x2895[202]][_0x2895[913]]= mxClient[_0x2895[88]]+ _0x2895[914];mxWindow[_0x2895[202]][_0x2895[915]]= mxClient[_0x2895[88]]+ _0x2895[916];mxWindow[_0x2895[202]][_0x2895[917]]= mxClient[_0x2895[88]]+ _0x2895[918];mxWindow[_0x2895[202]][_0x2895[919]]= mxClient[_0x2895[88]]+ _0x2895[920];mxWindow[_0x2895[202]][_0x2895[921]]= mxClient[_0x2895[88]]+ _0x2895[922];mxWindow[_0x2895[202]][_0x2895[189]]= !1;mxWindow[_0x2895[202]][_0x2895[905]]= !1;mxWindow[_0x2895[202]][_0x2895[923]]= new mxRectangle(0,0,50,40);mxWindow[_0x2895[202]][_0x2895[924]]= !1;mxWindow[_0x2895[202]][_0x2895[905]]= !1;mxWindow[_0x2895[202]][_0x2895[165]]= !0;mxWindow[_0x2895[202]][_0x2895[176]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x9= null!= _0x4315x9?_0x4315x9:_0x2895[925];this[_0x2895[485]]= document[_0x2895[55]](_0x2895[485]);this[_0x2895[485]][_0x2895[926]]= _0x4315x9;this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x2+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x4315x3+ _0x2895[168];this[_0x2895[116]]= document[_0x2895[55]](_0x2895[116]);this[_0x2895[116]][_0x2895[926]]= _0x4315x9;null!= _0x4315x4&& (mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= _0x4315x4+ _0x2895[168]),this[_0x2895[116]][_0x2895[124]][_0x2895[117]]= _0x4315x4+ _0x2895[168]);null!= _0x4315x5&& (mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= _0x4315x5+ _0x2895[168]),this[_0x2895[116]][_0x2895[124]][_0x2895[119]]= _0x4315x5+ _0x2895[168]);_0x4315x2= document[_0x2895[55]](_0x2895[120]);_0x4315x3= document[_0x2895[55]](_0x2895[121]);this[_0x2895[924]]= document[_0x2895[55]](_0x2895[122]);this[_0x2895[924]][_0x2895[926]]= _0x4315x9+ _0x2895[927];_0x4315x3[_0x2895[62]](this[_0x2895[924]]);_0x4315x2[_0x2895[62]](_0x4315x3);_0x4315x3= document[_0x2895[55]](_0x2895[121]);this[_0x2895[122]]= document[_0x2895[55]](_0x2895[122]);this[_0x2895[122]][_0x2895[926]]= _0x4315x9+ _0x2895[928];this[_0x2895[929]]= document[_0x2895[55]](_0x2895[485]);this[_0x2895[929]][_0x2895[926]]= _0x4315x9+ _0x2895[928];this[_0x2895[929]][_0x2895[124]][_0x2895[117]]= _0x2895[118];this[_0x2895[929]][_0x2895[62]](this[_0x2895[905]]);if(mxClient[_0x2895[80]]|| _0x2895[529]!= this[_0x2895[905]][_0x2895[301]][_0x2895[36]]()){this[_0x2895[929]][_0x2895[124]][_0x2895[119]]= _0x2895[118]};this[_0x2895[122]][_0x2895[62]](this[_0x2895[929]]);_0x4315x3[_0x2895[62]](this[_0x2895[122]]);_0x4315x2[_0x2895[62]](_0x4315x3);this[_0x2895[116]][_0x2895[62]](_0x4315x2);this[_0x2895[485]][_0x2895[62]](this[_0x2895[116]]);_0x4315x9= mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[790]]()});mxEvent[_0x2895[169]](this[_0x2895[924]],_0x2895[751],_0x4315x9);mxEvent[_0x2895[169]](this[_0x2895[116]],_0x2895[751],_0x4315x9);mxClient[_0x2895[754]]&& (mxEvent[_0x2895[169]](this[_0x2895[924]],_0x2895[755],_0x4315x9),mxEvent[_0x2895[169]](this[_0x2895[116]],_0x2895[755],_0x4315x9));this[_0x2895[801]]()};mxWindow[_0x2895[202]][_0x2895[910]]= function(_0x4315x2){for(var _0x4315x3=this[_0x2895[924]][_0x2895[285]];null!= _0x4315x3;){var _0x4315x4=_0x4315x3[_0x2895[287]];_0x4315x3[_0x2895[288]]== mxConstants[_0x2895[317]]&& _0x4315x3[_0x2895[265]][_0x2895[266]](_0x4315x3);_0x4315x3= _0x4315x4};mxUtils[_0x2895[53]](this[_0x2895[924]],_0x4315x2|| _0x2895[110])};mxWindow[_0x2895[202]][_0x2895[162]]= function(_0x4315x2){0> navigator[_0x2895[3]][_0x2895[2]](_0x2895[186])&& (this[_0x2895[929]][_0x2895[124]][_0x2895[277]]= _0x4315x2?_0x2895[278]:_0x2895[188])};mxWindow[_0x2895[202]][_0x2895[790]]= function(){if(mxWindow[_0x2895[930]]!= this){var _0x4315x2=mxUtils[_0x2895[275]](this[_0x2895[166]]()),_0x4315x2=null!= _0x4315x2?_0x4315x2[_0x2895[931]]:3;if(mxWindow[_0x2895[930]]){var _0x4315x3=mxWindow[_0x2895[930]][_0x2895[166]]();null!= _0x4315x3&& null!= _0x4315x3[_0x2895[124]]&& (_0x4315x3[_0x2895[124]][_0x2895[931]]= _0x4315x2)};_0x4315x3= mxWindow[_0x2895[930]];this[_0x2895[166]]()[_0x2895[124]][_0x2895[931]]= parseInt(_0x4315x2)+ 1;mxWindow[_0x2895[930]]= this;this[_0x2895[746]]( new mxEventObject(mxEvent.ACTIVATE,_0x2895[932],_0x4315x3))}};mxWindow[_0x2895[202]][_0x2895[166]]= function(){return this[_0x2895[485]]};mxWindow[_0x2895[202]][_0x2895[933]]= function(){mxUtils[_0x2895[933]](this[_0x2895[485]])};mxWindow[_0x2895[202]][_0x2895[934]]= function(){return null!= this[_0x2895[129]]?_0x2895[130]!= this[_0x2895[129]][_0x2895[124]][_0x2895[495]]:!1};mxWindow[_0x2895[202]][_0x2895[163]]= function(_0x4315x2){_0x4315x2?null== this[_0x2895[129]]?(this[_0x2895[129]]= document[_0x2895[55]](_0x2895[466]),this[_0x2895[129]][_0x2895[124]][_0x2895[491]]= _0x2895[492],this[_0x2895[129]][_0x2895[124]][_0x2895[553]]= _0x2895[935],this[_0x2895[129]][_0x2895[124]][_0x2895[699]]= _0x2895[935],this[_0x2895[129]][_0x2895[57]](_0x2895[390],mxClient[_0x2895[88]]+ _0x2895[922]),this[_0x2895[129]][_0x2895[124]][_0x2895[270]]= _0x2895[936],mxEvent[_0x2895[759]](this[_0x2895[129]],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[790]]();var _0x4315x4=mxEvent[_0x2895[731]](_0x4315x2),_0x4315x5=mxEvent[_0x2895[733]](_0x4315x2),_0x4315x9=this[_0x2895[485]][_0x2895[359]],_0x4315xa=this[_0x2895[485]][_0x2895[167]],_0x4315x12=mxUtils[_0x2895[885]](this,function(_0x4315x2){var _0x4315x3=mxEvent[_0x2895[731]](_0x4315x2)- _0x4315x4,_0x4315x12=mxEvent[_0x2895[733]](_0x4315x2)- _0x4315x5;this[_0x2895[937]](_0x4315x9+ _0x4315x3,_0x4315xa+ _0x4315x12);this[_0x2895[746]]( new mxEventObject(mxEvent.RESIZE,_0x2895[763],_0x4315x2));mxEvent[_0x2895[722]](_0x4315x2)}),_0x4315x13=mxUtils[_0x2895[885]](this,function(_0x4315x2){mxEvent[_0x2895[938]](document,null,_0x4315x12,_0x4315x13);this[_0x2895[746]]( new mxEventObject(mxEvent.RESIZE_END,_0x2895[763],_0x4315x2));mxEvent[_0x2895[722]](_0x4315x2)});mxEvent[_0x2895[759]](document,null,_0x4315x12,_0x4315x13);this[_0x2895[746]]( new mxEventObject(mxEvent.RESIZE_START,_0x2895[763],_0x4315x2));mxEvent[_0x2895[722]](_0x4315x2)}),null,null),this[_0x2895[485]][_0x2895[62]](this[_0x2895[129]])):this[_0x2895[129]][_0x2895[124]][_0x2895[495]]= _0x2895[497]:null!= this[_0x2895[129]]&& (this[_0x2895[129]][_0x2895[124]][_0x2895[495]]= _0x2895[130])};mxWindow[_0x2895[202]][_0x2895[937]]= function(_0x4315x2,_0x4315x3){_0x4315x2= Math[_0x2895[160]](this[_0x2895[923]][_0x2895[117]],_0x4315x2);_0x4315x3= Math[_0x2895[160]](this[_0x2895[923]][_0x2895[119]],_0x4315x3);mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= _0x4315x2+ _0x2895[168],this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= _0x4315x3+ _0x2895[168]);this[_0x2895[116]][_0x2895[124]][_0x2895[117]]= _0x4315x2+ _0x2895[168];this[_0x2895[116]][_0x2895[124]][_0x2895[119]]= _0x4315x3+ _0x2895[168];mxClient[_0x2895[80]]|| (this[_0x2895[929]][_0x2895[124]][_0x2895[119]]= this[_0x2895[485]][_0x2895[167]]- this[_0x2895[924]][_0x2895[167]]- 2+ _0x2895[168])};mxWindow[_0x2895[202]][_0x2895[909]]= function(_0x4315x2){this[_0x2895[798]][_0x2895[124]][_0x2895[495]]= _0x4315x2?_0x2895[110]:_0x2895[130]};mxWindow[_0x2895[202]][_0x2895[939]]= function(){return new mxRectangle(0,0,0,this[_0x2895[924]][_0x2895[167]])};mxWindow[_0x2895[202]][_0x2895[907]]= function(){this[_0x2895[798]]= document[_0x2895[55]](_0x2895[466]);this[_0x2895[798]][_0x2895[57]](_0x2895[390],this[_0x2895[915]]);this[_0x2895[798]][_0x2895[57]](_0x2895[611],_0x2895[699]);this[_0x2895[798]][_0x2895[57]](_0x2895[924],_0x2895[940]);this[_0x2895[798]][_0x2895[124]][_0x2895[270]]= _0x2895[356];this[_0x2895[798]][_0x2895[124]][_0x2895[941]]= _0x2895[942];this[_0x2895[798]][_0x2895[124]][_0x2895[495]]= _0x2895[130];this[_0x2895[924]][_0x2895[62]](this[_0x2895[798]]);var _0x4315x2=!1,_0x4315x3=null,_0x4315x4=null,_0x4315x5=mxUtils[_0x2895[885]](this,function(_0x4315x5){this[_0x2895[790]]();if(_0x4315x2){_0x4315x2= !1,this[_0x2895[798]][_0x2895[57]](_0x2895[390],this[_0x2895[915]]),this[_0x2895[798]][_0x2895[57]](_0x2895[924],_0x2895[940]),this[_0x2895[929]][_0x2895[124]][_0x2895[495]]= _0x2895[110],this[_0x2895[800]][_0x2895[124]][_0x2895[495]]= _0x4315x3,mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= _0x4315x4),this[_0x2895[116]][_0x2895[124]][_0x2895[119]]= _0x4315x4,null!= this[_0x2895[129]]&& (this[_0x2895[129]][_0x2895[124]][_0x2895[187]]= _0x2895[110]),this[_0x2895[746]]( new mxEventObject(mxEvent.NORMALIZE,_0x2895[763],_0x4315x5))}else {_0x4315x2= !0;this[_0x2895[798]][_0x2895[57]](_0x2895[390],this[_0x2895[917]]);this[_0x2895[798]][_0x2895[57]](_0x2895[924],_0x2895[943]);this[_0x2895[929]][_0x2895[124]][_0x2895[495]]= _0x2895[130];_0x4315x3= this[_0x2895[800]][_0x2895[124]][_0x2895[495]];this[_0x2895[800]][_0x2895[124]][_0x2895[495]]= _0x2895[130];_0x4315x4= this[_0x2895[116]][_0x2895[124]][_0x2895[119]];var _0x4315xa=this[_0x2895[939]]();0< _0x4315xa[_0x2895[119]]&& (mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= _0x4315xa[_0x2895[119]]+ _0x2895[168]),this[_0x2895[116]][_0x2895[124]][_0x2895[119]]= _0x4315xa[_0x2895[119]]+ _0x2895[168]);0< _0x4315xa[_0x2895[117]]&& (mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= _0x4315xa[_0x2895[117]]+ _0x2895[168]),this[_0x2895[116]][_0x2895[124]][_0x2895[117]]= _0x4315xa[_0x2895[117]]+ _0x2895[168]);null!= this[_0x2895[129]]&& (this[_0x2895[129]][_0x2895[124]][_0x2895[187]]= _0x2895[188]);this[_0x2895[746]]( new mxEventObject(mxEvent.MINIMIZE,_0x2895[763],_0x4315x5))};mxEvent[_0x2895[722]](_0x4315x5)});mxEvent[_0x2895[169]](this[_0x2895[798]],_0x2895[751],_0x4315x5);mxClient[_0x2895[754]]&& mxEvent[_0x2895[169]](this[_0x2895[798]],_0x2895[755],_0x4315x5)};mxWindow[_0x2895[202]][_0x2895[161]]= function(_0x4315x2){this[_0x2895[800]][_0x2895[124]][_0x2895[495]]= _0x4315x2?_0x2895[110]:_0x2895[130]};mxWindow[_0x2895[202]][_0x2895[906]]= function(){this[_0x2895[800]]= document[_0x2895[55]](_0x2895[466]);this[_0x2895[800]][_0x2895[57]](_0x2895[390],this[_0x2895[919]]);this[_0x2895[800]][_0x2895[57]](_0x2895[611],_0x2895[699]);this[_0x2895[800]][_0x2895[57]](_0x2895[924],_0x2895[944]);this[_0x2895[800]][_0x2895[124]][_0x2895[270]]= _0x2895[583];this[_0x2895[800]][_0x2895[124]][_0x2895[945]]= _0x2895[942];this[_0x2895[800]][_0x2895[124]][_0x2895[270]]= _0x2895[356];this[_0x2895[800]][_0x2895[124]][_0x2895[495]]= _0x2895[130];this[_0x2895[924]][_0x2895[62]](this[_0x2895[800]]);var _0x4315x2=!1,_0x4315x3=null,_0x4315x4=null,_0x4315x5=null,_0x4315x9=null,_0x4315xa=mxUtils[_0x2895[885]](this,function(_0x4315xa){this[_0x2895[790]]();if(_0x2895[130]!= this[_0x2895[800]][_0x2895[124]][_0x2895[495]]){if(_0x4315x2){_0x4315x2= !1;this[_0x2895[800]][_0x2895[57]](_0x2895[390],this[_0x2895[919]]);this[_0x2895[800]][_0x2895[57]](_0x2895[924],_0x2895[944]);this[_0x2895[929]][_0x2895[124]][_0x2895[495]]= _0x2895[110];this[_0x2895[798]][_0x2895[124]][_0x2895[187]]= _0x2895[110];this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x3+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x4315x4+ _0x2895[168];if(!mxClient[_0x2895[80]]&& (this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= _0x4315x5,this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= _0x4315x9,_0x4315x13= mxUtils[_0x2895[275]](this[_0x2895[929]]),_0x2895[278]== _0x4315x13[_0x2895[277]]|| null!= this[_0x2895[129]])){this[_0x2895[929]][_0x2895[124]][_0x2895[119]]= this[_0x2895[485]][_0x2895[167]]- this[_0x2895[924]][_0x2895[167]]- 2+ _0x2895[168]};this[_0x2895[116]][_0x2895[124]][_0x2895[119]]= _0x4315x5;this[_0x2895[116]][_0x2895[124]][_0x2895[117]]= _0x4315x9;null!= this[_0x2895[129]]&& (this[_0x2895[129]][_0x2895[124]][_0x2895[187]]= _0x2895[110]);this[_0x2895[746]]( new mxEventObject(mxEvent.NORMALIZE,_0x2895[763],_0x4315xa))}else {_0x4315x2= !0;this[_0x2895[800]][_0x2895[57]](_0x2895[390],this[_0x2895[917]]);this[_0x2895[800]][_0x2895[57]](_0x2895[924],_0x2895[943]);this[_0x2895[929]][_0x2895[124]][_0x2895[495]]= _0x2895[110];this[_0x2895[798]][_0x2895[124]][_0x2895[187]]= _0x2895[188];_0x4315x3= parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[361]]);_0x4315x4= parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[125]]);_0x4315x5= this[_0x2895[116]][_0x2895[124]][_0x2895[119]];_0x4315x9= this[_0x2895[116]][_0x2895[124]][_0x2895[117]];this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x2895[946];this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x2895[946];mxClient[_0x2895[80]]|| (this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= document[_0x2895[112]][_0x2895[157]]- 2+ _0x2895[168],this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= document[_0x2895[112]][_0x2895[159]]- 2+ _0x2895[168]);this[_0x2895[116]][_0x2895[124]][_0x2895[117]]= document[_0x2895[112]][_0x2895[159]]- 2+ _0x2895[168];this[_0x2895[116]][_0x2895[124]][_0x2895[119]]= document[_0x2895[112]][_0x2895[157]]- 2+ _0x2895[168];null!= this[_0x2895[129]]&& (this[_0x2895[129]][_0x2895[124]][_0x2895[187]]= _0x2895[188]);if(!mxClient[_0x2895[80]]){var _0x4315x13=mxUtils[_0x2895[275]](this[_0x2895[929]]);if(_0x2895[278]== _0x4315x13[_0x2895[277]]|| null!= this[_0x2895[129]]){this[_0x2895[929]][_0x2895[124]][_0x2895[119]]= this[_0x2895[485]][_0x2895[167]]- this[_0x2895[924]][_0x2895[167]]- 2+ _0x2895[168]}};this[_0x2895[746]]( new mxEventObject(mxEvent.MAXIMIZE,_0x2895[763],_0x4315xa))};mxEvent[_0x2895[722]](_0x4315xa)}});mxEvent[_0x2895[759]](this[_0x2895[800]],_0x4315xa);mxEvent[_0x2895[169]](this[_0x2895[924]],_0x2895[760],_0x4315xa)};mxWindow[_0x2895[202]][_0x2895[911]]= function(){this[_0x2895[924]][_0x2895[124]][_0x2895[270]]= _0x2895[582];mxEvent[_0x2895[759]](this[_0x2895[924]],mxUtils[_0x2895[885]](this,function(_0x4315x2){var _0x4315x3=mxEvent[_0x2895[731]](_0x4315x2),_0x4315x4=mxEvent[_0x2895[733]](_0x4315x2),_0x4315x5=this[_0x2895[730]](),_0x4315x9=this[_0x2895[732]](),_0x4315xa=mxUtils[_0x2895[885]](this,function(_0x4315x2){var _0x4315xa=mxEvent[_0x2895[731]](_0x4315x2)- _0x4315x3,_0x4315x12=mxEvent[_0x2895[733]](_0x4315x2)- _0x4315x4;this[_0x2895[947]](_0x4315x5+ _0x4315xa,_0x4315x9+ _0x4315x12);this[_0x2895[746]]( new mxEventObject(mxEvent.MOVE,_0x2895[763],_0x4315x2));mxEvent[_0x2895[722]](_0x4315x2)}),_0x4315x12=mxUtils[_0x2895[885]](this,function(_0x4315x2){mxEvent[_0x2895[938]](document,null,_0x4315xa,_0x4315x12);this[_0x2895[746]]( new mxEventObject(mxEvent.MOVE_END,_0x2895[763],_0x4315x2));mxEvent[_0x2895[722]](_0x4315x2)});mxEvent[_0x2895[759]](document,null,_0x4315xa,_0x4315x12);this[_0x2895[746]]( new mxEventObject(mxEvent.MOVE_START,_0x2895[763],_0x4315x2));mxEvent[_0x2895[722]](_0x4315x2)}))};mxWindow[_0x2895[202]][_0x2895[947]]= function(_0x4315x2,_0x4315x3){this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x2+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x4315x3+ _0x2895[168]};mxWindow[_0x2895[202]][_0x2895[730]]= function(){return parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[361]])};mxWindow[_0x2895[202]][_0x2895[732]]= function(){return parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[125]])};mxWindow[_0x2895[202]][_0x2895[908]]= function(){this[_0x2895[948]]= document[_0x2895[55]](_0x2895[466]);this[_0x2895[948]][_0x2895[57]](_0x2895[390],this[_0x2895[913]]);this[_0x2895[948]][_0x2895[57]](_0x2895[611],_0x2895[699]);this[_0x2895[948]][_0x2895[57]](_0x2895[924],_0x2895[949]);this[_0x2895[948]][_0x2895[124]][_0x2895[945]]= _0x2895[935];this[_0x2895[948]][_0x2895[124]][_0x2895[270]]= _0x2895[356];this[_0x2895[948]][_0x2895[124]][_0x2895[495]]= _0x2895[130];this[_0x2895[924]][_0x2895[950]](this[_0x2895[948]],this[_0x2895[924]][_0x2895[285]]);mxEvent[_0x2895[759]](this[_0x2895[948]],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[746]]( new mxEventObject(mxEvent.CLOSE,_0x2895[763],_0x4315x2));this[_0x2895[165]]?this[_0x2895[515]]():this[_0x2895[175]](!1);mxEvent[_0x2895[722]](_0x4315x2)}))};mxWindow[_0x2895[202]][_0x2895[951]]= function(_0x4315x2){this[_0x2895[618]]= document[_0x2895[55]](_0x2895[466]);this[_0x2895[618]][_0x2895[57]](_0x2895[390],_0x4315x2);this[_0x2895[618]][_0x2895[57]](_0x2895[611],_0x2895[361]);this[_0x2895[618]][_0x2895[124]][_0x2895[941]]= _0x2895[952];this[_0x2895[618]][_0x2895[124]][_0x2895[945]]= _0x2895[946];this[_0x2895[618]][_0x2895[124]][_0x2895[953]]= _0x2895[954];this[_0x2895[924]][_0x2895[950]](this[_0x2895[618]],this[_0x2895[924]][_0x2895[285]])};mxWindow[_0x2895[202]][_0x2895[164]]= function(_0x4315x2){this[_0x2895[948]][_0x2895[124]][_0x2895[495]]= _0x4315x2?_0x2895[110]:_0x2895[130]};mxWindow[_0x2895[202]][_0x2895[174]]= function(){return null!= this[_0x2895[485]]?_0x2895[188]!= this[_0x2895[485]][_0x2895[124]][_0x2895[187]]:!1};mxWindow[_0x2895[202]][_0x2895[175]]= function(_0x4315x2){null!= this[_0x2895[485]]&& this[_0x2895[174]]()!= _0x4315x2&& (_0x4315x2?this[_0x2895[539]]():this[_0x2895[801]]())};mxWindow[_0x2895[202]][_0x2895[539]]= function(){this[_0x2895[485]][_0x2895[124]][_0x2895[187]]= _0x2895[110];this[_0x2895[790]]();var _0x4315x2=mxUtils[_0x2895[275]](this[_0x2895[929]]);if(!mxClient[_0x2895[80]]&& (_0x2895[278]== _0x4315x2[_0x2895[277]]|| null!= this[_0x2895[129]])){this[_0x2895[929]][_0x2895[124]][_0x2895[119]]= this[_0x2895[485]][_0x2895[167]]- this[_0x2895[924]][_0x2895[167]]- 2+ _0x2895[168]};this[_0x2895[746]]( new mxEventObject(mxEvent.SHOW))};mxWindow[_0x2895[202]][_0x2895[801]]= function(){this[_0x2895[485]][_0x2895[124]][_0x2895[187]]= _0x2895[188];this[_0x2895[746]]( new mxEventObject(mxEvent.HIDE))};mxWindow[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[746]]( new mxEventObject(mxEvent.DESTROY));null!= this[_0x2895[485]]&& (mxEvent[_0x2895[762]](this[_0x2895[485]]),this[_0x2895[485]][_0x2895[265]][_0x2895[266]](this[_0x2895[485]]),this[_0x2895[485]]= null);this[_0x2895[929]]= this[_0x2895[905]]= this[_0x2895[924]]= null};function mxForm(_0x4315x2){this[_0x2895[116]]= document[_0x2895[55]](_0x2895[116]);this[_0x2895[116]][_0x2895[926]]= _0x4315x2;this[_0x2895[112]]= document[_0x2895[55]](_0x2895[120]);this[_0x2895[116]][_0x2895[62]](this[_0x2895[112]])}mxForm[_0x2895[202]][_0x2895[116]]= null;mxForm[_0x2895[202]][_0x2895[112]]= !1;mxForm[_0x2895[202]][_0x2895[955]]= function(){return this[_0x2895[116]]};mxForm[_0x2895[202]][_0x2895[956]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[121]),_0x4315x5=document[_0x2895[55]](_0x2895[122]);_0x4315x4[_0x2895[62]](_0x4315x5);var _0x4315x5=document[_0x2895[55]](_0x2895[122]),_0x4315x9=document[_0x2895[55]](_0x2895[172]);mxUtils[_0x2895[53]](_0x4315x9,mxResources[_0x2895[203]](_0x2895[957])|| _0x2895[958]);_0x4315x5[_0x2895[62]](_0x4315x9);mxEvent[_0x2895[169]](_0x4315x9,_0x2895[173],function(){_0x4315x2()});_0x4315x9= document[_0x2895[55]](_0x2895[172]);mxUtils[_0x2895[53]](_0x4315x9,mxResources[_0x2895[203]](_0x2895[959])|| _0x2895[960]);_0x4315x5[_0x2895[62]](_0x4315x9);mxEvent[_0x2895[169]](_0x4315x9,_0x2895[173],function(){_0x4315x3()});_0x4315x4[_0x2895[62]](_0x4315x5);this[_0x2895[112]][_0x2895[62]](_0x4315x4)};mxForm[_0x2895[202]][_0x2895[961]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[962]);_0x4315x4[_0x2895[57]](_0x2895[60],_0x2895[963]);_0x4315x4[_0x2895[131]]= _0x4315x3;return this[_0x2895[964]](_0x4315x2,_0x4315x4)};mxForm[_0x2895[202]][_0x2895[965]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[962]);_0x4315x4[_0x2895[57]](_0x2895[60],_0x2895[966]);this[_0x2895[964]](_0x4315x2,_0x4315x4);_0x4315x3&& (_0x4315x4[_0x2895[967]]= !0);return _0x4315x4};mxForm[_0x2895[202]][_0x2895[968]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=document[_0x2895[55]](_0x2895[126]);mxClient[_0x2895[133]]&& _0x4315x4--;_0x4315x5[_0x2895[57]](_0x2895[969],_0x4315x4|| 2);_0x4315x5[_0x2895[131]]= _0x4315x3;return this[_0x2895[964]](_0x4315x2,_0x4315x5)};mxForm[_0x2895[202]][_0x2895[970]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=document[_0x2895[55]](_0x2895[804]);null!= _0x4315x4&& _0x4315x5[_0x2895[57]](_0x2895[803],_0x4315x4);_0x4315x3&& _0x4315x5[_0x2895[57]](_0x2895[971],_0x2895[128]);return this[_0x2895[964]](_0x4315x2,_0x4315x5)};mxForm[_0x2895[202]][_0x2895[972]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=document[_0x2895[55]](_0x2895[973]);mxUtils[_0x2895[171]](_0x4315x9,_0x4315x3);_0x4315x9[_0x2895[57]](_0x2895[131],_0x4315x4);_0x4315x5&& _0x4315x9[_0x2895[57]](_0x2895[974],_0x4315x5);_0x4315x2[_0x2895[62]](_0x4315x9)};mxForm[_0x2895[202]][_0x2895[964]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[121]),_0x4315x5=document[_0x2895[55]](_0x2895[122]);mxUtils[_0x2895[53]](_0x4315x5,_0x4315x2);_0x4315x4[_0x2895[62]](_0x4315x5);_0x4315x5= document[_0x2895[55]](_0x2895[122]);_0x4315x5[_0x2895[62]](_0x4315x3);_0x4315x4[_0x2895[62]](_0x4315x5);this[_0x2895[112]][_0x2895[62]](_0x4315x4);return _0x4315x3};function mxImage(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[390]]= _0x4315x2;this[_0x2895[117]]= _0x4315x3;this[_0x2895[119]]= _0x4315x4}mxImage[_0x2895[202]][_0x2895[390]]= null;mxImage[_0x2895[202]][_0x2895[117]]= null;mxImage[_0x2895[202]][_0x2895[119]]= null;function mxDivResizer(_0x4315x2,_0x4315x3){if(_0x2895[485]== _0x4315x2[_0x2895[301]][_0x2895[216]]()){null== _0x4315x3&& (_0x4315x3= window);this[_0x2895[485]]= _0x4315x2;var _0x4315x4=mxUtils[_0x2895[275]](_0x4315x2);null!= _0x4315x4&& (this[_0x2895[975]]= _0x2895[278]== _0x4315x4[_0x2895[117]],this[_0x2895[976]]= _0x2895[278]== _0x4315x4[_0x2895[119]]);mxEvent[_0x2895[169]](_0x4315x3,_0x2895[129],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[977]]|| (this[_0x2895[977]]= !0,this[_0x2895[129]](),this[_0x2895[977]]= !1)}));this[_0x2895[129]]()}}mxDivResizer[_0x2895[202]][_0x2895[975]]= !0;mxDivResizer[_0x2895[202]][_0x2895[976]]= !0;mxDivResizer[_0x2895[202]][_0x2895[977]]= !1;mxDivResizer[_0x2895[202]][_0x2895[129]]= function(){var _0x4315x2=this[_0x2895[978]](),_0x4315x3=this[_0x2895[979]](),_0x4315x4=parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[361]]),_0x4315x5=parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[699]]),_0x4315x9=parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[125]]),_0x4315xa=parseInt(this[_0x2895[485]][_0x2895[124]][_0x2895[553]]);this[_0x2895[975]]&& (!isNaN(_0x4315x4)&& !isNaN(_0x4315x5)&& 0<= _0x4315x4&& 0<= _0x4315x5&& 0< _0x4315x2- _0x4315x5- _0x4315x4)&& (this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= _0x4315x2- _0x4315x5- _0x4315x4+ _0x2895[168]);this[_0x2895[976]]&& (!isNaN(_0x4315x9)&& !isNaN(_0x4315xa)&& 0<= _0x4315x9&& 0<= _0x4315xa&& 0< _0x4315x3- _0x4315x9- _0x4315xa)&& (this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= _0x4315x3- _0x4315x9- _0x4315xa+ _0x2895[168])};mxDivResizer[_0x2895[202]][_0x2895[978]]= function(){return document[_0x2895[112]][_0x2895[159]]};mxDivResizer[_0x2895[202]][_0x2895[979]]= function(){return document[_0x2895[112]][_0x2895[157]]};function mxDragSource(_0x4315x2,_0x4315x3){this[_0x2895[980]]= _0x4315x2;this[_0x2895[981]]= _0x4315x3;mxEvent[_0x2895[759]](_0x4315x2,mxUtils[_0x2895[885]](this,this[_0x2895[787]]))}mxDragSource[_0x2895[202]][_0x2895[980]]= null;mxDragSource[_0x2895[202]][_0x2895[981]]= null;mxDragSource[_0x2895[202]][_0x2895[559]]= null;mxDragSource[_0x2895[202]][_0x2895[982]]= null;mxDragSource[_0x2895[202]][_0x2895[983]]= null;mxDragSource[_0x2895[202]][_0x2895[984]]= !0;mxDragSource[_0x2895[202]][_0x2895[985]]= null;mxDragSource[_0x2895[202]][_0x2895[986]]= null;mxDragSource[_0x2895[202]][_0x2895[987]]= null;mxDragSource[_0x2895[202]][_0x2895[988]]= null;mxDragSource[_0x2895[202]][_0x2895[989]]= null;mxDragSource[_0x2895[202]][_0x2895[561]]= !0;mxDragSource[_0x2895[202]][_0x2895[990]]= !0;mxDragSource[_0x2895[202]][_0x2895[991]]= !0;mxDragSource[_0x2895[202]][_0x2895[563]]= !0;mxDragSource[_0x2895[202]][_0x2895[992]]= 100;mxDragSource[_0x2895[202]][_0x2895[993]]= 70;mxDragSource[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxDragSource[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxDragSource[_0x2895[202]][_0x2895[996]]= function(){return this[_0x2895[990]]};mxDragSource[_0x2895[202]][_0x2895[562]]= function(_0x4315x2){this[_0x2895[990]]= _0x4315x2};mxDragSource[_0x2895[202]][_0x2895[997]]= function(){return this[_0x2895[991]]};mxDragSource[_0x2895[202]][_0x2895[998]]= function(_0x4315x2){this[_0x2895[991]]= _0x4315x2};mxDragSource[_0x2895[202]][_0x2895[565]]= function(_0x4315x2){return null};mxDragSource[_0x2895[202]][_0x2895[564]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x2[_0x2895[999]](_0x4315x3,_0x4315x4)};mxDragSource[_0x2895[202]][_0x2895[566]]= function(_0x4315x2){return this[_0x2895[980]][_0x2895[511]](!0)};mxDragSource[_0x2895[202]][_0x2895[567]]= function(_0x4315x2){return null};mxDragSource[_0x2895[202]][_0x2895[787]]= function(_0x4315x2){this[_0x2895[984]]&& (!mxEvent[_0x2895[721]](_0x4315x2)&& null== this[_0x2895[1000]])&& (this[_0x2895[1001]](_0x4315x2),this[_0x2895[1000]]= mxUtils[_0x2895[885]](this,this[_0x2895[788]]),this[_0x2895[1002]]= mxUtils[_0x2895[885]](this,this[_0x2895[789]]),mxEvent[_0x2895[759]](document,null,this[_0x2895[1000]],this[_0x2895[1002]]),mxEvent[_0x2895[722]](_0x4315x2,!0,!1))};mxDragSource[_0x2895[202]][_0x2895[1001]]= function(_0x4315x2){this[_0x2895[982]]= this[_0x2895[566]](_0x4315x2);this[_0x2895[982]][_0x2895[124]][_0x2895[491]]= _0x2895[492];this[_0x2895[982]][_0x2895[124]][_0x2895[931]]= this[_0x2895[992]];mxUtils[_0x2895[254]](this[_0x2895[982]],this[_0x2895[993]])};mxDragSource[_0x2895[202]][_0x2895[1003]]= function(_0x4315x2){null!= this[_0x2895[982]]&& (null!= this[_0x2895[982]][_0x2895[265]]&& this[_0x2895[982]][_0x2895[265]][_0x2895[266]](this[_0x2895[982]]),this[_0x2895[982]]= null)};mxDragSource[_0x2895[202]][_0x2895[1004]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxEvent[_0x2895[731]](_0x4315x3),_0x4315x5=mxEvent[_0x2895[733]](_0x4315x3),_0x4315x9=mxUtils[_0x2895[445]](_0x4315x2[_0x2895[526]]),_0x4315xa=mxUtils[_0x2895[444]]();return _0x4315x4>= _0x4315x9[_0x2895[235]]- _0x4315xa[_0x2895[235]]&& _0x4315x5>= _0x4315x9[_0x2895[236]]- _0x4315xa[_0x2895[236]]&& _0x4315x4<= _0x4315x9[_0x2895[235]]- _0x4315xa[_0x2895[235]]+ _0x4315x2[_0x2895[526]][_0x2895[359]]&& _0x4315x5<= _0x4315x9[_0x2895[236]]- _0x4315xa[_0x2895[236]]+ _0x4315x2[_0x2895[526]][_0x2895[167]]};mxDragSource[_0x2895[202]][_0x2895[788]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[565]](_0x4315x2);null!= _0x4315x3&& !this[_0x2895[1004]](_0x4315x3,_0x4315x2)&& (_0x4315x3= null);_0x4315x3!= this[_0x2895[985]]&& (null!= this[_0x2895[985]]&& this[_0x2895[1005]](this[_0x2895[985]]),this[_0x2895[985]]= _0x4315x3,null!= this[_0x2895[985]]&& this[_0x2895[1006]](this[_0x2895[985]]));null!= this[_0x2895[985]]&& this[_0x2895[1007]](this[_0x2895[985]],_0x4315x2);if(null!= this[_0x2895[982]]&& (null== this[_0x2895[983]]|| _0x2895[189]!= this[_0x2895[983]][_0x2895[124]][_0x2895[187]])){var _0x4315x3=mxEvent[_0x2895[731]](_0x4315x2),_0x4315x4=mxEvent[_0x2895[733]](_0x4315x2);null== this[_0x2895[982]][_0x2895[265]]&& document[_0x2895[112]][_0x2895[62]](this[_0x2895[982]]);this[_0x2895[982]][_0x2895[124]][_0x2895[187]]= _0x2895[189];null!= this[_0x2895[559]]&& (_0x4315x3+= this[_0x2895[559]][_0x2895[235]],_0x4315x4+= this[_0x2895[559]][_0x2895[236]]);_0x4315x3+= document[_0x2895[112]][_0x2895[360]]|| document[_0x2895[158]][_0x2895[360]];_0x4315x4+= document[_0x2895[112]][_0x2895[190]]|| document[_0x2895[158]][_0x2895[190]];this[_0x2895[982]][_0x2895[124]][_0x2895[361]]= _0x4315x3+ _0x2895[168];this[_0x2895[982]][_0x2895[124]][_0x2895[125]]= _0x4315x4+ _0x2895[168]}else {null!= this[_0x2895[982]]&& (this[_0x2895[982]][_0x2895[124]][_0x2895[187]]= _0x2895[188])};mxEvent[_0x2895[722]](_0x4315x2)};mxDragSource[_0x2895[202]][_0x2895[789]]= function(_0x4315x2){if(null!= this[_0x2895[985]]){if(null!= this[_0x2895[987]]&& (null== this[_0x2895[983]]|| _0x2895[188]!= this[_0x2895[983]][_0x2895[124]][_0x2895[187]])){var _0x4315x3=this[_0x2895[985]][_0x2895[441]][_0x2895[255]],_0x4315x4=this[_0x2895[985]][_0x2895[441]][_0x2895[513]];this[_0x2895[1008]](this[_0x2895[985]],_0x4315x2,this[_0x2895[986]],this[_0x2895[987]][_0x2895[235]]/ _0x4315x3- _0x4315x4[_0x2895[235]],this[_0x2895[987]][_0x2895[236]]/ _0x4315x3- _0x4315x4[_0x2895[236]])};this[_0x2895[1005]](this[_0x2895[985]])};this[_0x2895[1003]](_0x4315x2);mxEvent[_0x2895[938]](document,null,this[_0x2895[1000]],this[_0x2895[1002]]);this[_0x2895[985]]= this[_0x2895[1002]]= this[_0x2895[1000]]= null;mxEvent[_0x2895[722]](_0x4315x2)};mxDragSource[_0x2895[202]][_0x2895[1006]]= function(_0x4315x2){_0x4315x2[_0x2895[1009]]= !0;this[_0x2895[983]]= this[_0x2895[567]](_0x4315x2);this[_0x2895[996]]()&& null!= this[_0x2895[983]]&& (this[_0x2895[988]]= new mxGuide(_0x4315x2,_0x4315x2[_0x2895[1011]][_0x2895[1010]]()));this[_0x2895[563]]&& (this[_0x2895[989]]= new mxCellHighlight(_0x4315x2,mxConstants.DROP_TARGET_COLOR))};mxDragSource[_0x2895[202]][_0x2895[1005]]= function(_0x4315x2){this[_0x2895[987]]= this[_0x2895[986]]= null;_0x4315x2[_0x2895[1009]]= !1;null!= this[_0x2895[983]]&& (null!= this[_0x2895[983]][_0x2895[265]]&& this[_0x2895[983]][_0x2895[265]][_0x2895[266]](this[_0x2895[983]]),this[_0x2895[983]]= null);null!= this[_0x2895[988]]&& (this[_0x2895[988]][_0x2895[515]](),this[_0x2895[988]]= null);null!= this[_0x2895[989]]&& (this[_0x2895[989]][_0x2895[515]](),this[_0x2895[989]]= null)};mxDragSource[_0x2895[202]][_0x2895[1007]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxUtils[_0x2895[445]](_0x4315x2[_0x2895[526]]),_0x4315x5=mxUtils[_0x2895[444]](_0x4315x2[_0x2895[526]]),_0x4315x9=mxEvent[_0x2895[731]](_0x4315x3)- _0x4315x4[_0x2895[235]]+ _0x4315x5[_0x2895[235]],_0x4315x4=mxEvent[_0x2895[733]](_0x4315x3)- _0x4315x4[_0x2895[236]]+ _0x4315x5[_0x2895[236]];_0x4315x2[_0x2895[1012]]&& (null== this[_0x2895[561]]|| this[_0x2895[561]])&& _0x4315x2[_0x2895[1014]](_0x4315x9,_0x4315x4,_0x4315x2[_0x2895[1013]]);null!= this[_0x2895[989]]&& _0x4315x2[_0x2895[1015]]()&& (this[_0x2895[986]]= this[_0x2895[564]](_0x4315x2,_0x4315x9,_0x4315x4),_0x4315x5= _0x4315x2[_0x2895[249]]()[_0x2895[248]](this[_0x2895[986]]),this[_0x2895[989]][_0x2895[1016]](_0x4315x5));if(null!= this[_0x2895[983]]){null== this[_0x2895[983]][_0x2895[265]]&& (_0x4315x2[_0x2895[526]][_0x2895[62]](this[_0x2895[983]]),this[_0x2895[983]][_0x2895[124]][_0x2895[931]]= _0x2895[1017],this[_0x2895[983]][_0x2895[124]][_0x2895[491]]= _0x2895[492]);var _0x4315x5=this[_0x2895[997]]()&& _0x4315x2[_0x2895[1018]](_0x4315x3),_0x4315xa=!0;if(null!= this[_0x2895[988]]&& this[_0x2895[988]][_0x2895[1019]](_0x4315x3)){var _0x4315xa=parseInt(this[_0x2895[983]][_0x2895[124]][_0x2895[117]]),_0x4315x12=parseInt(this[_0x2895[983]][_0x2895[124]][_0x2895[119]]),_0x4315xa= new mxRectangle(0,0,_0x4315xa,_0x4315x12),_0x4315x4= new mxPoint(_0x4315x9,_0x4315x4),_0x4315x4=this[_0x2895[988]][_0x2895[582]](_0x4315xa,_0x4315x4,_0x4315x5),_0x4315xa=!1,_0x4315x9=_0x4315x4[_0x2895[235]],_0x4315x4=_0x4315x4[_0x2895[236]]}else {if(_0x4315x5){var _0x4315x5=_0x4315x2[_0x2895[441]][_0x2895[255]],_0x4315x12=_0x4315x2[_0x2895[441]][_0x2895[513]],_0x4315x13=_0x4315x2[_0x2895[1020]]/ 2,_0x4315x9=(_0x4315x2[_0x2895[1021]](_0x4315x9/ _0x4315x5- _0x4315x12[_0x2895[235]]- _0x4315x13)+ _0x4315x12[_0x2895[235]])* _0x4315x5,_0x4315x4=(_0x4315x2[_0x2895[1021]](_0x4315x4/ _0x4315x5- _0x4315x12[_0x2895[236]]- _0x4315x13)+ _0x4315x12[_0x2895[236]])* _0x4315x5}};null!= this[_0x2895[988]]&& _0x4315xa&& this[_0x2895[988]][_0x2895[801]]();null!= this[_0x2895[1022]]&& (_0x4315x9+= this[_0x2895[1022]][_0x2895[235]],_0x4315x4+= this[_0x2895[1022]][_0x2895[236]]);this[_0x2895[983]][_0x2895[124]][_0x2895[361]]= Math[_0x2895[488]](_0x4315x9)+ _0x2895[168];this[_0x2895[983]][_0x2895[124]][_0x2895[125]]= Math[_0x2895[488]](_0x4315x4)+ _0x2895[168];this[_0x2895[983]][_0x2895[124]][_0x2895[187]]= _0x2895[189]};this[_0x2895[987]]= new mxPoint(_0x4315x9,_0x4315x4)};mxDragSource[_0x2895[202]][_0x2895[1008]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){this[_0x2895[981]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[526]][_0x2895[393]]()};function mxToolbar(_0x4315x2){this[_0x2895[526]]= _0x4315x2}mxToolbar[_0x2895[202]]= new mxEventSource;mxToolbar[_0x2895[202]][_0x2895[196]]= mxToolbar;mxToolbar[_0x2895[202]][_0x2895[526]]= null;mxToolbar[_0x2895[202]][_0x2895[984]]= !0;mxToolbar[_0x2895[202]][_0x2895[1023]]= !1;mxToolbar[_0x2895[202]][_0x2895[1024]]= !0;mxToolbar[_0x2895[202]][_0x2895[1025]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=document[_0x2895[55]](null!= _0x4315x3?_0x2895[466]:_0x2895[172]),_0x4315x13=_0x4315x9|| (null!= _0x4315xa?_0x2895[1026]:_0x2895[1027]);_0x4315x12[_0x2895[926]]= _0x4315x13;_0x4315x12[_0x2895[57]](_0x2895[390],_0x4315x3);null!= _0x4315x2&& (null!= _0x4315x3?_0x4315x12[_0x2895[57]](_0x2895[924],_0x4315x2):mxUtils[_0x2895[53]](_0x4315x12,_0x4315x2));this[_0x2895[526]][_0x2895[62]](_0x4315x12);null!= _0x4315x4&& (mxEvent[_0x2895[169]](_0x4315x12,_0x2895[173],_0x4315x4),mxClient[_0x2895[754]]&& mxEvent[_0x2895[169]](_0x4315x12,_0x2895[757],_0x4315x4));_0x4315x2= mxUtils[_0x2895[885]](this,function(_0x4315x2){null!= _0x4315x5?_0x4315x12[_0x2895[57]](_0x2895[390],_0x4315x3):_0x4315x12[_0x2895[124]][_0x2895[1028]]= _0x2895[110]});mxEvent[_0x2895[759]](_0x4315x12,mxUtils[_0x2895[885]](this,function(_0x4315x2){null!= _0x4315x5?_0x4315x12[_0x2895[57]](_0x2895[390],_0x4315x5):_0x4315x12[_0x2895[124]][_0x2895[1028]]= _0x2895[579];if(null!= _0x4315xa){null== this[_0x2895[1029]]&& (this[_0x2895[1029]]= new mxPopupMenu,this[_0x2895[1029]][_0x2895[176]]());var _0x4315x3=this[_0x2895[1030]];this[_0x2895[1029]][_0x2895[1031]]()&& this[_0x2895[1029]][_0x2895[1032]]();_0x4315x3!= _0x4315x12&& (this[_0x2895[1030]]= _0x4315x12,this[_0x2895[1029]][_0x2895[1033]]= _0x4315xa,_0x4315x3= new mxPoint(_0x4315x12[_0x2895[358]],_0x4315x12[_0x2895[362]]+ _0x4315x12[_0x2895[167]]),this[_0x2895[1029]][_0x2895[152]](_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],null,_0x4315x2),this[_0x2895[1029]][_0x2895[1031]]()&& (_0x4315x12[_0x2895[926]]= _0x4315x13+ _0x2895[1034],this[_0x2895[1029]][_0x2895[1032]]= function(){mxPopupMenu[_0x2895[202]][_0x2895[1032]][_0x2895[183]](this);_0x4315x12[_0x2895[926]]= _0x4315x13;this[_0x2895[1030]]= null}))}}),null,_0x4315x2);mxEvent[_0x2895[169]](_0x4315x12,_0x2895[1035],_0x4315x2);return _0x4315x12};mxToolbar[_0x2895[202]][_0x2895[970]]= function(_0x4315x2){var _0x4315x3=document[_0x2895[55]](_0x2895[485]);_0x4315x3[_0x2895[124]][_0x2895[495]]= _0x2895[497];_0x4315x3[_0x2895[926]]= _0x2895[1036];var _0x4315x4=document[_0x2895[55]](_0x2895[804]);_0x4315x4[_0x2895[926]]= _0x4315x2|| _0x2895[1037];_0x4315x3[_0x2895[62]](_0x4315x4);this[_0x2895[526]][_0x2895[62]](_0x4315x3);return _0x4315x4};mxToolbar[_0x2895[202]][_0x2895[1038]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[804]);_0x4315x4[_0x2895[926]]= _0x4315x3|| _0x2895[1037];this[_0x2895[972]](_0x4315x4,_0x4315x2,null);mxEvent[_0x2895[169]](_0x4315x4,_0x2895[826],function(_0x4315x2){var _0x4315x3=_0x4315x4[_0x2895[1040]][_0x4315x4[_0x2895[1039]]];_0x4315x4[_0x2895[1039]]= 0;null!= _0x4315x3[_0x2895[1041]]&& _0x4315x3[_0x2895[1041]](_0x4315x2)});this[_0x2895[526]][_0x2895[62]](_0x4315x4);return _0x4315x4};mxToolbar[_0x2895[202]][_0x2895[972]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=document[_0x2895[55]](_0x2895[973]);mxUtils[_0x2895[171]](_0x4315x5,_0x4315x3);_0x2895[279]== typeof _0x4315x4?_0x4315x5[_0x2895[1041]]= _0x4315x4:_0x4315x5[_0x2895[57]](_0x2895[131],_0x4315x4);_0x4315x2[_0x2895[62]](_0x4315x5);return _0x4315x5};mxToolbar[_0x2895[202]][_0x2895[1042]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=document[_0x2895[55]](_0x2895[466]);_0x4315xa[_0x2895[1043]]= _0x4315x9|| _0x2895[1026];_0x4315xa[_0x2895[926]]= _0x4315xa[_0x2895[1043]];_0x4315xa[_0x2895[57]](_0x2895[390],_0x4315x3);_0x4315xa[_0x2895[1044]]= _0x4315x5;null!= _0x4315x2&& _0x4315xa[_0x2895[57]](_0x2895[924],_0x4315x2);mxEvent[_0x2895[169]](_0x4315xa,_0x2895[173],mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x2= this[_0x2895[1045]][_0x2895[1044]];null!= _0x4315x2?(this[_0x2895[1045]][_0x2895[1044]]= this[_0x2895[1045]][_0x2895[284]](_0x2895[390]),this[_0x2895[1045]][_0x2895[57]](_0x2895[390],_0x4315x2)):this[_0x2895[1045]][_0x2895[926]]= this[_0x2895[1045]][_0x2895[1043]];this[_0x2895[1024]]&& (this[_0x2895[1046]]= _0x4315xa);this[_0x2895[1045]]= _0x4315xa;_0x4315x2= _0x4315xa[_0x2895[1044]];null!= _0x4315x2?(_0x4315xa[_0x2895[1044]]= _0x4315xa[_0x2895[284]](_0x2895[390]),_0x4315xa[_0x2895[57]](_0x2895[390],_0x4315x2)):_0x4315xa[_0x2895[926]]= _0x4315xa[_0x2895[1043]]+ _0x2895[1034];this[_0x2895[746]]( new mxEventObject(mxEvent.SELECT));_0x4315x4()}));this[_0x2895[526]][_0x2895[62]](_0x4315xa);null== this[_0x2895[1046]]&& (this[_0x2895[1046]]= _0x4315xa,this[_0x2895[1047]](_0x4315xa),_0x4315x4());return _0x4315xa};mxToolbar[_0x2895[202]][_0x2895[1048]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315xa= null!= _0x4315xa?_0x4315xa:!0;var _0x4315x12=document[_0x2895[55]](null!= _0x4315x3?_0x2895[466]:_0x2895[172]);_0x4315x12[_0x2895[1043]]= _0x4315x9|| _0x2895[1026];_0x4315x12[_0x2895[926]]= _0x4315x12[_0x2895[1043]];_0x4315x12[_0x2895[57]](_0x2895[390],_0x4315x3);_0x4315x12[_0x2895[1044]]= _0x4315x5;null!= _0x4315x2&& _0x4315x12[_0x2895[57]](_0x2895[924],_0x4315x2);this[_0x2895[984]]&& _0x4315xa&& (mxEvent[_0x2895[169]](_0x4315x12,_0x2895[173],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1047]](_0x4315x12,_0x4315x4);this[_0x2895[1023]]= !1})),mxEvent[_0x2895[169]](_0x4315x12,_0x2895[760],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1047]](_0x4315x12,_0x4315x4);this[_0x2895[1023]]= !0})),null== this[_0x2895[1046]]&& (this[_0x2895[1046]]= _0x4315x12,this[_0x2895[1049]]= _0x4315x4,this[_0x2895[1047]](_0x4315x12,_0x4315x4)));this[_0x2895[526]][_0x2895[62]](_0x4315x12);return _0x4315x12};mxToolbar[_0x2895[202]][_0x2895[1047]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1045]]!= _0x4315x2){if(null!= this[_0x2895[1045]]){var _0x4315x4=this[_0x2895[1045]][_0x2895[1044]];null!= _0x4315x4?(this[_0x2895[1045]][_0x2895[1044]]= this[_0x2895[1045]][_0x2895[284]](_0x2895[390]),this[_0x2895[1045]][_0x2895[57]](_0x2895[390],_0x4315x4)):this[_0x2895[1045]][_0x2895[926]]= this[_0x2895[1045]][_0x2895[1043]]};this[_0x2895[1045]]= _0x4315x2;_0x4315x4= this[_0x2895[1045]][_0x2895[1044]];null!= _0x4315x4?(this[_0x2895[1045]][_0x2895[1044]]= this[_0x2895[1045]][_0x2895[284]](_0x2895[390]),this[_0x2895[1045]][_0x2895[57]](_0x2895[390],_0x4315x4)):this[_0x2895[1045]][_0x2895[926]]= this[_0x2895[1045]][_0x2895[1043]]+ _0x2895[1034];this[_0x2895[746]]( new mxEventObject(mxEvent.SELECT,_0x2895[279],_0x4315x3))}};mxToolbar[_0x2895[202]][_0x2895[1050]]= function(_0x4315x2){(_0x4315x2|| !this[_0x2895[1023]])&& this[_0x2895[1045]]!= this[_0x2895[1046]]&& this[_0x2895[1047]](this[_0x2895[1046]],this[_0x2895[1049]])};mxToolbar[_0x2895[202]][_0x2895[1051]]= function(_0x4315x2){return this[_0x2895[1025]](null,_0x4315x2,null)};mxToolbar[_0x2895[202]][_0x2895[1052]]= function(){mxUtils[_0x2895[345]](this[_0x2895[526]])};mxToolbar[_0x2895[202]][_0x2895[1053]]= function(){var _0x4315x2=document[_0x2895[55]](_0x2895[1054]);_0x4315x2[_0x2895[124]][_0x2895[941]]= _0x2895[1055];_0x4315x2[_0x2895[57]](_0x2895[803],_0x2895[500]);this[_0x2895[526]][_0x2895[62]](_0x4315x2)};mxToolbar[_0x2895[202]][_0x2895[515]]= function(){mxEvent[_0x2895[762]](this[_0x2895[526]]);this[_0x2895[1045]]= this[_0x2895[1049]]= this[_0x2895[1046]]= this[_0x2895[526]]= null;null!= this[_0x2895[1029]]&& this[_0x2895[1029]][_0x2895[515]]()};function mxSession(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[251]]= _0x4315x2;this[_0x2895[1056]]= _0x4315x3;this[_0x2895[1057]]= _0x4315x4;this[_0x2895[1058]]= _0x4315x5;null!= _0x4315x2&& (this[_0x2895[1059]]= new mxCodec,this[_0x2895[1059]][_0x2895[1060]]= function(_0x4315x3){return _0x4315x2[_0x2895[736]](_0x4315x3)});_0x4315x2[_0x2895[169]](mxEvent.NOTIFY,mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x3[_0x2895[720]](_0x2895[1061]);(null!= _0x4315x4&& this[_0x2895[143]]|| this[_0x2895[1062]]&& !this[_0x2895[1063]])&& this[_0x2895[827]](_0x2895[1064]+ this[_0x2895[1067]](_0x4315x4[_0x2895[1065]],_0x4315x4[_0x2895[1066]])+ _0x2895[1068])}))}mxSession[_0x2895[202]]= new mxEventSource;mxSession[_0x2895[202]][_0x2895[196]]= mxSession;mxSession[_0x2895[202]][_0x2895[251]]= null;mxSession[_0x2895[202]][_0x2895[1056]]= null;mxSession[_0x2895[202]][_0x2895[1057]]= null;mxSession[_0x2895[202]][_0x2895[1058]]= null;mxSession[_0x2895[202]][_0x2895[1059]]= null;mxSession[_0x2895[202]][_0x2895[1069]]= _0x2895[336];mxSession[_0x2895[202]][_0x2895[1070]]= !0;mxSession[_0x2895[202]][_0x2895[1071]]= !0;mxSession[_0x2895[202]][_0x2895[1072]]= 0;mxSession[_0x2895[202]][_0x2895[1073]]= 0;mxSession[_0x2895[202]][_0x2895[143]]= !1;mxSession[_0x2895[202]][_0x2895[1062]]= !1;mxSession[_0x2895[202]][_0x2895[1063]]= !1;mxSession[_0x2895[202]][_0x2895[1074]]= !1;mxSession[_0x2895[202]][_0x2895[861]]= function(){this[_0x2895[143]]?(this[_0x2895[1062]]= !0,this[_0x2895[746]]( new mxEventObject(mxEvent.CONNECT))):this[_0x2895[1062]]|| this[_0x2895[203]](this[_0x2895[1056]],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1062]]= !0;this[_0x2895[746]]( new mxEventObject(mxEvent.CONNECT));this[_0x2895[1075]]()}))};mxSession[_0x2895[202]][_0x2895[809]]= function(){this[_0x2895[1062]]&& !this[_0x2895[1063]]&& (this[_0x2895[1063]]= !0,this[_0x2895[746]]( new mxEventObject(mxEvent.SUSPEND)))};mxSession[_0x2895[202]][_0x2895[810]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[1062]]&& this[_0x2895[1063]]&& (this[_0x2895[1063]]= !1,this[_0x2895[746]]( new mxEventObject(mxEvent.RESUME)),this[_0x2895[1074]]|| this[_0x2895[1075]]())};mxSession[_0x2895[202]][_0x2895[1076]]= function(_0x4315x2){this[_0x2895[1062]]&& (this[_0x2895[1062]]= !1);this[_0x2895[746]]( new mxEventObject(mxEvent.DISCONNECT,_0x2895[1077],_0x4315x2))};mxSession[_0x2895[202]][_0x2895[1075]]= function(){this[_0x2895[1062]]&& !this[_0x2895[1063]]&& null!= this[_0x2895[1057]]?(this[_0x2895[1074]]= !0,this[_0x2895[203]](this[_0x2895[1057]],mxUtils[_0x2895[885]](this,function(){this[_0x2895[1075]]()}))):this[_0x2895[1074]]= !1};mxSession[_0x2895[202]][_0x2895[827]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]&& (null!= this[_0x2895[1058]]&& (this[_0x2895[143]]?(mxLog[_0x2895[539]](),mxLog[_0x2895[143]](_0x2895[1078]+ this[_0x2895[1058]]+ _0x2895[1079]+ _0x4315x2)):(_0x4315x2= _0x2895[1080]+ _0x4315x2+ _0x2895[1081],this[_0x2895[1070]]&& (_0x4315x2= encodeURIComponent(_0x4315x2)),mxUtils[_0x2895[814]](this[_0x2895[1058]],_0x2895[1082]+ _0x4315x2,_0x4315x3,_0x4315x4))),this[_0x2895[1072]]+= _0x4315x2[_0x2895[67]],this[_0x2895[746]]( new mxEventObject(mxEvent.NOTIFY,_0x2895[863],this[_0x2895[1058]],_0x2895[338],_0x4315x2)))};mxSession[_0x2895[202]][_0x2895[203]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(_0x2895[82]!= typeof mxUtils){var _0x4315x5=mxUtils[_0x2895[885]](this,function(_0x4315x2){null!= _0x4315x4?_0x4315x4(_0x4315x2):this[_0x2895[1076]](_0x4315x2)});mxUtils[_0x2895[203]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x4){if(_0x2895[82]!= typeof mxUtils){if(_0x4315x4[_0x2895[220]]()&& 404!= _0x4315x4[_0x2895[878]]()){if(this[_0x2895[1073]]+= _0x4315x4[_0x2895[221]]()[_0x2895[67]],this[_0x2895[746]]( new mxEventObject(mxEvent.GET,_0x2895[863],_0x4315x2,_0x2895[870],_0x4315x4)),this[_0x2895[1083]](_0x4315x4)){if(0< _0x4315x4[_0x2895[221]]()[_0x2895[67]]){var _0x4315xa=_0x4315x4[_0x2895[874]]();null== _0x4315xa?_0x4315x5(_0x2895[1084]+ _0x4315x4[_0x2895[221]]()):this[_0x2895[806]](_0x4315xa)};null!= _0x4315x3&& _0x4315x3(_0x4315x4)}}else {_0x4315x5(_0x2895[1085])}}}),function(_0x4315x2){_0x4315x5(_0x2895[1086])})}};mxSession[_0x2895[202]][_0x2895[1083]]= function(_0x4315x2){return 0> _0x4315x2[_0x2895[221]]()[_0x2895[2]](_0x2895[1087])};mxSession[_0x2895[202]][_0x2895[1067]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=_0x2895[110],_0x4315x5=_0x4315x3?-1:1,_0x4315x9=_0x4315x3?_0x4315x2[_0x2895[67]]- 1:0;0<= _0x4315x9&& _0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9+= _0x4315x5){var _0x4315xa=this[_0x2895[1059]][_0x2895[514]](_0x4315x2[_0x4315x9]),_0x4315x4=_0x4315x4+ mxUtils[_0x2895[875]](_0x4315xa,this[_0x2895[1069]])};return _0x4315x4};mxSession[_0x2895[202]][_0x2895[806]]= function(_0x4315x2){if(null!= _0x4315x2&& _0x4315x2[_0x2895[288]]== mxConstants[_0x2895[289]]){var _0x4315x3=_0x4315x2[_0x2895[284]](_0x2895[1088]);null!= _0x4315x3&& (this[_0x2895[251]][_0x2895[1089]]= _0x4315x3+ _0x2895[213]);for(_0x4315x3= _0x4315x2[_0x2895[285]];null!= _0x4315x3;){var _0x4315x4=_0x4315x3[_0x2895[301]][_0x2895[216]]();_0x2895[724]== _0x4315x4?this[_0x2895[1090]](_0x4315x3):_0x2895[1091]== _0x4315x4&& this[_0x2895[1092]](_0x4315x3);_0x4315x3= _0x4315x3[_0x2895[287]]};this[_0x2895[746]]( new mxEventObject(mxEvent.RECEIVE,_0x2895[252],_0x4315x2))}};mxSession[_0x2895[202]][_0x2895[1090]]= function(_0x4315x2){( new mxCodec(_0x4315x2[_0x2895[295]]))[_0x2895[1093]](_0x4315x2[_0x2895[285]],this[_0x2895[251]])};mxSession[_0x2895[202]][_0x2895[1092]]= function(_0x4315x2){for(_0x4315x2= _0x4315x2[_0x2895[285]];null!= _0x4315x2;){_0x2895[1061]== _0x4315x2[_0x2895[301]]&& this[_0x2895[1094]](_0x4315x2),_0x4315x2= _0x4315x2[_0x2895[287]]}};mxSession[_0x2895[202]][_0x2895[1094]]= function(_0x4315x2){_0x4315x2= this[_0x2895[1095]](_0x4315x2);if(0< _0x4315x2[_0x2895[67]]){var _0x4315x3=this[_0x2895[1096]](_0x4315x2);this[_0x2895[251]][_0x2895[746]]( new mxEventObject(mxEvent.CHANGE,_0x2895[1061],_0x4315x3,_0x2895[1065],_0x4315x2));this[_0x2895[251]][_0x2895[746]]( new mxEventObject(mxEvent.UNDO,_0x2895[1061],_0x4315x3));this[_0x2895[746]]( new mxEventObject(mxEvent.FIRED,_0x2895[1061],_0x4315x3))}};mxSession[_0x2895[202]][_0x2895[1096]]= function(_0x4315x2){var _0x4315x3= new mxUndoableEdit(this[_0x2895[251]],this[_0x2895[1071]]);_0x4315x3[_0x2895[1065]]= _0x4315x2;_0x4315x3[_0x2895[827]]= function(){_0x4315x3[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.CHANGE,_0x2895[1061],_0x4315x3,_0x2895[1065],_0x4315x3[_0x2895[1065]]));_0x4315x3[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.NOTIFY,_0x2895[1061],_0x4315x3,_0x2895[1065],_0x4315x3[_0x2895[1065]]))};return _0x4315x3};mxSession[_0x2895[202]][_0x2895[1095]]= function(_0x4315x2){this[_0x2895[1059]][_0x2895[395]]= _0x4315x2[_0x2895[295]];var _0x4315x3=[];for(_0x4315x2= _0x4315x2[_0x2895[285]];null!= _0x4315x2;){var _0x4315x4=this[_0x2895[1098]](_0x4315x2);null!= _0x4315x4&& _0x4315x3[_0x2895[207]](_0x4315x4);_0x4315x2= _0x4315x2[_0x2895[287]]};return _0x4315x3};mxSession[_0x2895[202]][_0x2895[1098]]= function(_0x4315x2){var _0x4315x3=null;_0x4315x2[_0x2895[288]]== mxConstants[_0x2895[289]]&& (_0x4315x3= _0x2895[1099]== _0x4315x2[_0x2895[301]]?( new mxCodec(_0x4315x2[_0x2895[295]]))[_0x2895[1093]](_0x4315x2):this[_0x2895[1059]][_0x2895[1093]](_0x4315x2),null!= _0x4315x3&& (_0x4315x3[_0x2895[251]]= this[_0x2895[251]],_0x4315x3[_0x2895[350]](),_0x2895[1100]== _0x4315x2[_0x2895[301]]&& null== _0x4315x3[_0x2895[1101]]&& this[_0x2895[1102]](_0x4315x3[_0x2895[247]])));return _0x4315x3};mxSession[_0x2895[202]][_0x2895[1102]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1059]][_0x2895[1104]](_0x4315x2[_0x2895[1103]](),_0x4315x2);for(var _0x4315x4=this[_0x2895[251]][_0x2895[262]](_0x4315x2),_0x4315x5=0;_0x4315x5< _0x4315x4;_0x4315x5++){this[_0x2895[1102]](this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x5))}};function mxUndoableEdit(_0x4315x2,_0x4315x3){this[_0x2895[1097]]= _0x4315x2;this[_0x2895[1065]]= [];this[_0x2895[1105]]= null!= _0x4315x3?_0x4315x3:!0}mxUndoableEdit[_0x2895[202]][_0x2895[1097]]= null;mxUndoableEdit[_0x2895[202]][_0x2895[1065]]= null;mxUndoableEdit[_0x2895[202]][_0x2895[1105]]= null;mxUndoableEdit[_0x2895[202]][_0x2895[1066]]= !1;mxUndoableEdit[_0x2895[202]][_0x2895[1106]]= !1;mxUndoableEdit[_0x2895[202]][_0x2895[1107]]= function(){return 0== this[_0x2895[1065]][_0x2895[67]]};mxUndoableEdit[_0x2895[202]][_0x2895[1108]]= function(){return this[_0x2895[1105]]};mxUndoableEdit[_0x2895[202]][_0x2895[99]]= function(_0x4315x2){this[_0x2895[1065]][_0x2895[207]](_0x4315x2)};mxUndoableEdit[_0x2895[202]][_0x2895[827]]= function(){};mxUndoableEdit[_0x2895[202]][_0x2895[1109]]= function(){};mxUndoableEdit[_0x2895[202]][_0x2895[824]]= function(){if(!this[_0x2895[1066]]){this[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.START_EDIT));for(var _0x4315x2=this[_0x2895[1065]][_0x2895[67]]- 1;0<= _0x4315x2;_0x4315x2--){var _0x4315x3=this[_0x2895[1065]][_0x4315x2];null!= _0x4315x3[_0x2895[350]]?_0x4315x3[_0x2895[350]]():null!= _0x4315x3[_0x2895[824]]&& _0x4315x3[_0x2895[824]]();this[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.EXECUTED,_0x2895[826],_0x4315x3))};this[_0x2895[1066]]= !0;this[_0x2895[1106]]= !1;this[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.END_EDIT))};this[_0x2895[827]]()};mxUndoableEdit[_0x2895[202]][_0x2895[825]]= function(){if(!this[_0x2895[1106]]){this[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.START_EDIT));for(var _0x4315x2=this[_0x2895[1065]][_0x2895[67]],_0x4315x3=0;_0x4315x3< _0x4315x2;_0x4315x3++){var _0x4315x4=this[_0x2895[1065]][_0x4315x3];null!= _0x4315x4[_0x2895[350]]?_0x4315x4[_0x2895[350]]():null!= _0x4315x4[_0x2895[825]]&& _0x4315x4[_0x2895[825]]();this[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.EXECUTED,_0x2895[826],_0x4315x4))};this[_0x2895[1066]]= !1;this[_0x2895[1106]]= !0;this[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.END_EDIT))};this[_0x2895[827]]()};function mxUndoManager(_0x4315x2){this[_0x2895[803]]= null!= _0x4315x2?_0x4315x2:100;this[_0x2895[200]]()}mxUndoManager[_0x2895[202]]= new mxEventSource;mxUndoManager[_0x2895[202]][_0x2895[196]]= mxUndoManager;mxUndoManager[_0x2895[202]][_0x2895[803]]= null;mxUndoManager[_0x2895[202]][_0x2895[1110]]= null;mxUndoManager[_0x2895[202]][_0x2895[1111]]= 0;mxUndoManager[_0x2895[202]][_0x2895[1107]]= function(){return 0== this[_0x2895[1110]][_0x2895[67]]};mxUndoManager[_0x2895[202]][_0x2895[200]]= function(){this[_0x2895[1110]]= [];this[_0x2895[1111]]= 0;this[_0x2895[746]]( new mxEventObject(mxEvent.CLEAR))};mxUndoManager[_0x2895[202]][_0x2895[1112]]= function(){return 0< this[_0x2895[1111]]};mxUndoManager[_0x2895[202]][_0x2895[824]]= function(){for(;0< this[_0x2895[1111]];){var _0x4315x2=this[_0x2895[1110]][--this[_0x2895[1111]]];_0x4315x2[_0x2895[824]]();if(_0x4315x2[_0x2895[1108]]()){this[_0x2895[746]]( new mxEventObject(mxEvent.UNDO,_0x2895[1061],_0x4315x2));break}}};mxUndoManager[_0x2895[202]][_0x2895[1113]]= function(){return this[_0x2895[1111]]< this[_0x2895[1110]][_0x2895[67]]};mxUndoManager[_0x2895[202]][_0x2895[825]]= function(){for(var _0x4315x2=this[_0x2895[1110]][_0x2895[67]];this[_0x2895[1111]]< _0x4315x2;){var _0x4315x3=this[_0x2895[1110]][this[_0x2895[1111]]++];_0x4315x3[_0x2895[825]]();if(_0x4315x3[_0x2895[1108]]()){this[_0x2895[746]]( new mxEventObject(mxEvent.REDO,_0x2895[1061],_0x4315x3));break}}};mxUndoManager[_0x2895[202]][_0x2895[1114]]= function(_0x4315x2){this[_0x2895[330]]();0< this[_0x2895[803]]&& this[_0x2895[803]]== this[_0x2895[1110]][_0x2895[67]]&& this[_0x2895[1110]][_0x2895[1115]]();this[_0x2895[1110]][_0x2895[207]](_0x4315x2);this[_0x2895[1111]]= this[_0x2895[1110]][_0x2895[67]];this[_0x2895[746]]( new mxEventObject(mxEvent.ADD,_0x2895[1061],_0x4315x2))};mxUndoManager[_0x2895[202]][_0x2895[330]]= function(){if(this[_0x2895[1110]][_0x2895[67]]> this[_0x2895[1111]]){for(var _0x4315x2=this[_0x2895[1110]][_0x2895[300]](this[_0x2895[1111]],this[_0x2895[1110]][_0x2895[67]]- this[_0x2895[1111]]),_0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){_0x4315x2[_0x4315x3][_0x2895[1109]]()}}};var mxUrlConverter=function(_0x4315x2){var _0x4315x3=!0,_0x4315x4=null,_0x4315x5=null;return {isEnabled:function(){return _0x4315x3},setEnabled:function(_0x4315x2){_0x4315x3= _0x4315x2},getBaseUrl:function(){return _0x4315x4},setBaseUrl:function(_0x4315x2){_0x4315x4= _0x4315x2},getBaseDomain:function(){return _0x4315x4},setBaseDomain:function(_0x4315x2){_0x4315x4= _0x4315x2},isRelativeUrl:function(_0x4315x2){return _0x2895[43]!= _0x4315x2[_0x2895[85]](0,7)&& _0x2895[46]!= _0x4315x2[_0x2895[85]](0,8)&& _0x2895[1116]!= _0x4315x2[_0x2895[85]](0,10)},convert:function(_0x4315x2){if(_0x4315x3&& this[_0x2895[1117]](_0x4315x2)){if(null== _0x4315x4){_0x4315x5= location[_0x2895[1118]]+ _0x2895[1119]+ location[_0x2895[1120]];_0x4315x4= _0x4315x5+ location[_0x2895[1121]];var _0x4315xa=_0x4315x4[_0x2895[1122]](_0x2895[84]);0< _0x4315xa&& (_0x4315x4= _0x4315x4[_0x2895[85]](0,_0x4315xa+ 1))};_0x4315x2= _0x2895[84]== _0x4315x2[_0x2895[225]](0)?_0x4315x5+ _0x4315x2:_0x4315x4+ _0x4315x2};return _0x4315x2}}};function mxPanningManager(_0x4315x2){this[_0x2895[1123]]= null;this[_0x2895[1124]]= !1;this[_0x2895[1125]]= this[_0x2895[1126]]= this[_0x2895[1127]]= this[_0x2895[1128]]= this[_0x2895[1129]]= this[_0x2895[1130]]= 0;this[_0x2895[1131]]= !1;this[_0x2895[190]]= this[_0x2895[360]]= 0;this[_0x2895[1132]]= {mouseDown:function(_0x4315x2,_0x4315x3){},mouseMove:function(_0x4315x2,_0x4315x3){},mouseUp:mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[1124]]&& this[_0x2895[1076]]()})};_0x4315x2[_0x2895[1133]](this[_0x2895[1132]]);mxEvent[_0x2895[169]](document,_0x2895[753],mxUtils[_0x2895[885]](this,function(){this[_0x2895[1124]]&& this[_0x2895[1076]]()}));var _0x4315x3=mxUtils[_0x2895[885]](this,function(){this[_0x2895[1131]]= mxUtils[_0x2895[1134]](_0x4315x2[_0x2895[526]]);this[_0x2895[360]]= _0x4315x2[_0x2895[526]][_0x2895[360]];this[_0x2895[190]]= _0x4315x2[_0x2895[526]][_0x2895[190]];return window[_0x2895[1141]](mxUtils[_0x2895[885]](this,function(){this[_0x2895[1130]]-= this[_0x2895[1126]];this[_0x2895[1129]]-= this[_0x2895[1125]];if(this[_0x2895[1131]]){var _0x4315x3=-_0x4315x2[_0x2895[526]][_0x2895[360]]- Math[_0x2895[430]](this[_0x2895[1126]]),_0x4315x5=-_0x4315x2[_0x2895[526]][_0x2895[190]]- Math[_0x2895[430]](this[_0x2895[1125]]);_0x4315x2[_0x2895[1135]](_0x4315x3,_0x4315x5);_0x4315x2[_0x2895[1136]]= this[_0x2895[360]]- _0x4315x2[_0x2895[526]][_0x2895[360]];_0x4315x2[_0x2895[1137]]= this[_0x2895[190]]- _0x4315x2[_0x2895[526]][_0x2895[190]];_0x4315x2[_0x2895[746]]( new mxEventObject(mxEvent.PAN))}else {_0x4315x2[_0x2895[1135]](this[_0x2895[1138]](),this[_0x2895[1139]]())}}),this[_0x2895[1140]])});this[_0x2895[1142]]= function(){return active};this[_0x2895[1138]]= function(){return Math[_0x2895[488]](this[_0x2895[1130]])};this[_0x2895[1139]]= function(){return Math[_0x2895[488]](this[_0x2895[1129]])};this[_0x2895[861]]= function(){this[_0x2895[1128]]= _0x4315x2[_0x2895[441]][_0x2895[513]][_0x2895[235]];this[_0x2895[1127]]= _0x4315x2[_0x2895[441]][_0x2895[513]][_0x2895[236]];this[_0x2895[1124]]= !0};this[_0x2895[1143]]= function(_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[1124]]|| this[_0x2895[861]]();this[_0x2895[360]]= _0x4315x2[_0x2895[526]][_0x2895[360]];this[_0x2895[190]]= _0x4315x2[_0x2895[526]][_0x2895[190]];_0x4315xa= null!= _0x4315xa?_0x4315xa:0;var _0x4315x12=_0x4315x2[_0x2895[526]];this[_0x2895[1126]]= _0x4315x4+ (null!= _0x4315x9?_0x4315x9:0)- _0x4315x12[_0x2895[360]]- _0x4315x12[_0x2895[159]];0> this[_0x2895[1126]]&& Math[_0x2895[425]](this[_0x2895[1126]])< this[_0x2895[467]]?this[_0x2895[1126]]= this[_0x2895[467]]+ this[_0x2895[1126]]:this[_0x2895[1126]]= this[_0x2895[1144]]?Math[_0x2895[160]](this[_0x2895[1126]],0):0;0== this[_0x2895[1126]]&& (this[_0x2895[1126]]= _0x4315x4- _0x4315x12[_0x2895[360]],this[_0x2895[1126]]= 0< this[_0x2895[1126]]&& this[_0x2895[1126]]< this[_0x2895[467]]?this[_0x2895[1126]]- this[_0x2895[467]]:this[_0x2895[1144]]?Math[_0x2895[243]](0,this[_0x2895[1126]]):0);this[_0x2895[1125]]= _0x4315x5+ _0x4315xa- _0x4315x12[_0x2895[190]]- _0x4315x12[_0x2895[157]];0> this[_0x2895[1125]]&& Math[_0x2895[425]](this[_0x2895[1125]])< this[_0x2895[467]]?this[_0x2895[1125]]= this[_0x2895[467]]+ this[_0x2895[1125]]:this[_0x2895[1125]]= this[_0x2895[1144]]?Math[_0x2895[160]](this[_0x2895[1125]],0):0;0== this[_0x2895[1125]]&& (this[_0x2895[1125]]= _0x4315x5- _0x4315x12[_0x2895[190]],this[_0x2895[1125]]= 0< this[_0x2895[1125]]&& this[_0x2895[1125]]< this[_0x2895[467]]?this[_0x2895[1125]]- this[_0x2895[467]]:this[_0x2895[1144]]?Math[_0x2895[243]](0,this[_0x2895[1125]]):0);0!= this[_0x2895[1126]]|| 0!= this[_0x2895[1125]]?(this[_0x2895[1126]]*= this[_0x2895[1145]],this[_0x2895[1125]]*= this[_0x2895[1145]],null== this[_0x2895[1123]]&& (this[_0x2895[1123]]= _0x4315x3())):null!= this[_0x2895[1123]]&& (window[_0x2895[1146]](this[_0x2895[1123]]),this[_0x2895[1123]]= null)};this[_0x2895[1076]]= function(){if(this[_0x2895[1124]]){if(this[_0x2895[1124]]= !1,null!= this[_0x2895[1123]]&& (window[_0x2895[1146]](this[_0x2895[1123]]),this[_0x2895[1123]]= null),this[_0x2895[1129]]= this[_0x2895[1130]]= 0,this[_0x2895[1131]]){_0x4315x2[_0x2895[1136]]= 0,_0x4315x2[_0x2895[1137]]= 0,_0x4315x2[_0x2895[746]]( new mxEventObject(mxEvent.PAN))}else {var _0x4315x3=_0x4315x2[_0x2895[1136]],_0x4315x5=_0x4315x2[_0x2895[1137]];if(0!= _0x4315x3|| 0!= _0x4315x5){_0x4315x2[_0x2895[1135]](0,0),_0x4315x2[_0x2895[441]][_0x2895[1147]](this[_0x2895[1128]]+ _0x4315x3/ _0x4315x2[_0x2895[441]][_0x2895[255]],this[_0x2895[1127]]+ _0x4315x5/ _0x4315x2[_0x2895[441]][_0x2895[255]])}}}};this[_0x2895[515]]= function(){_0x4315x2[_0x2895[1148]](this[_0x2895[1132]])}}mxPanningManager[_0x2895[202]][_0x2895[1145]]= 1/ 6;mxPanningManager[_0x2895[202]][_0x2895[1140]]= 10;mxPanningManager[_0x2895[202]][_0x2895[1144]]= !0;mxPanningManager[_0x2895[202]][_0x2895[467]]= 0;function mxPopupMenu(_0x4315x2){this[_0x2895[1033]]= _0x4315x2;null!= _0x4315x2&& this[_0x2895[176]]()}mxPopupMenu[_0x2895[202]]= new mxEventSource;mxPopupMenu[_0x2895[202]][_0x2895[196]]= mxPopupMenu;mxPopupMenu[_0x2895[202]][_0x2895[1149]]= mxClient[_0x2895[88]]+ _0x2895[1150];mxPopupMenu[_0x2895[202]][_0x2895[931]]= 10006;mxPopupMenu[_0x2895[202]][_0x2895[1033]]= null;mxPopupMenu[_0x2895[202]][_0x2895[1151]]= !1;mxPopupMenu[_0x2895[202]][_0x2895[984]]= !0;mxPopupMenu[_0x2895[202]][_0x2895[1152]]= 0;mxPopupMenu[_0x2895[202]][_0x2895[1153]]= !1;mxPopupMenu[_0x2895[202]][_0x2895[1154]]= !1;mxPopupMenu[_0x2895[202]][_0x2895[1155]]= !0;mxPopupMenu[_0x2895[202]][_0x2895[176]]= function(){this[_0x2895[116]]= document[_0x2895[55]](_0x2895[116]);this[_0x2895[116]][_0x2895[926]]= _0x2895[1156];this[_0x2895[120]]= document[_0x2895[55]](_0x2895[120]);this[_0x2895[116]][_0x2895[62]](this[_0x2895[120]]);this[_0x2895[485]]= document[_0x2895[55]](_0x2895[485]);this[_0x2895[485]][_0x2895[926]]= _0x2895[1156];this[_0x2895[485]][_0x2895[124]][_0x2895[495]]= _0x2895[497];this[_0x2895[485]][_0x2895[124]][_0x2895[931]]= this[_0x2895[931]];this[_0x2895[485]][_0x2895[62]](this[_0x2895[116]]);mxEvent[_0x2895[1157]](this[_0x2895[485]])};mxPopupMenu[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxPopupMenu[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxPopupMenu[_0x2895[202]][_0x2895[737]]= function(_0x4315x2){return _0x4315x2[_0x2895[737]]()|| this[_0x2895[1151]]&& mxEvent[_0x2895[1158]](_0x4315x2[_0x2895[727]]())};mxPopupMenu[_0x2895[202]][_0x2895[1025]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x5= _0x4315x5|| this;this[_0x2895[1152]]++;_0x4315x5[_0x2895[1159]]&& (_0x4315x5[_0x2895[1160]]&& this[_0x2895[1051]](_0x4315x5,!0),_0x4315x5[_0x2895[1159]]= !1);_0x4315x5[_0x2895[1160]]= !0;var _0x4315x12=document[_0x2895[55]](_0x2895[121]);_0x4315x12[_0x2895[926]]= _0x2895[1161];var _0x4315x13=document[_0x2895[55]](_0x2895[122]);_0x4315x13[_0x2895[926]]= _0x2895[1162];null!= _0x4315x3?(_0x4315x9= document[_0x2895[55]](_0x2895[466]),_0x4315x9[_0x2895[390]]= _0x4315x3,_0x4315x13[_0x2895[62]](_0x4315x9)):null!= _0x4315x9&& (_0x4315x3= document[_0x2895[55]](_0x2895[485]),_0x4315x3[_0x2895[926]]= _0x4315x9,_0x4315x13[_0x2895[62]](_0x4315x3));_0x4315x12[_0x2895[62]](_0x4315x13);this[_0x2895[1155]]&& (_0x4315x13= document[_0x2895[55]](_0x2895[122]),_0x4315x13[_0x2895[926]]= _0x2895[1161]+ (null!= _0x4315xa&& !_0x4315xa?_0x2895[1163]:_0x2895[110]),mxUtils[_0x2895[53]](_0x4315x13,_0x4315x2),_0x4315x13[_0x2895[611]]= _0x2895[361],_0x4315x12[_0x2895[62]](_0x4315x13),_0x4315x2= document[_0x2895[55]](_0x2895[122]),_0x4315x2[_0x2895[926]]= _0x2895[1161]+ (null!= _0x4315xa&& !_0x4315xa?_0x2895[1163]:_0x2895[110]),_0x4315x2[_0x2895[124]][_0x2895[1164]]= _0x2895[1055],_0x4315x2[_0x2895[124]][_0x2895[1165]]= _0x2895[699],_0x4315x12[_0x2895[62]](_0x4315x2),null== _0x4315x5[_0x2895[485]]&& this[_0x2895[1166]](_0x4315x5));_0x4315x5[_0x2895[120]][_0x2895[62]](_0x4315x12);if(null== _0x4315xa|| _0x4315xa){mxEvent[_0x2895[759]](_0x4315x12,mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1167]]= _0x4315x12;_0x4315x5[_0x2895[1168]]!= _0x4315x12&& _0x4315x5[_0x2895[1168]]!= _0x4315x5&& (null!= _0x4315x5[_0x2895[1168]]&& null!= _0x4315x5[_0x2895[1168]][_0x2895[485]][_0x2895[265]]&& this[_0x2895[1169]](_0x4315x5),null!= _0x4315x12[_0x2895[485]]&& (this[_0x2895[1170]](_0x4315x5,_0x4315x12),_0x4315x5[_0x2895[1168]]= _0x4315x12));mxEvent[_0x2895[722]](_0x4315x2)}),mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x5[_0x2895[1168]]!= _0x4315x12&& _0x4315x5[_0x2895[1168]]!= _0x4315x5&& (null!= _0x4315x5[_0x2895[1168]]&& null!= _0x4315x5[_0x2895[1168]][_0x2895[485]][_0x2895[265]]&& this[_0x2895[1169]](_0x4315x5),this[_0x2895[1153]]&& null!= _0x4315x12[_0x2895[485]]&& (this[_0x2895[1170]](_0x4315x5,_0x4315x12),_0x4315x5[_0x2895[1168]]= _0x4315x12));_0x4315x12[_0x2895[926]]= _0x2895[1171]}),mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1167]]== _0x4315x12&& (_0x4315x5[_0x2895[1168]]!= _0x4315x12&& this[_0x2895[1032]](),null!= _0x4315x4&& _0x4315x4(_0x4315x2));this[_0x2895[1167]]= null;mxEvent[_0x2895[722]](_0x4315x2)})),mxEvent[_0x2895[169]](_0x4315x12,_0x2895[1035],mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x12[_0x2895[926]]= _0x2895[1161]}))};return _0x4315x12};mxPopupMenu[_0x2895[202]][_0x2895[1166]]= function(_0x4315x2){_0x4315x2[_0x2895[116]]= document[_0x2895[55]](_0x2895[116]);_0x4315x2[_0x2895[116]][_0x2895[926]]= _0x2895[1156];_0x4315x2[_0x2895[120]]= document[_0x2895[55]](_0x2895[120]);_0x4315x2[_0x2895[116]][_0x2895[62]](_0x4315x2[_0x2895[120]]);_0x4315x2[_0x2895[485]]= document[_0x2895[55]](_0x2895[485]);_0x4315x2[_0x2895[485]][_0x2895[926]]= _0x2895[1156];_0x4315x2[_0x2895[485]][_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x2[_0x2895[485]][_0x2895[124]][_0x2895[495]]= _0x2895[497];_0x4315x2[_0x2895[485]][_0x2895[124]][_0x2895[931]]= this[_0x2895[931]];_0x4315x2[_0x2895[485]][_0x2895[62]](_0x4315x2[_0x2895[116]]);var _0x4315x3=document[_0x2895[55]](_0x2895[466]);_0x4315x3[_0x2895[57]](_0x2895[390],this[_0x2895[1149]]);td= _0x4315x2[_0x2895[285]][_0x2895[287]][_0x2895[287]];td[_0x2895[62]](_0x4315x3)};mxPopupMenu[_0x2895[202]][_0x2895[1170]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x3[_0x2895[485]]){_0x4315x3[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x2[_0x2895[485]][_0x2895[358]]+ _0x4315x3[_0x2895[358]]+ _0x4315x3[_0x2895[359]]- 1+ _0x2895[168];_0x4315x3[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x4315x2[_0x2895[485]][_0x2895[362]]+ _0x4315x3[_0x2895[362]]+ _0x2895[168];document[_0x2895[112]][_0x2895[62]](_0x4315x3[_0x2895[485]]);var _0x4315x4=parseInt(_0x4315x3[_0x2895[485]][_0x2895[358]]),_0x4315x5=parseInt(_0x4315x3[_0x2895[485]][_0x2895[359]]),_0x4315x9=document[_0x2895[112]],_0x4315xa=document[_0x2895[158]];if(_0x4315x4+ _0x4315x5> (_0x4315x9[_0x2895[360]]|| _0x4315xa[_0x2895[360]])+ (_0x4315x9[_0x2895[159]]|| _0x4315xa[_0x2895[159]])){_0x4315x3[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x2[_0x2895[485]][_0x2895[358]]- _0x4315x5+ (mxClient[_0x2895[80]]?6:-6)+ _0x2895[168]};mxUtils[_0x2895[933]](_0x4315x3[_0x2895[485]])}};mxPopupMenu[_0x2895[202]][_0x2895[1051]]= function(_0x4315x2,_0x4315x3){_0x4315x2= _0x4315x2|| this;if(this[_0x2895[1154]]&& !_0x4315x3){_0x4315x2[_0x2895[1159]]= !0}else {if(null!= _0x4315x2[_0x2895[120]]){_0x4315x2[_0x2895[1159]]= !1;var _0x4315x4=document[_0x2895[55]](_0x2895[121]),_0x4315x5=document[_0x2895[55]](_0x2895[122]);_0x4315x5[_0x2895[926]]= _0x2895[1162];_0x4315x5[_0x2895[124]][_0x2895[549]]= _0x2895[1172];_0x4315x4[_0x2895[62]](_0x4315x5);_0x4315x5= document[_0x2895[55]](_0x2895[122]);_0x4315x5[_0x2895[124]][_0x2895[549]]= _0x2895[1172];_0x4315x5[_0x2895[57]](_0x2895[1173],_0x2895[1174]);var _0x4315x9=document[_0x2895[55]](_0x2895[1054]);_0x4315x9[_0x2895[57]](_0x2895[803],_0x2895[500]);_0x4315x5[_0x2895[62]](_0x4315x9);_0x4315x4[_0x2895[62]](_0x4315x5);_0x4315x2[_0x2895[120]][_0x2895[62]](_0x4315x4)}}};mxPopupMenu[_0x2895[202]][_0x2895[152]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= this[_0x2895[485]]&& null!= this[_0x2895[120]]&& null!= this[_0x2895[1033]]){this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x2+ _0x2895[168];for(this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x4315x3+ _0x2895[168];null!= this[_0x2895[120]][_0x2895[285]];){mxEvent[_0x2895[762]](this[_0x2895[120]][_0x2895[285]]),this[_0x2895[120]][_0x2895[266]](this[_0x2895[120]][_0x2895[285]])};this[_0x2895[1152]]= 0;this[_0x2895[1033]](this,_0x4315x4,_0x4315x5);0< this[_0x2895[1152]]&& (this[_0x2895[1175]](),this[_0x2895[746]]( new mxEventObject(mxEvent.SHOW)))}};mxPopupMenu[_0x2895[202]][_0x2895[1031]]= function(){return null!= this[_0x2895[485]]&& this[_0x2895[485]][_0x2895[265]]== document[_0x2895[112]]};mxPopupMenu[_0x2895[202]][_0x2895[1175]]= function(){9<= document[_0x2895[5]]&& (this[_0x2895[485]][_0x2895[124]][_0x2895[347]]= _0x2895[130]);document[_0x2895[112]][_0x2895[62]](this[_0x2895[485]]);mxUtils[_0x2895[933]](this[_0x2895[485]])};mxPopupMenu[_0x2895[202]][_0x2895[1032]]= function(){null!= this[_0x2895[485]]&& (null!= this[_0x2895[485]][_0x2895[265]]&& this[_0x2895[485]][_0x2895[265]][_0x2895[266]](this[_0x2895[485]]),this[_0x2895[1169]](this),this[_0x2895[1160]]= !1)};mxPopupMenu[_0x2895[202]][_0x2895[1169]]= function(_0x4315x2){null!= _0x4315x2[_0x2895[1168]]&& (this[_0x2895[1169]](_0x4315x2[_0x2895[1168]]),null!= _0x4315x2[_0x2895[1168]][_0x2895[485]][_0x2895[265]]&& _0x4315x2[_0x2895[1168]][_0x2895[485]][_0x2895[265]][_0x2895[266]](_0x4315x2[_0x2895[1168]][_0x2895[485]]),_0x4315x2[_0x2895[1168]]= null)};mxPopupMenu[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[485]]&& (mxEvent[_0x2895[762]](this[_0x2895[485]]),null!= this[_0x2895[485]][_0x2895[265]]&& this[_0x2895[485]][_0x2895[265]][_0x2895[266]](this[_0x2895[485]]),this[_0x2895[485]]= null)};function mxAutoSaveManager(_0x4315x2){this[_0x2895[1176]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4){this[_0x2895[994]]()&& this[_0x2895[1177]](_0x4315x4[_0x2895[720]](_0x2895[1061])[_0x2895[1065]])});this[_0x2895[1178]](_0x4315x2)}mxAutoSaveManager[_0x2895[202]]= new mxEventSource;mxAutoSaveManager[_0x2895[202]][_0x2895[196]]= mxAutoSaveManager;mxAutoSaveManager[_0x2895[202]][_0x2895[1179]]= null;mxAutoSaveManager[_0x2895[202]][_0x2895[1180]]= 10;mxAutoSaveManager[_0x2895[202]][_0x2895[1181]]= 2;mxAutoSaveManager[_0x2895[202]][_0x2895[1182]]= 5;mxAutoSaveManager[_0x2895[202]][_0x2895[1183]]= 0;mxAutoSaveManager[_0x2895[202]][_0x2895[1184]]= 0;mxAutoSaveManager[_0x2895[202]][_0x2895[984]]= !0;mxAutoSaveManager[_0x2895[202]][_0x2895[1176]]= null;mxAutoSaveManager[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxAutoSaveManager[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxAutoSaveManager[_0x2895[202]][_0x2895[1178]]= function(_0x4315x2){null!= this[_0x2895[1179]]&& this[_0x2895[1179]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[1176]]);this[_0x2895[1179]]= _0x4315x2;null!= this[_0x2895[1179]]&& this[_0x2895[1179]][_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,this[_0x2895[1176]])};mxAutoSaveManager[_0x2895[202]][_0x2895[815]]= function(){};mxAutoSaveManager[_0x2895[202]][_0x2895[1177]]= function(_0x4315x2){_0x4315x2= (( new Date)[_0x2895[178]]()- this[_0x2895[1184]])/ 1E3;_0x4315x2> this[_0x2895[1180]]|| this[_0x2895[1183]]>= this[_0x2895[1182]]&& _0x4315x2> this[_0x2895[1181]]?(this[_0x2895[815]](),this[_0x2895[862]]()):this[_0x2895[1183]]++};mxAutoSaveManager[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[1184]]= ( new Date)[_0x2895[178]]();this[_0x2895[1183]]= 0};mxAutoSaveManager[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1178]](null)};function mxAnimation(_0x4315x2){this[_0x2895[1140]]= null!= _0x4315x2?_0x4315x2:20}mxAnimation[_0x2895[202]]= new mxEventSource;mxAnimation[_0x2895[202]][_0x2895[196]]= mxAnimation;mxAnimation[_0x2895[202]][_0x2895[1140]]= null;mxAnimation[_0x2895[202]][_0x2895[1123]]= null;mxAnimation[_0x2895[202]][_0x2895[1185]]= function(){null== this[_0x2895[1123]]&& (this[_0x2895[1123]]= window[_0x2895[1141]](mxUtils[_0x2895[885]](this,this[_0x2895[1186]]),this[_0x2895[1140]]))};mxAnimation[_0x2895[202]][_0x2895[1186]]= function(){this[_0x2895[746]]( new mxEventObject(mxEvent.EXECUTE))};mxAnimation[_0x2895[202]][_0x2895[1187]]= function(){null!= this[_0x2895[1123]]&& (window[_0x2895[1146]](this[_0x2895[1123]]),this[_0x2895[1123]]= null,this[_0x2895[746]]( new mxEventObject(mxEvent.DONE)))};function mxMorphing(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxAnimation[_0x2895[239]](this,_0x4315x5);this[_0x2895[1179]]= _0x4315x2;this[_0x2895[1188]]= null!= _0x4315x3?_0x4315x3:6;this[_0x2895[1189]]= null!= _0x4315x4?_0x4315x4:1.5}mxMorphing[_0x2895[202]]= new mxAnimation;mxMorphing[_0x2895[202]][_0x2895[196]]= mxMorphing;mxMorphing[_0x2895[202]][_0x2895[1179]]= null;mxMorphing[_0x2895[202]][_0x2895[1188]]= null;mxMorphing[_0x2895[202]][_0x2895[1190]]= 0;mxMorphing[_0x2895[202]][_0x2895[1189]]= null;mxMorphing[_0x2895[202]][_0x2895[895]]= null;mxMorphing[_0x2895[202]][_0x2895[1186]]= function(){var _0x4315x2= new mxCellStatePreview(this[_0x2895[1179]]);if(null!= this[_0x2895[895]]){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[895]][_0x2895[67]];_0x4315x3++){this[_0x2895[1191]](cells[_0x4315x3],_0x4315x2,!1)}}else {this[_0x2895[1191]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[501]](),_0x4315x2,!0)};this[_0x2895[539]](_0x4315x2);(_0x4315x2[_0x2895[1107]]()|| this[_0x2895[1190]]++ >= this[_0x2895[1188]])&& this[_0x2895[1187]]()};mxMorphing[_0x2895[202]][_0x2895[539]]= function(_0x4315x2){_0x4315x2[_0x2895[539]]()};mxMorphing[_0x2895[202]][_0x2895[1191]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2),_0x4315x9=null;if(null!= _0x4315x5&& (_0x4315x9= this[_0x2895[1192]](_0x4315x5),this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1193]](_0x4315x2)&& (0!= _0x4315x9[_0x2895[235]]|| 0!= _0x4315x9[_0x2895[236]]))){var _0x4315xa=this[_0x2895[1179]][_0x2895[441]][_0x2895[512]](),_0x4315x12=this[_0x2895[1179]][_0x2895[441]][_0x2895[518]]();_0x4315x9[_0x2895[235]]+= _0x4315xa[_0x2895[235]]* _0x4315x12;_0x4315x9[_0x2895[236]]+= _0x4315xa[_0x2895[236]]* _0x4315x12;_0x4315x3[_0x2895[1194]](_0x4315x5,-_0x4315x9[_0x2895[235]]/ this[_0x2895[1189]],-_0x4315x9[_0x2895[236]]/ this[_0x2895[1189]])};if(_0x4315x4&& !this[_0x2895[1195]](_0x4315x5,_0x4315x9)){_0x4315x5= this[_0x2895[1179]][_0x2895[502]]()[_0x2895[262]](_0x4315x2);for(_0x4315x9= 0;_0x4315x9< _0x4315x5;_0x4315x9++){this[_0x2895[1191]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[263]](_0x4315x2,_0x4315x9),_0x4315x3,_0x4315x4)}}};mxMorphing[_0x2895[202]][_0x2895[1195]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x3&& (0!= _0x4315x3[_0x2895[235]]|| 0!= _0x4315x3[_0x2895[236]])};mxMorphing[_0x2895[202]][_0x2895[1192]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1196]](_0x4315x2[_0x2895[246]]),_0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[512]](),_0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[518]]();_0x4315x2= new mxPoint(_0x4315x2[_0x2895[235]]/ _0x4315x5- _0x4315x4[_0x2895[235]],_0x4315x2[_0x2895[236]]/ _0x4315x5- _0x4315x4[_0x2895[236]]);return new mxPoint((_0x4315x3[_0x2895[235]]- _0x4315x2[_0x2895[235]])* _0x4315x5,(_0x4315x3[_0x2895[236]]- _0x4315x2[_0x2895[236]])* _0x4315x5)};mxMorphing[_0x2895[202]][_0x2895[1196]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2&& (_0x4315x3= this[_0x2895[1196]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](_0x4315x2)),_0x4315x2= this[_0x2895[1179]][_0x2895[1198]](_0x4315x2),null!= _0x4315x2&& (_0x4315x3[_0x2895[235]]+= _0x4315x2[_0x2895[235]],_0x4315x3[_0x2895[236]]+= _0x4315x2[_0x2895[236]]));null== _0x4315x3&& (_0x4315x3= this[_0x2895[1179]][_0x2895[441]][_0x2895[512]](),_0x4315x3= new mxPoint(-_0x4315x3[_0x2895[235]],-_0x4315x3[_0x2895[236]]));return _0x4315x3};function mxImageBundle(_0x4315x2){this[_0x2895[1199]]= [];this[_0x2895[1200]]= null!= _0x4315x2?_0x4315x2:!1}mxImageBundle[_0x2895[202]][_0x2895[1199]]= null;mxImageBundle[_0x2895[202]][_0x2895[1199]]= null;mxImageBundle[_0x2895[202]][_0x2895[1201]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[1199]][_0x4315x2]= {value:_0x4315x3,fallback:_0x4315x4}};mxImageBundle[_0x2895[202]][_0x2895[1202]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2&& (_0x4315x2= this[_0x2895[1199]][_0x4315x2],null!= _0x4315x2&& (_0x4315x3= this[_0x2895[1200]]?_0x4315x2[_0x2895[1203]]:_0x4315x2[_0x2895[131]]));return _0x4315x3};function mxImageExport(){}mxImageExport[_0x2895[202]][_0x2895[1204]]= !1;mxImageExport[_0x2895[202]][_0x2895[1205]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x2&& (this[_0x2895[1207]](_0x4315x2,_0x4315x3,this[_0x2895[1206]]),this[_0x2895[1204]]&& this[_0x2895[1207]](_0x4315x2,_0x4315x3,this[_0x2895[1208]]))};mxImageExport[_0x2895[202]][_0x2895[1207]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= _0x4315x2){_0x4315x4(_0x4315x2,_0x4315x3);for(var _0x4315x5=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x9=_0x4315x5[_0x2895[251]][_0x2895[262]](_0x4315x2[_0x2895[246]]),_0x4315xa=0;_0x4315xa< _0x4315x9;_0x4315xa++){var _0x4315x12=_0x4315x5[_0x2895[441]][_0x2895[248]](_0x4315x5[_0x2895[251]][_0x2895[263]](_0x4315x2[_0x2895[246]],_0x4315xa));this[_0x2895[1207]](_0x4315x12,_0x4315x3,_0x4315x4)}}};mxImageExport[_0x2895[202]][_0x2895[1206]]= function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[253]] instanceof mxShape&& (_0x4315x3[_0x2895[815]](),_0x4315x2[_0x2895[253]][_0x2895[1209]](_0x4315x3),_0x4315x3[_0x2895[1210]]());null!= _0x4315x2[_0x2895[963]]&& (_0x4315x3[_0x2895[815]](),_0x4315x2[_0x2895[963]][_0x2895[1209]](_0x4315x3),_0x4315x3[_0x2895[1210]]())};mxImageExport[_0x2895[202]][_0x2895[1208]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x2[_0x2895[1211]]&& _0x4315x2[_0x2895[1211]][_0x2895[209]](function(_0x4315x2,_0x4315x5){_0x4315x5 instanceof mxShape&& _0x4315x5[_0x2895[1209]](_0x4315x3)})};function mxAbstractCanvas2D(){this[_0x2895[1212]]= this[_0x2895[1213]]();this[_0x2895[862]]()}mxAbstractCanvas2D[_0x2895[202]][_0x2895[724]]= null;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1214]]= null;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1215]]= null;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1216]]= !0;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1217]]= 0;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1218]]= 0;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1219]]= _0x2895[1220];mxAbstractCanvas2D[_0x2895[202]][_0x2895[1221]]= _0x2895[1222];mxAbstractCanvas2D[_0x2895[202]][_0x2895[1223]]= _0x2895[1224];mxAbstractCanvas2D[_0x2895[202]][_0x2895[1225]]= _0x2895[1226];mxAbstractCanvas2D[_0x2895[202]][_0x2895[1227]]= _0x2895[1228];mxAbstractCanvas2D[_0x2895[202]][_0x2895[1229]]= !1;mxAbstractCanvas2D[_0x2895[202]][_0x2895[1213]]= function(){return new mxUrlConverter};mxAbstractCanvas2D[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[724]]= this[_0x2895[1230]]();this[_0x2895[1214]]= []};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1230]]= function(){return {dx:0,dy:0,scale:1,alpha:1,fillColor:null,fillAlpha:1,gradientColor:null,gradientAlpha:1,gradientDirection:null,strokeColor:null,strokeWidth:1,dashed:!1,dashPattern:_0x2895[1231],lineCap:_0x2895[1232],lineJoin:_0x2895[1233],miterLimit:10,fontColor:_0x2895[1234],fontBackgroundColor:null,fontBorderColor:null,fontSize:mxConstants[_0x2895[483]],fontFamily:mxConstants[_0x2895[484]],fontStyle:0,shadow:!1,shadowColor:mxConstants[_0x2895[1235]],shadowAlpha:mxConstants[_0x2895[1236]],shadowDx:mxConstants[_0x2895[1237]],shadowDy:mxConstants[_0x2895[1238]],rotation:0,rotationCx:0,rotationCy:0}};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1239]]= function(_0x4315x2){return Math[_0x2895[488]](parseFloat(_0x4315x2))};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1240]]= function(){if(null!= this[_0x2895[1215]]&& (this[_0x2895[1215]][_0x2895[207]](arguments[0]),2< arguments[_0x2895[67]])){for(var _0x4315x2=this[_0x2895[724]],_0x4315x3=2;_0x4315x3< arguments[_0x2895[67]];_0x4315x3+= 2){this[_0x2895[1217]]= arguments[_0x4315x3- 1],this[_0x2895[1218]]= arguments[_0x4315x3],this[_0x2895[1215]][_0x2895[207]](this[_0x2895[1239]]((this[_0x2895[1217]]+ _0x4315x2[_0x2895[1126]])* _0x4315x2[_0x2895[255]])),this[_0x2895[1215]][_0x2895[207]](this[_0x2895[1239]]((this[_0x2895[1218]]+ _0x4315x2[_0x2895[1125]])* _0x4315x2[_0x2895[255]]))}}};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1241]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x4*= Math[_0x2895[424]]/ 180;return mxUtils[_0x2895[432]]( new mxPoint(_0x4315x2,_0x4315x3),Math[_0x2895[426]](_0x4315x4),Math[_0x2895[427]](_0x4315x4), new mxPoint(_0x4315x5,_0x4315x9))};mxAbstractCanvas2D[_0x2895[202]][_0x2895[815]]= function(){this[_0x2895[1214]][_0x2895[207]](this[_0x2895[724]]);this[_0x2895[724]]= mxUtils[_0x2895[238]](this[_0x2895[724]])};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1210]]= function(){this[_0x2895[724]]= this[_0x2895[1214]][_0x2895[1242]]()};mxAbstractCanvas2D[_0x2895[202]][_0x2895[255]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[255]]*= _0x4315x2;this[_0x2895[724]][_0x2895[610]]*= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[513]]= function(_0x4315x2,_0x4315x3){this[_0x2895[724]][_0x2895[1126]]+= _0x4315x2;this[_0x2895[724]][_0x2895[1125]]+= _0x4315x3};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1243]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[1244]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1245]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);this[_0x2895[724]][_0x2895[604]]= _0x4315x2;this[_0x2895[724]][_0x2895[606]]= null};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1246]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){_0x4315x4= this[_0x2895[724]];_0x4315x4[_0x2895[604]]= _0x4315x2;_0x4315x4[_0x2895[1247]]= null!= _0x4315x13?_0x4315x13:1;_0x4315x4[_0x2895[606]]= _0x4315x3;_0x4315x4[_0x2895[1248]]= null!= _0x4315x14?_0x4315x14:1;_0x4315x4[_0x2895[607]]= _0x4315x12};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1249]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);this[_0x2895[724]][_0x2895[608]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1250]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[610]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1251]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[648]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1252]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[649]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1253]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[1254]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1255]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[1256]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1257]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[1258]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1259]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);this[_0x2895[724]][_0x2895[665]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1260]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);this[_0x2895[724]][_0x2895[1261]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1262]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);this[_0x2895[724]][_0x2895[1263]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1264]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[487]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1265]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[486]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1266]]= function(_0x4315x2){null== _0x4315x2&& (_0x4315x2= 0);this[_0x2895[724]][_0x2895[666]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1267]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[639]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1268]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);this[_0x2895[724]][_0x2895[1269]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1270]]= function(_0x4315x2){this[_0x2895[724]][_0x2895[1271]]= _0x4315x2};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1272]]= function(_0x4315x2,_0x4315x3){this[_0x2895[724]][_0x2895[1273]]= _0x4315x2;this[_0x2895[724]][_0x2895[1274]]= _0x4315x3};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1275]]= function(){this[_0x2895[1218]]= this[_0x2895[1217]]= 0;this[_0x2895[1215]]= []};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1276]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1240]](this[_0x2895[1219]],_0x4315x2,_0x4315x3)};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1277]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1240]](this[_0x2895[1221]],_0x4315x2,_0x4315x3)};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1278]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[1240]](this[_0x2895[1223]],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5)};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1279]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[1240]](this[_0x2895[1225]],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa)};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1280]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){_0x4315x2= mxUtils[_0x2895[1281]](this[_0x2895[1217]],this[_0x2895[1218]],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12);for(_0x4315x3= 0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3+= 6){this[_0x2895[1279]](_0x4315x2[_0x4315x3],_0x4315x2[_0x4315x3+ 1],_0x4315x2[_0x4315x3+ 2],_0x4315x2[_0x4315x3+ 3],_0x4315x2[_0x4315x3+ 4],_0x4315x2[_0x4315x3+ 5])}};mxAbstractCanvas2D[_0x2895[202]][_0x2895[268]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[1240]](this[_0x2895[1227]])};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1282]]= function(){};function mxXmlCanvas2D(_0x4315x2){mxAbstractCanvas2D[_0x2895[239]](this);this[_0x2895[813]]= _0x4315x2;this[_0x2895[1283]]()}mxUtils[_0x2895[1284]](mxXmlCanvas2D,mxAbstractCanvas2D);mxXmlCanvas2D[_0x2895[202]][_0x2895[1285]]= !0;mxXmlCanvas2D[_0x2895[202]][_0x2895[1286]]= !0;mxXmlCanvas2D[_0x2895[202]][_0x2895[1283]]= function(){var _0x4315x2;_0x4315x2= this[_0x2895[55]](_0x2895[1287]);_0x4315x2[_0x2895[57]](_0x2895[1288],mxConstants.DEFAULT_FONTFAMILY);this[_0x2895[813]][_0x2895[62]](_0x4315x2);_0x4315x2= this[_0x2895[55]](_0x2895[1289]);_0x4315x2[_0x2895[57]](_0x2895[803],mxConstants.DEFAULT_FONTSIZE);this[_0x2895[813]][_0x2895[62]](_0x4315x2);_0x4315x2= this[_0x2895[55]](_0x2895[1290]);_0x4315x2[_0x2895[57]](_0x2895[352],mxConstants.SHADOWCOLOR);this[_0x2895[813]][_0x2895[62]](_0x4315x2);_0x4315x2= this[_0x2895[55]](_0x2895[1291]);_0x4315x2[_0x2895[57]](_0x2895[1244],mxConstants.SHADOW_OPACITY);this[_0x2895[813]][_0x2895[62]](_0x4315x2);_0x4315x2= this[_0x2895[55]](_0x2895[1292]);_0x4315x2[_0x2895[57]](_0x2895[1126],mxConstants.SHADOW_OFFSET_X);_0x4315x2[_0x2895[57]](_0x2895[1125],mxConstants.SHADOW_OFFSET_Y);this[_0x2895[813]][_0x2895[62]](_0x4315x2)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1239]]= function(_0x4315x2){return parseFloat(parseFloat(_0x4315x2)[_0x2895[1293]](2))};mxXmlCanvas2D[_0x2895[202]][_0x2895[55]]= function(_0x4315x2){return this[_0x2895[813]][_0x2895[295]][_0x2895[55]](_0x4315x2)};mxXmlCanvas2D[_0x2895[202]][_0x2895[815]]= function(){this[_0x2895[1286]]&& mxAbstractCanvas2D[_0x2895[202]][_0x2895[815]][_0x2895[183]](this,arguments);this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[815]))};mxXmlCanvas2D[_0x2895[202]][_0x2895[1210]]= function(){this[_0x2895[1286]]&& mxAbstractCanvas2D[_0x2895[202]][_0x2895[1210]][_0x2895[183]](this,arguments);this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[1210]))};mxXmlCanvas2D[_0x2895[202]][_0x2895[255]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[255]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1243]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[255]);_0x4315x3[_0x2895[57]](_0x2895[255],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[513]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[55]](_0x2895[513]);_0x4315x4[_0x2895[57]](_0x2895[1126],this[_0x2895[1239]](_0x4315x2));_0x4315x4[_0x2895[57]](_0x2895[1125],this[_0x2895[1239]](_0x4315x3));this[_0x2895[813]][_0x2895[62]](_0x4315x4)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1294]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=this[_0x2895[55]](_0x2895[1294]);if(0!= _0x4315x2|| _0x4315x3|| _0x4315x4){_0x4315xa[_0x2895[57]](_0x2895[1295],this[_0x2895[1239]](_0x4315x2)),_0x4315xa[_0x2895[57]](_0x2895[623],_0x4315x3?_0x2895[500]:_0x2895[468]),_0x4315xa[_0x2895[57]](_0x2895[624],_0x4315x4?_0x2895[500]:_0x2895[468]),_0x4315xa[_0x2895[57]](_0x2895[1296],this[_0x2895[1239]](_0x4315x5)),_0x4315xa[_0x2895[57]](_0x2895[1297],this[_0x2895[1239]](_0x4315x9)),this[_0x2895[813]][_0x2895[62]](_0x4315xa)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1243]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1244]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1243]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1244]);_0x4315x3[_0x2895[57]](_0x2895[1244],this[_0x2895[1239]](_0x4315x2));this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1245]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[604]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1245]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1298]);_0x4315x3[_0x2895[57]](_0x2895[352],null!= _0x4315x2?_0x4315x2:mxConstants[_0x2895[217]]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1246]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){if(null!= _0x4315x2&& null!= _0x4315x3){mxAbstractCanvas2D[_0x2895[202]][_0x2895[1246]][_0x2895[183]](this,arguments);var _0x4315x15=this[_0x2895[55]](_0x2895[1299]);_0x4315x15[_0x2895[57]](_0x2895[1300],_0x4315x2);_0x4315x15[_0x2895[57]](_0x2895[1301],_0x4315x3);_0x4315x15[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x4));_0x4315x15[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x5));_0x4315x15[_0x2895[57]](_0x2895[1302],this[_0x2895[1239]](_0x4315x9));_0x4315x15[_0x2895[57]](_0x2895[1303],this[_0x2895[1239]](_0x4315xa));null!= _0x4315x12&& _0x4315x15[_0x2895[57]](_0x2895[663],_0x4315x12);null!= _0x4315x13&& _0x4315x15[_0x2895[57]](_0x2895[1304],_0x4315x13);null!= _0x4315x14&& _0x4315x15[_0x2895[57]](_0x2895[1305],_0x4315x14);this[_0x2895[813]][_0x2895[62]](_0x4315x15)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1249]]= function(_0x4315x2){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[608]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1249]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1306]);_0x4315x3[_0x2895[57]](_0x2895[352],null!= _0x4315x2?_0x4315x2:mxConstants[_0x2895[217]]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1250]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[610]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1250]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1307]);_0x4315x3[_0x2895[57]](_0x2895[117],this[_0x2895[1239]](_0x4315x2));this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1251]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[648]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1251]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[648]);_0x4315x3[_0x2895[57]](_0x2895[648],_0x4315x2?_0x2895[500]:_0x2895[468]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1252]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[649]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1252]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1308]);_0x4315x3[_0x2895[57]](_0x2895[1309],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1253]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1254]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1253]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1310]);_0x4315x3[_0x2895[57]](_0x2895[1311],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1255]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1256]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1255]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1312]);_0x4315x3[_0x2895[57]](_0x2895[234],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1257]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1258]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1257]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1313]);_0x4315x3[_0x2895[57]](_0x2895[1314],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1259]]= function(_0x4315x2){if(this[_0x2895[1285]]){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[665]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1259]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1315]);_0x4315x3[_0x2895[57]](_0x2895[352],null!= _0x4315x2?_0x4315x2:mxConstants[_0x2895[217]]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1260]]= function(_0x4315x2){if(this[_0x2895[1285]]){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1261]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1260]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1316]);_0x4315x3[_0x2895[57]](_0x2895[352],null!= _0x4315x2?_0x4315x2:mxConstants[_0x2895[217]]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1262]]= function(_0x4315x2){if(this[_0x2895[1285]]){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1263]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1262]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1317]);_0x4315x3[_0x2895[57]](_0x2895[352],null!= _0x4315x2?_0x4315x2:mxConstants[_0x2895[217]]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1264]]= function(_0x4315x2){if(this[_0x2895[1285]]){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[487]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1264]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1289]);_0x4315x3[_0x2895[57]](_0x2895[803],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1265]]= function(_0x4315x2){if(this[_0x2895[1285]]){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[486]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1265]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1287]);_0x4315x3[_0x2895[57]](_0x2895[1288],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1266]]= function(_0x4315x2){if(this[_0x2895[1285]]){null== _0x4315x2&& (_0x4315x2= 0);if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[666]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1266]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1318]);_0x4315x3[_0x2895[57]](_0x2895[124],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1267]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[639]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1267]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[639]);_0x4315x3[_0x2895[57]](_0x2895[984],_0x4315x2?_0x2895[500]:_0x2895[468]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1268]]= function(_0x4315x2){if(this[_0x2895[1286]]){_0x4315x2== mxConstants[_0x2895[217]]&& (_0x4315x2= null);if(this[_0x2895[724]][_0x2895[1269]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1268]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1290]);_0x4315x3[_0x2895[57]](_0x2895[352],null!= _0x4315x2?_0x4315x2:mxConstants[_0x2895[217]]);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1270]]= function(_0x4315x2){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1271]]== _0x4315x2){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1270]][_0x2895[183]](this,arguments)};var _0x4315x3=this[_0x2895[55]](_0x2895[1291]);_0x4315x3[_0x2895[57]](_0x2895[1244],_0x4315x2);this[_0x2895[813]][_0x2895[62]](_0x4315x3)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1272]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1286]]){if(this[_0x2895[724]][_0x2895[1273]]== _0x4315x2&& this[_0x2895[724]][_0x2895[1274]]== _0x4315x3){return};mxAbstractCanvas2D[_0x2895[202]][_0x2895[1272]][_0x2895[183]](this,arguments)};var _0x4315x4=this[_0x2895[55]](_0x2895[1292]);_0x4315x4[_0x2895[57]](_0x2895[1126],_0x4315x2);_0x4315x4[_0x2895[57]](_0x2895[1125],_0x4315x3);this[_0x2895[813]][_0x2895[62]](_0x4315x4)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1319]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[55]](_0x2895[1319]);_0x4315x9[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x9[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));_0x4315x9[_0x2895[57]](_0x2895[1302],this[_0x2895[1239]](_0x4315x4));_0x4315x9[_0x2895[57]](_0x2895[1303],this[_0x2895[1239]](_0x4315x5));this[_0x2895[813]][_0x2895[62]](_0x4315x9)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1320]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=this[_0x2895[55]](_0x2895[1320]);_0x4315x12[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x12[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));_0x4315x12[_0x2895[57]](_0x2895[1302],this[_0x2895[1239]](_0x4315x4));_0x4315x12[_0x2895[57]](_0x2895[1303],this[_0x2895[1239]](_0x4315x5));_0x4315x12[_0x2895[57]](_0x2895[1126],this[_0x2895[1239]](_0x4315x9));_0x4315x12[_0x2895[57]](_0x2895[1125],this[_0x2895[1239]](_0x4315xa));this[_0x2895[813]][_0x2895[62]](_0x4315x12)};mxXmlCanvas2D[_0x2895[202]][_0x2895[680]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[55]](_0x2895[680]);_0x4315x9[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x9[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));_0x4315x9[_0x2895[57]](_0x2895[1302],this[_0x2895[1239]](_0x4315x4));_0x4315x9[_0x2895[57]](_0x2895[1303],this[_0x2895[1239]](_0x4315x5));this[_0x2895[813]][_0x2895[62]](_0x4315x9)};mxXmlCanvas2D[_0x2895[202]][_0x2895[618]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){_0x4315x9= this[_0x2895[1212]][_0x2895[1321]](_0x4315x9);var _0x4315x14=this[_0x2895[55]](_0x2895[618]);_0x4315x14[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x14[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));_0x4315x14[_0x2895[57]](_0x2895[1302],this[_0x2895[1239]](_0x4315x4));_0x4315x14[_0x2895[57]](_0x2895[1303],this[_0x2895[1239]](_0x4315x5));_0x4315x14[_0x2895[57]](_0x2895[390],_0x4315x9);_0x4315x14[_0x2895[57]](_0x2895[1322],_0x4315xa?_0x2895[500]:_0x2895[468]);_0x4315x14[_0x2895[57]](_0x2895[623],_0x4315x12?_0x2895[500]:_0x2895[468]);_0x4315x14[_0x2895[57]](_0x2895[624],_0x4315x13?_0x2895[500]:_0x2895[468]);this[_0x2895[813]][_0x2895[62]](_0x4315x14)};mxXmlCanvas2D[_0x2895[202]][_0x2895[1275]]= function(){this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[1275]));this[_0x2895[1218]]= this[_0x2895[1217]]= 0};mxXmlCanvas2D[_0x2895[202]][_0x2895[1276]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[55]](_0x2895[582]);_0x4315x4[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x4[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));this[_0x2895[813]][_0x2895[62]](_0x4315x4);this[_0x2895[1217]]= _0x4315x2;this[_0x2895[1218]]= _0x4315x3};mxXmlCanvas2D[_0x2895[202]][_0x2895[1277]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[55]](_0x2895[683]);_0x4315x4[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x4[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));this[_0x2895[813]][_0x2895[62]](_0x4315x4);this[_0x2895[1217]]= _0x4315x2;this[_0x2895[1218]]= _0x4315x3};mxXmlCanvas2D[_0x2895[202]][_0x2895[1278]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[55]](_0x2895[1323]);_0x4315x9[_0x2895[57]](_0x2895[1324],this[_0x2895[1239]](_0x4315x2));_0x4315x9[_0x2895[57]](_0x2895[1325],this[_0x2895[1239]](_0x4315x3));_0x4315x9[_0x2895[57]](_0x2895[1326],this[_0x2895[1239]](_0x4315x4));_0x4315x9[_0x2895[57]](_0x2895[1327],this[_0x2895[1239]](_0x4315x5));this[_0x2895[813]][_0x2895[62]](_0x4315x9);this[_0x2895[1217]]= _0x4315x4;this[_0x2895[1218]]= _0x4315x5};mxXmlCanvas2D[_0x2895[202]][_0x2895[1279]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=this[_0x2895[55]](_0x2895[1328]);_0x4315x12[_0x2895[57]](_0x2895[1324],this[_0x2895[1239]](_0x4315x2));_0x4315x12[_0x2895[57]](_0x2895[1325],this[_0x2895[1239]](_0x4315x3));_0x4315x12[_0x2895[57]](_0x2895[1326],this[_0x2895[1239]](_0x4315x4));_0x4315x12[_0x2895[57]](_0x2895[1327],this[_0x2895[1239]](_0x4315x5));_0x4315x12[_0x2895[57]](_0x2895[1329],this[_0x2895[1239]](_0x4315x9));_0x4315x12[_0x2895[57]](_0x2895[1330],this[_0x2895[1239]](_0x4315xa));this[_0x2895[813]][_0x2895[62]](_0x4315x12);this[_0x2895[1217]]= _0x4315x9;this[_0x2895[1218]]= _0x4315xa};mxXmlCanvas2D[_0x2895[202]][_0x2895[268]]= function(){this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[268]))};mxXmlCanvas2D[_0x2895[202]][_0x2895[963]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){if(this[_0x2895[1285]]&& null!= _0x4315x9){mxUtils[_0x2895[1331]](_0x4315x9)&& (_0x4315x9= mxUtils[_0x2895[532]](_0x4315x9));var _0x4315x18=this[_0x2895[55]](_0x2895[963]);_0x4315x18[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2));_0x4315x18[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3));_0x4315x18[_0x2895[57]](_0x2895[1302],this[_0x2895[1239]](_0x4315x4));_0x4315x18[_0x2895[57]](_0x2895[1303],this[_0x2895[1239]](_0x4315x5));_0x4315x18[_0x2895[57]](_0x2895[1332],_0x4315x9);null!= _0x4315xa&& _0x4315x18[_0x2895[57]](_0x2895[611],_0x4315xa);null!= _0x4315x12&& _0x4315x18[_0x2895[57]](_0x2895[552],_0x4315x12);_0x4315x18[_0x2895[57]](_0x2895[1333],_0x4315x13?_0x2895[500]:_0x2895[468]);null== _0x4315x14&& (_0x4315x14= _0x2895[110]);_0x4315x18[_0x2895[57]](_0x2895[1239],_0x4315x14);null!= _0x4315x15&& _0x4315x18[_0x2895[57]](_0x2895[1334],_0x4315x15?_0x2895[500]:_0x2895[468]);null!= _0x4315x16&& _0x4315x18[_0x2895[57]](_0x2895[1335],_0x4315x16?_0x2895[500]:_0x2895[468]);null!= _0x4315x17&& _0x4315x18[_0x2895[57]](_0x2895[603],_0x4315x17);this[_0x2895[813]][_0x2895[62]](_0x4315x18)}};mxXmlCanvas2D[_0x2895[202]][_0x2895[1336]]= function(){this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[1336]))};mxXmlCanvas2D[_0x2895[202]][_0x2895[1334]]= function(){this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[1334]))};mxXmlCanvas2D[_0x2895[202]][_0x2895[1337]]= function(){this[_0x2895[813]][_0x2895[62]](this[_0x2895[55]](_0x2895[1338]))};function mxSvgCanvas2D(_0x4315x2,_0x4315x3){mxAbstractCanvas2D[_0x2895[239]](this);this[_0x2895[813]]= _0x4315x2;this[_0x2895[1339]]= [];this[_0x2895[1340]]= null;this[_0x2895[1341]]= null!= _0x4315x3?_0x4315x3:!1;var _0x4315x4=null;if(_0x4315x2[_0x2895[295]]!= document){for(_0x4315x4= _0x4315x2;null!= _0x4315x4&& _0x2895[571]!= _0x4315x4[_0x2895[301]];){_0x4315x4= _0x4315x4[_0x2895[265]]}};null!= _0x4315x4&& (0< _0x4315x4[_0x2895[64]](_0x2895[1340])[_0x2895[67]]&& (this[_0x2895[1340]]= _0x4315x4[_0x2895[64]](_0x2895[1340])[0]),null== this[_0x2895[1340]]&& (this[_0x2895[1340]]= this[_0x2895[55]](_0x2895[1340]),null!= _0x4315x4[_0x2895[285]]?_0x4315x4[_0x2895[950]](this[_0x2895[1340]],_0x4315x4[_0x2895[285]]):_0x4315x4[_0x2895[62]](this[_0x2895[1340]])),this[_0x2895[1341]]&& this[_0x2895[1340]][_0x2895[62]](this[_0x2895[1342]]()))}mxUtils[_0x2895[1284]](mxSvgCanvas2D,mxAbstractCanvas2D);mxSvgCanvas2D[_0x2895[202]][_0x2895[252]]= null;mxSvgCanvas2D[_0x2895[202]][_0x2895[1343]]= !0;mxSvgCanvas2D[_0x2895[202]][_0x2895[1285]]= !0;mxSvgCanvas2D[_0x2895[202]][_0x2895[1344]]= !0;mxSvgCanvas2D[_0x2895[202]][_0x2895[1345]]= 0;mxSvgCanvas2D[_0x2895[202]][_0x2895[1346]]= 0;mxSvgCanvas2D[_0x2895[202]][_0x2895[1347]]= !1;mxSvgCanvas2D[_0x2895[202]][_0x2895[862]]= function(){mxAbstractCanvas2D[_0x2895[202]][_0x2895[862]][_0x2895[183]](this,arguments);this[_0x2895[1339]]= []};mxSvgCanvas2D[_0x2895[202]][_0x2895[1342]]= function(_0x4315x2){_0x4315x2= this[_0x2895[55]](_0x2895[124]);_0x4315x2[_0x2895[57]](_0x2895[60],_0x2895[61]);mxUtils[_0x2895[53]](_0x4315x2,_0x2895[1348]+ mxConstants[_0x2895[484]]+ _0x2895[1349]+ mxConstants[_0x2895[483]]+ _0x2895[1350]);return _0x4315x2};mxSvgCanvas2D[_0x2895[202]][_0x2895[55]]= function(_0x4315x2,_0x4315x3){if(null!= this[_0x2895[813]][_0x2895[295]][_0x2895[509]]){return this[_0x2895[813]][_0x2895[295]][_0x2895[509]](_0x4315x3|| mxConstants[_0x2895[1351]],_0x4315x2)};var _0x4315x4=this[_0x2895[813]][_0x2895[295]][_0x2895[55]](_0x4315x2);null!= _0x4315x3&& _0x4315x4[_0x2895[57]](_0x2895[1352],_0x4315x3);return _0x4315x4};mxSvgCanvas2D[_0x2895[202]][_0x2895[1353]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x2895[198]== _0x4315x2[_0x2895[225]](0)&& (_0x4315x2= _0x4315x2[_0x2895[85]](1));_0x2895[198]== _0x4315x3[_0x2895[225]](0)&& (_0x4315x3= _0x4315x3[_0x2895[85]](1));_0x4315x2= _0x4315x2[_0x2895[216]]()+ _0x2895[213]+ _0x4315x4;_0x4315x3= _0x4315x3[_0x2895[216]]()+ _0x2895[213]+ _0x4315x5;_0x4315x4= null;null== _0x4315x9|| _0x4315x9== mxConstants[_0x2895[1354]]?_0x4315x4= _0x2895[1355]:_0x4315x9== mxConstants[_0x2895[1356]]?_0x4315x4= _0x2895[1357]:(_0x4315x5= _0x4315x2,_0x4315x2= _0x4315x3,_0x4315x3= _0x4315x5,_0x4315x9== mxConstants[_0x2895[1358]]?_0x4315x4= _0x2895[1355]:_0x4315x9== mxConstants[_0x2895[1359]]&& (_0x4315x4= _0x2895[1357]));return _0x2895[1360]+ _0x4315x2+ _0x2895[213]+ _0x4315x3+ _0x2895[213]+ _0x4315x4};mxSvgCanvas2D[_0x2895[202]][_0x2895[1361]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=this[_0x2895[1353]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x12=this[_0x2895[1339]][_0x4315xa];if(null== _0x4315x12){var _0x4315x13=this[_0x2895[813]][_0x2895[538]],_0x4315x14=0,_0x4315x15=_0x4315xa+ _0x2895[213]+ _0x4315x14;if(null!= _0x4315x13){for(_0x4315x12= _0x4315x13[_0x2895[295]][_0x2895[1362]](_0x4315x15);null!= _0x4315x12&& _0x4315x12[_0x2895[538]]!= _0x4315x13;){_0x4315x15= _0x4315xa+ _0x2895[213]+ _0x4315x14++,_0x4315x12= _0x4315x13[_0x2895[295]][_0x2895[1362]](_0x4315x15)}}else {_0x4315x15= _0x2895[1363]+ ++this[_0x2895[1346]]};null== _0x4315x12&& (_0x4315x12= this[_0x2895[1364]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x12[_0x2895[57]](_0x2895[1363],_0x4315x15),null!= this[_0x2895[1340]]?this[_0x2895[1340]][_0x2895[62]](_0x4315x12):_0x4315x13[_0x2895[62]](_0x4315x12));this[_0x2895[1339]][_0x4315xa]= _0x4315x12};return _0x4315x12[_0x2895[284]](_0x2895[1363])};mxSvgCanvas2D[_0x2895[202]][_0x2895[1364]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=this[_0x2895[55]](_0x2895[1365]);_0x4315xa[_0x2895[57]](_0x2895[1324],_0x2895[1366]);_0x4315xa[_0x2895[57]](_0x2895[1325],_0x2895[1366]);_0x4315xa[_0x2895[57]](_0x2895[1326],_0x2895[1366]);_0x4315xa[_0x2895[57]](_0x2895[1327],_0x2895[1366]);null== _0x4315x9|| _0x4315x9== mxConstants[_0x2895[1354]]?_0x4315xa[_0x2895[57]](_0x2895[1327],_0x2895[118]):_0x4315x9== mxConstants[_0x2895[1356]]?_0x4315xa[_0x2895[57]](_0x2895[1326],_0x2895[118]):_0x4315x9== mxConstants[_0x2895[1358]]?_0x4315xa[_0x2895[57]](_0x2895[1325],_0x2895[118]):_0x4315x9== mxConstants[_0x2895[1359]]&& _0x4315xa[_0x2895[57]](_0x2895[1324],_0x2895[118]);_0x4315x4= 1> _0x4315x4?_0x2895[1367]+ _0x4315x4:_0x2895[110];_0x4315x9= this[_0x2895[55]](_0x2895[1076]);_0x4315x9[_0x2895[57]](_0x2895[1368],_0x2895[1366]);_0x4315x9[_0x2895[57]](_0x2895[124],_0x2895[1369]+ _0x4315x2+ _0x4315x4);_0x4315xa[_0x2895[62]](_0x4315x9);_0x4315x4= 1> _0x4315x5?_0x2895[1367]+ _0x4315x5:_0x2895[110];_0x4315x9= this[_0x2895[55]](_0x2895[1076]);_0x4315x9[_0x2895[57]](_0x2895[1368],_0x2895[118]);_0x4315x9[_0x2895[57]](_0x2895[124],_0x2895[1369]+ _0x4315x3+ _0x4315x4);_0x4315xa[_0x2895[62]](_0x4315x9);return _0x4315xa};mxSvgCanvas2D[_0x2895[202]][_0x2895[1370]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[252]],_0x4315x5=this[_0x2895[724]];if(null!= _0x4315x4){if(_0x2895[1215]== _0x4315x4[_0x2895[301]]){if(null!= this[_0x2895[1215]]&& 0< this[_0x2895[1215]][_0x2895[67]]){_0x4315x4[_0x2895[57]](_0x2895[1371],this[_0x2895[1215]][_0x2895[234]](_0x2895[185]))}else {return}};_0x4315x2&& null!= _0x4315x5[_0x2895[604]]?this[_0x2895[1372]]():this[_0x2895[1341]]|| (_0x2895[680]== _0x4315x4[_0x2895[301]]&& mxClient[_0x2895[133]]&& !mxClient[_0x2895[76]]&& !mxClient[_0x2895[75]]?_0x4315x4[_0x2895[57]](_0x2895[1334],_0x2895[1373]):_0x4315x4[_0x2895[57]](_0x2895[1334],_0x2895[130]),_0x4315x2= !1);_0x4315x3&& null!= _0x4315x5[_0x2895[608]]?this[_0x2895[1374]]():this[_0x2895[1341]]|| _0x4315x4[_0x2895[57]](_0x2895[1336],_0x2895[130]);null!= _0x4315x5[_0x2895[535]]&& 0< _0x4315x5[_0x2895[535]][_0x2895[67]]&& _0x4315x4[_0x2895[57]](_0x2895[535],_0x4315x5[_0x2895[535]]);_0x4315x5[_0x2895[639]]&& this[_0x2895[813]][_0x2895[62]](this[_0x2895[1375]](_0x4315x4));0< this[_0x2895[1345]]&& !_0x4315x2&& this[_0x2895[813]][_0x2895[62]](this[_0x2895[1376]](_0x4315x4));this[_0x2895[1229]]&& (_0x2895[1215]!= _0x4315x4[_0x2895[301]]|| this[_0x2895[1215]][this[_0x2895[1215]][_0x2895[67]]- 1]== this[_0x2895[1227]])&& _0x4315x4[_0x2895[57]](_0x2895[1377],_0x2895[1378]);this[_0x2895[813]][_0x2895[62]](_0x4315x4)}};mxSvgCanvas2D[_0x2895[202]][_0x2895[1372]]= function(){var _0x4315x2=this[_0x2895[724]];1> _0x4315x2[_0x2895[1244]]&& this[_0x2895[252]][_0x2895[57]](_0x2895[1379],_0x4315x2[_0x2895[1244]]);null!= _0x4315x2[_0x2895[604]]&& (null!= _0x4315x2[_0x2895[606]]?(_0x4315x2= this[_0x2895[1361]](_0x4315x2[_0x2895[604]],_0x4315x2[_0x2895[606]],_0x4315x2[_0x2895[1247]],_0x4315x2[_0x2895[1248]],_0x4315x2[_0x2895[607]]),this[_0x2895[252]][_0x2895[57]](_0x2895[1334],_0x2895[1380]+ _0x4315x2+ _0x2895[460])):this[_0x2895[252]][_0x2895[57]](_0x2895[1334],_0x4315x2[_0x2895[604]][_0x2895[216]]()))};mxSvgCanvas2D[_0x2895[202]][_0x2895[1374]]= function(){var _0x4315x2=this[_0x2895[724]];this[_0x2895[252]][_0x2895[57]](_0x2895[1336],_0x4315x2[_0x2895[608]][_0x2895[216]]());1> _0x4315x2[_0x2895[1244]]&& this[_0x2895[252]][_0x2895[57]](_0x2895[1381],_0x4315x2[_0x2895[1244]]);var _0x4315x3=Math[_0x2895[160]](1,this[_0x2895[1239]](_0x4315x2[_0x2895[610]]* _0x4315x2[_0x2895[255]]));1!= _0x4315x3&& this[_0x2895[252]][_0x2895[57]](_0x2895[1382],_0x4315x3);_0x2895[1215]== this[_0x2895[252]][_0x2895[301]]&& this[_0x2895[1383]]();_0x4315x2[_0x2895[648]]&& this[_0x2895[252]][_0x2895[57]](_0x2895[1384],this[_0x2895[1385]](_0x4315x3))};mxSvgCanvas2D[_0x2895[202]][_0x2895[1383]]= function(){var _0x4315x2=this[_0x2895[724]];null!= _0x4315x2[_0x2895[1256]]&& _0x2895[1233]!= _0x4315x2[_0x2895[1256]]&& this[_0x2895[252]][_0x2895[57]](_0x2895[1386],_0x4315x2[_0x2895[1256]]);if(null!= _0x4315x2[_0x2895[1254]]){var _0x4315x3=_0x4315x2[_0x2895[1254]];_0x2895[1232]== _0x4315x3&& (_0x4315x3= _0x2895[1387]);_0x2895[1387]!= _0x4315x3&& this[_0x2895[252]][_0x2895[57]](_0x2895[1388],_0x4315x3)};null!= _0x4315x2[_0x2895[1258]]&& (!this[_0x2895[1341]]|| 10!= _0x4315x2[_0x2895[1258]])&& this[_0x2895[252]][_0x2895[57]](_0x2895[1389],_0x4315x2[_0x2895[1258]])};mxSvgCanvas2D[_0x2895[202]][_0x2895[1385]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[724]][_0x2895[649]][_0x2895[224]](_0x2895[185]),_0x4315x4=[];if(0< _0x4315x3[_0x2895[67]]){for(var _0x4315x5=0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){_0x4315x4[_0x4315x5]= Number(_0x4315x3[_0x4315x5])* _0x4315x2}};return _0x4315x4[_0x2895[234]](_0x2895[185])};mxSvgCanvas2D[_0x2895[202]][_0x2895[1376]]= function(_0x4315x2){_0x4315x2= _0x4315x2[_0x2895[511]](!0);var _0x4315x3=parseFloat(_0x4315x2[_0x2895[284]](_0x2895[1382])|| 1)+ this[_0x2895[1345]];_0x4315x2[_0x2895[57]](_0x2895[1377],_0x2895[1336]);_0x4315x2[_0x2895[57]](_0x2895[187],_0x2895[188]);_0x4315x2[_0x2895[1390]](_0x2895[1384]);_0x4315x2[_0x2895[57]](_0x2895[1382],_0x4315x3);_0x4315x2[_0x2895[57]](_0x2895[1334],_0x2895[130]);_0x4315x2[_0x2895[57]](_0x2895[1336],mxClient[_0x2895[71]]?_0x2895[130]:_0x2895[1391]);return _0x4315x2};mxSvgCanvas2D[_0x2895[202]][_0x2895[1375]]= function(_0x4315x2){_0x4315x2= _0x4315x2[_0x2895[511]](!0);var _0x4315x3=this[_0x2895[724]];_0x2895[130]!= _0x4315x2[_0x2895[284]](_0x2895[1334])&& _0x4315x2[_0x2895[57]](_0x2895[1334],_0x4315x3[_0x2895[1269]]);_0x2895[130]!= _0x4315x2[_0x2895[284]](_0x2895[1336])&& _0x4315x2[_0x2895[57]](_0x2895[1336],_0x4315x3[_0x2895[1269]]);_0x4315x2[_0x2895[57]](_0x2895[535],_0x2895[536]+ this[_0x2895[1239]](_0x4315x3[_0x2895[1273]]* _0x4315x3[_0x2895[255]])+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x3[_0x2895[1274]]* _0x4315x3[_0x2895[255]])+ _0x2895[460]+ (_0x4315x3[_0x2895[535]]|| _0x2895[110]));_0x4315x2[_0x2895[57]](_0x2895[461],_0x4315x3[_0x2895[1271]]);return _0x4315x2};mxSvgCanvas2D[_0x2895[202]][_0x2895[1294]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(0!= _0x4315x2|| _0x4315x3|| _0x4315x4){var _0x4315xa=this[_0x2895[724]];_0x4315x5+= _0x4315xa[_0x2895[1126]];_0x4315x9+= _0x4315xa[_0x2895[1125]];_0x4315x5*= _0x4315xa[_0x2895[255]];_0x4315x9*= _0x4315xa[_0x2895[255]];_0x4315xa[_0x2895[535]]= _0x4315xa[_0x2895[535]]|| _0x2895[110];if(_0x4315x3&& _0x4315x4){_0x4315x2+= 180}else {if(_0x4315x3^ _0x4315x4){var _0x4315x12=_0x4315x3?_0x4315x5:0,_0x4315x13=_0x4315x3?-1:1,_0x4315x14=_0x4315x4?_0x4315x9:0,_0x4315x15=_0x4315x4?-1:1;_0x4315xa[_0x2895[535]]+= _0x2895[536]+ this[_0x2895[1239]](_0x4315x12)+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x14)+ _0x2895[1392]+ this[_0x2895[1239]](_0x4315x13)+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x15)+ _0x2895[1393]+ this[_0x2895[1239]](-_0x4315x12) + _0x2895[537]+ this[_0x2895[1239]](-_0x4315x14) + _0x2895[460]}};if(_0x4315x3?!_0x4315x4:_0x4315x4){_0x4315x2*= -1};0!= _0x4315x2&& (_0x4315xa[_0x2895[535]]+= _0x2895[1394]+ this[_0x2895[1239]](_0x4315x2)+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x5)+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x9)+ _0x2895[460]);_0x4315xa[_0x2895[603]]+= _0x4315x2;_0x4315xa[_0x2895[1395]]= _0x4315x5;_0x4315xa[_0x2895[1396]]= _0x4315x9}};mxSvgCanvas2D[_0x2895[202]][_0x2895[1275]]= function(){mxAbstractCanvas2D[_0x2895[202]][_0x2895[1275]][_0x2895[183]](this,arguments);this[_0x2895[252]]= this[_0x2895[55]](_0x2895[1215])};mxSvgCanvas2D[_0x2895[202]][_0x2895[1319]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[724]],_0x4315xa=this[_0x2895[55]](_0x2895[1319]);_0x4315xa[_0x2895[57]](_0x2895[235],this[_0x2895[1239]]((_0x4315x2+ _0x4315x9[_0x2895[1126]])* _0x4315x9[_0x2895[255]]));_0x4315xa[_0x2895[57]](_0x2895[236],this[_0x2895[1239]]((_0x4315x3+ _0x4315x9[_0x2895[1125]])* _0x4315x9[_0x2895[255]]));_0x4315xa[_0x2895[57]](_0x2895[117],this[_0x2895[1239]](_0x4315x4* _0x4315x9[_0x2895[255]]));_0x4315xa[_0x2895[57]](_0x2895[119],this[_0x2895[1239]](_0x4315x5* _0x4315x9[_0x2895[255]]));this[_0x2895[252]]= _0x4315xa};mxSvgCanvas2D[_0x2895[202]][_0x2895[1320]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[1319]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5);0< _0x4315x9&& this[_0x2895[252]][_0x2895[57]](_0x2895[1397],this[_0x2895[1239]](_0x4315x9* this[_0x2895[724]][_0x2895[255]]));0< _0x4315xa&& this[_0x2895[252]][_0x2895[57]](_0x2895[1398],this[_0x2895[1239]](_0x4315xa* this[_0x2895[724]][_0x2895[255]]))};mxSvgCanvas2D[_0x2895[202]][_0x2895[680]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[724]],_0x4315xa=this[_0x2895[55]](_0x2895[680]);_0x4315xa[_0x2895[57]](_0x2895[1296],Math[_0x2895[488]]((_0x4315x2+ _0x4315x4/ 2+ _0x4315x9[_0x2895[1126]])* _0x4315x9[_0x2895[255]]));_0x4315xa[_0x2895[57]](_0x2895[1297],Math[_0x2895[488]]((_0x4315x3+ _0x4315x5/ 2+ _0x4315x9[_0x2895[1125]])* _0x4315x9[_0x2895[255]]));_0x4315xa[_0x2895[57]](_0x2895[1397],_0x4315x4/ 2* _0x4315x9[_0x2895[255]]);_0x4315xa[_0x2895[57]](_0x2895[1398],_0x4315x5/ 2* _0x4315x9[_0x2895[255]]);this[_0x2895[252]]= _0x4315xa};mxSvgCanvas2D[_0x2895[202]][_0x2895[618]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){_0x4315x9= this[_0x2895[1212]][_0x2895[1321]](_0x4315x9);_0x4315xa= null!= _0x4315xa?_0x4315xa:!0;_0x4315x12= null!= _0x4315x12?_0x4315x12:!1;_0x4315x13= null!= _0x4315x13?_0x4315x13:!1;var _0x4315x14=this[_0x2895[724]];_0x4315x2+= _0x4315x14[_0x2895[1126]];_0x4315x3+= _0x4315x14[_0x2895[1125]];var _0x4315x15=this[_0x2895[55]](_0x2895[618]);_0x4315x15[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2* _0x4315x14[_0x2895[255]]));_0x4315x15[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3* _0x4315x14[_0x2895[255]]));_0x4315x15[_0x2895[57]](_0x2895[117],this[_0x2895[1239]](_0x4315x4* _0x4315x14[_0x2895[255]]));_0x4315x15[_0x2895[57]](_0x2895[119],this[_0x2895[1239]](_0x4315x5* _0x4315x14[_0x2895[255]]));null== _0x4315x15[_0x2895[1399]]?_0x4315x15[_0x2895[57]](_0x2895[1400],_0x4315x9):_0x4315x15[_0x2895[1399]](mxConstants.NS_XLINK,_0x2895[44],_0x4315x9);_0x4315xa|| _0x4315x15[_0x2895[57]](_0x2895[1401],_0x2895[130]);1> _0x4315x14[_0x2895[1244]]&& _0x4315x15[_0x2895[57]](_0x2895[461],_0x4315x14[_0x2895[1244]]);_0x4315x9= this[_0x2895[724]][_0x2895[535]]|| _0x2895[110];if(_0x4315x12|| _0x4315x13){var _0x4315x16=_0x4315xa= 1,_0x4315x17=0,_0x4315x18=0;_0x4315x12&& (_0x4315xa= -1,_0x4315x17= -_0x4315x4- 2* _0x4315x2);_0x4315x13&& (_0x4315x16= -1,_0x4315x18= -_0x4315x5- 2* _0x4315x3);_0x4315x9+= _0x2895[1402]+ _0x4315xa+ _0x2895[537]+ _0x4315x16+ _0x2895[1393]+ _0x4315x17+ _0x2895[537]+ _0x4315x18+ _0x2895[460]};0< _0x4315x9[_0x2895[67]]&& _0x4315x15[_0x2895[57]](_0x2895[535],_0x4315x9);this[_0x2895[813]][_0x2895[62]](_0x4315x15);this[_0x2895[1347]]&& (_0x4315x15[_0x2895[57]](_0x2895[124],_0x2895[1403]),_0x4315x15= this[_0x2895[55]](_0x2895[1319]),_0x4315x15[_0x2895[57]](_0x2895[187],_0x2895[188]),_0x4315x15[_0x2895[57]](_0x2895[1377],_0x2895[1334]),_0x4315x15[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2* _0x4315x14[_0x2895[255]])),_0x4315x15[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x3* _0x4315x14[_0x2895[255]])),_0x4315x15[_0x2895[57]](_0x2895[117],this[_0x2895[1239]](_0x4315x4* _0x4315x14[_0x2895[255]])),_0x4315x15[_0x2895[57]](_0x2895[119],this[_0x2895[1239]](_0x4315x5* _0x4315x14[_0x2895[255]])),this[_0x2895[813]][_0x2895[62]](_0x4315x15))};mxSvgCanvas2D[_0x2895[202]][_0x2895[1404]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x4= this[_0x2895[724]];_0x4315x5= _0x2895[1405]+ Math[_0x2895[488]](_0x4315x4[_0x2895[487]])+ _0x2895[1406]+ _0x4315x4[_0x2895[486]]+ _0x2895[1407]+ _0x4315x4[_0x2895[665]]+ _0x2895[1408]+ Math[_0x2895[488]](_0x4315x4[_0x2895[487]]* mxConstants[_0x2895[490]])+ _0x2895[1409]+ _0x4315x5;(_0x4315x4[_0x2895[666]]& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]]&& (_0x4315x5+= _0x2895[1411]);(_0x4315x4[_0x2895[666]]& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]]&& (_0x4315x5+= _0x2895[1413]);(_0x4315x4[_0x2895[666]]& mxConstants[_0x2895[1414]])== mxConstants[_0x2895[1414]]&& (_0x4315x5+= _0x2895[1415]);_0x4315x3== mxConstants[_0x2895[479]]?_0x4315x5+= _0x2895[1416]:_0x4315x3== mxConstants[_0x2895[480]]&& (_0x4315x5+= _0x2895[1417]);_0x4315x3= _0x2895[110];null!= _0x4315x4[_0x2895[1261]]&& (_0x4315x3+= _0x2895[1418]+ _0x4315x4[_0x2895[1261]]+ _0x2895[471]);null!= _0x4315x4[_0x2895[1263]]&& (_0x4315x3+= _0x2895[1419]+ _0x4315x4[_0x2895[1263]]+ _0x2895[471]);mxUtils[_0x2895[1331]](_0x4315x2)|| (_0x4315x4= document[_0x2895[55]](_0x2895[126]),_0x4315x4[_0x2895[339]]= _0x4315x2[_0x2895[230]](/</g,_0x2895[1421])[_0x2895[230]](/>/g,_0x2895[1420])[_0x2895[230]](/</g,_0x2895[334])[_0x2895[230]](/>/g,_0x2895[335]),_0x4315x2= _0x4315x4[_0x2895[131]],_0x4315x9?_0x4315x5+= _0x4315x3:0< _0x4315x3[_0x2895[67]]&& (_0x4315x2= _0x2895[1422]+ _0x4315x3+ _0x2895[1423]+ _0x4315x2+ _0x2895[1424]));if(!mxClient[_0x2895[80]]&& document[_0x2895[509]]){return _0x4315x9= document[_0x2895[509]](_0x2895[577],_0x2895[485]),_0x4315x9[_0x2895[57]](_0x2895[124],_0x4315x5),mxUtils[_0x2895[1331]](_0x4315x2)?this[_0x2895[813]][_0x2895[295]]!= document?_0x4315x9[_0x2895[62]](_0x4315x2[_0x2895[511]](!0)):_0x4315x9[_0x2895[62]](_0x4315x2):_0x4315x9[_0x2895[339]]= _0x4315x2,_0x4315x9};mxUtils[_0x2895[1331]](_0x4315x2)&& this[_0x2895[813]][_0x2895[295]]!= document&& (_0x4315x2= _0x4315x2[_0x2895[342]]);_0x4315x2= _0x4315x2[_0x2895[230]](/<br>/g,_0x2895[1426])[_0x2895[230]](/<hr>/g,_0x2895[1425]);return mxUtils[_0x2895[877]](_0x2895[1427]+ _0x4315x5+ _0x2895[1423]+ _0x4315x2+ _0x2895[1424])[_0x2895[158]]};mxSvgCanvas2D[_0x2895[202]][_0x2895[963]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){if(this[_0x2895[1285]]&& null!= _0x4315x9){_0x4315x17= null!= _0x4315x17?_0x4315x17:0;var _0x4315x18=this[_0x2895[724]];_0x4315x2+= _0x4315x18[_0x2895[1126]];_0x4315x3+= _0x4315x18[_0x2895[1125]];if(this[_0x2895[1344]]&& _0x2895[1428]== _0x4315x14){var _0x4315x19=_0x2895[1429];_0x4315x16?(_0x4315x19+= _0x2895[1430],0< _0x4315x5&& (_0x4315x19+= _0x2895[1431]+ Math[_0x2895[488]](_0x4315x5)+ _0x2895[1409]),0< _0x4315x4&& (_0x4315x19+= _0x2895[1432]+ Math[_0x2895[488]](_0x4315x4)+ _0x2895[1409])):_0x4315x15&& (_0x4315x19+= _0x2895[1432]+ Math[_0x2895[488]](_0x4315x4)+ _0x2895[1409],0< _0x4315x5&& (_0x4315x19+= _0x2895[1431]+ Math[_0x2895[488]](_0x4315x5)+ _0x2895[1409]));_0x4315x13?(!_0x4315x16&& 0< _0x4315x4&& (_0x4315x19+= _0x2895[1432]+ Math[_0x2895[488]](_0x4315x4)+ _0x2895[1409]),_0x4315x19+= _0x2895[1433]):_0x4315x19+= _0x2895[1434];_0x4315x13= this[_0x2895[55]](_0x2895[449]);1> _0x4315x18[_0x2895[1244]]&& _0x4315x13[_0x2895[57]](_0x2895[461],_0x4315x18[_0x2895[1244]]);_0x4315x14= this[_0x2895[55]](_0x2895[1435]);_0x4315x14[_0x2895[57]](_0x2895[1377],_0x2895[1378]);_0x4315x19= this[_0x2895[1404]](_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x19,_0x4315x15);if(null!= _0x4315x19){_0x4315x13[_0x2895[62]](_0x4315x14);this[_0x2895[813]][_0x2895[62]](_0x4315x13);var _0x4315x1a=0;if(mxClient[_0x2895[80]]&& !mxClient[_0x2895[48]]){var _0x4315x1b=document[_0x2895[55]](_0x2895[485]);_0x4315x1b[_0x2895[124]][_0x2895[103]]= _0x4315x19[_0x2895[284]](_0x2895[124]);_0x4315x1b[_0x2895[124]][_0x2895[495]]= mxClient[_0x2895[496]]?_0x2895[497]:_0x2895[498];_0x4315x1b[_0x2895[124]][_0x2895[187]]= _0x2895[188];_0x4315x1b[_0x2895[339]]= mxUtils[_0x2895[1331]](_0x4315x9)?_0x4315x9[_0x2895[342]]:_0x4315x9;document[_0x2895[112]][_0x2895[62]](_0x4315x1b);_0x4315x1a= _0x4315x1b[_0x2895[359]];_0x4315x5= mxClient[_0x2895[496]]&& 0< _0x4315x5&& _0x4315x16?Math[_0x2895[243]](_0x4315x5,_0x4315x1b[_0x2895[167]]+ 2):_0x4315x1b[_0x2895[167]];_0x4315x1b[_0x2895[265]][_0x2895[266]](_0x4315x1b);_0x4315x14[_0x2895[62]](_0x4315x19)}else {this[_0x2895[813]][_0x2895[295]]!= document?(_0x4315x19[_0x2895[124]][_0x2895[187]]= _0x2895[188],document[_0x2895[112]][_0x2895[62]](_0x4315x19),_0x4315x1a= _0x4315x19[_0x2895[359]],_0x4315x5= _0x4315x19[_0x2895[167]],_0x4315x14[_0x2895[62]](_0x4315x19),_0x4315x19[_0x2895[124]][_0x2895[187]]= _0x2895[110]):(_0x4315x14[_0x2895[62]](_0x4315x19),_0x4315x1a= _0x4315x19[_0x2895[359]],_0x4315x5= _0x4315x19[_0x2895[167]])};_0x4315x4= _0x4315x15?Math[_0x2895[160]](_0x4315x4,_0x4315x1a):_0x4315x1a;1> _0x4315x18[_0x2895[1244]]&& _0x4315x13[_0x2895[57]](_0x2895[461],_0x4315x18[_0x2895[1244]]);_0x4315x15= _0x4315x9= 0;_0x4315xa== mxConstants[_0x2895[479]]?_0x4315x9-= _0x4315x4/ 2:_0x4315xa== mxConstants[_0x2895[480]]&& (_0x4315x9-= _0x4315x4);_0x4315x2+= _0x4315x9;_0x4315x12== mxConstants[_0x2895[481]]?_0x4315x15-= _0x4315x5/ 2:_0x4315x12== mxConstants[_0x2895[482]]&& (_0x4315x15-= _0x4315x5);_0x4315x3+= _0x4315x15;_0x4315xa= 1!= _0x4315x18[_0x2895[255]]?_0x2895[1402]+ _0x4315x18[_0x2895[255]]+ _0x2895[460]:_0x2895[110];0!= _0x4315x18[_0x2895[603]]&& this[_0x2895[1216]]?(_0x4315xa+= _0x2895[1394]+ _0x4315x18[_0x2895[603]]+ _0x2895[537]+ _0x4315x4/ 2+ _0x2895[537]+ _0x4315x5/ 2+ _0x2895[460],_0x4315x3= this[_0x2895[1241]]((_0x4315x2+ _0x4315x4/ 2)* _0x4315x18[_0x2895[255]],(_0x4315x3+ _0x4315x5/ 2)* _0x4315x18[_0x2895[255]],_0x4315x18[_0x2895[603]],_0x4315x18[_0x2895[1395]],_0x4315x18[_0x2895[1396]]),_0x4315x2= _0x4315x3[_0x2895[235]]- _0x4315x4* _0x4315x18[_0x2895[255]]/ 2,_0x4315x3= _0x4315x3[_0x2895[236]]- _0x4315x5* _0x4315x18[_0x2895[255]]/ 2):(_0x4315x2*= _0x4315x18[_0x2895[255]],_0x4315x3*= _0x4315x18[_0x2895[255]]);0!= _0x4315x17&& (_0x4315xa+= _0x2895[1394]+ _0x4315x17+ _0x2895[537]+ -_0x4315x9+ _0x2895[537]+ -_0x4315x15+ _0x2895[460]);_0x4315x13[_0x2895[57]](_0x2895[535],_0x2895[536]+ Math[_0x2895[488]](_0x4315x2)+ _0x2895[537]+ Math[_0x2895[488]](_0x4315x3)+ _0x2895[460]+ _0x4315xa);_0x4315x14[_0x2895[57]](_0x2895[117],Math[_0x2895[488]](Math[_0x2895[160]](1,_0x4315x4)));_0x4315x14[_0x2895[57]](_0x2895[119],Math[_0x2895[488]](Math[_0x2895[160]](1,_0x4315x5)))}}else {this[_0x2895[1436]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x15,_0x4315x16,_0x4315x17)}}};mxSvgCanvas2D[_0x2895[202]][_0x2895[1437]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x2= Math[_0x2895[488]](_0x4315x2);_0x4315x3= Math[_0x2895[488]](_0x4315x3);_0x4315x4= Math[_0x2895[488]](_0x4315x4);_0x4315x5= Math[_0x2895[488]](_0x4315x5);for(var _0x4315x9=_0x2895[1438]+ _0x4315x2+ _0x2895[213]+ _0x4315x3+ _0x2895[213]+ _0x4315x4+ _0x2895[213]+ _0x4315x5,_0x4315xa=0,_0x4315x12=_0x4315x9+ _0x2895[213]+ _0x4315xa;null!= document[_0x2895[1362]](_0x4315x12);){_0x4315x12= _0x4315x9+ _0x2895[213]+ ++_0x4315xa};clip= this[_0x2895[55]](_0x2895[1439]);clip[_0x2895[57]](_0x2895[1363],_0x4315x12);_0x4315x9= this[_0x2895[55]](_0x2895[1319]);_0x4315x9[_0x2895[57]](_0x2895[235],_0x4315x2);_0x4315x9[_0x2895[57]](_0x2895[236],_0x4315x3);_0x4315x9[_0x2895[57]](_0x2895[117],_0x4315x4);_0x4315x9[_0x2895[57]](_0x2895[119],_0x4315x5);clip[_0x2895[62]](_0x4315x9);return clip};mxSvgCanvas2D[_0x2895[202]][_0x2895[1436]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16){_0x4315x16= null!= _0x4315x16?_0x4315x16:0;_0x4315x13= this[_0x2895[724]];var _0x4315x17=Math[_0x2895[488]](_0x4315x13[_0x2895[487]]),_0x4315x18=this[_0x2895[55]](_0x2895[449]),_0x4315x19=_0x4315x13[_0x2895[535]]|| _0x2895[110];0!= _0x4315x16&& (_0x4315x19+= _0x2895[1394]+ _0x4315x16+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x2* _0x4315x13[_0x2895[255]])+ _0x2895[537]+ this[_0x2895[1239]](_0x4315x3* _0x4315x13[_0x2895[255]])+ _0x2895[460]);if(_0x4315x15&& 0< _0x4315x4&& 0< _0x4315x5){var _0x4315x1a=_0x4315x2;_0x4315x16= _0x4315x3;_0x4315xa== mxConstants[_0x2895[479]]?_0x4315x1a-= _0x4315x4/ 2:_0x4315xa== mxConstants[_0x2895[480]]&& (_0x4315x1a-= _0x4315x4);_0x4315x12== mxConstants[_0x2895[481]]?_0x4315x16-= _0x4315x5/ 2:_0x4315x12== mxConstants[_0x2895[482]]&& (_0x4315x16-= _0x4315x5);_0x4315x16= this[_0x2895[1437]](_0x4315x1a* _0x4315x13[_0x2895[255]]- 2,_0x4315x16* _0x4315x13[_0x2895[255]]- 2,_0x4315x4* _0x4315x13[_0x2895[255]]+ 4,_0x4315x5* _0x4315x13[_0x2895[255]]+ 4);null!= this[_0x2895[1340]]?this[_0x2895[1340]][_0x2895[62]](_0x4315x16):this[_0x2895[813]][_0x2895[62]](_0x4315x16);_0x4315x18[_0x2895[57]](_0x2895[1440],_0x2895[1380]+ _0x4315x16[_0x2895[284]](_0x2895[1363])+ _0x2895[460])};this[_0x2895[1441]](_0x4315x18,_0x4315xa);_0x4315x16= _0x4315xa== mxConstants[_0x2895[480]]?_0x2895[1282]:_0x4315xa== mxConstants[_0x2895[479]]?_0x2895[554]:_0x2895[861];_0x2895[861]!= _0x4315x16&& _0x4315x18[_0x2895[57]](_0x2895[1442],_0x4315x16);(!this[_0x2895[1341]]|| _0x4315x17!= mxConstants[_0x2895[483]])&& _0x4315x18[_0x2895[57]](_0x2895[1443],Math[_0x2895[488]](_0x4315x17* _0x4315x13[_0x2895[255]])+ _0x2895[168]);0< _0x4315x19[_0x2895[67]]&& _0x4315x18[_0x2895[57]](_0x2895[535],_0x4315x19);1> _0x4315x13[_0x2895[1244]]&& _0x4315x18[_0x2895[57]](_0x2895[461],_0x4315x13[_0x2895[1244]]);var _0x4315x19=_0x4315x9[_0x2895[224]](_0x2895[192]),_0x4315x1a=Math[_0x2895[488]](_0x4315x17* mxConstants[_0x2895[490]]),_0x4315x1b=_0x4315x17+ (_0x4315x19[_0x2895[67]]- 1)* _0x4315x1a;_0x4315x16= _0x4315x3+ _0x4315x17- 1;_0x4315x12== mxConstants[_0x2895[481]]?(_0x4315x5= (this[_0x2895[1343]]&& _0x4315x15&& 0< _0x4315x5?Math[_0x2895[243]](_0x4315x1b,_0x4315x5):_0x4315x1b)/ 2,_0x4315x16-= _0x4315x5+ 1):_0x4315x12== mxConstants[_0x2895[482]]&& (_0x4315x5= this[_0x2895[1343]]&& _0x4315x15&& 0< _0x4315x5?Math[_0x2895[243]](_0x4315x1b,_0x4315x5):_0x4315x1b,_0x4315x16-= _0x4315x5+ 2);for(_0x4315x5= 0;_0x4315x5< _0x4315x19[_0x2895[67]];_0x4315x5++){0< _0x4315x19[_0x4315x5][_0x2895[67]]&& 0< mxUtils[_0x2895[330]](_0x4315x19[_0x4315x5])[_0x2895[67]]&& (_0x4315x15= this[_0x2895[55]](_0x2895[963]),_0x4315x15[_0x2895[57]](_0x2895[235],this[_0x2895[1239]](_0x4315x2* _0x4315x13[_0x2895[255]])),_0x4315x15[_0x2895[57]](_0x2895[236],this[_0x2895[1239]](_0x4315x16* _0x4315x13[_0x2895[255]])),mxUtils[_0x2895[53]](_0x4315x15,_0x4315x19[_0x4315x5]),_0x4315x18[_0x2895[62]](_0x4315x15)),_0x4315x16+= _0x4315x1a};this[_0x2895[813]][_0x2895[62]](_0x4315x18);this[_0x2895[1444]](_0x4315x18,_0x4315x9,_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x1b,_0x4315xa,_0x4315x12,_0x4315x14)};mxSvgCanvas2D[_0x2895[202]][_0x2895[1441]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[724]];_0x4315x2[_0x2895[57]](_0x2895[1334],_0x4315x3[_0x2895[665]]);(!this[_0x2895[1341]]|| _0x4315x3[_0x2895[486]]!= mxConstants[_0x2895[484]])&& _0x4315x2[_0x2895[57]](_0x2895[1445],_0x4315x3[_0x2895[486]]);(_0x4315x3[_0x2895[666]]& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]]&& _0x4315x2[_0x2895[57]](_0x2895[1446],_0x2895[1447]);(_0x4315x3[_0x2895[666]]& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]]&& _0x4315x2[_0x2895[57]](_0x2895[1448],_0x2895[1449]);(_0x4315x3[_0x2895[666]]& mxConstants[_0x2895[1414]])== mxConstants[_0x2895[1414]]&& _0x4315x2[_0x2895[57]](_0x2895[1450],_0x2895[355])};mxSvgCanvas2D[_0x2895[202]][_0x2895[1444]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){var _0x4315x15=this[_0x2895[724]];if(null!= _0x4315x15[_0x2895[1261]]|| null!= _0x4315x15[_0x2895[1263]]){var _0x4315x16=null;_0x4315x14?(_0x4315x12== mxConstants[_0x2895[479]]?_0x4315x4-= _0x4315x9/ 2:_0x4315x12== mxConstants[_0x2895[480]]&& (_0x4315x4-= _0x4315x9),_0x4315x13== mxConstants[_0x2895[481]]?_0x4315x5-= _0x4315xa/ 2:_0x4315x13== mxConstants[_0x2895[482]]&& (_0x4315x5-= _0x4315xa),_0x4315x16= new mxRectangle((_0x4315x4+ 1)* _0x4315x15[_0x2895[255]],_0x4315x5* _0x4315x15[_0x2895[255]],(_0x4315x9- 2)* _0x4315x15[_0x2895[255]],(_0x4315xa+ 2)* _0x4315x15[_0x2895[255]])):null!= _0x4315x2[_0x2895[1451]]&& this[_0x2895[813]][_0x2895[295]]== document?(_0x4315x16= _0x4315x2[_0x2895[1451]](),_0x4315x3= mxClient[_0x2895[80]]&& mxClient[_0x2895[48]],_0x4315x16= new mxRectangle(_0x4315x16[_0x2895[235]],_0x4315x16[_0x2895[236]]+ (_0x4315x3?0:1),_0x4315x16[_0x2895[117]],_0x4315x16[_0x2895[119]]+ (_0x4315x3?1:0))):(_0x4315x16= document[_0x2895[55]](_0x2895[485]),_0x4315x16[_0x2895[124]][_0x2895[489]]= Math[_0x2895[488]](_0x4315x15[_0x2895[487]]* mxConstants[_0x2895[490]])+ _0x2895[168],_0x4315x16[_0x2895[124]][_0x2895[487]]= Math[_0x2895[488]](_0x4315x15[_0x2895[487]])+ _0x2895[168],_0x4315x16[_0x2895[124]][_0x2895[486]]= _0x4315x15[_0x2895[486]],_0x4315x16[_0x2895[124]][_0x2895[493]]= _0x2895[494],_0x4315x16[_0x2895[124]][_0x2895[491]]= _0x2895[492],_0x4315x16[_0x2895[124]][_0x2895[187]]= _0x2895[188],_0x4315x16[_0x2895[124]][_0x2895[495]]= mxClient[_0x2895[496]]?_0x2895[497]:_0x2895[498],_0x4315x16[_0x2895[124]][_0x2895[499]]= _0x2895[500],(_0x4315x15[_0x2895[666]]& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]]&& (_0x4315x16[_0x2895[124]][_0x2895[1452]]= _0x2895[1447]),(_0x4315x15[_0x2895[666]]& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]]&& (_0x4315x16[_0x2895[124]][_0x2895[666]]= _0x2895[1449]),_0x4315x3= mxUtils[_0x2895[321]](_0x4315x3,!1),_0x4315x16[_0x2895[339]]= _0x4315x3[_0x2895[230]](/\n/g,_0x2895[1453]),document[_0x2895[112]][_0x2895[62]](_0x4315x16),_0x4315x9= _0x4315x16[_0x2895[359]],_0x4315xa= _0x4315x16[_0x2895[167]],_0x4315x16[_0x2895[265]][_0x2895[266]](_0x4315x16),_0x4315x12== mxConstants[_0x2895[479]]?_0x4315x4-= _0x4315x9/ 2:_0x4315x12== mxConstants[_0x2895[480]]&& (_0x4315x4-= _0x4315x9),_0x4315x13== mxConstants[_0x2895[481]]?_0x4315x5-= _0x4315xa/ 2:_0x4315x13== mxConstants[_0x2895[482]]&& (_0x4315x5-= _0x4315xa),_0x4315x16= new mxRectangle((_0x4315x4+ 1)* _0x4315x15[_0x2895[255]],(_0x4315x5+ 2)* _0x4315x15[_0x2895[255]],_0x4315x9* _0x4315x15[_0x2895[255]],(_0x4315xa+ 1)* _0x4315x15[_0x2895[255]]));null!= _0x4315x16&& (_0x4315x3= this[_0x2895[55]](_0x2895[1319]),_0x4315x3[_0x2895[57]](_0x2895[1334],_0x4315x15[_0x2895[1261]]|| _0x2895[130]),_0x4315x3[_0x2895[57]](_0x2895[1336],_0x4315x15[_0x2895[1263]]|| _0x2895[130]),_0x4315x3[_0x2895[57]](_0x2895[235],Math[_0x2895[519]](_0x4315x16[_0x2895[235]]- 1)),_0x4315x3[_0x2895[57]](_0x2895[236],Math[_0x2895[519]](_0x4315x16[_0x2895[236]]- 1)),_0x4315x3[_0x2895[57]](_0x2895[117],Math[_0x2895[430]](_0x4315x16[_0x2895[117]]+ 2)),_0x4315x3[_0x2895[57]](_0x2895[119],Math[_0x2895[430]](_0x4315x16[_0x2895[119]])),_0x4315x15= null!= _0x4315x15[_0x2895[1263]]?Math[_0x2895[160]](1,this[_0x2895[1239]](_0x4315x15[_0x2895[255]])):0,_0x4315x3[_0x2895[57]](_0x2895[1382],_0x4315x15),this[_0x2895[813]][_0x2895[295]]== document&& 1== mxUtils[_0x2895[1454]](_0x4315x15,2)&& _0x4315x3[_0x2895[57]](_0x2895[535],_0x2895[1455]),_0x4315x2[_0x2895[950]](_0x4315x3,_0x4315x2[_0x2895[285]]))}};mxSvgCanvas2D[_0x2895[202]][_0x2895[1336]]= function(){this[_0x2895[1370]](!1,!0)};mxSvgCanvas2D[_0x2895[202]][_0x2895[1334]]= function(){this[_0x2895[1370]](!0,!1)};mxSvgCanvas2D[_0x2895[202]][_0x2895[1337]]= function(){this[_0x2895[1370]](!0,!0)};var mxVmlCanvas2D=function(_0x4315x2){mxAbstractCanvas2D[_0x2895[239]](this);this[_0x2895[813]]= _0x4315x2};mxUtils[_0x2895[1284]](mxVmlCanvas2D,mxAbstractCanvas2D);mxVmlCanvas2D[_0x2895[202]][_0x2895[252]]= null;mxVmlCanvas2D[_0x2895[202]][_0x2895[1285]]= !0;mxVmlCanvas2D[_0x2895[202]][_0x2895[1219]]= _0x2895[1456];mxVmlCanvas2D[_0x2895[202]][_0x2895[1221]]= _0x2895[1457];mxVmlCanvas2D[_0x2895[202]][_0x2895[1225]]= _0x2895[1458];mxVmlCanvas2D[_0x2895[202]][_0x2895[1227]]= _0x2895[235];mxVmlCanvas2D[_0x2895[202]][_0x2895[1459]]= _0x2895[110];mxVmlCanvas2D[_0x2895[202]][_0x2895[1460]]= 1;mxVmlCanvas2D[_0x2895[202]][_0x2895[1370]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[252]],_0x4315x5=this[_0x2895[724]];if(null!= _0x4315x4){if(_0x2895[253]== _0x4315x4[_0x2895[301]]){if(null!= this[_0x2895[1215]]&& 0< this[_0x2895[1215]][_0x2895[67]]){_0x4315x4[_0x2895[1215]]= this[_0x2895[1215]][_0x2895[234]](_0x2895[185])+ _0x2895[1461],_0x4315x4[_0x2895[124]][_0x2895[117]]= this[_0x2895[813]][_0x2895[124]][_0x2895[117]],_0x4315x4[_0x2895[124]][_0x2895[119]]= this[_0x2895[813]][_0x2895[124]][_0x2895[119]],_0x4315x4[_0x2895[1462]]= parseInt(_0x4315x4[_0x2895[124]][_0x2895[117]])+ _0x2895[185]+ parseInt(_0x4315x4[_0x2895[124]][_0x2895[119]])}else {return}};_0x4315x4[_0x2895[1463]]= this[_0x2895[1239]](Math[_0x2895[160]](1,_0x4315x5[_0x2895[610]]* _0x4315x5[_0x2895[255]]/ this[_0x2895[1460]]))+ _0x2895[168];_0x4315x5[_0x2895[639]]&& this[_0x2895[813]][_0x2895[62]](this[_0x2895[1375]](_0x4315x4,_0x4315x2&& null!= _0x4315x5[_0x2895[604]],_0x4315x3&& null!= _0x4315x5[_0x2895[608]]));_0x4315x3&& null!= _0x4315x5[_0x2895[608]]?(_0x4315x4[_0x2895[1464]]= _0x2895[128],_0x4315x4[_0x2895[1306]]= _0x4315x5[_0x2895[608]]):_0x4315x4[_0x2895[1464]]= _0x2895[308];_0x4315x4[_0x2895[62]](this[_0x2895[1465]]());_0x4315x2&& null!= _0x4315x5[_0x2895[604]]?_0x4315x4[_0x2895[62]](this[_0x2895[1466]]()):this[_0x2895[1229]]&& (_0x2895[253]!= _0x4315x4[_0x2895[301]]|| this[_0x2895[1215]][this[_0x2895[1215]][_0x2895[67]]- 1]== this[_0x2895[1227]])?_0x4315x4[_0x2895[62]](this[_0x2895[1467]]()):_0x4315x4[_0x2895[1468]]= _0x2895[308];this[_0x2895[813]][_0x2895[62]](_0x4315x4)}};mxVmlCanvas2D[_0x2895[202]][_0x2895[1467]]= function(){var _0x4315x2=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1469]);_0x4315x2[_0x2895[390]]= mxClient[_0x2895[88]]+ _0x2895[1470];_0x4315x2[_0x2895[60]]= _0x2895[1471];return _0x4315x2};mxVmlCanvas2D[_0x2895[202]][_0x2895[1466]]= function(){var _0x4315x2=this[_0x2895[724]],_0x4315x3=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1469]);_0x4315x3[_0x2895[352]]= _0x4315x2[_0x2895[604]];if(null!= _0x4315x2[_0x2895[606]]){_0x4315x3[_0x2895[60]]= _0x2895[1299];_0x4315x3[_0x2895[865]]= _0x2895[130];_0x4315x3[_0x2895[1472]]= _0x4315x2[_0x2895[606]];var _0x4315x4=180- _0x4315x2[_0x2895[603]],_0x4315x4=_0x4315x2[_0x2895[607]]== mxConstants[_0x2895[1359]]?_0x4315x4- (90+ (_0x2895[235]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]?180:0)):_0x4315x2[_0x2895[607]]== mxConstants[_0x2895[1356]]?_0x4315x4+ (90+ (_0x2895[235]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]?180:0)):_0x4315x2[_0x2895[607]]== mxConstants[_0x2895[1358]]?_0x4315x4- (180+ (_0x2895[236]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]?-180:0)):_0x4315x4+ (_0x2895[236]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]?-180:0);if(_0x2895[235]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]|| _0x2895[236]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]){_0x4315x4*= -1};_0x4315x3[_0x2895[1474]]= mxUtils[_0x2895[1454]](_0x4315x4,360);_0x4315x3[_0x2895[461]]= 100* _0x4315x2[_0x2895[1244]]* _0x4315x2[_0x2895[1247]]+ _0x2895[229];_0x4315x3[_0x2895[57]](mxClient[_0x2895[1475]]+ _0x2895[1476],100* _0x4315x2[_0x2895[1244]]* _0x4315x2[_0x2895[1248]]+ _0x2895[229])}else {1> _0x4315x2[_0x2895[1244]]&& (_0x4315x3[_0x2895[461]]= 100* _0x4315x2[_0x2895[1244]]+ _0x2895[229])};return _0x4315x3};mxVmlCanvas2D[_0x2895[202]][_0x2895[1465]]= function(){var _0x4315x2=this[_0x2895[724]],_0x4315x3=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1477]);_0x4315x3[_0x2895[1478]]= _0x4315x2[_0x2895[1254]]|| _0x2895[1232];_0x4315x3[_0x2895[1479]]= _0x4315x2[_0x2895[1256]]|| _0x2895[1233];_0x4315x3[_0x2895[1313]]= _0x4315x2[_0x2895[1258]]|| _0x2895[1480];1> _0x4315x2[_0x2895[1244]]&& (_0x4315x3[_0x2895[461]]= 100* _0x4315x2[_0x2895[1244]]+ _0x2895[229]);_0x4315x2[_0x2895[648]]&& (_0x4315x3[_0x2895[1481]]= this[_0x2895[1482]]());return _0x4315x3};mxVmlCanvas2D[_0x2895[202]][_0x2895[1482]]= function(){var _0x4315x2=_0x2895[1483];if(null!= this[_0x2895[724]][_0x2895[649]]){var _0x4315x3=this[_0x2895[724]][_0x2895[649]][_0x2895[224]](_0x2895[185]);0< _0x4315x3[_0x2895[67]]&& 1== _0x4315x3[0]&& (_0x4315x2= _0x2895[1484])};return _0x4315x2};mxVmlCanvas2D[_0x2895[202]][_0x2895[1375]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[724]],_0x4315x9=-_0x4315x5[_0x2895[603]]* (Math[_0x2895[424]]/ 180),_0x4315xa=Math[_0x2895[426]](_0x4315x9),_0x4315x9=Math[_0x2895[427]](_0x4315x9),_0x4315x12=_0x4315x5[_0x2895[1273]]* _0x4315x5[_0x2895[255]],_0x4315x13=_0x4315x5[_0x2895[1274]]* _0x4315x5[_0x2895[255]];_0x2895[235]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]?_0x4315x12*= -1:_0x2895[236]== this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]&& (_0x4315x13*= -1);var _0x4315x14=_0x4315x2[_0x2895[511]](!0);_0x4315x14[_0x2895[124]][_0x2895[945]]= Math[_0x2895[488]](_0x4315x12* _0x4315xa- _0x4315x13* _0x4315x9)+ _0x2895[168];_0x4315x14[_0x2895[124]][_0x2895[953]]= Math[_0x2895[488]](_0x4315x12* _0x4315x9+ _0x4315x13* _0x4315xa)+ _0x2895[168];8== document[_0x2895[5]]&& (_0x4315x14[_0x2895[1463]]= _0x4315x2[_0x2895[1463]],_0x2895[253]== _0x4315x2[_0x2895[301]]&& (_0x4315x14[_0x2895[1215]]= this[_0x2895[1215]][_0x2895[234]](_0x2895[185])+ _0x2895[1461],_0x4315x14[_0x2895[124]][_0x2895[117]]= this[_0x2895[813]][_0x2895[124]][_0x2895[117]],_0x4315x14[_0x2895[124]][_0x2895[119]]= this[_0x2895[813]][_0x2895[124]][_0x2895[119]],_0x4315x14[_0x2895[1462]]= parseInt(_0x4315x2[_0x2895[124]][_0x2895[117]])+ _0x2895[185]+ parseInt(_0x4315x2[_0x2895[124]][_0x2895[119]])));_0x4315x4?(_0x4315x14[_0x2895[1306]]= _0x4315x5[_0x2895[1269]],_0x4315x14[_0x2895[62]](this[_0x2895[1485]]())):_0x4315x14[_0x2895[1464]]= _0x2895[308];_0x4315x3?_0x4315x14[_0x2895[62]](this[_0x2895[1486]]()):_0x4315x14[_0x2895[1468]]= _0x2895[308];return _0x4315x14};mxVmlCanvas2D[_0x2895[202]][_0x2895[1486]]= function(){var _0x4315x2=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1469]);_0x4315x2[_0x2895[352]]= this[_0x2895[724]][_0x2895[1269]];_0x4315x2[_0x2895[461]]= 100* this[_0x2895[724]][_0x2895[1244]]* this[_0x2895[724]][_0x2895[1271]]+ _0x2895[229];return _0x4315x2};mxVmlCanvas2D[_0x2895[202]][_0x2895[1485]]= function(){var _0x4315x2=this[_0x2895[1465]]();_0x4315x2[_0x2895[461]]= 100* this[_0x2895[724]][_0x2895[1244]]* this[_0x2895[724]][_0x2895[1271]]+ _0x2895[229];return _0x4315x2};mxVmlCanvas2D[_0x2895[202]][_0x2895[1294]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x3&& _0x4315x4?_0x4315x2+= 180:_0x4315x3?this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]= _0x2895[235]:_0x4315x4&& (this[_0x2895[813]][_0x2895[124]][_0x2895[1473]]= _0x2895[236]);if(_0x4315x3?!_0x4315x4:_0x4315x4){_0x4315x2*= -1};this[_0x2895[813]][_0x2895[124]][_0x2895[603]]= _0x4315x2;this[_0x2895[724]][_0x2895[603]]+= _0x4315x2;this[_0x2895[724]][_0x2895[1395]]= _0x4315x5;this[_0x2895[724]][_0x2895[1396]]= _0x4315x9};mxVmlCanvas2D[_0x2895[202]][_0x2895[1275]]= function(){mxAbstractCanvas2D[_0x2895[202]][_0x2895[1275]][_0x2895[183]](this,arguments);this[_0x2895[252]]= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1487]);this[_0x2895[252]][_0x2895[124]][_0x2895[491]]= _0x2895[492]};mxVmlCanvas2D[_0x2895[202]][_0x2895[1278]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[724]],_0x4315xa=(this[_0x2895[1217]]+ _0x4315x9[_0x2895[1126]])* _0x4315x9[_0x2895[255]],_0x4315x12=(this[_0x2895[1218]]+ _0x4315x9[_0x2895[1125]])* _0x4315x9[_0x2895[255]];_0x4315x2= (_0x4315x2+ _0x4315x9[_0x2895[1126]])* _0x4315x9[_0x2895[255]];_0x4315x3= (_0x4315x3+ _0x4315x9[_0x2895[1125]])* _0x4315x9[_0x2895[255]];_0x4315x4= (_0x4315x4+ _0x4315x9[_0x2895[1126]])* _0x4315x9[_0x2895[255]];_0x4315x5= (_0x4315x5+ _0x4315x9[_0x2895[1125]])* _0x4315x9[_0x2895[255]];var _0x4315x12=_0x4315x12+ 2/ 3* (_0x4315x3- _0x4315x12),_0x4315x13=_0x4315x4+ 2/ 3* (_0x4315x2- _0x4315x4);_0x4315x3= _0x4315x5+ 2/ 3* (_0x4315x3- _0x4315x5);this[_0x2895[1215]][_0x2895[207]](_0x2895[1488]+ this[_0x2895[1239]](_0x4315xa+ 2/ 3* (_0x4315x2- _0x4315xa))+ _0x2895[185]+ this[_0x2895[1239]](_0x4315x12)+ _0x2895[185]+ this[_0x2895[1239]](_0x4315x13)+ _0x2895[185]+ this[_0x2895[1239]](_0x4315x3)+ _0x2895[185]+ this[_0x2895[1239]](_0x4315x4)+ _0x2895[185]+ this[_0x2895[1239]](_0x4315x5));this[_0x2895[1217]]= _0x4315x4/ _0x4315x9[_0x2895[255]]- _0x4315x9[_0x2895[1126]];this[_0x2895[1218]]= _0x4315x5/ _0x4315x9[_0x2895[255]]- _0x4315x9[_0x2895[1125]]};mxVmlCanvas2D[_0x2895[202]][_0x2895[1489]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=this[_0x2895[724]];_0x4315x2= document[_0x2895[55]](_0x4315x2);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x2[_0x2895[124]][_0x2895[361]]= this[_0x2895[1239]]((_0x4315x3+ _0x4315xa[_0x2895[1126]])* _0x4315xa[_0x2895[255]])+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[125]]= this[_0x2895[1239]]((_0x4315x4+ _0x4315xa[_0x2895[1125]])* _0x4315xa[_0x2895[255]])+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[117]]= this[_0x2895[1239]](_0x4315x5* _0x4315xa[_0x2895[255]])+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[119]]= this[_0x2895[1239]](_0x4315x9* _0x4315xa[_0x2895[255]])+ _0x2895[168];return _0x4315x2};mxVmlCanvas2D[_0x2895[202]][_0x2895[1319]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[252]]= this[_0x2895[1489]](mxClient[_0x2895[463]]+ _0x2895[1490],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5)};mxVmlCanvas2D[_0x2895[202]][_0x2895[1320]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[252]]= this[_0x2895[1489]](mxClient[_0x2895[463]]+ _0x2895[1491],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5);this[_0x2895[252]][_0x2895[57]](_0x2895[1492],Math[_0x2895[160]](100* _0x4315x9/ _0x4315x4,100* _0x4315xa/ _0x4315x5)+ _0x2895[229])};mxVmlCanvas2D[_0x2895[202]][_0x2895[680]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[252]]= this[_0x2895[1489]](mxClient[_0x2895[463]]+ _0x2895[1493],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5)};mxVmlCanvas2D[_0x2895[202]][_0x2895[618]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){var _0x4315x14=null;_0x4315xa?(_0x4315x14= this[_0x2895[1489]](mxClient[_0x2895[463]]+ _0x2895[1490],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5),_0x4315x14[_0x2895[1464]]= _0x2895[308],_0x4315x2= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1469]),_0x4315x2[_0x2895[1322]]= _0x4315xa?_0x2895[1494]:_0x2895[1495],_0x4315x2[_0x2895[1294]]= _0x2895[128],_0x4315x2[_0x2895[60]]= _0x2895[1496],_0x4315x2[_0x2895[390]]= _0x4315x9,_0x4315x14[_0x2895[62]](_0x4315x2)):(_0x4315x14= this[_0x2895[1489]](mxClient[_0x2895[463]]+ _0x2895[464],_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5),_0x4315x14[_0x2895[390]]= _0x4315x9);_0x4315x12&& _0x4315x13?_0x4315x14[_0x2895[124]][_0x2895[603]]= _0x2895[1497]:_0x4315x12?_0x4315x14[_0x2895[124]][_0x2895[1473]]= _0x2895[235]:_0x4315x13&& (_0x4315x14[_0x2895[124]][_0x2895[1473]]= _0x2895[236]);1> this[_0x2895[724]][_0x2895[1244]]&& (_0x4315x14[_0x2895[124]][_0x2895[347]]+= _0x2895[459]+ 100* this[_0x2895[724]][_0x2895[1244]]+ _0x2895[460]);this[_0x2895[813]][_0x2895[62]](_0x4315x14)};mxVmlCanvas2D[_0x2895[202]][_0x2895[1404]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x4= document[_0x2895[55]](_0x2895[485]);var _0x4315x9=this[_0x2895[724]],_0x4315xa=_0x2895[110];null!= _0x4315x9[_0x2895[1261]]&& (_0x4315xa+= _0x2895[1418]+ _0x4315x9[_0x2895[1261]]+ _0x2895[471]);null!= _0x4315x9[_0x2895[1263]]&& (_0x4315xa+= _0x2895[1419]+ _0x4315x9[_0x2895[1263]]+ _0x2895[471]);mxUtils[_0x2895[1331]](_0x4315x2)?_0x4315x4[_0x2895[62]](_0x4315x2):0< _0x4315xa[_0x2895[67]]&& !_0x4315x5?(_0x4315x5= document[_0x2895[55]](_0x2895[485]),_0x4315x5[_0x2895[124]][_0x2895[103]]= _0x4315xa,_0x4315x5[_0x2895[124]][_0x2895[495]]= mxClient[_0x2895[496]]?_0x2895[497]:_0x2895[498],_0x4315x5[_0x2895[124]][_0x2895[499]]= _0x2895[500],_0x4315x5[_0x2895[339]]= _0x4315x2,_0x4315x4[_0x2895[62]](_0x4315x5)):(_0x4315x4[_0x2895[124]][_0x2895[103]]= _0x4315xa,_0x4315x4[_0x2895[339]]= _0x4315x2);_0x4315x2= _0x4315x4[_0x2895[124]];_0x4315x2[_0x2895[487]]= Math[_0x2895[488]](_0x4315x9[_0x2895[487]]/ this[_0x2895[1460]])+ _0x2895[168];_0x4315x2[_0x2895[486]]= _0x4315x9[_0x2895[486]];_0x4315x2[_0x2895[352]]= _0x4315x9[_0x2895[665]];_0x4315x2[_0x2895[123]]= _0x2895[125];_0x4315x2[_0x2895[1165]]= _0x4315x3|| _0x2895[361];_0x4315x2[_0x2895[489]]= Math[_0x2895[488]](_0x4315x9[_0x2895[487]]* mxConstants[_0x2895[490]]/ this[_0x2895[1460]])+ _0x2895[168];(_0x4315x9[_0x2895[666]]& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]]&& (_0x4315x2[_0x2895[1452]]= _0x2895[1447]);(_0x4315x9[_0x2895[666]]& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]]&& (_0x4315x2[_0x2895[666]]= _0x2895[1449]);(_0x4315x9[_0x2895[666]]& mxConstants[_0x2895[1414]])== mxConstants[_0x2895[1414]]&& (_0x4315x2[_0x2895[1498]]= _0x2895[355]);return _0x4315x4};mxVmlCanvas2D[_0x2895[202]][_0x2895[963]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){if(this[_0x2895[1285]]&& null!= _0x4315x9){var _0x4315x18=this[_0x2895[724]];if(_0x2895[1428]== _0x4315x14){null!= _0x4315x18[_0x2895[603]]&& (_0x4315x3= this[_0x2895[1241]](_0x4315x2,_0x4315x3,_0x4315x18[_0x2895[603]],_0x4315x18[_0x2895[1395]],_0x4315x18[_0x2895[1396]]),_0x4315x2= _0x4315x3[_0x2895[235]],_0x4315x3= _0x4315x3[_0x2895[236]]);8== document[_0x2895[5]]?(_0x4315x2+= _0x4315x18[_0x2895[1126]],_0x4315x3+= _0x4315x18[_0x2895[1125]]):(_0x4315x2*= _0x4315x18[_0x2895[255]],_0x4315x3*= _0x4315x18[_0x2895[255]]);_0x4315x14= 8== document[_0x2895[5]]?document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1499]):document[_0x2895[55]](_0x2895[485]);_0x4315x14[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x14[_0x2895[124]][_0x2895[495]]= _0x2895[497];_0x4315x14[_0x2895[124]][_0x2895[361]]= this[_0x2895[1239]](_0x4315x2)+ _0x2895[168];_0x4315x14[_0x2895[124]][_0x2895[125]]= this[_0x2895[1239]](_0x4315x3)+ _0x2895[168];_0x4315x14[_0x2895[124]][_0x2895[499]]= _0x4315x18[_0x2895[255]];var _0x4315x19=document[_0x2895[55]](_0x2895[485]);_0x4315x19[_0x2895[124]][_0x2895[491]]= _0x2895[1500];_0x4315x19[_0x2895[124]][_0x2895[495]]= _0x2895[497];var _0x4315x1a=mxUtils[_0x2895[1501]](_0x4315xa,_0x4315x12),_0x4315x1b=_0x4315x1a[_0x2895[235]],_0x4315x1a=_0x4315x1a[_0x2895[236]];_0x4315x9= this[_0x2895[1404]](_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x15);_0x4315xa= document[_0x2895[55]](_0x2895[485]);_0x4315x13?(!_0x4315x16&& 0< _0x4315x4&& (_0x4315x9[_0x2895[124]][_0x2895[117]]= Math[_0x2895[488]](_0x4315x4)+ _0x2895[168]),_0x4315x9[_0x2895[124]][_0x2895[493]]= _0x2895[1502]):_0x4315x9[_0x2895[124]][_0x2895[493]]= _0x2895[494];_0x4315x13= _0x4315x18[_0x2895[603]]+ (_0x4315x17|| 0);this[_0x2895[1216]]&& 0!= _0x4315x13?(_0x4315xa[_0x2895[124]][_0x2895[495]]= _0x2895[497],_0x4315xa[_0x2895[124]][_0x2895[499]]= _0x2895[500],_0x4315xa[_0x2895[62]](_0x4315x9),8== document[_0x2895[5]]&& _0x2895[529]!= this[_0x2895[813]][_0x2895[301]]?(_0x4315x19[_0x2895[62]](_0x4315xa),_0x4315x14[_0x2895[62]](_0x4315x19)):_0x4315x14[_0x2895[62]](_0x4315xa)):8== document[_0x2895[5]]?(_0x4315x19[_0x2895[62]](_0x4315x9),_0x4315x14[_0x2895[62]](_0x4315x19)):(_0x4315x9[_0x2895[124]][_0x2895[495]]= _0x2895[497],_0x4315x14[_0x2895[62]](_0x4315x9));_0x2895[529]!= this[_0x2895[813]][_0x2895[301]]?(_0x4315x17= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1490]),_0x4315x17[_0x2895[1464]]= _0x2895[308],_0x4315x17[_0x2895[1468]]= _0x2895[308],_0x4315x17[_0x2895[62]](_0x4315x14),this[_0x2895[813]][_0x2895[62]](_0x4315x17)):this[_0x2895[813]][_0x2895[62]](_0x4315x14);_0x4315x16?(_0x4315x9[_0x2895[124]][_0x2895[277]]= _0x2895[188],0< _0x4315x4&& (_0x4315x9[_0x2895[124]][_0x2895[117]]= Math[_0x2895[488]](_0x4315x4)+ _0x2895[168]),0< _0x4315x5&& 8== document[_0x2895[5]]&& (_0x4315x9[_0x2895[124]][_0x2895[1503]]= Math[_0x2895[488]](_0x4315x5)+ _0x2895[168])):_0x4315x15&& (_0x4315x9[_0x2895[124]][_0x2895[117]]= _0x4315x4+ _0x2895[168],0< _0x4315x5&& (_0x4315x9[_0x2895[124]][_0x2895[1503]]= Math[_0x2895[488]](_0x4315x5)+ _0x2895[168]));if(this[_0x2895[1216]]&& 0!= _0x4315x13){_0x4315x4= _0x4315x13* (Math[_0x2895[424]]/ 180);_0x4315x13= parseFloat(parseFloat(Math[_0x2895[426]](_0x4315x4))[_0x2895[1293]](8));_0x4315x17= parseFloat(parseFloat(Math[_0x2895[427]](-_0x4315x4))[_0x2895[1293]](8));_0x4315x4%= 2* Math[_0x2895[424]];0> _0x4315x4&& (_0x4315x4+= 2* Math[_0x2895[424]]);_0x4315x4%= Math[_0x2895[424]];_0x4315x4> Math[_0x2895[424]]/ 2&& (_0x4315x4= Math[_0x2895[424]]- _0x4315x4);_0x4315x12= Math[_0x2895[426]](_0x4315x4);var _0x4315x1c=Math[_0x2895[427]](_0x4315x4);8== document[_0x2895[5]]&& (_0x4315x9[_0x2895[124]][_0x2895[495]]= _0x2895[498],_0x4315xa[_0x2895[124]][_0x2895[495]]= _0x2895[498],_0x4315x19[_0x2895[124]][_0x2895[495]]= _0x2895[498]);_0x4315x9[_0x2895[124]][_0x2895[187]]= _0x2895[188];document[_0x2895[112]][_0x2895[62]](_0x4315x9);_0x4315x4= _0x4315x9[_0x2895[359]];_0x4315x19= _0x4315x9[_0x2895[167]];if(mxClient[_0x2895[496]]&& (_0x4315x16|| _0x4315x15)&& _0x4315x19> _0x4315x5){_0x4315x19= _0x4315x5,_0x4315x9[_0x2895[124]][_0x2895[119]]= _0x4315x19+ _0x2895[168]};_0x4315x5= _0x4315x19;_0x4315x16= (_0x4315x5- _0x4315x5* _0x4315x12+ _0x4315x4* -_0x4315x1c)/ 2- _0x4315x17* _0x4315x4* (_0x4315x1b+ 0.5)+ _0x4315x13* _0x4315x5* (_0x4315x1a+ 0.5);_0x4315x15= (_0x4315x4- _0x4315x4* _0x4315x12+ _0x4315x5* -_0x4315x1c)/ 2+ _0x4315x13* _0x4315x4* (_0x4315x1b+ 0.5)+ _0x4315x17* _0x4315x5* (_0x4315x1a+ 0.5);_0x2895[1504]== _0x4315x14[_0x2895[301]]&& _0x2895[529]== this[_0x2895[813]][_0x2895[301]]?(_0x4315x1b= document[_0x2895[55]](_0x2895[485]),_0x4315x1b[_0x2895[124]][_0x2895[495]]= _0x2895[498],_0x4315x1b[_0x2895[124]][_0x2895[491]]= _0x2895[492],_0x4315x1b[_0x2895[124]][_0x2895[361]]= this[_0x2895[1239]](_0x4315x2+ (_0x4315x15- _0x4315x4/ 2)* _0x4315x18[_0x2895[255]])+ _0x2895[168],_0x4315x1b[_0x2895[124]][_0x2895[125]]= this[_0x2895[1239]](_0x4315x3+ (_0x4315x16- _0x4315x5/ 2)* _0x4315x18[_0x2895[255]])+ _0x2895[168],_0x4315x14[_0x2895[265]][_0x2895[62]](_0x4315x1b),_0x4315x1b[_0x2895[62]](_0x4315x14)):(_0x4315x18= 8== document[_0x2895[5]]?1:_0x4315x18[_0x2895[255]],_0x4315x14[_0x2895[124]][_0x2895[361]]= this[_0x2895[1239]](_0x4315x2+ (_0x4315x15- _0x4315x4/ 2)* _0x4315x18)+ _0x2895[168],_0x4315x14[_0x2895[124]][_0x2895[125]]= this[_0x2895[1239]](_0x4315x3+ (_0x4315x16- _0x4315x5/ 2)* _0x4315x18)+ _0x2895[168]);_0x4315xa[_0x2895[124]][_0x2895[347]]= _0x2895[1505]+ _0x4315x13+ _0x2895[1506]+ _0x4315x17+ _0x2895[1507]+ -_0x4315x17+ _0x2895[1508]+ _0x4315x13+ _0x2895[1509];_0x4315xa[_0x2895[124]][_0x2895[1028]]= this[_0x2895[1459]];1> this[_0x2895[724]][_0x2895[1244]]&& (_0x4315xa[_0x2895[124]][_0x2895[347]]+= _0x2895[459]+ 100* this[_0x2895[724]][_0x2895[1244]]+ _0x2895[460]);_0x4315x9[_0x2895[124]][_0x2895[187]]= _0x2895[110];_0x4315xa[_0x2895[62]](_0x4315x9)}else {8!= document[_0x2895[5]]?(_0x4315x9[_0x2895[124]][_0x2895[123]]= _0x2895[125],1> this[_0x2895[724]][_0x2895[1244]]&& (_0x4315x14[_0x2895[124]][_0x2895[347]]= _0x2895[459]+ 100* this[_0x2895[724]][_0x2895[1244]]+ _0x2895[460]),_0x4315x18= _0x4315x9[_0x2895[265]],_0x4315x9[_0x2895[124]][_0x2895[187]]= _0x2895[188],document[_0x2895[112]][_0x2895[62]](_0x4315x9),_0x4315x4= _0x4315x9[_0x2895[359]],_0x4315x19= _0x4315x9[_0x2895[167]],mxClient[_0x2895[496]]&& (_0x4315x16&& _0x4315x19> _0x4315x5)&& (_0x4315x19= _0x4315x5,_0x4315x9[_0x2895[124]][_0x2895[119]]= _0x4315x19+ _0x2895[168]),_0x4315x5= _0x4315x19,_0x4315x9[_0x2895[124]][_0x2895[187]]= _0x2895[110],_0x4315x18[_0x2895[62]](_0x4315x9),_0x4315x14[_0x2895[124]][_0x2895[361]]= this[_0x2895[1239]](_0x4315x2+ _0x4315x4* _0x4315x1b* this[_0x2895[724]][_0x2895[255]])+ _0x2895[168],_0x4315x14[_0x2895[124]][_0x2895[125]]= this[_0x2895[1239]](_0x4315x3+ _0x4315x5* _0x4315x1a* this[_0x2895[724]][_0x2895[255]])+ _0x2895[168]):(1> this[_0x2895[724]][_0x2895[1244]]&& (_0x4315x9[_0x2895[124]][_0x2895[347]]= _0x2895[459]+ 100* this[_0x2895[724]][_0x2895[1244]]+ _0x2895[460]),_0x4315x19[_0x2895[124]][_0x2895[361]]= 100* _0x4315x1b+ _0x2895[229],_0x4315x19[_0x2895[124]][_0x2895[125]]= 100* _0x4315x1a+ _0x2895[229])}}else {this[_0x2895[1436]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,mxUtils[_0x2895[321]](_0x4315x9,!1),_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17)}}};mxVmlCanvas2D[_0x2895[202]][_0x2895[1436]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){_0x4315x5= this[_0x2895[724]];_0x4315x2= (_0x4315x2+ _0x4315x5[_0x2895[1126]])* _0x4315x5[_0x2895[255]];_0x4315x3= (_0x4315x3+ _0x4315x5[_0x2895[1125]])* _0x4315x5[_0x2895[255]];_0x4315x4= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1487]);_0x4315x4[_0x2895[124]][_0x2895[117]]= _0x2895[942];_0x4315x4[_0x2895[124]][_0x2895[119]]= _0x2895[942];_0x4315x4[_0x2895[1464]]= _0x2895[308];_0x4315x15= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1469]);_0x4315x15[_0x2895[352]]= _0x4315x5[_0x2895[665]];_0x4315x15[_0x2895[461]]= 100* _0x4315x5[_0x2895[1244]]+ _0x2895[229];_0x4315x4[_0x2895[62]](_0x4315x15);_0x4315x15= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1510]);_0x4315x15[_0x2895[1511]]= _0x2895[128];_0x4315x15[_0x2895[6]]= _0x2895[1512]+ this[_0x2895[1239]](0)+ _0x2895[185]+ this[_0x2895[1239]](0)+ _0x2895[1513]+ this[_0x2895[1239]](1)+ _0x2895[185]+ this[_0x2895[1239]](0);_0x4315x4[_0x2895[62]](_0x4315x15);_0x4315x15= document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1514]);_0x4315x15[_0x2895[124]][_0x2895[103]]= _0x2895[1515]+ _0x4315xa;_0x4315x15[_0x2895[124]][_0x2895[611]]= _0x4315xa;_0x4315x15[_0x2895[124]][_0x2895[486]]= _0x4315x5[_0x2895[486]];_0x4315x15[_0x2895[1516]]= _0x4315x9;_0x4315x15[_0x2895[747]]= _0x2895[128];_0x4315xa= Math[_0x2895[488]](_0x4315x5[_0x2895[487]]* _0x4315x5[_0x2895[255]]/ this[_0x2895[1460]]);_0x4315x15[_0x2895[124]][_0x2895[487]]= _0x4315xa+ _0x2895[168];(_0x4315x5[_0x2895[666]]& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]]&& (_0x4315x15[_0x2895[124]][_0x2895[1452]]= _0x2895[1447]);(_0x4315x5[_0x2895[666]]& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]]&& (_0x4315x15[_0x2895[124]][_0x2895[666]]= _0x2895[1449]);(_0x4315x5[_0x2895[666]]& mxConstants[_0x2895[1414]])== mxConstants[_0x2895[1414]]&& (_0x4315x15[_0x2895[124]][_0x2895[354]]= _0x2895[355]);_0x4315x9= _0x4315x9[_0x2895[224]](_0x2895[192]);_0x4315x5= _0x4315xa+ (_0x4315x9[_0x2895[67]]- 1)* _0x4315xa* mxConstants[_0x2895[490]];_0x4315xa= _0x4315x9= 0;_0x4315x12== mxConstants[_0x2895[482]]?_0x4315xa= -_0x4315x5/ 2:_0x4315x12!= mxConstants[_0x2895[481]]&& (_0x4315xa= _0x4315x5/ 2);null!= _0x4315x17&& (_0x4315x4[_0x2895[124]][_0x2895[603]]= _0x4315x17,_0x4315x12= _0x4315x17* (Math[_0x2895[424]]/ 180),_0x4315x9= Math[_0x2895[427]](_0x4315x12)* _0x4315xa,_0x4315xa*= Math[_0x2895[426]](_0x4315x12));_0x4315x4[_0x2895[62]](_0x4315x15);_0x4315x4[_0x2895[124]][_0x2895[361]]= this[_0x2895[1239]](_0x4315x2- _0x4315x9)+ _0x2895[168];_0x4315x4[_0x2895[124]][_0x2895[125]]= this[_0x2895[1239]](_0x4315x3+ _0x4315xa)+ _0x2895[168];this[_0x2895[813]][_0x2895[62]](_0x4315x4)};mxVmlCanvas2D[_0x2895[202]][_0x2895[1336]]= function(){this[_0x2895[1370]](!1,!0)};mxVmlCanvas2D[_0x2895[202]][_0x2895[1334]]= function(){this[_0x2895[1370]](!0,!1)};mxVmlCanvas2D[_0x2895[202]][_0x2895[1337]]= function(){this[_0x2895[1370]](!0,!0)};function mxGuide(_0x4315x2,_0x4315x3){this[_0x2895[1179]]= _0x4315x2;this[_0x2895[1517]](_0x4315x3)}mxGuide[_0x2895[202]][_0x2895[1179]]= null;mxGuide[_0x2895[202]][_0x2895[1214]]= null;mxGuide[_0x2895[202]][_0x2895[662]]= !0;mxGuide[_0x2895[202]][_0x2895[704]]= !0;mxGuide[_0x2895[202]][_0x2895[1518]]= null;mxGuide[_0x2895[202]][_0x2895[1519]]= null;mxGuide[_0x2895[202]][_0x2895[1517]]= function(_0x4315x2){this[_0x2895[1214]]= _0x4315x2};mxGuide[_0x2895[202]][_0x2895[1019]]= function(_0x4315x2){return !0};mxGuide[_0x2895[202]][_0x2895[1520]]= function(){return this[_0x2895[1179]][_0x2895[1020]]* this[_0x2895[1179]][_0x2895[441]][_0x2895[255]]/ 2};mxGuide[_0x2895[202]][_0x2895[1521]]= function(_0x4315x2){_0x4315x2= new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);_0x4315x2[_0x2895[1522]]= !0;return _0x4315x2};mxGuide[_0x2895[202]][_0x2895[582]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= this[_0x2895[1214]]&& (this[_0x2895[662]]|| this[_0x2895[704]])&& null!= _0x4315x2&& null!= _0x4315x3){var _0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[513]],_0x4315x9=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315xa=_0x4315x3[_0x2895[235]],_0x4315x12=_0x4315x3[_0x2895[236]],_0x4315x13=!1,_0x4315x14=!1,_0x4315x15=this[_0x2895[1520]](),_0x4315x16=_0x4315x15,_0x4315x17=_0x4315x15,_0x4315x15=_0x4315x2[_0x2895[238]]();_0x4315x15[_0x2895[235]]+= _0x4315x3[_0x2895[235]];_0x4315x15[_0x2895[236]]+= _0x4315x3[_0x2895[236]];var _0x4315x18=_0x4315x15[_0x2895[235]],_0x4315x19=_0x4315x15[_0x2895[235]]+ _0x4315x15[_0x2895[117]],_0x4315x1a=_0x4315x15[_0x2895[241]](),_0x4315x1b=_0x4315x15[_0x2895[236]],_0x4315x1c=_0x4315x15[_0x2895[236]]+ _0x4315x15[_0x2895[119]],_0x4315x1d=_0x4315x15[_0x2895[242]]();_0x4315x3= function(_0x4315x3){_0x4315x3+= this[_0x2895[1179]][_0x2895[1136]];var _0x4315x4=!1;Math[_0x2895[425]](_0x4315x3- _0x4315x1a)< _0x4315x16?(_0x4315xa= _0x4315x3- _0x4315x2[_0x2895[241]](),_0x4315x16= Math[_0x2895[425]](_0x4315x3- _0x4315x1a),_0x4315x4= !0):Math[_0x2895[425]](_0x4315x3- _0x4315x18)< _0x4315x16?(_0x4315xa= _0x4315x3- _0x4315x2[_0x2895[235]],_0x4315x16= Math[_0x2895[425]](_0x4315x3- _0x4315x18),_0x4315x4= !0):Math[_0x2895[425]](_0x4315x3- _0x4315x19)< _0x4315x16&& (_0x4315xa= _0x4315x3- _0x4315x2[_0x2895[235]]- _0x4315x2[_0x2895[117]],_0x4315x16= Math[_0x2895[425]](_0x4315x3- _0x4315x19),_0x4315x4= !0);if(_0x4315x4){null== this[_0x2895[1518]]&& (this[_0x2895[1518]]= this[_0x2895[1521]](!0),this[_0x2895[1518]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]],this[_0x2895[1518]][_0x2895[1229]]= !1,this[_0x2895[1518]][_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()));var _0x4315x5=this[_0x2895[1179]][_0x2895[526]];_0x4315x3-= this[_0x2895[1179]][_0x2895[1136]];this[_0x2895[1518]][_0x2895[1525]]= [ new mxPoint(_0x4315x3,-this[_0x2895[1179]][_0x2895[1137]]), new mxPoint(_0x4315x3,_0x4315x5[_0x2895[191]]- 3- this[_0x2895[1179]][_0x2895[1137]])]};_0x4315x13= _0x4315x13|| _0x4315x4};for(var _0x4315x15=function(_0x4315x3){_0x4315x3+= this[_0x2895[1179]][_0x2895[1137]];var _0x4315x4=!1;Math[_0x2895[425]](_0x4315x3- _0x4315x1d)< _0x4315x17?(_0x4315x12= _0x4315x3- _0x4315x2[_0x2895[242]](),_0x4315x17= Math[_0x2895[425]](_0x4315x3- _0x4315x1d),_0x4315x4= !0):Math[_0x2895[425]](_0x4315x3- _0x4315x1b)< _0x4315x17?(_0x4315x12= _0x4315x3- _0x4315x2[_0x2895[236]],_0x4315x17= Math[_0x2895[425]](_0x4315x3- _0x4315x1b),_0x4315x4= !0):Math[_0x2895[425]](_0x4315x3- _0x4315x1c)< _0x4315x17&& (_0x4315x12= _0x4315x3- _0x4315x2[_0x2895[236]]- _0x4315x2[_0x2895[119]],_0x4315x17= Math[_0x2895[425]](_0x4315x3- _0x4315x1c),_0x4315x4= !0);if(_0x4315x4){null== this[_0x2895[1519]]&& (this[_0x2895[1519]]= this[_0x2895[1521]](!1),this[_0x2895[1519]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]],this[_0x2895[1519]][_0x2895[1229]]= !1,this[_0x2895[1519]][_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()));var _0x4315x5=this[_0x2895[1179]][_0x2895[526]];_0x4315x3-= this[_0x2895[1179]][_0x2895[1137]];this[_0x2895[1519]][_0x2895[1525]]= [ new mxPoint(-this[_0x2895[1179]][_0x2895[1136]],_0x4315x3), new mxPoint(_0x4315x5[_0x2895[1526]]- 3- this[_0x2895[1179]][_0x2895[1136]],_0x4315x3)]};_0x4315x14= _0x4315x14|| _0x4315x4},_0x4315x1e=0;_0x4315x1e< this[_0x2895[1214]][_0x2895[67]];_0x4315x1e++){var _0x4315x1f=this[_0x2895[1214]][_0x4315x1e];null!= _0x4315x1f&& (this[_0x2895[662]]&& (_0x4315x3[_0x2895[239]](this,_0x4315x1f[_0x2895[241]]()),_0x4315x3[_0x2895[239]](this,_0x4315x1f[_0x2895[235]]),_0x4315x3[_0x2895[239]](this,_0x4315x1f[_0x2895[235]]+ _0x4315x1f[_0x2895[117]])),this[_0x2895[704]]&& (_0x4315x15[_0x2895[239]](this,_0x4315x1f[_0x2895[242]]()),_0x4315x15[_0x2895[239]](this,_0x4315x1f[_0x2895[236]]),_0x4315x15[_0x2895[239]](this,_0x4315x1f[_0x2895[236]]+ _0x4315x1f[_0x2895[119]])))};!_0x4315x13&& null!= this[_0x2895[1518]]?this[_0x2895[1518]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188]:null!= this[_0x2895[1518]]&& (this[_0x2895[1518]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[189],this[_0x2895[1518]][_0x2895[258]]());!_0x4315x14&& null!= this[_0x2895[1519]]?this[_0x2895[1519]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188]:null!= this[_0x2895[1519]]&& (this[_0x2895[1519]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[189],this[_0x2895[1519]][_0x2895[258]]());_0x4315x4&& (_0x4315x13|| (_0x4315x4= _0x4315x2[_0x2895[235]]- (this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[235]]/ _0x4315x9- _0x4315x5[_0x2895[235]])+ _0x4315x5[_0x2895[235]])* _0x4315x9,_0x4315xa= this[_0x2895[1179]][_0x2895[1021]](_0x4315xa/ _0x4315x9)* _0x4315x9- _0x4315x4),_0x4315x14|| (_0x4315x5= _0x4315x2[_0x2895[236]]- (this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[236]]/ _0x4315x9- _0x4315x5[_0x2895[236]])+ _0x4315x5[_0x2895[236]])* _0x4315x9,_0x4315x12= this[_0x2895[1179]][_0x2895[1021]](_0x4315x12/ _0x4315x9)* _0x4315x9- _0x4315x5));_0x4315x3= new mxPoint(_0x4315xa,_0x4315x12)};return _0x4315x3};mxGuide[_0x2895[202]][_0x2895[801]]= function(){null!= this[_0x2895[1518]]&& (this[_0x2895[1518]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188]);null!= this[_0x2895[1519]]&& (this[_0x2895[1519]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188])};mxGuide[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[1518]]&& (this[_0x2895[1518]][_0x2895[515]](),this[_0x2895[1518]]= null);null!= this[_0x2895[1519]]&& (this[_0x2895[1519]][_0x2895[515]](),this[_0x2895[1519]]= null)};function mxStencil(_0x4315x2){this[_0x2895[1527]]= _0x4315x2;this[_0x2895[1528]]();this[_0x2895[1529]]()}mxStencil[_0x2895[1530]]= !1;mxStencil[_0x2895[202]][_0x2895[1527]]= null;mxStencil[_0x2895[202]][_0x2895[1531]]= null;mxStencil[_0x2895[202]][_0x2895[1322]]= null;mxStencil[_0x2895[202]][_0x2895[1532]]= null;mxStencil[_0x2895[202]][_0x2895[1533]]= null;mxStencil[_0x2895[202]][_0x2895[1534]]= null;mxStencil[_0x2895[202]][_0x2895[1535]]= null;mxStencil[_0x2895[202]][_0x2895[1307]]= null;mxStencil[_0x2895[202]][_0x2895[1528]]= function(){this[_0x2895[1535]]= this[_0x2895[1527]][_0x2895[64]](_0x2895[1536])[0];this[_0x2895[1534]]= this[_0x2895[1527]][_0x2895[64]](_0x2895[1537])[0];this[_0x2895[1532]]= Number(this[_0x2895[1527]][_0x2895[284]](_0x2895[1302])|| 100);this[_0x2895[1533]]= Number(this[_0x2895[1527]][_0x2895[284]](_0x2895[1303])|| 100);var _0x4315x2=this[_0x2895[1527]][_0x2895[284]](_0x2895[1322]);this[_0x2895[1322]]= null!= _0x4315x2?_0x4315x2:_0x2895[1538];_0x4315x2= this[_0x2895[1527]][_0x2895[284]](_0x2895[1307]);this[_0x2895[1307]]= null!= _0x4315x2?_0x4315x2:_0x2895[500]};mxStencil[_0x2895[202]][_0x2895[1529]]= function(){var _0x4315x2=this[_0x2895[1527]][_0x2895[64]](_0x2895[1539])[0];if(null!= _0x4315x2&& (_0x4315x2= mxUtils[_0x2895[1540]](_0x4315x2),null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]])){this[_0x2895[1531]]= [];for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){this[_0x2895[1531]][_0x2895[207]](this[_0x2895[1541]](_0x4315x2[_0x4315x3]))}}};mxStencil[_0x2895[202]][_0x2895[1541]]= function(_0x4315x2){var _0x4315x3=Number(_0x4315x2[_0x2895[284]](_0x2895[235])),_0x4315x4=Number(_0x4315x2[_0x2895[284]](_0x2895[236]));_0x4315x2= _0x2895[500]== _0x4315x2[_0x2895[284]](_0x2895[591]);return new mxConnectionConstraint( new mxPoint(_0x4315x3,_0x4315x4),_0x4315x2)};mxStencil[_0x2895[202]][_0x2895[1542]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= this[_0x2895[1543]](_0x4315x2,_0x4315x3,_0x4315x4);_0x4315x2= _0x4315x2[_0x2895[284]](_0x2895[1544]);if(mxStencil[_0x2895[1530]]&& null== _0x4315x2|| _0x2895[500]== _0x4315x2){_0x4315x3= mxResources[_0x2895[203]](_0x4315x3)};return _0x4315x3};mxStencil[_0x2895[202]][_0x2895[1543]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= _0x4315x2[_0x2895[284]](_0x4315x3);null== _0x4315x3&& (_0x4315x2= mxUtils[_0x2895[329]](_0x4315x2),null!= _0x4315x2&& (_0x4315x2= mxUtils[_0x2895[1545]](_0x4315x2),_0x2895[279]== typeof _0x4315x2&& (_0x4315x3= _0x4315x2(_0x4315x4))));return _0x4315x3};mxStencil[_0x2895[202]][_0x2895[1546]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[1547]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,this[_0x2895[1534]],!1);this[_0x2895[1547]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,this[_0x2895[1535]],!0)};mxStencil[_0x2895[202]][_0x2895[1547]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){if(null!= _0x4315x12){var _0x4315x14=mxUtils[_0x2895[433]](_0x4315x3[_0x2895[124]],mxConstants.STYLE_DIRECTION,null);_0x4315x4= this[_0x2895[1548]](_0x4315x3[_0x2895[124]],_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x14);_0x4315x5= Math[_0x2895[243]](_0x4315x4[_0x2895[117]],_0x4315x4[_0x2895[119]]);_0x4315x5= _0x2895[1549]== this[_0x2895[1307]]?Number(mxUtils[_0x2895[1550]](_0x4315x3[_0x2895[124]],mxConstants.STYLE_STROKEWIDTH,1)):Number(this[_0x2895[1307]])* _0x4315x5;_0x4315x2[_0x2895[1250]](_0x4315x5);for(_0x4315x12= _0x4315x12[_0x2895[285]];null!= _0x4315x12;){_0x4315x12[_0x2895[288]]== mxConstants[_0x2895[289]]&& this[_0x2895[1551]](_0x4315x2,_0x4315x3,_0x4315x12,_0x4315x4,_0x4315x13),_0x4315x12= _0x4315x12[_0x2895[287]]}}};mxStencil[_0x2895[202]][_0x2895[1548]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x2= _0x4315x3;_0x4315x3= _0x4315x5/ this[_0x2895[1532]];var _0x4315x12=_0x4315x9/ this[_0x2895[1533]];if(_0x4315xa= _0x2895[700]== _0x4315xa|| _0x2895[701]== _0x4315xa){_0x4315x12= _0x4315x5/ this[_0x2895[1533]];_0x4315x3= _0x4315x9/ this[_0x2895[1532]];var _0x4315x13=(_0x4315x5- _0x4315x9)/ 2;_0x4315x2+= _0x4315x13;_0x4315x4-= _0x4315x13};_0x2895[1552]== this[_0x2895[1322]]&& (_0x4315x3= _0x4315x12= Math[_0x2895[243]](_0x4315x3,_0x4315x12),_0x4315xa?(_0x4315x2+= (_0x4315x9- this[_0x2895[1532]]* _0x4315x3)/ 2,_0x4315x4+= (_0x4315x5- this[_0x2895[1533]]* _0x4315x12)/ 2):(_0x4315x2+= (_0x4315x5- this[_0x2895[1532]]* _0x4315x3)/ 2,_0x4315x4+= (_0x4315x9- this[_0x2895[1533]]* _0x4315x12)/ 2));return new mxRectangle(_0x4315x2,_0x4315x4,_0x4315x3,_0x4315x12)};mxStencil[_0x2895[202]][_0x2895[1551]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x4[_0x2895[301]],_0x4315x12=_0x4315x5[_0x2895[235]],_0x4315x13=_0x4315x5[_0x2895[236]],_0x4315x14=_0x4315x5[_0x2895[117]],_0x4315x15=_0x4315x5[_0x2895[119]],_0x4315x16=Math[_0x2895[243]](_0x4315x14,_0x4315x15);if(_0x2895[815]== _0x4315xa){_0x4315x2[_0x2895[815]]()}else {if(_0x2895[1210]== _0x4315xa){_0x4315x2[_0x2895[1210]]()}else {if(_0x2895[1215]== _0x4315xa){_0x4315x2[_0x2895[1275]]();for(_0x4315x4= _0x4315x4[_0x2895[285]];null!= _0x4315x4;){_0x4315x4[_0x2895[288]]== mxConstants[_0x2895[289]]&& this[_0x2895[1551]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x4= _0x4315x4[_0x2895[287]]}}else {if(_0x2895[268]== _0x4315xa){_0x4315x2[_0x2895[268]]()}else {if(_0x2895[582]== _0x4315xa){_0x4315x2[_0x2895[1276]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15)}else {if(_0x2895[683]== _0x4315xa){_0x4315x2[_0x2895[1277]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15)}else {if(_0x2895[1323]== _0x4315xa){_0x4315x2[_0x2895[1278]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[1324]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[1325]))* _0x4315x15,_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[1326]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[1327]))* _0x4315x15)}else {if(_0x2895[1328]== _0x4315xa){_0x4315x2[_0x2895[1279]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[1324]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[1325]))* _0x4315x15,_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[1326]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[1327]))* _0x4315x15,_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[1329]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[1330]))* _0x4315x15)}else {if(_0x2895[1553]== _0x4315xa){_0x4315x2[_0x2895[1280]](Number(_0x4315x4[_0x2895[284]](_0x2895[1397]))* _0x4315x14,Number(_0x4315x4[_0x2895[284]](_0x2895[1398]))* _0x4315x15,Number(_0x4315x4[_0x2895[284]](_0x2895[1554])),Number(_0x4315x4[_0x2895[284]](_0x2895[1555])),Number(_0x4315x4[_0x2895[284]](_0x2895[1556])),_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15)}else {if(_0x2895[1319]== _0x4315xa){_0x4315x2[_0x2895[1319]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15,Number(_0x4315x4[_0x2895[284]](_0x2895[1302]))* _0x4315x14,Number(_0x4315x4[_0x2895[284]](_0x2895[1303]))* _0x4315x15)}else {if(_0x2895[1320]== _0x4315xa){_0x4315x3= _0x4315x4[_0x2895[284]](_0x2895[1492]),0== _0x4315x3&& (_0x4315x3= 100* mxConstants[_0x2895[1557]]),_0x4315x16= Number(_0x4315x4[_0x2895[284]](_0x2895[1302]))* _0x4315x14,_0x4315x5= Number(_0x4315x4[_0x2895[284]](_0x2895[1303]))* _0x4315x15,_0x4315x3= Number(_0x4315x3)/ 100,_0x4315x3= Math[_0x2895[243]](_0x4315x16* _0x4315x3,_0x4315x5* _0x4315x3),_0x4315x2[_0x2895[1320]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15,_0x4315x16,_0x4315x5,_0x4315x3,_0x4315x3)}else {if(_0x2895[680]== _0x4315xa){_0x4315x2[_0x2895[680]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15,Number(_0x4315x4[_0x2895[284]](_0x2895[1302]))* _0x4315x14,Number(_0x4315x4[_0x2895[284]](_0x2895[1303]))* _0x4315x15)}else {if(_0x2895[618]== _0x4315xa){_0x4315x3= this[_0x2895[1543]](_0x4315x4,_0x2895[390],_0x4315x3),_0x4315x2[_0x2895[618]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15,Number(_0x4315x4[_0x2895[284]](_0x2895[1302]))* _0x4315x14,Number(_0x4315x4[_0x2895[284]](_0x2895[1303]))* _0x4315x15,_0x4315x3,!1,_0x2895[500]== _0x4315x4[_0x2895[284]](_0x2895[623]),_0x2895[500]== _0x4315x4[_0x2895[284]](_0x2895[624]))}else {if(_0x2895[963]== _0x4315xa){_0x4315x16= this[_0x2895[1542]](_0x4315x4,_0x2895[1332],_0x4315x3);_0x4315x5= _0x2895[500]== _0x4315x4[_0x2895[284]](_0x2895[704])?-90:0;if(_0x2895[468]== _0x4315x4[_0x2895[284]](_0x2895[1558])){var _0x4315x17=_0x4315x3[_0x2895[603]],_0x4315x18=1== mxUtils[_0x2895[433]](_0x4315x3[_0x2895[124]],mxConstants.STYLE_FLIPH,0);_0x4315x3= 1== mxUtils[_0x2895[433]](_0x4315x3[_0x2895[124]],mxConstants.STYLE_FLIPV,0);_0x4315x5= _0x4315x18&& _0x4315x3?_0x4315x5- _0x4315x17:_0x4315x18|| _0x4315x3?_0x4315x5+ _0x4315x17:_0x4315x5- _0x4315x17};_0x4315x5-= _0x4315x4[_0x2895[284]](_0x2895[603]);_0x4315x2[_0x2895[963]](_0x4315x12+ Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+ Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15,0,0,_0x4315x16,_0x4315x4[_0x2895[284]](_0x2895[611])|| _0x2895[361],_0x4315x4[_0x2895[284]](_0x2895[552])|| _0x2895[125],!1,_0x2895[110],!1,!1,_0x4315x5)}else {if(_0x2895[1559]== _0x4315xa){_0x4315x17= mxStencilRegistry[_0x2895[1560]](_0x4315x4[_0x2895[284]](_0x2895[298])),null!= _0x4315x17&& (_0x4315x12+= Number(_0x4315x4[_0x2895[284]](_0x2895[235]))* _0x4315x14,_0x4315x13+= Number(_0x4315x4[_0x2895[284]](_0x2895[236]))* _0x4315x15,_0x4315x16= Number(_0x4315x4[_0x2895[284]](_0x2895[1302]))* _0x4315x14,_0x4315x5= Number(_0x4315x4[_0x2895[284]](_0x2895[1303]))* _0x4315x15,_0x4315x17[_0x2895[1546]](_0x4315x2,_0x4315x3,_0x4315x12,_0x4315x13,_0x4315x16,_0x4315x5))}else {if(_0x2895[1338]== _0x4315xa){_0x4315x2[_0x2895[1337]]()}else {if(_0x2895[1334]== _0x4315xa){_0x4315x2[_0x2895[1334]]()}else {if(_0x2895[1336]== _0x4315xa){_0x4315x2[_0x2895[1336]]()}else {if(_0x2895[1307]== _0x4315xa){_0x4315x2[_0x2895[1250]](Number(_0x4315x4[_0x2895[284]](_0x2895[117]))* _0x4315x16)}else {if(_0x2895[648]== _0x4315xa){_0x4315x2[_0x2895[1251]](_0x2895[500]== _0x4315x4[_0x2895[284]](_0x2895[648]))}else {if(_0x2895[1308]== _0x4315xa){if(_0x4315x4= _0x4315x4[_0x2895[284]](_0x2895[1309]),null!= _0x4315x4){_0x4315x4= _0x4315x4[_0x2895[224]](_0x2895[185]);_0x4315x14= [];for(_0x4315x15= 0;_0x4315x15< _0x4315x4[_0x2895[67]];_0x4315x15++){0< _0x4315x4[_0x4315x15][_0x2895[67]]&& _0x4315x14[_0x2895[207]](Number(_0x4315x4[_0x4315x15])* _0x4315x16)};_0x4315x4= _0x4315x14[_0x2895[234]](_0x2895[185]);_0x4315x2[_0x2895[1252]](_0x4315x4)}}else {_0x2895[1306]== _0x4315xa?_0x4315x2[_0x2895[1249]](_0x4315x4[_0x2895[284]](_0x2895[352])):_0x2895[1310]== _0x4315xa?_0x4315x2[_0x2895[1253]](_0x4315x4[_0x2895[284]](_0x2895[1311])):_0x2895[1312]== _0x4315xa?_0x4315x2[_0x2895[1255]](_0x4315x4[_0x2895[284]](_0x2895[234])):_0x2895[1313]== _0x4315xa?_0x4315x2[_0x2895[1257]](Number(_0x4315x4[_0x2895[284]](_0x2895[1314]))):_0x2895[1298]== _0x4315xa?_0x4315x2[_0x2895[1245]](_0x4315x4[_0x2895[284]](_0x2895[352])):_0x2895[1244]== _0x4315xa?_0x4315x2[_0x2895[1243]](_0x4315x4[_0x2895[284]](_0x2895[1244])):_0x2895[1315]== _0x4315xa?_0x4315x2[_0x2895[1259]](_0x4315x4[_0x2895[284]](_0x2895[352])):_0x2895[1318]== _0x4315xa?_0x4315x2[_0x2895[1266]](_0x4315x4[_0x2895[284]](_0x2895[124])):_0x2895[1287]== _0x4315xa?_0x4315x2[_0x2895[1265]](_0x4315x4[_0x2895[284]](_0x2895[1288])):_0x2895[1289]== _0x4315xa&& _0x4315x2[_0x2895[1264]](Number(_0x4315x4[_0x2895[284]](_0x2895[803]))* _0x4315x16)}}}}}}}}}}}}}}}}}}}}};_0x4315x9&& (_0x2895[1338]== _0x4315xa|| _0x2895[1334]== _0x4315xa|| _0x2895[1336]== _0x4315xa)&& _0x4315x2[_0x2895[1267]](!1)};function mxShape(_0x4315x2){this[_0x2895[1561]]= _0x4315x2;this[_0x2895[1307]]= 1;this[_0x2895[603]]= 0;this[_0x2895[461]]= 100;this[_0x2895[624]]= this[_0x2895[623]]= !1}mxShape[_0x2895[202]][_0x2895[507]]= null;mxShape[_0x2895[202]][_0x2895[255]]= 1;mxShape[_0x2895[202]][_0x2895[1562]]= null;mxShape[_0x2895[202]][_0x2895[1525]]= null;mxShape[_0x2895[202]][_0x2895[252]]= null;mxShape[_0x2895[202]][_0x2895[124]]= null;mxShape[_0x2895[202]][_0x2895[124]]= null;mxShape[_0x2895[202]][_0x2895[1563]]= null;mxShape[_0x2895[202]][_0x2895[1561]]= null;mxShape[_0x2895[202]][_0x2895[1564]]= 6;mxShape[_0x2895[202]][_0x2895[1229]]= !0;mxShape[_0x2895[202]][_0x2895[1565]]= !1;mxShape[_0x2895[202]][_0x2895[1460]]= 1;mxShape[_0x2895[202]][_0x2895[176]]= function(_0x4315x2){null== this[_0x2895[252]]&& (this[_0x2895[252]]= this[_0x2895[385]](_0x4315x2),null!= _0x4315x2&& _0x4315x2[_0x2895[62]](this[_0x2895[252]]))};mxShape[_0x2895[202]][_0x2895[1566]]= function(){return !0};mxShape[_0x2895[202]][_0x2895[1567]]= function(){return !1};mxShape[_0x2895[202]][_0x2895[1568]]= function(){return 1== mxUtils[_0x2895[1454]](Math[_0x2895[160]](1,Math[_0x2895[488]](this[_0x2895[1307]]* this[_0x2895[255]])),2)?0.5:0};mxShape[_0x2895[202]][_0x2895[385]]= function(_0x4315x2){var _0x4315x3=null;return _0x4315x3= null!= _0x4315x2[_0x2895[538]]?this[_0x2895[1569]](_0x4315x2):8== document[_0x2895[5]]|| this[_0x2895[507]]== mxConstants[_0x2895[508]]|| this[_0x2895[507]]!= mxConstants[_0x2895[1523]]&& this[_0x2895[1567]]()?this[_0x2895[1570]](_0x4315x2):this[_0x2895[1571]](_0x4315x2)};mxShape[_0x2895[202]][_0x2895[1569]]= function(){return document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449])};mxShape[_0x2895[202]][_0x2895[1571]]= function(){var _0x4315x2=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1499]);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1570]]= function(){var _0x4315x2=document[_0x2895[55]](_0x2895[485]);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1572]]= function(){this[_0x2895[258]]()};mxShape[_0x2895[202]][_0x2895[258]]= function(){this[_0x2895[1573]]();this[_0x2895[1574]]()?(this[_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[110],_0x2895[529]== this[_0x2895[252]][_0x2895[301]]&& this[_0x2895[1567]]()?this[_0x2895[1575]]():this[_0x2895[1576]](),this[_0x2895[1577]]()):(this[_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188],this[_0x2895[1563]]= null)};mxShape[_0x2895[202]][_0x2895[1573]]= function(){var _0x4315x2=this[_0x2895[1525]];if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]&& null!= _0x4315x2[0]){this[_0x2895[1562]]= new mxRectangle(Number(_0x4315x2[0][_0x2895[235]]),Number(_0x4315x2[0][_0x2895[236]]),1,1);for(var _0x4315x3=1;_0x4315x3< this[_0x2895[1525]][_0x2895[67]];_0x4315x3++){null!= _0x4315x2[_0x4315x3]&& this[_0x2895[1562]][_0x2895[99]]( new mxRectangle(Number(_0x4315x2[_0x4315x3][_0x2895[235]]),Number(_0x4315x2[_0x4315x3][_0x2895[236]]),1,1))}}};mxShape[_0x2895[202]][_0x2895[1574]]= function(){return null!= this[_0x2895[1562]]&& !isNaN(this[_0x2895[1562]][_0x2895[235]])&& !isNaN(this[_0x2895[1562]][_0x2895[236]])&& !isNaN(this[_0x2895[1562]][_0x2895[117]])&& !isNaN(this[_0x2895[1562]][_0x2895[119]])&& 0< this[_0x2895[1562]][_0x2895[117]]&& 0< this[_0x2895[1562]][_0x2895[119]]};mxShape[_0x2895[202]][_0x2895[1578]]= function(){var _0x4315x2=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1499]);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x2[_0x2895[124]][_0x2895[117]]= this[_0x2895[252]][_0x2895[124]][_0x2895[117]];_0x4315x2[_0x2895[124]][_0x2895[119]]= this[_0x2895[252]][_0x2895[124]][_0x2895[119]];return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1576]]= function(){var _0x4315x2=this[_0x2895[1579]]();for(_0x4315x2[_0x2895[1229]]= this[_0x2895[1229]];this[_0x2895[252]][_0x2895[1580]]();){this[_0x2895[252]][_0x2895[266]](this[_0x2895[252]][_0x2895[1581]])};this[_0x2895[1209]](_0x4315x2);this[_0x2895[252]]!= _0x4315x2[_0x2895[813]]&& this[_0x2895[252]][_0x2895[1583]](_0x2895[1582],_0x4315x2[_0x2895[813]][_0x2895[342]]);_0x2895[529]== this[_0x2895[252]][_0x2895[301]]&& 8== document[_0x2895[5]]&& (this[_0x2895[252]][_0x2895[124]][_0x2895[347]]= _0x2895[110],(null== this[_0x2895[1561]]|| !this[_0x2895[1565]])&& mxUtils[_0x2895[1584]](this[_0x2895[252]]));this[_0x2895[1585]](_0x4315x2)};mxShape[_0x2895[202]][_0x2895[1579]]= function(){var _0x4315x2=null,_0x4315x3=null;if(null!= this[_0x2895[252]][_0x2895[538]]){_0x4315x2= new mxSvgCanvas2D(this[_0x2895[252]],!1),_0x4315x2[_0x2895[1345]]= this[_0x2895[1564]],_0x4315x2[_0x2895[1347]]= mxClient[_0x2895[133]]&& !mxClient[_0x2895[75]]&& !mxClient[_0x2895[76]],_0x4315x3= this[_0x2895[1568]](),0!= _0x4315x3?this[_0x2895[252]][_0x2895[57]](_0x2895[535],_0x2895[536]+ _0x4315x3+ _0x2895[537]+ _0x4315x3+ _0x2895[460]):this[_0x2895[252]][_0x2895[1390]](_0x2895[535])}else {this[_0x2895[1586]]();var _0x4315x4=Math[_0x2895[160]](1,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[117]])),_0x4315x5=Math[_0x2895[160]](1,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[119]])),_0x4315x3=8== document[_0x2895[5]]&& this[_0x2895[1566]]()?this[_0x2895[1578]]():this[_0x2895[252]],_0x4315x2= new mxVmlCanvas2D(_0x4315x3,!1);_0x2895[110]!= _0x4315x3[_0x2895[337]]&& (_0x4315x3[_0x2895[1462]]= _0x4315x4* this[_0x2895[1460]]+ _0x2895[537]+ _0x4315x5* this[_0x2895[1460]],_0x4315x2[_0x2895[255]](this[_0x2895[1460]]),_0x4315x2[_0x2895[1460]]= this[_0x2895[1460]]);_0x4315x3= this[_0x2895[255]];_0x4315x2[_0x2895[513]](-Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]]/ _0x4315x3),-Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]]/ _0x4315x3))};return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1586]]= function(){this[_0x2895[252]][_0x2895[124]][_0x2895[361]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]])+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[125]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]])+ _0x2895[168];var _0x4315x2=Math[_0x2895[160]](1,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[117]])),_0x4315x3=Math[_0x2895[160]](1,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[119]]));this[_0x2895[252]][_0x2895[124]][_0x2895[117]]= _0x4315x2+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[119]]= _0x4315x3+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[277]]= _0x2895[189]};mxShape[_0x2895[202]][_0x2895[1585]]= function(_0x4315x2){if(_0x4315x2 instanceof mxSvgCanvas2D){for(var _0x4315x3 in _0x4315x2[_0x2895[1339]]){var _0x4315x4=_0x4315x2[_0x2895[1339]][_0x4315x3];_0x4315x4[_0x2895[1587]]= (_0x4315x4[_0x2895[1587]]|| 0)+ 1};this[_0x2895[1589]](this[_0x2895[1588]]);this[_0x2895[1588]]= _0x4315x2[_0x2895[1339]]}};mxShape[_0x2895[202]][_0x2895[1209]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[255]],_0x4315x4=this[_0x2895[1562]][_0x2895[235]]/ _0x4315x3,_0x4315x5=this[_0x2895[1562]][_0x2895[236]]/ _0x4315x3,_0x4315x9=this[_0x2895[1562]][_0x2895[117]]/ _0x4315x3,_0x4315xa=this[_0x2895[1562]][_0x2895[119]]/ _0x4315x3;if(this[_0x2895[1590]]()){var _0x4315x12=(_0x4315x9- _0x4315xa)/ 2,_0x4315x4=_0x4315x4+ _0x4315x12,_0x4315x5=_0x4315x5- _0x4315x12,_0x4315x12=_0x4315x9,_0x4315x9=_0x4315xa,_0x4315xa=_0x4315x12};this[_0x2895[1591]](_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa);this[_0x2895[1592]](_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa);if(null!= this[_0x2895[1561]]){this[_0x2895[1593]](_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa)}else {if(_0x4315x2[_0x2895[1250]](this[_0x2895[1307]]),null!= this[_0x2895[1525]]){_0x4315x4= [];for(_0x4315x5= 0;_0x4315x5< this[_0x2895[1525]][_0x2895[67]];_0x4315x5++){_0x4315x4[_0x2895[207]]( new mxPoint(this[_0x2895[1525]][_0x4315x5][_0x2895[235]]/ _0x4315x3,this[_0x2895[1525]][_0x4315x5][_0x2895[236]]/ _0x4315x3))};this[_0x2895[1594]](_0x4315x2,_0x4315x4)}else {this[_0x2895[1595]](_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa)}}};mxShape[_0x2895[202]][_0x2895[1592]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=null;null!= this[_0x2895[124]]&& (_0x4315xa= this[_0x2895[124]][_0x2895[649]]);_0x4315x2[_0x2895[1243]](this[_0x2895[461]]/ 100);null!= this[_0x2895[1596]]&& _0x4315x2[_0x2895[1267]](this[_0x2895[1596]]);null!= this[_0x2895[1522]]&& _0x4315x2[_0x2895[1251]](this[_0x2895[1522]]);null!= _0x4315xa&& _0x4315x2[_0x2895[1252]](_0x4315xa);null!= this[_0x2895[1299]]?(_0x4315x3= this[_0x2895[1597]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[1246]](this[_0x2895[1334]],this[_0x2895[1299]],_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]],this[_0x2895[607]])):_0x4315x2[_0x2895[1245]](this[_0x2895[1334]]);_0x4315x2[_0x2895[1249]](this[_0x2895[1336]])};mxShape[_0x2895[202]][_0x2895[1597]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){return new mxRectangle(_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)};mxShape[_0x2895[202]][_0x2895[1591]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[255]](this[_0x2895[255]]);_0x4315x2[_0x2895[1294]](this[_0x2895[1598]](),this[_0x2895[623]],this[_0x2895[624]],_0x4315x3+ _0x4315x5/ 2,_0x4315x4+ _0x4315x9/ 2)};mxShape[_0x2895[202]][_0x2895[1593]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){this[_0x2895[1565]]&& (this[_0x2895[507]]== mxConstants[_0x2895[508]]?this[_0x2895[1599]](this[_0x2895[252]],_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9):8!= document[_0x2895[5]]&& this[_0x2895[1600]](this[_0x2895[252]]));this[_0x2895[1561]][_0x2895[1546]](_0x4315x2,this,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)};mxShape[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){this[_0x2895[1601]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1267]](!1);this[_0x2895[1602]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)};mxShape[_0x2895[202]][_0x2895[1601]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){};mxShape[_0x2895[202]][_0x2895[1602]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){};mxShape[_0x2895[202]][_0x2895[1594]]= function(_0x4315x2,_0x4315x3){};mxShape[_0x2895[202]][_0x2895[1603]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ARCSIZE,100* mxConstants[_0x2895[1557]])/ 100;return Math[_0x2895[243]](_0x4315x2* _0x4315x4,_0x4315x3* _0x4315x4)};mxShape[_0x2895[202]][_0x2895[1604]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=Math[_0x2895[430]](this[_0x2895[1307]]/ 2);_0x4315x2[_0x2895[1246]](_0x2895[1605],_0x2895[1605],_0x4315x3,_0x4315x4,_0x4315x5,0.6* _0x4315x9,_0x2895[701],0.9,0.1);_0x4315x2[_0x2895[1275]]();_0x4315xa+= 2* _0x4315x12;this[_0x2895[1606]]?(_0x4315x2[_0x2895[1276]](_0x4315x3- _0x4315x12+ _0x4315xa,_0x4315x4- _0x4315x12),_0x4315x2[_0x2895[1278]](_0x4315x3- _0x4315x12,_0x4315x4- _0x4315x12,_0x4315x3- _0x4315x12,_0x4315x4- _0x4315x12+ _0x4315xa),_0x4315x2[_0x2895[1277]](_0x4315x3- _0x4315x12,_0x4315x4+ 0.4* _0x4315x9),_0x4315x2[_0x2895[1278]](_0x4315x3+ 0.5* _0x4315x5,_0x4315x4+ 0.7* _0x4315x9,_0x4315x3+ _0x4315x5+ _0x4315x12,_0x4315x4+ 0.4* _0x4315x9),_0x4315x2[_0x2895[1277]](_0x4315x3+ _0x4315x5+ _0x4315x12,_0x4315x4- _0x4315x12+ _0x4315xa),_0x4315x2[_0x2895[1278]](_0x4315x3+ _0x4315x5+ _0x4315x12,_0x4315x4- _0x4315x12,_0x4315x3+ _0x4315x5+ _0x4315x12- _0x4315xa,_0x4315x4- _0x4315x12)):(_0x4315x2[_0x2895[1276]](_0x4315x3- _0x4315x12,_0x4315x4- _0x4315x12),_0x4315x2[_0x2895[1277]](_0x4315x3- _0x4315x12,_0x4315x4+ 0.4* _0x4315x9),_0x4315x2[_0x2895[1278]](_0x4315x3+ 0.5* _0x4315x5,_0x4315x4+ 0.7* _0x4315x9,_0x4315x3+ _0x4315x5+ _0x4315x12,_0x4315x4+ 0.4* _0x4315x9),_0x4315x2[_0x2895[1277]](_0x4315x3+ _0x4315x5+ _0x4315x12,_0x4315x4- _0x4315x12));_0x4315x2[_0x2895[268]]();_0x4315x2[_0x2895[1334]]()};mxShape[_0x2895[202]][_0x2895[183]]= function(_0x4315x2){this[_0x2895[724]]= _0x4315x2;this[_0x2895[124]]= _0x4315x2[_0x2895[124]];if(null!= this[_0x2895[124]]){this[_0x2895[1334]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_FILLCOLOR,this[_0x2895[1334]]);this[_0x2895[1299]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_GRADIENTCOLOR,this[_0x2895[1299]]);this[_0x2895[607]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_GRADIENT_DIRECTION,this[_0x2895[607]]);this[_0x2895[461]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_OPACITY,this[_0x2895[461]]);this[_0x2895[1336]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_STROKECOLOR,this[_0x2895[1336]]);this[_0x2895[1307]]= mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_STROKEWIDTH,this[_0x2895[1307]]);this[_0x2895[657]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_SPACING,this[_0x2895[657]]);this[_0x2895[644]]= mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_STARTSIZE,this[_0x2895[644]]);this[_0x2895[643]]= mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_ENDSIZE,this[_0x2895[643]]);this[_0x2895[642]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_STARTARROW,this[_0x2895[642]]);this[_0x2895[641]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ENDARROW,this[_0x2895[641]]);this[_0x2895[603]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ROTATION,this[_0x2895[603]]);this[_0x2895[663]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_DIRECTION,this[_0x2895[663]]);this[_0x2895[623]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_FLIPH,0);this[_0x2895[624]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_FLIPV,0);null!= this[_0x2895[1561]]&& (this[_0x2895[623]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],_0x2895[1607],0)|| this[_0x2895[623]],this[_0x2895[624]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],_0x2895[1608],0)|| this[_0x2895[624]]);if(_0x2895[700]== this[_0x2895[663]]|| _0x2895[701]== this[_0x2895[663]]){_0x4315x2= this[_0x2895[623]],this[_0x2895[623]]= this[_0x2895[624]],this[_0x2895[624]]= _0x4315x2};this[_0x2895[1596]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_SHADOW,this[_0x2895[1596]]);this[_0x2895[1522]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_DASHED,this[_0x2895[1522]]);this[_0x2895[1606]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ROUNDED,this[_0x2895[1606]]);this[_0x2895[617]]= 1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_GLASS,this[_0x2895[617]]);_0x2895[130]== this[_0x2895[1334]]&& (this[_0x2895[1334]]= null);_0x2895[130]== this[_0x2895[1299]]&& (this[_0x2895[1299]]= null);_0x2895[130]== this[_0x2895[1336]]&& (this[_0x2895[1336]]= null)}};mxShape[_0x2895[202]][_0x2895[1609]]= function(_0x4315x2){null== _0x4315x2&& (_0x4315x2= _0x2895[110]);this[_0x2895[270]]= _0x4315x2;null!= this[_0x2895[252]]&& (this[_0x2895[252]][_0x2895[124]][_0x2895[270]]= _0x4315x2)};mxShape[_0x2895[202]][_0x2895[1610]]= function(){return this[_0x2895[270]]};mxShape[_0x2895[202]][_0x2895[1577]]= function(){if(null!= this[_0x2895[1562]]){var _0x4315x2=this[_0x2895[1611]]();if(null!= _0x4315x2){this[_0x2895[1612]](_0x4315x2);var _0x4315x3=this[_0x2895[1598]]();0!= _0x4315x3&& (_0x4315x2= mxUtils[_0x2895[1613]](_0x4315x2,_0x4315x3));_0x4315x2[_0x2895[235]]= Math[_0x2895[519]](_0x4315x2[_0x2895[235]]);_0x4315x2[_0x2895[236]]= Math[_0x2895[519]](_0x4315x2[_0x2895[236]]);_0x4315x2[_0x2895[117]]= Math[_0x2895[430]](_0x4315x2[_0x2895[117]]);_0x4315x2[_0x2895[119]]= Math[_0x2895[430]](_0x4315x2[_0x2895[119]])};this[_0x2895[1563]]= _0x4315x2}};mxShape[_0x2895[202]][_0x2895[1611]]= function(){var _0x4315x2=this[_0x2895[1562]][_0x2895[238]]();if(this[_0x2895[1590]]()){var _0x4315x3=(_0x4315x2[_0x2895[117]]- _0x4315x2[_0x2895[119]])/ 2;_0x4315x2[_0x2895[235]]+= _0x4315x3;_0x4315x2[_0x2895[236]]-= _0x4315x3;_0x4315x3= _0x4315x2[_0x2895[117]];_0x4315x2[_0x2895[117]]= _0x4315x2[_0x2895[119]];_0x4315x2[_0x2895[119]]= _0x4315x3};return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1612]]= function(_0x4315x2){this[_0x2895[1596]]&& (_0x4315x2[_0x2895[117]]+= Math[_0x2895[430]](mxConstants[_0x2895[1237]]* this[_0x2895[255]]),_0x4315x2[_0x2895[119]]+= Math[_0x2895[430]](mxConstants[_0x2895[1238]]* this[_0x2895[255]]));var _0x4315x3=Math[_0x2895[430]](this[_0x2895[1307]]* this[_0x2895[255]]);_0x4315x2[_0x2895[244]](Math[_0x2895[430]](_0x4315x3/ 2))};mxShape[_0x2895[202]][_0x2895[1590]]= function(){return null== this[_0x2895[1561]]&& (_0x2895[700]== this[_0x2895[663]]|| _0x2895[701]== this[_0x2895[663]])};mxShape[_0x2895[202]][_0x2895[1614]]= function(){return null!= this[_0x2895[603]]?this[_0x2895[603]]:0};mxShape[_0x2895[202]][_0x2895[1615]]= function(){var _0x4315x2=this[_0x2895[1614]]();1!= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_HORIZONTAL,1)&& (_0x4315x2+= mxText[_0x2895[202]][_0x2895[1616]]);return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1598]]= function(){var _0x4315x2=this[_0x2895[1614]]();null!= this[_0x2895[663]]&& (_0x2895[700]== this[_0x2895[663]]?_0x4315x2+= 270:_0x2895[703]== this[_0x2895[663]]?_0x4315x2+= 180:_0x2895[701]== this[_0x2895[663]]&& (_0x4315x2+= 90));return _0x4315x2};mxShape[_0x2895[202]][_0x2895[1599]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[1319]);_0x4315x2[_0x2895[57]](_0x2895[235],_0x4315x3);_0x4315x2[_0x2895[57]](_0x2895[236],_0x4315x4);_0x4315x2[_0x2895[57]](_0x2895[117],_0x4315x5);_0x4315x2[_0x2895[57]](_0x2895[119],_0x4315x9);_0x4315x2[_0x2895[57]](_0x2895[1334],_0x2895[130]);_0x4315x2[_0x2895[57]](_0x2895[1336],_0x2895[130]);_0x4315x2[_0x2895[57]](_0x2895[1377],_0x2895[1378]);this[_0x2895[252]][_0x2895[62]](_0x4315x2)};mxShape[_0x2895[202]][_0x2895[1600]]= function(_0x4315x2){_0x4315x2[_0x2895[124]][_0x2895[1617]]= _0x2895[1618]+ mxClient[_0x2895[88]]+ _0x2895[1619]};mxShape[_0x2895[202]][_0x2895[1589]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3 in _0x4315x2){var _0x4315x4=_0x4315x2[_0x4315x3];_0x4315x4[_0x2895[1587]]= (_0x4315x4[_0x2895[1587]]|| 0)- 1;0== _0x4315x4[_0x2895[1587]]&& null!= _0x4315x4[_0x2895[265]]&& _0x4315x4[_0x2895[265]][_0x2895[266]](_0x4315x4)}}};mxShape[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[252]]&& (mxEvent[_0x2895[762]](this[_0x2895[252]]),null!= this[_0x2895[252]][_0x2895[265]]&& this[_0x2895[252]][_0x2895[265]][_0x2895[266]](this[_0x2895[252]]),this[_0x2895[252]]= null);this[_0x2895[1589]](this[_0x2895[1588]]);this[_0x2895[1588]]= null};var mxStencilRegistry={stencils:[],addStencil:function(_0x4315x2,_0x4315x3){mxStencilRegistry[_0x2895[1620]][_0x4315x2]= _0x4315x3},getStencil:function(_0x4315x2){return mxStencilRegistry[_0x2895[1620]][_0x4315x2]}},mxMarker={markers:[],addMarker:function(_0x4315x2,_0x4315x3){mxMarker[_0x2895[1621]][_0x4315x2]= _0x4315x3},createMarker:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15){var _0x4315x16=mxMarker[_0x2895[1621]][_0x4315x4];return null!= _0x4315x16?_0x4315x16(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15):null}};(function(){function _0x4315x2(_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){_0x4315x3= 1.118* _0x4315x12* _0x4315x16;_0x4315x15= 1.118* _0x4315x13* _0x4315x16;_0x4315x12*= _0x4315x14+ _0x4315x16;_0x4315x13*= _0x4315x14+ _0x4315x16;var _0x4315x18=_0x4315xa[_0x2895[238]]();_0x4315x18[_0x2895[235]]-= _0x4315x3;_0x4315x18[_0x2895[236]]-= _0x4315x15;_0x4315x14= _0x4315x9!= mxConstants[_0x2895[1622]]?1:0.75;_0x4315xa[_0x2895[235]]+= -_0x4315x12* _0x4315x14- _0x4315x3;_0x4315xa[_0x2895[236]]+= -_0x4315x13* _0x4315x14- _0x4315x15;return function(){_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x18[_0x2895[235]],_0x4315x18[_0x2895[236]]);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]- _0x4315x12- _0x4315x13/ 2,_0x4315x18[_0x2895[236]]- _0x4315x13+ _0x4315x12/ 2);_0x4315x9== mxConstants[_0x2895[1622]]&& _0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]- 3* _0x4315x12/ 4,_0x4315x18[_0x2895[236]]- 3* _0x4315x13/ 4);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]+ _0x4315x13/ 2- _0x4315x12,_0x4315x18[_0x2895[236]]- _0x4315x13- _0x4315x12/ 2);_0x4315x2[_0x2895[268]]();_0x4315x17?_0x4315x2[_0x2895[1337]]():_0x4315x2[_0x2895[1336]]()}}function _0x4315x3(_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){_0x4315x15= _0x4315x9== mxConstants[_0x2895[1623]]?0.7071:0.9862;_0x4315x3= _0x4315x12* _0x4315x16* _0x4315x15;_0x4315x15*= _0x4315x13* _0x4315x16;_0x4315x12*= _0x4315x14+ _0x4315x16;_0x4315x13*= _0x4315x14+ _0x4315x16;var _0x4315x18=_0x4315xa[_0x2895[238]]();_0x4315x18[_0x2895[235]]-= _0x4315x3;_0x4315x18[_0x2895[236]]-= _0x4315x15;_0x4315xa[_0x2895[235]]+= -_0x4315x12- _0x4315x3;_0x4315xa[_0x2895[236]]+= -_0x4315x13- _0x4315x15;var _0x4315x19=_0x4315x9== mxConstants[_0x2895[1623]]?2:3.4;return function(){_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x18[_0x2895[235]],_0x4315x18[_0x2895[236]]);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]- _0x4315x12/ 2- _0x4315x13/ _0x4315x19,_0x4315x18[_0x2895[236]]+ _0x4315x12/ _0x4315x19- _0x4315x13/ 2);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]- _0x4315x12,_0x4315x18[_0x2895[236]]- _0x4315x13);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]- _0x4315x12/ 2+ _0x4315x13/ _0x4315x19,_0x4315x18[_0x2895[236]]- _0x4315x13/ 2- _0x4315x12/ _0x4315x19);_0x4315x2[_0x2895[268]]();_0x4315x17?_0x4315x2[_0x2895[1337]]():_0x4315x2[_0x2895[1336]]()}}mxMarker[_0x2895[1624]](_0x2895[693],_0x4315x2);mxMarker[_0x2895[1624]](_0x2895[694],_0x4315x2);mxMarker[_0x2895[1624]](_0x2895[392],function(_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){_0x4315x3= 1.118* _0x4315x12* _0x4315x16;_0x4315x9= 1.118* _0x4315x13* _0x4315x16;_0x4315x12*= _0x4315x14+ _0x4315x16;_0x4315x13*= _0x4315x14+ _0x4315x16;var _0x4315x18=_0x4315xa[_0x2895[238]]();_0x4315x18[_0x2895[235]]-= _0x4315x3;_0x4315x18[_0x2895[236]]-= _0x4315x9;_0x4315xa[_0x2895[235]]+= 2* -_0x4315x3;_0x4315xa[_0x2895[236]]+= 2* -_0x4315x9;return function(){_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x18[_0x2895[235]]- _0x4315x12- _0x4315x13/ 2,_0x4315x18[_0x2895[236]]- _0x4315x13+ _0x4315x12/ 2);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]],_0x4315x18[_0x2895[236]]);_0x4315x2[_0x2895[1277]](_0x4315x18[_0x2895[235]]+ _0x4315x13/ 2- _0x4315x12,_0x4315x18[_0x2895[236]]- _0x4315x13- _0x4315x12/ 2);_0x4315x2[_0x2895[1336]]()}});mxMarker[_0x2895[1624]](_0x2895[695],function(_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17){var _0x4315x18=_0x4315x14/ 2,_0x4315x19=_0x4315xa[_0x2895[238]]();_0x4315xa[_0x2895[235]]-= _0x4315x12* _0x4315x18;_0x4315xa[_0x2895[236]]-= _0x4315x13* _0x4315x18;return function(){_0x4315x2[_0x2895[680]](_0x4315x19[_0x2895[235]]- _0x4315x18,_0x4315x19[_0x2895[236]]- _0x4315x18,_0x4315x14,_0x4315x14);_0x4315x17?_0x4315x2[_0x2895[1337]]():_0x4315x2[_0x2895[1336]]()}});mxMarker[_0x2895[1624]](_0x2895[696],_0x4315x3);mxMarker[_0x2895[1624]](_0x2895[697],_0x4315x3)})();function mxActor(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxActor,mxShape);mxActor[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[513]](_0x4315x3,_0x4315x4);_0x4315x2[_0x2895[1275]]();this[_0x2895[1625]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1337]]()};mxActor[_0x2895[202]][_0x2895[1625]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x3= _0x4315x5/ 3;_0x4315x2[_0x2895[1276]](0,_0x4315x9);_0x4315x2[_0x2895[1279]](0,3* _0x4315x9/ 5,0,2* _0x4315x9/ 5,_0x4315x5/ 2,2* _0x4315x9/ 5);_0x4315x2[_0x2895[1279]](_0x4315x5/ 2- _0x4315x3,2* _0x4315x9/ 5,_0x4315x5/ 2- _0x4315x3,0,_0x4315x5/ 2,0);_0x4315x2[_0x2895[1279]](_0x4315x5/ 2+ _0x4315x3,0,_0x4315x5/ 2+ _0x4315x3,2* _0x4315x9/ 5,_0x4315x5/ 2,2* _0x4315x9/ 5);_0x4315x2[_0x2895[1279]](_0x4315x5,2* _0x4315x9/ 5,_0x4315x5,3* _0x4315x9/ 5,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[268]]()};function mxCloud(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxActor[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxCloud,mxActor);mxCloud[_0x2895[202]][_0x2895[1625]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[1276]](0.25* _0x4315x5,0.25* _0x4315x9);_0x4315x2[_0x2895[1279]](0.05* _0x4315x5,0.25* _0x4315x9,0,0.5* _0x4315x9,0.16* _0x4315x5,0.55* _0x4315x9);_0x4315x2[_0x2895[1279]](0,0.66* _0x4315x9,0.18* _0x4315x5,0.9* _0x4315x9,0.31* _0x4315x5,0.8* _0x4315x9);_0x4315x2[_0x2895[1279]](0.4* _0x4315x5,_0x4315x9,0.7* _0x4315x5,_0x4315x9,0.8* _0x4315x5,0.8* _0x4315x9);_0x4315x2[_0x2895[1279]](_0x4315x5,0.8* _0x4315x9,_0x4315x5,0.6* _0x4315x9,0.875* _0x4315x5,0.5* _0x4315x9);_0x4315x2[_0x2895[1279]](_0x4315x5,0.3* _0x4315x9,0.8* _0x4315x5,0.1* _0x4315x9,0.625* _0x4315x5,0.2* _0x4315x9);_0x4315x2[_0x2895[1279]](0.5* _0x4315x5,0.05* _0x4315x9,0.3* _0x4315x5,0.05* _0x4315x9,0.25* _0x4315x5,0.25* _0x4315x9);_0x4315x2[_0x2895[268]]()};function mxRectangleShape(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxRectangleShape,mxShape);mxRectangleShape[_0x2895[202]][_0x2895[1567]]= function(){return !this[_0x2895[1606]]&& !this[_0x2895[617]]&& 0== this[_0x2895[603]]};mxRectangleShape[_0x2895[202]][_0x2895[1601]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(this[_0x2895[1606]]){var _0x4315xa=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ARCSIZE,100* mxConstants[_0x2895[1557]])/ 100,_0x4315xa=Math[_0x2895[243]](_0x4315x5* _0x4315xa,_0x4315x9* _0x4315xa);_0x4315x2[_0x2895[1320]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315xa)}else {_0x4315x2[_0x2895[1319]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)};_0x4315x2[_0x2895[1337]]()};mxRectangleShape[_0x2895[202]][_0x2895[1602]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){this[_0x2895[617]]&& this[_0x2895[1604]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,this[_0x2895[1603]](_0x4315x5+ this[_0x2895[1307]],_0x4315x9+ this[_0x2895[1307]]))};mxRectangleShape[_0x2895[202]][_0x2895[1575]]= function(){this[_0x2895[1626]](this[_0x2895[252]]);this[_0x2895[1627]](this[_0x2895[252]]);this[_0x2895[1628]](this[_0x2895[252]])};mxRectangleShape[_0x2895[202]][_0x2895[1626]]= function(_0x4315x2){var _0x4315x3=9<= document[_0x2895[5]]?0:Math[_0x2895[430]](this[_0x2895[1307]]* this[_0x2895[255]]);_0x4315x2[_0x2895[124]][_0x2895[1629]]= Math[_0x2895[160]](1,_0x4315x3)+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[277]]= _0x2895[188];_0x4315x2[_0x2895[124]][_0x2895[361]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]]- _0x4315x3/ 2)+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[125]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]]- _0x4315x3/ 2)+ _0x2895[168];_0x2895[462]== document[_0x2895[135]]&& (_0x4315x3= -_0x4315x3);_0x4315x2[_0x2895[124]][_0x2895[117]]= Math[_0x2895[488]](Math[_0x2895[160]](0,this[_0x2895[1562]][_0x2895[117]]+ _0x4315x3))+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[119]]= Math[_0x2895[488]](Math[_0x2895[160]](0,this[_0x2895[1562]][_0x2895[119]]+ _0x4315x3))+ _0x2895[168]};mxRectangleShape[_0x2895[202]][_0x2895[1628]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1336]];null!= _0x4315x3&& _0x4315x3!= mxConstants[_0x2895[217]]?(_0x4315x2[_0x2895[124]][_0x2895[1630]]= _0x4315x3,this[_0x2895[1522]]?_0x4315x2[_0x2895[124]][_0x2895[465]]= _0x2895[648]:0< this[_0x2895[1307]]&& (_0x4315x2[_0x2895[124]][_0x2895[465]]= _0x2895[1631]),_0x4315x2[_0x2895[124]][_0x2895[1629]]= Math[_0x2895[160]](1,Math[_0x2895[430]](this[_0x2895[1307]]* this[_0x2895[255]]))+ _0x2895[168]):_0x4315x2[_0x2895[124]][_0x2895[1629]]= _0x2895[946];_0x4315x3= this[_0x2895[1334]];null!= _0x4315x3&& _0x4315x3!= mxConstants[_0x2895[217]]?(_0x4315x2[_0x2895[124]][_0x2895[1028]]= _0x4315x3,_0x4315x2[_0x2895[124]][_0x2895[1617]]= _0x2895[130]):this[_0x2895[1229]]?_0x4315x2[_0x2895[124]][_0x2895[1028]]= _0x2895[1373]:8== document[_0x2895[5]]?mxUtils[_0x2895[1584]](_0x4315x2):this[_0x2895[1600]](_0x4315x2)};mxRectangleShape[_0x2895[202]][_0x2895[1627]]= function(_0x4315x2){var _0x4315x3=_0x2895[110];100> this[_0x2895[461]]&& (_0x4315x3+= _0x2895[459]+ this[_0x2895[461]]+ _0x2895[460]);this[_0x2895[1596]]&& (_0x4315x3+= _0x2895[1632]+ Math[_0x2895[488]](mxConstants[_0x2895[1237]]* this[_0x2895[255]])+ _0x2895[1633]+ Math[_0x2895[488]](mxConstants[_0x2895[1238]]* this[_0x2895[255]])+ _0x2895[1634]+ mxConstants[_0x2895[1235]]+ _0x2895[1635]);if(this[_0x2895[1299]]){var _0x4315x4=this[_0x2895[1334]],_0x4315x5=this[_0x2895[1299]],_0x4315x9=_0x2895[468],_0x4315xa={east:0,south:1,west:2,north:3},_0x4315x12=null!= this[_0x2895[663]]?_0x4315xa[this[_0x2895[663]]]:0;null!= this[_0x2895[607]]&& (_0x4315x12= mxUtils[_0x2895[1454]](_0x4315x12+ _0x4315xa[this[_0x2895[607]]]- 1,4));1== _0x4315x12?(_0x4315x9= _0x2895[500],_0x4315xa= _0x4315x4,_0x4315x4= _0x4315x5,_0x4315x5= _0x4315xa):2== _0x4315x12?(_0x4315xa= _0x4315x4,_0x4315x4= _0x4315x5,_0x4315x5= _0x4315xa):3== _0x4315x12&& (_0x4315x9= _0x2895[500]);_0x4315x3+= _0x2895[1636]+ _0x4315x4+ _0x2895[1637]+ _0x4315x5+ _0x2895[1638]+ _0x4315x9+ _0x2895[1635]};_0x4315x2[_0x2895[124]][_0x2895[347]]= _0x4315x3};function mxEllipse(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxEllipse,mxShape);mxEllipse[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[680]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1337]]()};function mxDoubleEllipse(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxDoubleEllipse,mxShape);mxDoubleEllipse[_0x2895[202]][_0x2895[1460]]= 10;mxDoubleEllipse[_0x2895[202]][_0x2895[1601]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[680]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1337]]()};mxDoubleEllipse[_0x2895[202]][_0x2895[1602]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=Math[_0x2895[243]](4,Math[_0x2895[243]](_0x4315x5/ 5,_0x4315x9/ 5));_0x4315x5-= 2* _0x4315xa;_0x4315x9-= 2* _0x4315xa;0< _0x4315x5&& 0< _0x4315x9&& _0x4315x2[_0x2895[680]](_0x4315x3+ _0x4315xa,_0x4315x4+ _0x4315xa,_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1336]]()};function mxRhombus(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxRhombus,mxShape);mxRhombus[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x5/ 2,_0x4315x12=_0x4315x9/ 2;_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x3+ _0x4315xa,_0x4315x4);_0x4315x2[_0x2895[1277]](_0x4315x3+ _0x4315x5,_0x4315x4+ _0x4315x12);_0x4315x2[_0x2895[1277]](_0x4315x3+ _0x4315xa,_0x4315x4+ _0x4315x9);_0x4315x2[_0x2895[1277]](_0x4315x3,_0x4315x4+ _0x4315x12);_0x4315x2[_0x2895[268]]();_0x4315x2[_0x2895[1337]]()};function mxPolyline(_0x4315x2,_0x4315x3,_0x4315x4){mxShape[_0x2895[239]](this);this[_0x2895[1525]]= _0x4315x2;this[_0x2895[1336]]= _0x4315x3;this[_0x2895[1307]]= null!= _0x4315x4?_0x4315x4:1}mxUtils[_0x2895[1284]](mxPolyline,mxShape);mxPolyline[_0x2895[202]][_0x2895[1614]]= function(){return 0};mxPolyline[_0x2895[202]][_0x2895[1594]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1639]](_0x4315x2,_0x4315x3,this[_0x2895[1606]])};mxPolyline[_0x2895[202]][_0x2895[1639]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ 2,_0x4315x9=_0x4315x3[0],_0x4315xa=_0x4315x3[_0x4315x3[_0x2895[67]]- 1];_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]]);for(var _0x4315x12=1;_0x4315x12< _0x4315x3[_0x2895[67]]- 1;_0x4315x12++){var _0x4315x13=_0x4315x3[_0x4315x12],_0x4315x14=_0x4315x9[_0x2895[235]]- _0x4315x13[_0x2895[235]],_0x4315x9=_0x4315x9[_0x2895[236]]- _0x4315x13[_0x2895[236]];if(_0x4315x4&& _0x4315x12< _0x4315x3[_0x2895[67]]- 1&& (0!= _0x4315x14|| 0!= _0x4315x9)){var _0x4315x15=Math[_0x2895[428]](_0x4315x14* _0x4315x14+ _0x4315x9* _0x4315x9),_0x4315x14=_0x4315x14* Math[_0x2895[243]](_0x4315x5,_0x4315x15/ 2)/ _0x4315x15,_0x4315x9=_0x4315x9* Math[_0x2895[243]](_0x4315x5,_0x4315x15/ 2)/ _0x4315x15;_0x4315x2[_0x2895[1277]](_0x4315x13[_0x2895[235]]+ _0x4315x14,_0x4315x13[_0x2895[236]]+ _0x4315x9);_0x4315x9= _0x4315x3[_0x4315x12+ 1];_0x4315x14= _0x4315x9[_0x2895[235]]- _0x4315x13[_0x2895[235]];_0x4315x9= _0x4315x9[_0x2895[236]]- _0x4315x13[_0x2895[236]];_0x4315x15= Math[_0x2895[160]](1,Math[_0x2895[428]](_0x4315x14* _0x4315x14+ _0x4315x9* _0x4315x9));_0x4315x14= _0x4315x14* Math[_0x2895[243]](_0x4315x5,_0x4315x15/ 2)/ _0x4315x15;_0x4315x9= _0x4315x9* Math[_0x2895[243]](_0x4315x5,_0x4315x15/ 2)/ _0x4315x15;_0x4315x14= _0x4315x13[_0x2895[235]]+ _0x4315x14;_0x4315x9= _0x4315x13[_0x2895[236]]+ _0x4315x9;_0x4315x2[_0x2895[1278]](_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],_0x4315x14,_0x4315x9);_0x4315x13= new mxPoint(_0x4315x14,_0x4315x9)}else {_0x4315x2[_0x2895[1277]](_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]])};_0x4315x9= _0x4315x13};_0x4315x2[_0x2895[1277]](_0x4315xa[_0x2895[235]],_0x4315xa[_0x2895[236]]);_0x4315x2[_0x2895[1336]]()};function mxArrow(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){mxShape[_0x2895[239]](this);this[_0x2895[1525]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1;this[_0x2895[1640]]= null!= _0x4315x9?_0x4315x9:mxConstants[_0x2895[1641]];this[_0x2895[657]]= null!= _0x4315xa?_0x4315xa:mxConstants[_0x2895[1642]];this[_0x2895[643]]= null!= _0x4315x12?_0x4315x12:mxConstants[_0x2895[1643]]}mxUtils[_0x2895[1284]](mxArrow,mxShape);mxArrow[_0x2895[202]][_0x2895[1594]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxConstants[_0x2895[1642]],_0x4315x5=mxConstants[_0x2895[1641]],_0x4315x9=mxConstants[_0x2895[1643]],_0x4315xa=_0x4315x3[0],_0x4315x12=_0x4315x3[_0x4315x3[_0x2895[67]]- 1],_0x4315x13=_0x4315x12[_0x2895[235]]- _0x4315xa[_0x2895[235]],_0x4315x14=_0x4315x12[_0x2895[236]]- _0x4315xa[_0x2895[236]],_0x4315x15=Math[_0x2895[428]](_0x4315x13* _0x4315x13+ _0x4315x14* _0x4315x14),_0x4315x16=_0x4315x15- 2* _0x4315x4- _0x4315x9,_0x4315x13=_0x4315x13/ _0x4315x15,_0x4315x14=_0x4315x14/ _0x4315x15,_0x4315x15=_0x4315x5* _0x4315x14/ 3,_0x4315x5=-_0x4315x5* _0x4315x13/ 3,_0x4315x9=_0x4315xa[_0x2895[235]]- _0x4315x15/ 2+ _0x4315x4* _0x4315x13,_0x4315xa=_0x4315xa[_0x2895[236]]- _0x4315x5/ 2+ _0x4315x4* _0x4315x14,_0x4315x17=_0x4315x9+ _0x4315x15,_0x4315x18=_0x4315xa+ _0x4315x5,_0x4315x19=_0x4315x17+ _0x4315x16* _0x4315x13,_0x4315x16=_0x4315x18+ _0x4315x16* _0x4315x14,_0x4315x1a=_0x4315x19+ _0x4315x15,_0x4315x1b=_0x4315x16+ _0x4315x5,_0x4315x1c=_0x4315x1a- 3* _0x4315x15,_0x4315x1d=_0x4315x1b- 3* _0x4315x5;_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x9,_0x4315xa);_0x4315x2[_0x2895[1277]](_0x4315x17,_0x4315x18);_0x4315x2[_0x2895[1277]](_0x4315x19,_0x4315x16);_0x4315x2[_0x2895[1277]](_0x4315x1a,_0x4315x1b);_0x4315x2[_0x2895[1277]](_0x4315x12[_0x2895[235]]- _0x4315x4* _0x4315x13,_0x4315x12[_0x2895[236]]- _0x4315x4* _0x4315x14);_0x4315x2[_0x2895[1277]](_0x4315x1c,_0x4315x1d);_0x4315x2[_0x2895[1277]](_0x4315x1c+ _0x4315x15,_0x4315x1d+ _0x4315x5);_0x4315x2[_0x2895[268]]();_0x4315x2[_0x2895[1337]]()};function mxText(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15,_0x4315x16,_0x4315x17,_0x4315x18,_0x4315x19,_0x4315x1a,_0x4315x1b,_0x4315x1c,_0x4315x1d,_0x4315x1e,_0x4315x1f){mxShape[_0x2895[239]](this);this[_0x2895[131]]= _0x4315x2;this[_0x2895[1562]]= _0x4315x3;this[_0x2895[352]]= null!= _0x4315x9?_0x4315x9:_0x2895[586];this[_0x2895[611]]= null!= _0x4315x4?_0x4315x4:_0x2895[110];this[_0x2895[552]]= null!= _0x4315x5?_0x4315x5:_0x2895[110];this[_0x2895[1288]]= null!= _0x4315xa?_0x4315xa:mxConstants[_0x2895[484]];this[_0x2895[803]]= null!= _0x4315x12?_0x4315x12:mxConstants[_0x2895[483]];this[_0x2895[666]]= null!= _0x4315x13?_0x4315x13:mxConstants[_0x2895[1644]];this[_0x2895[657]]= parseInt(_0x4315x14|| 2);this[_0x2895[658]]= this[_0x2895[657]]+ parseInt(_0x4315x15|| 0);this[_0x2895[661]]= this[_0x2895[657]]+ parseInt(_0x4315x16|| 0);this[_0x2895[660]]= this[_0x2895[657]]+ parseInt(_0x4315x17|| 0);this[_0x2895[659]]= this[_0x2895[657]]+ parseInt(_0x4315x18|| 0);this[_0x2895[662]]= null!= _0x4315x19?_0x4315x19:!0;this[_0x2895[1537]]= _0x4315x1a;this[_0x2895[467]]= _0x4315x1b;this[_0x2895[1333]]= null!= _0x4315x1c?_0x4315x1c:!1;this[_0x2895[1645]]= null!= _0x4315x1d?_0x4315x1d:!1;this[_0x2895[277]]= null!= _0x4315x1e?_0x4315x1e:_0x2895[189];this[_0x2895[629]]= null!= _0x4315x1f?_0x4315x1f:0;this[_0x2895[603]]= 0}mxUtils[_0x2895[1284]](mxText,mxShape);mxText[_0x2895[202]][_0x2895[1646]]= 0;mxText[_0x2895[202]][_0x2895[1647]]= 0;mxText[_0x2895[202]][_0x2895[1648]]= 0;mxText[_0x2895[202]][_0x2895[1649]]= 0;mxText[_0x2895[202]][_0x2895[1650]]= !0;mxText[_0x2895[202]][_0x2895[1616]]= -90;mxText[_0x2895[202]][_0x2895[1651]]= !0;mxText[_0x2895[202]][_0x2895[1652]]= !1;mxText[_0x2895[202]][_0x2895[1566]]= function(){return !1};mxText[_0x2895[202]][_0x2895[1567]]= function(){return 8!= document[_0x2895[5]]};mxText[_0x2895[202]][_0x2895[1568]]= function(){return 0};mxText[_0x2895[202]][_0x2895[1574]]= function(){return null!= this[_0x2895[1562]]&& !isNaN(this[_0x2895[1562]][_0x2895[235]])&& !isNaN(this[_0x2895[1562]][_0x2895[236]])&& !isNaN(this[_0x2895[1562]][_0x2895[117]])&& !isNaN(this[_0x2895[1562]][_0x2895[119]])};mxText[_0x2895[202]][_0x2895[1577]]= function(){var _0x4315x2=this[_0x2895[252]];8== document[_0x2895[5]]&& null!= _0x4315x2[_0x2895[285]]&& (_0x4315x2= _0x4315x2[_0x2895[285]],null!= _0x4315x2[_0x2895[285]]&& (_0x4315x2= _0x4315x2[_0x2895[285]]));this[_0x2895[1563]]= this[_0x2895[1562]][_0x2895[238]]();var _0x4315x3=this[_0x2895[1615]]();if(!this[_0x2895[1652]]&& null!= _0x4315x2&& _0x2895[1334]!= this[_0x2895[277]]&& (!this[_0x2895[1645]]|| !this[_0x2895[1651]])){var _0x4315x4=null,_0x4315x5=null;if(null!= _0x4315x2[_0x2895[538]]){if(null!= _0x4315x2[_0x2895[285]]&& null!= _0x4315x2[_0x2895[285]][_0x2895[285]]&& _0x2895[1435]== _0x4315x2[_0x2895[285]][_0x2895[285]][_0x2895[301]]){_0x4315x2= _0x4315x2[_0x2895[285]][_0x2895[285]],_0x4315x4= this[_0x2895[1333]]?this[_0x2895[1562]][_0x2895[117]]:parseInt(_0x4315x2[_0x2895[284]](_0x2895[117]))* this[_0x2895[255]],_0x4315x5= parseInt(_0x4315x2[_0x2895[284]](_0x2895[119]))* this[_0x2895[255]]}else {_0x4315x3= _0x4315x2[_0x2895[1451]]();if(0== _0x4315x3[_0x2895[117]]&& 0== _0x4315x3[_0x2895[119]]){return};this[_0x2895[1563]]= new mxRectangle(_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]]);_0x4315x3= 0}}else {_0x4315x5= this[_0x2895[724]][_0x2895[441]][_0x2895[1653]],null!= this[_0x2895[359]]&& null!= this[_0x2895[167]]?(_0x4315x4= this[_0x2895[1333]]?this[_0x2895[1562]][_0x2895[117]]:this[_0x2895[359]]* this[_0x2895[255]],_0x4315x5= this[_0x2895[167]]* this[_0x2895[255]]):null!= _0x4315x5?(this[_0x2895[1441]](_0x4315x5),this[_0x2895[1654]](_0x4315x5),mxUtils[_0x2895[1331]](this[_0x2895[131]])?_0x4315x5[_0x2895[339]]= this[_0x2895[131]][_0x2895[342]]:(_0x4315x4= this[_0x2895[1650]]?this[_0x2895[131]][_0x2895[230]](/\n/g,_0x2895[1453]):this[_0x2895[131]],_0x4315x5[_0x2895[339]]= _0x4315x4),_0x4315x4= this[_0x2895[1333]]?this[_0x2895[1562]][_0x2895[117]]:_0x4315x5[_0x2895[359]]* this[_0x2895[255]],_0x4315x5= _0x4315x5[_0x2895[167]]* this[_0x2895[255]]):(_0x4315x4= this[_0x2895[1333]]?this[_0x2895[1562]][_0x2895[117]]:_0x4315x2[_0x2895[359]]* this[_0x2895[255]],_0x4315x5= _0x4315x2[_0x2895[167]]* this[_0x2895[255]])};null!= _0x4315x4&& null!= _0x4315x5&& (this[_0x2895[1563]]= new mxRectangle(this[_0x2895[1562]][_0x2895[235]]+ this[_0x2895[1655]][_0x2895[235]]* _0x4315x4,this[_0x2895[1562]][_0x2895[236]]+ this[_0x2895[1655]][_0x2895[236]]* _0x4315x5,_0x4315x4,_0x4315x5))}else {this[_0x2895[1563]][_0x2895[235]]+= this[_0x2895[1655]][_0x2895[235]]* this[_0x2895[1563]][_0x2895[117]],this[_0x2895[1563]][_0x2895[236]]+= this[_0x2895[1655]][_0x2895[236]]* this[_0x2895[1563]][_0x2895[119]]};null!= this[_0x2895[1563]]&& (0!= _0x4315x3&& (_0x4315x3= mxUtils[_0x2895[1613]](this[_0x2895[1563]],_0x4315x3),this[_0x2895[1563]][_0x2895[235]]= _0x4315x3[_0x2895[235]],this[_0x2895[1563]][_0x2895[236]]= _0x4315x3[_0x2895[236]],mxClient[_0x2895[496]]|| (this[_0x2895[1563]][_0x2895[117]]= _0x4315x3[_0x2895[117]],this[_0x2895[1563]][_0x2895[119]]= _0x4315x3[_0x2895[119]])),this[_0x2895[1563]][_0x2895[235]]= Math[_0x2895[519]](this[_0x2895[1563]][_0x2895[235]]),this[_0x2895[1563]][_0x2895[236]]= Math[_0x2895[519]](this[_0x2895[1563]][_0x2895[236]]),this[_0x2895[1563]][_0x2895[117]]= Math[_0x2895[430]](this[_0x2895[1563]][_0x2895[117]]),this[_0x2895[1563]][_0x2895[119]]= Math[_0x2895[430]](this[_0x2895[1563]][_0x2895[119]]))};mxText[_0x2895[202]][_0x2895[1598]]= function(){return 0};mxText[_0x2895[202]][_0x2895[1615]]= function(){return null!= this[_0x2895[724]]&& null!= this[_0x2895[724]][_0x2895[253]]?this[_0x2895[724]][_0x2895[253]][_0x2895[1615]]():0};mxText[_0x2895[202]][_0x2895[1590]]= function(){return !this[_0x2895[662]]&& null!= this[_0x2895[724]]&& this[_0x2895[724]][_0x2895[441]][_0x2895[1179]][_0x2895[251]][_0x2895[1193]](this[_0x2895[724]][_0x2895[246]])};mxText[_0x2895[202]][_0x2895[1592]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){mxShape[_0x2895[202]][_0x2895[1592]][_0x2895[183]](this,arguments);_0x4315x2[_0x2895[1259]](this[_0x2895[352]]);_0x4315x2[_0x2895[1260]](this[_0x2895[1537]]);_0x4315x2[_0x2895[1262]](this[_0x2895[467]]);_0x4315x2[_0x2895[1265]](this[_0x2895[1288]]);_0x4315x2[_0x2895[1264]](this[_0x2895[803]]);_0x4315x2[_0x2895[1266]](this[_0x2895[666]])};mxText[_0x2895[202]][_0x2895[1586]]= function(){this[_0x2895[252]][_0x2895[124]][_0x2895[361]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]])+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[125]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]])+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[117]]= _0x2895[942];this[_0x2895[252]][_0x2895[124]][_0x2895[119]]= _0x2895[942];this[_0x2895[252]][_0x2895[124]][_0x2895[277]]= _0x2895[189]};mxText[_0x2895[202]][_0x2895[1209]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[255]],_0x4315x4=this[_0x2895[1562]][_0x2895[235]]/ _0x4315x3,_0x4315x5=this[_0x2895[1562]][_0x2895[236]]/ _0x4315x3,_0x4315x9=this[_0x2895[1562]][_0x2895[117]]/ _0x4315x3,_0x4315x3=this[_0x2895[1562]][_0x2895[119]]/ _0x4315x3;this[_0x2895[1591]](_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315x3);this[_0x2895[1592]](_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315x3);var _0x4315xa=mxUtils[_0x2895[1331]](this[_0x2895[131]])|| this[_0x2895[507]]== mxConstants[_0x2895[1656]],_0x4315x12=_0x4315xa|| _0x4315x2 instanceof mxVmlCanvas2D?_0x2895[1428]:_0x2895[110],_0x4315x13=this[_0x2895[131]];!_0x4315xa&& _0x2895[1428]== _0x4315x12&& (_0x4315x13= mxUtils[_0x2895[321]](_0x4315x13,!1));_0x4315x13= !mxUtils[_0x2895[1331]](this[_0x2895[131]])&& this[_0x2895[1650]]&& _0x2895[1428]== _0x4315x12?_0x4315x13[_0x2895[230]](/\n/g,_0x2895[1453]):_0x4315x13;_0x4315x2[_0x2895[963]](_0x4315x4,_0x4315x5,_0x4315x9,_0x4315x3,_0x4315x13,this[_0x2895[611]],this[_0x2895[552]],this[_0x2895[1333]],_0x4315x12,_0x2895[1334]== this[_0x2895[277]],this[_0x2895[1645]],this[_0x2895[1615]]())};mxText[_0x2895[202]][_0x2895[1575]]= function(){var _0x4315x2=this[_0x2895[252]][_0x2895[124]];_0x4315x2[_0x2895[461]]= 1> this[_0x2895[461]]?this[_0x2895[461]]:_0x2895[110];_0x4315x2[_0x2895[277]]= _0x2895[110];_0x4315x2[_0x2895[117]]= _0x2895[110];_0x4315x2[_0x2895[119]]= _0x2895[110];this[_0x2895[1441]](this[_0x2895[252]]);this[_0x2895[1654]](this[_0x2895[252]]);this[_0x2895[1657]]();this[_0x2895[167]]= this[_0x2895[359]]= null;null!= mxClient[_0x2895[73]]?this[_0x2895[1658]]():this[_0x2895[1659]]()};mxText[_0x2895[202]][_0x2895[1658]]= function(){var _0x4315x2=this[_0x2895[1615]](),_0x4315x3=this[_0x2895[252]][_0x2895[124]],_0x4315x4=this[_0x2895[1655]][_0x2895[235]],_0x4315x5=this[_0x2895[1655]][_0x2895[236]];0!= _0x4315x2?(_0x4315x3[mxClient[_0x2895[73]]+ _0x2895[1660]]= 100* -_0x4315x4+ _0x2895[1661]+ 100* -_0x4315x5+ _0x2895[229],_0x4315x3[mxClient[_0x2895[73]]+ _0x2895[1662]]= _0x2895[536]+ 100* _0x4315x4+ _0x2895[1663]+ 100* _0x4315x5+ _0x2895[1664]+ this[_0x2895[255]]+ _0x2895[1665]+ _0x4315x2+ _0x2895[1666]):(_0x4315x3[mxClient[_0x2895[73]]+ _0x2895[1660]]= _0x2895[1667],_0x4315x3[mxClient[_0x2895[73]]+ _0x2895[1662]]= _0x2895[1402]+ this[_0x2895[255]]+ _0x2895[1393]+ 100* _0x4315x4+ _0x2895[1663]+ 100* _0x4315x5+ _0x2895[1668]);_0x4315x3[_0x2895[361]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]])+ _0x2895[168];_0x4315x3[_0x2895[125]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]])+ _0x2895[168]};mxText[_0x2895[202]][_0x2895[1659]]= function(){var _0x4315x2=this[_0x2895[252]][_0x2895[124]],_0x4315x3=this[_0x2895[1655]][_0x2895[235]],_0x4315x4=this[_0x2895[1655]][_0x2895[236]],_0x4315x5=this[_0x2895[255]];_0x4315x2[_0x2895[347]]= _0x2895[110];var _0x4315x9=0,_0x4315xa=0,_0x4315x12=null!= this[_0x2895[724]]?this[_0x2895[724]][_0x2895[441]][_0x2895[1653]]:null;if(null!= _0x4315x12){_0x4315x12[_0x2895[124]][_0x2895[277]]= _0x2895[110];_0x4315x12[_0x2895[124]][_0x2895[119]]= _0x2895[110];_0x4315x12[_0x2895[124]][_0x2895[117]]= _0x2895[110];this[_0x2895[1441]](_0x4315x12);this[_0x2895[1654]](_0x4315x12);if(mxUtils[_0x2895[1331]](this[_0x2895[131]])){_0x4315x12[_0x2895[339]]= this[_0x2895[131]][_0x2895[342]]}else {var _0x4315x13=this[_0x2895[131]];this[_0x2895[507]]!= mxConstants[_0x2895[1656]]&& (_0x4315x13= mxUtils[_0x2895[321]](_0x4315x13,!1));_0x4315x13= this[_0x2895[1650]]?_0x4315x13[_0x2895[230]](/\n/g,_0x2895[1453]):_0x4315x13;_0x4315x12[_0x2895[339]]= _0x4315x13};_0x4315x9= _0x4315x12[_0x2895[359]]+ 2;_0x4315xa= _0x4315x12[_0x2895[167]]+ 2}else {_0x4315x9= this[_0x2895[252]][_0x2895[359]],_0x4315xa= this[_0x2895[252]][_0x2895[167]]+ 1};this[_0x2895[359]]= _0x4315x9;this[_0x2895[167]]= _0x4315xa;_0x4315x12= this[_0x2895[1562]][_0x2895[117]]/ _0x4315x5;_0x4315x13= this[_0x2895[1562]][_0x2895[119]]/ _0x4315x5;mxClient[_0x2895[496]]&& (this[_0x2895[1645]]|| _0x2895[1334]== this[_0x2895[277]])&& 0< _0x4315x13?(_0x4315x13= Math[_0x2895[243]](_0x4315x13,_0x4315xa),_0x4315x2[_0x2895[119]]= Math[_0x2895[488]](_0x4315x13+ 1)+ _0x2895[168]):_0x4315x13= _0x4315xa;_0x2895[1334]!= this[_0x2895[277]]&& (mxClient[_0x2895[496]]&& (this[_0x2895[1645]]|| this[_0x2895[1333]])&& 0< _0x4315x12?(_0x4315x12= Math[_0x2895[243]](_0x4315x12,_0x4315x9),_0x4315x2[_0x2895[117]]= Math[_0x2895[488]](_0x4315x12)+ _0x2895[168]):_0x4315x12= _0x4315x9);var _0x4315x13=_0x4315x13* _0x4315x5,_0x4315x12=_0x4315x12* _0x4315x5,_0x4315x9=this[_0x2895[1615]]()* (Math[_0x2895[424]]/ 180),_0x4315xa=parseFloat(parseFloat(Math[_0x2895[426]](_0x4315x9))[_0x2895[1293]](8)),_0x4315x14=parseFloat(parseFloat(Math[_0x2895[427]](-_0x4315x9))[_0x2895[1293]](8)),_0x4315x9=_0x4315x9% (2* Math[_0x2895[424]]);0> _0x4315x9&& (_0x4315x9+= 2* Math[_0x2895[424]]);_0x4315x9%= Math[_0x2895[424]];_0x4315x9> Math[_0x2895[424]]/ 2&& (_0x4315x9= Math[_0x2895[424]]- _0x4315x9);var _0x4315x15=Math[_0x2895[426]](_0x4315x9),_0x4315x16=Math[_0x2895[427]](-_0x4315x9),_0x4315x3=_0x4315x12* -(_0x4315x3+ 0.5),_0x4315x4=_0x4315x13* -(_0x4315x4+ 0.5),_0x4315x17=(_0x4315x13- _0x4315x13* _0x4315x15+ _0x4315x12* _0x4315x16)/ 2+ _0x4315x14* _0x4315x3- _0x4315xa* _0x4315x4;0!= _0x4315x9&& (_0x4315x2[_0x2895[347]]= _0x2895[1505]+ _0x4315xa+ _0x2895[1506]+ _0x4315x14+ _0x2895[1507]+ -_0x4315x14+ _0x2895[1508]+ _0x4315xa+ _0x2895[1509]);_0x4315x2[_0x2895[499]]= _0x4315x5;_0x4315x2[_0x2895[361]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]]+ ((_0x4315x12- _0x4315x12* _0x4315x15+ _0x4315x13* _0x4315x16)/ 2- _0x4315xa* _0x4315x3- _0x4315x14* _0x4315x4)- _0x4315x12/ 2)+ _0x2895[168];_0x4315x2[_0x2895[125]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]]+ _0x4315x17- _0x4315x13/ 2)+ _0x2895[168]};mxText[_0x2895[202]][_0x2895[1657]]= function(){if(mxUtils[_0x2895[1331]](this[_0x2895[131]])){this[_0x2895[252]][_0x2895[339]]= _0x2895[110],this[_0x2895[252]][_0x2895[62]](this[_0x2895[131]])}else {var _0x4315x2=this[_0x2895[131]];this[_0x2895[507]]!= mxConstants[_0x2895[1656]]&& (_0x4315x2= mxUtils[_0x2895[321]](_0x4315x2,!1));var _0x4315x2=this[_0x2895[1650]]?_0x4315x2[_0x2895[230]](/\n/g,_0x2895[1453]):_0x4315x2,_0x4315x3=null!= this[_0x2895[1537]]&& this[_0x2895[1537]]!= mxConstants[_0x2895[217]]?this[_0x2895[1537]]:null,_0x4315x4=null!= this[_0x2895[467]]&& this[_0x2895[467]]!= mxConstants[_0x2895[217]]?this[_0x2895[467]]:null;if(null!= _0x4315x3|| null!= _0x4315x4){if(_0x2895[1334]== this[_0x2895[277]]){null!= _0x4315x3&& (this[_0x2895[252]][_0x2895[124]][_0x2895[1028]]= _0x4315x3),null!= _0x4315x4&& (this[_0x2895[252]][_0x2895[124]][_0x2895[467]]= _0x2895[1669]+ _0x4315x4)}else {var _0x4315x5=_0x2895[110];null!= _0x4315x3&& (_0x4315x5+= _0x2895[1418]+ _0x4315x3+ _0x2895[471]);null!= _0x4315x4&& (_0x4315x5+= _0x2895[1419]+ _0x4315x4+ _0x2895[471]);_0x4315x2= _0x2895[1670]+ _0x4315x5+ _0x2895[1671]+ this[_0x2895[252]][_0x2895[124]][_0x2895[489]]+ _0x2895[1423]+ _0x4315x2+ _0x2895[1424];this[_0x2895[252]][_0x2895[124]][_0x2895[489]]= _0x2895[110]}};this[_0x2895[252]][_0x2895[339]]= _0x4315x2}};mxText[_0x2895[202]][_0x2895[1441]]= function(_0x4315x2){_0x4315x2= _0x4315x2[_0x2895[124]];_0x4315x2[_0x2895[489]]= Math[_0x2895[488]](this[_0x2895[803]]* mxConstants[_0x2895[490]])+ _0x2895[168];_0x4315x2[_0x2895[487]]= Math[_0x2895[488]](this[_0x2895[803]])+ _0x2895[168];_0x4315x2[_0x2895[486]]= this[_0x2895[1288]];_0x4315x2[_0x2895[123]]= _0x2895[125];_0x4315x2[_0x2895[352]]= this[_0x2895[352]];_0x4315x2[_0x2895[1452]]= (this[_0x2895[666]]& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]]?_0x2895[1447]:_0x2895[110];_0x4315x2[_0x2895[666]]= (this[_0x2895[666]]& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]]?_0x2895[1449]:_0x2895[110];_0x4315x2[_0x2895[1498]]= (this[_0x2895[666]]& mxConstants[_0x2895[1414]])== mxConstants[_0x2895[1414]]?_0x2895[355]:_0x2895[110];_0x4315x2[_0x2895[1165]]= this[_0x2895[611]]== mxConstants[_0x2895[479]]?_0x2895[698]:this[_0x2895[611]]== mxConstants[_0x2895[480]]?_0x2895[699]:_0x2895[361]};mxText[_0x2895[202]][_0x2895[1654]]= function(_0x4315x2){var _0x4315x3=Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[117]]/ this[_0x2895[255]]),_0x4315x4=Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[119]]/ this[_0x2895[255]]);_0x4315x2= _0x4315x2[_0x2895[124]];this[_0x2895[1645]]?(_0x4315x2[_0x2895[277]]= _0x2895[188],0< _0x4315x4&& (_0x4315x2[_0x2895[1503]]= _0x4315x4+ _0x2895[168]),0< _0x4315x3&& (_0x4315x2[_0x2895[117]]= _0x4315x3+ _0x2895[168])):_0x2895[1334]== this[_0x2895[277]]&& (_0x4315x2[_0x2895[117]]= _0x4315x3+ _0x2895[168],0< _0x4315x4&& (_0x4315x2[_0x2895[1503]]= _0x4315x4+ _0x2895[168]));this[_0x2895[1333]]?(!this[_0x2895[1645]]&& 0< _0x4315x3&& (_0x4315x2[_0x2895[117]]= _0x4315x3+ _0x2895[168]),_0x4315x2[_0x2895[493]]= _0x2895[1502]):_0x4315x2[_0x2895[493]]= _0x2895[494]};mxText[_0x2895[202]][_0x2895[1672]]= function(){this[_0x2895[1655]]= mxUtils[_0x2895[1501]](this[_0x2895[611]],this[_0x2895[552]])};mxText[_0x2895[202]][_0x2895[1673]]= function(){var _0x4315x2=0,_0x4315x3=0,_0x4315x2=this[_0x2895[611]]== mxConstants[_0x2895[479]]?(this[_0x2895[659]]- this[_0x2895[661]])/ 2:this[_0x2895[611]]== mxConstants[_0x2895[480]]?-this[_0x2895[661]]- this[_0x2895[1649]]:this[_0x2895[659]]+ this[_0x2895[1648]],_0x4315x3=this[_0x2895[552]]== mxConstants[_0x2895[481]]?(this[_0x2895[658]]- this[_0x2895[660]])/ 2:this[_0x2895[552]]== mxConstants[_0x2895[482]]?-this[_0x2895[660]]- this[_0x2895[1647]]:this[_0x2895[658]]+ this[_0x2895[1646]];return new mxPoint(_0x4315x2,_0x4315x3)};function mxTriangle(){mxActor[_0x2895[239]](this)}mxUtils[_0x2895[1284]](mxTriangle,mxActor);mxTriangle[_0x2895[202]][_0x2895[1625]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[1276]](0,0);_0x4315x2[_0x2895[1277]](_0x4315x5,0.5* _0x4315x9);_0x4315x2[_0x2895[1277]](0,_0x4315x9);_0x4315x2[_0x2895[268]]()};function mxHexagon(){mxActor[_0x2895[239]](this)}mxUtils[_0x2895[1284]](mxHexagon,mxActor);mxHexagon[_0x2895[202]][_0x2895[1625]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[1276]](0.25* _0x4315x5,0);_0x4315x2[_0x2895[1277]](0.75* _0x4315x5,0);_0x4315x2[_0x2895[1277]](_0x4315x5,0.5* _0x4315x9);_0x4315x2[_0x2895[1277]](0.75* _0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1277]](0.25* _0x4315x5,_0x4315x9);_0x4315x2[_0x2895[1277]](0,0.5* _0x4315x9);_0x4315x2[_0x2895[268]]()};function mxLine(_0x4315x2,_0x4315x3,_0x4315x4){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1336]]= _0x4315x3;this[_0x2895[1307]]= null!= _0x4315x4?_0x4315x4:1}mxUtils[_0x2895[1284]](mxLine,mxShape);mxLine[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x4+= _0x4315x9/ 2;_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x3,_0x4315x4);_0x4315x2[_0x2895[1277]](_0x4315x3+ _0x4315x5,_0x4315x4);_0x4315x2[_0x2895[1336]]()};function mxImageShape(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[618]]= _0x4315x3;this[_0x2895[1334]]= _0x4315x4;this[_0x2895[1336]]= _0x4315x5;this[_0x2895[1307]]= null!= _0x4315x9?_0x4315x9:1;this[_0x2895[639]]= !1}mxUtils[_0x2895[1284]](mxImageShape,mxRectangleShape);mxImageShape[_0x2895[202]][_0x2895[1674]]= !0;mxImageShape[_0x2895[202]][_0x2895[1568]]= function(){return !mxClient[_0x2895[80]]?0.5:0};mxImageShape[_0x2895[202]][_0x2895[183]]= function(_0x4315x2){mxShape[_0x2895[202]][_0x2895[183]][_0x2895[183]](this,arguments);this[_0x2895[1299]]= this[_0x2895[1336]]= this[_0x2895[1334]]= null;null!= this[_0x2895[124]]&& (this[_0x2895[1334]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_BACKGROUND),this[_0x2895[1336]]= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_BORDER),this[_0x2895[1674]]= 1== mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_ASPECT,1),this[_0x2895[623]]= this[_0x2895[623]]|| 1== mxUtils[_0x2895[433]](this[_0x2895[124]],_0x2895[1675],0),this[_0x2895[624]]= this[_0x2895[624]]|| 1== mxUtils[_0x2895[433]](this[_0x2895[124]],_0x2895[1676],0))};mxImageShape[_0x2895[202]][_0x2895[1567]]= function(){return !this[_0x2895[1674]]};mxImageShape[_0x2895[202]][_0x2895[1570]]= function(){var _0x4315x2=document[_0x2895[55]](_0x2895[485]);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];return _0x4315x2};mxImageShape[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= this[_0x2895[618]]){var _0x4315xa=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_BACKGROUND,null),_0x4315x12=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_BORDER,null);if(null!= _0x4315xa|| null!= _0x4315x12){_0x4315x2[_0x2895[1245]](_0x4315xa),_0x4315x2[_0x2895[1249]](_0x4315x12),_0x4315x2[_0x2895[1319]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[1337]]()};_0x4315x2[_0x2895[618]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,this[_0x2895[618]],this[_0x2895[1674]],!1,!1)}else {mxRectangleShape[_0x2895[202]][_0x2895[1601]][_0x2895[183]](this,arguments)}};mxImageShape[_0x2895[202]][_0x2895[1575]]= function(){this[_0x2895[252]][_0x2895[124]][_0x2895[361]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]])+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[125]]= Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]])+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[117]]= Math[_0x2895[160]](0,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[117]]))+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[119]]= Math[_0x2895[160]](0,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[119]]))+ _0x2895[168];this[_0x2895[252]][_0x2895[124]][_0x2895[1028]]= this[_0x2895[1334]]|| _0x2895[110];this[_0x2895[252]][_0x2895[124]][_0x2895[1630]]= this[_0x2895[1336]]|| _0x2895[110];this[_0x2895[252]][_0x2895[339]]= _0x2895[110];if(null!= this[_0x2895[618]]){var _0x4315x2=document[_0x2895[55]](mxClient[_0x2895[49]]|| null== mxClient[_0x2895[73]]&& 0!= this[_0x2895[603]]?mxClient[_0x2895[463]]+ _0x2895[464]:_0x2895[466]);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x2[_0x2895[390]]= this[_0x2895[618]];var _0x4315x3=100> this[_0x2895[461]]?_0x2895[459]+ this[_0x2895[461]]+ _0x2895[460]:_0x2895[110];this[_0x2895[252]][_0x2895[124]][_0x2895[347]]= _0x4315x3;this[_0x2895[623]]&& this[_0x2895[624]]?_0x4315x3+= _0x2895[1677]:this[_0x2895[623]]?_0x4315x3+= _0x2895[1678]:this[_0x2895[624]]&& (_0x4315x3+= _0x2895[1679]);_0x4315x2[_0x2895[124]][_0x2895[347]]!= _0x4315x3&& (_0x4315x2[_0x2895[124]][_0x2895[347]]= _0x4315x3);_0x2895[618]== _0x4315x2[_0x2895[301]]?_0x4315x2[_0x2895[124]][_0x2895[603]]= this[_0x2895[603]]:_0x4315x2[_0x2895[124]][mxClient[_0x2895[73]]+ _0x2895[1662]]= _0x2895[1394]+ this[_0x2895[603]]+ _0x2895[1666];_0x4315x2[_0x2895[124]][_0x2895[117]]= this[_0x2895[252]][_0x2895[124]][_0x2895[117]];_0x4315x2[_0x2895[124]][_0x2895[119]]= this[_0x2895[252]][_0x2895[124]][_0x2895[119]];this[_0x2895[252]][_0x2895[124]][_0x2895[1617]]= _0x2895[110];this[_0x2895[252]][_0x2895[62]](_0x4315x2)}else {this[_0x2895[1600]](this[_0x2895[252]])}};function mxLabel(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxRectangleShape[_0x2895[239]](this,_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5)}mxUtils[_0x2895[1284]](mxLabel,mxRectangleShape);mxLabel[_0x2895[202]][_0x2895[1680]]= mxConstants[_0x2895[1681]];mxLabel[_0x2895[202]][_0x2895[657]]= 2;mxLabel[_0x2895[202]][_0x2895[1682]]= 10;mxLabel[_0x2895[202]][_0x2895[635]]= 2;mxLabel[_0x2895[202]][_0x2895[176]]= function(_0x4315x2){mxShape[_0x2895[202]][_0x2895[176]][_0x2895[183]](this,arguments);null!= this[_0x2895[632]]&& null!= this[_0x2895[630]]&& (this[_0x2895[1683]]= new this[_0x2895[630]],this[_0x2895[1683]][_0x2895[507]]= this[_0x2895[507]],this[_0x2895[1683]][_0x2895[1562]]= this[_0x2895[1562]],this[_0x2895[1683]][_0x2895[1334]]= this[_0x2895[632]],this[_0x2895[1683]][_0x2895[1336]]= this[_0x2895[632]],this[_0x2895[1683]][_0x2895[1299]]= this[_0x2895[634]],this[_0x2895[1683]][_0x2895[663]]= this[_0x2895[638]],this[_0x2895[1683]][_0x2895[176]](this[_0x2895[252]]))};mxLabel[_0x2895[202]][_0x2895[258]]= function(){null!= this[_0x2895[1683]]&& (this[_0x2895[1683]][_0x2895[1334]]= this[_0x2895[632]],this[_0x2895[1683]][_0x2895[1336]]= this[_0x2895[632]],this[_0x2895[1683]][_0x2895[1299]]= this[_0x2895[634]],this[_0x2895[1683]][_0x2895[663]]= this[_0x2895[638]]);mxShape[_0x2895[202]][_0x2895[258]][_0x2895[183]](this,arguments)};mxLabel[_0x2895[202]][_0x2895[1567]]= function(){return mxRectangleShape[_0x2895[202]][_0x2895[1567]][_0x2895[183]](this,arguments)&& null== this[_0x2895[632]]&& null== this[_0x2895[630]]};mxLabel[_0x2895[202]][_0x2895[1602]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){this[_0x2895[1684]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);this[_0x2895[1685]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9);mxRectangleShape[_0x2895[202]][_0x2895[1602]][_0x2895[183]](this,arguments)};mxLabel[_0x2895[202]][_0x2895[1684]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){null!= this[_0x2895[618]]&& (_0x4315x3= this[_0x2895[1686]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[618]](_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]],this[_0x2895[618]],!1,!1,!1))};mxLabel[_0x2895[202]][_0x2895[1686]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_ALIGN,mxConstants.ALIGN_LEFT),_0x4315xa=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),_0x4315x12=mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_WIDTH,mxConstants.DEFAULT_IMAGESIZE),_0x4315x13=mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_HEIGHT,mxConstants.DEFAULT_IMAGESIZE),_0x4315x14=mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_SPACING,this[_0x2895[657]])+ 5;_0x4315x2= _0x4315x9== mxConstants[_0x2895[479]]?_0x4315x2+ (_0x4315x4- _0x4315x12)/ 2:_0x4315x9== mxConstants[_0x2895[480]]?_0x4315x2+ (_0x4315x4- _0x4315x12- _0x4315x14):_0x4315x2+ _0x4315x14;_0x4315x3= _0x4315xa== mxConstants[_0x2895[1687]]?_0x4315x3+ _0x4315x14:_0x4315xa== mxConstants[_0x2895[482]]?_0x4315x3+ (_0x4315x5- _0x4315x13- _0x4315x14):_0x4315x3+ (_0x4315x5- _0x4315x13)/ 2;return new mxRectangle(_0x4315x2,_0x4315x3,_0x4315x12,_0x4315x13)};mxLabel[_0x2895[202]][_0x2895[1685]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){null!= this[_0x2895[1683]]?(this[_0x2895[1683]][_0x2895[1562]]= this[_0x2895[1688]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),this[_0x2895[1683]][_0x2895[1209]](_0x4315x2)):null!= this[_0x2895[631]]&& (_0x4315x3= this[_0x2895[1688]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[618]](_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]],this[_0x2895[631]],!1,!1,!1))};mxLabel[_0x2895[202]][_0x2895[1688]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_ALIGN,mxConstants.ALIGN_LEFT),_0x4315xa=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_IMAGE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),_0x4315x12=mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_INDICATOR_WIDTH,this[_0x2895[1682]]),_0x4315x13=mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_INDICATOR_HEIGHT,this[_0x2895[1682]]),_0x4315x14=this[_0x2895[657]]+ 5;_0x4315x2= _0x4315x9== mxConstants[_0x2895[480]]?_0x4315x2+ (_0x4315x4- _0x4315x12- _0x4315x14):_0x4315x9== mxConstants[_0x2895[479]]?_0x4315x2+ (_0x4315x4- _0x4315x12)/ 2:_0x4315x2+ _0x4315x14;_0x4315x3= _0x4315xa== mxConstants[_0x2895[482]]?_0x4315x3+ (_0x4315x5- _0x4315x13- _0x4315x14):_0x4315xa== mxConstants[_0x2895[1687]]?_0x4315x3+ _0x4315x14:_0x4315x3+ (_0x4315x5- _0x4315x13)/ 2;return new mxRectangle(_0x4315x2,_0x4315x3,_0x4315x12,_0x4315x13)};mxLabel[_0x2895[202]][_0x2895[1575]]= function(){for(mxRectangleShape[_0x2895[202]][_0x2895[1575]][_0x2895[183]](this,arguments);this[_0x2895[252]][_0x2895[1580]]();){this[_0x2895[252]][_0x2895[266]](this[_0x2895[252]][_0x2895[1581]])};if(null!= this[_0x2895[618]]){var _0x4315x2=document[_0x2895[55]](_0x2895[466]);_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[1500];_0x4315x2[_0x2895[57]](_0x2895[467],_0x2895[468]);var _0x4315x3=this[_0x2895[1686]](this[_0x2895[1562]][_0x2895[235]],this[_0x2895[1562]][_0x2895[236]],this[_0x2895[1562]][_0x2895[117]],this[_0x2895[1562]][_0x2895[119]]);_0x4315x3[_0x2895[235]]-= this[_0x2895[1562]][_0x2895[235]];_0x4315x3[_0x2895[236]]-= this[_0x2895[1562]][_0x2895[236]];_0x4315x2[_0x2895[124]][_0x2895[361]]= Math[_0x2895[488]](_0x4315x3[_0x2895[235]])+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[125]]= Math[_0x2895[488]](_0x4315x3[_0x2895[236]])+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[117]]= Math[_0x2895[488]](_0x4315x3[_0x2895[117]])+ _0x2895[168];_0x4315x2[_0x2895[124]][_0x2895[119]]= Math[_0x2895[488]](_0x4315x3[_0x2895[119]])+ _0x2895[168];_0x4315x2[_0x2895[390]]= this[_0x2895[618]];this[_0x2895[252]][_0x2895[62]](_0x4315x2)}};function mxCylinder(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxCylinder,mxShape);mxCylinder[_0x2895[202]][_0x2895[1503]]= 40;mxCylinder[_0x2895[202]][_0x2895[1564]]= 0;mxCylinder[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[513]](_0x4315x3,_0x4315x4);_0x4315x2[_0x2895[1275]]();this[_0x2895[1625]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,!1);_0x4315x2[_0x2895[1337]]();_0x4315x2[_0x2895[1267]](!1);_0x4315x2[_0x2895[1275]]();this[_0x2895[1625]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,!0);_0x4315x2[_0x2895[1336]]()};mxCylinder[_0x2895[202]][_0x2895[1625]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x3= Math[_0x2895[243]](this[_0x2895[1503]],Math[_0x2895[488]](_0x4315x9/ 5));if(_0x4315xa&& null!= this[_0x2895[1334]]|| !_0x4315xa&& null== this[_0x2895[1334]]){_0x4315x2[_0x2895[1276]](0,_0x4315x3),_0x4315x2[_0x2895[1279]](0,2* _0x4315x3,_0x4315x5,2* _0x4315x3,_0x4315x5,_0x4315x3),_0x4315xa|| (_0x4315x2[_0x2895[1336]](),_0x4315x2[_0x2895[1275]]())};_0x4315xa|| (_0x4315x2[_0x2895[1276]](0,_0x4315x3),_0x4315x2[_0x2895[1279]](0,-_0x4315x3/ 3,_0x4315x5,-_0x4315x3/ 3,_0x4315x5,_0x4315x3),_0x4315x2[_0x2895[1277]](_0x4315x5,_0x4315x9- _0x4315x3),_0x4315x2[_0x2895[1279]](_0x4315x5,_0x4315x9+ _0x4315x3/ 3,0,_0x4315x9+ _0x4315x3/ 3,0,_0x4315x9- _0x4315x3),_0x4315x2[_0x2895[268]]())};function mxConnector(_0x4315x2,_0x4315x3,_0x4315x4){mxPolyline[_0x2895[239]](this,_0x4315x2,_0x4315x3,_0x4315x4)}mxUtils[_0x2895[1284]](mxConnector,mxPolyline);mxConnector[_0x2895[202]][_0x2895[1594]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1689]](_0x4315x2,_0x4315x3,!0),_0x4315x5=this[_0x2895[1689]](_0x4315x2,_0x4315x3,!1);null== this[_0x2895[124]]|| 1!= this[_0x2895[124]][mxConstants[_0x2895[1690]]]?this[_0x2895[1639]](_0x4315x2,_0x4315x3,this[_0x2895[1606]]):this[_0x2895[1691]](_0x4315x2,_0x4315x3);_0x4315x2[_0x2895[1245]](this[_0x2895[1336]]);_0x4315x2[_0x2895[1267]](!1);_0x4315x2[_0x2895[1251]](!1);null!= _0x4315x4&& _0x4315x4();null!= _0x4315x5&& _0x4315x5()};mxConnector[_0x2895[202]][_0x2895[1691]]= function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[1275]]();var _0x4315x4=_0x4315x3[0],_0x4315x5=_0x4315x3[_0x2895[67]];_0x4315x2[_0x2895[1276]](_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]]);for(_0x4315x4= 1;_0x4315x4< _0x4315x5- 2;_0x4315x4++){var _0x4315x9=_0x4315x3[_0x4315x4],_0x4315xa=_0x4315x3[_0x4315x4+ 1];_0x4315x2[_0x2895[1278]](_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],(_0x4315x9[_0x2895[235]]+ _0x4315xa[_0x2895[235]])/ 2,(_0x4315x9[_0x2895[236]]+ _0x4315xa[_0x2895[236]])/ 2)};_0x4315x9= _0x4315x3[_0x4315x5- 2];_0x4315xa= _0x4315x3[_0x4315x5- 1];_0x4315x2[_0x2895[1278]](_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],_0x4315xa[_0x2895[235]],_0x4315xa[_0x2895[236]]);_0x4315x2[_0x2895[1336]]()};mxConnector[_0x2895[202]][_0x2895[1689]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x3[_0x2895[67]],_0x4315x9=_0x4315x4?_0x4315x3[1]:_0x4315x3[_0x4315x5- 2];_0x4315x3= _0x4315x4?_0x4315x3[0]:_0x4315x3[_0x4315x5- 1];var _0x4315x5=_0x4315x3[_0x2895[235]]- _0x4315x9[_0x2895[235]],_0x4315xa=_0x4315x3[_0x2895[236]]- _0x4315x9[_0x2895[236]],_0x4315x12=Math[_0x2895[160]](1,Math[_0x2895[428]](_0x4315x5* _0x4315x5+ _0x4315xa* _0x4315xa)),_0x4315x9=_0x4315x5/ _0x4315x12,_0x4315x5=_0x4315xa/ _0x4315x12,_0x4315xa=mxUtils[_0x2895[1550]](this[_0x2895[124]],_0x4315x4?mxConstants[_0x2895[1692]]:mxConstants[_0x2895[1693]],mxConstants.DEFAULT_MARKERSIZE),_0x4315x12=mxUtils[_0x2895[433]](this[_0x2895[124]],_0x4315x4?mxConstants[_0x2895[1694]]:mxConstants[_0x2895[1695]]);return mxMarker[_0x2895[1689]](_0x4315x2,this,_0x4315x12,_0x4315x3,_0x4315x9,_0x4315x5,_0x4315xa,_0x4315x4,this[_0x2895[1307]],0!= this[_0x2895[124]][_0x4315x4?mxConstants[_0x2895[1696]]:mxConstants[_0x2895[1697]]])};mxConnector[_0x2895[202]][_0x2895[1612]]= function(_0x4315x2){mxShape[_0x2895[202]][_0x2895[1612]][_0x2895[183]](this,arguments);var _0x4315x3=0;mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_STARTARROW,mxConstants.NONE)!= mxConstants[_0x2895[217]]&& (_0x4315x3= mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)+ 1);mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ENDARROW,mxConstants.NONE)!= mxConstants[_0x2895[217]]&& (_0x4315x3= Math[_0x2895[160]](_0x4315x3,mxUtils[_0x2895[1550]](this[_0x2895[124]],mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE))+ 1);_0x4315x2[_0x2895[244]](Math[_0x2895[430]](_0x4315x3* this[_0x2895[255]]))};function mxSwimlane(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxShape[_0x2895[239]](this);this[_0x2895[1562]]= _0x4315x2;this[_0x2895[1334]]= _0x4315x3;this[_0x2895[1336]]= _0x4315x4;this[_0x2895[1307]]= null!= _0x4315x5?_0x4315x5:1}mxUtils[_0x2895[1284]](mxSwimlane,mxShape);mxSwimlane[_0x2895[202]][_0x2895[1680]]= 16;mxSwimlane[_0x2895[202]][_0x2895[1597]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2= Math[_0x2895[243]](_0x4315x9,mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return new mxRectangle(_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x2)};mxSwimlane[_0x2895[202]][_0x2895[1614]]= function(){var _0x4315x2=mxShape[_0x2895[202]][_0x2895[1614]][_0x2895[183]](this,arguments);1!= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_HORIZONTAL,1)&& (_0x4315x2+= mxText[_0x2895[202]][_0x2895[1616]]);return _0x4315x2};mxSwimlane[_0x2895[202]][_0x2895[1615]]= function(){return this[_0x2895[1614]]()};mxSwimlane[_0x2895[202]][_0x2895[1590]]= function(){return mxShape[_0x2895[202]][_0x2895[1590]][_0x2895[183]](this,arguments)|| 1!= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_HORIZONTAL,1)};mxSwimlane[_0x2895[202]][_0x2895[1603]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_ARCSIZE,100* mxConstants[_0x2895[1557]])/ 100;return 3* _0x4315x4* _0x4315x2};mxSwimlane[_0x2895[202]][_0x2895[1595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=Math[_0x2895[243]](_0x4315x9,mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE)),_0x4315x12=mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE),_0x4315x13=1== mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_SWIMLANE_LINE,1),_0x4315x14=0;_0x4315x2[_0x2895[513]](_0x4315x3,_0x4315x4);this[_0x2895[1606]]?(_0x4315x14= this[_0x2895[1603]](_0x4315x5,_0x4315x9,_0x4315xa),this[_0x2895[1698]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x14,_0x4315x12,_0x4315x13)):this[_0x2895[1699]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13);_0x4315x12= mxUtils[_0x2895[433]](this[_0x2895[124]],mxConstants.STYLE_SEPARATORCOLOR,mxConstants.NONE);this[_0x2895[1700]](_0x4315x2,_0x4315x5,_0x4315xa,_0x4315x9,_0x4315x12);null!= this[_0x2895[618]]&& (_0x4315x9= this[_0x2895[1686]](_0x4315x3,_0x4315xa,_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[618]](_0x4315x9[_0x2895[235]]- _0x4315x3,_0x4315x9[_0x2895[236]]- _0x4315x4,_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]],this[_0x2895[618]],!1,!1,!1));this[_0x2895[617]]&& (_0x4315x2[_0x2895[1267]](!1),this[_0x2895[1604]](_0x4315x2,0,0,_0x4315x5,_0x4315xa,_0x4315x14))};mxSwimlane[_0x2895[202]][_0x2895[1699]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){_0x4315x12!= mxConstants[_0x2895[217]]&& (_0x4315x2[_0x2895[815]](),_0x4315x2[_0x2895[1245]](_0x4315x12),_0x4315x2[_0x2895[1319]](0,0,_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[1337]](),_0x4315x2[_0x2895[1210]](),_0x4315x2[_0x2895[1267]](!1));_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](0,_0x4315xa);_0x4315x2[_0x2895[1277]](0,0);_0x4315x2[_0x2895[1277]](_0x4315x5,0);_0x4315x2[_0x2895[1277]](_0x4315x5,_0x4315xa);_0x4315x13&& _0x4315x2[_0x2895[268]]();_0x4315x2[_0x2895[1337]]();_0x4315xa< _0x4315x9&& _0x4315x12== mxConstants[_0x2895[217]]&& (_0x4315x2[_0x2895[1229]]= !1,_0x4315x2[_0x2895[1275]](),_0x4315x2[_0x2895[1276]](0,_0x4315xa),_0x4315x2[_0x2895[1277]](0,_0x4315x9),_0x4315x2[_0x2895[1277]](_0x4315x5,_0x4315x9),_0x4315x2[_0x2895[1277]](_0x4315x5,_0x4315xa),_0x4315x2[_0x2895[1336]]())};mxSwimlane[_0x2895[202]][_0x2895[1698]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){_0x4315x13!= mxConstants[_0x2895[217]]&& (_0x4315x2[_0x2895[815]](),_0x4315x2[_0x2895[1245]](_0x4315x13),_0x4315x2[_0x2895[1320]](0,0,_0x4315x5,_0x4315x9,_0x4315x12,_0x4315x12),_0x4315x2[_0x2895[1337]](),_0x4315x2[_0x2895[1210]](),_0x4315x2[_0x2895[1267]](!1));_0x4315x2[_0x2895[1275]]();_0x4315x2[_0x2895[1276]](_0x4315x5,_0x4315xa);_0x4315x2[_0x2895[1277]](_0x4315x5,_0x4315x12);_0x4315x2[_0x2895[1278]](_0x4315x5,0,_0x4315x5- Math[_0x2895[243]](_0x4315x5/ 2,_0x4315x12),0);_0x4315x2[_0x2895[1277]](Math[_0x2895[243]](_0x4315x5/ 2,_0x4315x12),0);_0x4315x2[_0x2895[1278]](0,0,0,_0x4315x12);_0x4315x2[_0x2895[1277]](0,_0x4315xa);_0x4315x14&& _0x4315x2[_0x2895[268]]();_0x4315x2[_0x2895[1337]]();_0x4315xa< _0x4315x9&& _0x4315x13== mxConstants[_0x2895[217]]&& (_0x4315x2[_0x2895[1229]]= !1,_0x4315x2[_0x2895[1275]](),_0x4315x2[_0x2895[1276]](0,_0x4315xa),_0x4315x2[_0x2895[1277]](0,_0x4315x9- _0x4315x12),_0x4315x2[_0x2895[1278]](0,_0x4315x9,Math[_0x2895[243]](_0x4315x5/ 2,_0x4315x12),_0x4315x9),_0x4315x2[_0x2895[1277]](_0x4315x5- Math[_0x2895[243]](_0x4315x5/ 2,_0x4315x12),_0x4315x9),_0x4315x2[_0x2895[1278]](_0x4315x5,_0x4315x9,_0x4315x5,_0x4315x9- _0x4315x12),_0x4315x2[_0x2895[1277]](_0x4315x5,_0x4315xa),_0x4315x2[_0x2895[1336]]())};mxSwimlane[_0x2895[202]][_0x2895[1700]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x9!= mxConstants[_0x2895[217]]&& (_0x4315x2[_0x2895[1249]](_0x4315x9),_0x4315x2[_0x2895[1251]](!0),_0x4315x2[_0x2895[1275]](),_0x4315x2[_0x2895[1276]](_0x4315x3,_0x4315x4),_0x4315x2[_0x2895[1277]](_0x4315x3,_0x4315x5),_0x4315x2[_0x2895[1336]](),_0x4315x2[_0x2895[1251]](!1))};mxSwimlane[_0x2895[202]][_0x2895[1686]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){return new mxRectangle(_0x4315x2+ _0x4315x4- this[_0x2895[1680]],_0x4315x3,this[_0x2895[1680]],this[_0x2895[1680]])};function mxGraphLayout(_0x4315x2){this[_0x2895[1179]]= _0x4315x2}mxGraphLayout[_0x2895[202]][_0x2895[1179]]= null;mxGraphLayout[_0x2895[202]][_0x2895[1701]]= !0;mxGraphLayout[_0x2895[202]][_0x2895[1101]]= null;mxGraphLayout[_0x2895[202]][_0x2895[1702]]= function(_0x4315x2,_0x4315x3,_0x4315x4){};mxGraphLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){};mxGraphLayout[_0x2895[202]][_0x2895[1703]]= function(){return this[_0x2895[1179]]};mxGraphLayout[_0x2895[202]][_0x2895[1704]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x4= this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x3);_0x4315x3= null!= _0x4315x4?_0x4315x4[_0x2895[124]]:this[_0x2895[1179]][_0x2895[1705]](_0x4315x3);return null!= _0x4315x3?_0x4315x3[_0x4315x2]:null};mxGraphLayout[_0x2895[1706]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x4&& null!= _0x4315x2){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;_0x4315x9= _0x4315x9|| [];var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2);if(null== _0x4315x9[_0x4315xa]&& (_0x4315x9[_0x4315xa]= _0x4315x2,_0x4315x5= _0x4315x4(_0x4315x2,_0x4315x5),null== _0x4315x5|| _0x4315x5)){if(_0x4315x5= this[_0x2895[1179]][_0x2895[251]][_0x2895[1707]](_0x4315x2),0< _0x4315x5){for(_0x4315xa= 0;_0x4315xa< _0x4315x5;_0x4315xa++){var _0x4315x12=this[_0x2895[1179]][_0x2895[251]][_0x2895[1708]](_0x4315x2,_0x4315xa),_0x4315x13=this[_0x2895[1179]][_0x2895[251]][_0x2895[1709]](_0x4315x12,!0)== _0x4315x2;if(!_0x4315x3|| _0x4315x13){_0x4315x13= this[_0x2895[1179]][_0x2895[441]][_0x2895[1710]](_0x4315x12,!_0x4315x13),this[_0x2895[1706]](_0x4315x13,_0x4315x3,_0x4315x4,_0x4315x12,_0x4315x9)}}}}}};mxGraphLayout[_0x2895[202]][_0x2895[1711]]= function(_0x4315x2){return this[_0x2895[1179]][_0x2895[1712]](_0x4315x2)};mxGraphLayout[_0x2895[202]][_0x2895[1713]]= function(_0x4315x2){return !this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1193]](_0x4315x2)|| !this[_0x2895[1179]][_0x2895[1714]](_0x4315x2)};mxGraphLayout[_0x2895[202]][_0x2895[1715]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]();return !_0x4315x3[_0x2895[250]](_0x4315x2)|| !this[_0x2895[1179]][_0x2895[1714]](_0x4315x2)|| null== _0x4315x3[_0x2895[1709]](_0x4315x2,!0)|| null== _0x4315x3[_0x2895[1709]](_0x4315x2,!1)};mxGraphLayout[_0x2895[202]][_0x2895[1716]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_NOEDGESTYLE,_0x4315x3?_0x2895[468]:_0x2895[500],[_0x4315x2])};mxGraphLayout[_0x2895[202]][_0x2895[1718]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_ORTHOGONAL,_0x4315x3?_0x2895[500]:_0x2895[468],[_0x4315x2])};mxGraphLayout[_0x2895[202]][_0x2895[1719]]= function(_0x4315x2){var _0x4315x3= new mxPoint;if(null!= _0x4315x2&& _0x4315x2!= this[_0x2895[1101]]){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]]();if(_0x4315x4[_0x2895[1720]](this[_0x2895[1101]],_0x4315x2)){for(var _0x4315x5=_0x4315x4[_0x2895[1721]](_0x4315x2);_0x4315x2!= this[_0x2895[1101]];){_0x4315x3[_0x2895[235]]+= _0x4315x5[_0x2895[235]],_0x4315x3[_0x2895[236]]+= _0x4315x5[_0x2895[236]],_0x4315x2= _0x4315x4[_0x2895[1197]](_0x4315x2),_0x4315x5= _0x4315x4[_0x2895[1721]](_0x4315x2)}}};return _0x4315x3};mxGraphLayout[_0x2895[202]][_0x2895[1722]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2){var _0x4315x4=this[_0x2895[1179]][_0x2895[251]],_0x4315x5=_0x4315x4[_0x2895[1721]](_0x4315x2);null== _0x4315x5?(_0x4315x5= new mxGeometry,_0x4315x5[_0x2895[1723]](!0)):_0x4315x5= _0x4315x5[_0x2895[238]]();if(null!= this[_0x2895[1101]]&& null!= _0x4315x3){for(var _0x4315x9=_0x4315x4[_0x2895[1197]](_0x4315x2),_0x4315x9=this[_0x2895[1719]](_0x4315x9),_0x4315xa=0;_0x4315xa< _0x4315x3[_0x2895[67]];_0x4315xa++){_0x4315x3[_0x4315xa][_0x2895[235]]-= _0x4315x9[_0x2895[235]],_0x4315x3[_0x4315xa][_0x2895[236]]-= _0x4315x9[_0x2895[236]]}};_0x4315x5[_0x2895[1525]]= _0x4315x3;_0x4315x4[_0x2895[1724]](_0x4315x2,_0x4315x5)}};mxGraphLayout[_0x2895[202]][_0x2895[1725]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[1721]](_0x4315x2),_0x4315xa=null;if(null!= _0x4315x9){_0x4315xa= new mxRectangle(_0x4315x3,_0x4315x4,_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]]);if(this[_0x2895[1701]]){var _0x4315x12=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2);if(null!= _0x4315x12&& null!= _0x4315x12[_0x2895[963]]&& null!= _0x4315x12[_0x2895[963]][_0x2895[1563]]){var _0x4315x13=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x14=_0x4315x12[_0x2895[963]][_0x2895[1563]];_0x4315x12[_0x2895[963]][_0x2895[1563]][_0x2895[235]]< _0x4315x12[_0x2895[235]]&& (_0x4315x3+= (_0x4315x12[_0x2895[235]]- _0x4315x14[_0x2895[235]])/ _0x4315x13,_0x4315xa[_0x2895[117]]= _0x4315x14[_0x2895[117]]);_0x4315x12[_0x2895[963]][_0x2895[1563]][_0x2895[236]]< _0x4315x12[_0x2895[236]]&& (_0x4315x4+= (_0x4315x12[_0x2895[236]]- _0x4315x14[_0x2895[236]])/ _0x4315x13,_0x4315xa[_0x2895[119]]= _0x4315x14[_0x2895[119]])}};null!= this[_0x2895[1101]]&& (_0x4315x12= _0x4315x5[_0x2895[1197]](_0x4315x2),null!= _0x4315x12&& _0x4315x12!= this[_0x2895[1101]]&& (_0x4315x12= this[_0x2895[1719]](_0x4315x12),_0x4315x3-= _0x4315x12[_0x2895[235]],_0x4315x4-= _0x4315x12[_0x2895[236]]));if(_0x4315x9[_0x2895[235]]!= _0x4315x3|| _0x4315x9[_0x2895[236]]!= _0x4315x4){_0x4315x9= _0x4315x9[_0x2895[238]](),_0x4315x9[_0x2895[235]]= _0x4315x3,_0x4315x9[_0x2895[236]]= _0x4315x4,_0x4315x5[_0x2895[1724]](_0x4315x2,_0x4315x9)}};return _0x4315xa};mxGraphLayout[_0x2895[202]][_0x2895[1726]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1721]](_0x4315x2);if(this[_0x2895[1701]]){var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2);if(null!= _0x4315x4&& null!= _0x4315x4[_0x2895[963]]&& null!= _0x4315x4[_0x2895[963]][_0x2895[1563]]){var _0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x9=_0x4315x4[_0x2895[963]][_0x2895[1563]],_0x4315xa=Math[_0x2895[160]](_0x4315x4[_0x2895[235]]- _0x4315x9[_0x2895[235]],0)/ _0x4315x5,_0x4315x12=Math[_0x2895[160]](_0x4315x4[_0x2895[236]]- _0x4315x9[_0x2895[236]],0)/ _0x4315x5,_0x4315x13=Math[_0x2895[160]](_0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]- (_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]),0)/ _0x4315x5,_0x4315x4=Math[_0x2895[160]](_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]]- (_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]),0)/ _0x4315x5,_0x4315x3= new mxRectangle(_0x4315x3[_0x2895[235]]- _0x4315xa,_0x4315x3[_0x2895[236]]- _0x4315x12,_0x4315x3[_0x2895[117]]+ _0x4315xa+ _0x4315x13,_0x4315x3[_0x2895[119]]+ _0x4315x12+ _0x4315x4)}};null!= this[_0x2895[1101]]&& (_0x4315x2= this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](_0x4315x2),_0x4315x3= _0x4315x3[_0x2895[238]](),null!= _0x4315x2&& _0x4315x2!= this[_0x2895[1101]]&& (_0x4315x2= this[_0x2895[1719]](_0x4315x2),_0x4315x3[_0x2895[235]]+= _0x4315x2[_0x2895[235]],_0x4315x3[_0x2895[236]]+= _0x4315x2[_0x2895[236]]));return new mxRectangle(_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]])};mxGraphLayout[_0x2895[202]][_0x2895[1727]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1179]][_0x2895[502]]()[_0x2895[473]]();try{for(var _0x4315x4=_0x4315x2[_0x2895[67]]- 1;0<= _0x4315x4;_0x4315x4--){var _0x4315x5=_0x4315x2[_0x4315x4],_0x4315x9=this[_0x2895[1179]][_0x2895[1728]](_0x4315x5),_0x4315xa=this[_0x2895[1179]][_0x2895[1729]](_0x4315x9),_0x4315x12=this[_0x2895[1179]][_0x2895[1198]](_0x4315x5),_0x4315x13=0,_0x4315x14=0;if(this[_0x2895[1179]][_0x2895[1730]](_0x4315x5)){var _0x4315x15=this[_0x2895[1179]][_0x2895[1731]](_0x4315x5),_0x4315x13=_0x4315x15[_0x2895[117]],_0x4315x14=_0x4315x15[_0x2895[119]]};null!= _0x4315xa&& null!= _0x4315x12&& (_0x4315x12= _0x4315x12[_0x2895[238]](),_0x4315x12[_0x2895[235]]= _0x4315x12[_0x2895[235]]+ _0x4315xa[_0x2895[235]]- _0x4315x3- _0x4315x13,_0x4315x12[_0x2895[236]]= _0x4315x12[_0x2895[236]]+ _0x4315xa[_0x2895[236]]- _0x4315x3- _0x4315x14,_0x4315x12[_0x2895[117]]= _0x4315xa[_0x2895[117]]+ 2* _0x4315x3+ _0x4315x13,_0x4315x12[_0x2895[119]]= _0x4315xa[_0x2895[119]]+ 2* _0x4315x3+ _0x4315x14,this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1724]](_0x4315x5,_0x4315x12),this[_0x2895[1179]][_0x2895[834]](_0x4315x9,_0x4315x3+ _0x4315x13- _0x4315xa[_0x2895[235]],_0x4315x3+ _0x4315x14- _0x4315xa[_0x2895[236]]))}}finally{this[_0x2895[1179]][_0x2895[502]]()[_0x2895[476]]()}};function mxStackLayout(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){mxGraphLayout[_0x2895[239]](this,_0x4315x2);this[_0x2895[662]]= null!= _0x4315x3?_0x4315x3:!0;this[_0x2895[657]]= null!= _0x4315x4?_0x4315x4:0;this[_0x2895[1732]]= null!= _0x4315x5?_0x4315x5:0;this[_0x2895[1733]]= null!= _0x4315x9?_0x4315x9:0;this[_0x2895[467]]= null!= _0x4315xa?_0x4315xa:0}mxStackLayout[_0x2895[202]]= new mxGraphLayout;mxStackLayout[_0x2895[202]][_0x2895[196]]= mxStackLayout;mxStackLayout[_0x2895[202]][_0x2895[662]]= null;mxStackLayout[_0x2895[202]][_0x2895[657]]= null;mxStackLayout[_0x2895[202]][_0x2895[1732]]= null;mxStackLayout[_0x2895[202]][_0x2895[1733]]= null;mxStackLayout[_0x2895[202]][_0x2895[467]]= 0;mxStackLayout[_0x2895[202]][_0x2895[1734]]= !1;mxStackLayout[_0x2895[202]][_0x2895[1334]]= !1;mxStackLayout[_0x2895[202]][_0x2895[1735]]= !1;mxStackLayout[_0x2895[202]][_0x2895[1736]]= !1;mxStackLayout[_0x2895[202]][_0x2895[1333]]= null;mxStackLayout[_0x2895[202]][_0x2895[1737]]= function(){return this[_0x2895[662]]};mxStackLayout[_0x2895[202]][_0x2895[1702]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[1197]](_0x4315x2),_0x4315xa=this[_0x2895[1737]]();if(null!= _0x4315x2&& null!= _0x4315x9){var _0x4315x12=0,_0x4315x13=0,_0x4315x14=_0x4315x5[_0x2895[262]](_0x4315x9);_0x4315x3= _0x4315xa?_0x4315x3:_0x4315x4;_0x4315x12= this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x9);null!= _0x4315x12&& (_0x4315x3-= _0x4315xa?_0x4315x12[_0x2895[235]]:_0x4315x12[_0x2895[236]]);for(_0x4315x12= 0;_0x4315x12< _0x4315x14;_0x4315x12++){if(_0x4315x4= _0x4315x5[_0x2895[263]](_0x4315x9,_0x4315x12),_0x4315x4!= _0x4315x2&& (_0x4315x4= _0x4315x5[_0x2895[1721]](_0x4315x4),null!= _0x4315x4)){_0x4315x4= _0x4315xa?_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]/ 2:_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]/ 2;if(_0x4315x13< _0x4315x3&& _0x4315x4> _0x4315x3){break};_0x4315x13= _0x4315x4}};_0x4315xa= _0x4315x9[_0x2895[1738]](_0x4315x2);_0x4315xa= Math[_0x2895[160]](0,_0x4315x12- (_0x4315x12> _0x4315xa?1:0));_0x4315x5[_0x2895[99]](_0x4315x9,_0x4315x2,_0x4315xa)}};mxStackLayout[_0x2895[202]][_0x2895[1739]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]](),_0x4315x4=_0x4315x3[_0x2895[1721]](_0x4315x2);if(null!= this[_0x2895[1179]][_0x2895[526]]&& (null== _0x4315x4&& _0x4315x3[_0x2895[1740]](_0x4315x2)|| _0x4315x2== this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1741]])){_0x4315x4= new mxRectangle(0,0,this[_0x2895[1179]][_0x2895[526]][_0x2895[359]]- 1,this[_0x2895[1179]][_0x2895[526]][_0x2895[167]]- 1)};return _0x4315x4};mxStackLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[1737]](),_0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=this[_0x2895[1739]](_0x4315x2),_0x4315x9=0;null!= _0x4315x5&& (_0x4315x9= _0x4315x3?_0x4315x5[_0x2895[119]]:_0x4315x5[_0x2895[117]]);var _0x4315x9=_0x4315x9- (2* this[_0x2895[657]]+ 2* this[_0x2895[467]]),_0x4315xa=this[_0x2895[1732]]+ this[_0x2895[467]],_0x4315x12=this[_0x2895[1733]]+ this[_0x2895[467]];if(this[_0x2895[1179]][_0x2895[1730]](_0x4315x2)){var _0x4315x13=this[_0x2895[1179]][_0x2895[1705]](_0x4315x2),_0x4315x14=mxUtils[_0x2895[433]](_0x4315x13,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE),_0x4315x13=mxUtils[_0x2895[433]](_0x4315x13,mxConstants.STYLE_HORIZONTAL,!0);_0x4315x3== _0x4315x13&& (_0x4315x9-= _0x4315x14);_0x4315x3?_0x4315x12+= _0x4315x14:_0x4315xa+= _0x4315x14};_0x4315x4[_0x2895[473]]();try{for(var _0x4315x14=0,_0x4315x13=null,_0x4315x15=_0x4315x4[_0x2895[262]](_0x4315x2),_0x4315x16=0;_0x4315x16< _0x4315x15;_0x4315x16++){var _0x4315x17=_0x4315x4[_0x2895[263]](_0x4315x2,_0x4315x16);if(!this[_0x2895[1713]](_0x4315x17)&& this[_0x2895[1711]](_0x4315x17)){var _0x4315x18=_0x4315x4[_0x2895[1721]](_0x4315x17);if(null!= _0x4315x18){_0x4315x18= _0x4315x18[_0x2895[238]]();if(null!= this[_0x2895[1333]]&& null!= _0x4315x13&& (_0x4315x3&& _0x4315x13[_0x2895[235]]+ _0x4315x13[_0x2895[117]]+ _0x4315x18[_0x2895[117]]+ 2* this[_0x2895[657]]> this[_0x2895[1333]]|| !_0x4315x3&& _0x4315x13[_0x2895[236]]+ _0x4315x13[_0x2895[119]]+ _0x4315x18[_0x2895[119]]+ 2* this[_0x2895[657]]> this[_0x2895[1333]])){_0x4315x13= null,_0x4315x3?_0x4315x12+= _0x4315x14+ this[_0x2895[657]]:_0x4315xa+= _0x4315x14+ this[_0x2895[657]],_0x4315x14= 0};_0x4315x14= Math[_0x2895[160]](_0x4315x14,_0x4315x3?_0x4315x18[_0x2895[119]]:_0x4315x18[_0x2895[117]]);null!= _0x4315x13?_0x4315x3?_0x4315x18[_0x2895[235]]= _0x4315x13[_0x2895[235]]+ _0x4315x13[_0x2895[117]]+ this[_0x2895[657]]:_0x4315x18[_0x2895[236]]= _0x4315x13[_0x2895[236]]+ _0x4315x13[_0x2895[119]]+ this[_0x2895[657]]:this[_0x2895[1734]]|| (_0x4315x3?_0x4315x18[_0x2895[235]]= _0x4315xa:_0x4315x18[_0x2895[236]]= _0x4315x12);_0x4315x3?_0x4315x18[_0x2895[236]]= _0x4315x12:_0x4315x18[_0x2895[235]]= _0x4315xa;this[_0x2895[1334]]&& 0< _0x4315x9&& (_0x4315x3?_0x4315x18[_0x2895[119]]= _0x4315x9:_0x4315x18[_0x2895[117]]= _0x4315x9);_0x4315x4[_0x2895[1724]](_0x4315x17,_0x4315x18);_0x4315x13= _0x4315x18}}};this[_0x2895[1735]]&& null!= _0x4315x5&& null!= _0x4315x13&& !this[_0x2895[1179]][_0x2895[1742]](_0x4315x2)?(_0x4315x5= _0x4315x5[_0x2895[238]](),_0x4315x3?_0x4315x5[_0x2895[117]]= _0x4315x13[_0x2895[235]]+ _0x4315x13[_0x2895[117]]+ this[_0x2895[657]]:_0x4315x5[_0x2895[119]]= _0x4315x13[_0x2895[236]]+ _0x4315x13[_0x2895[119]]+ this[_0x2895[657]],_0x4315x4[_0x2895[1724]](_0x4315x2,_0x4315x5)):this[_0x2895[1736]]&& (null!= _0x4315x5&& null!= _0x4315x13)&& (_0x4315x3?_0x4315x13[_0x2895[117]]= _0x4315x5[_0x2895[117]]- _0x4315x13[_0x2895[235]]- this[_0x2895[657]]:_0x4315x13[_0x2895[119]]= _0x4315x5[_0x2895[119]]- _0x4315x13[_0x2895[236]]- this[_0x2895[657]])}finally{_0x4315x4[_0x2895[476]]()}}};function mxPartitionLayout(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxGraphLayout[_0x2895[239]](this,_0x4315x2);this[_0x2895[662]]= null!= _0x4315x3?_0x4315x3:!0;this[_0x2895[657]]= _0x4315x4|| 0;this[_0x2895[467]]= _0x4315x5|| 0}mxPartitionLayout[_0x2895[202]]= new mxGraphLayout;mxPartitionLayout[_0x2895[202]][_0x2895[196]]= mxPartitionLayout;mxPartitionLayout[_0x2895[202]][_0x2895[662]]= null;mxPartitionLayout[_0x2895[202]][_0x2895[657]]= null;mxPartitionLayout[_0x2895[202]][_0x2895[467]]= null;mxPartitionLayout[_0x2895[202]][_0x2895[1743]]= !0;mxPartitionLayout[_0x2895[202]][_0x2895[1737]]= function(){return this[_0x2895[662]]};mxPartitionLayout[_0x2895[202]][_0x2895[1702]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= this[_0x2895[1179]][_0x2895[502]]();var _0x4315x5=_0x4315x4[_0x2895[1197]](_0x4315x2);if(null!= _0x4315x2&& null!= _0x4315x5){for(var _0x4315x9=0,_0x4315xa=0,_0x4315x12=_0x4315x4[_0x2895[262]](_0x4315x5),_0x4315x9=0;_0x4315x9< _0x4315x12;_0x4315x9++){var _0x4315x13=_0x4315x4[_0x2895[263]](_0x4315x5,_0x4315x9),_0x4315x13=this[_0x2895[1726]](_0x4315x13);if(null!= _0x4315x13){_0x4315x13= _0x4315x13[_0x2895[235]]+ _0x4315x13[_0x2895[117]]/ 2;if(_0x4315xa< _0x4315x3&& _0x4315x13> _0x4315x3){break};_0x4315xa= _0x4315x13}};_0x4315x3= _0x4315x5[_0x2895[1738]](_0x4315x2);_0x4315x3= Math[_0x2895[160]](0,_0x4315x9- (_0x4315x9> _0x4315x3?1:0));_0x4315x4[_0x2895[99]](_0x4315x5,_0x4315x2,_0x4315x3)}};mxPartitionLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1737]](),_0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x4[_0x2895[1721]](_0x4315x2);if(null!= this[_0x2895[1179]][_0x2895[526]]&& (null== _0x4315x5&& _0x4315x4[_0x2895[1740]](_0x4315x2)|| _0x4315x2== this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1741]])){_0x4315x5= new mxRectangle(0,0,this[_0x2895[1179]][_0x2895[526]][_0x2895[359]]- 1,this[_0x2895[1179]][_0x2895[526]][_0x2895[167]]- 1)};if(null!= _0x4315x5){for(var _0x4315x9=[],_0x4315xa=_0x4315x4[_0x2895[262]](_0x4315x2),_0x4315x12=0;_0x4315x12< _0x4315xa;_0x4315x12++){var _0x4315x13=_0x4315x4[_0x2895[263]](_0x4315x2,_0x4315x12);!this[_0x2895[1713]](_0x4315x13)&& this[_0x2895[1711]](_0x4315x13)&& _0x4315x9[_0x2895[207]](_0x4315x13)};_0x4315xa= _0x4315x9[_0x2895[67]];if(0< _0x4315xa){var _0x4315x14=this[_0x2895[467]],_0x4315x15=this[_0x2895[467]],_0x4315x16=_0x4315x3?_0x4315x5[_0x2895[119]]:_0x4315x5[_0x2895[117]],_0x4315x16=_0x4315x16- 2* this[_0x2895[467]];_0x4315x2= this[_0x2895[1179]][_0x2895[1730]](_0x4315x2)?this[_0x2895[1179]][_0x2895[1731]](_0x4315x2): new mxRectangle;_0x4315x16-= _0x4315x3?_0x4315x2[_0x2895[119]]:_0x4315x2[_0x2895[117]];_0x4315x14+= _0x4315x2[_0x2895[117]];_0x4315x15+= _0x4315x2[_0x2895[119]];_0x4315x2= this[_0x2895[467]]+ (_0x4315xa- 1)* this[_0x2895[657]];_0x4315x5= _0x4315x3?(_0x4315x5[_0x2895[117]]- _0x4315x14- _0x4315x2)/ _0x4315xa:(_0x4315x5[_0x2895[119]]- _0x4315x15- _0x4315x2)/ _0x4315xa;if(0< _0x4315x5){_0x4315x4[_0x2895[473]]();try{for(_0x4315x12= 0;_0x4315x12< _0x4315xa;_0x4315x12++){var _0x4315x13=_0x4315x9[_0x4315x12],_0x4315x17=_0x4315x4[_0x2895[1721]](_0x4315x13);null!= _0x4315x17&& (_0x4315x17= _0x4315x17[_0x2895[238]](),_0x4315x17[_0x2895[235]]= _0x4315x14,_0x4315x17[_0x2895[236]]= _0x4315x15,_0x4315x3?(this[_0x2895[1743]]&& (_0x4315x17[_0x2895[117]]= _0x4315x5,_0x4315x17[_0x2895[119]]= _0x4315x16),_0x4315x14+= _0x4315x5+ this[_0x2895[657]]):(this[_0x2895[1743]]&& (_0x4315x17[_0x2895[119]]= _0x4315x5,_0x4315x17[_0x2895[117]]= _0x4315x16),_0x4315x15+= _0x4315x5+ this[_0x2895[657]]),_0x4315x4[_0x2895[1724]](_0x4315x13,_0x4315x17))}}finally{_0x4315x4[_0x2895[476]]()}}}}};function mxCompactTreeLayout(_0x4315x2,_0x4315x3,_0x4315x4){mxGraphLayout[_0x2895[239]](this,_0x4315x2);this[_0x2895[662]]= null!= _0x4315x3?_0x4315x3:!0;this[_0x2895[1744]]= null!= _0x4315x4?_0x4315x4:!1}mxCompactTreeLayout[_0x2895[202]]= new mxGraphLayout;mxCompactTreeLayout[_0x2895[202]][_0x2895[196]]= mxCompactTreeLayout;mxCompactTreeLayout[_0x2895[202]][_0x2895[662]]= null;mxCompactTreeLayout[_0x2895[202]][_0x2895[1744]]= null;mxCompactTreeLayout[_0x2895[202]][_0x2895[1735]]= !0;mxCompactTreeLayout[_0x2895[202]][_0x2895[1745]]= 10;mxCompactTreeLayout[_0x2895[202]][_0x2895[1746]]= null;mxCompactTreeLayout[_0x2895[202]][_0x2895[1747]]= !1;mxCompactTreeLayout[_0x2895[202]][_0x2895[1748]]= 10;mxCompactTreeLayout[_0x2895[202]][_0x2895[1749]]= 20;mxCompactTreeLayout[_0x2895[202]][_0x2895[1750]]= !0;mxCompactTreeLayout[_0x2895[202]][_0x2895[1751]]= 5;mxCompactTreeLayout[_0x2895[202]][_0x2895[1752]]= 4;mxCompactTreeLayout[_0x2895[202]][_0x2895[1753]]= 8;mxCompactTreeLayout[_0x2895[202]][_0x2895[1754]]= 4;mxCompactTreeLayout[_0x2895[202]][_0x2895[1755]]= !0;mxCompactTreeLayout[_0x2895[202]][_0x2895[1713]]= function(_0x4315x2){return mxGraphLayout[_0x2895[202]][_0x2895[1713]][_0x2895[183]](this,arguments)|| 0== this[_0x2895[1179]][_0x2895[1756]](_0x4315x2)[_0x2895[67]]};mxCompactTreeLayout[_0x2895[202]][_0x2895[1737]]= function(){return this[_0x2895[662]]};mxCompactTreeLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1101]]= _0x4315x2;var _0x4315x4=this[_0x2895[1179]][_0x2895[502]]();if(null== _0x4315x3){if(0< this[_0x2895[1179]][_0x2895[264]](_0x4315x2,_0x4315x4[_0x2895[1197]](_0x4315x2),this[_0x2895[1744]],!this[_0x2895[1744]],!1)[_0x2895[67]]){_0x4315x3= _0x4315x2}else {var _0x4315x5=this[_0x2895[1179]][_0x2895[1757]](_0x4315x2,!0,this[_0x2895[1744]]);if(0< _0x4315x5[_0x2895[67]]){for(var _0x4315x9=0;_0x4315x9< _0x4315x5[_0x2895[67]];_0x4315x9++){if(!this[_0x2895[1713]](_0x4315x5[_0x4315x9])&& 0< this[_0x2895[1179]][_0x2895[264]](_0x4315x5[_0x4315x9],null,this[_0x2895[1744]],!this[_0x2895[1744]],!1)[_0x2895[67]]){_0x4315x3= _0x4315x5[_0x4315x9];break}}}}};if(null!= _0x4315x3){this[_0x2895[1746]]= this[_0x2895[1735]]?{}:null;_0x4315x4[_0x2895[473]]();try{var _0x4315xa=this[_0x2895[1758]](_0x4315x3,_0x4315x2);if(null!= _0x4315xa){this[_0x2895[1759]](_0x4315xa);var _0x4315x12=this[_0x2895[1179]][_0x2895[1020]],_0x4315x5=_0x4315x12;if(!this[_0x2895[1747]]){var _0x4315x13=this[_0x2895[1726]](_0x4315x3);null!= _0x4315x13&& (_0x4315x12= _0x4315x13[_0x2895[235]],_0x4315x5= _0x4315x13[_0x2895[236]])};_0x4315x13= null;_0x4315x13= this[_0x2895[1737]]()?this[_0x2895[1760]](_0x4315xa,_0x4315x12,_0x4315x5):this[_0x2895[1761]](_0x4315xa,null,_0x4315x12,_0x4315x5);if(null!= _0x4315x13){var _0x4315x14=_0x4315x9= 0;0> _0x4315x13[_0x2895[235]]&& (_0x4315x9= Math[_0x2895[425]](_0x4315x12- _0x4315x13[_0x2895[235]]));0> _0x4315x13[_0x2895[236]]&& (_0x4315x14= Math[_0x2895[425]](_0x4315x5- _0x4315x13[_0x2895[236]]));(0!= _0x4315x9|| 0!= _0x4315x14)&& this[_0x2895[1762]](_0x4315xa,_0x4315x9,_0x4315x14);this[_0x2895[1735]]&& this[_0x2895[1763]]();this[_0x2895[1755]]&& this[_0x2895[1764]](_0x4315xa)}}}finally{_0x4315x4[_0x2895[476]]()}}};mxCompactTreeLayout[_0x2895[202]][_0x2895[1762]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2[_0x2895[235]]+= _0x4315x3;_0x4315x2[_0x2895[236]]+= _0x4315x4;this[_0x2895[183]](_0x4315x2);for(_0x4315x2= _0x4315x2[_0x2895[247]];null!= _0x4315x2;){this[_0x2895[1762]](_0x4315x2,_0x4315x3,_0x4315x4),_0x4315x2= _0x4315x2[_0x2895[1765]]}};mxCompactTreeLayout[_0x2895[202]][_0x2895[1758]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:[];var _0x4315x5=mxCellPath[_0x2895[385]](_0x4315x2),_0x4315x9=null;if(null!= _0x4315x2&& null== _0x4315x4[_0x4315x5]&& !this[_0x2895[1713]](_0x4315x2)){_0x4315x4[_0x4315x5]= _0x4315x2;var _0x4315x9=this[_0x2895[1766]](_0x4315x2),_0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315xa=null;_0x4315x2= this[_0x2895[1179]][_0x2895[264]](_0x4315x2,_0x4315x3,this[_0x2895[1744]],!this[_0x2895[1744]],!1,!0);for(var _0x4315x12=this[_0x2895[1179]][_0x2895[249]](),_0x4315x13=0;_0x4315x13< _0x4315x2[_0x2895[67]];_0x4315x13++){var _0x4315x14=_0x4315x2[_0x4315x13];if(!this[_0x2895[1715]](_0x4315x14)){this[_0x2895[1750]]&& this[_0x2895[1722]](_0x4315x14,null);this[_0x2895[1755]]&& (this[_0x2895[1716]](_0x4315x14,!1),this[_0x2895[1722]](_0x4315x14,null));var _0x4315x15=_0x4315x12[_0x2895[248]](_0x4315x14),_0x4315x14=null!= _0x4315x15?_0x4315x15[_0x2895[1710]](this[_0x2895[1744]]):_0x4315x12[_0x2895[1710]](_0x4315x14,this[_0x2895[1744]]),_0x4315x15=this[_0x2895[1758]](_0x4315x14,_0x4315x3,_0x4315x4);null!= _0x4315x15&& null!= _0x4315x5[_0x2895[1721]](_0x4315x14)&& (null== _0x4315xa?_0x4315x9[_0x2895[247]]= _0x4315x15:_0x4315xa[_0x2895[1765]]= _0x4315x15,_0x4315xa= _0x4315x15)}}};return _0x4315x9};mxCompactTreeLayout[_0x2895[202]][_0x2895[1759]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3=_0x4315x2[_0x2895[247]];null!= _0x4315x3;){this[_0x2895[1759]](_0x4315x3),_0x4315x3= _0x4315x3[_0x2895[1765]]};null!= _0x4315x2[_0x2895[247]]?this[_0x2895[1767]](_0x4315x2,this[_0x2895[234]](_0x4315x2)):this[_0x2895[1768]](_0x4315x2)}};mxCompactTreeLayout[_0x2895[202]][_0x2895[1760]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x2[_0x2895[235]]+= _0x4315x3+ _0x4315x2[_0x2895[1769]];_0x4315x2[_0x2895[236]]+= _0x4315x4+ _0x4315x2[_0x2895[1770]];_0x4315x5= this[_0x2895[183]](_0x4315x2,_0x4315x5);_0x4315x3= _0x4315x2[_0x2895[247]];if(null!= _0x4315x3){_0x4315x5= this[_0x2895[1760]](_0x4315x3,_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],_0x4315x5);_0x4315x4= _0x4315x2[_0x2895[236]]+ _0x4315x3[_0x2895[1770]];for(var _0x4315x9=_0x4315x3[_0x2895[1765]];null!= _0x4315x9;){_0x4315x5= this[_0x2895[1760]](_0x4315x9,_0x4315x2[_0x2895[235]]+ _0x4315x3[_0x2895[1769]],_0x4315x4,_0x4315x5),_0x4315x4+= _0x4315x9[_0x2895[1770]],_0x4315x9= _0x4315x9[_0x2895[1765]]}};return _0x4315x5};mxCompactTreeLayout[_0x2895[202]][_0x2895[1761]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[235]]+= _0x4315x4+ _0x4315x2[_0x2895[1770]];_0x4315x2[_0x2895[236]]+= _0x4315x5+ _0x4315x2[_0x2895[1769]];_0x4315x9= this[_0x2895[183]](_0x4315x2,_0x4315x9);_0x4315x3= _0x4315x2[_0x2895[247]];if(null!= _0x4315x3){_0x4315x9= this[_0x2895[1761]](_0x4315x3,_0x4315x2,_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],_0x4315x9);_0x4315x4= _0x4315x2[_0x2895[235]]+ _0x4315x3[_0x2895[1770]];for(_0x4315x5= _0x4315x3[_0x2895[1765]];null!= _0x4315x5;){_0x4315x9= this[_0x2895[1761]](_0x4315x5,_0x4315x2,_0x4315x4,_0x4315x2[_0x2895[236]]+ _0x4315x3[_0x2895[1769]],_0x4315x9),_0x4315x4+= _0x4315x5[_0x2895[1770]],_0x4315x5= _0x4315x5[_0x2895[1765]]}};return _0x4315x9};mxCompactTreeLayout[_0x2895[202]][_0x2895[1767]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1749]]+ this[_0x2895[1748]],_0x4315x5=(_0x4315x3- _0x4315x2[_0x2895[117]])/ 2- this[_0x2895[1749]],_0x4315x9=_0x4315x5+ _0x4315x2[_0x2895[117]]+ 2* this[_0x2895[1749]]- _0x4315x3;_0x4315x2[_0x2895[247]][_0x2895[1769]]= _0x4315x4+ _0x4315x2[_0x2895[119]];_0x4315x2[_0x2895[247]][_0x2895[1770]]= _0x4315x9;_0x4315x2[_0x2895[1772]][_0x2895[1771]]= this[_0x2895[1773]](_0x4315x2[_0x2895[119]],0,this[_0x2895[1773]](_0x4315x4,_0x4315x9,_0x4315x2[_0x2895[1772]][_0x2895[1771]]));_0x4315x2[_0x2895[1772]][_0x2895[1774]]= this[_0x2895[1773]](_0x4315x2[_0x2895[119]],0,this[_0x2895[1773]](_0x4315x4,_0x4315x5,_0x4315x2[_0x2895[1772]][_0x2895[1774]]))};mxCompactTreeLayout[_0x2895[202]][_0x2895[1768]]= function(_0x4315x2){var _0x4315x3=2* this[_0x2895[1749]];_0x4315x2[_0x2895[1772]][_0x2895[1775]]= this[_0x2895[1773]](_0x4315x2[_0x2895[119]]+ _0x4315x3,0);_0x4315x2[_0x2895[1772]][_0x2895[1771]]= _0x4315x2[_0x2895[1772]][_0x2895[1775]];_0x4315x2[_0x2895[1772]][_0x2895[1776]]= this[_0x2895[1773]](0,-_0x4315x2[_0x2895[117]]- _0x4315x3);_0x4315x2[_0x2895[1772]][_0x2895[1774]]= this[_0x2895[1773]](_0x4315x2[_0x2895[119]]+ _0x4315x3,0,_0x4315x2[_0x2895[1772]][_0x2895[1776]])};mxCompactTreeLayout[_0x2895[202]][_0x2895[234]]= function(_0x4315x2){var _0x4315x3=2* this[_0x2895[1749]],_0x4315x4=_0x4315x2[_0x2895[247]];_0x4315x2[_0x2895[1772]]= _0x4315x4[_0x2895[1772]];for(var _0x4315x5=_0x4315x4[_0x2895[117]]+ _0x4315x3,_0x4315x9=_0x4315x5,_0x4315x4=_0x4315x4[_0x2895[1765]];null!= _0x4315x4;){var _0x4315xa=this[_0x2895[1777]](_0x4315x2[_0x2895[1772]],_0x4315x4[_0x2895[1772]]);_0x4315x4[_0x2895[1770]]= _0x4315xa+ _0x4315x5;_0x4315x4[_0x2895[1769]]= 0;_0x4315x5= _0x4315x4[_0x2895[117]]+ _0x4315x3;_0x4315x9+= _0x4315xa+ _0x4315x5;_0x4315x4= _0x4315x4[_0x2895[1765]]};return _0x4315x9};mxCompactTreeLayout[_0x2895[202]][_0x2895[1777]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=0,_0x4315x5=0,_0x4315x9=0,_0x4315xa=_0x4315x2[_0x2895[1774]],_0x4315x12=_0x4315x3[_0x2895[1771]];null!= _0x4315x12&& null!= _0x4315xa;){var _0x4315x13=this[_0x2895[1368]](_0x4315x4,_0x4315x5,_0x4315x12[_0x2895[1126]],_0x4315x12[_0x2895[1125]],_0x4315xa[_0x2895[1126]],_0x4315xa[_0x2895[1125]]),_0x4315x5=_0x4315x5+ _0x4315x13,_0x4315x9=_0x4315x9+ _0x4315x13;_0x4315x4+ _0x4315x12[_0x2895[1126]]<= _0x4315xa[_0x2895[1126]]?(_0x4315x4+= _0x4315x12[_0x2895[1126]],_0x4315x5+= _0x4315x12[_0x2895[1125]],_0x4315x12= _0x4315x12[_0x2895[1765]]):(_0x4315x4-= _0x4315xa[_0x2895[1126]],_0x4315x5-= _0x4315xa[_0x2895[1125]],_0x4315xa= _0x4315xa[_0x2895[1765]])};null!= _0x4315x12?(_0x4315x4= this[_0x2895[1778]](_0x4315x2[_0x2895[1775]],0,0,_0x4315x12,_0x4315x4,_0x4315x5),_0x4315x2[_0x2895[1775]]= null!= _0x4315x4[_0x2895[1765]]?_0x4315x3[_0x2895[1775]]:_0x4315x4,_0x4315x2[_0x2895[1776]]= _0x4315x3[_0x2895[1776]]):(_0x4315x4= this[_0x2895[1778]](_0x4315x3[_0x2895[1776]],_0x4315x4,_0x4315x5,_0x4315xa,0,0),null== _0x4315x4[_0x2895[1765]]&& (_0x4315x2[_0x2895[1776]]= _0x4315x4));_0x4315x2[_0x2895[1774]]= _0x4315x3[_0x2895[1774]];return _0x4315x9};mxCompactTreeLayout[_0x2895[202]][_0x2895[1368]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=0;if(_0x4315x9<= _0x4315x2|| 0>= _0x4315x2+ _0x4315x4){return 0};_0x4315x12= 0< _0x4315x9* _0x4315x5- _0x4315x4* _0x4315xa?0> _0x4315x2?_0x4315x2* _0x4315x5/ _0x4315x4- _0x4315x3:0< _0x4315x2?_0x4315x2* _0x4315xa/ _0x4315x9- _0x4315x3:-_0x4315x3:_0x4315x9< _0x4315x2+ _0x4315x4?_0x4315xa- (_0x4315x3+ (_0x4315x9- _0x4315x2)* _0x4315x5/ _0x4315x4):_0x4315x9> _0x4315x2+ _0x4315x4?(_0x4315x4+ _0x4315x2)* _0x4315xa/ _0x4315x9- (_0x4315x3+ _0x4315x5):_0x4315xa- (_0x4315x3+ _0x4315x5);return 0< _0x4315x12?_0x4315x12:0};mxCompactTreeLayout[_0x2895[202]][_0x2895[1778]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x3= _0x4315x9+ _0x4315x5[_0x2895[1126]]- _0x4315x3;_0x4315x9= _0x4315x9= 0;0== _0x4315x5[_0x2895[1126]]?_0x4315x9= _0x4315x5[_0x2895[1125]]:(_0x4315x9= _0x4315x3* _0x4315x5[_0x2895[1125]],_0x4315x9/= _0x4315x5[_0x2895[1126]]);_0x4315x3= this[_0x2895[1773]](_0x4315x3,_0x4315x9,_0x4315x5[_0x2895[1765]]);_0x4315x2[_0x2895[1765]]= this[_0x2895[1773]](0,_0x4315xa+ _0x4315x5[_0x2895[1125]]- _0x4315x9- _0x4315x4,_0x4315x3);return _0x4315x3};mxCompactTreeLayout[_0x2895[202]][_0x2895[1766]]= function(_0x4315x2){var _0x4315x3={};_0x4315x3[_0x2895[246]]= _0x4315x2;_0x4315x3[_0x2895[235]]= 0;_0x4315x3[_0x2895[236]]= 0;_0x4315x3[_0x2895[117]]= 0;_0x4315x3[_0x2895[119]]= 0;_0x4315x2= this[_0x2895[1726]](_0x4315x2);null!= _0x4315x2&& (this[_0x2895[1737]]()?(_0x4315x3[_0x2895[117]]= _0x4315x2[_0x2895[119]],_0x4315x3[_0x2895[119]]= _0x4315x2[_0x2895[117]]):(_0x4315x3[_0x2895[117]]= _0x4315x2[_0x2895[117]],_0x4315x3[_0x2895[119]]= _0x4315x2[_0x2895[119]]));_0x4315x3[_0x2895[1769]]= 0;_0x4315x3[_0x2895[1770]]= 0;_0x4315x3[_0x2895[1772]]= {};return _0x4315x3};mxCompactTreeLayout[_0x2895[202]][_0x2895[183]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x2[_0x2895[246]],_0x4315x9=_0x4315x4[_0x2895[1721]](_0x4315x5);null!= _0x4315x5&& null!= _0x4315x9&& (this[_0x2895[1711]](_0x4315x5)&& (_0x4315x9= this[_0x2895[1725]](_0x4315x5,_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]]),this[_0x2895[1735]]&& (_0x4315x4= _0x4315x4[_0x2895[1197]](_0x4315x5),_0x4315x5= mxCellPath[_0x2895[385]](_0x4315x4),null== this[_0x2895[1746]][_0x4315x5]&& (this[_0x2895[1746]][_0x4315x5]= _0x4315x4))),_0x4315x3= null== _0x4315x3? new mxRectangle(_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]]): new mxRectangle(Math[_0x2895[243]](_0x4315x3[_0x2895[235]],_0x4315x9[_0x2895[235]]),Math[_0x2895[243]](_0x4315x3[_0x2895[236]],_0x4315x9[_0x2895[236]]),Math[_0x2895[160]](_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]),Math[_0x2895[160]](_0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]],_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]])));return _0x4315x3};mxCompactTreeLayout[_0x2895[202]][_0x2895[1773]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5={};_0x4315x5[_0x2895[1126]]= _0x4315x2;_0x4315x5[_0x2895[1125]]= _0x4315x3;_0x4315x5[_0x2895[1765]]= _0x4315x4;return _0x4315x5};mxCompactTreeLayout[_0x2895[202]][_0x2895[1763]]= function(){var _0x4315x2=[],_0x4315x3;for(_0x4315x3 in this[_0x2895[1746]]){_0x4315x2[_0x2895[207]](this[_0x2895[1746]][_0x4315x3])};this[_0x2895[1727]](mxUtils[_0x2895[1779]](_0x4315x2,!0),this[_0x2895[1745]])};mxCompactTreeLayout[_0x2895[202]][_0x2895[1764]]= function(_0x4315x2){this[_0x2895[1780]](_0x4315x2);for(_0x4315x2= _0x4315x2[_0x2895[247]];null!= _0x4315x2;){this[_0x2895[1764]](_0x4315x2),_0x4315x2= _0x4315x2[_0x2895[1765]]}};mxCompactTreeLayout[_0x2895[202]][_0x2895[1780]]= function(_0x4315x2){for(var _0x4315x3=_0x4315x2[_0x2895[247]],_0x4315x4=_0x4315x2[_0x2895[246]],_0x4315x5=0,_0x4315x9=[];null!= _0x4315x3;){_0x4315x5++;var _0x4315xa=_0x4315x3[_0x2895[235]];this[_0x2895[662]]&& (_0x4315xa= _0x4315x3[_0x2895[236]]);_0x4315x9[_0x2895[207]]( new WeightedCellSorter(_0x4315x3,_0x4315xa));_0x4315x3= _0x4315x3[_0x2895[1765]]};_0x4315x9[_0x2895[470]](WeightedCellSorter[_0x2895[202]][_0x2895[469]]);var _0x4315xa=_0x4315x2[_0x2895[117]],_0x4315x12=(_0x4315x5+ 1)* this[_0x2895[1751]];_0x4315xa> _0x4315x12+ 2* this[_0x2895[1751]]&& (_0x4315xa-= 2* this[_0x2895[1751]]);_0x4315x2= _0x4315xa/ _0x4315x5;_0x4315x3= _0x4315x2/ 2;_0x4315xa> _0x4315x12+ 2* this[_0x2895[1751]]&& (_0x4315x3+= this[_0x2895[1751]]);for(var _0x4315xa=this[_0x2895[1753]]- this[_0x2895[1752]],_0x4315x12=0,_0x4315x13=this[_0x2895[1726]](_0x4315x4),_0x4315x14=0;_0x4315x14< _0x4315x9[_0x2895[67]];_0x4315x14++){for(var _0x4315x15=_0x4315x9[_0x4315x14][_0x2895[246]][_0x2895[246]],_0x4315x16=this[_0x2895[1726]](_0x4315x15),_0x4315x15=this[_0x2895[1179]][_0x2895[1781]](_0x4315x4,_0x4315x15,!1),_0x4315x17=[],_0x4315x18=0,_0x4315x19=0,_0x4315x1a=0;_0x4315x1a< _0x4315x15[_0x2895[67]];_0x4315x1a++){this[_0x2895[662]]?(_0x4315x18= _0x4315x13[_0x2895[235]]+ _0x4315x13[_0x2895[117]],_0x4315x19= _0x4315x13[_0x2895[236]]+ _0x4315x3,_0x4315x17[_0x2895[207]]( new mxPoint(_0x4315x18,_0x4315x19)),_0x4315x18= _0x4315x13[_0x2895[235]]+ _0x4315x13[_0x2895[117]]+ _0x4315xa,_0x4315x17[_0x2895[207]]( new mxPoint(_0x4315x18,_0x4315x19)),_0x4315x19= _0x4315x16[_0x2895[236]]+ _0x4315x16[_0x2895[119]]/ 2):(_0x4315x18= _0x4315x13[_0x2895[235]]+ _0x4315x3,_0x4315x19= _0x4315x13[_0x2895[236]]+ _0x4315x13[_0x2895[119]],_0x4315x17[_0x2895[207]]( new mxPoint(_0x4315x18,_0x4315x19)),_0x4315x19= _0x4315x13[_0x2895[236]]+ _0x4315x13[_0x2895[119]]+ _0x4315xa,_0x4315x17[_0x2895[207]]( new mxPoint(_0x4315x18,_0x4315x19)),_0x4315x18= _0x4315x16[_0x2895[235]]+ _0x4315x16[_0x2895[117]]/ 2),_0x4315x17[_0x2895[207]]( new mxPoint(_0x4315x18,_0x4315x19)),this[_0x2895[1722]](_0x4315x15[_0x4315x1a],_0x4315x17)};_0x4315x14< _0x4315x5/ 2?_0x4315xa+= this[_0x2895[1752]]:_0x4315x14> _0x4315x5/ 2&& (_0x4315xa-= this[_0x2895[1752]]);_0x4315x3+= _0x4315x2;_0x4315x12= Math[_0x2895[160]](_0x4315x12,_0x4315xa)}};function WeightedCellSorter(_0x4315x2,_0x4315x3){this[_0x2895[246]]= _0x4315x2;this[_0x2895[1782]]= _0x4315x3}WeightedCellSorter[_0x2895[202]][_0x2895[1782]]= 0;WeightedCellSorter[_0x2895[202]][_0x2895[1783]]= !1;WeightedCellSorter[_0x2895[202]][_0x2895[1784]]= !1;WeightedCellSorter[_0x2895[202]][_0x2895[1785]]= null;WeightedCellSorter[_0x2895[202]][_0x2895[246]]= null;WeightedCellSorter[_0x2895[202]][_0x2895[469]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2&& null!= _0x4315x3?_0x4315x3[_0x2895[1782]]> _0x4315x2[_0x2895[1782]]?1:_0x4315x3[_0x2895[1782]]< _0x4315x2[_0x2895[1782]]?-1:_0x4315x3[_0x2895[1783]]?1:-1:0};function mxFastOrganicLayout(_0x4315x2){mxGraphLayout[_0x2895[239]](this,_0x4315x2)}mxFastOrganicLayout[_0x2895[202]]= new mxGraphLayout;mxFastOrganicLayout[_0x2895[202]][_0x2895[196]]= mxFastOrganicLayout;mxFastOrganicLayout[_0x2895[202]][_0x2895[1786]]= !0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1750]]= !0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1787]]= !0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1788]]= 50;mxFastOrganicLayout[_0x2895[202]][_0x2895[1789]]= 0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1790]]= 2;mxFastOrganicLayout[_0x2895[202]][_0x2895[1791]]= 500;mxFastOrganicLayout[_0x2895[202]][_0x2895[1792]]= 4;mxFastOrganicLayout[_0x2895[202]][_0x2895[1793]]= 200;mxFastOrganicLayout[_0x2895[202]][_0x2895[1794]]= 0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1795]]= 0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1796]]= 0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1797]]= !0;mxFastOrganicLayout[_0x2895[202]][_0x2895[1713]]= function(_0x4315x2){return mxGraphLayout[_0x2895[202]][_0x2895[1713]][_0x2895[183]](this,arguments)|| 0== this[_0x2895[1179]][_0x2895[1756]](_0x4315x2)[_0x2895[67]]};mxFastOrganicLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]();this[_0x2895[1798]]= [];for(var _0x4315x4=this[_0x2895[1179]][_0x2895[1728]](_0x4315x2),_0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){this[_0x2895[1713]](_0x4315x4[_0x4315x5])|| this[_0x2895[1798]][_0x2895[207]](_0x4315x4[_0x4315x5])};var _0x4315x9=this[_0x2895[1786]]?this[_0x2895[1179]][_0x2895[441]][_0x2895[1799]](this[_0x2895[1798]]):null,_0x4315xa=this[_0x2895[1798]][_0x2895[67]];this[_0x2895[1800]]= [];this[_0x2895[1801]]= [];this[_0x2895[1802]]= [];this[_0x2895[1803]]= [];this[_0x2895[1804]]= [];this[_0x2895[1805]]= [];this[_0x2895[1806]]= [];this[_0x2895[1807]]= [];0.0010> this[_0x2895[1788]]&& (this[_0x2895[1788]]= 0.0010);this[_0x2895[1789]]= this[_0x2895[1788]]* this[_0x2895[1788]];for(_0x4315x5= 0;_0x4315x5< this[_0x2895[1798]][_0x2895[67]];_0x4315x5++){var _0x4315x12=this[_0x2895[1798]][_0x4315x5];this[_0x2895[1803]][_0x4315x5]= [];var _0x4315x13=mxCellPath[_0x2895[385]](_0x4315x12);this[_0x2895[1800]][_0x4315x13]= _0x4315x5;var _0x4315x14=this[_0x2895[1726]](_0x4315x12),_0x4315x15=_0x4315x14[_0x2895[117]],_0x4315x16=_0x4315x14[_0x2895[119]],_0x4315x17=_0x4315x14[_0x2895[235]],_0x4315x18=_0x4315x14[_0x2895[236]];this[_0x2895[1803]][_0x4315x5][0]= _0x4315x17+ _0x4315x15/ 2;this[_0x2895[1803]][_0x4315x5][1]= _0x4315x18+ _0x4315x16/ 2;this[_0x2895[1806]][_0x4315x5]= Math[_0x2895[243]](_0x4315x15,_0x4315x16);this[_0x2895[1807]][_0x4315x5]= this[_0x2895[1806]][_0x4315x5]* this[_0x2895[1806]][_0x4315x5]};_0x4315x3[_0x2895[473]]();try{for(_0x4315x5= 0;_0x4315x5< _0x4315xa;_0x4315x5++){this[_0x2895[1801]][_0x4315x5]= 0;this[_0x2895[1802]][_0x4315x5]= 0;this[_0x2895[1804]][_0x4315x5]= this[_0x2895[1711]](this[_0x2895[1798]][_0x4315x5]);var _0x4315x19=this[_0x2895[1179]][_0x2895[1756]](this[_0x2895[1798]][_0x4315x5],_0x4315x2),_0x4315x4=this[_0x2895[1179]][_0x2895[1808]](_0x4315x19,this[_0x2895[1798]][_0x4315x5]);this[_0x2895[1805]][_0x4315x5]= [];for(_0x4315x15= 0;_0x4315x15< _0x4315x4[_0x2895[67]];_0x4315x15++){this[_0x2895[1750]]&& this[_0x2895[1179]][_0x2895[1809]](_0x4315x19[_0x4315x15]);this[_0x2895[1787]]&& this[_0x2895[1716]](_0x4315x19[_0x4315x15],!1);var _0x4315x13=mxCellPath[_0x2895[385]](_0x4315x4[_0x4315x15]),_0x4315x1a=this[_0x2895[1800]][_0x4315x13];this[_0x2895[1805]][_0x4315x5][_0x4315x15]= null!= _0x4315x1a?_0x4315x1a:_0x4315x5}};this[_0x2895[1794]]= this[_0x2895[1793]];0== this[_0x2895[1795]]&& (this[_0x2895[1795]]= 20* Math[_0x2895[428]](_0x4315xa));for(this[_0x2895[1796]]= 0;this[_0x2895[1796]]< this[_0x2895[1795]];this[_0x2895[1796]]++){if(!this[_0x2895[1797]]){return};this[_0x2895[1810]]();this[_0x2895[1811]]();this[_0x2895[1812]]();this[_0x2895[1813]]()};_0x4315x2= _0x4315x4= null;for(_0x4315x5= 0;_0x4315x5< this[_0x2895[1798]][_0x2895[67]];_0x4315x5++){_0x4315x12= this[_0x2895[1798]][_0x4315x5],this[_0x2895[1711]](_0x4315x12)&& (_0x4315x14= this[_0x2895[1726]](_0x4315x12),null!= _0x4315x14&& (this[_0x2895[1803]][_0x4315x5][0]-= _0x4315x14[_0x2895[117]]/ 2,this[_0x2895[1803]][_0x4315x5][1]-= _0x4315x14[_0x2895[119]]/ 2,_0x4315x17= this[_0x2895[1179]][_0x2895[1021]](this[_0x2895[1803]][_0x4315x5][0]),_0x4315x18= this[_0x2895[1179]][_0x2895[1021]](this[_0x2895[1803]][_0x4315x5][1]),this[_0x2895[1725]](_0x4315x12,_0x4315x17,_0x4315x18),_0x4315x4= null== _0x4315x4?_0x4315x17:Math[_0x2895[243]](_0x4315x4,_0x4315x17),_0x4315x2= null== _0x4315x2?_0x4315x18:Math[_0x2895[243]](_0x4315x2,_0x4315x18)))};_0x4315x5= -(_0x4315x4|| 0)+ 1;_0x4315x12= -(_0x4315x2|| 0)+ 1;null!= _0x4315x9&& (_0x4315x5+= _0x4315x9[_0x2895[235]],_0x4315x12+= _0x4315x9[_0x2895[236]]);this[_0x2895[1179]][_0x2895[834]](this[_0x2895[1798]],_0x4315x5,_0x4315x12)}finally{_0x4315x3[_0x2895[476]]()}};mxFastOrganicLayout[_0x2895[202]][_0x2895[1812]]= function(){for(var _0x4315x2=0;_0x4315x2< this[_0x2895[1798]][_0x2895[67]];_0x4315x2++){if(this[_0x2895[1804]][_0x4315x2]){var _0x4315x3=Math[_0x2895[428]](this[_0x2895[1801]][_0x4315x2]* this[_0x2895[1801]][_0x4315x2]+ this[_0x2895[1802]][_0x4315x2]* this[_0x2895[1802]][_0x4315x2]);0.0010> _0x4315x3&& (_0x4315x3= 0.0010);var _0x4315x4=this[_0x2895[1801]][_0x4315x2]/ _0x4315x3* Math[_0x2895[243]](_0x4315x3,this[_0x2895[1794]]),_0x4315x3=this[_0x2895[1802]][_0x4315x2]/ _0x4315x3* Math[_0x2895[243]](_0x4315x3,this[_0x2895[1794]]);this[_0x2895[1801]][_0x4315x2]= 0;this[_0x2895[1802]][_0x4315x2]= 0;this[_0x2895[1803]][_0x4315x2][0]+= _0x4315x4;this[_0x2895[1803]][_0x4315x2][1]+= _0x4315x3}}};mxFastOrganicLayout[_0x2895[202]][_0x2895[1811]]= function(){for(var _0x4315x2=0;_0x4315x2< this[_0x2895[1798]][_0x2895[67]];_0x4315x2++){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1805]][_0x4315x2][_0x2895[67]];_0x4315x3++){var _0x4315x4=this[_0x2895[1805]][_0x4315x2][_0x4315x3];if(_0x4315x2!= _0x4315x4&& this[_0x2895[1804]][_0x4315x2]&& this[_0x2895[1804]][_0x4315x4]){var _0x4315x5=this[_0x2895[1803]][_0x4315x2][0]- this[_0x2895[1803]][_0x4315x4][0],_0x4315x9=this[_0x2895[1803]][_0x4315x2][1]- this[_0x2895[1803]][_0x4315x4][1],_0x4315xa=_0x4315x5* _0x4315x5+ _0x4315x9* _0x4315x9- this[_0x2895[1807]][_0x4315x2]- this[_0x2895[1807]][_0x4315x4];_0x4315xa< this[_0x2895[1792]]&& (_0x4315xa= this[_0x2895[1792]]);var _0x4315x12=Math[_0x2895[428]](_0x4315xa),_0x4315xa=_0x4315xa/ this[_0x2895[1788]],_0x4315x5=_0x4315x5/ _0x4315x12* _0x4315xa,_0x4315x9=_0x4315x9/ _0x4315x12* _0x4315xa;this[_0x2895[1801]][_0x4315x2]-= _0x4315x5;this[_0x2895[1802]][_0x4315x2]-= _0x4315x9;this[_0x2895[1801]][_0x4315x4]+= _0x4315x5;this[_0x2895[1802]][_0x4315x4]+= _0x4315x9}}}};mxFastOrganicLayout[_0x2895[202]][_0x2895[1810]]= function(){for(var _0x4315x2=this[_0x2895[1798]][_0x2895[67]],_0x4315x3=0;_0x4315x3< _0x4315x2;_0x4315x3++){for(var _0x4315x4=_0x4315x3;_0x4315x4< _0x4315x2;_0x4315x4++){if(!this[_0x2895[1797]]){return};if(_0x4315x4!= _0x4315x3&& this[_0x2895[1804]][_0x4315x3]&& this[_0x2895[1804]][_0x4315x4]){var _0x4315x5=this[_0x2895[1803]][_0x4315x3][0]- this[_0x2895[1803]][_0x4315x4][0],_0x4315x9=this[_0x2895[1803]][_0x4315x3][1]- this[_0x2895[1803]][_0x4315x4][1];0== _0x4315x5&& (_0x4315x5= 0.01+ Math[_0x2895[1814]]());0== _0x4315x9&& (_0x4315x9= 0.01+ Math[_0x2895[1814]]());var _0x4315xa=Math[_0x2895[428]](_0x4315x5* _0x4315x5+ _0x4315x9* _0x4315x9),_0x4315x12=_0x4315xa- this[_0x2895[1806]][_0x4315x3]- this[_0x2895[1806]][_0x4315x4];_0x4315x12> this[_0x2895[1791]]|| (_0x4315x12< this[_0x2895[1790]]&& (_0x4315x12= this[_0x2895[1790]]),_0x4315x12= this[_0x2895[1789]]/ _0x4315x12,_0x4315x5= _0x4315x5/ _0x4315xa* _0x4315x12,_0x4315x9= _0x4315x9/ _0x4315xa* _0x4315x12,this[_0x2895[1801]][_0x4315x3]+= _0x4315x5,this[_0x2895[1802]][_0x4315x3]+= _0x4315x9,this[_0x2895[1801]][_0x4315x4]-= _0x4315x5,this[_0x2895[1802]][_0x4315x4]-= _0x4315x9)}}}};mxFastOrganicLayout[_0x2895[202]][_0x2895[1813]]= function(){this[_0x2895[1794]]= this[_0x2895[1793]]* (1- this[_0x2895[1796]]/ this[_0x2895[1795]])};function mxCircleLayout(_0x4315x2,_0x4315x3){mxGraphLayout[_0x2895[239]](this,_0x4315x2);this[_0x2895[1806]]= null!= _0x4315x3?_0x4315x3:100}mxCircleLayout[_0x2895[202]]= new mxGraphLayout;mxCircleLayout[_0x2895[202]][_0x2895[196]]= mxCircleLayout;mxCircleLayout[_0x2895[202]][_0x2895[1806]]= null;mxCircleLayout[_0x2895[202]][_0x2895[1815]]= !1;mxCircleLayout[_0x2895[202]][_0x2895[1732]]= 0;mxCircleLayout[_0x2895[202]][_0x2895[1733]]= 0;mxCircleLayout[_0x2895[202]][_0x2895[1750]]= !0;mxCircleLayout[_0x2895[202]][_0x2895[1787]]= !0;mxCircleLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]();_0x4315x3[_0x2895[473]]();try{for(var _0x4315x4=0,_0x4315x5=null,_0x4315x9=null,_0x4315xa=[],_0x4315x12=_0x4315x3[_0x2895[262]](_0x4315x2),_0x4315x13=0;_0x4315x13< _0x4315x12;_0x4315x13++){var _0x4315x14=_0x4315x3[_0x2895[263]](_0x4315x2,_0x4315x13);if(this[_0x2895[1713]](_0x4315x14)){this[_0x2895[1715]](_0x4315x14)|| (this[_0x2895[1750]]&& this[_0x2895[1179]][_0x2895[1809]](_0x4315x14),this[_0x2895[1787]]&& this[_0x2895[1716]](_0x4315x14,!1))}else {_0x4315xa[_0x2895[207]](_0x4315x14);var _0x4315x15=this[_0x2895[1726]](_0x4315x14),_0x4315x5=null== _0x4315x5?_0x4315x15[_0x2895[236]]:Math[_0x2895[243]](_0x4315x5,_0x4315x15[_0x2895[236]]),_0x4315x9=null== _0x4315x9?_0x4315x15[_0x2895[235]]:Math[_0x2895[243]](_0x4315x9,_0x4315x15[_0x2895[235]]),_0x4315x4=Math[_0x2895[160]](_0x4315x4,Math[_0x2895[160]](_0x4315x15[_0x2895[117]],_0x4315x15[_0x2895[119]]))}};var _0x4315x16=this[_0x2895[1816]](_0x4315xa[_0x2895[67]],_0x4315x4);this[_0x2895[1815]]&& (_0x4315x9= this[_0x2895[1732]],_0x4315x5= this[_0x2895[1733]]);this[_0x2895[1817]](_0x4315xa,_0x4315x16,_0x4315x9,_0x4315x5)}finally{_0x4315x3[_0x2895[476]]()}};mxCircleLayout[_0x2895[202]][_0x2895[1816]]= function(_0x4315x2,_0x4315x3){return Math[_0x2895[160]](_0x4315x2* _0x4315x3/ Math[_0x2895[424]],this[_0x2895[1806]])};mxCircleLayout[_0x2895[202]][_0x2895[1817]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){for(var _0x4315x9=_0x4315x2[_0x2895[67]],_0x4315xa=2* Math[_0x2895[424]]/ _0x4315x9,_0x4315x12=0;_0x4315x12< _0x4315x9;_0x4315x12++){this[_0x2895[1711]](_0x4315x2[_0x4315x12])&& this[_0x2895[1725]](_0x4315x2[_0x4315x12],_0x4315x4+ _0x4315x3+ _0x4315x3* Math[_0x2895[427]](_0x4315x12* _0x4315xa),_0x4315x5+ _0x4315x3+ _0x4315x3* Math[_0x2895[426]](_0x4315x12* _0x4315xa))}};function mxParallelEdgeLayout(_0x4315x2){mxGraphLayout[_0x2895[239]](this,_0x4315x2)}mxParallelEdgeLayout[_0x2895[202]]= new mxGraphLayout;mxParallelEdgeLayout[_0x2895[202]][_0x2895[196]]= mxParallelEdgeLayout;mxParallelEdgeLayout[_0x2895[202]][_0x2895[657]]= 20;mxParallelEdgeLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){_0x4315x2= this[_0x2895[1818]](_0x4315x2);this[_0x2895[1179]][_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x3 in _0x4315x2){var _0x4315x4=_0x4315x2[_0x4315x3];1< _0x4315x4[_0x2895[67]]&& this[_0x2895[1759]](_0x4315x4)}}finally{this[_0x2895[1179]][_0x2895[251]][_0x2895[476]]()}};mxParallelEdgeLayout[_0x2895[202]][_0x2895[1818]]= function(_0x4315x2){for(var _0x4315x3=this[_0x2895[1179]][_0x2895[502]](),_0x4315x4=[],_0x4315x5=_0x4315x3[_0x2895[262]](_0x4315x2),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){var _0x4315xa=_0x4315x3[_0x2895[263]](_0x4315x2,_0x4315x9);if(!this[_0x2895[1715]](_0x4315xa)){var _0x4315x12=this[_0x2895[1819]](_0x4315xa);null!= _0x4315x12&& (null== _0x4315x4[_0x4315x12]&& (_0x4315x4[_0x4315x12]= []),_0x4315x4[_0x4315x12][_0x2895[207]](_0x4315xa))}};return _0x4315x4};mxParallelEdgeLayout[_0x2895[202]][_0x2895[1819]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[249]](),_0x4315x4=_0x4315x3[_0x2895[248]](_0x4315x2),_0x4315x5=null!= _0x4315x4?_0x4315x4[_0x2895[1710]](!0):_0x4315x3[_0x2895[1710]](_0x4315x2,!0);_0x4315x2= null!= _0x4315x4?_0x4315x4[_0x2895[1710]](!1):_0x4315x3[_0x2895[1710]](_0x4315x2,!1);return null!= _0x4315x5&& null!= _0x4315x2?(_0x4315x5= mxCellPath[_0x2895[385]](_0x4315x5),_0x4315x2= mxCellPath[_0x2895[385]](_0x4315x2),_0x4315x5> _0x4315x2?_0x4315x2+ _0x2895[213]+ _0x4315x5:_0x4315x5+ _0x2895[213]+ _0x4315x2):null};mxParallelEdgeLayout[_0x2895[202]][_0x2895[1759]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[0],_0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x4[_0x2895[1721]](_0x4315x4[_0x2895[1709]](_0x4315x3,!0)),_0x4315x9=_0x4315x4[_0x2895[1721]](_0x4315x4[_0x2895[1709]](_0x4315x3,!1));if(_0x4315x5== _0x4315x9){for(var _0x4315x3=_0x4315x5[_0x2895[235]]+ _0x4315x5[_0x2895[117]]+ this[_0x2895[657]],_0x4315x4=_0x4315x5[_0x2895[236]]+ _0x4315x5[_0x2895[119]]/ 2,_0x4315xa=0;_0x4315xa< _0x4315x2[_0x2895[67]];_0x4315xa++){this[_0x2895[1820]](_0x4315x2[_0x4315xa],_0x4315x3,_0x4315x4),_0x4315x3+= this[_0x2895[657]]}}else {if(null!= _0x4315x5&& null!= _0x4315x9){for(var _0x4315x3=_0x4315x5[_0x2895[235]]+ _0x4315x5[_0x2895[117]]/ 2,_0x4315x4=_0x4315x5[_0x2895[236]]+ _0x4315x5[_0x2895[119]]/ 2,_0x4315xa=_0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]/ 2- _0x4315x3,_0x4315x12=_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]]/ 2- _0x4315x4,_0x4315x9=Math[_0x2895[428]](_0x4315xa* _0x4315xa+ _0x4315x12* _0x4315x12),_0x4315x5=_0x4315x12* this[_0x2895[657]]/ _0x4315x9,_0x4315x9=_0x4315xa* this[_0x2895[657]]/ _0x4315x9,_0x4315x3=_0x4315x3+ _0x4315xa/ 2+ _0x4315x5* (_0x4315x2[_0x2895[67]]- 1)/ 2,_0x4315x4=_0x4315x4+ _0x4315x12/ 2- _0x4315x9* (_0x4315x2[_0x2895[67]]- 1)/ 2,_0x4315xa=0;_0x4315xa< _0x4315x2[_0x2895[67]];_0x4315xa++){this[_0x2895[1820]](_0x4315x2[_0x4315xa],_0x4315x3,_0x4315x4),_0x4315x3-= _0x4315x5,_0x4315x4+= _0x4315x9}}}};mxParallelEdgeLayout[_0x2895[202]][_0x2895[1820]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[1179]][_0x2895[1712]](_0x4315x2)&& this[_0x2895[1722]](_0x4315x2,[ new mxPoint(_0x4315x3,_0x4315x4)])};function mxCompositeLayout(_0x4315x2,_0x4315x3,_0x4315x4){mxGraphLayout[_0x2895[239]](this,_0x4315x2);this[_0x2895[1821]]= _0x4315x3;this[_0x2895[1822]]= _0x4315x4}mxCompositeLayout[_0x2895[202]]= new mxGraphLayout;mxCompositeLayout[_0x2895[202]][_0x2895[196]]= mxCompositeLayout;mxCompositeLayout[_0x2895[202]][_0x2895[1821]]= null;mxCompositeLayout[_0x2895[202]][_0x2895[1822]]= null;mxCompositeLayout[_0x2895[202]][_0x2895[1702]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null!= this[_0x2895[1822]]?this[_0x2895[1822]][_0x2895[582]][_0x2895[183]](this[_0x2895[1822]],arguments):this[_0x2895[1821]][0][_0x2895[582]][_0x2895[183]](this[_0x2895[1821]][0],arguments)};mxCompositeLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]();_0x4315x3[_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< this[_0x2895[1821]][_0x2895[67]];_0x4315x4++){this[_0x2895[1821]][_0x4315x4][_0x2895[350]][_0x2895[183]](this[_0x2895[1821]][_0x4315x4],arguments)}}finally{_0x4315x3[_0x2895[476]]()}};function mxEdgeLabelLayout(_0x4315x2,_0x4315x3){mxGraphLayout[_0x2895[239]](this,_0x4315x2)}mxEdgeLabelLayout[_0x2895[202]]= new mxGraphLayout;mxEdgeLabelLayout[_0x2895[202]][_0x2895[196]]= mxEdgeLabelLayout;mxEdgeLabelLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){for(var _0x4315x3=this[_0x2895[1179]][_0x2895[441]],_0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=[],_0x4315x9=[],_0x4315xa=_0x4315x4[_0x2895[262]](_0x4315x2),_0x4315x12=0;_0x4315x12< _0x4315xa;_0x4315x12++){var _0x4315x13=_0x4315x4[_0x2895[263]](_0x4315x2,_0x4315x12),_0x4315x14=_0x4315x3[_0x2895[248]](_0x4315x13);null!= _0x4315x14&& (this[_0x2895[1713]](_0x4315x13)?this[_0x2895[1715]](_0x4315x13)|| _0x4315x5[_0x2895[207]](_0x4315x14):_0x4315x9[_0x2895[207]](_0x4315x14))};this[_0x2895[1823]](_0x4315x9,_0x4315x5)};mxEdgeLabelLayout[_0x2895[202]][_0x2895[1823]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]]();_0x4315x4[_0x2895[473]]();try{for(var _0x4315x5=0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){var _0x4315x9=_0x4315x3[_0x4315x5];if(null!= _0x4315x9&& null!= _0x4315x9[_0x2895[963]]&& null!= _0x4315x9[_0x2895[963]][_0x2895[1563]]){for(var _0x4315xa=0;_0x4315xa< _0x4315x2[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x2[_0x4315xa];null!= _0x4315x12&& this[_0x2895[1824]](_0x4315x9,_0x4315x12)}}}}finally{_0x4315x4[_0x2895[476]]()}};mxEdgeLabelLayout[_0x2895[202]][_0x2895[1824]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x2[_0x2895[963]][_0x2895[1563]];if(mxUtils[_0x2895[1825]](_0x4315x5,_0x4315x3)){var _0x4315x9=-_0x4315x5[_0x2895[236]]- _0x4315x5[_0x2895[119]]+ _0x4315x3[_0x2895[236]],_0x4315xa=-_0x4315x5[_0x2895[236]]+ _0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]],_0x4315x9=Math[_0x2895[425]](_0x4315x9)< Math[_0x2895[425]](_0x4315xa)?_0x4315x9:_0x4315xa,_0x4315xa=-_0x4315x5[_0x2895[235]]- _0x4315x5[_0x2895[117]]+ _0x4315x3[_0x2895[235]],_0x4315x5=-_0x4315x5[_0x2895[235]]+ _0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x5=Math[_0x2895[425]](_0x4315xa)< Math[_0x2895[425]](_0x4315x5)?_0x4315xa:_0x4315x5;Math[_0x2895[425]](_0x4315x5)< Math[_0x2895[425]](_0x4315x9)?_0x4315x9= 0:_0x4315x5= 0;_0x4315xa= _0x4315x4[_0x2895[1721]](_0x4315x2[_0x2895[246]]);null!= _0x4315xa&& (_0x4315xa= _0x4315xa[_0x2895[238]](),null!= _0x4315xa[_0x2895[1368]]?(_0x4315xa[_0x2895[1368]][_0x2895[235]]+= _0x4315x5,_0x4315xa[_0x2895[1368]][_0x2895[236]]+= _0x4315x9):_0x4315xa[_0x2895[1368]]= new mxPoint(_0x4315x5,_0x4315x9),_0x4315x4[_0x2895[1724]](_0x4315x2[_0x2895[246]],_0x4315xa))}};function mxGraphAbstractHierarchyCell(){this[_0x2895[235]]= [];this[_0x2895[236]]= [];this[_0x2895[1826]]= []}mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1827]]= -1;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1828]]= -1;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[235]]= null;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[236]]= null;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[117]]= 0;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[119]]= 0;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1829]]= null;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1830]]= null;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1826]]= null;mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1831]]= function(_0x4315x2){return null};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1832]]= function(_0x4315x2){return null};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[250]]= function(){return !1};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1193]]= function(){return !1};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1833]]= function(_0x4315x2){return null};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1834]]= function(_0x4315x2,_0x4315x3){return null};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1835]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1193]]()?this[_0x2895[235]][0]= _0x4315x3:this[_0x2895[250]]()&& (this[_0x2895[235]][_0x4315x2- this[_0x2895[1828]]- 1]= _0x4315x3)};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[730]]= function(_0x4315x2){return this[_0x2895[1193]]()?this[_0x2895[235]][0]:this[_0x2895[250]]()?this[_0x2895[235]][_0x4315x2- this[_0x2895[1828]]- 1]:0};mxGraphAbstractHierarchyCell[_0x2895[202]][_0x2895[1836]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1193]]()?this[_0x2895[236]][0]= _0x4315x3:this[_0x2895[250]]()&& (this[_0x2895[236]][_0x4315x2- this[_0x2895[1828]]- 1]= _0x4315x3)};function mxGraphHierarchyNode(_0x4315x2){mxGraphAbstractHierarchyCell[_0x2895[183]](this,arguments);this[_0x2895[246]]= _0x4315x2}mxGraphHierarchyNode[_0x2895[202]]= new mxGraphAbstractHierarchyCell;mxGraphHierarchyNode[_0x2895[202]][_0x2895[196]]= mxGraphHierarchyNode;mxGraphHierarchyNode[_0x2895[202]][_0x2895[246]]= null;mxGraphHierarchyNode[_0x2895[202]][_0x2895[1837]]= [];mxGraphHierarchyNode[_0x2895[202]][_0x2895[1838]]= [];mxGraphHierarchyNode[_0x2895[202]][_0x2895[1839]]= !1;mxGraphHierarchyNode[_0x2895[202]][_0x2895[1840]]= function(_0x4315x2){return this[_0x2895[1827]]};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1831]]= function(_0x4315x2){if(null== this[_0x2895[1829]]){this[_0x2895[1829]]= [];this[_0x2895[1829]][0]= [];for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1837]][_0x2895[67]];_0x4315x3++){var _0x4315x4=this[_0x2895[1837]][_0x4315x3];-1== _0x4315x4[_0x2895[1827]]|| _0x4315x4[_0x2895[1827]]== _0x4315x2+ 1?this[_0x2895[1829]][0][_0x2895[207]](_0x4315x4[_0x2895[1097]]):this[_0x2895[1829]][0][_0x2895[207]](_0x4315x4)}};return this[_0x2895[1829]][0]};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1832]]= function(_0x4315x2){if(null== this[_0x2895[1830]]){this[_0x2895[1830]]= [];this[_0x2895[1830]][0]= [];for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1838]][_0x2895[67]];_0x4315x3++){var _0x4315x4=this[_0x2895[1838]][_0x4315x3];-1== _0x4315x4[_0x2895[1828]]|| _0x4315x4[_0x2895[1828]]== _0x4315x2- 1?this[_0x2895[1830]][0][_0x2895[207]](_0x4315x4[_0x2895[772]]):this[_0x2895[1830]][0][_0x2895[207]](_0x4315x4)}};return this[_0x2895[1830]][0]};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1193]]= function(){return !0};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1833]]= function(_0x4315x2){return this[_0x2895[1826]][0]};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1834]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1826]][0]= _0x4315x3};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1720]]= function(_0x4315x2){if(null!= _0x4315x2&& null!= this[_0x2895[1839]]&& null!= _0x4315x2[_0x2895[1839]]&& this[_0x2895[1839]][_0x2895[67]]< _0x4315x2[_0x2895[1839]][_0x2895[67]]){if(this[_0x2895[1839]]== _0x4315x2[_0x2895[1839]]){return !0};if(null== this[_0x2895[1839]]|| null== this[_0x2895[1839]]){return !1};for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1839]][_0x2895[67]];_0x4315x3++){if(this[_0x2895[1839]][_0x4315x3]!= _0x4315x2[_0x2895[1839]][_0x4315x3]){return !1}};return !0};return !1};mxGraphHierarchyNode[_0x2895[202]][_0x2895[1841]]= function(){return this[_0x2895[246]]};function mxGraphHierarchyEdge(_0x4315x2){mxGraphAbstractHierarchyCell[_0x2895[183]](this,arguments);this[_0x2895[1842]]= _0x4315x2}mxGraphHierarchyEdge[_0x2895[202]]= new mxGraphAbstractHierarchyCell;mxGraphHierarchyEdge[_0x2895[202]][_0x2895[196]]= mxGraphHierarchyEdge;mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1842]]= null;mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1097]]= null;mxGraphHierarchyEdge[_0x2895[202]][_0x2895[772]]= null;mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1843]]= !1;mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1744]]= function(_0x4315x2){_0x4315x2= this[_0x2895[1097]];this[_0x2895[1097]]= this[_0x2895[772]];this[_0x2895[772]]= _0x4315x2;this[_0x2895[1843]]= !this[_0x2895[1843]]};mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1831]]= function(_0x4315x2){if(null== this[_0x2895[1829]]){this[_0x2895[1829]]= [];for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1826]][_0x2895[67]];_0x4315x3++){this[_0x2895[1829]][_0x4315x3]= [],_0x4315x3== this[_0x2895[1826]][_0x2895[67]]- 1?this[_0x2895[1829]][_0x4315x3][_0x2895[207]](this[_0x2895[1097]]):this[_0x2895[1829]][_0x4315x3][_0x2895[207]](this)}};return this[_0x2895[1829]][_0x4315x2- this[_0x2895[1828]]- 1]};mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1832]]= function(_0x4315x2){if(null== this[_0x2895[1830]]){this[_0x2895[1830]]= [];for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1826]][_0x2895[67]];_0x4315x3++){this[_0x2895[1830]][_0x4315x3]= [],0== _0x4315x3?this[_0x2895[1830]][_0x4315x3][_0x2895[207]](this[_0x2895[772]]):this[_0x2895[1830]][_0x4315x3][_0x2895[207]](this)}};return this[_0x2895[1830]][_0x4315x2- this[_0x2895[1828]]- 1]};mxGraphHierarchyEdge[_0x2895[202]][_0x2895[250]]= function(){return !0};mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1833]]= function(_0x4315x2){return this[_0x2895[1826]][_0x4315x2- this[_0x2895[1828]]- 1]};mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1834]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1826]][_0x4315x2- this[_0x2895[1828]]- 1]= _0x4315x3};mxGraphHierarchyEdge[_0x2895[202]][_0x2895[1841]]= function(){return null!= this[_0x2895[1842]]&& 0< this[_0x2895[1842]][_0x2895[67]]?this[_0x2895[1842]][0]:null};function mxGraphHierarchyModel(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2[_0x2895[1703]]();this[_0x2895[1844]]= _0x4315x9;this[_0x2895[1845]]= _0x4315x4;this[_0x2895[1101]]= _0x4315x5;this[_0x2895[1846]]= {};this[_0x2895[1847]]= {};this[_0x2895[1827]]= 0;_0x4315x4= [];null== _0x4315x3&& (_0x4315x3= this[_0x2895[1179]][_0x2895[1728]](_0x4315x5));this[_0x2895[1827]]= this[_0x2895[1848]];this[_0x2895[1849]](_0x4315x2,_0x4315x3,_0x4315x4);for(_0x4315x5= 0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){_0x4315x9= _0x4315x4[_0x4315x5][_0x2895[1838]];for(var _0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x9[_0x4315xa],_0x4315x13=_0x4315x12[_0x2895[1842]];if(null!= _0x4315x13&& 0< _0x4315x13[_0x2895[67]]){var _0x4315x13=_0x4315x13[0],_0x4315x14=_0x4315x2[_0x2895[1710]](_0x4315x13,!1),_0x4315x14=mxCellPath[_0x2895[385]](_0x4315x14),_0x4315x14=this[_0x2895[1846]][_0x4315x14];_0x4315x4[_0x4315x5]== _0x4315x14&& (_0x4315x14= _0x4315x2[_0x2895[1710]](_0x4315x13,!0),_0x4315x14= mxCellPath[_0x2895[385]](_0x4315x14),_0x4315x14= this[_0x2895[1846]][_0x4315x14]);null!= _0x4315x14&& _0x4315x4[_0x4315x5]!= _0x4315x14&& (_0x4315x12[_0x2895[772]]= _0x4315x14,0== _0x4315x14[_0x2895[1837]][_0x2895[67]]&& (_0x4315x14[_0x2895[1837]]= []),0> mxUtils[_0x2895[2]](_0x4315x14[_0x2895[1837]],_0x4315x12)&& _0x4315x14[_0x2895[1837]][_0x2895[207]](_0x4315x12))}};_0x4315x4[_0x4315x5][_0x2895[1826]][0]= 1}}mxGraphHierarchyModel[_0x2895[202]][_0x2895[1827]]= null;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1846]]= null;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1847]]= null;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1850]]= null;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1845]]= null;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1101]]= null;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1851]]= 0;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1848]]= 1E8;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1844]]= !1;mxGraphHierarchyModel[_0x2895[202]][_0x2895[1849]]= function(_0x4315x2,_0x4315x3,_0x4315x4){for(var _0x4315x5=_0x4315x2[_0x2895[1703]](),_0x4315x9=0;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){_0x4315x4[_0x4315x9]= new mxGraphHierarchyNode(_0x4315x3[_0x4315x9]);var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x3[_0x4315x9]);this[_0x2895[1846]][_0x4315xa]= _0x4315x4[_0x4315x9];_0x4315xa= _0x4315x2[_0x2895[264]](_0x4315x3[_0x4315x9]);_0x4315x4[_0x4315x9][_0x2895[1838]]= [];for(var _0x4315x12=0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){var _0x4315x13=_0x4315x2[_0x2895[1710]](_0x4315xa[_0x4315x12],!1);if(_0x4315x13!= _0x4315x3[_0x4315x9]&& _0x4315x13!= _0x4315x3[_0x4315x9]&& _0x4315x2[_0x2895[1179]][_0x2895[251]][_0x2895[1193]](_0x4315x13)&& !_0x4315x2[_0x2895[1713]](_0x4315x13)){var _0x4315x14=_0x4315x2[_0x2895[1781]](_0x4315x3[_0x4315x9],_0x4315x13,!1),_0x4315x15=_0x4315x2[_0x2895[1781]](_0x4315x3[_0x4315x9],_0x4315x13,!0),_0x4315x13=mxCellPath[_0x2895[385]](_0x4315x14[0]);if(null!= _0x4315x14&& 0< _0x4315x14[_0x2895[67]]&& null== this[_0x2895[1847]][_0x4315x13]&& 2* _0x4315x15[_0x2895[67]]>= _0x4315x14[_0x2895[67]]){for(var _0x4315x15= new mxGraphHierarchyEdge(_0x4315x14),_0x4315x16=0;_0x4315x16< _0x4315x14[_0x2895[67]];_0x4315x16++){var _0x4315x17=_0x4315x14[_0x4315x16],_0x4315x13=mxCellPath[_0x2895[385]](_0x4315x17);this[_0x2895[1847]][_0x4315x13]= _0x4315x15;_0x4315x5[_0x2895[1809]](_0x4315x17);_0x4315x2[_0x2895[1787]]&& (_0x4315x2[_0x2895[1716]](_0x4315x17,!1),_0x4315x2[_0x2895[1718]](_0x4315x17,!0))};_0x4315x15[_0x2895[1097]]= _0x4315x4[_0x4315x9];0> mxUtils[_0x2895[2]](_0x4315x4[_0x4315x9][_0x2895[1838]],_0x4315x15)&& _0x4315x4[_0x4315x9][_0x2895[1838]][_0x2895[207]](_0x4315x15)}}};_0x4315x4[_0x4315x9][_0x2895[1826]][0]= 0}};mxGraphHierarchyModel[_0x2895[202]][_0x2895[1852]]= function(){var _0x4315x2=[];if(null!= this[_0x2895[1845]]){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1845]][_0x2895[67]];_0x4315x3++){var _0x4315x4=mxCellPath[_0x2895[385]](this[_0x2895[1845]][_0x4315x3]),_0x4315x4=this[_0x2895[1846]][_0x4315x4];null!= _0x4315x4&& _0x4315x2[_0x2895[207]](_0x4315x4)}};for(var _0x4315x5 in this[_0x2895[1846]]){_0x4315x4= this[_0x2895[1846]][_0x4315x5],_0x4315x4[_0x2895[1826]][0]= -1};for(var _0x4315x9=_0x4315x2[_0x2895[1853]]();0< _0x4315x2[_0x2895[67]];){var _0x4315x4=_0x4315x2[0],_0x4315xa,_0x4315x12;_0x4315xa= _0x4315x4[_0x2895[1837]];_0x4315x12= _0x4315x4[_0x2895[1838]];for(var _0x4315x13=!0,_0x4315x14=this[_0x2895[1848]],_0x4315x3=0;_0x4315x3< _0x4315xa[_0x2895[67]];_0x4315x3++){var _0x4315x15=_0x4315xa[_0x4315x3];if(5270620== _0x4315x15[_0x2895[1826]][0]){_0x4315x15= _0x4315x15[_0x2895[1097]],_0x4315x14= Math[_0x2895[243]](_0x4315x14,_0x4315x15[_0x2895[1826]][0]- 1)}else {_0x4315x13= !1;break}};if(_0x4315x13){_0x4315x4[_0x2895[1826]][0]= _0x4315x14;this[_0x2895[1827]]= Math[_0x2895[243]](this[_0x2895[1827]],_0x4315x14);if(null!= _0x4315x12){for(_0x4315x3= 0;_0x4315x3< _0x4315x12[_0x2895[67]];_0x4315x3++){_0x4315x15= _0x4315x12[_0x4315x3],_0x4315x15[_0x2895[1826]][0]= 5270620,_0x4315x15= _0x4315x15[_0x2895[772]],-1== _0x4315x15[_0x2895[1826]][0]&& (_0x4315x2[_0x2895[207]](_0x4315x15),_0x4315x15[_0x2895[1826]][0]= -2)}};_0x4315x2[_0x2895[1115]]()}else {if(_0x4315x3= _0x4315x2[_0x2895[1115]](),_0x4315x2[_0x2895[207]](_0x4315x4),_0x4315x3== _0x4315x4&& 1== _0x4315x2[_0x2895[67]]){break}}};for(_0x4315x5 in this[_0x2895[1846]]){_0x4315x4= this[_0x2895[1846]][_0x4315x5],_0x4315x4[_0x2895[1826]][0]-= this[_0x2895[1827]]};for(_0x4315x3= 0;_0x4315x3< _0x4315x9[_0x2895[67]];_0x4315x3++){_0x4315x4= _0x4315x9[_0x4315x3];_0x4315x2= 0;_0x4315xa= _0x4315x4[_0x2895[1838]];for(_0x4315x5= 0;_0x4315x5< _0x4315xa[_0x2895[67]];_0x4315x5++){_0x4315x15= _0x4315xa[_0x4315x5],_0x4315x15= _0x4315x15[_0x2895[772]],_0x4315x4[_0x2895[1826]][0]= Math[_0x2895[160]](_0x4315x2,_0x4315x15[_0x2895[1826]][0]+ 1),_0x4315x2= _0x4315x4[_0x2895[1826]][0]}};this[_0x2895[1827]]= this[_0x2895[1848]]- this[_0x2895[1827]]};mxGraphHierarchyModel[_0x2895[202]][_0x2895[1854]]= function(){var _0x4315x2=[];this[_0x2895[1850]]= [];for(var _0x4315x3=0;_0x4315x3< this[_0x2895[1827]]+ 1;_0x4315x3++){_0x4315x2[_0x4315x3]= [],this[_0x2895[1850]][_0x4315x3]= _0x4315x2[_0x4315x3]};var _0x4315x4=null;if(null!= this[_0x2895[1845]]){for(var _0x4315x5=this[_0x2895[1845]],_0x4315x4=[],_0x4315x3=0;_0x4315x3< _0x4315x5[_0x2895[67]];_0x4315x3++){var _0x4315x9=mxCellPath[_0x2895[385]](_0x4315x5[_0x4315x3]);_0x4315x4[_0x4315x3]= this[_0x2895[1846]][_0x4315x9]}};this[_0x2895[209]](function(_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315x15){0== _0x4315x15&& (0> _0x4315x4[_0x2895[1827]]&& 0> _0x4315x4[_0x2895[1828]])&& (_0x4315x2[_0x4315x4[_0x2895[1826]][0]][_0x2895[207]](_0x4315x4),_0x4315x4[_0x2895[1827]]= _0x4315x4[_0x2895[1826]][0],_0x4315x4[_0x2895[1828]]= _0x4315x4[_0x2895[1826]][0],_0x4315x4[_0x2895[1826]][0]= _0x4315x2[_0x4315x4[_0x2895[1827]]][_0x2895[67]]- 1);if(null!= _0x4315x3&& null!= _0x4315x5&& 1< _0x4315x3[_0x2895[1827]]- _0x4315x4[_0x2895[1827]]){_0x4315x5[_0x2895[1827]]= _0x4315x3[_0x2895[1827]];_0x4315x5[_0x2895[1828]]= _0x4315x4[_0x2895[1827]];_0x4315x5[_0x2895[1826]]= [];_0x4315x5[_0x2895[235]]= [];_0x4315x5[_0x2895[236]]= [];for(_0x4315x3= _0x4315x5[_0x2895[1828]]+ 1;_0x4315x3< _0x4315x5[_0x2895[1827]];_0x4315x3++){_0x4315x2[_0x4315x3][_0x2895[207]](_0x4315x5),_0x4315x5[_0x2895[1834]](_0x4315x3,_0x4315x2[_0x4315x3][_0x2895[67]]- 1)}}},_0x4315x4,!1,null)};mxGraphHierarchyModel[_0x2895[202]][_0x2895[209]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x3){for(var _0x4315x9=0;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){var _0x4315xa=_0x4315x3[_0x4315x9];null!= _0x4315xa&& (null== _0x4315x5&& (_0x4315x5= {}),_0x4315x4?(_0x4315xa[_0x2895[1839]]= [],_0x4315xa[_0x2895[1839]][0]= this[_0x2895[1851]],_0x4315xa[_0x2895[1839]][1]= _0x4315x9,this[_0x2895[1855]](null,_0x4315xa,null,_0x4315x2,_0x4315x5,_0x4315xa[_0x2895[1839]],_0x4315x9,0)):this[_0x2895[1758]](null,_0x4315xa,null,_0x4315x2,_0x4315x5,0))};this[_0x2895[1851]]++}};mxGraphHierarchyModel[_0x2895[202]][_0x2895[1758]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){if(null!= _0x4315x3){var _0x4315x12=mxCellPath[_0x2895[385]](_0x4315x3[_0x2895[246]]);if(null== _0x4315x9[_0x4315x12]){_0x4315x9[_0x4315x12]= _0x4315x3;_0x4315x5(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315xa,0);_0x4315x2= _0x4315x3[_0x2895[1838]][_0x2895[1853]]();for(_0x4315x4= 0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){_0x4315x12= _0x4315x2[_0x4315x4],this[_0x2895[1758]](_0x4315x3,_0x4315x12[_0x2895[772]],_0x4315x12,_0x4315x5,_0x4315x9,_0x4315xa+ 1)}}else {_0x4315x5(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315xa,1)}}};mxGraphHierarchyModel[_0x2895[202]][_0x2895[1855]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13){if(null!= _0x4315x3){if(null!= _0x4315x2&& (null== _0x4315x3[_0x2895[1839]]|| _0x4315x3[_0x2895[1839]][0]!= _0x4315x2[_0x2895[1839]][0])){_0x4315xa= _0x4315x2[_0x2895[1839]][_0x2895[67]]+ 1,_0x4315x3[_0x2895[1839]]= _0x4315x2[_0x2895[1839]][_0x2895[1853]](),_0x4315x3[_0x2895[1839]][_0x4315xa- 1]= _0x4315x12};_0x4315x12= mxCellPath[_0x2895[385]](_0x4315x3[_0x2895[246]]);if(null== _0x4315x9[_0x4315x12]){_0x4315x9[_0x4315x12]= _0x4315x3;_0x4315x5(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x13,0);_0x4315x2= _0x4315x3[_0x2895[1838]][_0x2895[1853]]();for(_0x4315x4= 0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){_0x4315x12= _0x4315x2[_0x4315x4],this[_0x2895[1855]](_0x4315x3,_0x4315x12[_0x2895[772]],_0x4315x12,_0x4315x5,_0x4315x9,_0x4315x3[_0x2895[1839]],_0x4315x4,_0x4315x13+ 1)}}else {_0x4315x5(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x13,1)}}};function mxHierarchicalLayoutStage(){}mxHierarchicalLayoutStage[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){};function mxMedianHybridCrossingReduction(_0x4315x2){this[_0x2895[1759]]= _0x4315x2}mxMedianHybridCrossingReduction[_0x2895[202]]= new mxHierarchicalLayoutStage;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[196]]= mxMedianHybridCrossingReduction;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1759]]= null;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1795]]= 24;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1856]]= null;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1857]]= 0;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1858]]= 0;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1859]]= 2;mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){_0x4315x2= this[_0x2895[1759]][_0x2895[502]]();this[_0x2895[1856]]= [];for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[1850]][_0x2895[67]];_0x4315x3++){this[_0x2895[1856]][_0x4315x3]= _0x4315x2[_0x2895[1850]][_0x4315x3][_0x2895[1853]]()};for(var _0x4315x4=0,_0x4315x5=this[_0x2895[1860]](_0x4315x2),_0x4315x3=0;_0x4315x3< this[_0x2895[1795]]&& _0x4315x4< this[_0x2895[1859]];_0x4315x3++){this[_0x2895[1861]](_0x4315x3,_0x4315x2);this[_0x2895[1862]](_0x4315x3,_0x4315x2);var _0x4315x9=this[_0x2895[1860]](_0x4315x2);if(_0x4315x9< _0x4315x5){_0x4315x5= _0x4315x9;for(_0x4315x9= _0x4315x4= 0;_0x4315x9< this[_0x2895[1856]][_0x2895[67]];_0x4315x9++){for(var _0x4315xa=_0x4315x2[_0x2895[1850]][_0x4315x9],_0x4315x12=0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){var _0x4315x13=_0x4315xa[_0x4315x12];this[_0x2895[1856]][_0x4315x9][_0x4315x13[_0x2895[1833]](_0x4315x9)]= _0x4315x13}}}else {_0x4315x4++;for(_0x4315x9= 0;_0x4315x9< this[_0x2895[1856]][_0x2895[67]];_0x4315x9++){_0x4315xa= _0x4315x2[_0x2895[1850]][_0x4315x9];for(_0x4315x12= 0;_0x4315x12< _0x4315xa[_0x2895[67]];_0x4315x12++){_0x4315x13= _0x4315xa[_0x4315x12],_0x4315x13[_0x2895[1834]](_0x4315x9,_0x4315x12)}}};if(0== _0x4315x5){break}};_0x4315x4= [];_0x4315x5= [];for(_0x4315x3= 0;_0x4315x3< _0x4315x2[_0x2895[1827]]+ 1;_0x4315x3++){_0x4315x5[_0x4315x3]= [],_0x4315x4[_0x4315x3]= _0x4315x5[_0x4315x3]};for(_0x4315x3= 0;_0x4315x3< this[_0x2895[1856]][_0x2895[67]];_0x4315x3++){for(_0x4315x9= 0;_0x4315x9< this[_0x2895[1856]][_0x4315x3][_0x2895[67]];_0x4315x9++){_0x4315x5[_0x4315x3][_0x2895[207]](this[_0x2895[1856]][_0x4315x3][_0x4315x9])}};_0x4315x2[_0x2895[1850]]= _0x4315x4};mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1860]]= function(_0x4315x2){for(var _0x4315x3=_0x4315x2[_0x2895[1850]][_0x2895[67]],_0x4315x4=0,_0x4315x5=1;_0x4315x5< _0x4315x3;_0x4315x5++){_0x4315x4+= this[_0x2895[1863]](_0x4315x5,_0x4315x2)};return _0x4315x4};mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1863]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=0,_0x4315x5=_0x4315x3[_0x2895[1850]][_0x4315x2],_0x4315x9=_0x4315x5[_0x2895[67]],_0x4315xa=_0x4315x3[_0x2895[1850]][_0x4315x2- 1][_0x2895[67]],_0x4315x12=[],_0x4315x13=0;_0x4315x13< _0x4315x9;_0x4315x13++){_0x4315x12[_0x4315x13]= []};for(_0x4315x13= 0;_0x4315x13< _0x4315x5[_0x2895[67]];_0x4315x13++){for(var _0x4315x14=_0x4315x5[_0x4315x13],_0x4315x15=_0x4315x14[_0x2895[1833]](_0x4315x2),_0x4315x16=_0x4315x14[_0x2895[1832]](_0x4315x2),_0x4315x14=0;_0x4315x14< _0x4315x16[_0x2895[67]];_0x4315x14++){var _0x4315x17=_0x4315x16[_0x4315x14][_0x2895[1833]](_0x4315x2- 1);_0x4315x12[_0x4315x15][_0x4315x17]= 201207}};for(_0x4315x13= 0;_0x4315x13< _0x4315x9;_0x4315x13++){for(_0x4315x14= 0;_0x4315x14< _0x4315xa;_0x4315x14++){if(201207== _0x4315x12[_0x4315x13][_0x4315x14]){for(_0x4315x5= _0x4315x13+ 1;_0x4315x5< _0x4315x9;_0x4315x5++){for(_0x4315x15= 0;_0x4315x15< _0x4315x14;_0x4315x15++){201207== _0x4315x12[_0x4315x5][_0x4315x15]&& _0x4315x4++}};for(_0x4315x5= 0;_0x4315x5< _0x4315x13;_0x4315x5++){for(_0x4315x15= _0x4315x14+ 1;_0x4315x15< _0x4315xa;_0x4315x15++){201207== _0x4315x12[_0x4315x5][_0x4315x15]&& _0x4315x4++}}}}};return _0x4315x4/ 2};mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1862]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=!0,_0x4315x5=0;_0x4315x4&& 10> _0x4315x5++;){for(var _0x4315x9=1== _0x4315x2% 2&& 1== _0x4315x5% 2,_0x4315x4=!1,_0x4315xa=0;_0x4315xa< _0x4315x3[_0x2895[1850]][_0x2895[67]];_0x4315xa++){for(var _0x4315x12=_0x4315x3[_0x2895[1850]][_0x4315xa],_0x4315x13=[],_0x4315x14=0;_0x4315x14< _0x4315x12[_0x2895[67]];_0x4315x14++){var _0x4315x15=_0x4315x12[_0x4315x14],_0x4315x16=_0x4315x15[_0x2895[1833]](_0x4315xa);0> _0x4315x16&& (_0x4315x16= _0x4315x14);_0x4315x13[_0x4315x16]= _0x4315x15};for(var _0x4315x17=_0x4315x16= _0x4315x15= null,_0x4315x18=null,_0x4315x19=null,_0x4315x1a=null,_0x4315x1b=null,_0x4315x1c=null,_0x4315x1d=null,_0x4315x1e=null,_0x4315x14=0;_0x4315x14< _0x4315x12[_0x2895[67]]- 1;_0x4315x14++){if(0== _0x4315x14){for(var _0x4315x1d=_0x4315x13[_0x4315x14],_0x4315x15=_0x4315x1d[_0x2895[1831]](_0x4315xa),_0x4315x16=_0x4315x1d[_0x2895[1832]](_0x4315xa),_0x4315x19=[],_0x4315x1a=[],_0x4315x1f=0;_0x4315x1f< _0x4315x15[_0x2895[67]];_0x4315x1f++){_0x4315x19[_0x4315x1f]= _0x4315x15[_0x4315x1f][_0x2895[1833]](_0x4315xa+ 1)};for(_0x4315x1f= 0;_0x4315x1f< _0x4315x16[_0x2895[67]];_0x4315x1f++){_0x4315x1a[_0x4315x1f]= _0x4315x16[_0x4315x1f][_0x2895[1833]](_0x4315xa- 1)}}else {_0x4315x15= _0x4315x17,_0x4315x16= _0x4315x18,_0x4315x19= _0x4315x1b,_0x4315x1a= _0x4315x1c,_0x4315x1d= _0x4315x1e};_0x4315x1e= _0x4315x13[_0x4315x14+ 1];_0x4315x17= _0x4315x1e[_0x2895[1831]](_0x4315xa);_0x4315x18= _0x4315x1e[_0x2895[1832]](_0x4315xa);_0x4315x1b= [];_0x4315x1c= [];for(_0x4315x1f= 0;_0x4315x1f< _0x4315x17[_0x2895[67]];_0x4315x1f++){_0x4315x1b[_0x4315x1f]= _0x4315x17[_0x4315x1f][_0x2895[1833]](_0x4315xa+ 1)};for(_0x4315x1f= 0;_0x4315x1f< _0x4315x18[_0x2895[67]];_0x4315x1f++){_0x4315x1c[_0x4315x1f]= _0x4315x18[_0x4315x1f][_0x2895[1833]](_0x4315xa- 1)};for(var _0x4315x20=0,_0x4315x62=0,_0x4315x1f=0;_0x4315x1f< _0x4315x19[_0x2895[67]];_0x4315x1f++){for(var _0x4315x63=0;_0x4315x63< _0x4315x1b[_0x2895[67]];_0x4315x63++){_0x4315x19[_0x4315x1f]> _0x4315x1b[_0x4315x63]&& _0x4315x20++,_0x4315x19[_0x4315x1f]< _0x4315x1b[_0x4315x63]&& _0x4315x62++}};for(_0x4315x1f= 0;_0x4315x1f< _0x4315x1a[_0x2895[67]];_0x4315x1f++){for(_0x4315x63= 0;_0x4315x63< _0x4315x1c[_0x2895[67]];_0x4315x63++){_0x4315x1a[_0x4315x1f]> _0x4315x1c[_0x4315x63]&& _0x4315x20++,_0x4315x1a[_0x4315x1f]< _0x4315x1c[_0x4315x63]&& _0x4315x62++}};if(_0x4315x62< _0x4315x20|| _0x4315x62== _0x4315x20&& _0x4315x9){_0x4315x17= _0x4315x1d[_0x2895[1833]](_0x4315xa),_0x4315x1d[_0x2895[1834]](_0x4315xa,_0x4315x1e[_0x2895[1833]](_0x4315xa)),_0x4315x1e[_0x2895[1834]](_0x4315xa,_0x4315x17),_0x4315x17= _0x4315x15,_0x4315x18= _0x4315x16,_0x4315x1b= _0x4315x19,_0x4315x1c= _0x4315x1a,_0x4315x1e= _0x4315x1d,_0x4315x9|| (_0x4315x4= !0)}}}}};mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1861]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=0== _0x4315x2% 2;if(_0x4315x4){for(var _0x4315x5=_0x4315x3[_0x2895[1827]]- 1;0<= _0x4315x5;_0x4315x5--){this[_0x2895[1864]](_0x4315x5,_0x4315x4)}}else {for(_0x4315x5= 1;_0x4315x5< _0x4315x3[_0x2895[1827]];_0x4315x5++){this[_0x2895[1864]](_0x4315x5,_0x4315x4)}}};mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1864]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=this[_0x2895[1856]][_0x4315x2][_0x2895[67]],_0x4315x5=[],_0x4315x9=[],_0x4315xa=0;_0x4315xa< _0x4315x4;_0x4315xa++){var _0x4315x12=this[_0x2895[1856]][_0x4315x2][_0x4315xa],_0x4315x13= new MedianCellSorter;_0x4315x13[_0x2895[246]]= _0x4315x12;var _0x4315x14;_0x4315x14= _0x4315x3?_0x4315x12[_0x2895[1831]](_0x4315x2):_0x4315x12[_0x2895[1832]](_0x4315x2);var _0x4315x15;_0x4315x15= _0x4315x3?_0x4315x2+ 1:_0x4315x2- 1;null!= _0x4315x14&& 0!= _0x4315x14[_0x2895[67]]?(_0x4315x13[_0x2895[1865]]= this[_0x2895[1865]](_0x4315x14,_0x4315x15),_0x4315x5[_0x2895[207]](_0x4315x13)):_0x4315x9[_0x4315x12[_0x2895[1833]](_0x4315x2)]= !0};_0x4315x5[_0x2895[470]](MedianCellSorter[_0x2895[202]][_0x2895[469]]);for(_0x4315xa= 0;_0x4315xa< _0x4315x4;_0x4315xa++){null== _0x4315x9[_0x4315xa]&& (_0x4315x12= _0x4315x5[_0x2895[1115]]()[_0x2895[246]],_0x4315x12[_0x2895[1834]](_0x4315x2,_0x4315xa))}};mxMedianHybridCrossingReduction[_0x2895[202]][_0x2895[1865]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=[],_0x4315x5=0,_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){var _0x4315xa=_0x4315x2[_0x4315x9];_0x4315x4[_0x4315x5++]= _0x4315xa[_0x2895[1833]](_0x4315x3)};_0x4315x4[_0x2895[470]](function(_0x4315x2,_0x4315x3){return _0x4315x2- _0x4315x3});if(1== _0x4315x5% 2){return _0x4315x4[Math[_0x2895[519]](_0x4315x5/ 2)]};if(2== _0x4315x5){return (_0x4315x4[0]+ _0x4315x4[1])/ 2};_0x4315x9= _0x4315x5/ 2;_0x4315xa= _0x4315x4[_0x4315x9- 1]- _0x4315x4[0];_0x4315x5= _0x4315x4[_0x4315x5- 1]- _0x4315x4[_0x4315x9];return (_0x4315x4[_0x4315x9- 1]* _0x4315x5+ _0x4315x4[_0x4315x9]* _0x4315xa)/ (_0x4315xa+ _0x4315x5)};function MedianCellSorter(){}MedianCellSorter[_0x2895[202]][_0x2895[1865]]= 0;MedianCellSorter[_0x2895[202]][_0x2895[246]]= !1;MedianCellSorter[_0x2895[202]][_0x2895[469]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2&& null!= _0x4315x3?_0x4315x3[_0x2895[1865]]> _0x4315x2[_0x2895[1865]]?-1:_0x4315x3[_0x2895[1865]]< _0x4315x2[_0x2895[1865]]?1:0:0};function mxMinimumCycleRemover(_0x4315x2){this[_0x2895[1759]]= _0x4315x2}mxMinimumCycleRemover[_0x2895[202]]= new mxHierarchicalLayoutStage;mxMinimumCycleRemover[_0x2895[202]][_0x2895[196]]= mxMinimumCycleRemover;mxMinimumCycleRemover[_0x2895[202]][_0x2895[1759]]= null;mxMinimumCycleRemover[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1759]][_0x2895[502]](),_0x4315x4={},_0x4315x5=mxUtils[_0x2895[238]](_0x4315x3[_0x2895[1846]],null,!0),_0x4315x9=null;if(null!= _0x4315x3[_0x2895[1845]]){var _0x4315xa=_0x4315x3[_0x2895[1845]],_0x4315x9=[];for(_0x4315x2= 0;_0x4315x2< _0x4315xa[_0x2895[67]];_0x4315x2++){var _0x4315x12=mxCellPath[_0x2895[385]](_0x4315xa[_0x4315x2]);_0x4315x9[_0x4315x2]= _0x4315x3[_0x2895[1846]][_0x4315x12]}};_0x4315x3[_0x2895[209]](function(_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x12){_0x4315x3[_0x2895[1720]](_0x4315x2)&& (_0x4315x9[_0x2895[1744]](),mxUtils[_0x2895[205]](_0x4315x9,_0x4315x2[_0x2895[1838]]),_0x4315x2[_0x2895[1837]][_0x2895[207]](_0x4315x9),mxUtils[_0x2895[205]](_0x4315x9,_0x4315x3[_0x2895[1837]]),_0x4315x3[_0x2895[1838]][_0x2895[207]](_0x4315x9));_0x4315x2= mxCellPath[_0x2895[385]](_0x4315x3[_0x2895[246]]);_0x4315x4[_0x4315x2]= _0x4315x3;delete _0x4315x5[_0x4315x2]},_0x4315x9,!0,null);_0x4315x9= null;0< _0x4315x5[_0x2895[1866]]&& (_0x4315x9= mxUtils[_0x2895[238]](_0x4315x5,null,!0));_0x4315x2= mxUtils[_0x2895[238]](_0x4315x4,null,!0);_0x4315x3[_0x2895[209]](function(_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x12){_0x4315x3[_0x2895[1720]](_0x4315x2)&& (_0x4315x9[_0x2895[1744]](),mxUtils[_0x2895[205]](_0x4315x9,_0x4315x2[_0x2895[1838]]),_0x4315x3[_0x2895[1838]][_0x2895[207]](_0x4315x9),_0x4315x2[_0x2895[1837]][_0x2895[207]](_0x4315x9),mxUtils[_0x2895[205]](_0x4315x9,_0x4315x3[_0x2895[1837]]));_0x4315x2= mxCellPath[_0x2895[385]](_0x4315x3[_0x2895[246]]);_0x4315x4[_0x4315x2]= _0x4315x3;delete _0x4315x5[_0x4315x2]},_0x4315x5,!0,_0x4315x2);_0x4315xa= this[_0x2895[1759]][_0x2895[1703]]();if(null!= _0x4315x9&& 0< _0x4315x9[_0x2895[67]]){_0x4315x3= _0x4315x3[_0x2895[1845]];for(_0x4315x2= 0;_0x4315x2< _0x4315x9[_0x2895[67]];_0x4315x2++){_0x4315x12= _0x4315x9[_0x4315x2][_0x2895[246]],0== _0x4315xa[_0x2895[1867]](_0x4315x12)[_0x2895[67]]&& _0x4315x3[_0x2895[207]](_0x4315x12)}}};function mxCoordinateAssignment(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[1759]]= _0x4315x2;this[_0x2895[1868]]= _0x4315x3;this[_0x2895[1869]]= _0x4315x4;this[_0x2895[1870]]= _0x4315x5;this[_0x2895[1871]]= _0x4315x9;this[_0x2895[1872]]= _0x4315xa}var mxHierarchicalEdgeStyle={ORTHOGONAL:1,POLYLINE:2,STRAIGHT:3,CURVE:4};mxCoordinateAssignment[_0x2895[202]]= new mxHierarchicalLayoutStage;mxCoordinateAssignment[_0x2895[202]][_0x2895[196]]= mxCoordinateAssignment;mxCoordinateAssignment[_0x2895[202]][_0x2895[1759]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1868]]= 30;mxCoordinateAssignment[_0x2895[202]][_0x2895[1869]]= 100;mxCoordinateAssignment[_0x2895[202]][_0x2895[1872]]= 10;mxCoordinateAssignment[_0x2895[202]][_0x2895[1795]]= 8;mxCoordinateAssignment[_0x2895[202]][_0x2895[1751]]= 5;mxCoordinateAssignment[_0x2895[202]][_0x2895[1752]]= 2;mxCoordinateAssignment[_0x2895[202]][_0x2895[1753]]= 12;mxCoordinateAssignment[_0x2895[202]][_0x2895[1754]]= 4;mxCoordinateAssignment[_0x2895[202]][_0x2895[1873]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1870]]= mxConstants[_0x2895[1358]];mxCoordinateAssignment[_0x2895[202]][_0x2895[1871]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1874]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1875]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1876]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1877]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1878]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1879]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1880]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1881]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1882]]= !0;mxCoordinateAssignment[_0x2895[202]][_0x2895[675]]= mxHierarchicalEdgeStyle[_0x2895[1883]];mxCoordinateAssignment[_0x2895[202]][_0x2895[1884]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1885]]= null;mxCoordinateAssignment[_0x2895[202]][_0x2895[1745]]= 10;mxCoordinateAssignment[_0x2895[202]][_0x2895[1886]]= function(){var _0x4315x2=this[_0x2895[1759]][_0x2895[502]]();mxLog[_0x2895[539]]();mxLog[_0x2895[171]](_0x2895[1887]);for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[1850]][_0x2895[67]];_0x4315x3++){mxLog[_0x2895[53]](_0x2895[1888],_0x4315x3,_0x2895[1889]);for(var _0x4315x4=_0x4315x2[_0x2895[1850]][_0x4315x3],_0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){mxLog[_0x2895[53]](_0x4315x4[_0x4315x5][_0x2895[1833]](_0x4315x3),_0x2895[316])};mxLog[_0x2895[171]]()};mxLog[_0x2895[171]](_0x2895[1890])};mxCoordinateAssignment[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){this[_0x2895[1873]]= [];_0x4315x2= this[_0x2895[1759]][_0x2895[502]]();this[_0x2895[1875]]= 0;this[_0x2895[1891]](this[_0x2895[1759]][_0x2895[1703]](),_0x4315x2);this[_0x2895[1882]]&& this[_0x2895[1892]](_0x4315x2);var _0x4315x3=1E8;if(this[_0x2895[1882]]){for(var _0x4315x4=0;_0x4315x4< this[_0x2895[1795]];_0x4315x4++){0!= _0x4315x4&& (this[_0x2895[1893]](_0x4315x4,_0x4315x2),this[_0x2895[1892]](_0x4315x2));if(this[_0x2895[1875]]< _0x4315x3){for(var _0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[1850]][_0x2895[67]];_0x4315x5++){for(var _0x4315x9=_0x4315x2[_0x2895[1850]][_0x4315x5],_0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x9[_0x4315xa];_0x4315x12[_0x2895[1835]](_0x4315x5,_0x4315x12[_0x2895[1833]](_0x4315x5))}};_0x4315x3= this[_0x2895[1875]]}else {for(_0x4315x5= 0;_0x4315x5< _0x4315x2[_0x2895[1850]][_0x2895[67]];_0x4315x5++){_0x4315x9= _0x4315x2[_0x2895[1850]][_0x4315x5];for(_0x4315xa= 0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){_0x4315x12= _0x4315x9[_0x4315xa],_0x4315x12[_0x2895[1834]](_0x4315x5,_0x4315x12[_0x2895[730]](_0x4315x5))}}};this[_0x2895[1894]](this[_0x2895[1759]][_0x2895[1703]](),_0x4315x2);this[_0x2895[1875]]= 0}};this[_0x2895[1895]](this[_0x2895[1759]][_0x2895[1703]](),_0x4315x2)};mxCoordinateAssignment[_0x2895[202]][_0x2895[1892]]= function(_0x4315x2){for(var _0x4315x3=[],_0x4315x4=[],_0x4315x5=[],_0x4315x9=0;_0x4315x9<= _0x4315x2[_0x2895[1827]];_0x4315x9++){_0x4315x5[_0x4315x9]= _0x4315x2[_0x2895[1850]][_0x4315x9];for(var _0x4315xa=0;_0x4315xa< _0x4315x5[_0x4315x9][_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x5[_0x4315x9][_0x4315xa],_0x4315x13= new WeightedCellSorter(_0x4315x12,_0x4315x9);_0x4315x13[_0x2895[1785]]= _0x4315xa;_0x4315x13[_0x2895[1784]]= !0;_0x4315x3[_0x2895[207]](_0x4315x13);_0x4315x12= mxCellPath[_0x2895[385]](_0x4315x12[_0x2895[1841]]());_0x4315x4[_0x4315x12]= _0x4315x13}};_0x4315x2= 10* _0x4315x3[_0x2895[67]];for(_0x4315xa= 0;0< _0x4315x3[_0x2895[67]]&& _0x4315xa<= _0x4315x2;){var _0x4315x13=_0x4315x3[_0x2895[1115]](),_0x4315x9=_0x4315x13[_0x2895[246]],_0x4315x14=_0x4315x13[_0x2895[1782]],_0x4315x15=parseInt(_0x4315x13[_0x2895[1785]]),_0x4315x12=_0x4315x9[_0x2895[1831]](_0x4315x14),_0x4315x16=_0x4315x9[_0x2895[1832]](_0x4315x14),_0x4315x17=_0x4315x12[_0x2895[67]],_0x4315x18=_0x4315x16[_0x2895[67]],_0x4315x19=this[_0x2895[1896]](_0x4315x12,_0x4315x14+ 1),_0x4315x1a=this[_0x2895[1896]](_0x4315x16,_0x4315x14- 1),_0x4315x1b=_0x4315x17+ _0x4315x18,_0x4315x1c=_0x4315x9[_0x2895[1833]](_0x4315x14),_0x4315x1d=_0x4315x1c;0< _0x4315x1b&& (_0x4315x1d= (_0x4315x19* _0x4315x17+ _0x4315x1a* _0x4315x18)/ _0x4315x1b);_0x4315x17= !1;_0x4315x1d< _0x4315x1c- 1?0== _0x4315x15?(_0x4315x9[_0x2895[1834]](_0x4315x14,_0x4315x1d),_0x4315x17= !0):(_0x4315x15= _0x4315x5[_0x4315x14][_0x4315x15- 1],_0x4315x1c= _0x4315x15[_0x2895[1833]](_0x4315x14),_0x4315x1c= _0x4315x1c+ _0x4315x15[_0x2895[117]]/ 2+ this[_0x2895[1868]]+ _0x4315x9[_0x2895[117]]/ 2,_0x4315x1c< _0x4315x1d?(_0x4315x9[_0x2895[1834]](_0x4315x14,_0x4315x1d),_0x4315x17= !0):_0x4315x1c< _0x4315x9[_0x2895[1833]](_0x4315x14)- 1&& (_0x4315x9[_0x2895[1834]](_0x4315x14,_0x4315x1c),_0x4315x17= !0)):_0x4315x1d> _0x4315x1c+ 1&& (_0x4315x15== _0x4315x5[_0x4315x14][_0x2895[67]]- 1?(_0x4315x9[_0x2895[1834]](_0x4315x14,_0x4315x1d),_0x4315x17= !0):(_0x4315x15= _0x4315x5[_0x4315x14][_0x4315x15+ 1],_0x4315x1c= _0x4315x15[_0x2895[1833]](_0x4315x14),_0x4315x1c= _0x4315x1c- _0x4315x15[_0x2895[117]]/ 2- this[_0x2895[1868]]- _0x4315x9[_0x2895[117]]/ 2,_0x4315x1c> _0x4315x1d?(_0x4315x9[_0x2895[1834]](_0x4315x14,_0x4315x1d),_0x4315x17= !0):_0x4315x1c> _0x4315x9[_0x2895[1833]](_0x4315x14)+ 1&& (_0x4315x9[_0x2895[1834]](_0x4315x14,_0x4315x1c),_0x4315x17= !0)));if(_0x4315x17){for(_0x4315x9= 0;_0x4315x9< _0x4315x12[_0x2895[67]];_0x4315x9++){_0x4315x14= _0x4315x12[_0x4315x9],_0x4315x14= mxCellPath[_0x2895[385]](_0x4315x14[_0x2895[1841]]()),_0x4315x14= _0x4315x4[_0x4315x14],null!= _0x4315x14&& !1== _0x4315x14[_0x2895[1784]]&& (_0x4315x14[_0x2895[1784]]= !0,_0x4315x3[_0x2895[207]](_0x4315x14))};for(_0x4315x9= 0;_0x4315x9< _0x4315x16[_0x2895[67]];_0x4315x9++){_0x4315x14= _0x4315x16[_0x4315x9],_0x4315x14= mxCellPath[_0x2895[385]](_0x4315x14[_0x2895[1841]]()),_0x4315x14= _0x4315x4[_0x4315x14],null!= _0x4315x14&& !1== _0x4315x14[_0x2895[1784]]&& (_0x4315x14[_0x2895[1784]]= !0,_0x4315x3[_0x2895[207]](_0x4315x14))}};_0x4315x13[_0x2895[1784]]= !1;_0x4315xa++}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1893]]= function(_0x4315x2,_0x4315x3){if(0== _0x4315x2% 2){for(var _0x4315x4=_0x4315x3[_0x2895[1827]];0< _0x4315x4;_0x4315x4--){this[_0x2895[1897]](_0x4315x4- 1,_0x4315x3,_0x4315x4)}}else {for(_0x4315x4= 0;_0x4315x4< _0x4315x3[_0x2895[1827]]- 1;_0x4315x4++){this[_0x2895[1897]](_0x4315x4+ 1,_0x4315x3,_0x4315x4)}}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1897]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= _0x4315x3[_0x2895[1850]][_0x4315x2];for(var _0x4315x5=[],_0x4315x9=[],_0x4315xa=0;_0x4315xa< _0x4315x3[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x3[_0x4315xa];_0x4315x5[_0x4315xa]= new WeightedCellSorter;_0x4315x5[_0x4315xa][_0x2895[246]]= _0x4315x12;_0x4315x5[_0x4315xa][_0x2895[1785]]= _0x4315xa;var _0x4315x13=mxCellPath[_0x2895[385]](_0x4315x12[_0x2895[1841]]());_0x4315x9[_0x4315x13]= _0x4315x5[_0x4315xa];var _0x4315x14=null,_0x4315x14=_0x4315x4< _0x4315x2?_0x4315x12[_0x2895[1832]](_0x4315x2):_0x4315x12[_0x2895[1831]](_0x4315x2);_0x4315x5[_0x4315xa][_0x2895[1782]]= this[_0x2895[1898]](_0x4315x12,_0x4315x14)};_0x4315x5[_0x2895[470]](WeightedCellSorter[_0x2895[202]][_0x2895[469]]);for(_0x4315xa= 0;_0x4315xa< _0x4315x5[_0x2895[67]];_0x4315xa++){_0x4315x13= 0;_0x4315x12= _0x4315x5[_0x4315xa][_0x2895[246]];_0x4315x13= 0;_0x4315x14= _0x4315x4< _0x4315x2?_0x4315x12[_0x2895[1832]](_0x4315x2)[_0x2895[1853]]():_0x4315x12[_0x2895[1831]](_0x4315x2)[_0x2895[1853]]();null!= _0x4315x14&& (_0x4315x13= _0x4315x14[_0x2895[67]],_0x4315x13= 0< _0x4315x13?this[_0x2895[1896]](_0x4315x14,_0x4315x4):_0x4315x12[_0x2895[1833]](_0x4315x2));for(var _0x4315x15=0,_0x4315x14=-1E8,_0x4315x16=_0x4315x5[_0x4315xa][_0x2895[1785]]- 1;0<= _0x4315x16;){var _0x4315x17=mxCellPath[_0x2895[385]](_0x4315x3[_0x4315x16][_0x2895[1841]]()),_0x4315x17=_0x4315x9[_0x4315x17];if(null!= _0x4315x17){var _0x4315x18=_0x4315x17[_0x2895[246]];_0x4315x17[_0x2895[1784]]?(_0x4315x14= _0x4315x18[_0x2895[1833]](_0x4315x2)+ _0x4315x18[_0x2895[117]]/ 2+ this[_0x2895[1868]]+ _0x4315x15+ _0x4315x12[_0x2895[117]]/ 2,_0x4315x16= -1):(_0x4315x15+= _0x4315x18[_0x2895[117]]+ this[_0x2895[1868]],_0x4315x16--)}};_0x4315x15= 0;_0x4315x18= 1E8;for(_0x4315x16= _0x4315x5[_0x4315xa][_0x2895[1785]]+ 1;_0x4315x16< _0x4315x5[_0x2895[67]];){if(_0x4315x17= mxCellPath[_0x2895[385]](_0x4315x3[_0x4315x16][_0x2895[1841]]()),_0x4315x17= _0x4315x9[_0x4315x17],null!= _0x4315x17){var _0x4315x19=_0x4315x17[_0x2895[246]];_0x4315x17[_0x2895[1784]]?(_0x4315x18= _0x4315x19[_0x2895[1833]](_0x4315x2)- _0x4315x19[_0x2895[117]]/ 2- this[_0x2895[1868]]- _0x4315x15- _0x4315x12[_0x2895[117]]/ 2,_0x4315x16= _0x4315x5[_0x2895[67]]):(_0x4315x15+= _0x4315x19[_0x2895[117]]+ this[_0x2895[1868]],_0x4315x16++)}};_0x4315x13>= _0x4315x14&& _0x4315x13<= _0x4315x18?_0x4315x12[_0x2895[1834]](_0x4315x2,_0x4315x13):_0x4315x13< _0x4315x14?(_0x4315x12[_0x2895[1834]](_0x4315x2,_0x4315x14),this[_0x2895[1875]]+= _0x4315x14- _0x4315x13):_0x4315x13> _0x4315x18&& (_0x4315x12[_0x2895[1834]](_0x4315x2,_0x4315x18),this[_0x2895[1875]]+= _0x4315x13- _0x4315x18);_0x4315x5[_0x4315xa][_0x2895[1784]]= !0}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1898]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=0,_0x4315x5=0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){var _0x4315x9=_0x4315x3[_0x4315x5];_0x4315x2[_0x2895[1193]]()&& _0x4315x9[_0x2895[1193]]()?_0x4315x4++:_0x4315x4= _0x4315x2[_0x2895[250]]()&& _0x4315x9[_0x2895[250]]()?_0x4315x4+ 8:_0x4315x4+ 2};return _0x4315x4};mxCoordinateAssignment[_0x2895[202]][_0x2895[1896]]= function(_0x4315x2,_0x4315x3){if(0== _0x4315x2[_0x2895[67]]){return 0};for(var _0x4315x4=[],_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){_0x4315x4[_0x4315x5]= _0x4315x2[_0x4315x5][_0x2895[1833]](_0x4315x3)};_0x4315x4[_0x2895[470]](function(_0x4315x2,_0x4315x3){return _0x4315x2- _0x4315x3});if(1== _0x4315x2[_0x2895[67]]% 2){return _0x4315x4[Math[_0x2895[519]](_0x4315x2[_0x2895[67]]/ 2)]};_0x4315x5= _0x4315x2[_0x2895[67]]/ 2;return (_0x4315x4[_0x4315x5- 1]+ _0x4315x4[_0x4315x5])/ 2};mxCoordinateAssignment[_0x2895[202]][_0x2895[1891]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1899]](_0x4315x2,_0x4315x3);for(var _0x4315x4=this[_0x2895[1876]];0<= _0x4315x4;_0x4315x4--){_0x4315x4< _0x4315x3[_0x2895[1827]]&& this[_0x2895[1900]](_0x4315x4,_0x4315x2,_0x4315x3)};for(_0x4315x4= this[_0x2895[1876]]+ 1;_0x4315x4<= _0x4315x3[_0x2895[1827]];_0x4315x4++){0< _0x4315x4&& this[_0x2895[1900]](_0x4315x4,_0x4315x2,_0x4315x3)}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1900]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= _0x4315x4[_0x2895[1850]][_0x4315x2];_0x4315x4= 0;for(var _0x4315x5=this[_0x2895[1871]]+ (this[_0x2895[1879]]- this[_0x2895[1880]][_0x4315x2])/ 2,_0x4315x9=!1,_0x4315xa=0;_0x4315xa< _0x4315x3[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x3[_0x4315xa];if(_0x4315x12[_0x2895[1193]]()){var _0x4315x13=this[_0x2895[1759]][_0x2895[1726]](_0x4315x12[_0x2895[246]]);null!= _0x4315x13?this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1354]]?(_0x4315x12[_0x2895[117]]= _0x4315x13[_0x2895[117]],_0x4315x12[_0x2895[119]]= _0x4315x13[_0x2895[119]]):(_0x4315x12[_0x2895[117]]= _0x4315x13[_0x2895[119]],_0x4315x12[_0x2895[119]]= _0x4315x13[_0x2895[117]]):_0x4315x9= !0;_0x4315x4= Math[_0x2895[160]](_0x4315x4,_0x4315x12[_0x2895[119]])}else {_0x4315x12[_0x2895[250]]()&& (_0x4315x13= 1,null!= _0x4315x12[_0x2895[1842]]?_0x4315x13= _0x4315x12[_0x2895[1842]][_0x2895[67]]:mxLog[_0x2895[283]](_0x2895[1901]),_0x4315x12[_0x2895[117]]= (_0x4315x13- 1)* this[_0x2895[1872]])};_0x4315x5+= _0x4315x12[_0x2895[117]]/ 2;_0x4315x12[_0x2895[1835]](_0x4315x2,_0x4315x5);_0x4315x12[_0x2895[1834]](_0x4315x2,_0x4315x5);_0x4315x5+= _0x4315x12[_0x2895[117]]/ 2;_0x4315x5+= this[_0x2895[1868]]};!0== _0x4315x9&& mxLog[_0x2895[283]](_0x2895[1902])};mxCoordinateAssignment[_0x2895[202]][_0x2895[1899]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=-this[_0x2895[1869]],_0x4315x5=0;this[_0x2895[1880]]= [];this[_0x2895[1881]]= [];for(var _0x4315x9=_0x4315x3[_0x2895[1827]];0<= _0x4315x9;_0x4315x9--){for(var _0x4315xa=0,_0x4315x12=_0x4315x3[_0x2895[1850]][_0x4315x9],_0x4315x13=this[_0x2895[1871]],_0x4315x14=!1,_0x4315x15=0;_0x4315x15< _0x4315x12[_0x2895[67]];_0x4315x15++){var _0x4315x16=_0x4315x12[_0x4315x15];if(_0x4315x16[_0x2895[1193]]()){var _0x4315x17=this[_0x2895[1759]][_0x2895[1726]](_0x4315x16[_0x2895[246]]);null!= _0x4315x17?this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1354]]?(_0x4315x16[_0x2895[117]]= _0x4315x17[_0x2895[117]],_0x4315x16[_0x2895[119]]= _0x4315x17[_0x2895[119]]):(_0x4315x16[_0x2895[117]]= _0x4315x17[_0x2895[119]],_0x4315x16[_0x2895[119]]= _0x4315x17[_0x2895[117]]):_0x4315x14= !0;_0x4315xa= Math[_0x2895[160]](_0x4315xa,_0x4315x16[_0x2895[119]])}else {_0x4315x16[_0x2895[250]]()&& (_0x4315x17= 1,null!= _0x4315x16[_0x2895[1842]]?_0x4315x17= _0x4315x16[_0x2895[1842]][_0x2895[67]]:mxLog[_0x2895[283]](_0x2895[1901]),_0x4315x16[_0x2895[117]]= (_0x4315x17- 1)* this[_0x2895[1872]])};_0x4315x13+= _0x4315x16[_0x2895[117]]/ 2;_0x4315x16[_0x2895[1835]](_0x4315x9,_0x4315x13);_0x4315x16[_0x2895[1834]](_0x4315x9,_0x4315x13);_0x4315x13+= _0x4315x16[_0x2895[117]]/ 2;_0x4315x13+= this[_0x2895[1868]];_0x4315x13> this[_0x2895[1879]]&& (this[_0x2895[1879]]= _0x4315x13,this[_0x2895[1876]]= _0x4315x9);this[_0x2895[1880]][_0x4315x9]= _0x4315x13};!0== _0x4315x14&& mxLog[_0x2895[283]](_0x2895[1902]);this[_0x2895[1881]][_0x4315x9]= _0x4315x4;_0x4315x13= _0x4315xa/ 2+ _0x4315x5/ 2+ this[_0x2895[1869]];_0x4315x5= _0x4315xa;_0x4315x4= this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1359]]?_0x4315x4+ _0x4315x13:_0x4315x4- _0x4315x13;for(_0x4315x15= 0;_0x4315x15< _0x4315x12[_0x2895[67]];_0x4315x15++){_0x4315x12[_0x4315x15][_0x2895[1836]](_0x4315x9,_0x4315x4)}}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1894]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x3[_0x2895[1847]],_0x4315x5;for(_0x4315x5 in _0x4315x4){var _0x4315x9=_0x4315x4[_0x4315x5];if(!(1> _0x4315x9[_0x2895[1827]]- _0x4315x9[_0x2895[1828]]- 1)){for(var _0x4315xa=_0x4315x9[_0x2895[1833]](_0x4315x9[_0x2895[1828]]+ 1),_0x4315x12=!0,_0x4315x13=0,_0x4315x14=_0x4315x9[_0x2895[1828]]+ 2;_0x4315x14< _0x4315x9[_0x2895[1827]];_0x4315x14++){var _0x4315x15=_0x4315x9[_0x2895[1833]](_0x4315x14);_0x4315xa!= _0x4315x15?(_0x4315x12= !1,_0x4315xa= _0x4315x15):_0x4315x13++};if(!_0x4315x12){for(var _0x4315x12=_0x4315xa= 0,_0x4315x15=[],_0x4315x16=[],_0x4315x17=_0x4315x9[_0x2895[1833]](_0x4315x9[_0x2895[1828]]+ 1),_0x4315x14=_0x4315x9[_0x2895[1828]]+ 1;_0x4315x14< _0x4315x9[_0x2895[1827]]- 1;_0x4315x14++){var _0x4315x18=_0x4315x9[_0x2895[730]](_0x4315x14+ 1);_0x4315x17== _0x4315x18?(_0x4315x15[_0x4315x14- _0x4315x9[_0x2895[1828]]- 1]= _0x4315x17,_0x4315xa++):this[_0x2895[1903]](_0x4315x3,_0x4315x9,_0x4315x14+ 1,_0x4315x17)?(_0x4315x15[_0x4315x14- _0x4315x9[_0x2895[1828]]- 1]= _0x4315x17,_0x4315xa++):_0x4315x17= _0x4315x15[_0x4315x14- _0x4315x9[_0x2895[1828]]- 1]= _0x4315x18};_0x4315x17= _0x4315x9[_0x2895[730]](_0x4315x14);for(_0x4315x14= _0x4315x9[_0x2895[1827]]- 1;_0x4315x14> _0x4315x9[_0x2895[1828]]+ 1;_0x4315x14--){_0x4315x18= _0x4315x9[_0x2895[730]](_0x4315x14- 1),_0x4315x17== _0x4315x18?(_0x4315x16[_0x4315x14- _0x4315x9[_0x2895[1828]]- 2]= _0x4315x17,_0x4315x12++):this[_0x2895[1903]](_0x4315x3,_0x4315x9,_0x4315x14- 1,_0x4315x17)?(_0x4315x16[_0x4315x14- _0x4315x9[_0x2895[1828]]- 2]= _0x4315x17,_0x4315x12++):(_0x4315x16[_0x4315x14- _0x4315x9[_0x2895[1828]]- 2]= _0x4315x9[_0x2895[730]](_0x4315x14- 1),_0x4315x17= _0x4315x18)};if(_0x4315x12> _0x4315x13|| _0x4315xa> _0x4315x13){if(_0x4315x12>= _0x4315xa){for(_0x4315x14= _0x4315x9[_0x2895[1827]]- 2;_0x4315x14> _0x4315x9[_0x2895[1828]];_0x4315x14--){_0x4315x9[_0x2895[1835]](_0x4315x14,_0x4315x16[_0x4315x14- _0x4315x9[_0x2895[1828]]- 1])}}else {if(_0x4315xa> _0x4315x12){for(_0x4315x14= _0x4315x9[_0x2895[1828]]+ 2;_0x4315x14< _0x4315x9[_0x2895[1827]];_0x4315x14++){_0x4315x9[_0x2895[1835]](_0x4315x14,_0x4315x15[_0x4315x14- _0x4315x9[_0x2895[1828]]- 2])}}}}}}}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1903]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x2= _0x4315x2[_0x2895[1850]][_0x4315x4];for(var _0x4315x9=-1,_0x4315xa=0;_0x4315xa< _0x4315x2[_0x2895[67]];_0x4315xa++){if(_0x4315x3== _0x4315x2[_0x4315xa]){_0x4315x9= _0x4315xa;break}};if(0> _0x4315x9){return !1};_0x4315xa= _0x4315x3[_0x2895[1833]](_0x4315x4);if(_0x4315x5< _0x4315xa){if(0== _0x4315x9){return !0};_0x4315x2= _0x4315x2[_0x4315x9- 1];_0x4315x4= _0x4315x2[_0x2895[1833]](_0x4315x4);_0x4315x4= _0x4315x4+ _0x4315x2[_0x2895[117]]/ 2+ this[_0x2895[1868]]+ _0x4315x3[_0x2895[117]]/ 2;if(!(_0x4315x4<= _0x4315x5)){return !1}}else {if(_0x4315x5> _0x4315xa){if(_0x4315x9== _0x4315x2[_0x2895[67]]- 1){return !0};_0x4315x2= _0x4315x2[_0x4315x9+ 1];_0x4315x4= _0x4315x2[_0x2895[1833]](_0x4315x4);_0x4315x4= _0x4315x4- _0x4315x2[_0x2895[117]]/ 2- this[_0x2895[1868]]- _0x4315x3[_0x2895[117]]/ 2;if(!(_0x4315x4>= _0x4315x5)){return !1}}};return !0};mxCoordinateAssignment[_0x2895[202]][_0x2895[1895]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1877]]= [];this[_0x2895[1878]]= [];for(var _0x4315x4=0;_0x4315x4< _0x4315x3[_0x2895[1850]][_0x2895[67]];_0x4315x4++){this[_0x2895[1877]][_0x4315x4]= Number[_0x2895[1904]],this[_0x2895[1878]][_0x4315x4]= 0};_0x4315x4= null;this[_0x2895[1759]][_0x2895[1735]]&& (_0x4315x4= {});var _0x4315x5=_0x4315x3[_0x2895[1847]],_0x4315x9=_0x4315x3[_0x2895[1846]],_0x4315xa;for(_0x4315xa in _0x4315x9){var _0x4315x12=_0x4315x9[_0x4315xa];this[_0x2895[1725]](_0x4315x12);if(this[_0x2895[1759]][_0x2895[1735]]){var _0x4315x12=_0x4315x2[_0x2895[251]][_0x2895[1197]](_0x4315x12[_0x2895[246]]),_0x4315x13=mxCellPath[_0x2895[385]](_0x4315x12);null== _0x4315x4[_0x4315x13]&& (_0x4315x4[_0x4315x13]= _0x4315x12)}};this[_0x2895[1759]][_0x2895[1735]]&& null!= _0x4315x4&& this[_0x2895[1763]](_0x4315x4);(this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1905]]|| this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1883]]|| this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1906]])&& this[_0x2895[1764]](_0x4315x3);for(_0x4315xa in _0x4315x5){this[_0x2895[1907]](_0x4315x5[_0x4315xa])}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1763]]= function(_0x4315x2){var _0x4315x3=[],_0x4315x4;for(_0x4315x4 in _0x4315x2){_0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x4])};this[_0x2895[1759]][_0x2895[1727]](mxUtils[_0x2895[1779]](_0x4315x3,!0),this[_0x2895[1745]])};mxCoordinateAssignment[_0x2895[202]][_0x2895[1764]]= function(_0x4315x2){for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[1850]][_0x2895[67]];_0x4315x3++){for(var _0x4315x4=_0x4315x2[_0x2895[1850]][_0x4315x3],_0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){var _0x4315x9=_0x4315x4[_0x4315x5];if(_0x4315x9[_0x2895[1193]]()){for(var _0x4315xa=_0x4315x9[_0x2895[1832]](_0x4315x3),_0x4315x12=_0x4315x3- 1,_0x4315x13=0;2> _0x4315x13;_0x4315x13++){if(-1< _0x4315x12&& _0x4315x12< _0x4315x2[_0x2895[1850]][_0x2895[67]]&& null!= _0x4315xa&& 0< _0x4315xa[_0x2895[67]]){for(var _0x4315x14=[],_0x4315x15=0;_0x4315x15< _0x4315xa[_0x2895[67]];_0x4315x15++){var _0x4315x16= new WeightedCellSorter(_0x4315xa[_0x4315x15],_0x4315xa[_0x4315x15][_0x2895[730]](_0x4315x12));_0x4315x14[_0x2895[207]](_0x4315x16)};_0x4315x14[_0x2895[470]](WeightedCellSorter[_0x2895[202]][_0x2895[469]]);for(var _0x4315x16=_0x4315x9[_0x2895[235]][0]- _0x4315x9[_0x2895[117]]/ 2,_0x4315x17=_0x4315x16+ _0x4315x9[_0x2895[117]],_0x4315x18=_0x4315xa= 0,_0x4315x12=[],_0x4315x15=0;_0x4315x15< _0x4315x14[_0x2895[67]];_0x4315x15++){var _0x4315x19=_0x4315x14[_0x4315x15][_0x2895[246]],_0x4315x1a;if(_0x4315x19[_0x2895[1193]]()){_0x4315x1a= 0== _0x4315x13?_0x4315x9[_0x2895[1838]]:_0x4315x9[_0x2895[1837]];for(var _0x4315x1b=0;_0x4315x1b< _0x4315x1a[_0x2895[67]];_0x4315x1b++){if(_0x4315x1a[_0x4315x1b][_0x2895[1097]]== _0x4315x19|| _0x4315x1a[_0x4315x1b][_0x2895[772]]== _0x4315x19){_0x4315xa+= _0x4315x1a[_0x4315x1b][_0x2895[1842]][_0x2895[67]],_0x4315x18++,_0x4315x12[_0x2895[207]](_0x4315x1a[_0x4315x1b])}}}else {_0x4315xa+= _0x4315x19[_0x2895[1842]][_0x2895[67]],_0x4315x18++,_0x4315x12[_0x2895[207]](_0x4315x19)}};_0x4315x9[_0x2895[117]]> (_0x4315xa+ 1)* this[_0x2895[1751]]+ 2* this[_0x2895[1751]]&& (_0x4315x16+= this[_0x2895[1751]],_0x4315x17-= this[_0x2895[1751]]);_0x4315x14= (_0x4315x17- _0x4315x16)/ _0x4315xa;_0x4315x16+= _0x4315x14/ 2;_0x4315x17= this[_0x2895[1753]]- this[_0x2895[1752]];for(_0x4315x15= _0x4315x18= 0;_0x4315x15< _0x4315x12[_0x2895[67]];_0x4315x15++){_0x4315x19= _0x4315x12[_0x4315x15][_0x2895[1842]][_0x2895[67]];_0x4315x1b= mxCellPath[_0x2895[385]](_0x4315x12[_0x4315x15][_0x2895[1842]][0]);_0x4315x1a= this[_0x2895[1873]][_0x4315x1b];null== _0x4315x1a&& (_0x4315x1a= [],this[_0x2895[1873]][_0x4315x1b]= _0x4315x1a);_0x4315x15< _0x4315xa/ 2?_0x4315x17+= this[_0x2895[1752]]:_0x4315x15> _0x4315xa/ 2&& (_0x4315x17-= this[_0x2895[1752]]);for(_0x4315x1b= 0;_0x4315x1b< _0x4315x19;_0x4315x1b++){_0x4315x1a[4* _0x4315x1b+ 2* _0x4315x13]= _0x4315x16,_0x4315x16+= _0x4315x14,_0x4315x1a[4* _0x4315x1b+ 2* _0x4315x13+ 1]= _0x4315x17};_0x4315x18= Math[_0x2895[160]](_0x4315x18,_0x4315x17)}};_0x4315xa= _0x4315x9[_0x2895[1831]](_0x4315x3);_0x4315x12= _0x4315x3+ 1}}}}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1907]]= function(_0x4315x2){var _0x4315x3=0;if(101207!= _0x4315x2[_0x2895[1826]][0]){var _0x4315x4=_0x4315x2[_0x2895[1827]],_0x4315x5=_0x4315x2[_0x2895[1828]];_0x4315x4== _0x4315x5&& (_0x4315x4= _0x4315x2[_0x2895[1097]][_0x2895[1827]],_0x4315x5= _0x4315x2[_0x2895[772]][_0x2895[1828]]);for(var _0x4315x9=0,_0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2[_0x2895[1842]][0]),_0x4315xa=this[_0x2895[1873]][_0x4315xa],_0x4315x12=_0x4315x2[_0x2895[1843]]?_0x4315x2[_0x2895[772]][_0x2895[246]]:_0x4315x2[_0x2895[1097]][_0x2895[246]],_0x4315x13=this[_0x2895[1759]][_0x2895[1179]],_0x4315x14=0;_0x4315x14< _0x4315x2[_0x2895[1842]][_0x2895[67]];_0x4315x14++){var _0x4315x15=_0x4315x2[_0x2895[1842]][_0x4315x14],_0x4315x16=this[_0x2895[1759]][_0x2895[1710]](_0x4315x15,!0),_0x4315x17=_0x4315x13[_0x2895[251]][_0x2895[1709]](_0x4315x15,!0),_0x4315x18=[],_0x4315x19=_0x4315x2[_0x2895[1843]];_0x4315x16!= _0x4315x12&& (_0x4315x19= !_0x4315x19);if(null!= _0x4315xa){var _0x4315x1a=_0x4315x19?2:0,_0x4315x1b=_0x4315x19?this[_0x2895[1877]][_0x4315x5]:this[_0x2895[1878]][_0x4315x4],_0x4315x1c=_0x4315xa[4* _0x4315x9+ 1+ _0x4315x1a];_0x4315x19&& (_0x4315x1c= -_0x4315x1c);_0x4315x1b+= _0x4315x1c;_0x4315x1a= _0x4315xa[4* _0x4315x9+ _0x4315x1a];_0x4315x17= _0x4315x13[_0x2895[251]][_0x2895[1709]](_0x4315x15,!0);this[_0x2895[1759]][_0x2895[1908]](_0x4315x17)&& _0x4315x13[_0x2895[251]][_0x2895[1197]](_0x4315x17)== _0x4315x16&& (_0x4315x1a= _0x4315x13[_0x2895[441]][_0x2895[248]](_0x4315x17),_0x4315x1a= null!= _0x4315x1a?_0x4315x1a[_0x2895[235]]:_0x4315x16[_0x2895[256]][_0x2895[235]]+ _0x4315x2[_0x2895[1097]][_0x2895[117]]* _0x4315x17[_0x2895[256]][_0x2895[235]]);this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1354]]?(_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1a,_0x4315x1b)),this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1906]]&& _0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1a,_0x4315x1b+ _0x4315x1c))):(_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1b,_0x4315x1a)),this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1906]]&& _0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1b+ _0x4315x1c,_0x4315x1a)))};_0x4315x1a= _0x4315x2[_0x2895[235]][_0x2895[67]]- 1;_0x4315x1b= _0x4315x1c= -1;_0x4315x16= _0x4315x2[_0x2895[1827]]- 1;_0x4315x19&& (_0x4315x1a= 0,_0x4315x1c= _0x4315x2[_0x2895[235]][_0x2895[67]],_0x4315x1b= 1,_0x4315x16= _0x4315x2[_0x2895[1828]]+ 1);for(;_0x4315x2[_0x2895[1827]]!= _0x4315x2[_0x2895[1828]]&& _0x4315x1a!= _0x4315x1c;_0x4315x1a+= _0x4315x1b){var _0x4315x17=_0x4315x2[_0x2895[235]][_0x4315x1a]+ _0x4315x3,_0x4315x1d=(this[_0x2895[1877]][_0x4315x16]+ this[_0x2895[1878]][_0x4315x16+ 1])/ 2,_0x4315x1e=(this[_0x2895[1877]][_0x4315x16- 1]+ this[_0x2895[1878]][_0x4315x16])/ 2;if(_0x4315x19){var _0x4315x1f=_0x4315x1d,_0x4315x1d=_0x4315x1e,_0x4315x1e=_0x4315x1f};this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1354]]?(_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x17,_0x4315x1d)),_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x17,_0x4315x1e))):(_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1d,_0x4315x17)),_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1e,_0x4315x17)));this[_0x2895[1874]]= Math[_0x2895[160]](this[_0x2895[1874]],_0x4315x17);_0x4315x16+= _0x4315x1b};null!= _0x4315xa&& (_0x4315x1a= _0x4315x19?2:0,_0x4315x1b= _0x4315x19?this[_0x2895[1878]][_0x4315x4]:this[_0x2895[1877]][_0x4315x5],_0x4315x1c= _0x4315xa[4* _0x4315x9+ 3- _0x4315x1a],_0x4315x19&& (_0x4315x1c= -_0x4315x1c),_0x4315x1b-= _0x4315x1c,_0x4315x1a= _0x4315xa[4* _0x4315x9+ 2- _0x4315x1a],_0x4315x19= _0x4315x13[_0x2895[251]][_0x2895[1709]](_0x4315x15,!1),_0x4315x16= this[_0x2895[1759]][_0x2895[1710]](_0x4315x15,!1),this[_0x2895[1759]][_0x2895[1908]](_0x4315x19)&& _0x4315x13[_0x2895[251]][_0x2895[1197]](_0x4315x19)== _0x4315x16&& (_0x4315x1a= _0x4315x13[_0x2895[441]][_0x2895[248]](_0x4315x19),_0x4315x1a= null!= _0x4315x1a?_0x4315x1a[_0x2895[235]]:_0x4315x16[_0x2895[256]][_0x2895[235]]+ _0x4315x2[_0x2895[772]][_0x2895[117]]* _0x4315x19[_0x2895[256]][_0x2895[235]]),this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1354]]?(this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1906]]&& _0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1a,_0x4315x1b- _0x4315x1c)),_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1a,_0x4315x1b))):(this[_0x2895[675]]== mxHierarchicalEdgeStyle[_0x2895[1906]]&& _0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1b- _0x4315x1c,_0x4315x1a)),_0x4315x18[_0x2895[207]]( new mxPoint(_0x4315x1b,_0x4315x1a))));_0x4315x2[_0x2895[1843]]&& this[_0x2895[1909]](_0x4315x2,_0x4315x15);this[_0x2895[1759]][_0x2895[1722]](_0x4315x15,_0x4315x18);_0x4315x3= 0== _0x4315x3?this[_0x2895[1872]]:0< _0x4315x3?-_0x4315x3:-_0x4315x3+ this[_0x2895[1872]];_0x4315x9++};_0x4315x2[_0x2895[1826]][0]= 101207}};mxCoordinateAssignment[_0x2895[202]][_0x2895[1725]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[246]],_0x4315x4=_0x4315x2[_0x2895[235]][0]- _0x4315x2[_0x2895[117]]/ 2,_0x4315x5=_0x4315x2[_0x2895[236]][0]- _0x4315x2[_0x2895[119]]/ 2;this[_0x2895[1877]][_0x4315x2[_0x2895[1828]]]= Math[_0x2895[243]](this[_0x2895[1877]][_0x4315x2[_0x2895[1828]]],_0x4315x5);this[_0x2895[1878]][_0x4315x2[_0x2895[1828]]]= Math[_0x2895[160]](this[_0x2895[1878]][_0x4315x2[_0x2895[1828]]],_0x4315x5+ _0x4315x2[_0x2895[119]]);this[_0x2895[1870]]== mxConstants[_0x2895[1358]]|| this[_0x2895[1870]]== mxConstants[_0x2895[1354]]?this[_0x2895[1759]][_0x2895[1725]](_0x4315x3,_0x4315x4,_0x4315x5):this[_0x2895[1759]][_0x2895[1725]](_0x4315x3,_0x4315x5,_0x4315x4);this[_0x2895[1874]]= Math[_0x2895[160]](this[_0x2895[1874]],_0x4315x4+ _0x4315x2[_0x2895[117]])};mxCoordinateAssignment[_0x2895[202]][_0x2895[1909]]= function(_0x4315x2,_0x4315x3){};function WeightedCellSorter(_0x4315x2,_0x4315x3){this[_0x2895[246]]= _0x4315x2;this[_0x2895[1782]]= _0x4315x3}WeightedCellSorter[_0x2895[202]][_0x2895[1782]]= 0;WeightedCellSorter[_0x2895[202]][_0x2895[1783]]= !1;WeightedCellSorter[_0x2895[202]][_0x2895[1784]]= !1;WeightedCellSorter[_0x2895[202]][_0x2895[1785]]= null;WeightedCellSorter[_0x2895[202]][_0x2895[246]]= null;WeightedCellSorter[_0x2895[202]][_0x2895[469]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2&& null!= _0x4315x3?_0x4315x3[_0x2895[1782]]> _0x4315x2[_0x2895[1782]]?-1:_0x4315x3[_0x2895[1782]]< _0x4315x2[_0x2895[1782]]?1:_0x4315x3[_0x2895[1783]]?-1:1:0};function mxHierarchicalLayout(_0x4315x2,_0x4315x3,_0x4315x4){mxGraphLayout[_0x2895[239]](this,_0x4315x2);this[_0x2895[1870]]= null!= _0x4315x3?_0x4315x3:mxConstants[_0x2895[1358]];this[_0x2895[1910]]= null!= _0x4315x4?_0x4315x4:!0}mxHierarchicalLayout[_0x2895[202]]= new mxGraphLayout;mxHierarchicalLayout[_0x2895[202]][_0x2895[196]]= mxHierarchicalLayout;mxHierarchicalLayout[_0x2895[202]][_0x2895[1845]]= null;mxHierarchicalLayout[_0x2895[202]][_0x2895[1735]]= !1;mxHierarchicalLayout[_0x2895[202]][_0x2895[1911]]= !1;mxHierarchicalLayout[_0x2895[202]][_0x2895[1912]]= 0;mxHierarchicalLayout[_0x2895[202]][_0x2895[1868]]= 30;mxHierarchicalLayout[_0x2895[202]][_0x2895[1869]]= 100;mxHierarchicalLayout[_0x2895[202]][_0x2895[1913]]= 60;mxHierarchicalLayout[_0x2895[202]][_0x2895[1872]]= 10;mxHierarchicalLayout[_0x2895[202]][_0x2895[1870]]= mxConstants[_0x2895[1358]];mxHierarchicalLayout[_0x2895[202]][_0x2895[1882]]= !0;mxHierarchicalLayout[_0x2895[202]][_0x2895[1844]]= !0;mxHierarchicalLayout[_0x2895[202]][_0x2895[1787]]= !0;mxHierarchicalLayout[_0x2895[202]][_0x2895[1914]]= !0;mxHierarchicalLayout[_0x2895[202]][_0x2895[251]]= null;mxHierarchicalLayout[_0x2895[202]][_0x2895[1915]]= null;mxHierarchicalLayout[_0x2895[202]][_0x2895[502]]= function(){return this[_0x2895[251]]};mxHierarchicalLayout[_0x2895[202]][_0x2895[350]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1101]]= _0x4315x2;var _0x4315x4=this[_0x2895[1179]][_0x2895[251]];this[_0x2895[1915]]= {};if(!(null== _0x4315x3&& null== _0x4315x2)){if(null!= _0x4315x3&& null!= _0x4315x2){for(var _0x4315x5=[],_0x4315x9=0;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){_0x4315x4[_0x2895[1720]](_0x4315x2,_0x4315x3[_0x4315x9])&& _0x4315x5[_0x2895[207]](_0x4315x3[_0x4315x9])};this[_0x2895[1845]]= _0x4315x5}else {this[_0x2895[1845]]= _0x4315x3};_0x4315x4[_0x2895[473]]();try{this[_0x2895[1916]](_0x4315x2),this[_0x2895[1735]]&& !this[_0x2895[1179]][_0x2895[1742]](_0x4315x2)&& this[_0x2895[1179]][_0x2895[1917]]([_0x4315x2],this[_0x2895[1912]],this[_0x2895[1911]])}finally{_0x4315x4[_0x2895[476]]()}}};mxHierarchicalLayout[_0x2895[202]][_0x2895[1918]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=[];if(null!= _0x4315x2&& null!= _0x4315x3){var _0x4315x5=this[_0x2895[1179]][_0x2895[251]],_0x4315x9=null,_0x4315xa=-1E5,_0x4315x12;for(_0x4315x12 in _0x4315x3){var _0x4315x13=_0x4315x3[_0x4315x12];if(_0x4315x5[_0x2895[1193]](_0x4315x13)&& this[_0x2895[1179]][_0x2895[1714]](_0x4315x13)){for(var _0x4315x14=this[_0x2895[264]](_0x4315x13),_0x4315x15=0,_0x4315x16=0,_0x4315x17=0;_0x4315x17< _0x4315x14[_0x2895[67]];_0x4315x17++){this[_0x2895[1710]](_0x4315x14[_0x4315x17],!0)== _0x4315x13?_0x4315x15++:_0x4315x16++};0== _0x4315x16&& 0< _0x4315x15&& _0x4315x4[_0x2895[207]](_0x4315x13);_0x4315x14= _0x4315x15- _0x4315x16;_0x4315x14> _0x4315xa&& (_0x4315xa= _0x4315x14,_0x4315x9= _0x4315x13)}};0== _0x4315x4[_0x2895[67]]&& null!= _0x4315x9&& _0x4315x4[_0x2895[207]](_0x4315x9)};return _0x4315x4};mxHierarchicalLayout[_0x2895[202]][_0x2895[264]]= function(_0x4315x2){var _0x4315x3=mxCellPath[_0x2895[385]](_0x4315x2);if(null!= this[_0x2895[1915]][_0x4315x3]){return this[_0x2895[1915]][_0x4315x3]};for(var _0x4315x4=this[_0x2895[1179]][_0x2895[251]],_0x4315x5=[],_0x4315x9=this[_0x2895[1179]][_0x2895[1742]](_0x4315x2),_0x4315xa=_0x4315x4[_0x2895[262]](_0x4315x2),_0x4315x12=0;_0x4315x12< _0x4315xa;_0x4315x12++){var _0x4315x13=_0x4315x4[_0x2895[263]](_0x4315x2,_0x4315x12);if(this[_0x2895[1908]](_0x4315x13)){_0x4315x5= _0x4315x5[_0x2895[1919]](_0x4315x4[_0x2895[264]](_0x4315x13,!0,!0))}else {if(_0x4315x9|| !this[_0x2895[1179]][_0x2895[1714]](_0x4315x13)){_0x4315x5= _0x4315x5[_0x2895[1919]](_0x4315x4[_0x2895[264]](_0x4315x13,!0,!0))}}};_0x4315x5= _0x4315x5[_0x2895[1919]](_0x4315x4[_0x2895[264]](_0x4315x2,!0,!0));_0x4315x4= [];for(_0x4315x12= 0;_0x4315x12< _0x4315x5[_0x2895[67]];_0x4315x12++){_0x4315x9= this[_0x2895[1710]](_0x4315x5[_0x4315x12],!0),_0x4315xa= this[_0x2895[1710]](_0x4315x5[_0x4315x12],!1),(_0x4315x9== _0x4315xa|| _0x4315x9!= _0x4315xa&& (_0x4315xa== _0x4315x2&& (null== this[_0x2895[1101]]|| this[_0x2895[1179]][_0x2895[1920]](_0x4315x9,this[_0x2895[1101]],this[_0x2895[1914]]))|| _0x4315x9== _0x4315x2&& (null== this[_0x2895[1101]]|| this[_0x2895[1179]][_0x2895[1920]](_0x4315xa,this[_0x2895[1101]],this[_0x2895[1914]]))))&& _0x4315x4[_0x2895[207]](_0x4315x5[_0x4315x12])};return this[_0x2895[1915]][_0x4315x3]= _0x4315x4};mxHierarchicalLayout[_0x2895[202]][_0x2895[1710]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x4=null!= _0x4315x4?_0x4315x4[_0x2895[1710]](_0x4315x3):this[_0x2895[1179]][_0x2895[441]][_0x2895[1710]](_0x4315x2,_0x4315x3);this[_0x2895[1908]](_0x4315x4)&& (_0x4315x4= this[_0x2895[1179]][_0x2895[251]][_0x2895[1197]](_0x4315x4));return _0x4315x4};mxHierarchicalLayout[_0x2895[202]][_0x2895[1916]]= function(_0x4315x2){var _0x4315x3=[],_0x4315x4=[];if(null== this[_0x2895[1845]]&& null!= _0x4315x2){var _0x4315x5={};this[_0x2895[1921]](_0x4315x2,_0x4315x5);this[_0x2895[1845]]= [];var _0x4315x9=!0,_0x4315xa;for(_0x4315xa in _0x4315x5){if(null!= _0x4315x5[_0x4315xa]){_0x4315x9= !1;break}};for(;!_0x4315x9;){for(var _0x4315x12=this[_0x2895[1918]](_0x4315x2,_0x4315x5),_0x4315x9=0;_0x4315x9< _0x4315x12[_0x2895[67]];_0x4315x9++){var _0x4315x13=[];_0x4315x3[_0x2895[207]](_0x4315x13);this[_0x2895[1706]](_0x4315x12[_0x4315x9],!0,null,_0x4315x4,_0x4315x13,_0x4315x3,_0x4315x5)};for(_0x4315x9= 0;_0x4315x9< _0x4315x12[_0x2895[67]];_0x4315x9++){this[_0x2895[1845]][_0x2895[207]](_0x4315x12[_0x4315x9])};_0x4315x9= !0;for(_0x4315xa in _0x4315x5){if(null!= _0x4315x5[_0x4315xa]){_0x4315x9= !1;break}}}}else {for(_0x4315x9= 0;_0x4315x9< roots[_0x2895[67]];_0x4315x9++){_0x4315x13= [],_0x4315x3[_0x2895[207]](_0x4315x13),traverse(roots[_0x2895[203]](_0x4315x9),!0,null,_0x4315x4,_0x4315x13,_0x4315x3,null)}};for(_0x4315x9= _0x4315x4= 0;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){_0x4315x13= _0x4315x3[_0x4315x9];_0x4315x5= [];for(_0x4315xa in _0x4315x13){_0x4315x5[_0x2895[207]](_0x4315x13[_0x4315xa])};this[_0x2895[251]]= new mxGraphHierarchyModel(this,_0x4315x5,this[_0x2895[1845]],_0x4315x2,this[_0x2895[1844]]);this[_0x2895[1922]](_0x4315x2);this[_0x2895[1923]]();this[_0x2895[1924]](_0x4315x2);_0x4315x4= this[_0x2895[1925]](_0x4315x4,_0x4315x2)}};mxHierarchicalLayout[_0x2895[202]][_0x2895[1921]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[251]];_0x4315x4[_0x2895[1193]](_0x4315x2)&& (_0x4315x2!= this[_0x2895[1101]]&& this[_0x2895[1179]][_0x2895[1714]](_0x4315x2))&& (_0x4315x3[mxCellPath[_0x2895[385]](_0x4315x2)]= _0x4315x2);if(this[_0x2895[1914]]|| _0x4315x2== this[_0x2895[1101]]&& this[_0x2895[1179]][_0x2895[1714]](_0x4315x2)){for(var _0x4315x5=_0x4315x4[_0x2895[262]](_0x4315x2),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){var _0x4315xa=_0x4315x4[_0x2895[263]](_0x4315x2,_0x4315x9);this[_0x2895[1908]](_0x4315xa)|| this[_0x2895[1921]](_0x4315xa,_0x4315x3)}}};mxHierarchicalLayout[_0x2895[202]][_0x2895[1908]]= function(_0x4315x2){return _0x4315x2[_0x2895[256]][_0x2895[1500]]?!0:!1};mxHierarchicalLayout[_0x2895[202]][_0x2895[1781]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;for(var _0x4315x5=this[_0x2895[264]](_0x4315x2),_0x4315x9=[],_0x4315xa=0;_0x4315xa< _0x4315x5[_0x2895[67]];_0x4315xa++){var _0x4315x12=this[_0x2895[1710]](_0x4315x5[_0x4315xa],!0),_0x4315x13=this[_0x2895[1710]](_0x4315x5[_0x4315xa],!1);(_0x4315x12== _0x4315x2&& _0x4315x13== _0x4315x3|| !_0x4315x4&& _0x4315x12== _0x4315x3&& _0x4315x13== _0x4315x2)&& _0x4315x9[_0x2895[207]](_0x4315x5[_0x4315xa])};return _0x4315x9};mxHierarchicalLayout[_0x2895[202]][_0x2895[1706]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){if(null!= _0x4315x2&& null!= _0x4315x5){var _0x4315x13=mxCellPath[_0x2895[385]](_0x4315x2);if(null== _0x4315x5[_0x4315x13]&& (null== _0x4315x12|| null!= _0x4315x12[_0x4315x13])){null== _0x4315x9[_0x4315x13]&& (_0x4315x9[_0x4315x13]= _0x4315x2);null== _0x4315x5[_0x4315x13]&& (_0x4315x5[_0x4315x13]= _0x4315x2);delete _0x4315x12[_0x4315x13];var _0x4315x14=this[_0x2895[264]](_0x4315x2);for(_0x4315x4= 0;_0x4315x4< _0x4315x14[_0x2895[67]];_0x4315x4++){if(_0x4315x13= this[_0x2895[1710]](_0x4315x14[_0x4315x4],!0)== _0x4315x2,!_0x4315x3|| _0x4315x13){_0x4315x13= this[_0x2895[1710]](_0x4315x14[_0x4315x4],!_0x4315x13),_0x4315x9= this[_0x2895[1706]](_0x4315x13,_0x4315x3,_0x4315x14[_0x4315x4],_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12)}}}else {if(null== _0x4315x9[_0x4315x13]){for(_0x4315x4= 0;_0x4315x4< _0x4315xa[_0x2895[67]];_0x4315x4++){if(_0x4315x2= _0x4315xa[_0x4315x4],null!= _0x4315x2[_0x4315x13]){for(_0x4315x14 in _0x4315x9){_0x4315x2[_0x4315x14]= _0x4315x9[_0x4315x14]};_0x4315xa[_0x2895[1242]]();return _0x4315x2}}}}};return _0x4315x9};mxHierarchicalLayout[_0x2895[202]][_0x2895[1922]]= function(_0x4315x2){( new mxMinimumCycleRemover(this))[_0x2895[350]](_0x4315x2)};mxHierarchicalLayout[_0x2895[202]][_0x2895[1923]]= function(){this[_0x2895[251]][_0x2895[1852]]();this[_0x2895[251]][_0x2895[1854]]()};mxHierarchicalLayout[_0x2895[202]][_0x2895[1924]]= function(_0x4315x2){( new mxMedianHybridCrossingReduction(this))[_0x2895[350]](_0x4315x2)};mxHierarchicalLayout[_0x2895[202]][_0x2895[1925]]= function(_0x4315x2,_0x4315x3){var _0x4315x4= new mxCoordinateAssignment(this,this[_0x2895[1868]],this[_0x2895[1869]],this[_0x2895[1870]],_0x4315x2,this[_0x2895[1872]]);_0x4315x4[_0x2895[1882]]= this[_0x2895[1882]];_0x4315x4[_0x2895[350]](_0x4315x3);return _0x4315x4[_0x2895[1874]]+ this[_0x2895[1913]]};function mxGraphModel(_0x4315x2){this[_0x2895[1926]]= this[_0x2895[1096]]();null!= _0x4315x2?this[_0x2895[1927]](_0x4315x2):this[_0x2895[200]]()}mxGraphModel[_0x2895[202]]= new mxEventSource;mxGraphModel[_0x2895[202]][_0x2895[196]]= mxGraphModel;mxGraphModel[_0x2895[202]][_0x2895[813]]= null;mxGraphModel[_0x2895[202]][_0x2895[895]]= null;mxGraphModel[_0x2895[202]][_0x2895[1928]]= !0;mxGraphModel[_0x2895[202]][_0x2895[1929]]= !0;mxGraphModel[_0x2895[202]][_0x2895[1089]]= _0x2895[110];mxGraphModel[_0x2895[202]][_0x2895[1930]]= _0x2895[110];mxGraphModel[_0x2895[202]][_0x2895[1931]]= 0;mxGraphModel[_0x2895[202]][_0x2895[1926]]= null;mxGraphModel[_0x2895[202]][_0x2895[1932]]= 0;mxGraphModel[_0x2895[202]][_0x2895[1933]]= !1;mxGraphModel[_0x2895[202]][_0x2895[200]]= function(){this[_0x2895[1927]](this[_0x2895[1934]]())};mxGraphModel[_0x2895[202]][_0x2895[1935]]= function(){return this[_0x2895[1929]]};mxGraphModel[_0x2895[202]][_0x2895[1936]]= function(_0x4315x2){this[_0x2895[1929]]= _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[1934]]= function(){var _0x4315x2= new mxCell;_0x4315x2[_0x2895[1937]]( new mxCell);return _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[736]]= function(_0x4315x2){return null!= this[_0x2895[895]]?this[_0x2895[895]][_0x4315x2]:null};mxGraphModel[_0x2895[202]][_0x2895[1938]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null;if(null!= _0x4315x2){for(var _0x4315x4=[],_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){_0x4315x3(_0x4315x2[_0x4315x5])&& _0x4315x4[_0x2895[207]](_0x4315x2[_0x4315x5])}};return _0x4315x4};mxGraphModel[_0x2895[202]][_0x2895[1939]]= function(_0x4315x2){return this[_0x2895[1921]](null,_0x4315x2)};mxGraphModel[_0x2895[202]][_0x2895[1921]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=[];_0x4315x3= _0x4315x3|| this[_0x2895[501]]();(null== _0x4315x2|| _0x4315x2(_0x4315x3))&& _0x4315x4[_0x2895[207]](_0x4315x3);for(var _0x4315x5=this[_0x2895[262]](_0x4315x3),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){var _0x4315xa=this[_0x2895[263]](_0x4315x3,_0x4315x9),_0x4315x4=_0x4315x4[_0x2895[1919]](this[_0x2895[1921]](_0x4315x2,_0x4315xa))};return _0x4315x4};mxGraphModel[_0x2895[202]][_0x2895[501]]= function(_0x4315x2){var _0x4315x3=_0x4315x2|| this[_0x2895[813]];if(null!= _0x4315x2){for(;null!= _0x4315x2;){_0x4315x3= _0x4315x2,_0x4315x2= this[_0x2895[1197]](_0x4315x2)}};return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1927]]= function(_0x4315x2){this[_0x2895[350]]( new mxRootChange(this,_0x4315x2));return _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[1940]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[813]];this[_0x2895[813]]= _0x4315x2;this[_0x2895[1931]]= 0;this[_0x2895[895]]= null;this[_0x2895[1941]](_0x4315x2);return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1942]]= function(_0x4315x2){return null!= _0x4315x2&& this[_0x2895[813]]== _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[1740]]= function(_0x4315x2){return this[_0x2895[1942]](this[_0x2895[1197]](_0x4315x2))};mxGraphModel[_0x2895[202]][_0x2895[1720]]= function(_0x4315x2,_0x4315x3){for(;null!= _0x4315x3&& _0x4315x3!= _0x4315x2;){_0x4315x3= this[_0x2895[1197]](_0x4315x3)};return _0x4315x3== _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[442]]= function(_0x4315x2){return this[_0x2895[1720]](this[_0x2895[813]],_0x4315x2)};mxGraphModel[_0x2895[202]][_0x2895[1197]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[1197]]():null};mxGraphModel[_0x2895[202]][_0x2895[99]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(_0x4315x3!= _0x4315x2&& null!= _0x4315x2&& null!= _0x4315x3){null== _0x4315x4&& (_0x4315x4= this[_0x2895[262]](_0x4315x2));var _0x4315x5=_0x4315x2!= this[_0x2895[1197]](_0x4315x3);this[_0x2895[350]]( new mxChildChange(this,_0x4315x2,_0x4315x3,_0x4315x4));this[_0x2895[1928]]&& _0x4315x5&& this[_0x2895[1943]](_0x4315x3)};return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1941]]= function(_0x4315x2){if(null!= _0x4315x2){null== _0x4315x2[_0x2895[1103]]()&& this[_0x2895[1929]]&& _0x4315x2[_0x2895[1945]](this[_0x2895[1944]](_0x4315x2));if(null!= _0x4315x2[_0x2895[1103]]()){var _0x4315x3=this[_0x2895[736]](_0x4315x2[_0x2895[1103]]());if(_0x4315x3!= _0x4315x2){for(;null!= _0x4315x3;){_0x4315x2[_0x2895[1945]](this[_0x2895[1944]](_0x4315x2)),_0x4315x3= this[_0x2895[736]](_0x4315x2[_0x2895[1103]]())};null== this[_0x2895[895]]&& (this[_0x2895[895]]= {});this[_0x2895[895]][_0x4315x2[_0x2895[1103]]()]= _0x4315x2}};mxUtils[_0x2895[1946]](_0x4315x2[_0x2895[1103]]())&& (this[_0x2895[1931]]= Math[_0x2895[160]](this[_0x2895[1931]],_0x4315x2[_0x2895[1103]]()));for(var _0x4315x3=this[_0x2895[262]](_0x4315x2),_0x4315x4=0;_0x4315x4< _0x4315x3;_0x4315x4++){this[_0x2895[1941]](this[_0x2895[263]](_0x4315x2,_0x4315x4))}}};mxGraphModel[_0x2895[202]][_0x2895[1944]]= function(_0x4315x2){_0x4315x2= this[_0x2895[1931]];this[_0x2895[1931]]++;return this[_0x2895[1089]]+ _0x4315x2+ this[_0x2895[1930]]};mxGraphModel[_0x2895[202]][_0x2895[1943]]= function(_0x4315x2,_0x4315x3){_0x4315x3= _0x4315x3|| this[_0x2895[501]](_0x4315x2);for(var _0x4315x4=this[_0x2895[262]](_0x4315x2),_0x4315x5=0;_0x4315x5< _0x4315x4;_0x4315x5++){var _0x4315x9=this[_0x2895[263]](_0x4315x2,_0x4315x5);this[_0x2895[1943]](_0x4315x9,_0x4315x3)};_0x4315x9= this[_0x2895[1707]](_0x4315x2);_0x4315x4= [];for(_0x4315x5= 0;_0x4315x5< _0x4315x9;_0x4315x5++){_0x4315x4[_0x2895[207]](this[_0x2895[1708]](_0x4315x2,_0x4315x5))};for(_0x4315x5= 0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){_0x4315x9= _0x4315x4[_0x4315x5],this[_0x2895[1720]](_0x4315x3,_0x4315x9)&& this[_0x2895[1947]](_0x4315x9,_0x4315x3)}};mxGraphModel[_0x2895[202]][_0x2895[1947]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=this[_0x2895[1709]](_0x4315x2,!0),_0x4315x5=this[_0x2895[1709]](_0x4315x2,!1),_0x4315x9=null;null!= _0x4315x4&& !this[_0x2895[250]](_0x4315x4)&& null!= _0x4315x4[_0x2895[256]]&& _0x4315x4[_0x2895[256]][_0x2895[1500]];){_0x4315x4= this[_0x2895[1197]](_0x4315x4)};for(;null!= _0x4315x5&& !this[_0x2895[250]](_0x4315x5)&& null!= _0x4315x5[_0x2895[256]]&& _0x4315x5[_0x2895[256]][_0x2895[1500]];){_0x4315x5= this[_0x2895[1197]](_0x4315x5)};if(this[_0x2895[1720]](_0x4315x3,_0x4315x4)&& this[_0x2895[1720]](_0x4315x3,_0x4315x5)&& (_0x4315x9= _0x4315x4== _0x4315x5?this[_0x2895[1197]](_0x4315x4):this[_0x2895[1948]](_0x4315x4,_0x4315x5),null!= _0x4315x9&& (this[_0x2895[1197]](_0x4315x9)!= this[_0x2895[813]]|| this[_0x2895[1720]](_0x4315x9,_0x4315x2))&& this[_0x2895[1197]](_0x4315x2)!= _0x4315x9)){_0x4315x4= this[_0x2895[1721]](_0x4315x2);if(null!= _0x4315x4){var _0x4315xa=this[_0x2895[1949]](this[_0x2895[1197]](_0x4315x2)),_0x4315x12=this[_0x2895[1949]](_0x4315x9),_0x4315x5=_0x4315x12[_0x2895[235]]- _0x4315xa[_0x2895[235]],_0x4315xa=_0x4315x12[_0x2895[236]]- _0x4315xa[_0x2895[236]],_0x4315x4=_0x4315x4[_0x2895[238]]();_0x4315x4[_0x2895[513]](-_0x4315x5,-_0x4315xa);this[_0x2895[1724]](_0x4315x2,_0x4315x4)};this[_0x2895[99]](_0x4315x9,_0x4315x2,this[_0x2895[262]](_0x4315x9))}};mxGraphModel[_0x2895[202]][_0x2895[1949]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2?(_0x4315x3= this[_0x2895[1949]](this[_0x2895[1197]](_0x4315x2)),this[_0x2895[250]](_0x4315x2)|| (_0x4315x2= this[_0x2895[1721]](_0x4315x2),null!= _0x4315x2&& (_0x4315x3[_0x2895[235]]+= _0x4315x2[_0x2895[235]],_0x4315x3[_0x2895[236]]+= _0x4315x2[_0x2895[236]]))):_0x4315x3= new mxPoint;return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1948]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& null!= _0x4315x3){var _0x4315x4=mxCellPath[_0x2895[385]](_0x4315x3);if(null!= _0x4315x4&& 0< _0x4315x4[_0x2895[67]]){var _0x4315x5=_0x4315x2,_0x4315x9=mxCellPath[_0x2895[385]](_0x4315x5);if(_0x4315x4[_0x2895[67]]< _0x4315x9[_0x2895[67]]){var _0x4315x5=_0x4315x3,_0x4315xa=_0x4315x9,_0x4315x9=_0x4315x4,_0x4315x4=_0x4315xa};for(;null!= _0x4315x5;){_0x4315xa= this[_0x2895[1197]](_0x4315x5);if(0== _0x4315x4[_0x2895[2]](_0x4315x9+ mxCellPath[_0x2895[1950]])&& null!= _0x4315xa){return _0x4315x5};_0x4315x9= mxCellPath[_0x2895[1951]](_0x4315x9);_0x4315x5= _0x4315xa}}};return null};mxGraphModel[_0x2895[202]][_0x2895[205]]= function(_0x4315x2){_0x4315x2== this[_0x2895[813]]?this[_0x2895[1927]](null):null!= this[_0x2895[1197]](_0x4315x2)&& this[_0x2895[350]]( new mxChildChange(this,null,_0x4315x2));return _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[1102]]= function(_0x4315x2){if(null!= _0x4315x2&& null!= this[_0x2895[895]]){for(var _0x4315x3=this[_0x2895[262]](_0x4315x2)- 1;0<= _0x4315x3;_0x4315x3--){this[_0x2895[1102]](this[_0x2895[263]](_0x4315x2,_0x4315x3))};null!= this[_0x2895[895]]&& null!= _0x4315x2[_0x2895[1103]]()&& delete this[_0x2895[895]][_0x4315x2[_0x2895[1103]]()]}};mxGraphModel[_0x2895[202]][_0x2895[1952]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1197]](_0x4315x2);null!= _0x4315x3?(_0x4315x3!= _0x4315x5|| _0x4315x5[_0x2895[1738]](_0x4315x2)!= _0x4315x4)&& _0x4315x3[_0x2895[1937]](_0x4315x2,_0x4315x4):null!= _0x4315x5&& (_0x4315x4= _0x4315x5[_0x2895[1738]](_0x4315x2),_0x4315x5[_0x2895[205]](_0x4315x4));!this[_0x2895[442]](_0x4315x5)&& null!= _0x4315x3?this[_0x2895[1941]](_0x4315x2):null== _0x4315x3&& this[_0x2895[1102]](_0x4315x2);return _0x4315x5};mxGraphModel[_0x2895[202]][_0x2895[262]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[262]]():0};mxGraphModel[_0x2895[202]][_0x2895[263]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2?_0x4315x2[_0x2895[263]](_0x4315x3):null};mxGraphModel[_0x2895[202]][_0x2895[1953]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[1954]]:null};mxGraphModel[_0x2895[202]][_0x2895[1728]]= function(_0x4315x2){return this[_0x2895[1955]](_0x4315x2,!0,!1)};mxGraphModel[_0x2895[202]][_0x2895[1956]]= function(_0x4315x2){return this[_0x2895[1955]](_0x4315x2,!1,!0)};mxGraphModel[_0x2895[202]][_0x2895[1955]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;for(var _0x4315x5=this[_0x2895[262]](_0x4315x2),_0x4315x9=[],_0x4315xa=0;_0x4315xa< _0x4315x5;_0x4315xa++){var _0x4315x12=this[_0x2895[263]](_0x4315x2,_0x4315xa);(!_0x4315x4&& !_0x4315x3|| _0x4315x4&& this[_0x2895[250]](_0x4315x12)|| _0x4315x3&& this[_0x2895[1193]](_0x4315x12)) && _0x4315x9[_0x2895[207]](_0x4315x12)};return _0x4315x9};mxGraphModel[_0x2895[202]][_0x2895[1709]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2?_0x4315x2[_0x2895[1709]](_0x4315x3):null};mxGraphModel[_0x2895[202]][_0x2895[1957]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x3!= this[_0x2895[1709]](_0x4315x2,_0x4315x4);this[_0x2895[350]]( new mxTerminalChange(this,_0x4315x2,_0x4315x3,_0x4315x4));this[_0x2895[1928]]&& _0x4315x5&& this[_0x2895[1947]](_0x4315x2,this[_0x2895[501]]());return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1958]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[473]]();try{this[_0x2895[1957]](_0x4315x2,_0x4315x3,!0),this[_0x2895[1957]](_0x4315x2,_0x4315x4,!1)}finally{this[_0x2895[476]]()}};mxGraphModel[_0x2895[202]][_0x2895[1959]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1709]](_0x4315x2,_0x4315x4);null!= _0x4315x3?_0x4315x3[_0x2895[1960]](_0x4315x2,_0x4315x4):null!= _0x4315x5&& _0x4315x5[_0x2895[1961]](_0x4315x2,_0x4315x4);return _0x4315x5};mxGraphModel[_0x2895[202]][_0x2895[1707]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[1707]]():0};mxGraphModel[_0x2895[202]][_0x2895[1708]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2?_0x4315x2[_0x2895[1708]](_0x4315x3):null};mxGraphModel[_0x2895[202]][_0x2895[1962]]= function(_0x4315x2,_0x4315x3,_0x4315x4){for(var _0x4315x5=0,_0x4315x9=this[_0x2895[1707]](_0x4315x2),_0x4315xa=0;_0x4315xa< _0x4315x9;_0x4315xa++){var _0x4315x12=this[_0x2895[1708]](_0x4315x2,_0x4315xa);_0x4315x12!= _0x4315x4&& this[_0x2895[1709]](_0x4315x12,_0x4315x3)== _0x4315x2&& _0x4315x5++};return _0x4315x5};mxGraphModel[_0x2895[202]][_0x2895[1756]]= function(_0x4315x2){return this[_0x2895[264]](_0x4315x2,!0,!0,!1)};mxGraphModel[_0x2895[202]][_0x2895[1867]]= function(_0x4315x2){return this[_0x2895[264]](_0x4315x2,!0,!1,!1)};mxGraphModel[_0x2895[202]][_0x2895[1963]]= function(_0x4315x2){return this[_0x2895[264]](_0x4315x2,!1,!0,!1)};mxGraphModel[_0x2895[202]][_0x2895[264]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;_0x4315x5= null!= _0x4315x5?_0x4315x5:!0;for(var _0x4315x9=this[_0x2895[1707]](_0x4315x2),_0x4315xa=[],_0x4315x12=0;_0x4315x12< _0x4315x9;_0x4315x12++){var _0x4315x13=this[_0x2895[1708]](_0x4315x2,_0x4315x12),_0x4315x14=this[_0x2895[1709]](_0x4315x13,!0),_0x4315x15=this[_0x2895[1709]](_0x4315x13,!1);(_0x4315x5&& _0x4315x14== _0x4315x15|| _0x4315x14!= _0x4315x15&& (_0x4315x3&& _0x4315x15== _0x4315x2|| _0x4315x4&& _0x4315x14== _0x4315x2))&& _0x4315xa[_0x2895[207]](_0x4315x13)};return _0x4315xa};mxGraphModel[_0x2895[202]][_0x2895[1781]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;var _0x4315x5=this[_0x2895[1707]](_0x4315x2),_0x4315x9=this[_0x2895[1707]](_0x4315x3),_0x4315xa=_0x4315x2,_0x4315x12=_0x4315x5;_0x4315x9< _0x4315x5&& (_0x4315x12= _0x4315x9,_0x4315xa= _0x4315x3);_0x4315x5= [];for(_0x4315x9= 0;_0x4315x9< _0x4315x12;_0x4315x9++){var _0x4315x13=this[_0x2895[1708]](_0x4315xa,_0x4315x9),_0x4315x14=this[_0x2895[1709]](_0x4315x13,!0),_0x4315x15=this[_0x2895[1709]](_0x4315x13,!1),_0x4315x16=_0x4315x15== _0x4315x2&& _0x4315x14== _0x4315x3;(_0x4315x14== _0x4315x2&& _0x4315x15== _0x4315x3|| !_0x4315x4&& _0x4315x16)&& _0x4315x5[_0x2895[207]](_0x4315x13)};return _0x4315x5};mxGraphModel[_0x2895[202]][_0x2895[1808]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;_0x4315x5= null!= _0x4315x5?_0x4315x5:!0;var _0x4315x9=[];if(null!= _0x4315x2){for(var _0x4315xa=0;_0x4315xa< _0x4315x2[_0x2895[67]];_0x4315xa++){var _0x4315x12=this[_0x2895[1709]](_0x4315x2[_0x4315xa],!0),_0x4315x13=this[_0x2895[1709]](_0x4315x2[_0x4315xa],!1);_0x4315x12== _0x4315x3&& null!= _0x4315x13&& _0x4315x13!= _0x4315x3&& _0x4315x5?_0x4315x9[_0x2895[207]](_0x4315x13):_0x4315x13== _0x4315x3&& (null!= _0x4315x12&& _0x4315x12!= _0x4315x3&& _0x4315x4)&& _0x4315x9[_0x2895[207]](_0x4315x12)}};return _0x4315x9};mxGraphModel[_0x2895[202]][_0x2895[1964]]= function(_0x4315x2){for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){for(var _0x4315x5=_0x4315x2[_0x4315x4],_0x4315x9=!0,_0x4315xa=this[_0x2895[1197]](_0x4315x5);null!= _0x4315xa;){if(0<= mxUtils[_0x2895[2]](_0x4315x2,_0x4315xa)){_0x4315x9= !1;break};_0x4315xa= this[_0x2895[1197]](_0x4315xa)};_0x4315x9&& _0x4315x3[_0x2895[207]](_0x4315x5)};return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1193]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[1193]]():!1};mxGraphModel[_0x2895[202]][_0x2895[250]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[250]]():!1};mxGraphModel[_0x2895[202]][_0x2895[1965]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[1965]]():!1};mxGraphModel[_0x2895[202]][_0x2895[433]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[433]]():null};mxGraphModel[_0x2895[202]][_0x2895[1966]]= function(_0x4315x2,_0x4315x3){this[_0x2895[350]]( new mxValueChange(this,_0x4315x2,_0x4315x3));return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1967]]= function(_0x4315x2,_0x4315x3){return _0x4315x2[_0x2895[1968]](_0x4315x3)};mxGraphModel[_0x2895[202]][_0x2895[1721]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2?_0x4315x2[_0x2895[1721]]():null};mxGraphModel[_0x2895[202]][_0x2895[1724]]= function(_0x4315x2,_0x4315x3){_0x4315x3!= this[_0x2895[1721]](_0x4315x2)&& this[_0x2895[350]]( new mxGeometryChange(this,_0x4315x2,_0x4315x3));return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1969]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1721]](_0x4315x2);_0x4315x2[_0x2895[1724]](_0x4315x3);return _0x4315x4};mxGraphModel[_0x2895[202]][_0x2895[474]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[474]]():null};mxGraphModel[_0x2895[202]][_0x2895[475]]= function(_0x4315x2,_0x4315x3){_0x4315x3!= this[_0x2895[474]](_0x4315x2)&& this[_0x2895[350]]( new mxStyleChange(this,_0x4315x2,_0x4315x3));return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1970]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[474]](_0x4315x2);_0x4315x2[_0x2895[475]](_0x4315x3);return _0x4315x4};mxGraphModel[_0x2895[202]][_0x2895[1971]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[1971]]():!1};mxGraphModel[_0x2895[202]][_0x2895[1972]]= function(_0x4315x2,_0x4315x3){_0x4315x3!= this[_0x2895[1971]](_0x4315x2)&& this[_0x2895[350]]( new mxCollapseChange(this,_0x4315x2,_0x4315x3));return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1973]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1971]](_0x4315x2);_0x4315x2[_0x2895[1972]](_0x4315x3);return _0x4315x4};mxGraphModel[_0x2895[202]][_0x2895[174]]= function(_0x4315x2){return null!= _0x4315x2?_0x4315x2[_0x2895[174]]():!1};mxGraphModel[_0x2895[202]][_0x2895[175]]= function(_0x4315x2,_0x4315x3){_0x4315x3!= this[_0x2895[174]](_0x4315x2)&& this[_0x2895[350]]( new mxVisibleChange(this,_0x4315x2,_0x4315x3));return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1974]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[174]](_0x4315x2);_0x4315x2[_0x2895[175]](_0x4315x3);return _0x4315x4};mxGraphModel[_0x2895[202]][_0x2895[350]]= function(_0x4315x2){_0x4315x2[_0x2895[350]]();this[_0x2895[473]]();this[_0x2895[1926]][_0x2895[99]](_0x4315x2);this[_0x2895[746]]( new mxEventObject(mxEvent.EXECUTE,_0x2895[826],_0x4315x2));this[_0x2895[746]]( new mxEventObject(mxEvent.EXECUTED,_0x2895[826],_0x4315x2));this[_0x2895[476]]()};mxGraphModel[_0x2895[202]][_0x2895[473]]= function(){this[_0x2895[1932]]++;this[_0x2895[746]]( new mxEventObject(mxEvent.BEGIN_UPDATE));1== this[_0x2895[1932]]&& this[_0x2895[746]]( new mxEventObject(mxEvent.START_EDIT))};mxGraphModel[_0x2895[202]][_0x2895[476]]= function(){this[_0x2895[1932]]--;0== this[_0x2895[1932]]&& this[_0x2895[746]]( new mxEventObject(mxEvent.END_EDIT));if(!this[_0x2895[1933]]){this[_0x2895[1933]]= 0== this[_0x2895[1932]];this[_0x2895[746]]( new mxEventObject(mxEvent.END_UPDATE,_0x2895[1061],this[_0x2895[1926]]));try{if(this[_0x2895[1933]]&& !this[_0x2895[1926]][_0x2895[1107]]()){this[_0x2895[746]]( new mxEventObject(mxEvent.BEFORE_UNDO,_0x2895[1061],this[_0x2895[1926]]));var _0x4315x2=this[_0x2895[1926]];this[_0x2895[1926]]= this[_0x2895[1096]]();_0x4315x2[_0x2895[827]]();this[_0x2895[746]]( new mxEventObject(mxEvent.UNDO,_0x2895[1061],_0x4315x2))}}finally{this[_0x2895[1933]]= !1}}};mxGraphModel[_0x2895[202]][_0x2895[1096]]= function(){var _0x4315x2= new mxUndoableEdit(this,!0);_0x4315x2[_0x2895[827]]= function(){_0x4315x2[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.CHANGE,_0x2895[1061],_0x4315x2,_0x2895[1065],_0x4315x2[_0x2895[1065]]));_0x4315x2[_0x2895[1097]][_0x2895[746]]( new mxEventObject(mxEvent.NOTIFY,_0x2895[1061],_0x4315x2,_0x2895[1065],_0x4315x2[_0x2895[1065]]))};return _0x4315x2};mxGraphModel[_0x2895[202]][_0x2895[1975]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;this[_0x2895[473]]();try{var _0x4315x5={};this[_0x2895[1976]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5);for(var _0x4315x9 in _0x4315x5){var _0x4315xa=_0x4315x5[_0x4315x9],_0x4315x12=this[_0x2895[1709]](_0x4315xa,!0);null!= _0x4315x12&& (_0x4315x12= _0x4315x5[mxCellPath[_0x2895[385]](_0x4315x12)],this[_0x2895[1957]](_0x4315xa,_0x4315x12,!0));_0x4315x12= this[_0x2895[1709]](_0x4315xa,!1);null!= _0x4315x12&& (_0x4315x12= _0x4315x5[mxCellPath[_0x2895[385]](_0x4315x12)],this[_0x2895[1957]](_0x4315xa,_0x4315x12,!1))}}finally{this[_0x2895[476]]()}};mxGraphModel[_0x2895[202]][_0x2895[1976]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[473]]();try{for(var _0x4315x9=_0x4315x2[_0x2895[262]](),_0x4315xa=0;_0x4315xa< _0x4315x9;_0x4315xa++){var _0x4315x12=_0x4315x2[_0x2895[263]](_0x4315xa);if(_0x2895[279]== typeof _0x4315x12[_0x2895[1103]]){var _0x4315x13=_0x4315x12[_0x2895[1103]](),_0x4315x14=null!= _0x4315x13&& (!this[_0x2895[250]](_0x4315x12)|| !_0x4315x4)?this[_0x2895[736]](_0x4315x13):null;if(null== _0x4315x14){var _0x4315x15=_0x4315x12[_0x2895[238]]();_0x4315x15[_0x2895[1945]](_0x4315x13);_0x4315x15[_0x2895[1957]](_0x4315x12[_0x2895[1709]](!0),!0);_0x4315x15[_0x2895[1957]](_0x4315x12[_0x2895[1709]](!1),!1);_0x4315x14= _0x4315x3[_0x2895[1937]](_0x4315x15);this[_0x2895[1941]](_0x4315x14)};_0x4315x5[mxCellPath[_0x2895[385]](_0x4315x12)]= _0x4315x14;this[_0x2895[1976]](_0x4315x12,_0x4315x14,_0x4315x4,_0x4315x5)}}}finally{this[_0x2895[476]]()}};mxGraphModel[_0x2895[202]][_0x2895[1977]]= function(_0x4315x2){var _0x4315x3=[];if(null!= _0x4315x2){for(var _0x4315x4={},_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){var _0x4315x9=this[_0x2895[1197]](_0x4315x2[_0x4315x5]);if(null!= _0x4315x9){var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x9);null== _0x4315x4[_0x4315xa]&& (_0x4315x4[_0x4315xa]= _0x4315x9,_0x4315x3[_0x2895[207]](_0x4315x9))}}};return _0x4315x3};mxGraphModel[_0x2895[202]][_0x2895[1978]]= function(_0x4315x2){return null!= _0x4315x2?this[_0x2895[899]]([_0x4315x2],!0)[0]:null};mxGraphModel[_0x2895[202]][_0x2895[899]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4={},_0x4315x5=[],_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){null!= _0x4315x2[_0x4315x9]?_0x4315x5[_0x2895[207]](this[_0x2895[1979]](_0x4315x2[_0x4315x9],_0x4315x4,_0x4315x3)):_0x4315x5[_0x2895[207]](null)};for(_0x4315x9= 0;_0x4315x9< _0x4315x5[_0x2895[67]];_0x4315x9++){null!= _0x4315x5[_0x4315x9]&& this[_0x2895[1980]](_0x4315x5[_0x4315x9],_0x4315x2[_0x4315x9],_0x4315x4)};return _0x4315x5};mxGraphModel[_0x2895[202]][_0x2895[1979]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1981]](_0x4315x2);_0x4315x3[mxObjectIdentity[_0x2895[203]](_0x4315x2)]= _0x4315x5;if(_0x4315x4){_0x4315x4= this[_0x2895[262]](_0x4315x2);for(var _0x4315x9=0;_0x4315x9< _0x4315x4;_0x4315x9++){var _0x4315xa=this[_0x2895[1979]](this[_0x2895[263]](_0x4315x2,_0x4315x9),_0x4315x3,!0);_0x4315x5[_0x2895[1937]](_0x4315xa)}};return _0x4315x5};mxGraphModel[_0x2895[202]][_0x2895[1981]]= function(_0x4315x2){return _0x4315x2[_0x2895[238]]()};mxGraphModel[_0x2895[202]][_0x2895[1980]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1709]](_0x4315x3,!0);null!= _0x4315x5&& (_0x4315x5= _0x4315x4[mxObjectIdentity[_0x2895[203]](_0x4315x5)],null!= _0x4315x5&& _0x4315x5[_0x2895[1960]](_0x4315x2,!0));_0x4315x5= this[_0x2895[1709]](_0x4315x3,!1);null!= _0x4315x5&& (_0x4315x5= _0x4315x4[mxObjectIdentity[_0x2895[203]](_0x4315x5)],null!= _0x4315x5&& _0x4315x5[_0x2895[1960]](_0x4315x2,!1));for(var _0x4315x5=this[_0x2895[262]](_0x4315x2),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){this[_0x2895[1980]](this[_0x2895[263]](_0x4315x2,_0x4315x9),this[_0x2895[263]](_0x4315x3,_0x4315x9),_0x4315x4)}};function mxRootChange(_0x4315x2,_0x4315x3){this[_0x2895[251]]= _0x4315x2;this[_0x2895[257]]= this[_0x2895[813]]= _0x4315x3}mxRootChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[813]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1940]](this[_0x2895[257]])};function mxChildChange(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[251]]= _0x4315x2;this[_0x2895[257]]= this[_0x2895[1101]]= _0x4315x3;this[_0x2895[247]]= _0x4315x4;this[_0x2895[1982]]= this[_0x2895[1983]]= _0x4315x5}mxChildChange[_0x2895[202]][_0x2895[350]]= function(){var _0x4315x2=this[_0x2895[251]][_0x2895[1197]](this[_0x2895[247]]),_0x4315x3=null!= _0x4315x2?_0x4315x2[_0x2895[1738]](this[_0x2895[247]]):0;null== this[_0x2895[257]]&& this[_0x2895[807]](this[_0x2895[247]],!1);_0x4315x2= this[_0x2895[251]][_0x2895[1952]](this[_0x2895[247]],this[_0x2895[257]],this[_0x2895[1982]]);null!= this[_0x2895[257]]&& this[_0x2895[807]](this[_0x2895[247]],!0);this[_0x2895[1101]]= this[_0x2895[257]];this[_0x2895[257]]= _0x4315x2;this[_0x2895[1983]]= this[_0x2895[1982]];this[_0x2895[1982]]= _0x4315x3};mxChildChange[_0x2895[202]][_0x2895[807]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;var _0x4315x4=_0x4315x2[_0x2895[1709]](!0),_0x4315x5=_0x4315x2[_0x2895[1709]](!1);null!= _0x4315x4&& (_0x4315x3?this[_0x2895[251]][_0x2895[1959]](_0x4315x2,_0x4315x4,!0):this[_0x2895[251]][_0x2895[1959]](_0x4315x2,null,!0));null!= _0x4315x5&& (_0x4315x3?this[_0x2895[251]][_0x2895[1959]](_0x4315x2,_0x4315x5,!1):this[_0x2895[251]][_0x2895[1959]](_0x4315x2,null,!1));_0x4315x2[_0x2895[1957]](_0x4315x4,!0);_0x4315x2[_0x2895[1957]](_0x4315x5,!1);_0x4315x4= this[_0x2895[251]][_0x2895[262]](_0x4315x2);for(_0x4315x5= 0;_0x4315x5< _0x4315x4;_0x4315x5++){this[_0x2895[807]](this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x5),_0x4315x3)}};function mxTerminalChange(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[251]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[1984]]= _0x4315x4;this[_0x2895[1097]]= _0x4315x5}mxTerminalChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[1984]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1959]](this[_0x2895[246]],this[_0x2895[257]],this[_0x2895[1097]])};function mxValueChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[131]]= _0x4315x4}mxValueChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[131]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1967]](this[_0x2895[246]],this[_0x2895[257]])};function mxStyleChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[124]]= _0x4315x4}mxStyleChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[124]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1970]](this[_0x2895[246]],this[_0x2895[257]])};function mxGeometryChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[256]]= _0x4315x4}mxGeometryChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[256]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1969]](this[_0x2895[246]],this[_0x2895[257]])};function mxCollapseChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[1985]]= _0x4315x4}mxCollapseChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[1985]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1973]](this[_0x2895[246]],this[_0x2895[257]])};function mxVisibleChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[189]]= _0x4315x4}mxVisibleChange[_0x2895[202]][_0x2895[350]]= function(){this[_0x2895[189]]= this[_0x2895[257]];this[_0x2895[257]]= this[_0x2895[251]][_0x2895[1974]](this[_0x2895[246]],this[_0x2895[257]])};function mxCellAttributeChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[246]]= _0x4315x2;this[_0x2895[1986]]= _0x4315x3;this[_0x2895[257]]= this[_0x2895[131]]= _0x4315x4}mxCellAttributeChange[_0x2895[202]][_0x2895[350]]= function(){var _0x4315x2=this[_0x2895[246]][_0x2895[284]](this[_0x2895[1986]]);null== this[_0x2895[257]]?this[_0x2895[246]][_0x2895[131]][_0x2895[1390]](this[_0x2895[1986]]):this[_0x2895[246]][_0x2895[57]](this[_0x2895[1986]],this[_0x2895[257]]);this[_0x2895[257]]= _0x4315x2};function mxCell(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[131]]= _0x4315x2;this[_0x2895[1724]](_0x4315x3);this[_0x2895[475]](_0x4315x4);if(null!= this[_0x2895[1987]]){this[_0x2895[1987]]()}}mxCell[_0x2895[202]][_0x2895[1363]]= null;mxCell[_0x2895[202]][_0x2895[131]]= null;mxCell[_0x2895[202]][_0x2895[256]]= null;mxCell[_0x2895[202]][_0x2895[124]]= null;mxCell[_0x2895[202]][_0x2895[1988]]= !1;mxCell[_0x2895[202]][_0x2895[1989]]= !1;mxCell[_0x2895[202]][_0x2895[1990]]= !0;mxCell[_0x2895[202]][_0x2895[189]]= !0;mxCell[_0x2895[202]][_0x2895[1985]]= !1;mxCell[_0x2895[202]][_0x2895[1101]]= null;mxCell[_0x2895[202]][_0x2895[1097]]= null;mxCell[_0x2895[202]][_0x2895[772]]= null;mxCell[_0x2895[202]][_0x2895[1954]]= null;mxCell[_0x2895[202]][_0x2895[1842]]= null;mxCell[_0x2895[202]][_0x2895[1991]]= _0x2895[1992][_0x2895[224]](_0x2895[185]);mxCell[_0x2895[202]][_0x2895[1103]]= function(){return this[_0x2895[1363]]};mxCell[_0x2895[202]][_0x2895[1945]]= function(_0x4315x2){this[_0x2895[1363]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[433]]= function(){return this[_0x2895[131]]};mxCell[_0x2895[202]][_0x2895[1966]]= function(_0x4315x2){this[_0x2895[131]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[1968]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[433]]();this[_0x2895[1966]](_0x4315x2);return _0x4315x3};mxCell[_0x2895[202]][_0x2895[1721]]= function(){return this[_0x2895[256]]};mxCell[_0x2895[202]][_0x2895[1724]]= function(_0x4315x2){this[_0x2895[256]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[474]]= function(){return this[_0x2895[124]]};mxCell[_0x2895[202]][_0x2895[475]]= function(_0x4315x2){this[_0x2895[124]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[1193]]= function(){return this[_0x2895[1988]]};mxCell[_0x2895[202]][_0x2895[1993]]= function(_0x4315x2){this[_0x2895[1988]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[250]]= function(){return this[_0x2895[1989]]};mxCell[_0x2895[202]][_0x2895[1994]]= function(_0x4315x2){this[_0x2895[1989]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[1965]]= function(){return this[_0x2895[1990]]};mxCell[_0x2895[202]][_0x2895[1995]]= function(_0x4315x2){this[_0x2895[1990]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[174]]= function(){return this[_0x2895[189]]};mxCell[_0x2895[202]][_0x2895[175]]= function(_0x4315x2){this[_0x2895[189]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[1971]]= function(){return this[_0x2895[1985]]};mxCell[_0x2895[202]][_0x2895[1972]]= function(_0x4315x2){this[_0x2895[1985]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[1197]]= function(){return this[_0x2895[1101]]};mxCell[_0x2895[202]][_0x2895[1996]]= function(_0x4315x2){this[_0x2895[1101]]= _0x4315x2};mxCell[_0x2895[202]][_0x2895[1709]]= function(_0x4315x2){return _0x4315x2?this[_0x2895[1097]]:this[_0x2895[772]]};mxCell[_0x2895[202]][_0x2895[1957]]= function(_0x4315x2,_0x4315x3){_0x4315x3?this[_0x2895[1097]]= _0x4315x2:this[_0x2895[772]]= _0x4315x2;return _0x4315x2};mxCell[_0x2895[202]][_0x2895[262]]= function(){return null== this[_0x2895[1954]]?0:this[_0x2895[1954]][_0x2895[67]]};mxCell[_0x2895[202]][_0x2895[1738]]= function(_0x4315x2){return mxUtils[_0x2895[2]](this[_0x2895[1954]],_0x4315x2)};mxCell[_0x2895[202]][_0x2895[263]]= function(_0x4315x2){return null== this[_0x2895[1954]]?null:this[_0x2895[1954]][_0x4315x2]};mxCell[_0x2895[202]][_0x2895[1937]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x2&& (null== _0x4315x3&& (_0x4315x3= this[_0x2895[262]](),_0x4315x2[_0x2895[1197]]()== this&& _0x4315x3--),_0x4315x2[_0x2895[1997]](),_0x4315x2[_0x2895[1996]](this),null== this[_0x2895[1954]]?(this[_0x2895[1954]]= [],this[_0x2895[1954]][_0x2895[207]](_0x4315x2)):this[_0x2895[1954]][_0x2895[300]](_0x4315x3,0,_0x4315x2));return _0x4315x2};mxCell[_0x2895[202]][_0x2895[205]]= function(_0x4315x2){var _0x4315x3=null;null!= this[_0x2895[1954]]&& 0<= _0x4315x2&& (_0x4315x3= this[_0x2895[263]](_0x4315x2),null!= _0x4315x3&& (this[_0x2895[1954]][_0x2895[300]](_0x4315x2,1),_0x4315x3[_0x2895[1996]](null)));return _0x4315x3};mxCell[_0x2895[202]][_0x2895[1997]]= function(){if(null!= this[_0x2895[1101]]){var _0x4315x2=this[_0x2895[1101]][_0x2895[1738]](this);this[_0x2895[1101]][_0x2895[205]](_0x4315x2)}};mxCell[_0x2895[202]][_0x2895[1707]]= function(){return null== this[_0x2895[1842]]?0:this[_0x2895[1842]][_0x2895[67]]};mxCell[_0x2895[202]][_0x2895[1998]]= function(_0x4315x2){return mxUtils[_0x2895[2]](this[_0x2895[1842]],_0x4315x2)};mxCell[_0x2895[202]][_0x2895[1708]]= function(_0x4315x2){return null== this[_0x2895[1842]]?null:this[_0x2895[1842]][_0x4315x2]};mxCell[_0x2895[202]][_0x2895[1960]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& (_0x4315x2[_0x2895[1999]](_0x4315x3),_0x4315x2[_0x2895[1957]](this,_0x4315x3),null== this[_0x2895[1842]]|| _0x4315x2[_0x2895[1709]](!_0x4315x3) != this|| 0> mxUtils[_0x2895[2]](this[_0x2895[1842]],_0x4315x2))){null== this[_0x2895[1842]]&& (this[_0x2895[1842]]= []),this[_0x2895[1842]][_0x2895[207]](_0x4315x2)};return _0x4315x2};mxCell[_0x2895[202]][_0x2895[1961]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2){if(_0x4315x2[_0x2895[1709]](!_0x4315x3) != this&& null!= this[_0x2895[1842]]){var _0x4315x4=this[_0x2895[1998]](_0x4315x2);0<= _0x4315x4&& this[_0x2895[1842]][_0x2895[300]](_0x4315x4,1)};_0x4315x2[_0x2895[1957]](null,_0x4315x3)};return _0x4315x2};mxCell[_0x2895[202]][_0x2895[1999]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1709]](_0x4315x2);null!= _0x4315x3&& _0x4315x3[_0x2895[1961]](this,_0x4315x2)};mxCell[_0x2895[202]][_0x2895[284]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[433]]();return (null!= _0x4315x4&& _0x4315x4[_0x2895[288]]== mxConstants[_0x2895[289]]?_0x4315x4[_0x2895[284]](_0x4315x2):null)|| _0x4315x3};mxCell[_0x2895[202]][_0x2895[57]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[433]]();null!= _0x4315x4&& _0x4315x4[_0x2895[288]]== mxConstants[_0x2895[289]]&& _0x4315x4[_0x2895[57]](_0x4315x2,_0x4315x3)};mxCell[_0x2895[202]][_0x2895[238]]= function(){var _0x4315x2=mxUtils[_0x2895[238]](this,this[_0x2895[1991]]);_0x4315x2[_0x2895[1966]](this[_0x2895[2000]]());return _0x4315x2};mxCell[_0x2895[202]][_0x2895[2000]]= function(){var _0x4315x2=this[_0x2895[433]]();null!= _0x4315x2&& (_0x2895[279]== typeof _0x4315x2[_0x2895[238]]?_0x4315x2= _0x4315x2[_0x2895[238]]():isNaN(_0x4315x2[_0x2895[288]])|| (_0x4315x2= _0x4315x2[_0x2895[511]](!0)));return _0x4315x2};function mxGeometry(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxRectangle[_0x2895[239]](this,_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5)}mxGeometry[_0x2895[202]]= new mxRectangle;mxGeometry[_0x2895[202]][_0x2895[196]]= mxGeometry;mxGeometry[_0x2895[202]][_0x2895[2001]]= !0;mxGeometry[_0x2895[202]][_0x2895[2002]]= null;mxGeometry[_0x2895[202]][_0x2895[2003]]= null;mxGeometry[_0x2895[202]][_0x2895[2004]]= null;mxGeometry[_0x2895[202]][_0x2895[1525]]= null;mxGeometry[_0x2895[202]][_0x2895[1368]]= null;mxGeometry[_0x2895[202]][_0x2895[1500]]= !1;mxGeometry[_0x2895[202]][_0x2895[2005]]= function(){if(null!= this[_0x2895[2002]]){var _0x4315x2= new mxRectangle(this[_0x2895[235]],this[_0x2895[236]],this[_0x2895[117]],this[_0x2895[119]]);this[_0x2895[235]]= this[_0x2895[2002]][_0x2895[235]];this[_0x2895[236]]= this[_0x2895[2002]][_0x2895[236]];this[_0x2895[117]]= this[_0x2895[2002]][_0x2895[117]];this[_0x2895[119]]= this[_0x2895[2002]][_0x2895[119]];this[_0x2895[2002]]= _0x4315x2}};mxGeometry[_0x2895[202]][_0x2895[2006]]= function(_0x4315x2){return _0x4315x2?this[_0x2895[2003]]:this[_0x2895[2004]]};mxGeometry[_0x2895[202]][_0x2895[2007]]= function(_0x4315x2,_0x4315x3){_0x4315x3?this[_0x2895[2003]]= _0x4315x2:this[_0x2895[2004]]= _0x4315x2;return _0x4315x2};mxGeometry[_0x2895[202]][_0x2895[513]]= function(_0x4315x2,_0x4315x3){this[_0x2895[238]]();this[_0x2895[1500]]|| (this[_0x2895[235]]+= _0x4315x2,this[_0x2895[236]]+= _0x4315x3);null!= this[_0x2895[2003]]&& (this[_0x2895[2003]][_0x2895[235]]+= _0x4315x2,this[_0x2895[2003]][_0x2895[236]]+= _0x4315x3);null!= this[_0x2895[2004]]&& (this[_0x2895[2004]][_0x2895[235]]+= _0x4315x2,this[_0x2895[2004]][_0x2895[236]]+= _0x4315x3);if(this[_0x2895[2001]]&& null!= this[_0x2895[1525]]){for(var _0x4315x4=this[_0x2895[1525]][_0x2895[67]],_0x4315x5=0;_0x4315x5< _0x4315x4;_0x4315x5++){var _0x4315x9=this[_0x2895[1525]][_0x4315x5];null!= _0x4315x9&& (_0x4315x9[_0x2895[235]]+= _0x4315x2,_0x4315x9[_0x2895[236]]+= _0x4315x3)}}};var mxCellPath={PATH_SEPARATOR:_0x2895[87],create:function(_0x4315x2){var _0x4315x3=_0x2895[110];if(null!= _0x4315x2){for(var _0x4315x4=_0x4315x2[_0x2895[1197]]();null!= _0x4315x4;){_0x4315x3= _0x4315x4[_0x2895[1738]](_0x4315x2)+ mxCellPath[_0x2895[1950]]+ _0x4315x3,_0x4315x2= _0x4315x4,_0x4315x4= _0x4315x2[_0x2895[1197]]()}};_0x4315x2= _0x4315x3[_0x2895[67]];1< _0x4315x2&& (_0x4315x3= _0x4315x3[_0x2895[85]](0,_0x4315x2- 1));return _0x4315x3},getParentPath:function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[1122]](mxCellPath.PATH_SEPARATOR);if(0<= _0x4315x3){return _0x4315x2[_0x2895[85]](0,_0x4315x3)};if(0< _0x4315x2[_0x2895[67]]){return _0x2895[110]}};return null},resolve:function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2;if(null!= _0x4315x3){for(var _0x4315x5=_0x4315x3[_0x2895[224]](mxCellPath.PATH_SEPARATOR),_0x4315x9=0;_0x4315x9< _0x4315x5[_0x2895[67]];_0x4315x9++){_0x4315x4= _0x4315x4[_0x2895[263]](parseInt(_0x4315x5[_0x4315x9]))}};return _0x4315x4},compare:function(_0x4315x2,_0x4315x3){for(var _0x4315x4=Math[_0x2895[243]](_0x4315x2[_0x2895[67]],_0x4315x3[_0x2895[67]]),_0x4315x5=0,_0x4315x9=0;_0x4315x9< _0x4315x4;_0x4315x9++){if(_0x4315x2[_0x4315x9]!= _0x4315x3[_0x4315x9]){0== _0x4315x2[_0x4315x9][_0x2895[67]]|| 0== _0x4315x3[_0x4315x9][_0x2895[67]]?_0x4315x5= _0x4315x2[_0x4315x9]== _0x4315x3[_0x4315x9]?0:_0x4315x2[_0x4315x9]> _0x4315x3[_0x4315x9]?1:-1:(_0x4315x4= parseInt(_0x4315x2[_0x4315x9]),_0x4315x9= parseInt(_0x4315x3[_0x4315x9]),_0x4315x5= _0x4315x4== _0x4315x9?0:_0x4315x4> _0x4315x9?1:-1);break}};0== _0x4315x5&& (_0x4315x4= _0x4315x2[_0x2895[67]],_0x4315x9= _0x4315x3[_0x2895[67]],_0x4315x4!= _0x4315x9&& (_0x4315x5= _0x4315x4> _0x4315x9?1:-1));return _0x4315x5}},mxPerimeter={RectanglePerimeter:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= _0x4315x2[_0x2895[241]]();var _0x4315x9=_0x4315x2[_0x2895[242]](),_0x4315xa=Math[_0x2895[429]](_0x4315x4[_0x2895[236]]- _0x4315x9,_0x4315x4[_0x2895[235]]- _0x4315x3),_0x4315x12= new mxPoint(0,0),_0x4315x13=Math[_0x2895[424]],_0x4315x14=Math[_0x2895[424]]/ 2- _0x4315xa,_0x4315x15=Math[_0x2895[429]](_0x4315x2[_0x2895[119]],_0x4315x2[_0x2895[117]]);_0x4315xa< -_0x4315x13+ _0x4315x15|| _0x4315xa> _0x4315x13- _0x4315x15?(_0x4315x12[_0x2895[235]]= _0x4315x2[_0x2895[235]],_0x4315x12[_0x2895[236]]= _0x4315x9- _0x4315x2[_0x2895[117]]* Math[_0x2895[2008]](_0x4315xa)/ 2):_0x4315xa< -_0x4315x15?(_0x4315x12[_0x2895[236]]= _0x4315x2[_0x2895[236]],_0x4315x12[_0x2895[235]]= _0x4315x3- _0x4315x2[_0x2895[119]]* Math[_0x2895[2008]](_0x4315x14)/ 2):_0x4315xa< _0x4315x15?(_0x4315x12[_0x2895[235]]= _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]],_0x4315x12[_0x2895[236]]= _0x4315x9+ _0x4315x2[_0x2895[117]]* Math[_0x2895[2008]](_0x4315xa)/ 2):(_0x4315x12[_0x2895[236]]= _0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]],_0x4315x12[_0x2895[235]]= _0x4315x3+ _0x4315x2[_0x2895[119]]* Math[_0x2895[2008]](_0x4315x14)/ 2);_0x4315x5&& (_0x4315x4[_0x2895[235]]>= _0x4315x2[_0x2895[235]]&& _0x4315x4[_0x2895[235]]<= _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]?_0x4315x12[_0x2895[235]]= _0x4315x4[_0x2895[235]]:_0x4315x4[_0x2895[236]]>= _0x4315x2[_0x2895[236]]&& _0x4315x4[_0x2895[236]]<= _0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]&& (_0x4315x12[_0x2895[236]]= _0x4315x4[_0x2895[236]]),_0x4315x4[_0x2895[235]]< _0x4315x2[_0x2895[235]]?_0x4315x12[_0x2895[235]]= _0x4315x2[_0x2895[235]]:_0x4315x4[_0x2895[235]]> _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]&& (_0x4315x12[_0x2895[235]]= _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]),_0x4315x4[_0x2895[236]]< _0x4315x2[_0x2895[236]]?_0x4315x12[_0x2895[236]]= _0x4315x2[_0x2895[236]]:_0x4315x4[_0x2895[236]]> _0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]&& (_0x4315x12[_0x2895[236]]= _0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]));return _0x4315x12},EllipsePerimeter:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x2[_0x2895[235]],_0x4315xa=_0x4315x2[_0x2895[236]],_0x4315x12=_0x4315x2[_0x2895[117]]/ 2,_0x4315x13=_0x4315x2[_0x2895[119]]/ 2,_0x4315x14=_0x4315x9+ _0x4315x12,_0x4315x15=_0x4315xa+ _0x4315x13;_0x4315x3= _0x4315x4[_0x2895[235]];_0x4315x4= _0x4315x4[_0x2895[236]];var _0x4315x16=parseInt(_0x4315x3- _0x4315x14),_0x4315x17=parseInt(_0x4315x4- _0x4315x15);if(0== _0x4315x16&& 0!= _0x4315x17){return new mxPoint(_0x4315x14,_0x4315x15+ _0x4315x13* _0x4315x17/ Math[_0x2895[425]](_0x4315x17))};if(0== _0x4315x16&& 0== _0x4315x17){return new mxPoint(_0x4315x3,_0x4315x4)};if(_0x4315x5){if(_0x4315x4>= _0x4315xa&& _0x4315x4<= _0x4315xa+ _0x4315x2[_0x2895[119]]){return _0x4315x2= _0x4315x4- _0x4315x15,_0x4315x2= Math[_0x2895[428]](_0x4315x12* _0x4315x12* (1- _0x4315x2* _0x4315x2/ (_0x4315x13* _0x4315x13)))|| 0,_0x4315x3<= _0x4315x9&& (_0x4315x2= -_0x4315x2), new mxPoint(_0x4315x14+ _0x4315x2,_0x4315x4)};if(_0x4315x3>= _0x4315x9&& _0x4315x3<= _0x4315x9+ _0x4315x2[_0x2895[117]]){return _0x4315x2= _0x4315x3- _0x4315x14,_0x4315x2= Math[_0x2895[428]](_0x4315x13* _0x4315x13* (1- _0x4315x2* _0x4315x2/ (_0x4315x12* _0x4315x12)))|| 0,_0x4315x4<= _0x4315xa&& (_0x4315x2= -_0x4315x2), new mxPoint(_0x4315x3,_0x4315x15+ _0x4315x2)}};_0x4315x9= _0x4315x17/ _0x4315x16;_0x4315x15-= _0x4315x9* _0x4315x14;_0x4315xa= _0x4315x12* _0x4315x12* _0x4315x9* _0x4315x9+ _0x4315x13* _0x4315x13;_0x4315x2= -2* _0x4315x14* _0x4315xa;_0x4315x13= Math[_0x2895[428]](_0x4315x2* _0x4315x2- 4* _0x4315xa* (_0x4315x12* _0x4315x12* _0x4315x9* _0x4315x9* _0x4315x14* _0x4315x14+ _0x4315x13* _0x4315x13* _0x4315x14* _0x4315x14- _0x4315x12* _0x4315x12* _0x4315x13* _0x4315x13));_0x4315x12= (-_0x4315x2+ _0x4315x13) / (2* _0x4315xa);_0x4315x13= (-_0x4315x2- _0x4315x13) / (2* _0x4315xa);_0x4315x14= _0x4315x9* _0x4315x12+ _0x4315x15;_0x4315x15= _0x4315x9* _0x4315x13+ _0x4315x15;_0x4315x9= Math[_0x2895[428]](Math[_0x2895[2009]](_0x4315x12- _0x4315x3,2)+ Math[_0x2895[2009]](_0x4315x14- _0x4315x4,2));_0x4315x3= Math[_0x2895[428]](Math[_0x2895[2009]](_0x4315x13- _0x4315x3,2)+ Math[_0x2895[2009]](_0x4315x15- _0x4315x4,2));_0x4315xa= _0x4315x4= 0;_0x4315x9< _0x4315x3?(_0x4315x4= _0x4315x12,_0x4315xa= _0x4315x14):(_0x4315x4= _0x4315x13,_0x4315xa= _0x4315x15);return new mxPoint(_0x4315x4,_0x4315xa)},RhombusPerimeter:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= _0x4315x2[_0x2895[235]];var _0x4315x9=_0x4315x2[_0x2895[236]],_0x4315xa=_0x4315x2[_0x2895[117]];_0x4315x2= _0x4315x2[_0x2895[119]];var _0x4315x12=_0x4315x3+ _0x4315xa/ 2,_0x4315x13=_0x4315x9+ _0x4315x2/ 2,_0x4315x14=_0x4315x4[_0x2895[235]];_0x4315x4= _0x4315x4[_0x2895[236]];if(_0x4315x12== _0x4315x14){return _0x4315x13> _0x4315x4? new mxPoint(_0x4315x12,_0x4315x9): new mxPoint(_0x4315x12,_0x4315x9+ _0x4315x2)};if(_0x4315x13== _0x4315x4){return _0x4315x12> _0x4315x14? new mxPoint(_0x4315x3,_0x4315x13): new mxPoint(_0x4315x3+ _0x4315xa,_0x4315x13)};var _0x4315x15=_0x4315x12,_0x4315x16=_0x4315x13;_0x4315x5&& (_0x4315x14>= _0x4315x3&& _0x4315x14<= _0x4315x3+ _0x4315xa?_0x4315x15= _0x4315x14:_0x4315x4>= _0x4315x9&& _0x4315x4<= _0x4315x9+ _0x4315x2&& (_0x4315x16= _0x4315x4));return _0x4315x14< _0x4315x12?_0x4315x4< _0x4315x13?mxUtils[_0x2895[2010]](_0x4315x14,_0x4315x4,_0x4315x15,_0x4315x16,_0x4315x12,_0x4315x9,_0x4315x3,_0x4315x13):mxUtils[_0x2895[2010]](_0x4315x14,_0x4315x4,_0x4315x15,_0x4315x16,_0x4315x12,_0x4315x9+ _0x4315x2,_0x4315x3,_0x4315x13):_0x4315x4< _0x4315x13?mxUtils[_0x2895[2010]](_0x4315x14,_0x4315x4,_0x4315x15,_0x4315x16,_0x4315x12,_0x4315x9,_0x4315x3+ _0x4315xa,_0x4315x13):mxUtils[_0x2895[2010]](_0x4315x14,_0x4315x4,_0x4315x15,_0x4315x16,_0x4315x12,_0x4315x9+ _0x4315x2,_0x4315x3+ _0x4315xa,_0x4315x13)},TrianglePerimeter:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= null!= _0x4315x3?_0x4315x3[_0x2895[124]][mxConstants[_0x2895[2011]]]:null;var _0x4315x9=_0x4315x3== mxConstants[_0x2895[1358]]|| _0x4315x3== mxConstants[_0x2895[1354]],_0x4315xa=_0x4315x2[_0x2895[235]],_0x4315x12=_0x4315x2[_0x2895[236]],_0x4315x13=_0x4315x2[_0x2895[117]];_0x4315x2= _0x4315x2[_0x2895[119]];var _0x4315x14=_0x4315xa+ _0x4315x13/ 2,_0x4315x15=_0x4315x12+ _0x4315x2/ 2,_0x4315x16= new mxPoint(_0x4315xa,_0x4315x12),_0x4315x17= new mxPoint(_0x4315xa+ _0x4315x13,_0x4315x15),_0x4315x18= new mxPoint(_0x4315xa,_0x4315x12+ _0x4315x2);_0x4315x3== mxConstants[_0x2895[1358]]?(_0x4315x16= _0x4315x18,_0x4315x17= new mxPoint(_0x4315x14,_0x4315x12),_0x4315x18= new mxPoint(_0x4315xa+ _0x4315x13,_0x4315x12+ _0x4315x2)):_0x4315x3== mxConstants[_0x2895[1354]]?(_0x4315x17= new mxPoint(_0x4315x14,_0x4315x12+ _0x4315x2),_0x4315x18= new mxPoint(_0x4315xa+ _0x4315x13,_0x4315x12)):_0x4315x3== mxConstants[_0x2895[1359]]&& (_0x4315x16= new mxPoint(_0x4315xa+ _0x4315x13,_0x4315x12),_0x4315x17= new mxPoint(_0x4315xa,_0x4315x15),_0x4315x18= new mxPoint(_0x4315xa+ _0x4315x13,_0x4315x12+ _0x4315x2));var _0x4315x19=_0x4315x4[_0x2895[235]]- _0x4315x14,_0x4315x1a=_0x4315x4[_0x2895[236]]- _0x4315x15,_0x4315x19=_0x4315x9?Math[_0x2895[429]](_0x4315x19,_0x4315x1a):Math[_0x2895[429]](_0x4315x1a,_0x4315x19),_0x4315x1b=_0x4315x9?Math[_0x2895[429]](_0x4315x13,_0x4315x2):Math[_0x2895[429]](_0x4315x2,_0x4315x13),_0x4315x1a=!1,_0x4315x1a=_0x4315x3== mxConstants[_0x2895[1358]]|| _0x4315x3== mxConstants[_0x2895[1359]]?_0x4315x19> -_0x4315x1b&& _0x4315x19< _0x4315x1b:_0x4315x19< -Math[_0x2895[424]]+ _0x4315x1b|| _0x4315x19> Math[_0x2895[424]]- _0x4315x1b,_0x4315x1b=null;_0x4315x1a?_0x4315x1b= _0x4315x5&& (_0x4315x9&& _0x4315x4[_0x2895[235]]>= _0x4315x16[_0x2895[235]]&& _0x4315x4[_0x2895[235]]<= _0x4315x18[_0x2895[235]]|| !_0x4315x9&& _0x4315x4[_0x2895[236]]>= _0x4315x16[_0x2895[236]]&& _0x4315x4[_0x2895[236]]<= _0x4315x18[_0x2895[236]])?_0x4315x9? new mxPoint(_0x4315x4[_0x2895[235]],_0x4315x16[_0x2895[236]]): new mxPoint(_0x4315x16[_0x2895[235]],_0x4315x4[_0x2895[236]]):_0x4315x3== mxConstants[_0x2895[1358]]? new mxPoint(_0x4315xa+ _0x4315x13/ 2+ _0x4315x2* Math[_0x2895[2008]](_0x4315x19)/ 2,_0x4315x12+ _0x4315x2):_0x4315x3== mxConstants[_0x2895[1354]]? new mxPoint(_0x4315xa+ _0x4315x13/ 2- _0x4315x2* Math[_0x2895[2008]](_0x4315x19)/ 2,_0x4315x12):_0x4315x3== mxConstants[_0x2895[1359]]? new mxPoint(_0x4315xa+ _0x4315x13,_0x4315x12+ _0x4315x2/ 2+ _0x4315x13* Math[_0x2895[2008]](_0x4315x19)/ 2): new mxPoint(_0x4315xa,_0x4315x12+ _0x4315x2/ 2- _0x4315x13* Math[_0x2895[2008]](_0x4315x19)/ 2):(_0x4315x5&& (_0x4315x5= new mxPoint(_0x4315x14,_0x4315x15),_0x4315x4[_0x2895[236]]>= _0x4315x12&& _0x4315x4[_0x2895[236]]<= _0x4315x12+ _0x4315x2?(_0x4315x5[_0x2895[235]]= _0x4315x9?_0x4315x14:_0x4315x3== mxConstants[_0x2895[1359]]?_0x4315xa+ _0x4315x13:_0x4315xa,_0x4315x5[_0x2895[236]]= _0x4315x4[_0x2895[236]]):_0x4315x4[_0x2895[235]]>= _0x4315xa&& _0x4315x4[_0x2895[235]]<= _0x4315xa+ _0x4315x13&& (_0x4315x5[_0x2895[235]]= _0x4315x4[_0x2895[235]],_0x4315x5[_0x2895[236]]= !_0x4315x9?_0x4315x15:_0x4315x3== mxConstants[_0x2895[1358]]?_0x4315x12+ _0x4315x2:_0x4315x12),_0x4315x14= _0x4315x5[_0x2895[235]],_0x4315x15= _0x4315x5[_0x2895[236]]),_0x4315x1b= _0x4315x9&& _0x4315x4[_0x2895[235]]<= _0x4315xa+ _0x4315x13/ 2|| !_0x4315x9&& _0x4315x4[_0x2895[236]]<= _0x4315x12+ _0x4315x2/ 2?mxUtils[_0x2895[2010]](_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]],_0x4315x14,_0x4315x15,_0x4315x16[_0x2895[235]],_0x4315x16[_0x2895[236]],_0x4315x17[_0x2895[235]],_0x4315x17[_0x2895[236]]):mxUtils[_0x2895[2010]](_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]],_0x4315x14,_0x4315x15,_0x4315x17[_0x2895[235]],_0x4315x17[_0x2895[236]],_0x4315x18[_0x2895[235]],_0x4315x18[_0x2895[236]]));null== _0x4315x1b&& (_0x4315x1b= new mxPoint(_0x4315x14,_0x4315x15));return _0x4315x1b}};function mxPrintPreview(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){this[_0x2895[1179]]= _0x4315x2;this[_0x2895[255]]= null!= _0x4315x3?_0x4315x3:1/ _0x4315x2[_0x2895[2012]];this[_0x2895[467]]= null!= _0x4315x5?_0x4315x5:0;this[_0x2895[2013]]= null!= _0x4315x4?_0x4315x4:_0x4315x2[_0x2895[2013]];this[_0x2895[924]]= null!= _0x4315x13?_0x4315x13:_0x2895[2014];this[_0x2895[1732]]= null!= _0x4315x9?_0x4315x9:0;this[_0x2895[1733]]= null!= _0x4315xa?_0x4315xa:0;this[_0x2895[1630]]= _0x4315x12;this[_0x2895[2015]]= null!= _0x4315x14?_0x4315x14:!0}mxPrintPreview[_0x2895[202]][_0x2895[1179]]= null;mxPrintPreview[_0x2895[202]][_0x2895[2013]]= null;mxPrintPreview[_0x2895[202]][_0x2895[255]]= null;mxPrintPreview[_0x2895[202]][_0x2895[467]]= 0;mxPrintPreview[_0x2895[202]][_0x2895[1732]]= 0;mxPrintPreview[_0x2895[202]][_0x2895[1733]]= 0;mxPrintPreview[_0x2895[202]][_0x2895[2016]]= !0;mxPrintPreview[_0x2895[202]][_0x2895[2017]]= !1;mxPrintPreview[_0x2895[202]][_0x2895[1630]]= null;mxPrintPreview[_0x2895[202]][_0x2895[924]]= null;mxPrintPreview[_0x2895[202]][_0x2895[2015]]= null;mxPrintPreview[_0x2895[202]][_0x2895[2018]]= null;mxPrintPreview[_0x2895[202]][_0x2895[2019]]= 0;mxPrintPreview[_0x2895[202]][_0x2895[2020]]= function(){return this[_0x2895[2018]]};mxPrintPreview[_0x2895[202]][_0x2895[2021]]= function(){var _0x4315x2=_0x2895[110];8== document[_0x2895[5]]&& (_0x4315x2= _0x2895[2022]);return _0x4315x2};mxPrintPreview[_0x2895[202]][_0x2895[392]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[259]][_0x2895[2023]],_0x4315x4=null;try{this[_0x2895[2017]]&& (this[_0x2895[1179]][_0x2895[259]][_0x2895[2023]]= function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[176]](_0x4315x2[_0x2895[441]][_0x2895[2024]]())});if(null== this[_0x2895[2018]]){this[_0x2895[2018]]= window[_0x2895[392]]();var _0x4315x5=this[_0x2895[2018]][_0x2895[395]],_0x4315x9=this[_0x2895[2021]]();null!= _0x4315x9&& 0< _0x4315x9[_0x2895[67]]&& _0x4315x5[_0x2895[171]](_0x4315x9);_0x4315x5[_0x2895[171]](_0x2895[528]);_0x4315x5[_0x2895[171]](_0x2895[531]);this[_0x2895[2025]](_0x4315x5,_0x4315x2);_0x4315x5[_0x2895[171]](_0x2895[533]);_0x4315x5[_0x2895[171]](_0x2895[2026]);mxClient[_0x2895[54]](_0x2895[94],mxClient[_0x2895[86]]+ _0x2895[95],_0x4315x5);mxClient[_0x2895[47]]&& (_0x4315x5[_0x2895[100]][_0x2895[99]](_0x2895[6],_0x2895[97]),_0x4315x5[_0x2895[100]][_0x2895[99]](_0x2895[7],_0x2895[101]),_0x4315x5[_0x2895[102]]()[_0x2895[103]]= _0x2895[104],mxClient[_0x2895[54]](_0x2895[94],mxClient[_0x2895[86]]+ _0x2895[105],_0x4315x5));var _0x4315xa=this[_0x2895[1179]][_0x2895[517]]()[_0x2895[238]](),_0x4315x12=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[518]](),_0x4315x13=_0x4315x12/ this[_0x2895[255]],_0x4315x14=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[512]]();this[_0x2895[2016]]|| (this[_0x2895[1732]]= -_0x4315x14[_0x2895[235]]* this[_0x2895[255]],this[_0x2895[1733]]= -_0x4315x14[_0x2895[236]]* this[_0x2895[255]],_0x4315xa[_0x2895[117]]+= _0x4315xa[_0x2895[235]],_0x4315xa[_0x2895[119]]+= _0x4315xa[_0x2895[236]],_0x4315xa[_0x2895[235]]= 0,this[_0x2895[467]]= _0x4315xa[_0x2895[236]]= 0);_0x4315xa[_0x2895[117]]/= _0x4315x13;_0x4315xa[_0x2895[119]]/= _0x4315x13;var _0x4315x15=this[_0x2895[2013]][_0x2895[117]]- 2* this[_0x2895[467]],_0x4315x16=this[_0x2895[2013]][_0x2895[119]]- 2* this[_0x2895[467]],_0x4315x17=Math[_0x2895[160]](1,Math[_0x2895[430]]((_0x4315xa[_0x2895[117]]+ this[_0x2895[1732]])/ _0x4315x15)),_0x4315x18=Math[_0x2895[160]](1,Math[_0x2895[430]]((_0x4315xa[_0x2895[119]]+ this[_0x2895[1733]])/ _0x4315x16));this[_0x2895[2019]]= _0x4315x17* _0x4315x18;var _0x4315x19=mxUtils[_0x2895[885]](this,function(){if(this[_0x2895[2015]]&& (1< _0x4315x18|| 1< _0x4315x17)){var _0x4315x2=this[_0x2895[2027]](_0x4315x18,_0x4315x17);_0x4315x5[_0x2895[112]][_0x2895[62]](_0x4315x2);if(mxClient[_0x2895[80]]){_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[492];var _0x4315x3=function(){_0x4315x2[_0x2895[124]][_0x2895[125]]= _0x4315x5[_0x2895[112]][_0x2895[190]]+ 10+ _0x2895[168]};mxEvent[_0x2895[169]](this[_0x2895[2018]],_0x2895[276],function(_0x4315x2){_0x4315x3()});mxEvent[_0x2895[169]](this[_0x2895[2018]],_0x2895[129],function(_0x4315x2){_0x4315x3()})}}});_0x4315x2= function(_0x4315x2,_0x4315x3){null!= this[_0x2895[1630]]&& (_0x4315x2[_0x2895[124]][_0x2895[1630]]= this[_0x2895[1630]],_0x4315x2[_0x2895[124]][_0x2895[465]]= _0x2895[1631],_0x4315x2[_0x2895[124]][_0x2895[1629]]= _0x2895[942]);_0x4315x2[_0x2895[124]][_0x2895[1537]]= _0x2895[1391];_0x4315x3&& (_0x4315x2[_0x2895[124]][_0x2895[2028]]= _0x2895[2029]);mxClient[_0x2895[80]]?(_0x4315x5[_0x2895[171]](_0x4315x2[_0x2895[342]]),_0x4315x2[_0x2895[265]][_0x2895[266]](_0x4315x2)):(_0x4315x2[_0x2895[265]][_0x2895[266]](_0x4315x2),_0x4315x5[_0x2895[112]][_0x2895[62]](_0x4315x2));if(_0x4315x3){var _0x4315x4=_0x4315x5[_0x2895[55]](_0x2895[1054]);_0x4315x4[_0x2895[926]]= _0x2895[2030];_0x4315x5[_0x2895[112]][_0x2895[62]](_0x4315x4)}};var _0x4315x1a=this[_0x2895[2031]](this[_0x2895[2013]][_0x2895[117]],this[_0x2895[2013]][_0x2895[119]]);if(null!= _0x4315x1a){for(var _0x4315x1b=0;_0x4315x1b< _0x4315x1a[_0x2895[67]];_0x4315x1b++){_0x4315x2(_0x4315x1a[_0x4315x1b],!0)}};for(var _0x4315x1c=this[_0x2895[2032]](this[_0x2895[2013]][_0x2895[117]],this[_0x2895[2013]][_0x2895[119]]),_0x4315x1b=0;_0x4315x1b< _0x4315x18;_0x4315x1b++){for(var _0x4315x1d=_0x4315x1b* _0x4315x16/ this[_0x2895[255]]- this[_0x2895[1733]]/ this[_0x2895[255]]+ (_0x4315xa[_0x2895[236]]- _0x4315x14[_0x2895[236]]* _0x4315x12)/ _0x4315x12,_0x4315x1a=0;_0x4315x1a< _0x4315x17;_0x4315x1a++){if(null== this[_0x2895[2018]]){return null};var _0x4315x1e=_0x4315x1a* _0x4315x15/ this[_0x2895[255]]- this[_0x2895[1732]]/ this[_0x2895[255]]+ (_0x4315xa[_0x2895[235]]- _0x4315x14[_0x2895[235]]* _0x4315x12)/ _0x4315x12,_0x4315x1f=_0x4315x1b* _0x4315x17+ _0x4315x1a+ 1,_0x4315x4=this[_0x2895[2034]](this[_0x2895[2013]][_0x2895[117]],this[_0x2895[2013]][_0x2895[119]],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2033]](-_0x4315x1e,-_0x4315x1d,this[_0x2895[255]],_0x4315x1f,_0x4315x2)}));_0x4315x4[_0x2895[57]](_0x2895[1363],_0x2895[2035]+ _0x4315x1f);_0x4315x2(_0x4315x4,null!= _0x4315x1c|| _0x4315x1b< _0x4315x18- 1|| _0x4315x1a< _0x4315x17- 1)}};if(null!= _0x4315x1c){for(_0x4315x1b= 0;_0x4315x1b< _0x4315x1c[_0x2895[67]];_0x4315x1b++){_0x4315x2(_0x4315x1c[_0x4315x1b],_0x4315x1b< _0x4315x1c[_0x2895[67]])}};_0x4315x5[_0x2895[171]](_0x2895[527]);_0x4315x5[_0x2895[171]](_0x2895[534]);_0x4315x5[_0x2895[268]]();_0x4315x19();mxEvent[_0x2895[762]](_0x4315x5[_0x2895[112]])};this[_0x2895[2018]][_0x2895[393]]()}catch(y){null!= _0x4315x4&& null!= _0x4315x4[_0x2895[265]]&& _0x4315x4[_0x2895[265]][_0x2895[266]](_0x4315x4)}finally{this[_0x2895[1179]][_0x2895[259]][_0x2895[2023]]= _0x4315x3};return this[_0x2895[2018]]};mxPrintPreview[_0x2895[202]][_0x2895[2025]]= function(_0x4315x2,_0x4315x3){null!= this[_0x2895[924]]&& _0x4315x2[_0x2895[171]](_0x2895[2036]+ this[_0x2895[924]]+ _0x2895[2037]);_0x4315x2[_0x2895[171]](_0x2895[2038]);_0x4315x2[_0x2895[171]](_0x2895[2039]);_0x4315x2[_0x2895[171]](_0x2895[2040]);_0x4315x2[_0x2895[171]](_0x2895[2041]);_0x4315x2[_0x2895[171]](_0x2895[233]);_0x4315x2[_0x2895[171]](_0x2895[2042]);_0x4315x2[_0x2895[171]](_0x2895[2043]);_0x4315x2[_0x2895[171]](_0x2895[2044]);_0x4315x2[_0x2895[171]](_0x2895[2045]);_0x4315x2[_0x2895[171]](_0x2895[233]);null!= _0x4315x3&& _0x4315x2[_0x2895[171]](_0x4315x3);_0x4315x2[_0x2895[171]](_0x2895[2046])};mxPrintPreview[_0x2895[202]][_0x2895[2027]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[2018]][_0x2895[395]],_0x4315x5=_0x4315x4[_0x2895[55]](_0x2895[116]);_0x4315x5[_0x2895[926]]= _0x2895[2047];_0x4315x5[_0x2895[57]](_0x2895[467],_0x2895[468]);for(var _0x4315x9=_0x4315x4[_0x2895[55]](_0x2895[120]),_0x4315xa=0;_0x4315xa< _0x4315x2;_0x4315xa++){for(var _0x4315x12=_0x4315x4[_0x2895[55]](_0x2895[121]),_0x4315x13=0;_0x4315x13< _0x4315x3;_0x4315x13++){var _0x4315x14=_0x4315xa* _0x4315x3+ _0x4315x13+ 1,_0x4315x15=_0x4315x4[_0x2895[55]](_0x2895[122]);if(!mxClient[_0x2895[133]]|| mxClient[_0x2895[75]]|| mxClient[_0x2895[76]]){var _0x4315x16=_0x4315x4[_0x2895[55]](_0x2895[2048]);_0x4315x16[_0x2895[57]](_0x2895[44],_0x2895[2049]+ _0x4315x14);mxUtils[_0x2895[53]](_0x4315x16,_0x4315x14,_0x4315x4);_0x4315x15[_0x2895[62]](_0x4315x16)}else {mxUtils[_0x2895[53]](_0x4315x15,_0x4315x14,_0x4315x4)};_0x4315x12[_0x2895[62]](_0x4315x15)};_0x4315x9[_0x2895[62]](_0x4315x12)};_0x4315x5[_0x2895[62]](_0x4315x9);return _0x4315x5};mxPrintPreview[_0x2895[202]][_0x2895[2034]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=document[_0x2895[55]](_0x2895[485]);try{_0x4315x5[_0x2895[124]][_0x2895[117]]= _0x4315x2+ _0x2895[168];_0x4315x5[_0x2895[124]][_0x2895[119]]= _0x4315x3+ _0x2895[168];_0x4315x5[_0x2895[124]][_0x2895[277]]= _0x2895[188];_0x4315x5[_0x2895[124]][_0x2895[2050]]= _0x2895[1824];_0x4315x5[_0x2895[124]][_0x2895[491]]= _0x2895[1500];var _0x4315x9=document[_0x2895[55]](_0x2895[485]);_0x4315x9[_0x2895[124]][_0x2895[125]]= this[_0x2895[467]]+ _0x2895[168];_0x4315x9[_0x2895[124]][_0x2895[361]]= this[_0x2895[467]]+ _0x2895[168];_0x4315x9[_0x2895[124]][_0x2895[117]]= _0x4315x2- 2* this[_0x2895[467]]+ _0x2895[168];_0x4315x9[_0x2895[124]][_0x2895[119]]= _0x4315x3- 2* this[_0x2895[467]]+ _0x2895[168];_0x4315x9[_0x2895[124]][_0x2895[277]]= _0x2895[188];this[_0x2895[1179]][_0x2895[507]]== mxConstants[_0x2895[1523]]&& (_0x4315x9[_0x2895[124]][_0x2895[491]]= _0x2895[492]);_0x4315x5[_0x2895[62]](_0x4315x9);document[_0x2895[112]][_0x2895[62]](_0x4315x5);_0x4315x4(_0x4315x9)}catch(f){throw _0x4315x5[_0x2895[265]][_0x2895[266]](_0x4315x5),f};return _0x4315x5};mxPrintPreview[_0x2895[202]][_0x2895[2033]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x5= this[_0x2895[1179]][_0x2895[249]]();var _0x4315xa=this[_0x2895[1179]][_0x2895[526]];this[_0x2895[1179]][_0x2895[526]]= _0x4315x9;var _0x4315x12=_0x4315x5[_0x2895[2051]](),_0x4315x13=_0x4315x5[_0x2895[2052]](),_0x4315x14=_0x4315x5[_0x2895[2024]](),_0x4315x15=_0x4315x5[_0x2895[1524]]();this[_0x2895[1179]][_0x2895[507]]== mxConstants[_0x2895[508]]?_0x4315x5[_0x2895[1569]]():this[_0x2895[1179]][_0x2895[507]]== mxConstants[_0x2895[1523]]?_0x4315x5[_0x2895[1571]]():_0x4315x5[_0x2895[1570]]();var _0x4315x16=_0x4315x5[_0x2895[503]]();_0x4315x5[_0x2895[504]](!1);var _0x4315x17=this[_0x2895[1179]][_0x2895[994]]();this[_0x2895[1179]][_0x2895[995]](!1);var _0x4315x18=_0x4315x5[_0x2895[512]]();_0x4315x5[_0x2895[513]]= new mxPoint(_0x4315x2,_0x4315x3);_0x4315x2= null;try{var _0x4315x19=[this[_0x2895[1179]][_0x2895[502]]()[_0x2895[501]]()];_0x4315x2= new mxTemporaryCellStates(_0x4315x5,_0x4315x4,_0x4315x19)}finally{if(mxClient[_0x2895[80]]){_0x4315x5[_0x2895[506]][_0x2895[339]]= _0x2895[110]}else {for(_0x4315x4= _0x4315x9[_0x2895[285]];null!= _0x4315x4;){_0x4315x19= _0x4315x4[_0x2895[287]],_0x4315x3= _0x4315x4[_0x2895[301]][_0x2895[216]](),_0x2895[571]== _0x4315x3?(_0x4315x4[_0x2895[57]](_0x2895[117],parseInt(_0x4315x9[_0x2895[124]][_0x2895[117]])),_0x4315x4[_0x2895[57]](_0x2895[119],parseInt(_0x4315x9[_0x2895[124]][_0x2895[119]]))):_0x2895[583]!= _0x4315x4[_0x2895[124]][_0x2895[270]]&& _0x2895[116]!= _0x4315x3&& _0x4315x4[_0x2895[265]][_0x2895[266]](_0x4315x4),_0x4315x4= _0x4315x19}};_0x4315x5[_0x2895[506]][_0x2895[265]][_0x2895[266]](_0x4315x5[_0x2895[506]]);this[_0x2895[1179]][_0x2895[995]](_0x4315x17);this[_0x2895[1179]][_0x2895[526]]= _0x4315xa;_0x4315x5[_0x2895[510]]= _0x4315x12;_0x4315x5[_0x2895[2053]]= _0x4315x13;_0x4315x5[_0x2895[505]]= _0x4315x14;_0x4315x5[_0x2895[506]]= _0x4315x15;_0x4315x5[_0x2895[513]]= _0x4315x18;_0x4315x2[_0x2895[515]]();_0x4315x5[_0x2895[504]](_0x4315x16)}};mxPrintPreview[_0x2895[202]][_0x2895[2031]]= function(){return null};mxPrintPreview[_0x2895[202]][_0x2895[2032]]= function(){return null};mxPrintPreview[_0x2895[202]][_0x2895[540]]= function(){var _0x4315x2=this[_0x2895[392]]();null!= _0x4315x2&& _0x4315x2[_0x2895[540]]()};mxPrintPreview[_0x2895[202]][_0x2895[268]]= function(){null!= this[_0x2895[2018]]&& (this[_0x2895[2018]][_0x2895[268]](),this[_0x2895[2018]]= null)};function mxStylesheet(){this[_0x2895[2054]]= {};this[_0x2895[2056]](this[_0x2895[2055]]());this[_0x2895[2058]](this[_0x2895[2057]]())}mxStylesheet[_0x2895[202]][_0x2895[2055]]= function(){var _0x4315x2={};_0x4315x2[mxConstants[_0x2895[2059]]]= mxConstants[_0x2895[2060]];_0x4315x2[mxConstants[_0x2895[2061]]]= mxPerimeter[_0x2895[2062]];_0x4315x2[mxConstants[_0x2895[2063]]]= mxConstants[_0x2895[481]];_0x4315x2[mxConstants[_0x2895[2064]]]= mxConstants[_0x2895[479]];_0x4315x2[mxConstants[_0x2895[2065]]]= _0x2895[2066];_0x4315x2[mxConstants[_0x2895[2067]]]= _0x2895[2068];_0x4315x2[mxConstants[_0x2895[2069]]]= _0x2895[2070];return _0x4315x2};mxStylesheet[_0x2895[202]][_0x2895[2057]]= function(){var _0x4315x2={};_0x4315x2[mxConstants[_0x2895[2059]]]= mxConstants[_0x2895[2071]];_0x4315x2[mxConstants[_0x2895[1695]]]= mxConstants[_0x2895[1622]];_0x4315x2[mxConstants[_0x2895[2063]]]= mxConstants[_0x2895[481]];_0x4315x2[mxConstants[_0x2895[2064]]]= mxConstants[_0x2895[479]];_0x4315x2[mxConstants[_0x2895[2067]]]= _0x2895[2068];_0x4315x2[mxConstants[_0x2895[2069]]]= _0x2895[2072];return _0x4315x2};mxStylesheet[_0x2895[202]][_0x2895[2056]]= function(_0x4315x2){this[_0x2895[2074]](_0x2895[2073],_0x4315x2)};mxStylesheet[_0x2895[202]][_0x2895[2058]]= function(_0x4315x2){this[_0x2895[2074]](_0x2895[2075],_0x4315x2)};mxStylesheet[_0x2895[202]][_0x2895[2076]]= function(){return this[_0x2895[2054]][_0x2895[2073]]};mxStylesheet[_0x2895[202]][_0x2895[2077]]= function(){return this[_0x2895[2054]][_0x2895[2075]]};mxStylesheet[_0x2895[202]][_0x2895[2074]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2054]][_0x4315x2]= _0x4315x3};mxStylesheet[_0x2895[202]][_0x2895[1705]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x3;if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){for(var _0x4315x5=_0x4315x2[_0x2895[224]](_0x2895[471]),_0x4315x4=null!= _0x4315x4&& _0x2895[471]!= _0x4315x2[_0x2895[225]](0)?mxUtils[_0x2895[238]](_0x4315x4):{},_0x4315x9=0;_0x4315x9< _0x4315x5[_0x2895[67]];_0x4315x9++){var _0x4315xa=_0x4315x5[_0x4315x9],_0x4315x12=_0x4315xa[_0x2895[2]](_0x2895[226]);if(0<= _0x4315x12){var _0x4315x13=_0x4315xa[_0x2895[85]](0,_0x4315x12),_0x4315xa=_0x4315xa[_0x2895[85]](_0x4315x12+ 1);_0x4315xa== mxConstants[_0x2895[217]]? delete _0x4315x4[_0x4315x13]:mxUtils[_0x2895[1946]](_0x4315xa)?_0x4315x4[_0x4315x13]= parseFloat(_0x4315xa):_0x4315x4[_0x4315x13]= _0x4315xa}else {if(_0x4315xa= this[_0x2895[2054]][_0x4315xa],null!= _0x4315xa){for(_0x4315x13 in _0x4315xa){_0x4315x4[_0x4315x13]= _0x4315xa[_0x4315x13]}}}}};return _0x4315x4};function mxCellState(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[441]]= _0x4315x2;this[_0x2895[246]]= _0x4315x3;this[_0x2895[124]]= _0x4315x4;this[_0x2895[2078]]= new mxPoint;this[_0x2895[2079]]= new mxPoint}mxCellState[_0x2895[202]]= new mxRectangle;mxCellState[_0x2895[202]][_0x2895[196]]= mxCellState;mxCellState[_0x2895[202]][_0x2895[441]]= null;mxCellState[_0x2895[202]][_0x2895[246]]= null;mxCellState[_0x2895[202]][_0x2895[124]]= null;mxCellState[_0x2895[202]][_0x2895[2080]]= !0;mxCellState[_0x2895[202]][_0x2895[2081]]= !1;mxCellState[_0x2895[202]][_0x2895[2082]]= !1;mxCellState[_0x2895[202]][_0x2895[2078]]= null;mxCellState[_0x2895[202]][_0x2895[439]]= null;mxCellState[_0x2895[202]][_0x2895[2079]]= null;mxCellState[_0x2895[202]][_0x2895[2083]]= null;mxCellState[_0x2895[202]][_0x2895[2084]]= null;mxCellState[_0x2895[202]][_0x2895[2085]]= 0;mxCellState[_0x2895[202]][_0x2895[67]]= 0;mxCellState[_0x2895[202]][_0x2895[2086]]= null;mxCellState[_0x2895[202]][_0x2895[253]]= null;mxCellState[_0x2895[202]][_0x2895[963]]= null;mxCellState[_0x2895[202]][_0x2895[2087]]= function(_0x4315x2,_0x4315x3){_0x4315x2= _0x4315x2|| 0;_0x4315x3= null!= _0x4315x3?_0x4315x3: new mxRectangle(this[_0x2895[235]],this[_0x2895[236]],this[_0x2895[117]],this[_0x2895[119]]);if(null!= this[_0x2895[253]]&& null!= this[_0x2895[253]][_0x2895[1561]]){var _0x4315x4=this[_0x2895[253]][_0x2895[1561]][_0x2895[1548]](this[_0x2895[124]],_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]],_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]]);_0x4315x3[_0x2895[235]]= _0x4315x4[_0x2895[235]];_0x4315x3[_0x2895[236]]= _0x4315x4[_0x2895[236]];_0x4315x3[_0x2895[117]]= this[_0x2895[253]][_0x2895[1561]][_0x2895[1532]]* _0x4315x4[_0x2895[117]];_0x4315x3[_0x2895[119]]= this[_0x2895[253]][_0x2895[1561]][_0x2895[1533]]* _0x4315x4[_0x2895[119]]};0!= _0x4315x2&& _0x4315x3[_0x2895[244]](_0x4315x2);return _0x4315x3};mxCellState[_0x2895[202]][_0x2895[2088]]= function(_0x4315x2,_0x4315x3){_0x4315x3?(null== this[_0x2895[439]]&& (this[_0x2895[439]]= []),0== this[_0x2895[439]][_0x2895[67]]?this[_0x2895[439]][_0x2895[207]](_0x4315x2):this[_0x2895[439]][0]= _0x4315x2):null== this[_0x2895[439]]?(this[_0x2895[439]]= [],this[_0x2895[439]][_0x2895[207]](null),this[_0x2895[439]][_0x2895[207]](_0x4315x2)):1== this[_0x2895[439]][_0x2895[67]]?this[_0x2895[439]][_0x2895[207]](_0x4315x2):this[_0x2895[439]][this[_0x2895[439]][_0x2895[67]]- 1]= _0x4315x2};mxCellState[_0x2895[202]][_0x2895[1609]]= function(_0x4315x2){null!= this[_0x2895[253]]&& this[_0x2895[253]][_0x2895[1609]](_0x4315x2);null!= this[_0x2895[963]]&& this[_0x2895[963]][_0x2895[1609]](_0x4315x2)};mxCellState[_0x2895[202]][_0x2895[1710]]= function(_0x4315x2){_0x4315x2= this[_0x2895[2089]](_0x4315x2);return null!= _0x4315x2?_0x4315x2[_0x2895[246]]:null};mxCellState[_0x2895[202]][_0x2895[2089]]= function(_0x4315x2){return _0x4315x2?this[_0x2895[2083]]:this[_0x2895[2084]]};mxCellState[_0x2895[202]][_0x2895[2090]]= function(_0x4315x2,_0x4315x3){_0x4315x3?this[_0x2895[2083]]= _0x4315x2:this[_0x2895[2084]]= _0x4315x2};mxCellState[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[441]][_0x2895[1179]][_0x2895[259]][_0x2895[515]](this)};mxCellState[_0x2895[202]][_0x2895[238]]= function(){var _0x4315x2= new mxCellState(this[_0x2895[441]],this[_0x2895[246]],this[_0x2895[124]]);if(null!= this[_0x2895[439]]){_0x4315x2[_0x2895[439]]= [];for(var _0x4315x3=0;_0x4315x3< this[_0x2895[439]][_0x2895[67]];_0x4315x3++){_0x4315x2[_0x2895[439]][_0x4315x3]= this[_0x2895[439]][_0x4315x3][_0x2895[238]]()}};null!= this[_0x2895[2078]]&& (_0x4315x2[_0x2895[2078]]= this[_0x2895[2078]][_0x2895[238]]());null!= this[_0x2895[2079]]&& (_0x4315x2[_0x2895[2079]]= this[_0x2895[2079]][_0x2895[238]]());null!= this[_0x2895[1563]]&& (_0x4315x2[_0x2895[1563]]= this[_0x2895[1563]][_0x2895[238]]());_0x4315x2[_0x2895[2085]]= this[_0x2895[2085]];_0x4315x2[_0x2895[2086]]= this[_0x2895[2086]];_0x4315x2[_0x2895[67]]= this[_0x2895[67]];_0x4315x2[_0x2895[235]]= this[_0x2895[235]];_0x4315x2[_0x2895[236]]= this[_0x2895[236]];_0x4315x2[_0x2895[117]]= this[_0x2895[117]];_0x4315x2[_0x2895[119]]= this[_0x2895[119]];return _0x4315x2};function mxGraphSelectionModel(_0x4315x2){this[_0x2895[1179]]= _0x4315x2;this[_0x2895[895]]= []}mxGraphSelectionModel[_0x2895[202]]= new mxEventSource;mxGraphSelectionModel[_0x2895[202]][_0x2895[196]]= mxGraphSelectionModel;mxGraphSelectionModel[_0x2895[202]][_0x2895[2091]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[819]:_0x2895[110];mxGraphSelectionModel[_0x2895[202]][_0x2895[2092]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2093]:_0x2895[110];mxGraphSelectionModel[_0x2895[202]][_0x2895[1179]]= null;mxGraphSelectionModel[_0x2895[202]][_0x2895[2094]]= !1;mxGraphSelectionModel[_0x2895[202]][_0x2895[2095]]= function(){return this[_0x2895[2094]]};mxGraphSelectionModel[_0x2895[202]][_0x2895[2096]]= function(_0x4315x2){this[_0x2895[2094]]= _0x4315x2};mxGraphSelectionModel[_0x2895[202]][_0x2895[2097]]= function(_0x4315x2){return null!= _0x4315x2?0<= mxUtils[_0x2895[2]](this[_0x2895[895]],_0x4315x2):!1};mxGraphSelectionModel[_0x2895[202]][_0x2895[1107]]= function(){return 0== this[_0x2895[895]][_0x2895[67]]};mxGraphSelectionModel[_0x2895[202]][_0x2895[200]]= function(){this[_0x2895[2098]](null,this[_0x2895[895]])};mxGraphSelectionModel[_0x2895[202]][_0x2895[2099]]= function(_0x4315x2){null!= _0x4315x2&& this[_0x2895[2100]]([_0x4315x2])};mxGraphSelectionModel[_0x2895[202]][_0x2895[2100]]= function(_0x4315x2){if(null!= _0x4315x2){this[_0x2895[2094]]&& (_0x4315x2= [this[_0x2895[2101]](_0x4315x2)]);for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){this[_0x2895[1179]][_0x2895[2102]](_0x4315x2[_0x4315x4])&& _0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x4])};this[_0x2895[2098]](_0x4315x3,this[_0x2895[895]])}};mxGraphSelectionModel[_0x2895[202]][_0x2895[2101]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){if(this[_0x2895[1179]][_0x2895[2102]](_0x4315x2[_0x4315x3])){return _0x4315x2[_0x4315x3]}}};return null};mxGraphSelectionModel[_0x2895[202]][_0x2895[2103]]= function(_0x4315x2){null!= _0x4315x2&& this[_0x2895[832]]([_0x4315x2])};mxGraphSelectionModel[_0x2895[202]][_0x2895[832]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=null;this[_0x2895[2094]]&& (_0x4315x3= this[_0x2895[895]],_0x4315x2= [this[_0x2895[2101]](_0x4315x2)]);for(var _0x4315x4=[],_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){!this[_0x2895[2097]](_0x4315x2[_0x4315x5])&& this[_0x2895[1179]][_0x2895[2102]](_0x4315x2[_0x4315x5])&& _0x4315x4[_0x2895[207]](_0x4315x2[_0x4315x5])};this[_0x2895[2098]](_0x4315x4,_0x4315x3)}};mxGraphSelectionModel[_0x2895[202]][_0x2895[2104]]= function(_0x4315x2){null!= _0x4315x2&& this[_0x2895[842]]([_0x4315x2])};mxGraphSelectionModel[_0x2895[202]][_0x2895[842]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){this[_0x2895[2097]](_0x4315x2[_0x4315x4])&& _0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x4])};this[_0x2895[2098]](null,_0x4315x3)}};mxGraphSelectionModel[_0x2895[202]][_0x2895[2098]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]&& null!= _0x4315x2[0]|| null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]&& null!= _0x4315x3[0]){var _0x4315x4= new mxSelectionChange(this,_0x4315x2,_0x4315x3);_0x4315x4[_0x2895[350]]();var _0x4315x5= new mxUndoableEdit(this,!1);_0x4315x5[_0x2895[99]](_0x4315x4);this[_0x2895[746]]( new mxEventObject(mxEvent.UNDO,_0x2895[1061],_0x4315x5))}};mxGraphSelectionModel[_0x2895[202]][_0x2895[1941]]= function(_0x4315x2){null!= _0x4315x2&& !this[_0x2895[2097]](_0x4315x2)&& this[_0x2895[895]][_0x2895[207]](_0x4315x2)};mxGraphSelectionModel[_0x2895[202]][_0x2895[1102]]= function(_0x4315x2){null!= _0x4315x2&& (_0x4315x2= mxUtils[_0x2895[2]](this[_0x2895[895]],_0x4315x2),0<= _0x4315x2&& this[_0x2895[895]][_0x2895[300]](_0x4315x2,1))};function mxSelectionChange(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[2105]]= _0x4315x2;this[_0x2895[2106]]= null!= _0x4315x3?_0x4315x3[_0x2895[1853]]():null;this[_0x2895[2107]]= null!= _0x4315x4?_0x4315x4[_0x2895[1853]]():null}mxSelectionChange[_0x2895[202]][_0x2895[350]]= function(){var _0x4315x2=mxLog[_0x2895[2109]](_0x2895[2108]);window[_0x2895[879]]= mxResources[_0x2895[203]](this[_0x2895[2105]][_0x2895[2092]])|| this[_0x2895[2105]][_0x2895[2092]];if(null!= this[_0x2895[2107]]){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[2107]][_0x2895[67]];_0x4315x3++){this[_0x2895[2105]][_0x2895[1102]](this[_0x2895[2107]][_0x4315x3])}};if(null!= this[_0x2895[2106]]){for(_0x4315x3= 0;_0x4315x3< this[_0x2895[2106]][_0x2895[67]];_0x4315x3++){this[_0x2895[2105]][_0x2895[1941]](this[_0x2895[2106]][_0x4315x3])}};_0x4315x3= this[_0x2895[2106]];this[_0x2895[2106]]= this[_0x2895[2107]];this[_0x2895[2107]]= _0x4315x3;window[_0x2895[879]]= mxResources[_0x2895[203]](this[_0x2895[2105]][_0x2895[2091]])|| this[_0x2895[2105]][_0x2895[2091]];mxLog[_0x2895[2110]](_0x2895[2108],_0x4315x2);this[_0x2895[2105]][_0x2895[746]]( new mxEventObject(mxEvent.CHANGE,_0x2895[2106],this[_0x2895[2106]],_0x2895[2107],this[_0x2895[2107]]))};function mxCellEditor(_0x4315x2){this[_0x2895[1179]]= _0x4315x2}mxCellEditor[_0x2895[202]][_0x2895[1179]]= null;mxCellEditor[_0x2895[202]][_0x2895[126]]= null;mxCellEditor[_0x2895[202]][_0x2895[2111]]= null;mxCellEditor[_0x2895[202]][_0x2895[2112]]= null;mxCellEditor[_0x2895[202]][_0x2895[2113]]= !1;mxCellEditor[_0x2895[202]][_0x2895[2114]]= !0;mxCellEditor[_0x2895[202]][_0x2895[2115]]= _0x2895[110];mxCellEditor[_0x2895[202]][_0x2895[2116]]= _0x2895[110];mxCellEditor[_0x2895[202]][_0x2895[176]]= function(){this[_0x2895[126]]= document[_0x2895[55]](_0x2895[126]);this[_0x2895[126]][_0x2895[926]]= _0x2895[2117];this[_0x2895[126]][_0x2895[124]][_0x2895[491]]= _0x2895[492];this[_0x2895[126]][_0x2895[124]][_0x2895[277]]= _0x2895[189];this[_0x2895[126]][_0x2895[57]](_0x2895[2118],_0x2895[2119]);this[_0x2895[126]][_0x2895[57]](_0x2895[969],_0x2895[2120]);mxClient[_0x2895[133]]&& (this[_0x2895[126]][_0x2895[124]][_0x2895[129]]= _0x2895[130]);mxEvent[_0x2895[169]](this[_0x2895[126]],_0x2895[2121],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2122]]()}));mxEvent[_0x2895[169]](this[_0x2895[126]],_0x2895[2123],mxUtils[_0x2895[885]](this,function(_0x4315x2){mxEvent[_0x2895[721]](_0x4315x2)|| (113== _0x4315x2[_0x2895[2124]]|| this[_0x2895[1179]][_0x2895[2125]]()&& 13== _0x4315x2[_0x2895[2124]]&& !mxEvent[_0x2895[775]](_0x4315x2)&& !mxEvent[_0x2895[774]](_0x4315x2)?(this[_0x2895[1179]][_0x2895[2126]](!1),mxEvent[_0x2895[722]](_0x4315x2)):27== _0x4315x2[_0x2895[2124]]?(this[_0x2895[1179]][_0x2895[2126]](!0),mxEvent[_0x2895[722]](_0x4315x2)):(this[_0x2895[2127]]&& (this[_0x2895[2127]]= !1,this[_0x2895[126]][_0x2895[131]]= _0x2895[110]),this[_0x2895[2128]](!0)))}));mxEvent[_0x2895[169]](this[_0x2895[126]],_0x2895[2129],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2114]]&& !mxEvent[_0x2895[721]](_0x4315x2)&& setTimeout(mxUtils[_0x2895[885]](this,function(){this[_0x2895[129]]()}),0)}))};mxCellEditor[_0x2895[202]][_0x2895[129]]= function(){if(null!= this[_0x2895[1653]]){var _0x4315x2=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](this[_0x2895[2111]]),_0x4315x3=this[_0x2895[1179]][_0x2895[2130]](_0x4315x2[_0x2895[246]]),_0x4315x4=this[_0x2895[1179]][_0x2895[2131]](_0x4315x2[_0x2895[246]]);if(this[_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]])){this[_0x2895[1562]][_0x2895[235]]= _0x4315x2[_0x2895[2079]][_0x2895[235]],this[_0x2895[1562]][_0x2895[236]]= _0x4315x2[_0x2895[2079]][_0x2895[236]],this[_0x2895[1562]][_0x2895[117]]= 0,this[_0x2895[1562]][_0x2895[119]]= 0}else {if(null!= this[_0x2895[1562]]){this[_0x2895[1562]][_0x2895[235]]= _0x4315x2[_0x2895[235]];this[_0x2895[1562]][_0x2895[236]]= _0x4315x2[_0x2895[236]];this[_0x2895[1562]][_0x2895[117]]= _0x4315x2[_0x2895[117]];this[_0x2895[1562]][_0x2895[119]]= _0x4315x2[_0x2895[119]];var _0x4315x5=mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);_0x4315x5== mxConstants[_0x2895[2132]]?this[_0x2895[1562]][_0x2895[235]]-= _0x4315x2[_0x2895[117]]:_0x4315x5== mxConstants[_0x2895[480]]&& (this[_0x2895[1562]][_0x2895[235]]+= _0x4315x2[_0x2895[117]]);_0x4315x5= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);_0x4315x5== mxConstants[_0x2895[1687]]?this[_0x2895[1562]][_0x2895[236]]-= _0x4315x2[_0x2895[119]]:_0x4315x5== mxConstants[_0x2895[482]]&& (this[_0x2895[1562]][_0x2895[236]]+= _0x4315x2[_0x2895[119]])}};_0x4315x5= this[_0x2895[126]][_0x2895[131]];if(_0x2895[192]== _0x4315x5[_0x2895[225]](_0x4315x5[_0x2895[67]]- 1)|| _0x2895[110]== _0x4315x5){_0x4315x5+= _0x2895[544]};_0x4315x5= mxUtils[_0x2895[321]](_0x4315x5,!1);_0x4315x4?(this[_0x2895[1653]][_0x2895[124]][_0x2895[493]]= _0x2895[1502],this[_0x2895[1653]][_0x2895[124]][_0x2895[117]]= this[_0x2895[1562]][_0x2895[117]]+ _0x2895[168]):_0x4315x5= _0x4315x5[_0x2895[230]](/ /g,_0x2895[544]);_0x4315x5= _0x4315x5[_0x2895[230]](/\n/g,_0x2895[1453]);this[_0x2895[1653]][_0x2895[339]]= _0x4315x5;var _0x4315x5=this[_0x2895[1653]][_0x2895[359]]+ 30,_0x4315x9=this[_0x2895[1653]][_0x2895[167]]+ 16,_0x4315x5=Math[_0x2895[160]](_0x4315x5,40),_0x4315x9=Math[_0x2895[160]](_0x4315x9,20);_0x4315x3&& (_0x4315x5= Math[_0x2895[243]](this[_0x2895[1562]][_0x2895[117]]- 4,_0x4315x5),_0x4315x9= Math[_0x2895[243]](this[_0x2895[1562]][_0x2895[119]],_0x4315x9));var _0x4315xa=null!= _0x4315x2[_0x2895[963]]?_0x4315x2[_0x2895[963]][_0x2895[1655]]:null;null== _0x4315xa&& (_0x4315xa= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),_0x4315x2= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE),_0x4315xa= mxUtils[_0x2895[1501]](_0x4315xa,_0x4315x2));if(null!= _0x4315xa){if(_0x4315x3|| !_0x4315x4){this[_0x2895[126]][_0x2895[124]][_0x2895[361]]= Math[_0x2895[160]](0,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[235]]- _0x4315xa[_0x2895[235]]* this[_0x2895[1562]][_0x2895[117]]+ _0x4315xa[_0x2895[235]]* _0x4315x5)- 3)+ _0x2895[168]};this[_0x2895[126]][_0x2895[124]][_0x2895[125]]= Math[_0x2895[160]](0,Math[_0x2895[488]](this[_0x2895[1562]][_0x2895[236]]- _0x4315xa[_0x2895[236]]* this[_0x2895[1562]][_0x2895[119]]+ _0x4315xa[_0x2895[236]]* _0x4315x9)+ 4)+ _0x2895[168]};if(_0x4315x3|| !_0x4315x4){this[_0x2895[126]][_0x2895[124]][_0x2895[117]]= _0x4315x5+ _0x2895[168]};this[_0x2895[126]][_0x2895[124]][_0x2895[119]]= _0x4315x9+ _0x2895[168]}};mxCellEditor[_0x2895[202]][_0x2895[2133]]= function(){return this[_0x2895[2113]]};mxCellEditor[_0x2895[202]][_0x2895[2128]]= function(_0x4315x2){this[_0x2895[2113]]= _0x4315x2};mxCellEditor[_0x2895[202]][_0x2895[2122]]= function(){this[_0x2895[2126]](!this[_0x2895[1179]][_0x2895[2134]]())};mxCellEditor[_0x2895[202]][_0x2895[855]]= function(_0x4315x2,_0x4315x3){null== this[_0x2895[126]]&& this[_0x2895[176]]();this[_0x2895[2126]](!0);var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2);if(null!= _0x4315x4){this[_0x2895[2111]]= _0x4315x2;this[_0x2895[2112]]= _0x4315x3;this[_0x2895[2116]]= null;null!= _0x4315x4[_0x2895[963]]&& this[_0x2895[2135]](_0x4315x4)&& (this[_0x2895[2116]]= _0x4315x4[_0x2895[963]][_0x2895[252]],this[_0x2895[2116]][_0x2895[124]][_0x2895[187]]= _0x2895[188]);var _0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x5=mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE)* _0x4315x5,_0x4315x9=mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),_0x4315xa=mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_FONTCOLOR,_0x2895[586]),_0x4315x12=mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),_0x4315x13=(mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_FONTSTYLE,0)& mxConstants[_0x2895[1410]])== mxConstants[_0x2895[1410]],_0x4315x14=(mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_FONTSTYLE,0)& mxConstants[_0x2895[1412]])== mxConstants[_0x2895[1412]],_0x4315x15=(mxUtils[_0x2895[433]](_0x4315x4[_0x2895[124]],mxConstants.STYLE_FONTSTYLE,0)& mxConstants[_0x2895[1414]])== mxConstants[_0x2895[1414]];this[_0x2895[126]][_0x2895[124]][_0x2895[487]]= Math[_0x2895[488]](_0x4315x5)+ _0x2895[168];this[_0x2895[126]][_0x2895[124]][_0x2895[489]]= Math[_0x2895[488]](_0x4315x5* mxConstants[_0x2895[490]])+ _0x2895[168];this[_0x2895[126]][_0x2895[124]][_0x2895[486]]= _0x4315x9;this[_0x2895[126]][_0x2895[124]][_0x2895[1165]]= _0x4315x12;this[_0x2895[126]][_0x2895[124]][_0x2895[352]]= _0x4315xa;this[_0x2895[126]][_0x2895[124]][_0x2895[1452]]= _0x4315x13?_0x2895[1447]:_0x2895[1502];this[_0x2895[126]][_0x2895[124]][_0x2895[666]]= _0x4315x14?_0x2895[1449]:_0x2895[110];this[_0x2895[126]][_0x2895[124]][_0x2895[354]]= _0x4315x15?_0x2895[355]:_0x2895[110];this[_0x2895[126]][_0x2895[124]][_0x2895[277]]= _0x2895[278];this[_0x2895[126]][_0x2895[124]][_0x2895[2136]]= _0x2895[130];this[_0x2895[1562]]= _0x4315x5= this[_0x2895[2137]](_0x4315x4);this[_0x2895[126]][_0x2895[124]][_0x2895[361]]= _0x4315x5[_0x2895[235]]+ _0x2895[168];this[_0x2895[126]][_0x2895[124]][_0x2895[125]]= _0x4315x5[_0x2895[236]]+ _0x2895[168];this[_0x2895[126]][_0x2895[124]][_0x2895[117]]= _0x4315x5[_0x2895[117]]+ _0x2895[168];this[_0x2895[126]][_0x2895[124]][_0x2895[119]]= _0x4315x5[_0x2895[119]]+ _0x2895[168];this[_0x2895[126]][_0x2895[124]][_0x2895[931]]= 5;_0x4315x4= this[_0x2895[2138]](_0x4315x4,_0x4315x3);null== _0x4315x4|| 0== _0x4315x4[_0x2895[67]]?(_0x4315x4= this[_0x2895[2139]](),this[_0x2895[2127]]= !0):this[_0x2895[2127]]= !1;this[_0x2895[2128]](!1);this[_0x2895[126]][_0x2895[131]]= _0x4315x4;this[_0x2895[1179]][_0x2895[526]][_0x2895[62]](this[_0x2895[126]]);_0x2895[130]!= this[_0x2895[126]][_0x2895[124]][_0x2895[495]]&& (this[_0x2895[2114]]&& (this[_0x2895[1653]]= this[_0x2895[2140]](),document[_0x2895[112]][_0x2895[62]](this[_0x2895[1653]]),this[_0x2895[129]]()),this[_0x2895[126]][_0x2895[393]](),this[_0x2895[126]][_0x2895[804]]())}};mxCellEditor[_0x2895[202]][_0x2895[2140]]= function(){var _0x4315x2=document[_0x2895[55]](_0x2895[485]),_0x4315x3=_0x4315x2[_0x2895[124]];_0x4315x3[_0x2895[491]]= _0x2895[492];_0x4315x3[_0x2895[493]]= _0x2895[494];_0x4315x3[_0x2895[187]]= _0x2895[188];_0x4315x3[_0x2895[495]]= mxClient[_0x2895[496]]?_0x2895[497]:_0x2895[498];_0x4315x3[_0x2895[499]]= _0x2895[500];_0x4315x3[_0x2895[123]]= _0x2895[125];_0x4315x3[_0x2895[489]]= this[_0x2895[126]][_0x2895[124]][_0x2895[489]];_0x4315x3[_0x2895[487]]= this[_0x2895[126]][_0x2895[124]][_0x2895[487]];_0x4315x3[_0x2895[486]]= this[_0x2895[126]][_0x2895[124]][_0x2895[486]];_0x4315x3[_0x2895[1452]]= this[_0x2895[126]][_0x2895[124]][_0x2895[1452]];_0x4315x3[_0x2895[1165]]= this[_0x2895[126]][_0x2895[124]][_0x2895[1165]];_0x4315x3[_0x2895[666]]= this[_0x2895[126]][_0x2895[124]][_0x2895[666]];_0x4315x3[_0x2895[354]]= this[_0x2895[126]][_0x2895[124]][_0x2895[354]];return _0x4315x2};mxCellEditor[_0x2895[202]][_0x2895[2126]]= function(_0x4315x2){null!= this[_0x2895[2111]]&& (null!= this[_0x2895[2116]]&& (this[_0x2895[2116]][_0x2895[124]][_0x2895[187]]= _0x2895[189],this[_0x2895[2116]]= null),!_0x4315x2&& this[_0x2895[2133]]()&& this[_0x2895[1179]][_0x2895[850]](this[_0x2895[2111]],this[_0x2895[2141]](),this[_0x2895[2112]]),null!= this[_0x2895[1653]]&& (document[_0x2895[112]][_0x2895[266]](this[_0x2895[1653]]),this[_0x2895[1653]]= null),this[_0x2895[1562]]= this[_0x2895[2112]]= this[_0x2895[2111]]= null,this[_0x2895[126]][_0x2895[2121]](),this[_0x2895[126]][_0x2895[265]][_0x2895[266]](this[_0x2895[126]]))};mxCellEditor[_0x2895[202]][_0x2895[2138]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[1179]][_0x2895[2142]](_0x4315x2[_0x2895[246]],_0x4315x3)};mxCellEditor[_0x2895[202]][_0x2895[2141]]= function(){return this[_0x2895[126]][_0x2895[131]][_0x2895[230]](/\r/g,_0x2895[110])};mxCellEditor[_0x2895[202]][_0x2895[2135]]= function(_0x4315x2){return !0};mxCellEditor[_0x2895[202]][_0x2895[939]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]];return new mxRectangle(0,0,null== _0x4315x2[_0x2895[963]]?30:_0x4315x2[_0x2895[963]][_0x2895[803]]* _0x4315x3+ 20,_0x2895[361]== this[_0x2895[126]][_0x2895[124]][_0x2895[1165]]?120:40)};mxCellEditor[_0x2895[202]][_0x2895[2137]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]]),_0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x5=this[_0x2895[939]](_0x4315x2),_0x4315x9=_0x4315x5[_0x2895[117]],_0x4315x5=_0x4315x5[_0x2895[119]],_0x4315xa=parseInt(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2143]]]|| 2)* _0x4315x4,_0x4315x12=parseInt(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2144]]]|| 0)* _0x4315x4+ _0x4315xa,_0x4315x13=parseInt(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2145]]]|| 0)* _0x4315x4+ _0x4315xa,_0x4315x14=parseInt(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2146]]]|| 0)* _0x4315x4+ _0x4315xa,_0x4315x4=parseInt(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2147]]]|| 0)* _0x4315x4+ _0x4315xa,_0x4315x13= new mxRectangle(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],Math[_0x2895[160]](_0x4315x9,_0x4315x2[_0x2895[117]]- _0x4315x4- _0x4315x13),Math[_0x2895[160]](_0x4315x5,_0x4315x2[_0x2895[119]]- _0x4315x12- _0x4315x14));_0x4315x3?(_0x4315x13[_0x2895[235]]= _0x4315x2[_0x2895[2079]][_0x2895[235]],_0x4315x13[_0x2895[236]]= _0x4315x2[_0x2895[2079]][_0x2895[236]],null!= _0x4315x2[_0x2895[963]]&& null!= _0x4315x2[_0x2895[963]][_0x2895[1563]]&& (0< _0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[235]]&& (_0x4315x13[_0x2895[235]]= _0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[235]]),0< _0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[236]]&& (_0x4315x13[_0x2895[236]]= _0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[236]]))):null!= _0x4315x2[_0x2895[963]]&& null!= _0x4315x2[_0x2895[963]][_0x2895[1563]]&& (_0x4315x13[_0x2895[235]]= Math[_0x2895[243]](_0x4315x13[_0x2895[235]],_0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[235]]),_0x4315x13[_0x2895[236]]= Math[_0x2895[243]](_0x4315x13[_0x2895[236]],_0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[236]]));_0x4315x13[_0x2895[235]]+= _0x4315x4;_0x4315x13[_0x2895[236]]+= _0x4315x12;null!= _0x4315x2[_0x2895[963]]&& null!= _0x4315x2[_0x2895[963]][_0x2895[1563]]&& (_0x4315x3?(_0x4315x13[_0x2895[117]]= Math[_0x2895[160]](_0x4315x9,_0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[117]]),_0x4315x13[_0x2895[119]]= Math[_0x2895[160]](_0x4315x5,_0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[119]])):(_0x4315x13[_0x2895[117]]= Math[_0x2895[160]](_0x4315x13[_0x2895[117]],_0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[117]]),_0x4315x13[_0x2895[119]]= Math[_0x2895[160]](_0x4315x13[_0x2895[119]],_0x4315x2[_0x2895[963]][_0x2895[1563]][_0x2895[119]])));this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1193]](_0x4315x2[_0x2895[246]])&& (_0x4315x3= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER),_0x4315x3== mxConstants[_0x2895[2132]]?_0x4315x13[_0x2895[235]]-= _0x4315x2[_0x2895[117]]:_0x4315x3== mxConstants[_0x2895[480]]&& (_0x4315x13[_0x2895[235]]+= _0x4315x2[_0x2895[117]]),_0x4315x3= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE),_0x4315x3== mxConstants[_0x2895[1687]]?_0x4315x13[_0x2895[236]]-= _0x4315x2[_0x2895[119]]:_0x4315x3== mxConstants[_0x2895[482]]&& (_0x4315x13[_0x2895[236]]+= _0x4315x2[_0x2895[119]]));return _0x4315x13};mxCellEditor[_0x2895[202]][_0x2895[2139]]= function(_0x4315x2){return this[_0x2895[2115]]};mxCellEditor[_0x2895[202]][_0x2895[2148]]= function(){return this[_0x2895[2111]]};mxCellEditor[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[126]]&& (mxEvent[_0x2895[762]](this[_0x2895[126]]),null!= this[_0x2895[126]][_0x2895[265]]&& this[_0x2895[126]][_0x2895[265]][_0x2895[266]](this[_0x2895[126]]),this[_0x2895[126]]= null)};function mxCellRenderer(){}mxCellRenderer[_0x2895[202]][_0x2895[2149]]= mxConnector;mxCellRenderer[_0x2895[202]][_0x2895[2150]]= mxRectangleShape;mxCellRenderer[_0x2895[202]][_0x2895[2151]]= mxText;mxCellRenderer[_0x2895[202]][_0x2895[2152]]= !0;mxCellRenderer[_0x2895[202]][_0x2895[2153]]= {};mxCellRenderer[_0x2895[2154]]= function(_0x4315x2,_0x4315x3){mxCellRenderer[_0x2895[202]][_0x2895[2153]][_0x4315x2]= _0x4315x3};mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_RECTANGLE,mxRectangleShape);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_ELLIPSE,mxEllipse);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_RHOMBUS,mxRhombus);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_CYLINDER,mxCylinder);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_CONNECTOR,mxConnector);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_ACTOR,mxActor);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_TRIANGLE,mxTriangle);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_HEXAGON,mxHexagon);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_CLOUD,mxCloud);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_LINE,mxLine);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_ARROW,mxArrow);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_DOUBLE_ELLIPSE,mxDoubleEllipse);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_SWIMLANE,mxSwimlane);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_IMAGE,mxImageShape);mxCellRenderer[_0x2895[2154]](mxConstants.SHAPE_LABEL,mxLabel);mxCellRenderer[_0x2895[202]][_0x2895[2155]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]();if(null!= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[526]]&& null== _0x4315x2[_0x2895[253]]&& _0x4315x2[_0x2895[246]]!= _0x4315x2[_0x2895[441]][_0x2895[1741]]&& (_0x4315x4[_0x2895[1193]](_0x4315x2[_0x2895[246]])|| _0x4315x4[_0x2895[250]](_0x4315x2[_0x2895[246]]))){if(this[_0x2895[2156]](_0x4315x2),null!= _0x4315x2[_0x2895[253]]&& (null== _0x4315x3|| _0x4315x3)){this[_0x2895[2157]](_0x4315x2),_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2158]]|| _0x4315x4[_0x2895[250]](_0x4315x2[_0x2895[246]])?_0x4315x2[_0x2895[2081]]= !0:_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2159]]&& null!= this[_0x2895[2160]]&& (this[_0x2895[2160]][_0x2895[265]]== _0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]]?this[_0x2895[2161]](_0x4315x2,this[_0x2895[2160]]):this[_0x2895[2160]]= null),_0x4315x2[_0x2895[253]][_0x2895[255]]= _0x4315x2[_0x2895[441]][_0x2895[255]],this[_0x2895[2162]](_0x4315x2),this[_0x2895[2163]](_0x4315x2)}}};mxCellRenderer[_0x2895[202]][_0x2895[2157]]= function(_0x4315x2){_0x4315x2[_0x2895[253]][_0x2895[176]](_0x4315x2[_0x2895[441]][_0x2895[2024]]())};mxCellRenderer[_0x2895[202]][_0x2895[2164]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=null,_0x4315x5=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x9=_0x4315x5[_0x2895[502]](),_0x4315xa=_0x4315x2[_0x2895[246]],_0x4315x12=_0x4315x9[_0x2895[1197]](_0x4315xa);null!= _0x4315x12&& null== _0x4315x4;){_0x4315x4= this[_0x2895[2165]](_0x4315x5,_0x4315x12,_0x4315xa,_0x4315x3),_0x4315xa= _0x4315x12,_0x4315x12= _0x4315x9[_0x2895[1197]](_0x4315xa)};return _0x4315x4};mxCellRenderer[_0x2895[202]][_0x2895[2165]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=null,_0x4315xa=_0x4315x2[_0x2895[502]]();for(_0x4315x4= null!= _0x4315x4?_0x4315x3[_0x2895[1738]](_0x4315x4)- 1:_0x4315xa[_0x2895[262]](_0x4315x3)- 1;0<= _0x4315x4&& null== _0x4315x9;_0x4315x4--){_0x4315x9= this[_0x2895[2165]](_0x4315x2,_0x4315xa[_0x2895[263]](_0x4315x3,_0x4315x4),null,_0x4315x5)};if(null== _0x4315x9&& (_0x4315x9= _0x4315x2[_0x2895[441]][_0x2895[248]](_0x4315x3),null!= _0x4315x9&& (null== _0x4315x9[_0x2895[253]]|| null== _0x4315x9[_0x2895[253]][_0x2895[252]]|| _0x4315x9[_0x2895[253]][_0x2895[252]][_0x2895[265]]!= _0x4315x5))){_0x4315x9= null};return _0x4315x9};mxCellRenderer[_0x2895[202]][_0x2895[2166]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]],_0x4315x4=this[_0x2895[2164]](_0x4315x2,_0x4315x3),_0x4315x5=_0x4315x3[_0x2895[285]];null!= _0x4315x4&& (_0x4315x5= _0x4315x4[_0x2895[253]][_0x2895[252]],null!= _0x4315x4[_0x2895[963]]&& (null!= _0x4315x4[_0x2895[963]][_0x2895[252]]&& _0x4315x4[_0x2895[963]][_0x2895[252]][_0x2895[265]]== _0x4315x3)&& (_0x4315x5= _0x4315x4[_0x2895[963]][_0x2895[252]]),_0x4315x5= _0x4315x5[_0x2895[287]]);this[_0x2895[2161]](_0x4315x2,_0x4315x5)};mxCellRenderer[_0x2895[202]][_0x2895[2167]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]],_0x4315x4=_0x4315x3[_0x2895[1179]][_0x2895[502]]();if(_0x4315x3[_0x2895[1179]][_0x2895[2159]]){if(null== this[_0x2895[2160]]|| null== this[_0x2895[2160]][_0x2895[265]]|| this[_0x2895[2160]][_0x2895[265]]!= _0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]]){this[_0x2895[2160]]= _0x4315x2[_0x2895[253]][_0x2895[252]]}}else {if(_0x4315x3[_0x2895[1179]][_0x2895[2168]]){var _0x4315x5=_0x4315x2[_0x2895[253]][_0x2895[252]],_0x4315x9=_0x4315x5[_0x2895[265]],_0x4315x4=_0x4315x4[_0x2895[1197]](_0x4315x2[_0x2895[246]]),_0x4315x3=_0x4315x3[_0x2895[248]](_0x4315x4),_0x4315x9=null!= _0x4315x3&& null!= _0x4315x3[_0x2895[253]]&& null!= _0x4315x3[_0x2895[253]][_0x2895[252]]?_0x4315x3[_0x2895[253]][_0x2895[252]][_0x2895[287]]:_0x4315x9[_0x2895[285]];null!= _0x4315x9&& _0x4315x9!= _0x4315x5&& this[_0x2895[2161]](_0x4315x2,_0x4315x9)}}};mxCellRenderer[_0x2895[202]][_0x2895[2161]]= function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]][_0x2895[950]](_0x4315x2[_0x2895[253]][_0x2895[252]],_0x4315x3);null!= _0x4315x2[_0x2895[963]]&& (null!= _0x4315x2[_0x2895[963]][_0x2895[252]]&& _0x4315x2[_0x2895[963]][_0x2895[252]][_0x2895[265]]== _0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]])&& _0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]][_0x2895[950]](_0x4315x2[_0x2895[963]][_0x2895[252]],_0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[287]])};mxCellRenderer[_0x2895[202]][_0x2895[2156]]= function(_0x4315x2){if(null!= _0x4315x2[_0x2895[124]]){var _0x4315x3=mxStencilRegistry[_0x2895[1560]](_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2059]]]);null!= _0x4315x3?_0x4315x2[_0x2895[253]]= new mxShape(_0x4315x3):(_0x4315x3= this[_0x2895[2169]](_0x4315x2),_0x4315x2[_0x2895[253]]= new _0x4315x3);_0x4315x2[_0x2895[253]][_0x2895[1525]]= _0x4315x2[_0x2895[439]];_0x4315x2[_0x2895[253]][_0x2895[1562]]= new mxRectangle(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],_0x4315x2[_0x2895[117]],_0x4315x2[_0x2895[119]]);_0x4315x2[_0x2895[253]][_0x2895[507]]= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[507]];this[_0x2895[2170]](_0x4315x2)}};mxCellRenderer[_0x2895[202]][_0x2895[2171]]= function(_0x4315x2){return null!= _0x4315x2?mxCellRenderer[_0x2895[202]][_0x2895[2153]][_0x4315x2]:null};mxCellRenderer[_0x2895[202]][_0x2895[2169]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[2171]](_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2059]]]);null== _0x4315x3&& (_0x4315x3= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]])?this[_0x2895[2149]]:this[_0x2895[2150]]);return _0x4315x3};mxCellRenderer[_0x2895[202]][_0x2895[2170]]= function(_0x4315x2){_0x4315x2[_0x2895[253]][_0x2895[183]](_0x4315x2);_0x4315x2[_0x2895[253]][_0x2895[618]]= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[1202]](_0x4315x2);_0x4315x2[_0x2895[253]][_0x2895[630]]= this[_0x2895[2171]](_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2172]](_0x4315x2));_0x4315x2[_0x2895[253]][_0x2895[632]]= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2173]](_0x4315x2);_0x4315x2[_0x2895[253]][_0x2895[634]]= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2174]](_0x4315x2);_0x4315x2[_0x2895[253]][_0x2895[638]]= _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2175]]];_0x4315x2[_0x2895[253]][_0x2895[631]]= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2176]](_0x4315x2);this[_0x2895[2177]](_0x4315x2)};mxCellRenderer[_0x2895[202]][_0x2895[2177]]= function(_0x4315x2){null!= _0x4315x2[_0x2895[253]]&& (this[_0x2895[2178]](_0x4315x2,_0x2895[632],mxConstants.STYLE_FILLCOLOR),this[_0x2895[2178]](_0x4315x2,_0x2895[634],mxConstants.STYLE_GRADIENTCOLOR),this[_0x2895[2178]](_0x4315x2,_0x2895[1334],mxConstants.STYLE_FILLCOLOR),this[_0x2895[2178]](_0x4315x2,_0x2895[1336],mxConstants.STYLE_STROKECOLOR),this[_0x2895[2178]](_0x4315x2,_0x2895[1299],mxConstants.STYLE_GRADIENTCOLOR))};mxCellRenderer[_0x2895[202]][_0x2895[2178]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[253]][_0x4315x3],_0x4315x9=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315xa=null;_0x2895[1549]== _0x4315x5?_0x4315xa= _0x4315x9[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x2895[246]]):_0x2895[687]== _0x4315x5?(_0x4315xa= null!= _0x4315x9[_0x2895[251]][_0x2895[1709]](_0x4315x2[_0x2895[246]],!1)?_0x4315x9[_0x2895[251]][_0x2895[1709]](_0x4315x2[_0x2895[246]],!1):_0x4315x2[_0x2895[246]],_0x4315xa= _0x4315x9[_0x2895[2179]](_0x4315xa),_0x4315x4= _0x4315x9[_0x2895[2180]]):_0x2895[2181]== _0x4315x5&& (_0x4315x2[_0x2895[253]][_0x4315x3]= _0x4315x2[_0x2895[253]][_0x2895[632]]);null!= _0x4315xa&& (_0x4315x5= _0x4315x9[_0x2895[249]]()[_0x2895[248]](_0x4315xa),_0x4315x2[_0x2895[253]][_0x4315x3]= null,null!= _0x4315x5&& (_0x4315x2[_0x2895[253]][_0x4315x3]= null!= _0x4315x5[_0x2895[253]]&& _0x2895[632]!= _0x4315x3?_0x4315x5[_0x2895[253]][_0x4315x3]:_0x4315x5[_0x2895[124]][_0x4315x4]))};mxCellRenderer[_0x2895[202]][_0x2895[2182]]= function(_0x4315x2){return _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2183]](_0x4315x2[_0x2895[246]])};mxCellRenderer[_0x2895[202]][_0x2895[2184]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[441]][_0x2895[1179]];_0x4315x4[_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]]);if(0< _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2185]]]|| null== _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2185]]]){var _0x4315x5=_0x4315x4[_0x2895[2186]](_0x4315x2[_0x2895[246]])|| null!= _0x4315x3&& mxUtils[_0x2895[1331]](_0x4315x3);_0x4315x2[_0x2895[963]]= new this[_0x2895[2151]](_0x4315x3, new mxRectangle,_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2064]]]|| mxConstants[_0x2895[479]],_0x4315x4[_0x2895[2187]](_0x4315x2),_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2069]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2188]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2185]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2189]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2143]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2144]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2145]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2146]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2147]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2190]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2191]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2192]]],_0x4315x4[_0x2895[2131]](_0x4315x2[_0x2895[246]])&& _0x4315x4[_0x2895[2186]](_0x4315x2[_0x2895[246]]),_0x4315x4[_0x2895[2130]](_0x4315x2[_0x2895[246]]),_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2193]]],_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2194]]]);_0x4315x2[_0x2895[963]][_0x2895[461]]= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_TEXT_OPACITY,100);_0x4315x2[_0x2895[963]][_0x2895[507]]= _0x4315x5?mxConstants[_0x2895[1656]]:_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[507]];_0x4315x2[_0x2895[963]][_0x2895[724]]= _0x4315x2;this[_0x2895[2195]](_0x4315x2);var _0x4315x9=!1,_0x4315xa=function(_0x4315x3){var _0x4315x5=_0x4315x2;if(mxClient[_0x2895[754]]|| _0x4315x9){_0x4315x5= mxEvent[_0x2895[731]](_0x4315x3),_0x4315x3= mxEvent[_0x2895[733]](_0x4315x3),_0x4315x3= mxUtils[_0x2895[2196]](_0x4315x4[_0x2895[526]],_0x4315x5,_0x4315x3),_0x4315x5= _0x4315x4[_0x2895[441]][_0x2895[248]](_0x4315x4[_0x2895[999]](_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]]))};return _0x4315x5};mxEvent[_0x2895[759]](_0x4315x2[_0x2895[963]][_0x2895[252]],mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2197]](_0x4315x2,_0x4315x3)&& (_0x4315x4[_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x3,_0x4315x2)),_0x4315x9= _0x4315x4[_0x2895[507]]!= mxConstants[_0x2895[508]]&& _0x2895[2198]== mxEvent[_0x2895[728]](_0x4315x3)[_0x2895[301]])}),mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2197]](_0x4315x2,_0x4315x3)&& _0x4315x4[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x3,_0x4315xa(_0x4315x3)))}),mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2197]](_0x4315x2,_0x4315x3)&& (_0x4315x4[_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x3,_0x4315xa(_0x4315x3))),_0x4315x9= !1)}));mxEvent[_0x2895[169]](_0x4315x2[_0x2895[963]][_0x2895[252]],_0x2895[760],mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2197]](_0x4315x2,_0x4315x3)&& (_0x4315x4[_0x2895[761]](_0x4315x3,_0x4315x2[_0x2895[246]]),mxEvent[_0x2895[722]](_0x4315x3))}))}};mxCellRenderer[_0x2895[202]][_0x2895[2195]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]][_0x2895[1179]];_0x4315x2[_0x2895[963]][_0x2895[507]]!= mxConstants[_0x2895[508]]&& (mxClient[_0x2895[48]]&& mxClient[_0x2895[2199]]?_0x4315x2[_0x2895[963]][_0x2895[176]](_0x4315x3[_0x2895[526]]):mxUtils[_0x2895[458]](_0x4315x2[_0x2895[441]][_0x2895[2024]]())&& (null!= _0x4315x2[_0x2895[253]][_0x2895[685]]?_0x4315x2[_0x2895[963]][_0x2895[176]](_0x4315x2[_0x2895[253]][_0x2895[685]]):_0x4315x2[_0x2895[963]][_0x2895[176]](_0x4315x2[_0x2895[253]][_0x2895[252]])));null== _0x4315x2[_0x2895[963]][_0x2895[252]]&& (_0x4315x2[_0x2895[963]][_0x2895[176]](_0x4315x2[_0x2895[441]][_0x2895[2024]]()),null!= _0x4315x2[_0x2895[253]]&& null!= _0x4315x2[_0x2895[963]]&& _0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[265]][_0x2895[950]](_0x4315x2[_0x2895[963]][_0x2895[252]],_0x4315x2[_0x2895[253]][_0x2895[252]][_0x2895[287]]))};mxCellRenderer[_0x2895[202]][_0x2895[2162]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2200]](_0x4315x2[_0x2895[246]]),_0x4315x4=null;if(null!= _0x4315x3){for(var _0x4315x4= new mxDictionary,_0x4315x5=0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){var _0x4315x9=null!= _0x4315x2[_0x2895[1211]]?_0x4315x2[_0x2895[1211]][_0x2895[205]](_0x4315x3[_0x4315x5]):null;null== _0x4315x9&& (_0x4315x9= new mxImageShape( new mxRectangle,_0x4315x3[_0x4315x5][_0x2895[618]][_0x2895[390]]),_0x4315x9[_0x2895[507]]= _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[507]],_0x4315x9[_0x2895[1674]]= !1,_0x4315x9[_0x2895[2201]]= _0x4315x3[_0x4315x5],this[_0x2895[2023]](_0x4315x2,_0x4315x9),this[_0x2895[2202]](_0x4315x2,_0x4315x3[_0x4315x5],_0x4315x9),null!= _0x4315x3[_0x4315x5][_0x2895[270]]&& (_0x4315x9[_0x2895[252]][_0x2895[124]][_0x2895[270]]= _0x4315x3[_0x4315x5][_0x2895[270]]));_0x4315x4[_0x2895[204]](_0x4315x3[_0x4315x5],_0x4315x9)}};null!= _0x4315x2[_0x2895[1211]]&& _0x4315x2[_0x2895[1211]][_0x2895[209]](function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[515]]()});_0x4315x2[_0x2895[1211]]= _0x4315x4};mxCellRenderer[_0x2895[202]][_0x2895[2023]]= function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[176]](_0x4315x2[_0x2895[441]][_0x2895[1524]]())};mxCellRenderer[_0x2895[202]][_0x2895[2202]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[441]][_0x2895[1179]];mxEvent[_0x2895[169]](_0x4315x4[_0x2895[252]],_0x2895[173],function(_0x4315x4){_0x4315x5[_0x2895[2203]]()&& _0x4315x5[_0x2895[2126]](!_0x4315x5[_0x2895[2134]]());_0x4315x3[_0x2895[746]]( new mxEventObject(mxEvent.CLICK,_0x2895[763],_0x4315x4,_0x2895[246],_0x4315x2[_0x2895[246]]))});mxEvent[_0x2895[759]](_0x4315x4[_0x2895[252]],function(_0x4315x2){mxEvent[_0x2895[722]](_0x4315x2)},function(_0x4315x3){_0x4315x5[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x3,_0x4315x2))});mxClient[_0x2895[754]]&& mxEvent[_0x2895[169]](_0x4315x4[_0x2895[252]],_0x2895[757],function(_0x4315x4){_0x4315x3[_0x2895[746]]( new mxEventObject(mxEvent.CLICK,_0x2895[763],_0x4315x4,_0x2895[246],_0x4315x2[_0x2895[246]]))})};mxCellRenderer[_0x2895[202]][_0x2895[2204]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x4=_0x4315x3[_0x2895[2205]](_0x4315x2);if(_0x4315x3[_0x2895[2206]]&& null!= _0x4315x4){if(null== _0x4315x2[_0x2895[2207]]){var _0x4315x5= new mxRectangle(0,0,_0x4315x4[_0x2895[117]],_0x4315x4[_0x2895[119]]);_0x4315x2[_0x2895[2207]]= new mxImageShape(_0x4315x5,_0x4315x4[_0x2895[390]]);_0x4315x2[_0x2895[2207]][_0x2895[1674]]= !1;_0x4315x2[_0x2895[2207]][_0x2895[507]]= _0x4315x3[_0x2895[507]];this[_0x2895[2208]](_0x4315x2,_0x4315x2[_0x2895[2207]],!0,function(_0x4315x4){if(_0x4315x3[_0x2895[994]]()){var _0x4315x5=!_0x4315x3[_0x2895[1742]](_0x4315x2[_0x2895[246]]);_0x4315x3[_0x2895[847]](_0x4315x5,!1,[_0x4315x2[_0x2895[246]]]);mxEvent[_0x2895[722]](_0x4315x4)}})}}else {null!= _0x4315x2[_0x2895[2207]]&& (_0x4315x2[_0x2895[2207]][_0x2895[515]](),_0x4315x2[_0x2895[2207]]= null)}};mxCellRenderer[_0x2895[202]][_0x2895[2208]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x2[_0x2895[441]][_0x2895[1179]];_0x4315x9[_0x2895[2186]](_0x4315x2[_0x2895[246]])&& mxClient[_0x2895[2199]]&& _0x4315x9[_0x2895[507]]== mxConstants[_0x2895[508]]?(_0x4315x3[_0x2895[507]]= mxConstants[_0x2895[2209]],_0x4315x3[_0x2895[176]](_0x4315x9[_0x2895[526]]),_0x4315x3[_0x2895[252]][_0x2895[124]][_0x2895[931]]= 1):_0x4315x3[_0x2895[176]](_0x4315x2[_0x2895[441]][_0x2895[1524]]());_0x4315x3= _0x4315x3[_0x2895[2210]]|| _0x4315x3[_0x2895[252]];_0x4315x5&& (_0x4315x9[_0x2895[994]]()&& (_0x4315x3[_0x2895[124]][_0x2895[270]]= _0x2895[356]),mxEvent[_0x2895[169]](_0x4315x3,_0x2895[173],_0x4315x5));_0x4315x4&& mxEvent[_0x2895[759]](_0x4315x3,function(_0x4315x3){_0x4315x9[_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x3,_0x4315x2));mxEvent[_0x2895[722]](_0x4315x3)},function(_0x4315x3){_0x4315x9[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x3,_0x4315x2))});return _0x4315x3};mxCellRenderer[_0x2895[202]][_0x2895[2211]]= function(_0x4315x2,_0x4315x3){return !0};mxCellRenderer[_0x2895[202]][_0x2895[2197]]= function(_0x4315x2,_0x4315x3){return !0};mxCellRenderer[_0x2895[202]][_0x2895[2163]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x4=function(_0x4315x4){var _0x4315x5=_0x4315x2;if(_0x4315x3[_0x2895[507]]!= mxConstants[_0x2895[508]]&& _0x2895[2198]== mxEvent[_0x2895[728]](_0x4315x4)[_0x2895[301]]|| mxClient[_0x2895[754]]){_0x4315x5= mxEvent[_0x2895[731]](_0x4315x4),_0x4315x4= mxEvent[_0x2895[733]](_0x4315x4),_0x4315x4= mxUtils[_0x2895[2196]](_0x4315x3[_0x2895[526]],_0x4315x5,_0x4315x4),_0x4315x5= _0x4315x3[_0x2895[441]][_0x2895[248]](_0x4315x3[_0x2895[999]](_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]]))};return _0x4315x5},_0x4315x5=!1;mxEvent[_0x2895[169]](_0x4315x2[_0x2895[253]][_0x2895[252]],_0x2895[2212],mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x3[_0x2895[2213]]= 0;_0x4315x5= !0;mxEvent[_0x2895[722]](_0x4315x2)}));mxEvent[_0x2895[759]](_0x4315x2[_0x2895[253]][_0x2895[252]],mxUtils[_0x2895[885]](this,function(_0x4315x4){this[_0x2895[2211]](_0x4315x2,_0x4315x4)&& !_0x4315x5?_0x4315x3[_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x4,null!= _0x4315x2[_0x2895[253]]&& mxEvent[_0x2895[728]](_0x4315x4)== _0x4315x2[_0x2895[253]][_0x2895[905]]?null:_0x4315x2)):_0x4315x5&& mxEvent[_0x2895[722]](_0x4315x4)}),mxUtils[_0x2895[885]](this,function(_0x4315x9){this[_0x2895[2211]](_0x4315x2,_0x4315x9)&& !_0x4315x5?_0x4315x3[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x9,null!= _0x4315x2[_0x2895[253]]&& mxEvent[_0x2895[728]](_0x4315x9)== _0x4315x2[_0x2895[253]][_0x2895[905]]?null:_0x4315x4(_0x4315x9))):_0x4315x5&& mxEvent[_0x2895[722]](_0x4315x9)}),mxUtils[_0x2895[885]](this,function(_0x4315x9){this[_0x2895[2211]](_0x4315x2,_0x4315x9)&& !_0x4315x5?_0x4315x3[_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x9,null!= _0x4315x2[_0x2895[253]]&& mxEvent[_0x2895[728]](_0x4315x9)== _0x4315x2[_0x2895[253]][_0x2895[905]]?null:_0x4315x4(_0x4315x9))):_0x4315x5&& mxEvent[_0x2895[722]](_0x4315x9)}));var _0x4315x9=mxClient[_0x2895[754]]?_0x2895[2214]:_0x2895[760];mxEvent[_0x2895[169]](_0x4315x2[_0x2895[253]][_0x2895[252]],_0x4315x9,mxUtils[_0x2895[885]](this,function(_0x4315x4){_0x4315x5= !1;_0x2895[2214]== _0x4315x9?(_0x4315x3[_0x2895[2213]]= 0,_0x4315x3[_0x2895[2215]]&& (_0x4315x3[_0x2895[2216]](_0x4315x2,_0x4315x4),mxEvent[_0x2895[722]](_0x4315x4))):this[_0x2895[2211]](_0x4315x2,_0x4315x4)&& (_0x4315x3[_0x2895[761]](_0x4315x4,null!= _0x4315x2[_0x2895[253]]&& mxEvent[_0x2895[728]](_0x4315x4)== _0x4315x2[_0x2895[253]][_0x2895[905]]?null:_0x4315x2[_0x2895[246]]),mxEvent[_0x2895[722]](_0x4315x4))}))};mxCellRenderer[_0x2895[202]][_0x2895[2217]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[2182]](_0x4315x2);if(null== _0x4315x2[_0x2895[963]]&& null!= _0x4315x4&& (mxUtils[_0x2895[1331]](_0x4315x4)|| 0< _0x4315x4[_0x2895[67]])){this[_0x2895[2184]](_0x4315x2,_0x4315x4)}else {if(null!= _0x4315x2[_0x2895[963]]&& (null== _0x4315x4|| 0== _0x4315x4[_0x2895[67]])){_0x4315x2[_0x2895[963]][_0x2895[515]](),_0x4315x2[_0x2895[963]]= null}};if(null!= _0x4315x2[_0x2895[963]]){var _0x4315x5=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x9=_0x4315x5[_0x2895[2131]](_0x4315x2[_0x2895[246]]),_0x4315x5=_0x4315x5[_0x2895[2130]](_0x4315x2[_0x2895[246]]),_0x4315xa=this[_0x2895[2218]](_0x4315x2);if(_0x4315x3|| _0x4315x2[_0x2895[963]][_0x2895[131]]!= _0x4315x4|| _0x4315x2[_0x2895[963]][_0x2895[2131]]!= _0x4315x9|| _0x4315x2[_0x2895[963]][_0x2895[2219]]!= _0x4315x5|| _0x4315x2[_0x2895[963]][_0x2895[255]]!= _0x4315x2[_0x2895[441]][_0x2895[255]]|| !_0x4315x2[_0x2895[963]][_0x2895[1562]][_0x2895[237]](_0x4315xa)){_0x4315x2[_0x2895[963]][_0x2895[131]]= _0x4315x4,_0x4315x2[_0x2895[963]][_0x2895[1562]]= _0x4315xa,_0x4315x2[_0x2895[963]][_0x2895[255]]= this[_0x2895[2220]](_0x4315x2),_0x4315x2[_0x2895[963]][_0x2895[2131]]= _0x4315x9,_0x4315x2[_0x2895[963]][_0x2895[2219]]= _0x4315x5,_0x4315x2[_0x2895[963]][_0x2895[258]]()}}};mxCellRenderer[_0x2895[202]][_0x2895[2220]]= function(_0x4315x2){return _0x4315x2[_0x2895[441]][_0x2895[255]]};mxCellRenderer[_0x2895[202]][_0x2895[2218]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x4=_0x4315x2[_0x2895[441]][_0x2895[255]],_0x4315x5=_0x4315x3[_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]]),_0x4315x9= new mxRectangle(_0x4315x2[_0x2895[2079]][_0x2895[235]],_0x4315x2[_0x2895[2079]][_0x2895[236]]);_0x4315x2[_0x2895[963]][_0x2895[1672]]();_0x4315x5?(_0x4315x5= _0x4315x2[_0x2895[963]][_0x2895[1673]](),_0x4315x9[_0x2895[235]]+= _0x4315x5[_0x2895[235]]* _0x4315x4,_0x4315x9[_0x2895[236]]+= _0x4315x5[_0x2895[236]]* _0x4315x4,_0x4315x3= _0x4315x3[_0x2895[1198]](_0x4315x2[_0x2895[246]]),null!= _0x4315x3&& (_0x4315x9[_0x2895[117]]= Math[_0x2895[160]](0,_0x4315x2[_0x2895[963]][_0x2895[1655]][_0x2895[235]]* _0x4315x3[_0x2895[117]]* _0x4315x4- _0x4315x2[_0x2895[963]][_0x2895[659]]* _0x4315x4- _0x4315x2[_0x2895[963]][_0x2895[661]]* _0x4315x4),_0x4315x9[_0x2895[119]]= Math[_0x2895[160]](0,_0x4315x2[_0x2895[963]][_0x2895[1655]][_0x2895[236]]* _0x4315x3[_0x2895[119]]* _0x4315x4- _0x4315x2[_0x2895[963]][_0x2895[658]]* _0x4315x4- _0x4315x2[_0x2895[963]][_0x2895[660]]* _0x4315x4))):(_0x4315x2[_0x2895[963]][_0x2895[1590]]()&& (_0x4315x5= _0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[235]]= _0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[236]]= _0x4315x5),_0x4315x9[_0x2895[235]]+= _0x4315x2[_0x2895[235]],_0x4315x9[_0x2895[236]]+= _0x4315x2[_0x2895[236]],_0x4315x9[_0x2895[117]]= Math[_0x2895[160]](1,_0x4315x2[_0x2895[117]]),_0x4315x9[_0x2895[119]]= Math[_0x2895[160]](1,_0x4315x2[_0x2895[119]]),_0x4315x3[_0x2895[1730]](_0x4315x2[_0x2895[246]])&& (_0x4315x3= _0x4315x3[_0x2895[1731]](_0x4315x2[_0x2895[246]]),0< _0x4315x3[_0x2895[117]]?(_0x4315x5= Math[_0x2895[243]](_0x4315x9[_0x2895[117]],_0x4315x3[_0x2895[117]]* _0x4315x4),_0x4315x2[_0x2895[253]][_0x2895[623]]&& (_0x4315x9[_0x2895[235]]+= _0x4315x9[_0x2895[117]]- _0x4315x5),_0x4315x9[_0x2895[117]]= _0x4315x5):0< _0x4315x3[_0x2895[119]]&& (_0x4315x5= Math[_0x2895[243]](_0x4315x9[_0x2895[119]],_0x4315x3[_0x2895[119]]* _0x4315x4),_0x4315x2[_0x2895[253]][_0x2895[624]]&& (_0x4315x9[_0x2895[236]]+= _0x4315x9[_0x2895[119]]- _0x4315x5),_0x4315x9[_0x2895[119]]= _0x4315x5)),this[_0x2895[2221]](_0x4315x2,_0x4315x9));return _0x4315x9};mxCellRenderer[_0x2895[202]][_0x2895[2221]]= function(_0x4315x2,_0x4315x3){if(_0x4315x2[_0x2895[963]][_0x2895[1590]]()){var _0x4315x4=(_0x4315x2[_0x2895[117]]- _0x4315x2[_0x2895[119]])/ 2;_0x4315x3[_0x2895[235]]+= _0x4315x4;_0x4315x3[_0x2895[236]]-= _0x4315x4;_0x4315x4= _0x4315x3[_0x2895[117]];_0x4315x3[_0x2895[117]]= _0x4315x3[_0x2895[119]];_0x4315x3[_0x2895[119]]= _0x4315x4};_0x4315x3[_0x2895[235]]-= _0x4315x2[_0x2895[963]][_0x2895[1655]][_0x2895[235]]* _0x4315x3[_0x2895[117]];_0x4315x3[_0x2895[236]]-= _0x4315x2[_0x2895[963]][_0x2895[1655]][_0x2895[236]]* _0x4315x3[_0x2895[119]];if(_0x2895[1334]!= _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2193]]]){var _0x4315x4=_0x4315x2[_0x2895[441]][_0x2895[255]],_0x4315x5=_0x4315x2[_0x2895[963]][_0x2895[1673]]();_0x4315x3[_0x2895[235]]+= _0x4315x5[_0x2895[235]]* _0x4315x4;_0x4315x3[_0x2895[236]]+= _0x4315x5[_0x2895[236]]* _0x4315x4;_0x4315x3[_0x2895[117]]= Math[_0x2895[160]](0,_0x4315x3[_0x2895[117]]- _0x4315x2[_0x2895[963]][_0x2895[659]]* _0x4315x4- _0x4315x2[_0x2895[963]][_0x2895[661]]* _0x4315x4);_0x4315x3[_0x2895[119]]= Math[_0x2895[160]](0,_0x4315x3[_0x2895[119]]- _0x4315x2[_0x2895[963]][_0x2895[658]]* _0x4315x4- _0x4315x2[_0x2895[963]][_0x2895[660]]* _0x4315x4)};var _0x4315x9=_0x4315x2[_0x2895[963]][_0x2895[1615]]();if(0!= _0x4315x9&& (null!= _0x4315x2&& _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[251]][_0x2895[1193]](_0x4315x2[_0x2895[246]]))&& (_0x4315x4= _0x4315x2[_0x2895[241]](),_0x4315x5= _0x4315x2[_0x2895[242]](),_0x4315x3[_0x2895[235]]!= _0x4315x4|| _0x4315x3[_0x2895[236]]!= _0x4315x5)){_0x4315x9*= Math[_0x2895[424]]/ 180,pt= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]]),Math[_0x2895[426]](_0x4315x9),Math[_0x2895[427]](_0x4315x9), new mxPoint(_0x4315x4,_0x4315x5)),_0x4315x3[_0x2895[235]]= pt[_0x2895[235]],_0x4315x3[_0x2895[236]]= pt[_0x2895[236]]}};mxCellRenderer[_0x2895[202]][_0x2895[2222]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2162]](_0x4315x2);if(null!= _0x4315x2[_0x2895[1211]]){var _0x4315x4=mxUtils[_0x2895[1454]](mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION,0),90),_0x4315x5=mxUtils[_0x2895[431]](_0x4315x4),_0x4315x9=Math[_0x2895[426]](_0x4315x5),_0x4315xa=Math[_0x2895[427]](_0x4315x5);_0x4315x2[_0x2895[1211]][_0x2895[209]](function(_0x4315x5,_0x4315x13){var _0x4315x14=_0x4315x13[_0x2895[2201]][_0x2895[1799]](_0x4315x2);if(!_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]])&& null!= _0x4315x2[_0x2895[253]]&& 0!= _0x4315x4){var _0x4315x15=_0x4315x14[_0x2895[241]](),_0x4315x16=_0x4315x14[_0x2895[242]](),_0x4315x16=mxUtils[_0x2895[432]]( new mxPoint(_0x4315x15,_0x4315x16),_0x4315x9,_0x4315xa, new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]())),_0x4315x15=_0x4315x16[_0x2895[235]],_0x4315x16=_0x4315x16[_0x2895[236]];_0x4315x14[_0x2895[235]]= Math[_0x2895[488]](_0x4315x15- _0x4315x14[_0x2895[117]]/ 2);_0x4315x14[_0x2895[236]]= Math[_0x2895[488]](_0x4315x16- _0x4315x14[_0x2895[119]]/ 2)};if(_0x4315x3|| null== _0x4315x13[_0x2895[1562]]|| _0x4315x13[_0x2895[255]]!= _0x4315x2[_0x2895[441]][_0x2895[255]]|| !_0x4315x13[_0x2895[1562]][_0x2895[237]](_0x4315x14)){_0x4315x13[_0x2895[1562]]= _0x4315x14,_0x4315x13[_0x2895[255]]= _0x4315x2[_0x2895[441]][_0x2895[255]],_0x4315x13[_0x2895[258]]()}})}};mxCellRenderer[_0x2895[202]][_0x2895[2223]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2[_0x2895[2207]]){var _0x4315x4=this[_0x2895[2224]](_0x4315x2),_0x4315x5=this[_0x2895[2152]]?mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION,0):_0x4315x2[_0x2895[253]][_0x2895[1615]](),_0x4315x9=_0x4315x2[_0x2895[441]][_0x2895[255]];if(_0x4315x3|| _0x4315x2[_0x2895[2207]][_0x2895[255]]!= _0x4315x9|| !_0x4315x2[_0x2895[2207]][_0x2895[1562]][_0x2895[237]](_0x4315x4)|| _0x4315x2[_0x2895[2207]][_0x2895[603]]!= _0x4315x5){_0x4315x2[_0x2895[2207]][_0x2895[603]]= _0x4315x5,_0x4315x2[_0x2895[2207]][_0x2895[1562]]= _0x4315x4,_0x4315x2[_0x2895[2207]][_0x2895[255]]= _0x4315x9,_0x4315x2[_0x2895[2207]][_0x2895[258]]()}}};mxCellRenderer[_0x2895[202]][_0x2895[2224]]= function(_0x4315x2){if(null!= _0x4315x2[_0x2895[2207]]){var _0x4315x3=_0x4315x2[_0x2895[2207]][_0x2895[255]],_0x4315x4=_0x4315x2[_0x2895[2207]][_0x2895[1562]][_0x2895[117]]/ _0x4315x3,_0x4315x3=_0x4315x2[_0x2895[2207]][_0x2895[1562]][_0x2895[119]]/ _0x4315x3,_0x4315x5=_0x4315x2[_0x2895[441]][_0x2895[255]],_0x4315x9=_0x4315x2[_0x2895[241]](),_0x4315xa=_0x4315x2[_0x2895[242]]();if(!_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]])&& (_0x4315x9= _0x4315x2[_0x2895[235]]+ _0x4315x4* _0x4315x5,_0x4315xa= _0x4315x2[_0x2895[236]]+ _0x4315x3* _0x4315x5,null!= _0x4315x2[_0x2895[253]])){var _0x4315x12=_0x4315x2[_0x2895[253]][_0x2895[1598]]();if(this[_0x2895[2152]]){_0x4315x12= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION,0)}else {if(_0x4315x2[_0x2895[253]][_0x2895[1590]]()){var _0x4315x13=(_0x4315x2[_0x2895[117]]- _0x4315x2[_0x2895[119]])/ 2,_0x4315x9=_0x4315x9+ _0x4315x13,_0x4315xa=_0x4315xa- _0x4315x13}};0!= _0x4315x12&& (_0x4315x13= mxUtils[_0x2895[431]](_0x4315x12),_0x4315x12= Math[_0x2895[426]](_0x4315x13),_0x4315x13= Math[_0x2895[427]](_0x4315x13),_0x4315xa= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x9,_0x4315xa),_0x4315x12,_0x4315x13, new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]())),_0x4315x9= _0x4315xa[_0x2895[235]],_0x4315xa= _0x4315xa[_0x2895[236]])};return _0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]]), new mxRectangle(Math[_0x2895[488]](_0x4315x9- _0x4315x4/ 2* _0x4315x5),Math[_0x2895[488]](_0x4315xa- _0x4315x3/ 2* _0x4315x5),Math[_0x2895[488]](_0x4315x4* _0x4315x5),Math[_0x2895[488]](_0x4315x3* _0x4315x5))};return null};mxCellRenderer[_0x2895[202]][_0x2895[258]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= _0x4315x2[_0x2895[253]]){var _0x4315x5=!1;_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]]);reconfigure= null!= _0x4315x3?_0x4315x3:!1;this[_0x2895[2204]](_0x4315x2);if(_0x4315x2[_0x2895[2082]]|| _0x4315x2[_0x2895[2081]]){_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[2158]]?this[_0x2895[2166]](_0x4315x2):this[_0x2895[2167]](_0x4315x2)};if(_0x4315x2[_0x2895[2082]]|| !mxUtils[_0x2895[2225]](_0x4315x2[_0x2895[253]][_0x2895[124]],_0x4315x2[_0x2895[124]])){this[_0x2895[2170]](_0x4315x2),_0x4315x3= !0};delete _0x4315x2[_0x2895[2081]];delete _0x4315x2[_0x2895[2082]];if(_0x4315x3|| null== _0x4315x2[_0x2895[253]][_0x2895[1562]]|| _0x4315x2[_0x2895[253]][_0x2895[255]]!= _0x4315x2[_0x2895[441]][_0x2895[255]]|| !_0x4315x2[_0x2895[253]][_0x2895[1562]][_0x2895[237]](_0x4315x2)|| !mxUtils[_0x2895[2226]](_0x4315x2[_0x2895[253]][_0x2895[1525]],_0x4315x2[_0x2895[439]])){_0x4315x5= !0,_0x4315x2[_0x2895[253]][_0x2895[1525]]= null!= _0x4315x2[_0x2895[439]]?_0x4315x2[_0x2895[439]][_0x2895[1853]]():null,_0x4315x2[_0x2895[253]][_0x2895[1562]]= new mxRectangle(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],_0x4315x2[_0x2895[117]],_0x4315x2[_0x2895[119]]),_0x4315x2[_0x2895[253]][_0x2895[255]]= _0x4315x2[_0x2895[441]][_0x2895[255]],null== _0x4315x4|| _0x4315x4?_0x4315x2[_0x2895[253]][_0x2895[258]]():_0x4315x2[_0x2895[253]][_0x2895[1577]]()};if(null== _0x4315x4|| _0x4315x4){this[_0x2895[2217]](_0x4315x2,_0x4315x5),this[_0x2895[2222]](_0x4315x2,_0x4315x5),this[_0x2895[2223]](_0x4315x2,_0x4315x5)}}};mxCellRenderer[_0x2895[202]][_0x2895[515]]= function(_0x4315x2){null!= _0x4315x2[_0x2895[253]]&& (null!= _0x4315x2[_0x2895[963]]&& (_0x4315x2[_0x2895[963]][_0x2895[515]](),_0x4315x2[_0x2895[963]]= null),null!= _0x4315x2[_0x2895[1211]]&& (_0x4315x2[_0x2895[1211]][_0x2895[209]](function(_0x4315x2,_0x4315x4){_0x4315x4[_0x2895[515]]()}),_0x4315x2[_0x2895[1211]]= null),null!= _0x4315x2[_0x2895[2207]]&& (_0x4315x2[_0x2895[2207]][_0x2895[515]](),_0x4315x2[_0x2895[2207]]= null),_0x4315x2[_0x2895[253]][_0x2895[515]](),_0x4315x2[_0x2895[253]]= null)};var mxEdgeStyle={EntityRelation:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x2[_0x2895[441]],_0x4315x12=_0x4315xa[_0x2895[1179]];_0x4315x5= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_SEGMENT,mxConstants.ENTITY_SEGMENT)* _0x4315xa[_0x2895[255]];var _0x4315x13=_0x4315x2[_0x2895[439]],_0x4315x14=_0x4315x13[0],_0x4315x15=_0x4315x13[_0x4315x13[_0x2895[67]]- 1],_0x4315x13=!1;if(null!= _0x4315x14){_0x4315x3= new mxCellState,_0x4315x3[_0x2895[235]]= _0x4315x14[_0x2895[235]],_0x4315x3[_0x2895[236]]= _0x4315x14[_0x2895[236]]}else {if(null!= _0x4315x3){var _0x4315x16=mxUtils[_0x2895[2227]](_0x4315x3,_0x4315x2,!0,mxConstants.DIRECTION_MASK_NONE);_0x4315x16!= mxConstants[_0x2895[434]]?_0x4315x13= _0x4315x16== mxConstants[_0x2895[436]]:(_0x4315x14= _0x4315x12[_0x2895[1198]](_0x4315x3[_0x2895[246]]),_0x4315x14[_0x2895[1500]]?_0x4315x13= 0.5>= _0x4315x14[_0x2895[235]]:null!= _0x4315x4&& (_0x4315x13= _0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]< _0x4315x3[_0x2895[235]]))}else {return}};_0x4315x14= !0;null!= _0x4315x15?(_0x4315x4= new mxCellState,_0x4315x4[_0x2895[235]]= _0x4315x15[_0x2895[235]],_0x4315x4[_0x2895[236]]= _0x4315x15[_0x2895[236]]):null!= _0x4315x4&& (_0x4315x16= mxUtils[_0x2895[2227]](_0x4315x4,_0x4315x2,!1,mxConstants.DIRECTION_MASK_NONE),_0x4315x16!= mxConstants[_0x2895[434]]?_0x4315x14= _0x4315x16== mxConstants[_0x2895[436]]:(_0x4315x2= _0x4315x12[_0x2895[1198]](_0x4315x4[_0x2895[246]]),_0x4315x2[_0x2895[1500]]?_0x4315x14= 0.5>= _0x4315x2[_0x2895[235]]:null!= _0x4315x3&& (_0x4315x14= _0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]]< _0x4315x4[_0x2895[235]])));null!= _0x4315x3&& null!= _0x4315x4&& (_0x4315x2= _0x4315x13?_0x4315x3[_0x2895[235]]:_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x3= _0x4315xa[_0x2895[2228]](_0x4315x3),_0x4315x12= _0x4315x14?_0x4315x4[_0x2895[235]]:_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]],_0x4315x4= _0x4315xa[_0x2895[2228]](_0x4315x4),_0x4315xa= new mxPoint(_0x4315x2+ (_0x4315x13?-_0x4315x5:_0x4315x5),_0x4315x3),_0x4315x15= new mxPoint(_0x4315x12+ (_0x4315x14?-_0x4315x5:_0x4315x5),_0x4315x4),_0x4315x13== _0x4315x14?(_0x4315x5= _0x4315x13?Math[_0x2895[243]](_0x4315x2,_0x4315x12)- _0x4315x5:Math[_0x2895[160]](_0x4315x2,_0x4315x12)+ _0x4315x5,_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x5,_0x4315x3)),_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x5,_0x4315x4))):(_0x4315xa[_0x2895[235]]< _0x4315x15[_0x2895[235]]== _0x4315x13?(_0x4315x5= _0x4315x3+ (_0x4315x4- _0x4315x3)/ 2,_0x4315x9[_0x2895[207]](_0x4315xa),_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315xa[_0x2895[235]],_0x4315x5)),_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x15[_0x2895[235]],_0x4315x5))):_0x4315x9[_0x2895[207]](_0x4315xa),_0x4315x9[_0x2895[207]](_0x4315x15)))},Loop:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x3){_0x4315x4= _0x4315x2[_0x2895[441]];var _0x4315xa=_0x4315x4[_0x2895[1179]];_0x4315x5= null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]?_0x4315x5[0]:null;null!= _0x4315x5&& (_0x4315x5= _0x4315x4[_0x2895[2229]](_0x4315x2,_0x4315x5),mxUtils[_0x2895[442]](_0x4315x3,_0x4315x5[_0x2895[235]],_0x4315x5[_0x2895[236]])&& (_0x4315x5= null));var _0x4315x12=0,_0x4315x13=0,_0x4315x14=0,_0x4315x15=0,_0x4315xa=mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_SEGMENT,_0x4315xa[_0x2895[1020]])* _0x4315x4[_0x2895[255]];_0x4315x2= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_WEST);_0x4315x2== mxConstants[_0x2895[1358]]|| _0x4315x2== mxConstants[_0x2895[1354]]?(_0x4315x12= _0x4315x4[_0x2895[2230]](_0x4315x3),_0x4315x13= _0x4315xa):(_0x4315x14= _0x4315x4[_0x2895[2228]](_0x4315x3),_0x4315x15= _0x4315xa);null== _0x4315x5|| _0x4315x5[_0x2895[235]]< _0x4315x3[_0x2895[235]]|| _0x4315x5[_0x2895[235]]> _0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]]?null!= _0x4315x5?(_0x4315x12= _0x4315x5[_0x2895[235]],_0x4315x15= Math[_0x2895[160]](Math[_0x2895[425]](_0x4315x14- _0x4315x5[_0x2895[236]]),_0x4315x15)):_0x4315x2== mxConstants[_0x2895[1358]]?_0x4315x14= _0x4315x3[_0x2895[236]]- 2* _0x4315x13:_0x4315x2== mxConstants[_0x2895[1354]]?_0x4315x14= _0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]]+ 2* _0x4315x13:_0x4315x12= _0x4315x2== mxConstants[_0x2895[1356]]?_0x4315x3[_0x2895[235]]- 2* _0x4315x15:_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]]+ 2* _0x4315x15:null!= _0x4315x5&& (_0x4315x12= _0x4315x4[_0x2895[2230]](_0x4315x3),_0x4315x13= Math[_0x2895[160]](Math[_0x2895[425]](_0x4315x12- _0x4315x5[_0x2895[235]]),_0x4315x15),_0x4315x14= _0x4315x5[_0x2895[236]],_0x4315x15= 0);_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x12- _0x4315x13,_0x4315x14- _0x4315x15));_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x12+ _0x4315x13,_0x4315x14+ _0x4315x15))}},ElbowConnector:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]?_0x4315x5[0]:null,_0x4315x12=!1,_0x4315x13=!1;if(null!= _0x4315x3&& null!= _0x4315x4){if(null!= _0x4315xa){var _0x4315x14=Math[_0x2895[243]](_0x4315x3[_0x2895[235]],_0x4315x4[_0x2895[235]]),_0x4315x15=Math[_0x2895[160]](_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]),_0x4315x13=Math[_0x2895[243]](_0x4315x3[_0x2895[236]],_0x4315x4[_0x2895[236]]),_0x4315x16=Math[_0x2895[160]](_0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]],_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]),_0x4315xa=_0x4315x2[_0x2895[441]][_0x2895[2229]](_0x4315x2,_0x4315xa),_0x4315x12=_0x4315xa[_0x2895[236]]< _0x4315x13|| _0x4315xa[_0x2895[236]]> _0x4315x16,_0x4315x13=_0x4315xa[_0x2895[235]]< _0x4315x14|| _0x4315xa[_0x2895[235]]> _0x4315x15}else {_0x4315x14= Math[_0x2895[160]](_0x4315x3[_0x2895[235]],_0x4315x4[_0x2895[235]]),_0x4315x15= Math[_0x2895[243]](_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]),_0x4315x12= _0x4315x14== _0x4315x15,_0x4315x12|| (_0x4315x13= Math[_0x2895[160]](_0x4315x3[_0x2895[236]],_0x4315x4[_0x2895[236]]),_0x4315x16= Math[_0x2895[243]](_0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]],_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]),_0x4315x13= _0x4315x13== _0x4315x16)}};!_0x4315x13&& (_0x4315x12|| _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2231]]]== mxConstants[_0x2895[2232]])?mxEdgeStyle.TopToBottom(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9):mxEdgeStyle.SideToSide(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)},SideToSide:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x2[_0x2895[441]];_0x4315x5= null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]?_0x4315x5[0]:null;var _0x4315x12=_0x4315x2[_0x2895[439]],_0x4315x13=_0x4315x12[0],_0x4315x12=_0x4315x12[_0x4315x12[_0x2895[67]]- 1];null!= _0x4315x5&& (_0x4315x5= _0x4315xa[_0x2895[2229]](_0x4315x2,_0x4315x5));null!= _0x4315x13&& (_0x4315x3= new mxCellState,_0x4315x3[_0x2895[235]]= _0x4315x13[_0x2895[235]],_0x4315x3[_0x2895[236]]= _0x4315x13[_0x2895[236]]);null!= _0x4315x12&& (_0x4315x4= new mxCellState,_0x4315x4[_0x2895[235]]= _0x4315x12[_0x2895[235]],_0x4315x4[_0x2895[236]]= _0x4315x12[_0x2895[236]]);null!= _0x4315x3&& null!= _0x4315x4&& (_0x4315x2= Math[_0x2895[160]](_0x4315x3[_0x2895[235]],_0x4315x4[_0x2895[235]]),_0x4315x13= Math[_0x2895[243]](_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]),_0x4315x2= null!= _0x4315x5?_0x4315x5[_0x2895[235]]:_0x4315x13+ (_0x4315x2- _0x4315x13)/ 2,_0x4315x13= _0x4315xa[_0x2895[2228]](_0x4315x3),_0x4315xa= _0x4315xa[_0x2895[2228]](_0x4315x4),null!= _0x4315x5&& (_0x4315x5[_0x2895[236]]>= _0x4315x3[_0x2895[236]]&& _0x4315x5[_0x2895[236]]<= _0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]]&& (_0x4315x13= _0x4315x5[_0x2895[236]]),_0x4315x5[_0x2895[236]]>= _0x4315x4[_0x2895[236]]&& _0x4315x5[_0x2895[236]]<= _0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]&& (_0x4315xa= _0x4315x5[_0x2895[236]])),!mxUtils[_0x2895[442]](_0x4315x4,_0x4315x2,_0x4315x13)&& !mxUtils[_0x2895[442]](_0x4315x3,_0x4315x2,_0x4315x13)&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x2,_0x4315x13)),!mxUtils[_0x2895[442]](_0x4315x4,_0x4315x2,_0x4315xa)&& !mxUtils[_0x2895[442]](_0x4315x3,_0x4315x2,_0x4315xa)&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x2,_0x4315xa)),1== _0x4315x9[_0x2895[67]]&& (null!= _0x4315x5?!mxUtils[_0x2895[442]](_0x4315x4,_0x4315x2,_0x4315x5[_0x2895[236]])&& !mxUtils[_0x2895[442]](_0x4315x3,_0x4315x2,_0x4315x5[_0x2895[236]])&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x2,_0x4315x5[_0x2895[236]])):(_0x4315xa= Math[_0x2895[160]](_0x4315x3[_0x2895[236]],_0x4315x4[_0x2895[236]]),_0x4315x3= Math[_0x2895[243]](_0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]],_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]),_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x2,_0x4315xa+ (_0x4315x3- _0x4315xa)/ 2)))))},TopToBottom:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x2[_0x2895[441]];_0x4315x5= null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]?_0x4315x5[0]:null;var _0x4315x12=_0x4315x2[_0x2895[439]],_0x4315x13=_0x4315x12[0],_0x4315x12=_0x4315x12[_0x4315x12[_0x2895[67]]- 1];null!= _0x4315x5&& (_0x4315x5= _0x4315xa[_0x2895[2229]](_0x4315x2,_0x4315x5));null!= _0x4315x13&& (_0x4315x3= new mxCellState,_0x4315x3[_0x2895[235]]= _0x4315x13[_0x2895[235]],_0x4315x3[_0x2895[236]]= _0x4315x13[_0x2895[236]]);null!= _0x4315x12&& (_0x4315x4= new mxCellState,_0x4315x4[_0x2895[235]]= _0x4315x12[_0x2895[235]],_0x4315x4[_0x2895[236]]= _0x4315x12[_0x2895[236]]);null!= _0x4315x3&& null!= _0x4315x4&& (_0x4315x13= Math[_0x2895[160]](_0x4315x3[_0x2895[236]],_0x4315x4[_0x2895[236]]),_0x4315x12= Math[_0x2895[243]](_0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]],_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]),_0x4315x2= _0x4315xa[_0x2895[2230]](_0x4315x3),null!= _0x4315x5&& (_0x4315x5[_0x2895[235]]>= _0x4315x3[_0x2895[235]]&& _0x4315x5[_0x2895[235]]<= _0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]])&& (_0x4315x2= _0x4315x5[_0x2895[235]]),_0x4315x13= null!= _0x4315x5?_0x4315x5[_0x2895[236]]:_0x4315x12+ (_0x4315x13- _0x4315x12)/ 2,!mxUtils[_0x2895[442]](_0x4315x4,_0x4315x2,_0x4315x13)&& !mxUtils[_0x2895[442]](_0x4315x3,_0x4315x2,_0x4315x13)&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x2,_0x4315x13)),_0x4315x2= null!= _0x4315x5&& _0x4315x5[_0x2895[235]]>= _0x4315x4[_0x2895[235]]&& _0x4315x5[_0x2895[235]]<= _0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]?_0x4315x5[_0x2895[235]]:_0x4315xa[_0x2895[2230]](_0x4315x4),!mxUtils[_0x2895[442]](_0x4315x4,_0x4315x2,_0x4315x13)&& !mxUtils[_0x2895[442]](_0x4315x3,_0x4315x2,_0x4315x13)&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x2,_0x4315x13)),1== _0x4315x9[_0x2895[67]]&& (null!= _0x4315x5&& 1== _0x4315x9[_0x2895[67]]?!mxUtils[_0x2895[442]](_0x4315x4,_0x4315x5[_0x2895[235]],_0x4315x13)&& !mxUtils[_0x2895[442]](_0x4315x3,_0x4315x5[_0x2895[235]],_0x4315x13)&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x5[_0x2895[235]],_0x4315x13)):(_0x4315xa= Math[_0x2895[160]](_0x4315x3[_0x2895[235]],_0x4315x4[_0x2895[235]]),_0x4315x3= Math[_0x2895[243]](_0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]],_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]),_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315xa+ (_0x4315x3- _0x4315xa)/ 2,_0x4315x13)))))},SegmentConnector:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x2[_0x2895[439]],_0x4315x12=!0,_0x4315x13=null,_0x4315x14=_0x4315xa[0];null== _0x4315x14&& null!= _0x4315x3?_0x4315x14= new mxPoint(_0x4315x2[_0x2895[441]][_0x2895[2230]](_0x4315x3),_0x4315x2[_0x2895[441]][_0x2895[2228]](_0x4315x3)):null!= _0x4315x14&& (_0x4315x14= _0x4315x14[_0x2895[238]]());var _0x4315x15=_0x4315xa[_0x2895[67]]- 1;if(null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]){for(var _0x4315x13=_0x4315x2[_0x2895[441]][_0x2895[2229]](_0x4315x2,_0x4315x5[0]),_0x4315x16=_0x4315x3,_0x4315x17=_0x4315xa[0],_0x4315x18=!1,_0x4315x19=!1,_0x4315x18=_0x4315x13,_0x4315x1a=_0x4315x5[_0x2895[67]],_0x4315x1b=0;2> _0x4315x1b;_0x4315x1b++){var _0x4315x1c=null!= _0x4315x17&& _0x4315x17[_0x2895[235]]== _0x4315x18[_0x2895[235]],_0x4315x1d=null!= _0x4315x17&& _0x4315x17[_0x2895[236]]== _0x4315x18[_0x2895[236]],_0x4315x1e=null!= _0x4315x16&& _0x4315x18[_0x2895[236]]>= _0x4315x16[_0x2895[236]]&& _0x4315x18[_0x2895[236]]<= _0x4315x16[_0x2895[236]]+ _0x4315x16[_0x2895[119]],_0x4315x16=null!= _0x4315x16&& _0x4315x18[_0x2895[235]]>= _0x4315x16[_0x2895[235]]&& _0x4315x18[_0x2895[235]]<= _0x4315x16[_0x2895[235]]+ _0x4315x16[_0x2895[117]],_0x4315x18=_0x4315x1d|| null== _0x4315x17&& _0x4315x1e,_0x4315x19=_0x4315x1c|| null== _0x4315x17&& _0x4315x16;if(null!= _0x4315x17&& !_0x4315x1d&& !_0x4315x1c&& (_0x4315x1e|| _0x4315x16)){_0x4315x12= _0x4315x1e?!1:!0;break};if(_0x4315x19|| _0x4315x18){_0x4315x12= _0x4315x18;1== _0x4315x1b&& (_0x4315x12= 0== _0x4315x5[_0x2895[67]]% 2?_0x4315x18:_0x4315x19);break};_0x4315x16= _0x4315x4;_0x4315x17= _0x4315xa[_0x4315x15];_0x4315x18= _0x4315x2[_0x2895[441]][_0x2895[2229]](_0x4315x2,_0x4315x5[_0x4315x1a- 1])};_0x4315x12&& (null!= _0x4315xa[0]&& _0x4315xa[0][_0x2895[236]]!= _0x4315x13[_0x2895[236]]|| null== _0x4315xa[0]&& null!= _0x4315x3&& (_0x4315x13[_0x2895[236]]< _0x4315x3[_0x2895[236]]|| _0x4315x13[_0x2895[236]]> _0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]]))?_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x14[_0x2895[235]],_0x4315x13[_0x2895[236]])):!_0x4315x12&& (null!= _0x4315xa[0]&& _0x4315xa[0][_0x2895[235]]!= _0x4315x13[_0x2895[235]]|| null== _0x4315xa[0]&& null!= _0x4315x3&& (_0x4315x13[_0x2895[235]]< _0x4315x3[_0x2895[235]]|| _0x4315x13[_0x2895[235]]> _0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]]))&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x13[_0x2895[235]],_0x4315x14[_0x2895[236]]));_0x4315x12?_0x4315x14[_0x2895[236]]= _0x4315x13[_0x2895[236]]:_0x4315x14[_0x2895[235]]= _0x4315x13[_0x2895[235]];for(_0x4315x1b= 0;_0x4315x1b< _0x4315x5[_0x2895[67]];_0x4315x1b++){_0x4315x12= !_0x4315x12,_0x4315x13= _0x4315x2[_0x2895[441]][_0x2895[2229]](_0x4315x2,_0x4315x5[_0x4315x1b]),_0x4315x12?_0x4315x14[_0x2895[236]]= _0x4315x13[_0x2895[236]]:_0x4315x14[_0x2895[235]]= _0x4315x13[_0x2895[235]],_0x4315x9[_0x2895[207]](_0x4315x14[_0x2895[238]]())}}else {_0x4315x13= _0x4315x14,_0x4315x12= !0};_0x4315x14= _0x4315xa[_0x4315x15];null== _0x4315x14&& null!= _0x4315x4&& (_0x4315x14= new mxPoint(_0x4315x2[_0x2895[441]][_0x2895[2230]](_0x4315x4),_0x4315x2[_0x2895[441]][_0x2895[2228]](_0x4315x4)));_0x4315x12&& (null!= _0x4315xa[_0x4315x15]&& _0x4315xa[_0x4315x15][_0x2895[236]]!= _0x4315x13[_0x2895[236]]|| null== _0x4315xa[_0x4315x15]&& null!= _0x4315x4&& (_0x4315x13[_0x2895[236]]< _0x4315x4[_0x2895[236]]|| _0x4315x13[_0x2895[236]]> _0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]))?_0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x14[_0x2895[235]],_0x4315x13[_0x2895[236]])):!_0x4315x12&& (null!= _0x4315xa[_0x4315x15]&& _0x4315xa[_0x4315x15][_0x2895[235]]!= _0x4315x13[_0x2895[235]]|| null== _0x4315xa[_0x4315x15]&& null!= _0x4315x4&& (_0x4315x13[_0x2895[235]]< _0x4315x4[_0x2895[235]]|| _0x4315x13[_0x2895[235]]> _0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]))&& _0x4315x9[_0x2895[207]]( new mxPoint(_0x4315x13[_0x2895[235]],_0x4315x14[_0x2895[236]]));if(null== _0x4315xa[0]&& null!= _0x4315x3){for(;1< _0x4315x9[_0x2895[67]]&& mxUtils[_0x2895[442]](_0x4315x3,_0x4315x9[1][_0x2895[235]],_0x4315x9[1][_0x2895[236]]);){_0x4315x9= _0x4315x9[_0x2895[300]](1,1)}};if(null== _0x4315xa[_0x4315x15]&& null!= _0x4315x4){for(;1< _0x4315x9[_0x2895[67]]&& mxUtils[_0x2895[442]](_0x4315x4,_0x4315x9[_0x4315x9[_0x2895[67]]- 1][_0x2895[235]],_0x4315x9[_0x4315x9[_0x2895[67]]- 1][_0x2895[236]]);){_0x4315x9= _0x4315x9[_0x2895[300]](_0x4315x9[_0x2895[67]]- 1,1)}}},orthBuffer:10,dirVectors:[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,2568]],[[2081,2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,VERTEX_MASK:3072,OrthConnector:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=_0x4315x2[_0x2895[441]][_0x2895[1179]],_0x4315x12=null== _0x4315x3?!1:_0x4315xa[_0x2895[502]]()[_0x2895[250]](_0x4315x3[_0x2895[246]]),_0x4315xa=null== _0x4315x4?!1:_0x4315xa[_0x2895[502]]()[_0x2895[250]](_0x4315x4[_0x2895[246]]);if(null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]|| _0x4315x12|| _0x4315xa){mxEdgeStyle.SegmentConnector(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)}else {_0x4315x5= _0x4315x2[_0x2895[439]];var _0x4315x13=_0x4315x5[0],_0x4315x14=_0x4315x5[_0x4315x5[_0x2895[67]]- 1];_0x4315x5= null!= _0x4315x3?_0x4315x3[_0x2895[235]]:_0x4315x13[_0x2895[235]];var _0x4315x12=null!= _0x4315x3?_0x4315x3[_0x2895[236]]:_0x4315x13[_0x2895[236]],_0x4315x15=null!= _0x4315x3?_0x4315x3[_0x2895[117]]:1,_0x4315x16=null!= _0x4315x3?_0x4315x3[_0x2895[119]]:1,_0x4315x17=null!= _0x4315x4?_0x4315x4[_0x2895[235]]:_0x4315x14[_0x2895[235]],_0x4315x18=null!= _0x4315x4?_0x4315x4[_0x2895[236]]:_0x4315x14[_0x2895[236]],_0x4315x19=null!= _0x4315x4?_0x4315x4[_0x2895[117]]:1,_0x4315x1a=null!= _0x4315x4?_0x4315x4[_0x2895[119]]:1,_0x4315xa=_0x4315x2[_0x2895[441]][_0x2895[255]]* mxEdgeStyle[_0x2895[2233]],_0x4315x1b=[mxConstants[_0x2895[2234]],mxConstants[_0x2895[2234]]];null!= _0x4315x3&& (_0x4315x1b[0]= mxUtils[_0x2895[2227]](_0x4315x3,_0x4315x2,!0,mxConstants.DIRECTION_MASK_ALL));null!= _0x4315x4&& (_0x4315x1b[1]= mxUtils[_0x2895[2227]](_0x4315x4,_0x4315x2,!1,mxConstants.DIRECTION_MASK_ALL));_0x4315x2= [0,0];_0x4315x5= [[_0x4315x5,_0x4315x12,_0x4315x15,_0x4315x16],[_0x4315x17,_0x4315x18,_0x4315x19,_0x4315x1a]];for(_0x4315x15= 0;2> _0x4315x15;_0x4315x15++){mxEdgeStyle[_0x2895[2235]][_0x4315x15][1]= _0x4315x5[_0x4315x15][0]- _0x4315xa,mxEdgeStyle[_0x2895[2235]][_0x4315x15][2]= _0x4315x5[_0x4315x15][1]- _0x4315xa,mxEdgeStyle[_0x2895[2235]][_0x4315x15][4]= _0x4315x5[_0x4315x15][0]+ _0x4315x5[_0x4315x15][2]+ _0x4315xa,mxEdgeStyle[_0x2895[2235]][_0x4315x15][8]= _0x4315x5[_0x4315x15][1]+ _0x4315x5[_0x4315x15][3]+ _0x4315xa};_0x4315x15= _0x4315x5[0][0]+ _0x4315x5[0][2]/ 2- (_0x4315x5[1][0]+ _0x4315x5[1][2]/ 2);_0x4315x16= _0x4315x5[0][1]+ _0x4315x5[0][3]/ 2- (_0x4315x5[1][1]+ _0x4315x5[1][3]/ 2);_0x4315x12= 0;0> _0x4315x15?_0x4315x12= 0> _0x4315x16?2:1:0>= _0x4315x16&& (_0x4315x12= 3,0== _0x4315x15&& (_0x4315x12= 2));_0x4315x16= null;null!= _0x4315x3&& (_0x4315x16= _0x4315x13);_0x4315x3= [[0.5,0.5],[0.5,0.5]];for(_0x4315x15= 0;2> _0x4315x15;_0x4315x15++){null!= _0x4315x16&& (_0x4315x3[_0x4315x15][0]= (_0x4315x16[_0x2895[235]]- _0x4315x5[_0x4315x15][0])/ _0x4315x5[_0x4315x15][2],0.01> _0x4315x3[_0x4315x15][0]?_0x4315x2[_0x4315x15]= mxConstants[_0x2895[436]]:0.99< _0x4315x3[_0x4315x15][0]&& (_0x4315x2[_0x4315x15]= mxConstants[_0x2895[438]]),_0x4315x3[_0x4315x15][1]= (_0x4315x16[_0x2895[236]]- _0x4315x5[_0x4315x15][1])/ _0x4315x5[_0x4315x15][3],0.01> _0x4315x3[_0x4315x15][1]?_0x4315x2[_0x4315x15]= mxConstants[_0x2895[435]]:0.99< _0x4315x3[_0x4315x15][1]&& (_0x4315x2[_0x4315x15]= mxConstants[_0x2895[437]])),_0x4315x16= null,null!= _0x4315x4&& (_0x4315x16= _0x4315x14)};_0x4315x15= _0x4315x5[0][1]- (_0x4315x5[1][1]+ _0x4315x5[1][3]);_0x4315x16= _0x4315x5[0][0]- (_0x4315x5[1][0]+ _0x4315x5[1][2]);_0x4315x17= _0x4315x5[1][1]- (_0x4315x5[0][1]+ _0x4315x5[0][3]);_0x4315x18= _0x4315x5[1][0]- (_0x4315x5[0][0]+ _0x4315x5[0][2]);mxEdgeStyle[_0x2895[2236]][1]= Math[_0x2895[160]](_0x4315x16- 2* _0x4315xa,0);mxEdgeStyle[_0x2895[2236]][2]= Math[_0x2895[160]](_0x4315x15- 2* _0x4315xa,0);mxEdgeStyle[_0x2895[2236]][4]= Math[_0x2895[160]](_0x4315x17- 2* _0x4315xa,0);mxEdgeStyle[_0x2895[2236]][3]= Math[_0x2895[160]](_0x4315x18- 2* _0x4315xa,0);_0x4315x4= [];_0x4315x13= [];_0x4315x14= [];_0x4315x13[0]= _0x4315x16>= _0x4315x18?mxConstants[_0x2895[436]]:mxConstants[_0x2895[438]];_0x4315x14[0]= _0x4315x15>= _0x4315x17?mxConstants[_0x2895[435]]:mxConstants[_0x2895[437]];_0x4315x13[1]= mxUtils[_0x2895[2237]](_0x4315x13[0]);_0x4315x14[1]= mxUtils[_0x2895[2237]](_0x4315x14[0]);_0x4315x16= _0x4315x16>= _0x4315x18?_0x4315x16:_0x4315x18;_0x4315x17= _0x4315x15>= _0x4315x17?_0x4315x15:_0x4315x17;_0x4315x18= [[0,0],[0,0]];_0x4315x19= !1;for(_0x4315x15= 0;2> _0x4315x15;_0x4315x15++){0== _0x4315x2[_0x4315x15]&& (0== (_0x4315x13[_0x4315x15]& _0x4315x1b[_0x4315x15])&& (_0x4315x13[_0x4315x15]= mxUtils[_0x2895[2237]](_0x4315x13[_0x4315x15])),0== (_0x4315x14[_0x4315x15]& _0x4315x1b[_0x4315x15])&& (_0x4315x14[_0x4315x15]= mxUtils[_0x2895[2237]](_0x4315x14[_0x4315x15])),_0x4315x18[_0x4315x15][0]= _0x4315x14[_0x4315x15],_0x4315x18[_0x4315x15][1]= _0x4315x13[_0x4315x15])};_0x4315x17> 2* _0x4315xa&& _0x4315x16> 2* _0x4315xa&& (0< (_0x4315x13[0]& _0x4315x1b[0])&& 0< (_0x4315x14[1]& _0x4315x1b[1])?(_0x4315x18[0][0]= _0x4315x13[0],_0x4315x18[0][1]= _0x4315x14[0],_0x4315x18[1][0]= _0x4315x14[1],_0x4315x18[1][1]= _0x4315x13[1],_0x4315x19= !0):0< (_0x4315x14[0]& _0x4315x1b[0])&& 0< (_0x4315x13[1]& _0x4315x1b[1])&& (_0x4315x18[0][0]= _0x4315x14[0],_0x4315x18[0][1]= _0x4315x13[0],_0x4315x18[1][0]= _0x4315x13[1],_0x4315x18[1][1]= _0x4315x14[1],_0x4315x19= !0));_0x4315x17> 2* _0x4315xa&& !_0x4315x19&& (_0x4315x18[0][0]= _0x4315x14[0],_0x4315x18[0][1]= _0x4315x13[0],_0x4315x18[1][0]= _0x4315x14[1],_0x4315x18[1][1]= _0x4315x13[1],_0x4315x19= !0);_0x4315x16> 2* _0x4315xa&& !_0x4315x19&& (_0x4315x18[0][0]= _0x4315x13[0],_0x4315x18[0][1]= _0x4315x14[0],_0x4315x18[1][0]= _0x4315x13[1],_0x4315x18[1][1]= _0x4315x14[1]);for(_0x4315x15= 0;2> _0x4315x15;_0x4315x15++){if(0== _0x4315x2[_0x4315x15]&& (0== (_0x4315x18[_0x4315x15][0]& _0x4315x1b[_0x4315x15])&& (_0x4315x18[_0x4315x15][0]= _0x4315x18[_0x4315x15][1]),_0x4315x4[_0x4315x15]= _0x4315x18[_0x4315x15][0]& _0x4315x1b[_0x4315x15],_0x4315x4[_0x4315x15]|= (_0x4315x18[_0x4315x15][1]& _0x4315x1b[_0x4315x15])<< 8,_0x4315x4[_0x4315x15]|= (_0x4315x18[1- _0x4315x15][_0x4315x15]& _0x4315x1b[_0x4315x15])<< 16,_0x4315x4[_0x4315x15]|= (_0x4315x18[1- _0x4315x15][1- _0x4315x15]& _0x4315x1b[_0x4315x15])<< 24,0== (_0x4315x4[_0x4315x15]& 15)&& (_0x4315x4[_0x4315x15]<<= 8),0== (_0x4315x4[_0x4315x15]& 3840)&& (_0x4315x4[_0x4315x15]= _0x4315x4[_0x4315x15]& 15| _0x4315x4[_0x4315x15]>> 8),0== (_0x4315x4[_0x4315x15]& 983040)&& (_0x4315x4[_0x4315x15]= _0x4315x4[_0x4315x15]& 65535| (_0x4315x4[_0x4315x15]& 251658240)>> 8),_0x4315x2[_0x4315x15]= _0x4315x4[_0x4315x15]& 15,_0x4315x1b[_0x4315x15]== mxConstants[_0x2895[436]]|| _0x4315x1b[_0x4315x15]== mxConstants[_0x2895[435]]|| _0x4315x1b[_0x4315x15]== mxConstants[_0x2895[438]]|| _0x4315x1b[_0x4315x15]== mxConstants[_0x2895[437]])){_0x4315x2[_0x4315x15]= _0x4315x1b[_0x4315x15]}};_0x4315x15= _0x4315x2[0]== mxConstants[_0x2895[438]]?3:_0x4315x2[0];_0x4315x1b= _0x4315x2[1]== mxConstants[_0x2895[438]]?3:_0x4315x2[1];_0x4315x15-= _0x4315x12;_0x4315x1b-= _0x4315x12;1> _0x4315x15&& (_0x4315x15+= 4);1> _0x4315x1b&& (_0x4315x1b+= 4);_0x4315x1b= mxEdgeStyle[_0x2895[2238]][_0x4315x15- 1][_0x4315x1b- 1];mxEdgeStyle[_0x2895[2239]][0][0]= _0x4315x5[0][0];mxEdgeStyle[_0x2895[2239]][0][1]= _0x4315x5[0][1];switch(_0x4315x2[0]){case mxConstants[_0x2895[436]]:mxEdgeStyle[_0x2895[2239]][0][0]-= _0x4315xa;mxEdgeStyle[_0x2895[2239]][0][1]+= _0x4315x3[0][1]* _0x4315x5[0][3];break;case mxConstants[_0x2895[437]]:mxEdgeStyle[_0x2895[2239]][0][0]+= _0x4315x3[0][0]* _0x4315x5[0][2];mxEdgeStyle[_0x2895[2239]][0][1]+= _0x4315x5[0][3]+ _0x4315xa;break;case mxConstants[_0x2895[438]]:mxEdgeStyle[_0x2895[2239]][0][0]+= _0x4315x5[0][2]+ _0x4315xa;mxEdgeStyle[_0x2895[2239]][0][1]+= _0x4315x3[0][1]* _0x4315x5[0][3];break;case mxConstants[_0x2895[435]]:mxEdgeStyle[_0x2895[2239]][0][0]+= _0x4315x3[0][0]* _0x4315x5[0][2],mxEdgeStyle[_0x2895[2239]][0][1]-= _0x4315xa};_0x4315xa= 0;_0x4315x13= _0x4315x4= 0< (_0x4315x2[0]& (mxConstants[_0x2895[438]]| mxConstants[_0x2895[436]]))?0:1;for(_0x4315x15= _0x4315x14= 0;_0x4315x15< _0x4315x1b[_0x2895[67]];_0x4315x15++){_0x4315x14= _0x4315x1b[_0x4315x15]& 15;_0x4315x1a= _0x4315x14== mxConstants[_0x2895[438]]?3:_0x4315x14;_0x4315x1a+= _0x4315x12;4< _0x4315x1a&& (_0x4315x1a-= 4);_0x4315x16= mxEdgeStyle[_0x2895[2240]][_0x4315x1a- 1];_0x4315x14= 0< _0x4315x1a% 2?0:1;_0x4315x14!= _0x4315x4&& (_0x4315xa++,mxEdgeStyle[_0x2895[2239]][_0x4315xa][0]= mxEdgeStyle[_0x2895[2239]][_0x4315xa- 1][0],mxEdgeStyle[_0x2895[2239]][_0x4315xa][1]= mxEdgeStyle[_0x2895[2239]][_0x4315xa- 1][1]);var _0x4315x1c=0< (_0x4315x1b[_0x4315x15]& mxEdgeStyle[_0x2895[2241]]),_0x4315x19=0< (_0x4315x1b[_0x4315x15]& mxEdgeStyle[_0x2895[2242]]),_0x4315x17=(_0x4315x1b[_0x4315x15]& mxEdgeStyle[_0x2895[2243]])>> 5,_0x4315x17=_0x4315x17<< _0x4315x12;15< _0x4315x17&& (_0x4315x17>>= 4);_0x4315x18= 0< (_0x4315x1b[_0x4315x15]& mxEdgeStyle[_0x2895[2244]]);(_0x4315x19|| _0x4315x1c)&& 9> _0x4315x17?(_0x4315x1a= 0,_0x4315x19= _0x4315x19?0:1,_0x4315x1a= _0x4315x18&& 0== _0x4315x14?_0x4315x5[_0x4315x19][0]+ _0x4315x3[_0x4315x19][0]* _0x4315x5[_0x4315x19][2]:_0x4315x18?_0x4315x5[_0x4315x19][1]+ _0x4315x3[_0x4315x19][1]* _0x4315x5[_0x4315x19][3]:mxEdgeStyle[_0x2895[2235]][_0x4315x19][_0x4315x17],0== _0x4315x14?(_0x4315x17= (_0x4315x1a- mxEdgeStyle[_0x2895[2239]][_0x4315xa][0])* _0x4315x16[0],0< _0x4315x17&& (mxEdgeStyle[_0x2895[2239]][_0x4315xa][0]+= _0x4315x16[0]* _0x4315x17)):(_0x4315x17= (_0x4315x1a- mxEdgeStyle[_0x2895[2239]][_0x4315xa][1])* _0x4315x16[1],0< _0x4315x17&& (mxEdgeStyle[_0x2895[2239]][_0x4315xa][1]+= _0x4315x16[1]* _0x4315x17))):_0x4315x18&& (mxEdgeStyle[_0x2895[2239]][_0x4315xa][0]+= _0x4315x16[0]* Math[_0x2895[425]](mxEdgeStyle[_0x2895[2236]][_0x4315x1a]/ 2),mxEdgeStyle[_0x2895[2239]][_0x4315xa][1]+= _0x4315x16[1]* Math[_0x2895[425]](mxEdgeStyle[_0x2895[2236]][_0x4315x1a]/ 2));0< _0x4315xa&& mxEdgeStyle[_0x2895[2239]][_0x4315xa][_0x4315x14]== mxEdgeStyle[_0x2895[2239]][_0x4315xa- 1][_0x4315x14]?_0x4315xa--:_0x4315x4= _0x4315x14};for(_0x4315x15= 0;_0x4315x15<= _0x4315xa&& !(_0x4315x15== _0x4315xa&& ((0< (_0x4315x2[1]& (mxConstants[_0x2895[438]]| mxConstants[_0x2895[436]]))?0:1)== _0x4315x13?0:1)!= (_0x4315xa+ 1)% 2);_0x4315x15++){_0x4315x9[_0x2895[207]]( new mxPoint(mxEdgeStyle[_0x2895[2239]][_0x4315x15][0],mxEdgeStyle[_0x2895[2239]][_0x4315x15][1]))}}},getRoutePattern:function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x2[0]== mxConstants[_0x2895[438]]?3:_0x4315x2[0];_0x4315x2= _0x4315x2[1]== mxConstants[_0x2895[438]]?3:_0x4315x2[1];_0x4315x9-= _0x4315x3;_0x4315x2-= _0x4315x3;1> _0x4315x9&& (_0x4315x9+= 4);1> _0x4315x2&& (_0x4315x2+= 4);_0x4315x3= routePatterns[_0x4315x9- 1][_0x4315x2- 1];if(0== _0x4315x4|| 0== _0x4315x5){null!= inlineRoutePatterns[_0x4315x9- 1][_0x4315x2- 1]&& (_0x4315x3= inlineRoutePatterns[_0x4315x9- 1][_0x4315x2- 1])};return _0x4315x3}},mxStyleRegistry={values:[],putValue:function(_0x4315x2,_0x4315x3){mxStyleRegistry[_0x2895[2245]][_0x4315x2]= _0x4315x3},getValue:function(_0x4315x2){return mxStyleRegistry[_0x2895[2245]][_0x4315x2]},getName:function(_0x4315x2){for(var _0x4315x3 in mxStyleRegistry[_0x2895[2245]]){if(mxStyleRegistry[_0x2895[2245]][_0x4315x3]== _0x4315x2){return _0x4315x3}};return null}};mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry[_0x2895[2246]](mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry[_0x2895[2246]](mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);mxStyleRegistry[_0x2895[2246]](mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry[_0x2895[2246]](mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry[_0x2895[2246]](mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);function mxGraphView(_0x4315x2){this[_0x2895[1179]]= _0x4315x2;this[_0x2895[513]]= new mxPoint;this[_0x2895[2247]]= new mxRectangle;this[_0x2895[1214]]= new mxDictionary}mxGraphView[_0x2895[202]]= new mxEventSource;mxGraphView[_0x2895[202]][_0x2895[196]]= mxGraphView;mxGraphView[_0x2895[202]][_0x2895[2248]]= new mxPoint;mxGraphView[_0x2895[202]][_0x2895[2091]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[819]:_0x2895[110];mxGraphView[_0x2895[202]][_0x2895[2249]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2250]:_0x2895[110];mxGraphView[_0x2895[202]][_0x2895[2251]]= !1;mxGraphView[_0x2895[202]][_0x2895[2252]]= !0;mxGraphView[_0x2895[202]][_0x2895[2253]]= !0;mxGraphView[_0x2895[202]][_0x2895[2254]]= !0;mxGraphView[_0x2895[202]][_0x2895[1179]]= null;mxGraphView[_0x2895[202]][_0x2895[1741]]= null;mxGraphView[_0x2895[202]][_0x2895[2247]]= null;mxGraphView[_0x2895[202]][_0x2895[255]]= 1;mxGraphView[_0x2895[202]][_0x2895[513]]= null;mxGraphView[_0x2895[202]][_0x2895[2255]]= !1;mxGraphView[_0x2895[202]][_0x2895[517]]= function(){return this[_0x2895[2247]]};mxGraphView[_0x2895[202]][_0x2895[2256]]= function(_0x4315x2){this[_0x2895[2247]]= _0x4315x2};mxGraphView[_0x2895[202]][_0x2895[1799]]= function(_0x4315x2){var _0x4315x3=null;if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){for(var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){if(_0x4315x4[_0x2895[1193]](_0x4315x2[_0x4315x5])|| _0x4315x4[_0x2895[250]](_0x4315x2[_0x4315x5])){var _0x4315x9=this[_0x2895[248]](_0x4315x2[_0x4315x5]);null!= _0x4315x9&& (null== _0x4315x3?_0x4315x3= new mxRectangle(_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]]):_0x4315x3[_0x2895[99]](_0x4315x9))}}};return _0x4315x3};mxGraphView[_0x2895[202]][_0x2895[2257]]= function(_0x4315x2){if(this[_0x2895[1741]]!= _0x4315x2){var _0x4315x3= new mxCurrentRootChange(this,_0x4315x2);_0x4315x3[_0x2895[350]]();var _0x4315x4= new mxUndoableEdit(this,!1);_0x4315x4[_0x2895[99]](_0x4315x3);this[_0x2895[746]]( new mxEventObject(mxEvent.UNDO,_0x2895[1061],_0x4315x4));this[_0x2895[1179]][_0x2895[2258]]()};return _0x4315x2};mxGraphView[_0x2895[202]][_0x2895[829]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[255]],_0x4315x9= new mxPoint(this[_0x2895[513]][_0x2895[235]],this[_0x2895[513]][_0x2895[236]]);if(this[_0x2895[255]]!= _0x4315x2|| this[_0x2895[513]][_0x2895[235]]!= _0x4315x3|| this[_0x2895[513]][_0x2895[236]]!= _0x4315x4){this[_0x2895[255]]= _0x4315x2,this[_0x2895[513]][_0x2895[235]]= _0x4315x3,this[_0x2895[513]][_0x2895[236]]= _0x4315x4,this[_0x2895[503]]()&& (this[_0x2895[2259]](),this[_0x2895[1179]][_0x2895[2258]]())};this[_0x2895[746]]( new mxEventObject(mxEvent.SCALE_AND_TRANSLATE,_0x2895[255],_0x4315x2,_0x2895[2260],_0x4315x5,_0x2895[513],this[_0x2895[513]],_0x2895[2261],_0x4315x9))};mxGraphView[_0x2895[202]][_0x2895[518]]= function(){return this[_0x2895[255]]};mxGraphView[_0x2895[202]][_0x2895[2262]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[255]];this[_0x2895[255]]!= _0x4315x2&& (this[_0x2895[255]]= _0x4315x2,this[_0x2895[503]]()&& (this[_0x2895[2259]](),this[_0x2895[1179]][_0x2895[2258]]()));this[_0x2895[746]]( new mxEventObject(mxEvent.SCALE,_0x2895[255],_0x4315x2,_0x2895[2260],_0x4315x3))};mxGraphView[_0x2895[202]][_0x2895[512]]= function(){return this[_0x2895[513]]};mxGraphView[_0x2895[202]][_0x2895[1147]]= function(_0x4315x2,_0x4315x3){var _0x4315x4= new mxPoint(this[_0x2895[513]][_0x2895[235]],this[_0x2895[513]][_0x2895[236]]);if(this[_0x2895[513]][_0x2895[235]]!= _0x4315x2|| this[_0x2895[513]][_0x2895[236]]!= _0x4315x3){this[_0x2895[513]][_0x2895[235]]= _0x4315x2,this[_0x2895[513]][_0x2895[236]]= _0x4315x3,this[_0x2895[503]]()&& (this[_0x2895[2259]](),this[_0x2895[1179]][_0x2895[2258]]())};this[_0x2895[746]]( new mxEventObject(mxEvent.TRANSLATE,_0x2895[513],this[_0x2895[513]],_0x2895[2261],_0x4315x4))};mxGraphView[_0x2895[202]][_0x2895[802]]= function(){null!= this[_0x2895[1741]]&& this[_0x2895[200]]();this[_0x2895[2259]]()};mxGraphView[_0x2895[202]][_0x2895[2259]]= function(){this[_0x2895[2263]]();this[_0x2895[2264]]()};mxGraphView[_0x2895[202]][_0x2895[200]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[502]]();_0x4315x2= _0x4315x2|| _0x4315x5[_0x2895[501]]();_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;this[_0x2895[2265]](_0x4315x2);if(_0x4315x4&& (_0x4315x3|| _0x4315x2!= this[_0x2895[1741]])){_0x4315x4= _0x4315x5[_0x2895[262]](_0x4315x2);for(var _0x4315x9=0;_0x4315x9< _0x4315x4;_0x4315x9++){this[_0x2895[200]](_0x4315x5[_0x2895[263]](_0x4315x2,_0x4315x9),_0x4315x3)}}else {this[_0x2895[2263]](_0x4315x2)}};mxGraphView[_0x2895[202]][_0x2895[2263]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=this[_0x2895[1179]][_0x2895[502]]();_0x4315x2= _0x4315x2|| _0x4315x9[_0x2895[501]]();_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;_0x4315x5= null!= _0x4315x5?_0x4315x5:!1;var _0x4315xa=this[_0x2895[248]](_0x4315x2);null!= _0x4315xa&& (_0x4315xa[_0x2895[2080]]= !0,_0x4315x5&& (_0x4315xa[_0x2895[2082]]= !0));if(_0x4315x3){for(var _0x4315x12=_0x4315x9[_0x2895[262]](_0x4315x2),_0x4315xa=0;_0x4315xa< _0x4315x12;_0x4315xa++){var _0x4315x13=_0x4315x9[_0x2895[263]](_0x4315x2,_0x4315xa);this[_0x2895[2263]](_0x4315x13,_0x4315x3,_0x4315x4,_0x4315x5)}};if(_0x4315x4){_0x4315x5= _0x4315x9[_0x2895[1707]](_0x4315x2);for(_0x4315xa= 0;_0x4315xa< _0x4315x5;_0x4315xa++){this[_0x2895[2263]](_0x4315x9[_0x2895[1708]](_0x4315x2,_0x4315xa),_0x4315x3,_0x4315x4)}}};mxGraphView[_0x2895[202]][_0x2895[2264]]= function(_0x4315x2){var _0x4315x3=mxLog[_0x2895[2109]](_0x2895[2266]);window[_0x2895[879]]= mxResources[_0x2895[203]](this[_0x2895[2249]])|| this[_0x2895[2249]];var _0x4315x4=null;if(this[_0x2895[2253]]&& null!= this[_0x2895[510]]&& null== this[_0x2895[1653]]&& (8== document[_0x2895[5]]|| mxClient[_0x2895[496]])){_0x4315x4= this[_0x2895[510]][_0x2895[124]][_0x2895[495]];this[_0x2895[510]][_0x2895[124]][_0x2895[495]]= _0x2895[130];var _0x4315x5=document[_0x2895[55]](_0x2895[485]);_0x4315x5[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x5[_0x2895[124]][_0x2895[493]]= _0x2895[494];_0x4315x5[_0x2895[124]][_0x2895[187]]= _0x2895[188];_0x4315x5[_0x2895[124]][_0x2895[495]]= mxClient[_0x2895[496]]?_0x2895[497]:_0x2895[498];_0x4315x5[_0x2895[124]][_0x2895[499]]= _0x2895[500];document[_0x2895[112]][_0x2895[62]](_0x4315x5);this[_0x2895[1653]]= _0x4315x5};_0x4315x2= _0x4315x2|| (null!= this[_0x2895[1741]]?this[_0x2895[1741]]:this[_0x2895[1179]][_0x2895[502]]()[_0x2895[501]]());this[_0x2895[2267]](null,_0x4315x2);_0x4315x2= this[_0x2895[2268]](null,_0x4315x2);null== _0x4315x2&& (_0x4315x2= new mxRectangle);this[_0x2895[2256]](_0x4315x2);this[_0x2895[2269]]();null!= _0x4315x4&& (this[_0x2895[510]][_0x2895[124]][_0x2895[495]]= _0x4315x4,document[_0x2895[112]][_0x2895[266]](this[_0x2895[1653]]),this[_0x2895[1653]]= null);window[_0x2895[879]]= mxResources[_0x2895[203]](this[_0x2895[2091]])|| this[_0x2895[2091]];mxLog[_0x2895[2110]](_0x2895[2266],_0x4315x3)};mxGraphView[_0x2895[202]][_0x2895[2270]]= function(_0x4315x2){return new mxRectangleShape(_0x4315x2,_0x2895[1391],_0x2895[586])};mxGraphView[_0x2895[202]][_0x2895[2269]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[2271]]();if(null!= _0x4315x2){if(null== this[_0x2895[1617]]|| this[_0x2895[1617]][_0x2895[618]]!= _0x4315x2[_0x2895[390]]){null!= this[_0x2895[1617]]&& this[_0x2895[1617]][_0x2895[515]]();var _0x4315x3= new mxRectangle(0,0,1,1);this[_0x2895[1617]]= new mxImageShape(_0x4315x3,_0x4315x2[_0x2895[390]]);this[_0x2895[1617]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]];this[_0x2895[1617]][_0x2895[176]](this[_0x2895[2053]]);this[_0x2895[1617]][_0x2895[258]]()};this[_0x2895[2272]](this[_0x2895[1617]],_0x4315x2)}else {null!= this[_0x2895[1617]]&& (this[_0x2895[1617]][_0x2895[515]](),this[_0x2895[1617]]= null)};this[_0x2895[1179]][_0x2895[2273]]?(_0x4315x3= this[_0x2895[2274]](),null== this[_0x2895[2275]]?(this[_0x2895[2275]]= this[_0x2895[2270]](_0x4315x3),this[_0x2895[2275]][_0x2895[255]]= this[_0x2895[255]],this[_0x2895[2275]][_0x2895[1596]]= !0,this[_0x2895[2275]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]],this[_0x2895[2275]][_0x2895[176]](this[_0x2895[2053]]),this[_0x2895[2275]][_0x2895[258]](),mxEvent[_0x2895[169]](this[_0x2895[2275]][_0x2895[252]],_0x2895[760],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1179]][_0x2895[761]](_0x4315x2)})),mxEvent[_0x2895[759]](this[_0x2895[2275]][_0x2895[252]],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x2))}),mxUtils[_0x2895[885]](this,function(_0x4315x2){null!= this[_0x2895[1179]][_0x2895[2276]]&& this[_0x2895[1179]][_0x2895[2276]][_0x2895[2277]]()&& this[_0x2895[1179]][_0x2895[2276]][_0x2895[801]]();this[_0x2895[1179]][_0x2895[1009]]&& !mxEvent[_0x2895[721]](_0x4315x2)&& this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x2))}),mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x2))}))):(this[_0x2895[2275]][_0x2895[255]]= this[_0x2895[255]],this[_0x2895[2275]][_0x2895[1562]]= _0x4315x3,this[_0x2895[2275]][_0x2895[258]]())):null!= this[_0x2895[2275]]&& (this[_0x2895[2275]][_0x2895[515]](),this[_0x2895[2275]]= null)};mxGraphView[_0x2895[202]][_0x2895[2274]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[2013]],_0x4315x3=this[_0x2895[255]]* this[_0x2895[1179]][_0x2895[2012]];return new mxRectangle(this[_0x2895[255]]* this[_0x2895[513]][_0x2895[235]],this[_0x2895[255]]* this[_0x2895[513]][_0x2895[236]],_0x4315x2[_0x2895[117]]* _0x4315x3,_0x4315x2[_0x2895[119]]* _0x4315x3)};mxGraphView[_0x2895[202]][_0x2895[2272]]= function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[255]]= this[_0x2895[255]];_0x4315x2[_0x2895[1562]][_0x2895[235]]= this[_0x2895[255]]* this[_0x2895[513]][_0x2895[235]];_0x4315x2[_0x2895[1562]][_0x2895[236]]= this[_0x2895[255]]* this[_0x2895[513]][_0x2895[236]];_0x4315x2[_0x2895[1562]][_0x2895[117]]= this[_0x2895[255]]* _0x4315x3[_0x2895[117]];_0x4315x2[_0x2895[1562]][_0x2895[119]]= this[_0x2895[255]]* _0x4315x3[_0x2895[119]];_0x4315x2[_0x2895[258]]()};mxGraphView[_0x2895[202]][_0x2895[2267]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=this[_0x2895[248]](_0x4315x3,!0);if(null!= _0x4315x5&& _0x4315x5[_0x2895[2080]]){if(this[_0x2895[1179]][_0x2895[1714]](_0x4315x3)){if(_0x4315x3!= this[_0x2895[1741]]&& null!= _0x4315x2){_0x4315x5[_0x2895[2079]][_0x2895[235]]= 0;_0x4315x5[_0x2895[2079]][_0x2895[236]]= 0;_0x4315x5[_0x2895[2078]][_0x2895[235]]= _0x4315x2[_0x2895[2078]][_0x2895[235]];_0x4315x5[_0x2895[2078]][_0x2895[236]]= _0x4315x2[_0x2895[2078]][_0x2895[236]];var _0x4315x9=this[_0x2895[1179]][_0x2895[1198]](_0x4315x3);if(null!= _0x4315x9){if(!_0x4315x4[_0x2895[250]](_0x4315x3)){var _0x4315xa=_0x4315x9[_0x2895[1368]]|| this[_0x2895[2248]];_0x4315x9[_0x2895[1500]]?(_0x4315x5[_0x2895[2078]][_0x2895[235]]+= _0x4315x9[_0x2895[235]]* _0x4315x2[_0x2895[117]]/ this[_0x2895[255]]+ _0x4315xa[_0x2895[235]],_0x4315x5[_0x2895[2078]][_0x2895[236]]+= _0x4315x9[_0x2895[236]]* _0x4315x2[_0x2895[119]]/ this[_0x2895[255]]+ _0x4315xa[_0x2895[236]]):(_0x4315x5[_0x2895[2079]][_0x2895[235]]= this[_0x2895[255]]* _0x4315xa[_0x2895[235]],_0x4315x5[_0x2895[2079]][_0x2895[236]]= this[_0x2895[255]]* _0x4315xa[_0x2895[236]],_0x4315x5[_0x2895[2078]][_0x2895[235]]+= _0x4315x9[_0x2895[235]],_0x4315x5[_0x2895[2078]][_0x2895[236]]+= _0x4315x9[_0x2895[236]])};_0x4315x5[_0x2895[235]]= this[_0x2895[255]]* (this[_0x2895[513]][_0x2895[235]]+ _0x4315x5[_0x2895[2078]][_0x2895[235]]);_0x4315x5[_0x2895[236]]= this[_0x2895[255]]* (this[_0x2895[513]][_0x2895[236]]+ _0x4315x5[_0x2895[2078]][_0x2895[236]]);_0x4315x5[_0x2895[117]]= this[_0x2895[255]]* _0x4315x9[_0x2895[117]];_0x4315x5[_0x2895[119]]= this[_0x2895[255]]* _0x4315x9[_0x2895[119]];if(_0x4315x4[_0x2895[1193]](_0x4315x3)){if(_0x4315x9[_0x2895[1500]]&& (_0x4315xa= mxUtils[_0x2895[431]](_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]),0!= _0x4315xa)){var _0x4315x9=Math[_0x2895[426]](_0x4315xa),_0x4315xa=Math[_0x2895[427]](_0x4315xa),_0x4315x12= new mxPoint(_0x4315x5[_0x2895[241]](),_0x4315x5[_0x2895[242]]()),_0x4315x13= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]()),_0x4315x9=mxUtils[_0x2895[432]](_0x4315x12,_0x4315x9,_0x4315xa,_0x4315x13);_0x4315x5[_0x2895[235]]= _0x4315x9[_0x2895[235]]- _0x4315x5[_0x2895[117]]/ 2;_0x4315x5[_0x2895[236]]= _0x4315x9[_0x2895[236]]- _0x4315x5[_0x2895[119]]/ 2};this[_0x2895[2279]](_0x4315x5)}}}}else {this[_0x2895[2265]](_0x4315x3)};_0x4315xa= this[_0x2895[1179]][_0x2895[2280]](_0x4315x3);null!= _0x4315xa&& (_0x4315x5[_0x2895[2078]][_0x2895[235]]+= _0x4315xa[_0x2895[235]],_0x4315x5[_0x2895[2078]][_0x2895[236]]+= _0x4315xa[_0x2895[236]])};if(null!= _0x4315x5&& (!this[_0x2895[1179]][_0x2895[1742]](_0x4315x3)|| _0x4315x3== this[_0x2895[1741]])){_0x4315x9= _0x4315x4[_0x2895[262]](_0x4315x3);for(_0x4315xa= 0;_0x4315xa< _0x4315x9;_0x4315xa++){_0x4315x12= _0x4315x4[_0x2895[263]](_0x4315x3,_0x4315xa),this[_0x2895[2267]](_0x4315x5,_0x4315x12)}}};mxGraphView[_0x2895[202]][_0x2895[2279]]= function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);_0x4315x3== mxConstants[_0x2895[2132]]?_0x4315x2[_0x2895[2079]][_0x2895[235]]-= _0x4315x2[_0x2895[117]]:_0x4315x3== mxConstants[_0x2895[480]]&& (_0x4315x2[_0x2895[2079]][_0x2895[235]]+= _0x4315x2[_0x2895[117]]);_0x4315x3= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);_0x4315x3== mxConstants[_0x2895[1687]]?_0x4315x2[_0x2895[2079]][_0x2895[236]]-= _0x4315x2[_0x2895[119]]:_0x4315x3== mxConstants[_0x2895[482]]&& (_0x4315x2[_0x2895[2079]][_0x2895[236]]+= _0x4315x2[_0x2895[119]])};mxGraphView[_0x2895[202]][_0x2895[2268]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=this[_0x2895[248]](_0x4315x3),_0x4315x9=null;if(null!= _0x4315x5){if(_0x4315x5[_0x2895[2080]]){var _0x4315xa=this[_0x2895[1179]][_0x2895[1198]](_0x4315x3);if(null!= _0x4315xa&& _0x4315x4[_0x2895[250]](_0x4315x3)){var _0x4315x12=this[_0x2895[248]](this[_0x2895[1710]](_0x4315x3,!0));_0x4315x5[_0x2895[2090]](_0x4315x12,!0);if(null!= _0x4315x12&& _0x4315x4[_0x2895[250]](_0x4315x12[_0x2895[246]])&& !_0x4315x4[_0x2895[1720]](_0x4315x12[_0x2895[246]],_0x4315x3)){var _0x4315x13=this[_0x2895[248]](_0x4315x4[_0x2895[1197]](_0x4315x12[_0x2895[246]]));this[_0x2895[2268]](_0x4315x13,_0x4315x12[_0x2895[246]])};var _0x4315x14=this[_0x2895[248]](this[_0x2895[1710]](_0x4315x3,!1));_0x4315x5[_0x2895[2090]](_0x4315x14,!1);null!= _0x4315x14&& (_0x4315x4[_0x2895[250]](_0x4315x14[_0x2895[246]])&& !_0x4315x4[_0x2895[1720]](_0x4315x14[_0x2895[246]],_0x4315x3))&& (_0x4315x13= this[_0x2895[248]](_0x4315x4[_0x2895[1197]](_0x4315x14[_0x2895[246]])),this[_0x2895[2268]](_0x4315x13,_0x4315x14[_0x2895[246]]));this[_0x2895[2281]](_0x4315x5,_0x4315x12,_0x4315x14);this[_0x2895[2282]](_0x4315x5,_0x4315xa[_0x2895[1525]],_0x4315x12,_0x4315x14);this[_0x2895[2283]](_0x4315x5,_0x4315x12,_0x4315x14);this[_0x2895[2284]](_0x4315x5);this[_0x2895[2285]](_0x4315x5)}else {null!= _0x4315xa&& (_0x4315xa[_0x2895[1500]]&& null!= _0x4315x2&& _0x4315x4[_0x2895[250]](_0x4315x2[_0x2895[246]]))&& (_0x4315xa= this[_0x2895[245]](_0x4315x2,_0x4315xa),null!= _0x4315xa&& (_0x4315x5[_0x2895[235]]= _0x4315xa[_0x2895[235]],_0x4315x5[_0x2895[236]]= _0x4315xa[_0x2895[236]],_0x4315xa[_0x2895[235]]= _0x4315xa[_0x2895[235]]/ this[_0x2895[255]]- this[_0x2895[513]][_0x2895[235]],_0x4315xa[_0x2895[236]]= _0x4315xa[_0x2895[236]]/ this[_0x2895[255]]- this[_0x2895[513]][_0x2895[236]],_0x4315x5[_0x2895[2078]]= _0x4315xa,this[_0x2895[2286]](_0x4315x2,_0x4315x5)))};_0x4315x5[_0x2895[2080]]= !1;_0x4315x3!= this[_0x2895[1741]]&& this[_0x2895[1179]][_0x2895[259]][_0x2895[258]](_0x4315x5,!1,this[_0x2895[2287]]())};if(_0x4315x4[_0x2895[250]](_0x4315x3)|| _0x4315x4[_0x2895[1193]](_0x4315x3)){null!= _0x4315x5[_0x2895[253]]&& null!= _0x4315x5[_0x2895[253]][_0x2895[1563]]&& (_0x4315x9= _0x4315x5[_0x2895[253]][_0x2895[1563]][_0x2895[238]]()),null!= _0x4315x5[_0x2895[963]]&& !this[_0x2895[1179]][_0x2895[2130]](_0x4315x5[_0x2895[246]])&& null!= _0x4315x5[_0x2895[963]][_0x2895[1563]]&& (null!= _0x4315x9?_0x4315x9[_0x2895[99]](_0x4315x5[_0x2895[963]][_0x2895[1563]]):_0x4315x9= _0x4315x5[_0x2895[963]][_0x2895[1563]][_0x2895[238]]())}};if(null!= _0x4315x5&& (!this[_0x2895[1179]][_0x2895[1742]](_0x4315x3)|| _0x4315x3== this[_0x2895[1741]])){_0x4315xa= _0x4315x4[_0x2895[262]](_0x4315x3);for(_0x4315x12= 0;_0x4315x12< _0x4315xa;_0x4315x12++){_0x4315x13= _0x4315x4[_0x2895[263]](_0x4315x3,_0x4315x12),_0x4315x13= this[_0x2895[2268]](_0x4315x5,_0x4315x13),null!= _0x4315x13&& (null== _0x4315x9?_0x4315x9= _0x4315x13:_0x4315x9[_0x2895[99]](_0x4315x13))}};return _0x4315x9};mxGraphView[_0x2895[202]][_0x2895[2286]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x3[_0x2895[246]];if(!this[_0x2895[1179]][_0x2895[1742]](_0x4315x4)|| _0x4315x4== this[_0x2895[1741]]){for(var _0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[262]](_0x4315x4),_0x4315xa=0;_0x4315xa< _0x4315x9;_0x4315xa++){this[_0x2895[2267]](_0x4315x3,_0x4315x5[_0x2895[263]](_0x4315x4,_0x4315xa))}}};mxGraphView[_0x2895[202]][_0x2895[2281]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[2289]](_0x4315x2,_0x4315x3,!0,this[_0x2895[1179]][_0x2895[2288]](_0x4315x2,_0x4315x3,!0));this[_0x2895[2289]](_0x4315x2,_0x4315x4,!1,this[_0x2895[1179]][_0x2895[2288]](_0x4315x2,_0x4315x4,!1))};mxGraphView[_0x2895[202]][_0x2895[2289]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=null;null!= _0x4315x5&& (_0x4315x9= this[_0x2895[1179]][_0x2895[2290]](_0x4315x3,_0x4315x5));if(null== _0x4315x9&& null== _0x4315x3){_0x4315x3= this[_0x2895[255]];_0x4315x5= this[_0x2895[513]];var _0x4315xa=_0x4315x2[_0x2895[2078]],_0x4315x9=this[_0x2895[1179]][_0x2895[1198]](_0x4315x2[_0x2895[246]])[_0x2895[2006]](_0x4315x4);null!= _0x4315x9&& (_0x4315x9= new mxPoint(_0x4315x3* (_0x4315x5[_0x2895[235]]+ _0x4315x9[_0x2895[235]]+ _0x4315xa[_0x2895[235]]),_0x4315x3* (_0x4315x5[_0x2895[236]]+ _0x4315x9[_0x2895[236]]+ _0x4315xa[_0x2895[236]])))};_0x4315x2[_0x2895[2088]](_0x4315x9,_0x4315x4)};mxGraphView[_0x2895[202]][_0x2895[2282]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x2){var _0x4315x9=[];_0x4315x9[_0x2895[207]](_0x4315x2[_0x2895[439]][0]);var _0x4315xa=this[_0x2895[2291]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5);if(null!= _0x4315xa){_0x4315x4= this[_0x2895[2292]](_0x4315x2,_0x4315x4,!0),_0x4315x5= this[_0x2895[2292]](_0x4315x2,_0x4315x5,!1),_0x4315xa(_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x3,_0x4315x9)}else {if(null!= _0x4315x3){for(_0x4315xa= 0;_0x4315xa< _0x4315x3[_0x2895[67]];_0x4315xa++){null!= _0x4315x3[_0x4315xa]&& (_0x4315x5= mxUtils[_0x2895[238]](_0x4315x3[_0x4315xa]),_0x4315x9[_0x2895[207]](this[_0x2895[2229]](_0x4315x2,_0x4315x5)))}}};_0x4315x3= _0x4315x2[_0x2895[439]];_0x4315x9[_0x2895[207]](_0x4315x3[_0x4315x3[_0x2895[67]]- 1]);_0x4315x2[_0x2895[439]]= _0x4315x9}};mxGraphView[_0x2895[202]][_0x2895[2229]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[2078]];return new mxPoint(this[_0x2895[255]]* (_0x4315x3[_0x2895[235]]+ this[_0x2895[513]][_0x2895[235]]+ _0x4315x4[_0x2895[235]]),this[_0x2895[255]]* (_0x4315x3[_0x2895[236]]+ this[_0x2895[513]][_0x2895[236]]+ _0x4315x4[_0x2895[236]]))};mxGraphView[_0x2895[202]][_0x2895[2291]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x2= null!= _0x4315x4&& _0x4315x4== _0x4315x5?mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_LOOP,this[_0x2895[1179]][_0x2895[2293]]):!mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_NOEDGESTYLE,!1)?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2294]]]:null;_0x2895[1516]== typeof _0x4315x2&& (_0x4315x3= mxStyleRegistry[_0x2895[433]](_0x4315x2),null== _0x4315x3&& this[_0x2895[2295]]()&& (_0x4315x3= mxUtils[_0x2895[1545]](_0x4315x2)),_0x4315x2= _0x4315x3);return _0x2895[279]== typeof _0x4315x2?_0x4315x2:null};mxGraphView[_0x2895[202]][_0x2895[2283]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[439]],_0x4315x9=_0x4315x5[0];null== _0x4315x5[_0x4315x5[_0x2895[67]]- 1]&& null!= _0x4315x4&& this[_0x2895[2296]](_0x4315x2,_0x4315x4,_0x4315x3,!1);null== _0x4315x9&& null!= _0x4315x3&& this[_0x2895[2296]](_0x4315x2,_0x4315x3,_0x4315x4,!0)};mxGraphView[_0x2895[202]][_0x2895[2296]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= this[_0x2895[2292]](_0x4315x2,_0x4315x3,_0x4315x5);var _0x4315x9=this[_0x2895[2297]](_0x4315x2,_0x4315x4,_0x4315x5),_0x4315xa=this[_0x2895[1179]][_0x2895[2298]](_0x4315x2);_0x4315x4= mxUtils[_0x2895[431]](Number(_0x4315x3[_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]));var _0x4315x12= new mxPoint(_0x4315x3[_0x2895[241]](),_0x4315x3[_0x2895[242]]());if(0!= _0x4315x4){var _0x4315x13=Math[_0x2895[426]](-_0x4315x4),_0x4315x14=Math[_0x2895[427]](-_0x4315x4),_0x4315x9=mxUtils[_0x2895[432]](_0x4315x9,_0x4315x13,_0x4315x14,_0x4315x12)};_0x4315x13= parseFloat(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2299]]]|| 0);_0x4315x13+= parseFloat(_0x4315x2[_0x2895[124]][_0x4315x5?mxConstants[_0x2895[2300]]:mxConstants[_0x2895[2301]]]|| 0);_0x4315x3= this[_0x2895[2302]](_0x4315x3,_0x4315x9,0== _0x4315x4&& _0x4315xa,_0x4315x13);0!= _0x4315x4&& (_0x4315x13= Math[_0x2895[426]](_0x4315x4),_0x4315x14= Math[_0x2895[427]](_0x4315x4),_0x4315x3= mxUtils[_0x2895[432]](_0x4315x3,_0x4315x13,_0x4315x14,_0x4315x12));_0x4315x2[_0x2895[2088]](_0x4315x3,_0x4315x5)};mxGraphView[_0x2895[202]][_0x2895[2292]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],_0x4315x4?mxConstants[_0x2895[2303]]:mxConstants[_0x2895[2304]]);null!= _0x4315x2&& (_0x4315x2= this[_0x2895[248]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[736]](_0x4315x2)),null!= _0x4315x2&& (_0x4315x3= _0x4315x2));return _0x4315x3};mxGraphView[_0x2895[202]][_0x2895[2302]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=null;if(null!= _0x4315x2){var _0x4315xa=this[_0x2895[2305]](_0x4315x2);if(null!= _0x4315xa&& null!= _0x4315x3&& (_0x4315x5= this[_0x2895[2087]](_0x4315x2,_0x4315x5),0< _0x4315x5[_0x2895[117]]|| 0< _0x4315x5[_0x2895[119]])){_0x4315x9= _0x4315xa(_0x4315x5,_0x4315x2,_0x4315x3,_0x4315x4)};null== _0x4315x9&& (_0x4315x9= this[_0x2895[245]](_0x4315x2))};return _0x4315x9};mxGraphView[_0x2895[202]][_0x2895[2230]]= function(_0x4315x2){var _0x4315x3=null!= _0x4315x2[_0x2895[124]]?parseFloat(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2306]]])|| 0:0;return _0x4315x2[_0x2895[241]]()+ _0x4315x3* _0x4315x2[_0x2895[117]]};mxGraphView[_0x2895[202]][_0x2895[2228]]= function(_0x4315x2){var _0x4315x3=null!= _0x4315x2[_0x2895[124]]?parseFloat(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2307]]])|| 0:0;return _0x4315x2[_0x2895[242]]()+ _0x4315x3* _0x4315x2[_0x2895[119]]};mxGraphView[_0x2895[202]][_0x2895[2087]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:0;null!= _0x4315x2&& (_0x4315x3+= parseFloat(_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2299]]]|| 0));return _0x4315x2[_0x2895[2087]](_0x4315x3* this[_0x2895[255]])};mxGraphView[_0x2895[202]][_0x2895[2305]]= function(_0x4315x2){_0x4315x2= _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2061]]];if(_0x2895[1516]== typeof _0x4315x2){var _0x4315x3=mxStyleRegistry[_0x2895[433]](_0x4315x2);null== _0x4315x3&& this[_0x2895[2295]]()&& (_0x4315x3= mxUtils[_0x2895[1545]](_0x4315x2));_0x4315x2= _0x4315x3};return _0x2895[279]== typeof _0x4315x2?_0x4315x2:null};mxGraphView[_0x2895[202]][_0x2895[2297]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= _0x4315x2[_0x2895[439]];var _0x4315x5=null;if(null!= _0x4315x2&& (_0x4315x4|| 2< _0x4315x2[_0x2895[67]]|| null== _0x4315x3)){_0x4315x5= _0x4315x2[_0x2895[67]],_0x4315x5= _0x4315x2[_0x4315x4?Math[_0x2895[243]](1,_0x4315x5- 1):Math[_0x2895[160]](0,_0x4315x5- 2)]};null== _0x4315x5&& null!= _0x4315x3&& (_0x4315x5= new mxPoint(_0x4315x3[_0x2895[241]](),_0x4315x3[_0x2895[242]]()));return _0x4315x5};mxGraphView[_0x2895[202]][_0x2895[1710]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x4[_0x2895[1709]](_0x4315x2,_0x4315x3),_0x4315x9=_0x4315x5;null!= _0x4315x5&& _0x4315x5!= this[_0x2895[1741]];){if(!this[_0x2895[1179]][_0x2895[1714]](_0x4315x9)|| this[_0x2895[1179]][_0x2895[1742]](_0x4315x5)){_0x4315x9= _0x4315x5};_0x4315x5= _0x4315x4[_0x2895[1197]](_0x4315x5)};_0x4315x4[_0x2895[1197]](_0x4315x9)== _0x4315x4[_0x2895[501]]()&& (_0x4315x9= null);return _0x4315x9};mxGraphView[_0x2895[202]][_0x2895[2284]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[439]];_0x4315x2[_0x2895[67]]= 0;if(null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]){var _0x4315x4=_0x4315x3[0],_0x4315x5=_0x4315x3[_0x4315x3[_0x2895[67]]- 1];if(null== _0x4315x4|| null== _0x4315x5){_0x4315x2[_0x2895[246]]!= this[_0x2895[1741]]&& this[_0x2895[200]](_0x4315x2[_0x2895[246]],!0)}else {if(_0x4315x4[_0x2895[235]]!= _0x4315x5[_0x2895[235]]|| _0x4315x4[_0x2895[236]]!= _0x4315x5[_0x2895[236]]){var _0x4315x9=_0x4315x5[_0x2895[235]]- _0x4315x4[_0x2895[235]],_0x4315xa=_0x4315x5[_0x2895[236]]- _0x4315x4[_0x2895[236]];_0x4315x2[_0x2895[2085]]= Math[_0x2895[428]](_0x4315x9* _0x4315x9+ _0x4315xa* _0x4315xa)}else {_0x4315x2[_0x2895[2085]]= 0};var _0x4315x5=0,_0x4315x12=[],_0x4315xa=_0x4315x4;if(null!= _0x4315xa){for(var _0x4315x4=_0x4315xa[_0x2895[235]],_0x4315x13=_0x4315xa[_0x2895[236]],_0x4315x14=_0x4315x4,_0x4315x15=_0x4315x13,_0x4315x16=1;_0x4315x16< _0x4315x3[_0x2895[67]];_0x4315x16++){var _0x4315x17=_0x4315x3[_0x4315x16];null!= _0x4315x17&& (_0x4315x9= _0x4315xa[_0x2895[235]]- _0x4315x17[_0x2895[235]],_0x4315xa= _0x4315xa[_0x2895[236]]- _0x4315x17[_0x2895[236]],_0x4315x9= Math[_0x2895[428]](_0x4315x9* _0x4315x9+ _0x4315xa* _0x4315xa),_0x4315x12[_0x2895[207]](_0x4315x9),_0x4315x5+= _0x4315x9,_0x4315xa= _0x4315x17,_0x4315x4= Math[_0x2895[243]](_0x4315xa[_0x2895[235]],_0x4315x4),_0x4315x13= Math[_0x2895[243]](_0x4315xa[_0x2895[236]],_0x4315x13),_0x4315x14= Math[_0x2895[160]](_0x4315xa[_0x2895[235]],_0x4315x14),_0x4315x15= Math[_0x2895[160]](_0x4315xa[_0x2895[236]],_0x4315x15))};_0x4315x2[_0x2895[67]]= _0x4315x5;_0x4315x2[_0x2895[2086]]= _0x4315x12;_0x4315x2[_0x2895[235]]= _0x4315x4;_0x4315x2[_0x2895[236]]= _0x4315x13;_0x4315x2[_0x2895[117]]= Math[_0x2895[160]](1,_0x4315x14- _0x4315x4);_0x4315x2[_0x2895[119]]= Math[_0x2895[160]](1,_0x4315x15- _0x4315x13)}}}};mxGraphView[_0x2895[202]][_0x2895[245]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[241]](),_0x4315x5=_0x4315x2[_0x2895[242]]();if(null!= _0x4315x2[_0x2895[2086]]&& (null== _0x4315x3|| _0x4315x3[_0x2895[1500]])){for(var _0x4315x9=_0x4315x2[_0x2895[439]][_0x2895[67]],_0x4315xa=((null!= _0x4315x3?_0x4315x3[_0x2895[235]]/ 2:0)+ 0.5)* _0x4315x2[_0x2895[67]],_0x4315x12=_0x4315x2[_0x2895[2086]][0],_0x4315x13=0,_0x4315x14=1;_0x4315xa> _0x4315x13+ _0x4315x12&& _0x4315x14< _0x4315x9- 1;){_0x4315x13+= _0x4315x12,_0x4315x12= _0x4315x2[_0x2895[2086]][_0x4315x14++]};_0x4315x9= 0== _0x4315x12?0:(_0x4315xa- _0x4315x13)/ _0x4315x12;_0x4315xa= _0x4315x2[_0x2895[439]][_0x4315x14- 1];_0x4315x14= _0x4315x2[_0x2895[439]][_0x4315x14];if(null!= _0x4315xa&& null!= _0x4315x14){_0x4315x13= _0x4315x4= _0x4315x5= 0;if(null!= _0x4315x3){var _0x4315x5=_0x4315x3[_0x2895[236]],_0x4315x15=_0x4315x3[_0x2895[1368]];null!= _0x4315x15&& (_0x4315x4= _0x4315x15[_0x2895[235]],_0x4315x13= _0x4315x15[_0x2895[236]])};_0x4315x15= _0x4315x14[_0x2895[235]]- _0x4315xa[_0x2895[235]];_0x4315x14= _0x4315x14[_0x2895[236]]- _0x4315xa[_0x2895[236]];_0x4315x4= _0x4315xa[_0x2895[235]]+ _0x4315x15* _0x4315x9+ ((0== _0x4315x12?0:_0x4315x14/ _0x4315x12)* _0x4315x5+ _0x4315x4)* this[_0x2895[255]];_0x4315x5= _0x4315xa[_0x2895[236]]+ _0x4315x14* _0x4315x9- ((0== _0x4315x12?0:_0x4315x15/ _0x4315x12)* _0x4315x5- _0x4315x13)* this[_0x2895[255]]}}else {null!= _0x4315x3&& (_0x4315x15= _0x4315x3[_0x2895[1368]],null!= _0x4315x15&& (_0x4315x4+= _0x4315x15[_0x2895[235]],_0x4315x5+= _0x4315x15[_0x2895[236]]))};return new mxPoint(_0x4315x4,_0x4315x5)};mxGraphView[_0x2895[202]][_0x2895[2308]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1721]](_0x4315x2[_0x2895[246]]);if(null!= _0x4315x5){var _0x4315x9=_0x4315x2[_0x2895[439]][_0x2895[67]];if(_0x4315x5[_0x2895[1500]]&& 1< _0x4315x9){for(var _0x4315x5=_0x4315x2[_0x2895[67]],_0x4315xa=_0x4315x2[_0x2895[2086]],_0x4315x12=_0x4315x2[_0x2895[439]][0],_0x4315x13=_0x4315x2[_0x2895[439]][1],_0x4315x14=mxUtils[_0x2895[440]](_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],_0x4315x3,_0x4315x4),_0x4315x15=0,_0x4315x16=0,_0x4315x17=0,_0x4315x18=2;_0x4315x18< _0x4315x9;_0x4315x18++){_0x4315x16+= _0x4315xa[_0x4315x18- 2],_0x4315x13= _0x4315x2[_0x2895[439]][_0x4315x18],_0x4315x12= mxUtils[_0x2895[440]](_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],_0x4315x3,_0x4315x4),_0x4315x12<= _0x4315x14&& (_0x4315x14= _0x4315x12,_0x4315x15= _0x4315x18- 1,_0x4315x17= _0x4315x16),_0x4315x12= _0x4315x13};_0x4315x9= _0x4315xa[_0x4315x15];_0x4315x12= _0x4315x2[_0x2895[439]][_0x4315x15];_0x4315x13= _0x4315x2[_0x2895[439]][_0x4315x15+ 1];_0x4315x14= _0x4315x13[_0x2895[235]];_0x4315xa= _0x4315x13[_0x2895[236]];_0x4315x2= _0x4315x12[_0x2895[235]]- _0x4315x14;_0x4315x15= _0x4315x12[_0x2895[236]]- _0x4315xa;_0x4315x14= _0x4315x3- _0x4315x14;_0x4315xa= _0x4315x4- _0x4315xa;_0x4315x14= _0x4315x2- _0x4315x14;_0x4315xa= _0x4315x15- _0x4315xa;_0x4315xa= _0x4315x14* _0x4315x2+ _0x4315xa* _0x4315x15;_0x4315x2= Math[_0x2895[428]](0>= _0x4315xa?0:_0x4315xa* _0x4315xa/ (_0x4315x2* _0x4315x2+ _0x4315x15* _0x4315x15));_0x4315x2> _0x4315x9&& (_0x4315x2= _0x4315x9);_0x4315x9= Math[_0x2895[428]](mxUtils[_0x2895[440]](_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],_0x4315x3,_0x4315x4));-1== mxUtils[_0x2895[2309]](_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],_0x4315x13[_0x2895[235]],_0x4315x13[_0x2895[236]],_0x4315x3,_0x4315x4)&& (_0x4315x9= -_0x4315x9);return new mxPoint(-2* ((_0x4315x5/ 2- _0x4315x17- _0x4315x2)/ _0x4315x5),_0x4315x9/ this[_0x2895[255]])}};return new mxPoint};mxGraphView[_0x2895[202]][_0x2895[2285]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[439]];_0x4315x2[_0x2895[2079]][_0x2895[235]]= _0x4315x2[_0x2895[241]]();_0x4315x2[_0x2895[2079]][_0x2895[236]]= _0x4315x2[_0x2895[242]]();if(null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]&& null!= _0x4315x2[_0x2895[2086]]){var _0x4315x4=this[_0x2895[1179]][_0x2895[1198]](_0x4315x2[_0x2895[246]]);if(_0x4315x4[_0x2895[1500]]){var _0x4315x5=this[_0x2895[245]](_0x4315x2,_0x4315x4);null!= _0x4315x5&& (_0x4315x2[_0x2895[2079]]= _0x4315x5)}else {var _0x4315x5=_0x4315x3[0],_0x4315x9=_0x4315x3[_0x4315x3[_0x2895[67]]- 1];if(null!= _0x4315x5&& null!= _0x4315x9){var _0x4315x3=_0x4315x9[_0x2895[235]]- _0x4315x5[_0x2895[235]],_0x4315xa=_0x4315x9[_0x2895[236]]- _0x4315x5[_0x2895[236]],_0x4315x12=_0x4315x9= 0,_0x4315x4=_0x4315x4[_0x2895[1368]];null!= _0x4315x4&& (_0x4315x9= _0x4315x4[_0x2895[235]],_0x4315x12= _0x4315x4[_0x2895[236]]);_0x4315x4= _0x4315x5[_0x2895[236]]+ _0x4315xa/ 2+ _0x4315x12* this[_0x2895[255]];_0x4315x2[_0x2895[2079]][_0x2895[235]]= _0x4315x5[_0x2895[235]]+ _0x4315x3/ 2+ _0x4315x9* this[_0x2895[255]];_0x4315x2[_0x2895[2079]][_0x2895[236]]= _0x4315x4}}}};mxGraphView[_0x2895[202]][_0x2895[248]]= function(_0x4315x2,_0x4315x3){_0x4315x3= _0x4315x3|| !1;var _0x4315x4=null;null!= _0x4315x2&& (_0x4315x4= this[_0x2895[1214]][_0x2895[203]](_0x4315x2),this[_0x2895[1179]][_0x2895[1714]](_0x4315x2)&& (null== _0x4315x4&& _0x4315x3&& this[_0x2895[1179]][_0x2895[1714]](_0x4315x2)?(_0x4315x4= this[_0x2895[1230]](_0x4315x2),this[_0x2895[1214]][_0x2895[204]](_0x4315x2,_0x4315x4)):_0x4315x3&& (null!= _0x4315x4&& this[_0x2895[2255]])&& (_0x4315x4[_0x2895[124]]= this[_0x2895[1179]][_0x2895[1705]](_0x4315x2))));return _0x4315x4};mxGraphView[_0x2895[202]][_0x2895[2287]]= function(){return this[_0x2895[2254]]};mxGraphView[_0x2895[202]][_0x2895[2310]]= function(_0x4315x2){this[_0x2895[2254]]= _0x4315x2};mxGraphView[_0x2895[202]][_0x2895[2295]]= function(){return this[_0x2895[2251]]};mxGraphView[_0x2895[202]][_0x2895[2311]]= function(_0x4315x2){this[_0x2895[2251]]= _0x4315x2};mxGraphView[_0x2895[202]][_0x2895[2312]]= function(){return this[_0x2895[1214]]};mxGraphView[_0x2895[202]][_0x2895[1517]]= function(_0x4315x2){this[_0x2895[1214]]= _0x4315x2};mxGraphView[_0x2895[202]][_0x2895[2313]]= function(_0x4315x2){if(null== _0x4315x2){return this[_0x2895[1214]]};for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x5=this[_0x2895[248]](_0x4315x2[_0x4315x4]);null!= _0x4315x5&& _0x4315x3[_0x2895[207]](_0x4315x5)};return _0x4315x3};mxGraphView[_0x2895[202]][_0x2895[2265]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2&& (_0x4315x3= this[_0x2895[1214]][_0x2895[205]](_0x4315x2),null!= _0x4315x3&& (this[_0x2895[1179]][_0x2895[259]][_0x2895[515]](_0x4315x3),_0x4315x3[_0x2895[515]]()));return _0x4315x3};mxGraphView[_0x2895[202]][_0x2895[1230]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[1705]](_0x4315x2);_0x4315x2= new mxCellState(this,_0x4315x2,_0x4315x3);this[_0x2895[1179]][_0x2895[259]][_0x2895[2155]](_0x4315x2,this[_0x2895[2287]]());return _0x4315x2};mxGraphView[_0x2895[202]][_0x2895[2051]]= function(){return this[_0x2895[510]]};mxGraphView[_0x2895[202]][_0x2895[2052]]= function(){return this[_0x2895[2053]]};mxGraphView[_0x2895[202]][_0x2895[2024]]= function(){return this[_0x2895[505]]};mxGraphView[_0x2895[202]][_0x2895[1524]]= function(){return this[_0x2895[506]]};mxGraphView[_0x2895[202]][_0x2895[2314]]= function(_0x4315x2){_0x4315x2= mxEvent[_0x2895[728]](_0x4315x2);return _0x4315x2== this[_0x2895[1179]][_0x2895[526]]|| _0x4315x2[_0x2895[265]]== this[_0x2895[2053]]|| null!= _0x4315x2[_0x2895[265]]&& _0x4315x2[_0x2895[265]][_0x2895[265]]== this[_0x2895[2053]]|| _0x4315x2== this[_0x2895[510]][_0x2895[265]]|| _0x4315x2== this[_0x2895[510]]|| _0x4315x2== this[_0x2895[2053]]|| _0x4315x2== this[_0x2895[505]]|| _0x4315x2== this[_0x2895[506]]};mxGraphView[_0x2895[202]][_0x2895[2315]]= function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[445]](this[_0x2895[1179]][_0x2895[526]]);_0x4315x2= new mxPoint(_0x4315x2[_0x2895[782]]- _0x4315x3[_0x2895[235]],_0x4315x2[_0x2895[784]]- _0x4315x3[_0x2895[236]]);var _0x4315x3=this[_0x2895[1179]][_0x2895[526]][_0x2895[359]],_0x4315x4=this[_0x2895[1179]][_0x2895[526]][_0x2895[159]];if(_0x4315x3> _0x4315x4&& _0x4315x2[_0x2895[235]]> _0x4315x4+ 2&& _0x4315x2[_0x2895[235]]<= _0x4315x3){return !0};_0x4315x3= this[_0x2895[1179]][_0x2895[526]][_0x2895[167]];_0x4315x4= this[_0x2895[1179]][_0x2895[526]][_0x2895[157]];return _0x4315x3> _0x4315x4&& _0x4315x2[_0x2895[236]]> _0x4315x4+ 2&& _0x4315x2[_0x2895[236]]<= _0x4315x3?!0:!1};mxGraphView[_0x2895[202]][_0x2895[176]]= function(){this[_0x2895[2163]]();var _0x4315x2=this[_0x2895[1179]];_0x4315x2[_0x2895[507]]== mxConstants[_0x2895[508]]?this[_0x2895[1569]]():_0x4315x2[_0x2895[507]]== mxConstants[_0x2895[1523]]?this[_0x2895[1571]]():this[_0x2895[1570]]()};mxGraphView[_0x2895[202]][_0x2895[2163]]= function(){var _0x4315x2=this[_0x2895[1179]],_0x4315x3=_0x4315x2[_0x2895[526]];if(null!= _0x4315x3){mxEvent[_0x2895[759]](_0x4315x3,mxUtils[_0x2895[885]](this,function(_0x4315x3){mxClient[_0x2895[754]]&& _0x4315x2[_0x2895[2203]]()&& _0x4315x2[_0x2895[2126]](!_0x4315x2[_0x2895[2134]]());this[_0x2895[2314]](_0x4315x3)&& (!mxClient[_0x2895[80]]&& !mxClient[_0x2895[76]]&& !mxClient[_0x2895[71]]&& !mxClient[_0x2895[75]]|| !this[_0x2895[2315]](_0x4315x3))&& _0x4315x2[_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x3))}),mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2314]](_0x4315x3)&& _0x4315x2[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x3))}),mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2314]](_0x4315x3)&& _0x4315x2[_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x3))}));mxEvent[_0x2895[169]](_0x4315x3,_0x2895[760],mxUtils[_0x2895[885]](this,function(_0x4315x3){_0x4315x2[_0x2895[761]](_0x4315x3)}));var _0x4315x4=function(_0x4315x4){var _0x4315x9=null;mxClient[_0x2895[754]]&& (_0x4315x9= mxEvent[_0x2895[731]](_0x4315x4),_0x4315x4= mxEvent[_0x2895[733]](_0x4315x4),_0x4315x4= mxUtils[_0x2895[2196]](_0x4315x3,_0x4315x9,_0x4315x4),_0x4315x9= _0x4315x2[_0x2895[441]][_0x2895[248]](_0x4315x2[_0x2895[999]](_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]])));return _0x4315x9};_0x4315x2[_0x2895[1133]]({mouseDown:function(_0x4315x3,_0x4315x4){_0x4315x2[_0x2895[2316]][_0x2895[1032]]()},mouseMove:function(){},mouseUp:function(){}});this[_0x2895[2317]]= mxUtils[_0x2895[885]](this,function(_0x4315x3){null!= _0x4315x2[_0x2895[2276]]&& _0x4315x2[_0x2895[2276]][_0x2895[2277]]()&& _0x4315x2[_0x2895[2276]][_0x2895[801]]();this[_0x2895[2252]]&& (_0x4315x2[_0x2895[1009]]&& !mxEvent[_0x2895[721]](_0x4315x3))&& _0x4315x2[_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x3,_0x4315x4(_0x4315x3)))});this[_0x2895[2318]]= mxUtils[_0x2895[885]](this,function(_0x4315x3){this[_0x2895[2252]]&& _0x4315x2[_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x3))});mxEvent[_0x2895[759]](document,null,this[_0x2895[2317]],this[_0x2895[2318]])}};mxGraphView[_0x2895[202]][_0x2895[1570]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[526]];null!= _0x4315x2&& (this[_0x2895[510]]= this[_0x2895[2319]](_0x2895[118],_0x2895[118]),this[_0x2895[2053]]= this[_0x2895[2319]](_0x2895[942],_0x2895[942]),this[_0x2895[505]]= this[_0x2895[2319]](_0x2895[942],_0x2895[942]),this[_0x2895[506]]= this[_0x2895[2319]](_0x2895[942],_0x2895[942]),this[_0x2895[510]][_0x2895[62]](this[_0x2895[2053]]),this[_0x2895[510]][_0x2895[62]](this[_0x2895[505]]),this[_0x2895[510]][_0x2895[62]](this[_0x2895[506]]),_0x4315x2[_0x2895[62]](this[_0x2895[510]]),mxClient[_0x2895[496]]&& (_0x4315x2= mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x2= this[_0x2895[517]]();this[_0x2895[2320]](_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]+ this[_0x2895[1179]][_0x2895[467]],_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]+ this[_0x2895[1179]][_0x2895[467]])}),mxEvent[_0x2895[169]](window,_0x2895[129],_0x4315x2)))};mxGraphView[_0x2895[202]][_0x2895[2320]]= function(_0x4315x2,_0x4315x3){if(null!= this[_0x2895[1179]][_0x2895[526]]){var _0x4315x4=this[_0x2895[1179]][_0x2895[526]][_0x2895[167]];this[_0x2895[510]][_0x2895[124]][_0x2895[117]]= this[_0x2895[1179]][_0x2895[526]][_0x2895[359]]< _0x4315x2?_0x4315x2+ _0x2895[168]:_0x2895[118];this[_0x2895[510]][_0x2895[124]][_0x2895[119]]= _0x4315x4< _0x4315x3?_0x4315x3+ _0x2895[168]:_0x2895[118]}};mxGraphView[_0x2895[202]][_0x2895[2319]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[529]);null!= _0x4315x2&& null!= _0x4315x3?(_0x4315x4[_0x2895[124]][_0x2895[491]]= _0x2895[492],_0x4315x4[_0x2895[124]][_0x2895[361]]= _0x2895[946],_0x4315x4[_0x2895[124]][_0x2895[125]]= _0x2895[946],_0x4315x4[_0x2895[124]][_0x2895[117]]= _0x4315x2,_0x4315x4[_0x2895[124]][_0x2895[119]]= _0x4315x3):_0x4315x4[_0x2895[124]][_0x2895[491]]= _0x2895[1500];return _0x4315x4};mxGraphView[_0x2895[202]][_0x2895[1571]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[526]];if(null!= _0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[359]],_0x4315x4=_0x4315x2[_0x2895[167]];this[_0x2895[510]]= this[_0x2895[2321]](_0x4315x3,_0x4315x4);this[_0x2895[2053]]= this[_0x2895[2321]](_0x4315x3,_0x4315x4);this[_0x2895[505]]= this[_0x2895[2321]](_0x4315x3,_0x4315x4);this[_0x2895[506]]= this[_0x2895[2321]](_0x4315x3,_0x4315x4);this[_0x2895[510]][_0x2895[62]](this[_0x2895[2053]]);this[_0x2895[510]][_0x2895[62]](this[_0x2895[505]]);this[_0x2895[510]][_0x2895[62]](this[_0x2895[506]]);_0x4315x2[_0x2895[62]](this[_0x2895[510]])}};mxGraphView[_0x2895[202]][_0x2895[2321]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](mxClient[_0x2895[463]]+ _0x2895[1499]);_0x4315x4[_0x2895[124]][_0x2895[491]]= _0x2895[492];_0x4315x4[_0x2895[124]][_0x2895[361]]= _0x2895[946];_0x4315x4[_0x2895[124]][_0x2895[125]]= _0x2895[946];_0x4315x4[_0x2895[124]][_0x2895[117]]= _0x4315x2+ _0x2895[168];_0x4315x4[_0x2895[124]][_0x2895[119]]= _0x4315x3+ _0x2895[168];_0x4315x4[_0x2895[57]](_0x2895[1462],_0x4315x2+ _0x2895[537]+ _0x4315x3);_0x4315x4[_0x2895[57]](_0x2895[2322],_0x2895[2323]);return _0x4315x4};mxGraphView[_0x2895[202]][_0x2895[1569]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[526]];this[_0x2895[510]]= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449]);this[_0x2895[2053]]= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449]);this[_0x2895[510]][_0x2895[62]](this[_0x2895[2053]]);this[_0x2895[505]]= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449]);this[_0x2895[510]][_0x2895[62]](this[_0x2895[505]]);this[_0x2895[506]]= document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[449]);this[_0x2895[510]][_0x2895[62]](this[_0x2895[506]]);var _0x4315x3=document[_0x2895[509]](mxConstants.NS_SVG,_0x2895[571]);_0x4315x3[_0x2895[124]][_0x2895[117]]= _0x2895[118];_0x4315x3[_0x2895[124]][_0x2895[119]]= _0x2895[118];_0x4315x3[_0x2895[124]][_0x2895[495]]= _0x2895[694];_0x4315x3[_0x2895[62]](this[_0x2895[510]]);null!= _0x4315x2&& (_0x4315x2[_0x2895[62]](_0x4315x3),_0x2895[2324]== mxUtils[_0x2895[275]](_0x4315x2)[_0x2895[491]]&& (_0x4315x2[_0x2895[124]][_0x2895[491]]= _0x2895[1500]))};mxGraphView[_0x2895[202]][_0x2895[515]]= function(){var _0x4315x2=null!= this[_0x2895[510]]?this[_0x2895[510]][_0x2895[538]]:null;null== _0x4315x2&& (_0x4315x2= this[_0x2895[510]]);null!= _0x4315x2&& null!= _0x4315x2[_0x2895[265]]&& (this[_0x2895[200]](this[_0x2895[1741]],!0),mxEvent[_0x2895[938]](document,null,this[_0x2895[2317]],this[_0x2895[2318]]),mxEvent[_0x2895[762]](this[_0x2895[1179]][_0x2895[526]]),_0x4315x2[_0x2895[265]][_0x2895[266]](_0x4315x2),this[_0x2895[506]]= this[_0x2895[505]]= this[_0x2895[2053]]= this[_0x2895[510]]= this[_0x2895[2318]]= this[_0x2895[2317]]= null)};function mxCurrentRootChange(_0x4315x2,_0x4315x3){this[_0x2895[441]]= _0x4315x2;this[_0x2895[257]]= this[_0x2895[813]]= _0x4315x3;this[_0x2895[2325]]= null== _0x4315x3;if(!this[_0x2895[2325]]){for(var _0x4315x4=this[_0x2895[441]][_0x2895[1741]],_0x4315x5=this[_0x2895[441]][_0x2895[1179]][_0x2895[502]]();null!= _0x4315x4;){if(_0x4315x4== _0x4315x3){this[_0x2895[2325]]= !0;break};_0x4315x4= _0x4315x5[_0x2895[1197]](_0x4315x4)}}}mxCurrentRootChange[_0x2895[202]][_0x2895[350]]= function(){var _0x4315x2=this[_0x2895[441]][_0x2895[1741]];this[_0x2895[441]][_0x2895[1741]]= this[_0x2895[257]];this[_0x2895[257]]= _0x4315x2;_0x4315x2= this[_0x2895[441]][_0x2895[1179]][_0x2895[2326]](this[_0x2895[441]][_0x2895[1741]]);null!= _0x4315x2&& (this[_0x2895[441]][_0x2895[513]]= new mxPoint(-_0x4315x2[_0x2895[235]],-_0x4315x2[_0x2895[236]]));this[_0x2895[441]][_0x2895[746]]( new mxEventObject(this[_0x2895[2325]]?mxEvent[_0x2895[2327]]:mxEvent[_0x2895[2328]],_0x2895[813],this[_0x2895[441]][_0x2895[1741]],_0x2895[257],this[_0x2895[257]]));this[_0x2895[2325]]?(this[_0x2895[441]][_0x2895[200]](this[_0x2895[441]][_0x2895[1741]],!0),this[_0x2895[441]][_0x2895[2264]]()):this[_0x2895[441]][_0x2895[802]]();this[_0x2895[2325]]= !this[_0x2895[2325]]};function mxGraph(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[2329]]= null;this[_0x2895[2330]]= _0x4315x4;this[_0x2895[507]]= mxClient[_0x2895[48]]?mxConstants[_0x2895[508]]:_0x4315x4== mxConstants[_0x2895[2331]]&& mxClient[_0x2895[47]]?mxConstants[_0x2895[1523]]:_0x4315x4== mxConstants[_0x2895[2332]]?mxConstants[_0x2895[1656]]:_0x4315x4== mxConstants[_0x2895[2333]]?mxConstants[_0x2895[2209]]:mxConstants[_0x2895[2334]];this[_0x2895[251]]= null!= _0x4315x3?_0x4315x3: new mxGraphModel;this[_0x2895[2335]]= [];this[_0x2895[2336]]= [];this[_0x2895[259]]= this[_0x2895[2337]]();this[_0x2895[2339]](this[_0x2895[2338]]());this[_0x2895[2341]](null!= _0x4315x5?_0x4315x5:this[_0x2895[2340]]());this[_0x2895[441]]= this[_0x2895[2342]]();this[_0x2895[2343]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[1177]](_0x4315x3[_0x2895[720]](_0x2895[1061])[_0x2895[1065]])});this[_0x2895[251]][_0x2895[169]](mxEvent.CHANGE,this[_0x2895[2343]]);this[_0x2895[2344]]();null!= _0x4315x2&& this[_0x2895[176]](_0x4315x2);this[_0x2895[441]][_0x2895[2259]]()}mxLoadResources&& mxResources[_0x2895[99]](mxClient[_0x2895[86]]+ _0x2895[2345]);mxGraph[_0x2895[202]]= new mxEventSource;mxGraph[_0x2895[202]][_0x2895[196]]= mxGraph;mxGraph[_0x2895[202]][_0x2895[2346]]= [];mxGraph[_0x2895[202]][_0x2895[2329]]= null;mxGraph[_0x2895[202]][_0x2895[1009]]= !1;mxGraph[_0x2895[202]][_0x2895[251]]= null;mxGraph[_0x2895[202]][_0x2895[441]]= null;mxGraph[_0x2895[202]][_0x2895[94]]= null;mxGraph[_0x2895[202]][_0x2895[2105]]= null;mxGraph[_0x2895[202]][_0x2895[2347]]= null;mxGraph[_0x2895[202]][_0x2895[259]]= null;mxGraph[_0x2895[202]][_0x2895[2335]]= null;mxGraph[_0x2895[202]][_0x2895[2330]]= null;mxGraph[_0x2895[202]][_0x2895[507]]= null;mxGraph[_0x2895[202]][_0x2895[1020]]= 10;mxGraph[_0x2895[202]][_0x2895[991]]= !0;mxGraph[_0x2895[202]][_0x2895[2348]]= !0;mxGraph[_0x2895[202]][_0x2895[2349]]= !0;mxGraph[_0x2895[202]][_0x2895[2350]]= 700;mxGraph[_0x2895[202]][_0x2895[2351]]= 25;mxGraph[_0x2895[202]][_0x2895[2352]]= 0;mxGraph[_0x2895[202]][_0x2895[2352]]= 0;mxGraph[_0x2895[202]][_0x2895[2213]]= 0;mxGraph[_0x2895[202]][_0x2895[2215]]= !0;mxGraph[_0x2895[202]][_0x2895[2353]]= 4;mxGraph[_0x2895[202]][_0x2895[2354]]= 0.5;mxGraph[_0x2895[202]][_0x2895[2355]]= null;mxGraph[_0x2895[202]][_0x2895[2356]]= null;mxGraph[_0x2895[202]][_0x2895[1617]]= null;mxGraph[_0x2895[202]][_0x2895[2273]]= !1;mxGraph[_0x2895[202]][_0x2895[2357]]= !1;mxGraph[_0x2895[202]][_0x2895[2358]]= _0x2895[579];mxGraph[_0x2895[202]][_0x2895[2359]]= !0;mxGraph[_0x2895[202]][_0x2895[2360]]= 20;mxGraph[_0x2895[202]][_0x2895[2361]]= !1;mxGraph[_0x2895[202]][_0x2895[2013]]= mxConstants[_0x2895[516]];mxGraph[_0x2895[202]][_0x2895[2012]]= 1.5;mxGraph[_0x2895[202]][_0x2895[984]]= !0;mxGraph[_0x2895[202]][_0x2895[2362]]= !0;mxGraph[_0x2895[202]][_0x2895[2363]]= !0;mxGraph[_0x2895[202]][_0x2895[2364]]= !1;mxGraph[_0x2895[202]][_0x2895[2365]]= !0;mxGraph[_0x2895[202]][_0x2895[2366]]= !0;mxGraph[_0x2895[202]][_0x2895[2367]]= !0;mxGraph[_0x2895[202]][_0x2895[2368]]= !1;mxGraph[_0x2895[202]][_0x2895[2369]]= !0;mxGraph[_0x2895[202]][_0x2895[2206]]= !0;mxGraph[_0x2895[202]][_0x2895[2370]]= !0;mxGraph[_0x2895[202]][_0x2895[2371]]= !0;mxGraph[_0x2895[202]][_0x2895[2372]]= !0;mxGraph[_0x2895[202]][_0x2895[2373]]= !0;mxGraph[_0x2895[202]][_0x2895[2374]]= !1;mxGraph[_0x2895[202]][_0x2895[2375]]= !1;mxGraph[_0x2895[202]][_0x2895[2376]]= !0;mxGraph[_0x2895[202]][_0x2895[2377]]= !0;mxGraph[_0x2895[202]][_0x2895[2378]]= !0;mxGraph[_0x2895[202]][_0x2895[2379]]= !0;mxGraph[_0x2895[202]][_0x2895[2380]]= !0;mxGraph[_0x2895[202]][_0x2895[2381]]= !1;mxGraph[_0x2895[202]][_0x2895[1012]]= !0;mxGraph[_0x2895[202]][_0x2895[2382]]= !1;mxGraph[_0x2895[202]][_0x2895[2383]]= !1;mxGraph[_0x2895[202]][_0x2895[2384]]= !1;mxGraph[_0x2895[202]][_0x2895[1013]]= !0;mxGraph[_0x2895[202]][_0x2895[2385]]= null;mxGraph[_0x2895[202]][_0x2895[2386]]= null;mxGraph[_0x2895[202]][_0x2895[2387]]= null;mxGraph[_0x2895[202]][_0x2895[2388]]= null;mxGraph[_0x2895[202]][_0x2895[2389]]= !1;mxGraph[_0x2895[202]][_0x2895[467]]= 0;mxGraph[_0x2895[202]][_0x2895[2158]]= !0;mxGraph[_0x2895[202]][_0x2895[2159]]= !1;mxGraph[_0x2895[202]][_0x2895[2168]]= !0;mxGraph[_0x2895[202]][_0x2895[2390]]= !0;mxGraph[_0x2895[202]][_0x2895[2391]]= !0;mxGraph[_0x2895[202]][_0x2895[2392]]= !0;mxGraph[_0x2895[202]][_0x2895[2393]]= !0;mxGraph[_0x2895[202]][_0x2895[2394]]= !0;mxGraph[_0x2895[202]][_0x2895[2395]]= 1.2;mxGraph[_0x2895[202]][_0x2895[2396]]= !1;mxGraph[_0x2895[202]][_0x2895[2397]]= !0;mxGraph[_0x2895[202]][_0x2895[2398]]= !0;mxGraph[_0x2895[202]][_0x2895[2399]]= !1;mxGraph[_0x2895[202]][_0x2895[2400]]= !1;mxGraph[_0x2895[202]][_0x2895[2401]]= !0;mxGraph[_0x2895[202]][_0x2895[2402]]= !1;mxGraph[_0x2895[202]][_0x2895[2293]]= mxEdgeStyle[_0x2895[2403]];mxGraph[_0x2895[202]][_0x2895[2404]]= !0;mxGraph[_0x2895[202]][_0x2895[2405]]= !1;mxGraph[_0x2895[202]][_0x2895[2406]]= !0;mxGraph[_0x2895[202]][_0x2895[2407]]= !1;mxGraph[_0x2895[202]][_0x2895[2408]]= !0;mxGraph[_0x2895[202]][_0x2895[2409]]= !0;mxGraph[_0x2895[202]][_0x2895[2410]]= !1;mxGraph[_0x2895[202]][_0x2895[2411]]= !0;mxGraph[_0x2895[202]][_0x2895[2412]]= !0;mxGraph[_0x2895[202]][_0x2895[2180]]= mxConstants[_0x2895[2065]];mxGraph[_0x2895[202]][_0x2895[2336]]= null;mxGraph[_0x2895[202]][_0x2895[2413]]= 0.1;mxGraph[_0x2895[202]][_0x2895[2414]]= 8;mxGraph[_0x2895[202]][_0x2895[1136]]= 0;mxGraph[_0x2895[202]][_0x2895[1137]]= 0;mxGraph[_0x2895[202]][_0x2895[2415]]= new mxImage(mxClient[_0x2895[88]]+ _0x2895[2416],9,9);mxGraph[_0x2895[202]][_0x2895[2417]]= new mxImage(mxClient[_0x2895[88]]+ _0x2895[2418],9,9);mxGraph[_0x2895[202]][_0x2895[2419]]= new mxImage(_0x2895[2420],16,16);mxGraph[_0x2895[202]][_0x2895[2421]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2422]:_0x2895[110];mxGraph[_0x2895[202]][_0x2895[2423]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2424]:_0x2895[110];mxGraph[_0x2895[202]][_0x2895[2425]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2426]:_0x2895[110];mxGraph[_0x2895[202]][_0x2895[176]]= function(_0x4315x2){this[_0x2895[526]]= _0x4315x2;this[_0x2895[2347]]= this[_0x2895[2427]]();this[_0x2895[441]][_0x2895[176]]();this[_0x2895[2258]]();mxClient[_0x2895[80]]&& (mxEvent[_0x2895[169]](window,_0x2895[2428],mxUtils[_0x2895[885]](this,function(){this[_0x2895[515]]()})),mxEvent[_0x2895[169]](_0x4315x2,_0x2895[2429],mxUtils[_0x2895[885]](this,function(){return this[_0x2895[2203]]()})));8== document[_0x2895[5]]&& _0x4315x2[_0x2895[1583]](_0x2895[1582],_0x2895[2430])};mxGraph[_0x2895[202]][_0x2895[2344]]= function(_0x4315x2){this[_0x2895[2276]]= new mxTooltipHandler(this);this[_0x2895[2276]][_0x2895[995]](!1);this[_0x2895[2316]]= new mxPanningHandler(this);this[_0x2895[2316]][_0x2895[2431]]= !1;this[_0x2895[2432]]= new mxSelectionCellsHandler(this);this[_0x2895[2433]]= new mxConnectionHandler(this);this[_0x2895[2433]][_0x2895[995]](!1);this[_0x2895[1011]]= new mxGraphHandler(this)};mxGraph[_0x2895[202]][_0x2895[2338]]= function(){return new mxGraphSelectionModel(this)};mxGraph[_0x2895[202]][_0x2895[2340]]= function(){return new mxStylesheet};mxGraph[_0x2895[202]][_0x2895[2342]]= function(){return new mxGraphView(this)};mxGraph[_0x2895[202]][_0x2895[2337]]= function(){return new mxCellRenderer};mxGraph[_0x2895[202]][_0x2895[2427]]= function(){return new mxCellEditor(this)};mxGraph[_0x2895[202]][_0x2895[502]]= function(){return this[_0x2895[251]]};mxGraph[_0x2895[202]][_0x2895[249]]= function(){return this[_0x2895[441]]};mxGraph[_0x2895[202]][_0x2895[2434]]= function(){return this[_0x2895[94]]};mxGraph[_0x2895[202]][_0x2895[2341]]= function(_0x4315x2){this[_0x2895[94]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2435]]= function(){return this[_0x2895[2105]]};mxGraph[_0x2895[202]][_0x2895[2339]]= function(_0x4315x2){this[_0x2895[2105]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2436]]= function(_0x4315x2){for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x5=_0x4315x2[_0x4315x4];if(_0x4315x5[_0x2895[196]]!= mxRootChange){var _0x4315x9=null;_0x4315x5 instanceof mxChildChange&& null== _0x4315x5[_0x2895[257]]?_0x4315x9= _0x4315x5[_0x2895[247]]:null!= _0x4315x5[_0x2895[246]]&& _0x4315x5[_0x2895[246]] instanceof mxCell&& (_0x4315x9= _0x4315x5[_0x2895[246]]);null!= _0x4315x9&& 0> mxUtils[_0x2895[2]](_0x4315x3,_0x4315x9)&& _0x4315x3[_0x2895[207]](_0x4315x9)}};return this[_0x2895[502]]()[_0x2895[1964]](_0x4315x3)};mxGraph[_0x2895[202]][_0x2895[1177]]= function(_0x4315x2){for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){this[_0x2895[2437]](_0x4315x2[_0x4315x3])};this[_0x2895[2439]](this[_0x2895[2438]](_0x4315x2));this[_0x2895[441]][_0x2895[2264]]();this[_0x2895[2258]]()};mxGraph[_0x2895[202]][_0x2895[2438]]= function(_0x4315x2){for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x5=_0x4315x2[_0x4315x4];if(_0x4315x5 instanceof mxRootChange){break}else {_0x4315x5 instanceof mxChildChange?null!= _0x4315x5[_0x2895[257]]&& null== _0x4315x5[_0x2895[1101]]&& (_0x4315x3= _0x4315x3[_0x2895[1919]](this[_0x2895[251]][_0x2895[1939]](_0x4315x5[_0x2895[247]]))):_0x4315x5 instanceof mxVisibleChange&& (_0x4315x3= _0x4315x3[_0x2895[1919]](this[_0x2895[251]][_0x2895[1939]](_0x4315x5[_0x2895[246]])))}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2437]]= function(_0x4315x2){if(_0x4315x2 instanceof mxRootChange){this[_0x2895[2440]](),this[_0x2895[2441]](_0x4315x2[_0x2895[257]]),this[_0x2895[2398]]&& (this[_0x2895[441]][_0x2895[255]]= 1,this[_0x2895[441]][_0x2895[513]][_0x2895[235]]= 0,this[_0x2895[441]][_0x2895[513]][_0x2895[236]]= 0),this[_0x2895[746]]( new mxEventObject(mxEvent.ROOT))}else {if(_0x4315x2 instanceof mxChildChange){var _0x4315x3=this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x2895[247]]);null!= _0x4315x3?this[_0x2895[441]][_0x2895[2263]](_0x4315x2[_0x2895[247]],!0,!1,null!= _0x4315x2[_0x2895[257]]):(this[_0x2895[2441]](_0x4315x2[_0x2895[247]]),this[_0x2895[441]][_0x2895[1741]]== _0x4315x2[_0x2895[247]]&& this[_0x2895[2442]]());_0x4315x3!= _0x4315x2[_0x2895[257]]&& (null!= _0x4315x3&& this[_0x2895[441]][_0x2895[2263]](_0x4315x3,!1,!1),null!= _0x4315x2[_0x2895[257]]&& this[_0x2895[441]][_0x2895[2263]](_0x4315x2[_0x2895[257]],!1,!1))}else {_0x4315x2 instanceof mxTerminalChange|| _0x4315x2 instanceof mxGeometryChange?this[_0x2895[441]][_0x2895[2263]](_0x4315x2[_0x2895[246]]):_0x4315x2 instanceof mxValueChange?this[_0x2895[441]][_0x2895[2263]](_0x4315x2[_0x2895[246]],!1,!1):_0x4315x2 instanceof mxStyleChange?(this[_0x2895[441]][_0x2895[2263]](_0x4315x2[_0x2895[246]],!0,!0,!1),this[_0x2895[441]][_0x2895[2265]](_0x4315x2[_0x2895[246]])):null!= _0x4315x2[_0x2895[246]]&& _0x4315x2[_0x2895[246]] instanceof mxCell&& this[_0x2895[2441]](_0x4315x2[_0x2895[246]])}}};mxGraph[_0x2895[202]][_0x2895[2441]]= function(_0x4315x2){for(var _0x4315x3=this[_0x2895[251]][_0x2895[262]](_0x4315x2),_0x4315x4=0;_0x4315x4< _0x4315x3;_0x4315x4++){this[_0x2895[2441]](this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x4))};this[_0x2895[441]][_0x2895[2265]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2443]]= function(_0x4315x2,_0x4315x3){null== _0x4315x2[_0x2895[1211]]&& (_0x4315x2[_0x2895[1211]]= []);_0x4315x2[_0x2895[1211]][_0x2895[207]](_0x4315x3);var _0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2);null!= _0x4315x4&& this[_0x2895[259]][_0x2895[258]](_0x4315x4);this[_0x2895[746]]( new mxEventObject(mxEvent.ADD_OVERLAY,_0x2895[246],_0x4315x2,_0x2895[2201],_0x4315x3));return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2200]]= function(_0x4315x2){return _0x4315x2[_0x2895[1211]]};mxGraph[_0x2895[202]][_0x2895[2444]]= function(_0x4315x2,_0x4315x3){if(null== _0x4315x3){this[_0x2895[2445]](_0x4315x2)}else {var _0x4315x4=mxUtils[_0x2895[2]](_0x4315x2[_0x2895[1211]],_0x4315x3);0<= _0x4315x4?(_0x4315x2[_0x2895[1211]][_0x2895[300]](_0x4315x4,1),0== _0x4315x2[_0x2895[1211]][_0x2895[67]]&& (_0x4315x2[_0x2895[1211]]= null),_0x4315x4= this[_0x2895[441]][_0x2895[248]](_0x4315x2),null!= _0x4315x4&& this[_0x2895[259]][_0x2895[258]](_0x4315x4),this[_0x2895[746]]( new mxEventObject(mxEvent.REMOVE_OVERLAY,_0x2895[246],_0x4315x2,_0x2895[2201],_0x4315x3))):_0x4315x3= null};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2445]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[1211]];if(null!= _0x4315x3){_0x4315x2[_0x2895[1211]]= null;var _0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2);null!= _0x4315x4&& this[_0x2895[259]][_0x2895[258]](_0x4315x4);for(_0x4315x4= 0;_0x4315x4< _0x4315x3[_0x2895[67]];_0x4315x4++){this[_0x2895[746]]( new mxEventObject(mxEvent.REMOVE_OVERLAY,_0x2895[246],_0x4315x2,_0x2895[2201],_0x4315x3[_0x4315x4]))}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2446]]= function(_0x4315x2){_0x4315x2= null!= _0x4315x2?_0x4315x2:this[_0x2895[251]][_0x2895[501]]();this[_0x2895[2445]](_0x4315x2);for(var _0x4315x3=this[_0x2895[251]][_0x2895[262]](_0x4315x2),_0x4315x4=0;_0x4315x4< _0x4315x3;_0x4315x4++){var _0x4315x5=this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x4);this[_0x2895[2446]](_0x4315x5)}};mxGraph[_0x2895[202]][_0x2895[2447]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]){return _0x4315x4= null!= _0x4315x4?_0x4315x4:this[_0x2895[2419]],_0x4315x3= new mxCellOverlay(_0x4315x4,_0x2895[2448]+ _0x4315x3+ _0x2895[2449]),_0x4315x5&& _0x4315x3[_0x2895[169]](mxEvent.CLICK,mxUtils[_0x2895[885]](this,function(_0x4315x3,_0x4315x4){this[_0x2895[994]]()&& this[_0x2895[2450]](_0x4315x2)})),this[_0x2895[2443]](_0x4315x2,_0x4315x3)};this[_0x2895[2445]](_0x4315x2);return null};mxGraph[_0x2895[202]][_0x2895[855]]= function(_0x4315x2){this[_0x2895[2451]](null,_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2451]]= function(_0x4315x2,_0x4315x3){null== _0x4315x2&& (_0x4315x2= this[_0x2895[2452]](),null!= _0x4315x2&& !this[_0x2895[2453]](_0x4315x2)&& (_0x4315x2= null));null!= _0x4315x2&& (this[_0x2895[746]]( new mxEventObject(mxEvent.START_EDITING,_0x2895[246],_0x4315x2,_0x2895[763],_0x4315x3)),this[_0x2895[2347]][_0x2895[855]](_0x4315x2,_0x4315x3))};mxGraph[_0x2895[202]][_0x2895[2142]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[2454]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2126]]= function(_0x4315x2){this[_0x2895[2347]][_0x2895[2126]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[850]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[2456]](_0x4315x2,_0x4315x3,this[_0x2895[2455]](_0x4315x2)),this[_0x2895[746]]( new mxEventObject(mxEvent.LABEL_CHANGED,_0x2895[246],_0x4315x2,_0x2895[131],_0x4315x3,_0x2895[763],_0x4315x4))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2456]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[251]][_0x2895[1966]](_0x4315x2,_0x4315x3),_0x4315x4&& this[_0x2895[2457]](_0x4315x2,!1)}finally{this[_0x2895[251]][_0x2895[476]]()}};mxGraph[_0x2895[202]][_0x2895[859]]= function(_0x4315x2){this[_0x2895[2126]](!0);this[_0x2895[2433]][_0x2895[862]]();this[_0x2895[1011]][_0x2895[862]]();_0x4315x2= this[_0x2895[897]]();for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){var _0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2[_0x4315x3]);null!= _0x4315x4&& null!= _0x4315x4[_0x2895[2458]]&& _0x4315x4[_0x2895[2458]][_0x2895[862]]()}};mxGraph[_0x2895[202]][_0x2895[173]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[727]](),_0x4315x4=_0x4315x2[_0x2895[736]](),_0x4315x5= new mxEventObject(mxEvent.CLICK,_0x2895[763],_0x4315x3,_0x2895[246],_0x4315x4);_0x4315x2[_0x2895[721]]()&& _0x4315x5[_0x2895[722]]();this[_0x2895[746]](_0x4315x5);this[_0x2895[994]]()&& (!mxEvent[_0x2895[721]](_0x4315x3)&& !_0x4315x5[_0x2895[721]]())&& (null!= _0x4315x4?this[_0x2895[2459]](_0x4315x4,_0x4315x3):(_0x4315x4= null,this[_0x2895[2460]]()&& (_0x4315x4= this[_0x2895[2461]](_0x4315x2[_0x2895[734]](),_0x4315x2[_0x2895[735]]())),null!= _0x4315x4?this[_0x2895[2459]](_0x4315x4,_0x4315x3):this[_0x2895[2462]](_0x4315x3)|| this[_0x2895[2440]]()))};mxGraph[_0x2895[202]][_0x2895[761]]= function(_0x4315x2,_0x4315x3){var _0x4315x4= new mxEventObject(mxEvent.DOUBLE_CLICK,_0x2895[763],_0x4315x2,_0x2895[246],_0x4315x3);this[_0x2895[746]](_0x4315x4);this[_0x2895[994]]()&& (!mxEvent[_0x2895[721]](_0x4315x2)&& !_0x4315x4[_0x2895[721]]()&& null!= _0x4315x3&& this[_0x2895[2453]](_0x4315x3))&& this[_0x2895[2451]](_0x4315x3,_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[1014]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(!this[_0x2895[2382]]&& (this[_0x2895[2384]]|| mxUtils[_0x2895[1134]](this[_0x2895[526]]))){var _0x4315x9=this[_0x2895[526]];_0x4315x5= null!= _0x4315x5?_0x4315x5:20;if(_0x4315x2>= _0x4315x9[_0x2895[360]]&& _0x4315x3>= _0x4315x9[_0x2895[190]]&& _0x4315x2<= _0x4315x9[_0x2895[360]]+ _0x4315x9[_0x2895[159]]&& _0x4315x3<= _0x4315x9[_0x2895[190]]+ _0x4315x9[_0x2895[157]]){var _0x4315xa=_0x4315x9[_0x2895[360]]+ _0x4315x9[_0x2895[159]]- _0x4315x2;if(_0x4315xa< _0x4315x5){if(_0x4315x2= _0x4315x9[_0x2895[360]],_0x4315x9[_0x2895[360]]+= _0x4315x5- _0x4315xa,_0x4315x4&& _0x4315x2== _0x4315x9[_0x2895[360]]){if(this[_0x2895[507]]== mxConstants[_0x2895[508]]){_0x4315x2= this[_0x2895[441]][_0x2895[2024]]()[_0x2895[538]];var _0x4315x12=this[_0x2895[526]][_0x2895[1526]]+ _0x4315x5- _0x4315xa}else {_0x4315x12= Math[_0x2895[160]](_0x4315x9[_0x2895[159]],_0x4315x9[_0x2895[1526]])+ _0x4315x5- _0x4315xa,_0x4315x2= this[_0x2895[441]][_0x2895[2051]]()};_0x4315x2[_0x2895[124]][_0x2895[117]]= _0x4315x12+ _0x2895[168];_0x4315x9[_0x2895[360]]+= _0x4315x5- _0x4315xa}}else {_0x4315xa= _0x4315x2- _0x4315x9[_0x2895[360]],_0x4315xa< _0x4315x5&& (_0x4315x9[_0x2895[360]]-= _0x4315x5- _0x4315xa)};_0x4315xa= _0x4315x9[_0x2895[190]]+ _0x4315x9[_0x2895[157]]- _0x4315x3;_0x4315xa< _0x4315x5?(_0x4315x2= _0x4315x9[_0x2895[190]],_0x4315x9[_0x2895[190]]+= _0x4315x5- _0x4315xa,_0x4315x2== _0x4315x9[_0x2895[190]]&& _0x4315x4&& (this[_0x2895[507]]== mxConstants[_0x2895[508]]?(_0x4315x2= this[_0x2895[441]][_0x2895[2024]]()[_0x2895[538]],_0x4315x3= this[_0x2895[526]][_0x2895[191]]+ _0x4315x5- _0x4315xa):(_0x4315x3= Math[_0x2895[160]](_0x4315x9[_0x2895[157]],_0x4315x9[_0x2895[191]])+ _0x4315x5- _0x4315xa,_0x4315x2= this[_0x2895[441]][_0x2895[2051]]()),_0x4315x2[_0x2895[124]][_0x2895[119]]= _0x4315x3+ _0x2895[168],_0x4315x9[_0x2895[190]]+= _0x4315x5- _0x4315xa)):(_0x4315xa= _0x4315x3- _0x4315x9[_0x2895[190]],_0x4315xa< _0x4315x5&& (_0x4315x9[_0x2895[190]]-= _0x4315x5- _0x4315xa))}}else {this[_0x2895[2383]]&& !this[_0x2895[2316]][_0x2895[1124]]&& (null== this[_0x2895[2463]]&& (this[_0x2895[2463]]= this[_0x2895[2464]]()),this[_0x2895[2463]][_0x2895[1143]](_0x4315x2+ this[_0x2895[1136]],_0x4315x3+ this[_0x2895[1137]]))}};mxGraph[_0x2895[202]][_0x2895[2464]]= function(){return new mxPanningManager(this)};mxGraph[_0x2895[202]][_0x2895[2465]]= function(){function _0x4315x2(_0x4315x2){var _0x4315x3=0,_0x4315x3=_0x2895[2466]== _0x4315x2?2:_0x2895[2467]== _0x4315x2?4:_0x2895[2468]== _0x4315x2?6:parseInt(_0x4315x2);isNaN(_0x4315x3)&& (_0x4315x3= 0);return _0x4315x3}var _0x4315x3=mxUtils[_0x2895[275]](this[_0x2895[526]]),_0x4315x4= new mxRectangle;_0x4315x4[_0x2895[235]]= _0x4315x2(_0x4315x3[_0x2895[2469]])+ parseInt(_0x4315x3[_0x2895[357]]|| 0);_0x4315x4[_0x2895[236]]= _0x4315x2(_0x4315x3[_0x2895[2470]])+ parseInt(_0x4315x3[_0x2895[2471]]|| 0);_0x4315x4[_0x2895[117]]= _0x4315x2(_0x4315x3[_0x2895[2472]])+ parseInt(_0x4315x3[_0x2895[1164]]|| 0);_0x4315x4[_0x2895[119]]= _0x4315x2(_0x4315x3[_0x2895[2473]])+ parseInt(_0x4315x3[_0x2895[2474]]|| 0);return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[2475]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= this[_0x2895[441]][_0x2895[255]];var _0x4315x5=this[_0x2895[441]][_0x2895[513]],_0x4315x9=this[_0x2895[2013]],_0x4315xa=_0x4315x2* this[_0x2895[2012]],_0x4315x9= new mxRectangle(0,0,_0x4315x9[_0x2895[117]]* _0x4315xa,_0x4315x9[_0x2895[119]]* _0x4315xa);_0x4315x3= this[_0x2895[2357]]?Math[_0x2895[430]](_0x4315x3/ _0x4315x9[_0x2895[117]]):1;_0x4315x4= this[_0x2895[2357]]?Math[_0x2895[430]](_0x4315x4/ _0x4315x9[_0x2895[119]]):1;return new mxRectangle(0,0,_0x4315x3* _0x4315x9[_0x2895[117]]+ 2+ _0x4315x5[_0x2895[235]]/ _0x4315x2,_0x4315x4* _0x4315x9[_0x2895[119]]+ 2+ _0x4315x5[_0x2895[236]]/ _0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2258]]= function(){var _0x4315x2=this[_0x2895[517]]();if(null!= this[_0x2895[526]]){var _0x4315x3=this[_0x2895[2476]](),_0x4315x4=Math[_0x2895[160]](0,_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]+ 1+ _0x4315x3),_0x4315x3=Math[_0x2895[160]](0,_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]+ 1+ _0x4315x3);null!= this[_0x2895[2387]]&& (_0x4315x4= Math[_0x2895[160]](_0x4315x4,this[_0x2895[2387]][_0x2895[117]]),_0x4315x3= Math[_0x2895[160]](_0x4315x3,this[_0x2895[2387]][_0x2895[119]]));this[_0x2895[2389]]&& this[_0x2895[2477]](_0x4315x4,_0x4315x3);if(this[_0x2895[2361]]|| !mxClient[_0x2895[80]]&& this[_0x2895[2273]]){var _0x4315x5=this[_0x2895[2475]](_0x4315x2,_0x4315x4,_0x4315x3);null!= _0x4315x5&& (_0x4315x4= _0x4315x5[_0x2895[117]],_0x4315x3= _0x4315x5[_0x2895[119]])};null!= this[_0x2895[2386]]&& (_0x4315x4= Math[_0x2895[160]](_0x4315x4,this[_0x2895[2386]][_0x2895[117]]* this[_0x2895[441]][_0x2895[255]]),_0x4315x3= Math[_0x2895[160]](_0x4315x3,this[_0x2895[2386]][_0x2895[119]]* this[_0x2895[441]][_0x2895[255]]));_0x4315x4= Math[_0x2895[430]](_0x4315x4- 1);_0x4315x3= Math[_0x2895[430]](_0x4315x3- 1);this[_0x2895[507]]== mxConstants[_0x2895[508]]?(_0x4315x5= this[_0x2895[441]][_0x2895[2024]]()[_0x2895[538]],_0x4315x5[_0x2895[124]][_0x2895[2478]]= Math[_0x2895[160]](1,_0x4315x4)+ _0x2895[168],_0x4315x5[_0x2895[124]][_0x2895[2479]]= Math[_0x2895[160]](1,_0x4315x3)+ _0x2895[168],_0x4315x5[_0x2895[124]][_0x2895[117]]= _0x2895[118],_0x4315x5[_0x2895[124]][_0x2895[119]]= _0x2895[118]):mxClient[_0x2895[496]]?this[_0x2895[441]][_0x2895[2320]](Math[_0x2895[160]](1,_0x4315x4),Math[_0x2895[160]](1,_0x4315x3)):(this[_0x2895[441]][_0x2895[510]][_0x2895[124]][_0x2895[2478]]= Math[_0x2895[160]](1,_0x4315x4)+ _0x2895[168],this[_0x2895[441]][_0x2895[510]][_0x2895[124]][_0x2895[2479]]= Math[_0x2895[160]](1,_0x4315x3)+ _0x2895[168]);this[_0x2895[2480]](this[_0x2895[2357]],_0x4315x4- 1,_0x4315x3- 1)};this[_0x2895[746]]( new mxEventObject(mxEvent.SIZE,_0x2895[1562],_0x4315x2))};mxGraph[_0x2895[202]][_0x2895[2477]]= function(_0x4315x2,_0x4315x3){if(mxClient[_0x2895[80]]){if(mxClient[_0x2895[496]]){var _0x4315x4=this[_0x2895[2465]]();_0x4315x2+= Math[_0x2895[160]](2,_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]+ 1);_0x4315x3+= Math[_0x2895[160]](2,_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]+ 1)}else {9<= document[_0x2895[5]]?(_0x4315x2+= 3,_0x4315x3+= 5):(_0x4315x2+= 1,_0x4315x3+= 1)}}else {_0x4315x3+= 1};null!= this[_0x2895[2388]]&& (_0x4315x2= Math[_0x2895[243]](this[_0x2895[2388]][_0x2895[117]],_0x4315x2),_0x4315x3= Math[_0x2895[243]](this[_0x2895[2388]][_0x2895[119]],_0x4315x3));this[_0x2895[526]][_0x2895[124]][_0x2895[117]]= Math[_0x2895[430]](_0x4315x2)+ _0x2895[168];this[_0x2895[526]][_0x2895[124]][_0x2895[119]]= Math[_0x2895[430]](_0x4315x3)+ _0x2895[168]};mxGraph[_0x2895[202]][_0x2895[2480]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[441]][_0x2895[255]],_0x4315x9=this[_0x2895[441]][_0x2895[513]],_0x4315xa=this[_0x2895[2013]],_0x4315x12=_0x4315x5* this[_0x2895[2012]],_0x4315x9= new mxRectangle(_0x4315x5* _0x4315x9[_0x2895[235]],_0x4315x5* _0x4315x9[_0x2895[236]],_0x4315xa[_0x2895[117]]* _0x4315x12,_0x4315xa[_0x2895[119]]* _0x4315x12);_0x4315x2= _0x4315x2&& Math[_0x2895[243]](_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]])> this[_0x2895[2360]];_0x4315x9[_0x2895[235]]= mxUtils[_0x2895[1454]](_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[117]]);_0x4315x9[_0x2895[236]]= mxUtils[_0x2895[1454]](_0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[119]]);_0x4315xa= _0x4315x2?Math[_0x2895[430]]((_0x4315x3- _0x4315x9[_0x2895[235]])/ _0x4315x9[_0x2895[117]]):0;_0x4315x2= _0x4315x2?Math[_0x2895[430]]((_0x4315x4- _0x4315x9[_0x2895[236]])/ _0x4315x9[_0x2895[119]]):0;null== this[_0x2895[2481]]&& 0< _0x4315xa&& (this[_0x2895[2481]]= []);if(null!= this[_0x2895[2481]]){for(_0x4315x12= 0;_0x4315x12<= _0x4315xa;_0x4315x12++){var _0x4315x13=[ new mxPoint(_0x4315x9[_0x2895[235]]+ _0x4315x12* _0x4315x9[_0x2895[117]],1), new mxPoint(_0x4315x9[_0x2895[235]]+ _0x4315x12* _0x4315x9[_0x2895[117]],_0x4315x4)];null!= this[_0x2895[2481]][_0x4315x12]?(this[_0x2895[2481]][_0x4315x12][_0x2895[255]]= 1,this[_0x2895[2481]][_0x4315x12][_0x2895[1525]]= _0x4315x13,this[_0x2895[2481]][_0x4315x12][_0x2895[258]]()):(_0x4315x13= new mxPolyline(_0x4315x13,this[_0x2895[2358]],this[_0x2895[255]]),_0x4315x13[_0x2895[507]]= this[_0x2895[507]],_0x4315x13[_0x2895[1522]]= this[_0x2895[2359]],_0x4315x13[_0x2895[255]]= _0x4315x5,_0x4315x13[_0x2895[176]](this[_0x2895[441]][_0x2895[2053]]),_0x4315x13[_0x2895[258]](),this[_0x2895[2481]][_0x4315x12]= _0x4315x13)};for(_0x4315x12= _0x4315xa;_0x4315x12< this[_0x2895[2481]][_0x2895[67]];_0x4315x12++){this[_0x2895[2481]][_0x4315x12][_0x2895[515]]()};this[_0x2895[2481]][_0x2895[300]](_0x4315xa,this[_0x2895[2481]][_0x2895[67]]- _0x4315xa)};null== this[_0x2895[2482]]&& 0< _0x4315x2&& (this[_0x2895[2482]]= []);if(null!= this[_0x2895[2482]]){for(_0x4315x12= 0;_0x4315x12<= _0x4315x2;_0x4315x12++){_0x4315x13= [ new mxPoint(1,_0x4315x9[_0x2895[236]]+ _0x4315x12* _0x4315x9[_0x2895[119]]), new mxPoint(_0x4315x3,_0x4315x9[_0x2895[236]]+ _0x4315x12* _0x4315x9[_0x2895[119]])],null!= this[_0x2895[2482]][_0x4315x12]?(this[_0x2895[2482]][_0x4315x12][_0x2895[255]]= 1,this[_0x2895[2482]][_0x4315x12][_0x2895[1525]]= _0x4315x13,this[_0x2895[2482]][_0x4315x12][_0x2895[258]]()):(_0x4315x13= new mxPolyline(_0x4315x13,this[_0x2895[2358]],_0x4315x5),_0x4315x13[_0x2895[507]]= this[_0x2895[507]],_0x4315x13[_0x2895[1522]]= this[_0x2895[2359]],_0x4315x13[_0x2895[255]]= _0x4315x5,_0x4315x13[_0x2895[176]](this[_0x2895[441]][_0x2895[2053]]),_0x4315x13[_0x2895[258]](),this[_0x2895[2482]][_0x4315x12]= _0x4315x13)};for(_0x4315x12= _0x4315x2;_0x4315x12< this[_0x2895[2482]][_0x2895[67]];_0x4315x12++){this[_0x2895[2482]][_0x4315x12][_0x2895[515]]()};this[_0x2895[2482]][_0x2895[300]](_0x4315x2,this[_0x2895[2482]][_0x2895[67]]- _0x4315x2)}};mxGraph[_0x2895[202]][_0x2895[1705]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[251]][_0x2895[474]](_0x4315x2),_0x4315x4=null,_0x4315x4=this[_0x2895[251]][_0x2895[250]](_0x4315x2)?this[_0x2895[94]][_0x2895[2077]]():this[_0x2895[94]][_0x2895[2076]]();null!= _0x4315x3&& (_0x4315x4= this[_0x2895[2483]](this[_0x2895[94]][_0x2895[1705]](_0x4315x3,_0x4315x4)));null== _0x4315x4&& (_0x4315x4= mxGraph[_0x2895[202]][_0x2895[2346]]);return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[2483]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=_0x4315x2[mxConstants[_0x2895[2484]]],_0x4315x4=this[_0x2895[2485]](_0x4315x3);null!= _0x4315x4?_0x4315x2[mxConstants[_0x2895[2484]]]= _0x4315x4:_0x4315x4= _0x4315x3;null!= _0x4315x4&& _0x2895[2486]== _0x4315x4[_0x2895[85]](0,11)&& (_0x4315x3= _0x4315x4[_0x2895[2]](_0x2895[537]),0< _0x4315x3&& (_0x4315x4= _0x4315x4[_0x2895[85]](0,_0x4315x3)+ _0x2895[2487]+ _0x4315x4[_0x2895[85]](_0x4315x3+ 1)),_0x4315x2[mxConstants[_0x2895[2484]]]= _0x4315x4)};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2488]]= function(_0x4315x2,_0x4315x3){_0x4315x3= _0x4315x3|| this[_0x2895[897]]();if(null!= _0x4315x3){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x3[_0x2895[67]];_0x4315x4++){this[_0x2895[251]][_0x2895[475]](_0x4315x3[_0x4315x4],_0x4315x2)}}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2489]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= _0x4315x4|| this[_0x2895[2452]]();this[_0x2895[2490]](_0x4315x2,_0x4315x3,[_0x4315x4])};mxGraph[_0x2895[202]][_0x2895[2490]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;_0x4315x4= _0x4315x4|| this[_0x2895[897]]();if(null!= _0x4315x4&& 0< _0x4315x4[_0x2895[67]]){var _0x4315x5=this[_0x2895[441]][_0x2895[248]](_0x4315x4[0]),_0x4315x5=null!= _0x4315x5?_0x4315x5[_0x2895[124]]:this[_0x2895[1705]](_0x4315x4[0]);null!= _0x4315x5&& (_0x4315x3= mxUtils[_0x2895[433]](_0x4315x5,_0x4315x2,_0x4315x3)?0:1,this[_0x2895[1717]](_0x4315x2,_0x4315x3,_0x4315x4))}};mxGraph[_0x2895[202]][_0x2895[1717]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= _0x4315x4|| this[_0x2895[897]]();mxUtils[_0x2895[1717]](this[_0x2895[251]],_0x4315x4,_0x4315x2,_0x4315x3)};mxGraph[_0x2895[202]][_0x2895[2491]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[2492]](_0x4315x2,_0x4315x3,null,_0x4315x4)};mxGraph[_0x2895[202]][_0x2895[2492]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x5= _0x4315x5|| this[_0x2895[897]]();if(null!= _0x4315x5&& 0< _0x4315x5[_0x2895[67]]){if(null== _0x4315x4){var _0x4315x9=this[_0x2895[441]][_0x2895[248]](_0x4315x5[0]),_0x4315x9=null!= _0x4315x9?_0x4315x9[_0x2895[124]]:this[_0x2895[1705]](_0x4315x5[0]);null!= _0x4315x9&& (_0x4315x4= (parseInt(_0x4315x9[_0x4315x2]|| 0)& _0x4315x3)!= _0x4315x3)};mxUtils[_0x2895[2492]](this[_0x2895[251]],_0x4315x5,_0x4315x2,_0x4315x3,_0x4315x4)}};mxGraph[_0x2895[202]][_0x2895[849]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null== _0x4315x3&& (_0x4315x3= this[_0x2895[897]]());if(null!= _0x4315x3&& 1< _0x4315x3[_0x2895[67]]){if(null== _0x4315x4){for(var _0x4315x5=0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){var _0x4315x9=this[_0x2895[1198]](_0x4315x3[_0x4315x5]);if(null!= _0x4315x9&& !this[_0x2895[251]][_0x2895[250]](_0x4315x3[_0x4315x5])){if(null== _0x4315x4){if(_0x4315x2== mxConstants[_0x2895[479]]){_0x4315x4= _0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]/ 2;break}else {if(_0x4315x2== mxConstants[_0x2895[480]]){_0x4315x4= _0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]}else {if(_0x4315x2== mxConstants[_0x2895[1687]]){_0x4315x4= _0x4315x9[_0x2895[236]]}else {if(_0x4315x2== mxConstants[_0x2895[481]]){_0x4315x4= _0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]]/ 2;break}else {_0x4315x4= _0x4315x2== mxConstants[_0x2895[482]]?_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]]:_0x4315x9[_0x2895[235]]}}}}}else {_0x4315x4= _0x4315x2== mxConstants[_0x2895[480]]?Math[_0x2895[160]](_0x4315x4,_0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]):_0x4315x2== mxConstants[_0x2895[1687]]?Math[_0x2895[243]](_0x4315x4,_0x4315x9[_0x2895[236]]):_0x4315x2== mxConstants[_0x2895[482]]?Math[_0x2895[160]](_0x4315x4,_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]]):Math[_0x2895[243]](_0x4315x4,_0x4315x9[_0x2895[235]])}}}};if(null!= _0x4315x4){this[_0x2895[251]][_0x2895[473]]();try{for(_0x4315x5= 0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){_0x4315x9= this[_0x2895[1198]](_0x4315x3[_0x4315x5]),null!= _0x4315x9&& !this[_0x2895[251]][_0x2895[250]](_0x4315x3[_0x4315x5])&& (_0x4315x9= _0x4315x9[_0x2895[238]](),_0x4315x2== mxConstants[_0x2895[479]]?_0x4315x9[_0x2895[235]]= _0x4315x4- _0x4315x9[_0x2895[117]]/ 2:_0x4315x2== mxConstants[_0x2895[480]]?_0x4315x9[_0x2895[235]]= _0x4315x4- _0x4315x9[_0x2895[117]]:_0x4315x2== mxConstants[_0x2895[1687]]?_0x4315x9[_0x2895[236]]= _0x4315x4:_0x4315x2== mxConstants[_0x2895[481]]?_0x4315x9[_0x2895[236]]= _0x4315x4- _0x4315x9[_0x2895[119]]/ 2:_0x4315x2== mxConstants[_0x2895[482]]?_0x4315x9[_0x2895[236]]= _0x4315x4- _0x4315x9[_0x2895[119]]:_0x4315x9[_0x2895[235]]= _0x4315x4,this[_0x2895[251]][_0x2895[1724]](_0x4315x3[_0x4315x5],_0x4315x9))};this[_0x2895[746]]( new mxEventObject(mxEvent.ALIGN_CELLS,_0x2895[611],_0x4315x2,_0x2895[895],_0x4315x3))}finally{this[_0x2895[251]][_0x2895[476]]()}}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[854]]= function(_0x4315x2){if(null!= _0x4315x2&& null!= this[_0x2895[2356]]){this[_0x2895[251]][_0x2895[473]]();try{var _0x4315x3=this[_0x2895[251]][_0x2895[474]](_0x4315x2);null== _0x4315x3|| 0== _0x4315x3[_0x2895[67]]?this[_0x2895[251]][_0x2895[475]](_0x4315x2,this[_0x2895[2356]]):this[_0x2895[251]][_0x2895[475]](_0x4315x2,null);this[_0x2895[1809]](_0x4315x2);this[_0x2895[746]]( new mxEventObject(mxEvent.FLIP_EDGE,_0x2895[1989],_0x4315x2))}finally{this[_0x2895[251]][_0x2895[476]]()}};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2493]]= function(_0x4315x2){this[_0x2895[2336]][_0x2895[207]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2494]]= function(_0x4315x2){for(var _0x4315x3=[],_0x4315x4=0;_0x4315x4< this[_0x2895[2336]][_0x2895[67]];_0x4315x4++){this[_0x2895[2336]][_0x4315x4]!= _0x4315x2&& _0x4315x3[_0x2895[207]](this[_0x2895[2336]][_0x4315x4])};this[_0x2895[2336]]= _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2485]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[2336]][_0x2895[67]];_0x4315x3++){var _0x4315x4=this[_0x2895[2336]][_0x4315x3][_0x2895[1202]](_0x4315x2);if(null!= _0x4315x4){return _0x4315x4}}};return null};mxGraph[_0x2895[202]][_0x2895[840]]= function(_0x4315x2,_0x4315x3){null== _0x4315x3&& (_0x4315x3= mxUtils[_0x2895[1779]](this[_0x2895[897]](),!0));this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[841]](_0x4315x3,_0x4315x2),this[_0x2895[746]]( new mxEventObject(mxEvent.ORDER_CELLS,_0x2895[2495],_0x4315x2,_0x2895[895],_0x4315x3))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[841]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x5=this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x4315x4]);_0x4315x3?this[_0x2895[251]][_0x2895[99]](_0x4315x5,_0x4315x2[_0x4315x4],_0x4315x4):this[_0x2895[251]][_0x2895[99]](_0x4315x5,_0x4315x2[_0x4315x4],this[_0x2895[251]][_0x2895[262]](_0x4315x5)- 1)};this[_0x2895[746]]( new mxEventObject(mxEvent.CELLS_ORDERED,_0x2895[2495],_0x4315x3,_0x2895[895],_0x4315x2))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[844]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null== _0x4315x4&& (_0x4315x4= mxUtils[_0x2895[1779]](this[_0x2895[897]](),!0));_0x4315x4= this[_0x2895[2496]](_0x4315x4);null== _0x4315x2&& (_0x4315x2= this[_0x2895[2497]](_0x4315x4));var _0x4315x5=this[_0x2895[2498]](_0x4315x2,_0x4315x4,_0x4315x3);if(0< _0x4315x4[_0x2895[67]]&& null!= _0x4315x5){var _0x4315x9=this[_0x2895[251]][_0x2895[1197]](_0x4315x2);null== _0x4315x9&& (_0x4315x9= this[_0x2895[251]][_0x2895[1197]](_0x4315x4[0]));this[_0x2895[251]][_0x2895[473]]();try{null== this[_0x2895[1198]](_0x4315x2)&& this[_0x2895[251]][_0x2895[1724]](_0x4315x2, new mxGeometry);var _0x4315xa=this[_0x2895[251]][_0x2895[262]](_0x4315x9);this[_0x2895[833]]([_0x4315x2],_0x4315x9,_0x4315xa,null,null,!1);_0x4315xa= this[_0x2895[251]][_0x2895[262]](_0x4315x2);this[_0x2895[833]](_0x4315x4,_0x4315x2,_0x4315xa,null,null,!1,!1);this[_0x2895[835]](_0x4315x4,-_0x4315x5[_0x2895[235]],-_0x4315x5[_0x2895[236]],!1,!0);this[_0x2895[837]]([_0x4315x2],[_0x4315x5]);this[_0x2895[746]]( new mxEventObject(mxEvent.GROUP_CELLS,_0x2895[1504],_0x4315x2,_0x2895[467],_0x4315x3,_0x2895[895],_0x4315x4))}finally{this[_0x2895[251]][_0x2895[476]]()}};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2496]]= function(_0x4315x2){var _0x4315x3=[];if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){var _0x4315x4=this[_0x2895[251]][_0x2895[1197]](_0x4315x2[0]);_0x4315x3[_0x2895[207]](_0x4315x2[0]);for(var _0x4315x5=1;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x4315x5])== _0x4315x4&& _0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x5])}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2498]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= this[_0x2895[1729]](_0x4315x3);null!= _0x4315x3&& (this[_0x2895[1730]](_0x4315x2)&& (_0x4315x2= this[_0x2895[1731]](_0x4315x2),_0x4315x3[_0x2895[235]]-= _0x4315x2[_0x2895[117]],_0x4315x3[_0x2895[236]]-= _0x4315x2[_0x2895[119]],_0x4315x3[_0x2895[117]]+= _0x4315x2[_0x2895[117]],_0x4315x3[_0x2895[119]]+= _0x4315x2[_0x2895[119]]),_0x4315x3[_0x2895[235]]-= _0x4315x4,_0x4315x3[_0x2895[236]]-= _0x4315x4,_0x4315x3[_0x2895[117]]+= 2* _0x4315x4,_0x4315x3[_0x2895[119]]+= 2* _0x4315x4);return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2497]]= function(_0x4315x2){_0x4315x2= new mxCell(_0x2895[110]);_0x4315x2[_0x2895[1993]](!0);_0x4315x2[_0x2895[1995]](!1);return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[845]]= function(_0x4315x2){var _0x4315x3=[];if(null== _0x4315x2){_0x4315x2= this[_0x2895[897]]();for(var _0x4315x4=[],_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){0< this[_0x2895[251]][_0x2895[262]](_0x4315x2[_0x4315x5])&& _0x4315x4[_0x2895[207]](_0x4315x2[_0x4315x5])};_0x4315x2= _0x4315x4};if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){this[_0x2895[251]][_0x2895[473]]();try{for(_0x4315x5= 0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){var _0x4315x9=this[_0x2895[251]][_0x2895[1953]](_0x4315x2[_0x4315x5]);if(null!= _0x4315x9&& 0< _0x4315x9[_0x2895[67]]){var _0x4315x9=_0x4315x9[_0x2895[1853]](),_0x4315xa=this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x4315x5]),_0x4315x12=this[_0x2895[251]][_0x2895[262]](_0x4315xa);this[_0x2895[833]](_0x4315x9,_0x4315xa,_0x4315x12,null,null,!0);_0x4315x3= _0x4315x3[_0x2895[1919]](_0x4315x9)}};this[_0x2895[843]](this[_0x2895[2499]](_0x4315x2));this[_0x2895[746]]( new mxEventObject(mxEvent.UNGROUP_CELLS,_0x2895[895],_0x4315x2))}finally{this[_0x2895[251]][_0x2895[476]]()}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[846]]= function(_0x4315x2){null== _0x4315x2&& (_0x4315x2= this[_0x2895[897]]());this[_0x2895[251]][_0x2895[473]]();try{var _0x4315x3=this[_0x2895[902]](),_0x4315x4=this[_0x2895[251]][_0x2895[262]](_0x4315x3);this[_0x2895[833]](_0x4315x2,_0x4315x3,_0x4315x4,null,null,!0);this[_0x2895[746]]( new mxEventObject(mxEvent.REMOVE_CELLS_FROM_PARENT,_0x2895[895],_0x4315x2))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[1917]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null== _0x4315x2&& (_0x4315x2= this[_0x2895[897]]());_0x4315x3= null!= _0x4315x3?_0x4315x3:0;_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){var _0x4315x9=this[_0x2895[1198]](_0x4315x2[_0x4315x5]);if(null!= _0x4315x9){var _0x4315xa=this[_0x2895[1955]](_0x4315x2[_0x4315x5]);if(null!= _0x4315xa&& 0< _0x4315xa[_0x2895[67]]){var _0x4315x12=this[_0x2895[1729]](_0x4315xa);if(0< _0x4315x12[_0x2895[117]]&& 0< _0x4315x12[_0x2895[119]]){var _0x4315x13=this[_0x2895[1730]](_0x4315x2[_0x4315x5])?this[_0x2895[1731]](_0x4315x2[_0x4315x5]): new mxRectangle,_0x4315x9=_0x4315x9[_0x2895[238]]();_0x4315x4&& (_0x4315x9[_0x2895[235]]+= _0x4315x12[_0x2895[235]]- _0x4315x13[_0x2895[117]]- _0x4315x3,_0x4315x9[_0x2895[236]]+= _0x4315x12[_0x2895[236]]- _0x4315x13[_0x2895[119]]- _0x4315x3);_0x4315x9[_0x2895[117]]= _0x4315x12[_0x2895[117]]+ _0x4315x13[_0x2895[117]]+ 2* _0x4315x3;_0x4315x9[_0x2895[119]]= _0x4315x12[_0x2895[119]]+ _0x4315x13[_0x2895[119]]+ 2* _0x4315x3;this[_0x2895[251]][_0x2895[1724]](_0x4315x2[_0x4315x5],_0x4315x9);this[_0x2895[834]](_0x4315xa,-_0x4315x12[_0x2895[235]]+ _0x4315x13[_0x2895[117]]+ _0x4315x3,-_0x4315x12[_0x2895[236]]+ _0x4315x13[_0x2895[119]]+ _0x4315x3)}}}}}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[899]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;var _0x4315x4=null;if(null!= _0x4315x2){for(var _0x4315x5={},_0x4315x4=[],_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2[_0x4315x9]);_0x4315x5[_0x4315xa]= _0x4315x2[_0x4315x9];_0x4315x4[_0x2895[207]](_0x4315x2[_0x4315x9])};if(0< _0x4315x4[_0x2895[67]]){for(var _0x4315xa=this[_0x2895[441]][_0x2895[255]],_0x4315x12=this[_0x2895[441]][_0x2895[513]],_0x4315x4=this[_0x2895[251]][_0x2895[899]](_0x4315x2,!0),_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){if(!_0x4315x3&& this[_0x2895[251]][_0x2895[250]](_0x4315x4[_0x4315x9])&& null!= this[_0x2895[2500]](_0x4315x4[_0x4315x9],this[_0x2895[251]][_0x2895[1709]](_0x4315x4[_0x4315x9],!0),this[_0x2895[251]][_0x2895[1709]](_0x4315x4[_0x4315x9],!1))){_0x4315x4[_0x4315x9]= null}else {var _0x4315x13=this[_0x2895[251]][_0x2895[1721]](_0x4315x4[_0x4315x9]);if(null!= _0x4315x13){var _0x4315x14=this[_0x2895[441]][_0x2895[248]](_0x4315x2[_0x4315x9]),_0x4315x15=this[_0x2895[441]][_0x2895[248]](this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x4315x9]));if(null!= _0x4315x14&& null!= _0x4315x15){var _0x4315x16=_0x4315x15[_0x2895[2078]][_0x2895[235]],_0x4315x15=_0x4315x15[_0x2895[2078]][_0x2895[236]];if(this[_0x2895[251]][_0x2895[250]](_0x4315x4[_0x4315x9])){for(var _0x4315x14=_0x4315x14[_0x2895[439]],_0x4315x17=this[_0x2895[251]][_0x2895[1709]](_0x4315x2[_0x4315x9],!0),_0x4315x18=mxCellPath[_0x2895[385]](_0x4315x17);null!= _0x4315x17&& null== _0x4315x5[_0x4315x18];){_0x4315x17= this[_0x2895[251]][_0x2895[1197]](_0x4315x17),_0x4315x18= mxCellPath[_0x2895[385]](_0x4315x17)};null== _0x4315x17&& _0x4315x13[_0x2895[2007]]( new mxPoint(_0x4315x14[0][_0x2895[235]]/ _0x4315xa- _0x4315x12[_0x2895[235]],_0x4315x14[0][_0x2895[236]]/ _0x4315xa- _0x4315x12[_0x2895[236]]),!0);_0x4315x17= this[_0x2895[251]][_0x2895[1709]](_0x4315x2[_0x4315x9],!1);for(_0x4315x18= mxCellPath[_0x2895[385]](_0x4315x17);null!= _0x4315x17&& null== _0x4315x5[_0x4315x18];){_0x4315x17= this[_0x2895[251]][_0x2895[1197]](_0x4315x17),_0x4315x18= mxCellPath[_0x2895[385]](_0x4315x17)};null== _0x4315x17&& (_0x4315x17= _0x4315x14[_0x2895[67]]- 1,_0x4315x13[_0x2895[2007]]( new mxPoint(_0x4315x14[_0x4315x17][_0x2895[235]]/ _0x4315xa- _0x4315x12[_0x2895[235]],_0x4315x14[_0x4315x17][_0x2895[236]]/ _0x4315xa- _0x4315x12[_0x2895[236]]),!1));_0x4315x13= _0x4315x13[_0x2895[1525]];if(null!= _0x4315x13){for(_0x4315x14= 0;_0x4315x14< _0x4315x13[_0x2895[67]];_0x4315x14++){_0x4315x13[_0x4315x14][_0x2895[235]]+= _0x4315x16,_0x4315x13[_0x4315x14][_0x2895[236]]+= _0x4315x15}}}else {_0x4315x13[_0x2895[235]]+= _0x4315x16,_0x4315x13[_0x2895[236]]+= _0x4315x15}}}}}}else {_0x4315x4= []}};return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[2501]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){_0x4315x3= this[_0x2895[2502]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14);return this[_0x2895[2103]](_0x4315x3,_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2502]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){_0x4315x2= new mxGeometry(_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12);_0x4315x2[_0x2895[1500]]= null!= _0x4315x14?_0x4315x14:!1;_0x4315x4= new mxCell(_0x4315x4,_0x4315x2,_0x4315x13);_0x4315x4[_0x2895[1945]](_0x4315x3);_0x4315x4[_0x2895[1993]](!0);_0x4315x4[_0x2895[1995]](!0);return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[1960]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x3= this[_0x2895[2503]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa);return this[_0x2895[2504]](_0x4315x3,_0x4315x2,_0x4315x5,_0x4315x9)};mxGraph[_0x2895[202]][_0x2895[2503]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x2= new mxCell(_0x4315x4, new mxGeometry,_0x4315xa);_0x4315x2[_0x2895[1945]](_0x4315x3);_0x4315x2[_0x2895[1994]](!0);_0x4315x2[_0x2895[256]][_0x2895[1500]]= !0;return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2504]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){return this[_0x2895[2103]](_0x4315x2,_0x4315x3,_0x4315x9,_0x4315x4,_0x4315x5)};mxGraph[_0x2895[202]][_0x2895[2103]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){return this[_0x2895[832]]([_0x4315x2],_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)[0]};mxGraph[_0x2895[202]][_0x2895[832]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){null== _0x4315x3&& (_0x4315x3= this[_0x2895[902]]());null== _0x4315x4&& (_0x4315x4= this[_0x2895[251]][_0x2895[262]](_0x4315x3));this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[833]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,!1,!0),this[_0x2895[746]]( new mxEventObject(mxEvent.ADD_CELLS,_0x2895[895],_0x4315x2,_0x2895[1101],_0x4315x3,_0x2895[1983],_0x4315x4,_0x2895[1097],_0x4315x5,_0x2895[772],_0x4315x9))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[833]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){if(null!= _0x4315x2&& null!= _0x4315x3&& null!= _0x4315x4){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x13=_0x4315xa?this[_0x2895[441]][_0x2895[248]](_0x4315x3):null,_0x4315x14=null!= _0x4315x13?_0x4315x13[_0x2895[2078]]:null,_0x4315x15= new mxPoint(0,0),_0x4315x13=0;_0x4315x13< _0x4315x2[_0x2895[67]];_0x4315x13++){if(null== _0x4315x2[_0x4315x13]){_0x4315x4--}else {var _0x4315x16=this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x4315x13]);if(null!= _0x4315x14&& _0x4315x2[_0x4315x13]!= _0x4315x3&& _0x4315x3!= _0x4315x16){var _0x4315x17=this[_0x2895[441]][_0x2895[248]](_0x4315x16),_0x4315x18=null!= _0x4315x17?_0x4315x17[_0x2895[2078]]:_0x4315x15,_0x4315x19=this[_0x2895[251]][_0x2895[1721]](_0x4315x2[_0x4315x13]);if(null!= _0x4315x19){var _0x4315x1a=_0x4315x18[_0x2895[235]]- _0x4315x14[_0x2895[235]],_0x4315x1b=_0x4315x18[_0x2895[236]]- _0x4315x14[_0x2895[236]],_0x4315x19=_0x4315x19[_0x2895[238]]();_0x4315x19[_0x2895[513]](_0x4315x1a,_0x4315x1b);!_0x4315x19[_0x2895[1500]]&& (this[_0x2895[251]][_0x2895[1193]](_0x4315x2[_0x4315x13])&& !this[_0x2895[2505]]())&& (_0x4315x19[_0x2895[235]]= Math[_0x2895[160]](0,_0x4315x19[_0x2895[235]]),_0x4315x19[_0x2895[236]]= Math[_0x2895[160]](0,_0x4315x19[_0x2895[236]]));this[_0x2895[251]][_0x2895[1724]](_0x4315x2[_0x4315x13],_0x4315x19)}};_0x4315x3== _0x4315x16&& _0x4315x4+ _0x4315x13> this[_0x2895[251]][_0x2895[262]](_0x4315x3)&& _0x4315x4--;this[_0x2895[251]][_0x2895[99]](_0x4315x3,_0x4315x2[_0x4315x13],_0x4315x4+ _0x4315x13);this[_0x2895[2506]]()&& this[_0x2895[2507]](_0x4315x2[_0x4315x13])&& this[_0x2895[2508]](_0x4315x2[_0x4315x13]);(null== _0x4315x12|| _0x4315x12)&& this[_0x2895[2509]](_0x4315x2[_0x4315x13]);null!= _0x4315x5&& this[_0x2895[852]](_0x4315x2[_0x4315x13],_0x4315x5,!0);null!= _0x4315x9&& this[_0x2895[852]](_0x4315x2[_0x4315x13],_0x4315x9,!1)}};this[_0x2895[746]]( new mxEventObject(mxEvent.CELLS_ADDED,_0x2895[895],_0x4315x2,_0x2895[1101],_0x4315x3,_0x2895[1983],_0x4315x4,_0x2895[1097],_0x4315x5,_0x2895[772],_0x4315x9,_0x2895[492],_0x4315xa))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[842]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;null== _0x4315x2&& (_0x4315x2= this[_0x2895[2510]](this[_0x2895[897]]()));_0x4315x3&& (_0x4315x2= this[_0x2895[2510]](this[_0x2895[2499]](_0x4315x2)));this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[843]](_0x4315x2),this[_0x2895[746]]( new mxEventObject(mxEvent.REMOVE_CELLS,_0x2895[895],_0x4315x2,_0x2895[2511],_0x4315x3))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[843]]= function(_0x4315x2){if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){var _0x4315x3=this[_0x2895[441]][_0x2895[255]],_0x4315x4=this[_0x2895[441]][_0x2895[513]];this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x5={},_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2[_0x4315x9]);_0x4315x5[_0x4315xa]= _0x4315x2[_0x4315x9]};for(_0x4315x9= 0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){for(var _0x4315x12=this[_0x2895[1756]](_0x4315x2[_0x4315x9]),_0x4315x13=0;_0x4315x13< _0x4315x12[_0x2895[67]];_0x4315x13++){if(_0x4315xa= mxCellPath[_0x2895[385]](_0x4315x12[_0x4315x13]),null== _0x4315x5[_0x4315xa]){var _0x4315x14=this[_0x2895[251]][_0x2895[1721]](_0x4315x12[_0x4315x13]);if(null!= _0x4315x14){var _0x4315x15=this[_0x2895[441]][_0x2895[248]](_0x4315x12[_0x4315x13]);if(null!= _0x4315x15){var _0x4315x14=_0x4315x14[_0x2895[238]](),_0x4315x16=_0x4315x15[_0x2895[1710]](!0) == _0x4315x2[_0x4315x9],_0x4315x17=_0x4315x15[_0x2895[439]],_0x4315x18=_0x4315x16?0:_0x4315x17[_0x2895[67]]- 1;_0x4315x14[_0x2895[2007]]( new mxPoint(_0x4315x17[_0x4315x18][_0x2895[235]]/ _0x4315x3- _0x4315x4[_0x2895[235]],_0x4315x17[_0x4315x18][_0x2895[236]]/ _0x4315x3- _0x4315x4[_0x2895[236]]),_0x4315x16);this[_0x2895[251]][_0x2895[1957]](_0x4315x12[_0x4315x13],null,_0x4315x16);this[_0x2895[251]][_0x2895[1724]](_0x4315x12[_0x4315x13],_0x4315x14)}}}};this[_0x2895[251]][_0x2895[205]](_0x4315x2[_0x4315x9])};this[_0x2895[746]]( new mxEventObject(mxEvent.CELLS_REMOVED,_0x2895[895],_0x4315x2))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[853]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x5= _0x4315x5|| 0;_0x4315x9= _0x4315x9|| 0;null== _0x4315x4&& (_0x4315x4= this[_0x2895[899]]([_0x4315x2])[0]);var _0x4315xa=this[_0x2895[251]][_0x2895[1197]](_0x4315x2),_0x4315x12=this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!0);this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[835]](_0x4315x3,_0x4315x5,_0x4315x9,!1,!1),this[_0x2895[833]](_0x4315x3,_0x4315xa,this[_0x2895[251]][_0x2895[262]](_0x4315xa),null,null,!0),this[_0x2895[833]]([_0x4315x4],_0x4315xa,this[_0x2895[251]][_0x2895[262]](_0x4315xa),_0x4315x12,_0x4315x3[0],!1),this[_0x2895[852]](_0x4315x2,_0x4315x3[0],!0),this[_0x2895[746]]( new mxEventObject(mxEvent.SPLIT_EDGE,_0x2895[1989],_0x4315x2,_0x2895[895],_0x4315x3,_0x2895[2512],_0x4315x4,_0x2895[1126],_0x4315x5,_0x2895[1125],_0x4315x9))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[838]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null== _0x4315x3&& (_0x4315x3= this[_0x2895[897]]());_0x4315x4&& (_0x4315x3= this[_0x2895[2499]](_0x4315x3));this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[839]](_0x4315x3,_0x4315x2),this[_0x2895[746]]( new mxEventObject(mxEvent.TOGGLE_CELLS,_0x2895[539],_0x4315x2,_0x2895[895],_0x4315x3,_0x2895[2511],_0x4315x4))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[839]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){this[_0x2895[251]][_0x2895[175]](_0x4315x2[_0x4315x4],_0x4315x3)}}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[847]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;null== _0x4315x4&& (_0x4315x4= this[_0x2895[2513]](this[_0x2895[897]](),_0x4315x2));this[_0x2895[2126]](!1);this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[848]](_0x4315x4,_0x4315x2,_0x4315x3,_0x4315x5),this[_0x2895[746]]( new mxEventObject(mxEvent.FOLD_CELLS,_0x2895[2514],_0x4315x2,_0x2895[2515],_0x4315x3,_0x2895[895],_0x4315x4))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[848]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){if((!_0x4315x5|| this[_0x2895[2516]](_0x4315x2[_0x4315x9],_0x4315x3)) && _0x4315x3!= this[_0x2895[1742]](_0x4315x2[_0x4315x9])){if(this[_0x2895[251]][_0x2895[1972]](_0x4315x2[_0x4315x9],_0x4315x3),this[_0x2895[2517]](_0x4315x2[_0x4315x9],_0x4315x3),this[_0x2895[2507]](_0x4315x2[_0x4315x9])&& this[_0x2895[2508]](_0x4315x2[_0x4315x9]),_0x4315x4){var _0x4315xa=this[_0x2895[251]][_0x2895[1953]](_0x4315x2[_0x4315x9]);this[_0x2895[847]](_0x4315xa,_0x4315x3,_0x4315x4)}}};this[_0x2895[746]]( new mxEventObject(mxEvent.CELLS_FOLDED,_0x2895[895],_0x4315x2,_0x2895[2514],_0x4315x3,_0x2895[2515],_0x4315x4))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2517]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2){var _0x4315x4=this[_0x2895[251]][_0x2895[1721]](_0x4315x2);null!= _0x4315x4&& (_0x4315x4= _0x4315x4[_0x2895[238]](),this[_0x2895[2518]](_0x4315x2,_0x4315x4,_0x4315x3),_0x4315x4[_0x2895[2005]](),this[_0x2895[251]][_0x2895[1724]](_0x4315x2,_0x4315x4))}};mxGraph[_0x2895[202]][_0x2895[2518]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= _0x4315x2&& null!= _0x4315x3){_0x4315x4= this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x4= null!= _0x4315x4?_0x4315x4[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);if(null== _0x4315x3[_0x2895[2002]]){var _0x4315x5=_0x4315x3;this[_0x2895[2394]]&& (_0x4315x2= this[_0x2895[2519]](_0x4315x2),null!= _0x4315x2&& (_0x4315x5= _0x4315x2,_0x4315x2= mxUtils[_0x2895[433]](_0x4315x4,mxConstants.STYLE_STARTSIZE),0< _0x4315x2&& (_0x4315x5[_0x2895[119]]= Math[_0x2895[160]](_0x4315x5[_0x2895[119]],_0x4315x2))));_0x4315x3[_0x2895[2002]]= new mxRectangle(0,0,_0x4315x5[_0x2895[117]],_0x4315x5[_0x2895[119]])};if(null!= _0x4315x3[_0x2895[2002]]){_0x4315x3[_0x2895[2002]][_0x2895[235]]= _0x4315x3[_0x2895[235]];_0x4315x3[_0x2895[2002]][_0x2895[236]]= _0x4315x3[_0x2895[236]];var _0x4315x9=mxUtils[_0x2895[431]](_0x4315x4[mxConstants[_0x2895[2278]]]|| _0x2895[468]);0!= _0x4315x9&& (_0x4315x2= _0x4315x3[_0x2895[2002]][_0x2895[241]]()- _0x4315x3[_0x2895[241]](),_0x4315x4= _0x4315x3[_0x2895[2002]][_0x2895[242]]()- _0x4315x3[_0x2895[242]](),_0x4315x5= Math[_0x2895[426]](_0x4315x9),_0x4315x9= Math[_0x2895[427]](_0x4315x9),_0x4315x3[_0x2895[2002]][_0x2895[235]]+= _0x4315x5* _0x4315x2- _0x4315x9* _0x4315x4- _0x4315x2,_0x4315x3[_0x2895[2002]][_0x2895[236]]+= _0x4315x9* _0x4315x2+ _0x4315x5* _0x4315x4- _0x4315x4)}}};mxGraph[_0x2895[202]][_0x2895[2499]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[1853]]();return _0x4315x3= _0x4315x3[_0x2895[1919]](this[_0x2895[2520]](_0x4315x2))};mxGraph[_0x2895[202]][_0x2895[2520]]= function(_0x4315x2){var _0x4315x3=[];if(null!= _0x4315x2){for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){for(var _0x4315x5=this[_0x2895[251]][_0x2895[1707]](_0x4315x2[_0x4315x4]),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){_0x4315x3[_0x2895[207]](this[_0x2895[251]][_0x2895[1708]](_0x4315x2[_0x4315x4],_0x4315x9))};_0x4315x5= this[_0x2895[251]][_0x2895[1953]](_0x4315x2[_0x4315x4]);_0x4315x3= _0x4315x3[_0x2895[1919]](this[_0x2895[2520]](_0x4315x5))}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[858]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[2457]](_0x4315x2,_0x4315x3),this[_0x2895[746]]( new mxEventObject(mxEvent.UPDATE_CELL_SIZE,_0x2895[246],_0x4315x2,_0x2895[2521],_0x4315x3))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2457]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2){this[_0x2895[251]][_0x2895[473]]();try{var _0x4315x4=this[_0x2895[2519]](_0x4315x2),_0x4315x5=this[_0x2895[251]][_0x2895[1721]](_0x4315x2);if(null!= _0x4315x4&& null!= _0x4315x5){var _0x4315x9=this[_0x2895[1742]](_0x4315x2),_0x4315x5=_0x4315x5[_0x2895[238]]();if(this[_0x2895[1730]](_0x4315x2)){var _0x4315xa=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x12=null!= _0x4315xa?_0x4315xa[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2),_0x4315x13=this[_0x2895[251]][_0x2895[474]](_0x4315x2);null== _0x4315x13&& (_0x4315x13= _0x2895[110]);mxUtils[_0x2895[433]](_0x4315x12,mxConstants.STYLE_HORIZONTAL,!0)?(_0x4315x13= mxUtils[_0x2895[475]](_0x4315x13,mxConstants.STYLE_STARTSIZE,_0x4315x4[_0x2895[119]]+ 8),_0x4315x9&& (_0x4315x5[_0x2895[119]]= _0x4315x4[_0x2895[119]]+ 8),_0x4315x5[_0x2895[117]]= _0x4315x4[_0x2895[117]]):(_0x4315x13= mxUtils[_0x2895[475]](_0x4315x13,mxConstants.STYLE_STARTSIZE,_0x4315x4[_0x2895[117]]+ 8),_0x4315x9&& (_0x4315x5[_0x2895[117]]= _0x4315x4[_0x2895[117]]+ 8),_0x4315x5[_0x2895[119]]= _0x4315x4[_0x2895[119]]);this[_0x2895[251]][_0x2895[475]](_0x4315x2,_0x4315x13)}else {_0x4315x5[_0x2895[117]]= _0x4315x4[_0x2895[117]],_0x4315x5[_0x2895[119]]= _0x4315x4[_0x2895[119]]};if(!_0x4315x3&& !_0x4315x9){var _0x4315x14=this[_0x2895[441]][_0x2895[1799]](this[_0x2895[251]][_0x2895[1953]](_0x4315x2));if(null!= _0x4315x14){var _0x4315x15=this[_0x2895[441]][_0x2895[513]],_0x4315x16=this[_0x2895[441]][_0x2895[255]],_0x4315x17=(_0x4315x14[_0x2895[236]]+ _0x4315x14[_0x2895[119]])/ _0x4315x16- _0x4315x5[_0x2895[236]]- _0x4315x15[_0x2895[236]];_0x4315x5[_0x2895[117]]= Math[_0x2895[160]](_0x4315x5[_0x2895[117]],(_0x4315x14[_0x2895[235]]+ _0x4315x14[_0x2895[117]])/ _0x4315x16- _0x4315x5[_0x2895[235]]- _0x4315x15[_0x2895[235]]);_0x4315x5[_0x2895[119]]= Math[_0x2895[160]](_0x4315x5[_0x2895[119]],_0x4315x17)}};this[_0x2895[837]]([_0x4315x2],[_0x4315x5])}}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2519]]= function(_0x4315x2){var _0x4315x3=null;if(null!= _0x4315x2){var _0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x5=null!= _0x4315x4?_0x4315x4[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);if(null!= _0x4315x5&& !this[_0x2895[251]][_0x2895[250]](_0x4315x2)){var _0x4315x9=_0x4315x5[mxConstants[_0x2895[2185]]]|| mxConstants[_0x2895[483]],_0x4315xa=0,_0x4315x3=0;if((null!= this[_0x2895[1202]](_0x4315x4)|| null!= _0x4315x5[mxConstants[_0x2895[2484]]])&& _0x4315x5[mxConstants[_0x2895[2059]]]== mxConstants[_0x2895[2522]]){_0x4315x5[mxConstants[_0x2895[2063]]]== mxConstants[_0x2895[481]]&& (_0x4315xa+= parseFloat(_0x4315x5[mxConstants[_0x2895[2523]]])|| mxLabel[_0x2895[202]][_0x2895[1680]]),_0x4315x5[mxConstants[_0x2895[2064]]]!= mxConstants[_0x2895[479]]&& (_0x4315x3+= parseFloat(_0x4315x5[mxConstants[_0x2895[2524]]])|| mxLabel[_0x2895[202]][_0x2895[1680]])};_0x4315xa+= 2* (_0x4315x5[mxConstants[_0x2895[2143]]]|| 0);_0x4315xa+= _0x4315x5[mxConstants[_0x2895[2147]]]|| 0;_0x4315xa+= _0x4315x5[mxConstants[_0x2895[2145]]]|| 0;_0x4315x3+= 2* (_0x4315x5[mxConstants[_0x2895[2143]]]|| 0);_0x4315x3+= _0x4315x5[mxConstants[_0x2895[2144]]]|| 0;_0x4315x3+= _0x4315x5[mxConstants[_0x2895[2146]]]|| 0;_0x4315x4= this[_0x2895[2205]](_0x4315x4);null!= _0x4315x4&& (_0x4315xa+= _0x4315x4[_0x2895[117]]+ 8);_0x4315x4= this[_0x2895[2183]](_0x4315x2);null!= _0x4315x4&& 0< _0x4315x4[_0x2895[67]]?(this[_0x2895[2186]](_0x4315x2)|| (_0x4315x4= _0x4315x4[_0x2895[230]](/\n/g,_0x2895[545])),_0x4315x9= mxUtils[_0x2895[2525]](_0x4315x4,_0x4315x9,_0x4315x5[mxConstants[_0x2895[2188]]]),_0x4315x2= _0x4315x9[_0x2895[117]]+ _0x4315xa,_0x4315x3= _0x4315x9[_0x2895[119]]+ _0x4315x3,mxUtils[_0x2895[433]](_0x4315x5,mxConstants.STYLE_HORIZONTAL,!0)|| (_0x4315x5= _0x4315x3,_0x4315x3= _0x4315x2,_0x4315x2= _0x4315x5),this[_0x2895[991]]&& (_0x4315x2= this[_0x2895[1021]](_0x4315x2+ this[_0x2895[1020]]/ 2),_0x4315x3= this[_0x2895[1021]](_0x4315x3+ this[_0x2895[1020]]/ 2)),_0x4315x3= new mxRectangle(0,0,_0x4315x2,_0x4315x3)):(_0x4315x5= 4* this[_0x2895[1020]],_0x4315x3= new mxRectangle(0,0,_0x4315x5,_0x4315x5))}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2216]]= function(_0x4315x2,_0x4315x3){if(0.2< Math[_0x2895[425]](1- _0x4315x3[_0x2895[255]])){var _0x4315x4=this[_0x2895[441]][_0x2895[255]],_0x4315x5=this[_0x2895[441]][_0x2895[513]],_0x4315x9=_0x4315x2[_0x2895[117]]* _0x4315x3[_0x2895[255]],_0x4315xa=_0x4315x2[_0x2895[119]]* _0x4315x3[_0x2895[255]],_0x4315x12=_0x4315x2[_0x2895[236]]- (_0x4315xa- _0x4315x2[_0x2895[119]])/ 2,_0x4315x4= new mxRectangle(this[_0x2895[1021]]((_0x4315x2[_0x2895[235]]- (_0x4315x9- _0x4315x2[_0x2895[117]])/ 2)/ _0x4315x4)- _0x4315x5[_0x2895[235]],this[_0x2895[1021]](_0x4315x12/ _0x4315x4)- _0x4315x5[_0x2895[236]],this[_0x2895[1021]](_0x4315x9/ _0x4315x4),this[_0x2895[1021]](_0x4315xa/ _0x4315x4));this[_0x2895[2526]](_0x4315x2[_0x2895[246]],_0x4315x4)}};mxGraph[_0x2895[202]][_0x2895[2526]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[836]]([_0x4315x2],[_0x4315x3])[0]};mxGraph[_0x2895[202]][_0x2895[836]]= function(_0x4315x2,_0x4315x3){this[_0x2895[251]][_0x2895[473]]();try{this[_0x2895[837]](_0x4315x2,_0x4315x3),this[_0x2895[746]]( new mxEventObject(mxEvent.RESIZE_CELLS,_0x2895[895],_0x4315x2,_0x2895[1562],_0x4315x3))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[837]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& null!= _0x4315x3&& _0x4315x2[_0x2895[67]]== _0x4315x3[_0x2895[67]]){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x5=_0x4315x3[_0x4315x4],_0x4315x9=this[_0x2895[251]][_0x2895[1721]](_0x4315x2[_0x4315x4]);if(null!= _0x4315x9&& (_0x4315x9[_0x2895[235]]!= _0x4315x5[_0x2895[235]]|| _0x4315x9[_0x2895[236]]!= _0x4315x5[_0x2895[236]]|| _0x4315x9[_0x2895[117]]!= _0x4315x5[_0x2895[117]]|| _0x4315x9[_0x2895[119]]!= _0x4315x5[_0x2895[119]])){_0x4315x9= _0x4315x9[_0x2895[238]]();if(_0x4315x9[_0x2895[1500]]){var _0x4315xa=_0x4315x9[_0x2895[1368]];null!= _0x4315xa&& (_0x4315xa[_0x2895[235]]+= _0x4315x5[_0x2895[235]]- _0x4315x9[_0x2895[235]],_0x4315xa[_0x2895[236]]+= _0x4315x5[_0x2895[236]]- _0x4315x9[_0x2895[236]])}else {_0x4315x9[_0x2895[235]]= _0x4315x5[_0x2895[235]],_0x4315x9[_0x2895[236]]= _0x4315x5[_0x2895[236]]};_0x4315x9[_0x2895[117]]= _0x4315x5[_0x2895[117]];_0x4315x9[_0x2895[119]]= _0x4315x5[_0x2895[119]];!_0x4315x9[_0x2895[1500]]&& (this[_0x2895[251]][_0x2895[1193]](_0x4315x2[_0x4315x4])&& !this[_0x2895[2505]]())&& (_0x4315x9[_0x2895[235]]= Math[_0x2895[160]](0,_0x4315x9[_0x2895[235]]),_0x4315x9[_0x2895[236]]= Math[_0x2895[160]](0,_0x4315x9[_0x2895[236]]));this[_0x2895[251]][_0x2895[1724]](_0x4315x2[_0x4315x4],_0x4315x9);this[_0x2895[2507]](_0x4315x2[_0x4315x4])&& this[_0x2895[2508]](_0x4315x2[_0x4315x4])}};this[_0x2895[2399]]&& this[_0x2895[1750]](_0x4315x2);this[_0x2895[746]]( new mxEventObject(mxEvent.CELLS_RESIZED,_0x2895[895],_0x4315x2,_0x2895[1562],_0x4315x3))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2508]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[251]][_0x2895[1197]](_0x4315x2),_0x4315x4=this[_0x2895[251]][_0x2895[1721]](_0x4315x3);if(null!= _0x4315x3&& (null!= _0x4315x4&& !this[_0x2895[1742]](_0x4315x3))&& (_0x4315x2= this[_0x2895[251]][_0x2895[1721]](_0x4315x2),null!= _0x4315x2&& (_0x4315x4[_0x2895[117]]< _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]|| _0x4315x4[_0x2895[119]]< _0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]))){_0x4315x4= _0x4315x4[_0x2895[238]](),_0x4315x4[_0x2895[117]]= Math[_0x2895[160]](_0x4315x4[_0x2895[117]],_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]),_0x4315x4[_0x2895[119]]= Math[_0x2895[160]](_0x4315x4[_0x2895[119]],_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]),this[_0x2895[837]]([_0x4315x3],[_0x4315x4])}}};mxGraph[_0x2895[202]][_0x2895[903]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){return this[_0x2895[834]](_0x4315x2,_0x4315x3,_0x4315x4,!0,_0x4315x5,_0x4315x9)};mxGraph[_0x2895[202]][_0x2895[834]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x3= null!= _0x4315x3?_0x4315x3:0;_0x4315x4= null!= _0x4315x4?_0x4315x4:0;_0x4315x5= null!= _0x4315x5?_0x4315x5:!1;if(null!= _0x4315x2&& (0!= _0x4315x3|| 0!= _0x4315x4|| _0x4315x5|| null!= _0x4315x9)){this[_0x2895[251]][_0x2895[473]]();try{_0x4315x5&& (_0x4315x2= this[_0x2895[899]](_0x4315x2,this[_0x2895[2527]]()),null== _0x4315x9&& (_0x4315x9= this[_0x2895[902]]()));var _0x4315x12=this[_0x2895[2505]]();null!= _0x4315x9&& this[_0x2895[2528]](!0);this[_0x2895[835]](_0x4315x2,_0x4315x3,_0x4315x4,!_0x4315x5&& this[_0x2895[2529]]()&& this[_0x2895[2530]](),null== _0x4315x9);this[_0x2895[2528]](_0x4315x12);if(null!= _0x4315x9){var _0x4315x13=this[_0x2895[251]][_0x2895[262]](_0x4315x9);this[_0x2895[833]](_0x4315x2,_0x4315x9,_0x4315x13,null,null,!0)};this[_0x2895[746]]( new mxEventObject(mxEvent.MOVE_CELLS,_0x2895[895],_0x4315x2,_0x2895[1126],_0x4315x3,_0x2895[1125],_0x4315x4,_0x2895[238],_0x4315x5,_0x2895[772],_0x4315x9,_0x2895[763],_0x4315xa))}finally{this[_0x2895[251]][_0x2895[476]]()}};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[835]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x2&& (0!= _0x4315x3|| 0!= _0x4315x4)){this[_0x2895[251]][_0x2895[473]]();try{_0x4315x5&& this[_0x2895[2531]](_0x4315x2);for(var _0x4315xa=0;_0x4315xa< _0x4315x2[_0x2895[67]];_0x4315xa++){this[_0x2895[2532]](_0x4315x2[_0x4315xa],_0x4315x3,_0x4315x4),_0x4315x9&& this[_0x2895[2509]](_0x4315x2[_0x4315xa])};this[_0x2895[2400]]&& this[_0x2895[1750]](_0x4315x2);this[_0x2895[746]]( new mxEventObject(mxEvent.CELLS_MOVED,_0x2895[895],_0x4315x2,_0x2895[1126],_0x4315x4,_0x2895[1125],_0x4315x4,_0x2895[808],_0x4315x5))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2532]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[251]][_0x2895[1721]](_0x4315x2);null!= _0x4315x5&& (_0x4315x5= _0x4315x5[_0x2895[238]](),_0x4315x5[_0x2895[513]](_0x4315x3,_0x4315x4),!_0x4315x5[_0x2895[1500]]&& (this[_0x2895[251]][_0x2895[1193]](_0x4315x2)&& !this[_0x2895[2505]]())&& (_0x4315x5[_0x2895[235]]= Math[_0x2895[160]](0,_0x4315x5[_0x2895[235]]),_0x4315x5[_0x2895[236]]= Math[_0x2895[160]](0,_0x4315x5[_0x2895[236]])),_0x4315x5[_0x2895[1500]]&& !this[_0x2895[251]][_0x2895[250]](_0x4315x2)&& (null== _0x4315x5[_0x2895[1368]]?_0x4315x5[_0x2895[1368]]= new mxPoint(_0x4315x3,_0x4315x4):(_0x4315x5[_0x2895[1368]][_0x2895[235]]+= _0x4315x3,_0x4315x5[_0x2895[1368]][_0x2895[236]]+= _0x4315x4)),this[_0x2895[251]][_0x2895[1724]](_0x4315x2,_0x4315x5))};mxGraph[_0x2895[202]][_0x2895[2533]]= function(_0x4315x2){if(null!= _0x4315x2&& !this[_0x2895[251]][_0x2895[250]](_0x4315x2)){var _0x4315x3=this[_0x2895[251]][_0x2895[1197]](_0x4315x2);if(_0x4315x3== this[_0x2895[902]]()|| _0x4315x3== this[_0x2895[2534]]()){return this[_0x2895[2535]]()};if(null!= _0x4315x3&& _0x4315x3!= this[_0x2895[902]]()){var _0x4315x4=this[_0x2895[251]][_0x2895[1721]](_0x4315x3);if(null!= _0x4315x4){var _0x4315x5=_0x4315x2= 0,_0x4315x9=_0x4315x4[_0x2895[117]],_0x4315x4=_0x4315x4[_0x2895[119]];this[_0x2895[1730]](_0x4315x3)&& (_0x4315x3= this[_0x2895[1731]](_0x4315x3),_0x4315x2= _0x4315x3[_0x2895[117]],_0x4315x9-= _0x4315x3[_0x2895[117]],_0x4315x5= _0x4315x3[_0x2895[119]],_0x4315x4-= _0x4315x3[_0x2895[119]]);return new mxRectangle(_0x4315x2,_0x4315x5,_0x4315x9,_0x4315x4)}}};return null};mxGraph[_0x2895[202]][_0x2895[2535]]= function(){return this[_0x2895[2385]]};mxGraph[_0x2895[202]][_0x2895[2509]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[251]][_0x2895[1721]](_0x4315x2),_0x4315x4=this[_0x2895[2536]](_0x4315x2)?this[_0x2895[2533]](_0x4315x2):this[_0x2895[2535]]();if(null!= _0x4315x3&& null!= _0x4315x4&& !_0x4315x3[_0x2895[1500]]&& (_0x4315x3[_0x2895[235]]< _0x4315x4[_0x2895[235]]|| _0x4315x3[_0x2895[236]]< _0x4315x4[_0x2895[236]]|| _0x4315x4[_0x2895[117]]< _0x4315x3[_0x2895[235]]+ _0x4315x3[_0x2895[117]]|| _0x4315x4[_0x2895[119]]< _0x4315x3[_0x2895[236]]+ _0x4315x3[_0x2895[119]])){_0x4315x2= this[_0x2895[2537]](_0x4315x2),0< _0x4315x4[_0x2895[117]]&& (_0x4315x3[_0x2895[235]]= Math[_0x2895[243]](_0x4315x3[_0x2895[235]],_0x4315x4[_0x2895[235]]+ _0x4315x4[_0x2895[117]]- (1- _0x4315x2)* _0x4315x3[_0x2895[117]])),0< _0x4315x4[_0x2895[119]]&& (_0x4315x3[_0x2895[236]]= Math[_0x2895[243]](_0x4315x3[_0x2895[236]],_0x4315x4[_0x2895[236]]+ _0x4315x4[_0x2895[119]]- (1- _0x4315x2)* _0x4315x3[_0x2895[119]])),_0x4315x3[_0x2895[235]]= Math[_0x2895[160]](_0x4315x3[_0x2895[235]],_0x4315x4[_0x2895[235]]- _0x4315x3[_0x2895[117]]* _0x4315x2),_0x4315x3[_0x2895[236]]= Math[_0x2895[160]](_0x4315x3[_0x2895[236]],_0x4315x4[_0x2895[236]]- _0x4315x3[_0x2895[119]]* _0x4315x2)}}};mxGraph[_0x2895[202]][_0x2895[1750]]= function(_0x4315x2){if(null!= _0x4315x2){for(var _0x4315x3={},_0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x5=mxCellPath[_0x2895[385]](_0x4315x2[_0x4315x4]);_0x4315x3[_0x4315x5]= _0x4315x2[_0x4315x4]};this[_0x2895[251]][_0x2895[473]]();try{for(_0x4315x4= 0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){var _0x4315x9=this[_0x2895[251]][_0x2895[264]](_0x4315x2[_0x4315x4]);if(null!= _0x4315x9){for(_0x4315x5= 0;_0x4315x5< _0x4315x9[_0x2895[67]];_0x4315x5++){var _0x4315xa=this[_0x2895[441]][_0x2895[248]](_0x4315x9[_0x4315x5]),_0x4315x12=null!= _0x4315xa?_0x4315xa[_0x2895[1710]](!0):this[_0x2895[441]][_0x2895[1710]](_0x4315x9[_0x4315x5],!0),_0x4315x13=null!= _0x4315xa?_0x4315xa[_0x2895[1710]](!1):this[_0x2895[441]][_0x2895[1710]](_0x4315x9[_0x4315x5],!1),_0x4315x14=mxCellPath[_0x2895[385]](_0x4315x12),_0x4315x15=mxCellPath[_0x2895[385]](_0x4315x13);(null== _0x4315x3[_0x4315x14]|| null== _0x4315x3[_0x4315x15])&& this[_0x2895[1809]](_0x4315x9[_0x4315x5])}};this[_0x2895[1750]](this[_0x2895[251]][_0x2895[1953]](_0x4315x2[_0x4315x4]))}}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[1809]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[251]][_0x2895[1721]](_0x4315x2);null!= _0x4315x3&& (null!= _0x4315x3[_0x2895[1525]]&& 0< _0x4315x3[_0x2895[1525]][_0x2895[67]])&& (_0x4315x3= _0x4315x3[_0x2895[238]](),_0x4315x3[_0x2895[1525]]= [],this[_0x2895[251]][_0x2895[1724]](_0x4315x2,_0x4315x3));return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2538]]= function(_0x4315x2,_0x4315x3){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[253]]&& null!= _0x4315x2[_0x2895[253]][_0x2895[1561]]?_0x4315x2[_0x2895[253]][_0x2895[1561]][_0x2895[1531]]:null};mxGraph[_0x2895[202]][_0x2895[2288]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= null;var _0x4315x5=_0x4315x2[_0x2895[124]][_0x4315x4?mxConstants[_0x2895[2539]]:mxConstants[_0x2895[2540]]];if(null!= _0x4315x5){var _0x4315x9=_0x4315x2[_0x2895[124]][_0x4315x4?mxConstants[_0x2895[2541]]:mxConstants[_0x2895[2542]]];null!= _0x4315x9&& (_0x4315x3= new mxPoint(parseFloat(_0x4315x5),parseFloat(_0x4315x9)))};_0x4315x5= !1;null!= _0x4315x3&& (_0x4315x5= mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],_0x4315x4?mxConstants[_0x2895[2543]]:mxConstants[_0x2895[2544]],!0));return new mxConnectionConstraint(_0x4315x3,_0x4315x5)};mxGraph[_0x2895[202]][_0x2895[2545]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x5){this[_0x2895[251]][_0x2895[473]]();try{null== _0x4315x5|| null== _0x4315x5[_0x2895[2546]]?(this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2539]]:mxConstants[_0x2895[2540]],null,[_0x4315x2]),this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2541]]:mxConstants[_0x2895[2542]],null,[_0x4315x2]),this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2543]]:mxConstants[_0x2895[2544]],null,[_0x4315x2])):null!= _0x4315x5[_0x2895[2546]]&& (this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2539]]:mxConstants[_0x2895[2540]],_0x4315x5[_0x2895[2546]][_0x2895[235]],[_0x4315x2]),this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2541]]:mxConstants[_0x2895[2542]],_0x4315x5[_0x2895[2546]][_0x2895[236]],[_0x4315x2]),_0x4315x5[_0x2895[591]]?this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2543]]:mxConstants[_0x2895[2544]],null,[_0x4315x2]):this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2543]]:mxConstants[_0x2895[2544]],_0x2895[468],[_0x4315x2]))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2290]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null;if(null!= _0x4315x2){var _0x4315x5=this[_0x2895[441]][_0x2895[2087]](_0x4315x2),_0x4315x9= new mxPoint(_0x4315x5[_0x2895[241]](),_0x4315x5[_0x2895[242]]()),_0x4315xa=_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2011]]],_0x4315x12=0;if(null!= _0x4315xa&& (_0x2895[700]== _0x4315xa?_0x4315x12+= 270:_0x2895[703]== _0x4315xa?_0x4315x12+= 180:_0x2895[701]== _0x4315xa&& (_0x4315x12+= 90),_0x2895[700]== _0x4315xa|| _0x2895[701]== _0x4315xa)){_0x4315x5[_0x2895[235]]+= _0x4315x5[_0x2895[117]]/ 2- _0x4315x5[_0x2895[119]]/ 2;_0x4315x5[_0x2895[236]]+= _0x4315x5[_0x2895[119]]/ 2- _0x4315x5[_0x2895[117]]/ 2;var _0x4315x13=_0x4315x5[_0x2895[117]];_0x4315x5[_0x2895[117]]= _0x4315x5[_0x2895[119]];_0x4315x5[_0x2895[119]]= _0x4315x13};if(null!= _0x4315x3[_0x2895[2546]]){var _0x4315x14=_0x4315x4= 1,_0x4315x15=0,_0x4315x16=0;if(this[_0x2895[502]]()[_0x2895[1193]](_0x4315x2[_0x2895[246]])){var _0x4315x17=_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2547]]],_0x4315x18=_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2548]]];null!= _0x4315x2[_0x2895[253]][_0x2895[1561]]&& (_0x4315x17= 1== mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],_0x2895[1607],0)|| _0x4315x17,_0x4315x18= 1== mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],_0x2895[1608],0)|| _0x4315x18);if(_0x2895[700]== _0x4315xa|| _0x2895[701]== _0x4315xa){_0x4315x13= _0x4315x17,_0x4315x17= _0x4315x18,_0x4315x18= _0x4315x13};_0x4315x17&& (_0x4315x4= -1,_0x4315x15= -_0x4315x5[_0x2895[117]]);_0x4315x18&& (_0x4315x14= -1,_0x4315x16= -_0x4315x5[_0x2895[119]])};_0x4315x4= new mxPoint(_0x4315x5[_0x2895[235]]+ _0x4315x3[_0x2895[2546]][_0x2895[235]]* _0x4315x5[_0x2895[117]]* _0x4315x4- _0x4315x15,_0x4315x5[_0x2895[236]]+ _0x4315x3[_0x2895[2546]][_0x2895[236]]* _0x4315x5[_0x2895[119]]* _0x4315x14- _0x4315x16)};_0x4315xa= _0x4315x2[_0x2895[124]][mxConstants[_0x2895[2278]]]|| 0;_0x4315x3[_0x2895[591]]?(0!= _0x4315x12&& null!= _0x4315x4&& (_0x4315x13= _0x4315x5= 0,90== _0x4315x12?_0x4315x13= 1:180== _0x4315x12?_0x4315x5= -1:270== _0x4315xa&& (_0x4315x13= -1),_0x4315x4= mxUtils[_0x2895[432]](_0x4315x4,_0x4315x5,_0x4315x13,_0x4315x9)),null!= _0x4315x4&& _0x4315x3[_0x2895[591]]&& (_0x4315x4= this[_0x2895[441]][_0x2895[2302]](_0x4315x2,_0x4315x4,!1))):_0x4315xa+= _0x4315x12;0!= _0x4315xa&& null!= _0x4315x4&& (_0x4315x12= mxUtils[_0x2895[431]](_0x4315xa),_0x4315x5= Math[_0x2895[426]](_0x4315x12),_0x4315x13= Math[_0x2895[427]](_0x4315x12),_0x4315x4= mxUtils[_0x2895[432]](_0x4315x4,_0x4315x5,_0x4315x13,_0x4315x9))};return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[851]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[251]][_0x2895[473]]();try{var _0x4315x9=this[_0x2895[251]][_0x2895[1709]](_0x4315x2,_0x4315x4);this[_0x2895[852]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5);this[_0x2895[746]]( new mxEventObject(mxEvent.CONNECT_CELL,_0x2895[1989],_0x4315x2,_0x2895[1984],_0x4315x3,_0x2895[1097],_0x4315x4,_0x2895[257],_0x4315x9))}finally{this[_0x2895[251]][_0x2895[476]]()};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[852]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x2){this[_0x2895[251]][_0x2895[473]]();try{var _0x4315x9=this[_0x2895[251]][_0x2895[1709]](_0x4315x2,_0x4315x4);this[_0x2895[2545]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5);this[_0x2895[2549]]()&& (_0x4315x5= null,this[_0x2895[1908]](_0x4315x3)&& (_0x4315x5= _0x4315x3[_0x2895[1103]](),_0x4315x3= this[_0x2895[2550]](_0x4315x3,_0x4315x4)),this[_0x2895[1717]](_0x4315x4?mxConstants[_0x2895[2303]]:mxConstants[_0x2895[2304]],_0x4315x5,[_0x4315x2]));this[_0x2895[251]][_0x2895[1957]](_0x4315x2,_0x4315x3,_0x4315x4);this[_0x2895[2401]]&& this[_0x2895[1809]](_0x4315x2);this[_0x2895[746]]( new mxEventObject(mxEvent.CELL_CONNECTED,_0x2895[1989],_0x4315x2,_0x2895[1984],_0x4315x3,_0x2895[1097],_0x4315x4,_0x2895[257],_0x4315x9))}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2531]]= function(_0x4315x2){if(null!= _0x4315x2){this[_0x2895[251]][_0x2895[473]]();try{for(var _0x4315x3=this[_0x2895[441]][_0x2895[255]],_0x4315x4=this[_0x2895[441]][_0x2895[513]],_0x4315x5={},_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2[_0x4315x9]);_0x4315x5[_0x4315xa]= _0x4315x2[_0x4315x9]};for(_0x4315x9= 0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){if(this[_0x2895[251]][_0x2895[250]](_0x4315x2[_0x4315x9])){var _0x4315x12=this[_0x2895[251]][_0x2895[1721]](_0x4315x2[_0x4315x9]);if(null!= _0x4315x12){var _0x4315x13=this[_0x2895[441]][_0x2895[248]](_0x4315x2[_0x4315x9]),_0x4315x14=this[_0x2895[441]][_0x2895[248]](this[_0x2895[251]][_0x2895[1197]](_0x4315x2[_0x4315x9]));if(null!= _0x4315x13&& null!= _0x4315x14){var _0x4315x12=_0x4315x12[_0x2895[238]](),_0x4315x15=-_0x4315x14[_0x2895[2078]][_0x2895[235]],_0x4315x16=-_0x4315x14[_0x2895[2078]][_0x2895[236]],_0x4315x17=_0x4315x13[_0x2895[439]],_0x4315x18=this[_0x2895[251]][_0x2895[1709]](_0x4315x2[_0x4315x9],!0);if(null!= _0x4315x18&& this[_0x2895[2551]](_0x4315x2[_0x4315x9],_0x4315x18,!0)){for(var _0x4315x19=mxCellPath[_0x2895[385]](_0x4315x18);null!= _0x4315x18&& null== _0x4315x5[_0x4315x19];){_0x4315x18= this[_0x2895[251]][_0x2895[1197]](_0x4315x18),_0x4315x19= mxCellPath[_0x2895[385]](_0x4315x18)};null== _0x4315x18&& (_0x4315x12[_0x2895[2007]]( new mxPoint(_0x4315x17[0][_0x2895[235]]/ _0x4315x3- _0x4315x4[_0x2895[235]]+ _0x4315x15,_0x4315x17[0][_0x2895[236]]/ _0x4315x3- _0x4315x4[_0x2895[236]]+ _0x4315x16),!0),this[_0x2895[251]][_0x2895[1957]](_0x4315x2[_0x4315x9],null,!0))};var _0x4315x1a=this[_0x2895[251]][_0x2895[1709]](_0x4315x2[_0x4315x9],!1);if(null!= _0x4315x1a&& this[_0x2895[2551]](_0x4315x2[_0x4315x9],_0x4315x1a,!1)){for(var _0x4315x1b=mxCellPath[_0x2895[385]](_0x4315x1a);null!= _0x4315x1a&& null== _0x4315x5[_0x4315x1b];){_0x4315x1a= this[_0x2895[251]][_0x2895[1197]](_0x4315x1a),_0x4315x1b= mxCellPath[_0x2895[385]](_0x4315x1a)};if(null== _0x4315x1a){var _0x4315x1c=_0x4315x17[_0x2895[67]]- 1;_0x4315x12[_0x2895[2007]]( new mxPoint(_0x4315x17[_0x4315x1c][_0x2895[235]]/ _0x4315x3- _0x4315x4[_0x2895[235]]+ _0x4315x15,_0x4315x17[_0x4315x1c][_0x2895[236]]/ _0x4315x3- _0x4315x4[_0x2895[236]]+ _0x4315x16),!1);this[_0x2895[251]][_0x2895[1957]](_0x4315x2[_0x4315x9],null,!1)}};this[_0x2895[251]][_0x2895[1724]](_0x4315x2[_0x4315x9],_0x4315x12)}}}}}finally{this[_0x2895[251]][_0x2895[476]]()}}};mxGraph[_0x2895[202]][_0x2895[2534]]= function(){return this[_0x2895[441]][_0x2895[1741]]};mxGraph[_0x2895[202]][_0x2895[2326]]= function(_0x4315x2){return null};mxGraph[_0x2895[202]][_0x2895[1908]]= function(_0x4315x2){return !1};mxGraph[_0x2895[202]][_0x2895[2550]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[251]][_0x2895[1197]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2280]]= function(_0x4315x2){return null};mxGraph[_0x2895[202]][_0x2895[2552]]= function(_0x4315x2){_0x4315x2= _0x4315x2|| this[_0x2895[2452]]();null!= _0x4315x2&& this[_0x2895[2553]](_0x4315x2)&& (this[_0x2895[441]][_0x2895[2257]](_0x4315x2),this[_0x2895[2440]]())};mxGraph[_0x2895[202]][_0x2895[2554]]= function(){var _0x4315x2=this[_0x2895[251]][_0x2895[501]](),_0x4315x3=this[_0x2895[2534]]();if(null!= _0x4315x3){for(var _0x4315x4=this[_0x2895[251]][_0x2895[1197]](_0x4315x3);_0x4315x4!= _0x4315x2&& !this[_0x2895[2553]](_0x4315x4)&& this[_0x2895[251]][_0x2895[1197]](_0x4315x4)!= _0x4315x2;){_0x4315x4= this[_0x2895[251]][_0x2895[1197]](_0x4315x4)};_0x4315x4== _0x4315x2|| this[_0x2895[251]][_0x2895[1197]](_0x4315x4)== _0x4315x2?this[_0x2895[441]][_0x2895[2257]](null):this[_0x2895[441]][_0x2895[2257]](_0x4315x4);null!= this[_0x2895[441]][_0x2895[248]](_0x4315x3)&& this[_0x2895[2450]](_0x4315x3)}};mxGraph[_0x2895[202]][_0x2895[2442]]= function(){var _0x4315x2=this[_0x2895[2534]]();null!= _0x4315x2&& (this[_0x2895[441]][_0x2895[2257]](null),null!= this[_0x2895[441]][_0x2895[248]](_0x4315x2)&& this[_0x2895[2450]](_0x4315x2))};mxGraph[_0x2895[202]][_0x2895[2553]]= function(_0x4315x2){return null!= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[517]]= function(){return this[_0x2895[441]][_0x2895[517]]()};mxGraph[_0x2895[202]][_0x2895[2555]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=[_0x4315x2];_0x4315x3&& (_0x4315x5= _0x4315x5[_0x2895[1919]](this[_0x2895[251]][_0x2895[264]](_0x4315x2)));_0x4315x5= this[_0x2895[441]][_0x2895[1799]](_0x4315x5);if(_0x4315x4){_0x4315x4= this[_0x2895[251]][_0x2895[262]](_0x4315x2);for(var _0x4315x9=0;_0x4315x9< _0x4315x4;_0x4315x9++){var _0x4315xa=this[_0x2895[2555]](this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x9),_0x4315x3,!0);null!= _0x4315x5?_0x4315x5[_0x2895[99]](_0x4315xa):_0x4315x5= _0x4315xa}};return _0x4315x5};mxGraph[_0x2895[202]][_0x2895[1729]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;var _0x4315x4=null;if(null!= _0x4315x2){for(var _0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){if(_0x4315x3|| this[_0x2895[251]][_0x2895[1193]](_0x4315x2[_0x4315x5])){var _0x4315x9=this[_0x2895[1198]](_0x4315x2[_0x4315x5]);if(null!= _0x4315x9){var _0x4315xa=_0x4315x9[_0x2895[1525]];if(null!= _0x4315xa&& 0< _0x4315xa[_0x2895[67]]){for(var _0x4315x12= new mxRectangle(_0x4315xa[0][_0x2895[235]],_0x4315xa[0][_0x2895[236]],0,0),_0x4315x13=function(_0x4315x2){null!= _0x4315x2&& _0x4315x12[_0x2895[99]]( new mxRectangle(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],0,0))},_0x4315x14=1;_0x4315x14< _0x4315xa[_0x2895[67]];_0x4315x14++){_0x4315x13(_0x4315xa[_0x4315x14])};_0x4315x13(_0x4315x9[_0x2895[2006]](!0));_0x4315x13(_0x4315x9[_0x2895[2006]](!1))};null== _0x4315x4?_0x4315x4= new mxRectangle(_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]]):_0x4315x4[_0x2895[99]](_0x4315x9)}}}};return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[802]]= function(_0x4315x2){this[_0x2895[441]][_0x2895[200]](_0x4315x2,null== _0x4315x2);this[_0x2895[441]][_0x2895[2264]]();this[_0x2895[2258]]();this[_0x2895[746]]( new mxEventObject(mxEvent.REFRESH))};mxGraph[_0x2895[202]][_0x2895[1021]]= function(_0x4315x2){this[_0x2895[991]]&& (_0x4315x2= Math[_0x2895[488]](_0x4315x2/ this[_0x2895[1020]])* this[_0x2895[1020]]);return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[1135]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[2365]]&& mxUtils[_0x2895[1134]](this[_0x2895[526]])){this[_0x2895[526]][_0x2895[360]]= -_0x4315x2,this[_0x2895[526]][_0x2895[190]]= -_0x4315x3}else {var _0x4315x4=this[_0x2895[441]][_0x2895[2051]]();if(this[_0x2895[507]]== mxConstants[_0x2895[508]]){if(0== _0x4315x2&& 0== _0x4315x3){if(mxClient[_0x2895[80]]?_0x4315x4[_0x2895[57]](_0x2895[535],_0x2895[536]+ _0x4315x2+ _0x2895[537]+ _0x4315x3+ _0x2895[460]):_0x4315x4[_0x2895[1390]](_0x2895[535]),null!= this[_0x2895[2556]]){for(var _0x4315x5=this[_0x2895[2556]][_0x2895[285]];null!= _0x4315x5;){var _0x4315x9=_0x4315x5[_0x2895[287]];this[_0x2895[526]][_0x2895[62]](_0x4315x5);_0x4315x5= _0x4315x9};this[_0x2895[2556]][_0x2895[265]][_0x2895[266]](this[_0x2895[2556]]);this[_0x2895[2556]]= null;this[_0x2895[526]][_0x2895[62]](_0x4315x4[_0x2895[265]]);for(_0x4315x5= this[_0x2895[2557]][_0x2895[285]];null!= _0x4315x5;){_0x4315x9= _0x4315x5[_0x2895[287]],this[_0x2895[526]][_0x2895[62]](_0x4315x5),_0x4315x5= _0x4315x9};this[_0x2895[2557]][_0x2895[265]][_0x2895[266]](this[_0x2895[2557]]);this[_0x2895[2557]]= null}}else {_0x4315x4[_0x2895[57]](_0x2895[535],_0x2895[536]+ _0x4315x2+ _0x2895[537]+ _0x4315x3+ _0x2895[460]);if(null== this[_0x2895[2556]]){this[_0x2895[2556]]= document[_0x2895[55]](_0x2895[485]);this[_0x2895[2556]][_0x2895[124]][_0x2895[491]]= _0x2895[492];this[_0x2895[2556]][_0x2895[124]][_0x2895[277]]= _0x2895[189];this[_0x2895[2557]]= document[_0x2895[55]](_0x2895[485]);this[_0x2895[2557]][_0x2895[124]][_0x2895[491]]= _0x2895[492];this[_0x2895[2557]][_0x2895[124]][_0x2895[277]]= _0x2895[189];for(var _0x4315xa=this[_0x2895[2556]],_0x4315x5=this[_0x2895[526]][_0x2895[285]];null!= _0x4315x5;){_0x4315x9= _0x4315x5[_0x2895[287]],_0x4315x5!= _0x4315x4[_0x2895[265]]?_0x4315xa[_0x2895[62]](_0x4315x5):_0x4315xa= this[_0x2895[2557]],_0x4315x5= _0x4315x9};this[_0x2895[526]][_0x2895[950]](this[_0x2895[2556]],_0x4315x4[_0x2895[265]]);this[_0x2895[526]][_0x2895[62]](this[_0x2895[2557]])};this[_0x2895[2556]][_0x2895[124]][_0x2895[361]]= _0x4315x2+ _0x2895[168];this[_0x2895[2556]][_0x2895[124]][_0x2895[125]]= _0x4315x3+ _0x2895[168];this[_0x2895[2557]][_0x2895[124]][_0x2895[361]]= _0x4315x2+ _0x2895[168];this[_0x2895[2557]][_0x2895[124]][_0x2895[125]]= _0x4315x3+ _0x2895[168]}}else {_0x4315x4[_0x2895[124]][_0x2895[361]]= _0x4315x2+ _0x2895[168],_0x4315x4[_0x2895[124]][_0x2895[125]]= _0x4315x3+ _0x2895[168]};this[_0x2895[1136]]= _0x4315x2;this[_0x2895[1137]]= _0x4315x3;this[_0x2895[746]]( new mxEventObject(mxEvent.PAN))}};mxGraph[_0x2895[202]][_0x2895[2558]]= function(){this[_0x2895[499]](this[_0x2895[2395]])};mxGraph[_0x2895[202]][_0x2895[2559]]= function(){this[_0x2895[499]](1/ this[_0x2895[2395]])};mxGraph[_0x2895[202]][_0x2895[2560]]= function(){1== this[_0x2895[441]][_0x2895[255]]?this[_0x2895[441]][_0x2895[1147]](0,0):(this[_0x2895[441]][_0x2895[513]][_0x2895[235]]= 0,this[_0x2895[441]][_0x2895[513]][_0x2895[236]]= 0,this[_0x2895[441]][_0x2895[2262]](1))};mxGraph[_0x2895[202]][_0x2895[2561]]= function(_0x4315x2,_0x4315x3){this[_0x2895[499]](_0x4315x2/ this[_0x2895[441]][_0x2895[255]],_0x4315x3)};mxGraph[_0x2895[202]][_0x2895[499]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:this[_0x2895[2397]];var _0x4315x4=this[_0x2895[441]][_0x2895[255]]* _0x4315x2,_0x4315x5=this[_0x2895[441]][_0x2895[248]](this[_0x2895[2452]]());if(this[_0x2895[2396]]&& null!= _0x4315x5){_0x4315x5= new mxRectangle(_0x4315x5[_0x2895[235]]* _0x4315x2,_0x4315x5[_0x2895[236]]* _0x4315x2,_0x4315x5[_0x2895[117]]* _0x4315x2,_0x4315x5[_0x2895[119]]* _0x4315x2),this[_0x2895[441]][_0x2895[255]]= _0x4315x4,this[_0x2895[2562]](_0x4315x5)|| (this[_0x2895[441]][_0x2895[2259]](),this[_0x2895[441]][_0x2895[2262]](_0x4315x4))}else {if(_0x4315x3&& !mxUtils[_0x2895[1134]](this[_0x2895[526]])){var _0x4315x5=this[_0x2895[526]][_0x2895[359]],_0x4315x9=this[_0x2895[526]][_0x2895[167]];if(1< _0x4315x2){var _0x4315xa=(_0x4315x2- 1)/ (2* _0x4315x4),_0x4315x5=_0x4315x5* -_0x4315xa,_0x4315x9=_0x4315x9* -_0x4315xa}else {_0x4315xa= (1/ _0x4315x2- 1)/ (2* this[_0x2895[441]][_0x2895[255]]),_0x4315x5*= _0x4315xa,_0x4315x9*= _0x4315xa};this[_0x2895[441]][_0x2895[829]](_0x4315x4,this[_0x2895[441]][_0x2895[513]][_0x2895[235]]+ _0x4315x5,this[_0x2895[441]][_0x2895[513]][_0x2895[236]]+ _0x4315x9)}else {this[_0x2895[441]][_0x2895[2262]](_0x4315x4),mxUtils[_0x2895[1134]](this[_0x2895[526]])&& (_0x4315x9= _0x4315x5= 0,_0x4315x3&& (_0x4315x5= this[_0x2895[526]][_0x2895[359]]* (_0x4315x2- 1)/ 2,_0x4315x9= this[_0x2895[526]][_0x2895[167]]* (_0x4315x2- 1)/ 2),this[_0x2895[526]][_0x2895[360]]= Math[_0x2895[488]](this[_0x2895[526]][_0x2895[360]]* _0x4315x2+ _0x4315x5),this[_0x2895[526]][_0x2895[190]]= Math[_0x2895[488]](this[_0x2895[526]][_0x2895[190]]* _0x4315x2+ _0x4315x9))}}};mxGraph[_0x2895[202]][_0x2895[2563]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[526]][_0x2895[159]]/ _0x4315x2[_0x2895[117]]/ (this[_0x2895[526]][_0x2895[157]]/ _0x4315x2[_0x2895[119]]);_0x4315x2[_0x2895[235]]= Math[_0x2895[160]](0,_0x4315x2[_0x2895[235]]);_0x4315x2[_0x2895[236]]= Math[_0x2895[160]](0,_0x4315x2[_0x2895[236]]);var _0x4315x4=Math[_0x2895[243]](this[_0x2895[526]][_0x2895[1526]],_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]),_0x4315x5=Math[_0x2895[243]](this[_0x2895[526]][_0x2895[191]],_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]);_0x4315x2[_0x2895[117]]= _0x4315x4- _0x4315x2[_0x2895[235]];_0x4315x2[_0x2895[119]]= _0x4315x5- _0x4315x2[_0x2895[236]];1> _0x4315x3?(_0x4315x3= _0x4315x2[_0x2895[119]]/ _0x4315x3,_0x4315x4= (_0x4315x3- _0x4315x2[_0x2895[119]])/ 2,_0x4315x2[_0x2895[119]]= _0x4315x3,_0x4315x3= Math[_0x2895[243]](_0x4315x2[_0x2895[236]],_0x4315x4),_0x4315x2[_0x2895[236]]-= _0x4315x3,_0x4315x5= Math[_0x2895[243]](this[_0x2895[526]][_0x2895[191]],_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]),_0x4315x2[_0x2895[119]]= _0x4315x5- _0x4315x2[_0x2895[236]]):(_0x4315x3*= _0x4315x2[_0x2895[117]],_0x4315x4= (_0x4315x3- _0x4315x2[_0x2895[117]])/ 2,_0x4315x2[_0x2895[117]]= _0x4315x3,_0x4315x3= Math[_0x2895[243]](_0x4315x2[_0x2895[235]],_0x4315x4),_0x4315x2[_0x2895[235]]-= _0x4315x3,_0x4315x4= Math[_0x2895[243]](this[_0x2895[526]][_0x2895[1526]],_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]),_0x4315x2[_0x2895[117]]= _0x4315x4- _0x4315x2[_0x2895[235]]);_0x4315x3= this[_0x2895[526]][_0x2895[159]]/ _0x4315x2[_0x2895[117]];_0x4315x4= this[_0x2895[441]][_0x2895[255]]* _0x4315x3;mxUtils[_0x2895[1134]](this[_0x2895[526]])?(this[_0x2895[441]][_0x2895[2262]](_0x4315x4),this[_0x2895[526]][_0x2895[360]]= Math[_0x2895[488]](_0x4315x2[_0x2895[235]]* _0x4315x3),this[_0x2895[526]][_0x2895[190]]= Math[_0x2895[488]](_0x4315x2[_0x2895[236]]* _0x4315x3)):this[_0x2895[441]][_0x2895[829]](_0x4315x4,this[_0x2895[441]][_0x2895[513]][_0x2895[235]]- _0x4315x2[_0x2895[235]]/ this[_0x2895[441]][_0x2895[255]],this[_0x2895[441]][_0x2895[513]][_0x2895[236]]- _0x4315x2[_0x2895[236]]/ this[_0x2895[441]][_0x2895[255]])};mxGraph[_0x2895[202]][_0x2895[933]]= function(_0x4315x2,_0x4315x3){if(null!= this[_0x2895[526]]){_0x4315x2= null!= _0x4315x2?_0x4315x2:0;_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;var _0x4315x4=this[_0x2895[526]][_0x2895[159]],_0x4315x5=this[_0x2895[526]][_0x2895[157]],_0x4315x9=this[_0x2895[441]][_0x2895[517]]();_0x4315x3&& (null!= _0x4315x9[_0x2895[235]]&& null!= _0x4315x9[_0x2895[236]])&& (_0x4315x9[_0x2895[117]]+= _0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[119]]+= _0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[235]]= 0,_0x4315x9[_0x2895[236]]= 0);var _0x4315xa=this[_0x2895[441]][_0x2895[255]],_0x4315x12=_0x4315x9[_0x2895[117]]/ _0x4315xa,_0x4315x13=_0x4315x9[_0x2895[119]]/ _0x4315xa;null!= this[_0x2895[1617]]&& (_0x4315x12= Math[_0x2895[160]](_0x4315x12,this[_0x2895[1617]][_0x2895[117]]- _0x4315x9[_0x2895[235]]/ _0x4315xa),_0x4315x13= Math[_0x2895[160]](_0x4315x13,this[_0x2895[1617]][_0x2895[119]]- _0x4315x9[_0x2895[236]]/ _0x4315xa));var _0x4315x14=_0x4315x3?_0x4315x2:2* _0x4315x2,_0x4315x4=Math[_0x2895[519]](100* Math[_0x2895[243]](_0x4315x4/ (_0x4315x12+ _0x4315x14),_0x4315x5/ (_0x4315x13+ _0x4315x14)))/ 100;null!= this[_0x2895[2413]]&& (_0x4315x4= Math[_0x2895[160]](_0x4315x4,this[_0x2895[2413]]));null!= this[_0x2895[2414]]&& (_0x4315x4= Math[_0x2895[243]](_0x4315x4,this[_0x2895[2414]]));_0x4315x3?this[_0x2895[441]][_0x2895[255]]!= _0x4315x4&& this[_0x2895[441]][_0x2895[2262]](_0x4315x4):mxUtils[_0x2895[1134]](this[_0x2895[526]])?(this[_0x2895[441]][_0x2895[2262]](_0x4315x4),null!= _0x4315x9[_0x2895[235]]&& (this[_0x2895[526]][_0x2895[360]]= Math[_0x2895[488]](_0x4315x9[_0x2895[235]]/ _0x4315xa)* _0x4315x4- _0x4315x2- Math[_0x2895[160]](0,(this[_0x2895[526]][_0x2895[159]]- _0x4315x12* _0x4315x4)/ 2)),null!= _0x4315x9[_0x2895[236]]&& (this[_0x2895[526]][_0x2895[190]]= Math[_0x2895[488]](_0x4315x9[_0x2895[236]]/ _0x4315xa)* _0x4315x4- _0x4315x2- Math[_0x2895[160]](0,(this[_0x2895[526]][_0x2895[157]]- _0x4315x13* _0x4315x4)/ 2))):this[_0x2895[441]][_0x2895[829]](_0x4315x4,null!= _0x4315x9[_0x2895[235]]?Math[_0x2895[519]](this[_0x2895[441]][_0x2895[513]][_0x2895[235]]- _0x4315x9[_0x2895[235]]/ _0x4315xa+ _0x4315x2+ 1):_0x4315x2,null!= _0x4315x9[_0x2895[236]]?Math[_0x2895[519]](this[_0x2895[441]][_0x2895[513]][_0x2895[236]]- _0x4315x9[_0x2895[236]]/ _0x4315xa+ _0x4315x2+ 1):_0x4315x2)};return this[_0x2895[441]][_0x2895[255]]};mxGraph[_0x2895[202]][_0x2895[2564]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=-this[_0x2895[441]][_0x2895[513]][_0x2895[235]],_0x4315x5=-this[_0x2895[441]][_0x2895[513]][_0x2895[236]],_0x4315x9=this[_0x2895[441]][_0x2895[248]](_0x4315x2);null!= _0x4315x9&& (_0x4315x4= new mxRectangle(_0x4315x4+ _0x4315x9[_0x2895[235]],_0x4315x5+ _0x4315x9[_0x2895[236]],_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]]),_0x4315x3&& null!= this[_0x2895[526]]&& (_0x4315x5= this[_0x2895[526]][_0x2895[159]],_0x4315x9= this[_0x2895[526]][_0x2895[157]],_0x4315x4[_0x2895[235]]= _0x4315x4[_0x2895[241]]()- _0x4315x5/ 2,_0x4315x4[_0x2895[117]]= _0x4315x5,_0x4315x4[_0x2895[236]]= _0x4315x4[_0x2895[242]]()- _0x4315x9/ 2,_0x4315x4[_0x2895[119]]= _0x4315x9),this[_0x2895[2562]](_0x4315x4)&& this[_0x2895[441]][_0x2895[1147]](this[_0x2895[441]][_0x2895[513]][_0x2895[235]],this[_0x2895[441]][_0x2895[513]][_0x2895[236]]))};mxGraph[_0x2895[202]][_0x2895[2562]]= function(_0x4315x2){var _0x4315x3=!1;if(null!= _0x4315x2){var _0x4315x4=this[_0x2895[526]][_0x2895[359]],_0x4315x5=this[_0x2895[526]][_0x2895[167]],_0x4315x9=Math[_0x2895[243]](_0x4315x4,_0x4315x2[_0x2895[117]]),_0x4315xa=Math[_0x2895[243]](_0x4315x5,_0x4315x2[_0x2895[119]]);if(mxUtils[_0x2895[1134]](this[_0x2895[526]])){_0x4315x4= this[_0x2895[526]];_0x4315x2[_0x2895[235]]+= this[_0x2895[441]][_0x2895[513]][_0x2895[235]];_0x4315x2[_0x2895[236]]+= this[_0x2895[441]][_0x2895[513]][_0x2895[236]];var _0x4315x12=_0x4315x4[_0x2895[360]]- _0x4315x2[_0x2895[235]],_0x4315x5=Math[_0x2895[160]](_0x4315x12- _0x4315x4[_0x2895[360]],0);0< _0x4315x12?_0x4315x4[_0x2895[360]]-= _0x4315x12+ 2:(_0x4315x12= _0x4315x2[_0x2895[235]]+ _0x4315x9- _0x4315x4[_0x2895[360]]- _0x4315x4[_0x2895[159]],0< _0x4315x12&& (_0x4315x4[_0x2895[360]]+= _0x4315x12+ 2));_0x4315x9= _0x4315x4[_0x2895[190]]- _0x4315x2[_0x2895[236]];_0x4315x12= Math[_0x2895[160]](0,_0x4315x9- _0x4315x4[_0x2895[190]]);0< _0x4315x9?_0x4315x4[_0x2895[190]]-= _0x4315x9+ 2:(_0x4315x9= _0x4315x2[_0x2895[236]]+ _0x4315xa- _0x4315x4[_0x2895[190]]- _0x4315x4[_0x2895[157]],0< _0x4315x9&& (_0x4315x4[_0x2895[190]]+= _0x4315x9+ 2));!this[_0x2895[2365]]&& (0!= _0x4315x5|| 0!= _0x4315x12)&& this[_0x2895[441]][_0x2895[1147]](_0x4315x5,_0x4315x12)}else {var _0x4315x12=-this[_0x2895[441]][_0x2895[513]][_0x2895[235]],_0x4315x13=-this[_0x2895[441]][_0x2895[513]][_0x2895[236]],_0x4315x14=this[_0x2895[441]][_0x2895[255]];_0x4315x2[_0x2895[235]]+ _0x4315x9> _0x4315x12+ _0x4315x4&& (this[_0x2895[441]][_0x2895[513]][_0x2895[235]]-= (_0x4315x2[_0x2895[235]]+ _0x4315x9- _0x4315x4- _0x4315x12)/ _0x4315x14,_0x4315x3= !0);_0x4315x2[_0x2895[236]]+ _0x4315xa> _0x4315x13+ _0x4315x5&& (this[_0x2895[441]][_0x2895[513]][_0x2895[236]]-= (_0x4315x2[_0x2895[236]]+ _0x4315xa- _0x4315x5- _0x4315x13)/ _0x4315x14,_0x4315x3= !0);_0x4315x2[_0x2895[235]]< _0x4315x12&& (this[_0x2895[441]][_0x2895[513]][_0x2895[235]]+= (_0x4315x12- _0x4315x2[_0x2895[235]])/ _0x4315x14,_0x4315x3= !0);_0x4315x2[_0x2895[236]]< _0x4315x13&& (this[_0x2895[441]][_0x2895[513]][_0x2895[236]]+= (_0x4315x13- _0x4315x2[_0x2895[236]])/ _0x4315x14,_0x4315x3= !0);_0x4315x3&& (this[_0x2895[441]][_0x2895[802]](),null!= this[_0x2895[2432]]&& this[_0x2895[2432]][_0x2895[802]]())}};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[1198]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1721]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[1714]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[174]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[1742]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1971]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2565]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1965]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2298]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2566]]];if(null!= _0x4315x3){return _0x4315x3};_0x4315x2= this[_0x2895[441]][_0x2895[2291]](_0x4315x2);return _0x4315x2== mxEdgeStyle[_0x2895[2567]]|| _0x4315x2== mxEdgeStyle[_0x2895[2568]]|| _0x4315x2== mxEdgeStyle[_0x2895[2569]]|| _0x4315x2== mxEdgeStyle[_0x2895[2570]]|| _0x4315x2== mxEdgeStyle[_0x2895[2571]]|| _0x4315x2== mxEdgeStyle[_0x2895[2572]]};mxGraph[_0x2895[202]][_0x2895[2573]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[2089]](!0);_0x4315x2= _0x4315x2[_0x2895[2089]](!1);return null!= _0x4315x3&& _0x4315x3== _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2574]]= function(_0x4315x2){return mxEvent[_0x2895[775]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2462]]= function(_0x4315x2){return mxClient[_0x2895[2575]]?mxEvent[_0x2895[2576]](_0x4315x2):mxEvent[_0x2895[775]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[1018]]= function(_0x4315x2){return null!= _0x4315x2&& !mxEvent[_0x2895[2577]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2578]]= function(_0x4315x2){return mxEvent[_0x2895[774]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2579]]= function(_0x4315x2){return mxEvent[_0x2895[2577]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2580]]= function(_0x4315x2){mxUtils[_0x2895[150]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2581]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return null== this[_0x2895[2500]](_0x4315x2,_0x4315x3,_0x4315x4)};mxGraph[_0x2895[202]][_0x2895[2500]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= _0x4315x2&& !this[_0x2895[2530]]()&& (null== _0x4315x3|| null== _0x4315x4)){return _0x2895[110]};if(null!= _0x4315x2&& null== this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!0)&& null== this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!1)){return null};if(!this[_0x2895[2402]]&& _0x4315x3== _0x4315x4&& null!= _0x4315x3|| !this[_0x2895[2582]](_0x4315x3,_0x4315x4)){return _0x2895[110]};if(null!= _0x4315x3&& null!= _0x4315x4){var _0x4315x5=_0x2895[110];if(!this[_0x2895[2404]]){var _0x4315x9=this[_0x2895[251]][_0x2895[1781]](_0x4315x3,_0x4315x4,!0);if(1< _0x4315x9[_0x2895[67]]|| 1== _0x4315x9[_0x2895[67]]&& _0x4315x9[0]!= _0x4315x2){_0x4315x5+= (mxResources[_0x2895[203]](this[_0x2895[2421]])|| this[_0x2895[2421]])+ _0x2895[192]}};var _0x4315x9=this[_0x2895[251]][_0x2895[1962]](_0x4315x3,!0,_0x4315x2),_0x4315xa=this[_0x2895[251]][_0x2895[1962]](_0x4315x4,!1,_0x4315x2);if(null!= this[_0x2895[2335]]){for(var _0x4315x12=0;_0x4315x12< this[_0x2895[2335]][_0x2895[67]];_0x4315x12++){var _0x4315x13=this[_0x2895[2335]][_0x4315x12][_0x2895[2583]](this,_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x9,_0x4315xa);null!= _0x4315x13&& (_0x4315x5+= _0x4315x13)}};_0x4315x13= this[_0x2895[2584]](_0x4315x2,_0x4315x3,_0x4315x4);null!= _0x4315x13&& (_0x4315x5+= _0x4315x13);return 0< _0x4315x5[_0x2895[67]]?_0x4315x5:null};return this[_0x2895[2406]]?null:_0x2895[110]};mxGraph[_0x2895[202]][_0x2895[2584]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return null};mxGraph[_0x2895[202]][_0x2895[2585]]= function(_0x4315x2,_0x4315x3){_0x4315x2= null!= _0x4315x2?_0x4315x2:this[_0x2895[251]][_0x2895[501]]();_0x4315x3= null!= _0x4315x3?_0x4315x3:{};for(var _0x4315x4=!0,_0x4315x5=this[_0x2895[251]][_0x2895[262]](_0x4315x2),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){var _0x4315xa=this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x9),_0x4315x12=_0x4315x3;this[_0x2895[2553]](_0x4315xa)&& (_0x4315x12= {});_0x4315x12= this[_0x2895[2585]](_0x4315xa,_0x4315x12);null!= _0x4315x12?this[_0x2895[2447]](_0x4315xa,_0x4315x12[_0x2895[230]](/\n/g,_0x2895[545])):this[_0x2895[2447]](_0x4315xa,null);_0x4315x4= _0x4315x4&& null== _0x4315x12};_0x4315x5= _0x2895[110];this[_0x2895[1742]](_0x4315x2)&& !_0x4315x4&& (_0x4315x5+= (mxResources[_0x2895[203]](this[_0x2895[2423]])|| this[_0x2895[2423]])+ _0x2895[192]);_0x4315x5= this[_0x2895[251]][_0x2895[250]](_0x4315x2)?_0x4315x5+ (this[_0x2895[2500]](_0x4315x2,this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!0),this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!1))|| _0x2895[110]):_0x4315x5+ (this[_0x2895[2586]](_0x4315x2)|| _0x2895[110]);_0x4315x9= this[_0x2895[2587]](_0x4315x2,_0x4315x3);null!= _0x4315x9&& (_0x4315x5+= _0x4315x9);null== this[_0x2895[251]][_0x2895[1197]](_0x4315x2)&& this[_0x2895[441]][_0x2895[2264]]();return 0< _0x4315x5[_0x2895[67]]|| !_0x4315x4?_0x4315x5:null};mxGraph[_0x2895[202]][_0x2895[2586]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[251]][_0x2895[1962]](_0x4315x2,!0),_0x4315x4=this[_0x2895[251]][_0x2895[1962]](_0x4315x2,!1);_0x4315x2= this[_0x2895[251]][_0x2895[433]](_0x4315x2);var _0x4315x5=_0x2895[110];if(null!= this[_0x2895[2335]]){for(var _0x4315x9=0;_0x4315x9< this[_0x2895[2335]][_0x2895[67]];_0x4315x9++){var _0x4315xa=this[_0x2895[2335]][_0x4315x9];if(_0x4315xa[_0x2895[1097]]&& mxUtils[_0x2895[1331]](_0x4315x2,_0x4315xa[_0x2895[60]],_0x4315xa[_0x2895[2588]],_0x4315xa[_0x2895[131]])&& (0== _0x4315xa[_0x2895[160]]&& 0< _0x4315x3|| 1== _0x4315xa[_0x2895[243]]&& 0== _0x4315x3|| 1== _0x4315xa[_0x2895[160]]&& 1< _0x4315x3)){_0x4315x5+= _0x4315xa[_0x2895[2589]]+ _0x2895[192]}else {if(!_0x4315xa[_0x2895[1097]]&& mxUtils[_0x2895[1331]](_0x4315x2,_0x4315xa[_0x2895[60]],_0x4315xa[_0x2895[2588]],_0x4315xa[_0x2895[131]])&& (0== _0x4315xa[_0x2895[160]]&& 0< _0x4315x4|| 1== _0x4315xa[_0x2895[243]]&& 0== _0x4315x4|| 1== _0x4315xa[_0x2895[160]]&& 1< _0x4315x4)){_0x4315x5+= _0x4315xa[_0x2895[2589]]+ _0x2895[192]}}}};return 0< _0x4315x5[_0x2895[67]]?_0x4315x5:null};mxGraph[_0x2895[202]][_0x2895[2587]]= function(_0x4315x2,_0x4315x3){return null};mxGraph[_0x2895[202]][_0x2895[2271]]= function(){return this[_0x2895[1617]]};mxGraph[_0x2895[202]][_0x2895[2590]]= function(_0x4315x2){this[_0x2895[1617]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2205]]= function(_0x4315x2){if(null!= _0x4315x2&& this[_0x2895[2206]]&& !this[_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]])){var _0x4315x3=this[_0x2895[1742]](_0x4315x2[_0x2895[246]]);if(this[_0x2895[2516]](_0x4315x2[_0x2895[246]],!_0x4315x3)){return _0x4315x3?this[_0x2895[2415]]:this[_0x2895[2417]]}};return null};mxGraph[_0x2895[202]][_0x2895[2454]]= function(_0x4315x2){_0x4315x2= this[_0x2895[251]][_0x2895[433]](_0x4315x2);if(null!= _0x4315x2){if(mxUtils[_0x2895[1331]](_0x4315x2)){return _0x4315x2[_0x2895[301]]};if(_0x2895[279]== typeof _0x4315x2[_0x2895[2591]]){return _0x4315x2.toString()}};return _0x2895[110]};mxGraph[_0x2895[202]][_0x2895[2183]]= function(_0x4315x2){var _0x4315x3=_0x2895[110];if(this[_0x2895[2409]]&& null!= _0x4315x2){var _0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x4=null!= _0x4315x4?_0x4315x4[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);mxUtils[_0x2895[433]](_0x4315x4,mxConstants.STYLE_NOLABEL,!1)|| (_0x4315x3= this[_0x2895[2454]](_0x4315x2))};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[2186]]= function(_0x4315x2){return this[_0x2895[2592]]()};mxGraph[_0x2895[202]][_0x2895[2592]]= function(){return this[_0x2895[2410]]};mxGraph[_0x2895[202]][_0x2895[2593]]= function(_0x4315x2){this[_0x2895[2410]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2131]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return null!= _0x4315x2?_0x2895[1333]== _0x4315x2[mxConstants[_0x2895[2594]]]:!1};mxGraph[_0x2895[202]][_0x2895[2130]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return null!= _0x4315x2?_0x2895[188]== _0x4315x2[mxConstants[_0x2895[2193]]]:!1};mxGraph[_0x2895[202]][_0x2895[2595]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=null;if(null!= _0x4315x2){if(null!= _0x4315x2[_0x2895[2207]]&& (_0x4315x3== _0x4315x2[_0x2895[2207]][_0x2895[252]]|| _0x4315x3[_0x2895[265]]== _0x4315x2[_0x2895[2207]][_0x2895[252]])){_0x4315x9= this[_0x2895[2425]],_0x4315x9= mxResources[_0x2895[203]](_0x4315x9)|| _0x4315x9};null== _0x4315x9&& null!= _0x4315x2[_0x2895[1211]]&& _0x4315x2[_0x2895[1211]][_0x2895[209]](function(_0x4315x2,_0x4315x4){if(null== _0x4315x9&& (_0x4315x3== _0x4315x4[_0x2895[252]]|| _0x4315x3[_0x2895[265]]== _0x4315x4[_0x2895[252]])){_0x4315x9= _0x4315x4[_0x2895[2201]].toString()}});null== _0x4315x9&& (_0x4315x4= this[_0x2895[2432]][_0x2895[2596]](_0x4315x2[_0x2895[246]]),null!= _0x4315x4&& _0x2895[279]== typeof _0x4315x4[_0x2895[2597]]&& (_0x4315x9= _0x4315x4[_0x2895[2597]](_0x4315x3)));null== _0x4315x9&& (_0x4315x9= this[_0x2895[2598]](_0x4315x2[_0x2895[246]]))};return _0x4315x9};mxGraph[_0x2895[202]][_0x2895[2598]]= function(_0x4315x2){var _0x4315x3=null;return _0x4315x3= null!= _0x4315x2&& null!= _0x4315x2[_0x2895[2595]]?_0x4315x2[_0x2895[2595]]():this[_0x2895[2454]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2599]]= function(_0x4315x2){return null};mxGraph[_0x2895[202]][_0x2895[1731]]= function(_0x4315x2){var _0x4315x3= new mxRectangle,_0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x4?_0x4315x4[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);null!= _0x4315x2&& (_0x4315x4= parseInt(mxUtils[_0x2895[433]](_0x4315x2,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE)),mxUtils[_0x2895[433]](_0x4315x2,mxConstants.STYLE_HORIZONTAL,!0)?_0x4315x3[_0x2895[119]]= _0x4315x4:_0x4315x3[_0x2895[117]]= _0x4315x4);return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[1202]]= function(_0x4315x2){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[124]]?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2484]]]:null};mxGraph[_0x2895[202]][_0x2895[2187]]= function(_0x4315x2){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[124]]?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2063]]]|| mxConstants[_0x2895[481]]:null};mxGraph[_0x2895[202]][_0x2895[2173]]= function(_0x4315x2){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[124]]?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2600]]]:null};mxGraph[_0x2895[202]][_0x2895[2174]]= function(_0x4315x2){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[124]]?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2601]]]:null};mxGraph[_0x2895[202]][_0x2895[2172]]= function(_0x4315x2){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[124]]?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2602]]]:null};mxGraph[_0x2895[202]][_0x2895[2176]]= function(_0x4315x2){return null!= _0x4315x2&& null!= _0x4315x2[_0x2895[124]]?_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2603]]]:null};mxGraph[_0x2895[202]][_0x2895[2476]]= function(){return this[_0x2895[467]]};mxGraph[_0x2895[202]][_0x2895[2604]]= function(_0x4315x2){this[_0x2895[467]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[1730]]= function(_0x4315x2){if(null!= _0x4315x2&& this[_0x2895[251]][_0x2895[1197]](_0x4315x2)!= this[_0x2895[251]][_0x2895[501]]()){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x3=null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);if(null!= _0x4315x3&& !this[_0x2895[251]][_0x2895[250]](_0x4315x2)){return _0x4315x3[mxConstants[_0x2895[2059]]]== mxConstants[_0x2895[2605]]}};return !1};mxGraph[_0x2895[202]][_0x2895[2606]]= function(){return this[_0x2895[2389]]};mxGraph[_0x2895[202]][_0x2895[2607]]= function(_0x4315x2){this[_0x2895[2389]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxGraph[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2608]]= function(){return this[_0x2895[2362]]};mxGraph[_0x2895[202]][_0x2895[2609]]= function(_0x4315x2){this[_0x2895[2362]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2134]]= function(){return this[_0x2895[2363]]};mxGraph[_0x2895[202]][_0x2895[2610]]= function(_0x4315x2){this[_0x2895[2363]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2125]]= function(){return this[_0x2895[2364]]};mxGraph[_0x2895[202]][_0x2895[2611]]= function(_0x4315x2){this[_0x2895[2364]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2612]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[251]][_0x2895[1721]](_0x4315x2);return this[_0x2895[2613]]()|| null!= _0x4315x3&& this[_0x2895[251]][_0x2895[1193]](_0x4315x2)&& _0x4315x3[_0x2895[1500]]};mxGraph[_0x2895[202]][_0x2895[2613]]= function(){return this[_0x2895[2368]]};mxGraph[_0x2895[202]][_0x2895[2614]]= function(_0x4315x2){this[_0x2895[2368]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2615]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1938]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x2){return this[_0x2895[2616]](_0x4315x2)}))};mxGraph[_0x2895[202]][_0x2895[2616]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2617]]()&& 0!= _0x4315x2[mxConstants[_0x2895[2618]]]};mxGraph[_0x2895[202]][_0x2895[2617]]= function(){return this[_0x2895[2369]]};mxGraph[_0x2895[202]][_0x2895[2619]]= function(_0x4315x2){this[_0x2895[2369]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[898]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1938]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x2){return this[_0x2895[2620]](_0x4315x2)}))};mxGraph[_0x2895[202]][_0x2895[2620]]= function(_0x4315x2){return this[_0x2895[2366]]};mxGraph[_0x2895[202]][_0x2895[900]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1938]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x2){return this[_0x2895[2621]](_0x4315x2)}))};mxGraph[_0x2895[202]][_0x2895[2621]]= function(_0x4315x2){return this[_0x2895[2367]]};mxGraph[_0x2895[202]][_0x2895[2102]]= function(_0x4315x2){return this[_0x2895[2622]]()};mxGraph[_0x2895[202]][_0x2895[2622]]= function(){return this[_0x2895[2379]]};mxGraph[_0x2895[202]][_0x2895[2623]]= function(_0x4315x2){this[_0x2895[2379]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2510]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1938]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x2){return this[_0x2895[2624]](_0x4315x2)}))};mxGraph[_0x2895[202]][_0x2895[2624]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2625]]()&& 0!= _0x4315x2[mxConstants[_0x2895[2626]]]};mxGraph[_0x2895[202]][_0x2895[2625]]= function(){return this[_0x2895[2371]]};mxGraph[_0x2895[202]][_0x2895[2627]]= function(_0x4315x2){this[_0x2895[2371]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2628]]= function(_0x4315x2){return !this[_0x2895[2612]](_0x4315x2)&& (this[_0x2895[251]][_0x2895[250]](_0x4315x2)&& this[_0x2895[2373]]|| this[_0x2895[251]][_0x2895[1193]](_0x4315x2)&& this[_0x2895[2374]])};mxGraph[_0x2895[202]][_0x2895[2629]]= function(_0x4315x2){return this[_0x2895[251]][_0x2895[1938]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x2){return this[_0x2895[1712]](_0x4315x2)}))};mxGraph[_0x2895[202]][_0x2895[1712]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x3=null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2630]]()&& !this[_0x2895[2612]](_0x4315x2)&& 0!= _0x4315x3[mxConstants[_0x2895[2631]]]};mxGraph[_0x2895[202]][_0x2895[2630]]= function(){return this[_0x2895[2372]]};mxGraph[_0x2895[202]][_0x2895[2632]]= function(_0x4315x2){this[_0x2895[2372]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[997]]= function(){return this[_0x2895[991]]};mxGraph[_0x2895[202]][_0x2895[998]]= function(_0x4315x2){this[_0x2895[991]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2549]]= function(){return this[_0x2895[2348]]};mxGraph[_0x2895[202]][_0x2895[2633]]= function(_0x4315x2){this[_0x2895[2348]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2634]]= function(){return this[_0x2895[1020]]};mxGraph[_0x2895[202]][_0x2895[2635]]= function(_0x4315x2){this[_0x2895[1020]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2636]]= function(){return this[_0x2895[2353]]};mxGraph[_0x2895[202]][_0x2895[2637]]= function(_0x4315x2){this[_0x2895[2353]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2638]]= function(){return this[_0x2895[2374]]};mxGraph[_0x2895[202]][_0x2895[2639]]= function(_0x4315x2){this[_0x2895[2374]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2640]]= function(){return this[_0x2895[2373]]};mxGraph[_0x2895[202]][_0x2895[2641]]= function(_0x4315x2){this[_0x2895[2373]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2642]]= function(){return this[_0x2895[2412]]};mxGraph[_0x2895[202]][_0x2895[2643]]= function(_0x4315x2){this[_0x2895[2412]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2460]]= function(){return this[_0x2895[2411]]};mxGraph[_0x2895[202]][_0x2895[2644]]= function(_0x4315x2){this[_0x2895[2411]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2645]]= function(){return this[_0x2895[2404]]};mxGraph[_0x2895[202]][_0x2895[2646]]= function(_0x4315x2){this[_0x2895[2404]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2647]]= function(){return this[_0x2895[2402]]};mxGraph[_0x2895[202]][_0x2895[2648]]= function(_0x4315x2){this[_0x2895[2406]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2530]]= function(){return this[_0x2895[2406]]};mxGraph[_0x2895[202]][_0x2895[2649]]= function(_0x4315x2){this[_0x2895[2405]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2650]]= function(){return this[_0x2895[2405]]};mxGraph[_0x2895[202]][_0x2895[2651]]= function(_0x4315x2){this[_0x2895[2407]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2527]]= function(){return this[_0x2895[2407]]};mxGraph[_0x2895[202]][_0x2895[2652]]= function(_0x4315x2){this[_0x2895[2402]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2529]]= function(){return this[_0x2895[2408]]};mxGraph[_0x2895[202]][_0x2895[2653]]= function(_0x4315x2){this[_0x2895[2408]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[1015]]= function(){return this[_0x2895[2375]]};mxGraph[_0x2895[202]][_0x2895[2654]]= function(_0x4315x2){this[_0x2895[2375]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2655]]= function(){return this[_0x2895[2376]]};mxGraph[_0x2895[202]][_0x2895[2656]]= function(_0x4315x2){this[_0x2895[2376]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2657]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x3=null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2658]]()&& !this[_0x2895[2612]](_0x4315x2)&& 0!= _0x4315x3[mxConstants[_0x2895[2659]]]};mxGraph[_0x2895[202]][_0x2895[2658]]= function(){return this[_0x2895[2377]]};mxGraph[_0x2895[202]][_0x2895[2660]]= function(_0x4315x2){this[_0x2895[2377]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2661]]= function(_0x4315x2,_0x4315x3){return !0};mxGraph[_0x2895[202]][_0x2895[2662]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x3=null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2663]]()&& !this[_0x2895[2612]](_0x4315x2)&& 0!= _0x4315x3[mxConstants[_0x2895[2664]]]};mxGraph[_0x2895[202]][_0x2895[2663]]= function(){return this[_0x2895[2378]]};mxGraph[_0x2895[202]][_0x2895[2665]]= function(_0x4315x2){this[_0x2895[2378]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2453]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x3=null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2666]]()&& !this[_0x2895[2612]](_0x4315x2)&& 0!= _0x4315x3[mxConstants[_0x2895[2667]]]};mxGraph[_0x2895[202]][_0x2895[2666]]= function(){return this[_0x2895[2370]]};mxGraph[_0x2895[202]][_0x2895[2668]]= function(_0x4315x2){this[_0x2895[2370]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2551]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return this[_0x2895[2669]]()&& !this[_0x2895[2612]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2669]]= function(){return this[_0x2895[2380]]};mxGraph[_0x2895[202]][_0x2895[2670]]= function(_0x4315x2){this[_0x2895[2380]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2671]]= function(_0x4315x2){return null== _0x4315x2&& this[_0x2895[2406]]|| null!= _0x4315x2&& (!this[_0x2895[251]][_0x2895[250]](_0x4315x2)|| this[_0x2895[2405]])&& this[_0x2895[2565]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2672]]= function(_0x4315x2){return this[_0x2895[2671]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2582]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[2671]](_0x4315x2)&& this[_0x2895[2672]](_0x4315x3)};mxGraph[_0x2895[202]][_0x2895[1995]]= function(_0x4315x2){this[_0x2895[2433]][_0x2895[995]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[1965]]= function(_0x4315x2){return this[_0x2895[2433]][_0x2895[994]]()};mxGraph[_0x2895[202]][_0x2895[2673]]= function(_0x4315x2){this[_0x2895[2276]][_0x2895[995]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2674]]= function(_0x4315x2){this[_0x2895[2316]][_0x2895[2431]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2203]]= function(_0x4315x2){if(null!= this[_0x2895[2347]]){var _0x4315x3=this[_0x2895[2347]][_0x2895[2148]]();return null== _0x4315x2?null!= _0x4315x3:_0x4315x2== _0x4315x3};return !1};mxGraph[_0x2895[202]][_0x2895[2455]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return this[_0x2895[2675]]()|| 1== _0x4315x2[mxConstants[_0x2895[2676]]]};mxGraph[_0x2895[202]][_0x2895[2675]]= function(){return this[_0x2895[2381]]};mxGraph[_0x2895[202]][_0x2895[2677]]= function(_0x4315x2){this[_0x2895[2381]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2507]]= function(_0x4315x2){return !this[_0x2895[502]]()[_0x2895[250]](_0x4315x2)&& this[_0x2895[2678]]()};mxGraph[_0x2895[202]][_0x2895[2678]]= function(){return this[_0x2895[2392]]};mxGraph[_0x2895[202]][_0x2895[2679]]= function(_0x4315x2){this[_0x2895[2392]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2506]]= function(){return this[_0x2895[2393]]};mxGraph[_0x2895[202]][_0x2895[2680]]= function(_0x4315x2){this[_0x2895[2393]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2536]]= function(_0x4315x2){return this[_0x2895[2681]]()&& !this[_0x2895[502]]()[_0x2895[250]](this[_0x2895[502]]()[_0x2895[1197]](_0x4315x2))};mxGraph[_0x2895[202]][_0x2895[2681]]= function(){return this[_0x2895[2391]]};mxGraph[_0x2895[202]][_0x2895[2682]]= function(_0x4315x2){this[_0x2895[2391]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2505]]= function(){return this[_0x2895[2390]]};mxGraph[_0x2895[202]][_0x2895[2528]]= function(_0x4315x2){this[_0x2895[2390]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2537]]= function(_0x4315x2){return this[_0x2895[2683]](_0x4315x2)?this[_0x2895[2354]]:0};mxGraph[_0x2895[202]][_0x2895[2683]]= function(_0x4315x2){return !1};mxGraph[_0x2895[202]][_0x2895[2513]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[251]][_0x2895[1938]](_0x4315x2,mxUtils[_0x2895[885]](this,function(_0x4315x2){return this[_0x2895[2516]](_0x4315x2,_0x4315x3)}))};mxGraph[_0x2895[202]][_0x2895[2516]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[441]][_0x2895[248]](_0x4315x2),_0x4315x4=null!= _0x4315x4?_0x4315x4[_0x2895[124]]:this[_0x2895[1705]](_0x4315x2);return 0< this[_0x2895[251]][_0x2895[262]](_0x4315x2)&& 0!= _0x4315x4[mxConstants[_0x2895[2684]]]};mxGraph[_0x2895[202]][_0x2895[2685]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return null!= _0x4315x2&& (this[_0x2895[2655]]()&& this[_0x2895[2686]](_0x4315x2,_0x4315x3,_0x4315x4)|| !this[_0x2895[251]][_0x2895[250]](_0x4315x2)&& (this[_0x2895[1730]](_0x4315x2)|| 0< this[_0x2895[251]][_0x2895[262]](_0x4315x2)&& !this[_0x2895[1742]](_0x4315x2)))};mxGraph[_0x2895[202]][_0x2895[2686]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return this[_0x2895[251]][_0x2895[250]](_0x4315x2)&& null!= _0x4315x3&& 1== _0x4315x3[_0x2895[67]]&& this[_0x2895[2565]](_0x4315x3[0])&& null== this[_0x2895[2500]](_0x4315x2,this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!0),_0x4315x3[0])?(_0x4315x4= this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!0),_0x4315x2= this[_0x2895[251]][_0x2895[1709]](_0x4315x2,!1),!this[_0x2895[251]][_0x2895[1720]](_0x4315x3[0],_0x4315x4)&& !this[_0x2895[251]][_0x2895[1720]](_0x4315x3[0],_0x4315x2)):!1};mxGraph[_0x2895[202]][_0x2895[564]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(!this[_0x2895[2642]]()){for(var _0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){if(this[_0x2895[1730]](_0x4315x2[_0x4315x5])){return null}}};_0x4315x5= mxUtils[_0x2895[2196]](this[_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x3),mxEvent[_0x2895[733]](_0x4315x3));_0x4315x5[_0x2895[235]]-= this[_0x2895[1136]];_0x4315x5[_0x2895[236]]-= this[_0x2895[1137]];_0x4315x5= this[_0x2895[2461]](_0x4315x5[_0x2895[235]],_0x4315x5[_0x2895[236]]);if(null== _0x4315x4){_0x4315x4= _0x4315x5}else {if(null!= _0x4315x5){for(var _0x4315x9=this[_0x2895[251]][_0x2895[1197]](_0x4315x5);null!= _0x4315x9&& this[_0x2895[1730]](_0x4315x9)&& _0x4315x9!= _0x4315x4;){_0x4315x9= this[_0x2895[251]][_0x2895[1197]](_0x4315x9)};_0x4315x9== _0x4315x4&& (_0x4315x4= _0x4315x5)}};for(;null!= _0x4315x4&& !this[_0x2895[2685]](_0x4315x4,_0x4315x2,_0x4315x3)&& !this[_0x2895[251]][_0x2895[1740]](_0x4315x4);){_0x4315x4= this[_0x2895[251]][_0x2895[1197]](_0x4315x4)};return !this[_0x2895[251]][_0x2895[1740]](_0x4315x4)&& 0> mxUtils[_0x2895[2]](_0x4315x2,_0x4315x4)?_0x4315x4:null};mxGraph[_0x2895[202]][_0x2895[902]]= function(){var _0x4315x2=this[_0x2895[2355]];null== _0x4315x2&& (_0x4315x2= this[_0x2895[2534]](),null== _0x4315x2&& (_0x4315x2= this[_0x2895[251]][_0x2895[501]](),_0x4315x2= this[_0x2895[251]][_0x2895[263]](_0x4315x2,0)));return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2687]]= function(_0x4315x2){this[_0x2895[2355]]= _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2179]]= function(_0x4315x2){for(;null!= _0x4315x2&& !this[_0x2895[1730]](_0x4315x2);){_0x4315x2= this[_0x2895[251]][_0x2895[1197]](_0x4315x2)};return _0x4315x2};mxGraph[_0x2895[202]][_0x2895[2461]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= _0x4315x4|| this[_0x2895[902]]();if(null!= _0x4315x4){for(var _0x4315x5=this[_0x2895[251]][_0x2895[262]](_0x4315x4),_0x4315x9=0;_0x4315x9< _0x4315x5;_0x4315x9++){var _0x4315xa=this[_0x2895[251]][_0x2895[263]](_0x4315x4,_0x4315x9),_0x4315x12=this[_0x2895[2461]](_0x4315x2,_0x4315x3,_0x4315xa);if(null!= _0x4315x12){return _0x4315x12};if(this[_0x2895[1730]](_0x4315xa)&& (_0x4315x12= this[_0x2895[441]][_0x2895[248]](_0x4315xa),this[_0x2895[1825]](_0x4315x12,_0x4315x2,_0x4315x3))){return _0x4315xa}}};return null};mxGraph[_0x2895[202]][_0x2895[999]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x5= null!= _0x4315x5?_0x4315x5:!0;_0x4315x9= null!= _0x4315x9?_0x4315x9:!0;_0x4315x4= null!= _0x4315x4?_0x4315x4:this[_0x2895[902]]();if(null!= _0x4315x4){for(var _0x4315xa=this[_0x2895[251]][_0x2895[262]](_0x4315x4)- 1;0<= _0x4315xa;_0x4315xa--){var _0x4315x12=this[_0x2895[251]][_0x2895[263]](_0x4315x4,_0x4315xa),_0x4315x13=this[_0x2895[999]](_0x4315x2,_0x4315x3,_0x4315x12,_0x4315x5,_0x4315x9);if(null!= _0x4315x13){return _0x4315x13};if(this[_0x2895[1714]](_0x4315x12)&& (_0x4315x9&& this[_0x2895[251]][_0x2895[250]](_0x4315x12)|| _0x4315x5&& this[_0x2895[251]][_0x2895[1193]](_0x4315x12))){if(_0x4315x13= this[_0x2895[441]][_0x2895[248]](_0x4315x12),this[_0x2895[1825]](_0x4315x13,_0x4315x2,_0x4315x3)){return _0x4315x12}}}};return null};mxGraph[_0x2895[202]][_0x2895[1825]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= _0x4315x2){var _0x4315x5=_0x4315x2[_0x2895[439]];if(null!= _0x4315x5){_0x4315x2= this[_0x2895[2353]]* this[_0x2895[2353]];for(var _0x4315x9=_0x4315x5[0],_0x4315xa=1;_0x4315xa< _0x4315x5[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x5[_0x4315xa];if(mxUtils[_0x2895[440]](_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]],_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],_0x4315x3,_0x4315x4)<= _0x4315x2){return !0};_0x4315x9= _0x4315x12}}else {if(_0x4315x9= mxUtils[_0x2895[431]](mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION)|| 0),0!= _0x4315x9&& (_0x4315x5= Math[_0x2895[426]](-_0x4315x9),_0x4315x9= Math[_0x2895[427]](-_0x4315x9),_0x4315xa= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]()),_0x4315x9= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x3,_0x4315x4),_0x4315x5,_0x4315x9,_0x4315xa),_0x4315x3= _0x4315x9[_0x2895[235]],_0x4315x4= _0x4315x9[_0x2895[236]]),mxUtils[_0x2895[442]](_0x4315x2,_0x4315x3,_0x4315x4)){return !0}}};return !1};mxGraph[_0x2895[202]][_0x2895[2688]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[249]]()[_0x2895[248]](_0x4315x2);_0x4315x2= this[_0x2895[1731]](_0x4315x2);if(null!= _0x4315x5){var _0x4315x9=this[_0x2895[249]]()[_0x2895[518]]();_0x4315x3-= _0x4315x5[_0x2895[235]];_0x4315x4-= _0x4315x5[_0x2895[236]];if(0< _0x4315x2[_0x2895[117]]&& 0< _0x4315x3&& _0x4315x3> _0x4315x2[_0x2895[117]]* _0x4315x9|| 0< _0x4315x2[_0x2895[119]]&& 0< _0x4315x4&& _0x4315x4> _0x4315x2[_0x2895[119]]* _0x4315x9){return !0}};return !1};mxGraph[_0x2895[202]][_0x2895[1728]]= function(_0x4315x2){return this[_0x2895[1955]](_0x4315x2,!0,!1)};mxGraph[_0x2895[202]][_0x2895[1956]]= function(_0x4315x2){return this[_0x2895[1955]](_0x4315x2,!1,!0)};mxGraph[_0x2895[202]][_0x2895[1955]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= null!= _0x4315x2?_0x4315x2:this[_0x2895[902]]();_0x4315x2= this[_0x2895[251]][_0x2895[1955]](_0x4315x2,null!= _0x4315x3?_0x4315x3:!1,null!= _0x4315x4?_0x4315x4:!1);_0x4315x3= [];for(_0x4315x4= 0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){this[_0x2895[1714]](_0x4315x2[_0x4315x4])&& _0x4315x3[_0x2895[207]](_0x4315x2[_0x4315x4])};return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[1756]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[264]](_0x4315x2,_0x4315x3,!0,!0,!1)};mxGraph[_0x2895[202]][_0x2895[1867]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[264]](_0x4315x2,_0x4315x3,!0,!1,!1)};mxGraph[_0x2895[202]][_0x2895[1963]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[264]](_0x4315x2,_0x4315x3,!1,!0,!1)};mxGraph[_0x2895[202]][_0x2895[264]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;_0x4315x5= null!= _0x4315x5?_0x4315x5:!0;_0x4315x9= null!= _0x4315x9?_0x4315x9:!0;_0x4315xa= null!= _0x4315xa?_0x4315xa:!1;for(var _0x4315x12=[],_0x4315x13=this[_0x2895[1742]](_0x4315x2),_0x4315x14=this[_0x2895[251]][_0x2895[262]](_0x4315x2),_0x4315x15=0;_0x4315x15< _0x4315x14;_0x4315x15++){var _0x4315x16=this[_0x2895[251]][_0x2895[263]](_0x4315x2,_0x4315x15);if(_0x4315x13|| !this[_0x2895[1714]](_0x4315x16)){_0x4315x12= _0x4315x12[_0x2895[1919]](this[_0x2895[251]][_0x2895[264]](_0x4315x16,_0x4315x4,_0x4315x5))}};_0x4315x12= _0x4315x12[_0x2895[1919]](this[_0x2895[251]][_0x2895[264]](_0x4315x2,_0x4315x4,_0x4315x5));_0x4315x13= [];for(_0x4315x15= 0;_0x4315x15< _0x4315x12[_0x2895[67]];_0x4315x15++){_0x4315x16= this[_0x2895[441]][_0x2895[248]](_0x4315x12[_0x4315x15]),_0x4315x14= null!= _0x4315x16?_0x4315x16[_0x2895[1710]](!0):this[_0x2895[441]][_0x2895[1710]](_0x4315x12[_0x4315x15],!0),_0x4315x16= null!= _0x4315x16?_0x4315x16[_0x2895[1710]](!1):this[_0x2895[441]][_0x2895[1710]](_0x4315x12[_0x4315x15],!1),(_0x4315x9&& _0x4315x14== _0x4315x16|| _0x4315x14!= _0x4315x16&& (_0x4315x4&& _0x4315x16== _0x4315x2&& (null== _0x4315x3|| this[_0x2895[1920]](_0x4315x14,_0x4315x3,_0x4315xa))|| _0x4315x5&& _0x4315x14== _0x4315x2&& (null== _0x4315x3|| this[_0x2895[1920]](_0x4315x16,_0x4315x3,_0x4315xa))))&& _0x4315x13[_0x2895[207]](_0x4315x12[_0x4315x15])};return _0x4315x13};mxGraph[_0x2895[202]][_0x2895[1920]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x4?this[_0x2895[251]][_0x2895[1720]](_0x4315x3,_0x4315x2):this[_0x2895[251]][_0x2895[1197]](_0x4315x2)== _0x4315x3};mxGraph[_0x2895[202]][_0x2895[1808]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x4= null!= _0x4315x4?_0x4315x4:!0;_0x4315x5= null!= _0x4315x5?_0x4315x5:!0;var _0x4315x9=[],_0x4315xa={};if(null!= _0x4315x2){for(var _0x4315x12=0;_0x4315x12< _0x4315x2[_0x2895[67]];_0x4315x12++){var _0x4315x13=this[_0x2895[441]][_0x2895[248]](_0x4315x2[_0x4315x12]),_0x4315x14=null!= _0x4315x13?_0x4315x13[_0x2895[1710]](!0):this[_0x2895[441]][_0x2895[1710]](_0x4315x2[_0x4315x12],!0),_0x4315x13=null!= _0x4315x13?_0x4315x13[_0x2895[1710]](!1):this[_0x2895[441]][_0x2895[1710]](_0x4315x2[_0x4315x12],!1);if(_0x4315x14== _0x4315x3&& null!= _0x4315x13&& _0x4315x13!= _0x4315x3&& _0x4315x5){var _0x4315x15=mxCellPath[_0x2895[385]](_0x4315x13);null== _0x4315xa[_0x4315x15]&& (_0x4315xa[_0x4315x15]= _0x4315x13,_0x4315x9[_0x2895[207]](_0x4315x13))}else {_0x4315x13== _0x4315x3&& (null!= _0x4315x14&& _0x4315x14!= _0x4315x3&& _0x4315x4)&& (_0x4315x15= mxCellPath[_0x2895[385]](_0x4315x14),null== _0x4315xa[_0x4315x15]&& (_0x4315xa[_0x4315x15]= _0x4315x14,_0x4315x9[_0x2895[207]](_0x4315x14)))}}};return _0x4315x9};mxGraph[_0x2895[202]][_0x2895[1781]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;for(var _0x4315x5=this[_0x2895[264]](_0x4315x2),_0x4315x9=[],_0x4315xa=0;_0x4315xa< _0x4315x5[_0x2895[67]];_0x4315xa++){var _0x4315x12=this[_0x2895[441]][_0x2895[248]](_0x4315x5[_0x4315xa]),_0x4315x13=null!= _0x4315x12?_0x4315x12[_0x2895[1710]](!0):this[_0x2895[441]][_0x2895[1710]](_0x4315x5[_0x4315xa],!0),_0x4315x12=null!= _0x4315x12?_0x4315x12[_0x2895[1710]](!1):this[_0x2895[441]][_0x2895[1710]](_0x4315x5[_0x4315xa],!1);(_0x4315x13== _0x4315x2&& _0x4315x12== _0x4315x3|| !_0x4315x4&& _0x4315x13== _0x4315x3&& _0x4315x12== _0x4315x2)&& _0x4315x9[_0x2895[207]](_0x4315x5[_0x4315xa])};return _0x4315x9};mxGraph[_0x2895[202]][_0x2895[2689]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxUtils[_0x2895[2196]](this[_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x2),mxEvent[_0x2895[733]](_0x4315x2)),_0x4315x5=this[_0x2895[441]][_0x2895[255]],_0x4315x9=this[_0x2895[441]][_0x2895[513]],_0x4315xa=!1!= _0x4315x3?this[_0x2895[1020]]/ 2:0;_0x4315x4[_0x2895[235]]= this[_0x2895[1021]](_0x4315x4[_0x2895[235]]/ _0x4315x5- _0x4315x9[_0x2895[235]]- _0x4315xa);_0x4315x4[_0x2895[236]]= this[_0x2895[1021]](_0x4315x4[_0x2895[236]]/ _0x4315x5- _0x4315x9[_0x2895[236]]- _0x4315xa);return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[2690]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315xa= null!= _0x4315xa?_0x4315xa:[];if(0< _0x4315x4|| 0< _0x4315x5){var _0x4315x12=_0x4315x2+ _0x4315x4,_0x4315x13=_0x4315x3+ _0x4315x5;_0x4315x9= _0x4315x9|| this[_0x2895[902]]();if(null!= _0x4315x9){for(var _0x4315x14=this[_0x2895[251]][_0x2895[262]](_0x4315x9),_0x4315x15=0;_0x4315x15< _0x4315x14;_0x4315x15++){var _0x4315x16=this[_0x2895[251]][_0x2895[263]](_0x4315x9,_0x4315x15),_0x4315x17=this[_0x2895[441]][_0x2895[248]](_0x4315x16);if(this[_0x2895[1714]](_0x4315x16)&& null!= _0x4315x17){var _0x4315x18=_0x4315x17,_0x4315x17=mxUtils[_0x2895[433]](_0x4315x17[_0x2895[124]],mxConstants.STYLE_ROTATION)|| 0;0!= _0x4315x17&& (_0x4315x18= mxUtils[_0x2895[1613]](_0x4315x18,_0x4315x17));_0x4315x18[_0x2895[235]]>= _0x4315x2&& _0x4315x18[_0x2895[236]]+ _0x4315x18[_0x2895[119]]<= _0x4315x13&& _0x4315x18[_0x2895[236]]>= _0x4315x3&& _0x4315x18[_0x2895[235]]+ _0x4315x18[_0x2895[117]]<= _0x4315x12?_0x4315xa[_0x2895[207]](_0x4315x16):this[_0x2895[2690]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x16,_0x4315xa)}}}};return _0x4315xa};mxGraph[_0x2895[202]][_0x2895[2691]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=[];if(_0x4315x5|| _0x4315x9){if(null== _0x4315x4&& (_0x4315x4= this[_0x2895[902]]()),null!= _0x4315x4){for(var _0x4315x12=this[_0x2895[251]][_0x2895[262]](_0x4315x4),_0x4315x13=0;_0x4315x13< _0x4315x12;_0x4315x13++){var _0x4315x14=this[_0x2895[251]][_0x2895[263]](_0x4315x4,_0x4315x13),_0x4315x15=this[_0x2895[441]][_0x2895[248]](_0x4315x14);this[_0x2895[1714]](_0x4315x14)&& null!= _0x4315x15&& (!_0x4315x5|| _0x4315x15[_0x2895[235]]>= _0x4315x2) && (!_0x4315x9|| _0x4315x15[_0x2895[236]]>= _0x4315x3) && _0x4315xa[_0x2895[207]](_0x4315x14)}}};return _0x4315xa};mxGraph[_0x2895[202]][_0x2895[1757]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= null!= _0x4315x3?_0x4315x3:!1;_0x4315x4= null!= _0x4315x4?_0x4315x4:!1;var _0x4315x5=[];if(null!= _0x4315x2){for(var _0x4315x9=this[_0x2895[502]](),_0x4315xa=_0x4315x9[_0x2895[262]](_0x4315x2),_0x4315x12=null,_0x4315x13=0,_0x4315x14=0;_0x4315x14< _0x4315xa;_0x4315x14++){var _0x4315x15=_0x4315x9[_0x2895[263]](_0x4315x2,_0x4315x14);if(this[_0x2895[251]][_0x2895[1193]](_0x4315x15)&& this[_0x2895[1714]](_0x4315x15)){for(var _0x4315x16=this[_0x2895[1756]](_0x4315x15,_0x4315x3?_0x4315x2:null),_0x4315x17=0,_0x4315x18=0,_0x4315x19=0;_0x4315x19< _0x4315x16[_0x2895[67]];_0x4315x19++){this[_0x2895[441]][_0x2895[1710]](_0x4315x16[_0x4315x19],!0)== _0x4315x15?_0x4315x17++:_0x4315x18++};(_0x4315x4&& 0== _0x4315x17&& 0< _0x4315x18|| !_0x4315x4&& 0== _0x4315x18&& 0< _0x4315x17)&& _0x4315x5[_0x2895[207]](_0x4315x15);_0x4315x16= _0x4315x4?_0x4315x18- _0x4315x17:_0x4315x17- _0x4315x18;_0x4315x16> _0x4315x13&& (_0x4315x13= _0x4315x16,_0x4315x12= _0x4315x15)}};0== _0x4315x5[_0x2895[67]]&& null!= _0x4315x12&& _0x4315x5[_0x2895[207]](_0x4315x12)};return _0x4315x5};mxGraph[_0x2895[202]][_0x2895[1706]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x4&& null!= _0x4315x2){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;_0x4315x9= _0x4315x9|| [];var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2);if(null== _0x4315x9[_0x4315xa]&& (_0x4315x9[_0x4315xa]= _0x4315x2,_0x4315x5= _0x4315x4(_0x4315x2,_0x4315x5),null== _0x4315x5|| _0x4315x5)){if(_0x4315x5= this[_0x2895[251]][_0x2895[1707]](_0x4315x2),0< _0x4315x5){for(_0x4315xa= 0;_0x4315xa< _0x4315x5;_0x4315xa++){var _0x4315x12=this[_0x2895[251]][_0x2895[1708]](_0x4315x2,_0x4315xa),_0x4315x13=this[_0x2895[251]][_0x2895[1709]](_0x4315x12,!0)== _0x4315x2;if(!_0x4315x3|| _0x4315x13){_0x4315x13= this[_0x2895[251]][_0x2895[1709]](_0x4315x12,!_0x4315x13),this[_0x2895[1706]](_0x4315x13,_0x4315x3,_0x4315x4,_0x4315x12,_0x4315x9)}}}}}};mxGraph[_0x2895[202]][_0x2895[2692]]= function(_0x4315x2){return this[_0x2895[2435]]()[_0x2895[2097]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2693]]= function(){return this[_0x2895[2435]]()[_0x2895[1107]]()};mxGraph[_0x2895[202]][_0x2895[2440]]= function(){return this[_0x2895[2435]]()[_0x2895[200]]()};mxGraph[_0x2895[202]][_0x2895[2694]]= function(){return this[_0x2895[2435]]()[_0x2895[895]][_0x2895[67]]};mxGraph[_0x2895[202]][_0x2895[2452]]= function(){return this[_0x2895[2435]]()[_0x2895[895]][0]};mxGraph[_0x2895[202]][_0x2895[897]]= function(){return this[_0x2895[2435]]()[_0x2895[895]][_0x2895[1853]]()};mxGraph[_0x2895[202]][_0x2895[2450]]= function(_0x4315x2){this[_0x2895[2435]]()[_0x2895[2099]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[904]]= function(_0x4315x2){this[_0x2895[2435]]()[_0x2895[2100]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2695]]= function(_0x4315x2){this[_0x2895[2435]]()[_0x2895[2103]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2696]]= function(_0x4315x2){this[_0x2895[2435]]()[_0x2895[832]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2697]]= function(_0x4315x2){this[_0x2895[2435]]()[_0x2895[2104]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2439]]= function(_0x4315x2){this[_0x2895[2435]]()[_0x2895[842]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2698]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[2690]](_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],_0x4315x2[_0x2895[117]],_0x4315x2[_0x2895[119]]);this[_0x2895[2699]](_0x4315x4,_0x4315x3);return _0x4315x4};mxGraph[_0x2895[202]][_0x2895[2700]]= function(){this[_0x2895[2701]](!0)};mxGraph[_0x2895[202]][_0x2895[2702]]= function(){this[_0x2895[2701]]()};mxGraph[_0x2895[202]][_0x2895[2703]]= function(){this[_0x2895[2701]](!1,!0)};mxGraph[_0x2895[202]][_0x2895[2704]]= function(){this[_0x2895[2701]](!1,!1,!0)};mxGraph[_0x2895[202]][_0x2895[2701]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[2105]],_0x4315x9=0< _0x4315x5[_0x2895[895]][_0x2895[67]]?_0x4315x5[_0x2895[895]][0]:null;1< _0x4315x5[_0x2895[895]][_0x2895[67]]&& _0x4315x5[_0x2895[200]]();var _0x4315x5=null!= _0x4315x9?this[_0x2895[251]][_0x2895[1197]](_0x4315x9):this[_0x2895[902]](),_0x4315xa=this[_0x2895[251]][_0x2895[262]](_0x4315x5);null== _0x4315x9&& 0< _0x4315xa?(_0x4315x2= this[_0x2895[251]][_0x2895[263]](_0x4315x5,0),this[_0x2895[2450]](_0x4315x2)):(null== _0x4315x9|| _0x4315x3)&& null!= this[_0x2895[441]][_0x2895[248]](_0x4315x5)&& null!= this[_0x2895[251]][_0x2895[1721]](_0x4315x5)?this[_0x2895[2534]]()!= _0x4315x5&& this[_0x2895[2450]](_0x4315x5):null!= _0x4315x9&& _0x4315x4?0< this[_0x2895[251]][_0x2895[262]](_0x4315x9)&& (_0x4315x2= this[_0x2895[251]][_0x2895[263]](_0x4315x9,0),this[_0x2895[2450]](_0x4315x2)):0< _0x4315xa&& (_0x4315x3= _0x4315x5[_0x2895[1738]](_0x4315x9),_0x4315x2?(_0x4315x3++,_0x4315x2= this[_0x2895[251]][_0x2895[263]](_0x4315x5,_0x4315x3% _0x4315xa)):(_0x4315x3--,_0x4315x2= this[_0x2895[251]][_0x2895[263]](_0x4315x5,0> _0x4315x3?_0x4315xa- 1:_0x4315x3)),this[_0x2895[2450]](_0x4315x2))};mxGraph[_0x2895[202]][_0x2895[2705]]= function(_0x4315x2){_0x4315x2= _0x4315x2|| this[_0x2895[902]]();_0x4315x2= this[_0x2895[251]][_0x2895[1953]](_0x4315x2);null!= _0x4315x2&& this[_0x2895[904]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2706]]= function(_0x4315x2){this[_0x2895[2707]](!0,!1,_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2708]]= function(_0x4315x2){this[_0x2895[2707]](!1,!0,_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2707]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= _0x4315x4|| this[_0x2895[902]]();var _0x4315x5=mxUtils[_0x2895[885]](this,function(_0x4315x4){return null!= this[_0x2895[441]][_0x2895[248]](_0x4315x4)&& 0== this[_0x2895[251]][_0x2895[262]](_0x4315x4)&& (this[_0x2895[251]][_0x2895[1193]](_0x4315x4)&& _0x4315x2|| this[_0x2895[251]][_0x2895[250]](_0x4315x4)&& _0x4315x3)});_0x4315x4= this[_0x2895[251]][_0x2895[1921]](_0x4315x5,_0x4315x4);this[_0x2895[904]](_0x4315x4)};mxGraph[_0x2895[202]][_0x2895[2459]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[2692]](_0x4315x2);this[_0x2895[2462]](_0x4315x3)?_0x4315x4?this[_0x2895[2697]](_0x4315x2):this[_0x2895[2695]](_0x4315x2):(!_0x4315x4|| 1!= this[_0x2895[2694]]()) && this[_0x2895[2450]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2699]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2462]](_0x4315x3)?this[_0x2895[2696]](_0x4315x2):this[_0x2895[904]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[2709]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2&& (this[_0x2895[251]][_0x2895[250]](_0x4315x2[_0x2895[246]])?(_0x4315x3= this[_0x2895[441]][_0x2895[2291]](_0x4315x2),_0x4315x3= this[_0x2895[2573]](_0x4315x2)|| _0x4315x3== mxEdgeStyle[_0x2895[2568]]|| _0x4315x3== mxEdgeStyle[_0x2895[2569]]|| _0x4315x3== mxEdgeStyle[_0x2895[2570]]? new mxElbowEdgeHandler(_0x4315x2):_0x4315x3== mxEdgeStyle[_0x2895[2567]]|| _0x4315x3== mxEdgeStyle[_0x2895[2572]]? new mxEdgeSegmentHandler(_0x4315x2): new mxEdgeHandler(_0x4315x2)):_0x4315x3= new mxVertexHandler(_0x4315x2));return _0x4315x3};mxGraph[_0x2895[202]][_0x2895[1133]]= function(_0x4315x2){null== this[_0x2895[2329]]&& (this[_0x2895[2329]]= []);this[_0x2895[2329]][_0x2895[207]](_0x4315x2)};mxGraph[_0x2895[202]][_0x2895[1148]]= function(_0x4315x2){if(null!= this[_0x2895[2329]]){for(var _0x4315x3=0;_0x4315x3< this[_0x2895[2329]][_0x2895[67]];_0x4315x3++){if(this[_0x2895[2329]][_0x4315x3]== _0x4315x2){this[_0x2895[2329]][_0x2895[300]](_0x4315x3,1);break}}}};mxGraph[_0x2895[202]][_0x2895[2710]]= function(_0x4315x2){if(null== _0x4315x2[_0x2895[725]]|| null== _0x4315x2[_0x2895[726]]){var _0x4315x3=mxUtils[_0x2895[2196]](this[_0x2895[526]],_0x4315x2[_0x2895[730]](),_0x4315x2[_0x2895[732]]());_0x4315x2[_0x2895[725]]= _0x4315x3[_0x2895[235]]- this[_0x2895[1136]];_0x4315x2[_0x2895[726]]= _0x4315x3[_0x2895[236]]- this[_0x2895[1137]]}};mxGraph[_0x2895[202]][_0x2895[758]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null== _0x4315x4&& (_0x4315x4= this);this[_0x2895[2710]](_0x4315x3);_0x4315x2== mxEvent[_0x2895[2711]]&& (this[_0x2895[1009]]= !0);if(mxClient[_0x2895[754]]&& this[_0x2895[2349]]&& _0x4315x2== mxEvent[_0x2895[2711]]){var _0x4315x5=( new Date)[_0x2895[178]]();_0x4315x5- this[_0x2895[2213]]< this[_0x2895[2350]]&& Math[_0x2895[425]](this[_0x2895[2712]]- _0x4315x3[_0x2895[730]]())< this[_0x2895[2351]]&& Math[_0x2895[425]](this[_0x2895[2352]]- _0x4315x3[_0x2895[732]]())< this[_0x2895[2351]]?(this[_0x2895[2213]]= 0,this[_0x2895[761]](_0x4315x3[_0x2895[727]](),_0x4315x3[_0x2895[736]]()),_0x4315x3[_0x2895[727]]()[_0x2895[786]]= !0):(this[_0x2895[2712]]= _0x4315x3[_0x2895[730]](),this[_0x2895[2352]]= _0x4315x3[_0x2895[732]](),this[_0x2895[2213]]= _0x4315x5)};_0x4315x5= 2!= _0x4315x3[_0x2895[727]]()[_0x2895[764]];if(mxClient[_0x2895[80]]&& _0x2895[462]== document[_0x2895[135]]){if(null!= this[_0x2895[2713]]&& Math[_0x2895[425]](this[_0x2895[2713]]- _0x4315x3[_0x2895[730]]())> this[_0x2895[2351]]|| null!= this[_0x2895[2714]]&& Math[_0x2895[425]](this[_0x2895[2714]]- _0x4315x3[_0x2895[732]]())> this[_0x2895[2351]]){_0x4315x5= !0};_0x4315x2== mxEvent[_0x2895[2715]]&& (this[_0x2895[2713]]= _0x4315x3[_0x2895[730]](),this[_0x2895[2714]]= _0x4315x3[_0x2895[732]]())};if((_0x4315x2!= mxEvent[_0x2895[2715]]|| this[_0x2895[1009]])&& _0x4315x5){if(_0x4315x2== mxEvent[_0x2895[2715]]&& (this[_0x2895[1009]]= !1),!this[_0x2895[2203]]()&& (mxClient[_0x2895[71]]|| mxClient[_0x2895[75]]|| mxClient[_0x2895[76]]|| mxClient[_0x2895[80]]&& mxClient[_0x2895[48]]|| _0x4315x3[_0x2895[727]]()[_0x2895[772]]!= this[_0x2895[526]])){_0x4315x2== mxEvent[_0x2895[2716]]&& (this[_0x2895[1009]]&& this[_0x2895[1012]])&& this[_0x2895[1014]](_0x4315x3[_0x2895[734]](),_0x4315x3[_0x2895[735]](),this[_0x2895[1013]]);if(null!= this[_0x2895[2329]]){_0x4315x4= [_0x4315x4,_0x4315x3];_0x4315x3[_0x2895[727]]()[_0x2895[739]]= !0;for(_0x4315x5= 0;_0x4315x5< this[_0x2895[2329]][_0x2895[67]];_0x4315x5++){var _0x4315x9=this[_0x2895[2329]][_0x4315x5];_0x4315x2== mxEvent[_0x2895[2711]]?_0x4315x9[_0x2895[787]][_0x2895[183]](_0x4315x9,_0x4315x4):_0x4315x2== mxEvent[_0x2895[2716]]?_0x4315x9[_0x2895[788]][_0x2895[183]](_0x4315x9,_0x4315x4):_0x4315x2== mxEvent[_0x2895[2715]]&& _0x4315x9[_0x2895[789]][_0x2895[183]](_0x4315x9,_0x4315x4)}};_0x4315x2== mxEvent[_0x2895[2715]]&& this[_0x2895[173]](_0x4315x3)}}else {_0x4315x2== mxEvent[_0x2895[2715]]&& (this[_0x2895[1009]]= !1)}};mxGraph[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[2717]]|| (this[_0x2895[2717]]= !0,null!= this[_0x2895[2276]]&& this[_0x2895[2276]][_0x2895[515]](),null!= this[_0x2895[2432]]&& this[_0x2895[2432]][_0x2895[515]](),null!= this[_0x2895[2316]]&& this[_0x2895[2316]][_0x2895[515]](),null!= this[_0x2895[2433]]&& this[_0x2895[2433]][_0x2895[515]](),null!= this[_0x2895[1011]]&& this[_0x2895[1011]][_0x2895[515]](),null!= this[_0x2895[2347]]&& this[_0x2895[2347]][_0x2895[515]](),null!= this[_0x2895[441]]&& this[_0x2895[441]][_0x2895[515]](),null!= this[_0x2895[251]]&& null!= this[_0x2895[2343]]&& (this[_0x2895[251]][_0x2895[745]](this[_0x2895[2343]]),this[_0x2895[2343]]= null),this[_0x2895[526]]= null)};function mxCellOverlay(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){this[_0x2895[618]]= _0x4315x2;this[_0x2895[2718]]= _0x4315x3;this[_0x2895[611]]= null!= _0x4315x4?_0x4315x4:this[_0x2895[611]];this[_0x2895[123]]= null!= _0x4315x5?_0x4315x5:this[_0x2895[123]];this[_0x2895[1368]]= null!= _0x4315x9?_0x4315x9: new mxPoint;this[_0x2895[270]]= null!= _0x4315xa?_0x4315xa:_0x2895[2719]}mxCellOverlay[_0x2895[202]]= new mxEventSource;mxCellOverlay[_0x2895[202]][_0x2895[196]]= mxCellOverlay;mxCellOverlay[_0x2895[202]][_0x2895[618]]= null;mxCellOverlay[_0x2895[202]][_0x2895[2718]]= null;mxCellOverlay[_0x2895[202]][_0x2895[611]]= mxConstants[_0x2895[480]];mxCellOverlay[_0x2895[202]][_0x2895[123]]= mxConstants[_0x2895[482]];mxCellOverlay[_0x2895[202]][_0x2895[1368]]= null;mxCellOverlay[_0x2895[202]][_0x2895[270]]= null;mxCellOverlay[_0x2895[202]][_0x2895[2354]]= 0.5;mxCellOverlay[_0x2895[202]][_0x2895[1799]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[441]][_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x2[_0x2895[246]]),_0x4315x4=_0x4315x2[_0x2895[441]][_0x2895[255]],_0x4315x5=null,_0x4315x9=this[_0x2895[618]][_0x2895[117]],_0x4315xa=this[_0x2895[618]][_0x2895[119]];_0x4315x3?(_0x4315x3= _0x4315x2[_0x2895[439]],1== _0x4315x3[_0x2895[67]]% 2?_0x4315x5= _0x4315x3[Math[_0x2895[519]](_0x4315x3[_0x2895[67]]/ 2)]:(_0x4315x5= _0x4315x3[_0x2895[67]]/ 2,_0x4315x2= _0x4315x3[_0x4315x5- 1],_0x4315x3= _0x4315x3[_0x4315x5],_0x4315x5= new mxPoint(_0x4315x2[_0x2895[235]]+ (_0x4315x3[_0x2895[235]]- _0x4315x2[_0x2895[235]])/ 2,_0x4315x2[_0x2895[236]]+ (_0x4315x3[_0x2895[236]]- _0x4315x2[_0x2895[236]])/ 2))):(_0x4315x5= new mxPoint,_0x4315x5[_0x2895[235]]= this[_0x2895[611]]== mxConstants[_0x2895[2132]]?_0x4315x2[_0x2895[235]]:this[_0x2895[611]]== mxConstants[_0x2895[479]]?_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]/ 2:_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]],_0x4315x5[_0x2895[236]]= this[_0x2895[123]]== mxConstants[_0x2895[1687]]?_0x4315x2[_0x2895[236]]:this[_0x2895[123]]== mxConstants[_0x2895[481]]?_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]/ 2:_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]);return new mxRectangle(Math[_0x2895[488]](_0x4315x5[_0x2895[235]]- (_0x4315x9* this[_0x2895[2354]]- this[_0x2895[1368]][_0x2895[235]])* _0x4315x4),Math[_0x2895[488]](_0x4315x5[_0x2895[236]]- (_0x4315xa* this[_0x2895[2354]]- this[_0x2895[1368]][_0x2895[236]])* _0x4315x4),_0x4315x9* _0x4315x4,_0x4315xa* _0x4315x4)};mxCellOverlay[_0x2895[202]][_0x2895[2591]]= function(){return this[_0x2895[2718]]};function mxOutline(_0x4315x2,_0x4315x3){this[_0x2895[1097]]= _0x4315x2;null!= _0x4315x3&& this[_0x2895[176]](_0x4315x3)}mxOutline[_0x2895[202]][_0x2895[1097]]= null;mxOutline[_0x2895[202]][_0x2895[2136]]= null;mxOutline[_0x2895[202]][_0x2895[2720]]= mxConstants[_0x2895[2333]];mxOutline[_0x2895[202]][_0x2895[984]]= !0;mxOutline[_0x2895[202]][_0x2895[2721]]= !0;mxOutline[_0x2895[202]][_0x2895[467]]= 10;mxOutline[_0x2895[202]][_0x2895[2722]]= 8;mxOutline[_0x2895[202]][_0x2895[2723]]= !1;mxOutline[_0x2895[202]][_0x2895[2724]]= null;mxOutline[_0x2895[202]][_0x2895[1063]]= !1;mxOutline[_0x2895[202]][_0x2895[176]]= function(_0x4315x2){this[_0x2895[2136]]= new mxGraph(_0x4315x2,this[_0x2895[1097]][_0x2895[502]](),this[_0x2895[2720]],this[_0x2895[1097]][_0x2895[2434]]());this[_0x2895[2136]][_0x2895[2206]]= !1;this[_0x2895[2136]][_0x2895[1012]]= !1;var _0x4315x3=this[_0x2895[2136]][_0x2895[1177]];this[_0x2895[2136]][_0x2895[1177]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){!this[_0x2895[1063]]&& null!= this[_0x2895[2136]]&& _0x4315x3[_0x2895[183]](this[_0x2895[2136]],arguments)});mxClient[_0x2895[48]]&& (_0x4315x2= this[_0x2895[2136]][_0x2895[249]]()[_0x2895[2051]]()[_0x2895[265]],_0x4315x2[_0x2895[57]](_0x2895[2725],_0x2895[2726]),_0x4315x2[_0x2895[57]](_0x2895[2727],_0x2895[2726]));this[_0x2895[2136]][_0x2895[2409]]= !1;this[_0x2895[2136]][_0x2895[995]](!1);this[_0x2895[2728]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){!this[_0x2895[1063]]&& !this[_0x2895[1124]]&& this[_0x2895[2729]]()});this[_0x2895[1097]][_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,this[_0x2895[2728]]);this[_0x2895[2136]][_0x2895[1133]](this);_0x4315x2= this[_0x2895[1097]][_0x2895[249]]();_0x4315x2[_0x2895[169]](mxEvent.SCALE,this[_0x2895[2728]]);_0x4315x2[_0x2895[169]](mxEvent.TRANSLATE,this[_0x2895[2728]]);_0x4315x2[_0x2895[169]](mxEvent.SCALE_AND_TRANSLATE,this[_0x2895[2728]]);_0x4315x2[_0x2895[169]](mxEvent.DOWN,this[_0x2895[2728]]);_0x4315x2[_0x2895[169]](mxEvent.UP,this[_0x2895[2728]]);mxEvent[_0x2895[169]](this[_0x2895[1097]][_0x2895[526]],_0x2895[276],this[_0x2895[2728]]);this[_0x2895[2730]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2723]]&& this[_0x2895[2728]][_0x2895[183]](this,arguments)});this[_0x2895[1097]][_0x2895[169]](mxEvent.PAN,this[_0x2895[2730]]);this[_0x2895[2731]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2136]][_0x2895[2341]](this[_0x2895[1097]][_0x2895[2434]]());this[_0x2895[2136]][_0x2895[802]]()});this[_0x2895[1097]][_0x2895[169]](mxEvent.REFRESH,this[_0x2895[2731]]);this[_0x2895[1562]]= new mxRectangle(0,0,0,0);this[_0x2895[2732]]= new mxRectangleShape(this[_0x2895[1562]],null,mxConstants.OUTLINE_COLOR,mxConstants.OUTLINE_STROKEWIDTH);this[_0x2895[2732]][_0x2895[507]]= this[_0x2895[2136]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]];this[_0x2895[2732]][_0x2895[176]](this[_0x2895[2136]][_0x2895[249]]()[_0x2895[1524]]());mxEvent[_0x2895[2733]](this[_0x2895[2732]][_0x2895[252]],this[_0x2895[2136]]);this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[1537]]= _0x2895[110];this[_0x2895[2734]]= this[_0x2895[2735]]();this[_0x2895[2734]][_0x2895[176]](this[_0x2895[2136]][_0x2895[249]]()[_0x2895[1524]]());this[_0x2895[984]]&& (this[_0x2895[2734]][_0x2895[252]][_0x2895[124]][_0x2895[270]]= _0x2895[356]);mxEvent[_0x2895[169]](this[_0x2895[2734]][_0x2895[252]],mxClient[_0x2895[754]]?_0x2895[755]:_0x2895[751],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2136]][_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x2))}));this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[495]]= this[_0x2895[2721]]?_0x2895[110]:_0x2895[130];this[_0x2895[2734]][_0x2895[252]][_0x2895[124]][_0x2895[495]]= this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[495]];this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[270]]= _0x2895[582];this[_0x2895[2729]](!1)};mxOutline[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxOutline[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxOutline[_0x2895[202]][_0x2895[2736]]= function(_0x4315x2){this[_0x2895[2734]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x4315x2?_0x2895[189]:_0x2895[188]};mxOutline[_0x2895[202]][_0x2895[802]]= function(){this[_0x2895[2729]](!0)};mxOutline[_0x2895[202]][_0x2895[2735]]= function(){var _0x4315x2=null!= this[_0x2895[2724]]? new mxImageShape( new mxRectangle(0,0,this[_0x2895[2724]][_0x2895[117]],this[_0x2895[2724]][_0x2895[119]]),this[_0x2895[2724]][_0x2895[390]]): new mxRectangleShape( new mxRectangle(0,0,this[_0x2895[2722]],this[_0x2895[2722]]),mxConstants.OUTLINE_HANDLE_FILLCOLOR,mxConstants.OUTLINE_HANDLE_STROKECOLOR);_0x4315x2[_0x2895[507]]= this[_0x2895[2136]][_0x2895[507]];return _0x4315x2};mxOutline[_0x2895[202]][_0x2895[2737]]= function(){return new mxRectangle(0,0,this[_0x2895[1097]][_0x2895[526]][_0x2895[1526]],this[_0x2895[1097]][_0x2895[526]][_0x2895[191]])};mxOutline[_0x2895[202]][_0x2895[2738]]= function(_0x4315x2){return null};mxOutline[_0x2895[202]][_0x2895[2729]]= function(_0x4315x2){if(null!= this[_0x2895[1097]]){var _0x4315x3=this[_0x2895[1097]][_0x2895[441]][_0x2895[255]],_0x4315x4=this[_0x2895[1097]][_0x2895[517]](),_0x4315x4= new mxRectangle(_0x4315x4[_0x2895[235]]/ _0x4315x3+ this[_0x2895[1097]][_0x2895[1136]],_0x4315x4[_0x2895[236]]/ _0x4315x3+ this[_0x2895[1097]][_0x2895[1137]],_0x4315x4[_0x2895[117]]/ _0x4315x3,_0x4315x4[_0x2895[119]]/ _0x4315x3),_0x4315x5= new mxRectangle(0,0,this[_0x2895[1097]][_0x2895[526]][_0x2895[159]]/ _0x4315x3,this[_0x2895[1097]][_0x2895[526]][_0x2895[157]]/ _0x4315x3),_0x4315x9=_0x4315x4[_0x2895[238]]();_0x4315x9[_0x2895[99]](_0x4315x5);var _0x4315xa=this[_0x2895[2737]](),_0x4315x5=Math[_0x2895[160]](_0x4315xa[_0x2895[117]]/ _0x4315x3,_0x4315x9[_0x2895[117]]),_0x4315x3=Math[_0x2895[160]](_0x4315xa[_0x2895[119]]/ _0x4315x3,_0x4315x9[_0x2895[119]]),_0x4315x9=Math[_0x2895[160]](0,this[_0x2895[2136]][_0x2895[526]][_0x2895[159]]- this[_0x2895[467]]),_0x4315xa=Math[_0x2895[160]](0,this[_0x2895[2136]][_0x2895[526]][_0x2895[157]]- this[_0x2895[467]]),_0x4315x9=Math[_0x2895[243]](_0x4315x9/ _0x4315x5,_0x4315xa/ _0x4315x3);if(0< _0x4315x9){this[_0x2895[2136]][_0x2895[249]]()[_0x2895[255]]!= _0x4315x9&& (this[_0x2895[2136]][_0x2895[249]]()[_0x2895[255]]= _0x4315x9,_0x4315x2= !0);_0x4315x5= this[_0x2895[2136]][_0x2895[249]]();_0x4315x5[_0x2895[1741]]!= this[_0x2895[1097]][_0x2895[249]]()[_0x2895[1741]]&& _0x4315x5[_0x2895[2257]](this[_0x2895[1097]][_0x2895[249]]()[_0x2895[1741]]);var _0x4315x3=this[_0x2895[1097]][_0x2895[441]][_0x2895[513]],_0x4315xa=_0x4315x3[_0x2895[235]]+ this[_0x2895[1097]][_0x2895[1136]],_0x4315x12=_0x4315x3[_0x2895[236]]+ this[_0x2895[1097]][_0x2895[1137]],_0x4315x9=this[_0x2895[2738]](_0x4315x9);null!= _0x4315x9&& (_0x4315xa+= _0x4315x9[_0x2895[235]],_0x4315x12+= _0x4315x9[_0x2895[236]]);0> _0x4315x4[_0x2895[235]]&& (_0x4315xa-= _0x4315x4[_0x2895[235]]);0> _0x4315x4[_0x2895[236]]&& (_0x4315x12-= _0x4315x4[_0x2895[236]]);if(_0x4315x5[_0x2895[513]][_0x2895[235]]!= _0x4315xa|| _0x4315x5[_0x2895[513]][_0x2895[236]]!= _0x4315x12){_0x4315x5[_0x2895[513]][_0x2895[235]]= _0x4315xa,_0x4315x5[_0x2895[513]][_0x2895[236]]= _0x4315x12,_0x4315x2= !0};var _0x4315x4=_0x4315x5[_0x2895[513]],_0x4315x9=this[_0x2895[1097]][_0x2895[249]]()[_0x2895[255]],_0x4315xa=_0x4315x9/ _0x4315x5[_0x2895[255]],_0x4315x12=1/ _0x4315x5[_0x2895[255]],_0x4315x13=this[_0x2895[1097]][_0x2895[526]];this[_0x2895[1562]]= new mxRectangle((_0x4315x4[_0x2895[235]]- _0x4315x3[_0x2895[235]]- this[_0x2895[1097]][_0x2895[1136]])/ _0x4315x12,(_0x4315x4[_0x2895[236]]- _0x4315x3[_0x2895[236]]- this[_0x2895[1097]][_0x2895[1137]])/ _0x4315x12,_0x4315x13[_0x2895[159]]/ _0x4315xa,_0x4315x13[_0x2895[157]]/ _0x4315xa);this[_0x2895[1562]][_0x2895[235]]+= this[_0x2895[1097]][_0x2895[526]][_0x2895[360]]* _0x4315x5[_0x2895[255]]/ _0x4315x9;this[_0x2895[1562]][_0x2895[236]]+= this[_0x2895[1097]][_0x2895[526]][_0x2895[190]]* _0x4315x5[_0x2895[255]]/ _0x4315x9;_0x4315x4= this[_0x2895[2732]][_0x2895[1562]];if(_0x4315x4[_0x2895[235]]!= this[_0x2895[1562]][_0x2895[235]]|| _0x4315x4[_0x2895[236]]!= this[_0x2895[1562]][_0x2895[236]]|| _0x4315x4[_0x2895[117]]!= this[_0x2895[1562]][_0x2895[117]]|| _0x4315x4[_0x2895[119]]!= this[_0x2895[1562]][_0x2895[119]]){this[_0x2895[2732]][_0x2895[1562]]= this[_0x2895[1562]],this[_0x2895[2732]][_0x2895[258]]()};_0x4315x4= this[_0x2895[2734]][_0x2895[1562]];_0x4315x5= new mxRectangle(this[_0x2895[1562]][_0x2895[235]]+ this[_0x2895[1562]][_0x2895[117]]- _0x4315x4[_0x2895[117]]/ 2,this[_0x2895[1562]][_0x2895[236]]+ this[_0x2895[1562]][_0x2895[119]]- _0x4315x4[_0x2895[119]]/ 2,_0x4315x4[_0x2895[117]],_0x4315x4[_0x2895[119]]);if(_0x4315x4[_0x2895[235]]!= _0x4315x5[_0x2895[235]]|| _0x4315x4[_0x2895[236]]!= _0x4315x5[_0x2895[236]]|| _0x4315x4[_0x2895[117]]!= _0x4315x5[_0x2895[117]]|| _0x4315x4[_0x2895[119]]!= _0x4315x5[_0x2895[119]]){this[_0x2895[2734]][_0x2895[1562]]= _0x4315x5,_0x2895[188]!= this[_0x2895[2734]][_0x2895[252]][_0x2895[124]][_0x2895[187]]&& this[_0x2895[2734]][_0x2895[258]]()};_0x4315x2&& this[_0x2895[2136]][_0x2895[441]][_0x2895[2259]]()}}};mxOutline[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){this[_0x2895[984]]&& this[_0x2895[2721]]&& (this[_0x2895[499]]= _0x4315x3[_0x2895[729]](this[_0x2895[2734]]),this[_0x2895[2739]]= _0x4315x3[_0x2895[730]](),this[_0x2895[2740]]= _0x4315x3[_0x2895[732]](),this[_0x2895[1124]]= !0,this[_0x2895[1097]][_0x2895[2365]]&& mxUtils[_0x2895[1134]](this[_0x2895[1097]][_0x2895[526]])?(this[_0x2895[2741]]= this[_0x2895[1097]][_0x2895[526]][_0x2895[360]],this[_0x2895[2742]]= this[_0x2895[1097]][_0x2895[526]][_0x2895[190]]):this[_0x2895[2742]]= this[_0x2895[2741]]= 0);_0x4315x3[_0x2895[722]]()};mxOutline[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1124]]){this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[495]]= this[_0x2895[2721]]?_0x2895[110]:_0x2895[130];this[_0x2895[2734]][_0x2895[252]][_0x2895[124]][_0x2895[495]]= this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[495]];var _0x4315x4=_0x4315x3[_0x2895[730]]()- this[_0x2895[2739]],_0x4315x5=_0x4315x3[_0x2895[732]]()- this[_0x2895[2740]],_0x4315x9=null;if(this[_0x2895[499]]){_0x4315x9= this[_0x2895[1097]][_0x2895[526]],_0x4315x5= _0x4315x4/ (_0x4315x9[_0x2895[159]]/ _0x4315x9[_0x2895[157]]),_0x4315x9= new mxRectangle(this[_0x2895[1562]][_0x2895[235]],this[_0x2895[1562]][_0x2895[236]],Math[_0x2895[160]](1,this[_0x2895[1562]][_0x2895[117]]+ _0x4315x4),Math[_0x2895[160]](1,this[_0x2895[1562]][_0x2895[119]]+ _0x4315x5)),this[_0x2895[2732]][_0x2895[1562]]= _0x4315x9,this[_0x2895[2732]][_0x2895[258]]()}else {var _0x4315xa=this[_0x2895[2136]][_0x2895[249]]()[_0x2895[255]],_0x4315x9= new mxRectangle(this[_0x2895[1562]][_0x2895[235]]+ _0x4315x4,this[_0x2895[1562]][_0x2895[236]]+ _0x4315x5,this[_0x2895[1562]][_0x2895[117]],this[_0x2895[1562]][_0x2895[119]]);this[_0x2895[2732]][_0x2895[1562]]= _0x4315x9;this[_0x2895[2732]][_0x2895[258]]();_0x4315x4= _0x4315x4/ _0x4315xa* this[_0x2895[1097]][_0x2895[249]]()[_0x2895[255]];_0x4315x5= _0x4315x5/ _0x4315xa* this[_0x2895[1097]][_0x2895[249]]()[_0x2895[255]];this[_0x2895[1097]][_0x2895[1135]](-_0x4315x4- this[_0x2895[2741]],-_0x4315x5- this[_0x2895[2742]])};_0x4315x4= this[_0x2895[2734]][_0x2895[1562]];this[_0x2895[2734]][_0x2895[1562]]= new mxRectangle(_0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]]- _0x4315x4[_0x2895[117]]/ 2,_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]]- _0x4315x4[_0x2895[119]]/ 2,_0x4315x4[_0x2895[117]],_0x4315x4[_0x2895[119]]);_0x2895[188]!= this[_0x2895[2734]][_0x2895[252]][_0x2895[124]][_0x2895[187]]&& this[_0x2895[2734]][_0x2895[258]]();_0x4315x3[_0x2895[722]]()}};mxOutline[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1124]]){var _0x4315x4=_0x4315x3[_0x2895[730]]()- this[_0x2895[2739]],_0x4315x5=_0x4315x3[_0x2895[732]]()- this[_0x2895[2740]];if(0< Math[_0x2895[425]](_0x4315x4)|| 0< Math[_0x2895[425]](_0x4315x5)){if(this[_0x2895[499]]){var _0x4315x5=this[_0x2895[2732]][_0x2895[1562]][_0x2895[117]],_0x4315x9=this[_0x2895[1097]][_0x2895[249]]()[_0x2895[255]];this[_0x2895[1097]][_0x2895[2561]](_0x4315x9- _0x4315x4* _0x4315x9/ _0x4315x5,!1)}else {if(!this[_0x2895[1097]][_0x2895[2365]]|| !mxUtils[_0x2895[1134]](this[_0x2895[1097]][_0x2895[526]])){this[_0x2895[1097]][_0x2895[1135]](0,0),_0x4315x4/= this[_0x2895[2136]][_0x2895[249]]()[_0x2895[255]],_0x4315x5/= this[_0x2895[2136]][_0x2895[249]]()[_0x2895[255]],_0x4315x9= this[_0x2895[1097]][_0x2895[249]]()[_0x2895[513]],this[_0x2895[1097]][_0x2895[249]]()[_0x2895[1147]](_0x4315x9[_0x2895[235]]- _0x4315x4,_0x4315x9[_0x2895[236]]- _0x4315x5)}};this[_0x2895[2729]]();_0x4315x3[_0x2895[722]]()};this[_0x2895[1983]]= null;this[_0x2895[1124]]= !1}};mxOutline[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[1097]]&& (this[_0x2895[1097]][_0x2895[745]](this[_0x2895[2730]]),this[_0x2895[1097]][_0x2895[745]](this[_0x2895[2731]]),this[_0x2895[1097]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[2728]]),this[_0x2895[1097]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[2728]]),mxEvent[_0x2895[169]](this[_0x2895[1097]][_0x2895[526]],_0x2895[276],this[_0x2895[2728]]),this[_0x2895[1097]]= null);null!= this[_0x2895[2136]]&& (this[_0x2895[2136]][_0x2895[1148]](this),this[_0x2895[2136]][_0x2895[515]](),this[_0x2895[2136]]= null);null!= this[_0x2895[2732]]&& (this[_0x2895[2732]][_0x2895[515]](),this[_0x2895[2732]]= null);null!= this[_0x2895[2734]]&& (this[_0x2895[2734]][_0x2895[515]](),this[_0x2895[2734]]= null)};function mxMultiplicity(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15){this[_0x2895[1097]]= _0x4315x2;this[_0x2895[60]]= _0x4315x3;this[_0x2895[2588]]= _0x4315x4;this[_0x2895[131]]= _0x4315x5;this[_0x2895[243]]= null!= _0x4315x9?_0x4315x9:0;this[_0x2895[160]]= null!= _0x4315xa?_0x4315xa:_0x2895[2743];this[_0x2895[2744]]= _0x4315x12;this[_0x2895[2589]]= mxResources[_0x2895[203]](_0x4315x13)|| _0x4315x13;this[_0x2895[2745]]= mxResources[_0x2895[203]](_0x4315x14)|| _0x4315x14;this[_0x2895[2746]]= null!= _0x4315x15?_0x4315x15:!0}mxMultiplicity[_0x2895[202]][_0x2895[60]]= null;mxMultiplicity[_0x2895[202]][_0x2895[2588]]= null;mxMultiplicity[_0x2895[202]][_0x2895[131]]= null;mxMultiplicity[_0x2895[202]][_0x2895[1097]]= null;mxMultiplicity[_0x2895[202]][_0x2895[243]]= null;mxMultiplicity[_0x2895[202]][_0x2895[160]]= null;mxMultiplicity[_0x2895[202]][_0x2895[2744]]= null;mxMultiplicity[_0x2895[202]][_0x2895[2746]]= !0;mxMultiplicity[_0x2895[202]][_0x2895[2589]]= null;mxMultiplicity[_0x2895[202]][_0x2895[2745]]= null;mxMultiplicity[_0x2895[202]][_0x2895[2583]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=_0x2895[110];if(this[_0x2895[1097]]&& this[_0x2895[2747]](_0x4315x2,_0x4315x4,_0x4315x3)|| !this[_0x2895[1097]]&& this[_0x2895[2747]](_0x4315x2,_0x4315x5,_0x4315x3)){if(null!= this[_0x2895[2589]]&& (this[_0x2895[1097]]&& (0== this[_0x2895[160]]|| _0x4315x9>= this[_0x2895[160]])|| !this[_0x2895[1097]]&& (0== this[_0x2895[160]]|| _0x4315xa>= this[_0x2895[160]]))){_0x4315x12+= this[_0x2895[2589]]+ _0x2895[192]};null!= this[_0x2895[2744]]&& (null!= this[_0x2895[2745]]&& 0< this[_0x2895[2744]][_0x2895[67]])&& (this[_0x2895[2748]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5)|| (_0x4315x12+= this[_0x2895[2745]]+ _0x2895[192]))};return 0< _0x4315x12[_0x2895[67]]?_0x4315x12:null};mxMultiplicity[_0x2895[202]][_0x2895[2748]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x3= _0x4315x2[_0x2895[251]][_0x2895[433]](_0x4315x4);_0x4315x5= _0x4315x2[_0x2895[251]][_0x2895[433]](_0x4315x5);_0x4315x4= !this[_0x2895[2746]];for(var _0x4315x9=this[_0x2895[2744]],_0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){if(this[_0x2895[1097]]&& this[_0x2895[2749]](_0x4315x2,_0x4315x5,_0x4315x9[_0x4315xa])){_0x4315x4= this[_0x2895[2746]];break}else {if(!this[_0x2895[1097]]&& this[_0x2895[2749]](_0x4315x2,_0x4315x3,_0x4315x9[_0x4315xa])){_0x4315x4= this[_0x2895[2746]];break}}};return _0x4315x4};mxMultiplicity[_0x2895[202]][_0x2895[2747]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= _0x4315x2[_0x2895[251]][_0x2895[433]](_0x4315x3);return this[_0x2895[2749]](_0x4315x2,_0x4315x3,this[_0x2895[60]],this[_0x2895[2588]],this[_0x2895[131]])};mxMultiplicity[_0x2895[202]][_0x2895[2749]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){return null!= _0x4315x3?isNaN(_0x4315x3[_0x2895[288]])?_0x4315x3== _0x4315x4:mxUtils[_0x2895[1331]](_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9):!1};function mxLayoutManager(_0x4315x2){this[_0x2895[2750]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4){this[_0x2895[994]]()&& this[_0x2895[823]](_0x4315x4[_0x2895[720]](_0x2895[1061]))});this[_0x2895[2317]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4){this[_0x2895[994]]()&& this[_0x2895[835]](_0x4315x4[_0x2895[720]](_0x2895[895]),_0x4315x4[_0x2895[720]](_0x2895[763]))});this[_0x2895[1178]](_0x4315x2)}mxLayoutManager[_0x2895[202]]= new mxEventSource;mxLayoutManager[_0x2895[202]][_0x2895[196]]= mxLayoutManager;mxLayoutManager[_0x2895[202]][_0x2895[1179]]= null;mxLayoutManager[_0x2895[202]][_0x2895[2751]]= !0;mxLayoutManager[_0x2895[202]][_0x2895[984]]= !0;mxLayoutManager[_0x2895[202]][_0x2895[2728]]= null;mxLayoutManager[_0x2895[202]][_0x2895[2317]]= null;mxLayoutManager[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxLayoutManager[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxLayoutManager[_0x2895[202]][_0x2895[2752]]= function(){return this[_0x2895[2751]]};mxLayoutManager[_0x2895[202]][_0x2895[2753]]= function(_0x4315x2){this[_0x2895[2751]]= _0x4315x2};mxLayoutManager[_0x2895[202]][_0x2895[1703]]= function(){return this[_0x2895[1179]]};mxLayoutManager[_0x2895[202]][_0x2895[1178]]= function(_0x4315x2){if(null!= this[_0x2895[1179]]){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]();_0x4315x3[_0x2895[745]](this[_0x2895[2750]]);this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2317]])};this[_0x2895[1179]]= _0x4315x2;null!= this[_0x2895[1179]]&& (_0x4315x3= this[_0x2895[1179]][_0x2895[502]](),_0x4315x3[_0x2895[169]](mxEvent.BEFORE_UNDO,this[_0x2895[2750]]),this[_0x2895[1179]][_0x2895[169]](mxEvent.MOVE_CELLS,this[_0x2895[2317]]))};mxLayoutManager[_0x2895[202]][_0x2895[2754]]= function(_0x4315x2){return null};mxLayoutManager[_0x2895[202]][_0x2895[823]]= function(_0x4315x2){_0x4315x2= this[_0x2895[2755]](_0x4315x2[_0x2895[1065]]);var _0x4315x3=this[_0x2895[1703]]()[_0x2895[502]]();if(this[_0x2895[2752]]()){for(var _0x4315x4=_0x4315x3[_0x2895[1977]](_0x4315x2);0< _0x4315x4[_0x2895[67]];){_0x4315x2= _0x4315x2[_0x2895[1919]](_0x4315x4),_0x4315x4= _0x4315x3[_0x2895[1977]](_0x4315x4)}};this[_0x2895[828]](mxUtils[_0x2895[1779]](_0x4315x2,!1))};mxLayoutManager[_0x2895[202]][_0x2895[835]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& null!= _0x4315x3){for(var _0x4315x4=mxUtils[_0x2895[2196]](this[_0x2895[1703]]()[_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x3),mxEvent[_0x2895[733]](_0x4315x3)),_0x4315x5=this[_0x2895[1703]]()[_0x2895[502]](),_0x4315x9=0;_0x4315x9< _0x4315x2[_0x2895[67]];_0x4315x9++){var _0x4315xa=this[_0x2895[2754]](_0x4315x5[_0x2895[1197]](_0x4315x2[_0x4315x9]));null!= _0x4315xa&& _0x4315xa[_0x2895[1702]](_0x4315x2[_0x4315x9],_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]])}}};mxLayoutManager[_0x2895[202]][_0x2895[2755]]= function(_0x4315x2){for(var _0x4315x3=[],_0x4315x4={},_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){var _0x4315x9=_0x4315x2[_0x4315x5];if(_0x4315x9 instanceof mxRootChange){return []};for(var _0x4315x9=this[_0x2895[2756]](_0x4315x9),_0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){if(null!= _0x4315x9[_0x4315xa]){var _0x4315x12=mxCellPath[_0x2895[385]](_0x4315x9[_0x4315xa]);null== _0x4315x4[_0x4315x12]&& (_0x4315x4[_0x4315x12]= _0x4315x9[_0x4315xa],_0x4315x3[_0x2895[207]](_0x4315x9[_0x4315xa]))}}};return _0x4315x3};mxLayoutManager[_0x2895[202]][_0x2895[2756]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1703]]()[_0x2895[502]]();return _0x4315x2 instanceof mxChildChange?[_0x4315x2[_0x2895[247]],_0x4315x2[_0x2895[257]],_0x4315x3[_0x2895[1197]](_0x4315x2[_0x2895[247]])]:_0x4315x2 instanceof mxTerminalChange|| _0x4315x2 instanceof mxGeometryChange?[_0x4315x2[_0x2895[246]],_0x4315x3[_0x2895[1197]](_0x4315x2[_0x2895[246]])]:[]};mxLayoutManager[_0x2895[202]][_0x2895[828]]= function(_0x4315x2){if(0< _0x4315x2[_0x2895[67]]){var _0x4315x3=this[_0x2895[1703]]()[_0x2895[502]]();_0x4315x3[_0x2895[473]]();try{for(var _0x4315x4=null,_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){_0x4315x2[_0x4315x5]!= _0x4315x3[_0x2895[501]]()&& _0x4315x2[_0x4315x5]!= _0x4315x4&& (_0x4315x4= _0x4315x2[_0x4315x5],this[_0x2895[2757]](this[_0x2895[2754]](_0x4315x4),_0x4315x4))};this[_0x2895[746]]( new mxEventObject(mxEvent.LAYOUT_CELLS,_0x2895[895],_0x4315x2))}finally{_0x4315x3[_0x2895[476]]()}}};mxLayoutManager[_0x2895[202]][_0x2895[2757]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x2&& null!= _0x4315x3&& _0x4315x2[_0x2895[350]](_0x4315x3)};mxLayoutManager[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1178]](null)};function mxSpaceManager(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[2758]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[994]]()&& this[_0x2895[837]](_0x4315x3[_0x2895[720]](_0x2895[895]))});this[_0x2895[2759]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[994]]()&& this[_0x2895[837]](_0x4315x3[_0x2895[720]](_0x2895[895]))});this[_0x2895[2760]]= null!= _0x4315x3?_0x4315x3:!0;this[_0x2895[2761]]= null!= _0x4315x4?_0x4315x4:!0;this[_0x2895[2392]]= null!= _0x4315x5?_0x4315x5:!0;this[_0x2895[1178]](_0x4315x2)}mxSpaceManager[_0x2895[202]]= new mxEventSource;mxSpaceManager[_0x2895[202]][_0x2895[196]]= mxSpaceManager;mxSpaceManager[_0x2895[202]][_0x2895[1179]]= null;mxSpaceManager[_0x2895[202]][_0x2895[984]]= !0;mxSpaceManager[_0x2895[202]][_0x2895[2760]]= !0;mxSpaceManager[_0x2895[202]][_0x2895[2761]]= !0;mxSpaceManager[_0x2895[202]][_0x2895[2392]]= !0;mxSpaceManager[_0x2895[202]][_0x2895[2758]]= null;mxSpaceManager[_0x2895[202]][_0x2895[2759]]= null;mxSpaceManager[_0x2895[202]][_0x2895[2762]]= function(_0x4315x2){return !this[_0x2895[1703]]()[_0x2895[502]]()[_0x2895[1193]](_0x4315x2)};mxSpaceManager[_0x2895[202]][_0x2895[2763]]= function(_0x4315x2){return this[_0x2895[1703]]()[_0x2895[502]]()[_0x2895[1193]](_0x4315x2)&& this[_0x2895[1703]]()[_0x2895[1712]](_0x4315x2)};mxSpaceManager[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxSpaceManager[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxSpaceManager[_0x2895[202]][_0x2895[2764]]= function(){return this[_0x2895[2760]]};mxSpaceManager[_0x2895[202]][_0x2895[2765]]= function(_0x4315x2){this[_0x2895[2760]]= _0x4315x2};mxSpaceManager[_0x2895[202]][_0x2895[2766]]= function(){return this[_0x2895[2761]]};mxSpaceManager[_0x2895[202]][_0x2895[2767]]= function(_0x4315x2){this[_0x2895[2761]]= _0x4315x2};mxSpaceManager[_0x2895[202]][_0x2895[2678]]= function(){return this[_0x2895[2392]]};mxSpaceManager[_0x2895[202]][_0x2895[2679]]= function(_0x4315x2){this[_0x2895[2392]]= _0x4315x2};mxSpaceManager[_0x2895[202]][_0x2895[1703]]= function(){return this[_0x2895[1179]]};mxSpaceManager[_0x2895[202]][_0x2895[1178]]= function(_0x4315x2){null!= this[_0x2895[1179]]&& (this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2758]]),this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2759]]));this[_0x2895[1179]]= _0x4315x2;null!= this[_0x2895[1179]]&& (this[_0x2895[1179]][_0x2895[169]](mxEvent.RESIZE_CELLS,this[_0x2895[2758]]),this[_0x2895[1179]][_0x2895[169]](mxEvent.FOLD_CELLS,this[_0x2895[2759]]))};mxSpaceManager[_0x2895[202]][_0x2895[837]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]]();_0x4315x3[_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){if(!this[_0x2895[2762]](_0x4315x2[_0x4315x4])){this[_0x2895[2768]](_0x4315x2[_0x4315x4]);break}}}finally{_0x4315x3[_0x2895[476]]()}}};mxSpaceManager[_0x2895[202]][_0x2895[2768]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1703]](),_0x4315x4=_0x4315x3[_0x2895[249]](),_0x4315x5=_0x4315x3[_0x2895[502]](),_0x4315x9=_0x4315x4[_0x2895[248]](_0x4315x2),_0x4315xa=_0x4315x4[_0x2895[248]](_0x4315x5[_0x2895[1197]](_0x4315x2));if(null!= _0x4315x9&& null!= _0x4315xa){var _0x4315x12=this[_0x2895[2769]](_0x4315x9),_0x4315x13=_0x4315x5[_0x2895[1721]](_0x4315x2);if(null!= _0x4315x12&& null!= _0x4315x13){var _0x4315x14=_0x4315x4[_0x2895[513]],_0x4315x15=_0x4315x4[_0x2895[255]],_0x4315x4=_0x4315x9[_0x2895[235]]- _0x4315xa[_0x2895[2078]][_0x2895[235]]- _0x4315x14[_0x2895[235]]* _0x4315x15,_0x4315xa=_0x4315x9[_0x2895[236]]- _0x4315xa[_0x2895[2078]][_0x2895[236]]- _0x4315x14[_0x2895[236]]* _0x4315x15,_0x4315x14=_0x4315x9[_0x2895[235]]+ _0x4315x9[_0x2895[117]],_0x4315x16=_0x4315x9[_0x2895[236]]+ _0x4315x9[_0x2895[119]],_0x4315x17=_0x4315x9[_0x2895[117]]- _0x4315x13[_0x2895[117]]* _0x4315x15+ _0x4315x4- _0x4315x13[_0x2895[235]]* _0x4315x15,_0x4315x18=_0x4315x9[_0x2895[119]]- _0x4315x13[_0x2895[119]]* _0x4315x15+ _0x4315xa- _0x4315x13[_0x2895[236]]* _0x4315x15,_0x4315x19=1- _0x4315x13[_0x2895[117]]* _0x4315x15/ _0x4315x9[_0x2895[117]],_0x4315x9=1- _0x4315x13[_0x2895[119]]* _0x4315x15/ _0x4315x9[_0x2895[119]];_0x4315x5[_0x2895[473]]();try{for(_0x4315x13= 0;_0x4315x13< _0x4315x12[_0x2895[67]];_0x4315x13++){_0x4315x12[_0x4315x13]!= _0x4315x2&& this[_0x2895[2763]](_0x4315x12[_0x4315x13])&& this[_0x2895[2770]](_0x4315x12[_0x4315x13],_0x4315x17,_0x4315x18,_0x4315x4,_0x4315xa,_0x4315x14,_0x4315x16,_0x4315x19,_0x4315x9,this[_0x2895[2678]]()&& _0x4315x3[_0x2895[2507]](_0x4315x12[_0x4315x13]))}}finally{_0x4315x5[_0x2895[476]]()}}}};mxSpaceManager[_0x2895[202]][_0x2895[2770]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14,_0x4315x15){_0x4315x5= this[_0x2895[1703]]();var _0x4315x16=_0x4315x5[_0x2895[249]]()[_0x2895[248]](_0x4315x2);if(null!= _0x4315x16){var _0x4315x17=_0x4315x5[_0x2895[502]](),_0x4315x18=_0x4315x17[_0x2895[1721]](_0x4315x2);if(null!= _0x4315x18){_0x4315x17[_0x2895[473]]();try{if(this[_0x2895[2764]]()){if(_0x4315x16[_0x2895[235]]>= _0x4315xa){_0x4315x18= _0x4315x18[_0x2895[238]](),_0x4315x18[_0x2895[513]](-_0x4315x3,0)}else {var _0x4315x19=Math[_0x2895[160]](0,_0x4315x16[_0x2895[235]]- x0),_0x4315x18=_0x4315x18[_0x2895[238]]();_0x4315x18[_0x2895[513]](-_0x4315x13* _0x4315x19,0)}};if(this[_0x2895[2766]]()){if(_0x4315x16[_0x2895[236]]>= _0x4315x12){_0x4315x18= _0x4315x18[_0x2895[238]](),_0x4315x18[_0x2895[513]](0,-_0x4315x4)}else {var _0x4315x1a=Math[_0x2895[160]](0,_0x4315x16[_0x2895[236]]- _0x4315x9),_0x4315x18=_0x4315x18[_0x2895[238]]();_0x4315x18[_0x2895[513]](0,-_0x4315x14* _0x4315x1a)}};_0x4315x18!= _0x4315x17[_0x2895[1721]](_0x4315x2)&& (_0x4315x17[_0x2895[1724]](_0x4315x2,_0x4315x18),_0x4315x15&& _0x4315x5[_0x2895[2508]](_0x4315x2))}finally{_0x4315x17[_0x2895[476]]()}}}};mxSpaceManager[_0x2895[202]][_0x2895[2769]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1703]](),_0x4315x4=_0x4315x3[_0x2895[502]]()[_0x2895[1197]](_0x4315x2[_0x2895[246]]),_0x4315x5=this[_0x2895[2766]](),_0x4315x9=this[_0x2895[2764]]();return _0x4315x3[_0x2895[2691]](_0x4315x2[_0x2895[235]]+ (_0x4315x5?0:_0x4315x2[_0x2895[117]]),_0x4315x2[_0x2895[236]]+ (_0x4315x5&& _0x4315x9?0:_0x4315x2[_0x2895[119]]),_0x4315x4,_0x4315x9,_0x4315x5)};mxSpaceManager[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1178]](null)};function mxSwimlaneManager(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[662]]= null!= _0x4315x3?_0x4315x3:!0;this[_0x2895[2771]]= null!= _0x4315x4?_0x4315x4:!0;this[_0x2895[2772]]= null!= _0x4315x5?_0x4315x5:!0;this[_0x2895[2773]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[994]]()&& this[_0x2895[2774]]()&& this[_0x2895[833]](_0x4315x3[_0x2895[720]](_0x2895[895]))});this[_0x2895[2758]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[994]]()&& this[_0x2895[2775]]()&& this[_0x2895[837]](_0x4315x3[_0x2895[720]](_0x2895[895]))});this[_0x2895[1178]](_0x4315x2)}mxSwimlaneManager[_0x2895[202]]= new mxEventSource;mxSwimlaneManager[_0x2895[202]][_0x2895[196]]= mxSwimlaneManager;mxSwimlaneManager[_0x2895[202]][_0x2895[1179]]= null;mxSwimlaneManager[_0x2895[202]][_0x2895[984]]= !0;mxSwimlaneManager[_0x2895[202]][_0x2895[662]]= !0;mxSwimlaneManager[_0x2895[202]][_0x2895[2771]]= !0;mxSwimlaneManager[_0x2895[202]][_0x2895[2772]]= !0;mxSwimlaneManager[_0x2895[202]][_0x2895[2773]]= null;mxSwimlaneManager[_0x2895[202]][_0x2895[2758]]= null;mxSwimlaneManager[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxSwimlaneManager[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxSwimlaneManager[_0x2895[202]][_0x2895[1737]]= function(){return this[_0x2895[662]]};mxSwimlaneManager[_0x2895[202]][_0x2895[2776]]= function(_0x4315x2){this[_0x2895[662]]= _0x4315x2};mxSwimlaneManager[_0x2895[202]][_0x2895[2774]]= function(){return this[_0x2895[2771]]};mxSwimlaneManager[_0x2895[202]][_0x2895[2777]]= function(_0x4315x2){this[_0x2895[2771]]= _0x4315x2};mxSwimlaneManager[_0x2895[202]][_0x2895[2775]]= function(){return this[_0x2895[2772]]};mxSwimlaneManager[_0x2895[202]][_0x2895[2778]]= function(_0x4315x2){this[_0x2895[2772]]= _0x4315x2};mxSwimlaneManager[_0x2895[202]][_0x2895[1703]]= function(){return this[_0x2895[1179]]};mxSwimlaneManager[_0x2895[202]][_0x2895[1178]]= function(_0x4315x2){null!= this[_0x2895[1179]]&& (this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2773]]),this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2758]]));this[_0x2895[1179]]= _0x4315x2;null!= this[_0x2895[1179]]&& (this[_0x2895[1179]][_0x2895[169]](mxEvent.ADD_CELLS,this[_0x2895[2773]]),this[_0x2895[1179]][_0x2895[169]](mxEvent.CELLS_RESIZED,this[_0x2895[2758]]))};mxSwimlaneManager[_0x2895[202]][_0x2895[2779]]= function(_0x4315x2){return !this[_0x2895[1703]]()[_0x2895[1730]](_0x4315x2)};mxSwimlaneManager[_0x2895[202]][_0x2895[2780]]= function(_0x4315x2){if(this[_0x2895[1179]][_0x2895[1730]](_0x4315x2)){var _0x4315x3=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x2);_0x4315x2= null!= _0x4315x3?_0x4315x3[_0x2895[124]]:this[_0x2895[1179]][_0x2895[1705]](_0x4315x2);return 1== mxUtils[_0x2895[433]](_0x4315x2,mxConstants.STYLE_HORIZONTAL,1)};return !this[_0x2895[1737]]()};mxSwimlaneManager[_0x2895[202]][_0x2895[833]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[1703]]()[_0x2895[502]]();_0x4315x3[_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){this[_0x2895[2779]](_0x4315x2[_0x4315x4])|| this[_0x2895[2781]](_0x4315x2[_0x4315x4])}}finally{_0x4315x3[_0x2895[476]]()}}};mxSwimlaneManager[_0x2895[202]][_0x2895[2781]]= function(_0x4315x2){for(var _0x4315x3=this[_0x2895[1703]]()[_0x2895[502]](),_0x4315x4=_0x4315x3[_0x2895[1197]](_0x4315x2),_0x4315x5=_0x4315x3[_0x2895[262]](_0x4315x4),_0x4315x9=null,_0x4315xa=0;_0x4315xa< _0x4315x5;_0x4315xa++){var _0x4315x12=_0x4315x3[_0x2895[263]](_0x4315x4,_0x4315xa);if(_0x4315x12!= _0x4315x2&& !this[_0x2895[2779]](_0x4315x12)&& (_0x4315x9= _0x4315x3[_0x2895[1721]](_0x4315x12),null!= _0x4315x9)){break}};null!= _0x4315x9&& this[_0x2895[2782]](_0x4315x2,_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]])};mxSwimlaneManager[_0x2895[202]][_0x2895[837]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[1703]]()[_0x2895[502]]();_0x4315x3[_0x2895[473]]();try{for(var _0x4315x4=0;_0x4315x4< _0x4315x2[_0x2895[67]];_0x4315x4++){if(!this[_0x2895[2779]](_0x4315x2[_0x4315x4])){var _0x4315x5=_0x4315x3[_0x2895[1721]](_0x4315x2[_0x4315x4]);if(null!= _0x4315x5){for(var _0x4315x9= new mxRectangle(0,0,_0x4315x5[_0x2895[117]],_0x4315x5[_0x2895[119]]),_0x4315xa=_0x4315x2[_0x4315x4],_0x4315x12=_0x4315xa;null!= _0x4315x12;){var _0x4315xa=_0x4315x12,_0x4315x12=_0x4315x3[_0x2895[1197]](_0x4315x12),_0x4315x13=this[_0x2895[1179]][_0x2895[1730]](_0x4315x12)?this[_0x2895[1179]][_0x2895[1731]](_0x4315x12): new mxRectangle;_0x4315x9[_0x2895[117]]+= _0x4315x13[_0x2895[117]];_0x4315x9[_0x2895[119]]+= _0x4315x13[_0x2895[119]]};this[_0x2895[2782]](_0x4315xa,_0x4315x9[_0x2895[117]],_0x4315x9[_0x2895[119]])}}}}finally{_0x4315x3[_0x2895[476]]()}}};mxSwimlaneManager[_0x2895[202]][_0x2895[2782]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1703]]()[_0x2895[502]]();_0x4315x5[_0x2895[473]]();try{if(!this[_0x2895[2779]](_0x4315x2)){var _0x4315x9=_0x4315x5[_0x2895[1721]](_0x4315x2);if(null!= _0x4315x9){var _0x4315xa=this[_0x2895[2780]](_0x4315x2);if(_0x4315xa&& _0x4315x9[_0x2895[119]]!= _0x4315x4|| !_0x4315xa&& _0x4315x9[_0x2895[117]]!= _0x4315x3){_0x4315x9= _0x4315x9[_0x2895[238]](),_0x4315xa?_0x4315x9[_0x2895[119]]= _0x4315x4:_0x4315x9[_0x2895[117]]= _0x4315x3,_0x4315x5[_0x2895[1724]](_0x4315x2,_0x4315x9)}}};var _0x4315x12=this[_0x2895[1179]][_0x2895[1730]](_0x4315x2)?this[_0x2895[1179]][_0x2895[1731]](_0x4315x2): new mxRectangle;_0x4315x3-= _0x4315x12[_0x2895[117]];_0x4315x4-= _0x4315x12[_0x2895[119]];for(var _0x4315x13=_0x4315x5[_0x2895[262]](_0x4315x2),_0x4315x9=0;_0x4315x9< _0x4315x13;_0x4315x9++){var _0x4315x14=_0x4315x5[_0x2895[263]](_0x4315x2,_0x4315x9);this[_0x2895[2782]](_0x4315x14,_0x4315x3,_0x4315x4)}}finally{_0x4315x5[_0x2895[476]]()}};mxSwimlaneManager[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1178]](null)};function mxTemporaryCellStates(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[441]]= _0x4315x2;_0x4315x3= null!= _0x4315x3?_0x4315x3:1;this[_0x2895[2783]]= _0x4315x2[_0x2895[517]]();this[_0x2895[2784]]= _0x4315x2[_0x2895[2312]]();this[_0x2895[2785]]= _0x4315x2[_0x2895[518]]();_0x4315x2[_0x2895[1517]]( new mxDictionary);_0x4315x2[_0x2895[2262]](_0x4315x3);if(null!= _0x4315x4){_0x4315x3= _0x4315x2[_0x2895[1230]]( new mxCell);for(var _0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){_0x4315x2[_0x2895[2267]](_0x4315x3,_0x4315x4[_0x4315x5])};for(var _0x4315x9=null,_0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]];_0x4315x5++){var _0x4315xa=_0x4315x2[_0x2895[2268]](_0x4315x3,_0x4315x4[_0x4315x5]);null== _0x4315x9?_0x4315x9= _0x4315xa:_0x4315x9[_0x2895[99]](_0x4315xa)};null== _0x4315x9&& (_0x4315x9= new mxRectangle);_0x4315x2[_0x2895[2256]](_0x4315x9)}}mxTemporaryCellStates[_0x2895[202]][_0x2895[441]]= null;mxTemporaryCellStates[_0x2895[202]][_0x2895[2784]]= null;mxTemporaryCellStates[_0x2895[202]][_0x2895[2783]]= null;mxTemporaryCellStates[_0x2895[202]][_0x2895[2785]]= null;mxTemporaryCellStates[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[441]][_0x2895[2262]](this[_0x2895[2785]]);this[_0x2895[441]][_0x2895[1517]](this[_0x2895[2784]]);this[_0x2895[441]][_0x2895[2256]](this[_0x2895[2783]])};function mxCellStatePreview(_0x4315x2){this[_0x2895[1179]]= _0x4315x2;this[_0x2895[2786]]= {}}mxCellStatePreview[_0x2895[202]][_0x2895[1179]]= null;mxCellStatePreview[_0x2895[202]][_0x2895[2786]]= null;mxCellStatePreview[_0x2895[202]][_0x2895[2787]]= 0;mxCellStatePreview[_0x2895[202]][_0x2895[1107]]= function(){return 0== this[_0x2895[2787]]};mxCellStatePreview[_0x2895[202]][_0x2895[1194]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x5= null!= _0x4315x5?_0x4315x5:!0;_0x4315x9= null!= _0x4315x9?_0x4315x9:!0;var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x2[_0x2895[246]]),_0x4315x12=this[_0x2895[2786]][_0x4315xa];null== _0x4315x12?(_0x4315x12= new mxPoint(_0x4315x3,_0x4315x4),this[_0x2895[2786]][_0x4315xa]= _0x4315x12,this[_0x2895[2787]]++):_0x4315x5?(_0x4315x12[_0x2895[2788]]+= _0x4315x3,_0x4315x12[_0x2895[2789]]+= _0x4315x4):(_0x4315x12[_0x2895[2788]]= _0x4315x3,_0x4315x12[_0x2895[2789]]= _0x4315x4);_0x4315x9&& this[_0x2895[2790]](_0x4315x2);return _0x4315x12};mxCellStatePreview[_0x2895[202]][_0x2895[539]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]](),_0x4315x4=_0x4315x3[_0x2895[501]](),_0x4315x5;for(_0x4315x5 in this[_0x2895[2786]]){var _0x4315x9=mxCellPath[_0x2895[2791]](_0x4315x4,_0x4315x5),_0x4315xa=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x9),_0x4315x12=this[_0x2895[2786]][_0x4315x5],_0x4315x9=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x3[_0x2895[1197]](_0x4315x9));this[_0x2895[2792]](_0x4315x9,_0x4315xa,_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]])};for(_0x4315x5 in this[_0x2895[2786]]){_0x4315x9= mxCellPath[_0x2895[2791]](_0x4315x4,_0x4315x5),_0x4315xa= this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x9),_0x4315x12= this[_0x2895[2786]][_0x4315x5],_0x4315x9= this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x3[_0x2895[1197]](_0x4315x9)),this[_0x2895[2793]](_0x4315x9,_0x4315xa,_0x4315x12[_0x2895[235]],_0x4315x12[_0x2895[236]],_0x4315x2)}};mxCellStatePreview[_0x2895[202]][_0x2895[2792]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x3){var _0x4315x9=this[_0x2895[1179]][_0x2895[502]]();if(_0x4315x9[_0x2895[1193]](_0x4315x3[_0x2895[246]])){_0x4315x3[_0x2895[2080]]= !0;this[_0x2895[1179]][_0x2895[441]][_0x2895[2267]](_0x4315x2,_0x4315x3[_0x2895[246]]);_0x4315x2= _0x4315x9[_0x2895[1721]](_0x4315x3[_0x2895[246]]);var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x3[_0x2895[246]]);if((0!= _0x4315x4|| 0!= _0x4315x5)&& null!= _0x4315x2&& (!_0x4315x2[_0x2895[1500]]|| null!= this[_0x2895[2786]][_0x4315xa])){_0x4315x3[_0x2895[235]]+= _0x4315x4,_0x4315x3[_0x2895[236]]+= _0x4315x5}};_0x4315x2= _0x4315x9[_0x2895[262]](_0x4315x3[_0x2895[246]]);for(_0x4315xa= 0;_0x4315xa< _0x4315x2;_0x4315xa++){this[_0x2895[2792]](_0x4315x3,this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x9[_0x2895[263]](_0x4315x3[_0x2895[246]],_0x4315xa)),_0x4315x4,_0x4315x5)}}};mxCellStatePreview[_0x2895[202]][_0x2895[2793]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x3){_0x4315x3[_0x2895[2080]]= !0;this[_0x2895[1179]][_0x2895[441]][_0x2895[2268]](_0x4315x2,_0x4315x3[_0x2895[246]]);var _0x4315xa=mxCellPath[_0x2895[385]](_0x4315x3[_0x2895[246]]),_0x4315x12=this[_0x2895[1179]][_0x2895[502]](),_0x4315x13=this[_0x2895[1179]][_0x2895[1198]](_0x4315x3[_0x2895[246]]);if((0!= _0x4315x4|| 0!= _0x4315x5)&& null!= _0x4315x13&& _0x4315x13[_0x2895[1500]]&& _0x4315x12[_0x2895[1193]](_0x4315x3[_0x2895[246]])&& (null== _0x4315x2|| _0x4315x12[_0x2895[1193]](_0x4315x2[_0x2895[246]])|| null!= this[_0x2895[2786]][_0x4315xa])){_0x4315x3[_0x2895[235]]+= _0x4315x4,_0x4315x3[_0x2895[236]]+= _0x4315x5,this[_0x2895[1179]][_0x2895[259]][_0x2895[258]](_0x4315x3)};null!= _0x4315x9&& _0x4315x9(_0x4315x3);_0x4315x2= _0x4315x12[_0x2895[262]](_0x4315x3[_0x2895[246]]);for(_0x4315xa= 0;_0x4315xa< _0x4315x2;_0x4315xa++){this[_0x2895[2793]](_0x4315x3,this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x12[_0x2895[263]](_0x4315x3[_0x2895[246]],_0x4315xa)),_0x4315x4,_0x4315x5,_0x4315x9)}}};mxCellStatePreview[_0x2895[202]][_0x2895[2790]]= function(_0x4315x2){for(var _0x4315x3=this[_0x2895[1179]][_0x2895[502]](),_0x4315x4=_0x4315x3[_0x2895[1707]](_0x4315x2[_0x2895[246]]),_0x4315x5=0;_0x4315x5< _0x4315x4;_0x4315x5++){var _0x4315x9=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x3[_0x2895[1708]](_0x4315x2[_0x2895[246]],_0x4315x5));null!= _0x4315x9&& this[_0x2895[1194]](_0x4315x9,0,0)}};function mxConnectionConstraint(_0x4315x2,_0x4315x3){this[_0x2895[2546]]= _0x4315x2;this[_0x2895[591]]= null!= _0x4315x3?_0x4315x3:!0}mxConnectionConstraint[_0x2895[202]][_0x2895[2546]]= null;mxConnectionConstraint[_0x2895[202]][_0x2895[591]]= null;function mxGraphHandler(_0x4315x2){this[_0x2895[1179]]= _0x4315x2;this[_0x2895[1179]][_0x2895[1133]](this);this[_0x2895[2730]]= mxUtils[_0x2895[885]](this,function(){this[_0x2895[2794]]()});this[_0x2895[1179]][_0x2895[169]](mxEvent.PAN,this[_0x2895[2730]])}mxGraphHandler[_0x2895[202]][_0x2895[1179]]= null;mxGraphHandler[_0x2895[202]][_0x2895[2795]]= mxClient[_0x2895[80]]?20:50;mxGraphHandler[_0x2895[202]][_0x2895[984]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[2796]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[2797]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[2798]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[990]]= !1;mxGraphHandler[_0x2895[202]][_0x2895[2799]]= null;mxGraphHandler[_0x2895[202]][_0x2895[2800]]= null;mxGraphHandler[_0x2895[202]][_0x2895[2801]]= null;mxGraphHandler[_0x2895[202]][_0x2895[2802]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[2803]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[846]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[2804]]= !1;mxGraphHandler[_0x2895[202]][_0x2895[2805]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[923]]= 6;mxGraphHandler[_0x2895[202]][_0x2895[2806]]= _0x2895[586];mxGraphHandler[_0x2895[202]][_0x2895[2807]]= !1;mxGraphHandler[_0x2895[202]][_0x2895[253]]= null;mxGraphHandler[_0x2895[202]][_0x2895[2808]]= !1;mxGraphHandler[_0x2895[202]][_0x2895[2809]]= !0;mxGraphHandler[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxGraphHandler[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[2810]]= function(){return this[_0x2895[2797]]};mxGraphHandler[_0x2895[202]][_0x2895[2811]]= function(_0x4315x2){this[_0x2895[2797]]= _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[2812]]= function(){return this[_0x2895[2798]]};mxGraphHandler[_0x2895[202]][_0x2895[2813]]= function(_0x4315x2){this[_0x2895[2798]]= _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[2814]]= function(){return this[_0x2895[2803]]};mxGraphHandler[_0x2895[202]][_0x2895[2815]]= function(_0x4315x2){this[_0x2895[2803]]= _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[2816]]= function(){return this[_0x2895[846]]};mxGraphHandler[_0x2895[202]][_0x2895[2817]]= function(_0x4315x2){this[_0x2895[846]]= _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[2818]]= function(_0x4315x2){return _0x4315x2[_0x2895[736]]()};mxGraphHandler[_0x2895[202]][_0x2895[2819]]= function(_0x4315x2){return this[_0x2895[1179]][_0x2895[2692]](_0x4315x2)};mxGraphHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& this[_0x2895[994]]()&& this[_0x2895[1179]][_0x2895[994]]()&& !this[_0x2895[1179]][_0x2895[2579]](_0x4315x3[_0x2895[727]]())&& null!= _0x4315x3[_0x2895[248]]()){var _0x4315x4=this[_0x2895[2818]](_0x4315x3);this[_0x2895[246]]= null;this[_0x2895[2820]]= this[_0x2895[2819]](_0x4315x4);this[_0x2895[2814]]()&& !this[_0x2895[2820]]&& this[_0x2895[1179]][_0x2895[2459]](_0x4315x4,_0x4315x3[_0x2895[727]]());if(this[_0x2895[2812]]()){var _0x4315x5=this[_0x2895[1179]][_0x2895[251]],_0x4315x9=_0x4315x5[_0x2895[1721]](_0x4315x4);this[_0x2895[1179]][_0x2895[1712]](_0x4315x4)&& (!_0x4315x5[_0x2895[250]](_0x4315x4)|| 1< this[_0x2895[1179]][_0x2895[2694]]()|| null!= _0x4315x9[_0x2895[1525]]&& 0< _0x4315x9[_0x2895[1525]][_0x2895[67]]|| null== _0x4315x5[_0x2895[1709]](_0x4315x4,!0)|| null== _0x4315x5[_0x2895[1709]](_0x4315x4,!1)|| this[_0x2895[1179]][_0x2895[2406]]|| this[_0x2895[1179]][_0x2895[2574]](_0x4315x3[_0x2895[727]]())&& this[_0x2895[1179]][_0x2895[2617]]())&& this[_0x2895[861]](_0x4315x4,_0x4315x3[_0x2895[730]](),_0x4315x3[_0x2895[732]]());this[_0x2895[2821]]= !0;!mxClient[_0x2895[75]]&& !mxClient[_0x2895[76]]|| _0x2895[2822]!= _0x4315x3[_0x2895[728]]()[_0x2895[301]]?_0x4315x3[_0x2895[722]]():mxClient[_0x2895[75]]&& _0x2895[2822]== _0x4315x3[_0x2895[728]]()[_0x2895[301]]&& (this[_0x2895[2821]]= !1,this[_0x2895[2823]]= null)}}};mxGraphHandler[_0x2895[202]][_0x2895[1010]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[902]](),_0x4315x3=this[_0x2895[1179]][_0x2895[502]](),_0x4315x4=mxUtils[_0x2895[885]](this,function(_0x4315x2){return null!= this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x2)&& _0x4315x3[_0x2895[1193]](_0x4315x2)&& null!= _0x4315x3[_0x2895[1721]](_0x4315x2)&& !_0x4315x3[_0x2895[1721]](_0x4315x2)[_0x2895[1500]]});return this[_0x2895[1179]][_0x2895[441]][_0x2895[2313]](_0x4315x3[_0x2895[1921]](_0x4315x4,_0x4315x2))};mxGraphHandler[_0x2895[202]][_0x2895[2690]]= function(_0x4315x2){return !this[_0x2895[2820]]&& this[_0x2895[1179]][_0x2895[1712]](_0x4315x2)?[_0x4315x2]:this[_0x2895[1179]][_0x2895[2629]](this[_0x2895[1179]][_0x2895[897]]())};mxGraphHandler[_0x2895[202]][_0x2895[2824]]= function(_0x4315x2){_0x4315x2= this[_0x2895[1613]](_0x4315x2);null!= _0x4315x2&& (_0x4315x2[_0x2895[244]](-1,-1),_0x4315x2[_0x2895[117]]< this[_0x2895[923]]&& (_0x4315x2[_0x2895[235]]-= (this[_0x2895[923]]- _0x4315x2[_0x2895[117]])/ 2,_0x4315x2[_0x2895[117]]= this[_0x2895[923]]),_0x4315x2[_0x2895[119]]< this[_0x2895[923]]&& (_0x4315x2[_0x2895[236]]-= (this[_0x2895[923]]- _0x4315x2[_0x2895[119]])/ 2,_0x4315x2[_0x2895[119]]= this[_0x2895[923]]));return _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[1613]]= function(_0x4315x2){var _0x4315x3=null;if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){for(var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=0;_0x4315x5< _0x4315x2[_0x2895[67]];_0x4315x5++){if(_0x4315x4[_0x2895[1193]](_0x4315x2[_0x4315x5])|| _0x4315x4[_0x2895[250]](_0x4315x2[_0x4315x5])){var _0x4315x9=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x2[_0x4315x5]);if(null!= _0x4315x9){var _0x4315xa=_0x4315x9;_0x4315x4[_0x2895[1193]](_0x4315x2[_0x4315x5])&& (null!= _0x4315x9[_0x2895[253]]&& null!= _0x4315x9[_0x2895[253]][_0x2895[1563]])&& (_0x4315xa= _0x4315x9[_0x2895[253]][_0x2895[1563]]);null== _0x4315x3?_0x4315x3= new mxRectangle(_0x4315xa[_0x2895[235]],_0x4315xa[_0x2895[236]],_0x4315xa[_0x2895[117]],_0x4315xa[_0x2895[119]]):_0x4315x3[_0x2895[99]](_0x4315xa)}}}};return _0x4315x3};mxGraphHandler[_0x2895[202]][_0x2895[2825]]= function(_0x4315x2){_0x4315x2= new mxRectangleShape(_0x4315x2,null,this[_0x2895[2806]]);_0x4315x2[_0x2895[1522]]= !0;this[_0x2895[2807]]?(_0x4315x2[_0x2895[507]]= mxConstants[_0x2895[1656]],_0x4315x2[_0x2895[176]](this[_0x2895[1179]][_0x2895[526]])):(_0x4315x2[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]],_0x4315x2[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()),_0x4315x2[_0x2895[1229]]= !1);return _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[861]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[246]]= _0x4315x2;this[_0x2895[2823]]= mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],_0x4315x3,_0x4315x4);this[_0x2895[895]]= this[_0x2895[2690]](this[_0x2895[246]]);this[_0x2895[1562]]= this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1799]](this[_0x2895[895]]);this[_0x2895[2826]]= this[_0x2895[2824]](this[_0x2895[895]]);this[_0x2895[990]]&& (this[_0x2895[2799]]= new mxGuide(this[_0x2895[1179]],this[_0x2895[1010]]()))};mxGraphHandler[_0x2895[202]][_0x2895[2827]]= function(_0x4315x2){return null!= this[_0x2895[2799]]?this[_0x2895[2799]][_0x2895[1019]](_0x4315x2[_0x2895[727]]()):!0};mxGraphHandler[_0x2895[202]][_0x2895[1021]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[2808]]?this[_0x2895[1179]][_0x2895[441]][_0x2895[255]]:1;_0x4315x2[_0x2895[235]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[235]]/ _0x4315x3)* _0x4315x3;_0x4315x2[_0x2895[236]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[236]]/ _0x4315x3)* _0x4315x3;return _0x4315x2};mxGraphHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]];if(!_0x4315x3[_0x2895[721]]()&& _0x4315x4[_0x2895[1009]]&& null!= this[_0x2895[246]]&& null!= this[_0x2895[2823]]&& null!= this[_0x2895[1562]]){var _0x4315x5=mxUtils[_0x2895[2196]](_0x4315x4[_0x2895[526]],_0x4315x3[_0x2895[730]](),_0x4315x3[_0x2895[732]]()),_0x4315x9=_0x4315x5[_0x2895[235]]- this[_0x2895[2823]][_0x2895[235]],_0x4315xa=_0x4315x5[_0x2895[236]]- this[_0x2895[2823]][_0x2895[236]],_0x4315x5=_0x4315x4[_0x2895[2353]];if(null!= this[_0x2895[253]]|| Math[_0x2895[425]](_0x4315x9)> _0x4315x5|| Math[_0x2895[425]](_0x4315xa)> _0x4315x5){null== this[_0x2895[1016]]&& (this[_0x2895[1016]]= new mxCellHighlight(this[_0x2895[1179]],mxConstants.DROP_TARGET_COLOR,3));null== this[_0x2895[253]]&& (this[_0x2895[253]]= this[_0x2895[2825]](this[_0x2895[1562]]));var _0x4315x12=_0x4315x4[_0x2895[1018]](_0x4315x3[_0x2895[727]]()),_0x4315x5=!0;if(null!= this[_0x2895[2799]]&& this[_0x2895[2827]](_0x4315x3)){_0x4315xa= this[_0x2895[2799]][_0x2895[582]](this[_0x2895[1562]], new mxPoint(_0x4315x9,_0x4315xa),_0x4315x12),_0x4315x5= !1,_0x4315x9= _0x4315xa[_0x2895[235]],_0x4315xa= _0x4315xa[_0x2895[236]]}else {if(_0x4315x12){var _0x4315x13=_0x4315x4[_0x2895[249]]()[_0x2895[513]],_0x4315x14=_0x4315x4[_0x2895[249]]()[_0x2895[255]],_0x4315x12=this[_0x2895[1562]][_0x2895[235]]- (_0x4315x4[_0x2895[1021]](this[_0x2895[1562]][_0x2895[235]]/ _0x4315x14- _0x4315x13[_0x2895[235]])+ _0x4315x13[_0x2895[235]])* _0x4315x14,_0x4315x13=this[_0x2895[1562]][_0x2895[236]]- (_0x4315x4[_0x2895[1021]](this[_0x2895[1562]][_0x2895[236]]/ _0x4315x14- _0x4315x13[_0x2895[236]])+ _0x4315x13[_0x2895[236]])* _0x4315x14,_0x4315xa=this[_0x2895[1021]]( new mxPoint(_0x4315x9,_0x4315xa)),_0x4315x9=_0x4315xa[_0x2895[235]]- _0x4315x12,_0x4315xa=_0x4315xa[_0x2895[236]]- _0x4315x13}};null!= this[_0x2895[2799]]&& _0x4315x5&& this[_0x2895[2799]][_0x2895[801]]();_0x4315x4[_0x2895[2578]](_0x4315x3[_0x2895[727]]())&& (Math[_0x2895[425]](_0x4315x9)> Math[_0x2895[425]](_0x4315xa)?_0x4315xa= 0:_0x4315x9= 0);this[_0x2895[2800]]= _0x4315x9;this[_0x2895[2801]]= _0x4315xa;this[_0x2895[2794]]();_0x4315x5= null;_0x4315xa= _0x4315x3[_0x2895[736]]();_0x4315x4[_0x2895[1015]]()&& this[_0x2895[2796]]&& (_0x4315x5= _0x4315x4[_0x2895[564]](this[_0x2895[895]],_0x4315x3[_0x2895[727]](),_0x4315xa));_0x4315x12= _0x4315x5;for(_0x4315x13= _0x4315x4[_0x2895[502]]();null!= _0x4315x12&& _0x4315x12!= this[_0x2895[895]][0];){_0x4315x12= _0x4315x13[_0x2895[1197]](_0x4315x12)};var _0x4315x14=_0x4315x4[_0x2895[2574]](_0x4315x3[_0x2895[727]]())&& _0x4315x4[_0x2895[2617]]()&& this[_0x2895[2810]](),_0x4315x9=_0x4315x4[_0x2895[249]]()[_0x2895[248]](_0x4315x5),_0x4315x15=!1;null!= _0x4315x9&& null== _0x4315x12&& (_0x4315x13[_0x2895[1197]](this[_0x2895[246]])!= _0x4315x5|| _0x4315x14)?(this[_0x2895[772]]!= _0x4315x5&& (this[_0x2895[772]]= _0x4315x5,this[_0x2895[2828]](mxConstants.DROP_TARGET_COLOR)),_0x4315x15= !0):(this[_0x2895[772]]= null,this[_0x2895[2804]]&& (null!= _0x4315xa&& 1== this[_0x2895[895]][_0x2895[67]]&& _0x4315x4[_0x2895[502]]()[_0x2895[1193]](_0x4315xa)&& _0x4315x4[_0x2895[2565]](_0x4315xa))&& (_0x4315x9= _0x4315x4[_0x2895[249]]()[_0x2895[248]](_0x4315xa),null!= _0x4315x9&& (_0x4315x4= null== _0x4315x4[_0x2895[2500]](null,this[_0x2895[246]],_0x4315xa)?mxConstants[_0x2895[2829]]:mxConstants[_0x2895[2830]],this[_0x2895[2828]](_0x4315x4),_0x4315x15= !0)));null!= _0x4315x9&& _0x4315x15?this[_0x2895[1016]][_0x2895[1016]](_0x4315x9):this[_0x2895[1016]][_0x2895[801]]()};_0x4315x3[_0x2895[722]]();mxEvent[_0x2895[722]](_0x4315x3[_0x2895[727]]())}else {if((this[_0x2895[2812]]()|| this[_0x2895[2810]]())&& this[_0x2895[2802]]&& !_0x4315x3[_0x2895[721]]()&& null!= _0x4315x3[_0x2895[248]]()&& !_0x4315x4[_0x2895[1009]]){_0x4315x9= _0x4315x4[_0x2895[2599]](_0x4315x3[_0x2895[736]]()),null== _0x4315x9&& (_0x4315x4[_0x2895[994]]()&& _0x4315x4[_0x2895[1712]](_0x4315x3[_0x2895[736]]()))&& (_0x4315x9= _0x4315x4[_0x2895[502]]()[_0x2895[250]](_0x4315x3[_0x2895[736]]())?mxConstants[_0x2895[2831]]:mxConstants[_0x2895[2832]]),_0x4315x3[_0x2895[248]]()[_0x2895[1609]](_0x4315x9),_0x4315x3[_0x2895[722]]()}}};mxGraphHandler[_0x2895[202]][_0x2895[2794]]= function(){null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[1562]]= new mxRectangle(Math[_0x2895[488]](this[_0x2895[2826]][_0x2895[235]]+ this[_0x2895[2800]]- this[_0x2895[1179]][_0x2895[1136]]),Math[_0x2895[488]](this[_0x2895[2826]][_0x2895[236]]+ this[_0x2895[2801]]- this[_0x2895[1179]][_0x2895[1137]]),this[_0x2895[2826]][_0x2895[117]],this[_0x2895[2826]][_0x2895[119]]),this[_0x2895[253]][_0x2895[258]]())};mxGraphHandler[_0x2895[202]][_0x2895[2828]]= function(_0x4315x2){null!= this[_0x2895[1016]]&& this[_0x2895[1016]][_0x2895[2828]](_0x4315x2)};mxGraphHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()){var _0x4315x4=this[_0x2895[1179]];if(null!= this[_0x2895[246]]&& null!= this[_0x2895[2823]]&& null!= this[_0x2895[253]]&& null!= this[_0x2895[2800]]&& null!= this[_0x2895[2801]]){var _0x4315x5=_0x4315x4[_0x2895[249]]()[_0x2895[255]],_0x4315x9=_0x4315x4[_0x2895[2574]](_0x4315x3[_0x2895[727]]())&& _0x4315x4[_0x2895[2617]]()&& this[_0x2895[2810]](),_0x4315xa=this[_0x2895[2800]]/ _0x4315x5,_0x4315x5=this[_0x2895[2801]]/ _0x4315x5,_0x4315x12=_0x4315x3[_0x2895[736]]();this[_0x2895[2804]]&& null== this[_0x2895[772]]&& null!= _0x4315x12&& _0x4315x4[_0x2895[502]]()[_0x2895[1193]](_0x4315x12)&& _0x4315x4[_0x2895[2565]](_0x4315x12)&& _0x4315x4[_0x2895[2581]](null,this[_0x2895[246]],_0x4315x12)?_0x4315x4[_0x2895[2433]][_0x2895[807]](this[_0x2895[246]],_0x4315x12,_0x4315x3[_0x2895[727]]()):(_0x4315x12= this[_0x2895[772]],_0x4315x4[_0x2895[2655]]()&& _0x4315x4[_0x2895[2686]](_0x4315x12,this[_0x2895[895]],_0x4315x3[_0x2895[727]]())?_0x4315x4[_0x2895[853]](_0x4315x12,this[_0x2895[895]],null,_0x4315xa,_0x4315x5):this[_0x2895[834]](this[_0x2895[895]],_0x4315xa,_0x4315x5,_0x4315x9,this[_0x2895[772]],_0x4315x3[_0x2895[727]]()))}else {this[_0x2895[2814]]()&& (this[_0x2895[2820]]&& null!= this[_0x2895[246]])&& this[_0x2895[2833]](_0x4315x3)}};this[_0x2895[2821]]&& _0x4315x3[_0x2895[722]]();this[_0x2895[862]]()};mxGraphHandler[_0x2895[202]][_0x2895[2833]]= function(_0x4315x2){this[_0x2895[1179]][_0x2895[2459]](this[_0x2895[246]],_0x4315x2[_0x2895[727]]())};mxGraphHandler[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[2834]]();this[_0x2895[2820]]= this[_0x2895[2821]]= !1;this[_0x2895[772]]= this[_0x2895[246]]= this[_0x2895[2823]]= this[_0x2895[2835]]= this[_0x2895[2801]]= this[_0x2895[2800]]= null};mxGraphHandler[_0x2895[202]][_0x2895[2836]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1193]](_0x4315x2)){_0x4315x2= this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2);_0x4315x4= mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x4),mxEvent[_0x2895[733]](_0x4315x4));var _0x4315x5=mxUtils[_0x2895[431]](mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION)|| 0);if(0!= _0x4315x5){_0x4315x3= Math[_0x2895[426]](-_0x4315x5);var _0x4315x5=Math[_0x2895[427]](-_0x4315x5),_0x4315x9= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]());_0x4315x4= mxUtils[_0x2895[432]](_0x4315x4,_0x4315x3,_0x4315x5,_0x4315x9)};return null!= _0x4315x2&& !mxUtils[_0x2895[442]](_0x4315x2,_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]])};return !1};mxGraphHandler[_0x2895[202]][_0x2895[834]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){_0x4315x5&& (_0x4315x2= this[_0x2895[1179]][_0x2895[2615]](_0x4315x2));null== _0x4315x9&& (this[_0x2895[2816]]()&& this[_0x2895[2836]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](this[_0x2895[246]]),_0x4315x2,_0x4315xa))&& (_0x4315x9= this[_0x2895[1179]][_0x2895[902]]());_0x4315x2= this[_0x2895[1179]][_0x2895[834]](_0x4315x2,_0x4315x3- this[_0x2895[1179]][_0x2895[1136]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x4- this[_0x2895[1179]][_0x2895[1137]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x5,_0x4315x9,_0x4315xa);this[_0x2895[2814]]()&& this[_0x2895[2805]]&& this[_0x2895[1179]][_0x2895[2564]](_0x4315x2[0]);_0x4315x5&& this[_0x2895[1179]][_0x2895[904]](_0x4315x2)};mxGraphHandler[_0x2895[202]][_0x2895[2834]]= function(){null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[515]](),this[_0x2895[253]]= null);null!= this[_0x2895[2799]]&& (this[_0x2895[2799]][_0x2895[515]](),this[_0x2895[2799]]= null);null!= this[_0x2895[1016]]&& (this[_0x2895[1016]][_0x2895[515]](),this[_0x2895[1016]]= null)};mxGraphHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[1148]](this);this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2730]]);this[_0x2895[2834]]()};function mxPanningHandler(_0x4315x2,_0x4315x3){null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[1033]]= _0x4315x3,this[_0x2895[1179]][_0x2895[1133]](this),this[_0x2895[176]]())}mxPanningHandler[_0x2895[202]]= new mxPopupMenu;mxPanningHandler[_0x2895[202]][_0x2895[196]]= mxPanningHandler;mxPanningHandler[_0x2895[202]][_0x2895[1179]]= null;mxPanningHandler[_0x2895[202]][_0x2895[2837]]= null;mxPanningHandler[_0x2895[202]][_0x2895[2838]]= null;mxPanningHandler[_0x2895[202]][_0x2895[2839]]= !0;mxPanningHandler[_0x2895[202]][_0x2895[2840]]= !1;mxPanningHandler[_0x2895[202]][_0x2895[2841]]= !0;mxPanningHandler[_0x2895[202]][_0x2895[2842]]= !0;mxPanningHandler[_0x2895[202]][_0x2895[2843]]= !1;mxPanningHandler[_0x2895[202]][_0x2895[2844]]= !0;mxPanningHandler[_0x2895[202]][_0x2895[2845]]= !1;mxPanningHandler[_0x2895[202]][_0x2895[2431]]= !0;mxPanningHandler[_0x2895[202]][_0x2895[2846]]= function(){return this[_0x2895[2431]]};mxPanningHandler[_0x2895[202]][_0x2895[2847]]= function(_0x4315x2){this[_0x2895[2431]]= _0x4315x2};mxPanningHandler[_0x2895[202]][_0x2895[176]]= function(){mxPopupMenu[_0x2895[202]][_0x2895[176]][_0x2895[183]](this);mxEvent[_0x2895[169]](this[_0x2895[485]],mxClient[_0x2895[754]]?_0x2895[756]:_0x2895[752],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1179]][_0x2895[2276]][_0x2895[801]]()}))};mxPanningHandler[_0x2895[202]][_0x2895[2848]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[727]]();return this[_0x2895[2840]]&& (this[_0x2895[2843]]|| null== _0x4315x2[_0x2895[248]]())&& mxEvent[_0x2895[1158]](_0x4315x3)|| mxEvent[_0x2895[775]](_0x4315x3)&& mxEvent[_0x2895[774]](_0x4315x3)|| this[_0x2895[2839]]&& mxEvent[_0x2895[737]](_0x4315x3)};mxPanningHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& this[_0x2895[994]]()){this[_0x2895[1032]]();this[_0x2895[2741]]= -this[_0x2895[1179]][_0x2895[526]][_0x2895[360]];this[_0x2895[2742]]= -this[_0x2895[1179]][_0x2895[526]][_0x2895[190]];var _0x4315x4=mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],_0x4315x3[_0x2895[730]](),_0x4315x3[_0x2895[732]]());this[_0x2895[2837]]= _0x4315x4[_0x2895[235]];this[_0x2895[2838]]= _0x4315x4[_0x2895[236]];this[_0x2895[2849]]= this[_0x2895[737]](_0x4315x3);this[_0x2895[2850]]= this[_0x2895[2846]]()&& this[_0x2895[2848]](_0x4315x3);this[_0x2895[2739]]= _0x4315x3[_0x2895[730]]();this[_0x2895[2740]]= _0x4315x3[_0x2895[732]]();this[_0x2895[2850]]&& this[_0x2895[2851]](_0x4315x3)}};mxPanningHandler[_0x2895[202]][_0x2895[2851]]= function(_0x4315x2){_0x4315x2[_0x2895[722]]()};mxPanningHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x3[_0x2895[730]]()- this[_0x2895[2739]],_0x4315x5=_0x4315x3[_0x2895[732]]()- this[_0x2895[2740]];if(this[_0x2895[1124]]){this[_0x2895[2844]]&& (this[_0x2895[2845]]&& (_0x4315x4= this[_0x2895[1179]][_0x2895[1021]](_0x4315x4),_0x4315x5= this[_0x2895[1179]][_0x2895[1021]](_0x4315x5)),this[_0x2895[1179]][_0x2895[1135]](_0x4315x4+ this[_0x2895[2741]],_0x4315x5+ this[_0x2895[2742]])),this[_0x2895[746]]( new mxEventObject(mxEvent.PAN,_0x2895[763],_0x4315x3)),_0x4315x3[_0x2895[722]]()}else {if(this[_0x2895[2850]]){var _0x4315x9=this[_0x2895[1124]];this[_0x2895[1124]]= Math[_0x2895[425]](_0x4315x4)> this[_0x2895[1179]][_0x2895[2353]]|| Math[_0x2895[425]](_0x4315x5)> this[_0x2895[1179]][_0x2895[2353]];!_0x4315x9&& this[_0x2895[1124]]&& this[_0x2895[746]]( new mxEventObject(mxEvent.PAN_START,_0x2895[763],_0x4315x3))}}};mxPanningHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=Math[_0x2895[425]](_0x4315x3[_0x2895[730]]()- this[_0x2895[2739]]),_0x4315x5=Math[_0x2895[425]](_0x4315x3[_0x2895[732]]()- this[_0x2895[2740]]);if(this[_0x2895[1124]]){if(!this[_0x2895[1179]][_0x2895[2365]]|| !mxUtils[_0x2895[1134]](this[_0x2895[1179]][_0x2895[526]])){_0x4315x4= _0x4315x3[_0x2895[730]]()- this[_0x2895[2739]];_0x4315x5= _0x4315x3[_0x2895[732]]()- this[_0x2895[2740]];this[_0x2895[2845]]&& (_0x4315x4= this[_0x2895[1179]][_0x2895[1021]](_0x4315x4),_0x4315x5= this[_0x2895[1179]][_0x2895[1021]](_0x4315x5));var _0x4315x9=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315xa=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[513]];this[_0x2895[1179]][_0x2895[1135]](0,0);this[_0x2895[1135]](_0x4315xa[_0x2895[235]]+ _0x4315x4/ _0x4315x9,_0x4315xa[_0x2895[236]]+ _0x4315x5/ _0x4315x9)};this[_0x2895[1124]]= !1;this[_0x2895[746]]( new mxEventObject(mxEvent.PAN_END,_0x2895[763],_0x4315x3));_0x4315x3[_0x2895[722]]()}else {this[_0x2895[2849]]&& (_0x4315x4< this[_0x2895[1179]][_0x2895[2353]]&& _0x4315x5< this[_0x2895[1179]][_0x2895[2353]])&& (_0x4315x4= this[_0x2895[2852]](_0x4315x3),this[_0x2895[1179]][_0x2895[994]]()&& this[_0x2895[2841]]&& null!= _0x4315x4&& !this[_0x2895[1179]][_0x2895[2692]](_0x4315x4)?this[_0x2895[1179]][_0x2895[2450]](_0x4315x4):this[_0x2895[2842]]&& null== _0x4315x4&& this[_0x2895[1179]][_0x2895[2440]](),this[_0x2895[1179]][_0x2895[2276]][_0x2895[801]](),_0x4315x5= mxUtils[_0x2895[444]](),_0x4315x5= new mxPoint(_0x4315x3[_0x2895[730]]()+ _0x4315x5[_0x2895[235]],_0x4315x3[_0x2895[732]]()+ _0x4315x5[_0x2895[236]]),this[_0x2895[152]](_0x4315x5[_0x2895[235]]+ 1,_0x4315x5[_0x2895[236]]+ 1,_0x4315x4,_0x4315x3[_0x2895[727]]()),_0x4315x3[_0x2895[722]]())};this[_0x2895[2849]]= this[_0x2895[2850]]= !1};mxPanningHandler[_0x2895[202]][_0x2895[2852]]= function(_0x4315x2){return _0x4315x2[_0x2895[736]]()};mxPanningHandler[_0x2895[202]][_0x2895[1135]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1147]](_0x4315x2,_0x4315x3)};mxPanningHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[1148]](this);mxPopupMenu[_0x2895[202]][_0x2895[515]][_0x2895[183]](this)};function mxCellMarker(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){mxEventSource[_0x2895[239]](this);null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[2853]]= null!= _0x4315x3?_0x4315x3:mxConstants[_0x2895[2854]],this[_0x2895[2855]]= null!= _0x4315x3?_0x4315x4:mxConstants[_0x2895[2856]],this[_0x2895[2857]]= null!= _0x4315x5?_0x4315x5:mxConstants[_0x2895[2858]],this[_0x2895[1016]]= new mxCellHighlight(_0x4315x2))}mxUtils[_0x2895[1284]](mxCellMarker,mxEventSource);mxCellMarker[_0x2895[202]][_0x2895[1179]]= null;mxCellMarker[_0x2895[202]][_0x2895[984]]= !0;mxCellMarker[_0x2895[202]][_0x2895[2857]]= mxConstants[_0x2895[2858]];mxCellMarker[_0x2895[202]][_0x2895[2859]]= !1;mxCellMarker[_0x2895[202]][_0x2895[2853]]= null;mxCellMarker[_0x2895[202]][_0x2895[2855]]= null;mxCellMarker[_0x2895[202]][_0x2895[2860]]= null;mxCellMarker[_0x2895[202]][_0x2895[2861]]= null;mxCellMarker[_0x2895[202]][_0x2895[2862]]= null;mxCellMarker[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxCellMarker[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxCellMarker[_0x2895[202]][_0x2895[2863]]= function(_0x4315x2){this[_0x2895[2857]]= _0x4315x2};mxCellMarker[_0x2895[202]][_0x2895[2864]]= function(){return this[_0x2895[2857]]};mxCellMarker[_0x2895[202]][_0x2895[2865]]= function(_0x4315x2){this[_0x2895[2859]]= _0x4315x2};mxCellMarker[_0x2895[202]][_0x2895[2866]]= function(){return this[_0x2895[2859]]};mxCellMarker[_0x2895[202]][_0x2895[2867]]= function(){return null!= this[_0x2895[2861]]};mxCellMarker[_0x2895[202]][_0x2895[2868]]= function(){return this[_0x2895[2861]]};mxCellMarker[_0x2895[202]][_0x2895[2869]]= function(){return this[_0x2895[2862]]};mxCellMarker[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[2861]]= null;null!= this[_0x2895[2862]]&& (this[_0x2895[2862]]= null,this[_0x2895[2870]]())};mxCellMarker[_0x2895[202]][_0x2895[2871]]= function(_0x4315x2){var _0x4315x3=null;if(this[_0x2895[994]]()){var _0x4315x3=this[_0x2895[248]](_0x4315x2),_0x4315x4=null!= _0x4315x3?this[_0x2895[2872]](_0x4315x3):!1;_0x4315x2= this[_0x2895[2873]](_0x4315x2[_0x2895[727]](),_0x4315x3,_0x4315x4);this[_0x2895[2861]]= _0x4315x4?_0x4315x3:null;if(_0x4315x3!= this[_0x2895[2862]]|| _0x4315x2!= this[_0x2895[2860]]){this[_0x2895[2860]]= _0x4315x2,null!= _0x4315x3&& null!= this[_0x2895[2860]]?(this[_0x2895[2862]]= _0x4315x3,this[_0x2895[811]]()):null!= this[_0x2895[2862]]&& (this[_0x2895[2862]]= null,this[_0x2895[2870]]())}};return _0x4315x3};mxCellMarker[_0x2895[202]][_0x2895[2874]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2);null!= _0x4315x4&& (this[_0x2895[2860]]= null!= _0x4315x3?_0x4315x3:this[_0x2895[2853]],this[_0x2895[2862]]= _0x4315x4,this[_0x2895[811]]())};mxCellMarker[_0x2895[202]][_0x2895[811]]= function(){this[_0x2895[1016]][_0x2895[2828]](this[_0x2895[2860]]);this[_0x2895[1016]][_0x2895[1016]](this[_0x2895[2862]]);this[_0x2895[746]]( new mxEventObject(mxEvent.MARK,_0x2895[724],this[_0x2895[2862]]))};mxCellMarker[_0x2895[202]][_0x2895[2870]]= function(){this[_0x2895[811]]()};mxCellMarker[_0x2895[202]][_0x2895[2872]]= function(_0x4315x2){return !0};mxCellMarker[_0x2895[202]][_0x2895[2873]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x4?this[_0x2895[2853]]:this[_0x2895[2855]]};mxCellMarker[_0x2895[202]][_0x2895[248]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[249]]();cell= this[_0x2895[736]](_0x4315x2);_0x4315x3= this[_0x2895[2875]](_0x4315x3[_0x2895[248]](cell));return null!= _0x4315x3&& this[_0x2895[1825]](_0x4315x3,_0x4315x2)?_0x4315x3:null};mxCellMarker[_0x2895[202]][_0x2895[736]]= function(_0x4315x2){return _0x4315x2[_0x2895[736]]()};mxCellMarker[_0x2895[202]][_0x2895[2875]]= function(_0x4315x2){return _0x4315x2};mxCellMarker[_0x2895[202]][_0x2895[1825]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[2859]]?mxUtils[_0x2895[2876]](_0x4315x2,_0x4315x3[_0x2895[734]](),_0x4315x3[_0x2895[735]](),this[_0x2895[2857]],mxConstants.MIN_HOTSPOT_SIZE,mxConstants.MAX_HOTSPOT_SIZE):!0};mxCellMarker[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[2877]]);this[_0x2895[1179]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[2877]]);this[_0x2895[1016]][_0x2895[515]]()};function mxSelectionCellsHandler(_0x4315x2){mxEventSource[_0x2895[239]](this);this[_0x2895[1179]]= _0x4315x2;this[_0x2895[2878]]= new mxDictionary;this[_0x2895[1179]][_0x2895[1133]](this);this[_0x2895[2731]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4){this[_0x2895[994]]()&& this[_0x2895[802]]()});this[_0x2895[1179]][_0x2895[2435]]()[_0x2895[169]](mxEvent.CHANGE,this[_0x2895[2731]]);this[_0x2895[1179]][_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,this[_0x2895[2731]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.SCALE,this[_0x2895[2731]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.TRANSLATE,this[_0x2895[2731]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.SCALE_AND_TRANSLATE,this[_0x2895[2731]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.DOWN,this[_0x2895[2731]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.UP,this[_0x2895[2731]])}mxUtils[_0x2895[1284]](mxSelectionCellsHandler,mxEventSource);mxSelectionCellsHandler[_0x2895[202]][_0x2895[1179]]= null;mxSelectionCellsHandler[_0x2895[202]][_0x2895[984]]= !0;mxSelectionCellsHandler[_0x2895[202]][_0x2895[2731]]= null;mxSelectionCellsHandler[_0x2895[202]][_0x2895[2879]]= 100;mxSelectionCellsHandler[_0x2895[202]][_0x2895[2878]]= null;mxSelectionCellsHandler[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxSelectionCellsHandler[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxSelectionCellsHandler[_0x2895[202]][_0x2895[2596]]= function(_0x4315x2){return this[_0x2895[2878]][_0x2895[203]](_0x4315x2)};mxSelectionCellsHandler[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[2878]][_0x2895[209]](function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[862]][_0x2895[183]](_0x4315x3)})};mxSelectionCellsHandler[_0x2895[202]][_0x2895[802]]= function(){var _0x4315x2=this[_0x2895[2878]];this[_0x2895[2878]]= new mxDictionary;for(var _0x4315x3=this[_0x2895[1179]][_0x2895[897]](),_0x4315x4=0;_0x4315x4< _0x4315x3[_0x2895[67]];_0x4315x4++){var _0x4315x5=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x3[_0x4315x4]);if(null!= _0x4315x5){var _0x4315x9=_0x4315x2[_0x2895[205]](_0x4315x3[_0x4315x4]);null!= _0x4315x9&& (_0x4315x9[_0x2895[724]]!= _0x4315x5?(_0x4315x9[_0x2895[515]](),_0x4315x9= null):_0x4315x9[_0x2895[258]]());null== _0x4315x9&& (_0x4315x9= this[_0x2895[1179]][_0x2895[2709]](_0x4315x5),this[_0x2895[746]]( new mxEventObject(mxEvent.ADD,_0x2895[724],_0x4315x5)));null!= _0x4315x9&& this[_0x2895[2878]][_0x2895[204]](_0x4315x3[_0x4315x4],_0x4315x9)}};_0x4315x2[_0x2895[209]](mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){this[_0x2895[746]]( new mxEventObject(mxEvent.REMOVE,_0x2895[724],_0x4315x3[_0x2895[724]]));_0x4315x3[_0x2895[515]]()}))};mxSelectionCellsHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1179]][_0x2895[994]]()&& this[_0x2895[994]]()){var _0x4315x4=[_0x4315x2,_0x4315x3];this[_0x2895[2878]][_0x2895[209]](function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[787]][_0x2895[183]](_0x4315x3,_0x4315x4)})}};mxSelectionCellsHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1179]][_0x2895[994]]()&& this[_0x2895[994]]()){var _0x4315x4=[_0x4315x2,_0x4315x3];this[_0x2895[2878]][_0x2895[209]](function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[788]][_0x2895[183]](_0x4315x3,_0x4315x4)})}};mxSelectionCellsHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1179]][_0x2895[994]]()&& this[_0x2895[994]]()){var _0x4315x4=[_0x4315x2,_0x4315x3];this[_0x2895[2878]][_0x2895[209]](function(_0x4315x2,_0x4315x3){_0x4315x3[_0x2895[789]][_0x2895[183]](_0x4315x3,_0x4315x4)})}};mxSelectionCellsHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[1148]](this);null!= this[_0x2895[2731]]&& (this[_0x2895[1179]][_0x2895[2435]]()[_0x2895[745]](this[_0x2895[2731]]),this[_0x2895[1179]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[2731]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[2731]]),this[_0x2895[2731]]= null)};function mxConnectionHandler(_0x4315x2,_0x4315x3){mxEventSource[_0x2895[239]](this);null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[1033]]= _0x4315x3,this[_0x2895[176]]())}mxUtils[_0x2895[1284]](mxConnectionHandler,mxEventSource);mxConnectionHandler[_0x2895[202]][_0x2895[1179]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[1033]]= !0;mxConnectionHandler[_0x2895[202]][_0x2895[2880]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2881]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2882]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[2883]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[984]]= !0;mxConnectionHandler[_0x2895[202]][_0x2895[804]]= !0;mxConnectionHandler[_0x2895[202]][_0x2895[2884]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2885]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[2886]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[267]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[2887]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2888]]= !0;mxConnectionHandler[_0x2895[202]][_0x2895[2889]]= 500;mxConnectionHandler[_0x2895[202]][_0x2895[2890]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2891]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2892]]= 4;mxConnectionHandler[_0x2895[202]][_0x2895[2893]]= 0;mxConnectionHandler[_0x2895[202]][_0x2895[2894]]= 0;mxConnectionHandler[_0x2895[202]][_0x2895[2895]]= !1;mxConnectionHandler[_0x2895[202]][_0x2895[2823]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[2896]]= new mxPoint(0,mxConstants.TOOLTIP_VERTICAL_OFFSET);mxConnectionHandler[_0x2895[202]][_0x2895[2897]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[1176]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[2898]]= null;mxConnectionHandler[_0x2895[202]][_0x2895[2899]]= 0;mxConnectionHandler[_0x2895[202]][_0x2895[2900]]= mxClient[_0x2895[47]];mxConnectionHandler[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxConnectionHandler[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxConnectionHandler[_0x2895[202]][_0x2895[2901]]= function(){return this[_0x2895[2884]]};mxConnectionHandler[_0x2895[202]][_0x2895[2902]]= function(_0x4315x2){this[_0x2895[2884]]= _0x4315x2};mxConnectionHandler[_0x2895[202]][_0x2895[2156]]= function(){var _0x4315x2= new mxPolyline([],mxConstants.INVALID_COLOR);_0x4315x2[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]];_0x4315x2[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]());_0x4315x2[_0x2895[1564]]= 0;_0x4315x2[_0x2895[1229]]= !1;_0x4315x2[_0x2895[1522]]= !0;if(this[_0x2895[1179]][_0x2895[507]]== mxConstants[_0x2895[508]]){_0x4315x2[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130])}else {var _0x4315x3=mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x2= mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x2),mxEvent[_0x2895[733]](_0x4315x2));return this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](this[_0x2895[1179]][_0x2895[999]](_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]]))});mxEvent[_0x2895[2733]](_0x4315x2[_0x2895[252]],this[_0x2895[1179]],_0x4315x3)};return _0x4315x2};mxConnectionHandler[_0x2895[202]][_0x2895[176]]= function(){this[_0x2895[1179]][_0x2895[1133]](this);this[_0x2895[2885]]= this[_0x2895[1689]]();this[_0x2895[2886]]= new mxConstraintHandler(this[_0x2895[1179]]);this[_0x2895[1176]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){null!= this[_0x2895[2903]]&& (this[_0x2895[2903]]= this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](this[_0x2895[2903]][_0x2895[246]]));null!= this[_0x2895[2903]]?this[_0x2895[2905]](this[_0x2895[2904]],this[_0x2895[2903]]):(this[_0x2895[2906]](this[_0x2895[2904]]),this[_0x2895[257]]= null);this[_0x2895[2886]][_0x2895[862]]()});this[_0x2895[1179]][_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,this[_0x2895[1176]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.SCALE,this[_0x2895[1176]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.TRANSLATE,this[_0x2895[1176]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.SCALE_AND_TRANSLATE,this[_0x2895[1176]]);this[_0x2895[2898]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2906]](this[_0x2895[2904]])});this[_0x2895[1179]][_0x2895[169]](mxEvent.START_EDITING,this[_0x2895[2898]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.DOWN,this[_0x2895[2898]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.UP,this[_0x2895[2898]])};mxConnectionHandler[_0x2895[202]][_0x2895[2907]]= function(_0x4315x2){return !0};mxConnectionHandler[_0x2895[202]][_0x2895[1689]]= function(){var _0x4315x2= new mxCellMarker(this[_0x2895[1179]]);_0x4315x2[_0x2895[2859]]= !0;_0x4315x2[_0x2895[736]]= mxUtils[_0x2895[885]](this,function(_0x4315x3,_0x4315x4){_0x4315x4= mxCellMarker[_0x2895[202]][_0x2895[736]][_0x2895[183]](_0x4315x2,arguments);this[_0x2895[267]]= null;if(!this[_0x2895[2907]](_0x4315x4)){return null};null!= _0x4315x4?this[_0x2895[2908]]()?null!= this[_0x2895[257]]&& (this[_0x2895[267]]= this[_0x2895[2909]](this[_0x2895[257]][_0x2895[246]],_0x4315x4),null!= this[_0x2895[267]]&& 0== this[_0x2895[267]][_0x2895[67]]&& (_0x4315x4= null,this[_0x2895[2901]]()&& (this[_0x2895[267]]= null))):this[_0x2895[2671]](_0x4315x4)|| (_0x4315x4= null):this[_0x2895[2908]]()&& (!this[_0x2895[2901]]()&& !this[_0x2895[1179]][_0x2895[2406]])&& (this[_0x2895[267]]= _0x2895[110]);return _0x4315x4});_0x4315x2[_0x2895[2872]]= mxUtils[_0x2895[885]](this,function(_0x4315x3){return this[_0x2895[2908]]()?null== this[_0x2895[267]]:mxCellMarker[_0x2895[202]][_0x2895[2872]][_0x2895[183]](_0x4315x2,arguments)});_0x4315x2[_0x2895[2873]]= mxUtils[_0x2895[885]](this,function(_0x4315x3,_0x4315x4,_0x4315x5){return null== this[_0x2895[2882]]|| this[_0x2895[2908]]()?mxCellMarker[_0x2895[202]][_0x2895[2873]][_0x2895[183]](_0x4315x2,arguments):null});_0x4315x2[_0x2895[1825]]= mxUtils[_0x2895[885]](this,function(_0x4315x3,_0x4315x4){return null!= this[_0x2895[2882]]|| this[_0x2895[2908]]()?!0:mxCellMarker[_0x2895[202]][_0x2895[1825]][_0x2895[183]](_0x4315x2,arguments)});return _0x4315x2};mxConnectionHandler[_0x2895[202]][_0x2895[861]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[257]]= _0x4315x2;this[_0x2895[2823]]= new mxPoint(_0x4315x3,_0x4315x4);this[_0x2895[2897]]= null!= _0x4315x5?_0x4315x5:this[_0x2895[2910]](null);this[_0x2895[2885]][_0x2895[2860]]= this[_0x2895[2885]][_0x2895[2853]];this[_0x2895[2885]][_0x2895[2862]]= _0x4315x2;this[_0x2895[2885]][_0x2895[811]]();this[_0x2895[746]]( new mxEventObject(mxEvent.START,_0x2895[724],this[_0x2895[257]]))};mxConnectionHandler[_0x2895[202]][_0x2895[2908]]= function(){return null!= this[_0x2895[2823]]&& null!= this[_0x2895[253]]};mxConnectionHandler[_0x2895[202]][_0x2895[2671]]= function(_0x4315x2){return this[_0x2895[1179]][_0x2895[2671]](_0x4315x2)};mxConnectionHandler[_0x2895[202]][_0x2895[2672]]= function(_0x4315x2){return !0};mxConnectionHandler[_0x2895[202]][_0x2895[2909]]= function(_0x4315x2,_0x4315x3){return !this[_0x2895[2672]](_0x4315x3)?_0x2895[110]:this[_0x2895[1179]][_0x2895[2500]](null,_0x4315x2,_0x4315x3)};mxConnectionHandler[_0x2895[202]][_0x2895[2911]]= function(_0x4315x2){return this[_0x2895[2882]]};mxConnectionHandler[_0x2895[202]][_0x2895[2912]]= function(_0x4315x2){return null!= _0x4315x2[_0x2895[963]]&& _0x4315x2[_0x2895[963]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]]?!0:this[_0x2895[2880]]};mxConnectionHandler[_0x2895[202]][_0x2895[2913]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[2911]](_0x4315x2);if(null!= _0x4315x3&& null!= _0x4315x2){this[_0x2895[2903]]= _0x4315x2;var _0x4315x4=[],_0x4315x5= new mxRectangle(0,0,_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]]),_0x4315x9= new mxImageShape(_0x4315x5,_0x4315x3[_0x2895[390]],null,null,0);_0x4315x9[_0x2895[1674]]= !1;this[_0x2895[2912]](_0x4315x2)?(_0x4315x9[_0x2895[507]]= mxConstants[_0x2895[1656]],_0x4315x9[_0x2895[176]](this[_0x2895[1179]][_0x2895[526]])):(_0x4315x9[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]== mxConstants[_0x2895[508]]?mxConstants[_0x2895[508]]:mxConstants[_0x2895[1523]],_0x4315x9[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()),this[_0x2895[2881]]&& null!= _0x4315x9[_0x2895[252]][_0x2895[328]]&& _0x4315x9[_0x2895[252]][_0x2895[265]][_0x2895[950]](_0x4315x9[_0x2895[252]],_0x4315x9[_0x2895[252]][_0x2895[265]][_0x2895[285]]));_0x4315x9[_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[2914]];var _0x4315xa=mxUtils[_0x2895[885]](this,function(){return null!= this[_0x2895[2915]]?this[_0x2895[2915]]:_0x4315x2}),_0x4315x3=mxUtils[_0x2895[885]](this,function(_0x4315x2){mxEvent[_0x2895[721]](_0x4315x2)|| (this[_0x2895[2916]]= _0x4315x9,this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x2,_0x4315xa())))});mxEvent[_0x2895[2733]](_0x4315x9[_0x2895[252]],this[_0x2895[1179]],_0x4315xa,_0x4315x3);_0x4315x4[_0x2895[207]](_0x4315x9);this[_0x2895[2905]](_0x4315x4,this[_0x2895[2903]]);return _0x4315x4};return null};mxConnectionHandler[_0x2895[202]][_0x2895[2905]]= function(_0x4315x2,_0x4315x3){if(null!= _0x4315x2&& null!= _0x4315x2[0]&& null!= _0x4315x3){var _0x4315x4=this[_0x2895[2917]](_0x4315x2[0],_0x4315x3);_0x4315x2[0][_0x2895[1562]][_0x2895[235]]= _0x4315x4[_0x2895[235]];_0x4315x2[0][_0x2895[1562]][_0x2895[236]]= _0x4315x4[_0x2895[236]];_0x4315x2[0][_0x2895[258]]()}};mxConnectionHandler[_0x2895[202]][_0x2895[2917]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x5=_0x4315x3[_0x2895[241]](),_0x4315x9=_0x4315x3[_0x2895[242]]();if(this[_0x2895[1179]][_0x2895[1730]](_0x4315x3[_0x2895[246]])){var _0x4315xa=this[_0x2895[1179]][_0x2895[1731]](_0x4315x3[_0x2895[246]]),_0x4315x5=0!= _0x4315xa[_0x2895[117]]?_0x4315x3[_0x2895[235]]+ _0x4315xa[_0x2895[117]]* _0x4315x4/ 2:_0x4315x5,_0x4315x9=0!= _0x4315xa[_0x2895[119]]?_0x4315x3[_0x2895[236]]+ _0x4315xa[_0x2895[119]]* _0x4315x4/ 2:_0x4315x9,_0x4315xa=mxUtils[_0x2895[431]](mxUtils[_0x2895[433]](_0x4315x3[_0x2895[124]],mxConstants.STYLE_ROTATION)|| 0);if(0!= _0x4315xa){var _0x4315x4=Math[_0x2895[426]](_0x4315xa),_0x4315xa=Math[_0x2895[427]](_0x4315xa),_0x4315x12= new mxPoint(_0x4315x3[_0x2895[241]](),_0x4315x3[_0x2895[242]]()),_0x4315x9=mxUtils[_0x2895[432]]( new mxPoint(_0x4315x5,_0x4315x9),_0x4315x4,_0x4315xa,_0x4315x12),_0x4315x5=_0x4315x9[_0x2895[235]],_0x4315x9=_0x4315x9[_0x2895[236]]}};return new mxPoint(_0x4315x5- _0x4315x2[_0x2895[1562]][_0x2895[117]]/ 2,_0x4315x9- _0x4315x2[_0x2895[1562]][_0x2895[119]]/ 2)};mxConnectionHandler[_0x2895[202]][_0x2895[2906]]= function(_0x4315x2){if(null!= _0x4315x2){this[_0x2895[2903]]= null;for(var _0x4315x3=0;_0x4315x3< _0x4315x2[_0x2895[67]];_0x4315x3++){_0x4315x2[_0x4315x3][_0x2895[515]]()}}};mxConnectionHandler[_0x2895[202]][_0x2895[2918]]= function(_0x4315x2){return !this[_0x2895[1179]][_0x2895[2579]](_0x4315x2[_0x2895[727]]())&& (null!= this[_0x2895[2886]][_0x2895[2919]]&& null!= this[_0x2895[2886]][_0x2895[2920]]|| null!= this[_0x2895[257]]&& null== this[_0x2895[267]]&& (null== this[_0x2895[2904]]|| null!= this[_0x2895[2904]]&& null!= this[_0x2895[2916]]))};mxConnectionHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2899]]++;if(this[_0x2895[994]]()&& this[_0x2895[1179]][_0x2895[994]]()&& !_0x4315x3[_0x2895[721]]()&& !this[_0x2895[2908]]()&& this[_0x2895[2918]](_0x4315x3)){null!= this[_0x2895[2886]][_0x2895[2920]]&& null!= this[_0x2895[2886]][_0x2895[2919]]&& null!= this[_0x2895[2886]][_0x2895[987]]?(this[_0x2895[2921]]= this[_0x2895[2886]][_0x2895[2920]],this[_0x2895[257]]= this[_0x2895[2886]][_0x2895[2919]],this[_0x2895[2823]]= this[_0x2895[2886]][_0x2895[987]][_0x2895[238]]()):this[_0x2895[2823]]= new mxPoint(_0x4315x3[_0x2895[734]](),_0x4315x3[_0x2895[735]]());this[_0x2895[2897]]= this[_0x2895[2910]](_0x4315x3);this[_0x2895[2899]]= 1;this[_0x2895[2887]]&& null== this[_0x2895[253]]&& (this[_0x2895[2922]]= null,this[_0x2895[253]]= this[_0x2895[2156]]());if(null== this[_0x2895[257]]&& null!= this[_0x2895[2897]]){var _0x4315x4=this[_0x2895[1179]][_0x2895[2689]](_0x4315x3[_0x2895[727]]());this[_0x2895[2897]][_0x2895[246]][_0x2895[256]][_0x2895[2007]](_0x4315x4,!0)};this[_0x2895[746]]( new mxEventObject(mxEvent.START,_0x2895[724],this[_0x2895[257]]));_0x4315x3[_0x2895[722]]()}else {if(mxClient[_0x2895[754]]&& this[_0x2895[2888]]&& !this[_0x2895[2890]]&& this[_0x2895[994]]()&& this[_0x2895[1179]][_0x2895[994]]()&& !this[_0x2895[2908]]()){this[_0x2895[2890]]= !0;this[_0x2895[2893]]= _0x4315x3[_0x2895[730]]();this[_0x2895[2894]]= _0x4315x3[_0x2895[732]]();var _0x4315x5=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](this[_0x2895[2885]][_0x2895[736]](_0x4315x3));this[_0x2895[2923]]&& window[_0x2895[2924]](this[_0x2895[2923]]);this[_0x2895[2923]]= window[_0x2895[261]](mxUtils[_0x2895[885]](this,function(){this[_0x2895[2891]]&& this[_0x2895[2925]](_0x4315x3,_0x4315x5);this[_0x2895[2891]]= this[_0x2895[2890]]= !1}),this[_0x2895[2889]]);this[_0x2895[2891]]= !0}};this[_0x2895[2926]]= this[_0x2895[2916]];this[_0x2895[2916]]= null};mxConnectionHandler[_0x2895[202]][_0x2895[2925]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x3&& (this[_0x2895[2885]][_0x2895[2860]]= this[_0x2895[2885]][_0x2895[2853]],this[_0x2895[2885]][_0x2895[2862]]= _0x4315x3,this[_0x2895[2885]][_0x2895[811]](),this[_0x2895[2823]]= new mxPoint(_0x4315x2[_0x2895[734]](),_0x4315x2[_0x2895[735]]()),this[_0x2895[2897]]= this[_0x2895[2910]](_0x4315x2),this[_0x2895[257]]= _0x4315x3,this[_0x2895[746]]( new mxEventObject(mxEvent.START,_0x2895[724],this[_0x2895[257]])))};mxConnectionHandler[_0x2895[202]][_0x2895[2927]]= function(_0x4315x2){return !this[_0x2895[1179]][_0x2895[1712]](_0x4315x2[_0x2895[246]])};mxConnectionHandler[_0x2895[202]][_0x2895[2910]]= function(_0x4315x2){return null};mxConnectionHandler[_0x2895[202]][_0x2895[2928]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[2885]][_0x2895[2871]](_0x4315x2);this[_0x2895[2886]][_0x2895[2729]](_0x4315x2,null== this[_0x2895[2823]]);this[_0x2895[2915]]= _0x4315x3};mxConnectionHandler[_0x2895[202]][_0x2895[2929]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[518]](),_0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[512]]();_0x4315x2[_0x2895[235]]= _0x4315x2[_0x2895[235]]/ _0x4315x3- _0x4315x4[_0x2895[235]];_0x4315x2[_0x2895[236]]= _0x4315x2[_0x2895[236]]/ _0x4315x3- _0x4315x4[_0x2895[236]]};mxConnectionHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2891]]&& (this[_0x2895[2891]]= Math[_0x2895[425]](this[_0x2895[2893]]- _0x4315x3[_0x2895[730]]())< this[_0x2895[2892]]&& Math[_0x2895[425]](this[_0x2895[2894]]- _0x4315x3[_0x2895[732]]())< this[_0x2895[2892]]);if(!_0x4315x3[_0x2895[721]]()&& (this[_0x2895[2895]]|| null!= this[_0x2895[2823]]|| !this[_0x2895[1179]][_0x2895[1009]])){!this[_0x2895[994]]()&& null!= this[_0x2895[2915]]&& (this[_0x2895[2906]](this[_0x2895[2904]]),this[_0x2895[2915]]= null);(null!= this[_0x2895[2823]]|| this[_0x2895[994]]()&& this[_0x2895[1179]][_0x2895[994]]())&& this[_0x2895[2928]](_0x4315x3);if(null!= this[_0x2895[2823]]){var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x4= new mxPoint(this[_0x2895[1179]][_0x2895[1021]](_0x4315x3[_0x2895[734]]()/ _0x4315x4)* _0x4315x4,this[_0x2895[1179]][_0x2895[1021]](_0x4315x3[_0x2895[735]]()/ _0x4315x4)* _0x4315x4),_0x4315x5=null,_0x4315x9=_0x4315x4;null!= this[_0x2895[2886]][_0x2895[2920]]&& (null!= this[_0x2895[2886]][_0x2895[2919]]&& null!= this[_0x2895[2886]][_0x2895[987]])&& (_0x4315x5= this[_0x2895[2886]][_0x2895[2920]],_0x4315x9= this[_0x2895[2886]][_0x2895[987]][_0x2895[238]]());var _0x4315xa=this[_0x2895[2823]];if(null!= this[_0x2895[2926]]){var _0x4315x12=this[_0x2895[2926]][_0x2895[1562]][_0x2895[117]],_0x4315x13=this[_0x2895[2926]][_0x2895[1562]][_0x2895[119]];null!= this[_0x2895[2915]]&& this[_0x2895[2883]]?(_0x4315x12= this[_0x2895[2917]](this[_0x2895[2926]],this[_0x2895[2915]]),this[_0x2895[2926]][_0x2895[1562]][_0x2895[235]]= _0x4315x12[_0x2895[235]],this[_0x2895[2926]][_0x2895[1562]][_0x2895[236]]= _0x4315x12[_0x2895[236]]):(_0x4315x12= new mxRectangle(_0x4315x3[_0x2895[734]]()+ this[_0x2895[2896]][_0x2895[235]],_0x4315x3[_0x2895[735]]()+ this[_0x2895[2896]][_0x2895[236]],_0x4315x12,_0x4315x13),this[_0x2895[2926]][_0x2895[1562]]= _0x4315x12);this[_0x2895[2926]][_0x2895[258]]()};if(null!= this[_0x2895[2897]]){this[_0x2895[2897]][_0x2895[439]]= [null,null!= this[_0x2895[2915]]?null:_0x4315x9];this[_0x2895[1179]][_0x2895[441]][_0x2895[2289]](this[_0x2895[2897]],this[_0x2895[257]],!0,this[_0x2895[2921]]);null!= this[_0x2895[2915]]&& (null== _0x4315x5&& (_0x4315x5= this[_0x2895[1179]][_0x2895[2288]](this[_0x2895[2897]],this[_0x2895[257]],!1)),this[_0x2895[2897]][_0x2895[2088]](null,!1),this[_0x2895[1179]][_0x2895[441]][_0x2895[2289]](this[_0x2895[2897]],this[_0x2895[2915]],!1,_0x4315x5));_0x4315xa= null;if(null!= this[_0x2895[2922]]){_0x4315xa= [];for(_0x4315x9= 0;_0x4315x9< this[_0x2895[2922]][_0x2895[67]];_0x4315x9++){_0x4315x5= this[_0x2895[2922]][_0x4315x9][_0x2895[238]](),this[_0x2895[2929]](_0x4315x5),_0x4315xa[_0x4315x9]= _0x4315x5}};this[_0x2895[1179]][_0x2895[441]][_0x2895[2282]](this[_0x2895[2897]],_0x4315xa,this[_0x2895[257]],this[_0x2895[2915]]);this[_0x2895[1179]][_0x2895[441]][_0x2895[2283]](this[_0x2895[2897]],this[_0x2895[257]],this[_0x2895[2915]]);_0x4315x9= this[_0x2895[2897]][_0x2895[439]][this[_0x2895[2897]][_0x2895[439]][_0x2895[67]]- 1];_0x4315xa= this[_0x2895[2897]][_0x2895[439]][0]}else {null!= this[_0x2895[2915]]&& null== this[_0x2895[2886]][_0x2895[2920]]&& (_0x4315x12= this[_0x2895[2930]](this[_0x2895[2915]],_0x4315x3),null!= _0x4315x12&& (_0x4315x9= _0x4315x12)),null== this[_0x2895[2921]]&& null!= this[_0x2895[257]]&& (_0x4315x12= this[_0x2895[2931]](this[_0x2895[257]],null!= this[_0x2895[2922]]&& 0< this[_0x2895[2922]][_0x2895[67]]?this[_0x2895[2922]][0]:_0x4315x9,_0x4315x3),null!= _0x4315x12&& (_0x4315xa= _0x4315x12))};if(null== this[_0x2895[2915]]&& this[_0x2895[2900]]){_0x4315x12= _0x4315xa;null!= this[_0x2895[2897]]&& 2< this[_0x2895[2897]][_0x2895[439]][_0x2895[67]]&& (_0x4315x5= this[_0x2895[2897]][_0x2895[439]][this[_0x2895[2897]][_0x2895[439]][_0x2895[67]]- 2],null!= _0x4315x5&& (_0x4315x12= _0x4315x5));_0x4315x5= _0x4315x9[_0x2895[235]]- _0x4315x12[_0x2895[235]];_0x4315x12= _0x4315x9[_0x2895[236]]- _0x4315x12[_0x2895[236]];_0x4315x13= Math[_0x2895[428]](_0x4315x5* _0x4315x5+ _0x4315x12* _0x4315x12);if(0== _0x4315x13){return};_0x4315x9[_0x2895[235]]-= 4* _0x4315x5/ _0x4315x13;_0x4315x9[_0x2895[236]]-= 4* _0x4315x12/ _0x4315x13};if(null== this[_0x2895[253]]&& (_0x4315x5= Math[_0x2895[425]](_0x4315x4[_0x2895[235]]- this[_0x2895[2823]][_0x2895[235]]),_0x4315x12= Math[_0x2895[425]](_0x4315x4[_0x2895[236]]- this[_0x2895[2823]][_0x2895[236]]),_0x4315x5> this[_0x2895[1179]][_0x2895[2353]]|| _0x4315x12> this[_0x2895[1179]][_0x2895[2353]])){this[_0x2895[253]]= this[_0x2895[2156]](),this[_0x2895[2928]](_0x4315x3)};null!= this[_0x2895[253]]&& (null!= this[_0x2895[2897]]?this[_0x2895[253]][_0x2895[1525]]= this[_0x2895[2897]][_0x2895[439]]:(_0x4315x4= [_0x4315xa],null!= this[_0x2895[2922]]&& (_0x4315x4= _0x4315x4[_0x2895[1919]](this[_0x2895[2922]])),_0x4315x4[_0x2895[207]](_0x4315x9),this[_0x2895[253]][_0x2895[1525]]= _0x4315x4),this[_0x2895[2932]]());mxEvent[_0x2895[722]](_0x4315x3[_0x2895[727]]());_0x4315x3[_0x2895[722]]()}else {!this[_0x2895[994]]()|| !this[_0x2895[1179]][_0x2895[994]]()?this[_0x2895[2886]][_0x2895[862]]():this[_0x2895[257]]!= this[_0x2895[2915]]&& null== this[_0x2895[2897]]?(this[_0x2895[2906]](this[_0x2895[2904]]),this[_0x2895[2904]]= null,null!= this[_0x2895[2915]]&& null== this[_0x2895[267]]&& (this[_0x2895[2904]]= this[_0x2895[2913]](this[_0x2895[2915]]),null== this[_0x2895[2904]]&& (this[_0x2895[2915]][_0x2895[1609]](mxConstants.CURSOR_CONNECT),_0x4315x3[_0x2895[722]]())),this[_0x2895[257]]= this[_0x2895[2915]]):this[_0x2895[257]]== this[_0x2895[2915]]&& (null!= this[_0x2895[2915]]&& null== this[_0x2895[2904]]&& !this[_0x2895[1179]][_0x2895[1009]])&& _0x4315x3[_0x2895[722]]()};null!= this[_0x2895[2886]][_0x2895[2920]]&& this[_0x2895[2885]][_0x2895[862]]();if(!this[_0x2895[1179]][_0x2895[1009]]&& null!= this[_0x2895[2915]]&& null!= this[_0x2895[2904]]){_0x4315x4= !1;_0x4315xa= _0x4315x3[_0x2895[728]]();for(_0x4315x9= 0;_0x4315x9< this[_0x2895[2904]][_0x2895[67]]&& !_0x4315x4;_0x4315x9++){_0x4315x4= _0x4315xa== this[_0x2895[2904]][_0x4315x9][_0x2895[252]]|| _0x4315xa[_0x2895[265]]== this[_0x2895[2904]][_0x4315x9][_0x2895[252]]};_0x4315x4|| this[_0x2895[2933]](this[_0x2895[2915]],this[_0x2895[2904]],_0x4315x3)}}else {this[_0x2895[2886]][_0x2895[862]]()}};mxConnectionHandler[_0x2895[202]][_0x2895[2930]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null,_0x4315x5=_0x4315x2[_0x2895[441]],_0x4315x9=_0x4315x5[_0x2895[2305]](_0x4315x2);if(null!= _0x4315x9){var _0x4315xa=null!= this[_0x2895[2922]]&& 0< this[_0x2895[2922]][_0x2895[67]]?this[_0x2895[2922]][this[_0x2895[2922]][_0x2895[67]]- 1]: new mxPoint(this[_0x2895[257]][_0x2895[241]](),this[_0x2895[257]][_0x2895[242]]()),_0x4315x5=_0x4315x9(_0x4315x5[_0x2895[2087]](_0x4315x2),this[_0x2895[2897]],_0x4315xa,!1);null!= _0x4315x5&& (_0x4315x4= _0x4315x5)}else {_0x4315x4= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]())};return _0x4315x4};mxConnectionHandler[_0x2895[202]][_0x2895[2931]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x4= null;var _0x4315x5=_0x4315x2[_0x2895[441]],_0x4315x9=_0x4315x5[_0x2895[2305]](_0x4315x2),_0x4315xa= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]());if(null!= _0x4315x9){var _0x4315x12=mxUtils[_0x2895[433]](_0x4315x2[_0x2895[124]],mxConstants.STYLE_ROTATION,0),_0x4315x13=-_0x4315x12* (Math[_0x2895[424]]/ 180);0!= _0x4315x12&& (_0x4315x3= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x3[_0x2895[235]],_0x4315x3[_0x2895[236]]),Math[_0x2895[426]](_0x4315x13),Math[_0x2895[427]](_0x4315x13),_0x4315xa));_0x4315x2= _0x4315x9(_0x4315x5[_0x2895[2087]](_0x4315x2),_0x4315x2,_0x4315x3,!1);null!= _0x4315x2&& (0!= _0x4315x12&& (_0x4315x2= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]]),Math[_0x2895[426]](-_0x4315x13),Math[_0x2895[427]](-_0x4315x13),_0x4315xa)),_0x4315x4= _0x4315x2)}else {_0x4315x4= _0x4315xa};return _0x4315x4};mxConnectionHandler[_0x2895[202]][_0x2895[2933]]= function(_0x4315x2,_0x4315x3,_0x4315x4){};mxConnectionHandler[_0x2895[202]][_0x2895[2934]]= function(_0x4315x2){return null!= _0x4315x2[_0x2895[248]]()};mxConnectionHandler[_0x2895[202]][_0x2895[2935]]= function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],_0x4315x2[_0x2895[730]](),_0x4315x2[_0x2895[732]]()),_0x4315x4=Math[_0x2895[425]](_0x4315x3[_0x2895[235]]- this[_0x2895[2823]][_0x2895[235]]),_0x4315x3=Math[_0x2895[425]](_0x4315x3[_0x2895[236]]- this[_0x2895[2823]][_0x2895[236]]);if(null!= this[_0x2895[2922]]|| 1< this[_0x2895[2899]]&& (_0x4315x4> this[_0x2895[1179]][_0x2895[2353]]|| _0x4315x3> this[_0x2895[1179]][_0x2895[2353]])){null== this[_0x2895[2922]]&& (this[_0x2895[2922]]= []),_0x4315x4= this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x3= new mxPoint(this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[734]]()/ _0x4315x4)* _0x4315x4,this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[735]]()/ _0x4315x4)* _0x4315x4),this[_0x2895[2922]][_0x2895[207]](_0x4315x3)}};mxConnectionHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& this[_0x2895[2908]]()){if(this[_0x2895[2887]]&& !this[_0x2895[2934]](_0x4315x3)){this[_0x2895[2935]](_0x4315x3);_0x4315x3[_0x2895[722]]();return};if(null== this[_0x2895[267]]){var _0x4315x4=null!= this[_0x2895[257]]?this[_0x2895[257]][_0x2895[246]]:null,_0x4315x5=null;null!= this[_0x2895[2886]][_0x2895[2920]]&& null!= this[_0x2895[2886]][_0x2895[2919]]&& (_0x4315x5= this[_0x2895[2886]][_0x2895[2919]][_0x2895[246]]);null== _0x4315x5&& this[_0x2895[2885]][_0x2895[2867]]()&& (_0x4315x5= this[_0x2895[2885]][_0x2895[2861]][_0x2895[246]]);this[_0x2895[807]](_0x4315x4,_0x4315x5,_0x4315x3[_0x2895[727]](),_0x4315x3[_0x2895[736]]())}else {null!= this[_0x2895[257]]&& (null!= this[_0x2895[2885]][_0x2895[2861]]&& this[_0x2895[257]][_0x2895[246]]== this[_0x2895[2885]][_0x2895[2861]][_0x2895[246]])&& this[_0x2895[1179]][_0x2895[2459]](this[_0x2895[2885]][_0x2895[1097]],evt),0< this[_0x2895[267]][_0x2895[67]]&& this[_0x2895[1179]][_0x2895[2580]](this[_0x2895[267]])};this[_0x2895[2906]](this[_0x2895[2904]]);_0x4315x3[_0x2895[722]]()};null!= this[_0x2895[2823]]&& this[_0x2895[862]]();this[_0x2895[2891]]= this[_0x2895[2890]]= !1};mxConnectionHandler[_0x2895[202]][_0x2895[862]]= function(){null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[515]](),this[_0x2895[253]]= null);this[_0x2895[2906]](this[_0x2895[2904]]);this[_0x2895[2904]]= null;this[_0x2895[2885]][_0x2895[862]]();this[_0x2895[2886]][_0x2895[862]]();this[_0x2895[2921]]= this[_0x2895[267]]= this[_0x2895[257]]= this[_0x2895[2897]]= this[_0x2895[2926]]= null;this[_0x2895[2899]]= 0;this[_0x2895[2916]]= this[_0x2895[2823]]= null;this[_0x2895[746]]( new mxEventObject(mxEvent.RESET))};mxConnectionHandler[_0x2895[202]][_0x2895[2932]]= function(){var _0x4315x2=null== this[_0x2895[267]];this[_0x2895[253]][_0x2895[1307]]= this[_0x2895[2936]](_0x4315x2);_0x4315x2= this[_0x2895[2937]](_0x4315x2);this[_0x2895[253]][_0x2895[1336]]= _0x4315x2;this[_0x2895[253]][_0x2895[258]]()};mxConnectionHandler[_0x2895[202]][_0x2895[2937]]= function(_0x4315x2){return _0x4315x2?mxConstants[_0x2895[2829]]:mxConstants[_0x2895[2938]]};mxConnectionHandler[_0x2895[202]][_0x2895[2936]]= function(_0x4315x2){return _0x4315x2?3:1};mxConnectionHandler[_0x2895[202]][_0x2895[807]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= _0x4315x3|| this[_0x2895[2901]]()|| this[_0x2895[1179]][_0x2895[2406]]){var _0x4315x9=this[_0x2895[1179]][_0x2895[502]](),_0x4315xa=null;_0x4315x9[_0x2895[473]]();try{if(null!= _0x4315x2&& (null== _0x4315x3&& this[_0x2895[2901]]())&& (_0x4315x3= this[_0x2895[2939]](_0x4315x4,_0x4315x2),null!= _0x4315x3)){_0x4315x5= this[_0x2895[1179]][_0x2895[564]]([_0x4315x3],_0x4315x4,_0x4315x5);if(null== _0x4315x5|| !this[_0x2895[1179]][_0x2895[502]]()[_0x2895[250]](_0x4315x5)){var _0x4315x12=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x5);if(null!= _0x4315x12){var _0x4315x13=_0x4315x9[_0x2895[1721]](_0x4315x3);_0x4315x13[_0x2895[235]]-= _0x4315x12[_0x2895[2078]][_0x2895[235]];_0x4315x13[_0x2895[236]]-= _0x4315x12[_0x2895[2078]][_0x2895[236]]}}else {_0x4315x5= this[_0x2895[1179]][_0x2895[902]]()};this[_0x2895[1179]][_0x2895[2103]](_0x4315x3,_0x4315x5)};var _0x4315x14=this[_0x2895[1179]][_0x2895[902]]();null!= _0x4315x2&& (null!= _0x4315x3&& _0x4315x9[_0x2895[1197]](_0x4315x2)== _0x4315x9[_0x2895[1197]](_0x4315x3)&& _0x4315x9[_0x2895[1197]](_0x4315x9[_0x2895[1197]](_0x4315x2))!= _0x4315x9[_0x2895[501]]())&& (_0x4315x14= _0x4315x9[_0x2895[1197]](_0x4315x2),null!= _0x4315x2[_0x2895[256]]&& _0x4315x2[_0x2895[256]][_0x2895[1500]]&& (null!= _0x4315x3[_0x2895[256]]&& _0x4315x3[_0x2895[256]][_0x2895[1500]])&& (_0x4315x14= _0x4315x9[_0x2895[1197]](_0x4315x14)));_0x4315x13= _0x4315x12= null;null!= this[_0x2895[2897]]&& (_0x4315x12= this[_0x2895[2897]][_0x2895[246]][_0x2895[131]],_0x4315x13= this[_0x2895[2897]][_0x2895[246]][_0x2895[124]]);_0x4315xa= this[_0x2895[1960]](_0x4315x14,null,_0x4315x12,_0x4315x2,_0x4315x3,_0x4315x13);if(null!= _0x4315xa){this[_0x2895[1179]][_0x2895[2545]](_0x4315xa,_0x4315x2,!0,this[_0x2895[2921]]);this[_0x2895[1179]][_0x2895[2545]](_0x4315xa,_0x4315x3,!1,this[_0x2895[2886]][_0x2895[2920]]);null!= this[_0x2895[2897]]&& _0x4315x9[_0x2895[1724]](_0x4315xa,this[_0x2895[2897]][_0x2895[246]][_0x2895[256]]);var _0x4315x15=_0x4315x9[_0x2895[1721]](_0x4315xa);null== _0x4315x15&& (_0x4315x15= new mxGeometry,_0x4315x15[_0x2895[1500]]= !0,_0x4315x9[_0x2895[1724]](_0x4315xa,_0x4315x15));if(null!= this[_0x2895[2922]]&& 0< this[_0x2895[2922]][_0x2895[67]]){var _0x4315x16=this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x17=this[_0x2895[1179]][_0x2895[441]][_0x2895[513]];_0x4315x15[_0x2895[1525]]= [];for(_0x4315x2= 0;_0x4315x2< this[_0x2895[2922]][_0x2895[67]];_0x4315x2++){var _0x4315x18=this[_0x2895[2922]][_0x4315x2];_0x4315x15[_0x2895[1525]][_0x2895[207]]( new mxPoint(_0x4315x18[_0x2895[235]]/ _0x4315x16- _0x4315x17[_0x2895[235]],_0x4315x18[_0x2895[236]]/ _0x4315x16- _0x4315x17[_0x2895[236]]))}};null== _0x4315x3&& (_0x4315x18= this[_0x2895[1179]][_0x2895[2689]](_0x4315x4,!1),_0x4315x18[_0x2895[235]]-= this[_0x2895[1179]][_0x2895[1136]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x18[_0x2895[236]]-= this[_0x2895[1179]][_0x2895[1137]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x15[_0x2895[2007]](_0x4315x18,!1));this[_0x2895[746]]( new mxEventObject(mxEvent.CONNECT,_0x2895[246],_0x4315xa,_0x2895[763],_0x4315x4,_0x2895[772],_0x4315x5))}}catch(q){mxLog[_0x2895[539]](),mxLog[_0x2895[143]](q[_0x2895[281]])}finally{_0x4315x9[_0x2895[476]]()};this[_0x2895[804]]&& this[_0x2895[2707]](_0x4315xa,_0x4315x3)}};mxConnectionHandler[_0x2895[202]][_0x2895[2707]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1179]][_0x2895[2450]](_0x4315x2)};mxConnectionHandler[_0x2895[202]][_0x2895[1960]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){if(null== this[_0x2895[1033]]){return this[_0x2895[1179]][_0x2895[1960]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa)};_0x4315x3= this[_0x2895[2503]](_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa);return _0x4315x3= this[_0x2895[1179]][_0x2895[2504]](_0x4315x3,_0x4315x2,_0x4315x5,_0x4315x9)};mxConnectionHandler[_0x2895[202]][_0x2895[2939]]= function(_0x4315x2,_0x4315x3){for(var _0x4315x4=this[_0x2895[1179]][_0x2895[1198]](_0x4315x3);null!= _0x4315x4&& _0x4315x4[_0x2895[1500]];){_0x4315x3= this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](_0x4315x3),_0x4315x4= this[_0x2895[1179]][_0x2895[1198]](_0x4315x3)};var _0x4315x5=this[_0x2895[1179]][_0x2895[899]]([_0x4315x3])[0],_0x4315x4=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1721]](_0x4315x5);if(null!= _0x4315x4){var _0x4315x9=this[_0x2895[1179]][_0x2895[2689]](_0x4315x2);_0x4315x4[_0x2895[235]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x9[_0x2895[235]]- _0x4315x4[_0x2895[117]]/ 2)- this[_0x2895[1179]][_0x2895[1136]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]];_0x4315x4[_0x2895[236]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x9[_0x2895[236]]- _0x4315x4[_0x2895[119]]/ 2)- this[_0x2895[1179]][_0x2895[1137]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]];if(null!= this[_0x2895[2823]]){var _0x4315xa=this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x3);if(null!= _0x4315xa){var _0x4315x12=this[_0x2895[2940]]();Math[_0x2895[425]](this[_0x2895[1179]][_0x2895[1021]](this[_0x2895[2823]][_0x2895[235]])- this[_0x2895[1179]][_0x2895[1021]](_0x4315x9[_0x2895[235]]))<= _0x4315x12?_0x4315x4[_0x2895[235]]= _0x4315xa[_0x2895[235]]:Math[_0x2895[425]](this[_0x2895[1179]][_0x2895[1021]](this[_0x2895[2823]][_0x2895[236]])- this[_0x2895[1179]][_0x2895[1021]](_0x4315x9[_0x2895[236]]))<= _0x4315x12&& (_0x4315x4[_0x2895[236]]= _0x4315xa[_0x2895[236]])}}};return _0x4315x5};mxConnectionHandler[_0x2895[202]][_0x2895[2940]]= function(){return this[_0x2895[1179]][_0x2895[997]]()?this[_0x2895[1179]][_0x2895[1020]]:this[_0x2895[1179]][_0x2895[2353]]};mxConnectionHandler[_0x2895[202]][_0x2895[2503]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=null;null!= this[_0x2895[1033]]&& (_0x4315x9= this[_0x2895[1033]](_0x4315x3,_0x4315x4,_0x4315x5));null== _0x4315x9&& (_0x4315x9= new mxCell(_0x4315x2|| _0x2895[110]),_0x4315x9[_0x2895[1994]](!0),_0x4315x9[_0x2895[475]](_0x4315x5),_0x4315x2= new mxGeometry,_0x4315x2[_0x2895[1500]]= !0,_0x4315x9[_0x2895[1724]](_0x4315x2));return _0x4315x9};mxConnectionHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[1148]](this);null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[515]](),this[_0x2895[253]]= null);null!= this[_0x2895[2885]]&& (this[_0x2895[2885]][_0x2895[515]](),this[_0x2895[2885]]= null);null!= this[_0x2895[2886]]&& (this[_0x2895[2886]][_0x2895[515]](),this[_0x2895[2886]]= null);null!= this[_0x2895[1176]]&& (this[_0x2895[1179]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[1176]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[1176]]),this[_0x2895[1176]]= null);null!= this[_0x2895[2898]]&& (this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2898]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[2898]]),this[_0x2895[2898]]= null)};function mxConstraintHandler(_0x4315x2){this[_0x2895[1179]]= _0x4315x2}mxConstraintHandler[_0x2895[202]][_0x2895[2941]]= new mxImage(mxClient[_0x2895[88]]+ _0x2895[2942],5,5);mxConstraintHandler[_0x2895[202]][_0x2895[1179]]= null;mxConstraintHandler[_0x2895[202]][_0x2895[984]]= !0;mxConstraintHandler[_0x2895[202]][_0x2895[2943]]= mxConstants[_0x2895[2854]];mxConstraintHandler[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxConstraintHandler[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxConstraintHandler[_0x2895[202]][_0x2895[862]]= function(){if(null!= this[_0x2895[2944]]){for(var _0x4315x2=0;_0x4315x2< this[_0x2895[2944]][_0x2895[67]];_0x4315x2++){this[_0x2895[2944]][_0x4315x2][_0x2895[515]]()};this[_0x2895[2944]]= null};null!= this[_0x2895[2945]]&& (this[_0x2895[2945]][_0x2895[515]](),this[_0x2895[2945]]= null);this[_0x2895[2946]]= this[_0x2895[2919]]= this[_0x2895[987]]= this[_0x2895[2947]]= this[_0x2895[2920]]= null};mxConstraintHandler[_0x2895[202]][_0x2895[2636]]= function(){return this[_0x2895[1179]][_0x2895[2636]]()};mxConstraintHandler[_0x2895[202]][_0x2895[2948]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return this[_0x2895[2941]]};mxConstraintHandler[_0x2895[202]][_0x2895[2949]]= function(_0x4315x2,_0x4315x3){return !1};mxConstraintHandler[_0x2895[202]][_0x2895[2729]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[994]]()&& !this[_0x2895[2949]](_0x4315x2)){var _0x4315x4=this[_0x2895[2636]](),_0x4315x5= new mxRectangle(_0x4315x2[_0x2895[734]]()- _0x4315x4,_0x4315x2[_0x2895[735]]()- _0x4315x4,2* _0x4315x4,2* _0x4315x4),_0x4315x9=null!= _0x4315x2[_0x2895[736]]()?this[_0x2895[1179]][_0x2895[2565]](_0x4315x2[_0x2895[736]]()):!1;if(null== this[_0x2895[2947]]|| !mxUtils[_0x2895[1825]](this[_0x2895[2947]],_0x4315x5)|| null!= _0x4315x2[_0x2895[248]]()&& null!= this[_0x2895[2919]]&& _0x4315x9){if(this[_0x2895[2947]]= null,_0x4315x2[_0x2895[248]]()!= this[_0x2895[2919]]){if(this[_0x2895[2919]]= null,this[_0x2895[1531]]= null!= _0x4315x2[_0x2895[248]]()&& _0x4315x9?this[_0x2895[1179]][_0x2895[2538]](_0x4315x2[_0x2895[248]](),_0x4315x3):null,null!= this[_0x2895[1531]]){this[_0x2895[2919]]= _0x4315x2[_0x2895[248]]();this[_0x2895[2947]]= new mxRectangle(_0x4315x2[_0x2895[248]]()[_0x2895[235]],_0x4315x2[_0x2895[248]]()[_0x2895[236]],_0x4315x2[_0x2895[248]]()[_0x2895[117]],_0x4315x2[_0x2895[248]]()[_0x2895[119]]);if(null!= this[_0x2895[2944]]){for(_0x4315x9= 0;_0x4315x9< this[_0x2895[2944]][_0x2895[67]];_0x4315x9++){this[_0x2895[2944]][_0x4315x9][_0x2895[515]]()};this[_0x2895[2946]]= this[_0x2895[2944]]= null};this[_0x2895[2944]]= [];this[_0x2895[2946]]= [];for(_0x4315x9= 0;_0x4315x9< this[_0x2895[1531]][_0x2895[67]];_0x4315x9++){var _0x4315xa=this[_0x2895[1179]][_0x2895[2290]](_0x4315x2[_0x2895[248]](),this[_0x2895[1531]][_0x4315x9]),_0x4315x12=this[_0x2895[2948]](_0x4315x2[_0x2895[248]](),this[_0x2895[1531]][_0x4315x9],_0x4315xa),_0x4315x13=_0x4315x12[_0x2895[390]],_0x4315x12= new mxRectangle(_0x4315xa[_0x2895[235]]- _0x4315x12[_0x2895[117]]/ 2,_0x4315xa[_0x2895[236]]- _0x4315x12[_0x2895[119]]/ 2,_0x4315x12[_0x2895[117]],_0x4315x12[_0x2895[119]]),_0x4315x12= new mxImageShape(_0x4315x12,_0x4315x13);_0x4315x12[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[2334]]:mxConstants[_0x2895[508]];_0x4315x12[_0x2895[1674]]= !1;_0x4315x12[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]());null!= _0x4315x12[_0x2895[252]][_0x2895[328]]&& _0x4315x12[_0x2895[252]][_0x2895[265]][_0x2895[950]](_0x4315x12[_0x2895[252]],_0x4315x12[_0x2895[252]][_0x2895[265]][_0x2895[285]]);_0x4315x13= mxUtils[_0x2895[885]](this,function(){return null!= this[_0x2895[2919]]?this[_0x2895[2919]]:_0x4315x2[_0x2895[248]]()});_0x4315x12[_0x2895[258]]();mxEvent[_0x2895[2733]](_0x4315x12[_0x2895[252]],this[_0x2895[1179]],_0x4315x13);this[_0x2895[2947]][_0x2895[99]](_0x4315x12[_0x2895[1562]]);this[_0x2895[2944]][_0x2895[207]](_0x4315x12);this[_0x2895[2946]][_0x2895[207]](_0x4315xa)};this[_0x2895[2947]][_0x2895[244]](_0x4315x4)}else {if(null!= this[_0x2895[2944]]){null!= this[_0x2895[2945]]&& (this[_0x2895[2945]][_0x2895[515]](),this[_0x2895[2945]]= null);for(_0x4315x9= 0;_0x4315x9< this[_0x2895[2944]][_0x2895[67]];_0x4315x9++){this[_0x2895[2944]][_0x4315x9][_0x2895[515]]()};this[_0x2895[2946]]= this[_0x2895[2944]]= null}}}};this[_0x2895[987]]= this[_0x2895[2920]]= null;if(null!= this[_0x2895[2944]]&& null!= this[_0x2895[1531]]&& (null== _0x4315x2[_0x2895[248]]()|| this[_0x2895[2919]]== _0x4315x2[_0x2895[248]]())){for(_0x4315x9= 0;_0x4315x9< this[_0x2895[2944]][_0x2895[67]];_0x4315x9++){if(mxUtils[_0x2895[1825]](this[_0x2895[2944]][_0x4315x9][_0x2895[1562]],_0x4315x5)){this[_0x2895[2920]]= this[_0x2895[1531]][_0x4315x9];this[_0x2895[987]]= this[_0x2895[2946]][_0x4315x9];_0x4315x4= this[_0x2895[2944]][_0x4315x9][_0x2895[1562]][_0x2895[238]]();_0x4315x4[_0x2895[244]](mxClient[_0x2895[80]]?3:2);mxClient[_0x2895[80]]&& (_0x4315x4[_0x2895[117]]-= 1,_0x4315x4[_0x2895[119]]-= 1);null== this[_0x2895[2945]]?(_0x4315x4= new mxRectangleShape(_0x4315x4,null,this[_0x2895[2943]],3),_0x4315x4[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]== mxConstants[_0x2895[508]]?mxConstants[_0x2895[508]]:mxConstants[_0x2895[1523]],_0x4315x4[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()),this[_0x2895[2945]]= _0x4315x4,_0x4315x13= mxUtils[_0x2895[885]](this,function(){return null!= this[_0x2895[2919]]?this[_0x2895[2919]]:_0x4315x2[_0x2895[248]]()}),mxEvent[_0x2895[2733]](_0x4315x4[_0x2895[252]],this[_0x2895[1179]],_0x4315x13)):(this[_0x2895[2945]][_0x2895[1562]]= _0x4315x4,this[_0x2895[2945]][_0x2895[258]]());break}}};null== this[_0x2895[2920]]&& null!= this[_0x2895[2945]]&& (this[_0x2895[2945]][_0x2895[515]](),this[_0x2895[2945]]= null)}};mxConstraintHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[862]]()};function mxRubberband(_0x4315x2){null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[1179]][_0x2895[1133]](this),this[_0x2895[2730]]= mxUtils[_0x2895[885]](this,function(){this[_0x2895[2950]]()}),this[_0x2895[1179]][_0x2895[169]](mxEvent.PAN,this[_0x2895[2730]]),mxClient[_0x2895[80]]&& mxEvent[_0x2895[169]](window,_0x2895[2428],mxUtils[_0x2895[885]](this,function(){this[_0x2895[515]]()})))}mxRubberband[_0x2895[202]][_0x2895[2951]]= 20;mxRubberband[_0x2895[202]][_0x2895[984]]= !0;mxRubberband[_0x2895[202]][_0x2895[485]]= null;mxRubberband[_0x2895[202]][_0x2895[2952]]= null;mxRubberband[_0x2895[202]][_0x2895[2953]]= 0;mxRubberband[_0x2895[202]][_0x2895[2954]]= 0;mxRubberband[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxRubberband[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxRubberband[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& this[_0x2895[994]]()&& this[_0x2895[1179]][_0x2895[994]]()&& (this[_0x2895[1179]][_0x2895[2579]](_0x4315x3[_0x2895[727]]())|| null== _0x4315x3[_0x2895[248]]())){var _0x4315x4=mxUtils[_0x2895[445]](this[_0x2895[1179]][_0x2895[526]]),_0x4315x5=mxUtils[_0x2895[444]](this[_0x2895[1179]][_0x2895[526]]);_0x4315x5[_0x2895[235]]-= _0x4315x4[_0x2895[235]];_0x4315x5[_0x2895[236]]-= _0x4315x4[_0x2895[236]];this[_0x2895[861]](_0x4315x3[_0x2895[730]]()+ _0x4315x5[_0x2895[235]],_0x4315x3[_0x2895[732]]()+ _0x4315x5[_0x2895[236]]);if(mxClient[_0x2895[133]]&& !mxClient[_0x2895[75]]&& !mxClient[_0x2895[76]]){var _0x4315x9=this[_0x2895[1179]][_0x2895[526]],_0x4315xa=function(_0x4315x2){_0x4315x2= new mxMouseEvent(_0x4315x2);var _0x4315x3=mxUtils[_0x2895[2196]](_0x4315x9,_0x4315x2[_0x2895[730]](),_0x4315x2[_0x2895[732]]());_0x4315x2[_0x2895[725]]= _0x4315x3[_0x2895[235]];_0x4315x2[_0x2895[726]]= _0x4315x3[_0x2895[236]];return _0x4315x2};this[_0x2895[2955]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[788]](this[_0x2895[1179]],_0x4315xa(_0x4315x2))});this[_0x2895[981]]= mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[789]](this[_0x2895[1179]],_0x4315xa(_0x4315x2))});mxEvent[_0x2895[169]](document,_0x2895[752],this[_0x2895[2955]]);mxEvent[_0x2895[169]](document,_0x2895[753],this[_0x2895[981]])};_0x4315x3[_0x2895[722]](!1)}};mxRubberband[_0x2895[202]][_0x2895[861]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2823]]= new mxPoint(_0x4315x2,_0x4315x3)};mxRubberband[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& null!= this[_0x2895[2823]]){var _0x4315x4=mxUtils[_0x2895[444]](this[_0x2895[1179]][_0x2895[526]]),_0x4315x5=mxUtils[_0x2895[445]](this[_0x2895[1179]][_0x2895[526]]);_0x4315x4[_0x2895[235]]-= _0x4315x5[_0x2895[235]];_0x4315x4[_0x2895[236]]-= _0x4315x5[_0x2895[236]];var _0x4315x5=_0x4315x3[_0x2895[730]]()+ _0x4315x4[_0x2895[235]],_0x4315x4=_0x4315x3[_0x2895[732]]()+ _0x4315x4[_0x2895[236]],_0x4315x9=this[_0x2895[2823]][_0x2895[235]]- _0x4315x5,_0x4315xa=this[_0x2895[2823]][_0x2895[236]]- _0x4315x4,_0x4315x12=this[_0x2895[1179]][_0x2895[2353]];if(null!= this[_0x2895[485]]|| Math[_0x2895[425]](_0x4315x9)> _0x4315x12|| Math[_0x2895[425]](_0x4315xa)> _0x4315x12){null== this[_0x2895[485]]&& (this[_0x2895[485]]= this[_0x2895[2156]]()),mxUtils[_0x2895[2440]](),this[_0x2895[2729]](_0x4315x5,_0x4315x4),_0x4315x3[_0x2895[722]]()}}};mxRubberband[_0x2895[202]][_0x2895[2156]]= function(){null== this[_0x2895[2952]]&& (this[_0x2895[2952]]= document[_0x2895[55]](_0x2895[485]),this[_0x2895[2952]][_0x2895[926]]= _0x2895[2956],mxUtils[_0x2895[254]](this[_0x2895[2952]],this[_0x2895[2951]]));this[_0x2895[1179]][_0x2895[526]][_0x2895[62]](this[_0x2895[2952]]);return this[_0x2895[2952]]};mxRubberband[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null!= this[_0x2895[485]];this[_0x2895[862]]();_0x4315x4&& (_0x4315x4= new mxRectangle(this[_0x2895[235]],this[_0x2895[236]],this[_0x2895[117]],this[_0x2895[119]]),this[_0x2895[1179]][_0x2895[2698]](_0x4315x4,_0x4315x3[_0x2895[727]]()),_0x4315x3[_0x2895[722]]())};mxRubberband[_0x2895[202]][_0x2895[862]]= function(){null!= this[_0x2895[485]]&& this[_0x2895[485]][_0x2895[265]][_0x2895[266]](this[_0x2895[485]]);null!= this[_0x2895[2955]]&& (mxEvent[_0x2895[745]](document,_0x2895[752],this[_0x2895[2955]]),this[_0x2895[2955]]= null);null!= this[_0x2895[981]]&& (mxEvent[_0x2895[745]](document,_0x2895[753],this[_0x2895[981]]),this[_0x2895[981]]= null);this[_0x2895[2954]]= this[_0x2895[2953]]= 0;this[_0x2895[485]]= this[_0x2895[2823]]= null};mxRubberband[_0x2895[202]][_0x2895[2729]]= function(_0x4315x2,_0x4315x3){this[_0x2895[2953]]= _0x4315x2;this[_0x2895[2954]]= _0x4315x3;this[_0x2895[2950]]()};mxRubberband[_0x2895[202]][_0x2895[2950]]= function(){if(null!= this[_0x2895[485]]){var _0x4315x2=this[_0x2895[2953]]- this[_0x2895[1179]][_0x2895[1136]],_0x4315x3=this[_0x2895[2954]]- this[_0x2895[1179]][_0x2895[1137]];this[_0x2895[235]]= Math[_0x2895[243]](this[_0x2895[2823]][_0x2895[235]],_0x4315x2);this[_0x2895[236]]= Math[_0x2895[243]](this[_0x2895[2823]][_0x2895[236]],_0x4315x3);this[_0x2895[117]]= Math[_0x2895[160]](this[_0x2895[2823]][_0x2895[235]],_0x4315x2)- this[_0x2895[235]];this[_0x2895[119]]= Math[_0x2895[160]](this[_0x2895[2823]][_0x2895[236]],_0x4315x3)- this[_0x2895[236]];_0x4315x2= mxClient[_0x2895[47]]?this[_0x2895[1179]][_0x2895[1137]]:0;this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= this[_0x2895[235]]+ (mxClient[_0x2895[47]]?this[_0x2895[1179]][_0x2895[1136]]:0)+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= this[_0x2895[236]]+ _0x4315x2+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[117]]= Math[_0x2895[160]](1,this[_0x2895[117]])+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[119]]= Math[_0x2895[160]](1,this[_0x2895[119]])+ _0x2895[168]}};mxRubberband[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[2717]]|| (this[_0x2895[2717]]= !0,this[_0x2895[1179]][_0x2895[1148]](this),this[_0x2895[1179]][_0x2895[745]](this[_0x2895[2730]]),this[_0x2895[862]](),null!= this[_0x2895[2952]]&& (this[_0x2895[2952]]= null))};function mxVertexHandler(_0x4315x2){null!= _0x4315x2&& (this[_0x2895[724]]= _0x4315x2,this[_0x2895[176]]())}mxVertexHandler[_0x2895[202]][_0x2895[1179]]= null;mxVertexHandler[_0x2895[202]][_0x2895[724]]= null;mxVertexHandler[_0x2895[202]][_0x2895[2957]]= !1;mxVertexHandler[_0x2895[202]][_0x2895[1983]]= null;mxVertexHandler[_0x2895[202]][_0x2895[2958]]= !0;mxVertexHandler[_0x2895[202]][_0x2895[2959]]= null;mxVertexHandler[_0x2895[202]][_0x2895[2353]]= 0;mxVertexHandler[_0x2895[202]][_0x2895[2809]]= !1;mxVertexHandler[_0x2895[202]][_0x2895[2960]]= !0;mxVertexHandler[_0x2895[202]][_0x2895[176]]= function(){this[_0x2895[1179]]= this[_0x2895[724]][_0x2895[441]][_0x2895[1179]];this[_0x2895[2961]]= this[_0x2895[2962]](this[_0x2895[724]]);this[_0x2895[1562]]= new mxRectangle(this[_0x2895[2961]][_0x2895[235]],this[_0x2895[2961]][_0x2895[236]],this[_0x2895[2961]][_0x2895[117]],this[_0x2895[2961]][_0x2895[119]]);this[_0x2895[2732]]= this[_0x2895[2963]](this[_0x2895[1562]]);this[_0x2895[2732]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]];this[_0x2895[2732]][_0x2895[1229]]= !1;this[_0x2895[2732]][_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]());this[_0x2895[1179]][_0x2895[1712]](this[_0x2895[724]][_0x2895[246]])&& (this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[2832]]);mxEvent[_0x2895[2733]](this[_0x2895[2732]][_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);if(0>= mxGraphHandler[_0x2895[202]][_0x2895[2795]]|| this[_0x2895[1179]][_0x2895[2694]]()< mxGraphHandler[_0x2895[202]][_0x2895[2795]]){var _0x4315x2=this[_0x2895[1179]][_0x2895[2657]](this[_0x2895[724]][_0x2895[246]]);this[_0x2895[2964]]= [];if(_0x4315x2|| this[_0x2895[1179]][_0x2895[2628]](this[_0x2895[724]][_0x2895[246]])&& 2<= this[_0x2895[724]][_0x2895[117]]&& 2<= this[_0x2895[724]][_0x2895[119]]){var _0x4315x3=0;_0x4315x2&& (this[_0x2895[2957]]|| (this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[936],_0x4315x3++)),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2965],_0x4315x3++)),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2966],_0x4315x3++)),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2967],_0x4315x3++)),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2968],_0x4315x3++)),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2969],_0x4315x3++)),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2970],_0x4315x3++))),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2735]](_0x2895[2971],_0x4315x3++)));_0x4315x2= this[_0x2895[1179]][_0x2895[251]][_0x2895[1721]](this[_0x2895[724]][_0x2895[246]]);null!= _0x4315x2&& (!_0x4315x2[_0x2895[1500]]&& !this[_0x2895[1179]][_0x2895[1730]](this[_0x2895[724]][_0x2895[246]])&& this[_0x2895[1179]][_0x2895[2628]](this[_0x2895[724]][_0x2895[246]]))&& (this[_0x2895[2972]]= this[_0x2895[2735]](mxConstants.CURSOR_LABEL_HANDLE,mxEvent.LABEL_HANDLE,mxConstants.LABEL_HANDLE_SIZE,mxConstants.LABEL_HANDLE_FILLCOLOR),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2972]]))}else {this[_0x2895[1179]][_0x2895[1712]](this[_0x2895[724]][_0x2895[246]])&& (!this[_0x2895[1179]][_0x2895[2657]](this[_0x2895[724]][_0x2895[246]])&& 2> this[_0x2895[724]][_0x2895[117]]&& 2> this[_0x2895[724]][_0x2895[119]])&& (this[_0x2895[2972]]= this[_0x2895[2735]](mxConstants.CURSOR_MOVABLE_VERTEX,null,null,mxConstants.LABEL_HANDLE_FILLCOLOR),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2972]]))}};if(this[_0x2895[2809]]&& (0>= mxGraphHandler[_0x2895[202]][_0x2895[2795]]|| this[_0x2895[1179]][_0x2895[2694]]()< mxGraphHandler[_0x2895[202]][_0x2895[2795]])){this[_0x2895[2973]]= this[_0x2895[2735]](_0x2895[356],mxEvent.ROTATION_HANDLE,mxConstants[_0x2895[2974]]+ 3,mxConstants.HANDLE_FILLCOLOR),this[_0x2895[2964]][_0x2895[207]](this[_0x2895[2973]])};this[_0x2895[258]]()};mxVertexHandler[_0x2895[202]][_0x2895[2962]]= function(_0x4315x2){return new mxRectangle(Math[_0x2895[488]](_0x4315x2[_0x2895[235]]),Math[_0x2895[488]](_0x4315x2[_0x2895[236]]),Math[_0x2895[488]](_0x4315x2[_0x2895[117]]),Math[_0x2895[488]](_0x4315x2[_0x2895[119]]))};mxVertexHandler[_0x2895[202]][_0x2895[2963]]= function(_0x4315x2){_0x4315x2= new mxRectangleShape(_0x4315x2,null,this[_0x2895[2975]]());_0x4315x2[_0x2895[1307]]= this[_0x2895[2976]]();_0x4315x2[_0x2895[1522]]= this[_0x2895[2977]]();return _0x4315x2};mxVertexHandler[_0x2895[202]][_0x2895[2975]]= function(){return mxConstants[_0x2895[2978]]};mxVertexHandler[_0x2895[202]][_0x2895[2976]]= function(){return mxConstants[_0x2895[2979]]};mxVertexHandler[_0x2895[202]][_0x2895[2977]]= function(){return mxConstants[_0x2895[2980]]};mxVertexHandler[_0x2895[202]][_0x2895[2735]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){_0x4315x4= _0x4315x4|| mxConstants[_0x2895[2974]];_0x4315x4= new mxRectangle(0,0,_0x4315x4,_0x4315x4);_0x4315x5= this[_0x2895[2981]](_0x4315x4,_0x4315x3,_0x4315x5);_0x4315x5[_0x2895[1567]]()&& null!= this[_0x2895[724]][_0x2895[963]]&& this[_0x2895[724]][_0x2895[963]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]]?(_0x4315x5[_0x2895[1562]][_0x2895[119]]-= 1,_0x4315x5[_0x2895[1562]][_0x2895[117]]-= 1,_0x4315x5[_0x2895[507]]= mxConstants[_0x2895[1656]],_0x4315x5[_0x2895[176]](this[_0x2895[1179]][_0x2895[526]])):(_0x4315x5[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[2334]]:mxConstants[_0x2895[508]],_0x4315x5[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()));mxEvent[_0x2895[2733]](_0x4315x5[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);this[_0x2895[1179]][_0x2895[994]]()&& (_0x4315x5[_0x2895[252]][_0x2895[124]][_0x2895[270]]= _0x4315x2);this[_0x2895[2982]](_0x4315x3)|| (_0x4315x5[_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188]);return _0x4315x5};mxVertexHandler[_0x2895[202]][_0x2895[2982]]= function(_0x4315x2){return !0};mxVertexHandler[_0x2895[202]][_0x2895[2981]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return null!= this[_0x2895[2959]]?(_0x4315x2[_0x2895[117]]= this[_0x2895[2959]][_0x2895[117]],_0x4315x2[_0x2895[119]]= this[_0x2895[2959]][_0x2895[119]], new mxImageShape(_0x4315x2,this[_0x2895[2959]][_0x2895[390]])):_0x4315x3== mxEvent[_0x2895[2983]]? new mxEllipse(_0x4315x2,_0x4315x4|| mxConstants[_0x2895[2984]],mxConstants.HANDLE_STROKECOLOR): new mxRectangleShape(_0x4315x2,_0x4315x4|| mxConstants[_0x2895[2984]],mxConstants.HANDLE_STROKECOLOR)};mxVertexHandler[_0x2895[202]][_0x2895[2985]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null!= _0x4315x2&& (_0x4315x2[_0x2895[1562]][_0x2895[235]]= Math[_0x2895[488]](_0x4315x3- _0x4315x2[_0x2895[1562]][_0x2895[117]]/ 2),_0x4315x2[_0x2895[1562]][_0x2895[236]]= Math[_0x2895[488]](_0x4315x4- _0x4315x2[_0x2895[1562]][_0x2895[119]]/ 2),_0x4315x2[_0x2895[258]]())};mxVertexHandler[_0x2895[202]][_0x2895[2986]]= function(_0x4315x2){if(_0x4315x2[_0x2895[729]](this[_0x2895[2973]])){return mxEvent[_0x2895[2983]]};if(_0x4315x2[_0x2895[729]](this[_0x2895[2972]])){return mxEvent[_0x2895[2987]]};if(null!= this[_0x2895[2964]]){for(var _0x4315x3=this[_0x2895[2353]],_0x4315x3=this[_0x2895[2958]]&& (mxClient[_0x2895[80]]|| 0< _0x4315x3)? new mxRectangle(_0x4315x2[_0x2895[734]]()- _0x4315x3,_0x4315x2[_0x2895[735]]()- _0x4315x3,2* _0x4315x3,2* _0x4315x3):null,_0x4315x4=0;_0x4315x4< this[_0x2895[2964]][_0x2895[67]];_0x4315x4++){if(_0x4315x2[_0x2895[729]](this[_0x2895[2964]][_0x4315x4])|| null!= _0x4315x3&& mxUtils[_0x2895[1825]](this[_0x2895[2964]][_0x4315x4][_0x2895[1562]],_0x4315x3)){return _0x4315x4}}};return null};mxVertexHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& this[_0x2895[1179]][_0x2895[994]]()&& !this[_0x2895[1179]][_0x2895[2579]](_0x4315x3[_0x2895[727]]())&& (0< this[_0x2895[2353]]|| _0x4315x3[_0x2895[248]]()== this[_0x2895[724]])){var _0x4315x4=this[_0x2895[2986]](_0x4315x3);null!= _0x4315x4&& (this[_0x2895[861]](_0x4315x3[_0x2895[730]](),_0x4315x3[_0x2895[732]](),_0x4315x4),_0x4315x3[_0x2895[722]]())}};mxVertexHandler[_0x2895[202]][_0x2895[861]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],_0x4315x2,_0x4315x3);this[_0x2895[2739]]= _0x4315x2[_0x2895[235]];this[_0x2895[2740]]= _0x4315x2[_0x2895[236]];this[_0x2895[1983]]= _0x4315x4;this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[495]]= _0x4315x4== mxEvent[_0x2895[2983]]?_0x2895[497]:_0x2895[130];this[_0x2895[2988]]= this[_0x2895[2963]](this[_0x2895[1562]]);!(mxClient[_0x2895[48]]&& 0!= Number(this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]))&& null!= this[_0x2895[724]][_0x2895[963]]&& this[_0x2895[724]][_0x2895[963]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]]?(this[_0x2895[2988]][_0x2895[507]]= mxConstants[_0x2895[1656]],this[_0x2895[2988]][_0x2895[176]](this[_0x2895[1179]][_0x2895[526]])):(this[_0x2895[2988]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]],this[_0x2895[2988]][_0x2895[176]](this[_0x2895[1179]][_0x2895[441]][_0x2895[1524]]()))};mxVertexHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& null!= this[_0x2895[1983]]){var _0x4315x4= new mxPoint(_0x4315x3[_0x2895[734]](),_0x4315x3[_0x2895[735]]()),_0x4315x5=this[_0x2895[1179]][_0x2895[1018]](_0x4315x3[_0x2895[727]]()),_0x4315x9=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]];if(this[_0x2895[1983]]== mxEvent[_0x2895[2987]]){_0x4315x5&& (_0x4315x4[_0x2895[235]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x4[_0x2895[235]]/ _0x4315x9)* _0x4315x9,_0x4315x4[_0x2895[236]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x4[_0x2895[236]]/ _0x4315x9)* _0x4315x9),this[_0x2895[2985]](this[_0x2895[2964]][this[_0x2895[2964]][_0x2895[67]]- 1],_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]])}else {if(this[_0x2895[1983]]== mxEvent[_0x2895[2983]]){var _0x4315xa=this[_0x2895[724]][_0x2895[235]]+ this[_0x2895[724]][_0x2895[117]]/ 2- _0x4315x4[_0x2895[235]],_0x4315x12=this[_0x2895[724]][_0x2895[236]]+ this[_0x2895[724]][_0x2895[119]]/ 2- _0x4315x4[_0x2895[236]];this[_0x2895[2989]]= 0!= _0x4315xa?180* Math[_0x2895[2990]](_0x4315x12/ _0x4315xa)/ Math[_0x2895[424]]+ 90:0> _0x4315x12?180:0;0< _0x4315xa&& (this[_0x2895[2989]]-= 180);this[_0x2895[2960]]&& (_0x4315xa= _0x4315x4[_0x2895[235]]- this[_0x2895[724]][_0x2895[241]](),_0x4315x12= _0x4315x4[_0x2895[236]]- this[_0x2895[724]][_0x2895[242]](),_0x4315xa= Math[_0x2895[425]](Math[_0x2895[428]](_0x4315xa* _0x4315xa+ _0x4315x12* _0x4315x12)- this[_0x2895[724]][_0x2895[119]]/ 2- 20),_0x4315xa= Math[_0x2895[160]](1,5* Math[_0x2895[243]](3,Math[_0x2895[160]](0,Math[_0x2895[488]](80/ Math[_0x2895[425]](_0x4315xa))))),this[_0x2895[2989]]= Math[_0x2895[488]](this[_0x2895[2989]]/ _0x4315xa)* _0x4315xa);this[_0x2895[2732]][_0x2895[603]]= this[_0x2895[2989]];this[_0x2895[2732]][_0x2895[258]]()}else {var _0x4315x13=mxUtils[_0x2895[431]](this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]),_0x4315x14=Math[_0x2895[426]](-_0x4315x13),_0x4315x15=Math[_0x2895[427]](-_0x4315x13),_0x4315x16= new mxPoint(this[_0x2895[724]][_0x2895[241]](),this[_0x2895[724]][_0x2895[242]]()),_0x4315xa=_0x4315x4[_0x2895[235]]- this[_0x2895[2739]],_0x4315x12=_0x4315x4[_0x2895[236]]- this[_0x2895[2740]],_0x4315x4=this[_0x2895[1179]][_0x2895[441]][_0x2895[513]],_0x4315x17=_0x4315x15* _0x4315xa+ _0x4315x14* _0x4315x12,_0x4315xa=_0x4315x14* _0x4315xa- _0x4315x15* _0x4315x12;this[_0x2895[1562]]= this[_0x2895[2991]](this[_0x2895[2961]],_0x4315xa,_0x4315x17,this[_0x2895[1983]],_0x4315x5,_0x4315x9,_0x4315x4);_0x4315x14= Math[_0x2895[426]](_0x4315x13);_0x4315x15= Math[_0x2895[427]](_0x4315x13);_0x4315x12= new mxPoint(this[_0x2895[1562]][_0x2895[241]](),this[_0x2895[1562]][_0x2895[242]]());_0x4315xa= _0x4315x12[_0x2895[235]]- _0x4315x16[_0x2895[235]];_0x4315x12= _0x4315x12[_0x2895[236]]- _0x4315x16[_0x2895[236]];_0x4315x16= _0x4315x15* _0x4315xa+ _0x4315x14* _0x4315x12- _0x4315x12;this[_0x2895[1562]][_0x2895[235]]+= _0x4315x14* _0x4315xa- _0x4315x15* _0x4315x12- _0x4315xa;this[_0x2895[1562]][_0x2895[236]]+= _0x4315x16;this[_0x2895[2932]]()}};_0x4315x3[_0x2895[722]]()}else {null!= this[_0x2895[2986]](_0x4315x3)&& _0x4315x3[_0x2895[722]](!1)}};mxVertexHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){if(!_0x4315x3[_0x2895[721]]()&& null!= this[_0x2895[1983]]&& null!= this[_0x2895[724]]){var _0x4315x4= new mxPoint(_0x4315x3[_0x2895[734]](),_0x4315x3[_0x2895[735]]());this[_0x2895[1179]][_0x2895[502]]()[_0x2895[473]]();try{if(this[_0x2895[1983]]== mxEvent[_0x2895[2983]]){null!= this[_0x2895[2989]]&& this[_0x2895[2992]](this[_0x2895[724]][_0x2895[246]],this[_0x2895[2989]]- (this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| 0))}else {var _0x4315x5=this[_0x2895[1179]][_0x2895[1018]](_0x4315x3[_0x2895[727]]()),_0x4315x9=mxUtils[_0x2895[431]](this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]),_0x4315xa=Math[_0x2895[426]](-_0x4315x9),_0x4315x12=Math[_0x2895[427]](-_0x4315x9),_0x4315x13=_0x4315x4[_0x2895[235]]- this[_0x2895[2739]],_0x4315x14=_0x4315x4[_0x2895[236]]- this[_0x2895[2740]],_0x4315x4=_0x4315x12* _0x4315x13+ _0x4315xa* _0x4315x14,_0x4315x13=_0x4315xa* _0x4315x13- _0x4315x12* _0x4315x14,_0x4315x14=_0x4315x4,_0x4315x15=this[_0x2895[1179]][_0x2895[441]][_0x2895[255]];this[_0x2895[2526]](this[_0x2895[724]][_0x2895[246]],_0x4315x13/ _0x4315x15,_0x4315x14/ _0x4315x15,this[_0x2895[1983]],_0x4315x5)}}finally{this[_0x2895[1179]][_0x2895[502]]()[_0x2895[476]]()};this[_0x2895[862]]();_0x4315x3[_0x2895[722]]()}};mxVertexHandler[_0x2895[202]][_0x2895[2992]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]]();if(_0x4315x4[_0x2895[1193]](_0x4315x2)){var _0x4315x5=_0x4315x2== this[_0x2895[724]]?this[_0x2895[724]]:this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x2);null!= _0x4315x5&& this[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_ROTATION,(_0x4315x5[_0x2895[124]][mxConstants[_0x2895[2278]]]|| 0)+ _0x4315x3,[_0x4315x2]);if(this[_0x2895[724]][_0x2895[246]]!= _0x4315x2&& (_0x4315x5= this[_0x2895[1179]][_0x2895[1198]](_0x4315x2),null!= _0x4315x5&& !_0x4315x5[_0x2895[1500]])){if(0!= _0x4315x3){var _0x4315x9=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](_0x4315x2),_0x4315xa=this[_0x2895[1179]][_0x2895[1198]](_0x4315x9);if(!_0x4315x5[_0x2895[1500]]&& null!= _0x4315xa){var _0x4315x12=mxUtils[_0x2895[431]](_0x4315x3),_0x4315x9=Math[_0x2895[426]](_0x4315x12),_0x4315x12=Math[_0x2895[427]](_0x4315x12),_0x4315x13= new mxPoint(_0x4315x5[_0x2895[241]](),_0x4315x5[_0x2895[242]]()),_0x4315xa= new mxPoint(_0x4315xa[_0x2895[117]]/ 2,_0x4315xa[_0x2895[119]]/ 2),_0x4315x9=mxUtils[_0x2895[432]](_0x4315x13,_0x4315x9,_0x4315x12,_0x4315xa),_0x4315x5=_0x4315x5[_0x2895[238]]();_0x4315x5[_0x2895[235]]= _0x4315x9[_0x2895[235]]- _0x4315x5[_0x2895[117]]/ 2;_0x4315x5[_0x2895[236]]= _0x4315x9[_0x2895[236]]- _0x4315x5[_0x2895[119]]/ 2;_0x4315x4[_0x2895[1724]](_0x4315x2,_0x4315x5)}}else {_0x4315x5= _0x4315x5[_0x2895[238]](),_0x4315x5[_0x2895[235]]+= dx,_0x4315x5[_0x2895[236]]+= dy,_0x4315x4[_0x2895[1724]](_0x4315x2,_0x4315x5)}};_0x4315x5= _0x4315x4[_0x2895[262]](_0x4315x2);for(_0x4315x9= 0;_0x4315x9< _0x4315x5;_0x4315x9++){this[_0x2895[2992]](_0x4315x4[_0x2895[263]](_0x4315x2,_0x4315x9),_0x4315x3)}}};mxVertexHandler[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[1983]]= this[_0x2895[2989]]= null;null!= this[_0x2895[2988]]&& (this[_0x2895[2988]][_0x2895[515]](),this[_0x2895[2988]]= null);null!= this[_0x2895[2732]]&& (this[_0x2895[2732]][_0x2895[252]][_0x2895[124]][_0x2895[495]]= _0x2895[497],this[_0x2895[2961]]= this[_0x2895[2962]](this[_0x2895[724]]),this[_0x2895[1562]]= new mxRectangle(this[_0x2895[2961]][_0x2895[235]],this[_0x2895[2961]][_0x2895[236]],this[_0x2895[2961]][_0x2895[117]],this[_0x2895[2961]][_0x2895[119]]),this[_0x2895[2932]]())};mxVertexHandler[_0x2895[202]][_0x2895[2526]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=this[_0x2895[1179]][_0x2895[251]][_0x2895[1721]](_0x4315x2);if(null!= _0x4315xa){if(_0x4315x5== mxEvent[_0x2895[2987]]){_0x4315x5= this[_0x2895[1179]][_0x2895[441]][_0x2895[255]],_0x4315x3= (this[_0x2895[2972]][_0x2895[1562]][_0x2895[241]]()- this[_0x2895[2739]])/ _0x4315x5,_0x4315x4= (this[_0x2895[2972]][_0x2895[1562]][_0x2895[242]]()- this[_0x2895[2740]])/ _0x4315x5,_0x4315xa= _0x4315xa[_0x2895[238]](),null== _0x4315xa[_0x2895[1368]]?_0x4315xa[_0x2895[1368]]= new mxPoint(_0x4315x3,_0x4315x4):(_0x4315xa[_0x2895[1368]][_0x2895[235]]+= _0x4315x3,_0x4315xa[_0x2895[1368]][_0x2895[236]]+= _0x4315x4),this[_0x2895[1179]][_0x2895[251]][_0x2895[1724]](_0x4315x2,_0x4315xa)}else {_0x4315x5= this[_0x2895[2991]](_0x4315xa,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,1, new mxPoint(0,0));var _0x4315x12=mxUtils[_0x2895[431]](this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]);if(0!= _0x4315x12){_0x4315x3= _0x4315x5[_0x2895[241]]()- _0x4315xa[_0x2895[241]]();_0x4315x4= _0x4315x5[_0x2895[242]]()- _0x4315xa[_0x2895[242]]();_0x4315x9= Math[_0x2895[426]](_0x4315x12);var _0x4315x13=Math[_0x2895[427]](_0x4315x12),_0x4315x12=_0x4315x9* _0x4315x3- _0x4315x13* _0x4315x4- _0x4315x3;_0x4315x3= _0x4315x13* _0x4315x3+ _0x4315x9* _0x4315x4- _0x4315x4;_0x4315x4= _0x4315x5[_0x2895[235]]- _0x4315xa[_0x2895[235]];var _0x4315x14=_0x4315x5[_0x2895[236]]- _0x4315xa[_0x2895[236]],_0x4315x15=_0x4315x9* _0x4315x4- _0x4315x13* _0x4315x14;_0x4315x9= _0x4315x13* _0x4315x4+ _0x4315x9* _0x4315x14;_0x4315x5[_0x2895[235]]+= _0x4315x12;_0x4315x5[_0x2895[236]]+= _0x4315x3;if(!this[_0x2895[1179]][_0x2895[1742]](_0x4315x2)&& (0!= _0x4315x12|| 0!= _0x4315x3)){_0x4315x4= _0x4315xa[_0x2895[235]]- _0x4315x5[_0x2895[235]]+ _0x4315x15,_0x4315x14= _0x4315xa[_0x2895[236]]- _0x4315x5[_0x2895[236]]+ _0x4315x9,this[_0x2895[2993]](_0x4315x2,_0x4315x4,_0x4315x14)}};this[_0x2895[1179]][_0x2895[2526]](_0x4315x2,_0x4315x5)}}};mxVertexHandler[_0x2895[202]][_0x2895[2993]]= function(_0x4315x2,_0x4315x3,_0x4315x4){for(var _0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[262]](_0x4315x2),_0x4315xa=0;_0x4315xa< _0x4315x9;_0x4315xa++){var _0x4315x12=_0x4315x5[_0x2895[263]](_0x4315x2,_0x4315xa);if(_0x4315x5[_0x2895[1193]](_0x4315x12)){var _0x4315x13=this[_0x2895[1179]][_0x2895[1198]](_0x4315x12);null!= _0x4315x13&& !_0x4315x13[_0x2895[1500]]&& (_0x4315x13= _0x4315x13[_0x2895[238]](),_0x4315x13[_0x2895[235]]+= _0x4315x3,_0x4315x13[_0x2895[236]]+= _0x4315x4,_0x4315x5[_0x2895[1724]](_0x4315x12,_0x4315x13))}}};mxVertexHandler[_0x2895[202]][_0x2895[2991]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){if(this[_0x2895[2957]]){_0x4315x12= _0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]+ _0x4315x3;var _0x4315x13=_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]+ _0x4315x4;_0x4315x9&& (_0x4315x12= this[_0x2895[1179]][_0x2895[1021]](_0x4315x12/ _0x4315xa)* _0x4315xa,_0x4315x13= this[_0x2895[1179]][_0x2895[1021]](_0x4315x13/ _0x4315xa)* _0x4315xa);_0x4315xa= new mxRectangle(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]],0,0);_0x4315xa[_0x2895[99]]( new mxRectangle(_0x4315x12,_0x4315x13,0,0));return _0x4315xa};var _0x4315x13=_0x4315x2[_0x2895[235]]- _0x4315x12[_0x2895[235]]* _0x4315xa,_0x4315x14=_0x4315x13+ _0x4315x2[_0x2895[117]],_0x4315x15=_0x4315x2[_0x2895[236]]- _0x4315x12[_0x2895[236]]* _0x4315xa;_0x4315x2= _0x4315x15+ _0x4315x2[_0x2895[119]];4< _0x4315x5?(_0x4315x2+= _0x4315x4,_0x4315x9&& (_0x4315x2= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2/ _0x4315xa)* _0x4315xa)):3> _0x4315x5&& (_0x4315x15+= _0x4315x4,_0x4315x9&& (_0x4315x15= this[_0x2895[1179]][_0x2895[1021]](_0x4315x15/ _0x4315xa)* _0x4315xa));if(0== _0x4315x5|| 3== _0x4315x5|| 5== _0x4315x5){_0x4315x13+= _0x4315x3,_0x4315x9&& (_0x4315x13= this[_0x2895[1179]][_0x2895[1021]](_0x4315x13/ _0x4315xa)* _0x4315xa)}else {if(2== _0x4315x5|| 4== _0x4315x5|| 7== _0x4315x5){_0x4315x14+= _0x4315x3,_0x4315x9&& (_0x4315x14= this[_0x2895[1179]][_0x2895[1021]](_0x4315x14/ _0x4315xa)* _0x4315xa)}};_0x4315x9= _0x4315x14- _0x4315x13;_0x4315x2-= _0x4315x15;0> _0x4315x9&& (_0x4315x13+= _0x4315x9,_0x4315x9= Math[_0x2895[425]](_0x4315x9));0> _0x4315x2&& (_0x4315x15+= _0x4315x2,_0x4315x2= Math[_0x2895[425]](_0x4315x2));return new mxRectangle(_0x4315x13+ _0x4315x12[_0x2895[235]]* _0x4315xa,_0x4315x15+ _0x4315x12[_0x2895[236]]* _0x4315xa,_0x4315x9,_0x4315x2)};mxVertexHandler[_0x2895[202]][_0x2895[258]]= function(){this[_0x2895[2961]]= this[_0x2895[2962]](this[_0x2895[724]]);this[_0x2895[1562]]= new mxRectangle(this[_0x2895[724]][_0x2895[235]],this[_0x2895[724]][_0x2895[236]],this[_0x2895[724]][_0x2895[117]],this[_0x2895[724]][_0x2895[119]]);var _0x4315x2=this[_0x2895[724]];if(null!= this[_0x2895[2964]]){var _0x4315x3=_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]],_0x4315x4=_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]];if(this[_0x2895[2957]]){this[_0x2895[2985]](this[_0x2895[2964]][0],_0x4315x3,_0x4315x4)}else {var _0x4315x5=_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]/ 2,_0x4315x9=_0x4315x2[_0x2895[236]]+ _0x4315x2[_0x2895[119]]/ 2;if(1< this[_0x2895[2964]][_0x2895[67]]){var _0x4315xa=mxUtils[_0x2895[431]](_0x4315x2[_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]),_0x4315x12=Math[_0x2895[426]](_0x4315xa),_0x4315xa=Math[_0x2895[427]](_0x4315xa),_0x4315x13= new mxPoint(_0x4315x2[_0x2895[241]](),_0x4315x2[_0x2895[242]]()),_0x4315x14=mxUtils[_0x2895[432]]( new mxPoint(_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]]),_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][0],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x5;_0x4315x14[_0x2895[236]]= _0x4315x2[_0x2895[236]];_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][1],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x3;_0x4315x14[_0x2895[236]]= _0x4315x2[_0x2895[236]];_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][2],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x2[_0x2895[235]];_0x4315x14[_0x2895[236]]= _0x4315x9;_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][3],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x3;_0x4315x14[_0x2895[236]]= _0x4315x9;_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][4],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x2[_0x2895[235]];_0x4315x14[_0x2895[236]]= _0x4315x4;_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][5],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x5;_0x4315x14[_0x2895[236]]= _0x4315x4;_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][6],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);_0x4315x14[_0x2895[235]]= _0x4315x3;_0x4315x14[_0x2895[236]]= _0x4315x4;_0x4315x14= mxUtils[_0x2895[432]](_0x4315x14,_0x4315x12,_0x4315xa,_0x4315x13);this[_0x2895[2985]](this[_0x2895[2964]][7],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]);this[_0x2895[2985]](this[_0x2895[2964]][8],_0x4315x5+ _0x4315x2[_0x2895[2079]][_0x2895[235]],_0x4315x9+ _0x4315x2[_0x2895[2079]][_0x2895[236]])}else {2<= this[_0x2895[724]][_0x2895[117]]&& 2<= this[_0x2895[724]][_0x2895[119]]?this[_0x2895[2985]](this[_0x2895[2964]][0],_0x4315x5+ _0x4315x2[_0x2895[2079]][_0x2895[235]],_0x4315x9+ _0x4315x2[_0x2895[2079]][_0x2895[236]]):this[_0x2895[2985]](this[_0x2895[2964]][0],_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]])}}};null!= this[_0x2895[2973]]&& (_0x4315xa= mxUtils[_0x2895[431]](this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]),_0x4315x12= Math[_0x2895[426]](_0x4315xa),_0x4315xa= Math[_0x2895[427]](_0x4315xa),_0x4315x13= new mxPoint(this[_0x2895[724]][_0x2895[241]](),this[_0x2895[724]][_0x2895[242]]()),_0x4315x14= mxUtils[_0x2895[432]]( new mxPoint(_0x4315x2[_0x2895[235]]+ _0x4315x2[_0x2895[117]]/ 2,_0x4315x2[_0x2895[236]]- 16),_0x4315x12,_0x4315xa,_0x4315x13),this[_0x2895[2985]](this[_0x2895[2973]],_0x4315x14[_0x2895[235]],_0x4315x14[_0x2895[236]]));this[_0x2895[2732]][_0x2895[603]]= Number(this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]);this[_0x2895[2932]]()};mxVertexHandler[_0x2895[202]][_0x2895[2932]]= function(){null!= this[_0x2895[2988]]&& (this[_0x2895[2988]][_0x2895[1562]]= this[_0x2895[1562]],this[_0x2895[2988]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]]&& (this[_0x2895[2988]][_0x2895[1562]][_0x2895[117]]= Math[_0x2895[160]](0,this[_0x2895[2988]][_0x2895[1562]][_0x2895[117]]- 1),this[_0x2895[2988]][_0x2895[1562]][_0x2895[119]]= Math[_0x2895[160]](0,this[_0x2895[2988]][_0x2895[1562]][_0x2895[119]]- 1)),this[_0x2895[2988]][_0x2895[603]]= Number(this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]),this[_0x2895[2988]][_0x2895[258]]());this[_0x2895[2732]][_0x2895[1562]]= this[_0x2895[1562]];this[_0x2895[2732]][_0x2895[258]]()};mxVertexHandler[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[2988]]&& (this[_0x2895[2988]][_0x2895[515]](),this[_0x2895[2988]]= null);this[_0x2895[2732]][_0x2895[515]]();this[_0x2895[2972]]= this[_0x2895[2732]]= null;if(null!= this[_0x2895[2964]]){for(var _0x4315x2=0;_0x4315x2< this[_0x2895[2964]][_0x2895[67]];_0x4315x2++){this[_0x2895[2964]][_0x4315x2][_0x2895[515]](),this[_0x2895[2964]][_0x4315x2]= null}}};function mxEdgeHandler(_0x4315x2){null!= _0x4315x2&& (this[_0x2895[724]]= _0x4315x2,this[_0x2895[176]]())}mxEdgeHandler[_0x2895[202]][_0x2895[1179]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[724]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[2885]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[2886]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[267]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[253]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[2994]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[2972]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[2797]]= !0;mxEdgeHandler[_0x2895[202]][_0x2895[2771]]= !1;mxEdgeHandler[_0x2895[202]][_0x2895[2995]]= !1;mxEdgeHandler[_0x2895[202]][_0x2895[574]]= !1;mxEdgeHandler[_0x2895[202]][_0x2895[2958]]= !0;mxEdgeHandler[_0x2895[202]][_0x2895[2996]]= !1;mxEdgeHandler[_0x2895[202]][_0x2895[2959]]= null;mxEdgeHandler[_0x2895[202]][_0x2895[2353]]= 0;mxEdgeHandler[_0x2895[202]][_0x2895[176]]= function(){this[_0x2895[1179]]= this[_0x2895[724]][_0x2895[441]][_0x2895[1179]];this[_0x2895[2885]]= this[_0x2895[1689]]();this[_0x2895[2886]]= new mxConstraintHandler(this[_0x2895[1179]]);this[_0x2895[1525]]= [];this[_0x2895[2997]]= this[_0x2895[2998]](this[_0x2895[724]]);this[_0x2895[253]]= this[_0x2895[2963]](this[_0x2895[2997]]);this[_0x2895[253]][_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[2334]]:mxConstants[_0x2895[508]];this[_0x2895[253]][_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]());this[_0x2895[253]][_0x2895[1564]]= 0;this[_0x2895[253]][_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[2831]];mxEvent[_0x2895[169]](this[_0x2895[253]][_0x2895[252]],_0x2895[760],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1179]][_0x2895[761]](_0x4315x2,this[_0x2895[724]][_0x2895[246]])}));mxEvent[_0x2895[759]](this[_0x2895[253]][_0x2895[252]],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[2771]]&& this[_0x2895[2999]](_0x4315x2)?this[_0x2895[3000]](this[_0x2895[724]],_0x4315x2):this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x4315x2,this[_0x2895[724]]))}),mxUtils[_0x2895[885]](this,function(_0x4315x2){var _0x4315x4=this[_0x2895[724]][_0x2895[246]];if(null!= this[_0x2895[1983]]){var _0x4315x5=mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x2),mxEvent[_0x2895[733]](_0x4315x2)),_0x4315x4=this[_0x2895[1179]][_0x2895[999]](_0x4315x5[_0x2895[235]],_0x4315x5[_0x2895[236]]);this[_0x2895[1179]][_0x2895[1730]](_0x4315x4)&& this[_0x2895[1179]][_0x2895[2688]](_0x4315x4,_0x4315x5[_0x2895[235]],_0x4315x5[_0x2895[236]])&& (_0x4315x4= null)};this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x4315x2,this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x4)))}),mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[1179]][_0x2895[758]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x4315x2,this[_0x2895[724]]))}));this[_0x2895[574]]= null!= this[_0x2895[724]][_0x2895[963]]&& this[_0x2895[724]][_0x2895[963]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]];if(!this[_0x2895[574]]){var _0x4315x2=this[_0x2895[724]][_0x2895[2089]](!0);null!= _0x4315x2&& (this[_0x2895[574]]= null!= _0x4315x2[_0x2895[963]]&& _0x4315x2[_0x2895[963]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]]);this[_0x2895[574]]|| (_0x4315x2= this[_0x2895[724]][_0x2895[2089]](!1),null!= _0x4315x2&& (this[_0x2895[574]]= null!= _0x4315x2[_0x2895[963]]&& _0x4315x2[_0x2895[963]][_0x2895[252]][_0x2895[265]]== this[_0x2895[1179]][_0x2895[526]]))};if(this[_0x2895[1179]][_0x2895[2694]]()< mxGraphHandler[_0x2895[202]][_0x2895[2795]]|| 0>= mxGraphHandler[_0x2895[202]][_0x2895[2795]]){this[_0x2895[2994]]= this[_0x2895[3001]]()};this[_0x2895[685]]= new mxPoint(this[_0x2895[724]][_0x2895[2079]][_0x2895[235]],this[_0x2895[724]][_0x2895[2079]][_0x2895[236]]);this[_0x2895[2972]]= new mxRectangleShape( new mxRectangle,mxConstants.LABEL_HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR);this[_0x2895[2972]][_0x2895[1229]]= !1;this[_0x2895[3002]](this[_0x2895[2972]]);this[_0x2895[2972]][_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[3003]];mxEvent[_0x2895[2733]](this[_0x2895[2972]][_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);this[_0x2895[258]]()};mxEdgeHandler[_0x2895[202]][_0x2895[2999]]= function(_0x4315x2){return mxEvent[_0x2895[774]](_0x4315x2)};mxEdgeHandler[_0x2895[202]][_0x2895[3004]]= function(_0x4315x2){return mxEvent[_0x2895[774]](_0x4315x2)};mxEdgeHandler[_0x2895[202]][_0x2895[2998]]= function(_0x4315x2){return _0x4315x2[_0x2895[439]]};mxEdgeHandler[_0x2895[202]][_0x2895[2963]]= function(_0x4315x2){_0x4315x2= new mxPolyline(_0x4315x2,this[_0x2895[2975]]());_0x4315x2[_0x2895[1307]]= this[_0x2895[2976]]();_0x4315x2[_0x2895[1522]]= this[_0x2895[2977]]();return _0x4315x2};mxEdgeHandler[_0x2895[202]][_0x2895[2975]]= function(){return mxConstants[_0x2895[3005]]};mxEdgeHandler[_0x2895[202]][_0x2895[2976]]= function(){return mxConstants[_0x2895[3006]]};mxEdgeHandler[_0x2895[202]][_0x2895[2977]]= function(){return mxConstants[_0x2895[3007]]};mxEdgeHandler[_0x2895[202]][_0x2895[2907]]= function(_0x4315x2){return !0};mxEdgeHandler[_0x2895[202]][_0x2895[1689]]= function(){var _0x4315x2= new mxCellMarker(this[_0x2895[1179]]),_0x4315x3=this;_0x4315x2[_0x2895[736]]= function(_0x4315x2){var _0x4315x5=mxCellMarker[_0x2895[202]][_0x2895[736]][_0x2895[183]](this,arguments);if(!_0x4315x3[_0x2895[2907]](_0x4315x5)){return null};var _0x4315x9=_0x4315x3[_0x2895[1179]][_0x2895[502]]();if(_0x4315x5== _0x4315x3[_0x2895[724]][_0x2895[246]]|| null!= _0x4315x5&& !_0x4315x3[_0x2895[1179]][_0x2895[2405]]&& _0x4315x9[_0x2895[250]](_0x4315x5)){_0x4315x5= null};return _0x4315x5};_0x4315x2[_0x2895[2872]]= function(_0x4315x2){var _0x4315x5=_0x4315x3[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x3[_0x2895[1179]][_0x2895[441]][_0x2895[2292]](_0x4315x2,_0x4315x3[_0x2895[1179]][_0x2895[441]][_0x2895[248]](_0x4315x5[_0x2895[1709]](_0x4315x3[_0x2895[724]][_0x2895[246]],!_0x4315x3[_0x2895[729]])),!_0x4315x3[_0x2895[729]]),_0x4315x5=null!= _0x4315x5?_0x4315x5[_0x2895[246]]:null;_0x4315x3[_0x2895[267]]= _0x4315x3[_0x2895[2909]](_0x4315x3[_0x2895[729]]?_0x4315x2[_0x2895[246]]:_0x4315x5,_0x4315x3[_0x2895[729]]?_0x4315x5:_0x4315x2[_0x2895[246]]);return null== _0x4315x3[_0x2895[267]]};return _0x4315x2};mxEdgeHandler[_0x2895[202]][_0x2895[2909]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[1179]][_0x2895[2500]](this[_0x2895[724]][_0x2895[246]],_0x4315x2,_0x4315x3)};mxEdgeHandler[_0x2895[202]][_0x2895[3001]]= function(){for(var _0x4315x2=this[_0x2895[724]][_0x2895[246]],_0x4315x3=[],_0x4315x4=0;_0x4315x4< this[_0x2895[2997]][_0x2895[67]];_0x4315x4++){if(this[_0x2895[3008]](_0x4315x4)){var _0x4315x5=_0x4315x4== this[_0x2895[2997]][_0x2895[67]]- 1;if((_0x4315x5= 0== _0x4315x4|| _0x4315x5)|| this[_0x2895[1179]][_0x2895[2662]](_0x4315x2)){var _0x4315x9=this[_0x2895[3009]](_0x4315x4);this[_0x2895[3002]](_0x4315x9);mxClient[_0x2895[754]]&& _0x4315x9[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130]);if(this[_0x2895[3010]](_0x4315x4)){if(mxClient[_0x2895[754]]){var _0x4315xa=mxUtils[_0x2895[885]](this,function(_0x4315x2){_0x4315x2= mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x2),mxEvent[_0x2895[733]](_0x4315x2));return this[_0x2895[1179]][_0x2895[441]][_0x2895[248]](this[_0x2895[1179]][_0x2895[999]](_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]]))});mxEvent[_0x2895[2733]](_0x4315x9[_0x2895[252]],this[_0x2895[1179]],_0x4315xa)}else {_0x4315x9[_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[3011]],mxEvent[_0x2895[2733]](_0x4315x9[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]])}};_0x4315x3[_0x2895[207]](_0x4315x9);_0x4315x5|| (this[_0x2895[1525]][_0x2895[207]]( new mxPoint(0,0)),_0x4315x9[_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188])}}};return _0x4315x3};mxEdgeHandler[_0x2895[202]][_0x2895[3010]]= function(_0x4315x2){return !0};mxEdgeHandler[_0x2895[202]][_0x2895[3008]]= function(_0x4315x2){return !0};mxEdgeHandler[_0x2895[202]][_0x2895[3009]]= function(_0x4315x2){if(null!= this[_0x2895[2959]]){return new mxImageShape( new mxRectangle(0,0,this[_0x2895[2959]][_0x2895[117]],this[_0x2895[2959]][_0x2895[119]]),this[_0x2895[2959]][_0x2895[390]])};_0x4315x2= mxConstants[_0x2895[2974]];this[_0x2895[574]]&& (_0x4315x2-= 1);return new mxRectangleShape( new mxRectangle(0,0,_0x4315x2,_0x4315x2),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};mxEdgeHandler[_0x2895[202]][_0x2895[3002]]= function(_0x4315x2){this[_0x2895[574]]?(_0x4315x2[_0x2895[507]]= mxConstants[_0x2895[1656]],_0x4315x2[_0x2895[176]](this[_0x2895[1179]][_0x2895[526]])):(_0x4315x2[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[2334]]:mxConstants[_0x2895[508]],_0x4315x2[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]()))};mxEdgeHandler[_0x2895[202]][_0x2895[2986]]= function(_0x4315x2){if(null!= this[_0x2895[2994]]){for(var _0x4315x3=this[_0x2895[2353]],_0x4315x3=this[_0x2895[2958]]&& (mxClient[_0x2895[80]]|| 0< _0x4315x3)? new mxRectangle(_0x4315x2[_0x2895[734]]()- _0x4315x3,_0x4315x2[_0x2895[735]]()- _0x4315x3,2* _0x4315x3,2* _0x4315x3):null,_0x4315x4=0;_0x4315x4< this[_0x2895[2994]][_0x2895[67]];_0x4315x4++){if((_0x4315x2[_0x2895[729]](this[_0x2895[2994]][_0x4315x4])|| null!= _0x4315x3&& mxUtils[_0x2895[1825]](this[_0x2895[2994]][_0x4315x4][_0x2895[1562]],_0x4315x3))&& _0x2895[188]!= this[_0x2895[2994]][_0x4315x4][_0x2895[252]][_0x2895[124]][_0x2895[187]]){return _0x4315x4}}};if(_0x4315x2[_0x2895[729]](this[_0x2895[2972]])&& _0x2895[188]!= this[_0x2895[2972]][_0x2895[252]][_0x2895[124]][_0x2895[187]]|| _0x4315x2[_0x2895[729]](this[_0x2895[724]][_0x2895[963]])){if(!mxClient[_0x2895[75]]&& !mxClient[_0x2895[76]]|| _0x2895[2822]!= _0x4315x2[_0x2895[728]]()[_0x2895[301]]){return mxEvent[_0x2895[2987]]}};return null};mxEdgeHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null,_0x4315x4=this[_0x2895[2986]](_0x4315x3);null!= _0x4315x4&& (!_0x4315x3[_0x2895[721]]()&& this[_0x2895[1179]][_0x2895[994]]()&& !this[_0x2895[1179]][_0x2895[2579]](_0x4315x3[_0x2895[727]]()))&& (this[_0x2895[2995]]&& this[_0x2895[3004]](_0x4315x3[_0x2895[727]]())?this[_0x2895[3012]](this[_0x2895[724]],_0x4315x4):(_0x4315x4!= mxEvent[_0x2895[2987]]|| this[_0x2895[1179]][_0x2895[2628]](_0x4315x3[_0x2895[736]]()))&& this[_0x2895[861]](_0x4315x3[_0x2895[730]](),_0x4315x3[_0x2895[732]](),_0x4315x4),_0x4315x3[_0x2895[722]]())};mxEdgeHandler[_0x2895[202]][_0x2895[861]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[2739]]= _0x4315x2;this[_0x2895[2740]]= _0x4315x3;this[_0x2895[729]]= null== this[_0x2895[2994]]?!1:0== _0x4315x4;this[_0x2895[3013]]= null== this[_0x2895[2994]]?!1:_0x4315x4== this[_0x2895[2994]][_0x2895[67]]- 1;this[_0x2895[3014]]= _0x4315x4== mxEvent[_0x2895[2987]];if(this[_0x2895[729]]|| this[_0x2895[3013]]){if(_0x4315x2= this[_0x2895[724]][_0x2895[246]],_0x4315x3= this[_0x2895[1179]][_0x2895[251]][_0x2895[1709]](_0x4315x2,this[_0x2895[729]]),null== _0x4315x3&& this[_0x2895[1179]][_0x2895[2661]](_0x4315x2,this[_0x2895[729]])|| null!= _0x4315x3&& this[_0x2895[1179]][_0x2895[2551]](_0x4315x2,_0x4315x3,this[_0x2895[729]])){this[_0x2895[1983]]= _0x4315x4}}else {this[_0x2895[1983]]= _0x4315x4}};mxEdgeHandler[_0x2895[202]][_0x2895[3015]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[724]][_0x2895[238]]()};mxEdgeHandler[_0x2895[202]][_0x2895[3016]]= function(){return this[_0x2895[1179]][_0x2895[1020]]* this[_0x2895[1179]][_0x2895[441]][_0x2895[255]]/ 2};mxEdgeHandler[_0x2895[202]][_0x2895[2689]]= function(_0x4315x2){var _0x4315x3= new mxPoint(_0x4315x2[_0x2895[734]](),_0x4315x2[_0x2895[735]]()),_0x4315x4=this[_0x2895[3016]](),_0x4315x5=this[_0x2895[1179]][_0x2895[249]](),_0x4315x9=!1,_0x4315xa=!1;if(this[_0x2895[2996]]&& 0< _0x4315x4){var _0x4315x12=function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x5=_0x4315x2[_0x2895[235]];Math[_0x2895[425]](_0x4315x3[_0x2895[235]]- _0x4315x5)< _0x4315x4&& (_0x4315x3[_0x2895[235]]= _0x4315x5,_0x4315x9= !0);_0x4315x2= _0x4315x2[_0x2895[236]];Math[_0x2895[425]](_0x4315x3[_0x2895[236]]- _0x4315x2)< _0x4315x4&& (_0x4315x3[_0x2895[236]]= _0x4315x2,_0x4315xa= !0)}},_0x4315x13=function(_0x4315x2){null!= _0x4315x2&& _0x4315x12[_0x2895[239]](this, new mxPoint(_0x4315x5[_0x2895[2230]](_0x4315x2),_0x4315x5[_0x2895[2228]](_0x4315x2)))};_0x4315x13[_0x2895[239]](this,this[_0x2895[724]][_0x2895[2089]](!0));_0x4315x13[_0x2895[239]](this,this[_0x2895[724]][_0x2895[2089]](!1));if(null!= this[_0x2895[2997]]){for(_0x4315x13= 0;_0x4315x13< this[_0x2895[2997]];_0x4315x13++){_0x4315x13!= this[_0x2895[1983]]&& _0x4315x12[_0x2895[239]](this,this[_0x2895[2997]][_0x4315x13])}}};this[_0x2895[1179]][_0x2895[1018]](_0x4315x2[_0x2895[727]]())&& (_0x4315x2= _0x4315x5[_0x2895[255]],_0x4315x13= _0x4315x5[_0x2895[513]],_0x4315x9|| (_0x4315x3[_0x2895[235]]= (this[_0x2895[1179]][_0x2895[1021]](_0x4315x3[_0x2895[235]]/ _0x4315x2- _0x4315x13[_0x2895[235]])+ _0x4315x13[_0x2895[235]])* _0x4315x2),_0x4315xa|| (_0x4315x3[_0x2895[236]]= (this[_0x2895[1179]][_0x2895[1021]](_0x4315x3[_0x2895[236]]/ _0x4315x2- _0x4315x13[_0x2895[236]])+ _0x4315x13[_0x2895[236]])* _0x4315x2));return _0x4315x3};mxEdgeHandler[_0x2895[202]][_0x2895[3017]]= function(_0x4315x2){this[_0x2895[2886]][_0x2895[2729]](_0x4315x2,this[_0x2895[729]]);this[_0x2895[2885]][_0x2895[2871]](_0x4315x2);_0x4315x2= this[_0x2895[2885]][_0x2895[2868]]();var _0x4315x3=null;null!= this[_0x2895[2886]][_0x2895[2919]]&& null!= this[_0x2895[2886]][_0x2895[2920]]&& this[_0x2895[2885]][_0x2895[862]]();null!= _0x4315x2?_0x4315x3= _0x4315x2:null!= this[_0x2895[2886]][_0x2895[2920]]&& null!= this[_0x2895[2886]][_0x2895[2919]]&& (_0x4315x3= this[_0x2895[2886]][_0x2895[2919]]);return _0x4315x3};mxEdgeHandler[_0x2895[202]][_0x2895[3018]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[1198]](this[_0x2895[724]][_0x2895[246]]),_0x4315x3=null!= _0x4315x3[_0x2895[1525]]?_0x4315x3[_0x2895[1525]][_0x2895[1853]]():null;!this[_0x2895[729]]&& !this[_0x2895[3013]]?(this[_0x2895[2196]](_0x4315x2,!1),null== _0x4315x3?_0x4315x3= [_0x4315x2]:_0x4315x3[this[_0x2895[1983]]- 1]= _0x4315x2):this[_0x2895[1179]][_0x2895[2401]]&& (_0x4315x3= null);return _0x4315x3};mxEdgeHandler[_0x2895[202]][_0x2895[3019]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[729]]?_0x4315x4:this[_0x2895[724]][_0x2895[2089]](!0),_0x4315x9=this[_0x2895[3013]]?_0x4315x4:this[_0x2895[724]][_0x2895[2089]](!1),_0x4315xa=this[_0x2895[1179]][_0x2895[2288]](_0x4315x2,_0x4315x5,!0),_0x4315x12=this[_0x2895[1179]][_0x2895[2288]](_0x4315x2,_0x4315x9,!1),_0x4315x13=this[_0x2895[2886]][_0x2895[2920]];null== _0x4315x13&& (_0x4315x13= new mxConnectionConstraint);this[_0x2895[729]]?_0x4315xa= _0x4315x13:this[_0x2895[3013]]&& (_0x4315x12= _0x4315x13);(!this[_0x2895[729]]|| null!= _0x4315x5)&& _0x4315x2[_0x2895[441]][_0x2895[2289]](_0x4315x2,_0x4315x5,!0,_0x4315xa);(!this[_0x2895[3013]]|| null!= _0x4315x9)&& _0x4315x2[_0x2895[441]][_0x2895[2289]](_0x4315x2,_0x4315x9,!1,_0x4315x12);if((this[_0x2895[729]]|| this[_0x2895[3013]])&& null== _0x4315x4){_0x4315x2[_0x2895[2088]](_0x4315x3,this[_0x2895[729]]),null== this[_0x2895[2885]][_0x2895[2869]]()&& (this[_0x2895[267]]= this[_0x2895[1179]][_0x2895[2406]]?null:_0x2895[110])};_0x4315x2[_0x2895[441]][_0x2895[2282]](_0x4315x2,this[_0x2895[1525]],_0x4315x5,_0x4315x9);_0x4315x2[_0x2895[441]][_0x2895[2283]](_0x4315x2,_0x4315x5,_0x4315x9)};mxEdgeHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){if(null!= this[_0x2895[1983]]&& null!= this[_0x2895[2885]]){var _0x4315x4=this[_0x2895[2689]](_0x4315x3);if(this[_0x2895[3014]]){this[_0x2895[685]][_0x2895[235]]= _0x4315x4[_0x2895[235]],this[_0x2895[685]][_0x2895[236]]= _0x4315x4[_0x2895[236]]}else {this[_0x2895[1525]]= this[_0x2895[3018]](_0x4315x4);var _0x4315x5=this[_0x2895[729]]|| this[_0x2895[3013]]?this[_0x2895[3017]](_0x4315x3):null,_0x4315x9=this[_0x2895[3015]](_0x4315x4,null!= _0x4315x5?_0x4315x5[_0x2895[246]]:null);this[_0x2895[3019]](_0x4315x9,_0x4315x4,_0x4315x5);this[_0x2895[3020]](null== this[_0x2895[267]]?this[_0x2895[2885]][_0x2895[2853]]:this[_0x2895[2885]][_0x2895[2855]]);this[_0x2895[2997]]= _0x4315x9[_0x2895[439]];this[_0x2895[1124]]= !0};this[_0x2895[2932]]();mxEvent[_0x2895[722]](_0x4315x3[_0x2895[727]]());_0x4315x3[_0x2895[722]]()}else {mxClient[_0x2895[80]]&& null!= this[_0x2895[2986]](_0x4315x3)&& _0x4315x3[_0x2895[722]](!1)}};mxEdgeHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){if(null!= this[_0x2895[1983]]&& null!= this[_0x2895[2885]]){var _0x4315x4=this[_0x2895[724]][_0x2895[246]];if(_0x4315x3[_0x2895[730]]()!= this[_0x2895[2739]]|| _0x4315x3[_0x2895[732]]()!= this[_0x2895[2740]]){if(null!= this[_0x2895[267]]){0< this[_0x2895[267]][_0x2895[67]]&& this[_0x2895[1179]][_0x2895[2580]](this[_0x2895[267]])}else {if(this[_0x2895[3014]]){this[_0x2895[3021]](this[_0x2895[724]],this[_0x2895[685]][_0x2895[235]],this[_0x2895[685]][_0x2895[236]])}else {if(this[_0x2895[729]]|| this[_0x2895[3013]]){var _0x4315x5=null;null!= this[_0x2895[2886]][_0x2895[2920]]&& null!= this[_0x2895[2886]][_0x2895[2919]]&& (_0x4315x5= this[_0x2895[2886]][_0x2895[2919]][_0x2895[246]]);null== _0x4315x5&& this[_0x2895[2885]][_0x2895[2867]]()&& (_0x4315x5= this[_0x2895[2885]][_0x2895[2861]][_0x2895[246]]);if(null!= _0x4315x5){_0x4315x4= this[_0x2895[807]](_0x4315x4,_0x4315x5,this[_0x2895[729]],this[_0x2895[1179]][_0x2895[2574]](_0x4315x3[_0x2895[727]]())&& this[_0x2895[2797]]&& this[_0x2895[1179]][_0x2895[2617]](),_0x4315x3)}else {if(this[_0x2895[1179]][_0x2895[2530]]()){_0x4315x5= this[_0x2895[2997]][this[_0x2895[729]]?0:this[_0x2895[2997]][_0x2895[67]]- 1];_0x4315x5[_0x2895[235]]= _0x4315x5[_0x2895[235]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]]- this[_0x2895[1179]][_0x2895[441]][_0x2895[513]][_0x2895[235]];_0x4315x5[_0x2895[236]]= _0x4315x5[_0x2895[236]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]]- this[_0x2895[1179]][_0x2895[441]][_0x2895[513]][_0x2895[236]];var _0x4315x9=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](_0x4315x4));null!= _0x4315x9&& (_0x4315x5[_0x2895[235]]-= _0x4315x9[_0x2895[2078]][_0x2895[235]],_0x4315x5[_0x2895[236]]-= _0x4315x9[_0x2895[2078]][_0x2895[236]]);_0x4315x5[_0x2895[235]]-= this[_0x2895[1179]][_0x2895[1136]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]];_0x4315x5[_0x2895[236]]-= this[_0x2895[1179]][_0x2895[1137]]/ this[_0x2895[1179]][_0x2895[441]][_0x2895[255]];this[_0x2895[3022]](_0x4315x4,_0x4315x5,this[_0x2895[729]])}}}else {this[_0x2895[1124]]?this[_0x2895[3023]](_0x4315x4,this[_0x2895[1525]]):(this[_0x2895[1179]][_0x2895[249]]()[_0x2895[2263]](this[_0x2895[724]][_0x2895[246]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[2259]](this[_0x2895[724]][_0x2895[246]]))}}}};null!= this[_0x2895[2885]]&& (this[_0x2895[862]](),_0x4315x4!= this[_0x2895[724]][_0x2895[246]]&& this[_0x2895[1179]][_0x2895[2450]](_0x4315x4));_0x4315x3[_0x2895[722]]()}};mxEdgeHandler[_0x2895[202]][_0x2895[862]]= function(){this[_0x2895[1525]]= this[_0x2895[685]]= this[_0x2895[1983]]= this[_0x2895[267]]= null;this[_0x2895[3013]]= this[_0x2895[729]]= this[_0x2895[3014]]= this[_0x2895[1124]]= !1;this[_0x2895[2885]][_0x2895[862]]();this[_0x2895[2886]][_0x2895[862]]();this[_0x2895[3020]](mxConstants.EDGE_SELECTION_COLOR);this[_0x2895[258]]()};mxEdgeHandler[_0x2895[202]][_0x2895[3020]]= function(_0x4315x2){null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[1336]]= _0x4315x2)};mxEdgeHandler[_0x2895[202]][_0x2895[2196]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[518]](),_0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[512]]();_0x4315x3&& (_0x4315x2[_0x2895[235]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[235]]),_0x4315x2[_0x2895[236]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[236]]));_0x4315x2[_0x2895[235]]= Math[_0x2895[488]](_0x4315x2[_0x2895[235]]/ _0x4315x4- _0x4315x5[_0x2895[235]]);_0x4315x2[_0x2895[236]]= Math[_0x2895[488]](_0x4315x2[_0x2895[236]]/ _0x4315x4- _0x4315x5[_0x2895[236]]);_0x4315x4= this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1197]](this[_0x2895[724]][_0x2895[246]]));null!= _0x4315x4&& (_0x4315x2[_0x2895[235]]-= _0x4315x4[_0x2895[2078]][_0x2895[235]],_0x4315x2[_0x2895[236]]-= _0x4315x4[_0x2895[2078]][_0x2895[236]]);return _0x4315x2};mxEdgeHandler[_0x2895[202]][_0x2895[3021]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[1721]](_0x4315x2[_0x2895[246]]);if(null!= _0x4315x9){var _0x4315x9=_0x4315x9[_0x2895[238]](),_0x4315xa=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[2308]](_0x4315x2,_0x4315x3,_0x4315x4);_0x4315x9[_0x2895[235]]= _0x4315xa[_0x2895[235]];_0x4315x9[_0x2895[236]]= _0x4315xa[_0x2895[236]];var _0x4315x12=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]];_0x4315x9[_0x2895[1368]]= new mxPoint(0,0);_0x4315xa= this[_0x2895[1179]][_0x2895[441]][_0x2895[245]](_0x4315x2,_0x4315x9);_0x4315x9[_0x2895[1368]]= new mxPoint((_0x4315x3- _0x4315xa[_0x2895[235]])/ _0x4315x12,(_0x4315x4- _0x4315xa[_0x2895[236]])/ _0x4315x12);_0x4315x5[_0x2895[1724]](_0x4315x2[_0x2895[246]],_0x4315x9)}};mxEdgeHandler[_0x2895[202]][_0x2895[807]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x9= this[_0x2895[1179]][_0x2895[502]]();var _0x4315xa=_0x4315x9[_0x2895[1197]](_0x4315x2);_0x4315x9[_0x2895[473]]();try{if(_0x4315x5){var _0x4315x12=_0x4315x2[_0x2895[238]]();_0x4315x9[_0x2895[99]](_0x4315xa,_0x4315x12,_0x4315x9[_0x2895[262]](_0x4315xa));var _0x4315x13=_0x4315x9[_0x2895[1709]](_0x4315x2,!_0x4315x4);this[_0x2895[1179]][_0x2895[851]](_0x4315x12,_0x4315x13,!_0x4315x4);_0x4315x2= _0x4315x12};var _0x4315x14=this[_0x2895[2886]][_0x2895[2920]];null== _0x4315x14&& (_0x4315x14= new mxConnectionConstraint);this[_0x2895[1179]][_0x2895[851]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x14)}finally{_0x4315x9[_0x2895[476]]()};return _0x4315x2};mxEdgeHandler[_0x2895[202]][_0x2895[3022]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[1721]](_0x4315x2);if(null!= _0x4315x9){_0x4315x5[_0x2895[473]]();try{_0x4315x9= _0x4315x9[_0x2895[238]](),_0x4315x9[_0x2895[2007]](_0x4315x3,_0x4315x4),_0x4315x5[_0x2895[1724]](_0x4315x2,_0x4315x9),this[_0x2895[1179]][_0x2895[851]](_0x4315x2,null,_0x4315x4, new mxConnectionConstraint)}finally{_0x4315x5[_0x2895[476]]()}}};mxEdgeHandler[_0x2895[202]][_0x2895[3023]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]](),_0x4315x5=_0x4315x4[_0x2895[1721]](_0x4315x2);null!= _0x4315x5&& (_0x4315x5= _0x4315x5[_0x2895[238]](),_0x4315x5[_0x2895[1525]]= _0x4315x3,_0x4315x4[_0x2895[1724]](_0x4315x2,_0x4315x5))};mxEdgeHandler[_0x2895[202]][_0x2895[3000]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=mxUtils[_0x2895[2196]](this[_0x2895[1179]][_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x3),mxEvent[_0x2895[733]](_0x4315x3)),_0x4315x5=this[_0x2895[1179]][_0x2895[1018]](_0x4315x3);this[_0x2895[2196]](_0x4315x4,_0x4315x5);this[_0x2895[3024]](_0x4315x2,_0x4315x4[_0x2895[235]],_0x4315x4[_0x2895[236]]);mxEvent[_0x2895[722]](_0x4315x3)};mxEdgeHandler[_0x2895[202]][_0x2895[3024]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[1179]][_0x2895[1198]](_0x4315x2[_0x2895[246]]);_0x4315x3= new mxPoint(_0x4315x3,_0x4315x4);if(null!= _0x4315x5){_0x4315x5= _0x4315x5[_0x2895[238]]();_0x4315x4= this[_0x2895[1179]][_0x2895[441]][_0x2895[513]];var _0x4315x9=this[_0x2895[1179]][_0x2895[441]][_0x2895[255]];_0x4315x4= mxUtils[_0x2895[3025]](_0x4315x2,(_0x4315x3[_0x2895[235]]+ _0x4315x4[_0x2895[235]])* _0x4315x9,(_0x4315x3[_0x2895[236]]+ _0x4315x4[_0x2895[236]])* _0x4315x9);null== _0x4315x5[_0x2895[1525]]?_0x4315x5[_0x2895[1525]]= [_0x4315x3]:_0x4315x5[_0x2895[1525]][_0x2895[300]](_0x4315x4,0,_0x4315x3);this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1724]](_0x4315x2[_0x2895[246]],_0x4315x5);this[_0x2895[515]]();this[_0x2895[176]]()}};mxEdgeHandler[_0x2895[202]][_0x2895[3012]]= function(_0x4315x2,_0x4315x3){if(0< _0x4315x3&& _0x4315x3< this[_0x2895[2997]][_0x2895[67]]- 1){var _0x4315x4=this[_0x2895[1179]][_0x2895[1198]](this[_0x2895[724]][_0x2895[246]]);null!= _0x4315x4&& null!= _0x4315x4[_0x2895[1525]]&& (_0x4315x4= _0x4315x4[_0x2895[238]](),_0x4315x4[_0x2895[1525]][_0x2895[300]](_0x4315x3- 1,1),this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1724]](_0x4315x2[_0x2895[246]],_0x4315x4),this[_0x2895[515]](),this[_0x2895[176]]())}};mxEdgeHandler[_0x2895[202]][_0x2895[3026]]= function(_0x4315x2){_0x4315x2= 0== _0x4315x2;var _0x4315x3=this[_0x2895[724]][_0x2895[246]],_0x4315x4=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1709]](_0x4315x3,_0x4315x2),_0x4315x5=mxConstants[_0x2895[2984]];null!= _0x4315x4&& !this[_0x2895[1179]][_0x2895[2551]](_0x4315x3,_0x4315x4,_0x4315x2)|| null== _0x4315x4&& !this[_0x2895[1179]][_0x2895[2661]](_0x4315x3,_0x4315x2)?_0x4315x5= mxConstants[_0x2895[3027]]:null!= _0x4315x4&& this[_0x2895[1179]][_0x2895[2551]](_0x4315x3,_0x4315x4,_0x4315x2)&& (_0x4315x5= mxConstants[_0x2895[3028]]);return _0x4315x5};mxEdgeHandler[_0x2895[202]][_0x2895[258]]= function(){this[_0x2895[2997]]= this[_0x2895[724]][_0x2895[439]][_0x2895[1853]]();var _0x4315x2=this[_0x2895[724]][_0x2895[246]],_0x4315x3=mxConstants[_0x2895[3029]];this[_0x2895[685]]= new mxPoint(this[_0x2895[724]][_0x2895[2079]][_0x2895[235]],this[_0x2895[724]][_0x2895[2079]][_0x2895[236]]);this[_0x2895[2972]][_0x2895[1562]]= new mxRectangle(Math[_0x2895[488]](this[_0x2895[685]][_0x2895[235]]- _0x4315x3/ 2),Math[_0x2895[488]](this[_0x2895[685]][_0x2895[236]]- _0x4315x3/ 2),_0x4315x3,_0x4315x3);this[_0x2895[2972]][_0x2895[258]]();_0x4315x3= this[_0x2895[1179]][_0x2895[2183]](_0x4315x2);null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]&& this[_0x2895[1179]][_0x2895[2628]](_0x4315x2)?this[_0x2895[2972]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[189]:this[_0x2895[2972]][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[188];if(null!= this[_0x2895[2994]]&& 0< this[_0x2895[2994]][_0x2895[67]]){var _0x4315x4=this[_0x2895[2997]][_0x2895[67]]- 1,_0x4315x2=this[_0x2895[2997]][0],_0x4315x5=this[_0x2895[2997]][0][_0x2895[236]],_0x4315x3=this[_0x2895[2994]][0][_0x2895[1562]];this[_0x2895[2994]][0][_0x2895[1562]]= new mxRectangle(Math[_0x2895[488]](this[_0x2895[2997]][0][_0x2895[235]]- _0x4315x3[_0x2895[117]]/ 2),Math[_0x2895[488]](_0x4315x5- _0x4315x3[_0x2895[119]]/ 2),_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]]);this[_0x2895[2994]][0][_0x2895[1334]]= this[_0x2895[3026]](0);this[_0x2895[2994]][0][_0x2895[258]]();var _0x4315x5=this[_0x2895[2997]][_0x4315x4],_0x4315x9=this[_0x2895[2997]][_0x4315x4][_0x2895[235]],_0x4315x4=this[_0x2895[2997]][_0x4315x4][_0x2895[236]],_0x4315xa=this[_0x2895[2994]][_0x2895[67]]- 1,_0x4315x3=this[_0x2895[2994]][_0x4315xa][_0x2895[1562]];this[_0x2895[2994]][_0x4315xa][_0x2895[1562]]= new mxRectangle(Math[_0x2895[488]](_0x4315x9- _0x4315x3[_0x2895[117]]/ 2),Math[_0x2895[488]](_0x4315x4- _0x4315x3[_0x2895[119]]/ 2),_0x4315x3[_0x2895[117]],_0x4315x3[_0x2895[119]]);this[_0x2895[2994]][_0x4315xa][_0x2895[1334]]= this[_0x2895[3026]](_0x4315xa);this[_0x2895[2994]][_0x4315xa][_0x2895[258]]();this[_0x2895[3030]](_0x4315x2,_0x4315x5)};this[_0x2895[2932]]()};mxEdgeHandler[_0x2895[202]][_0x2895[3030]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1721]](this[_0x2895[724]][_0x2895[246]])[_0x2895[1525]];if(null!= _0x4315x4){null== this[_0x2895[1525]]&& (this[_0x2895[1525]]= []);for(var _0x4315x5=1;_0x4315x5< this[_0x2895[2994]][_0x2895[67]]- 1;_0x4315x5++){if(null!= this[_0x2895[2994]][_0x4315x5]){if(null!= this[_0x2895[2997]][_0x4315x5]){var _0x4315x9=this[_0x2895[2997]][_0x4315x5][_0x2895[235]],_0x4315xa=this[_0x2895[2997]][_0x4315x5][_0x2895[236]],_0x4315x12=this[_0x2895[2994]][_0x4315x5][_0x2895[1562]];this[_0x2895[2994]][_0x4315x5][_0x2895[252]][_0x2895[124]][_0x2895[187]]= _0x2895[189];this[_0x2895[2994]][_0x4315x5][_0x2895[1562]]= new mxRectangle(Math[_0x2895[488]](_0x4315x9- _0x4315x12[_0x2895[117]]/ 2),Math[_0x2895[488]](_0x4315xa- _0x4315x12[_0x2895[119]]/ 2),_0x4315x12[_0x2895[117]],_0x4315x12[_0x2895[119]]);this[_0x2895[2994]][_0x4315x5][_0x2895[258]]();this[_0x2895[1525]][_0x4315x5- 1]= _0x4315x4[_0x4315x5- 1]}else {this[_0x2895[2994]][_0x4315x5][_0x2895[515]](),this[_0x2895[2994]][_0x4315x5]= null}}}}};mxEdgeHandler[_0x2895[202]][_0x2895[2932]]= function(){if(this[_0x2895[3014]]){var _0x4315x2=mxConstants[_0x2895[3029]],_0x4315x2= new mxRectangle(Math[_0x2895[488]](this[_0x2895[685]][_0x2895[235]]- _0x4315x2/ 2),Math[_0x2895[488]](this[_0x2895[685]][_0x2895[236]]- _0x4315x2/ 2),_0x4315x2,_0x4315x2);this[_0x2895[2972]][_0x2895[1562]]= _0x4315x2;this[_0x2895[2972]][_0x2895[258]]()}else {this[_0x2895[253]][_0x2895[1525]]= this[_0x2895[2997]],this[_0x2895[253]][_0x2895[258]]()}};mxEdgeHandler[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[2885]]&& (this[_0x2895[2885]][_0x2895[515]](),this[_0x2895[2885]]= null);null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[515]](),this[_0x2895[253]]= null);null!= this[_0x2895[2972]]&& (this[_0x2895[2972]][_0x2895[515]](),this[_0x2895[2972]]= null);null!= this[_0x2895[2886]]&& (this[_0x2895[2886]][_0x2895[515]](),this[_0x2895[2886]]= null);if(null!= this[_0x2895[2994]]){for(var _0x4315x2=0;_0x4315x2< this[_0x2895[2994]][_0x2895[67]];_0x4315x2++){null!= this[_0x2895[2994]][_0x4315x2]&& (this[_0x2895[2994]][_0x4315x2][_0x2895[515]](),this[_0x2895[2994]][_0x4315x2]= null)}}};function mxElbowEdgeHandler(_0x4315x2){mxEdgeHandler[_0x2895[239]](this,_0x4315x2)}mxUtils[_0x2895[1284]](mxElbowEdgeHandler,mxEdgeHandler);mxElbowEdgeHandler[_0x2895[202]]= new mxEdgeHandler;mxElbowEdgeHandler[_0x2895[202]][_0x2895[196]]= mxElbowEdgeHandler;mxElbowEdgeHandler[_0x2895[202]][_0x2895[3031]]= !0;mxElbowEdgeHandler[_0x2895[202]][_0x2895[3032]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[3033]:_0x2895[110];mxElbowEdgeHandler[_0x2895[202]][_0x2895[3001]]= function(){var _0x4315x2=[],_0x4315x3=this[_0x2895[3009]](0);this[_0x2895[3002]](_0x4315x3);_0x4315x3[_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[3011]];mxEvent[_0x2895[2733]](_0x4315x3[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);_0x4315x2[_0x2895[207]](_0x4315x3);mxClient[_0x2895[754]]&& _0x4315x3[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130]);_0x4315x2[_0x2895[207]](this[_0x2895[3034]]());this[_0x2895[1525]][_0x2895[207]]( new mxPoint(0,0));_0x4315x3= this[_0x2895[3009]](2);this[_0x2895[3002]](_0x4315x3);_0x4315x3[_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[3011]];mxEvent[_0x2895[2733]](_0x4315x3[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);_0x4315x2[_0x2895[207]](_0x4315x3);mxClient[_0x2895[754]]&& _0x4315x3[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130]);return _0x4315x2};mxElbowEdgeHandler[_0x2895[202]][_0x2895[3034]]= function(){var _0x4315x2=this[_0x2895[3009]]();this[_0x2895[3002]](_0x4315x2);var _0x4315x3=this[_0x2895[3035]]();_0x4315x2[_0x2895[252]][_0x2895[124]][_0x2895[270]]= _0x4315x3;_0x4315x3= mxUtils[_0x2895[885]](this,function(_0x4315x2){!mxEvent[_0x2895[721]](_0x4315x2)&& this[_0x2895[3031]]&& (this[_0x2895[1179]][_0x2895[854]](this[_0x2895[724]][_0x2895[246]],_0x4315x2),mxEvent[_0x2895[722]](_0x4315x2))});mxEvent[_0x2895[2733]](_0x4315x2[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]],null,null,null,_0x4315x3);this[_0x2895[1179]][_0x2895[2662]](this[_0x2895[724]][_0x2895[246]])|| (_0x4315x2[_0x2895[252]][_0x2895[124]][_0x2895[495]]= _0x2895[130]);return _0x4315x2};mxElbowEdgeHandler[_0x2895[202]][_0x2895[3035]]= function(){return this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2294]]]== mxEdgeStyle[_0x2895[2570]]|| this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2294]]]== mxConstants[_0x2895[3036]]|| (this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2294]]]== mxEdgeStyle[_0x2895[2568]]|| this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2294]]]== mxConstants[_0x2895[3037]])&& this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2231]]]== mxConstants[_0x2895[2232]]?_0x2895[3038]:_0x2895[3039]};mxElbowEdgeHandler[_0x2895[202]][_0x2895[2597]]= function(_0x4315x2){var _0x4315x3=null;if(null!= this[_0x2895[2994]]&& null!= this[_0x2895[2994]][1]&& (_0x4315x2== this[_0x2895[2994]][1][_0x2895[252]]|| _0x4315x2[_0x2895[265]]== this[_0x2895[2994]][1][_0x2895[252]])){_0x4315x3= this[_0x2895[3032]],_0x4315x3= mxResources[_0x2895[203]](_0x4315x3)|| _0x4315x3};return _0x4315x3};mxElbowEdgeHandler[_0x2895[202]][_0x2895[2196]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[518]](),_0x4315x5=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[512]](),_0x4315x9=this[_0x2895[724]][_0x2895[2078]];_0x4315x3&& (_0x4315x2[_0x2895[235]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[235]]),_0x4315x2[_0x2895[236]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x2[_0x2895[236]]));_0x4315x2[_0x2895[235]]= Math[_0x2895[488]](_0x4315x2[_0x2895[235]]/ _0x4315x4- _0x4315x5[_0x2895[235]]- _0x4315x9[_0x2895[235]]);_0x4315x2[_0x2895[236]]= Math[_0x2895[488]](_0x4315x2[_0x2895[236]]/ _0x4315x4- _0x4315x5[_0x2895[236]]- _0x4315x9[_0x2895[236]])};mxElbowEdgeHandler[_0x2895[202]][_0x2895[3030]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1721]](this[_0x2895[724]][_0x2895[246]])[_0x2895[1525]],_0x4315x4=null!= _0x4315x4?_0x4315x4[0]:null,_0x4315x4=null== _0x4315x4? new mxPoint(_0x4315x2[_0x2895[235]]+ (_0x4315x3[_0x2895[235]]- _0x4315x2[_0x2895[235]])/ 2,_0x4315x2[_0x2895[236]]+ (_0x4315x3[_0x2895[236]]- _0x4315x2[_0x2895[236]])/ 2): new mxPoint(this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]]* (_0x4315x4[_0x2895[235]]+ this[_0x2895[1179]][_0x2895[249]]()[_0x2895[513]][_0x2895[235]]+ this[_0x2895[724]][_0x2895[2078]][_0x2895[235]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]]* (_0x4315x4[_0x2895[236]]+ this[_0x2895[1179]][_0x2895[249]]()[_0x2895[513]][_0x2895[236]]+ this[_0x2895[724]][_0x2895[2078]][_0x2895[236]])),_0x4315x5=this[_0x2895[2994]][1][_0x2895[1562]],_0x4315x9=_0x4315x5[_0x2895[117]],_0x4315x5=_0x4315x5[_0x2895[119]];null== this[_0x2895[2959]]&& (_0x4315x5= _0x4315x9= mxConstants[_0x2895[2974]]);var _0x4315xa= new mxRectangle(Math[_0x2895[488]](_0x4315x4[_0x2895[235]]- _0x4315x9/ 2),Math[_0x2895[488]](_0x4315x4[_0x2895[236]]- _0x4315x5/ 2),_0x4315x9,_0x4315x5);null== this[_0x2895[2959]]&& (_0x2895[188]!= this[_0x2895[2972]][_0x2895[252]][_0x2895[124]][_0x2895[187]]&& mxUtils[_0x2895[1825]](_0x4315xa,this[_0x2895[2972]][_0x2895[1562]]))&& (_0x4315x9+= 3,_0x4315x5+= 3,_0x4315xa= new mxRectangle(Math[_0x2895[488]](_0x4315x4[_0x2895[235]]- _0x4315x9/ 2),Math[_0x2895[488]](_0x4315x4[_0x2895[236]]- _0x4315x5/ 2),_0x4315x9,_0x4315x5));this[_0x2895[2994]][1][_0x2895[1562]]= _0x4315xa;this[_0x2895[2994]][1][_0x2895[258]]()};function mxEdgeSegmentHandler(_0x4315x2){mxEdgeHandler[_0x2895[239]](this,_0x4315x2)}mxUtils[_0x2895[1284]](mxEdgeSegmentHandler,mxEdgeHandler);mxEdgeSegmentHandler[_0x2895[202]]= new mxElbowEdgeHandler;mxEdgeSegmentHandler[_0x2895[202]][_0x2895[196]]= mxEdgeSegmentHandler;mxEdgeSegmentHandler[_0x2895[202]][_0x2895[3018]]= function(_0x4315x2){if(this[_0x2895[729]]|| this[_0x2895[3013]]){return mxElbowEdgeHandler[_0x2895[202]][_0x2895[3018]][_0x2895[183]](this,arguments)};this[_0x2895[2196]](_0x4315x2,!1);var _0x4315x3=this[_0x2895[724]][_0x2895[439]],_0x4315x4=_0x4315x3[0][_0x2895[238]]();this[_0x2895[2196]](_0x4315x4,!1);for(var _0x4315x5=[],_0x4315x9=1;_0x4315x9< _0x4315x3[_0x2895[67]];_0x4315x9++){var _0x4315xa=_0x4315x3[_0x4315x9][_0x2895[238]]();this[_0x2895[2196]](_0x4315xa,!1);_0x4315x9== this[_0x2895[1983]]&& (_0x4315x4[_0x2895[235]]== _0x4315xa[_0x2895[235]]?(_0x4315x4[_0x2895[235]]= _0x4315x2[_0x2895[235]],_0x4315xa[_0x2895[235]]= _0x4315x2[_0x2895[235]]):(_0x4315x4[_0x2895[236]]= _0x4315x2[_0x2895[236]],_0x4315xa[_0x2895[236]]= _0x4315x2[_0x2895[236]]));_0x4315x9< _0x4315x3[_0x2895[67]]- 1&& _0x4315x5[_0x2895[207]](_0x4315xa);_0x4315x4= _0x4315xa};if(1== _0x4315x5[_0x2895[67]]){if(_0x4315x4= this[_0x2895[724]][_0x2895[441]],_0x4315x9= this[_0x2895[724]][_0x2895[2089]](!0),_0x4315xa= this[_0x2895[724]][_0x2895[2089]](!1),null!= _0x4315xa& null!= _0x4315x9){var _0x4315x12=this[_0x2895[724]][_0x2895[2078]][_0x2895[235]],_0x4315x13=this[_0x2895[724]][_0x2895[2078]][_0x2895[236]];mxUtils[_0x2895[442]](_0x4315xa,_0x4315x5[0][_0x2895[235]]+ _0x4315x12,_0x4315x5[0][_0x2895[236]]+ _0x4315x13)?_0x4315x3[1][_0x2895[236]]== _0x4315x3[2][_0x2895[236]]?_0x4315x5[0][_0x2895[236]]= _0x4315x4[_0x2895[2228]](_0x4315x9)- _0x4315x13:_0x4315x5[0][_0x2895[235]]= _0x4315x4[_0x2895[2230]](_0x4315x9)- _0x4315x12:mxUtils[_0x2895[442]](_0x4315x9,_0x4315x5[0][_0x2895[235]]+ _0x4315x12,_0x4315x5[0][_0x2895[236]]+ _0x4315x13)&& (_0x4315x3[1][_0x2895[236]]== _0x4315x3[0][_0x2895[236]]?_0x4315x5[0][_0x2895[236]]= _0x4315x4[_0x2895[2228]](_0x4315xa)- _0x4315x13:_0x4315x5[0][_0x2895[235]]= _0x4315x4[_0x2895[2230]](_0x4315xa)- _0x4315x12)}}else {0== _0x4315x5[_0x2895[67]]&& (_0x4315x5= [_0x4315x2])};return _0x4315x5};mxEdgeSegmentHandler[_0x2895[202]][_0x2895[3001]]= function(){var _0x4315x2=[],_0x4315x3=this[_0x2895[3009]](0);this[_0x2895[3002]](_0x4315x3);_0x4315x3[_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[3011]];mxEvent[_0x2895[2733]](_0x4315x3[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);_0x4315x2[_0x2895[207]](_0x4315x3);mxClient[_0x2895[754]]&& _0x4315x3[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130]);var _0x4315x4=this[_0x2895[724]][_0x2895[439]];if(this[_0x2895[1179]][_0x2895[2662]](this[_0x2895[724]][_0x2895[246]])){null== this[_0x2895[1525]]&& (this[_0x2895[1525]]= []);for(var _0x4315x5=0;_0x4315x5< _0x4315x4[_0x2895[67]]- 1;_0x4315x5++){_0x4315x3= this[_0x2895[3034]](),_0x4315x2[_0x2895[207]](_0x4315x3),_0x4315x3[_0x2895[252]][_0x2895[124]][_0x2895[270]]= 0== _0x4315x4[_0x4315x5][_0x2895[235]]- _0x4315x4[_0x4315x5+ 1][_0x2895[235]]?_0x2895[3039]:_0x2895[3038],this[_0x2895[1525]][_0x2895[207]]( new mxPoint(0,0)),mxClient[_0x2895[754]]&& _0x4315x3[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130])}};_0x4315x3= this[_0x2895[3009]](_0x4315x4[_0x2895[67]]);this[_0x2895[3002]](_0x4315x3);_0x4315x3[_0x2895[252]][_0x2895[124]][_0x2895[270]]= mxConstants[_0x2895[3011]];mxEvent[_0x2895[2733]](_0x4315x3[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);_0x4315x2[_0x2895[207]](_0x4315x3);mxClient[_0x2895[754]]&& _0x4315x3[_0x2895[252]][_0x2895[57]](_0x2895[1377],_0x2895[130]);return _0x4315x2};mxEdgeSegmentHandler[_0x2895[202]][_0x2895[258]]= function(){this[_0x2895[802]]();mxEdgeHandler[_0x2895[202]][_0x2895[258]][_0x2895[183]](this,arguments)};mxEdgeSegmentHandler[_0x2895[202]][_0x2895[802]]= function(){if(null!= this[_0x2895[2994]]){for(var _0x4315x2=0;_0x4315x2< this[_0x2895[2994]][_0x2895[67]];_0x4315x2++){null!= this[_0x2895[2994]][_0x4315x2]&& (this[_0x2895[2994]][_0x4315x2][_0x2895[515]](),this[_0x2895[2994]][_0x4315x2]= null)};this[_0x2895[2994]]= this[_0x2895[3001]]()}};mxEdgeSegmentHandler[_0x2895[202]][_0x2895[3030]]= function(_0x4315x2,_0x4315x3){if(this[_0x2895[1179]][_0x2895[2662]](this[_0x2895[724]][_0x2895[246]])){var _0x4315x4=mxConstants[_0x2895[2974]],_0x4315x5=this[_0x2895[724]][_0x2895[439]];if(null!= _0x4315x5&& 1< _0x4315x5[_0x2895[67]]){for(var _0x4315x9=0;_0x4315x9< this[_0x2895[724]][_0x2895[439]][_0x2895[67]]- 1;_0x4315x9++){if(null!= this[_0x2895[2994]][_0x4315x9+ 1]){_0x4315x2= _0x4315x5[_0x4315x9];_0x4315x3= _0x4315x5[_0x4315x9+ 1];var _0x4315xa= new mxPoint(_0x4315x2[_0x2895[235]]+ (_0x4315x3[_0x2895[235]]- _0x4315x2[_0x2895[235]])/ 2,_0x4315x2[_0x2895[236]]+ (_0x4315x3[_0x2895[236]]- _0x4315x2[_0x2895[236]])/ 2);this[_0x2895[2994]][_0x4315x9+ 1][_0x2895[1562]]= new mxRectangle(Math[_0x2895[488]](_0x4315xa[_0x2895[235]]- _0x4315x4/ 2),Math[_0x2895[488]](_0x4315xa[_0x2895[236]]- _0x4315x4/ 2),_0x4315x4,_0x4315x4);this[_0x2895[2994]][_0x4315x9+ 1][_0x2895[258]]()}}}}};mxEdgeSegmentHandler[_0x2895[202]][_0x2895[3023]]= function(_0x4315x2,_0x4315x3){_0x4315x3= [];var _0x4315x4=this[_0x2895[2997]];if(1< _0x4315x4[_0x2895[67]]){for(var _0x4315x5=_0x4315x4[0],_0x4315x9=_0x4315x4[1],_0x4315xa=2;_0x4315xa< _0x4315x4[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x4[_0x4315xa];if((Math[_0x2895[488]](_0x4315x5[_0x2895[235]])!= Math[_0x2895[488]](_0x4315x9[_0x2895[235]])|| Math[_0x2895[488]](_0x4315x9[_0x2895[235]])!= Math[_0x2895[488]](_0x4315x12[_0x2895[235]]))&& (Math[_0x2895[488]](_0x4315x5[_0x2895[236]])!= Math[_0x2895[488]](_0x4315x9[_0x2895[236]])|| Math[_0x2895[488]](_0x4315x9[_0x2895[236]])!= Math[_0x2895[488]](_0x4315x12[_0x2895[236]]))){_0x4315x5= _0x4315x9,_0x4315x9= _0x4315x9[_0x2895[238]](),this[_0x2895[2196]](_0x4315x9,!1),_0x4315x3[_0x2895[207]](_0x4315x9)};_0x4315x9= _0x4315x12}};mxElbowEdgeHandler[_0x2895[202]][_0x2895[3023]][_0x2895[183]](this,arguments)};function mxKeyHandler(_0x4315x2,_0x4315x3){null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[772]]= _0x4315x3|| document[_0x2895[158]],this[_0x2895[3040]]= [],this[_0x2895[3041]]= [],this[_0x2895[3042]]= [],this[_0x2895[3043]]= [],mxEvent[_0x2895[169]](this[_0x2895[772]],_0x2895[2123],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[3044]](_0x4315x2)})),mxClient[_0x2895[80]]&& mxEvent[_0x2895[169]](window,_0x2895[2428],mxUtils[_0x2895[885]](this,function(){this[_0x2895[515]]()})))}mxKeyHandler[_0x2895[202]][_0x2895[1179]]= null;mxKeyHandler[_0x2895[202]][_0x2895[772]]= null;mxKeyHandler[_0x2895[202]][_0x2895[3040]]= null;mxKeyHandler[_0x2895[202]][_0x2895[3041]]= null;mxKeyHandler[_0x2895[202]][_0x2895[3042]]= null;mxKeyHandler[_0x2895[202]][_0x2895[3043]]= null;mxKeyHandler[_0x2895[202]][_0x2895[984]]= !0;mxKeyHandler[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxKeyHandler[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxKeyHandler[_0x2895[202]][_0x2895[3045]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3040]][_0x4315x2]= _0x4315x3};mxKeyHandler[_0x2895[202]][_0x2895[3046]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3041]][_0x4315x2]= _0x4315x3};mxKeyHandler[_0x2895[202]][_0x2895[3047]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3042]][_0x4315x2]= _0x4315x3};mxKeyHandler[_0x2895[202]][_0x2895[3048]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3043]][_0x4315x2]= _0x4315x3};mxKeyHandler[_0x2895[202]][_0x2895[775]]= function(_0x4315x2){return mxEvent[_0x2895[775]](_0x4315x2)};mxKeyHandler[_0x2895[202]][_0x2895[3049]]= function(_0x4315x2){return null!= _0x4315x2?this[_0x2895[775]](_0x4315x2)?mxEvent[_0x2895[774]](_0x4315x2)?this[_0x2895[3043]][_0x4315x2[_0x2895[2124]]]:this[_0x2895[3042]][_0x4315x2[_0x2895[2124]]]:mxEvent[_0x2895[774]](_0x4315x2)?this[_0x2895[3041]][_0x4315x2[_0x2895[2124]]]:this[_0x2895[3040]][_0x4315x2[_0x2895[2124]]]:null};mxKeyHandler[_0x2895[202]][_0x2895[3050]]= function(_0x4315x2){_0x4315x2= mxEvent[_0x2895[728]](_0x4315x2);if(_0x4315x2== this[_0x2895[772]]|| _0x4315x2[_0x2895[265]]== this[_0x2895[772]]|| null!= this[_0x2895[1179]][_0x2895[2347]]&& _0x4315x2== this[_0x2895[1179]][_0x2895[2347]][_0x2895[126]]){return !0};for(;null!= _0x4315x2;){if(_0x4315x2== this[_0x2895[1179]][_0x2895[526]]){return !0};_0x4315x2= _0x4315x2[_0x2895[265]]};return !1};mxKeyHandler[_0x2895[202]][_0x2895[3044]]= function(_0x4315x2){if(this[_0x2895[1179]][_0x2895[994]]()&& !mxEvent[_0x2895[721]](_0x4315x2)&& this[_0x2895[3050]](_0x4315x2)&& this[_0x2895[994]]()){if(27== _0x4315x2[_0x2895[2124]]){this[_0x2895[859]](_0x4315x2)}else {if(!this[_0x2895[1179]][_0x2895[2203]]()){var _0x4315x3=this[_0x2895[3049]](_0x4315x2);null!= _0x4315x3&& (_0x4315x3(_0x4315x2),mxEvent[_0x2895[722]](_0x4315x2))}}}};mxKeyHandler[_0x2895[202]][_0x2895[859]]= function(_0x4315x2){this[_0x2895[1179]][_0x2895[2608]]()&& this[_0x2895[1179]][_0x2895[859]](_0x4315x2)};mxKeyHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[772]]= null};function mxTooltipHandler(_0x4315x2,_0x4315x3){null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[1140]]= _0x4315x3|| 500,this[_0x2895[1179]][_0x2895[1133]](this))}mxTooltipHandler[_0x2895[202]][_0x2895[931]]= 10005;mxTooltipHandler[_0x2895[202]][_0x2895[1179]]= null;mxTooltipHandler[_0x2895[202]][_0x2895[1140]]= null;mxTooltipHandler[_0x2895[202]][_0x2895[3051]]= !1;mxTooltipHandler[_0x2895[202]][_0x2895[984]]= !0;mxTooltipHandler[_0x2895[202]][_0x2895[994]]= function(){return this[_0x2895[984]]};mxTooltipHandler[_0x2895[202]][_0x2895[995]]= function(_0x4315x2){this[_0x2895[984]]= _0x4315x2};mxTooltipHandler[_0x2895[202]][_0x2895[2277]]= function(){return this[_0x2895[3051]]};mxTooltipHandler[_0x2895[202]][_0x2895[3052]]= function(_0x4315x2){this[_0x2895[3051]]= _0x4315x2};mxTooltipHandler[_0x2895[202]][_0x2895[176]]= function(){null!= document[_0x2895[112]]&& (this[_0x2895[485]]= document[_0x2895[55]](_0x2895[485]),this[_0x2895[485]][_0x2895[926]]= _0x2895[3053],this[_0x2895[485]][_0x2895[124]][_0x2895[187]]= _0x2895[188],this[_0x2895[485]][_0x2895[124]][_0x2895[931]]= this[_0x2895[931]],document[_0x2895[112]][_0x2895[62]](this[_0x2895[485]]),mxEvent[_0x2895[169]](this[_0x2895[485]],_0x2895[751],mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[3054]]()})))};mxTooltipHandler[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){this[_0x2895[862]](_0x4315x3,!1);this[_0x2895[3054]]()};mxTooltipHandler[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){if(_0x4315x3[_0x2895[730]]()!= this[_0x2895[1217]]|| _0x4315x3[_0x2895[732]]()!= this[_0x2895[1218]]){this[_0x2895[862]](_0x4315x3,!0),(this[_0x2895[2277]]()|| _0x4315x3[_0x2895[248]]()!= this[_0x2895[724]]|| _0x4315x3[_0x2895[728]]()!= this[_0x2895[252]]&& (!this[_0x2895[3055]]|| null!= _0x4315x3[_0x2895[248]]()&& this[_0x2895[3055]]== (_0x4315x3[_0x2895[729]](_0x4315x3[_0x2895[248]]()[_0x2895[253]])|| !_0x4315x3[_0x2895[729]](_0x4315x3[_0x2895[248]]()[_0x2895[963]]))))&& this[_0x2895[3054]]()};this[_0x2895[1217]]= _0x4315x3[_0x2895[730]]();this[_0x2895[1218]]= _0x4315x3[_0x2895[732]]()};mxTooltipHandler[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){this[_0x2895[862]](_0x4315x3,!0);this[_0x2895[3054]]()};mxTooltipHandler[_0x2895[202]][_0x2895[3056]]= function(){null!= this[_0x2895[1123]]&& (window[_0x2895[2924]](this[_0x2895[1123]]),this[_0x2895[1123]]= null)};mxTooltipHandler[_0x2895[202]][_0x2895[862]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3056]]();if(_0x4315x3&& this[_0x2895[994]]()&& null!= _0x4315x2[_0x2895[248]]()&& (null== this[_0x2895[485]]|| _0x2895[188]== this[_0x2895[485]][_0x2895[124]][_0x2895[187]])){var _0x4315x4=_0x4315x2[_0x2895[248]](),_0x4315x5=_0x4315x2[_0x2895[728]](),_0x4315x9=_0x4315x2[_0x2895[730]](),_0x4315xa=_0x4315x2[_0x2895[732]](),_0x4315x12=_0x4315x2[_0x2895[729]](_0x4315x4[_0x2895[253]])|| _0x4315x2[_0x2895[729]](_0x4315x4[_0x2895[963]]);this[_0x2895[1123]]= window[_0x2895[261]](mxUtils[_0x2895[885]](this,function(){if(!this[_0x2895[1179]][_0x2895[2203]]()&& !this[_0x2895[1179]][_0x2895[2316]][_0x2895[1031]]()){var _0x4315x2=this[_0x2895[1179]][_0x2895[2595]](_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa);this[_0x2895[539]](_0x4315x2,_0x4315x9,_0x4315xa);this[_0x2895[724]]= _0x4315x4;this[_0x2895[252]]= _0x4315x5;this[_0x2895[3055]]= _0x4315x12}}),this[_0x2895[1140]])}};mxTooltipHandler[_0x2895[202]][_0x2895[801]]= function(){this[_0x2895[3056]]();this[_0x2895[3054]]()};mxTooltipHandler[_0x2895[202]][_0x2895[3054]]= function(){null!= this[_0x2895[485]]&& (this[_0x2895[485]][_0x2895[124]][_0x2895[187]]= _0x2895[188])};mxTooltipHandler[_0x2895[202]][_0x2895[539]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){null== this[_0x2895[485]]&& this[_0x2895[176]]();var _0x4315x5=mxUtils[_0x2895[444]]();this[_0x2895[485]][_0x2895[124]][_0x2895[361]]= _0x4315x3+ _0x4315x5[_0x2895[235]]+ _0x2895[168];this[_0x2895[485]][_0x2895[124]][_0x2895[125]]= _0x4315x4+ mxConstants[_0x2895[560]]+ _0x4315x5[_0x2895[236]]+ _0x2895[168];mxUtils[_0x2895[1331]](_0x4315x2)?(this[_0x2895[485]][_0x2895[339]]= _0x2895[110],this[_0x2895[485]][_0x2895[62]](_0x4315x2)):this[_0x2895[485]][_0x2895[339]]= _0x4315x2[_0x2895[230]](/\n/g,_0x2895[545]);this[_0x2895[485]][_0x2895[124]][_0x2895[187]]= _0x2895[110];mxUtils[_0x2895[933]](this[_0x2895[485]])}};mxTooltipHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[1148]](this);mxEvent[_0x2895[762]](this[_0x2895[485]]);null!= this[_0x2895[485]]&& null!= this[_0x2895[485]][_0x2895[265]]&& this[_0x2895[485]][_0x2895[265]][_0x2895[266]](this[_0x2895[485]]);this[_0x2895[485]]= null};function mxCellTracker(_0x4315x2,_0x4315x3,_0x4315x4){mxCellMarker[_0x2895[239]](this,_0x4315x2,_0x4315x3);this[_0x2895[1179]][_0x2895[1133]](this);null!= _0x4315x4&& (this[_0x2895[736]]= _0x4315x4);mxClient[_0x2895[80]]&& mxEvent[_0x2895[169]](window,_0x2895[2428],mxUtils[_0x2895[885]](this,function(){this[_0x2895[515]]()}))}mxUtils[_0x2895[1284]](mxCellTracker,mxCellMarker);mxCellTracker[_0x2895[202]][_0x2895[787]]= function(_0x4315x2,_0x4315x3){};mxCellTracker[_0x2895[202]][_0x2895[788]]= function(_0x4315x2,_0x4315x3){this[_0x2895[994]]()&& this[_0x2895[2871]](_0x4315x3)};mxCellTracker[_0x2895[202]][_0x2895[789]]= function(_0x4315x2,_0x4315x3){this[_0x2895[862]]()};mxCellTracker[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[2717]]|| (this[_0x2895[2717]]= !0,this[_0x2895[1179]][_0x2895[1148]](this),mxCellMarker[_0x2895[202]][_0x2895[515]][_0x2895[183]](this))};function mxCellHighlight(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){null!= _0x4315x2&& (this[_0x2895[1179]]= _0x4315x2,this[_0x2895[2943]]= null!= _0x4315x3?_0x4315x3:mxConstants[_0x2895[2854]],this[_0x2895[610]]= null!= _0x4315x4?_0x4315x4:mxConstants[_0x2895[3057]],this[_0x2895[648]]= null!= _0x4315x5?_0x4315x5:!1,this[_0x2895[3058]]= mxUtils[_0x2895[885]](this,function(){this[_0x2895[2950]]()}),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.SCALE,this[_0x2895[3058]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.TRANSLATE,this[_0x2895[3058]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.SCALE_AND_TRANSLATE,this[_0x2895[3058]]),this[_0x2895[1179]][_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,this[_0x2895[3058]]),this[_0x2895[2877]]= mxUtils[_0x2895[885]](this,function(){this[_0x2895[801]]()}),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.DOWN,this[_0x2895[2877]]),this[_0x2895[1179]][_0x2895[249]]()[_0x2895[169]](mxEvent.UP,this[_0x2895[2877]]))}mxCellHighlight[_0x2895[202]][_0x2895[3059]]= !1;mxCellHighlight[_0x2895[202]][_0x2895[1179]]= !0;mxCellHighlight[_0x2895[202]][_0x2895[724]]= null;mxCellHighlight[_0x2895[202]][_0x2895[657]]= 2;mxCellHighlight[_0x2895[202]][_0x2895[2877]]= null;mxCellHighlight[_0x2895[202]][_0x2895[2828]]= function(_0x4315x2){this[_0x2895[2943]]= _0x4315x2;null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[1336]]= _0x4315x2)};mxCellHighlight[_0x2895[202]][_0x2895[3060]]= function(){this[_0x2895[253]]= this[_0x2895[2156]]();this[_0x2895[2950]]();!this[_0x2895[3059]]&& this[_0x2895[253]][_0x2895[252]][_0x2895[265]][_0x2895[285]]!= this[_0x2895[253]][_0x2895[252]]&& this[_0x2895[253]][_0x2895[252]][_0x2895[265]][_0x2895[950]](this[_0x2895[253]][_0x2895[252]],this[_0x2895[253]][_0x2895[252]][_0x2895[265]][_0x2895[285]])};mxCellHighlight[_0x2895[202]][_0x2895[2156]]= function(){var _0x4315x2=null,_0x4315x2=this[_0x2895[1179]][_0x2895[251]][_0x2895[250]](this[_0x2895[724]][_0x2895[246]])? new mxPolyline(this[_0x2895[724]][_0x2895[439]],this[_0x2895[2943]],this[_0x2895[610]]): new mxRectangleShape( new mxRectangle,null,this[_0x2895[2943]],this[_0x2895[610]]);_0x4315x2[_0x2895[507]]= this[_0x2895[1179]][_0x2895[507]]!= mxConstants[_0x2895[508]]?mxConstants[_0x2895[1523]]:mxConstants[_0x2895[508]];_0x4315x2[_0x2895[176]](this[_0x2895[1179]][_0x2895[249]]()[_0x2895[1524]]());mxEvent[_0x2895[2733]](_0x4315x2[_0x2895[252]],this[_0x2895[1179]],this[_0x2895[724]]);_0x4315x2[_0x2895[1564]]= 0;_0x4315x2[_0x2895[1229]]= !1;_0x4315x2[_0x2895[1522]]= this[_0x2895[648]];return _0x4315x2};mxCellHighlight[_0x2895[202]][_0x2895[2950]]= function(){if(null!= this[_0x2895[724]]&& null!= this[_0x2895[253]]){var _0x4315x2=0;this[_0x2895[1179]][_0x2895[251]][_0x2895[250]](this[_0x2895[724]][_0x2895[246]])?this[_0x2895[253]][_0x2895[1525]]= this[_0x2895[724]][_0x2895[439]]:(this[_0x2895[253]][_0x2895[1562]]= new mxRectangle(this[_0x2895[724]][_0x2895[235]]- this[_0x2895[657]],this[_0x2895[724]][_0x2895[236]]- this[_0x2895[657]],this[_0x2895[724]][_0x2895[117]]+ 2* this[_0x2895[657]],this[_0x2895[724]][_0x2895[119]]+ 2* this[_0x2895[657]]),_0x4315x2= Number(this[_0x2895[724]][_0x2895[124]][mxConstants[_0x2895[2278]]]|| _0x2895[468]));null!= this[_0x2895[724]][_0x2895[253]]&& this[_0x2895[253]][_0x2895[1609]](this[_0x2895[724]][_0x2895[253]][_0x2895[1610]]());0!= _0x4315x2&& (this[_0x2895[253]][_0x2895[603]]= _0x4315x2);this[_0x2895[253]][_0x2895[258]]()}};mxCellHighlight[_0x2895[202]][_0x2895[801]]= function(){this[_0x2895[1016]](null)};mxCellHighlight[_0x2895[202]][_0x2895[1016]]= function(_0x4315x2){this[_0x2895[724]]!= _0x4315x2&& (null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[515]](),this[_0x2895[253]]= null),this[_0x2895[724]]= _0x4315x2,null!= this[_0x2895[724]]&& this[_0x2895[3060]]())};mxCellHighlight[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[1179]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[3058]]);this[_0x2895[1179]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[3058]]);this[_0x2895[1179]][_0x2895[249]]()[_0x2895[745]](this[_0x2895[2877]]);this[_0x2895[1179]][_0x2895[502]]()[_0x2895[745]](this[_0x2895[2877]]);null!= this[_0x2895[253]]&& (this[_0x2895[253]][_0x2895[515]](),this[_0x2895[253]]= null)};function mxDefaultKeyHandler(_0x4315x2){if(null!= _0x4315x2){this[_0x2895[3061]]= _0x4315x2;this[_0x2895[2458]]= new mxKeyHandler(_0x4315x2[_0x2895[1179]]);var _0x4315x3=this[_0x2895[2458]][_0x2895[859]];this[_0x2895[2458]][_0x2895[859]]= function(_0x4315x4){_0x4315x3[_0x2895[183]](this,arguments);_0x4315x2[_0x2895[3062]]();_0x4315x2[_0x2895[746]]( new mxEventObject(mxEvent.ESCAPE,_0x2895[763],_0x4315x4))}}}mxDefaultKeyHandler[_0x2895[202]][_0x2895[3061]]= null;mxDefaultKeyHandler[_0x2895[202]][_0x2895[2458]]= null;mxDefaultKeyHandler[_0x2895[202]][_0x2895[3063]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=mxUtils[_0x2895[885]](this,function(){this[_0x2895[3061]][_0x2895[350]](_0x4315x3)});_0x4315x4?this[_0x2895[2458]][_0x2895[3047]](_0x4315x2,_0x4315x5):this[_0x2895[2458]][_0x2895[3045]](_0x4315x2,_0x4315x5)};mxDefaultKeyHandler[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[2458]][_0x2895[515]]();this[_0x2895[2458]]= null};function mxDefaultPopupMenu(_0x4315x2){this[_0x2895[3064]]= _0x4315x2}mxDefaultPopupMenu[_0x2895[202]][_0x2895[88]]= null;mxDefaultPopupMenu[_0x2895[202]][_0x2895[3064]]= null;mxDefaultPopupMenu[_0x2895[202]][_0x2895[3065]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){if(null!= this[_0x2895[3064]]){var _0x4315x9=this[_0x2895[3066]](_0x4315x2,_0x4315x4,_0x4315x5);this[_0x2895[3067]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,this[_0x2895[3064]][_0x2895[285]],null)}};mxDefaultPopupMenu[_0x2895[202]][_0x2895[3067]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12){for(var _0x4315x13=!1;null!= _0x4315xa;){if(_0x2895[99]== _0x4315xa[_0x2895[301]]){var _0x4315x14=_0x4315xa[_0x2895[284]](_0x2895[3068]);if(null== _0x4315x14|| _0x4315x9[_0x4315x14]){var _0x4315x14=_0x4315xa[_0x2895[284]](_0x2895[3069]),_0x4315x14=mxResources[_0x2895[203]](_0x4315x14)|| _0x4315x14,_0x4315x15=mxUtils[_0x2895[1545]](mxUtils[_0x2895[329]](_0x4315xa)),_0x4315x16=_0x4315xa[_0x2895[284]](_0x2895[892]),_0x4315x17=_0x4315xa[_0x2895[284]](_0x2895[2916]),_0x4315x18=_0x4315xa[_0x2895[284]](_0x2895[3070]);_0x4315x13&& (_0x4315x3[_0x2895[1051]](_0x4315x12),_0x4315x13= !1);null!= _0x4315x17&& this[_0x2895[88]]&& (_0x4315x17= this[_0x2895[88]]+ _0x4315x17);_0x4315x14= this[_0x2895[3071]](_0x4315x3,_0x4315x2,_0x4315x14,_0x4315x17,_0x4315x15,_0x4315x16,_0x4315x4,_0x4315x12,_0x4315x18);this[_0x2895[3067]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa[_0x2895[285]],_0x4315x14)}}else {_0x2895[3072]== _0x4315xa[_0x2895[301]]&& (_0x4315x13= !0)};_0x4315xa= _0x4315xa[_0x2895[287]]}};mxDefaultPopupMenu[_0x2895[202]][_0x2895[3071]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa,_0x4315x12,_0x4315x13,_0x4315x14){return _0x4315x2[_0x2895[1025]](_0x4315x4,_0x4315x5,function(_0x4315x2){_0x2895[279]== typeof _0x4315x9&& _0x4315x9[_0x2895[239]](_0x4315x3,_0x4315x3,_0x4315x12,_0x4315x2);null!= _0x4315xa&& _0x4315x3[_0x2895[350]](_0x4315xa,_0x4315x12,_0x4315x2)},_0x4315x13,_0x4315x14)};mxDefaultPopupMenu[_0x2895[202]][_0x2895[3066]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[1179]][_0x2895[502]](),_0x4315x9=_0x4315x5[_0x2895[262]](_0x4315x3),_0x4315xa=[];_0x4315xa[_0x2895[3073]]= null== _0x4315x3;_0x4315xa[_0x2895[3074]]= 1< _0x4315x2[_0x2895[1179]][_0x2895[2694]]();_0x4315xa[_0x2895[3075]]= _0x4315x5[_0x2895[501]]()!= _0x4315x5[_0x2895[1197]](_0x4315x2[_0x2895[1179]][_0x2895[902]]());_0x4315xa[_0x2895[246]]= null!= _0x4315x3;_0x4315x5= null!= _0x4315x3&& 1== _0x4315x2[_0x2895[1179]][_0x2895[2694]]();_0x4315xa[_0x2895[3076]]= _0x4315x5&& 0< _0x4315x9;_0x4315xa[_0x2895[3077]]= _0x4315x5&& _0x4315x2[_0x2895[1179]][_0x2895[2516]](_0x4315x3,!1);_0x4315xa[_0x2895[3078]]= _0x4315x5&& _0x4315x2[_0x2895[1179]][_0x2895[2516]](_0x4315x3,!0);_0x4315xa[_0x2895[3079]]= _0x4315x5&& _0x4315x2[_0x2895[1179]][_0x2895[2553]](_0x4315x3);_0x4315xa[_0x2895[3080]]= _0x4315xa[_0x2895[3079]]&& 0== _0x4315x9;_0x4315xa[_0x2895[687]]= _0x4315x5&& _0x4315x2[_0x2895[1179]][_0x2895[1730]](_0x4315x3);_0x4315x9= this[_0x2895[3064]][_0x2895[64]](_0x2895[3081]);for(_0x4315x5= 0;_0x4315x5< _0x4315x9[_0x2895[67]];_0x4315x5++){var _0x4315x12=mxUtils[_0x2895[1545]](mxUtils[_0x2895[329]](_0x4315x9[_0x4315x5])),_0x4315x13=_0x4315x9[_0x4315x5][_0x2895[284]](_0x2895[298]);null!= _0x4315x13&& _0x2895[279]== typeof _0x4315x12&& (_0x4315xa[_0x4315x13]= _0x4315x12(_0x4315x2,_0x4315x3,_0x4315x4))};return _0x4315xa};function mxDefaultToolbar(_0x4315x2,_0x4315x3){this[_0x2895[3061]]= _0x4315x3;null!= _0x4315x2&& null!= _0x4315x3&& this[_0x2895[176]](_0x4315x2)}mxDefaultToolbar[_0x2895[202]][_0x2895[3061]]= null;mxDefaultToolbar[_0x2895[202]][_0x2895[3082]]= null;mxDefaultToolbar[_0x2895[202]][_0x2895[2877]]= null;mxDefaultToolbar[_0x2895[202]][_0x2895[657]]= 4;mxDefaultToolbar[_0x2895[202]][_0x2895[2804]]= !1;mxDefaultToolbar[_0x2895[202]][_0x2895[176]]= function(_0x4315x2){null!= _0x4315x2&& (this[_0x2895[3082]]= new mxToolbar(_0x4315x2),this[_0x2895[3082]][_0x2895[169]](mxEvent.SELECT,mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4){var _0x4315x5=_0x4315x4[_0x2895[720]](_0x2895[279]);this[_0x2895[3061]][_0x2895[3083]]= null!= _0x4315x5?mxUtils[_0x2895[885]](this,function(){_0x4315x5[_0x2895[183]](this,arguments);this[_0x2895[3082]][_0x2895[1050]]()}):null})),this[_0x2895[2877]]= mxUtils[_0x2895[885]](this,function(){null!= this[_0x2895[3082]]&& this[_0x2895[3082]][_0x2895[1050]](!0)}),this[_0x2895[3061]][_0x2895[1179]][_0x2895[169]](mxEvent.DOUBLE_CLICK,this[_0x2895[2877]]),this[_0x2895[3061]][_0x2895[169]](mxEvent.ESCAPE,this[_0x2895[2877]]))};mxDefaultToolbar[_0x2895[202]][_0x2895[1025]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=mxUtils[_0x2895[885]](this,function(){null!= _0x4315x4&& 0< _0x4315x4[_0x2895[67]]&& this[_0x2895[3061]][_0x2895[350]](_0x4315x4)});return this[_0x2895[3082]][_0x2895[1025]](_0x4315x2,_0x4315x3,_0x4315x9,_0x4315x5)};mxDefaultToolbar[_0x2895[202]][_0x2895[1051]]= function(_0x4315x2){_0x4315x2= _0x4315x2|| mxClient[_0x2895[88]]+ _0x2895[3084];this[_0x2895[3082]][_0x2895[1051]](_0x4315x2)};mxDefaultToolbar[_0x2895[202]][_0x2895[970]]= function(){return this[_0x2895[3082]][_0x2895[970]]()};mxDefaultToolbar[_0x2895[202]][_0x2895[1038]]= function(_0x4315x2){return this[_0x2895[3082]][_0x2895[1038]](_0x4315x2)};mxDefaultToolbar[_0x2895[202]][_0x2895[3085]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=mxUtils[_0x2895[885]](this,function(){this[_0x2895[3061]][_0x2895[350]](_0x4315x4)});this[_0x2895[972]](_0x4315x2,_0x4315x3,_0x4315x5)};mxDefaultToolbar[_0x2895[202]][_0x2895[972]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return this[_0x2895[3082]][_0x2895[972]](_0x4315x2,_0x4315x3,_0x4315x4)};mxDefaultToolbar[_0x2895[202]][_0x2895[1048]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){var _0x4315xa=mxUtils[_0x2895[885]](this,function(){this[_0x2895[3061]][_0x2895[3086]](_0x4315x4);null!= _0x4315x9&& _0x4315x9(this[_0x2895[3061]])});return this[_0x2895[3082]][_0x2895[1042]](_0x4315x2,_0x4315x3,_0x4315xa,_0x4315x5)};mxDefaultToolbar[_0x2895[202]][_0x2895[3087]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9,_0x4315xa){var _0x4315x12=function(){return _0x2895[279]== typeof _0x4315x4?_0x4315x4():null!= _0x4315x4?_0x4315x4[_0x2895[238]]():null},_0x4315x13=mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){_0x2895[279]== typeof _0x4315x9?_0x4315x9(this[_0x2895[3061]],_0x4315x12(),_0x4315x2,_0x4315x3):this[_0x2895[1008]](_0x4315x12(),_0x4315x2,_0x4315x3);this[_0x2895[3082]][_0x2895[1050]]();mxEvent[_0x2895[722]](_0x4315x2)});_0x4315x2= this[_0x2895[3082]][_0x2895[1048]](_0x4315x2,_0x4315x3,_0x4315x13,_0x4315x5,null,_0x4315xa);this[_0x2895[3088]](_0x4315x2,function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x13(_0x4315x3,_0x4315x4)});return _0x4315x2};mxDefaultToolbar[_0x2895[202]][_0x2895[1008]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[3061]][_0x2895[1179]],_0x4315x9=_0x4315x5[_0x2895[502]]();if(null== _0x4315x4|| _0x4315x9[_0x2895[250]](_0x4315x4)|| !this[_0x2895[2804]]|| !_0x4315x5[_0x2895[2565]](_0x4315x4)){for(;null!= _0x4315x4&& !_0x4315x5[_0x2895[2685]](_0x4315x4,[_0x4315x2],_0x4315x3);){_0x4315x4= _0x4315x9[_0x2895[1197]](_0x4315x4)};this[_0x2895[1937]](_0x4315x2,_0x4315x3,_0x4315x4)}else {this[_0x2895[807]](_0x4315x2,_0x4315x3,_0x4315x4)}};mxDefaultToolbar[_0x2895[202]][_0x2895[1937]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[3061]][_0x2895[1179]];if(_0x4315x5[_0x2895[2621]](_0x4315x2)){var _0x4315x9=mxEvent[_0x2895[731]](_0x4315x3),_0x4315xa=mxEvent[_0x2895[733]](_0x4315x3),_0x4315x9=mxUtils[_0x2895[2196]](_0x4315x5[_0x2895[526]],_0x4315x9,_0x4315xa);return _0x4315x5[_0x2895[2655]]()&& _0x4315x5[_0x2895[2686]](_0x4315x4,[_0x4315x2],_0x4315x3)?_0x4315x5[_0x2895[853]](_0x4315x4,[_0x4315x2],null,_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]]):this[_0x2895[3061]][_0x2895[817]](_0x4315x4,_0x4315x2,_0x4315x9[_0x2895[235]],_0x4315x9[_0x2895[236]])};return null};mxDefaultToolbar[_0x2895[202]][_0x2895[807]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= this[_0x2895[3061]][_0x2895[1179]];var _0x4315x5=_0x4315x3[_0x2895[502]]();if(null!= _0x4315x4&& _0x4315x3[_0x2895[2565]](_0x4315x2)&& _0x4315x3[_0x2895[2581]](null,_0x4315x4,_0x4315x2)){var _0x4315x9=null;_0x4315x5[_0x2895[473]]();try{var _0x4315xa=_0x4315x5[_0x2895[1721]](_0x4315x4),_0x4315x12=_0x4315x5[_0x2895[1721]](_0x4315x2)[_0x2895[238]]();_0x4315x12[_0x2895[235]]= _0x4315xa[_0x2895[235]]+ (_0x4315xa[_0x2895[117]]- _0x4315x12[_0x2895[117]])/ 2;_0x4315x12[_0x2895[236]]= _0x4315xa[_0x2895[236]]+ (_0x4315xa[_0x2895[119]]- _0x4315x12[_0x2895[119]])/ 2;var _0x4315x13=this[_0x2895[657]]* _0x4315x3[_0x2895[1020]],_0x4315x14=20* _0x4315x5[_0x2895[1962]](_0x4315x4,!0);this[_0x2895[3061]][_0x2895[3089]]?_0x4315x12[_0x2895[235]]+= (_0x4315x12[_0x2895[117]]+ _0x4315xa[_0x2895[117]])/ 2+ _0x4315x13+ _0x4315x14:_0x4315x12[_0x2895[236]]+= (_0x4315x12[_0x2895[119]]+ _0x4315xa[_0x2895[119]])/ 2+ _0x4315x13+ _0x4315x14;_0x4315x2[_0x2895[1724]](_0x4315x12);var _0x4315x15=_0x4315x5[_0x2895[1197]](_0x4315x4);_0x4315x3[_0x2895[2103]](_0x4315x2,_0x4315x15);_0x4315x3[_0x2895[2509]](_0x4315x2);_0x4315x9= this[_0x2895[3061]][_0x2895[2503]](_0x4315x4,_0x4315x2);if(null== _0x4315x5[_0x2895[1721]](_0x4315x9)){var _0x4315x16= new mxGeometry;_0x4315x16[_0x2895[1500]]= !0;_0x4315x5[_0x2895[1724]](_0x4315x9,_0x4315x16)};_0x4315x3[_0x2895[2504]](_0x4315x9,_0x4315x15,_0x4315x4,_0x4315x2)}finally{_0x4315x5[_0x2895[476]]()};_0x4315x3[_0x2895[904]]([_0x4315x2,_0x4315x9]);_0x4315x3[_0x2895[2564]](_0x4315x2)}};mxDefaultToolbar[_0x2895[202]][_0x2895[3088]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=document[_0x2895[55]](_0x2895[466]);_0x4315x4[_0x2895[57]](_0x2895[390],_0x4315x2[_0x2895[284]](_0x2895[390]));var _0x4315x5=mxUtils[_0x2895[885]](this,function(_0x4315x9){_0x4315x4[_0x2895[124]][_0x2895[117]]= 2* _0x4315x2[_0x2895[359]]+ _0x2895[168];_0x4315x4[_0x2895[124]][_0x2895[119]]= 2* _0x4315x2[_0x2895[167]]+ _0x2895[168];mxUtils[_0x2895[3090]](_0x4315x2,this[_0x2895[3061]][_0x2895[1179]],_0x4315x3,_0x4315x4);mxEvent[_0x2895[745]](_0x4315x4,_0x2895[219],_0x4315x5)});mxClient[_0x2895[80]]?_0x4315x5():mxEvent[_0x2895[169]](_0x4315x4,_0x2895[219],_0x4315x5)};mxDefaultToolbar[_0x2895[202]][_0x2895[515]]= function(){null!= this[_0x2895[2877]]&& (this[_0x2895[3061]][_0x2895[1179]][_0x2895[745]](_0x2895[760],this[_0x2895[2877]]),this[_0x2895[3061]][_0x2895[745]](_0x2895[859],this[_0x2895[2877]]),this[_0x2895[2877]]= null);null!= this[_0x2895[3082]]&& (this[_0x2895[3082]][_0x2895[515]](),this[_0x2895[3082]]= null)};function mxEditor(_0x4315x2){this[_0x2895[3091]]= [];this[_0x2895[3092]]();if(null!= document[_0x2895[112]]){this[_0x2895[3093]]= [];this[_0x2895[3094]]= new mxDefaultPopupMenu;this[_0x2895[3095]]= new mxUndoManager;this[_0x2895[1179]]= this[_0x2895[3096]]();this[_0x2895[3082]]= this[_0x2895[3097]]();this[_0x2895[3098]]= new mxDefaultKeyHandler(this);this[_0x2895[3099]](_0x4315x2);this[_0x2895[1179]][_0x2895[2180]]= this[_0x2895[3100]];!mxClient[_0x2895[3101]]&& null!= this[_0x2895[1056]]&& (this[_0x2895[812]]= this[_0x2895[3102]]());if(null!= this[_0x2895[1987]]){this[_0x2895[1987]]()};mxClient[_0x2895[80]]&& mxEvent[_0x2895[169]](window,_0x2895[2428],mxUtils[_0x2895[885]](this,function(){this[_0x2895[515]]()}))}}mxLoadResources&& mxResources[_0x2895[99]](mxClient[_0x2895[86]]+ _0x2895[3103]);mxEditor[_0x2895[202]]= new mxEventSource;mxEditor[_0x2895[202]][_0x2895[196]]= mxEditor;mxEditor[_0x2895[202]][_0x2895[3104]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[3105]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[3106]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[3107]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[3108]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[3109]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[3110]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[716]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[3111]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[3112]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[3113]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2719]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[3114]]= _0x2895[130]!= mxClient[_0x2895[90]]?_0x2895[2136]:_0x2895[110];mxEditor[_0x2895[202]][_0x2895[2136]]= null;mxEditor[_0x2895[202]][_0x2895[1179]]= null;mxEditor[_0x2895[202]][_0x2895[2720]]= null;mxEditor[_0x2895[202]][_0x2895[3082]]= null;mxEditor[_0x2895[202]][_0x2895[812]]= null;mxEditor[_0x2895[202]][_0x2895[879]]= null;mxEditor[_0x2895[202]][_0x2895[3094]]= null;mxEditor[_0x2895[202]][_0x2895[3095]]= null;mxEditor[_0x2895[202]][_0x2895[3098]]= null;mxEditor[_0x2895[202]][_0x2895[3091]]= null;mxEditor[_0x2895[202]][_0x2895[3115]]= _0x2895[1061];mxEditor[_0x2895[202]][_0x2895[3116]]= !1;mxEditor[_0x2895[202]][_0x2895[1157]]= !0;mxEditor[_0x2895[202]][_0x2895[3083]]= null;mxEditor[_0x2895[202]][_0x2895[3117]]= !1;mxEditor[_0x2895[202]][_0x2895[3118]]= null;mxEditor[_0x2895[202]][_0x2895[2075]]= null;mxEditor[_0x2895[202]][_0x2895[3119]]= null;mxEditor[_0x2895[202]][_0x2895[3120]]= null;mxEditor[_0x2895[202]][_0x2895[3121]]= null;mxEditor[_0x2895[202]][_0x2895[3122]]= null;mxEditor[_0x2895[202]][_0x2895[1069]]= _0x2895[336];mxEditor[_0x2895[202]][_0x2895[3123]]= _0x2895[338];mxEditor[_0x2895[202]][_0x2895[1070]]= !0;mxEditor[_0x2895[202]][_0x2895[3124]]= null;mxEditor[_0x2895[202]][_0x2895[3125]]= null;mxEditor[_0x2895[202]][_0x2895[1056]]= null;mxEditor[_0x2895[202]][_0x2895[1058]]= null;mxEditor[_0x2895[202]][_0x2895[1057]]= null;mxEditor[_0x2895[202]][_0x2895[3089]]= !1;mxEditor[_0x2895[202]][_0x2895[3126]]= !1;mxEditor[_0x2895[202]][_0x2895[3127]]= 0;mxEditor[_0x2895[202]][_0x2895[3128]]= !1;mxEditor[_0x2895[202]][_0x2895[3129]]= !1;mxEditor[_0x2895[202]][_0x2895[3093]]= null;mxEditor[_0x2895[202]][_0x2895[3130]]= 0;mxEditor[_0x2895[202]][_0x2895[3100]]= _0x2895[604];mxEditor[_0x2895[202]][_0x2895[3112]]= null;mxEditor[_0x2895[202]][_0x2895[3131]]= null;mxEditor[_0x2895[202]][_0x2895[3132]]= 20;mxEditor[_0x2895[202]][_0x2895[2719]]= null;mxEditor[_0x2895[202]][_0x2895[3133]]= null;mxEditor[_0x2895[202]][_0x2895[3134]]= null;mxEditor[_0x2895[202]][_0x2895[3135]]= 300;mxEditor[_0x2895[202]][_0x2895[3136]]= 260;mxEditor[_0x2895[202]][_0x2895[3137]]= 240;mxEditor[_0x2895[202]][_0x2895[3138]]= null;mxEditor[_0x2895[202]][_0x2895[3139]]= !1;mxEditor[_0x2895[202]][_0x2895[3140]]= !1;mxEditor[_0x2895[202]][_0x2895[2113]]= !1;mxEditor[_0x2895[202]][_0x2895[2133]]= function(){return this[_0x2895[2113]]};mxEditor[_0x2895[202]][_0x2895[2128]]= function(_0x4315x2){this[_0x2895[2113]]= _0x4315x2};mxEditor[_0x2895[202]][_0x2895[3092]]= function(){this[_0x2895[3071]](_0x2895[815],function(_0x4315x2){_0x4315x2[_0x2895[815]]()});this[_0x2895[3071]](_0x2895[540],function(_0x4315x2){( new mxPrintPreview(_0x4315x2[_0x2895[1179]],1))[_0x2895[392]]()});this[_0x2895[3071]](_0x2895[539],function(_0x4315x2){mxUtils[_0x2895[539]](_0x4315x2[_0x2895[1179]],null,10,10)});this[_0x2895[3071]](_0x2895[3141],function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[3142]]();if(null== _0x4315x3|| mxClient[_0x2895[3101]]){_0x4315x2[_0x2895[350]](_0x2895[539])}else {var _0x4315x4=mxUtils[_0x2895[3143]](_0x4315x2[_0x2895[1179]],1),_0x4315x4=mxUtils[_0x2895[875]](_0x4315x4,_0x2895[192]);mxUtils[_0x2895[894]](_0x4315x3,_0x4315x2[_0x2895[3123]]+ _0x2895[226]+ encodeURIComponent(_0x4315x4),document,_0x2895[3144])}});this[_0x2895[3071]](_0x2895[802],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[802]]()});this[_0x2895[3071]](_0x2895[3145],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& mxClipboard[_0x2895[3145]](_0x4315x2[_0x2895[1179]])});this[_0x2895[3071]](_0x2895[149],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& mxClipboard[_0x2895[149]](_0x4315x2[_0x2895[1179]])});this[_0x2895[3071]](_0x2895[3146],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& mxClipboard[_0x2895[3146]](_0x4315x2[_0x2895[1179]])});this[_0x2895[3071]](_0x2895[3147],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[842]]()});this[_0x2895[3071]](_0x2895[1504],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2450]](_0x4315x2[_0x2895[844]]())});this[_0x2895[3071]](_0x2895[3148],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[904]](_0x4315x2[_0x2895[1179]][_0x2895[845]]())});this[_0x2895[3071]](_0x2895[1997],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[846]]()});this[_0x2895[3071]](_0x2895[824],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[824]]()});this[_0x2895[3071]](_0x2895[825],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[825]]()});this[_0x2895[3071]](_0x2895[2558],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[2558]]()});this[_0x2895[3071]](_0x2895[2559],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[2559]]()});this[_0x2895[3071]](_0x2895[3149],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[2560]]()});this[_0x2895[3071]](_0x2895[933],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[933]]()});this[_0x2895[3071]](_0x2895[3150],function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[3150]](_0x4315x3)});this[_0x2895[3071]](_0x2895[2705],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2705]]()});this[_0x2895[3071]](_0x2895[3151],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2440]]()});this[_0x2895[3071]](_0x2895[2706],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2706]]()});this[_0x2895[3071]](_0x2895[2708],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2708]]()});this[_0x2895[3071]](_0x2895[1061],function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2453]](_0x4315x3)&& _0x4315x2[_0x2895[1179]][_0x2895[2451]](_0x4315x3)});this[_0x2895[3071]](_0x2895[3152],function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[840]](!0)});this[_0x2895[3071]](_0x2895[3153],function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[840]](!1)});this[_0x2895[3071]](_0x2895[2552],function(_0x4315x2,_0x4315x3){_0x4315x2[_0x2895[1179]][_0x2895[2552]](_0x4315x3)});this[_0x2895[3071]](_0x2895[2554],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[2554]]()});this[_0x2895[3071]](_0x2895[2442],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[2442]]()});this[_0x2895[3071]](_0x2895[3154],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2702]]()});this[_0x2895[3071]](_0x2895[3155],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2700]]()});this[_0x2895[3071]](_0x2895[3156],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2703]]()});this[_0x2895[3071]](_0x2895[3157],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2704]]()});this[_0x2895[3071]](_0x2895[2514],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[847]](!0)});this[_0x2895[3071]](_0x2895[3158],function(_0x4315x2){if(_0x4315x2[_0x2895[1179]][_0x2895[994]]()){var _0x4315x3=_0x4315x2[_0x2895[1179]][_0x2895[1728]]();_0x4315x2[_0x2895[1179]][_0x2895[847]](!0,!1,_0x4315x3)}});this[_0x2895[3071]](_0x2895[3159],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[847]](!1)});this[_0x2895[3071]](_0x2895[3160],function(_0x4315x2){if(_0x4315x2[_0x2895[1179]][_0x2895[994]]()){var _0x4315x3=_0x4315x2[_0x2895[1179]][_0x2895[1728]]();_0x4315x2[_0x2895[1179]][_0x2895[847]](!1,!1,_0x4315x3)}});this[_0x2895[3071]](_0x2895[1447],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2491]](mxConstants.STYLE_FONTSTYLE,mxConstants.FONT_BOLD)});this[_0x2895[3071]](_0x2895[1449],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2491]](mxConstants.STYLE_FONTSTYLE,mxConstants.FONT_ITALIC)});this[_0x2895[3071]](_0x2895[355],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2491]](mxConstants.STYLE_FONTSTYLE,mxConstants.FONT_UNDERLINE)});this[_0x2895[3071]](_0x2895[639],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[2491]](mxConstants.STYLE_FONTSTYLE,mxConstants.FONT_SHADOW)});this[_0x2895[3071]](_0x2895[3161],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[849]](mxConstants.ALIGN_LEFT)});this[_0x2895[3071]](_0x2895[3162],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[849]](mxConstants.ALIGN_CENTER)});this[_0x2895[3071]](_0x2895[3163],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[849]](mxConstants.ALIGN_RIGHT)});this[_0x2895[3071]](_0x2895[3164],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[849]](mxConstants.ALIGN_TOP)});this[_0x2895[3071]](_0x2895[3165],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[849]](mxConstants.ALIGN_MIDDLE)});this[_0x2895[3071]](_0x2895[3166],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[849]](mxConstants.ALIGN_BOTTOM)});this[_0x2895[3071]](_0x2895[3167],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT)});this[_0x2895[3071]](_0x2895[3168],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER)});this[_0x2895[3071]](_0x2895[3169],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_ALIGN,mxConstants.ALIGN_RIGHT)});this[_0x2895[3071]](_0x2895[3170],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_TOP)});this[_0x2895[3071]](_0x2895[3171],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)});this[_0x2895[3071]](_0x2895[3172],function(_0x4315x2){_0x4315x2[_0x2895[1179]][_0x2895[994]]()&& _0x4315x2[_0x2895[1179]][_0x2895[1717]](mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_BOTTOM)});this[_0x2895[3071]](_0x2895[499],function(_0x4315x2){var _0x4315x3=100* _0x4315x2[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x3=parseFloat(mxUtils[_0x2895[3173]](mxResources[_0x2895[203]](_0x4315x2[_0x2895[3104]])|| _0x4315x2[_0x2895[3104]],_0x4315x3))/ 100;isNaN(_0x4315x3)|| _0x4315x2[_0x2895[1179]][_0x2895[249]]()[_0x2895[2262]](_0x4315x3)});this[_0x2895[3071]](_0x2895[3174],function(_0x4315x2){null!= _0x4315x2[_0x2895[3112]]?_0x4315x2[_0x2895[3112]][_0x2895[175]](!_0x4315x2[_0x2895[3112]][_0x2895[174]]()):_0x4315x2[_0x2895[3175]]()});this[_0x2895[3071]](_0x2895[3176],function(_0x4315x2){null!= _0x4315x2[_0x2895[2719]]?_0x4315x2[_0x2895[2719]][_0x2895[175]](!_0x4315x2[_0x2895[2719]][_0x2895[174]]()):_0x4315x2[_0x2895[3177]]()});this[_0x2895[3071]](_0x2895[3178],function(_0x4315x2){null== _0x4315x2[_0x2895[2136]]?_0x4315x2[_0x2895[3179]]():_0x4315x2[_0x2895[2136]][_0x2895[175]](!_0x4315x2[_0x2895[2136]][_0x2895[174]]())});this[_0x2895[3071]](_0x2895[3180],function(_0x4315x2){mxLog[_0x2895[175]](!mxLog[_0x2895[174]]())})};mxEditor[_0x2895[202]][_0x2895[3102]]= function(){var _0x4315x2=mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[746]]( new mxEventObject(mxEvent.SESSION,_0x2895[812],_0x4315x2))});return this[_0x2895[807]](this[_0x2895[1056]],this[_0x2895[1057]],this[_0x2895[1058]],_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3099]]= function(_0x4315x2){null!= _0x4315x2&& (( new mxCodec(_0x4315x2[_0x2895[295]]))[_0x2895[1093]](_0x4315x2,this),this[_0x2895[3181]]())};mxEditor[_0x2895[202]][_0x2895[3182]]= function(){document[_0x2895[3183]]= _0x2895[3184]};mxEditor[_0x2895[202]][_0x2895[3181]]= function(){this[_0x2895[1184]]= ( new Date)[_0x2895[178]]();this[_0x2895[3095]][_0x2895[200]]();this[_0x2895[1183]]= 0;this[_0x2895[2128]](!1)};mxEditor[_0x2895[202]][_0x2895[3071]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3091]][_0x4315x2]= _0x4315x3};mxEditor[_0x2895[202]][_0x2895[350]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[3091]][_0x4315x2];if(null!= _0x4315x5){try{var _0x4315x9=arguments;_0x4315x9[0]= this;_0x4315x5[_0x2895[183]](this,_0x4315x9)}catch(f){throw mxUtils[_0x2895[267]](_0x2895[3185]+ _0x4315x2+ _0x2895[3186]+ f[_0x2895[281]],280,!0),f}}else {mxUtils[_0x2895[267]](_0x2895[3187]+ _0x4315x2,280,!0)}};mxEditor[_0x2895[202]][_0x2895[3188]]= function(_0x4315x2,_0x4315x3){this[_0x2895[3118]][_0x4315x2]= _0x4315x3};mxEditor[_0x2895[202]][_0x2895[3189]]= function(_0x4315x2){return this[_0x2895[3118]][_0x4315x2]};mxEditor[_0x2895[202]][_0x2895[3096]]= function(){var _0x4315x2= new mxGraph(null,null,this[_0x2895[2720]]);_0x4315x2[_0x2895[2673]](!0);_0x4315x2[_0x2895[2674]](!0);this[_0x2895[3190]](_0x4315x2);this[_0x2895[3191]](_0x4315x2);this[_0x2895[3192]](_0x4315x2);this[_0x2895[3193]](_0x4315x2);this[_0x2895[3194]](_0x4315x2);_0x4315x2[_0x2895[2316]][_0x2895[1033]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4,_0x4315x5){return this[_0x2895[3195]](_0x4315x2,_0x4315x4,_0x4315x5)});_0x4315x2[_0x2895[2433]][_0x2895[1033]]= mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x4){return this[_0x2895[2503]](_0x4315x2,_0x4315x4)});this[_0x2895[3196]](_0x4315x2);this[_0x2895[3197]](_0x4315x2);return _0x4315x2};mxEditor[_0x2895[202]][_0x2895[3196]]= function(_0x4315x2){_0x4315x2= new mxSwimlaneManager(_0x4315x2,!1);_0x4315x2[_0x2895[1737]]= mxUtils[_0x2895[885]](this,function(){return this[_0x2895[3089]]});_0x4315x2[_0x2895[994]]= mxUtils[_0x2895[885]](this,function(){return this[_0x2895[3128]]});return _0x4315x2};mxEditor[_0x2895[202]][_0x2895[3197]]= function(_0x4315x2){var _0x4315x3= new mxLayoutManager(_0x4315x2),_0x4315x4=this;_0x4315x3[_0x2895[2754]]= function(_0x4315x3){var _0x4315x9=null,_0x4315xa=_0x4315x4[_0x2895[1179]][_0x2895[502]]();if(null!= _0x4315xa[_0x2895[1197]](_0x4315x3)){if(_0x4315x4[_0x2895[3129]]&& _0x4315x2[_0x2895[1730]](_0x4315x3)){null== _0x4315x4[_0x2895[3198]]&& (_0x4315x4[_0x2895[3198]]= _0x4315x4[_0x2895[3199]]()),_0x4315x9= _0x4315x4[_0x2895[3198]]}else {if(_0x4315x4[_0x2895[3126]]&& (_0x4315x2[_0x2895[2553]](_0x4315x3)|| null== _0x4315xa[_0x2895[1197]](_0x4315xa[_0x2895[1197]](_0x4315x3)))){null== _0x4315x4[_0x2895[3200]]&& (_0x4315x4[_0x2895[3200]]= _0x4315x4[_0x2895[3201]]()),_0x4315x9= _0x4315x4[_0x2895[3200]]}}};return _0x4315x9};return _0x4315x3};mxEditor[_0x2895[202]][_0x2895[3202]]= function(_0x4315x2){null== this[_0x2895[1179]][_0x2895[526]]&& (this[_0x2895[1179]][_0x2895[176]](_0x4315x2),this[_0x2895[3203]]= new mxRubberband(this[_0x2895[1179]]),this[_0x2895[1157]]&& mxEvent[_0x2895[1157]](_0x4315x2),mxClient[_0x2895[496]]&& new mxDivResizer(_0x4315x2))};mxEditor[_0x2895[202]][_0x2895[3190]]= function(_0x4315x2){_0x4315x2[_0x2895[169]](mxEvent.DOUBLE_CLICK,mxUtils[_0x2895[885]](this,function(_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x4[_0x2895[720]](_0x2895[246]);null!= _0x4315x5&& (_0x4315x2[_0x2895[994]]()&& null!= this[_0x2895[3115]])&& (this[_0x2895[350]](this[_0x2895[3115]],_0x4315x5),_0x4315x4[_0x2895[722]]())}))};mxEditor[_0x2895[202]][_0x2895[3191]]= function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){var _0x4315x9=_0x4315x3[_0x2895[720]](_0x2895[1061]);this[_0x2895[3095]][_0x2895[1114]](_0x4315x9)});_0x4315x2[_0x2895[502]]()[_0x2895[169]](mxEvent.UNDO,_0x4315x3);_0x4315x2[_0x2895[249]]()[_0x2895[169]](mxEvent.UNDO,_0x4315x3);_0x4315x3= function(_0x4315x3,_0x4315x5){var _0x4315x9=_0x4315x5[_0x2895[720]](_0x2895[1061])[_0x2895[1065]];_0x4315x2[_0x2895[904]](_0x4315x2[_0x2895[2436]](_0x4315x9))};this[_0x2895[3095]][_0x2895[169]](mxEvent.UNDO,_0x4315x3);this[_0x2895[3095]][_0x2895[169]](mxEvent.REDO,_0x4315x3)};mxEditor[_0x2895[202]][_0x2895[3192]]= function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[885]](this,function(_0x4315x2){this[_0x2895[746]]( new mxEventObject(mxEvent.ROOT))});_0x4315x2[_0x2895[249]]()[_0x2895[169]](mxEvent.DOWN,_0x4315x3);_0x4315x2[_0x2895[249]]()[_0x2895[169]](mxEvent.UP,_0x4315x3)};mxEditor[_0x2895[202]][_0x2895[3193]]= function(_0x4315x2){var _0x4315x3=mxUtils[_0x2895[885]](this,function(_0x4315x3,_0x4315x5){this[_0x2895[2128]](!0);!0== this[_0x2895[3140]]&& _0x4315x2[_0x2895[2585]]();for(var _0x4315x9=_0x4315x5[_0x2895[720]](_0x2895[1061])[_0x2895[1065]],_0x4315xa=0;_0x4315xa< _0x4315x9[_0x2895[67]];_0x4315xa++){var _0x4315x12=_0x4315x9[_0x4315xa];if(_0x4315x12 instanceof mxRootChange|| _0x4315x12 instanceof mxValueChange&& _0x4315x12[_0x2895[246]]== this[_0x2895[1179]][_0x2895[251]][_0x2895[813]]|| _0x4315x12 instanceof mxCellAttributeChange&& _0x4315x12[_0x2895[246]]== this[_0x2895[1179]][_0x2895[251]][_0x2895[813]]){this[_0x2895[746]]( new mxEventObject(mxEvent.ROOT));break}}});_0x4315x2[_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,_0x4315x3)};mxEditor[_0x2895[202]][_0x2895[3194]]= function(_0x4315x2){var _0x4315x3=this;_0x4315x2[_0x2895[1133]]({mouseDown:function(_0x4315x2,_0x4315x5){if(null!= _0x4315x3[_0x2895[3083]]&& !_0x4315x5[_0x2895[737]]()&& (_0x4315x3[_0x2895[3117]]|| null== _0x4315x5[_0x2895[248]]())){_0x4315x3[_0x2895[1179]][_0x2895[2440]](),_0x4315x3[_0x2895[3083]](_0x4315x5[_0x2895[727]](),_0x4315x5[_0x2895[736]]()),this[_0x2895[1142]]= !0,_0x4315x5[_0x2895[722]]()}},mouseMove:function(_0x4315x2,_0x4315x3){this[_0x2895[1142]]&& _0x4315x3[_0x2895[722]]()},mouseUp:function(_0x4315x2,_0x4315x3){this[_0x2895[1142]]&& (this[_0x2895[1142]]= !1,_0x4315x3[_0x2895[722]]())}})};mxEditor[_0x2895[202]][_0x2895[3201]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[1020]],_0x4315x3= new mxStackLayout(this[_0x2895[1179]],!this[_0x2895[3089]],this[_0x2895[3127]],2* _0x4315x2,2* _0x4315x2);_0x4315x3[_0x2895[1713]]= function(_0x4315x2){return !_0x4315x3[_0x2895[1179]][_0x2895[1730]](_0x4315x2)};return _0x4315x3};mxEditor[_0x2895[202]][_0x2895[3199]]= function(){return new mxCompactTreeLayout(this[_0x2895[1179]],this[_0x2895[3089]])};mxEditor[_0x2895[202]][_0x2895[3097]]= function(){return new mxDefaultToolbar(null,this)};mxEditor[_0x2895[202]][_0x2895[3204]]= function(_0x4315x2){this[_0x2895[3082]][_0x2895[176]](_0x4315x2);mxClient[_0x2895[496]]&& new mxDivResizer(_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3205]]= function(_0x4315x2){null== this[_0x2895[879]]&& (this[_0x2895[879]]= _0x4315x2,this[_0x2895[169]](mxEvent.SAVE,mxUtils[_0x2895[885]](this,function(){var _0x4315x2=( new Date)[_0x2895[3206]]();this[_0x2895[3207]]((mxResources[_0x2895[203]](this[_0x2895[3106]])|| this[_0x2895[3106]])+ _0x2895[3186]+ _0x4315x2)})),this[_0x2895[169]](mxEvent.OPEN,mxUtils[_0x2895[885]](this,function(){this[_0x2895[3207]]((mxResources[_0x2895[203]](this[_0x2895[3108]])|| this[_0x2895[3108]])+ _0x2895[3186]+ this[_0x2895[3122]])})),mxClient[_0x2895[496]]&& new mxDivResizer(_0x4315x2))};mxEditor[_0x2895[202]][_0x2895[3207]]= function(_0x4315x2){null!= this[_0x2895[879]]&& null!= _0x4315x2&& (this[_0x2895[879]][_0x2895[339]]= _0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3208]]= function(_0x4315x2){this[_0x2895[169]](mxEvent.ROOT,mxUtils[_0x2895[885]](this,function(_0x4315x3){_0x4315x2[_0x2895[339]]= this[_0x2895[3209]]()}));mxClient[_0x2895[496]]&& new mxDivResizer(_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3210]]= function(_0x4315x2,_0x4315x3){null!= _0x4315x2&& ( new mxCompactTreeLayout(this[_0x2895[1179]],_0x4315x3))[_0x2895[350]](_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3209]]= function(){for(var _0x4315x2=_0x2895[110],_0x4315x3=this[_0x2895[1179]],_0x4315x4=_0x4315x3[_0x2895[2534]]();null!= _0x4315x4&& null!= _0x4315x3[_0x2895[502]]()[_0x2895[1197]](_0x4315x3[_0x2895[502]]()[_0x2895[1197]](_0x4315x4));){_0x4315x3[_0x2895[2553]](_0x4315x4)&& (_0x4315x2= _0x2895[3211]+ _0x4315x3[_0x2895[2454]](_0x4315x4)+ _0x4315x2),_0x4315x4= _0x4315x3[_0x2895[502]]()[_0x2895[1197]](_0x4315x4)};return this[_0x2895[3212]]()+ _0x4315x2};mxEditor[_0x2895[202]][_0x2895[3212]]= function(){var _0x4315x2=this[_0x2895[1179]][_0x2895[502]]()[_0x2895[501]]();return this[_0x2895[1179]][_0x2895[2454]](_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[824]]= function(){this[_0x2895[3095]][_0x2895[824]]()};mxEditor[_0x2895[202]][_0x2895[825]]= function(){this[_0x2895[3095]][_0x2895[825]]()};mxEditor[_0x2895[202]][_0x2895[844]]= function(){var _0x4315x2=null!= this[_0x2895[3121]]?this[_0x2895[3121]]:this[_0x2895[1179]][_0x2895[1020]];return this[_0x2895[1179]][_0x2895[844]](this[_0x2895[3213]](),_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3213]]= function(){return this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1978]](this[_0x2895[3120]])};mxEditor[_0x2895[202]][_0x2895[392]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=mxUtils[_0x2895[219]](_0x4315x2)[_0x2895[875]]();this[_0x2895[3214]](_0x4315x3[_0x2895[158]]);this[_0x2895[3122]]= _0x4315x2;this[_0x2895[746]]( new mxEventObject(mxEvent.OPEN,_0x2895[3122],_0x4315x2))}};mxEditor[_0x2895[202]][_0x2895[3214]]= function(_0x4315x2){( new mxCodec(_0x4315x2[_0x2895[295]]))[_0x2895[1093]](_0x4315x2,this[_0x2895[1179]][_0x2895[502]]());this[_0x2895[3181]]()};mxEditor[_0x2895[202]][_0x2895[815]]= function(_0x4315x2,_0x4315x3){_0x4315x2= _0x4315x2|| this[_0x2895[3215]]();if(null!= _0x4315x2&& 0< _0x4315x2[_0x2895[67]]){var _0x4315x4=this[_0x2895[3216]](_0x4315x3);this[_0x2895[3217]](_0x4315x2,_0x4315x4);this[_0x2895[2128]](!1)};this[_0x2895[746]]( new mxEventObject(mxEvent.SAVE,_0x2895[863],_0x4315x2))};mxEditor[_0x2895[202]][_0x2895[3217]]= function(_0x4315x2,_0x4315x3){this[_0x2895[1070]]&& (_0x4315x3= encodeURIComponent(_0x4315x3));mxUtils[_0x2895[814]](_0x4315x2,this[_0x2895[3123]]+ _0x2895[226]+ _0x4315x3,mxUtils[_0x2895[885]](this,function(_0x4315x4){this[_0x2895[746]]( new mxEventObject(mxEvent.POST,_0x2895[870],_0x4315x4,_0x2895[863],_0x4315x2,_0x2895[410],_0x4315x3))}))};mxEditor[_0x2895[202]][_0x2895[3216]]= function(_0x4315x2){_0x4315x2= null!= _0x4315x2?_0x4315x2:this[_0x2895[1069]];var _0x4315x3=( new mxCodec)[_0x2895[514]](this[_0x2895[1179]][_0x2895[502]]());return mxUtils[_0x2895[875]](_0x4315x3,_0x4315x2)};mxEditor[_0x2895[202]][_0x2895[3215]]= function(){return this[_0x2895[3124]]};mxEditor[_0x2895[202]][_0x2895[3142]]= function(){return this[_0x2895[3125]]};mxEditor[_0x2895[202]][_0x2895[807]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){var _0x4315x9=null;mxClient[_0x2895[3101]]|| (_0x4315x9= new mxSession(this[_0x2895[1179]][_0x2895[502]](),_0x4315x2,_0x4315x3,_0x4315x4),_0x4315x9[_0x2895[169]](mxEvent.RECEIVE,mxUtils[_0x2895[885]](this,function(_0x4315x2,_0x4315x3){null!= _0x4315x3[_0x2895[720]](_0x2895[252])[_0x2895[284]](_0x2895[1088])&& this[_0x2895[3181]]()})),_0x4315x9[_0x2895[169]](mxEvent.DISCONNECT,_0x4315x5),_0x4315x9[_0x2895[169]](mxEvent.CONNECT,_0x4315x5),_0x4315x9[_0x2895[169]](mxEvent.NOTIFY,_0x4315x5),_0x4315x9[_0x2895[169]](mxEvent.GET,_0x4315x5),_0x4315x9[_0x2895[861]]());return _0x4315x9};mxEditor[_0x2895[202]][_0x2895[3218]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=this[_0x2895[1179]][_0x2895[2434]]()[_0x2895[2054]][_0x4315x3];this[_0x2895[1179]][_0x2895[249]]()[_0x2895[2434]]()[_0x2895[2074]](_0x4315x3,this[_0x2895[1179]][_0x2895[2434]]()[_0x2895[2054]][_0x4315x2]);this[_0x2895[1179]][_0x2895[2434]]()[_0x2895[2074]](_0x4315x2,_0x4315x4);this[_0x2895[1179]][_0x2895[802]]()};mxEditor[_0x2895[202]][_0x2895[3150]]= function(_0x4315x2){_0x4315x2= _0x4315x2|| this[_0x2895[1179]][_0x2895[2452]]();null== _0x4315x2&& (_0x4315x2= this[_0x2895[1179]][_0x2895[2534]](),null== _0x4315x2&& (_0x4315x2= this[_0x2895[1179]][_0x2895[502]]()[_0x2895[501]]()));if(null!= _0x4315x2){this[_0x2895[1179]][_0x2895[2126]](!0);var _0x4315x3=mxUtils[_0x2895[445]](this[_0x2895[1179]][_0x2895[526]]),_0x4315x4=_0x4315x3[_0x2895[235]]+ 10,_0x4315x3=_0x4315x3[_0x2895[236]];if(null!= this[_0x2895[716]]&& !this[_0x2895[3139]]){_0x4315x4= this[_0x2895[716]][_0x2895[730]](),_0x4315x3= this[_0x2895[716]][_0x2895[732]]()}else {var _0x4315x5=this[_0x2895[1179]][_0x2895[2555]](_0x4315x2);null!= _0x4315x5&& (_0x4315x4+= _0x4315x5[_0x2895[235]]+ Math[_0x2895[243]](200,_0x4315x5[_0x2895[117]]),_0x4315x3+= _0x4315x5[_0x2895[236]])};this[_0x2895[3062]]();_0x4315x2= this[_0x2895[3219]](_0x4315x2);null!= _0x4315x2&& (this[_0x2895[716]]= new mxWindow(mxResources[_0x2895[203]](this[_0x2895[3110]])|| this[_0x2895[3110]],_0x4315x2,_0x4315x4,_0x4315x3,this[_0x2895[3137]],this[_0x2895[3138]],!1),this[_0x2895[716]][_0x2895[175]](!0))}};mxEditor[_0x2895[202]][_0x2895[3220]]= function(){return null!= this[_0x2895[716]]};mxEditor[_0x2895[202]][_0x2895[3219]]= function(_0x4315x2){var _0x4315x3=this[_0x2895[1179]][_0x2895[502]](),_0x4315x4=_0x4315x3[_0x2895[433]](_0x4315x2);if(mxUtils[_0x2895[1331]](_0x4315x4)){var _0x4315x5= new mxForm(_0x2895[716]);_0x4315x5[_0x2895[961]](_0x2895[3222],_0x4315x2[_0x2895[1103]]())[_0x2895[57]](_0x2895[3221],_0x2895[128]);var _0x4315x9=null,_0x4315xa=null,_0x4315x12=null,_0x4315x13=null,_0x4315x14=null;_0x4315x3[_0x2895[1193]](_0x4315x2)&& (_0x4315x9= _0x4315x3[_0x2895[1721]](_0x4315x2),null!= _0x4315x9&& (_0x4315xa= _0x4315x5[_0x2895[961]](_0x2895[125],_0x4315x9[_0x2895[236]]),_0x4315x12= _0x4315x5[_0x2895[961]](_0x2895[361],_0x4315x9[_0x2895[235]]),_0x4315x13= _0x4315x5[_0x2895[961]](_0x2895[117],_0x4315x9[_0x2895[117]]),_0x4315x14= _0x4315x5[_0x2895[961]](_0x2895[119],_0x4315x9[_0x2895[119]])));for(var _0x4315x15=_0x4315x3[_0x2895[474]](_0x4315x2),_0x4315x16=_0x4315x5[_0x2895[961]](_0x2895[3223],_0x4315x15|| _0x2895[110]),_0x4315x17=_0x4315x4[_0x2895[320]],_0x4315x18=[],_0x4315x4=0;_0x4315x4< _0x4315x17[_0x2895[67]];_0x4315x4++){_0x4315x18[_0x4315x4]= _0x4315x5[_0x2895[968]](_0x4315x17[_0x4315x4][_0x2895[301]],_0x4315x17[_0x4315x4][_0x2895[318]],_0x2895[685]== _0x4315x17[_0x4315x4][_0x2895[301]]?4:2)};_0x4315x4= mxUtils[_0x2895[885]](this,function(){this[_0x2895[3062]]();_0x4315x3[_0x2895[473]]();try{null!= _0x4315x9&& (_0x4315x9= _0x4315x9[_0x2895[238]](),_0x4315x9[_0x2895[235]]= parseFloat(_0x4315x12[_0x2895[131]]),_0x4315x9[_0x2895[236]]= parseFloat(_0x4315xa[_0x2895[131]]),_0x4315x9[_0x2895[117]]= parseFloat(_0x4315x13[_0x2895[131]]),_0x4315x9[_0x2895[119]]= parseFloat(_0x4315x14[_0x2895[131]]),_0x4315x3[_0x2895[1724]](_0x4315x2,_0x4315x9));0< _0x4315x16[_0x2895[131]][_0x2895[67]]?_0x4315x3[_0x2895[475]](_0x4315x2,_0x4315x16[_0x2895[131]]):_0x4315x3[_0x2895[475]](_0x4315x2,null);for(var _0x4315x4=0;_0x4315x4< _0x4315x17[_0x2895[67]];_0x4315x4++){var _0x4315x5= new mxCellAttributeChange(_0x4315x2,_0x4315x17[_0x4315x4][_0x2895[301]],_0x4315x18[_0x4315x4][_0x2895[131]]);_0x4315x3[_0x2895[350]](_0x4315x5)};this[_0x2895[1179]][_0x2895[2455]](_0x4315x2)&& this[_0x2895[1179]][_0x2895[858]](_0x4315x2)}finally{_0x4315x3[_0x2895[476]]()}});_0x4315x15= mxUtils[_0x2895[885]](this,function(){this[_0x2895[3062]]()});_0x4315x5[_0x2895[956]](_0x4315x4,_0x4315x15);return _0x4315x5[_0x2895[116]]};return null};mxEditor[_0x2895[202]][_0x2895[3062]]= function(){null!= this[_0x2895[716]]&& (this[_0x2895[716]][_0x2895[515]](),this[_0x2895[716]]= null)};mxEditor[_0x2895[202]][_0x2895[3175]]= function(){if(null== this[_0x2895[3112]]){var _0x4315x2=document[_0x2895[55]](_0x2895[485]);_0x4315x2[_0x2895[124]][_0x2895[549]]= _0x2895[952];_0x4315x2[_0x2895[124]][_0x2895[357]]= _0x2895[550];var _0x4315x3=document[_0x2895[112]][_0x2895[159]],_0x4315x3= new mxWindow(mxResources[_0x2895[203]](this[_0x2895[3111]])|| this[_0x2895[3111]],_0x4315x2,_0x4315x3- 220,this[_0x2895[3132]],200);_0x4315x3[_0x2895[164]](!0);_0x4315x3[_0x2895[165]]= !1;var _0x4315x4=mxUtils[_0x2895[885]](this,function(_0x4315x3){mxEvent[_0x2895[762]](_0x4315x2);_0x4315x2[_0x2895[339]]= _0x2895[110];this[_0x2895[3224]](_0x4315x2)});this[_0x2895[1179]][_0x2895[502]]()[_0x2895[169]](mxEvent.CHANGE,_0x4315x4);this[_0x2895[1179]][_0x2895[2435]]()[_0x2895[169]](mxEvent.CHANGE,_0x4315x4);this[_0x2895[1179]][_0x2895[169]](mxEvent.ROOT,_0x4315x4);null!= this[_0x2895[3131]]&& _0x4315x3[_0x2895[951]](this[_0x2895[3131]]);this[_0x2895[3112]]= _0x4315x3;this[_0x2895[3224]](_0x4315x2)};this[_0x2895[3112]][_0x2895[175]](!0)};mxEditor[_0x2895[202]][_0x2895[3225]]= function(_0x4315x2){null!= this[_0x2895[3112]]&& (_0x4315x2= this[_0x2895[3112]][_0x2895[905]],mxEvent[_0x2895[762]](_0x4315x2),_0x4315x2[_0x2895[339]]= _0x2895[110],this[_0x2895[3224]](_0x4315x2))};mxEditor[_0x2895[202]][_0x2895[3224]]= function(_0x4315x2){};mxEditor[_0x2895[202]][_0x2895[3177]]= function(_0x4315x2){if(null== this[_0x2895[2719]]){var _0x4315x3=document[_0x2895[55]](_0x2895[389]);_0x4315x3[_0x2895[57]](_0x2895[390],mxResources[_0x2895[203]](_0x2895[3134])|| this[_0x2895[3134]]);_0x4315x3[_0x2895[57]](_0x2895[119],_0x2895[118]);_0x4315x3[_0x2895[57]](_0x2895[117],_0x2895[118]);_0x4315x3[_0x2895[57]](_0x2895[3226],_0x2895[468]);_0x4315x3[_0x2895[124]][_0x2895[1028]]= _0x2895[1391];_0x4315x2= document[_0x2895[112]][_0x2895[159]];var _0x4315x4=document[_0x2895[112]][_0x2895[157]]|| document[_0x2895[158]][_0x2895[157]],_0x4315x5= new mxWindow(mxResources[_0x2895[203]](this[_0x2895[3113]])|| this[_0x2895[3113]],_0x4315x3,(_0x4315x2- this[_0x2895[3135]])/ 2,(_0x4315x4- this[_0x2895[3136]])/ 3,this[_0x2895[3135]],this[_0x2895[3136]]);_0x4315x5[_0x2895[161]](!0);_0x4315x5[_0x2895[164]](!0);_0x4315x5[_0x2895[165]]= !1;_0x4315x5[_0x2895[163]](!0);null!= this[_0x2895[3133]]&& _0x4315x5[_0x2895[951]](this[_0x2895[3133]]);mxClient[_0x2895[133]]&& (_0x4315x2= function(_0x4315x2){_0x4315x3[_0x2895[57]](_0x2895[119],_0x4315x5[_0x2895[485]][_0x2895[167]]- 26+ _0x2895[168])},_0x4315x5[_0x2895[169]](mxEvent.RESIZE_END,_0x4315x2),_0x4315x5[_0x2895[169]](mxEvent.MAXIMIZE,_0x4315x2),_0x4315x5[_0x2895[169]](mxEvent.NORMALIZE,_0x4315x2),_0x4315x5[_0x2895[169]](mxEvent.SHOW,_0x4315x2));this[_0x2895[2719]]= _0x4315x5};this[_0x2895[2719]][_0x2895[175]](!0)};mxEditor[_0x2895[202]][_0x2895[3179]]= function(){if(null== this[_0x2895[2136]]){var _0x4315x2=document[_0x2895[55]](_0x2895[485]);_0x4315x2[_0x2895[124]][_0x2895[277]]= _0x2895[188];_0x4315x2[_0x2895[124]][_0x2895[117]]= _0x2895[118];_0x4315x2[_0x2895[124]][_0x2895[119]]= _0x2895[118];_0x4315x2[_0x2895[124]][_0x2895[1537]]= _0x2895[1391];_0x4315x2[_0x2895[124]][_0x2895[270]]= _0x2895[582];var _0x4315x3= new mxWindow(mxResources[_0x2895[203]](this[_0x2895[3114]])|| this[_0x2895[3114]],_0x4315x2,600,480,200,200,!1),_0x4315x4= new mxOutline(this[_0x2895[1179]],_0x4315x2);_0x4315x3[_0x2895[164]](!0);_0x4315x3[_0x2895[163]](!0);_0x4315x3[_0x2895[165]]= !1;_0x4315x3[_0x2895[169]](mxEvent.RESIZE_END,function(){_0x4315x4[_0x2895[2729]]()});this[_0x2895[2136]]= _0x4315x3;this[_0x2895[2136]][_0x2895[2136]]= _0x4315x4};this[_0x2895[2136]][_0x2895[175]](!0);this[_0x2895[2136]][_0x2895[2136]][_0x2895[2729]](!0)};mxEditor[_0x2895[202]][_0x2895[3086]]= function(_0x4315x2){_0x2895[804]== _0x4315x2?(this[_0x2895[1179]][_0x2895[2316]][_0x2895[2840]]= !1,this[_0x2895[1179]][_0x2895[1995]](!1)):_0x2895[807]== _0x4315x2?(this[_0x2895[1179]][_0x2895[2316]][_0x2895[2840]]= !1,this[_0x2895[1179]][_0x2895[1995]](!0)):_0x2895[796]== _0x4315x2&& (this[_0x2895[1179]][_0x2895[2316]][_0x2895[2840]]= !0,this[_0x2895[1179]][_0x2895[1995]](!1))};mxEditor[_0x2895[202]][_0x2895[3195]]= function(_0x4315x2,_0x4315x3,_0x4315x4){this[_0x2895[3094]][_0x2895[3065]](this,_0x4315x2,_0x4315x3,_0x4315x4)};mxEditor[_0x2895[202]][_0x2895[2503]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null;if(null!= this[_0x2895[2075]]){_0x4315x4= this[_0x2895[1179]][_0x2895[502]]()[_0x2895[1978]](this[_0x2895[2075]])}else {_0x4315x4= new mxCell(_0x2895[110]);_0x4315x4[_0x2895[1994]](!0);var _0x4315x5= new mxGeometry;_0x4315x5[_0x2895[1500]]= !0;_0x4315x4[_0x2895[1724]](_0x4315x5)};_0x4315x5= this[_0x2895[2291]]();null!= _0x4315x5&& _0x4315x4[_0x2895[475]](_0x4315x5);return _0x4315x4};mxEditor[_0x2895[202]][_0x2895[2291]]= function(){return this[_0x2895[3119]]};mxEditor[_0x2895[202]][_0x2895[3227]]= function(_0x4315x2){return null!= this[_0x2895[3093]]&& 0< this[_0x2895[3093]][_0x2895[67]]&& this[_0x2895[1179]][_0x2895[1730]](_0x4315x2)?this[_0x2895[3093]][this[_0x2895[3130]]++ % this[_0x2895[3093]][_0x2895[67]]]:null};mxEditor[_0x2895[202]][_0x2895[3228]]= function(_0x4315x2){if(null!= this[_0x2895[3100]]){var _0x4315x3=this[_0x2895[3227]](_0x4315x2);null!= _0x4315x3&& _0x4315x2[_0x2895[475]](_0x4315x2[_0x2895[474]]()+ _0x2895[471]+ this[_0x2895[3100]]+ _0x2895[226]+ _0x4315x3)}};mxEditor[_0x2895[202]][_0x2895[817]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){for(var _0x4315x9=this[_0x2895[1179]][_0x2895[502]]();null!= _0x4315x2&& !this[_0x2895[1179]][_0x2895[2685]](_0x4315x2);){_0x4315x2= _0x4315x9[_0x2895[1197]](_0x4315x2)};_0x4315x2= null!= _0x4315x2?_0x4315x2:this[_0x2895[1179]][_0x2895[2461]](_0x4315x4,_0x4315x5);var _0x4315xa=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[255]],_0x4315x12=_0x4315x9[_0x2895[1721]](_0x4315x3),_0x4315x13=_0x4315x9[_0x2895[1721]](_0x4315x2);if(this[_0x2895[1179]][_0x2895[1730]](_0x4315x3)&& !this[_0x2895[1179]][_0x2895[2412]]){_0x4315x2= null}else {if(null== _0x4315x2&& this[_0x2895[3116]]){return null};if(null!= _0x4315x2&& null!= _0x4315x13){var _0x4315x14=this[_0x2895[1179]][_0x2895[249]]()[_0x2895[248]](_0x4315x2);if(null!= _0x4315x14){if(_0x4315x4-= _0x4315x14[_0x2895[2078]][_0x2895[235]]* _0x4315xa,_0x4315x5-= _0x4315x14[_0x2895[2078]][_0x2895[236]]* _0x4315xa,this[_0x2895[1179]][_0x2895[3229]]){var _0x4315x13=_0x4315x12[_0x2895[117]],_0x4315x15=_0x4315x12[_0x2895[119]],_0x4315x16=_0x4315x14[_0x2895[235]]+ _0x4315x14[_0x2895[117]];_0x4315x4+ _0x4315x13> _0x4315x16&& (_0x4315x4-= _0x4315x4+ _0x4315x13- _0x4315x16);_0x4315x16= _0x4315x14[_0x2895[236]]+ _0x4315x14[_0x2895[119]];_0x4315x5+ _0x4315x15> _0x4315x16&& (_0x4315x5-= _0x4315x5+ _0x4315x15- _0x4315x16)}}else {null!= _0x4315x13&& (_0x4315x4-= _0x4315x13[_0x2895[235]]* _0x4315xa,_0x4315x5-= _0x4315x13[_0x2895[236]]* _0x4315xa)}}};_0x4315x12= _0x4315x12[_0x2895[238]]();_0x4315x12[_0x2895[235]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x4/ _0x4315xa- this[_0x2895[1179]][_0x2895[249]]()[_0x2895[513]][_0x2895[235]]- this[_0x2895[1179]][_0x2895[1020]]/ 2);_0x4315x12[_0x2895[236]]= this[_0x2895[1179]][_0x2895[1021]](_0x4315x5/ _0x4315xa- this[_0x2895[1179]][_0x2895[249]]()[_0x2895[513]][_0x2895[236]]- this[_0x2895[1179]][_0x2895[1020]]/ 2);_0x4315x3[_0x2895[1724]](_0x4315x12);null== _0x4315x2&& (_0x4315x2= this[_0x2895[1179]][_0x2895[902]]());this[_0x2895[3228]](_0x4315x3);this[_0x2895[746]]( new mxEventObject(mxEvent.BEFORE_ADD_VERTEX,_0x2895[1988],_0x4315x3,_0x2895[1101],_0x4315x2));_0x4315x9[_0x2895[473]]();try{_0x4315x3= this[_0x2895[1179]][_0x2895[2103]](_0x4315x3,_0x4315x2),null!= _0x4315x3&& (this[_0x2895[1179]][_0x2895[2509]](_0x4315x3),this[_0x2895[746]]( new mxEventObject(mxEvent.ADD_VERTEX,_0x2895[1988],_0x4315x3)))}finally{_0x4315x9[_0x2895[476]]()};null!= _0x4315x3&& (this[_0x2895[1179]][_0x2895[2450]](_0x4315x3),this[_0x2895[1179]][_0x2895[2564]](_0x4315x3),this[_0x2895[746]]( new mxEventObject(mxEvent.AFTER_ADD_VERTEX,_0x2895[1988],_0x4315x3)));return _0x4315x3};mxEditor[_0x2895[202]][_0x2895[515]]= function(){this[_0x2895[2717]]|| (this[_0x2895[2717]]= !0,null!= this[_0x2895[3112]]&& this[_0x2895[3112]][_0x2895[515]](),null!= this[_0x2895[2136]]&& this[_0x2895[2136]][_0x2895[515]](),null!= this[_0x2895[716]]&& this[_0x2895[716]][_0x2895[515]](),null!= this[_0x2895[3098]]&& this[_0x2895[3098]][_0x2895[515]](),null!= this[_0x2895[3203]]&& this[_0x2895[3203]][_0x2895[515]](),null!= this[_0x2895[3082]]&& this[_0x2895[3082]][_0x2895[515]](),null!= this[_0x2895[1179]]&& this[_0x2895[1179]][_0x2895[515]](),this[_0x2895[3118]]= this[_0x2895[879]]= null)};var mxCodecRegistry={codecs:[],aliases:[],register:function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[718]]();mxCodecRegistry[_0x2895[3230]][_0x4315x3]= _0x4315x2;var _0x4315x4=mxUtils[_0x2895[197]](_0x4315x2[_0x2895[3231]][_0x2895[196]]);_0x4315x4!= _0x4315x3&& mxCodecRegistry[_0x2895[3232]](_0x4315x4,_0x4315x3)};return _0x4315x2},addAlias:function(_0x4315x2,_0x4315x3){mxCodecRegistry[_0x2895[3233]][_0x4315x2]= _0x4315x3},getCodec:function(_0x4315x2){var _0x4315x3=null;if(null!= _0x4315x2){var _0x4315x3=mxUtils[_0x2895[197]](_0x4315x2),_0x4315x4=mxCodecRegistry[_0x2895[3233]][_0x4315x3];null!= _0x4315x4&& (_0x4315x3= _0x4315x4);_0x4315x3= mxCodecRegistry[_0x2895[3230]][_0x4315x3];if(null== _0x4315x3){try{_0x4315x3= new mxObjectCodec( new _0x4315x2),mxCodecRegistry[_0x2895[3234]](_0x4315x3)}catch(d){}}};return _0x4315x3}};function mxCodec(_0x4315x2){this[_0x2895[395]]= _0x4315x2|| mxUtils[_0x2895[306]]();this[_0x2895[68]]= []}mxCodec[_0x2895[202]][_0x2895[395]]= null;mxCodec[_0x2895[202]][_0x2895[68]]= null;mxCodec[_0x2895[202]][_0x2895[3235]]= !1;mxCodec[_0x2895[202]][_0x2895[1104]]= function(_0x4315x2,_0x4315x3){return this[_0x2895[68]][_0x4315x2]= _0x4315x3};mxCodec[_0x2895[202]][_0x2895[3236]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2&& (_0x4315x3= this[_0x2895[68]][_0x4315x2],null== _0x4315x3&& (_0x4315x3= this[_0x2895[1060]](_0x4315x2),null== _0x4315x3&& (_0x4315x2= this[_0x2895[1362]](_0x4315x2),null!= _0x4315x2&& (_0x4315x3= this[_0x2895[1093]](_0x4315x2)))));return _0x4315x3};mxCodec[_0x2895[202]][_0x2895[1060]]= function(_0x4315x2){return null};mxCodec[_0x2895[202]][_0x2895[1362]]= function(_0x4315x2,_0x4315x3){return mxUtils[_0x2895[290]](this[_0x2895[395]][_0x2895[158]],null!= _0x4315x3?_0x4315x3:_0x2895[1363],_0x4315x2)};mxCodec[_0x2895[202]][_0x2895[1103]]= function(_0x4315x2){var _0x4315x3=null;null!= _0x4315x2&& (_0x4315x3= this[_0x2895[3237]](_0x4315x2),null== _0x4315x3&& _0x4315x2 instanceof mxCell&& (_0x4315x3= _0x4315x2[_0x2895[1103]](),null== _0x4315x3&& (_0x4315x3= mxCellPath[_0x2895[385]](_0x4315x2),0== _0x4315x3[_0x2895[67]]&& (_0x4315x3= _0x2895[813]))));return _0x4315x3};mxCodec[_0x2895[202]][_0x2895[3237]]= function(_0x4315x2){return null};mxCodec[_0x2895[202]][_0x2895[514]]= function(_0x4315x2){var _0x4315x3=null;if(null!= _0x4315x2&& null!= _0x4315x2[_0x2895[196]]){var _0x4315x4=mxCodecRegistry[_0x2895[3238]](_0x4315x2[_0x2895[196]]);null!= _0x4315x4?_0x4315x3= _0x4315x4[_0x2895[514]](this,_0x4315x2):mxUtils[_0x2895[1331]](_0x4315x2)?_0x4315x3= mxClient[_0x2895[80]]?_0x4315x2[_0x2895[511]](!0):this[_0x2895[395]][_0x2895[3239]](_0x4315x2,!0):mxLog[_0x2895[283]](_0x2895[3240]+ mxUtils[_0x2895[197]](_0x4315x2[_0x2895[196]]))};return _0x4315x3};mxCodec[_0x2895[202]][_0x2895[1093]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=null;if(null!= _0x4315x2&& _0x4315x2[_0x2895[288]]== mxConstants[_0x2895[289]]){var _0x4315x5=null;try{_0x4315x5= eval(_0x4315x2[_0x2895[301]])}catch(e){};try{var _0x4315xa=mxCodecRegistry[_0x2895[3238]](_0x4315x5);null!= _0x4315xa?_0x4315x4= _0x4315xa[_0x2895[1093]](this,_0x4315x2,_0x4315x3):(_0x4315x4= _0x4315x2[_0x2895[511]](!0),_0x4315x4[_0x2895[1390]](_0x2895[3069]))}catch(g){mxLog[_0x2895[143]](_0x2895[3241]+ _0x4315x2[_0x2895[301]]+ _0x2895[3186]+ g[_0x2895[281]])}};return _0x4315x4};mxCodec[_0x2895[202]][_0x2895[3242]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3[_0x2895[62]](this[_0x2895[514]](_0x4315x2));if(null== _0x4315x4|| _0x4315x4){_0x4315x4= _0x4315x2[_0x2895[262]]();for(var _0x4315x5=0;_0x4315x5< _0x4315x4;_0x4315x5++){this[_0x2895[3242]](_0x4315x2[_0x2895[263]](_0x4315x5),_0x4315x3)}}};mxCodec[_0x2895[202]][_0x2895[3243]]= function(_0x4315x2){return null!= _0x4315x2&& _0x2895[279]== typeof _0x4315x2[_0x2895[3243]]?_0x4315x2[_0x2895[3243]]():!1};mxCodec[_0x2895[202]][_0x2895[3244]]= function(_0x4315x2,_0x4315x3){_0x4315x3= null!= _0x4315x3?_0x4315x3:!0;var _0x4315x4=null;if(null!= _0x4315x2&& _0x4315x2[_0x2895[288]]== mxConstants[_0x2895[289]]){_0x4315x4= mxCodecRegistry[_0x2895[3238]](_0x4315x2[_0x2895[301]]);if(!this[_0x2895[3243]](_0x4315x4)){for(var _0x4315x5=_0x4315x2[_0x2895[285]];null!= _0x4315x5&& !this[_0x2895[3243]](_0x4315x4);){_0x4315x4= mxCodecRegistry[_0x2895[3238]](_0x4315x5[_0x2895[301]]),_0x4315x5= _0x4315x5[_0x2895[287]]}};this[_0x2895[3243]](_0x4315x4)|| (_0x4315x4= mxCodecRegistry[_0x2895[3238]](mxCell));_0x4315x4= _0x4315x4[_0x2895[1093]](this,_0x4315x2);_0x4315x3&& this[_0x2895[3245]](_0x4315x4)};return _0x4315x4};mxCodec[_0x2895[202]][_0x2895[3245]]= function(_0x4315x2){var _0x4315x3=_0x4315x2[_0x2895[1101]],_0x4315x4=_0x4315x2[_0x2895[1709]](!0),_0x4315x5=_0x4315x2[_0x2895[1709]](!1);_0x4315x2[_0x2895[1957]](null,!1);_0x4315x2[_0x2895[1957]](null,!0);_0x4315x2[_0x2895[1101]]= null;null!= _0x4315x3&& _0x4315x3[_0x2895[1937]](_0x4315x2);null!= _0x4315x4&& _0x4315x4[_0x2895[1960]](_0x4315x2,!0);null!= _0x4315x5&& _0x4315x5[_0x2895[1960]](_0x4315x2,!1)};mxCodec[_0x2895[202]][_0x2895[57]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null!= _0x4315x3&& null!= _0x4315x4&& _0x4315x2[_0x2895[57]](_0x4315x3,_0x4315x4)};function mxObjectCodec(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){this[_0x2895[3231]]= _0x4315x2;this[_0x2895[3246]]= null!= _0x4315x3?_0x4315x3:[];this[_0x2895[3247]]= null!= _0x4315x4?_0x4315x4:[];this[_0x2895[3248]]= null!= _0x4315x5?_0x4315x5:[];this[_0x2895[3249]]= {};for(var _0x4315x9 in this[_0x2895[3248]]){this[_0x2895[3249]][this[_0x2895[3248]][_0x4315x9]]= _0x4315x9}}mxObjectCodec[_0x2895[202]][_0x2895[3231]]= null;mxObjectCodec[_0x2895[202]][_0x2895[3246]]= null;mxObjectCodec[_0x2895[202]][_0x2895[3247]]= null;mxObjectCodec[_0x2895[202]][_0x2895[3248]]= null;mxObjectCodec[_0x2895[202]][_0x2895[3249]]= null;mxObjectCodec[_0x2895[202]][_0x2895[718]]= function(){return mxUtils[_0x2895[197]](this[_0x2895[3231]][_0x2895[196]])};mxObjectCodec[_0x2895[202]][_0x2895[3250]]= function(){return new this[_0x2895[3231]][_0x2895[196]]};mxObjectCodec[_0x2895[202]][_0x2895[3251]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[3249]][_0x4315x2];null!= _0x4315x3&& (_0x4315x2= _0x4315x3)};return _0x4315x2};mxObjectCodec[_0x2895[202]][_0x2895[3252]]= function(_0x4315x2){if(null!= _0x4315x2){var _0x4315x3=this[_0x2895[3248]][_0x4315x2];null!= _0x4315x3&& (_0x4315x2= _0x4315x3)};return _0x4315x2};mxObjectCodec[_0x2895[202]][_0x2895[3253]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){return _0x4315x3== mxObjectIdentity[_0x2895[195]]|| 0<= mxUtils[_0x2895[2]](this[_0x2895[3246]],_0x4315x3)};mxObjectCodec[_0x2895[202]][_0x2895[3254]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){return 0<= mxUtils[_0x2895[2]](this[_0x2895[3247]],_0x4315x3)};mxObjectCodec[_0x2895[202]][_0x2895[514]]= function(_0x4315x2,_0x4315x3){var _0x4315x4=_0x4315x2[_0x2895[395]][_0x2895[55]](this[_0x2895[718]]());_0x4315x3= this[_0x2895[3255]](_0x4315x2,_0x4315x3,_0x4315x4);this[_0x2895[3256]](_0x4315x2,_0x4315x3,_0x4315x4);return this[_0x2895[3257]](_0x4315x2,_0x4315x3,_0x4315x4)};mxObjectCodec[_0x2895[202]][_0x2895[3256]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2[_0x2895[57]](_0x4315x4,_0x2895[1363],_0x4315x2[_0x2895[1103]](_0x4315x3));for(var _0x4315x5 in _0x4315x3){var _0x4315x9=_0x4315x5,_0x4315xa=_0x4315x3[_0x4315x9];null!= _0x4315xa&& !this[_0x2895[3253]](_0x4315x3,_0x4315x9,_0x4315xa,!0)&& (mxUtils[_0x2895[1946]](_0x4315x9)&& (_0x4315x9= null),this[_0x2895[3258]](_0x4315x2,_0x4315x3,_0x4315x9,_0x4315xa,_0x4315x4))}};mxObjectCodec[_0x2895[202]][_0x2895[3258]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){if(null!= _0x4315x5){if(this[_0x2895[3254]](_0x4315x3,_0x4315x4,_0x4315x5,!0)){var _0x4315xa=_0x4315x2[_0x2895[1103]](_0x4315x5);if(null== _0x4315xa){mxLog[_0x2895[283]](_0x2895[3259]+ this[_0x2895[718]]()+ _0x2895[87]+ _0x4315x4+ _0x2895[226]+ _0x4315x5);return};_0x4315x5= _0x4315xa};_0x4315xa= this[_0x2895[3231]][_0x4315x4];if(null== _0x4315x4|| _0x4315x2[_0x2895[3235]]|| _0x4315xa!= _0x4315x5){_0x4315x4= this[_0x2895[3252]](_0x4315x4),this[_0x2895[3260]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)}}};mxObjectCodec[_0x2895[202]][_0x2895[3260]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x2895[194]!= typeof _0x4315x5?this[_0x2895[3261]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9):this[_0x2895[3262]](_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9)};mxObjectCodec[_0x2895[202]][_0x2895[3261]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x5= this[_0x2895[3263]](_0x4315x5);null== _0x4315x4?(_0x4315x3= _0x4315x2[_0x2895[395]][_0x2895[55]](_0x2895[99]),_0x2895[279]== typeof _0x4315x5?_0x4315x3[_0x2895[62]](_0x4315x2[_0x2895[395]][_0x2895[344]](_0x4315x5)):_0x4315x2[_0x2895[57]](_0x4315x3,_0x2895[131],_0x4315x5),_0x4315x9[_0x2895[62]](_0x4315x3)):_0x2895[279]!= typeof _0x4315x5&& _0x4315x2[_0x2895[57]](_0x4315x9,_0x4315x4,_0x4315x5)};mxObjectCodec[_0x2895[202]][_0x2895[3262]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5,_0x4315x9){_0x4315x2= _0x4315x2[_0x2895[514]](_0x4315x5);null!= _0x4315x2?(null!= _0x4315x4&& _0x4315x2[_0x2895[57]](_0x2895[3069],_0x4315x4),_0x4315x9[_0x2895[62]](_0x4315x2)):mxLog[_0x2895[283]](_0x2895[3264]+ this[_0x2895[718]]()+ _0x2895[87]+ _0x4315x4+ _0x2895[3186]+ _0x4315x5)};mxObjectCodec[_0x2895[202]][_0x2895[3263]]= function(_0x4315x2){if(_0x2895[82]== typeof _0x4315x2[_0x2895[67]]&& (!0== _0x4315x2|| !1== _0x4315x2)){_0x4315x2= !0== _0x4315x2?_0x2895[500]:_0x2895[468]};return _0x4315x2};mxObjectCodec[_0x2895[202]][_0x2895[3265]]= function(_0x4315x2){mxUtils[_0x2895[1946]](_0x4315x2)&& (_0x4315x2= parseFloat(_0x4315x2));return _0x4315x2};mxObjectCodec[_0x2895[202]][_0x2895[3255]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x3};mxObjectCodec[_0x2895[202]][_0x2895[3257]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x4};mxObjectCodec[_0x2895[202]][_0x2895[1093]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x3[_0x2895[284]](_0x2895[1363]),_0x4315x9=_0x4315x2[_0x2895[68]][_0x4315x5];null== _0x4315x9&& (_0x4315x9= _0x4315x4|| this[_0x2895[3250]](),null!= _0x4315x5&& _0x4315x2[_0x2895[1104]](_0x4315x5,_0x4315x9));_0x4315x3= this[_0x2895[3266]](_0x4315x2,_0x4315x3,_0x4315x9);this[_0x2895[3267]](_0x4315x2,_0x4315x3,_0x4315x9);return this[_0x2895[3268]](_0x4315x2,_0x4315x3,_0x4315x9)};mxObjectCodec[_0x2895[202]][_0x2895[3267]]= function(_0x4315x2,_0x4315x3,_0x4315x4){null!= _0x4315x3&& (this[_0x2895[3269]](_0x4315x2,_0x4315x3,_0x4315x4),this[_0x2895[3270]](_0x4315x2,_0x4315x3,_0x4315x4))};mxObjectCodec[_0x2895[202]][_0x2895[3269]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x3= _0x4315x3[_0x2895[320]];if(null!= _0x4315x3){for(var _0x4315x5=0;_0x4315x5< _0x4315x3[_0x2895[67]];_0x4315x5++){this[_0x2895[3271]](_0x4315x2,_0x4315x3[_0x4315x5],_0x4315x4)}}};mxObjectCodec[_0x2895[202]][_0x2895[3271]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=_0x4315x3[_0x2895[301]];if(_0x2895[3069]!= _0x4315x5&& _0x2895[1363]!= _0x4315x5){_0x4315x3= this[_0x2895[3265]](_0x4315x3[_0x2895[318]]);var _0x4315x9=this[_0x2895[3251]](_0x4315x5);if(this[_0x2895[3254]](_0x4315x4,_0x4315x9,_0x4315x3,!1)){_0x4315x2= _0x4315x2[_0x2895[3236]](_0x4315x3);if(null== _0x4315x2){mxLog[_0x2895[283]](_0x2895[3272]+ this[_0x2895[718]]()+ _0x2895[87]+ _0x4315x5+ _0x2895[226]+ _0x4315x3);return};_0x4315x3= _0x4315x2};this[_0x2895[3253]](_0x4315x4,_0x4315x5,_0x4315x3,!1)|| (_0x4315x4[_0x4315x5]= _0x4315x3)}};mxObjectCodec[_0x2895[202]][_0x2895[3270]]= function(_0x4315x2,_0x4315x3,_0x4315x4){for(_0x4315x3= _0x4315x3[_0x2895[285]];null!= _0x4315x3;){var _0x4315x5=_0x4315x3[_0x2895[287]];_0x4315x3[_0x2895[288]]== mxConstants[_0x2895[289]]&& !this[_0x2895[3273]](_0x4315x2,_0x4315x3,_0x4315x4)&& this[_0x2895[3274]](_0x4315x2,_0x4315x3,_0x4315x4);_0x4315x3= _0x4315x5}};mxObjectCodec[_0x2895[202]][_0x2895[3274]]= function(_0x4315x2,_0x4315x3,_0x4315x4){var _0x4315x5=this[_0x2895[3251]](_0x4315x3[_0x2895[284]](_0x2895[3069]));if(null== _0x4315x5|| !this[_0x2895[3253]](_0x4315x4,_0x4315x5,_0x4315x3,!1)){var _0x4315x9=this[_0x2895[3275]](_0x4315x4,_0x4315x5,_0x4315x3),_0x4315xa=null;_0x2895[99]== _0x4315x3[_0x2895[301]]?(_0x4315xa= _0x4315x3[_0x2895[284]](_0x2895[131]),null== _0x4315xa&& (_0x4315xa= mxUtils[_0x2895[1545]](mxUtils[_0x2895[329]](_0x4315x3)))):_0x4315xa= _0x4315x2[_0x2895[1093]](_0x4315x3,_0x4315x9);this[_0x2895[3276]](_0x4315x4,_0x4315x5,_0x4315xa,_0x4315x9)}};mxObjectCodec[_0x2895[202]][_0x2895[3275]]= function(_0x4315x2,_0x4315x3,_0x4315x4){_0x4315x2= _0x4315x2[_0x4315x3];_0x4315x2 instanceof Array&& 0< _0x4315x2[_0x2895[67]]&& (_0x4315x2= null);return _0x4315x2};mxObjectCodec[_0x2895[202]][_0x2895[3276]]= function(_0x4315x2,_0x4315x3,_0x4315x4,_0x4315x5){null!= _0x4315x4&& _0x4315x4!= _0x4315x5&& (null!= _0x4315x3&& 0< _0x4315x3[_0x2895[67]]?_0x4315x2[_0x4315x3]= _0x4315x4:_0x4315x2[_0x2895[207]](_0x4315x4))};mxObjectCodec[_0x2895[202]][_0x2895[3273]]= function(_0x4315x2,_0x4315x3,_0x4315x4){if(_0x2895[3277]== _0x4315x3[_0x2895[301]]){_0x4315x3= _0x4315x3[_0x2895[284]](_0x2895[298]);if(null!= _0x4315x3){try{var _0x4315x5=mxUtils[_0x2895[219]](_0x4315x3)[_0x2895[874]]();null!= _0x4315x5&& _0x4315x2[_0x2895[1093]](_0x4315x5,_0x4315x4)}catch(e){}};return !0};return !1};mxObjectCodec[_0x2895[202]][_0x2895[3266]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x3};mxObjectCodec[_0x2895[202]][_0x2895[3268]]= function(_0x4315x2,_0x4315x3,_0x4315x4){return _0x4315x4};mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxCell,[_0x2895[1954],_0x2895[1842],_0x2895[1211],_0x2895[1991]],[_0x2895[1101],_0x2895[1097],_0x2895[772]]);_0x4315x2[_0x2895[3243]]= function(){return !0};_0x4315x2[_0x2895[3253]]= function(_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9){return mxObjectCodec[_0x2895[202]][_0x2895[3253]][_0x2895[183]](this,arguments)|| _0x4315x9&& _0x2895[131]== _0x4315x4&& _0x4315x5[_0x2895[288]]== mxConstants[_0x2895[289]]};_0x4315x2[_0x2895[3257]]= function(_0x4315x2,_0x4315x4,_0x4315x5){if(null!= _0x4315x4[_0x2895[131]]&& _0x4315x4[_0x2895[131]][_0x2895[288]]== mxConstants[_0x2895[289]]){var _0x4315x9=_0x4315x5;_0x4315x5= mxClient[_0x2895[80]]?_0x4315x4[_0x2895[131]][_0x2895[511]](!0):_0x4315x2[_0x2895[395]][_0x2895[3239]](_0x4315x4[_0x2895[131]],!0);_0x4315x5[_0x2895[62]](_0x4315x9);_0x4315x2= _0x4315x9[_0x2895[284]](_0x2895[1363]);_0x4315x5[_0x2895[57]](_0x2895[1363],_0x4315x2);_0x4315x9[_0x2895[1390]](_0x2895[1363])};return _0x4315x5};_0x4315x2[_0x2895[3266]]= function(_0x4315x2,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x4,_0x4315xa=this[_0x2895[718]]();_0x4315x4[_0x2895[301]]!= _0x4315xa?(_0x4315x9= _0x4315x4[_0x2895[64]](_0x4315xa)[0],null!= _0x4315x9&& _0x4315x9[_0x2895[265]]== _0x4315x4?(mxUtils[_0x2895[3278]](_0x4315x9,!0),mxUtils[_0x2895[3278]](_0x4315x9,!1),_0x4315x9[_0x2895[265]][_0x2895[266]](_0x4315x9)):_0x4315x9= null,_0x4315x5[_0x2895[131]]= _0x4315x4[_0x2895[511]](!0),_0x4315x4= _0x4315x5[_0x2895[131]][_0x2895[284]](_0x2895[1363]),null!= _0x4315x4&& (_0x4315x5[_0x2895[1945]](_0x4315x4),_0x4315x5[_0x2895[131]][_0x2895[1390]](_0x2895[1363]))):_0x4315x5[_0x2895[1945]](_0x4315x4[_0x2895[284]](_0x2895[1363]));if(null!= _0x4315x9){for(_0x4315x4= 0;_0x4315x4< this[_0x2895[3247]][_0x2895[67]];_0x4315x4++){var _0x4315xa=this[_0x2895[3247]][_0x4315x4],_0x4315x12=_0x4315x9[_0x2895[284]](_0x4315xa);if(null!= _0x4315x12){_0x4315x9[_0x2895[1390]](_0x4315xa);var _0x4315x13=_0x4315x2[_0x2895[68]][_0x4315x12]|| _0x4315x2[_0x2895[1060]](_0x4315x12);null== _0x4315x13&& (_0x4315x12= _0x4315x2[_0x2895[1362]](_0x4315x12),null!= _0x4315x12&& (_0x4315x13= (mxCodecRegistry[_0x2895[3230]][_0x4315x12[_0x2895[301]]]|| this)[_0x2895[1093]](_0x4315x2,_0x4315x12)));_0x4315x5[_0x4315xa]= _0x4315x13}}};return _0x4315x9};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxGraphModel);_0x4315x2[_0x2895[3256]]= function(_0x4315x2,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x2[_0x2895[395]][_0x2895[55]](_0x2895[813]);_0x4315x2[_0x2895[3242]](_0x4315x4[_0x2895[501]](),_0x4315x9);_0x4315x5[_0x2895[62]](_0x4315x9)};_0x4315x2[_0x2895[3274]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x2895[813]== _0x4315x4[_0x2895[301]]?this[_0x2895[3279]](_0x4315x2,_0x4315x4,_0x4315x5):mxObjectCodec[_0x2895[202]][_0x2895[3274]][_0x2895[183]](this,arguments)};_0x4315x2[_0x2895[3279]]= function(_0x4315x2,_0x4315x4,_0x4315x5){var _0x4315x9=null;for(_0x4315x4= _0x4315x4[_0x2895[285]];null!= _0x4315x4;){var _0x4315xa=_0x4315x2[_0x2895[3244]](_0x4315x4);null!= _0x4315xa&& null== _0x4315xa[_0x2895[1197]]()&& (_0x4315x9= _0x4315xa);_0x4315x4= _0x4315x4[_0x2895[287]]};null!= _0x4315x9&& _0x4315x5[_0x2895[1927]](_0x4315x9)};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxRootChange,[_0x2895[251],_0x2895[257],_0x2895[813]]);_0x4315x2[_0x2895[3257]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x4315x2[_0x2895[3242]](_0x4315x4[_0x2895[813]],_0x4315x5);return _0x4315x5};_0x4315x2[_0x2895[3266]]= function(_0x4315x2,_0x4315x4,_0x4315x5){if(null!= _0x4315x4[_0x2895[285]]&& _0x4315x4[_0x2895[285]][_0x2895[288]]== mxConstants[_0x2895[289]]){_0x4315x4= _0x4315x4[_0x2895[511]](!0);var _0x4315x9=_0x4315x4[_0x2895[285]];_0x4315x5[_0x2895[813]]= _0x4315x2[_0x2895[3244]](_0x4315x9,!1);_0x4315x5= _0x4315x9[_0x2895[287]];_0x4315x9[_0x2895[265]][_0x2895[266]](_0x4315x9);for(_0x4315x9= _0x4315x5;null!= _0x4315x9;){_0x4315x5= _0x4315x9[_0x2895[287]],_0x4315x2[_0x2895[3244]](_0x4315x9),_0x4315x9[_0x2895[265]][_0x2895[266]](_0x4315x9),_0x4315x9= _0x4315x5}};return _0x4315x4};_0x4315x2[_0x2895[3268]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x4315x5[_0x2895[257]]= _0x4315x5[_0x2895[813]];return _0x4315x5};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxChildChange,[_0x2895[251],_0x2895[247],_0x2895[1982]],[_0x2895[1101],_0x2895[257]]);_0x4315x2[_0x2895[3254]]= function(_0x4315x2,_0x4315x4,_0x4315x5,_0x4315x9){return _0x2895[247]== _0x4315x4&& (null!= _0x4315x2[_0x2895[257]]|| !_0x4315x9)?!0:0<= mxUtils[_0x2895[2]](this[_0x2895[3247]],_0x4315x4)};_0x4315x2[_0x2895[3257]]= function(_0x4315x2,_0x4315x4,_0x4315x5){this[_0x2895[3254]](_0x4315x4,_0x2895[247],_0x4315x4[_0x2895[247]],!0)?_0x4315x5[_0x2895[57]](_0x2895[247],_0x4315x2[_0x2895[1103]](_0x4315x4[_0x2895[247]])):_0x4315x2[_0x2895[3242]](_0x4315x4[_0x2895[247]],_0x4315x5);return _0x4315x5};_0x4315x2[_0x2895[3266]]= function(_0x4315x2,_0x4315x4,_0x4315x5){if(null!= _0x4315x4[_0x2895[285]]&& _0x4315x4[_0x2895[285]][_0x2895[288]]== mxConstants[_0x2895[289]]){_0x4315x4= _0x4315x4[_0x2895[511]](!0);var _0x4315x9=_0x4315x4[_0x2895[285]];_0x4315x5[_0x2895[247]]= _0x4315x2[_0x2895[3244]](_0x4315x9,!1);_0x4315x5= _0x4315x9[_0x2895[287]];_0x4315x9[_0x2895[265]][_0x2895[266]](_0x4315x9);for(_0x4315x9= _0x4315x5;null!= _0x4315x9;){_0x4315x5= _0x4315x9[_0x2895[287]];if(_0x4315x9[_0x2895[288]]== mxConstants[_0x2895[289]]){var _0x4315xa=_0x4315x9[_0x2895[284]](_0x2895[1363]);null== _0x4315x2[_0x2895[1060]](_0x4315xa)&& _0x4315x2[_0x2895[3244]](_0x4315x9)};_0x4315x9[_0x2895[265]][_0x2895[266]](_0x4315x9);_0x4315x9= _0x4315x5}}else {_0x4315x9= _0x4315x4[_0x2895[284]](_0x2895[247]),_0x4315x5[_0x2895[247]]= _0x4315x2[_0x2895[3236]](_0x4315x9)};return _0x4315x4};_0x4315x2[_0x2895[3268]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x4315x5[_0x2895[247]][_0x2895[1101]]= _0x4315x5[_0x2895[257]];_0x4315x5[_0x2895[257]]= _0x4315x5[_0x2895[1101]];_0x4315x5[_0x2895[1982]]= _0x4315x5[_0x2895[1983]];return _0x4315x5};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxTerminalChange,[_0x2895[251],_0x2895[257]],[_0x2895[246],_0x2895[1984]]);_0x4315x2[_0x2895[3268]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x4315x5[_0x2895[257]]= _0x4315x5[_0x2895[1984]];return _0x4315x5};return _0x4315x2}());var mxGenericChangeCodec=function(_0x4315x2,_0x4315x3){var _0x4315x4= new mxObjectCodec(_0x4315x2,[_0x2895[251],_0x2895[257]],[_0x2895[246]]);_0x4315x4[_0x2895[3268]]= function(_0x4315x2,_0x4315x4,_0x4315xa){mxUtils[_0x2895[1331]](_0x4315xa[_0x2895[246]])&& (_0x4315xa[_0x2895[246]]= _0x4315x2[_0x2895[3244]](_0x4315xa[_0x2895[246]],!1));_0x4315xa[_0x2895[257]]= _0x4315xa[_0x4315x3];return _0x4315xa};return _0x4315x4};mxCodecRegistry[_0x2895[3234]](mxGenericChangeCodec( new mxValueChange,_0x2895[131]));mxCodecRegistry[_0x2895[3234]](mxGenericChangeCodec( new mxStyleChange,_0x2895[124]));mxCodecRegistry[_0x2895[3234]](mxGenericChangeCodec( new mxGeometryChange,_0x2895[256]));mxCodecRegistry[_0x2895[3234]](mxGenericChangeCodec( new mxCollapseChange,_0x2895[1985]));mxCodecRegistry[_0x2895[3234]](mxGenericChangeCodec( new mxVisibleChange,_0x2895[189]));mxCodecRegistry[_0x2895[3234]](mxGenericChangeCodec( new mxCellAttributeChange,_0x2895[131]));mxCodecRegistry[_0x2895[3234]](function(){return new mxObjectCodec( new mxGraph,_0x2895[3280][_0x2895[224]](_0x2895[185]))}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxGraphView);_0x4315x2[_0x2895[514]]= function(_0x4315x2,_0x4315x4){return this[_0x2895[3242]](_0x4315x2,_0x4315x4,_0x4315x4[_0x2895[1179]][_0x2895[502]]()[_0x2895[501]]())};_0x4315x2[_0x2895[3242]]= function(_0x4315x2,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x4[_0x2895[1179]][_0x2895[502]](),_0x4315xa=_0x4315x4[_0x2895[248]](_0x4315x5),_0x4315x12=_0x4315x9[_0x2895[1197]](_0x4315x5);if(null== _0x4315x12|| null!= _0x4315xa){var _0x4315x13=_0x4315x9[_0x2895[262]](_0x4315x5),_0x4315x14=_0x4315x4[_0x2895[1179]][_0x2895[1198]](_0x4315x5),_0x4315x15=null;_0x4315x12== _0x4315x9[_0x2895[501]]()?_0x4315x15= _0x2895[3281]:null== _0x4315x12?_0x4315x15= _0x2895[1179]:_0x4315x9[_0x2895[250]](_0x4315x5)?_0x4315x15= _0x2895[1989]:0< _0x4315x13&& null!= _0x4315x14?_0x4315x15= _0x2895[1504]:_0x4315x9[_0x2895[1193]](_0x4315x5)&& (_0x4315x15= _0x2895[1988]);if(null!= _0x4315x15){var _0x4315x16=_0x4315x2[_0x2895[395]][_0x2895[55]](_0x4315x15);null!= _0x4315x4[_0x2895[1179]][_0x2895[2183]](_0x4315x5)&& (_0x4315x16[_0x2895[57]](_0x2895[685],_0x4315x4[_0x2895[1179]][_0x2895[2183]](_0x4315x5)),_0x4315x4[_0x2895[1179]][_0x2895[2186]](_0x4315x5)&& _0x4315x16[_0x2895[57]](_0x2895[1428],!0));if(null== _0x4315x12){var _0x4315x17=_0x4315x4[_0x2895[517]]();null!= _0x4315x17&& (_0x4315x16[_0x2895[57]](_0x2895[235],Math[_0x2895[488]](_0x4315x17[_0x2895[235]])),_0x4315x16[_0x2895[57]](_0x2895[236],Math[_0x2895[488]](_0x4315x17[_0x2895[236]])),_0x4315x16[_0x2895[57]](_0x2895[117],Math[_0x2895[488]](_0x4315x17[_0x2895[117]])),_0x4315x16[_0x2895[57]](_0x2895[119],Math[_0x2895[488]](_0x4315x17[_0x2895[119]])));_0x4315x16[_0x2895[57]](_0x2895[255],_0x4315x4[_0x2895[255]])}else {if(null!= _0x4315xa&& null!= _0x4315x14){for(_0x4315x17 in _0x4315xa[_0x2895[124]]){_0x4315x12= _0x4315xa[_0x2895[124]][_0x4315x17],_0x2895[279]== typeof _0x4315x12&& _0x2895[194]== typeof _0x4315x12&& (_0x4315x12= mxStyleRegistry[_0x2895[718]](_0x4315x12)),null!= _0x4315x12&& (_0x2895[279]!= typeof _0x4315x12&& _0x2895[194]!= typeof _0x4315x12)&& _0x4315x16[_0x2895[57]](_0x4315x17,_0x4315x12)};_0x4315x12= _0x4315xa[_0x2895[439]];if(null!= _0x4315x12&& 0< _0x4315x12[_0x2895[67]]){_0x4315x14= Math[_0x2895[488]](_0x4315x12[0][_0x2895[235]])+ _0x2895[537]+ Math[_0x2895[488]](_0x4315x12[0][_0x2895[236]]);for(_0x4315x17= 1;_0x4315x17< _0x4315x12[_0x2895[67]];_0x4315x17++){_0x4315x14+= _0x2895[185]+ Math[_0x2895[488]](_0x4315x12[_0x4315x17][_0x2895[235]])+ _0x2895[537]+ Math[_0x2895[488]](_0x4315x12[_0x4315x17][_0x2895[236]])};_0x4315x16[_0x2895[57]](_0x2895[1525],_0x4315x14)}else {_0x4315x16[_0x2895[57]](_0x2895[235],Math[_0x2895[488]](_0x4315xa[_0x2895[235]])),_0x4315x16[_0x2895[57]](_0x2895[236],Math[_0x2895[488]](_0x4315xa[_0x2895[236]])),_0x4315x16[_0x2895[57]](_0x2895[117],Math[_0x2895[488]](_0x4315xa[_0x2895[117]])),_0x4315x16[_0x2895[57]](_0x2895[119],Math[_0x2895[488]](_0x4315xa[_0x2895[119]]))};_0x4315x17= _0x4315xa[_0x2895[2079]];null!= _0x4315x17&& (0!= _0x4315x17[_0x2895[235]]&& _0x4315x16[_0x2895[57]](_0x2895[1126],Math[_0x2895[488]](_0x4315x17[_0x2895[235]])),0!= _0x4315x17[_0x2895[236]]&& _0x4315x16[_0x2895[57]](_0x2895[1125],Math[_0x2895[488]](_0x4315x17[_0x2895[236]])))}};for(_0x4315x17= 0;_0x4315x17< _0x4315x13;_0x4315x17++){_0x4315xa= this[_0x2895[3242]](_0x4315x2,_0x4315x4,_0x4315x9[_0x2895[263]](_0x4315x5,_0x4315x17)),null!= _0x4315xa&& _0x4315x16[_0x2895[62]](_0x4315xa)}}};return _0x4315x16};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxStylesheet);_0x4315x2[_0x2895[514]]= function(_0x4315x2,_0x4315x4){var _0x4315x5=_0x4315x2[_0x2895[395]][_0x2895[55]](this[_0x2895[718]]()),_0x4315x9;for(_0x4315x9 in _0x4315x4[_0x2895[2054]]){var _0x4315xa=_0x4315x4[_0x2895[2054]][_0x4315x9],_0x4315x12=_0x4315x2[_0x2895[395]][_0x2895[55]](_0x2895[99]);if(null!= _0x4315x9){_0x4315x12[_0x2895[57]](_0x2895[3069],_0x4315x9);for(var _0x4315x13 in _0x4315xa){var _0x4315x14=this[_0x2895[3282]](_0x4315x13,_0x4315xa[_0x4315x13]);if(null!= _0x4315x14){var _0x4315x15=_0x4315x2[_0x2895[395]][_0x2895[55]](_0x2895[99]);_0x4315x15[_0x2895[57]](_0x2895[131],_0x4315x14);_0x4315x15[_0x2895[57]](_0x2895[3069],_0x4315x13);_0x4315x12[_0x2895[62]](_0x4315x15)}};0< _0x4315x12[_0x2895[271]][_0x2895[67]]&& _0x4315x5[_0x2895[62]](_0x4315x12)}};return _0x4315x5};_0x4315x2[_0x2895[3282]]= function(_0x4315x2,_0x4315x4){var _0x4315x5= typeof _0x4315x4;_0x2895[279]== _0x4315x5?_0x4315x4= mxStyleRegistry[_0x2895[718]](style[j]):_0x2895[194]== _0x4315x5&& (_0x4315x4= null);return _0x4315x4};_0x4315x2[_0x2895[1093]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x4315x5= _0x4315x5|| new this[_0x2895[3231]][_0x2895[196]];var _0x4315x9=_0x4315x4[_0x2895[284]](_0x2895[1363]);null!= _0x4315x9&& (_0x4315x2[_0x2895[68]][_0x4315x9]= _0x4315x5);for(_0x4315x4= _0x4315x4[_0x2895[285]];null!= _0x4315x4;){if(!this[_0x2895[3273]](_0x4315x2,_0x4315x4,_0x4315x5)&& _0x2895[99]== _0x4315x4[_0x2895[301]]&& (_0x4315x9= _0x4315x4[_0x2895[284]](_0x2895[3069]),null!= _0x4315x9)){var _0x4315xa=_0x4315x4[_0x2895[284]](_0x2895[1284]),_0x4315x12=null!= _0x4315xa?mxUtils[_0x2895[238]](_0x4315x5[_0x2895[2054]][_0x4315xa]):null;null== _0x4315x12&& (null!= _0x4315xa&& mxLog[_0x2895[283]](_0x2895[3283]+ _0x4315xa+ _0x2895[3284]),_0x4315x12= {});for(_0x4315xa= _0x4315x4[_0x2895[285]];null!= _0x4315xa;){if(_0x4315xa[_0x2895[288]]== mxConstants[_0x2895[289]]){var _0x4315x13=_0x4315xa[_0x2895[284]](_0x2895[3069]);if(_0x2895[99]== _0x4315xa[_0x2895[301]]){var _0x4315x14=mxUtils[_0x2895[329]](_0x4315xa),_0x4315x15=null;null!= _0x4315x14&& 0< _0x4315x14[_0x2895[67]]?_0x4315x15= mxUtils[_0x2895[1545]](_0x4315x14):(_0x4315x15= _0x4315xa[_0x2895[284]](_0x2895[131]),mxUtils[_0x2895[1946]](_0x4315x15)&& (_0x4315x15= parseFloat(_0x4315x15)));null!= _0x4315x15&& (_0x4315x12[_0x4315x13]= _0x4315x15)}else {_0x2895[205]== _0x4315xa[_0x2895[301]]&& delete _0x4315x12[_0x4315x13]}};_0x4315xa= _0x4315xa[_0x2895[287]]};_0x4315x5[_0x2895[2074]](_0x4315x9,_0x4315x12)};_0x4315x4= _0x4315x4[_0x2895[287]]};return _0x4315x5};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxDefaultKeyHandler);_0x4315x2[_0x2895[514]]= function(_0x4315x2,_0x4315x4){return null};_0x4315x2[_0x2895[1093]]= function(_0x4315x2,_0x4315x4,_0x4315x5){if(null!= _0x4315x5){for(_0x4315x4= _0x4315x4[_0x2895[285]];null!= _0x4315x4;){if(!this[_0x2895[3273]](_0x4315x2,_0x4315x4,_0x4315x5)&& _0x2895[99]== _0x4315x4[_0x2895[301]]){var _0x4315x9=_0x4315x4[_0x2895[284]](_0x2895[3069]),_0x4315xa=_0x4315x4[_0x2895[284]](_0x2895[892]),_0x4315x12=_0x4315x4[_0x2895[284]](_0x2895[2207]);_0x4315x5[_0x2895[3063]](_0x4315x9,_0x4315xa,_0x4315x12)};_0x4315x4= _0x4315x4[_0x2895[287]]}};return _0x4315x5};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxDefaultToolbar);_0x4315x2[_0x2895[514]]= function(_0x4315x2,_0x4315x4){return null};_0x4315x2[_0x2895[1093]]= function(_0x4315x2,_0x4315x4,_0x4315x5){if(null!= _0x4315x5){var _0x4315x9=_0x4315x5[_0x2895[3061]];for(_0x4315x4= _0x4315x4[_0x2895[285]];null!= _0x4315x4;){if(_0x4315x4[_0x2895[288]]== mxConstants[_0x2895[289]]&& !this[_0x2895[3273]](_0x4315x2,_0x4315x4,_0x4315x5)){if(_0x2895[3072]== _0x4315x4[_0x2895[301]]){_0x4315x5[_0x2895[1051]]()}else {if(_0x2895[345]== _0x4315x4[_0x2895[301]]){_0x4315x5[_0x2895[3082]][_0x2895[1052]]()}else {if(_0x2895[1054]== _0x4315x4[_0x2895[301]]){_0x4315x5[_0x2895[3082]][_0x2895[1053]]()}else {if(_0x2895[99]== _0x4315x4[_0x2895[301]]){var _0x4315xa=_0x4315x4[_0x2895[284]](_0x2895[3069]),_0x4315xa=mxResources[_0x2895[203]](_0x4315xa)|| _0x4315xa,_0x4315x12=_0x4315x4[_0x2895[284]](_0x2895[2916]),_0x4315x13=_0x4315x4[_0x2895[284]](_0x2895[3285]),_0x4315x14=_0x4315x4[_0x2895[284]](_0x2895[892]),_0x4315x15=_0x4315x4[_0x2895[284]](_0x2895[3286]),_0x4315x16=_0x4315x4[_0x2895[284]](_0x2895[3231]),_0x4315x17=_0x2895[468]!= _0x4315x4[_0x2895[284]](_0x2895[3287]),_0x4315x18=mxUtils[_0x2895[329]](_0x4315x4),_0x4315x19=null;if(null!= _0x4315x14){_0x4315x19= _0x4315x5[_0x2895[1025]](_0x4315xa,_0x4315x12,_0x4315x14,_0x4315x13)}else {if(null!= _0x4315x15){var _0x4315x1a=mxUtils[_0x2895[1545]](_0x4315x18),_0x4315x19=_0x4315x5[_0x2895[1048]](_0x4315xa,_0x4315x12,_0x4315x15,_0x4315x13,_0x4315x1a)}else {if(null!= _0x4315x16|| null!= _0x4315x18&& 0< _0x4315x18[_0x2895[67]]){_0x4315x19= _0x4315x9[_0x2895[3118]][_0x4315x16],_0x4315x16= _0x4315x4[_0x2895[284]](_0x2895[124]),null!= _0x4315x19&& null!= _0x4315x16&& (_0x4315x19= _0x4315x19[_0x2895[238]](),_0x4315x19[_0x2895[475]](_0x4315x16)),_0x4315x16= null,null!= _0x4315x18&& 0< _0x4315x18[_0x2895[67]]&& (_0x4315x16= mxUtils[_0x2895[1545]](_0x4315x18)),_0x4315x19= _0x4315x5[_0x2895[3087]](_0x4315xa,_0x4315x12,_0x4315x19,_0x4315x13,_0x4315x16,_0x4315x17)}else {if(_0x4315x13= mxUtils[_0x2895[1540]](_0x4315x4),0< _0x4315x13[_0x2895[67]]){if(null== _0x4315x12){_0x4315x16= _0x4315x5[_0x2895[1038]](_0x4315xa);for(_0x4315xa= 0;_0x4315xa< _0x4315x13[_0x2895[67]];_0x4315xa++){_0x4315x17= _0x4315x13[_0x4315xa],_0x2895[3072]== _0x4315x17[_0x2895[301]]?_0x4315x5[_0x2895[972]](_0x4315x16,_0x2895[3288]):_0x2895[99]== _0x4315x17[_0x2895[301]]&& (_0x4315x12= _0x4315x17[_0x2895[284]](_0x2895[3069]),_0x4315x17= _0x4315x17[_0x2895[284]](_0x2895[892]),_0x4315x5[_0x2895[3085]](_0x4315x16,_0x4315x12,_0x4315x17))}}else {var _0x4315x1b=null,_0x4315x1c=_0x4315x5[_0x2895[3087]](_0x4315xa,_0x4315x12,function(){var _0x4315x2=_0x4315x9[_0x2895[3118]][_0x4315x1b[_0x2895[131]]];if(null!= _0x4315x2){var _0x4315x2=_0x4315x2[_0x2895[238]](),_0x4315x3=_0x4315x1b[_0x2895[1040]][_0x4315x1b[_0x2895[1039]]][_0x2895[3289]];null!= _0x4315x3&& _0x4315x2[_0x2895[475]](_0x4315x3);return _0x4315x2};mxLog[_0x2895[283]](_0x2895[3290]+ _0x4315x2+ _0x2895[3291]);return null},null,null,_0x4315x17),_0x4315x1b=_0x4315x5[_0x2895[970]]();mxEvent[_0x2895[169]](_0x4315x1b,_0x2895[826],function(){_0x4315x5[_0x2895[3082]][_0x2895[1047]](_0x4315x1c,function(_0x4315x2){_0x4315x2= mxUtils[_0x2895[2196]](_0x4315x9[_0x2895[1179]][_0x2895[526]],mxEvent[_0x2895[731]](_0x4315x2),mxEvent[_0x2895[733]](_0x4315x2));return _0x4315x9[_0x2895[817]](null,_0x4315x1a(),_0x4315x2[_0x2895[235]],_0x4315x2[_0x2895[236]])});_0x4315x5[_0x2895[3082]][_0x2895[1023]]= !1});for(_0x4315xa= 0;_0x4315xa< _0x4315x13[_0x2895[67]];_0x4315xa++){_0x4315x17= _0x4315x13[_0x4315xa],_0x2895[3072]== _0x4315x17[_0x2895[301]]?_0x4315x5[_0x2895[972]](_0x4315x1b,_0x2895[3288]):_0x2895[99]== _0x4315x17[_0x2895[301]]&& (_0x4315x12= _0x4315x17[_0x2895[284]](_0x2895[3069]),_0x4315x18= _0x4315x17[_0x2895[284]](_0x2895[3231]),_0x4315x5[_0x2895[972]](_0x4315x1b,_0x4315x12,_0x4315x18|| _0x4315x16)[_0x2895[3289]]= _0x4315x17[_0x2895[284]](_0x2895[124]))}}}}}};null!= _0x4315x19&& (_0x4315x16= _0x4315x4[_0x2895[284]](_0x2895[1363]),null!= _0x4315x16&& 0< _0x4315x16[_0x2895[67]]&& _0x4315x19[_0x2895[57]](_0x2895[1363],_0x4315x16))}}}}};_0x4315x4= _0x4315x4[_0x2895[287]]}};return _0x4315x5};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxDefaultPopupMenu);_0x4315x2[_0x2895[514]]= function(_0x4315x2,_0x4315x4){return null};_0x4315x2[_0x2895[1093]]= function(_0x4315x2,_0x4315x4,_0x4315x5){var _0x4315x9=_0x4315x4[_0x2895[64]](_0x2895[3277])[0];null!= _0x4315x9?this[_0x2895[3273]](_0x4315x2,_0x4315x9,_0x4315x5):null!= _0x4315x5&& (_0x4315x5[_0x2895[3064]]= _0x4315x4);return _0x4315x5};return _0x4315x2}());mxCodecRegistry[_0x2895[3234]](function(){var _0x4315x2= new mxObjectCodec( new mxEditor,_0x2895[3292][_0x2895[224]](_0x2895[185]));_0x4315x2[_0x2895[3268]]= function(_0x4315x2,_0x4315x4,_0x4315x5){_0x4315x2= _0x4315x4[_0x2895[284]](_0x2895[2075]);null!= _0x4315x2&& (_0x4315x4[_0x2895[1390]](_0x2895[2075]),_0x4315x5[_0x2895[2075]]= _0x4315x5[_0x2895[3118]][_0x4315x2]);_0x4315x2= _0x4315x4[_0x2895[284]](_0x2895[3120]);null!= _0x4315x2&& (_0x4315x4[_0x2895[1390]](_0x2895[3120]),_0x4315x5[_0x2895[3120]]= _0x4315x5[_0x2895[3118]][_0x4315x2]);return _0x4315x5};_0x4315x2[_0x2895[3274]]= function(_0x4315x2,_0x4315x4,_0x4315x5){if(_0x2895[3293]== _0x4315x4[_0x2895[301]]){if(_0x2895[3118]== _0x4315x4[_0x2895[284]](_0x2895[3069])){this[_0x2895[3294]](_0x4315x2,_0x4315x4,_0x4315x5);return}}else {if(_0x2895[3295]== _0x4315x4[_0x2895[301]]){this[_0x2895[3296]](_0x4315x2,_0x4315x4,_0x4315x5);return}};mxObjectCodec[_0x2895[202]][_0x2895[3274]][_0x2895[183]](this,arguments)};_0x4315x2[_0x2895[3296]]= function(_0x4315x2,_0x4315x4,_0x4315x5){for(_0x4315x2= _0x4315x4[_0x2895[285]];null!= _0x4315x2;){if(_0x2895[99]== _0x4315x2[_0x2895[301]]){_0x4315x4= _0x4315x2[_0x2895[284]](_0x2895[3069]);var _0x4315x9=_0x4315x2[_0x2895[284]](_0x2895[980]),_0x4315xa=_0x4315x2[_0x2895[284]](_0x2895[124]),_0x4315x12=null;if(null!= _0x4315x9){_0x4315x12= document[_0x2895[1362]](_0x4315x9),null!= _0x4315x12&& null!= _0x4315xa&& (_0x4315x12[_0x2895[124]][_0x2895[103]]+= _0x2895[471]+ _0x4315xa)}else {var _0x4315x9=parseInt(_0x4315x2[_0x2895[284]](_0x2895[235])),_0x4315x13=parseInt(_0x4315x2[_0x2895[284]](_0x2895[236])),_0x4315x14=_0x4315x2[_0x2895[284]](_0x2895[117]),_0x4315x15=_0x4315x2[_0x2895[284]](_0x2895[119]),_0x4315x12=document[_0x2895[55]](_0x2895[485]);_0x4315x12[_0x2895[124]][_0x2895[103]]= _0x4315xa;( new mxWindow(mxResources[_0x2895[203]](_0x4315x4)|| _0x4315x4,_0x4315x12,_0x4315x9,_0x4315x13,_0x4315x14,_0x4315x15,!1,!0))[_0x2895[175]](!0)};_0x2895[1179]== _0x4315x4?_0x4315x5[_0x2895[3202]](_0x4315x12):_0x2895[3082]== _0x4315x4?_0x4315x5[_0x2895[3204]](_0x4315x12):_0x2895[924]== _0x4315x4?_0x4315x5[_0x2895[3208]](_0x4315x12):_0x2895[879]== _0x4315x4?_0x4315x5[_0x2895[3205]](_0x4315x12):_0x2895[201]== _0x4315x4&& _0x4315x5[_0x2895[3297]](_0x4315x12)}else {_0x2895[3298]== _0x4315x2[_0x2895[301]]?mxResources[_0x2895[99]](_0x4315x2[_0x2895[284]](_0x2895[3299])):_0x2895[94]== _0x4315x2[_0x2895[301]]&& mxClient[_0x2895[54]](_0x2895[94],_0x4315x2[_0x2895[284]](_0x2895[298]))};_0x4315x2= _0x4315x2[_0x2895[287]]}};_0x4315x2[_0x2895[3294]]= function(_0x4315x2,_0x4315x4,_0x4315x5){null== _0x4315x5[_0x2895[3118]]&& (_0x4315x5[_0x2895[3118]]= []);_0x4315x4= mxUtils[_0x2895[1540]](_0x4315x4);for(var _0x4315x9=0;_0x4315x9< _0x4315x4[_0x2895[67]];_0x4315x9++){for(var _0x4315xa=_0x4315x4[_0x4315x9][_0x2895[284]](_0x2895[3069]),_0x4315x12=_0x4315x4[_0x4315x9][_0x2895[285]];null!= _0x4315x12&& 1!= _0x4315x12[_0x2895[288]];){_0x4315x12= _0x4315x12[_0x2895[287]]};null!= _0x4315x12&& (_0x4315x5[_0x2895[3118]][_0x4315xa]= _0x4315x2[_0x2895[3244]](_0x4315x12))}};return _0x4315x2}())
\ No newline at end of file
-'use strict';
-/**
- * $Id: Actions.js,v 1.7 2013-02-14 07:48:01 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs the actions object for the given UI.
- */
-function Actions(editorUi) {
- this.editorUi = editorUi;
- this.actions = new Object();
- this.init();
-};
-
-/**
- * Adds the default actions.
- */
-Actions.prototype.init = function() {
- var ui = this.editorUi;
- var editor = ui.editor;
- var graph = editor.graph;
-
- // File actions
- this.addAction('new', function() {
- ui.showDialog(new NewDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('open', function() {
- ui.showDialog(new OpenDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('save', function() {
- ui.saveFile(false);
- }, null, null, 'Ctrl+S');
- this.addAction('saveAs', function() {
- ui.saveFile(true);
- }, null, null, 'Ctrl+Shift-S');
- this.addAction('publish', function() {
- ui.publishFile(false);
- }, null, null, 'Ctrl+Shift+P');
- this.addAction('variable', function() {
- ui.showDialog(new VariableDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('description', function() {
- ui.showDialog(new DescriptionDialog(ui).container, 300, 180, true, true);
- });
- this.addAction('import', function() {
- ui.showDialog(new ImportDialog(ui).container, 300, 200, true, true);
- });
- this.addAction('export', function() {
- ui.showDialog(new ExportDialog(ui).container, 300, 200, true, true);
- }, null, null, 'Ctrl+E');
- this.put('editFile', new Action(mxResources.get('edit'), mxUtils.bind(this,
- function() {
- this.editorUi.showDialog(new EditFileDialog(ui).container, 620, 420,
- true, true);
- })));
- // this.addAction('rename', function() {
- // ui.showDialog(new RenameDialog(ui).container, 300, 180, true, true);
- // });
- this.addAction('print', function() {
- mxUtils.printScreen(graph);
- }, null, 'sprite-print', 'Ctrl+P');
- this.addAction('preview', function() {
- mxUtils.show(graph, null, 10, 10);
- });
-
- // Edit actions
- this.addAction('undo', function() {
- editor.undoManager.undo();
- }, null, 'sprite-undo', 'Ctrl+Z');
- this.addAction('redo', function() {
- editor.undoManager.redo();
- }, null, 'sprite-redo', 'Ctrl+Y');
- this.addAction('cut', function() {
- mxClipboard.cut(graph);
- }, null, 'sprite-cut', 'Ctrl+X');
- this.addAction('copy', function() {
- mxClipboard.copy(graph);
- }, null, 'sprite-copy', 'Ctrl+C');
- this.addAction('paste', function() {
- mxClipboard.paste(graph);
- }, false, 'sprite-paste', 'Ctrl+V');
- this.addAction('delete', function() {
- graph.removeCells();
- }, null, null, 'Delete');
- this.addAction('duplicate', function() {
- var s = graph.gridSize;
- graph.setSelectionCells(graph.moveCells(graph.getSelectionCells(), s, s,
- true));
- }, null, null, 'Ctrl+D');
- this.addAction('selectVertices', function() {
- graph.selectVertices();
- }, null, null, 'Ctrl+Shift+V');
- this.addAction('selectEdges', function() {
- graph.selectEdges();
- }, null, null, 'Ctrl+Shift+E');
- this.addAction('selectAll', function() {
- graph.selectAll();
- }, null, null, 'Ctrl+A');
-
- // Navigation actions
- this.addAction('home', function() {
- graph.home();
- }, null, null, 'Home');
- this.addAction('exitGroup', function() {
- graph.exitGroup();
- }, null, null, 'Page Up');
- this.addAction('enterGroup', function() {
- graph.enterGroup();
- }, null, null, 'Page Down');
- this.addAction('expand', function() {
- graph.foldCells(false);
- }, null, null, 'Enter');
- this.addAction('collapse', function() {
- graph.foldCells(true);
- }, null, null, 'Backspace');
-
- // Arrange actions
- this.addAction('toFront', function() {
- graph.orderCells(false);
- }, null, null, 'Ctrl+F');
- this.addAction('toBack', function() {
- graph.orderCells(true);
- }, null, null, 'Ctrl+B');
- this.addAction('group', function() {
- graph.setSelectionCell(graph.groupCells(null, 0));
- }, null, null, 'Ctrl+G');
- this.addAction('ungroup', function() {
- graph.setSelectionCells(graph.ungroupCells());
- }, null, null, 'Ctrl+U');
- this.addAction('removeFromGroup', function() {
- graph.removeCellsFromParent();
- });
- this.addAction('editLink', function() {
- var cell = graph.getSelectionCell();
- var link = graph.getLinkForCell(cell);
-
- if (link == null) {
- link = '';
- }
-
- link = mxUtils.prompt(mxResources.get('enterValue'), link);
-
- if (link != null) {
- graph.setLinkForCell(cell, link);
- }
- });
- this.addAction('openLink', function() {
- var cell = graph.getSelectionCell();
- var link = graph.getLinkForCell(cell);
-
- if (link != null) {
- window.open(link);
- }
- });
- this.addAction('autosize', function() {
- var cells = graph.getSelectionCells();
-
- if (cells != null) {
- graph.getModel().beginUpdate();
- try {
- for (var i = 0; i < cells.length; i++) {
- var cell = cells[i];
-
- if (graph.getModel().getChildCount(cell)) {
- graph.updateGroupBounds([cell], 20);
- } else {
- graph.updateCellSize(cell);
- }
- }
- } finally {
- graph.getModel().endUpdate();
- }
- }
- });
- this.addAction('wordWrap', function() {
- var state = graph.getView().getState(graph.getSelectionCell());
- var value = 'wrap';
-
- if (state != null && state.style[mxConstants.STYLE_WHITE_SPACE] == 'wrap') {
- value = null;
- }
-
- graph.setCellStyles(mxConstants.STYLE_WHITE_SPACE, value);
- });
- this.addAction('rotation', function() {
- var value = '0';
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null) {
- value = state.style[mxConstants.STYLE_ROTATION] || value;
- }
-
- value = mxUtils.prompt(mxResources.get('enterValue') + ' (' +
- mxResources.get('rotation') + ' 0-360)', value);
-
- if (value != null) {
- graph.setCellStyles(mxConstants.STYLE_ROTATION, value);
- }
- });
- this.addAction('tilt', function() {
- var cells = graph.getSelectionCells();
-
- if (cells != null) {
- graph.getModel().beginUpdate();
- try {
- for (var i = 0; i < cells.length; i++) {
- var cell = cells[i];
-
- if (graph.getModel().isVertex(cell) && graph.getModel().getChildCount(
- cell) == 0) {
- var geo = graph.getCellGeometry(cell);
-
- if (geo != null) {
- // Rotates the size and position in the geometry
- geo = geo.clone();
- geo.x += geo.width / 2 - geo.height / 2;
- geo.y += geo.height / 2 - geo.width / 2;
- var tmp = geo.width;
- geo.width = geo.height;
- geo.height = tmp;
- graph.getModel().setGeometry(cell, geo);
-
- // Reads the current direction and advances by 90 degrees
- var state = graph.view.getState(cell);
-
- if (state != null) {
- var dir = state.style[mxConstants.STYLE_DIRECTION] || 'east' /*default*/ ;
-
- if (dir == 'east') {
- dir = 'south';
- } else if (dir == 'south') {
- dir = 'west';
- } else if (dir == 'west') {
- dir = 'north';
- } else if (dir == 'north') {
- dir = 'east';
- }
-
- graph.setCellStyles(mxConstants.STYLE_DIRECTION, dir, [cell]);
- }
- }
- }
- }
- } finally {
- graph.getModel().endUpdate();
- }
- }
- }, null, null, 'Ctrl+R');
-
- // View actions
- this.addAction('actualSize', function() {
- graph.zoomTo(1);
- });
- this.addAction('zoomIn', function() {
- graph.zoomIn();
- }, null, null, 'Add');
- this.addAction('zoomOut', function() {
- graph.zoomOut();
- }, null, null, 'Subtract');
- this.addAction('fitWindow', function() {
- graph.fit();
- });
-
- this.addAction('fitPage', mxUtils.bind(this, function() {
- if (!graph.pageVisible) {
- this.get('pageView').funct();
- }
-
- var fmt = graph.pageFormat;
- var ps = graph.pageScale;
- var cw = graph.container.clientWidth - 20;
- var ch = graph.container.clientHeight - 20;
-
- var scale = Math.floor(100 * Math.min(cw / fmt.width / ps, ch / fmt.height /
- ps)) / 100;
- graph.zoomTo(scale);
-
- graph.container.scrollLeft = Math.round(graph.view.translate.x * scale -
- Math.max(10, (graph.container.clientWidth - fmt.width * ps * scale) / 2)
- );
- graph.container.scrollTop = Math.round(graph.view.translate.y * scale -
- Math.max(10, (graph.container.clientHeight - fmt.height * ps * scale) /
- 2));
- }));
- this.addAction('fitPageWidth', mxUtils.bind(this, function() {
- if (!graph.pageVisible) {
- this.get('pageView').funct();
- }
-
- var fmt = graph.pageFormat;
- var ps = graph.pageScale;
- var cw = graph.container.clientWidth - 20;
-
- var scale = Math.floor(100 * cw / fmt.width / ps) / 100;
- graph.zoomTo(scale);
-
- graph.container.scrollLeft = Math.round(graph.view.translate.x * scale -
- Math.max(10, (graph.container.clientWidth - fmt.width * ps * scale) / 2)
- );
- graph.container.scrollTop = Math.round(graph.view.translate.y * scale -
- Math.max(10, (graph.container.clientHeight - fmt.height * ps * scale) /
- 2));
- }));
- this.put('customZoom', new Action(mxResources.get('custom'), function() {
- var value = mxUtils.prompt(mxResources.get('enterValue') + ' (%)',
- parseInt(graph.getView().getScale() * 100));
-
- if (value != null && value.length > 0 && !isNaN(parseInt(value))) {
- graph.zoomTo(parseInt(value) / 100);
- }
- }));
-
- // Option actions
- var action = null;
- action = this.addAction('grid', function() {
- graph.setGridEnabled(!graph.isGridEnabled());
- editor.updateGraphComponents();
- }, null, null, 'Ctrl+Shift+G');
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.isGridEnabled();
- });
- action = this.addAction('guides', function() {
- graph.graphHandler.guidesEnabled = !graph.graphHandler.guidesEnabled;
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.graphHandler.guidesEnabled;
- });
- action = this.addAction('tooltips', function() {
- graph.tooltipHandler.setEnabled(!graph.tooltipHandler.isEnabled());
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.tooltipHandler.isEnabled();
- });
- action = this.addAction('navigation', function() {
- graph.foldingEnabled = !graph.foldingEnabled;
- graph.view.revalidate();
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.foldingEnabled;
- });
- action = this.addAction('scrollbars', function() {
- graph.scrollbars = !graph.scrollbars;
- editor.updateGraphComponents();
-
- if (!graph.scrollbars) {
- var t = graph.view.translate;
- graph.view.setTranslate(t.x - graph.container.scrollLeft / graph.view.scale,
- t.y - graph.container.scrollTop / graph.view.scale);
- graph.container.scrollLeft = 0;
- graph.container.scrollTop = 0;
- graph.sizeDidChange();
- } else {
- var dx = graph.view.translate.x;
- var dy = graph.view.translate.y;
-
- graph.view.translate.x = 0;
- graph.view.translate.y = 0;
- graph.sizeDidChange();
- graph.container.scrollLeft -= Math.round(dx * graph.view.scale);
- graph.container.scrollTop -= Math.round(dy * graph.view.scale);
- }
- }, !mxClient.IS_TOUCH);
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.container.style.overflow == 'auto';
- });
- action = this.addAction('pageView', mxUtils.bind(this, function() {
- graph.pageVisible = !graph.pageVisible;
- graph.pageBreaksVisible = graph.pageVisible;
- graph.preferPageSize = graph.pageBreaksVisible;
- graph.view.validate();
- graph.sizeDidChange();
-
- editor.updateGraphComponents();
- editor.outline.update();
-
- if (mxUtils.hasScrollbars(graph.container)) {
- if (graph.pageVisible) {
- graph.container.scrollLeft -= 20;
- graph.container.scrollTop -= 20;
- } else {
- graph.container.scrollLeft += 20;
- graph.container.scrollTop += 20;
- }
- }
- }));
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.pageVisible;
- });
- action = this.addAction('connect', function() {
- graph.setConnectable(!graph.connectionHandler.isEnabled());
- }, null, null, 'Ctrl+Q');
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.connectionHandler.isEnabled();
- });
- action = this.addAction('copyConnect', function() {
- graph.connectionHandler.setCreateTarget(!graph.connectionHandler.isCreateTarget());
- });
- action.setToggleAction(true);
- action.setSelectedCallback(function() {
- return graph.connectionHandler.isCreateTarget();
- });
-
- // Help actions
- this.addAction('help', function() {
- var ext = '';
-
- if (mxResources.isLanguageSupported(mxClient.language)) {
- ext = '_' + mxClient.language;
- }
-
- window.open("https://wiki.xcallymotion.com/display/XMD/Cally+Square");
- //window.open(RESOURCES_PATH + '/help' + ext + '.html');
- });
- this.put('about', new Action(mxResources.get('about') + ' Cally Square',
- function() {
- ui.showDialog(new AboutDialog(ui).container, 320, 280, true, true);
- }, null, null, 'F1'));
-
- // Font style actions
- var toggleFontStyle = mxUtils.bind(this, function(key, style) {
- this.addAction(key, function() {
- graph.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, style);
- });
- });
-
- toggleFontStyle('bold', mxConstants.FONT_BOLD);
- toggleFontStyle('italic', mxConstants.FONT_ITALIC);
- toggleFontStyle('underline', mxConstants.FONT_UNDERLINE);
-
- // Format actions
- this.addAction('shadow', function() {
- graph.toggleCellStyles(mxConstants.STYLE_SHADOW);
- });
- this.addAction('dashed', function() {
- graph.toggleCellStyles(mxConstants.STYLE_DASHED);
- });
- this.addAction('rounded', function() {
- graph.toggleCellStyles(mxConstants.STYLE_ROUNDED);
- });
- this.addAction('curved', function() {
- graph.toggleCellStyles(mxConstants.STYLE_CURVED);
- });
- this.addAction('style', function() {
- var cells = graph.getSelectionCells();
-
- if (cells != null && cells.length > 0) {
- var model = graph.getModel();
- var style = mxUtils.prompt(mxResources.get('enterValue') + ' (' +
- mxResources.get('style') + ')',
- model.getStyle(cells[0]) || '');
-
- if (style != null) {
- graph.setCellStyle(style, cells);
- }
- }
- });
- this.addAction('setAsDefaultEdge', function() {
- graph.setDefaultEdge(graph.getSelectionCell());
- });
- this.addAction('addWaypoint', function() {
- var cell = graph.getSelectionCell();
-
- if (cell != null && graph.getModel().isEdge(cell)) {
- var handler = editor.graph.selectionCellsHandler.getHandler(cell);
-
- if (handler instanceof mxEdgeHandler) {
- var t = graph.view.translate;
- var s = graph.view.scale;
- var dx = t.x;
- var dy = t.y;
-
- var parent = graph.getModel().getParent(cell);
- var pgeo = graph.getCellGeometry(parent);
-
- if (graph.getModel().isVertex(parent) && pgeo != null) {
- dx += pgeo.x;
- dy += pgeo.y;
- }
-
- handler.addPointAt(handler.state, graph.panningHandler.triggerX / s - dx,
- graph.panningHandler.triggerY / s - dy);
- }
- }
- });
- this.addAction('removeWaypoint', function() {
- // TODO: Action should run with "this" set to action
- var rmWaypointAction = ui.actions.get('removeWaypoint');
-
- if (rmWaypointAction.handler != null) {
- // NOTE: Popupevent handled and action updated in Menus.createPopupMenu
- rmWaypointAction.handler.removePoint(rmWaypointAction.handler.state,
- rmWaypointAction.index);
- }
- });
- this.addAction('image', function() {
- function updateImage(value, w, h) {
- var select = null;
- var cells = graph.getSelectionCells();
-
- graph.getModel().beginUpdate();
- try {
- // Inserts new cell if no cell is selected
- if (cells.length == 0) {
- var gs = graph.getGridSize();
- cells = [graph.insertVertex(graph.getDefaultParent(), null, '', gs, gs,
- w, h)];
- select = cells;
- }
-
- graph.setCellStyles(mxConstants.STYLE_IMAGE, value, cells);
- graph.setCellStyles(mxConstants.STYLE_SHAPE, 'image', cells);
-
- if (graph.getSelectionCount() == 1) {
- if (w != null && h != null) {
- var cell = cells[0];
- var geo = graph.getModel().getGeometry(cell);
-
- if (geo != null) {
- geo = geo.clone();
- geo.width = w;
- geo.height = h;
- graph.getModel().setGeometry(cell, geo);
- }
- }
- }
- } finally {
- graph.getModel().endUpdate();
- }
-
- if (select != null) {
- graph.setSelectionCells(select);
- graph.scrollCellToVisible(select[0]);
- }
- };
-
- var value = '';
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null) {
- value = state.style[mxConstants.STYLE_IMAGE] || value;
- }
-
- value = mxUtils.prompt(mxResources.get('enterValue') + ' (' + mxResources.get(
- 'url') + ')', value);
-
- if (value != null) {
- if (value.length > 0) {
- var img = new Image();
-
- img.onload = function() {
- updateImage(value, img.width, img.height);
- };
- img.onerror = function() {
- mxUtils.alert(mxResources.get('fileNotFound'));
- };
-
- img.src = value;
- }
- }
- });
-};
-
-/**
- * Registers the given action under the given name.
- */
-Actions.prototype.addAction = function(key, funct, enabled, iconCls, shortcut) {
- return this.put(key, new Action(mxResources.get(key), funct, enabled, iconCls,
- shortcut));
-};
-
-/**
- * Registers the given action under the given name.
- */
-Actions.prototype.put = function(name, action) {
- this.actions[name] = action;
-
- return action;
-};
-
-/**
- * Returns the action for the given name or null if no such action exists.
- */
-Actions.prototype.get = function(name) {
- return this.actions[name];
-};
-
-/**
- * Constructs a new action for the given parameters.
- */
-function Action(label, funct, enabled, iconCls, shortcut) {
- mxEventSource.call(this);
- this.label = label;
- this.funct = funct;
- this.enabled = (enabled != null) ? enabled : true;
- this.iconCls = iconCls;
- this.shortcut = shortcut;
-};
-
-// Action inherits from mxEventSource
-mxUtils.extend(Action, mxEventSource);
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.setEnabled = function(value) {
- if (this.enabled != value) {
- this.enabled = value;
- this.fireEvent(new mxEventObject('stateChanged'));
- }
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.setToggleAction = function(value) {
- this.toggleAction = value;
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.setSelectedCallback = function(funct) {
- this.selectedCallback = funct;
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Action.prototype.isSelected = function() {
- return this.selectedCallback();
-};
+var _0x2c12=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x64\x69\x74\x6F\x72\x55\x69","\x61\x63\x74\x69\x6F\x6E\x73","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x64\x69\x74\x6F\x72","\x67\x72\x61\x70\x68","\x6E\x65\x77","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x68\x6F\x77\x44\x69\x61\x6C\x6F\x67","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E","\x6F\x70\x65\x6E","\x73\x61\x76\x65","\x73\x61\x76\x65\x46\x69\x6C\x65","\x43\x74\x72\x6C\x2B\x53","\x73\x61\x76\x65\x41\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2D\x53","\x70\x75\x62\x6C\x69\x73\x68","\x70\x75\x62\x6C\x69\x73\x68\x46\x69\x6C\x65","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x50","\x76\x61\x72\x69\x61\x62\x6C\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x69\x6D\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x43\x74\x72\x6C\x2B\x45","\x65\x64\x69\x74\x46\x69\x6C\x65","\x65\x64\x69\x74","\x67\x65\x74","\x62\x69\x6E\x64","\x70\x75\x74","\x70\x72\x69\x6E\x74","\x70\x72\x69\x6E\x74\x53\x63\x72\x65\x65\x6E","\x73\x70\x72\x69\x74\x65\x2D\x70\x72\x69\x6E\x74","\x43\x74\x72\x6C\x2B\x50","\x70\x72\x65\x76\x69\x65\x77","\x73\x68\x6F\x77","\x75\x6E\x64\x6F","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x73\x70\x72\x69\x74\x65\x2D\x75\x6E\x64\x6F","\x43\x74\x72\x6C\x2B\x5A","\x72\x65\x64\x6F","\x73\x70\x72\x69\x74\x65\x2D\x72\x65\x64\x6F","\x43\x74\x72\x6C\x2B\x59","\x63\x75\x74","\x73\x70\x72\x69\x74\x65\x2D\x63\x75\x74","\x43\x74\x72\x6C\x2B\x58","\x63\x6F\x70\x79","\x73\x70\x72\x69\x74\x65\x2D\x63\x6F\x70\x79","\x43\x74\x72\x6C\x2B\x43","\x70\x61\x73\x74\x65","\x73\x70\x72\x69\x74\x65\x2D\x70\x61\x73\x74\x65","\x43\x74\x72\x6C\x2B\x56","\x64\x65\x6C\x65\x74\x65","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x44\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x67\x72\x69\x64\x53\x69\x7A\x65","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x43\x74\x72\x6C\x2B\x44","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x56","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x45","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x43\x74\x72\x6C\x2B\x41","\x68\x6F\x6D\x65","\x48\x6F\x6D\x65","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x50\x61\x67\x65\x20\x55\x70","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x50\x61\x67\x65\x20\x44\x6F\x77\x6E","\x65\x78\x70\x61\x6E\x64","\x66\x6F\x6C\x64\x43\x65\x6C\x6C\x73","\x45\x6E\x74\x65\x72","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x42\x61\x63\x6B\x73\x70\x61\x63\x65","\x74\x6F\x46\x72\x6F\x6E\x74","\x6F\x72\x64\x65\x72\x43\x65\x6C\x6C\x73","\x43\x74\x72\x6C\x2B\x46","\x74\x6F\x42\x61\x63\x6B","\x43\x74\x72\x6C\x2B\x42","\x67\x72\x6F\x75\x70","\x67\x72\x6F\x75\x70\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x43\x74\x72\x6C\x2B\x47","\x75\x6E\x67\x72\x6F\x75\x70","\x75\x6E\x67\x72\x6F\x75\x70\x43\x65\x6C\x6C\x73","\x43\x74\x72\x6C\x2B\x55","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x47\x72\x6F\x75\x70","\x72\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x65\x64\x69\x74\x4C\x69\x6E\x6B","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","","\x65\x6E\x74\x65\x72\x56\x61\x6C\x75\x65","\x70\x72\x6F\x6D\x70\x74","\x73\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x6F\x70\x65\x6E\x4C\x69\x6E\x6B","\x61\x75\x74\x6F\x73\x69\x7A\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x6F\x75\x6E\x74","\x75\x70\x64\x61\x74\x65\x47\x72\x6F\x75\x70\x42\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x43\x65\x6C\x6C\x53\x69\x7A\x65","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x77\x6F\x72\x64\x57\x72\x61\x70","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x77\x72\x61\x70","\x53\x54\x59\x4C\x45\x5F\x57\x48\x49\x54\x45\x5F\x53\x50\x41\x43\x45","\x73\x74\x79\x6C\x65","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x30","\x53\x54\x59\x4C\x45\x5F\x52\x4F\x54\x41\x54\x49\x4F\x4E","\x20\x28","\x20\x30\x2D\x33\x36\x30\x29","\x74\x69\x6C\x74","\x69\x73\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x43\x65\x6C\x6C\x47\x65\x6F\x6D\x65\x74\x72\x79","\x63\x6C\x6F\x6E\x65","\x78","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x79","\x73\x65\x74\x47\x65\x6F\x6D\x65\x74\x72\x79","\x76\x69\x65\x77","\x53\x54\x59\x4C\x45\x5F\x44\x49\x52\x45\x43\x54\x49\x4F\x4E","\x65\x61\x73\x74","\x73\x6F\x75\x74\x68","\x77\x65\x73\x74","\x6E\x6F\x72\x74\x68","\x43\x74\x72\x6C\x2B\x52","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x7A\x6F\x6F\x6D\x54\x6F","\x7A\x6F\x6F\x6D\x49\x6E","\x41\x64\x64","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x53\x75\x62\x74\x72\x61\x63\x74","\x66\x69\x74\x57\x69\x6E\x64\x6F\x77","\x66\x69\x74","\x66\x69\x74\x50\x61\x67\x65","\x70\x61\x67\x65\x56\x69\x73\x69\x62\x6C\x65","\x66\x75\x6E\x63\x74","\x70\x61\x67\x65\x56\x69\x65\x77","\x70\x61\x67\x65\x46\x6F\x72\x6D\x61\x74","\x70\x61\x67\x65\x53\x63\x61\x6C\x65","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74","\x6D\x69\x6E","\x66\x6C\x6F\x6F\x72","\x73\x63\x72\x6F\x6C\x6C\x4C\x65\x66\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65","\x6D\x61\x78","\x72\x6F\x75\x6E\x64","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x66\x69\x74\x50\x61\x67\x65\x57\x69\x64\x74\x68","\x63\x75\x73\x74\x6F\x6D\x5A\x6F\x6F\x6D","\x63\x75\x73\x74\x6F\x6D","\x20\x28\x25\x29","\x67\x65\x74\x53\x63\x61\x6C\x65","\x67\x72\x69\x64","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x75\x70\x64\x61\x74\x65\x47\x72\x61\x70\x68\x43\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x43\x74\x72\x6C\x2B\x53\x68\x69\x66\x74\x2B\x47","\x73\x65\x74\x54\x6F\x67\x67\x6C\x65\x41\x63\x74\x69\x6F\x6E","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x65\x64\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x67\x75\x69\x64\x65\x73","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x74\x6F\x6F\x6C\x74\x69\x70\x73","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x72\x65\x76\x61\x6C\x69\x64\x61\x74\x65","\x73\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x73\x63\x61\x6C\x65","\x73\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x73\x69\x7A\x65\x44\x69\x64\x43\x68\x61\x6E\x67\x65","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x61\x75\x74\x6F","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x73\x56\x69\x73\x69\x62\x6C\x65","\x70\x72\x65\x66\x65\x72\x50\x61\x67\x65\x53\x69\x7A\x65","\x76\x61\x6C\x69\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6F\x75\x74\x6C\x69\x6E\x65","\x68\x61\x73\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x43\x74\x72\x6C\x2B\x51","\x63\x6F\x70\x79\x43\x6F\x6E\x6E\x65\x63\x74","\x69\x73\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x73\x65\x74\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x68\x65\x6C\x70","\x6C\x61\x6E\x67\x75\x61\x67\x65","\x69\x73\x4C\x61\x6E\x67\x75\x61\x67\x65\x53\x75\x70\x70\x6F\x72\x74\x65\x64","\x5F","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x43\x61\x6C\x6C\x79\x2B\x53\x71\x75\x61\x72\x65","\x61\x62\x6F\x75\x74","\x20\x43\x61\x6C\x6C\x79\x20\x53\x71\x75\x61\x72\x65","\x46\x31","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x46\x6C\x61\x67\x73","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x73\x68\x61\x64\x6F\x77","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x64\x61\x73\x68\x65\x64","\x72\x6F\x75\x6E\x64\x65\x64","\x63\x75\x72\x76\x65\x64","\x29","\x67\x65\x74\x53\x74\x79\x6C\x65","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x73\x65\x74\x41\x73\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x61\x64\x64\x57\x61\x79\x70\x6F\x69\x6E\x74","\x69\x73\x45\x64\x67\x65","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x73\x74\x61\x74\x65","\x74\x72\x69\x67\x67\x65\x72\x58","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x74\x72\x69\x67\x67\x65\x72\x59","\x61\x64\x64\x50\x6F\x69\x6E\x74\x41\x74","\x72\x65\x6D\x6F\x76\x65\x57\x61\x79\x70\x6F\x69\x6E\x74","\x68\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x64\x65\x78","\x72\x65\x6D\x6F\x76\x65\x50\x6F\x69\x6E\x74","\x69\x6D\x61\x67\x65","\x67\x65\x74\x47\x72\x69\x64\x53\x69\x7A\x65","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x69\x6E\x73\x65\x72\x74\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x67\x65\x74\x47\x65\x6F\x6D\x65\x74\x72\x79","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x53\x54\x59\x4C\x45\x5F\x49\x4D\x41\x47\x45","\x75\x72\x6C","\x6F\x6E\x6C\x6F\x61\x64","\x6F\x6E\x65\x72\x72\x6F\x72","\x66\x69\x6C\x65\x4E\x6F\x74\x46\x6F\x75\x6E\x64","\x61\x6C\x65\x72\x74","\x73\x72\x63","\x63\x61\x6C\x6C","\x6C\x61\x62\x65\x6C","\x65\x6E\x61\x62\x6C\x65\x64","\x69\x63\x6F\x6E\x43\x6C\x73","\x73\x68\x6F\x72\x74\x63\x75\x74","\x65\x78\x74\x65\x6E\x64","\x73\x74\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x64","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x74\x6F\x67\x67\x6C\x65\x41\x63\x74\x69\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x65\x64\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x69\x73\x53\x65\x6C\x65\x63\x74\x65\x64"];_0x2c12[0];function Actions(_0x95d2x2){this[_0x2c12[1]]= _0x95d2x2;this[_0x2c12[2]]= new Object();this[_0x2c12[3]]()}Actions[_0x2c12[4]][_0x2c12[3]]= function(){var _0x95d2x3=this[_0x2c12[1]];var _0x95d2x4=_0x95d2x3[_0x2c12[5]];var _0x95d2x5=_0x95d2x4[_0x2c12[6]];this[_0x2c12[10]](_0x2c12[7],function(){_0x95d2x3[_0x2c12[9]]( new NewDialog(_0x95d2x3)[_0x2c12[8]],300,180,true,true)});this[_0x2c12[10]](_0x2c12[11],function(){_0x95d2x3[_0x2c12[9]]( new OpenDialog(_0x95d2x3)[_0x2c12[8]],300,180,true,true)});this[_0x2c12[10]](_0x2c12[12],function(){_0x95d2x3[_0x2c12[13]](false)},null,null,_0x2c12[14]);this[_0x2c12[10]](_0x2c12[15],function(){_0x95d2x3[_0x2c12[13]](true)},null,null,_0x2c12[16]);this[_0x2c12[10]](_0x2c12[17],function(){_0x95d2x3[_0x2c12[18]](false)},null,null,_0x2c12[19]);this[_0x2c12[10]](_0x2c12[20],function(){_0x95d2x3[_0x2c12[9]]( new VariableDialog(_0x95d2x3)[_0x2c12[8]],300,180,true,true)});this[_0x2c12[10]](_0x2c12[21],function(){_0x95d2x3[_0x2c12[9]]( new DescriptionDialog(_0x95d2x3)[_0x2c12[8]],300,180,true,true)});this[_0x2c12[10]](_0x2c12[22],function(){_0x95d2x3[_0x2c12[9]]( new ImportDialog(_0x95d2x3)[_0x2c12[8]],300,200,true,true)});this[_0x2c12[10]](_0x2c12[23],function(){_0x95d2x3[_0x2c12[9]]( new ExportDialog(_0x95d2x3)[_0x2c12[8]],300,200,true,true)},null,null,_0x2c12[24]);this[_0x2c12[29]](_0x2c12[25], new Action(mxResources[_0x2c12[27]](_0x2c12[26]),mxUtils[_0x2c12[28]](this,function(){this[_0x2c12[1]][_0x2c12[9]]( new EditFileDialog(_0x95d2x3)[_0x2c12[8]],620,420,true,true)})));this[_0x2c12[10]](_0x2c12[30],function(){mxUtils[_0x2c12[31]](_0x95d2x5)},null,_0x2c12[32],_0x2c12[33]);this[_0x2c12[10]](_0x2c12[34],function(){mxUtils[_0x2c12[35]](_0x95d2x5,null,10,10)});this[_0x2c12[10]](_0x2c12[36],function(){_0x95d2x4[_0x2c12[37]][_0x2c12[36]]()},null,_0x2c12[38],_0x2c12[39]);this[_0x2c12[10]](_0x2c12[40],function(){_0x95d2x4[_0x2c12[37]][_0x2c12[40]]()},null,_0x2c12[41],_0x2c12[42]);this[_0x2c12[10]](_0x2c12[43],function(){mxClipboard[_0x2c12[43]](_0x95d2x5)},null,_0x2c12[44],_0x2c12[45]);this[_0x2c12[10]](_0x2c12[46],function(){mxClipboard[_0x2c12[46]](_0x95d2x5)},null,_0x2c12[47],_0x2c12[48]);this[_0x2c12[10]](_0x2c12[49],function(){mxClipboard[_0x2c12[49]](_0x95d2x5)},false,_0x2c12[50],_0x2c12[51]);this[_0x2c12[10]](_0x2c12[52],function(){_0x95d2x5[_0x2c12[53]]()},null,null,_0x2c12[54]);this[_0x2c12[10]](_0x2c12[55],function(){var _0x95d2x6=_0x95d2x5[_0x2c12[56]];_0x95d2x5[_0x2c12[59]](_0x95d2x5[_0x2c12[58]](_0x95d2x5[_0x2c12[57]](),_0x95d2x6,_0x95d2x6,true))},null,null,_0x2c12[60]);this[_0x2c12[10]](_0x2c12[61],function(){_0x95d2x5[_0x2c12[61]]()},null,null,_0x2c12[62]);this[_0x2c12[10]](_0x2c12[63],function(){_0x95d2x5[_0x2c12[63]]()},null,null,_0x2c12[64]);this[_0x2c12[10]](_0x2c12[65],function(){_0x95d2x5[_0x2c12[65]]()},null,null,_0x2c12[66]);this[_0x2c12[10]](_0x2c12[67],function(){_0x95d2x5[_0x2c12[67]]()},null,null,_0x2c12[68]);this[_0x2c12[10]](_0x2c12[69],function(){_0x95d2x5[_0x2c12[69]]()},null,null,_0x2c12[70]);this[_0x2c12[10]](_0x2c12[71],function(){_0x95d2x5[_0x2c12[71]]()},null,null,_0x2c12[72]);this[_0x2c12[10]](_0x2c12[73],function(){_0x95d2x5[_0x2c12[74]](false)},null,null,_0x2c12[75]);this[_0x2c12[10]](_0x2c12[76],function(){_0x95d2x5[_0x2c12[74]](true)},null,null,_0x2c12[77]);this[_0x2c12[10]](_0x2c12[78],function(){_0x95d2x5[_0x2c12[79]](false)},null,null,_0x2c12[80]);this[_0x2c12[10]](_0x2c12[81],function(){_0x95d2x5[_0x2c12[79]](true)},null,null,_0x2c12[82]);this[_0x2c12[10]](_0x2c12[83],function(){_0x95d2x5[_0x2c12[85]](_0x95d2x5[_0x2c12[84]](null,0))},null,null,_0x2c12[86]);this[_0x2c12[10]](_0x2c12[87],function(){_0x95d2x5[_0x2c12[59]](_0x95d2x5[_0x2c12[88]]())},null,null,_0x2c12[89]);this[_0x2c12[10]](_0x2c12[90],function(){_0x95d2x5[_0x2c12[91]]()});this[_0x2c12[10]](_0x2c12[92],function(){var _0x95d2x7=_0x95d2x5[_0x2c12[93]]();var _0x95d2x8=_0x95d2x5[_0x2c12[94]](_0x95d2x7);if(_0x95d2x8== null){_0x95d2x8= _0x2c12[95]};_0x95d2x8= mxUtils[_0x2c12[97]](mxResources[_0x2c12[27]](_0x2c12[96]),_0x95d2x8);if(_0x95d2x8!= null){_0x95d2x5[_0x2c12[98]](_0x95d2x7,_0x95d2x8)}});this[_0x2c12[10]](_0x2c12[99],function(){var _0x95d2x7=_0x95d2x5[_0x2c12[93]]();var _0x95d2x8=_0x95d2x5[_0x2c12[94]](_0x95d2x7);if(_0x95d2x8!= null){window[_0x2c12[11]](_0x95d2x8)}});this[_0x2c12[10]](_0x2c12[100],function(){var _0x95d2x9=_0x95d2x5[_0x2c12[57]]();if(_0x95d2x9!= null){_0x95d2x5[_0x2c12[102]]()[_0x2c12[101]]();try{for(var _0x95d2xa=0;_0x95d2xa< _0x95d2x9[_0x2c12[103]];_0x95d2xa++){var _0x95d2x7=_0x95d2x9[_0x95d2xa];if(_0x95d2x5[_0x2c12[102]]()[_0x2c12[104]](_0x95d2x7)){_0x95d2x5[_0x2c12[105]]([_0x95d2x7],20)}else {_0x95d2x5[_0x2c12[106]](_0x95d2x7)}}}finally{_0x95d2x5[_0x2c12[102]]()[_0x2c12[107]]()}}});this[_0x2c12[10]](_0x2c12[108],function(){var _0x95d2xb=_0x95d2x5[_0x2c12[110]]()[_0x2c12[109]](_0x95d2x5[_0x2c12[93]]());var _0x95d2xc=_0x2c12[111];if(_0x95d2xb!= null&& _0x95d2xb[_0x2c12[113]][mxConstants[_0x2c12[112]]]== _0x2c12[111]){_0x95d2xc= null};_0x95d2x5[_0x2c12[114]](mxConstants.STYLE_WHITE_SPACE,_0x95d2xc)});this[_0x2c12[10]](_0x2c12[115],function(){var _0x95d2xc=_0x2c12[116];var _0x95d2xb=_0x95d2x5[_0x2c12[110]]()[_0x2c12[109]](_0x95d2x5[_0x2c12[93]]());if(_0x95d2xb!= null){_0x95d2xc= _0x95d2xb[_0x2c12[113]][mxConstants[_0x2c12[117]]]|| _0x95d2xc};_0x95d2xc= mxUtils[_0x2c12[97]](mxResources[_0x2c12[27]](_0x2c12[96])+ _0x2c12[118]+ mxResources[_0x2c12[27]](_0x2c12[115])+ _0x2c12[119],_0x95d2xc);if(_0x95d2xc!= null){_0x95d2x5[_0x2c12[114]](mxConstants.STYLE_ROTATION,_0x95d2xc)}});this[_0x2c12[10]](_0x2c12[120],function(){var _0x95d2x9=_0x95d2x5[_0x2c12[57]]();if(_0x95d2x9!= null){_0x95d2x5[_0x2c12[102]]()[_0x2c12[101]]();try{for(var _0x95d2xa=0;_0x95d2xa< _0x95d2x9[_0x2c12[103]];_0x95d2xa++){var _0x95d2x7=_0x95d2x9[_0x95d2xa];if(_0x95d2x5[_0x2c12[102]]()[_0x2c12[121]](_0x95d2x7)&& _0x95d2x5[_0x2c12[102]]()[_0x2c12[104]](_0x95d2x7)== 0){var _0x95d2xd=_0x95d2x5[_0x2c12[122]](_0x95d2x7);if(_0x95d2xd!= null){_0x95d2xd= _0x95d2xd[_0x2c12[123]]();_0x95d2xd[_0x2c12[124]]+= _0x95d2xd[_0x2c12[125]]/ 2- _0x95d2xd[_0x2c12[126]]/ 2;_0x95d2xd[_0x2c12[127]]+= _0x95d2xd[_0x2c12[126]]/ 2- _0x95d2xd[_0x2c12[125]]/ 2;var _0x95d2xe=_0x95d2xd[_0x2c12[125]];_0x95d2xd[_0x2c12[125]]= _0x95d2xd[_0x2c12[126]];_0x95d2xd[_0x2c12[126]]= _0x95d2xe;_0x95d2x5[_0x2c12[102]]()[_0x2c12[128]](_0x95d2x7,_0x95d2xd);var _0x95d2xb=_0x95d2x5[_0x2c12[129]][_0x2c12[109]](_0x95d2x7);if(_0x95d2xb!= null){var _0x95d2xf=_0x95d2xb[_0x2c12[113]][mxConstants[_0x2c12[130]]]|| _0x2c12[131];if(_0x95d2xf== _0x2c12[131]){_0x95d2xf= _0x2c12[132]}else {if(_0x95d2xf== _0x2c12[132]){_0x95d2xf= _0x2c12[133]}else {if(_0x95d2xf== _0x2c12[133]){_0x95d2xf= _0x2c12[134]}else {if(_0x95d2xf== _0x2c12[134]){_0x95d2xf= _0x2c12[131]}}}};_0x95d2x5[_0x2c12[114]](mxConstants.STYLE_DIRECTION,_0x95d2xf,[_0x95d2x7])}}}}}finally{_0x95d2x5[_0x2c12[102]]()[_0x2c12[107]]()}}},null,null,_0x2c12[135]);this[_0x2c12[10]](_0x2c12[136],function(){_0x95d2x5[_0x2c12[137]](1)});this[_0x2c12[10]](_0x2c12[138],function(){_0x95d2x5[_0x2c12[138]]()},null,null,_0x2c12[139]);this[_0x2c12[10]](_0x2c12[140],function(){_0x95d2x5[_0x2c12[140]]()},null,null,_0x2c12[141]);this[_0x2c12[10]](_0x2c12[142],function(){_0x95d2x5[_0x2c12[143]]()});this[_0x2c12[10]](_0x2c12[144],mxUtils[_0x2c12[28]](this,function(){if(!_0x95d2x5[_0x2c12[145]]){this[_0x2c12[27]](_0x2c12[147])[_0x2c12[146]]()};var _0x95d2x10=_0x95d2x5[_0x2c12[148]];var _0x95d2x11=_0x95d2x5[_0x2c12[149]];var _0x95d2x12=_0x95d2x5[_0x2c12[8]][_0x2c12[150]]- 20;var _0x95d2x13=_0x95d2x5[_0x2c12[8]][_0x2c12[151]]- 20;var _0x95d2x14=Math[_0x2c12[153]](100* Math[_0x2c12[152]](_0x95d2x12/ _0x95d2x10[_0x2c12[125]]/ _0x95d2x11,_0x95d2x13/ _0x95d2x10[_0x2c12[126]]/ _0x95d2x11))/ 100;_0x95d2x5[_0x2c12[137]](_0x95d2x14);_0x95d2x5[_0x2c12[8]][_0x2c12[154]]= Math[_0x2c12[157]](_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[124]]* _0x95d2x14- Math[_0x2c12[156]](10,(_0x95d2x5[_0x2c12[8]][_0x2c12[150]]- _0x95d2x10[_0x2c12[125]]* _0x95d2x11* _0x95d2x14)/ 2));_0x95d2x5[_0x2c12[8]][_0x2c12[158]]= Math[_0x2c12[157]](_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[127]]* _0x95d2x14- Math[_0x2c12[156]](10,(_0x95d2x5[_0x2c12[8]][_0x2c12[151]]- _0x95d2x10[_0x2c12[126]]* _0x95d2x11* _0x95d2x14)/ 2))}));this[_0x2c12[10]](_0x2c12[159],mxUtils[_0x2c12[28]](this,function(){if(!_0x95d2x5[_0x2c12[145]]){this[_0x2c12[27]](_0x2c12[147])[_0x2c12[146]]()};var _0x95d2x10=_0x95d2x5[_0x2c12[148]];var _0x95d2x11=_0x95d2x5[_0x2c12[149]];var _0x95d2x12=_0x95d2x5[_0x2c12[8]][_0x2c12[150]]- 20;var _0x95d2x14=Math[_0x2c12[153]](100* _0x95d2x12/ _0x95d2x10[_0x2c12[125]]/ _0x95d2x11)/ 100;_0x95d2x5[_0x2c12[137]](_0x95d2x14);_0x95d2x5[_0x2c12[8]][_0x2c12[154]]= Math[_0x2c12[157]](_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[124]]* _0x95d2x14- Math[_0x2c12[156]](10,(_0x95d2x5[_0x2c12[8]][_0x2c12[150]]- _0x95d2x10[_0x2c12[125]]* _0x95d2x11* _0x95d2x14)/ 2));_0x95d2x5[_0x2c12[8]][_0x2c12[158]]= Math[_0x2c12[157]](_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[127]]* _0x95d2x14- Math[_0x2c12[156]](10,(_0x95d2x5[_0x2c12[8]][_0x2c12[151]]- _0x95d2x10[_0x2c12[126]]* _0x95d2x11* _0x95d2x14)/ 2))}));this[_0x2c12[29]](_0x2c12[160], new Action(mxResources[_0x2c12[27]](_0x2c12[161]),function(){var _0x95d2xc=mxUtils[_0x2c12[97]](mxResources[_0x2c12[27]](_0x2c12[96])+ _0x2c12[162],parseInt(_0x95d2x5[_0x2c12[110]]()[_0x2c12[163]]()* 100));if(_0x95d2xc!= null&& _0x95d2xc[_0x2c12[103]]> 0&& !isNaN(parseInt(_0x95d2xc))){_0x95d2x5[_0x2c12[137]](parseInt(_0x95d2xc)/ 100)}}));var _0x95d2x15=null;_0x95d2x15= this[_0x2c12[10]](_0x2c12[164],function(){_0x95d2x5[_0x2c12[166]](!_0x95d2x5[_0x2c12[165]]());_0x95d2x4[_0x2c12[167]]()},null,null,_0x2c12[168]);_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[165]]()});_0x95d2x15= this[_0x2c12[10]](_0x2c12[171],function(){_0x95d2x5[_0x2c12[173]][_0x2c12[172]]= !_0x95d2x5[_0x2c12[173]][_0x2c12[172]]});_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[173]][_0x2c12[172]]});_0x95d2x15= this[_0x2c12[10]](_0x2c12[174],function(){_0x95d2x5[_0x2c12[176]][_0x2c12[177]](!_0x95d2x5[_0x2c12[176]][_0x2c12[175]]())});_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[176]][_0x2c12[175]]()});_0x95d2x15= this[_0x2c12[10]](_0x2c12[178],function(){_0x95d2x5[_0x2c12[179]]= !_0x95d2x5[_0x2c12[179]];_0x95d2x5[_0x2c12[129]][_0x2c12[180]]()});_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[179]]});_0x95d2x15= this[_0x2c12[10]](_0x2c12[181],function(){_0x95d2x5[_0x2c12[181]]= !_0x95d2x5[_0x2c12[181]];_0x95d2x4[_0x2c12[167]]();if(!_0x95d2x5[_0x2c12[181]]){var _0x95d2x16=_0x95d2x5[_0x2c12[129]][_0x2c12[155]];_0x95d2x5[_0x2c12[129]][_0x2c12[183]](_0x95d2x16[_0x2c12[124]]- _0x95d2x5[_0x2c12[8]][_0x2c12[154]]/ _0x95d2x5[_0x2c12[129]][_0x2c12[182]],_0x95d2x16[_0x2c12[127]]- _0x95d2x5[_0x2c12[8]][_0x2c12[158]]/ _0x95d2x5[_0x2c12[129]][_0x2c12[182]]);_0x95d2x5[_0x2c12[8]][_0x2c12[154]]= 0;_0x95d2x5[_0x2c12[8]][_0x2c12[158]]= 0;_0x95d2x5[_0x2c12[184]]()}else {var _0x95d2x17=_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[124]];var _0x95d2x18=_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[127]];_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[124]]= 0;_0x95d2x5[_0x2c12[129]][_0x2c12[155]][_0x2c12[127]]= 0;_0x95d2x5[_0x2c12[184]]();_0x95d2x5[_0x2c12[8]][_0x2c12[154]]-= Math[_0x2c12[157]](_0x95d2x17* _0x95d2x5[_0x2c12[129]][_0x2c12[182]]);_0x95d2x5[_0x2c12[8]][_0x2c12[158]]-= Math[_0x2c12[157]](_0x95d2x18* _0x95d2x5[_0x2c12[129]][_0x2c12[182]])}},!mxClient.IS_TOUCH);_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[8]][_0x2c12[113]][_0x2c12[185]]== _0x2c12[186]});_0x95d2x15= this[_0x2c12[10]](_0x2c12[147],mxUtils[_0x2c12[28]](this,function(){_0x95d2x5[_0x2c12[145]]= !_0x95d2x5[_0x2c12[145]];_0x95d2x5[_0x2c12[187]]= _0x95d2x5[_0x2c12[145]];_0x95d2x5[_0x2c12[188]]= _0x95d2x5[_0x2c12[187]];_0x95d2x5[_0x2c12[129]][_0x2c12[189]]();_0x95d2x5[_0x2c12[184]]();_0x95d2x4[_0x2c12[167]]();_0x95d2x4[_0x2c12[191]][_0x2c12[190]]();if(mxUtils[_0x2c12[192]](_0x95d2x5[_0x2c12[8]])){if(_0x95d2x5[_0x2c12[145]]){_0x95d2x5[_0x2c12[8]][_0x2c12[154]]-= 20;_0x95d2x5[_0x2c12[8]][_0x2c12[158]]-= 20}else {_0x95d2x5[_0x2c12[8]][_0x2c12[154]]+= 20;_0x95d2x5[_0x2c12[8]][_0x2c12[158]]+= 20}}}));_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[145]]});_0x95d2x15= this[_0x2c12[10]](_0x2c12[193],function(){_0x95d2x5[_0x2c12[195]](!_0x95d2x5[_0x2c12[194]][_0x2c12[175]]())},null,null,_0x2c12[196]);_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[194]][_0x2c12[175]]()});_0x95d2x15= this[_0x2c12[10]](_0x2c12[197],function(){_0x95d2x5[_0x2c12[194]][_0x2c12[199]](!_0x95d2x5[_0x2c12[194]][_0x2c12[198]]())});_0x95d2x15[_0x2c12[169]](true);_0x95d2x15[_0x2c12[170]](function(){return _0x95d2x5[_0x2c12[194]][_0x2c12[198]]()});this[_0x2c12[10]](_0x2c12[200],function(){var _0x95d2x19=_0x2c12[95];if(mxResources[_0x2c12[202]](mxClient[_0x2c12[201]])){_0x95d2x19= _0x2c12[203]+ mxClient[_0x2c12[201]]};window[_0x2c12[11]](_0x2c12[204])});this[_0x2c12[29]](_0x2c12[205], new Action(mxResources[_0x2c12[27]](_0x2c12[205])+ _0x2c12[206],function(){_0x95d2x3[_0x2c12[9]]( new AboutDialog(_0x95d2x3)[_0x2c12[8]],320,280,true,true)},null,null,_0x2c12[207]));var _0x95d2x1a=mxUtils[_0x2c12[28]](this,function(_0x95d2x1b,_0x95d2x1c){this[_0x2c12[10]](_0x95d2x1b,function(){_0x95d2x5[_0x2c12[208]](mxConstants.STYLE_FONTSTYLE,_0x95d2x1c)})});_0x95d2x1a(_0x2c12[209],mxConstants.FONT_BOLD);_0x95d2x1a(_0x2c12[210],mxConstants.FONT_ITALIC);_0x95d2x1a(_0x2c12[211],mxConstants.FONT_UNDERLINE);this[_0x2c12[10]](_0x2c12[212],function(){_0x95d2x5[_0x2c12[213]](mxConstants.STYLE_SHADOW)});this[_0x2c12[10]](_0x2c12[214],function(){_0x95d2x5[_0x2c12[213]](mxConstants.STYLE_DASHED)});this[_0x2c12[10]](_0x2c12[215],function(){_0x95d2x5[_0x2c12[213]](mxConstants.STYLE_ROUNDED)});this[_0x2c12[10]](_0x2c12[216],function(){_0x95d2x5[_0x2c12[213]](mxConstants.STYLE_CURVED)});this[_0x2c12[10]](_0x2c12[113],function(){var _0x95d2x9=_0x95d2x5[_0x2c12[57]]();if(_0x95d2x9!= null&& _0x95d2x9[_0x2c12[103]]> 0){var _0x95d2x1d=_0x95d2x5[_0x2c12[102]]();var _0x95d2x1c=mxUtils[_0x2c12[97]](mxResources[_0x2c12[27]](_0x2c12[96])+ _0x2c12[118]+ mxResources[_0x2c12[27]](_0x2c12[113])+ _0x2c12[217],_0x95d2x1d[_0x2c12[218]](_0x95d2x9[0])|| _0x2c12[95]);if(_0x95d2x1c!= null){_0x95d2x5[_0x2c12[219]](_0x95d2x1c,_0x95d2x9)}}});this[_0x2c12[10]](_0x2c12[220],function(){_0x95d2x5[_0x2c12[221]](_0x95d2x5[_0x2c12[93]]())});this[_0x2c12[10]](_0x2c12[222],function(){var _0x95d2x7=_0x95d2x5[_0x2c12[93]]();if(_0x95d2x7!= null&& _0x95d2x5[_0x2c12[102]]()[_0x2c12[223]](_0x95d2x7)){var _0x95d2x1e=_0x95d2x4[_0x2c12[6]][_0x2c12[225]][_0x2c12[224]](_0x95d2x7);if(_0x95d2x1e instanceof mxEdgeHandler){var _0x95d2x16=_0x95d2x5[_0x2c12[129]][_0x2c12[155]];var _0x95d2x6=_0x95d2x5[_0x2c12[129]][_0x2c12[182]];var _0x95d2x17=_0x95d2x16[_0x2c12[124]];var _0x95d2x18=_0x95d2x16[_0x2c12[127]];var _0x95d2x1f=_0x95d2x5[_0x2c12[102]]()[_0x2c12[226]](_0x95d2x7);var _0x95d2x20=_0x95d2x5[_0x2c12[122]](_0x95d2x1f);if(_0x95d2x5[_0x2c12[102]]()[_0x2c12[121]](_0x95d2x1f)&& _0x95d2x20!= null){_0x95d2x17+= _0x95d2x20[_0x2c12[124]];_0x95d2x18+= _0x95d2x20[_0x2c12[127]]};_0x95d2x1e[_0x2c12[231]](_0x95d2x1e[_0x2c12[227]],_0x95d2x5[_0x2c12[229]][_0x2c12[228]]/ _0x95d2x6- _0x95d2x17,_0x95d2x5[_0x2c12[229]][_0x2c12[230]]/ _0x95d2x6- _0x95d2x18)}}});this[_0x2c12[10]](_0x2c12[232],function(){var _0x95d2x21=_0x95d2x3[_0x2c12[2]][_0x2c12[27]](_0x2c12[232]);if(_0x95d2x21[_0x2c12[233]]!= null){_0x95d2x21[_0x2c12[233]][_0x2c12[235]](_0x95d2x21[_0x2c12[233]][_0x2c12[227]],_0x95d2x21[_0x2c12[234]])}});this[_0x2c12[10]](_0x2c12[236],function(){function _0x95d2x22(_0x95d2xc,_0x95d2x23,_0x95d2x24){var _0x95d2x25=null;var _0x95d2x9=_0x95d2x5[_0x2c12[57]]();_0x95d2x5[_0x2c12[102]]()[_0x2c12[101]]();try{if(_0x95d2x9[_0x2c12[103]]== 0){var _0x95d2x26=_0x95d2x5[_0x2c12[237]]();_0x95d2x9= [_0x95d2x5[_0x2c12[239]](_0x95d2x5[_0x2c12[238]](),null,_0x2c12[95],_0x95d2x26,_0x95d2x26,_0x95d2x23,_0x95d2x24)];_0x95d2x25= _0x95d2x9};_0x95d2x5[_0x2c12[114]](mxConstants.STYLE_IMAGE,_0x95d2xc,_0x95d2x9);_0x95d2x5[_0x2c12[114]](mxConstants.STYLE_SHAPE,_0x2c12[236],_0x95d2x9);if(_0x95d2x5[_0x2c12[240]]()== 1){if(_0x95d2x23!= null&& _0x95d2x24!= null){var _0x95d2x7=_0x95d2x9[0];var _0x95d2xd=_0x95d2x5[_0x2c12[102]]()[_0x2c12[241]](_0x95d2x7);if(_0x95d2xd!= null){_0x95d2xd= _0x95d2xd[_0x2c12[123]]();_0x95d2xd[_0x2c12[125]]= _0x95d2x23;_0x95d2xd[_0x2c12[126]]= _0x95d2x24;_0x95d2x5[_0x2c12[102]]()[_0x2c12[128]](_0x95d2x7,_0x95d2xd)}}}}finally{_0x95d2x5[_0x2c12[102]]()[_0x2c12[107]]()};if(_0x95d2x25!= null){_0x95d2x5[_0x2c12[59]](_0x95d2x25);_0x95d2x5[_0x2c12[242]](_0x95d2x25[0])}}var _0x95d2xc=_0x2c12[95];var _0x95d2xb=_0x95d2x5[_0x2c12[110]]()[_0x2c12[109]](_0x95d2x5[_0x2c12[93]]());if(_0x95d2xb!= null){_0x95d2xc= _0x95d2xb[_0x2c12[113]][mxConstants[_0x2c12[243]]]|| _0x95d2xc};_0x95d2xc= mxUtils[_0x2c12[97]](mxResources[_0x2c12[27]](_0x2c12[96])+ _0x2c12[118]+ mxResources[_0x2c12[27]](_0x2c12[244])+ _0x2c12[217],_0x95d2xc);if(_0x95d2xc!= null){if(_0x95d2xc[_0x2c12[103]]> 0){var _0x95d2x27= new Image();_0x95d2x27[_0x2c12[245]]= function(){_0x95d2x22(_0x95d2xc,_0x95d2x27[_0x2c12[125]],_0x95d2x27[_0x2c12[126]])};_0x95d2x27[_0x2c12[246]]= function(){mxUtils[_0x2c12[248]](mxResources[_0x2c12[27]](_0x2c12[247]))};_0x95d2x27[_0x2c12[249]]= _0x95d2xc}}})};Actions[_0x2c12[4]][_0x2c12[10]]= function(_0x95d2x1b,_0x95d2x28,_0x95d2x29,_0x95d2x2a,_0x95d2x2b){return this[_0x2c12[29]](_0x95d2x1b, new Action(mxResources[_0x2c12[27]](_0x95d2x1b),_0x95d2x28,_0x95d2x29,_0x95d2x2a,_0x95d2x2b))};Actions[_0x2c12[4]][_0x2c12[29]]= function(_0x95d2x2c,_0x95d2x15){this[_0x2c12[2]][_0x95d2x2c]= _0x95d2x15;return _0x95d2x15};Actions[_0x2c12[4]][_0x2c12[27]]= function(_0x95d2x2c){return this[_0x2c12[2]][_0x95d2x2c]};function Action(_0x95d2x2e,_0x95d2x28,_0x95d2x29,_0x95d2x2a,_0x95d2x2b){mxEventSource[_0x2c12[250]](this);this[_0x2c12[251]]= _0x95d2x2e;this[_0x2c12[146]]= _0x95d2x28;this[_0x2c12[252]]= (_0x95d2x29!= null)?_0x95d2x29:true;this[_0x2c12[253]]= _0x95d2x2a;this[_0x2c12[254]]= _0x95d2x2b}mxUtils[_0x2c12[255]](Action,mxEventSource);Action[_0x2c12[4]][_0x2c12[177]]= function(_0x95d2xc){if(this[_0x2c12[252]]!= _0x95d2xc){this[_0x2c12[252]]= _0x95d2xc;this[_0x2c12[257]]( new mxEventObject(_0x2c12[256]))}};Action[_0x2c12[4]][_0x2c12[169]]= function(_0x95d2xc){this[_0x2c12[258]]= _0x95d2xc};Action[_0x2c12[4]][_0x2c12[170]]= function(_0x95d2x28){this[_0x2c12[259]]= _0x95d2x28};Action[_0x2c12[4]][_0x2c12[260]]= function(){return this[_0x2c12[259]]()}
\ No newline at end of file
-'use strict';
-/**
- * $Id: Dialogs.js,v 1.5 2013-01-29 17:23:31 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new dialog.
- */
-
-function createCheckbox(value) {
- var input = document.createElement('input');
- input.setAttribute('type', 'checkbox');
- if (value) {
- input.setAttribute('checked', true);
- }
- return input;
-}
-
-function createDropdownFromApi(path, value, option_name, option_value, editorUi, keys, pattern) {
- var req = new XMLHttpRequest();
- req.open('GET', path, false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response);
- }
- var input = document.createElement('select');
- var option = document.createElement('option');
- option.text = '-- None --';
- option.value = '-1';
- input.appendChild(option);
- res.rows.forEach(function(elem) {
- option = document.createElement('option');
- option.text = elem[option_name];
- if (keys && pattern) {
- option.value = pattern;
- keys.forEach(function(key) {
- option.value = option.value.replace('%' + key + '%', elem[key]);
- });
- option.selected = (option.value == value);
- } else {
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- }
- input.appendChild(option);
- });
- input.className = 'form-control select2';
-
- return input;
-}
-
-function createDropdownWithOptgroupFromApi(path, value, option_name, option_value, editorUi, propertyGroup) {
- var req = new XMLHttpRequest();
- req.open('GET', path, false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response);
- }
- var input = document.createElement('select');
- var option = document.createElement('option');
- option.text = '-- None --';
- option.value = '-1';
- input.appendChild(option);
-
- var values = _.groupBy(res.rows, propertyGroup);
-
- for (var group in values) {
- if (values.hasOwnProperty(group)) {
- var optgroup = document.createElement('optgroup');
- optgroup.label = _.capitalize(group);
-
- var valGroup = values[group];
- valGroup.forEach(function(elem) {
- // elem is the option
- option = document.createElement('option');
- option.text = elem[option_name];
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- optgroup.appendChild(option);
- })
-
- input.appendChild(optgroup);
- }
- }
-
- input.className = 'form-control select2';
-
- return input;
-}
-
-function createGroupedDropdownFromApi(path, value, option_name, option_value, editorUi, associationArray) {
- var req = new XMLHttpRequest();
- req.open('GET', path, false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response);
- }
- var input = document.createElement('select');
- var option = document.createElement('option');
- option.text = '-- None --';
- option.value = '0';
- input.appendChild(option);
- res.rows.forEach(function(elem) {
- option = document.createElement('option');
- option.className = 'select-group-father';
- option.text = elem[option_name].toUpperCase();
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- input.appendChild(option);
- elem[associationArray].forEach(function(elem) {
- option = document.createElement('option');
- option.className = 'select-group-son';
- option.text = '-' + _.capitalize(elem[option_name]);
- option.value = elem[option_value];
- option.selected = (elem[option_value] == value);
- input.appendChild(option);
- });
- })
- input.className = 'form-control select2';
-
- return input;
-}
-
-function createDropdownFromArray(array, value) {
- var input = document.createElement('select');
-
- for (var item in array) {
- var option = document.createElement('option');
- option.text = array[item];
- option.value = item;
- if (value > 0 || value != '')
- option.selected = (value === item) ? true : false;
-
- input.appendChild(option);
- }
-
- input.className = 'form-control select2';
-
- return input;
-}
-
-function createDropdownFromTigerDialList(value) {
- var input = document.createElement('select');
-
- var array = [];
- var request = new XMLHttpRequest();
- try {
- request.open('POST', '/api/rest/list/list', false);
- request.send(JSON.stringify({
- page: 1,
- size: 600000 //Max items ui-grid
- }));
-
- if (request.status === 200) {
- var res = JSON.parse(request.response);
- if (res.status > 0) {
- var rows = res.response.RMI.rows;
- for (var index in rows) {
- array[rows[index].id] = rows[index].name;
- }
- }
- }
- } catch (e) {
- console.log(e);
- }
-
- for (var item in array) {
- var option = document.createElement('option');
- option.text = array[item];
- option.value = item;
- if (value > 0 || value != '')
- option.selected = (value === item) ? true : false;
-
- input.appendChild(option);
- }
-
- input.className = 'form-control select2';
-
- return input;
-}
-
-function Dialog(editorUi, elt, w, h, modal, closable, onClose) {
- var dx = 0;
-
- if (mxClient.IS_IE && document.documentMode != 9) {
- dx = 60;
- }
-
- w += dx;
- h += dx;
-
- var left = Math.max(0, Math.round((document.body.scrollWidth - w) / 2));
- var top = Math.max(0, Math.round((Math.max(document.body.scrollHeight,
- document.documentElement.scrollHeight) - h) / 3));
-
- var div = editorUi.createDiv('geDialog');
- div.className = 'modal fade in center';
- div.style.display = 'block';
- div.style.paddingRight = '12px';
- // div.style.width = w + 'px';
- // div.style.height = h + 'px';
- // div.style.left = left + 'px';
- // div.style.top = top + 'px';
-
- var divModalDialog = editorUi.createDiv('geModalDialog');
- divModalDialog.className = 'modal-dialog';
-
- divModalDialog.appendChild(elt);
- div.appendChild(divModalDialog);
-
- if (this.bg == null) {
- this.bg = editorUi.createDiv('background');
- this.bg.className = 'modal-backdrop fade in';
-
- if (mxClient.IS_QUIRKS) {
- new mxDivResizer(this.bg);
- }
- }
-
- if (modal) {
- document.body.appendChild(this.bg);
- }
-
- document.body.appendChild(div);
-
- this.onDialogClose = onClose;
- this.container = div;
-};
-
-/**
- * Removes the dialog from the DOM.
- */
-Dialog.prototype.close = function() {
- if (this.onDialogClose != null) {
- this.onDialogClose();
- this.onDialogClose = null;
- }
-
- this.container.parentNode.removeChild(this.container);
- this.bg.parentNode.removeChild(this.bg);
-};
-
-/**
- * Constructs a new open dialog.
- */
-function ImportDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('import') + ' XML');
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-12');
-
- var textarea = document.createElement('textarea');
- textarea.style.width = '100%';
- textarea.style.height = '374px';
-
- var input = document.createElement('input');
- input.type = 'file';
- input.setAttribute('accept', 'text/xml');
-
- input.addEventListener('change', function readSingleFile(evt) {
- //Retrieve the first (and only!) File from the FileList object
- var f = evt.target.files[0];
- console.log(f);
- if (f) {
- if (f.type === 'text/xml') {
- var r = new FileReader();
- r.onload = function(e) {
- var contents = e.target.result;
- mxUtils.write(textarea, contents);
- };
- r.readAsText(f);
- } else {
- alert('Failed to load format file');
- }
- } else {
- alert('Failed to load file');
- }
- }, false);
-
- col1.appendChild(input);
- col1.appendChild(textarea);
-
- row.appendChild(col1);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('import'), mxUtils.bind(this,
- function(data) {
- var doc = mxUtils.parseXml(textarea.value);
- editorUi.editor.setGraphXml(doc.documentElement);
- editorUi.hideDialog();
- }));
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-
-};
-
-/**
- * Constructs a new about dialog.
- */
-function AboutDialog(editorUi) {
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('about') + ' Cally Square');
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var img = document.createElement('img');
- img.style.border = '0px';
- img.setAttribute('width', '176');
- img.setAttribute('width', '151');
- img.setAttribute('src', IMAGE_PATH + '/logo.png');
- body.appendChild(img);
- mxUtils.br(body);
- mxUtils.write(body, 'Powered by Xenialab ' + mxClient.VERSION);
- mxUtils.br(body);
- var link = document.createElement('a');
- link.setAttribute('href', 'http://www.callysquare.com/');
- link.setAttribute('target', '_blank');
- mxUtils.write(link, 'www.callysquare.com');
- body.appendChild(link);
- mxUtils.br(body);
- mxUtils.br(body);
- //--- END BODY
-
- var close = mxUtils.button(mxResources.get('close'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-/**
- * Constructs a new save dialog.
- */
-function SaveDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('saveAs'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var name = 'name';
- var id = '_' + name;
- var value = editorUi.editor.getOrCreateFilename();
-
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get(name));
- col1.appendChild(label);
-
- var select = document.createElement('input');
- select.setAttribute('value', value + '_copy');
- select.setAttribute('id', id)
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), function() {
- editorUi.saveAs(select.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new save dialog.
- */
-function NewDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('new'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var name = 'name';
- var id = '_' + name;
- var value = editorUi.editor.getOrCreateFilename();
-
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get(name));
- col1.appendChild(label);
-
- var select = document.createElement('input');
- select.setAttribute('value', value + '_new');
- select.setAttribute('id', id)
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('new'), function() {
- editorUi.new(select.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new description dialog.
- */
-function DescriptionDialog(editorUi) {
- console.log(editorUi.editor.data);
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('description'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
-
- var form = editorUi.createDiv('form-horizontal form-row-seperated');
-
- // START DESCRIPTION field
- var name = 'description';
- var id = '_' + name;
- var value = editorUi.editor.data.description || '';
- var group = editorUi.createDiv('form-group');
-
- var label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get(name));
- group.appendChild(label);
-
- var input = document.createElement('input');
- input.setAttribute('value', value);
- input.className = 'form-control';
- input.setAttribute('id', id);
-
- var div = editorUi.createDiv('col-sm-8');
- div.appendChild(input);
-
- group.appendChild(div);
- form.appendChild(group);
- //END DESCRIPTION field
-
- body.appendChild(form);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('update'), function() {
- editorUi.description(input.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-}
-
-/**
- * Constructs a new variable dialog.
- */
-function VariableDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('variable'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
-
- var form = editorUi.createDiv('form-horizontal form-row-seperated');
-
- //NAME field
- var name = 'name';
- var id = '_' + name;
- var value = 'variable name';
- var group = editorUi.createDiv('form-group');
-
- var label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get(name));
- group.appendChild(label);
-
- var input = document.createElement('input');
- input.setAttribute('value', value);
- input.className = 'form-control';
- input.setAttribute('id', id);
-
- var div = editorUi.createDiv('col-sm-8');
- div.appendChild(input);
-
- group.appendChild(div);
- form.appendChild(group);
- //END NAME field
-
- //DESCRIPTION field
- name = 'description';
- id = '_' + name;
- value = 'variable description';
- group = editorUi.createDiv('form-group last');
-
- label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get(name));
- group.appendChild(label);
-
- var inputDesc = document.createElement('input');
- inputDesc.setAttribute('value', value);
- inputDesc.className = 'form-control';
- inputDesc.setAttribute('id', id);
-
- div = editorUi.createDiv('col-sm-8');
- div.appendChild(inputDesc);
-
- group.appendChild(div);
- form.appendChild(group);
- //END DESCRIPTION field
-
- body.appendChild(form);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('new'), function() {
- editorUi.variable(input.value, inputDesc.value);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-}
-
-/**
- * Constructs a new save dialog.
- */
-function OpenDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('open'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get('name'));
- col1.appendChild(label);
-
- var req = new XMLHttpRequest();
- req.open('GET', '/api/square/projects', false); // `false` makes the request synchronous
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send(null);
- var res = [];
- if (req.status === 200) {
- res = JSON.parse(req.response);
- }
-
- var select = document.createElement('select');
-
- for (var j = 0; j < res.length; j++) {
- var option = document.createElement('option');
- option.text = res[j].name;
- option.value = res[j].id;
- select.appendChild(option);
- }
- select.className = 'form-control';
- col2.appendChild(select);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('open'), function() {
- console.log(select);
- console.log(select.value);
- window.open('square/project/' + select.value, '_blank');
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-/**
- * Constructs a new rename dialog.
- */
-function RenameDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('rename'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-4');
- var col2 = editorUi.createDiv('col-md-8');
-
- var label = document.createElement('label');
- label.className = 'control-label pull-right';
- mxUtils.write(label, mxResources.get('name'));
- col1.appendChild(label);
- var name = editorUi.editor.filename;
- var input = document.createElement('input');
- input.setAttribute('value', name);
- input.className = 'form-control';
-
- col2.appendChild(input);
-
- row.appendChild(col1);
- row.appendChild(col2);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), function() {
- var req = new XMLHttpRequest();
-
- req.open("PUT", SAVE_URL + editorUi.editor.data.id, true);
- req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- req.setRequestHeader('Authorization', 'Bearer ' + editorUi.editor.data.token);
- req.send('name=' + input.value);
-
- req.onload = function(e) {
- if (req.status === 200) {
- editorUi.editor.setStatus('Project successfully renamed');
- editorUi.editor.filename = input.value;
-
- } else {
- console.log(req.response);
- editorUi.editor.setStatus(JSON.parse(req.response).errors[0].message);
- }
- }
- req.onerror = function(e) {
- mxUtils.alert(req.statusText);
- };
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
- //nameInput.setAttribute('value', editorUi.editor.getOrCreateFilename());
-};
-
-/**
- * Constructs a new edit file dialog.
- */
-function EditFileDialog(editorUi) {
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('edit'));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var row = editorUi.createDiv('row');
- var col1 = editorUi.createDiv('col-md-12');
-
- var textarea = document.createElement('textarea');
- textarea.style.width = '100%';
- textarea.style.height = '374px';
- textarea.value = mxUtils.getPrettyXml(editorUi.editor.getGraphXml());
-
- // Enables dropping files
- if (fileSupport) {
- function handleDrop(evt) {
- evt.stopPropagation();
- evt.preventDefault();
-
- if (evt.dataTransfer.files.length > 0) {
- var file = evt.dataTransfer.files[0];
-
- var reader = new FileReader();
- reader.onload = function(e) {
- textarea.value = e.target.result;
- };
- reader.readAsText(file);
- }
- };
-
- function handleDragOver(evt) {
- evt.stopPropagation();
- evt.preventDefault();
- };
-
- // Setup the dnd listeners.
- textarea.addEventListener('dragover', handleDragOver, false);
- textarea.addEventListener('drop', handleDrop, false);
- }
- col1.appendChild(textarea);
-
- row.appendChild(col1);
- body.appendChild(row);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), function() {
- var doc = mxUtils.parseXml(textarea.value);
- editorUi.editor.setGraphXml(doc.documentElement);
- editorUi.hideDialog();
- });
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-/**
- * Constructs a new export dialog.
- */
-function ExportDialog(editorUi) {
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body form');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('export') + ' XML');
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var form = editorUi.createDiv('form-horizontal form-row-seperated');
- var group = editorUi.createDiv('form-group last');
-
- var label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get('filename'));
-
- var input = document.createElement('input');
- input.setAttribute('value', editorUi.editor.getOrCreateFilename());
- input.className = 'form-control';
-
- var div = editorUi.createDiv('col-sm-8');
- div.appendChild(input);
-
- group.appendChild(label);
- group.appendChild(div);
- form.appendChild(group);
-
- body.appendChild(form);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('export'), mxUtils.bind(this,
- function(data) {
- editorUi.save(false);
-
- var xml = encodeURIComponent(mxUtils.getXml(editorUi.editor.getGraphXml()));
- new mxXmlRequest(SAVE_URL + editorUi.editor.data.id + '/download',
- 'filename=' + input.value, 'GET').simulate(document, "_blank");
- editorUi.hideDialog();
- }));
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
-
-/**
- * Giuseppe Careri
- * Constructs a new general dialog.
- */
-function GeneralDialog(editorUi, cell) {
- var graph = editorUi.editor.graph;
-
- var content = editorUi.createDiv('modal-content');
- var header = editorUi.createDiv('modal-header');
- var body = editorUi.createDiv('modal-body form modal-body-scroll');
- var footer = editorUi.createDiv('modal-footer');
-
- //--- START HEADER
- var title = editorUi.createHeader('h4');
- mxUtils.write(title, mxResources.get('edit') + ' ' + mxResources.get(cell.value
- .nodeName));
-
- var x = mxUtils.button('', function() {
- editorUi.hideDialog();
- });
- x.className = 'close';
-
- header.appendChild(x);
- header.appendChild(title);
- //--- END HEADER
-
- //--- START BODY
- var length = cell.value.attributes.length;
- var form = editorUi.createDiv('form-horizontal form-row-seperated');
-
- for (var i = 0; i < length; i++) {
- var name = cell.value.attributes[i].name;
- var id = '_' + name;
- var value = cell.value.attributes[i].value;
-
- var group = editorUi.createDiv((i == length - 1) ? 'form-group last' :
- 'form-group');
-
- var label = document.createElement('label');
- label.className = 'col-sm-4 control-label';
- mxUtils.write(label, mxResources.get(name));
- group.appendChild(label);
-
- var input;
-
- switch (name) {
- case 'sip_id':
- input = createDropdownWithOptgroupFromApi('/api/users/all', value, 'fullname', 'id', editorUi, 'role');
- break;
- case 'queue_id':
- input = createDropdownFromApi('/api/voice/queues', value, 'name', 'name',
- editorUi);
- break;
- case 'trunk_name':
- input = createDropdownFromApi('/api/trunks', value, 'name', 'name', editorUi);
- break;
- case 'variable_id':
- input = createDropdownFromApi('/api/variables', value, 'name', 'id',
- editorUi);
- break;
- case 'account_id':
- if (cell.value.nodeName == 'sendMail') {
- input = createDropdownFromApi('/api/mail/servers/out', value, 'username', 'id',
- editorUi);
- } else {
- input = createDropdownFromApi('/api/sms/accounts', value, 'name', 'id',
- editorUi);
- }
- break;
- case 'template_id':
- input = createDropdownFromApi('/api/templates', value, 'name', 'id',
- editorUi);
- break;
- case 'context':
- input = createDropdownFromApi('/api/voice/contexts', value, 'name', 'name',
- editorUi);
- break;
- case 'mailbox':
- input = createDropdownFromApi('/api/voice/voicemails', value, 'mailbox',
- 'id', editorUi, ['mailbox', 'context'], '%mailbox%@%context%');
- break;
- case 'model':
- input = createDropdownFromArray(ISPEECHASRMODEL, value);
- break;
- case 'ispeech_asr_language':
- input = createDropdownFromArray(ISPEECHASRLANG, value);
- break;
- case 'beep':
- input = createDropdownFromArray(ISPEECHBEEP, value);
- break;
- case 'hiddendigitspos':
- input = createDropdownFromArray(SECRETDIGITSPOS, value);
- break;
- case 'ispeech_tts_language':
- input = createDropdownFromArray(ISPEECHLANG, value);
- break;
- case 'google_tts_language':
- input = createDropdownFromArray(GOOGLETTSLANG, value);
- break;
- case 'intKey':
- input = createDropdownFromArray(ASRINTKEYS, value);
- break;
- case 'recordingFormat':
- input = createDropdownFromArray(RECORDINGFORMAT, value);
- break;
- case 'answer':
- input = createDropdownFromArray(BOOLSELECT, value);
- break;
- case 'list_id':
- input = createDropdownFromTigerDialList(value);
- break;
- case 'interval_id':
- input = createGroupedDropdownFromApi('/api/intervals', value, 'name', 'id',
- editorUi, 'SubIntervals');
- break;
- case 'project_id':
- input = createDropdownFromApi('/api/square/projects', value, 'name', 'id',
- editorUi);
- break;
- case 'odbc_id':
- input = createDropdownFromApi('/api/square/odbc', value, 'name', 'id',
- editorUi);
- break;
- case 'file_id':
- input = createDropdownFromApi('/api/sounds', value, 'display_name', 'id',
- editorUi);
- break;
- case 'timeout':
- case 'digit':
- case 'mindigit':
- case 'maxdigit':
- case 'response':
- case 'retry':
- case 'speed':
- input = document.createElement('input');
- input.setAttribute('type', 'number');
- input.setAttribute('min', 0);
- input.setAttribute('max', 1000);
- input.setAttribute('value', value);
- input.className = 'form-control';
- break;
- case 'text':
- case 'key':
- case 'query':
- case 'condition':
- case 'command':
- case 'body':
- input = document.createElement('textarea');
- input.innerHTML = value;
- input.className = 'form-control';
- break;
- case 'sms_text':
- input = document.createElement('textarea');
- input.innerHTML = value;
- input.className = 'form-control';
- input.setAttribute('maxlength', '160');
- break;
- default:
- input = document.createElement('input');
- input.setAttribute('value', value);
- input.className = 'form-control';
- break;
- }
-
- input.setAttribute('id', id);
-
- var div = editorUi.createDiv('col-sm-8');
- div.appendChild(input);
-
- // Help
- if (mxResources.get('help_' + name)) {
- var help = editorUi.createDiv('p');
- help.className = 'help-block';
- mxUtils.write(help, mxResources.get('help_' + name));
- div.appendChild(help);
- }
-
- group.appendChild(div);
- form.appendChild(group);
- }
- body.appendChild(form);
- //--- END BODY
-
- //--- START FOOTER
- var save = mxUtils.button(mxResources.get('save'), mxUtils.bind(this,
- function(data) {
- for (var i = 0; i < cell.value.attributes.length; i++) {
- var id = '_' + cell.value.attributes[i].name;
- var name = cell.value.attributes[i].name;
- // console.log(name, document.getElementById(id).value);
- cell.setAttribute(name, document.getElementById(id).value);
- };
- graph.refresh(cell);
- editorUi.hideDialog();
- }));
- save.className = 'btn blue';
-
- var close = mxUtils.button(mxResources.get('cancel'), function() {
- editorUi.hideDialog();
- });
- close.className = 'btn default';
-
- footer.appendChild(save);
- footer.appendChild(close);
- //--- END FOOTER
-
- //--- START CONTENT
- content.appendChild(header);
- content.appendChild(body);
- content.appendChild(footer);
- //--- END CONTENT
-
- this.container = content;
-};
+var _0xefe9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x69\x6E\x70\x75\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x79\x70\x65","\x63\x68\x65\x63\x6B\x62\x6F\x78","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x68\x65\x63\x6B\x65\x64","\x47\x45\x54","\x6F\x70\x65\x6E","\x41\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x42\x65\x61\x72\x65\x72\x20","\x74\x6F\x6B\x65\x6E","\x64\x61\x74\x61","\x65\x64\x69\x74\x6F\x72","\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x70\x61\x72\x73\x65","\x73\x65\x6C\x65\x63\x74","\x6F\x70\x74\x69\x6F\x6E","\x74\x65\x78\x74","\x2D\x2D\x20\x4E\x6F\x6E\x65\x20\x2D\x2D","\x76\x61\x6C\x75\x65","\x2D\x31","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x25","\x72\x65\x70\x6C\x61\x63\x65","\x66\x6F\x72\x45\x61\x63\x68","\x73\x65\x6C\x65\x63\x74\x65\x64","\x72\x6F\x77\x73","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x66\x6F\x72\x6D\x2D\x63\x6F\x6E\x74\x72\x6F\x6C\x20\x73\x65\x6C\x65\x63\x74\x32","\x67\x72\x6F\x75\x70\x42\x79","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x6F\x70\x74\x67\x72\x6F\x75\x70","\x6C\x61\x62\x65\x6C","\x63\x61\x70\x69\x74\x61\x6C\x69\x7A\x65","\x30","\x73\x65\x6C\x65\x63\x74\x2D\x67\x72\x6F\x75\x70\x2D\x66\x61\x74\x68\x65\x72","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x73\x65\x6C\x65\x63\x74\x2D\x67\x72\x6F\x75\x70\x2D\x73\x6F\x6E","\x2D","","\x50\x4F\x53\x54","\x2F\x61\x70\x69\x2F\x72\x65\x73\x74\x2F\x6C\x69\x73\x74\x2F\x6C\x69\x73\x74","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x52\x4D\x49","\x69\x64","\x6E\x61\x6D\x65","\x6C\x6F\x67","\x49\x53\x5F\x49\x45","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x73\x63\x72\x6F\x6C\x6C\x57\x69\x64\x74\x68","\x62\x6F\x64\x79","\x72\x6F\x75\x6E\x64","\x6D\x61\x78","\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x44\x69\x61\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65\x44\x69\x76","\x6D\x6F\x64\x61\x6C\x20\x66\x61\x64\x65\x20\x69\x6E\x20\x63\x65\x6E\x74\x65\x72","\x64\x69\x73\x70\x6C\x61\x79","\x73\x74\x79\x6C\x65","\x62\x6C\x6F\x63\x6B","\x70\x61\x64\x64\x69\x6E\x67\x52\x69\x67\x68\x74","\x31\x32\x70\x78","\x67\x65\x4D\x6F\x64\x61\x6C\x44\x69\x61\x6C\x6F\x67","\x6D\x6F\x64\x61\x6C\x2D\x64\x69\x61\x6C\x6F\x67","\x62\x67","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x6D\x6F\x64\x61\x6C\x2D\x62\x61\x63\x6B\x64\x72\x6F\x70\x20\x66\x61\x64\x65\x20\x69\x6E","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x6F\x6E\x44\x69\x61\x6C\x6F\x67\x43\x6C\x6F\x73\x65","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x63\x6C\x6F\x73\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x6D\x6F\x64\x61\x6C\x2D\x63\x6F\x6E\x74\x65\x6E\x74","\x6D\x6F\x64\x61\x6C\x2D\x68\x65\x61\x64\x65\x72","\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79","\x6D\x6F\x64\x61\x6C\x2D\x66\x6F\x6F\x74\x65\x72","\x68\x34","\x63\x72\x65\x61\x74\x65\x48\x65\x61\x64\x65\x72","\x69\x6D\x70\x6F\x72\x74","\x67\x65\x74","\x20\x58\x4D\x4C","\x77\x72\x69\x74\x65","\x68\x69\x64\x65\x44\x69\x61\x6C\x6F\x67","\x62\x75\x74\x74\x6F\x6E","\x72\x6F\x77","\x63\x6F\x6C\x2D\x6D\x64\x2D\x31\x32","\x74\x65\x78\x74\x61\x72\x65\x61","\x77\x69\x64\x74\x68","\x31\x30\x30\x25","\x68\x65\x69\x67\x68\x74","\x33\x37\x34\x70\x78","\x66\x69\x6C\x65","\x61\x63\x63\x65\x70\x74","\x74\x65\x78\x74\x2F\x78\x6D\x6C","\x63\x68\x61\x6E\x67\x65","\x66\x69\x6C\x65\x73","\x74\x61\x72\x67\x65\x74","\x6F\x6E\x6C\x6F\x61\x64","\x72\x65\x73\x75\x6C\x74","\x72\x65\x61\x64\x41\x73\x54\x65\x78\x74","\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x6C\x6F\x61\x64\x20\x66\x6F\x72\x6D\x61\x74\x20\x66\x69\x6C\x65","\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x6C\x6F\x61\x64\x20\x66\x69\x6C\x65","\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x61\x72\x73\x65\x58\x6D\x6C","\x73\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x62\x69\x6E\x64","\x62\x74\x6E\x20\x62\x6C\x75\x65","\x63\x61\x6E\x63\x65\x6C","\x62\x74\x6E\x20\x64\x65\x66\x61\x75\x6C\x74","\x61\x62\x6F\x75\x74","\x20\x43\x61\x6C\x6C\x79\x20\x53\x71\x75\x61\x72\x65","\x69\x6D\x67","\x62\x6F\x72\x64\x65\x72","\x30\x70\x78","\x31\x37\x36","\x31\x35\x31","\x73\x72\x63","\x2F\x6C\x6F\x67\x6F\x2E\x70\x6E\x67","\x62\x72","\x50\x6F\x77\x65\x72\x65\x64\x20\x62\x79\x20\x58\x65\x6E\x69\x61\x6C\x61\x62\x20","\x56\x45\x52\x53\x49\x4F\x4E","\x61","\x68\x72\x65\x66","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65\x2E\x63\x6F\x6D\x2F","\x5F\x62\x6C\x61\x6E\x6B","\x77\x77\x77\x2E\x63\x61\x6C\x6C\x79\x73\x71\x75\x61\x72\x65\x2E\x63\x6F\x6D","\x73\x61\x76\x65\x41\x73","\x5F","\x67\x65\x74\x4F\x72\x43\x72\x65\x61\x74\x65\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x63\x6F\x6E\x74\x72\x6F\x6C\x2D\x6C\x61\x62\x65\x6C\x20\x70\x75\x6C\x6C\x2D\x72\x69\x67\x68\x74","\x5F\x63\x6F\x70\x79","\x66\x6F\x72\x6D\x2D\x63\x6F\x6E\x74\x72\x6F\x6C","\x73\x61\x76\x65","\x6E\x65\x77","\x5F\x6E\x65\x77","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x2D\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x20\x66\x6F\x72\x6D\x2D\x72\x6F\x77\x2D\x73\x65\x70\x65\x72\x61\x74\x65\x64","\x66\x6F\x72\x6D\x2D\x67\x72\x6F\x75\x70","\x63\x6F\x6C\x2D\x73\x6D\x2D\x34\x20\x63\x6F\x6E\x74\x72\x6F\x6C\x2D\x6C\x61\x62\x65\x6C","\x63\x6F\x6C\x2D\x73\x6D\x2D\x38","\x75\x70\x64\x61\x74\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x6E\x61\x6D\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x2D\x67\x72\x6F\x75\x70\x20\x6C\x61\x73\x74","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x2F","\x72\x65\x6E\x61\x6D\x65","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x50\x55\x54","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x6E\x61\x6D\x65\x3D","\x50\x72\x6F\x6A\x65\x63\x74\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6C\x6C\x79\x20\x72\x65\x6E\x61\x6D\x65\x64","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x6D\x65\x73\x73\x61\x67\x65","\x65\x72\x72\x6F\x72\x73","\x6F\x6E\x65\x72\x72\x6F\x72","\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74","\x61\x6C\x65\x72\x74","\x65\x64\x69\x74","\x67\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x67\x65\x74\x50\x72\x65\x74\x74\x79\x58\x6D\x6C","\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E","\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74","\x64\x61\x74\x61\x54\x72\x61\x6E\x73\x66\x65\x72","\x64\x72\x61\x67\x6F\x76\x65\x72","\x64\x72\x6F\x70","\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79\x20\x66\x6F\x72\x6D","\x65\x78\x70\x6F\x72\x74","\x67\x65\x74\x58\x6D\x6C","\x73\x69\x6D\x75\x6C\x61\x74\x65","\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D","\x67\x72\x61\x70\x68","\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79\x20\x66\x6F\x72\x6D\x20\x6D\x6F\x64\x61\x6C\x2D\x62\x6F\x64\x79\x2D\x73\x63\x72\x6F\x6C\x6C","\x20","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x73\x2F\x61\x6C\x6C","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x73\x69\x70\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x71\x75\x65\x75\x65\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x74\x72\x75\x6E\x6B\x5F\x6E\x61\x6D\x65","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x6F\x75\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x61\x63\x63\x6F\x75\x6E\x74\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x74\x65\x6D\x70\x6C\x61\x74\x65\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x63\x6F\x6E\x74\x65\x78\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x6D\x61\x69\x6C\x62\x6F\x78","\x25\x6D\x61\x69\x6C\x62\x6F\x78\x25\x40\x25\x63\x6F\x6E\x74\x65\x78\x74\x25","\x6D\x6F\x64\x65\x6C","\x69\x73\x70\x65\x65\x63\x68\x5F\x61\x73\x72\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x62\x65\x65\x70","\x68\x69\x64\x64\x65\x6E\x64\x69\x67\x69\x74\x73\x70\x6F\x73","\x69\x73\x70\x65\x65\x63\x68\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x67\x6F\x6F\x67\x6C\x65\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x69\x6E\x74\x4B\x65\x79","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x46\x6F\x72\x6D\x61\x74","\x61\x6E\x73\x77\x65\x72","\x6C\x69\x73\x74\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C\x5F\x69\x64","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x6F\x64\x62\x63\x5F\x69\x64","\x2F\x61\x70\x69\x2F\x73\x6F\x75\x6E\x64\x73","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x66\x69\x6C\x65\x5F\x69\x64","\x74\x69\x6D\x65\x6F\x75\x74","\x64\x69\x67\x69\x74","\x6D\x69\x6E\x64\x69\x67\x69\x74","\x6D\x61\x78\x64\x69\x67\x69\x74","\x72\x65\x74\x72\x79","\x6E\x75\x6D\x62\x65\x72","\x6D\x69\x6E","\x73\x70\x65\x65\x64","\x6B\x65\x79","\x71\x75\x65\x72\x79","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x63\x6F\x6D\x6D\x61\x6E\x64","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x6D\x61\x78\x6C\x65\x6E\x67\x74\x68","\x31\x36\x30","\x73\x6D\x73\x5F\x74\x65\x78\x74","\x68\x65\x6C\x70\x5F","\x70","\x68\x65\x6C\x70\x2D\x62\x6C\x6F\x63\x6B","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x72\x65\x66\x72\x65\x73\x68"];_0xefe9[0];function createCheckbox(_0xbf59x2){var _0xbf59x3=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[3],_0xefe9[4]);if(_0xbf59x2){_0xbf59x3[_0xefe9[5]](_0xefe9[6],true)};return _0xbf59x3}function createDropdownFromApi(_0xbf59x5,_0xbf59x2,_0xbf59x6,_0xbf59x7,_0xbf59x8,_0xbf59x9,_0xbf59xa){var _0xbf59xb= new XMLHttpRequest();_0xbf59xb[_0xefe9[8]](_0xefe9[7],_0xbf59x5,false);_0xbf59xb[_0xefe9[14]](_0xefe9[9],_0xefe9[10]+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[11]]);_0xbf59xb[_0xefe9[15]](null);var _0xbf59xc=[];if(_0xbf59xb[_0xefe9[16]]=== 200){_0xbf59xc= JSON[_0xefe9[18]](_0xbf59xb[_0xefe9[17]])};var _0xbf59x3=document[_0xefe9[2]](_0xefe9[19]);var _0xbf59xd=document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xefe9[22];_0xbf59xd[_0xefe9[23]]= _0xefe9[24];_0xbf59x3[_0xefe9[25]](_0xbf59xd);_0xbf59xc[_0xefe9[30]][_0xefe9[28]](function(_0xbf59xe){_0xbf59xd= document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xbf59xe[_0xbf59x6];if(_0xbf59x9&& _0xbf59xa){_0xbf59xd[_0xefe9[23]]= _0xbf59xa;_0xbf59x9[_0xefe9[28]](function(_0xbf59xf){_0xbf59xd[_0xefe9[23]]= _0xbf59xd[_0xefe9[23]][_0xefe9[27]](_0xefe9[26]+ _0xbf59xf+ _0xefe9[26],_0xbf59xe[_0xbf59xf])});_0xbf59xd[_0xefe9[29]]= (_0xbf59xd[_0xefe9[23]]== _0xbf59x2)}else {_0xbf59xd[_0xefe9[23]]= _0xbf59xe[_0xbf59x7];_0xbf59xd[_0xefe9[29]]= (_0xbf59xe[_0xbf59x7]== _0xbf59x2)};_0xbf59x3[_0xefe9[25]](_0xbf59xd)});_0xbf59x3[_0xefe9[31]]= _0xefe9[32];return _0xbf59x3}function createDropdownWithOptgroupFromApi(_0xbf59x5,_0xbf59x2,_0xbf59x6,_0xbf59x7,_0xbf59x8,_0xbf59x11){var _0xbf59xb= new XMLHttpRequest();_0xbf59xb[_0xefe9[8]](_0xefe9[7],_0xbf59x5,false);_0xbf59xb[_0xefe9[14]](_0xefe9[9],_0xefe9[10]+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[11]]);_0xbf59xb[_0xefe9[15]](null);var _0xbf59xc=[];if(_0xbf59xb[_0xefe9[16]]=== 200){_0xbf59xc= JSON[_0xefe9[18]](_0xbf59xb[_0xefe9[17]])};var _0xbf59x3=document[_0xefe9[2]](_0xefe9[19]);var _0xbf59xd=document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xefe9[22];_0xbf59xd[_0xefe9[23]]= _0xefe9[24];_0xbf59x3[_0xefe9[25]](_0xbf59xd);var _0xbf59x12=_[_0xefe9[33]](_0xbf59xc[_0xefe9[30]],_0xbf59x11);for(var _0xbf59x13 in _0xbf59x12){if(_0xbf59x12[_0xefe9[34]](_0xbf59x13)){var _0xbf59x14=document[_0xefe9[2]](_0xefe9[35]);_0xbf59x14[_0xefe9[36]]= _[_0xefe9[37]](_0xbf59x13);var _0xbf59x15=_0xbf59x12[_0xbf59x13];_0xbf59x15[_0xefe9[28]](function(_0xbf59xe){_0xbf59xd= document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xbf59xe[_0xbf59x6];_0xbf59xd[_0xefe9[23]]= _0xbf59xe[_0xbf59x7];_0xbf59xd[_0xefe9[29]]= (_0xbf59xe[_0xbf59x7]== _0xbf59x2);_0xbf59x14[_0xefe9[25]](_0xbf59xd)});_0xbf59x3[_0xefe9[25]](_0xbf59x14)}};_0xbf59x3[_0xefe9[31]]= _0xefe9[32];return _0xbf59x3}function createGroupedDropdownFromApi(_0xbf59x5,_0xbf59x2,_0xbf59x6,_0xbf59x7,_0xbf59x8,_0xbf59x17){var _0xbf59xb= new XMLHttpRequest();_0xbf59xb[_0xefe9[8]](_0xefe9[7],_0xbf59x5,false);_0xbf59xb[_0xefe9[14]](_0xefe9[9],_0xefe9[10]+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[11]]);_0xbf59xb[_0xefe9[15]](null);var _0xbf59xc=[];if(_0xbf59xb[_0xefe9[16]]=== 200){_0xbf59xc= JSON[_0xefe9[18]](_0xbf59xb[_0xefe9[17]])};var _0xbf59x3=document[_0xefe9[2]](_0xefe9[19]);var _0xbf59xd=document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xefe9[22];_0xbf59xd[_0xefe9[23]]= _0xefe9[38];_0xbf59x3[_0xefe9[25]](_0xbf59xd);_0xbf59xc[_0xefe9[30]][_0xefe9[28]](function(_0xbf59xe){_0xbf59xd= document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[31]]= _0xefe9[39];_0xbf59xd[_0xefe9[21]]= _0xbf59xe[_0xbf59x6][_0xefe9[40]]();_0xbf59xd[_0xefe9[23]]= _0xbf59xe[_0xbf59x7];_0xbf59xd[_0xefe9[29]]= (_0xbf59xe[_0xbf59x7]== _0xbf59x2);_0xbf59x3[_0xefe9[25]](_0xbf59xd);_0xbf59xe[_0xbf59x17][_0xefe9[28]](function(_0xbf59xe){_0xbf59xd= document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[31]]= _0xefe9[41];_0xbf59xd[_0xefe9[21]]= _0xefe9[42]+ _[_0xefe9[37]](_0xbf59xe[_0xbf59x6]);_0xbf59xd[_0xefe9[23]]= _0xbf59xe[_0xbf59x7];_0xbf59xd[_0xefe9[29]]= (_0xbf59xe[_0xbf59x7]== _0xbf59x2);_0xbf59x3[_0xefe9[25]](_0xbf59xd)})});_0xbf59x3[_0xefe9[31]]= _0xefe9[32];return _0xbf59x3}function createDropdownFromArray(_0xbf59x19,_0xbf59x2){var _0xbf59x3=document[_0xefe9[2]](_0xefe9[19]);for(var _0xbf59x1a in _0xbf59x19){var _0xbf59xd=document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xbf59x19[_0xbf59x1a];_0xbf59xd[_0xefe9[23]]= _0xbf59x1a;if(_0xbf59x2> 0|| _0xbf59x2!= _0xefe9[43]){_0xbf59xd[_0xefe9[29]]= (_0xbf59x2=== _0xbf59x1a)?true:false};_0xbf59x3[_0xefe9[25]](_0xbf59xd)};_0xbf59x3[_0xefe9[31]]= _0xefe9[32];return _0xbf59x3}function createDropdownFromTigerDialList(_0xbf59x2){var _0xbf59x3=document[_0xefe9[2]](_0xefe9[19]);var _0xbf59x19=[];var _0xbf59x1c= new XMLHttpRequest();try{_0xbf59x1c[_0xefe9[8]](_0xefe9[44],_0xefe9[45],false);_0xbf59x1c[_0xefe9[15]](JSON[_0xefe9[46]]({page:1,size:600000}));if(_0xbf59x1c[_0xefe9[16]]=== 200){var _0xbf59xc=JSON[_0xefe9[18]](_0xbf59x1c[_0xefe9[17]]);if(_0xbf59xc[_0xefe9[16]]> 0){var _0xbf59x1d=_0xbf59xc[_0xefe9[17]][_0xefe9[47]][_0xefe9[30]];for(var _0xbf59x1e in _0xbf59x1d){_0xbf59x19[_0xbf59x1d[_0xbf59x1e][_0xefe9[48]]]= _0xbf59x1d[_0xbf59x1e][_0xefe9[49]]}}}}catch(e){console[_0xefe9[50]](e)};for(var _0xbf59x1a in _0xbf59x19){var _0xbf59xd=document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xbf59x19[_0xbf59x1a];_0xbf59xd[_0xefe9[23]]= _0xbf59x1a;if(_0xbf59x2> 0|| _0xbf59x2!= _0xefe9[43]){_0xbf59xd[_0xefe9[29]]= (_0xbf59x2=== _0xbf59x1a)?true:false};_0xbf59x3[_0xefe9[25]](_0xbf59xd)};_0xbf59x3[_0xefe9[31]]= _0xefe9[32];return _0xbf59x3}function Dialog(_0xbf59x8,_0xbf59x20,_0xbf59x21,_0xbf59x22,_0xbf59x23,_0xbf59x24,_0xbf59x25){var _0xbf59x26=0;if(mxClient[_0xefe9[51]]&& document[_0xefe9[52]]!= 9){_0xbf59x26= 60};_0xbf59x21+= _0xbf59x26;_0xbf59x22+= _0xbf59x26;var _0xbf59x27=Math[_0xefe9[56]](0,Math[_0xefe9[55]]((document[_0xefe9[54]][_0xefe9[53]]- _0xbf59x21)/ 2));var _0xbf59x28=Math[_0xefe9[56]](0,Math[_0xefe9[55]]((Math[_0xefe9[56]](document[_0xefe9[54]][_0xefe9[57]],document[_0xefe9[58]][_0xefe9[57]])- _0xbf59x22)/ 3));var _0xbf59x29=_0xbf59x8[_0xefe9[60]](_0xefe9[59]);_0xbf59x29[_0xefe9[31]]= _0xefe9[61];_0xbf59x29[_0xefe9[63]][_0xefe9[62]]= _0xefe9[64];_0xbf59x29[_0xefe9[63]][_0xefe9[65]]= _0xefe9[66];var _0xbf59x2a=_0xbf59x8[_0xefe9[60]](_0xefe9[67]);_0xbf59x2a[_0xefe9[31]]= _0xefe9[68];_0xbf59x2a[_0xefe9[25]](_0xbf59x20);_0xbf59x29[_0xefe9[25]](_0xbf59x2a);if(this[_0xefe9[69]]== null){this[_0xefe9[69]]= _0xbf59x8[_0xefe9[60]](_0xefe9[70]);this[_0xefe9[69]][_0xefe9[31]]= _0xefe9[71];if(mxClient[_0xefe9[72]]){ new mxDivResizer(this[_0xefe9[69]])}};if(_0xbf59x23){document[_0xefe9[54]][_0xefe9[25]](this[_0xefe9[69]])};document[_0xefe9[54]][_0xefe9[25]](_0xbf59x29);this[_0xefe9[73]]= _0xbf59x25;this[_0xefe9[74]]= _0xbf59x29}Dialog[_0xefe9[76]][_0xefe9[75]]= function(){if(this[_0xefe9[73]]!= null){this[_0xefe9[73]]();this[_0xefe9[73]]= null};this[_0xefe9[74]][_0xefe9[78]][_0xefe9[77]](this[_0xefe9[74]]);this[_0xefe9[69]][_0xefe9[78]][_0xefe9[77]](this[_0xefe9[69]])};function ImportDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[85])+ _0xefe9[87]);var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x32=_0xbf59x8[_0xefe9[60]](_0xefe9[91]);var _0xbf59x33=_0xbf59x8[_0xefe9[60]](_0xefe9[92]);var _0xbf59x34=document[_0xefe9[2]](_0xefe9[93]);_0xbf59x34[_0xefe9[63]][_0xefe9[94]]= _0xefe9[95];_0xbf59x34[_0xefe9[63]][_0xefe9[96]]= _0xefe9[97];var _0xbf59x3=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[3]]= _0xefe9[98];_0xbf59x3[_0xefe9[5]](_0xefe9[99],_0xefe9[100]);_0xbf59x3[_0xefe9[109]](_0xefe9[101],function _0xbf59x35(_0xbf59x36){var _0xbf59x37=_0xbf59x36[_0xefe9[103]][_0xefe9[102]][0];console[_0xefe9[50]](_0xbf59x37);if(_0xbf59x37){if(_0xbf59x37[_0xefe9[3]]=== _0xefe9[100]){var _0xbf59x38= new FileReader();_0xbf59x38[_0xefe9[104]]= function(_0xbf59x39){var _0xbf59x3a=_0xbf59x39[_0xefe9[103]][_0xefe9[105]];mxUtils[_0xefe9[88]](_0xbf59x34,_0xbf59x3a)};_0xbf59x38[_0xefe9[106]](_0xbf59x37)}else {alert(_0xefe9[107])}}else {alert(_0xefe9[108])}},false);_0xbf59x33[_0xefe9[25]](_0xbf59x3);_0xbf59x33[_0xefe9[25]](_0xbf59x34);_0xbf59x32[_0xefe9[25]](_0xbf59x33);_0xbf59x2e[_0xefe9[25]](_0xbf59x32);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[85]),mxUtils[_0xefe9[112]](this,function(_0xbf59x3c){var _0xbf59x3d=mxUtils[_0xefe9[110]](_0xbf59x34[_0xefe9[23]]);_0xbf59x8[_0xefe9[13]][_0xefe9[111]](_0xbf59x3d[_0xefe9[58]]);_0xbf59x8[_0xefe9[89]]()}));_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function AboutDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[116])+ _0xefe9[117]);var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x40=document[_0xefe9[2]](_0xefe9[118]);_0xbf59x40[_0xefe9[63]][_0xefe9[119]]= _0xefe9[120];_0xbf59x40[_0xefe9[5]](_0xefe9[94],_0xefe9[121]);_0xbf59x40[_0xefe9[5]](_0xefe9[94],_0xefe9[122]);_0xbf59x40[_0xefe9[5]](_0xefe9[123],IMAGE_PATH+ _0xefe9[124]);_0xbf59x2e[_0xefe9[25]](_0xbf59x40);mxUtils[_0xefe9[125]](_0xbf59x2e);mxUtils[_0xefe9[88]](_0xbf59x2e,_0xefe9[126]+ mxClient[_0xefe9[127]]);mxUtils[_0xefe9[125]](_0xbf59x2e);var _0xbf59x41=document[_0xefe9[2]](_0xefe9[128]);_0xbf59x41[_0xefe9[5]](_0xefe9[129],_0xefe9[130]);_0xbf59x41[_0xefe9[5]](_0xefe9[103],_0xefe9[131]);mxUtils[_0xefe9[88]](_0xbf59x41,_0xefe9[132]);_0xbf59x2e[_0xefe9[25]](_0xbf59x41);mxUtils[_0xefe9[125]](_0xbf59x2e);mxUtils[_0xefe9[125]](_0xbf59x2e);var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[75]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function SaveDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[133]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x43=_0xefe9[49];var _0xbf59x44=_0xefe9[134]+ _0xbf59x43;var _0xbf59x2=_0xbf59x8[_0xefe9[13]][_0xefe9[135]]();var _0xbf59x32=_0xbf59x8[_0xefe9[60]](_0xefe9[91]);var _0xbf59x33=_0xbf59x8[_0xefe9[60]](_0xefe9[136]);var _0xbf59x45=_0xbf59x8[_0xefe9[60]](_0xefe9[137]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[138];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xbf59x43));_0xbf59x33[_0xefe9[25]](_0xbf59x46);var _0xbf59x47=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x47[_0xefe9[5]](_0xefe9[23],_0xbf59x2+ _0xefe9[139]);_0xbf59x47[_0xefe9[5]](_0xefe9[48],_0xbf59x44);_0xbf59x47[_0xefe9[31]]= _0xefe9[140];_0xbf59x45[_0xefe9[25]](_0xbf59x47);_0xbf59x32[_0xefe9[25]](_0xbf59x33);_0xbf59x32[_0xefe9[25]](_0xbf59x45);_0xbf59x2e[_0xefe9[25]](_0xbf59x32);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[141]),function(){_0xbf59x8[_0xefe9[133]](_0xbf59x47[_0xefe9[23]]);_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function NewDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[142]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x43=_0xefe9[49];var _0xbf59x44=_0xefe9[134]+ _0xbf59x43;var _0xbf59x2=_0xbf59x8[_0xefe9[13]][_0xefe9[135]]();var _0xbf59x32=_0xbf59x8[_0xefe9[60]](_0xefe9[91]);var _0xbf59x33=_0xbf59x8[_0xefe9[60]](_0xefe9[136]);var _0xbf59x45=_0xbf59x8[_0xefe9[60]](_0xefe9[137]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[138];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xbf59x43));_0xbf59x33[_0xefe9[25]](_0xbf59x46);var _0xbf59x47=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x47[_0xefe9[5]](_0xefe9[23],_0xbf59x2+ _0xefe9[143]);_0xbf59x47[_0xefe9[5]](_0xefe9[48],_0xbf59x44);_0xbf59x47[_0xefe9[31]]= _0xefe9[140];_0xbf59x45[_0xefe9[25]](_0xbf59x47);_0xbf59x32[_0xefe9[25]](_0xbf59x33);_0xbf59x32[_0xefe9[25]](_0xbf59x45);_0xbf59x2e[_0xefe9[25]](_0xbf59x32);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[142]),function(){_0xbf59x8[_0xefe9[142]](_0xbf59x47[_0xefe9[23]]);_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function DescriptionDialog(_0xbf59x8){console[_0xefe9[50]](_0xbf59x8[_0xefe9[13]][_0xefe9[12]]);var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[144]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x4a=_0xbf59x8[_0xefe9[60]](_0xefe9[145]);var _0xbf59x43=_0xefe9[144];var _0xbf59x44=_0xefe9[134]+ _0xbf59x43;var _0xbf59x2=_0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[144]]|| _0xefe9[43];var _0xbf59x13=_0xbf59x8[_0xefe9[60]](_0xefe9[146]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[147];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xbf59x43));_0xbf59x13[_0xefe9[25]](_0xbf59x46);var _0xbf59x3=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[23],_0xbf59x2);_0xbf59x3[_0xefe9[31]]= _0xefe9[140];_0xbf59x3[_0xefe9[5]](_0xefe9[48],_0xbf59x44);var _0xbf59x29=_0xbf59x8[_0xefe9[60]](_0xefe9[148]);_0xbf59x29[_0xefe9[25]](_0xbf59x3);_0xbf59x13[_0xefe9[25]](_0xbf59x29);_0xbf59x4a[_0xefe9[25]](_0xbf59x13);_0xbf59x2e[_0xefe9[25]](_0xbf59x4a);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[149]),function(){_0xbf59x8[_0xefe9[144]](_0xbf59x3[_0xefe9[23]]);_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function VariableDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[150]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x4a=_0xbf59x8[_0xefe9[60]](_0xefe9[145]);var _0xbf59x43=_0xefe9[49];var _0xbf59x44=_0xefe9[134]+ _0xbf59x43;var _0xbf59x2=_0xefe9[151];var _0xbf59x13=_0xbf59x8[_0xefe9[60]](_0xefe9[146]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[147];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xbf59x43));_0xbf59x13[_0xefe9[25]](_0xbf59x46);var _0xbf59x3=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[23],_0xbf59x2);_0xbf59x3[_0xefe9[31]]= _0xefe9[140];_0xbf59x3[_0xefe9[5]](_0xefe9[48],_0xbf59x44);var _0xbf59x29=_0xbf59x8[_0xefe9[60]](_0xefe9[148]);_0xbf59x29[_0xefe9[25]](_0xbf59x3);_0xbf59x13[_0xefe9[25]](_0xbf59x29);_0xbf59x4a[_0xefe9[25]](_0xbf59x13);_0xbf59x43= _0xefe9[144];_0xbf59x44= _0xefe9[134]+ _0xbf59x43;_0xbf59x2= _0xefe9[152];_0xbf59x13= _0xbf59x8[_0xefe9[60]](_0xefe9[153]);_0xbf59x46= document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[147];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xbf59x43));_0xbf59x13[_0xefe9[25]](_0xbf59x46);var _0xbf59x4c=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x4c[_0xefe9[5]](_0xefe9[23],_0xbf59x2);_0xbf59x4c[_0xefe9[31]]= _0xefe9[140];_0xbf59x4c[_0xefe9[5]](_0xefe9[48],_0xbf59x44);_0xbf59x29= _0xbf59x8[_0xefe9[60]](_0xefe9[148]);_0xbf59x29[_0xefe9[25]](_0xbf59x4c);_0xbf59x13[_0xefe9[25]](_0xbf59x29);_0xbf59x4a[_0xefe9[25]](_0xbf59x13);_0xbf59x2e[_0xefe9[25]](_0xbf59x4a);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[142]),function(){_0xbf59x8[_0xefe9[150]](_0xbf59x3[_0xefe9[23]],_0xbf59x4c[_0xefe9[23]]);_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function OpenDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[8]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x32=_0xbf59x8[_0xefe9[60]](_0xefe9[91]);var _0xbf59x33=_0xbf59x8[_0xefe9[60]](_0xefe9[136]);var _0xbf59x45=_0xbf59x8[_0xefe9[60]](_0xefe9[137]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[138];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xefe9[49]));_0xbf59x33[_0xefe9[25]](_0xbf59x46);var _0xbf59xb= new XMLHttpRequest();_0xbf59xb[_0xefe9[8]](_0xefe9[7],_0xefe9[154],false);_0xbf59xb[_0xefe9[14]](_0xefe9[9],_0xefe9[10]+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[11]]);_0xbf59xb[_0xefe9[15]](null);var _0xbf59xc=[];if(_0xbf59xb[_0xefe9[16]]=== 200){_0xbf59xc= JSON[_0xefe9[18]](_0xbf59xb[_0xefe9[17]])};var _0xbf59x47=document[_0xefe9[2]](_0xefe9[19]);for(var _0xbf59x4e=0;_0xbf59x4e< _0xbf59xc[_0xefe9[155]];_0xbf59x4e++){var _0xbf59xd=document[_0xefe9[2]](_0xefe9[20]);_0xbf59xd[_0xefe9[21]]= _0xbf59xc[_0xbf59x4e][_0xefe9[49]];_0xbf59xd[_0xefe9[23]]= _0xbf59xc[_0xbf59x4e][_0xefe9[48]];_0xbf59x47[_0xefe9[25]](_0xbf59xd)};_0xbf59x47[_0xefe9[31]]= _0xefe9[140];_0xbf59x45[_0xefe9[25]](_0xbf59x47);_0xbf59x32[_0xefe9[25]](_0xbf59x33);_0xbf59x32[_0xefe9[25]](_0xbf59x45);_0xbf59x2e[_0xefe9[25]](_0xbf59x32);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[8]),function(){console[_0xefe9[50]](_0xbf59x47);console[_0xefe9[50]](_0xbf59x47[_0xefe9[23]]);window[_0xefe9[8]](_0xefe9[156]+ _0xbf59x47[_0xefe9[23]],_0xefe9[131]);_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function RenameDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[157]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x32=_0xbf59x8[_0xefe9[60]](_0xefe9[91]);var _0xbf59x33=_0xbf59x8[_0xefe9[60]](_0xefe9[136]);var _0xbf59x45=_0xbf59x8[_0xefe9[60]](_0xefe9[137]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[138];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xefe9[49]));_0xbf59x33[_0xefe9[25]](_0xbf59x46);var _0xbf59x43=_0xbf59x8[_0xefe9[13]][_0xefe9[158]];var _0xbf59x3=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[23],_0xbf59x43);_0xbf59x3[_0xefe9[31]]= _0xefe9[140];_0xbf59x45[_0xefe9[25]](_0xbf59x3);_0xbf59x32[_0xefe9[25]](_0xbf59x33);_0xbf59x32[_0xefe9[25]](_0xbf59x45);_0xbf59x2e[_0xefe9[25]](_0xbf59x32);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[141]),function(){var _0xbf59xb= new XMLHttpRequest();_0xbf59xb[_0xefe9[8]](_0xefe9[159],SAVE_URL+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[48]],true);_0xbf59xb[_0xefe9[14]](_0xefe9[160],_0xefe9[161]);_0xbf59xb[_0xefe9[14]](_0xefe9[9],_0xefe9[10]+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[11]]);_0xbf59xb[_0xefe9[15]](_0xefe9[162]+ _0xbf59x3[_0xefe9[23]]);_0xbf59xb[_0xefe9[104]]= function(_0xbf59x39){if(_0xbf59xb[_0xefe9[16]]=== 200){_0xbf59x8[_0xefe9[13]][_0xefe9[164]](_0xefe9[163]);_0xbf59x8[_0xefe9[13]][_0xefe9[158]]= _0xbf59x3[_0xefe9[23]]}else {console[_0xefe9[50]](_0xbf59xb[_0xefe9[17]]);_0xbf59x8[_0xefe9[13]][_0xefe9[164]](JSON[_0xefe9[18]](_0xbf59xb[_0xefe9[17]])[_0xefe9[166]][0][_0xefe9[165]])}};_0xbf59xb[_0xefe9[167]]= function(_0xbf59x39){mxUtils[_0xefe9[169]](_0xbf59xb[_0xefe9[168]])};_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function EditFileDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[81]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[170]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x32=_0xbf59x8[_0xefe9[60]](_0xefe9[91]);var _0xbf59x33=_0xbf59x8[_0xefe9[60]](_0xefe9[92]);var _0xbf59x34=document[_0xefe9[2]](_0xefe9[93]);_0xbf59x34[_0xefe9[63]][_0xefe9[94]]= _0xefe9[95];_0xbf59x34[_0xefe9[63]][_0xefe9[96]]= _0xefe9[97];_0xbf59x34[_0xefe9[23]]= mxUtils[_0xefe9[172]](_0xbf59x8[_0xefe9[13]][_0xefe9[171]]());if(fileSupport){function _0xbf59x51(_0xbf59x36){_0xbf59x36[_0xefe9[173]]();_0xbf59x36[_0xefe9[174]]();if(_0xbf59x36[_0xefe9[175]][_0xefe9[102]][_0xefe9[155]]> 0){var _0xbf59x52=_0xbf59x36[_0xefe9[175]][_0xefe9[102]][0];var _0xbf59x53= new FileReader();_0xbf59x53[_0xefe9[104]]= function(_0xbf59x39){_0xbf59x34[_0xefe9[23]]= _0xbf59x39[_0xefe9[103]][_0xefe9[105]]};_0xbf59x53[_0xefe9[106]](_0xbf59x52)}}function _0xbf59x54(_0xbf59x36){_0xbf59x36[_0xefe9[173]]();_0xbf59x36[_0xefe9[174]]()}_0xbf59x34[_0xefe9[109]](_0xefe9[176],_0xbf59x54,false);_0xbf59x34[_0xefe9[109]](_0xefe9[177],_0xbf59x51,false)};_0xbf59x33[_0xefe9[25]](_0xbf59x34);_0xbf59x32[_0xefe9[25]](_0xbf59x33);_0xbf59x2e[_0xefe9[25]](_0xbf59x32);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[141]),function(){var _0xbf59x3d=mxUtils[_0xefe9[110]](_0xbf59x34[_0xefe9[23]]);_0xbf59x8[_0xefe9[13]][_0xefe9[111]](_0xbf59x3d[_0xefe9[58]]);_0xbf59x8[_0xefe9[89]]()});_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function ExportDialog(_0xbf59x8){var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[178]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[179])+ _0xefe9[87]);var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x4a=_0xbf59x8[_0xefe9[60]](_0xefe9[145]);var _0xbf59x13=_0xbf59x8[_0xefe9[60]](_0xefe9[153]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[147];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xefe9[158]));var _0xbf59x3=document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[23],_0xbf59x8[_0xefe9[13]][_0xefe9[135]]());_0xbf59x3[_0xefe9[31]]= _0xefe9[140];var _0xbf59x29=_0xbf59x8[_0xefe9[60]](_0xefe9[148]);_0xbf59x29[_0xefe9[25]](_0xbf59x3);_0xbf59x13[_0xefe9[25]](_0xbf59x46);_0xbf59x13[_0xefe9[25]](_0xbf59x29);_0xbf59x4a[_0xefe9[25]](_0xbf59x13);_0xbf59x2e[_0xefe9[25]](_0xbf59x4a);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[179]),mxUtils[_0xefe9[112]](this,function(_0xbf59x3c){_0xbf59x8[_0xefe9[141]](false);var _0xbf59x56=encodeURIComponent(mxUtils[_0xefe9[180]](_0xbf59x8[_0xefe9[13]][_0xefe9[171]]())); new mxXmlRequest(SAVE_URL+ _0xbf59x8[_0xefe9[13]][_0xefe9[12]][_0xefe9[48]]+ _0xefe9[182],_0xefe9[183]+ _0xbf59x3[_0xefe9[23]],_0xefe9[7])[_0xefe9[181]](document,_0xefe9[131]);_0xbf59x8[_0xefe9[89]]()}));_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}function GeneralDialog(_0xbf59x8,_0xbf59x58){var _0xbf59x59=_0xbf59x8[_0xefe9[13]][_0xefe9[184]];var _0xbf59x2c=_0xbf59x8[_0xefe9[60]](_0xefe9[79]);var _0xbf59x2d=_0xbf59x8[_0xefe9[60]](_0xefe9[80]);var _0xbf59x2e=_0xbf59x8[_0xefe9[60]](_0xefe9[185]);var _0xbf59x2f=_0xbf59x8[_0xefe9[60]](_0xefe9[82]);var _0xbf59x30=_0xbf59x8[_0xefe9[84]](_0xefe9[83]);mxUtils[_0xefe9[88]](_0xbf59x30,mxResources[_0xefe9[86]](_0xefe9[170])+ _0xefe9[186]+ mxResources[_0xefe9[86]](_0xbf59x58[_0xefe9[23]][_0xefe9[187]]));var _0xbf59x31=mxUtils[_0xefe9[90]](_0xefe9[43],function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x31[_0xefe9[31]]= _0xefe9[75];_0xbf59x2d[_0xefe9[25]](_0xbf59x31);_0xbf59x2d[_0xefe9[25]](_0xbf59x30);var _0xbf59x5a=_0xbf59x58[_0xefe9[23]][_0xefe9[188]][_0xefe9[155]];var _0xbf59x4a=_0xbf59x8[_0xefe9[60]](_0xefe9[145]);for(var _0xbf59x5b=0;_0xbf59x5b< _0xbf59x5a;_0xbf59x5b++){var _0xbf59x43=_0xbf59x58[_0xefe9[23]][_0xefe9[188]][_0xbf59x5b][_0xefe9[49]];var _0xbf59x44=_0xefe9[134]+ _0xbf59x43;var _0xbf59x2=_0xbf59x58[_0xefe9[23]][_0xefe9[188]][_0xbf59x5b][_0xefe9[23]];var _0xbf59x13=_0xbf59x8[_0xefe9[60]]((_0xbf59x5b== _0xbf59x5a- 1)?_0xefe9[153]:_0xefe9[146]);var _0xbf59x46=document[_0xefe9[2]](_0xefe9[36]);_0xbf59x46[_0xefe9[31]]= _0xefe9[147];mxUtils[_0xefe9[88]](_0xbf59x46,mxResources[_0xefe9[86]](_0xbf59x43));_0xbf59x13[_0xefe9[25]](_0xbf59x46);var _0xbf59x3;switch(_0xbf59x43){case _0xefe9[192]:_0xbf59x3= createDropdownWithOptgroupFromApi(_0xefe9[189],_0xbf59x2,_0xefe9[190],_0xefe9[48],_0xbf59x8,_0xefe9[191]);break;case _0xefe9[194]:_0xbf59x3= createDropdownFromApi(_0xefe9[193],_0xbf59x2,_0xefe9[49],_0xefe9[49],_0xbf59x8);break;case _0xefe9[196]:_0xbf59x3= createDropdownFromApi(_0xefe9[195],_0xbf59x2,_0xefe9[49],_0xefe9[49],_0xbf59x8);break;case _0xefe9[198]:_0xbf59x3= createDropdownFromApi(_0xefe9[197],_0xbf59x2,_0xefe9[49],_0xefe9[48],_0xbf59x8);break;case _0xefe9[203]:if(_0xbf59x58[_0xefe9[23]][_0xefe9[187]]== _0xefe9[199]){_0xbf59x3= createDropdownFromApi(_0xefe9[200],_0xbf59x2,_0xefe9[201],_0xefe9[48],_0xbf59x8)}else {_0xbf59x3= createDropdownFromApi(_0xefe9[202],_0xbf59x2,_0xefe9[49],_0xefe9[48],_0xbf59x8)};break;case _0xefe9[205]:_0xbf59x3= createDropdownFromApi(_0xefe9[204],_0xbf59x2,_0xefe9[49],_0xefe9[48],_0xbf59x8);break;case _0xefe9[207]:_0xbf59x3= createDropdownFromApi(_0xefe9[206],_0xbf59x2,_0xefe9[49],_0xefe9[49],_0xbf59x8);break;case _0xefe9[209]:_0xbf59x3= createDropdownFromApi(_0xefe9[208],_0xbf59x2,_0xefe9[209],_0xefe9[48],_0xbf59x8,[_0xefe9[209],_0xefe9[207]],_0xefe9[210]);break;case _0xefe9[211]:_0xbf59x3= createDropdownFromArray(ISPEECHASRMODEL,_0xbf59x2);break;case _0xefe9[212]:_0xbf59x3= createDropdownFromArray(ISPEECHASRLANG,_0xbf59x2);break;case _0xefe9[213]:_0xbf59x3= createDropdownFromArray(ISPEECHBEEP,_0xbf59x2);break;case _0xefe9[214]:_0xbf59x3= createDropdownFromArray(SECRETDIGITSPOS,_0xbf59x2);break;case _0xefe9[215]:_0xbf59x3= createDropdownFromArray(ISPEECHLANG,_0xbf59x2);break;case _0xefe9[216]:_0xbf59x3= createDropdownFromArray(GOOGLETTSLANG,_0xbf59x2);break;case _0xefe9[217]:_0xbf59x3= createDropdownFromArray(ASRINTKEYS,_0xbf59x2);break;case _0xefe9[218]:_0xbf59x3= createDropdownFromArray(RECORDINGFORMAT,_0xbf59x2);break;case _0xefe9[219]:_0xbf59x3= createDropdownFromArray(BOOLSELECT,_0xbf59x2);break;case _0xefe9[220]:_0xbf59x3= createDropdownFromTigerDialList(_0xbf59x2);break;case _0xefe9[223]:_0xbf59x3= createGroupedDropdownFromApi(_0xefe9[221],_0xbf59x2,_0xefe9[49],_0xefe9[48],_0xbf59x8,_0xefe9[222]);break;case _0xefe9[224]:_0xbf59x3= createDropdownFromApi(_0xefe9[154],_0xbf59x2,_0xefe9[49],_0xefe9[48],_0xbf59x8);break;case _0xefe9[226]:_0xbf59x3= createDropdownFromApi(_0xefe9[225],_0xbf59x2,_0xefe9[49],_0xefe9[48],_0xbf59x8);break;case _0xefe9[229]:_0xbf59x3= createDropdownFromApi(_0xefe9[227],_0xbf59x2,_0xefe9[228],_0xefe9[48],_0xbf59x8);break;case _0xefe9[230]:;case _0xefe9[231]:;case _0xefe9[232]:;case _0xefe9[233]:;case _0xefe9[17]:;case _0xefe9[234]:;case _0xefe9[237]:_0xbf59x3= document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[3],_0xefe9[235]);_0xbf59x3[_0xefe9[5]](_0xefe9[236],0);_0xbf59x3[_0xefe9[5]](_0xefe9[56],1000);_0xbf59x3[_0xefe9[5]](_0xefe9[23],_0xbf59x2);_0xbf59x3[_0xefe9[31]]= _0xefe9[140];break;case _0xefe9[21]:;case _0xefe9[238]:;case _0xefe9[239]:;case _0xefe9[240]:;case _0xefe9[241]:;case _0xefe9[54]:_0xbf59x3= document[_0xefe9[2]](_0xefe9[93]);_0xbf59x3[_0xefe9[242]]= _0xbf59x2;_0xbf59x3[_0xefe9[31]]= _0xefe9[140];break;case _0xefe9[245]:_0xbf59x3= document[_0xefe9[2]](_0xefe9[93]);_0xbf59x3[_0xefe9[242]]= _0xbf59x2;_0xbf59x3[_0xefe9[31]]= _0xefe9[140];_0xbf59x3[_0xefe9[5]](_0xefe9[243],_0xefe9[244]);break;default:_0xbf59x3= document[_0xefe9[2]](_0xefe9[1]);_0xbf59x3[_0xefe9[5]](_0xefe9[23],_0xbf59x2);_0xbf59x3[_0xefe9[31]]= _0xefe9[140];break};_0xbf59x3[_0xefe9[5]](_0xefe9[48],_0xbf59x44);var _0xbf59x29=_0xbf59x8[_0xefe9[60]](_0xefe9[148]);_0xbf59x29[_0xefe9[25]](_0xbf59x3);if(mxResources[_0xefe9[86]](_0xefe9[246]+ _0xbf59x43)){var _0xbf59x5c=_0xbf59x8[_0xefe9[60]](_0xefe9[247]);_0xbf59x5c[_0xefe9[31]]= _0xefe9[248];mxUtils[_0xefe9[88]](_0xbf59x5c,mxResources[_0xefe9[86]](_0xefe9[246]+ _0xbf59x43));_0xbf59x29[_0xefe9[25]](_0xbf59x5c)};_0xbf59x13[_0xefe9[25]](_0xbf59x29);_0xbf59x4a[_0xefe9[25]](_0xbf59x13)};_0xbf59x2e[_0xefe9[25]](_0xbf59x4a);var _0xbf59x3b=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[141]),mxUtils[_0xefe9[112]](this,function(_0xbf59x3c){for(var _0xbf59x5b=0;_0xbf59x5b< _0xbf59x58[_0xefe9[23]][_0xefe9[188]][_0xefe9[155]];_0xbf59x5b++){var _0xbf59x44=_0xefe9[134]+ _0xbf59x58[_0xefe9[23]][_0xefe9[188]][_0xbf59x5b][_0xefe9[49]];var _0xbf59x43=_0xbf59x58[_0xefe9[23]][_0xefe9[188]][_0xbf59x5b][_0xefe9[49]];_0xbf59x58[_0xefe9[5]](_0xbf59x43,document[_0xefe9[249]](_0xbf59x44)[_0xefe9[23]])};_0xbf59x59[_0xefe9[250]](_0xbf59x58);_0xbf59x8[_0xefe9[89]]()}));_0xbf59x3b[_0xefe9[31]]= _0xefe9[113];var _0xbf59x3e=mxUtils[_0xefe9[90]](mxResources[_0xefe9[86]](_0xefe9[114]),function(){_0xbf59x8[_0xefe9[89]]()});_0xbf59x3e[_0xefe9[31]]= _0xefe9[115];_0xbf59x2f[_0xefe9[25]](_0xbf59x3b);_0xbf59x2f[_0xefe9[25]](_0xbf59x3e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2d);_0xbf59x2c[_0xefe9[25]](_0xbf59x2e);_0xbf59x2c[_0xefe9[25]](_0xbf59x2f);this[_0xefe9[74]]= _0xbf59x2c}
\ No newline at end of file
-/**
- * $Id: Editor.js,v 1.14 2013/03/06 17:57:10 boris Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-// Specifies if local storage should be used (eg. on the iPad which has no filesystem)
-var useLocalStorage = (mxClient.IS_TOUCH || urlParams['storage'] == 'local') && typeof(localStorage) != 'undefined';
-var fileSupport = window.File != null && window.FileReader != null && window.FileList != null;
-
-// Specifies if connector should be shown on selected cells
-var touchStyle = mxClient.IS_TOUCH || urlParams['touch'] == '1';
-
-// Counts open editor tabs (must be global for cross-window access)
-var counter = 0;
-
-// Cross-domain window access is not allowed in FF, so if we
-// were opened from another domain then this will fail.
-try {
- var op = window;
-
- while (op.opener != null && !isNaN(op.opener.counter)) {
- op = op.opener;
- }
-
- // Increments the counter in the first opener in the chain
- if (op != null) {
- op.counter++;
- counter = op.counter;
- }
-} catch (e) {
- // ignore
-}
-
-/**
- * Editor constructor executed on page load.
- */
-Editor = function() {
- mxEventSource.call(this);
- this.init();
- this.initStencilRegistry();
- this.graph = new Graph();
- this.outline = new mxOutline(this.graph);
- this.outline.updateOnPan = true;
- this.undoManager = this.createUndoManager();
- this.status = '';
-
- // Contains the name which was used for the last save. Default value is null.
- this.filename = null;
-
- this.getOrCreateFilename = function() {
- return this.filename || mxResources.get('drawing', [counter]) + '.xml';
- };
-
- this.getFilename = function() {
- return this.filename;
- };
-
- // Sets the status and fires a statusChanged event
- this.setStatus = function(value) {
- this.status = value;
- this.fireEvent(new mxEventObject('statusChanged'));
- };
-
- // Returns the current status
- this.getStatus = function() {
- return this.status;
- };
-
- // Contains the current modified state of the diagram. This is false for
- // new diagrams and after the diagram was saved.
- this.modified = false;
-
- // Updates modified state if graph changes
- this.graphChangeListener = function() {
- this.modified = true;
- };
- this.graph.getModel().addListener(mxEvent.CHANGE, mxUtils.bind(this, function() {
- this.graphChangeListener.apply(this, arguments);
- }));
-
- // Installs dialog if browser window is closed without saving
- // This must be disabled during save and image export
- window.onbeforeunload = mxUtils.bind(this, function() {
- if (this.modified) {
- return mxResources.get('allChangesLost');
- }
- });
-
- // Sets persistent graph state defaults
- this.graph.resetViewOnRootChange = false;
- this.graph.scrollbars = true;
- this.graph.background = null;
-};
-
-// Editor inherits from mxEventSource
-mxUtils.extend(Editor, mxEventSource);
-
-/**
- * Specifies the image URL to be used for the grid.
- */
-Editor.prototype.gridImage = IMAGE_PATH + '/grid.gif';
-
-/**
- * Specifies the image URL to be used for the transparent background.
- */
-Editor.prototype.transparentImage = IMAGE_PATH + '/transparent.gif';
-
-/**
- * Sets the XML node for the current diagram.
- */
-Editor.prototype.setGraphXml = function(node) {
- var dec = new mxCodec(node.ownerDocument);
-
- if (node.nodeName == 'mxGraphModel') {
- this.graph.view.scale = 1;
- this.graph.gridEnabled = node.getAttribute('grid') != '0';
- this.graph.graphHandler.guidesEnabled = node.getAttribute('guides') != '0';
- this.graph.setTooltips(node.getAttribute('tooltips') != '0');
- this.graph.setConnectable(node.getAttribute('connect') != '0');
- this.graph.foldingEnabled = node.getAttribute('fold') != '0';
- this.graph.scrollbars = node.getAttribute('scrollbars') != '0';
-
- if (!this.graph.scrollbars) {
- this.graph.container.scrollLeft = 0;
- this.graph.container.scrollTop = 0;
- this.graph.view.translate.x = Number(node.getAttribute('dx') || 0);
- this.graph.view.translate.y = Number(node.getAttribute('dy') || 0);
- }
-
- this.graph.pageVisible = node.getAttribute('page') == '1';
- this.graph.pageBreaksVisible = this.graph.pageVisible;
- this.graph.preferPageSize = this.graph.pageBreaksVisible;
-
- // Loads the persistent state settings
- var ps = node.getAttribute('pageScale');
-
- if (ps != null) {
- this.graph.pageScale = ps;
- } else {
- this.graph.pageScale = 1.5;
- }
-
- var pw = node.getAttribute('pageWidth');
- var ph = node.getAttribute('pageHeight');
-
- if (pw != null && ph != null) {
- this.graph.pageFormat = new mxRectangle(0, 0, parseFloat(pw), parseFloat(ph));
- this.outline.outline.pageFormat = this.graph.pageFormat;
- }
-
- // Loads the persistent state settings
- var bg = node.getAttribute('background');
-
- if (bg != null && bg.length > 0) {
- this.graph.background = bg;
- }
-
- dec.decode(node, this.graph.getModel());
- this.updateGraphComponents();
- }
-};
-
-/**
- * Returns the XML node that represents the current diagram.
- */
-Editor.prototype.getGraphXml = function() {
- var enc = new mxCodec(mxUtils.createXmlDocument());
- var node = enc.encode(this.graph.getModel());
-
- if (this.graph.view.translate.x != 0 || this.graph.view.translate.y != 0) {
- node.setAttribute('dx', Math.round(this.graph.view.translate.x * 100) / 100);
- node.setAttribute('dy', Math.round(this.graph.view.translate.y * 100) / 100);
- }
-
- node.setAttribute('grid', (this.graph.isGridEnabled()) ? '1' : '0');
- node.setAttribute('guides', (this.graph.graphHandler.guidesEnabled) ? '1' : '0');
- node.setAttribute('guides', (this.graph.graphHandler.guidesEnabled) ? '1' : '0');
- node.setAttribute('tooltips', (this.graph.tooltipHandler.isEnabled()) ? '1' : '0');
- node.setAttribute('connect', (this.graph.connectionHandler.isEnabled()) ? '1' : '0');
- node.setAttribute('fold', (this.graph.foldingEnabled) ? '1' : '0');
- node.setAttribute('page', (this.graph.pageVisible) ? '1' : '0');
- node.setAttribute('pageScale', this.graph.pageScale);
- node.setAttribute('pageWidth', this.graph.pageFormat.width);
- node.setAttribute('pageHeight', this.graph.pageFormat.height);
-
- if (!this.graph.scrollbars) {
- node.setAttribute('scrollbars', '0');
- }
-
- if (this.graph.background != null) {
- node.setAttribute('background', this.graph.background);
- }
-
- return node;
-};
-
-/**
- * Keeps the graph container in sync with the persistent graph state
- */
-Editor.prototype.updateGraphComponents = function() {
- var graph = this.graph;
- var outline = this.outline;
-
- if (graph.container != null && outline.outline.container != null) {
- if (graph.background != null) {
- if (graph.background == 'none') {
- graph.container.style.backgroundColor = 'transparent';
- } else {
- if (graph.view.backgroundPageShape != null) {
- graph.view.backgroundPageShape.fill = graph.background;
- graph.view.backgroundPageShape.reconfigure();
- }
-
- graph.container.style.backgroundColor = graph.background;
- }
- } else {
- graph.container.style.backgroundColor = '';
- }
-
- if (graph.pageVisible) {
- graph.container.style.backgroundColor = '#ebebeb';
- graph.container.style.borderStyle = 'solid';
- graph.container.style.borderColor = '#e5e5e5';
- graph.container.style.borderTopWidth = '1px';
- graph.container.style.borderLeftWidth = '1px';
- graph.container.style.borderRightWidth = '0px';
- graph.container.style.borderBottomWidth = '0px';
- } else {
- graph.container.style.border = '';
- }
-
- outline.outline.container.style.backgroundColor = graph.container.style.backgroundColor;
-
- if (outline.outline.pageVisible != graph.pageVisible ||
- outline.outline.pageScale != graph.pageScale) {
- outline.outline.pageScale = graph.pageScale;
- outline.outline.pageVisible = graph.pageVisible;
- outline.outline.view.validate();
- }
-
- if (graph.scrollbars && graph.container.style.overflow == 'hidden' && !touchStyle) {
- graph.container.style.overflow = 'auto';
- } else if (!graph.scrollbars || touchStyle) {
- graph.container.style.overflow = 'hidden';
- }
-
- // Transparent.gif is a workaround for focus repaint problems in IE
- var noBackground = (mxClient.IS_IE && document.documentMode >= 9) ? 'url(' + this.transparentImage + ')' : 'none';
- graph.container.style.backgroundImage = (!graph.pageVisible && graph.isGridEnabled()) ? 'url(' + this.gridImage + ')' : noBackground;
-
- if (graph.view.backgroundPageShape != null) {
- graph.view.backgroundPageShape.node.style.backgroundImage = (this.graph.isGridEnabled()) ? 'url(' + this.gridImage + ')' : 'none';
- }
- }
-};
-
-/**
- * Initializes the environment.
- */
-Editor.prototype.init = function() {
- // Adds stylesheet for IE6
- if (mxClient.IS_IE6) {
- mxClient.link('stylesheet', CSS_PATH + '/grapheditor-ie6.css');
- }
-
- // Adds required resources (disables loading of fallback properties, this can only
- // be used if we know that all keys are defined in the language specific file)
- mxResources.loadDefaultBundle = false;
- mxResources.add(RESOURCE_BASE);
-
- // Makes the connection hotspot smaller
- mxConstants.DEFAULT_HOTSPOT = 0.3;
-
- var mxConnectionHandlerCreateMarker = mxConnectionHandler.prototype.createMarker;
- mxConnectionHandler.prototype.createMarker = function() {
- var marker = mxConnectionHandlerCreateMarker.apply(this, arguments);
-
- // Overrides to ignore hotspot only for target terminal
- marker.intersects = mxUtils.bind(this, function(state, evt) {
- if (this.isConnecting()) {
- return true;
- }
-
- return mxCellMarker.prototype.intersects.apply(marker, arguments);
- });
-
- return marker;
- };
-
- // Makes the shadow brighter
- mxConstants.SHADOWCOLOR = '#d0d0d0';
-
- // Changes some default colors
- mxConstants.HANDLE_FILLCOLOR = '#99ccff';
- mxConstants.HANDLE_STROKECOLOR = '#0088cf';
- mxConstants.VERTEX_SELECTION_COLOR = '#00a8ff';
- mxConstants.OUTLINE_COLOR = '#00a8ff';
- mxConstants.OUTLINE_HANDLE_FILLCOLOR = '#99ccff';
- mxConstants.OUTLINE_HANDLE_STROKECOLOR = '#00a8ff';
- mxConstants.CONNECT_HANDLE_FILLCOLOR = '#cee7ff';
- mxConstants.EDGE_SELECTION_COLOR = '#00a8ff';
- mxConstants.DEFAULT_VALID_COLOR = '#00a8ff';
- mxConstants.LABEL_HANDLE_FILLCOLOR = '#cee7ff';
- mxConstants.GUIDE_COLOR = '#0088cf';
-
- mxGraph.prototype.pageBreakColor = '#c0c0c0';
- mxGraph.prototype.pageScale = 1;
-
- // Increases default rubberband opacity (default is 20)
- mxRubberband.prototype.defaultOpacity = 30;
-
- // Changes border color of background page shape
- mxGraphView.prototype.createBackgroundPageShape = function(bounds) {
- return new mxRectangleShape(bounds, this.graph.background || 'white', '#cacaca');
- };
-
- // Fits the number of background pages to the graph
- mxGraphView.prototype.getBackgroundPageBounds = function() {
- var gb = this.getGraphBounds();
-
- // Computes unscaled, untranslated graph bounds
- var x = (gb.width > 0) ? gb.x / this.scale - this.translate.x : 0;
- var y = (gb.height > 0) ? gb.y / this.scale - this.translate.y : 0;
- var w = gb.width / this.scale;
- var h = gb.height / this.scale;
-
- var fmt = this.graph.pageFormat;
- var ps = this.graph.pageScale;
-
- var pw = fmt.width * ps;
- var ph = fmt.height * ps;
-
- var x0 = Math.floor(Math.min(0, x) / pw);
- var y0 = Math.floor(Math.min(0, y) / ph);
- var xe = Math.ceil(Math.max(1, x + w) / pw);
- var ye = Math.ceil(Math.max(1, y + h) / ph);
-
- var rows = xe - x0;
- var cols = ye - y0;
-
- var bounds = new mxRectangle(this.scale * (this.translate.x + x0 * pw), this.scale *
- (this.translate.y + y0 * ph), this.scale * rows * pw, this.scale * cols * ph);
-
- return bounds;
- };
-
- // Add panning for background page in VML
- var graphPanGraph = mxGraph.prototype.panGraph;
- mxGraph.prototype.panGraph = function(dx, dy) {
- graphPanGraph.apply(this, arguments);
-
- if ((this.dialect != mxConstants.DIALECT_SVG && this.view.backgroundPageShape != null) &&
- (!this.useScrollbarsForPanning || !mxUtils.hasScrollbars(this.container))) {
- this.view.backgroundPageShape.node.style.marginLeft = dx + 'px';
- this.view.backgroundPageShape.node.style.marginTop = dy + 'px';
- }
- };
-
- var editor = this;
-
- // Uses HTML for background pages (to support grid background image)
- mxGraphView.prototype.validateBackground = function() {
- var bg = this.graph.getBackgroundImage();
-
- if (bg != null) {
- if (this.backgroundImage == null || this.backgroundImage.image != bg.src) {
- if (this.backgroundImage != null) {
- this.backgroundImage.destroy();
- }
-
- var bounds = new mxRectangle(0, 0, 1, 1);
-
- this.backgroundImage = new mxImageShape(bounds, bg.src);
- this.backgroundImage.dialect = this.graph.dialect;
- this.backgroundImage.init(this.backgroundPane);
- this.backgroundImage.redraw();
- }
-
- this.redrawBackgroundImage(this.backgroundImage, bg);
- } else if (this.backgroundImage != null) {
- this.backgroundImage.destroy();
- this.backgroundImage = null;
- }
-
- if (this.graph.pageVisible) {
- var bounds = this.getBackgroundPageBounds();
-
- if (this.backgroundPageShape == null) {
- this.backgroundPageShape = this.createBackgroundPageShape(bounds);
- this.backgroundPageShape.scale = 1;
- this.backgroundPageShape.isShadow = true;
- this.backgroundPageShape.dialect = mxConstants.DIALECT_STRICTHTML;
- this.backgroundPageShape.init(this.graph.container);
- // Required for the browser to render the background page in correct order
- this.graph.container.firstChild.style.position = 'absolute';
- this.graph.container.insertBefore(this.backgroundPageShape.node, this.graph.container.firstChild);
- this.backgroundPageShape.redraw();
-
- this.backgroundPageShape.node.className = 'geBackgroundPage';
- this.backgroundPageShape.node.style.backgroundPosition = '-1px -1px';
-
- // Adds listener for double click handling on background
- mxEvent.addListener(this.backgroundPageShape.node, 'dblclick',
- mxUtils.bind(this, function(evt) {
- this.graph.dblClick(evt);
- })
- );
-
- // Adds basic listeners for graph event dispatching outside of the
- // container and finishing the handling of a single gesture
- mxEvent.addGestureListeners(this.backgroundPageShape.node,
- mxUtils.bind(this, function(evt) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_DOWN, new mxMouseEvent(evt));
- }),
- mxUtils.bind(this, function(evt) {
- // Hides the tooltip if mouse is outside container
- if (this.graph.tooltipHandler != null &&
- this.graph.tooltipHandler.isHideOnHover()) {
- this.graph.tooltipHandler.hide();
- }
-
- if (this.graph.isMouseDown &&
- !mxEvent.isConsumed(evt)) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_MOVE,
- new mxMouseEvent(evt));
- }
- }),
- mxUtils.bind(this, function(evt) {
- this.graph.fireMouseEvent(mxEvent.MOUSE_UP,
- new mxMouseEvent(evt));
- }));
- } else {
- this.backgroundPageShape.scale = 1;
- this.backgroundPageShape.bounds = bounds;
- this.backgroundPageShape.redraw();
- }
-
- this.backgroundPageShape.node.style.backgroundImage = (this.graph.isGridEnabled()) ?
- 'url(' + editor.gridImage + ')' : 'none';
- } else if (this.backgroundPageShape != null) {
- this.backgroundPageShape.destroy();
- this.backgroundPageShape = null;
- }
- };
-
- // Draws page breaks only within the page
- mxGraph.prototype.updatePageBreaks = function(visible, width, height) {
- var scale = this.view.scale;
- var tr = this.view.translate;
- var fmt = this.pageFormat;
- var ps = scale * this.pageScale;
-
- var bounds2 = this.view.getBackgroundPageBounds();
-
- width = bounds2.width;
- height = bounds2.height;
- var bounds = new mxRectangle(scale * tr.x, scale * tr.y,
- fmt.width * ps, fmt.height * ps);
-
- // Does not show page breaks if the scale is too small
- visible = visible && Math.min(bounds.width, bounds.height) > this.minPageBreakDist;
-
- var horizontalCount = (visible) ? Math.ceil(width / bounds.width) - 1 : 0;
- var verticalCount = (visible) ? Math.ceil(height / bounds.height) - 1 : 0;
- var right = bounds2.x + width;
- var bottom = bounds2.y + height;
-
- if (this.horizontalPageBreaks == null && horizontalCount > 0) {
- this.horizontalPageBreaks = [];
- }
-
- if (this.horizontalPageBreaks != null) {
- for (var i = 0; i <= horizontalCount; i++) {
- var pts = [new mxPoint(bounds2.x + (i + 1) * bounds.width, bounds2.y),
- new mxPoint(bounds2.x + (i + 1) * bounds.width, bottom)
- ];
-
- if (this.horizontalPageBreaks[i] != null) {
- this.horizontalPageBreaks[i].scale = 1;
- this.horizontalPageBreaks[i].points = pts;
- this.horizontalPageBreaks[i].redraw();
- } else {
- var pageBreak = new mxPolyline(pts, this.pageBreakColor, this.scale);
- pageBreak.dialect = this.dialect;
- pageBreak.isDashed = this.pageBreakDashed;
- pageBreak.addPipe = false;
- pageBreak.scale = scale;
- pageBreak.init(this.view.backgroundPane);
- pageBreak.redraw();
-
- this.horizontalPageBreaks[i] = pageBreak;
- }
- }
-
- for (var i = horizontalCount; i < this.horizontalPageBreaks.length; i++) {
- this.horizontalPageBreaks[i].destroy();
- }
-
- this.horizontalPageBreaks.splice(horizontalCount, this.horizontalPageBreaks.length - horizontalCount);
- }
-
- if (this.verticalPageBreaks == null && verticalCount > 0) {
- this.verticalPageBreaks = [];
- }
-
- if (this.verticalPageBreaks != null) {
- for (var i = 0; i <= verticalCount; i++) {
- var pts = [new mxPoint(bounds2.x, bounds2.y + (i + 1) * bounds.height),
- new mxPoint(right, bounds2.y + (i + 1) * bounds.height)
- ];
-
- if (this.verticalPageBreaks[i] != null) {
- this.verticalPageBreaks[i].scale = 1; //scale;
- this.verticalPageBreaks[i].points = pts;
- this.verticalPageBreaks[i].redraw();
- } else {
- var pageBreak = new mxPolyline(pts, this.pageBreakColor, scale);
- pageBreak.dialect = this.dialect;
- pageBreak.isDashed = this.pageBreakDashed;
- pageBreak.addPipe = false;
- pageBreak.scale = scale;
- pageBreak.init(this.view.backgroundPane);
- pageBreak.redraw();
-
- this.verticalPageBreaks[i] = pageBreak;
- }
- }
-
- for (var i = verticalCount; i < this.verticalPageBreaks.length; i++) {
- this.verticalPageBreaks[i].destroy();
- }
-
- this.verticalPageBreaks.splice(verticalCount, this.verticalPageBreaks.length - verticalCount);
- }
- };
-
- // Enables snapping to off-grid terminals for edge waypoints
- mxEdgeHandler.prototype.snapToTerminals = true;
-
- // Enables guides
- mxGraphHandler.prototype.guidesEnabled = true;
-
- // Disables removing relative children from parents
- var mxGraphHandlerShouldRemoveCellsFromParent = mxGraphHandler.prototype.shouldRemoveCellsFromParent;
- mxGraphHandler.prototype.shouldRemoveCellsFromParent = function(parent, cells, evt) {
- for (var i = 0; i < cells.length; i++) {
- if (this.graph.getModel().isVertex(cells[i])) {
- var geo = this.graph.getCellGeometry(cells[i]);
-
- if (geo != null && geo.relative) {
- return false;
- }
- }
- }
-
- return mxGraphHandlerShouldRemoveCellsFromParent.apply(this, arguments);
- };
-
- // Alt-move disables guides
- mxGuide.prototype.isEnabledForEvent = function(evt) {
- return !mxEvent.isAltDown(evt);
- };
-
- // Consumes click events for disabled menu items
- mxPopupMenuAddItem = mxPopupMenu.prototype.addItem;
- mxPopupMenu.prototype.addItem = function(title, image, funct, parent, iconCls, enabled) {
- var result = mxPopupMenuAddItem.apply(this, arguments);
-
- if (enabled != null && !enabled) {
- mxEvent.addListener(result, 'mousedown', function(evt) {
- mxEvent.consume(evt);
- });
- }
-
- return result;
- };
-
- // Selects descendants before children selection mode
- var graphHandlerGetInitialCellForEvent = mxGraphHandler.prototype.getInitialCellForEvent;
- mxGraphHandler.prototype.getInitialCellForEvent = function(me) {
- var model = this.graph.getModel();
- var psel = model.getParent(this.graph.getSelectionCell());
- var cell = graphHandlerGetInitialCellForEvent.apply(this, arguments);
- var parent = model.getParent(cell);
-
- if (psel == null || (psel != cell && psel != parent)) {
- while (!this.graph.isCellSelected(cell) && !this.graph.isCellSelected(parent) &&
- model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- cell = parent;
- parent = this.graph.getModel().getParent(cell);
- }
- }
-
- return cell;
- };
-
- // Selection is delayed to mouseup if child selected
- var graphHandlerIsDelayedSelection = mxGraphHandler.prototype.isDelayedSelection;
- mxGraphHandler.prototype.isDelayedSelection = function(cell) {
- var result = graphHandlerIsDelayedSelection.apply(this, arguments);
- var model = this.graph.getModel();
- var psel = model.getParent(this.graph.getSelectionCell());
- var parent = model.getParent(cell);
-
- if (psel == null || (psel != cell && psel != parent)) {
- if (!this.graph.isCellSelected(cell) && model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- result = true;
- }
- }
-
- return result;
- };
-
- // Delayed selection of parent group
- mxGraphHandler.prototype.selectDelayed = function(me) {
- var cell = me.getCell();
-
- if (cell == null) {
- cell = this.cell;
- }
-
- var model = this.graph.getModel();
- var parent = model.getParent(cell);
-
- while (this.graph.isCellSelected(cell) && model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- cell = parent;
- parent = model.getParent(cell);
- }
-
- this.graph.selectCellForEvent(cell, me.getEvent());
- };
-
- // Returns last selected ancestor
- mxPanningHandler.prototype.getCellForPopupEvent = function(me) {
- var cell = me.getCell();
- var model = this.graph.getModel();
- var parent = model.getParent(cell);
-
- while (model.isVertex(parent) && !this.graph.isValidRoot(parent)) {
- if (this.graph.isCellSelected(parent)) {
- cell = parent;
- }
-
- parent = model.getParent(parent);
- }
-
- return cell;
- };
-};
-
-/**
- * Creates and returns a new undo manager.
- */
-Editor.prototype.createUndoManager = function() {
- var graph = this.graph;
- var undoMgr = new mxUndoManager();
-
- // Installs the command history
- var listener = function(sender, evt) {
- undoMgr.undoableEditHappened(evt.getProperty('edit'));
- };
-
- graph.getModel().addListener(mxEvent.UNDO, listener);
- graph.getView().addListener(mxEvent.UNDO, listener);
-
- // Keeps the selection in sync with the history
- var undoHandler = function(sender, evt) {
- var cand = graph.getSelectionCellsForChanges(evt.getProperty('edit').changes);
- var cells = [];
-
- for (var i = 1; i < cand.length; i++) {
- if (graph.view.getState(cand[i]) != null) {
- cells.push(cand[i]);
- }
- }
-
- graph.setSelectionCells(cells);
- };
-
- undoMgr.addListener(mxEvent.UNDO, undoHandler);
- undoMgr.addListener(mxEvent.REDO, undoHandler);
-
- return undoMgr;
-};
-
-/**
- * Adds basic stencil set (no namespace).
- */
-Editor.prototype.initStencilRegistry = function() {
- // Loads default stencils
- mxStencilRegistry.loadStencilSet(STENCIL_PATH + '/general.xml');
-};
-
-/**
- * Overrides stencil registry for dynamic loading of stencils.
- */
-(function() {
- /**
- * Maps from library names to an array of Javascript filenames,
- * which are synchronously loaded. Currently only stencil files
- * (.xml) and JS files (.js) are supported.
- * IMPORTANT: For embedded diagrams to work entries must also
- * be added in EmbedServlet.java.
- */
- mxStencilRegistry.libraries = {};
-
- /**
- * Stores all package names that have been dynamically loaded.
- * Each package is only loaded once.
- */
- mxStencilRegistry.packages = [];
-
- // Extends the default stencil registry to add dynamic loading
- mxStencilRegistry.getStencil = function(name) {
- var result = mxStencilRegistry.stencils[name];
-
- if (result == null) {
- var basename = mxStencilRegistry.getBasenameForStencil(name);
-
- // Loads stencil files and tries again
- if (basename != null) {
- var libs = mxStencilRegistry.libraries[basename];
-
- if (libs != null) {
- if (mxStencilRegistry.packages[basename] == null) {
- mxStencilRegistry.packages[basename] = 1;
-
- for (var i = 0; i < libs.length; i++) {
- var fname = libs[i];
-
- if (fname.toLowerCase().substring(fname.length - 4, fname.length) == '.xml') {
- mxStencilRegistry.loadStencilSet(fname, null);
- } else if (fname.toLowerCase().substring(fname.length - 3, fname.length) == '.js') {
- var req = mxUtils.load(fname);
-
- if (req != null) {
- eval.call(window, req.getText());
- }
- } else {
- // FIXME: This does not yet work as the loading is triggered after
- // the shape was used in the graph, at which point the keys have
- // typically been translated in the calling method.
- //mxResources.add(fname);
- }
- }
- }
- } else {
- mxStencilRegistry.loadStencilSet(STENCIL_PATH + '/' + basename + '.xml', null);
- }
-
- result = mxStencilRegistry.stencils[name];
- }
- }
-
- return result;
- };
-
- // Returns the basename for the given stencil or null if no file must be
- // loaded to render the given stencil.
- mxStencilRegistry.getBasenameForStencil = function(name) {
- var parts = name.split('.');
- var tmp = null;
-
- if (parts.length > 0 && parts[0] == 'mxgraph') {
- tmp = parts[1];
-
- for (var i = 2; i < parts.length - 1; i++) {
- tmp += '/' + parts[i];
- }
- }
-
- return tmp;
- };
-
- // Loads the given stencil set
- mxStencilRegistry.loadStencilSet = function(stencilFile, postStencilLoad, force) {
- force = (force != null) ? force : false;
-
- // Uses additional cache for detecting previous load attempts
- var xmlDoc = mxStencilRegistry.packages[stencilFile];
-
- if (force || xmlDoc == null) {
- var install = false;
-
- if (xmlDoc == null) {
- var req = mxUtils.load(stencilFile);
- xmlDoc = req.getXml();
- mxStencilRegistry.packages[stencilFile] = xmlDoc;
- install = true;
- }
-
- mxStencilRegistry.parseStencilSet(xmlDoc, postStencilLoad, install);
- }
- };
-
- // Parses the given stencil set
- mxStencilRegistry.parseStencilSet = function(xmlDocument, postStencilLoad, install) {
- install = (install != null) ? install : true;
- var root = xmlDocument.documentElement;
- var shape = root.firstChild;
- var packageName = '';
- var name = root.getAttribute('name');
-
- if (name != null) {
- packageName = name + '.';
- }
-
- while (shape != null) {
- if (shape.nodeType == mxConstants.NODETYPE_ELEMENT) {
- name = shape.getAttribute('name');
-
- if (name != null) {
- packageName = packageName.toLowerCase();
- var stencilName = name.replace(/ /g, "_");
-
- if (install) {
- mxStencilRegistry.addStencil(packageName + stencilName.toLowerCase(), new mxStencil(shape));
- }
-
- if (postStencilLoad != null) {
- var w = shape.getAttribute('w');
- var h = shape.getAttribute('h');
-
- w = (w == null) ? 80 : parseInt(w, 10);
- h = (h == null) ? 80 : parseInt(h, 10);
-
- postStencilLoad(packageName, stencilName, name, w, h);
- }
- }
- }
-
- shape = shape.nextSibling;
- }
- };
-})();
-
-/**
- * Class for asynchronously opening a new window and loading a file at the same
- * time. This acts as a bridge between the open dialog and the new editor.
- */
-OpenFile = function(done) {
- this.producer = null;
- this.consumer = null;
- this.done = done;
-};
-
-/**
- * Registers the editor from the new window.
- */
-OpenFile.prototype.setConsumer = function(value) {
- this.consumer = value;
- this.execute();
-};
-
-/**
- * Sets the data from the loaded file.
- */
-OpenFile.prototype.setData = function(value, filename) {
- this.data = value;
- this.filename = filename;
- this.execute();
-};
-
-/**
- * Displays an error message.
- */
-OpenFile.prototype.error = function(msg) {
- this.cancel();
- mxUtils.alert(msg);
-};
-
-/**
- * Consumes the data.
- */
-OpenFile.prototype.execute = function() {
- if (this.consumer != null && this.data != null) {
- this.consumer(this.data, this.filename);
- this.cancel();
- }
-};
-
-/**
- * Cancels the operation.
- */
-OpenFile.prototype.cancel = function() {
- if (this.done != null) {
- this.done();
- }
-};
+var _0xc6c7=["\x49\x53\x5F\x54\x4F\x55\x43\x48","\x73\x74\x6F\x72\x61\x67\x65","\x6C\x6F\x63\x61\x6C","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x46\x69\x6C\x65","\x46\x69\x6C\x65\x52\x65\x61\x64\x65\x72","\x46\x69\x6C\x65\x4C\x69\x73\x74","\x74\x6F\x75\x63\x68","\x31","\x6F\x70\x65\x6E\x65\x72","\x63\x6F\x75\x6E\x74\x65\x72","\x63\x61\x6C\x6C","\x69\x6E\x69\x74","\x69\x6E\x69\x74\x53\x74\x65\x6E\x63\x69\x6C\x52\x65\x67\x69\x73\x74\x72\x79","\x67\x72\x61\x70\x68","\x6F\x75\x74\x6C\x69\x6E\x65","\x75\x70\x64\x61\x74\x65\x4F\x6E\x50\x61\x6E","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x63\x72\x65\x61\x74\x65\x55\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x73\x74\x61\x74\x75\x73","","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x4F\x72\x43\x72\x65\x61\x74\x65\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x64\x72\x61\x77\x69\x6E\x67","\x67\x65\x74","\x2E\x78\x6D\x6C","\x67\x65\x74\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73\x43\x68\x61\x6E\x67\x65\x64","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x6D\x6F\x64\x69\x66\x69\x65\x64","\x67\x72\x61\x70\x68\x43\x68\x61\x6E\x67\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x61\x70\x70\x6C\x79","\x62\x69\x6E\x64","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x6F\x6E\x62\x65\x66\x6F\x72\x65\x75\x6E\x6C\x6F\x61\x64","\x61\x6C\x6C\x43\x68\x61\x6E\x67\x65\x73\x4C\x6F\x73\x74","\x72\x65\x73\x65\x74\x56\x69\x65\x77\x4F\x6E\x52\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65","\x73\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x65\x78\x74\x65\x6E\x64","\x67\x72\x69\x64\x49\x6D\x61\x67\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x2F\x67\x72\x69\x64\x2E\x67\x69\x66","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x49\x6D\x61\x67\x65","\x2F\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x2E\x67\x69\x66","\x73\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x6F\x77\x6E\x65\x72\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C","\x73\x63\x61\x6C\x65","\x76\x69\x65\x77","\x67\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x69\x64","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x30","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x67\x75\x69\x64\x65\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x66\x6F\x6C\x64","\x73\x63\x72\x6F\x6C\x6C\x4C\x65\x66\x74","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x78","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65","\x64\x78","\x79","\x64\x79","\x70\x61\x67\x65\x56\x69\x73\x69\x62\x6C\x65","\x70\x61\x67\x65","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x73\x56\x69\x73\x69\x62\x6C\x65","\x70\x72\x65\x66\x65\x72\x50\x61\x67\x65\x53\x69\x7A\x65","\x70\x61\x67\x65\x53\x63\x61\x6C\x65","\x70\x61\x67\x65\x57\x69\x64\x74\x68","\x70\x61\x67\x65\x48\x65\x69\x67\x68\x74","\x70\x61\x67\x65\x46\x6F\x72\x6D\x61\x74","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x63\x6F\x64\x65","\x75\x70\x64\x61\x74\x65\x47\x72\x61\x70\x68\x43\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x67\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x65\x6E\x63\x6F\x64\x65","\x72\x6F\x75\x6E\x64","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x6E\x6F\x6E\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x73\x74\x79\x6C\x65","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x53\x68\x61\x70\x65","\x66\x69\x6C\x6C","\x72\x65\x63\x6F\x6E\x66\x69\x67\x75\x72\x65","\x23\x65\x62\x65\x62\x65\x62","\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65","\x73\x6F\x6C\x69\x64","\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72","\x23\x65\x35\x65\x35\x65\x35","\x62\x6F\x72\x64\x65\x72\x54\x6F\x70\x57\x69\x64\x74\x68","\x31\x70\x78","\x62\x6F\x72\x64\x65\x72\x4C\x65\x66\x74\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72\x52\x69\x67\x68\x74\x57\x69\x64\x74\x68","\x30\x70\x78","\x62\x6F\x72\x64\x65\x72\x42\x6F\x74\x74\x6F\x6D\x57\x69\x64\x74\x68","\x62\x6F\x72\x64\x65\x72","\x76\x61\x6C\x69\x64\x61\x74\x65","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x68\x69\x64\x64\x65\x6E","\x61\x75\x74\x6F","\x49\x53\x5F\x49\x45","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x75\x72\x6C\x28","\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x6E\x6F\x64\x65","\x49\x53\x5F\x49\x45\x36","\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x2F\x67\x72\x61\x70\x68\x65\x64\x69\x74\x6F\x72\x2D\x69\x65\x36\x2E\x63\x73\x73","\x6C\x69\x6E\x6B","\x6C\x6F\x61\x64\x44\x65\x66\x61\x75\x6C\x74\x42\x75\x6E\x64\x6C\x65","\x61\x64\x64","\x44\x45\x46\x41\x55\x4C\x54\x5F\x48\x4F\x54\x53\x50\x4F\x54","\x63\x72\x65\x61\x74\x65\x4D\x61\x72\x6B\x65\x72","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x73","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67","\x53\x48\x41\x44\x4F\x57\x43\x4F\x4C\x4F\x52","\x23\x64\x30\x64\x30\x64\x30","\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x23\x39\x39\x63\x63\x66\x66","\x48\x41\x4E\x44\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x43\x4F\x4C\x4F\x52","\x23\x30\x30\x38\x38\x63\x66","\x56\x45\x52\x54\x45\x58\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x43\x4F\x4C\x4F\x52","\x23\x30\x30\x61\x38\x66\x66","\x4F\x55\x54\x4C\x49\x4E\x45\x5F\x43\x4F\x4C\x4F\x52","\x4F\x55\x54\x4C\x49\x4E\x45\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x4F\x55\x54\x4C\x49\x4E\x45\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x43\x4F\x4C\x4F\x52","\x43\x4F\x4E\x4E\x45\x43\x54\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x23\x63\x65\x65\x37\x66\x66","\x45\x44\x47\x45\x5F\x53\x45\x4C\x45\x43\x54\x49\x4F\x4E\x5F\x43\x4F\x4C\x4F\x52","\x44\x45\x46\x41\x55\x4C\x54\x5F\x56\x41\x4C\x49\x44\x5F\x43\x4F\x4C\x4F\x52","\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x46\x49\x4C\x4C\x43\x4F\x4C\x4F\x52","\x47\x55\x49\x44\x45\x5F\x43\x4F\x4C\x4F\x52","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x43\x6F\x6C\x6F\x72","\x23\x63\x30\x63\x30\x63\x30","\x64\x65\x66\x61\x75\x6C\x74\x4F\x70\x61\x63\x69\x74\x79","\x63\x72\x65\x61\x74\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x53\x68\x61\x70\x65","\x77\x68\x69\x74\x65","\x23\x63\x61\x63\x61\x63\x61","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65\x42\x6F\x75\x6E\x64\x73","\x67\x65\x74\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x6D\x69\x6E","\x66\x6C\x6F\x6F\x72","\x6D\x61\x78","\x63\x65\x69\x6C","\x70\x61\x6E\x47\x72\x61\x70\x68","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x75\x73\x65\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73\x46\x6F\x72\x50\x61\x6E\x6E\x69\x6E\x67","\x68\x61\x73\x53\x63\x72\x6F\x6C\x6C\x62\x61\x72\x73","\x6D\x61\x72\x67\x69\x6E\x4C\x65\x66\x74","\x70\x78","\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70","\x76\x61\x6C\x69\x64\x61\x74\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x67\x65\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x69\x6D\x61\x67\x65","\x73\x72\x63","\x64\x65\x73\x74\x72\x6F\x79","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x6E\x65","\x72\x65\x64\x72\x61\x77","\x72\x65\x64\x72\x61\x77\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x69\x73\x53\x68\x61\x64\x6F\x77","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x54\x52\x49\x43\x54\x48\x54\x4D\x4C","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x66\x69\x72\x73\x74\x43\x68\x69\x6C\x64","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x69\x6E\x73\x65\x72\x74\x42\x65\x66\x6F\x72\x65","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x61\x67\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x2D\x31\x70\x78\x20\x2D\x31\x70\x78","\x64\x62\x6C\x63\x6C\x69\x63\x6B","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x69\x73\x48\x69\x64\x65\x4F\x6E\x48\x6F\x76\x65\x72","\x68\x69\x64\x65","\x69\x73\x4D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x62\x6F\x75\x6E\x64\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x6D\x69\x6E\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x44\x69\x73\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x70\x6F\x69\x6E\x74\x73","\x69\x73\x44\x61\x73\x68\x65\x64","\x70\x61\x67\x65\x42\x72\x65\x61\x6B\x44\x61\x73\x68\x65\x64","\x61\x64\x64\x50\x69\x70\x65","\x73\x70\x6C\x69\x63\x65","\x76\x65\x72\x74\x69\x63\x61\x6C\x50\x61\x67\x65\x42\x72\x65\x61\x6B\x73","\x73\x6E\x61\x70\x54\x6F\x54\x65\x72\x6D\x69\x6E\x61\x6C\x73","\x73\x68\x6F\x75\x6C\x64\x52\x65\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73\x46\x72\x6F\x6D\x50\x61\x72\x65\x6E\x74","\x69\x73\x56\x65\x72\x74\x65\x78","\x67\x65\x74\x43\x65\x6C\x6C\x47\x65\x6F\x6D\x65\x74\x72\x79","\x72\x65\x6C\x61\x74\x69\x76\x65","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64\x46\x6F\x72\x45\x76\x65\x6E\x74","\x69\x73\x41\x6C\x74\x44\x6F\x77\x6E","\x61\x64\x64\x49\x74\x65\x6D","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x63\x6F\x6E\x73\x75\x6D\x65","\x67\x65\x74\x49\x6E\x69\x74\x69\x61\x6C\x43\x65\x6C\x6C\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x69\x73\x43\x65\x6C\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x69\x73\x44\x65\x6C\x61\x79\x65\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x73\x65\x6C\x65\x63\x74\x44\x65\x6C\x61\x79\x65\x64","\x67\x65\x74\x43\x65\x6C\x6C","\x63\x65\x6C\x6C","\x67\x65\x74\x45\x76\x65\x6E\x74","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x46\x6F\x72\x45\x76\x65\x6E\x74","\x67\x65\x74\x43\x65\x6C\x6C\x46\x6F\x72\x50\x6F\x70\x75\x70\x45\x76\x65\x6E\x74","\x65\x64\x69\x74","\x67\x65\x74\x50\x72\x6F\x70\x65\x72\x74\x79","\x75\x6E\x64\x6F\x61\x62\x6C\x65\x45\x64\x69\x74\x48\x61\x70\x70\x65\x6E\x65\x64","\x67\x65\x74\x56\x69\x65\x77","\x63\x68\x61\x6E\x67\x65\x73","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x46\x6F\x72\x43\x68\x61\x6E\x67\x65\x73","\x67\x65\x74\x53\x74\x61\x74\x65","\x70\x75\x73\x68","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2E\x78\x6D\x6C","\x6C\x6F\x61\x64\x53\x74\x65\x6E\x63\x69\x6C\x53\x65\x74","\x6C\x69\x62\x72\x61\x72\x69\x65\x73","\x70\x61\x63\x6B\x61\x67\x65\x73","\x67\x65\x74\x53\x74\x65\x6E\x63\x69\x6C","\x73\x74\x65\x6E\x63\x69\x6C\x73","\x67\x65\x74\x42\x61\x73\x65\x6E\x61\x6D\x65\x46\x6F\x72\x53\x74\x65\x6E\x63\x69\x6C","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x2E\x6A\x73","\x6C\x6F\x61\x64","\x67\x65\x74\x54\x65\x78\x74","\x2F","\x2E","\x73\x70\x6C\x69\x74","\x6D\x78\x67\x72\x61\x70\x68","\x67\x65\x74\x58\x6D\x6C","\x70\x61\x72\x73\x65\x53\x74\x65\x6E\x63\x69\x6C\x53\x65\x74","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x6E\x61\x6D\x65","\x6E\x6F\x64\x65\x54\x79\x70\x65","\x4E\x4F\x44\x45\x54\x59\x50\x45\x5F\x45\x4C\x45\x4D\x45\x4E\x54","\x5F","\x72\x65\x70\x6C\x61\x63\x65","\x61\x64\x64\x53\x74\x65\x6E\x63\x69\x6C","\x77","\x68","\x6E\x65\x78\x74\x53\x69\x62\x6C\x69\x6E\x67","\x70\x72\x6F\x64\x75\x63\x65\x72","\x63\x6F\x6E\x73\x75\x6D\x65\x72","\x64\x6F\x6E\x65","\x73\x65\x74\x43\x6F\x6E\x73\x75\x6D\x65\x72","\x65\x78\x65\x63\x75\x74\x65","\x73\x65\x74\x44\x61\x74\x61","\x64\x61\x74\x61","\x65\x72\x72\x6F\x72","\x63\x61\x6E\x63\x65\x6C","\x61\x6C\x65\x72\x74"];var useLocalStorage=(mxClient[_0xc6c7[0]]|| urlParams[_0xc6c7[1]]== _0xc6c7[2])&& typeof (localStorage)!= _0xc6c7[3];var fileSupport=window[_0xc6c7[4]]!= null&& window[_0xc6c7[5]]!= null&& window[_0xc6c7[6]]!= null;var touchStyle=mxClient[_0xc6c7[0]]|| urlParams[_0xc6c7[7]]== _0xc6c7[8];var counter=0;try{var op=window;while(op[_0xc6c7[9]]!= null&& !isNaN(op[_0xc6c7[9]][_0xc6c7[10]])){op= op[_0xc6c7[9]]};if(op!= null){op[_0xc6c7[10]]++;counter= op[_0xc6c7[10]]}}catch(e){};Editor= function(){mxEventSource[_0xc6c7[11]](this);this[_0xc6c7[12]]();this[_0xc6c7[13]]();this[_0xc6c7[14]]= new Graph();this[_0xc6c7[15]]= new mxOutline(this[_0xc6c7[14]]);this[_0xc6c7[15]][_0xc6c7[16]]= true;this[_0xc6c7[17]]= this[_0xc6c7[18]]();this[_0xc6c7[19]]= _0xc6c7[20];this[_0xc6c7[21]]= null;this[_0xc6c7[22]]= function(){return this[_0xc6c7[21]]|| mxResources[_0xc6c7[24]](_0xc6c7[23],[counter])+ _0xc6c7[25]};this[_0xc6c7[26]]= function(){return this[_0xc6c7[21]]};this[_0xc6c7[27]]= function(_0x134ex6){this[_0xc6c7[19]]= _0x134ex6;this[_0xc6c7[29]]( new mxEventObject(_0xc6c7[28]))};this[_0xc6c7[30]]= function(){return this[_0xc6c7[19]]};this[_0xc6c7[31]]= false;this[_0xc6c7[32]]= function(){this[_0xc6c7[31]]= true};this[_0xc6c7[14]][_0xc6c7[36]]()[_0xc6c7[35]](mxEvent.CHANGE,mxUtils[_0xc6c7[34]](this,function(){this[_0xc6c7[32]][_0xc6c7[33]](this,arguments)}));window[_0xc6c7[37]]= mxUtils[_0xc6c7[34]](this,function(){if(this[_0xc6c7[31]]){return mxResources[_0xc6c7[24]](_0xc6c7[38])}});this[_0xc6c7[14]][_0xc6c7[39]]= false;this[_0xc6c7[14]][_0xc6c7[40]]= true;this[_0xc6c7[14]][_0xc6c7[41]]= null};mxUtils[_0xc6c7[42]](Editor,mxEventSource);Editor[_0xc6c7[44]][_0xc6c7[43]]= IMAGE_PATH+ _0xc6c7[45];Editor[_0xc6c7[44]][_0xc6c7[46]]= IMAGE_PATH+ _0xc6c7[47];Editor[_0xc6c7[44]][_0xc6c7[48]]= function(_0x134ex7){var _0x134ex8= new mxCodec(_0x134ex7[_0xc6c7[49]]);if(_0x134ex7[_0xc6c7[50]]== _0xc6c7[51]){this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[52]]= 1;this[_0xc6c7[14]][_0xc6c7[54]]= _0x134ex7[_0xc6c7[56]](_0xc6c7[55])!= _0xc6c7[57];this[_0xc6c7[14]][_0xc6c7[59]][_0xc6c7[58]]= _0x134ex7[_0xc6c7[56]](_0xc6c7[60])!= _0xc6c7[57];this[_0xc6c7[14]][_0xc6c7[62]](_0x134ex7[_0xc6c7[56]](_0xc6c7[61])!= _0xc6c7[57]);this[_0xc6c7[14]][_0xc6c7[64]](_0x134ex7[_0xc6c7[56]](_0xc6c7[63])!= _0xc6c7[57]);this[_0xc6c7[14]][_0xc6c7[65]]= _0x134ex7[_0xc6c7[56]](_0xc6c7[66])!= _0xc6c7[57];this[_0xc6c7[14]][_0xc6c7[40]]= _0x134ex7[_0xc6c7[56]](_0xc6c7[40])!= _0xc6c7[57];if(!this[_0xc6c7[14]][_0xc6c7[40]]){this[_0xc6c7[14]][_0xc6c7[68]][_0xc6c7[67]]= 0;this[_0xc6c7[14]][_0xc6c7[68]][_0xc6c7[69]]= 0;this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[71]][_0xc6c7[70]]= Number(_0x134ex7[_0xc6c7[56]](_0xc6c7[72])|| 0);this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[71]][_0xc6c7[73]]= Number(_0x134ex7[_0xc6c7[56]](_0xc6c7[74])|| 0)};this[_0xc6c7[14]][_0xc6c7[75]]= _0x134ex7[_0xc6c7[56]](_0xc6c7[76])== _0xc6c7[8];this[_0xc6c7[14]][_0xc6c7[77]]= this[_0xc6c7[14]][_0xc6c7[75]];this[_0xc6c7[14]][_0xc6c7[78]]= this[_0xc6c7[14]][_0xc6c7[77]];var _0x134ex9=_0x134ex7[_0xc6c7[56]](_0xc6c7[79]);if(_0x134ex9!= null){this[_0xc6c7[14]][_0xc6c7[79]]= _0x134ex9}else {this[_0xc6c7[14]][_0xc6c7[79]]= 1.5};var _0x134exa=_0x134ex7[_0xc6c7[56]](_0xc6c7[80]);var _0x134exb=_0x134ex7[_0xc6c7[56]](_0xc6c7[81]);if(_0x134exa!= null&& _0x134exb!= null){this[_0xc6c7[14]][_0xc6c7[82]]= new mxRectangle(0,0,parseFloat(_0x134exa),parseFloat(_0x134exb));this[_0xc6c7[15]][_0xc6c7[15]][_0xc6c7[82]]= this[_0xc6c7[14]][_0xc6c7[82]]};var _0x134exc=_0x134ex7[_0xc6c7[56]](_0xc6c7[41]);if(_0x134exc!= null&& _0x134exc[_0xc6c7[83]]> 0){this[_0xc6c7[14]][_0xc6c7[41]]= _0x134exc};_0x134ex8[_0xc6c7[84]](_0x134ex7,this[_0xc6c7[14]][_0xc6c7[36]]());this[_0xc6c7[85]]()}};Editor[_0xc6c7[44]][_0xc6c7[86]]= function(){var _0x134exd= new mxCodec(mxUtils[_0xc6c7[87]]());var _0x134ex7=_0x134exd[_0xc6c7[88]](this[_0xc6c7[14]][_0xc6c7[36]]());if(this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[71]][_0xc6c7[70]]!= 0|| this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[71]][_0xc6c7[73]]!= 0){_0x134ex7[_0xc6c7[90]](_0xc6c7[72],Math[_0xc6c7[89]](this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[71]][_0xc6c7[70]]* 100)/ 100);_0x134ex7[_0xc6c7[90]](_0xc6c7[74],Math[_0xc6c7[89]](this[_0xc6c7[14]][_0xc6c7[53]][_0xc6c7[71]][_0xc6c7[73]]* 100)/ 100)};_0x134ex7[_0xc6c7[90]](_0xc6c7[55],(this[_0xc6c7[14]][_0xc6c7[91]]())?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[60],(this[_0xc6c7[14]][_0xc6c7[59]][_0xc6c7[58]])?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[60],(this[_0xc6c7[14]][_0xc6c7[59]][_0xc6c7[58]])?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[61],(this[_0xc6c7[14]][_0xc6c7[93]][_0xc6c7[92]]())?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[63],(this[_0xc6c7[14]][_0xc6c7[94]][_0xc6c7[92]]())?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[66],(this[_0xc6c7[14]][_0xc6c7[65]])?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[76],(this[_0xc6c7[14]][_0xc6c7[75]])?_0xc6c7[8]:_0xc6c7[57]);_0x134ex7[_0xc6c7[90]](_0xc6c7[79],this[_0xc6c7[14]][_0xc6c7[79]]);_0x134ex7[_0xc6c7[90]](_0xc6c7[80],this[_0xc6c7[14]][_0xc6c7[82]][_0xc6c7[95]]);_0x134ex7[_0xc6c7[90]](_0xc6c7[81],this[_0xc6c7[14]][_0xc6c7[82]][_0xc6c7[96]]);if(!this[_0xc6c7[14]][_0xc6c7[40]]){_0x134ex7[_0xc6c7[90]](_0xc6c7[40],_0xc6c7[57])};if(this[_0xc6c7[14]][_0xc6c7[41]]!= null){_0x134ex7[_0xc6c7[90]](_0xc6c7[41],this[_0xc6c7[14]][_0xc6c7[41]])};return _0x134ex7};Editor[_0xc6c7[44]][_0xc6c7[85]]= function(){var _0x134exe=this[_0xc6c7[14]];var _0x134exf=this[_0xc6c7[15]];if(_0x134exe[_0xc6c7[68]]!= null&& _0x134exf[_0xc6c7[15]][_0xc6c7[68]]!= null){if(_0x134exe[_0xc6c7[41]]!= null){if(_0x134exe[_0xc6c7[41]]== _0xc6c7[97]){_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[98]]= _0xc6c7[100]}else {if(_0x134exe[_0xc6c7[53]][_0xc6c7[101]]!= null){_0x134exe[_0xc6c7[53]][_0xc6c7[101]][_0xc6c7[102]]= _0x134exe[_0xc6c7[41]];_0x134exe[_0xc6c7[53]][_0xc6c7[101]][_0xc6c7[103]]()};_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[98]]= _0x134exe[_0xc6c7[41]]}}else {_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[98]]= _0xc6c7[20]};if(_0x134exe[_0xc6c7[75]]){_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[98]]= _0xc6c7[104];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[105]]= _0xc6c7[106];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[107]]= _0xc6c7[108];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[109]]= _0xc6c7[110];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[111]]= _0xc6c7[110];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[112]]= _0xc6c7[113];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[114]]= _0xc6c7[113]}else {_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[115]]= _0xc6c7[20]};_0x134exf[_0xc6c7[15]][_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[98]]= _0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[98]];if(_0x134exf[_0xc6c7[15]][_0xc6c7[75]]!= _0x134exe[_0xc6c7[75]]|| _0x134exf[_0xc6c7[15]][_0xc6c7[79]]!= _0x134exe[_0xc6c7[79]]){_0x134exf[_0xc6c7[15]][_0xc6c7[79]]= _0x134exe[_0xc6c7[79]];_0x134exf[_0xc6c7[15]][_0xc6c7[75]]= _0x134exe[_0xc6c7[75]];_0x134exf[_0xc6c7[15]][_0xc6c7[53]][_0xc6c7[116]]()};if(_0x134exe[_0xc6c7[40]]&& _0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[117]]== _0xc6c7[118]&& !touchStyle){_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[117]]= _0xc6c7[119]}else {if(!_0x134exe[_0xc6c7[40]]|| touchStyle){_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[117]]= _0xc6c7[118]}};var _0x134ex10=(mxClient[_0xc6c7[120]]&& document[_0xc6c7[121]]>= 9)?_0xc6c7[122]+ this[_0xc6c7[46]]+ _0xc6c7[123]:_0xc6c7[97];_0x134exe[_0xc6c7[68]][_0xc6c7[99]][_0xc6c7[124]]= (!_0x134exe[_0xc6c7[75]]&& _0x134exe[_0xc6c7[91]]())?_0xc6c7[122]+ this[_0xc6c7[43]]+ _0xc6c7[123]:_0x134ex10;if(_0x134exe[_0xc6c7[53]][_0xc6c7[101]]!= null){_0x134exe[_0xc6c7[53]][_0xc6c7[101]][_0xc6c7[125]][_0xc6c7[99]][_0xc6c7[124]]= (this[_0xc6c7[14]][_0xc6c7[91]]())?_0xc6c7[122]+ this[_0xc6c7[43]]+ _0xc6c7[123]:_0xc6c7[97]}}};Editor[_0xc6c7[44]][_0xc6c7[12]]= function(){if(mxClient[_0xc6c7[126]]){mxClient[_0xc6c7[129]](_0xc6c7[127],CSS_PATH+ _0xc6c7[128])};mxResources[_0xc6c7[130]]= false;mxResources[_0xc6c7[131]](RESOURCE_BASE);mxConstants[_0xc6c7[132]]= 0.3;var _0x134ex11=mxConnectionHandler[_0xc6c7[44]][_0xc6c7[133]];mxConnectionHandler[_0xc6c7[44]][_0xc6c7[133]]= function(){var _0x134ex12=_0x134ex11[_0xc6c7[33]](this,arguments);_0x134ex12[_0xc6c7[134]]= mxUtils[_0xc6c7[34]](this,function(_0x134ex13,_0x134ex14){if(this[_0xc6c7[135]]()){return true};return mxCellMarker[_0xc6c7[44]][_0xc6c7[134]][_0xc6c7[33]](_0x134ex12,arguments)});return _0x134ex12};mxConstants[_0xc6c7[136]]= _0xc6c7[137];mxConstants[_0xc6c7[138]]= _0xc6c7[139];mxConstants[_0xc6c7[140]]= _0xc6c7[141];mxConstants[_0xc6c7[142]]= _0xc6c7[143];mxConstants[_0xc6c7[144]]= _0xc6c7[143];mxConstants[_0xc6c7[145]]= _0xc6c7[139];mxConstants[_0xc6c7[146]]= _0xc6c7[143];mxConstants[_0xc6c7[147]]= _0xc6c7[148];mxConstants[_0xc6c7[149]]= _0xc6c7[143];mxConstants[_0xc6c7[150]]= _0xc6c7[143];mxConstants[_0xc6c7[151]]= _0xc6c7[148];mxConstants[_0xc6c7[152]]= _0xc6c7[141];mxGraph[_0xc6c7[44]][_0xc6c7[153]]= _0xc6c7[154];mxGraph[_0xc6c7[44]][_0xc6c7[79]]= 1;mxRubberband[_0xc6c7[44]][_0xc6c7[155]]= 30;mxGraphView[_0xc6c7[44]][_0xc6c7[156]]= function(_0x134ex15){return new mxRectangleShape(_0x134ex15,this[_0xc6c7[14]][_0xc6c7[41]]|| _0xc6c7[157],_0xc6c7[158])};mxGraphView[_0xc6c7[44]][_0xc6c7[159]]= function(){var _0x134ex16=this[_0xc6c7[160]]();var _0x134ex17=(_0x134ex16[_0xc6c7[95]]> 0)?_0x134ex16[_0xc6c7[70]]/ this[_0xc6c7[52]]- this[_0xc6c7[71]][_0xc6c7[70]]:0;var _0x134ex18=(_0x134ex16[_0xc6c7[96]]> 0)?_0x134ex16[_0xc6c7[73]]/ this[_0xc6c7[52]]- this[_0xc6c7[71]][_0xc6c7[73]]:0;var _0x134ex19=_0x134ex16[_0xc6c7[95]]/ this[_0xc6c7[52]];var _0x134ex1a=_0x134ex16[_0xc6c7[96]]/ this[_0xc6c7[52]];var _0x134ex1b=this[_0xc6c7[14]][_0xc6c7[82]];var _0x134ex9=this[_0xc6c7[14]][_0xc6c7[79]];var _0x134exa=_0x134ex1b[_0xc6c7[95]]* _0x134ex9;var _0x134exb=_0x134ex1b[_0xc6c7[96]]* _0x134ex9;var _0x134ex1c=Math[_0xc6c7[162]](Math[_0xc6c7[161]](0,_0x134ex17)/ _0x134exa);var _0x134ex1d=Math[_0xc6c7[162]](Math[_0xc6c7[161]](0,_0x134ex18)/ _0x134exb);var _0x134ex1e=Math[_0xc6c7[164]](Math[_0xc6c7[163]](1,_0x134ex17+ _0x134ex19)/ _0x134exa);var _0x134ex1f=Math[_0xc6c7[164]](Math[_0xc6c7[163]](1,_0x134ex18+ _0x134ex1a)/ _0x134exb);var _0x134ex20=_0x134ex1e- _0x134ex1c;var _0x134ex21=_0x134ex1f- _0x134ex1d;var _0x134ex15= new mxRectangle(this[_0xc6c7[52]]* (this[_0xc6c7[71]][_0xc6c7[70]]+ _0x134ex1c* _0x134exa),this[_0xc6c7[52]]* (this[_0xc6c7[71]][_0xc6c7[73]]+ _0x134ex1d* _0x134exb),this[_0xc6c7[52]]* _0x134ex20* _0x134exa,this[_0xc6c7[52]]* _0x134ex21* _0x134exb);return _0x134ex15};var _0x134ex22=mxGraph[_0xc6c7[44]][_0xc6c7[165]];mxGraph[_0xc6c7[44]][_0xc6c7[165]]= function(_0x134ex23,_0x134ex24){_0x134ex22[_0xc6c7[33]](this,arguments);if((this[_0xc6c7[166]]!= mxConstants[_0xc6c7[167]]&& this[_0xc6c7[53]][_0xc6c7[101]]!= null)&& (!this[_0xc6c7[168]]|| !mxUtils[_0xc6c7[169]](this[_0xc6c7[68]]))){this[_0xc6c7[53]][_0xc6c7[101]][_0xc6c7[125]][_0xc6c7[99]][_0xc6c7[170]]= _0x134ex23+ _0xc6c7[171];this[_0xc6c7[53]][_0xc6c7[101]][_0xc6c7[125]][_0xc6c7[99]][_0xc6c7[172]]= _0x134ex24+ _0xc6c7[171]}};var _0x134ex25=this;mxGraphView[_0xc6c7[44]][_0xc6c7[173]]= function(){var _0x134exc=this[_0xc6c7[14]][_0xc6c7[174]]();if(_0x134exc!= null){if(this[_0xc6c7[124]]== null|| this[_0xc6c7[124]][_0xc6c7[175]]!= _0x134exc[_0xc6c7[176]]){if(this[_0xc6c7[124]]!= null){this[_0xc6c7[124]][_0xc6c7[177]]()};var _0x134ex15= new mxRectangle(0,0,1,1);this[_0xc6c7[124]]= new mxImageShape(_0x134ex15,_0x134exc[_0xc6c7[176]]);this[_0xc6c7[124]][_0xc6c7[166]]= this[_0xc6c7[14]][_0xc6c7[166]];this[_0xc6c7[124]][_0xc6c7[12]](this[_0xc6c7[178]]);this[_0xc6c7[124]][_0xc6c7[179]]()};this[_0xc6c7[180]](this[_0xc6c7[124]],_0x134exc)}else {if(this[_0xc6c7[124]]!= null){this[_0xc6c7[124]][_0xc6c7[177]]();this[_0xc6c7[124]]= null}};if(this[_0xc6c7[14]][_0xc6c7[75]]){var _0x134ex15=this[_0xc6c7[159]]();if(this[_0xc6c7[101]]== null){this[_0xc6c7[101]]= this[_0xc6c7[156]](_0x134ex15);this[_0xc6c7[101]][_0xc6c7[52]]= 1;this[_0xc6c7[101]][_0xc6c7[181]]= true;this[_0xc6c7[101]][_0xc6c7[166]]= mxConstants[_0xc6c7[182]];this[_0xc6c7[101]][_0xc6c7[12]](this[_0xc6c7[14]][_0xc6c7[68]]);this[_0xc6c7[14]][_0xc6c7[68]][_0xc6c7[184]][_0xc6c7[99]][_0xc6c7[183]]= _0xc6c7[185];this[_0xc6c7[14]][_0xc6c7[68]][_0xc6c7[186]](this[_0xc6c7[101]][_0xc6c7[125]],this[_0xc6c7[14]][_0xc6c7[68]][_0xc6c7[184]]);this[_0xc6c7[101]][_0xc6c7[179]]();this[_0xc6c7[101]][_0xc6c7[125]][_0xc6c7[187]]= _0xc6c7[188];this[_0xc6c7[101]][_0xc6c7[125]][_0xc6c7[99]][_0xc6c7[189]]= _0xc6c7[190];mxEvent[_0xc6c7[35]](this[_0xc6c7[101]][_0xc6c7[125]],_0xc6c7[191],mxUtils[_0xc6c7[34]](this,function(_0x134ex14){this[_0xc6c7[14]][_0xc6c7[192]](_0x134ex14)}));mxEvent[_0xc6c7[198]](this[_0xc6c7[101]][_0xc6c7[125]],mxUtils[_0xc6c7[34]](this,function(_0x134ex14){this[_0xc6c7[14]][_0xc6c7[193]](mxEvent.MOUSE_DOWN, new mxMouseEvent(_0x134ex14))}),mxUtils[_0xc6c7[34]](this,function(_0x134ex14){if(this[_0xc6c7[14]][_0xc6c7[93]]!= null&& this[_0xc6c7[14]][_0xc6c7[93]][_0xc6c7[194]]()){this[_0xc6c7[14]][_0xc6c7[93]][_0xc6c7[195]]()};if(this[_0xc6c7[14]][_0xc6c7[196]]&& !mxEvent[_0xc6c7[197]](_0x134ex14)){this[_0xc6c7[14]][_0xc6c7[193]](mxEvent.MOUSE_MOVE, new mxMouseEvent(_0x134ex14))}}),mxUtils[_0xc6c7[34]](this,function(_0x134ex14){this[_0xc6c7[14]][_0xc6c7[193]](mxEvent.MOUSE_UP, new mxMouseEvent(_0x134ex14))}))}else {this[_0xc6c7[101]][_0xc6c7[52]]= 1;this[_0xc6c7[101]][_0xc6c7[199]]= _0x134ex15;this[_0xc6c7[101]][_0xc6c7[179]]()};this[_0xc6c7[101]][_0xc6c7[125]][_0xc6c7[99]][_0xc6c7[124]]= (this[_0xc6c7[14]][_0xc6c7[91]]())?_0xc6c7[122]+ _0x134ex25[_0xc6c7[43]]+ _0xc6c7[123]:_0xc6c7[97]}else {if(this[_0xc6c7[101]]!= null){this[_0xc6c7[101]][_0xc6c7[177]]();this[_0xc6c7[101]]= null}}};mxGraph[_0xc6c7[44]][_0xc6c7[200]]= function(_0x134ex26,_0x134ex27,_0x134ex28){var _0x134ex29=this[_0xc6c7[53]][_0xc6c7[52]];var _0x134ex2a=this[_0xc6c7[53]][_0xc6c7[71]];var _0x134ex1b=this[_0xc6c7[82]];var _0x134ex9=_0x134ex29* this[_0xc6c7[79]];var _0x134ex2b=this[_0xc6c7[53]][_0xc6c7[159]]();_0x134ex27= _0x134ex2b[_0xc6c7[95]];_0x134ex28= _0x134ex2b[_0xc6c7[96]];var _0x134ex15= new mxRectangle(_0x134ex29* _0x134ex2a[_0xc6c7[70]],_0x134ex29* _0x134ex2a[_0xc6c7[73]],_0x134ex1b[_0xc6c7[95]]* _0x134ex9,_0x134ex1b[_0xc6c7[96]]* _0x134ex9);_0x134ex26= _0x134ex26&& Math[_0xc6c7[161]](_0x134ex15[_0xc6c7[95]],_0x134ex15[_0xc6c7[96]])> this[_0xc6c7[201]];var _0x134ex2c=(_0x134ex26)?Math[_0xc6c7[164]](_0x134ex27/ _0x134ex15[_0xc6c7[95]])- 1:0;var _0x134ex2d=(_0x134ex26)?Math[_0xc6c7[164]](_0x134ex28/ _0x134ex15[_0xc6c7[96]])- 1:0;var _0x134ex2e=_0x134ex2b[_0xc6c7[70]]+ _0x134ex27;var _0x134ex2f=_0x134ex2b[_0xc6c7[73]]+ _0x134ex28;if(this[_0xc6c7[202]]== null&& _0x134ex2c> 0){this[_0xc6c7[202]]= []};if(this[_0xc6c7[202]]!= null){for(var _0x134ex30=0;_0x134ex30<= _0x134ex2c;_0x134ex30++){var _0x134ex31=[ new mxPoint(_0x134ex2b[_0xc6c7[70]]+ (_0x134ex30+ 1)* _0x134ex15[_0xc6c7[95]],_0x134ex2b[_0xc6c7[73]]), new mxPoint(_0x134ex2b[_0xc6c7[70]]+ (_0x134ex30+ 1)* _0x134ex15[_0xc6c7[95]],_0x134ex2f)];if(this[_0xc6c7[202]][_0x134ex30]!= null){this[_0xc6c7[202]][_0x134ex30][_0xc6c7[52]]= 1;this[_0xc6c7[202]][_0x134ex30][_0xc6c7[203]]= _0x134ex31;this[_0xc6c7[202]][_0x134ex30][_0xc6c7[179]]()}else {var _0x134ex32= new mxPolyline(_0x134ex31,this[_0xc6c7[153]],this[_0xc6c7[52]]);_0x134ex32[_0xc6c7[166]]= this[_0xc6c7[166]];_0x134ex32[_0xc6c7[204]]= this[_0xc6c7[205]];_0x134ex32[_0xc6c7[206]]= false;_0x134ex32[_0xc6c7[52]]= _0x134ex29;_0x134ex32[_0xc6c7[12]](this[_0xc6c7[53]][_0xc6c7[178]]);_0x134ex32[_0xc6c7[179]]();this[_0xc6c7[202]][_0x134ex30]= _0x134ex32}};for(var _0x134ex30=_0x134ex2c;_0x134ex30< this[_0xc6c7[202]][_0xc6c7[83]];_0x134ex30++){this[_0xc6c7[202]][_0x134ex30][_0xc6c7[177]]()};this[_0xc6c7[202]][_0xc6c7[207]](_0x134ex2c,this[_0xc6c7[202]][_0xc6c7[83]]- _0x134ex2c)};if(this[_0xc6c7[208]]== null&& _0x134ex2d> 0){this[_0xc6c7[208]]= []};if(this[_0xc6c7[208]]!= null){for(var _0x134ex30=0;_0x134ex30<= _0x134ex2d;_0x134ex30++){var _0x134ex31=[ new mxPoint(_0x134ex2b[_0xc6c7[70]],_0x134ex2b[_0xc6c7[73]]+ (_0x134ex30+ 1)* _0x134ex15[_0xc6c7[96]]), new mxPoint(_0x134ex2e,_0x134ex2b[_0xc6c7[73]]+ (_0x134ex30+ 1)* _0x134ex15[_0xc6c7[96]])];if(this[_0xc6c7[208]][_0x134ex30]!= null){this[_0xc6c7[208]][_0x134ex30][_0xc6c7[52]]= 1;this[_0xc6c7[208]][_0x134ex30][_0xc6c7[203]]= _0x134ex31;this[_0xc6c7[208]][_0x134ex30][_0xc6c7[179]]()}else {var _0x134ex32= new mxPolyline(_0x134ex31,this[_0xc6c7[153]],_0x134ex29);_0x134ex32[_0xc6c7[166]]= this[_0xc6c7[166]];_0x134ex32[_0xc6c7[204]]= this[_0xc6c7[205]];_0x134ex32[_0xc6c7[206]]= false;_0x134ex32[_0xc6c7[52]]= _0x134ex29;_0x134ex32[_0xc6c7[12]](this[_0xc6c7[53]][_0xc6c7[178]]);_0x134ex32[_0xc6c7[179]]();this[_0xc6c7[208]][_0x134ex30]= _0x134ex32}};for(var _0x134ex30=_0x134ex2d;_0x134ex30< this[_0xc6c7[208]][_0xc6c7[83]];_0x134ex30++){this[_0xc6c7[208]][_0x134ex30][_0xc6c7[177]]()};this[_0xc6c7[208]][_0xc6c7[207]](_0x134ex2d,this[_0xc6c7[208]][_0xc6c7[83]]- _0x134ex2d)}};mxEdgeHandler[_0xc6c7[44]][_0xc6c7[209]]= true;mxGraphHandler[_0xc6c7[44]][_0xc6c7[58]]= true;var _0x134ex33=mxGraphHandler[_0xc6c7[44]][_0xc6c7[210]];mxGraphHandler[_0xc6c7[44]][_0xc6c7[210]]= function(_0x134ex34,_0x134ex35,_0x134ex14){for(var _0x134ex30=0;_0x134ex30< _0x134ex35[_0xc6c7[83]];_0x134ex30++){if(this[_0xc6c7[14]][_0xc6c7[36]]()[_0xc6c7[211]](_0x134ex35[_0x134ex30])){var _0x134ex36=this[_0xc6c7[14]][_0xc6c7[212]](_0x134ex35[_0x134ex30]);if(_0x134ex36!= null&& _0x134ex36[_0xc6c7[213]]){return false}}};return _0x134ex33[_0xc6c7[33]](this,arguments)};mxGuide[_0xc6c7[44]][_0xc6c7[214]]= function(_0x134ex14){return !mxEvent[_0xc6c7[215]](_0x134ex14)};mxPopupMenuAddItem= mxPopupMenu[_0xc6c7[44]][_0xc6c7[216]];mxPopupMenu[_0xc6c7[44]][_0xc6c7[216]]= function(_0x134ex37,_0x134ex38,_0x134ex39,_0x134ex34,_0x134ex3a,_0x134ex3b){var _0x134ex3c=mxPopupMenuAddItem[_0xc6c7[33]](this,arguments);if(_0x134ex3b!= null&& !_0x134ex3b){mxEvent[_0xc6c7[35]](_0x134ex3c,_0xc6c7[217],function(_0x134ex14){mxEvent[_0xc6c7[218]](_0x134ex14)})};return _0x134ex3c};var _0x134ex3d=mxGraphHandler[_0xc6c7[44]][_0xc6c7[219]];mxGraphHandler[_0xc6c7[44]][_0xc6c7[219]]= function(_0x134ex3e){var _0x134ex3f=this[_0xc6c7[14]][_0xc6c7[36]]();var _0x134ex40=_0x134ex3f[_0xc6c7[221]](this[_0xc6c7[14]][_0xc6c7[220]]());var _0x134ex41=_0x134ex3d[_0xc6c7[33]](this,arguments);var _0x134ex34=_0x134ex3f[_0xc6c7[221]](_0x134ex41);if(_0x134ex40== null|| (_0x134ex40!= _0x134ex41&& _0x134ex40!= _0x134ex34)){while(!this[_0xc6c7[14]][_0xc6c7[222]](_0x134ex41)&& !this[_0xc6c7[14]][_0xc6c7[222]](_0x134ex34)&& _0x134ex3f[_0xc6c7[211]](_0x134ex34)&& !this[_0xc6c7[14]][_0xc6c7[223]](_0x134ex34)){_0x134ex41= _0x134ex34;_0x134ex34= this[_0xc6c7[14]][_0xc6c7[36]]()[_0xc6c7[221]](_0x134ex41)}};return _0x134ex41};var _0x134ex42=mxGraphHandler[_0xc6c7[44]][_0xc6c7[224]];mxGraphHandler[_0xc6c7[44]][_0xc6c7[224]]= function(_0x134ex41){var _0x134ex3c=_0x134ex42[_0xc6c7[33]](this,arguments);var _0x134ex3f=this[_0xc6c7[14]][_0xc6c7[36]]();var _0x134ex40=_0x134ex3f[_0xc6c7[221]](this[_0xc6c7[14]][_0xc6c7[220]]());var _0x134ex34=_0x134ex3f[_0xc6c7[221]](_0x134ex41);if(_0x134ex40== null|| (_0x134ex40!= _0x134ex41&& _0x134ex40!= _0x134ex34)){if(!this[_0xc6c7[14]][_0xc6c7[222]](_0x134ex41)&& _0x134ex3f[_0xc6c7[211]](_0x134ex34)&& !this[_0xc6c7[14]][_0xc6c7[223]](_0x134ex34)){_0x134ex3c= true}};return _0x134ex3c};mxGraphHandler[_0xc6c7[44]][_0xc6c7[225]]= function(_0x134ex3e){var _0x134ex41=_0x134ex3e[_0xc6c7[226]]();if(_0x134ex41== null){_0x134ex41= this[_0xc6c7[227]]};var _0x134ex3f=this[_0xc6c7[14]][_0xc6c7[36]]();var _0x134ex34=_0x134ex3f[_0xc6c7[221]](_0x134ex41);while(this[_0xc6c7[14]][_0xc6c7[222]](_0x134ex41)&& _0x134ex3f[_0xc6c7[211]](_0x134ex34)&& !this[_0xc6c7[14]][_0xc6c7[223]](_0x134ex34)){_0x134ex41= _0x134ex34;_0x134ex34= _0x134ex3f[_0xc6c7[221]](_0x134ex41)};this[_0xc6c7[14]][_0xc6c7[229]](_0x134ex41,_0x134ex3e[_0xc6c7[228]]())};mxPanningHandler[_0xc6c7[44]][_0xc6c7[230]]= function(_0x134ex3e){var _0x134ex41=_0x134ex3e[_0xc6c7[226]]();var _0x134ex3f=this[_0xc6c7[14]][_0xc6c7[36]]();var _0x134ex34=_0x134ex3f[_0xc6c7[221]](_0x134ex41);while(_0x134ex3f[_0xc6c7[211]](_0x134ex34)&& !this[_0xc6c7[14]][_0xc6c7[223]](_0x134ex34)){if(this[_0xc6c7[14]][_0xc6c7[222]](_0x134ex34)){_0x134ex41= _0x134ex34};_0x134ex34= _0x134ex3f[_0xc6c7[221]](_0x134ex34)};return _0x134ex41}};Editor[_0xc6c7[44]][_0xc6c7[18]]= function(){var _0x134exe=this[_0xc6c7[14]];var _0x134ex43= new mxUndoManager();var _0x134ex44=function(_0x134ex45,_0x134ex14){_0x134ex43[_0xc6c7[233]](_0x134ex14[_0xc6c7[232]](_0xc6c7[231]))};_0x134exe[_0xc6c7[36]]()[_0xc6c7[35]](mxEvent.UNDO,_0x134ex44);_0x134exe[_0xc6c7[234]]()[_0xc6c7[35]](mxEvent.UNDO,_0x134ex44);var _0x134ex46=function(_0x134ex45,_0x134ex14){var _0x134ex47=_0x134exe[_0xc6c7[236]](_0x134ex14[_0xc6c7[232]](_0xc6c7[231])[_0xc6c7[235]]);var _0x134ex35=[];for(var _0x134ex30=1;_0x134ex30< _0x134ex47[_0xc6c7[83]];_0x134ex30++){if(_0x134exe[_0xc6c7[53]][_0xc6c7[237]](_0x134ex47[_0x134ex30])!= null){_0x134ex35[_0xc6c7[238]](_0x134ex47[_0x134ex30])}};_0x134exe[_0xc6c7[239]](_0x134ex35)};_0x134ex43[_0xc6c7[35]](mxEvent.UNDO,_0x134ex46);_0x134ex43[_0xc6c7[35]](mxEvent.REDO,_0x134ex46);return _0x134ex43};Editor[_0xc6c7[44]][_0xc6c7[13]]= function(){mxStencilRegistry[_0xc6c7[241]](STENCIL_PATH+ _0xc6c7[240])};(function(){mxStencilRegistry[_0xc6c7[242]]= {};mxStencilRegistry[_0xc6c7[243]]= [];mxStencilRegistry[_0xc6c7[244]]= function(_0x134ex48){var _0x134ex3c=mxStencilRegistry[_0xc6c7[245]][_0x134ex48];if(_0x134ex3c== null){var _0x134ex49=mxStencilRegistry[_0xc6c7[246]](_0x134ex48);if(_0x134ex49!= null){var _0x134ex4a=mxStencilRegistry[_0xc6c7[242]][_0x134ex49];if(_0x134ex4a!= null){if(mxStencilRegistry[_0xc6c7[243]][_0x134ex49]== null){mxStencilRegistry[_0xc6c7[243]][_0x134ex49]= 1;for(var _0x134ex30=0;_0x134ex30< _0x134ex4a[_0xc6c7[83]];_0x134ex30++){var _0x134ex4b=_0x134ex4a[_0x134ex30];if(_0x134ex4b[_0xc6c7[248]]()[_0xc6c7[247]](_0x134ex4b[_0xc6c7[83]]- 4,_0x134ex4b[_0xc6c7[83]])== _0xc6c7[25]){mxStencilRegistry[_0xc6c7[241]](_0x134ex4b,null)}else {if(_0x134ex4b[_0xc6c7[248]]()[_0xc6c7[247]](_0x134ex4b[_0xc6c7[83]]- 3,_0x134ex4b[_0xc6c7[83]])== _0xc6c7[249]){var _0x134ex4c=mxUtils[_0xc6c7[250]](_0x134ex4b);if(_0x134ex4c!= null){eval[_0xc6c7[11]](window,_0x134ex4c[_0xc6c7[251]]())}}else {}}}}}else {mxStencilRegistry[_0xc6c7[241]](STENCIL_PATH+ _0xc6c7[252]+ _0x134ex49+ _0xc6c7[25],null)};_0x134ex3c= mxStencilRegistry[_0xc6c7[245]][_0x134ex48]}};return _0x134ex3c};mxStencilRegistry[_0xc6c7[246]]= function(_0x134ex48){var _0x134ex4d=_0x134ex48[_0xc6c7[254]](_0xc6c7[253]);var _0x134ex4e=null;if(_0x134ex4d[_0xc6c7[83]]> 0&& _0x134ex4d[0]== _0xc6c7[255]){_0x134ex4e= _0x134ex4d[1];for(var _0x134ex30=2;_0x134ex30< _0x134ex4d[_0xc6c7[83]]- 1;_0x134ex30++){_0x134ex4e+= _0xc6c7[252]+ _0x134ex4d[_0x134ex30]}};return _0x134ex4e};mxStencilRegistry[_0xc6c7[241]]= function(_0x134ex4f,_0x134ex50,_0x134ex51){_0x134ex51= (_0x134ex51!= null)?_0x134ex51:false;var _0x134ex52=mxStencilRegistry[_0xc6c7[243]][_0x134ex4f];if(_0x134ex51|| _0x134ex52== null){var _0x134ex53=false;if(_0x134ex52== null){var _0x134ex4c=mxUtils[_0xc6c7[250]](_0x134ex4f);_0x134ex52= _0x134ex4c[_0xc6c7[256]]();mxStencilRegistry[_0xc6c7[243]][_0x134ex4f]= _0x134ex52;_0x134ex53= true};mxStencilRegistry[_0xc6c7[257]](_0x134ex52,_0x134ex50,_0x134ex53)}};mxStencilRegistry[_0xc6c7[257]]= function(_0x134ex54,_0x134ex50,_0x134ex53){_0x134ex53= (_0x134ex53!= null)?_0x134ex53:true;var _0x134ex55=_0x134ex54[_0xc6c7[258]];var _0x134ex56=_0x134ex55[_0xc6c7[184]];var _0x134ex57=_0xc6c7[20];var _0x134ex48=_0x134ex55[_0xc6c7[56]](_0xc6c7[259]);if(_0x134ex48!= null){_0x134ex57= _0x134ex48+ _0xc6c7[253]};while(_0x134ex56!= null){if(_0x134ex56[_0xc6c7[260]]== mxConstants[_0xc6c7[261]]){_0x134ex48= _0x134ex56[_0xc6c7[56]](_0xc6c7[259]);if(_0x134ex48!= null){_0x134ex57= _0x134ex57[_0xc6c7[248]]();var _0x134ex58=_0x134ex48[_0xc6c7[263]](/ /g,_0xc6c7[262]);if(_0x134ex53){mxStencilRegistry[_0xc6c7[264]](_0x134ex57+ _0x134ex58[_0xc6c7[248]](), new mxStencil(_0x134ex56))};if(_0x134ex50!= null){var _0x134ex19=_0x134ex56[_0xc6c7[56]](_0xc6c7[265]);var _0x134ex1a=_0x134ex56[_0xc6c7[56]](_0xc6c7[266]);_0x134ex19= (_0x134ex19== null)?80:parseInt(_0x134ex19,10);_0x134ex1a= (_0x134ex1a== null)?80:parseInt(_0x134ex1a,10);_0x134ex50(_0x134ex57,_0x134ex58,_0x134ex48,_0x134ex19,_0x134ex1a)}}};_0x134ex56= _0x134ex56[_0xc6c7[267]]}}})();OpenFile= function(_0x134ex59){this[_0xc6c7[268]]= null;this[_0xc6c7[269]]= null;this[_0xc6c7[270]]= _0x134ex59};OpenFile[_0xc6c7[44]][_0xc6c7[271]]= function(_0x134ex6){this[_0xc6c7[269]]= _0x134ex6;this[_0xc6c7[272]]()};OpenFile[_0xc6c7[44]][_0xc6c7[273]]= function(_0x134ex6,_0x134ex5a){this[_0xc6c7[274]]= _0x134ex6;this[_0xc6c7[21]]= _0x134ex5a;this[_0xc6c7[272]]()};OpenFile[_0xc6c7[44]][_0xc6c7[275]]= function(_0x134ex5b){this[_0xc6c7[276]]();mxUtils[_0xc6c7[277]](_0x134ex5b)};OpenFile[_0xc6c7[44]][_0xc6c7[272]]= function(){if(this[_0xc6c7[269]]!= null&& this[_0xc6c7[274]]!= null){this[_0xc6c7[269]](this[_0xc6c7[274]],this[_0xc6c7[21]]);this[_0xc6c7[276]]()}};OpenFile[_0xc6c7[44]][_0xc6c7[276]]= function(){if(this[_0xc6c7[270]]!= null){this[_0xc6c7[270]]()}}
\ No newline at end of file
-/**
- * $Id: EditorUi.js,v 1.21 2013/03/14 20:46:36 david Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new graph editor
- */
-
-EditorUi = function(editor, container) {
- this.editor = editor || new Editor();
- this.container = container || document.getElementById('geEditor');
- var graph = editor.graph;
- var self = this;
-
- // Disables scrollbars
- this.container.style.overflow = 'hidden';
-
- // Pre-fetches submenu image
- new Image().src = mxPopupMenu.prototype.submenuImage;
-
- // Pre-fetches connect image
- if (mxConnectionHandler.prototype.connectImage != null) {
- new Image().src = mxConnectionHandler.prototype.connectImage.src;
- }
-
- // Creates the user interface
- this.actions = new Actions(this);
- this.menus = new Menus(this);
- this.createDivs();
- this.refresh();
- this.createUi();
-
- // Disables HTML and text selection
- var textEditing = mxUtils.bind(this, function(evt) {
- if (evt == null) {
- evt = window.event;
- }
-
- if (this.isSelectionAllowed(evt)) {
- return true;
- }
-
- return graph.isEditing();
- });
-
- // Disables text selection while not editing and no dialog visible
- if (this.container == document.body) {
- this.menubarContainer.onselectstart = textEditing;
- this.menubarContainer.onmousedown = textEditing;
- this.toolbarContainer.onselectstart = textEditing;
- this.toolbarContainer.onmousedown = textEditing;
- this.diagramContainer.onselectstart = textEditing;
- this.diagramContainer.onmousedown = textEditing;
- this.sidebarContainer.onselectstart = textEditing;
- this.sidebarContainer.onmousedown = textEditing;
- this.footerContainer.onselectstart = textEditing;
- this.footerContainer.onmousedown = textEditing;
- }
-
- // And uses built-in context menu while editing
- if (mxClient.IS_IE && (typeof(document.documentMode) === 'undefined' ||
- document.documentMode < 9)) {
- mxEvent.addListener(this.diagramContainer, 'contextmenu', textEditing);
- mxEvent.addListener(this.sidebarContainer, 'contextmenu', textEditing);
- } else {
- // Allows browser context menu outside of diagram and sidebar
- this.diagramContainer.oncontextmenu = textEditing;
- this.sidebarContainer.oncontextmenu = textEditing;
- }
-
- // Contains the main graph instance inside the given panel
- graph.init(this.diagramContainer);
- graph.refresh();
-
- // Enables scrollbars and sets cursor style for the container
- graph.container.setAttribute('tabindex', '0');
- // graph.container.style.overflow = (touchStyle) ? 'hidden' : 'auto';
- graph.container.style.cursor = 'default';
- graph.container.style.backgroundImage = 'url(' + editor.gridImage + ')';
- graph.container.style.backgroundPosition = '-1px -1px';
- graph.container.focus();
-
- // Keeps graph container focused on mouse down
- var graphFireMouseEvent = graph.fireMouseEvent;
- graph.fireMouseEvent = function(evtName, me, sender) {
- if (evtName == mxEvent.MOUSE_DOWN) {
- this.container.focus();
- }
-
- graphFireMouseEvent.apply(this, arguments);
- };
-
- // Giuseppe Careri
- // Defines invalid connections along with the error messages that they produce.
- this.createMultiplicities(graph.multiplicities, ['start', 'finally', 'end'], [
- [1, 1],
- [1, 1],
- [0, 0]
- ], [
- [0, 0],
- [0, 0],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['answer', 'hangup', 'dial',
- 'ext_dial', 'queue', 'voicemail', 'callback'
- ], [
- [1, 1],
- [0, 0],
- [0, 1],
- [0, 1],
- [0, 1],
- [1, 1],
- [0, 1]
- ], [
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['set', 'math'], [
- [1, 1],
- [1, 1]
- ], [
- [1, 'n'],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['background', 'playback',
- 'menu', 'saydigits', 'saynumber', 'sayphonetic', 'tts', 'ispeechtts',
- 'getdigits', 'getsecretdigits'
- ], [
- [1, 'n'],
- [1, 1],
- [1, 'n'],
- [1, 1],
- [1, 1],
- [1, 1],
- [1, 1],
- [1, 1],
- [1, 'n'],
- [1, 'n']
- ], [
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['record'], [
- [1, 1]
- ], [
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['database', 'ispeechasr', 'sendSMS', 'sendMail'], [
- [1, 1],
- [1, 1],
- [1, 1],
- [1, 1]
- ], [
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['gotoc', 'gotoif',
- 'gotoiftime', 'gotoifmultitime', 'vswitch'
- ], [
- [0, 0],
- [1, 2],
- [1, 2],
- [1, 2],
- [1, 'n']
- ], [
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['queuelog', 'goal'], [
- [1, 1],
- [1, 1]
- ], [
- [1, 'n'],
- [1, 'n']
- ]);
- this.createMultiplicities(graph.multiplicities, ['noop', 'system', 'agi',
- 'subproject', 'custom_app'
- ], [
- [1, 1],
- [1, 1],
- [0, 1],
- [0, 1],
- [0, 1]
- ], [
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n'],
- [1, 'n']
- ]);
-
- // Giuseppe Careri
- // Processes a doubleclick on an optional cell and fires a <dblclick> event.
- // The event is fired initially.
- // If the graph is enabled and the event has not been consumed, then <edit> is called with the given cell.
- // The event is ignored if no cell was specified.
- graph.dblClick = function(evt, cell) {
- var edges = ['background', 'gotoif', 'gotoiftime', 'menu', 'getdigits', 'getsecretdigits',
- 'vswitch'
- ];
- var mxe = new mxEventObject(mxEvent.DOUBLE_CLICK, 'event', evt, 'cell',
- cell);
- this.fireEvent(mxe);
-
- if (this.isEnabled() && !mxEvent.isConsumed(evt) && !mxe.isConsumed()) {
- // Override dblClick Vertices and Edges
- if (this.getModel().isEdge(cell)) {
- if (edges.indexOf(cell.source.value.tagName) >= 0)
- this.startEditingAtCell(cell);
- } else if (this.getModel().isVertex(cell)) {
- self.showDialog(new GeneralDialog(self, cell).container, 320, 280, true,
- true);
- }
- mxe.consume();
- }
- }
-
- // Configures automatic expand on mouseover
- graph.panningHandler.autoExpand = true;
-
- // Installs context menu
- graph.panningHandler.factoryMethod = mxUtils.bind(this, function(menu, cell,
- evt) {
- this.menus.createPopupMenu(menu, cell, evt);
- });
-
- // Initializes the outline
- editor.outline.init(this.outlineContainer);
-
- // Hides context menu
- mxEvent.addGestureListeners(document, mxUtils.bind(this, function(evt) {
- graph.panningHandler.hideMenu();
- }));
-
- // Adds gesture handling (pinch to zoom)
- if (mxClient.IS_TOUCH) {
- mxEvent.addListener(graph.container, 'gesturechange',
- mxUtils.bind(this, function(evt) {
- graph.view.getDrawPane().setAttribute('transform', 'scale(' + evt.scale +
- ')');
- graph.view.getOverlayPane().style.visibility = 'hidden';
- })
- );
-
- mxEvent.addListener(graph.container, 'gestureend',
- mxUtils.bind(this, function(evt) {
- graph.view.getDrawPane().removeAttribute('transform');
- graph.zoomToCenter = true;
- graph.zoom(evt.scale);
- graph.view.getOverlayPane().style.visibility = 'visible';
- })
- );
- }
-
- // Create handler for key events
- var keyHandler = this.createKeyHandler(editor);
-
- // Getter for key handler
- this.getKeyHandler = function() {
- return keyHandler;
- };
-
- // Updates the editor UI after the window has been resized
- mxEvent.addListener(window, 'resize', mxUtils.bind(this, function() {
- this.refresh();
- graph.sizeDidChange();
- this.editor.outline.update(false);
- this.editor.outline.outline.sizeDidChange();
- }));
-
- // Updates action and menu states
- this.init();
- this.open();
-};
-
-/**
- * Specifies the size of the split bar.
- */
-EditorUi.prototype.splitSize = (mxClient.IS_TOUCH) ? 16 : 8;
-
-/**
- * Specifies the height of the menubar. Default is 34.
- */
-EditorUi.prototype.menubarHeight = 33;
-
-/**
- * Specifies the height of the toolbar. Default is 36.
- */
-EditorUi.prototype.toolbarHeight = 36;
-
-/**
- * Specifies the height of the footer. Default is 28.
- */
-EditorUi.prototype.footerHeight = 28;
-
-/**
- * Specifies the position of the horizontal split bar. Default is 212.
- */
-EditorUi.prototype.hsplitPosition = 204;
-
-/**
- * Specifies the position of the vertical split bar. Default is 190.
- */
-EditorUi.prototype.vsplitPosition = 190;
-
-/**
- * Installs the listeners to update the action states.
- */
-EditorUi.prototype.init = function() {
- // Updates action states
- this.addUndoListener();
- this.addSelectionListener();
-
- // Overrides clipboard to update paste action state
- var paste = this.actions.get('paste');
-
- var updatePaste = function() {
- paste.setEnabled(!mxClipboard.isEmpty());
- };
-
- var mxClipboardCut = mxClipboard.cut;
- mxClipboard.cut = function() {
- mxClipboardCut.apply(this, arguments);
- updatePaste();
- };
-
- var mxClipboardCopy = mxClipboard.copy;
- mxClipboard.copy = function() {
- mxClipboardCopy.apply(this, arguments);
- updatePaste();
- };
-};
-
-/**
- * Hook for allowing selection and context menu for certain events.
- */
-EditorUi.prototype.isSelectionAllowed = function(evt) {
- return false;
-};
-
-/**
- * Opens the current diagram via the window.opener if one exists.
- */
-EditorUi.prototype.open = function() {
- // Cross-domain window access is not allowed in FF, so if we
- // were opened from another domain then this will fail.
- try {
- if (window.opener != null && window.opener.openFile != null) {
- window.opener.openFile.setConsumer(mxUtils.bind(this, function(xml,
- filename) {
- try {
- var doc = mxUtils.parseXml(xml);
- this.editor.setGraphXml(doc.documentElement);
- this.editor.modified = false;
- this.editor.undoManager.clear();
-
- if (filename != null) {
- this.editor.filename = filename;
- }
- } catch (e) {
- mxUtils.alert(mxResources.get('invalidOrMissingFile') + ': ' + e.message);
- }
- }));
- }
- } catch (e) {
- // ignore
- }
-};
-
-/**
- * Giuseppe Careri
- * Opens the current diagram via string.
- */
-EditorUi.prototype.openString = function(xml, filename, data) {
- try {
- var doc = mxUtils.parseXml(xml);
- this.editor.setGraphXml(doc.documentElement);
- this.editor.modified = false;
- this.editor.undoManager.clear();
-
- if (filename != null) {
- this.editor.filename = filename;
- }
-
- if (data != null) {
- this.editor.data = data;
- }
- } catch (e) {
- mxUtils.alert(mxResources.get('invalidOrMissingFile') + ': ' + e.message);
- }
-};
-
-/**
- * Saves As the current graph under the given project name.
- */
-EditorUi.prototype.new = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
- name = encodeURIComponent(name);
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", SAVE_URL, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 201) {
- editor.setStatus('Project ' + JSON.parse(xhr.response).name +
- ' is opening in new window!');
- setTimeout(function() {
- window.open('square/projects/view/' + JSON.parse(xhr.response).id,
- '_blank');
- }, 1500);
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error creating project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error creating project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('description=project_new&name=' + name);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error creating project');
- }
- } else {
- this.editor.setStatus('Error creating project');
- }
-};
-
-
-/**
- * Saves the current graph under the given project name.
- */
-EditorUi.prototype.save = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
-
- var xhr = new XMLHttpRequest();
- xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- editor.setStatus('Updated at ' + JSON.parse(xhr.response).updatedAt +
- ' (' + xhr.status + ' ' + xhr.statusText + ')');
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error saving project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error saving project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('preproduction=' + xml);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error saving file');
- }
- } else {
- this.editor.setStatus('Error saving file');
- }
-};
-
-/**
- * Saves the current graph under the given project name.
- */
-EditorUi.prototype.description = function(description) {
- var editor = this.editor;
-
- if (description !== null) {
- var xhr = new XMLHttpRequest();
- xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
-
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- editor.setStatus('Updated at ' + JSON.parse(xhr.response).updatedAt + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- editor.data.description = description;
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error updating description: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error updating description' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('description=' + description);
- } else {
- this.editor.setStatus('Error updating description');
- }
-};
-
-/**
- * Saves As the current graph under the given project name.
- */
-EditorUi.prototype.saveAs = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
- name = encodeURIComponent(name);
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", SAVE_URL, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 201) {
- editor.setStatus('Project ' + JSON.parse(xhr.response).name +
- ' is opening in new window!');
- setTimeout(function() {
- window.open('square/projects/view/' + JSON.parse(xhr.response).id,
- '_blank');
- }, 1500);
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error cloning project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error cloning project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('description=project_cloned&name=' + name +
- '&preproduction=' + xml + '&production=' + xml);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error saving file');
- }
- } else {
- this.editor.setStatus('Error saving file');
- }
-};
-
-/**
- * Plush the current graph under the given project name.
- */
-EditorUi.prototype.validate = function(a, b) {
- var graph = this.editor.graph;
- for (var a = a != null ? a : graph.model.getRoot(), b = b != null ? b : {}, c =
- true, d = graph.model.getChildCount(a), e = 0; e < d; e++) {
- var f = graph.model.getChildAt(a, e),
- g = b;
- graph.isValidRoot(f) && (g = {});
- g = this.validate(f, g);
- g != null ? graph.setCellWarning(f, g.replace(/\n/g, "<br>")) : graph.setCellWarning(
- f, null);
- c = c && g == null
- }
-
- d = "";
-
- //--- Giuseppe Careri - Modify 12/12/2013 - giuseppe.careri@gmail.com
- if (graph.model.isVertex(a)) {
- switch (a.value.nodeName) {
- case 'start':
- d = this.validateBlock('start') ? '' : "Only one Start block is allowed" +
- "\n";
- break;
- case 'finally':
- d = this.validateBlock('finally') ? '' :
- "Only one Finally block is allowed" + "\n";
- break;
- case 'playback':
- d = (a.value.getAttribute('file_id') > 0) ? "" : mxResources.get(
- 'noAudioSelected') + "\n";
- break;
- case 'background':
- case 'menu':
- d = (a.value.getAttribute('file_id') > 0) ? "" : mxResources.get(
- 'noAudioSelected') + "\n";
- d += (a.value.getAttribute('digit') > 0) ? "" : mxResources.get(
- 'wrongMaxDigit') + "\n";
- break;
- case 'getdigits':
- d = (a.value.getAttribute('file_id') > 0) ? "" : mxResources.get(
- 'noAudioSelected') + "\n";
- d += (a.value.getAttribute('variable_id') > 0) ? "" : mxResources.get(
- 'noVariableSelected') + "\n";
- d += (a.value.getAttribute('mindigit') > 0) ? "" : mxResources.get(
- 'wrongMinDigit') + "\n";
- d += (a.value.getAttribute('maxdigit') > 0) ? "" : mxResources.get(
- 'wrongMaxDigit') + "\n";
- case 'getsecretdigits':
- d = (a.value.getAttribute('file_id') > 0) ? "" : mxResources.get(
- 'noAudioSelected') + "\n";
- d += (a.value.getAttribute('variable_id') > 0) ? "" : mxResources.get(
- 'noVariableSelected') + "\n";
- d += (a.value.getAttribute('mindigit') > 0) ? "" : mxResources.get(
- 'wrongMinDigit') + "\n";
- d += (a.value.getAttribute('maxdigit') > 0) ? "" : mxResources.get(
- 'wrongMaxDigit') + "\n";
- d += (a.value.getAttribute('hiddendigitsnum') >= 0) ? "" : mxResources.get(
- 'wrongHiddenDigitsnum') + "\n";
- break;
- case 'vswitch':
- d = (a.value.getAttribute('variable') !== "") ? "" : mxResources.get(
- 'noVariableSelected') + "\n";
- break;
- case 'database':
- d = (a.value.getAttribute('odbc_id') > 0) ? "" : mxResources.get(
- 'noDatabaseSelected') + "\n";
- break;
- case 'ext_dial':
- d = (a.value.getAttribute('trunk_name') !== '-1') ? "" : mxResources.get(
- 'noTrunkSelected') + "\n";
- break;
- case 'set':
- case 'math':
- d = (a.value.getAttribute('variable_id') > 0) ? "" : mxResources.get(
- 'noVariableSelected') + "\n";
- break;
- case 'gotoc':
- d = (a.value.getAttribute('extension') !== "") ? "" : mxResources.get(
- 'noExtensionSelected') + "\n";
- break;
- case 'system':
- case 'agi':
- d = (a.value.getAttribute('command') !== "") ? "" : mxResources.get(
- 'noCommandSelected') + "\n";
- break;
- case 'gotoif':
- d = (a.value.getAttribute('condition') !== "") ? "" : mxResources.get(
- 'noConditionSelected') + "\n";
- break;
- case 'saydigits':
- d = (a.value.getAttribute('digits') !== "") ? "" : mxResources.get(
- 'noDigitsSelected') + "\n";
- break;
- case 'saynumber':
- d = (a.value.getAttribute('number') !== "") ? "" : mxResources.get(
- 'noNumberSelected') + "\n";
- break;
- case 'sayphonetic':
- d = (a.value.getAttribute('text') !== "") ? "" : mxResources.get(
- 'noTextSelected') + "\n";
- break;
- case 'record':
- d = (a.value.getAttribute('file') !== "") ? "" : mxResources.get(
- 'noFileSelected') + "\n";
- break;
- case 'goal':
- d = (a.value.getAttribute('goalname') !== "") ? "" : mxResources.get(
- 'noGoalSelected') + "\n";
- break;
- case 'ext_dial':
- d = (a.value.getAttribute('phone') !== "") ? "" : mxResources.get(
- 'noIdentifierSelected') + "\n";
- break;
- case 'dial':
- d = (a.value.getAttribute('sip_id') > 0) ? "" : mxResources.get(
- 'noIdentifierSelected') + "\n";
- break;
- case 'queue':
- d = (a.value.getAttribute('queue_id') !== "-1") ? "" : mxResources.get(
- 'noQueueSelected') + "\n";
- break;
- case 'callback':
- d = (a.value.getAttribute('list_id') > 0) ? "" : mxResources.get(
- 'noListSelected') + "\n";
- break;
- case 'gotoiftime':
- d = (a.value.getAttribute('interval_id') > 0) ? "" : mxResources.get(
- 'noIntervalSelected') + "\n";
- break;
- case 'gotoifmultitime':
- d = (a.value.getAttribute('interval_id') != "") ? "" : mxResources.get(
- 'noIntervalSelected') + "\n";
- break;
- case 'voicemail':
- d = (a.value.getAttribute('mailbox') !== "") ? "" : mxResources.get(
- 'noBoxNumberSelected') + "\n";
- break;
- case 'subproject':
- d = (a.value.getAttribute('project_id') > 0) ? "" : mxResources.get(
- 'noProjectSelected') + "\n";
- break;
- case 'sendSMS':
- d = (a.value.getAttribute('account_id') > 0) ? "" : mxResources.get(
- 'noAccountSelected') + "\n";
- d += (a.value.getAttribute('to') !== "") ? "" : mxResources.get(
- 'noRecipientSelected') + "\n";
- d += (a.value.getAttribute('sms_text') !== "") ? "" : mxResources.get(
- 'noTextSelected') + "\n";
- break;
- case 'sendMail':
- d = (a.value.getAttribute('account_id') > 0) ? "" : mxResources.get(
- 'noAccountSelected') + "\n";
- d += (a.value.getAttribute('to') !== "") ? "" : mxResources.get(
- 'noRecipientSelected') + "\n";
- break;
- case 'tts':
- d = (a.value.getAttribute('text') !== "") ? "" : mxResources.get(
- 'noTextSelected') + "\n";
- break;
- case 'ispeechtts':
- d = (a.value.getAttribute('text') !== "") ? "" : mxResources.get(
- 'noTextSelected') + "\n";
- d += (a.value.getAttribute('key') !== "") ? "" : mxResources.get(
- 'noKeySelected') + "\n";
- break;
- case 'ispeechasr':
- d = (a.value.getAttribute('key') !== "") ? "" : mxResources.get(
- 'noKeySelected') + "\n";
- break;
- }
- }
-
- if (graph.model.isEdge(a)) {
- var z = graph.model.getCell(a.source.getId());
- switch (z.value.nodeName) {
- case 'background':
- var patt = /^[0-9]{1,45}$|^[i]{1}$|^[t]{1}|^[#]{1}|^[*]{1}$/;
- d = d + ((patt.test(String(a.getValue()))) ? "" : mxResources.get(
- 'numberOrInvalidOrTimeout') + "\n");
- break;
- case 'menu':
- var patt = /^[0-9]{1,45}$|^[-]{1}$|^[i]{1}$|^[t]{1}|^[#]{1}|^[*]{1}$/;
- var str = String(a.getValue());
- var res = str.split(",");
- res.forEach(function(entry) {
- d = d + ((patt.test(entry)) ? "" : mxResources.get('numberOrAll') +
- "\n");
- });
- break;
- case 'getsecretdigits':
- case 'getdigits':
- var patt = /^(x|i|-)$/;
- var str = String(a.getValue());
- d = d + ((patt.test(str)) ? "" : mxResources.get(
- 'numberOrInvalidOrDefault') + "\n");
- break;
- case 'gotoif':
- case 'gotoiftime':
- case 'gotoifmultitime':
- var patt = /^(true){1}$|^(false){1}$/;
- d = d + ((patt.test(String(a.getValue()))) ? "" : mxResources.get(
- 'trueOrFalse') + "\n");
- break;
-
- }
- }
- // -----------------------------------------------------------------
-
-
- graph.isCellCollapsed(a) && !c && (d = d + ((mxResources.get(graph.containsValidationErrorsResource) ||
- graph.containsValidationErrorsResource) + "\n"));
- d = graph.model.isEdge(a) ?
- d + (graph.getEdgeValidationError(a, graph.model.getTerminal(a, true), graph
- .model.getTerminal(a, false)) || "") : d + (graph.getCellValidationError(a) ||
- "");
- e = graph.validateCell(a, b);
- e != null && (d = d + e);
- graph.model.getParent(a) == null && graph.view.validate();
- return d.length > 0 || !c ? d : null
-};
-EditorUi.prototype.validateBlock = function(blockName) {
- var graph = this.editor.graph;
- var parent = graph.getDefaultParent();
- var count = 0;
- // var model = graph.getModel();
- //We can also use model.getChildren(parent)
- parent.children.forEach(function(n) {
- if (graph.model.isVertex(n) && n.value.nodeName == blockName) {
- count++;
- }
- });
- return count > 1 ? false : true;
-}
-EditorUi.prototype.publish = function(name) {
- var editor = this.editor;
-
- if (name != null) {
- var response = this.validate();
- if (response === null) {
-
- var xml = mxUtils.getPrettyXml(this.editor.getGraphXml());
- try {
- if (useLocalStorage) {
- if (localStorage.getItem(name) != null &&
- !mxUtils.confirm(mxResources.get('replace', [name]))) {
- return;
- }
-
- localStorage.setItem(name, xml);
- this.editor.setStatus(mxResources.get('saved') + ' ' + new Date());
- } else {
- console.log(xml.length);
- console.log(MAX_REQUEST_SIZE);
- if (xml.length < MAX_REQUEST_SIZE) {
- xml = encodeURIComponent(xml);
-
- var xhr = new XMLHttpRequest();
- xhr.open("PUT", SAVE_URL + this.editor.data.id, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- editor.setStatus('Published at ' + JSON.parse(xhr.response).updatedAt +
- ' (' + xhr.status + ' ' + xhr.statusText + ')');
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error publishing project: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error publishing project' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('preproduction=' + xml + '&production=' + xml);
- } else {
- mxUtils.alert(mxResources.get('drawingTooLarge'));
- mxUtils.popup(xml);
-
- return;
- }
- }
-
- this.editor.filename = name;
- this.editor.modified = false;
- } catch (e) {
- this.editor.setStatus('Error publishing file');
- }
- } else {
- editor.setStatus('Error publishing project: ');
- }
- } else {
- this.editor.setStatus('Error publishing file');
- }
-};
-
-
-/**
- * Create variable
- */
-EditorUi.prototype.variable = function(name, description) {
- var editor = this.editor;
-
- if (name != null) {
- try {
-
- var xhr = new XMLHttpRequest();
- xhr.open("POST", VARIABLE_URL, true);
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xhr.setRequestHeader('Authorization', 'Bearer ' + editor.data.token);
- xhr.onload = function(e) {
- if (xhr.readyState === 4) {
- if (xhr.status === 201) {
- editor.setStatus('Variable created at ' + JSON.parse(xhr.response).createdAt +
- ' (' + xhr.status + ' ' + xhr.statusText + ')');
- } else {
- try {
- var response = JSON.parse(xhr.response);
- editor.setStatus('Error creating variable: ' + response.errors[0].message);
- } catch (e) {
- editor.setStatus('Error creating variable' + ' (' + xhr.status + ' ' + xhr.statusText + ')');
- }
- }
- }
- };
- xhr.onerror = function(e) {
- mxUtils.alert(xhr.statusText);
- };
- xhr.send('name=' + name + '&description=' + description);
- } catch (e) {
- this.editor.setStatus('Error creating variable');
- }
- } else {
- this.editor.setStatus('Error creating variable');
- }
-};
-
-/**
- * Returns the URL for a copy of this editor with no state.
- */
-EditorUi.prototype.getUrl = function(pathname) {
- var href = (pathname != null) ? pathname : window.location.pathname;
- var parms = (href.indexOf('?') > 0) ? 1 : 0;
-
- // Removes template URL parameter for new blank diagram
- for (var key in urlParams) {
- if (parms == 0) {
- href += '?';
- } else {
- href += '&';
- }
-
- href += key + '=' + urlParams[key];
- parms++;
- }
-
- return href;
-};
-
-/**
- * Updates the states of the given undo/redo items.
- */
-EditorUi.prototype.addUndoListener = function() {
- var undo = this.actions.get('undo');
- var redo = this.actions.get('redo');
-
- var undoMgr = this.editor.undoManager;
-
- var undoListener = function() {
- undo.setEnabled(undoMgr.canUndo());
- redo.setEnabled(undoMgr.canRedo());
- };
-
- undoMgr.addListener(mxEvent.ADD, undoListener);
- undoMgr.addListener(mxEvent.UNDO, undoListener);
- undoMgr.addListener(mxEvent.REDO, undoListener);
- undoMgr.addListener(mxEvent.CLEAR, undoListener);
-
- // Updates the button states once
- undoListener();
-};
-
-/**
- * Updates the states of the given toolbar items based on the selection.
- */
-EditorUi.prototype.addSelectionListener = function() {
- var selectionListener = mxUtils.bind(this, function() {
- var graph = this.editor.graph;
- var selected = !graph.isSelectionEmpty();
- var vertexSelected = false;
- var edgeSelected = false;
-
- var cells = graph.getSelectionCells();
-
- if (cells != null) {
- for (var i = 0; i < cells.length; i++) {
- var cell = cells[i];
-
- if (graph.getModel().isEdge(cell)) {
- edgeSelected = true;
- }
-
- if (graph.getModel().isVertex(cell)) {
- vertexSelected = true;
- }
-
- if (edgeSelected && vertexSelected) {
- break;
- }
- }
- }
-
- // Updates action states
- var actions = ['cut', 'copy', 'delete', 'duplicate', 'bold', 'italic',
- 'style', 'underline', 'toFront', 'toBack', 'dashed', 'rounded',
- 'shadow',
- 'tilt', 'autosize'
- ];
-
- for (var i = 0; i < actions.length; i++) {
- this.actions.get(actions[i]).setEnabled(selected);
- }
-
- this.actions.get('curved').setEnabled(edgeSelected);
- this.actions.get('rotation').setEnabled(vertexSelected);
- this.actions.get('wordWrap').setEnabled(vertexSelected);
- this.actions.get('group').setEnabled(graph.getSelectionCount() > 1);
- this.actions.get('ungroup').setEnabled(graph.getSelectionCount() == 1 &&
- graph.getModel().getChildCount(graph.getSelectionCell()) > 0);
- var oneVertexSelected = vertexSelected && graph.getSelectionCount() == 1;
- this.actions.get('removeFromGroup').setEnabled(oneVertexSelected &&
- graph.getModel().isVertex(graph.getModel().getParent(graph.getSelectionCell()))
- );
-
- // Updates menu states
- var menus = ['fontFamily', 'fontSize', 'alignment', 'position', 'text',
- 'format',
- 'arrange', 'linewidth', 'spacing'
- ];
-
- for (var i = 0; i < menus.length; i++) {
- this.menus.get(menus[i]).setEnabled(selected);
- }
-
- menus = ['line', 'lineend', 'linestart'];
-
- for (var i = 0; i < menus.length; i++) {
- this.menus.get(menus[i]).setEnabled(edgeSelected);
- }
-
- this.actions.get('setAsDefaultEdge').setEnabled(edgeSelected);
-
- this.menus.get('align').setEnabled(graph.getSelectionCount() > 1);
- this.menus.get('direction').setEnabled(vertexSelected || (edgeSelected &&
- graph.isLoop(graph.view.getState(graph.getSelectionCell()))));
- this.menus.get('navigation').setEnabled(graph.foldingEnabled && ((graph.view
- .currentRoot != null) ||
- (graph.getSelectionCount() == 1 && graph.isValidRoot(graph.getSelectionCell()))
- ));
- this.actions.get('home').setEnabled(graph.view.currentRoot != null);
- this.actions.get('exitGroup').setEnabled(graph.view.currentRoot != null);
- var groupEnabled = graph.getSelectionCount() == 1 && graph.isValidRoot(
- graph.getSelectionCell());
- this.actions.get('enterGroup').setEnabled(groupEnabled);
- this.actions.get('expand').setEnabled(groupEnabled);
- this.actions.get('collapse').setEnabled(groupEnabled);
- this.actions.get('editLink').setEnabled(graph.getSelectionCount() == 1);
- this.actions.get('openLink').setEnabled(graph.getSelectionCount() == 1 &&
- graph.getLinkForCell(graph.getSelectionCell()) != null);
- });
-
- this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,
- selectionListener);
- selectionListener();
-};
-
-/**
- * Refreshes the viewport.
- */
-EditorUi.prototype.refresh = function() {
- var quirks = mxClient.IS_IE && (document.documentMode == null || document.documentMode ==
- 5);
- var w = this.container.clientWidth;
- var h = this.container.clientHeight;
-
- if (this.container == document.body) {
- w = document.body.clientWidth || document.documentElement.clientWidth;
- h = (quirks) ? document.body.clientHeight || document.documentElement.clientHeight :
- document.documentElement.clientHeight;
- }
-
- var effHsplitPosition = Math.max(0, Math.min(this.hsplitPosition, w - this.splitSize -
- 20));
- var effVsplitPosition = Math.max(0, Math.min(this.vsplitPosition, h - this.menubarHeight -
- this.toolbarHeight - this.footerHeight - this.splitSize - 1));
-
- this.menubarContainer.style.height = this.menubarHeight + 'px';
- this.toolbarContainer.style.top = this.menubarHeight + 'px';
- this.toolbarContainer.style.height = this.toolbarHeight + 'px';
-
- var tmp = this.menubarHeight + this.toolbarHeight;
-
- if (!mxClient.IS_QUIRKS) {
- tmp += 1;
- }
-
- this.sidebarContainer.style.top = tmp + 'px';
- this.sidebarContainer.style.width = effHsplitPosition + 'px';
- this.outlineContainer.style.width = effHsplitPosition + 'px';
- this.outlineContainer.style.height = effVsplitPosition + 'px';
- this.outlineContainer.style.bottom = this.footerHeight + 'px';
- this.diagramContainer.style.left = (effHsplitPosition + this.splitSize) +
- 'px';
- this.diagramContainer.style.top = this.sidebarContainer.style.top;
- this.footerContainer.style.height = this.footerHeight + 'px';
- this.footerContainer.style.display = 'none';
- this.hsplit.style.top = this.sidebarContainer.style.top;
- this.hsplit.style.bottom = this.outlineContainer.style.bottom;
- this.hsplit.style.left = effHsplitPosition + 'px';
- this.vsplit.style.width = this.sidebarContainer.style.width;
- this.vsplit.style.bottom = (effVsplitPosition + this.footerHeight) + 'px';
-
- if (quirks) {
- this.menubarContainer.style.width = w + 'px';
- this.toolbarContainer.style.width = this.menubarContainer.style.width;
- var sidebarHeight = (h - effVsplitPosition - this.splitSize - this.footerHeight -
- this.menubarHeight - this.toolbarHeight);
- this.sidebarContainer.style.height = sidebarHeight + 'px';
- this.diagramContainer.style.width = (w - effHsplitPosition - this.splitSize) +
- 'px';
- var diagramHeight = (h - this.footerHeight - this.menubarHeight - this.toolbarHeight);
- this.diagramContainer.style.height = diagramHeight + 'px';
- this.footerContainer.style.width = this.menubarContainer.style.width;
- this.hsplit.style.height = diagramHeight + 'px';
- } else {
- this.sidebarContainer.style.bottom = (effVsplitPosition + this.splitSize +
- this.footerHeight) + 'px';
- this.diagramContainer.style.bottom = this.outlineContainer.style.bottom;
- }
-};
-
-/**
- * Creates the required containers.
- */
-EditorUi.prototype.createDivs = function() {
- this.menubarContainer = this.createDiv('geMenubarContainer');
- this.toolbarContainer = this.createDiv('geToolbarContainer');
- this.sidebarContainer = this.createDiv('geSidebarContainer');
- this.outlineContainer = this.createDiv('geOutlineContainer');
- this.diagramContainer = this.createDiv('geDiagramContainer');
- this.footerContainer = this.createDiv('geFooterContainer');
- this.hsplit = this.createDiv('geHsplit');
- this.vsplit = this.createDiv('geVsplit');
-
- // Sets static style for containers
- this.menubarContainer.style.top = '0px';
- this.menubarContainer.style.left = '0px';
- this.menubarContainer.style.right = '0px';
- this.toolbarContainer.style.left = '0px';
- this.toolbarContainer.style.right = '0px';
- this.sidebarContainer.style.left = '0px';
- this.outlineContainer.style.left = '0px';
- this.diagramContainer.style.right = '0px';
- this.footerContainer.style.left = '0px';
- this.footerContainer.style.right = '0px';
- this.footerContainer.style.bottom = '0px';
- this.vsplit.style.left = '0px';
- this.vsplit.style.height = this.splitSize + 'px';
- this.hsplit.style.width = this.splitSize + 'px';
-};
-
-/**
- * Creates the required containers.
- */
-EditorUi.prototype.createUi = function() {
- // Creates menubar
- this.menubar = this.menus.createMenubar(this.createDiv('geMenubar'));
- this.menubarContainer.appendChild(this.menubar.container);
-
- // Creates toolbar
- this.toolbar = this.createToolbar(this.createDiv('geToolbar'));
- this.toolbarContainer.appendChild(this.toolbar.container);
-
- // Creates the sidebar
- this.sidebar = this.createSidebar(this.sidebarContainer);
-
- // Creates the footer
- this.footerContainer.appendChild(this.createFooter());
-
- // Adds status bar in menubar
- this.statusContainer = this.createStatusContainer();
-
- // Connects the status bar to the editor status
- this.editor.addListener('statusChanged', mxUtils.bind(this, function() {
- this.setStatusText(this.editor.getStatus());
- }));
-
- this.setStatusText(this.editor.getStatus());
- this.menubar.container.appendChild(this.statusContainer);
-
- // Inserts into DOM
- this.container.appendChild(this.menubarContainer);
- this.container.appendChild(this.toolbarContainer);
- this.container.appendChild(this.sidebarContainer);
- this.container.appendChild(this.outlineContainer);
- this.container.appendChild(this.diagramContainer);
- this.container.appendChild(this.footerContainer);
- this.container.appendChild(this.hsplit);
- this.container.appendChild(this.vsplit);
-
- // HSplit
- this.addSplitHandler(this.hsplit, true, 0, mxUtils.bind(this, function(
- value) {
- this.hsplitPosition = value;
- this.refresh();
- this.editor.graph.sizeDidChange();
- this.editor.outline.update(false);
- this.editor.outline.outline.sizeDidChange();
- }));
-
- // VSplit
- this.addSplitHandler(this.vsplit, false, this.footerHeight, mxUtils.bind(
- this,
- function(value) {
- this.vsplitPosition = value;
- this.refresh();
- this.editor.outline.update(false);
- this.editor.outline.outline.sizeDidChange();
- }));
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createStatusContainer = function() {
- var container = document.createElement('a');
- container.className = 'geItem geStatus';
-
- return container;
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createStatusContainer = function() {
- var container = document.createElement('a');
- container.className = 'geItem geStatus';
-
- return container;
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.setStatusText = function(value) {
- this.statusContainer.innerHTML = value;
-};
-
-/**
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createToolbar = function(container) {
- return new Toolbar(this, container);
-};
-
-/**
- * Creates a new sidebar for the given container.
- */
-EditorUi.prototype.createSidebar = function(container) {
- return new Sidebar(this, container);
-};
-
-/**
- * Creates and returns a new footer.
- */
-EditorUi.prototype.createFooter = function() {
- return this.createDiv('geFooter');
-};
-
-/**
- * Creates the actual toolbar for the toolbar container.
- */
-EditorUi.prototype.createDiv = function(classname) {
- var elt = document.createElement('div');
- elt.className = classname;
-
- return elt;
-};
-
-/**
- * Creates the custom header.
- */
-EditorUi.prototype.createHeader = function(classname) {
- var elt = document.createElement(classname);
- return elt;
-};
-
-/**
- * Creates the custom header.
- */
-EditorUi.prototype.createForm = function(classname) {
- var elt = document.createElement('form');
- elt.className = classname;
-
- return elt;
-};
-
-/**
- * Updates the states of the given undo/redo items.
- */
-EditorUi.prototype.addSplitHandler = function(elt, horizontal, dx, onChange) {
- var start = null;
- var initial = null;
-
- function getValue() {
- return parseInt(((horizontal) ? elt.style.left : elt.style.bottom));
- };
-
- function moveHandler(evt) {
- if (start != null) {
- var pt = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- onChange(Math.max(0, initial + ((horizontal) ? (pt.x - start.x) : (start.y -
- pt.y)) - dx));
- mxEvent.consume(evt);
- }
- };
-
- function dropHandler(evt) {
- moveHandler(evt);
- start = null;
- initial = null;
- };
-
- mxEvent.addGestureListeners(elt, function(evt) {
- start = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- initial = getValue();
- mxEvent.consume(evt);
- });
-
- mxEvent.addListener(document, 'mousemove', moveHandler);
- mxEvent.addListener(document, 'touchmove', moveHandler);
- mxEvent.addListener(document, 'mouseup', dropHandler);
- mxEvent.addListener(document, 'touchend', dropHandler);
-};
-
-/**
- * Displays a print dialog.
- */
-EditorUi.prototype.showDialog = function(elt, w, h, modal, closable, onClose) {
- this.hideDialog();
- this.dialog = new Dialog(this, elt, w, (mxClient.IS_VML) ? h - 12 : h,
- modal,
- closable, onClose);
-};
-
-/**
- * Displays a print dialog.
- */
-EditorUi.prototype.hideDialog = function() {
- if (this.dialog != null) {
- this.dialog.close();
- this.dialog = null;
- this.editor.graph.container.focus();
- }
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-EditorUi.prototype.saveFile = function(forceDialog) {
- if (!forceDialog && this.editor.filename != null) {
- this.save(this.editor.getOrCreateFilename());
- } else {
- this.showDialog(new SaveDialog(this).container, 300, 100, true, true);
- }
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-EditorUi.prototype.publishFile = function(forceDialog) {
- if (!forceDialog && this.editor.filename != null) {
- this.publish(this.editor.getOrCreateFilename());
- } else {
- //this.showDialog(new SaveDialog(this).container, 300, 100, true, true);
- }
-};
-
-/**
- * Executes the given layout.
- */
-EditorUi.prototype.executeLayout = function(layout, animate, ignoreChildCount) {
- var graph = this.editor.graph;
- var cell = graph.getSelectionCell();
-
- // Allow global overridding of animation
- animate = this.animate != null ? this.animate : animate;
-
- graph.getModel().beginUpdate();
- try {
- layout.execute(graph.getDefaultParent(), cell);
- } catch (e) {
- throw e;
- } finally {
- // Animates the changes in the graph model except
- // for Camino, where animation is too slow
- if (animate && navigator.userAgent.indexOf('Camino') < 0) {
- // New API for animating graph layout results asynchronously
- var morph = new mxMorphing(graph);
- morph.addListener(mxEvent.DONE, mxUtils.bind(this, function() {
- graph.getModel().endUpdate();
- }));
-
- morph.startAnimation();
- } else {
- graph.getModel().endUpdate();
- }
- }
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-EditorUi.prototype.createKeyHandler = function(editor) {
- var graph = this.editor.graph;
- var keyHandler = new mxKeyHandler(graph);
-
- // Routes command-key to control-key on Mac
- keyHandler.isControlDown = function(evt) {
- return mxEvent.isControlDown(evt) || (mxClient.IS_MAC && evt.metaKey);
- };
-
- // Helper function to move cells with the cursor keys
- function nudge(keyCode) {
- if (!graph.isSelectionEmpty()) {
- var dx = 0;
- var dy = 0;
-
- if (keyCode == 37) {
- dx = -1;
- } else if (keyCode == 38) {
- dy = -1;
- } else if (keyCode == 39) {
- dx = 1;
- } else if (keyCode == 40) {
- dy = 1;
- }
-
- graph.moveCells(graph.getSelectionCells(), dx, dy);
- graph.scrollCellToVisible(graph.getSelectionCell());
- }
- };
-
- // Binds keystrokes to actions
- var bindAction = mxUtils.bind(this, function(code, control, key, shift) {
- var action = this.actions.get(key);
-
- if (action != null) {
- var f = function() {
- if (action.enabled) {
- action.funct();
- }
- };
-
- if (control) {
- if (shift) {
- keyHandler.bindControlShiftKey(code, f);
- } else {
- keyHandler.bindControlKey(code, f);
- }
- } else {
- if (shift) {
- keyHandler.bindShiftKey(code, f);
- } else {
- keyHandler.bindKey(code, f);
- }
- }
- }
- });
-
- var ui = this;
- var keyHandleEscape = keyHandler.escape;
- keyHandler.escape = function(evt) {
- ui.hideDialog();
- keyHandleEscape.apply(this, arguments);
- };
-
- // Ignores enter keystroke. Remove this line if you want the
- // enter keystroke to stop editing.
- keyHandler.enter = function() {};
- keyHandler.bindKey(8, function() {
- graph.foldCells(true);
- }); // Backspace
- keyHandler.bindKey(13, function() {
- graph.foldCells(false);
- }); // Enter
- keyHandler.bindKey(33, function() {
- graph.exitGroup();
- }); // Page Up
- keyHandler.bindKey(34, function() {
- graph.enterGroup();
- }); // Page Down
- keyHandler.bindKey(36, function() {
- graph.home();
- }); // Home
- keyHandler.bindKey(35, function() {
- graph.refresh();
- }); // End
- keyHandler.bindKey(37, function() {
- nudge(37);
- }); // Left arrow
- keyHandler.bindKey(38, function() {
- nudge(38);
- }); // Up arrow
- keyHandler.bindKey(39, function() {
- nudge(39);
- }); // Right arrow
- keyHandler.bindKey(40, function() {
- nudge(40);
- }); // Down arrow
- keyHandler.bindKey(113, function() {
- graph.startEditingAtCell();
- });
- bindAction(46, false, 'delete'); // Delete
- bindAction(82, true, 'tilt'); // Ctrl+R
- bindAction(83, true, 'save'); // Ctrl+S
- bindAction(83, true, 'saveAs', true); // Ctrl+Shift+S
- bindAction(107, false, 'zoomIn'); // Add
- bindAction(109, false, 'zoomOut'); // Subtract
- bindAction(65, true, 'selectAll'); // Ctrl+A
- bindAction(86, true, 'selectVertices', true); // Ctrl+Shift+V
- bindAction(69, true, 'selectEdges', true); // Ctrl+Shift+E
- bindAction(69, true, 'export'); // Ctrl+Shift+E
- bindAction(66, true, 'toBack'); // Ctrl+B
- bindAction(70, true, 'toFront'); // Ctrl+F
- bindAction(68, true, 'duplicate'); // Ctrl+D
- bindAction(90, true, 'undo'); // Ctrl+Z
- bindAction(89, true, 'redo'); // Ctrl+Y
- bindAction(88, true, 'cut'); // Ctrl+X
- bindAction(67, true, 'copy'); // Ctrl+C
- bindAction(81, true, 'connect'); // Ctrl+Q
- bindAction(86, true, 'paste'); // Ctrl+V
- bindAction(71, true, 'group'); // Ctrl+G
- bindAction(71, true, 'grid', true); // Ctrl+Shift+G
- bindAction(85, true, 'ungroup'); // Ctrl+U
- bindAction(112, false, 'about'); // F1
- bindAction(80, true, 'publish', true); // Ctrl+Shift+P
-
- return keyHandler;
-};
-
-/**
- * Giuseppe Careri
- * Creates a new toolbar for the given container.
- */
-EditorUi.prototype.createMultiplicities = function(graph, cells, source,
- target) {
- for (var i = 0; i < cells.length; i++) {
-
- graph.push(new mxMultiplicity(true, cells[i], null, null, source[i][0],
- source[i][1], null, mxResources.get(cells[i]) + mxResources.get(
- 'musthave') + source[i][0] + mxResources.get('outgoingedge'), null));
- graph.push(new mxMultiplicity(false, cells[i], null, null, target[i][0],
- target[i][1], null, mxResources.get(cells[i]) + mxResources.get(
- 'musthave') + target[i][0] + mxResources.get('incomingedge'), null));
- };
-};
+var _0x9e1f=["\x65\x64\x69\x74\x6F\x72","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x45\x64\x69\x74\x6F\x72","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x67\x72\x61\x70\x68","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x73\x74\x79\x6C\x65","\x68\x69\x64\x64\x65\x6E","\x73\x72\x63","\x73\x75\x62\x6D\x65\x6E\x75\x49\x6D\x61\x67\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x61\x63\x74\x69\x6F\x6E\x73","\x6D\x65\x6E\x75\x73","\x63\x72\x65\x61\x74\x65\x44\x69\x76\x73","\x72\x65\x66\x72\x65\x73\x68","\x63\x72\x65\x61\x74\x65\x55\x69","\x65\x76\x65\x6E\x74","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x41\x6C\x6C\x6F\x77\x65\x64","\x69\x73\x45\x64\x69\x74\x69\x6E\x67","\x62\x69\x6E\x64","\x62\x6F\x64\x79","\x6F\x6E\x73\x65\x6C\x65\x63\x74\x73\x74\x61\x72\x74","\x6D\x65\x6E\x75\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6F\x6E\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x74\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x64\x69\x61\x67\x72\x61\x6D\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x69\x64\x65\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x66\x6F\x6F\x74\x65\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x49\x53\x5F\x49\x45","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x4D\x6F\x64\x65","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x6F\x6E\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x69\x6E\x69\x74","\x74\x61\x62\x69\x6E\x64\x65\x78","\x30","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x75\x72\x73\x6F\x72","\x64\x65\x66\x61\x75\x6C\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x67\x72\x69\x64\x49\x6D\x61\x67\x65","\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x2D\x31\x70\x78\x20\x2D\x31\x70\x78","\x66\x6F\x63\x75\x73","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x4D\x4F\x55\x53\x45\x5F\x44\x4F\x57\x4E","\x61\x70\x70\x6C\x79","\x6D\x75\x6C\x74\x69\x70\x6C\x69\x63\x69\x74\x69\x65\x73","\x73\x74\x61\x72\x74","\x66\x69\x6E\x61\x6C\x6C\x79","\x65\x6E\x64","\x6E","\x63\x72\x65\x61\x74\x65\x4D\x75\x6C\x74\x69\x70\x6C\x69\x63\x69\x74\x69\x65\x73","\x61\x6E\x73\x77\x65\x72","\x68\x61\x6E\x67\x75\x70","\x64\x69\x61\x6C","\x65\x78\x74\x5F\x64\x69\x61\x6C","\x71\x75\x65\x75\x65","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x73\x65\x74","\x6D\x61\x74\x68","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x70\x6C\x61\x79\x62\x61\x63\x6B","\x6D\x65\x6E\x75","\x73\x61\x79\x64\x69\x67\x69\x74\x73","\x73\x61\x79\x6E\x75\x6D\x62\x65\x72","\x73\x61\x79\x70\x68\x6F\x6E\x65\x74\x69\x63","\x74\x74\x73","\x69\x73\x70\x65\x65\x63\x68\x74\x74\x73","\x67\x65\x74\x64\x69\x67\x69\x74\x73","\x67\x65\x74\x73\x65\x63\x72\x65\x74\x64\x69\x67\x69\x74\x73","\x72\x65\x63\x6F\x72\x64","\x64\x61\x74\x61\x62\x61\x73\x65","\x69\x73\x70\x65\x65\x63\x68\x61\x73\x72","\x73\x65\x6E\x64\x53\x4D\x53","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x67\x6F\x74\x6F\x63","\x67\x6F\x74\x6F\x69\x66","\x67\x6F\x74\x6F\x69\x66\x74\x69\x6D\x65","\x67\x6F\x74\x6F\x69\x66\x6D\x75\x6C\x74\x69\x74\x69\x6D\x65","\x76\x73\x77\x69\x74\x63\x68","\x71\x75\x65\x75\x65\x6C\x6F\x67","\x67\x6F\x61\x6C","\x6E\x6F\x6F\x70","\x73\x79\x73\x74\x65\x6D","\x61\x67\x69","\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74","\x63\x75\x73\x74\x6F\x6D\x5F\x61\x70\x70","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x63\x65\x6C\x6C","\x66\x69\x72\x65\x45\x76\x65\x6E\x74","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x69\x73\x45\x64\x67\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x74\x61\x67\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x73\x6F\x75\x72\x63\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x74\x61\x72\x74\x45\x64\x69\x74\x69\x6E\x67\x41\x74\x43\x65\x6C\x6C","\x69\x73\x56\x65\x72\x74\x65\x78","\x73\x68\x6F\x77\x44\x69\x61\x6C\x6F\x67","\x63\x6F\x6E\x73\x75\x6D\x65","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x66\x61\x63\x74\x6F\x72\x79\x4D\x65\x74\x68\x6F\x64","\x63\x72\x65\x61\x74\x65\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75","\x6F\x75\x74\x6C\x69\x6E\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x6F\x75\x74\x6C\x69\x6E\x65","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x67\x65\x73\x74\x75\x72\x65\x63\x68\x61\x6E\x67\x65","\x74\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x73\x63\x61\x6C\x65\x28","\x73\x63\x61\x6C\x65","\x67\x65\x74\x44\x72\x61\x77\x50\x61\x6E\x65","\x76\x69\x65\x77","\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79","\x67\x65\x74\x4F\x76\x65\x72\x6C\x61\x79\x50\x61\x6E\x65","\x67\x65\x73\x74\x75\x72\x65\x65\x6E\x64","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x7A\x6F\x6F\x6D\x54\x6F\x43\x65\x6E\x74\x65\x72","\x7A\x6F\x6F\x6D","\x76\x69\x73\x69\x62\x6C\x65","\x63\x72\x65\x61\x74\x65\x4B\x65\x79\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x4B\x65\x79\x48\x61\x6E\x64\x6C\x65\x72","\x72\x65\x73\x69\x7A\x65","\x73\x69\x7A\x65\x44\x69\x64\x43\x68\x61\x6E\x67\x65","\x75\x70\x64\x61\x74\x65","\x6F\x70\x65\x6E","\x73\x70\x6C\x69\x74\x53\x69\x7A\x65","\x6D\x65\x6E\x75\x62\x61\x72\x48\x65\x69\x67\x68\x74","\x74\x6F\x6F\x6C\x62\x61\x72\x48\x65\x69\x67\x68\x74","\x66\x6F\x6F\x74\x65\x72\x48\x65\x69\x67\x68\x74","\x68\x73\x70\x6C\x69\x74\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x76\x73\x70\x6C\x69\x74\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x64\x64\x55\x6E\x64\x6F\x4C\x69\x73\x74\x65\x6E\x65\x72","\x61\x64\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x61\x73\x74\x65","\x67\x65\x74","\x69\x73\x45\x6D\x70\x74\x79","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x75\x74","\x63\x6F\x70\x79","\x6F\x70\x65\x6E\x65\x72","\x6F\x70\x65\x6E\x46\x69\x6C\x65","\x70\x61\x72\x73\x65\x58\x6D\x6C","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x73\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x6D\x6F\x64\x69\x66\x69\x65\x64","\x63\x6C\x65\x61\x72","\x75\x6E\x64\x6F\x4D\x61\x6E\x61\x67\x65\x72","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x69\x6E\x76\x61\x6C\x69\x64\x4F\x72\x4D\x69\x73\x73\x69\x6E\x67\x46\x69\x6C\x65","\x3A\x20","\x6D\x65\x73\x73\x61\x67\x65","\x61\x6C\x65\x72\x74","\x73\x65\x74\x43\x6F\x6E\x73\x75\x6D\x65\x72","\x6F\x70\x65\x6E\x53\x74\x72\x69\x6E\x67","\x64\x61\x74\x61","\x6E\x65\x77","\x67\x65\x74\x47\x72\x61\x70\x68\x58\x6D\x6C","\x67\x65\x74\x50\x72\x65\x74\x74\x79\x58\x6D\x6C","\x67\x65\x74\x49\x74\x65\x6D","\x72\x65\x70\x6C\x61\x63\x65","\x63\x6F\x6E\x66\x69\x72\x6D","\x73\x65\x74\x49\x74\x65\x6D","\x73\x61\x76\x65\x64","\x20","\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x6C\x65\x6E\x67\x74\x68","\x6C\x6F\x67","\x50\x4F\x53\x54","\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72","\x41\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x42\x65\x61\x72\x65\x72\x20","\x74\x6F\x6B\x65\x6E","\x6F\x6E\x6C\x6F\x61\x64","\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x50\x72\x6F\x6A\x65\x63\x74\x20","\x6E\x61\x6D\x65","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x70\x61\x72\x73\x65","\x20\x69\x73\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x69\x6E\x20\x6E\x65\x77\x20\x77\x69\x6E\x64\x6F\x77\x21","\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x76\x69\x65\x77\x2F","\x69\x64","\x5F\x62\x6C\x61\x6E\x6B","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x65\x72\x72\x6F\x72\x73","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x20\x28","\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74","\x6F\x6E\x65\x72\x72\x6F\x72","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3D\x70\x72\x6F\x6A\x65\x63\x74\x5F\x6E\x65\x77\x26\x6E\x61\x6D\x65\x3D","\x73\x65\x6E\x64","\x64\x72\x61\x77\x69\x6E\x67\x54\x6F\x6F\x4C\x61\x72\x67\x65","\x70\x6F\x70\x75\x70","\x73\x61\x76\x65","\x50\x55\x54","\x55\x70\x64\x61\x74\x65\x64\x20\x61\x74\x20","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x70\x72\x65\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E\x3D","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x66\x69\x6C\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x45\x72\x72\x6F\x72\x20\x75\x70\x64\x61\x74\x69\x6E\x67\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3A\x20","\x45\x72\x72\x6F\x72\x20\x75\x70\x64\x61\x74\x69\x6E\x67\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3D","\x73\x61\x76\x65\x41\x73","\x45\x72\x72\x6F\x72\x20\x63\x6C\x6F\x6E\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x45\x72\x72\x6F\x72\x20\x63\x6C\x6F\x6E\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3D\x70\x72\x6F\x6A\x65\x63\x74\x5F\x63\x6C\x6F\x6E\x65\x64\x26\x6E\x61\x6D\x65\x3D","\x26\x70\x72\x65\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E\x3D","\x26\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E\x3D","\x76\x61\x6C\x69\x64\x61\x74\x65","\x67\x65\x74\x52\x6F\x6F\x74","\x6D\x6F\x64\x65\x6C","\x67\x65\x74\x43\x68\x69\x6C\x64\x43\x6F\x75\x6E\x74","\x67\x65\x74\x43\x68\x69\x6C\x64\x41\x74","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x3C\x62\x72\x3E","\x73\x65\x74\x43\x65\x6C\x6C\x57\x61\x72\x6E\x69\x6E\x67","","\x76\x61\x6C\x69\x64\x61\x74\x65\x42\x6C\x6F\x63\x6B","\x4F\x6E\x6C\x79\x20\x6F\x6E\x65\x20\x53\x74\x61\x72\x74\x20\x62\x6C\x6F\x63\x6B\x20\x69\x73\x20\x61\x6C\x6C\x6F\x77\x65\x64","\x0A","\x4F\x6E\x6C\x79\x20\x6F\x6E\x65\x20\x46\x69\x6E\x61\x6C\x6C\x79\x20\x62\x6C\x6F\x63\x6B\x20\x69\x73\x20\x61\x6C\x6C\x6F\x77\x65\x64","\x66\x69\x6C\x65\x5F\x69\x64","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x6E\x6F\x41\x75\x64\x69\x6F\x53\x65\x6C\x65\x63\x74\x65\x64","\x64\x69\x67\x69\x74","\x77\x72\x6F\x6E\x67\x4D\x61\x78\x44\x69\x67\x69\x74","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64","\x6E\x6F\x56\x61\x72\x69\x61\x62\x6C\x65\x53\x65\x6C\x65\x63\x74\x65\x64","\x6D\x69\x6E\x64\x69\x67\x69\x74","\x77\x72\x6F\x6E\x67\x4D\x69\x6E\x44\x69\x67\x69\x74","\x6D\x61\x78\x64\x69\x67\x69\x74","\x68\x69\x64\x64\x65\x6E\x64\x69\x67\x69\x74\x73\x6E\x75\x6D","\x77\x72\x6F\x6E\x67\x48\x69\x64\x64\x65\x6E\x44\x69\x67\x69\x74\x73\x6E\x75\x6D","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6F\x64\x62\x63\x5F\x69\x64","\x6E\x6F\x44\x61\x74\x61\x62\x61\x73\x65\x53\x65\x6C\x65\x63\x74\x65\x64","\x74\x72\x75\x6E\x6B\x5F\x6E\x61\x6D\x65","\x2D\x31","\x6E\x6F\x54\x72\x75\x6E\x6B\x53\x65\x6C\x65\x63\x74\x65\x64","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x6E\x6F\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x53\x65\x6C\x65\x63\x74\x65\x64","\x63\x6F\x6D\x6D\x61\x6E\x64","\x6E\x6F\x43\x6F\x6D\x6D\x61\x6E\x64\x53\x65\x6C\x65\x63\x74\x65\x64","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x6E\x6F\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x53\x65\x6C\x65\x63\x74\x65\x64","\x64\x69\x67\x69\x74\x73","\x6E\x6F\x44\x69\x67\x69\x74\x73\x53\x65\x6C\x65\x63\x74\x65\x64","\x6E\x75\x6D\x62\x65\x72","\x6E\x6F\x4E\x75\x6D\x62\x65\x72\x53\x65\x6C\x65\x63\x74\x65\x64","\x74\x65\x78\x74","\x6E\x6F\x54\x65\x78\x74\x53\x65\x6C\x65\x63\x74\x65\x64","\x66\x69\x6C\x65","\x6E\x6F\x46\x69\x6C\x65\x53\x65\x6C\x65\x63\x74\x65\x64","\x67\x6F\x61\x6C\x6E\x61\x6D\x65","\x6E\x6F\x47\x6F\x61\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x70\x68\x6F\x6E\x65","\x6E\x6F\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x53\x65\x6C\x65\x63\x74\x65\x64","\x73\x69\x70\x5F\x69\x64","\x71\x75\x65\x75\x65\x5F\x69\x64","\x6E\x6F\x51\x75\x65\x75\x65\x53\x65\x6C\x65\x63\x74\x65\x64","\x6C\x69\x73\x74\x5F\x69\x64","\x6E\x6F\x4C\x69\x73\x74\x53\x65\x6C\x65\x63\x74\x65\x64","\x69\x6E\x74\x65\x72\x76\x61\x6C\x5F\x69\x64","\x6E\x6F\x49\x6E\x74\x65\x72\x76\x61\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x6D\x61\x69\x6C\x62\x6F\x78","\x6E\x6F\x42\x6F\x78\x4E\x75\x6D\x62\x65\x72\x53\x65\x6C\x65\x63\x74\x65\x64","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64","\x6E\x6F\x50\x72\x6F\x6A\x65\x63\x74\x53\x65\x6C\x65\x63\x74\x65\x64","\x61\x63\x63\x6F\x75\x6E\x74\x5F\x69\x64","\x6E\x6F\x41\x63\x63\x6F\x75\x6E\x74\x53\x65\x6C\x65\x63\x74\x65\x64","\x74\x6F","\x6E\x6F\x52\x65\x63\x69\x70\x69\x65\x6E\x74\x53\x65\x6C\x65\x63\x74\x65\x64","\x73\x6D\x73\x5F\x74\x65\x78\x74","\x6B\x65\x79","\x6E\x6F\x4B\x65\x79\x53\x65\x6C\x65\x63\x74\x65\x64","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x67\x65\x74\x49\x64","\x67\x65\x74\x43\x65\x6C\x6C","\x67\x65\x74\x56\x61\x6C\x75\x65","\x74\x65\x73\x74","\x6E\x75\x6D\x62\x65\x72\x4F\x72\x49\x6E\x76\x61\x6C\x69\x64\x4F\x72\x54\x69\x6D\x65\x6F\x75\x74","\x2C","\x73\x70\x6C\x69\x74","\x6E\x75\x6D\x62\x65\x72\x4F\x72\x41\x6C\x6C","\x66\x6F\x72\x45\x61\x63\x68","\x6E\x75\x6D\x62\x65\x72\x4F\x72\x49\x6E\x76\x61\x6C\x69\x64\x4F\x72\x44\x65\x66\x61\x75\x6C\x74","\x74\x72\x75\x65\x4F\x72\x46\x61\x6C\x73\x65","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x6C\x6C\x61\x70\x73\x65\x64","\x63\x6F\x6E\x74\x61\x69\x6E\x73\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72\x73\x52\x65\x73\x6F\x75\x72\x63\x65","\x67\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C","\x67\x65\x74\x45\x64\x67\x65\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72","\x67\x65\x74\x43\x65\x6C\x6C\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E\x45\x72\x72\x6F\x72","\x76\x61\x6C\x69\x64\x61\x74\x65\x43\x65\x6C\x6C","\x67\x65\x74\x50\x61\x72\x65\x6E\x74","\x67\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x50\x61\x72\x65\x6E\x74","\x63\x68\x69\x6C\x64\x72\x65\x6E","\x70\x75\x62\x6C\x69\x73\x68","\x50\x75\x62\x6C\x69\x73\x68\x65\x64\x20\x61\x74\x20","\x45\x72\x72\x6F\x72\x20\x70\x75\x62\x6C\x69\x73\x68\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74\x3A\x20","\x45\x72\x72\x6F\x72\x20\x70\x75\x62\x6C\x69\x73\x68\x69\x6E\x67\x20\x70\x72\x6F\x6A\x65\x63\x74","\x45\x72\x72\x6F\x72\x20\x70\x75\x62\x6C\x69\x73\x68\x69\x6E\x67\x20\x66\x69\x6C\x65","\x56\x61\x72\x69\x61\x62\x6C\x65\x20\x63\x72\x65\x61\x74\x65\x64\x20\x61\x74\x20","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x3A\x20","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65","\x6E\x61\x6D\x65\x3D","\x26\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3D","\x67\x65\x74\x55\x72\x6C","\x70\x61\x74\x68\x6E\x61\x6D\x65","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x3F","\x26","\x3D","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x61\x6E\x55\x6E\x64\x6F","\x63\x61\x6E\x52\x65\x64\x6F","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x64\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x74\x6F\x46\x72\x6F\x6E\x74","\x74\x6F\x42\x61\x63\x6B","\x64\x61\x73\x68\x65\x64","\x72\x6F\x75\x6E\x64\x65\x64","\x73\x68\x61\x64\x6F\x77","\x74\x69\x6C\x74","\x61\x75\x74\x6F\x73\x69\x7A\x65","\x63\x75\x72\x76\x65\x64","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x77\x6F\x72\x64\x57\x72\x61\x70","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x67\x72\x6F\x75\x70","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x75\x6E\x67\x72\x6F\x75\x70","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x47\x72\x6F\x75\x70","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x61\x6C\x69\x67\x6E\x6D\x65\x6E\x74","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x61\x74","\x61\x72\x72\x61\x6E\x67\x65","\x6C\x69\x6E\x65\x77\x69\x64\x74\x68","\x73\x70\x61\x63\x69\x6E\x67","\x6C\x69\x6E\x65","\x6C\x69\x6E\x65\x65\x6E\x64","\x6C\x69\x6E\x65\x73\x74\x61\x72\x74","\x73\x65\x74\x41\x73\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x61\x6C\x69\x67\x6E","\x67\x65\x74\x53\x74\x61\x74\x65","\x69\x73\x4C\x6F\x6F\x70","\x64\x69\x72\x65\x63\x74\x69\x6F\x6E","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x63\x75\x72\x72\x65\x6E\x74\x52\x6F\x6F\x74","\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E","\x68\x6F\x6D\x65","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x65\x78\x70\x61\x6E\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x65\x64\x69\x74\x4C\x69\x6E\x6B","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x6F\x70\x65\x6E\x4C\x69\x6E\x6B","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74","\x6D\x69\x6E","\x6D\x61\x78","\x68\x65\x69\x67\x68\x74","\x70\x78","\x74\x6F\x70","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x77\x69\x64\x74\x68","\x62\x6F\x74\x74\x6F\x6D","\x6C\x65\x66\x74","\x64\x69\x73\x70\x6C\x61\x79","\x6E\x6F\x6E\x65","\x68\x73\x70\x6C\x69\x74","\x76\x73\x70\x6C\x69\x74","\x67\x65\x4D\x65\x6E\x75\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x63\x72\x65\x61\x74\x65\x44\x69\x76","\x67\x65\x54\x6F\x6F\x6C\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x53\x69\x64\x65\x62\x61\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x4F\x75\x74\x6C\x69\x6E\x65\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x44\x69\x61\x67\x72\x61\x6D\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x46\x6F\x6F\x74\x65\x72\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x67\x65\x48\x73\x70\x6C\x69\x74","\x67\x65\x56\x73\x70\x6C\x69\x74","\x30\x70\x78","\x72\x69\x67\x68\x74","\x6D\x65\x6E\x75\x62\x61\x72","\x67\x65\x4D\x65\x6E\x75\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x4D\x65\x6E\x75\x62\x61\x72","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x74\x6F\x6F\x6C\x62\x61\x72","\x67\x65\x54\x6F\x6F\x6C\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x54\x6F\x6F\x6C\x62\x61\x72","\x73\x69\x64\x65\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x53\x69\x64\x65\x62\x61\x72","\x63\x72\x65\x61\x74\x65\x46\x6F\x6F\x74\x65\x72","\x73\x74\x61\x74\x75\x73\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x63\x72\x65\x61\x74\x65\x53\x74\x61\x74\x75\x73\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x73\x74\x61\x74\x75\x73\x43\x68\x61\x6E\x67\x65\x64","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x65\x74\x53\x74\x61\x74\x75\x73\x54\x65\x78\x74","\x61\x64\x64\x53\x70\x6C\x69\x74\x48\x61\x6E\x64\x6C\x65\x72","\x61","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x49\x74\x65\x6D\x20\x67\x65\x53\x74\x61\x74\x75\x73","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x67\x65\x46\x6F\x6F\x74\x65\x72","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x48\x65\x61\x64\x65\x72","\x63\x72\x65\x61\x74\x65\x46\x6F\x72\x6D","\x66\x6F\x72\x6D","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x78","\x79","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x74\x6F\x75\x63\x68\x6D\x6F\x76\x65","\x6D\x6F\x75\x73\x65\x75\x70","\x74\x6F\x75\x63\x68\x65\x6E\x64","\x68\x69\x64\x65\x44\x69\x61\x6C\x6F\x67","\x64\x69\x61\x6C\x6F\x67","\x49\x53\x5F\x56\x4D\x4C","\x63\x6C\x6F\x73\x65","\x73\x61\x76\x65\x46\x69\x6C\x65","\x67\x65\x74\x4F\x72\x43\x72\x65\x61\x74\x65\x46\x69\x6C\x65\x6E\x61\x6D\x65","\x70\x75\x62\x6C\x69\x73\x68\x46\x69\x6C\x65","\x65\x78\x65\x63\x75\x74\x65\x4C\x61\x79\x6F\x75\x74","\x61\x6E\x69\x6D\x61\x74\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x65\x78\x65\x63\x75\x74\x65","\x43\x61\x6D\x69\x6E\x6F","\x75\x73\x65\x72\x41\x67\x65\x6E\x74","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x72\x74\x41\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x69\x73\x43\x6F\x6E\x74\x72\x6F\x6C\x44\x6F\x77\x6E","\x49\x53\x5F\x4D\x41\x43","\x6D\x65\x74\x61\x4B\x65\x79","\x6D\x6F\x76\x65\x43\x65\x6C\x6C\x73","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x65\x6E\x61\x62\x6C\x65\x64","\x66\x75\x6E\x63\x74","\x62\x69\x6E\x64\x43\x6F\x6E\x74\x72\x6F\x6C\x53\x68\x69\x66\x74\x4B\x65\x79","\x62\x69\x6E\x64\x43\x6F\x6E\x74\x72\x6F\x6C\x4B\x65\x79","\x62\x69\x6E\x64\x53\x68\x69\x66\x74\x4B\x65\x79","\x62\x69\x6E\x64\x4B\x65\x79","\x65\x73\x63\x61\x70\x65","\x65\x6E\x74\x65\x72","\x66\x6F\x6C\x64\x43\x65\x6C\x6C\x73","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x65\x78\x70\x6F\x72\x74","\x63\x6F\x6E\x6E\x65\x63\x74","\x67\x72\x69\x64","\x61\x62\x6F\x75\x74","\x6D\x75\x73\x74\x68\x61\x76\x65","\x6F\x75\x74\x67\x6F\x69\x6E\x67\x65\x64\x67\x65","\x70\x75\x73\x68","\x69\x6E\x63\x6F\x6D\x69\x6E\x67\x65\x64\x67\x65"];EditorUi= function(_0xe921x1,_0xe921x2){this[_0x9e1f[0]]= _0xe921x1|| new Editor();this[_0x9e1f[1]]= _0xe921x2|| document[_0x9e1f[3]](_0x9e1f[2]);var _0xe921x3=_0xe921x1[_0x9e1f[4]];var _0xe921x4=this;this[_0x9e1f[1]][_0x9e1f[6]][_0x9e1f[5]]= _0x9e1f[7]; new Image()[_0x9e1f[8]]= mxPopupMenu[_0x9e1f[10]][_0x9e1f[9]];if(mxConnectionHandler[_0x9e1f[10]][_0x9e1f[11]]!= null){ new Image()[_0x9e1f[8]]= mxConnectionHandler[_0x9e1f[10]][_0x9e1f[11]][_0x9e1f[8]]};this[_0x9e1f[12]]= new Actions(this);this[_0x9e1f[13]]= new Menus(this);this[_0x9e1f[14]]();this[_0x9e1f[15]]();this[_0x9e1f[16]]();var _0xe921x5=mxUtils[_0x9e1f[20]](this,function(_0xe921x6){if(_0xe921x6== null){_0xe921x6= window[_0x9e1f[17]]};if(this[_0x9e1f[18]](_0xe921x6)){return true};return _0xe921x3[_0x9e1f[19]]()});if(this[_0x9e1f[1]]== document[_0x9e1f[21]]){this[_0x9e1f[23]][_0x9e1f[22]]= _0xe921x5;this[_0x9e1f[23]][_0x9e1f[24]]= _0xe921x5;this[_0x9e1f[25]][_0x9e1f[22]]= _0xe921x5;this[_0x9e1f[25]][_0x9e1f[24]]= _0xe921x5;this[_0x9e1f[26]][_0x9e1f[22]]= _0xe921x5;this[_0x9e1f[26]][_0x9e1f[24]]= _0xe921x5;this[_0x9e1f[27]][_0x9e1f[22]]= _0xe921x5;this[_0x9e1f[27]][_0x9e1f[24]]= _0xe921x5;this[_0x9e1f[28]][_0x9e1f[22]]= _0xe921x5;this[_0x9e1f[28]][_0x9e1f[24]]= _0xe921x5};if(mxClient[_0x9e1f[29]]&& ( typeof (document[_0x9e1f[30]])=== _0x9e1f[31]|| document[_0x9e1f[30]]< 9)){mxEvent[_0x9e1f[33]](this[_0x9e1f[26]],_0x9e1f[32],_0xe921x5);mxEvent[_0x9e1f[33]](this[_0x9e1f[27]],_0x9e1f[32],_0xe921x5)}else {this[_0x9e1f[26]][_0x9e1f[34]]= _0xe921x5;this[_0x9e1f[27]][_0x9e1f[34]]= _0xe921x5};_0xe921x3[_0x9e1f[35]](this[_0x9e1f[26]]);_0xe921x3[_0x9e1f[15]]();_0xe921x3[_0x9e1f[1]][_0x9e1f[38]](_0x9e1f[36],_0x9e1f[37]);_0xe921x3[_0x9e1f[1]][_0x9e1f[6]][_0x9e1f[39]]= _0x9e1f[40];_0xe921x3[_0x9e1f[1]][_0x9e1f[6]][_0x9e1f[41]]= _0x9e1f[42]+ _0xe921x1[_0x9e1f[43]]+ _0x9e1f[44];_0xe921x3[_0x9e1f[1]][_0x9e1f[6]][_0x9e1f[45]]= _0x9e1f[46];_0xe921x3[_0x9e1f[1]][_0x9e1f[47]]();var _0xe921x7=_0xe921x3[_0x9e1f[48]];_0xe921x3[_0x9e1f[48]]= function(_0xe921x8,_0xe921x9,_0xe921xa){if(_0xe921x8== mxEvent[_0x9e1f[49]]){this[_0x9e1f[1]][_0x9e1f[47]]()};_0xe921x7[_0x9e1f[50]](this,arguments)};this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[52],_0x9e1f[53],_0x9e1f[54]],[[1,1],[1,1],[0,0]],[[0,0],[0,0],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[57],_0x9e1f[58],_0x9e1f[59],_0x9e1f[60],_0x9e1f[61],_0x9e1f[62],_0x9e1f[63]],[[1,1],[0,0],[0,1],[0,1],[0,1],[1,1],[0,1]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[64],_0x9e1f[65]],[[1,1],[1,1]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[66],_0x9e1f[67],_0x9e1f[68],_0x9e1f[69],_0x9e1f[70],_0x9e1f[71],_0x9e1f[72],_0x9e1f[73],_0x9e1f[74],_0x9e1f[75]],[[1,_0x9e1f[55]],[1,1],[1,_0x9e1f[55]],[1,1],[1,1],[1,1],[1,1],[1,1],[1,_0x9e1f[55]],[1,_0x9e1f[55]]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[76]],[[1,1]],[[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[77],_0x9e1f[78],_0x9e1f[79],_0x9e1f[80]],[[1,1],[1,1],[1,1],[1,1]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[81],_0x9e1f[82],_0x9e1f[83],_0x9e1f[84],_0x9e1f[85]],[[0,0],[1,2],[1,2],[1,2],[1,_0x9e1f[55]]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[86],_0x9e1f[87]],[[1,1],[1,1]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);this[_0x9e1f[56]](_0xe921x3[_0x9e1f[51]],[_0x9e1f[88],_0x9e1f[89],_0x9e1f[90],_0x9e1f[91],_0x9e1f[92]],[[1,1],[1,1],[0,1],[0,1],[0,1]],[[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]],[1,_0x9e1f[55]]]);_0xe921x3[_0x9e1f[93]]= function(_0xe921x6,_0xe921xb){var _0xe921xc=[_0x9e1f[66],_0x9e1f[82],_0x9e1f[83],_0x9e1f[68],_0x9e1f[74],_0x9e1f[75],_0x9e1f[85]];var _0xe921xd= new mxEventObject(mxEvent.DOUBLE_CLICK,_0x9e1f[17],_0xe921x6,_0x9e1f[94],_0xe921xb);this[_0x9e1f[95]](_0xe921xd);if(this[_0x9e1f[96]]()&& !mxEvent[_0x9e1f[97]](_0xe921x6)&& !_0xe921xd[_0x9e1f[97]]()){if(this[_0x9e1f[99]]()[_0x9e1f[98]](_0xe921xb)){if(_0xe921xc[_0x9e1f[103]](_0xe921xb[_0x9e1f[102]][_0x9e1f[101]][_0x9e1f[100]])>= 0){this[_0x9e1f[104]](_0xe921xb)}}else {if(this[_0x9e1f[99]]()[_0x9e1f[105]](_0xe921xb)){_0xe921x4[_0x9e1f[106]]( new GeneralDialog(_0xe921x4,_0xe921xb)[_0x9e1f[1]],320,280,true,true)}};_0xe921xd[_0x9e1f[107]]()}};_0xe921x3[_0x9e1f[109]][_0x9e1f[108]]= true;_0xe921x3[_0x9e1f[109]][_0x9e1f[110]]= mxUtils[_0x9e1f[20]](this,function(_0xe921xe,_0xe921xb,_0xe921x6){this[_0x9e1f[13]][_0x9e1f[111]](_0xe921xe,_0xe921xb,_0xe921x6)});_0xe921x1[_0x9e1f[113]][_0x9e1f[35]](this[_0x9e1f[112]]);mxEvent[_0x9e1f[115]](document,mxUtils[_0x9e1f[20]](this,function(_0xe921x6){_0xe921x3[_0x9e1f[109]][_0x9e1f[114]]()}));if(mxClient[_0x9e1f[116]]){mxEvent[_0x9e1f[33]](_0xe921x3[_0x9e1f[1]],_0x9e1f[117],mxUtils[_0x9e1f[20]](this,function(_0xe921x6){_0xe921x3[_0x9e1f[122]][_0x9e1f[121]]()[_0x9e1f[38]](_0x9e1f[118],_0x9e1f[119]+ _0xe921x6[_0x9e1f[120]]+ _0x9e1f[44]);_0xe921x3[_0x9e1f[122]][_0x9e1f[124]]()[_0x9e1f[6]][_0x9e1f[123]]= _0x9e1f[7]}));mxEvent[_0x9e1f[33]](_0xe921x3[_0x9e1f[1]],_0x9e1f[125],mxUtils[_0x9e1f[20]](this,function(_0xe921x6){_0xe921x3[_0x9e1f[122]][_0x9e1f[121]]()[_0x9e1f[126]](_0x9e1f[118]);_0xe921x3[_0x9e1f[127]]= true;_0xe921x3[_0x9e1f[128]](_0xe921x6[_0x9e1f[120]]);_0xe921x3[_0x9e1f[122]][_0x9e1f[124]]()[_0x9e1f[6]][_0x9e1f[123]]= _0x9e1f[129]}))};var _0xe921xf=this[_0x9e1f[130]](_0xe921x1);this[_0x9e1f[131]]= function(){return _0xe921xf};mxEvent[_0x9e1f[33]](window,_0x9e1f[132],mxUtils[_0x9e1f[20]](this,function(){this[_0x9e1f[15]]();_0xe921x3[_0x9e1f[133]]();this[_0x9e1f[0]][_0x9e1f[113]][_0x9e1f[134]](false);this[_0x9e1f[0]][_0x9e1f[113]][_0x9e1f[113]][_0x9e1f[133]]()}));this[_0x9e1f[35]]();this[_0x9e1f[135]]()};EditorUi[_0x9e1f[10]][_0x9e1f[136]]= (mxClient[_0x9e1f[116]])?16:8;EditorUi[_0x9e1f[10]][_0x9e1f[137]]= 33;EditorUi[_0x9e1f[10]][_0x9e1f[138]]= 36;EditorUi[_0x9e1f[10]][_0x9e1f[139]]= 28;EditorUi[_0x9e1f[10]][_0x9e1f[140]]= 204;EditorUi[_0x9e1f[10]][_0x9e1f[141]]= 190;EditorUi[_0x9e1f[10]][_0x9e1f[35]]= function(){this[_0x9e1f[142]]();this[_0x9e1f[143]]();var _0xe921x10=this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[144]);var _0xe921x11=function(){_0xe921x10[_0x9e1f[147]](!mxClipboard[_0x9e1f[146]]())};var _0xe921x12=mxClipboard[_0x9e1f[148]];mxClipboard[_0x9e1f[148]]= function(){_0xe921x12[_0x9e1f[50]](this,arguments);_0xe921x11()};var _0xe921x13=mxClipboard[_0x9e1f[149]];mxClipboard[_0x9e1f[149]]= function(){_0xe921x13[_0x9e1f[50]](this,arguments);_0xe921x11()}};EditorUi[_0x9e1f[10]][_0x9e1f[18]]= function(_0xe921x6){return false};EditorUi[_0x9e1f[10]][_0x9e1f[135]]= function(){try{if(window[_0x9e1f[150]]!= null&& window[_0x9e1f[150]][_0x9e1f[151]]!= null){window[_0x9e1f[150]][_0x9e1f[151]][_0x9e1f[163]](mxUtils[_0x9e1f[20]](this,function(_0xe921x14,_0xe921x15){try{var _0xe921x16=mxUtils[_0x9e1f[152]](_0xe921x14);this[_0x9e1f[0]][_0x9e1f[154]](_0xe921x16[_0x9e1f[153]]);this[_0x9e1f[0]][_0x9e1f[155]]= false;this[_0x9e1f[0]][_0x9e1f[157]][_0x9e1f[156]]();if(_0xe921x15!= null){this[_0x9e1f[0]][_0x9e1f[158]]= _0xe921x15}}catch(e){mxUtils[_0x9e1f[162]](mxResources[_0x9e1f[145]](_0x9e1f[159])+ _0x9e1f[160]+ e[_0x9e1f[161]])}}))}}catch(e){}};EditorUi[_0x9e1f[10]][_0x9e1f[164]]= function(_0xe921x14,_0xe921x15,_0xe921x17){try{var _0xe921x16=mxUtils[_0x9e1f[152]](_0xe921x14);this[_0x9e1f[0]][_0x9e1f[154]](_0xe921x16[_0x9e1f[153]]);this[_0x9e1f[0]][_0x9e1f[155]]= false;this[_0x9e1f[0]][_0x9e1f[157]][_0x9e1f[156]]();if(_0xe921x15!= null){this[_0x9e1f[0]][_0x9e1f[158]]= _0xe921x15};if(_0xe921x17!= null){this[_0x9e1f[0]][_0x9e1f[165]]= _0xe921x17}}catch(e){mxUtils[_0x9e1f[162]](mxResources[_0x9e1f[145]](_0x9e1f[159])+ _0x9e1f[160]+ e[_0x9e1f[161]])}};EditorUi[_0x9e1f[10]][_0x9e1f[166]]= function(_0xe921x18){var _0xe921x1=this[_0x9e1f[0]];if(_0xe921x18!= null){var _0xe921x14=mxUtils[_0x9e1f[168]](this[_0x9e1f[0]][_0x9e1f[167]]());try{if(useLocalStorage){if(localStorage[_0x9e1f[169]](_0xe921x18)!= null&& !mxUtils[_0x9e1f[171]](mxResources[_0x9e1f[145]](_0x9e1f[170],[_0xe921x18]))){return};localStorage[_0x9e1f[172]](_0xe921x18,_0xe921x14);this[_0x9e1f[0]][_0x9e1f[175]](mxResources[_0x9e1f[145]](_0x9e1f[173])+ _0x9e1f[174]+ new Date())}else {console[_0x9e1f[177]](_0xe921x14[_0x9e1f[176]]);console[_0x9e1f[177]](MAX_REQUEST_SIZE);if(_0xe921x14[_0x9e1f[176]]< MAX_REQUEST_SIZE){_0xe921x14= encodeURIComponent(_0xe921x14);_0xe921x18= encodeURIComponent(_0xe921x18);var _0xe921x19= new XMLHttpRequest();_0xe921x19[_0x9e1f[135]](_0x9e1f[178],SAVE_URL,true);_0xe921x19[_0x9e1f[181]](_0x9e1f[179],_0x9e1f[180]);_0xe921x19[_0x9e1f[181]](_0x9e1f[182],_0x9e1f[183]+ _0xe921x1[_0x9e1f[165]][_0x9e1f[184]]);_0xe921x19[_0x9e1f[185]]= function(_0xe921x1a){if(_0xe921x19[_0x9e1f[186]]=== 4){if(_0xe921x19[_0x9e1f[187]]=== 201){_0xe921x1[_0x9e1f[175]](_0x9e1f[188]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[189]]+ _0x9e1f[192]);setTimeout(function(){window[_0x9e1f[135]](_0x9e1f[193]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[194]],_0x9e1f[195])},1500)}else {try{var _0xe921x1b=JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]]);_0xe921x1[_0x9e1f[175]](_0x9e1f[196]+ _0xe921x1b[_0x9e1f[197]][0][_0x9e1f[161]])}catch(_0xe921x1a){_0xe921x1[_0x9e1f[175]](_0x9e1f[198]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}}}};_0xe921x19[_0x9e1f[201]]= function(_0xe921x1a){mxUtils[_0x9e1f[162]](_0xe921x19[_0x9e1f[200]])};_0xe921x19[_0x9e1f[203]](_0x9e1f[202]+ _0xe921x18)}else {mxUtils[_0x9e1f[162]](mxResources[_0x9e1f[145]](_0x9e1f[204]));mxUtils[_0x9e1f[205]](_0xe921x14);return}};this[_0x9e1f[0]][_0x9e1f[158]]= _0xe921x18;this[_0x9e1f[0]][_0x9e1f[155]]= false}catch(e){this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[198])}}else {this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[198])}};EditorUi[_0x9e1f[10]][_0x9e1f[206]]= function(_0xe921x18){var _0xe921x1=this[_0x9e1f[0]];if(_0xe921x18!= null){var _0xe921x14=mxUtils[_0x9e1f[168]](this[_0x9e1f[0]][_0x9e1f[167]]());try{if(useLocalStorage){if(localStorage[_0x9e1f[169]](_0xe921x18)!= null&& !mxUtils[_0x9e1f[171]](mxResources[_0x9e1f[145]](_0x9e1f[170],[_0xe921x18]))){return};localStorage[_0x9e1f[172]](_0xe921x18,_0xe921x14);this[_0x9e1f[0]][_0x9e1f[175]](mxResources[_0x9e1f[145]](_0x9e1f[173])+ _0x9e1f[174]+ new Date())}else {console[_0x9e1f[177]](_0xe921x14[_0x9e1f[176]]);console[_0x9e1f[177]](MAX_REQUEST_SIZE);if(_0xe921x14[_0x9e1f[176]]< MAX_REQUEST_SIZE){_0xe921x14= encodeURIComponent(_0xe921x14);var _0xe921x19= new XMLHttpRequest();_0xe921x19[_0x9e1f[135]](_0x9e1f[207],SAVE_URL+ this[_0x9e1f[0]][_0x9e1f[165]][_0x9e1f[194]],true);_0xe921x19[_0x9e1f[181]](_0x9e1f[179],_0x9e1f[180]);_0xe921x19[_0x9e1f[181]](_0x9e1f[182],_0x9e1f[183]+ _0xe921x1[_0x9e1f[165]][_0x9e1f[184]]);_0xe921x19[_0x9e1f[185]]= function(_0xe921x1a){if(_0xe921x19[_0x9e1f[186]]=== 4){if(_0xe921x19[_0x9e1f[187]]=== 200){_0xe921x1[_0x9e1f[175]](_0x9e1f[208]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[209]]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}else {try{var _0xe921x1b=JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]]);_0xe921x1[_0x9e1f[175]](_0x9e1f[210]+ _0xe921x1b[_0x9e1f[197]][0][_0x9e1f[161]])}catch(_0xe921x1a){_0xe921x1[_0x9e1f[175]](_0x9e1f[211]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}}}};_0xe921x19[_0x9e1f[201]]= function(_0xe921x1a){mxUtils[_0x9e1f[162]](_0xe921x19[_0x9e1f[200]])};_0xe921x19[_0x9e1f[203]](_0x9e1f[212]+ _0xe921x14)}else {mxUtils[_0x9e1f[162]](mxResources[_0x9e1f[145]](_0x9e1f[204]));mxUtils[_0x9e1f[205]](_0xe921x14);return}};this[_0x9e1f[0]][_0x9e1f[158]]= _0xe921x18;this[_0x9e1f[0]][_0x9e1f[155]]= false}catch(e){this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[213])}}else {this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[213])}};EditorUi[_0x9e1f[10]][_0x9e1f[214]]= function(_0xe921x1c){var _0xe921x1=this[_0x9e1f[0]];if(_0xe921x1c!== null){var _0xe921x19= new XMLHttpRequest();_0xe921x19[_0x9e1f[135]](_0x9e1f[207],SAVE_URL+ this[_0x9e1f[0]][_0x9e1f[165]][_0x9e1f[194]],true);_0xe921x19[_0x9e1f[181]](_0x9e1f[179],_0x9e1f[180]);_0xe921x19[_0x9e1f[181]](_0x9e1f[182],_0x9e1f[183]+ _0xe921x1[_0x9e1f[165]][_0x9e1f[184]]);_0xe921x19[_0x9e1f[185]]= function(_0xe921x1a){if(_0xe921x19[_0x9e1f[186]]=== 4){if(_0xe921x19[_0x9e1f[187]]=== 200){_0xe921x1[_0x9e1f[175]](_0x9e1f[208]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[209]]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44]);_0xe921x1[_0x9e1f[165]][_0x9e1f[214]]= _0xe921x1c}else {try{var _0xe921x1b=JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]]);_0xe921x1[_0x9e1f[175]](_0x9e1f[215]+ _0xe921x1b[_0x9e1f[197]][0][_0x9e1f[161]])}catch(_0xe921x1a){_0xe921x1[_0x9e1f[175]](_0x9e1f[216]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}}}};_0xe921x19[_0x9e1f[201]]= function(_0xe921x1a){mxUtils[_0x9e1f[162]](_0xe921x19[_0x9e1f[200]])};_0xe921x19[_0x9e1f[203]](_0x9e1f[217]+ _0xe921x1c)}else {this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[216])}};EditorUi[_0x9e1f[10]][_0x9e1f[218]]= function(_0xe921x18){var _0xe921x1=this[_0x9e1f[0]];if(_0xe921x18!= null){var _0xe921x14=mxUtils[_0x9e1f[168]](this[_0x9e1f[0]][_0x9e1f[167]]());try{if(useLocalStorage){if(localStorage[_0x9e1f[169]](_0xe921x18)!= null&& !mxUtils[_0x9e1f[171]](mxResources[_0x9e1f[145]](_0x9e1f[170],[_0xe921x18]))){return};localStorage[_0x9e1f[172]](_0xe921x18,_0xe921x14);this[_0x9e1f[0]][_0x9e1f[175]](mxResources[_0x9e1f[145]](_0x9e1f[173])+ _0x9e1f[174]+ new Date())}else {console[_0x9e1f[177]](_0xe921x14[_0x9e1f[176]]);console[_0x9e1f[177]](MAX_REQUEST_SIZE);if(_0xe921x14[_0x9e1f[176]]< MAX_REQUEST_SIZE){_0xe921x14= encodeURIComponent(_0xe921x14);_0xe921x18= encodeURIComponent(_0xe921x18);var _0xe921x19= new XMLHttpRequest();_0xe921x19[_0x9e1f[135]](_0x9e1f[178],SAVE_URL,true);_0xe921x19[_0x9e1f[181]](_0x9e1f[179],_0x9e1f[180]);_0xe921x19[_0x9e1f[181]](_0x9e1f[182],_0x9e1f[183]+ _0xe921x1[_0x9e1f[165]][_0x9e1f[184]]);_0xe921x19[_0x9e1f[185]]= function(_0xe921x1a){if(_0xe921x19[_0x9e1f[186]]=== 4){if(_0xe921x19[_0x9e1f[187]]=== 201){_0xe921x1[_0x9e1f[175]](_0x9e1f[188]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[189]]+ _0x9e1f[192]);setTimeout(function(){window[_0x9e1f[135]](_0x9e1f[193]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[194]],_0x9e1f[195])},1500)}else {try{var _0xe921x1b=JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]]);_0xe921x1[_0x9e1f[175]](_0x9e1f[219]+ _0xe921x1b[_0x9e1f[197]][0][_0x9e1f[161]])}catch(_0xe921x1a){_0xe921x1[_0x9e1f[175]](_0x9e1f[220]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}}}};_0xe921x19[_0x9e1f[201]]= function(_0xe921x1a){mxUtils[_0x9e1f[162]](_0xe921x19[_0x9e1f[200]])};_0xe921x19[_0x9e1f[203]](_0x9e1f[221]+ _0xe921x18+ _0x9e1f[222]+ _0xe921x14+ _0x9e1f[223]+ _0xe921x14)}else {mxUtils[_0x9e1f[162]](mxResources[_0x9e1f[145]](_0x9e1f[204]));mxUtils[_0x9e1f[205]](_0xe921x14);return}};this[_0x9e1f[0]][_0x9e1f[158]]= _0xe921x18;this[_0x9e1f[0]][_0x9e1f[155]]= false}catch(e){this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[213])}}else {this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[213])}};EditorUi[_0x9e1f[10]][_0x9e1f[224]]= function(_0xe921x1d,_0xe921x1e){var _0xe921x3=this[_0x9e1f[0]][_0x9e1f[4]];for(var _0xe921x1d=_0xe921x1d!= null?_0xe921x1d:_0xe921x3[_0x9e1f[226]][_0x9e1f[225]](),_0xe921x1e=_0xe921x1e!= null?_0xe921x1e:{},_0xe921x1f=true,_0xe921x20=_0xe921x3[_0x9e1f[226]][_0x9e1f[227]](_0xe921x1d),_0xe921x1a=0;_0xe921x1a< _0xe921x20;_0xe921x1a++){var _0xe921x21=_0xe921x3[_0x9e1f[226]][_0x9e1f[228]](_0xe921x1d,_0xe921x1a),_0xe921x22=_0xe921x1e;_0xe921x3[_0x9e1f[229]](_0xe921x21)&& (_0xe921x22= {});_0xe921x22= this[_0x9e1f[224]](_0xe921x21,_0xe921x22);_0xe921x22!= null?_0xe921x3[_0x9e1f[231]](_0xe921x21,_0xe921x22[_0x9e1f[170]](/\n/g,_0x9e1f[230])):_0xe921x3[_0x9e1f[231]](_0xe921x21,null);_0xe921x1f= _0xe921x1f&& _0xe921x22== null};_0xe921x20= _0x9e1f[232];if(_0xe921x3[_0x9e1f[226]][_0x9e1f[105]](_0xe921x1d)){switch(_0xe921x1d[_0x9e1f[101]][_0x9e1f[291]]){case _0x9e1f[52]:_0xe921x20= this[_0x9e1f[233]](_0x9e1f[52])?_0x9e1f[232]:_0x9e1f[234]+ _0x9e1f[235];break;case _0x9e1f[53]:_0xe921x20= this[_0x9e1f[233]](_0x9e1f[53])?_0x9e1f[232]:_0x9e1f[236]+ _0x9e1f[235];break;case _0x9e1f[67]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[237])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[239])+ _0x9e1f[235];break;case _0x9e1f[66]:;case _0x9e1f[68]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[237])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[239])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[240])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[241])+ _0x9e1f[235];break;case _0x9e1f[74]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[237])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[239])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[242])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[243])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[244])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[245])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[246])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[241])+ _0x9e1f[235];case _0x9e1f[75]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[237])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[239])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[242])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[243])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[244])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[245])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[246])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[241])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[247])>= 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[248])+ _0x9e1f[235];break;case _0x9e1f[85]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[249])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[243])+ _0x9e1f[235];break;case _0x9e1f[77]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[250])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[251])+ _0x9e1f[235];break;case _0x9e1f[60]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[252])!== _0x9e1f[253])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[254])+ _0x9e1f[235];break;case _0x9e1f[64]:;case _0x9e1f[65]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[242])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[243])+ _0x9e1f[235];break;case _0x9e1f[81]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[255])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[256])+ _0x9e1f[235];break;case _0x9e1f[89]:;case _0x9e1f[90]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[257])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[258])+ _0x9e1f[235];break;case _0x9e1f[82]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[259])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[260])+ _0x9e1f[235];break;case _0x9e1f[69]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[261])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[262])+ _0x9e1f[235];break;case _0x9e1f[70]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[263])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[264])+ _0x9e1f[235];break;case _0x9e1f[71]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[265])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[266])+ _0x9e1f[235];break;case _0x9e1f[76]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[267])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[268])+ _0x9e1f[235];break;case _0x9e1f[87]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[269])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[270])+ _0x9e1f[235];break;case _0x9e1f[60]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[271])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[272])+ _0x9e1f[235];break;case _0x9e1f[59]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[273])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[272])+ _0x9e1f[235];break;case _0x9e1f[61]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[274])!== _0x9e1f[253])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[275])+ _0x9e1f[235];break;case _0x9e1f[63]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[276])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[277])+ _0x9e1f[235];break;case _0x9e1f[83]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[278])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[279])+ _0x9e1f[235];break;case _0x9e1f[84]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[278])!= _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[279])+ _0x9e1f[235];break;case _0x9e1f[62]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[280])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[281])+ _0x9e1f[235];break;case _0x9e1f[91]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[282])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[283])+ _0x9e1f[235];break;case _0x9e1f[79]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[284])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[285])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[286])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[287])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[288])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[266])+ _0x9e1f[235];break;case _0x9e1f[80]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[284])> 0)?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[285])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[286])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[287])+ _0x9e1f[235];break;case _0x9e1f[72]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[265])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[266])+ _0x9e1f[235];break;case _0x9e1f[73]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[265])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[266])+ _0x9e1f[235];_0xe921x20+= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[289])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[290])+ _0x9e1f[235];break;case _0x9e1f[78]:_0xe921x20= (_0xe921x1d[_0x9e1f[101]][_0x9e1f[238]](_0x9e1f[289])!== _0x9e1f[232])?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[290])+ _0x9e1f[235];break}};if(_0xe921x3[_0x9e1f[226]][_0x9e1f[98]](_0xe921x1d)){var _0xe921x23=_0xe921x3[_0x9e1f[226]][_0x9e1f[293]](_0xe921x1d[_0x9e1f[102]][_0x9e1f[292]]());switch(_0xe921x23[_0x9e1f[101]][_0x9e1f[291]]){case _0x9e1f[66]:var _0xe921x24=/^[0-9]{1,45}$|^[i]{1}$|^[t]{1}|^[#]{1}|^[*]{1}$/;_0xe921x20= _0xe921x20+ ((_0xe921x24[_0x9e1f[295]](String(_0xe921x1d[_0x9e1f[294]]())))?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[296])+ _0x9e1f[235]);break;case _0x9e1f[68]:var _0xe921x24=/^[0-9]{1,45}$|^[-]{1}$|^[i]{1}$|^[t]{1}|^[#]{1}|^[*]{1}$/;var _0xe921x25=String(_0xe921x1d[_0x9e1f[294]]());var _0xe921x26=_0xe921x25[_0x9e1f[298]](_0x9e1f[297]);_0xe921x26[_0x9e1f[300]](function(_0xe921x27){_0xe921x20= _0xe921x20+ ((_0xe921x24[_0x9e1f[295]](_0xe921x27))?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[299])+ _0x9e1f[235])});break;case _0x9e1f[75]:;case _0x9e1f[74]:var _0xe921x24=/^(x|i|-)$/;var _0xe921x25=String(_0xe921x1d[_0x9e1f[294]]());_0xe921x20= _0xe921x20+ ((_0xe921x24[_0x9e1f[295]](_0xe921x25))?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[301])+ _0x9e1f[235]);break;case _0x9e1f[82]:;case _0x9e1f[83]:;case _0x9e1f[84]:var _0xe921x24=/^(true){1}$|^(false){1}$/;_0xe921x20= _0xe921x20+ ((_0xe921x24[_0x9e1f[295]](String(_0xe921x1d[_0x9e1f[294]]())))?_0x9e1f[232]:mxResources[_0x9e1f[145]](_0x9e1f[302])+ _0x9e1f[235]);break}};_0xe921x3[_0x9e1f[303]](_0xe921x1d)&& !_0xe921x1f&& (_0xe921x20= _0xe921x20+ ((mxResources[_0x9e1f[145]](_0xe921x3[_0x9e1f[304]])|| _0xe921x3[_0x9e1f[304]])+ _0x9e1f[235]));_0xe921x20= _0xe921x3[_0x9e1f[226]][_0x9e1f[98]](_0xe921x1d)?_0xe921x20+ (_0xe921x3[_0x9e1f[306]](_0xe921x1d,_0xe921x3[_0x9e1f[226]][_0x9e1f[305]](_0xe921x1d,true),_0xe921x3[_0x9e1f[226]][_0x9e1f[305]](_0xe921x1d,false))|| _0x9e1f[232]):_0xe921x20+ (_0xe921x3[_0x9e1f[307]](_0xe921x1d)|| _0x9e1f[232]);_0xe921x1a= _0xe921x3[_0x9e1f[308]](_0xe921x1d,_0xe921x1e);_0xe921x1a!= null&& (_0xe921x20= _0xe921x20+ _0xe921x1a);_0xe921x3[_0x9e1f[226]][_0x9e1f[309]](_0xe921x1d)== null&& _0xe921x3[_0x9e1f[122]][_0x9e1f[224]]();return _0xe921x20[_0x9e1f[176]]> 0|| !_0xe921x1f?_0xe921x20:null};EditorUi[_0x9e1f[10]][_0x9e1f[233]]= function(_0xe921x28){var _0xe921x3=this[_0x9e1f[0]][_0x9e1f[4]];var _0xe921x29=_0xe921x3[_0x9e1f[310]]();var _0xe921x2a=0;_0xe921x29[_0x9e1f[311]][_0x9e1f[300]](function(_0xe921x2b){if(_0xe921x3[_0x9e1f[226]][_0x9e1f[105]](_0xe921x2b)&& _0xe921x2b[_0x9e1f[101]][_0x9e1f[291]]== _0xe921x28){_0xe921x2a++}});return _0xe921x2a> 1?false:true};EditorUi[_0x9e1f[10]][_0x9e1f[312]]= function(_0xe921x18){var _0xe921x1=this[_0x9e1f[0]];if(_0xe921x18!= null){var _0xe921x1b=this[_0x9e1f[224]]();if(_0xe921x1b=== null){var _0xe921x14=mxUtils[_0x9e1f[168]](this[_0x9e1f[0]][_0x9e1f[167]]());try{if(useLocalStorage){if(localStorage[_0x9e1f[169]](_0xe921x18)!= null&& !mxUtils[_0x9e1f[171]](mxResources[_0x9e1f[145]](_0x9e1f[170],[_0xe921x18]))){return};localStorage[_0x9e1f[172]](_0xe921x18,_0xe921x14);this[_0x9e1f[0]][_0x9e1f[175]](mxResources[_0x9e1f[145]](_0x9e1f[173])+ _0x9e1f[174]+ new Date())}else {console[_0x9e1f[177]](_0xe921x14[_0x9e1f[176]]);console[_0x9e1f[177]](MAX_REQUEST_SIZE);if(_0xe921x14[_0x9e1f[176]]< MAX_REQUEST_SIZE){_0xe921x14= encodeURIComponent(_0xe921x14);var _0xe921x19= new XMLHttpRequest();_0xe921x19[_0x9e1f[135]](_0x9e1f[207],SAVE_URL+ this[_0x9e1f[0]][_0x9e1f[165]][_0x9e1f[194]],true);_0xe921x19[_0x9e1f[181]](_0x9e1f[179],_0x9e1f[180]);_0xe921x19[_0x9e1f[181]](_0x9e1f[182],_0x9e1f[183]+ _0xe921x1[_0x9e1f[165]][_0x9e1f[184]]);_0xe921x19[_0x9e1f[185]]= function(_0xe921x1a){if(_0xe921x19[_0x9e1f[186]]=== 4){if(_0xe921x19[_0x9e1f[187]]=== 200){_0xe921x1[_0x9e1f[175]](_0x9e1f[313]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[209]]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}else {try{var _0xe921x1b=JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]]);_0xe921x1[_0x9e1f[175]](_0x9e1f[314]+ _0xe921x1b[_0x9e1f[197]][0][_0x9e1f[161]])}catch(_0xe921x1a){_0xe921x1[_0x9e1f[175]](_0x9e1f[315]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}}}};_0xe921x19[_0x9e1f[201]]= function(_0xe921x1a){mxUtils[_0x9e1f[162]](_0xe921x19[_0x9e1f[200]])};_0xe921x19[_0x9e1f[203]](_0x9e1f[212]+ _0xe921x14+ _0x9e1f[223]+ _0xe921x14)}else {mxUtils[_0x9e1f[162]](mxResources[_0x9e1f[145]](_0x9e1f[204]));mxUtils[_0x9e1f[205]](_0xe921x14);return}};this[_0x9e1f[0]][_0x9e1f[158]]= _0xe921x18;this[_0x9e1f[0]][_0x9e1f[155]]= false}catch(e){this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[316])}}else {_0xe921x1[_0x9e1f[175]](_0x9e1f[314])}}else {this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[316])}};EditorUi[_0x9e1f[10]][_0x9e1f[249]]= function(_0xe921x18,_0xe921x1c){var _0xe921x1=this[_0x9e1f[0]];if(_0xe921x18!= null){try{var _0xe921x19= new XMLHttpRequest();_0xe921x19[_0x9e1f[135]](_0x9e1f[178],VARIABLE_URL,true);_0xe921x19[_0x9e1f[181]](_0x9e1f[179],_0x9e1f[180]);_0xe921x19[_0x9e1f[181]](_0x9e1f[182],_0x9e1f[183]+ _0xe921x1[_0x9e1f[165]][_0x9e1f[184]]);_0xe921x19[_0x9e1f[185]]= function(_0xe921x1a){if(_0xe921x19[_0x9e1f[186]]=== 4){if(_0xe921x19[_0x9e1f[187]]=== 201){_0xe921x1[_0x9e1f[175]](_0x9e1f[317]+ JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]])[_0x9e1f[318]]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}else {try{var _0xe921x1b=JSON[_0x9e1f[191]](_0xe921x19[_0x9e1f[190]]);_0xe921x1[_0x9e1f[175]](_0x9e1f[319]+ _0xe921x1b[_0x9e1f[197]][0][_0x9e1f[161]])}catch(_0xe921x1a){_0xe921x1[_0x9e1f[175]](_0x9e1f[320]+ _0x9e1f[199]+ _0xe921x19[_0x9e1f[187]]+ _0x9e1f[174]+ _0xe921x19[_0x9e1f[200]]+ _0x9e1f[44])}}}};_0xe921x19[_0x9e1f[201]]= function(_0xe921x1a){mxUtils[_0x9e1f[162]](_0xe921x19[_0x9e1f[200]])};_0xe921x19[_0x9e1f[203]](_0x9e1f[321]+ _0xe921x18+ _0x9e1f[322]+ _0xe921x1c)}catch(e){this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[320])}}else {this[_0x9e1f[0]][_0x9e1f[175]](_0x9e1f[320])}};EditorUi[_0x9e1f[10]][_0x9e1f[323]]= function(_0xe921x2c){var _0xe921x2d=(_0xe921x2c!= null)?_0xe921x2c:window[_0x9e1f[325]][_0x9e1f[324]];var _0xe921x2e=(_0xe921x2d[_0x9e1f[103]](_0x9e1f[326])> 0)?1:0;for(var _0xe921x2f in urlParams){if(_0xe921x2e== 0){_0xe921x2d+= _0x9e1f[326]}else {_0xe921x2d+= _0x9e1f[327]};_0xe921x2d+= _0xe921x2f+ _0x9e1f[328]+ urlParams[_0xe921x2f];_0xe921x2e++};return _0xe921x2d};EditorUi[_0x9e1f[10]][_0x9e1f[142]]= function(){var _0xe921x30=this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[329]);var _0xe921x31=this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[330]);var _0xe921x32=this[_0x9e1f[0]][_0x9e1f[157]];var _0xe921x33=function(){_0xe921x30[_0x9e1f[147]](_0xe921x32[_0x9e1f[331]]());_0xe921x31[_0x9e1f[147]](_0xe921x32[_0x9e1f[332]]())};_0xe921x32[_0x9e1f[33]](mxEvent.ADD,_0xe921x33);_0xe921x32[_0x9e1f[33]](mxEvent.UNDO,_0xe921x33);_0xe921x32[_0x9e1f[33]](mxEvent.REDO,_0xe921x33);_0xe921x32[_0x9e1f[33]](mxEvent.CLEAR,_0xe921x33);_0xe921x33()};EditorUi[_0x9e1f[10]][_0x9e1f[143]]= function(){var _0xe921x34=mxUtils[_0x9e1f[20]](this,function(){var _0xe921x3=this[_0x9e1f[0]][_0x9e1f[4]];var _0xe921x35=!_0xe921x3[_0x9e1f[333]]();var _0xe921x36=false;var _0xe921x37=false;var _0xe921x38=_0xe921x3[_0x9e1f[334]]();if(_0xe921x38!= null){for(var _0xe921x39=0;_0xe921x39< _0xe921x38[_0x9e1f[176]];_0xe921x39++){var _0xe921xb=_0xe921x38[_0xe921x39];if(_0xe921x3[_0x9e1f[99]]()[_0x9e1f[98]](_0xe921xb)){_0xe921x37= true};if(_0xe921x3[_0x9e1f[99]]()[_0x9e1f[105]](_0xe921xb)){_0xe921x36= true};if(_0xe921x37&& _0xe921x36){break}}};var _0xe921x3a=[_0x9e1f[148],_0x9e1f[149],_0x9e1f[335],_0x9e1f[336],_0x9e1f[337],_0x9e1f[338],_0x9e1f[6],_0x9e1f[339],_0x9e1f[340],_0x9e1f[341],_0x9e1f[342],_0x9e1f[343],_0x9e1f[344],_0x9e1f[345],_0x9e1f[346]];for(var _0xe921x39=0;_0xe921x39< _0xe921x3a[_0x9e1f[176]];_0xe921x39++){this[_0x9e1f[12]][_0x9e1f[145]](_0xe921x3a[_0xe921x39])[_0x9e1f[147]](_0xe921x35)};this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[347])[_0x9e1f[147]](_0xe921x37);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[348])[_0x9e1f[147]](_0xe921x36);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[349])[_0x9e1f[147]](_0xe921x36);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[351])[_0x9e1f[147]](_0xe921x3[_0x9e1f[350]]()> 1);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[353])[_0x9e1f[147]](_0xe921x3[_0x9e1f[350]]()== 1&& _0xe921x3[_0x9e1f[99]]()[_0x9e1f[227]](_0xe921x3[_0x9e1f[352]]())> 0);var _0xe921x3b=_0xe921x36&& _0xe921x3[_0x9e1f[350]]()== 1;this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[354])[_0x9e1f[147]](_0xe921x3b&& _0xe921x3[_0x9e1f[99]]()[_0x9e1f[105]](_0xe921x3[_0x9e1f[99]]()[_0x9e1f[309]](_0xe921x3[_0x9e1f[352]]())));var _0xe921x3c=[_0x9e1f[355],_0x9e1f[356],_0x9e1f[357],_0x9e1f[358],_0x9e1f[265],_0x9e1f[359],_0x9e1f[360],_0x9e1f[361],_0x9e1f[362]];for(var _0xe921x39=0;_0xe921x39< _0xe921x3c[_0x9e1f[176]];_0xe921x39++){this[_0x9e1f[13]][_0x9e1f[145]](_0xe921x3c[_0xe921x39])[_0x9e1f[147]](_0xe921x35)};_0xe921x3c= [_0x9e1f[363],_0x9e1f[364],_0x9e1f[365]];for(var _0xe921x39=0;_0xe921x39< _0xe921x3c[_0x9e1f[176]];_0xe921x39++){this[_0x9e1f[13]][_0x9e1f[145]](_0xe921x3c[_0xe921x39])[_0x9e1f[147]](_0xe921x37)};this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[366])[_0x9e1f[147]](_0xe921x37);this[_0x9e1f[13]][_0x9e1f[145]](_0x9e1f[367])[_0x9e1f[147]](_0xe921x3[_0x9e1f[350]]()> 1);this[_0x9e1f[13]][_0x9e1f[145]](_0x9e1f[370])[_0x9e1f[147]](_0xe921x36|| (_0xe921x37&& _0xe921x3[_0x9e1f[369]](_0xe921x3[_0x9e1f[122]][_0x9e1f[368]](_0xe921x3[_0x9e1f[352]]()))));this[_0x9e1f[13]][_0x9e1f[145]](_0x9e1f[373])[_0x9e1f[147]](_0xe921x3[_0x9e1f[371]]&& ((_0xe921x3[_0x9e1f[122]][_0x9e1f[372]]!= null)|| (_0xe921x3[_0x9e1f[350]]()== 1&& _0xe921x3[_0x9e1f[229]](_0xe921x3[_0x9e1f[352]]()))));this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[374])[_0x9e1f[147]](_0xe921x3[_0x9e1f[122]][_0x9e1f[372]]!= null);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[375])[_0x9e1f[147]](_0xe921x3[_0x9e1f[122]][_0x9e1f[372]]!= null);var _0xe921x3d=_0xe921x3[_0x9e1f[350]]()== 1&& _0xe921x3[_0x9e1f[229]](_0xe921x3[_0x9e1f[352]]());this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[376])[_0x9e1f[147]](_0xe921x3d);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[377])[_0x9e1f[147]](_0xe921x3d);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[378])[_0x9e1f[147]](_0xe921x3d);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[379])[_0x9e1f[147]](_0xe921x3[_0x9e1f[350]]()== 1);this[_0x9e1f[12]][_0x9e1f[145]](_0x9e1f[381])[_0x9e1f[147]](_0xe921x3[_0x9e1f[350]]()== 1&& _0xe921x3[_0x9e1f[380]](_0xe921x3[_0x9e1f[352]]())!= null)});this[_0x9e1f[0]][_0x9e1f[4]][_0x9e1f[382]]()[_0x9e1f[33]](mxEvent.CHANGE,_0xe921x34);_0xe921x34()};EditorUi[_0x9e1f[10]][_0x9e1f[15]]= function(){var _0xe921x3e=mxClient[_0x9e1f[29]]&& (document[_0x9e1f[30]]== null|| document[_0x9e1f[30]]== 5);var _0xe921x3f=this[_0x9e1f[1]][_0x9e1f[383]];var _0xe921x40=this[_0x9e1f[1]][_0x9e1f[384]];if(this[_0x9e1f[1]]== document[_0x9e1f[21]]){_0xe921x3f= document[_0x9e1f[21]][_0x9e1f[383]]|| document[_0x9e1f[153]][_0x9e1f[383]];_0xe921x40= (_0xe921x3e)?document[_0x9e1f[21]][_0x9e1f[384]]|| document[_0x9e1f[153]][_0x9e1f[384]]:document[_0x9e1f[153]][_0x9e1f[384]]};var _0xe921x41=Math[_0x9e1f[386]](0,Math[_0x9e1f[385]](this[_0x9e1f[140]],_0xe921x3f- this[_0x9e1f[136]]- 20));var _0xe921x42=Math[_0x9e1f[386]](0,Math[_0x9e1f[385]](this[_0x9e1f[141]],_0xe921x40- this[_0x9e1f[137]]- this[_0x9e1f[138]]- this[_0x9e1f[139]]- this[_0x9e1f[136]]- 1));this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[387]]= this[_0x9e1f[137]]+ _0x9e1f[388];this[_0x9e1f[25]][_0x9e1f[6]][_0x9e1f[389]]= this[_0x9e1f[137]]+ _0x9e1f[388];this[_0x9e1f[25]][_0x9e1f[6]][_0x9e1f[387]]= this[_0x9e1f[138]]+ _0x9e1f[388];var _0xe921x43=this[_0x9e1f[137]]+ this[_0x9e1f[138]];if(!mxClient[_0x9e1f[390]]){_0xe921x43+= 1};this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[389]]= _0xe921x43+ _0x9e1f[388];this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[391]]= _0xe921x41+ _0x9e1f[388];this[_0x9e1f[112]][_0x9e1f[6]][_0x9e1f[391]]= _0xe921x41+ _0x9e1f[388];this[_0x9e1f[112]][_0x9e1f[6]][_0x9e1f[387]]= _0xe921x42+ _0x9e1f[388];this[_0x9e1f[112]][_0x9e1f[6]][_0x9e1f[392]]= this[_0x9e1f[139]]+ _0x9e1f[388];this[_0x9e1f[26]][_0x9e1f[6]][_0x9e1f[393]]= (_0xe921x41+ this[_0x9e1f[136]])+ _0x9e1f[388];this[_0x9e1f[26]][_0x9e1f[6]][_0x9e1f[389]]= this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[389]];this[_0x9e1f[28]][_0x9e1f[6]][_0x9e1f[387]]= this[_0x9e1f[139]]+ _0x9e1f[388];this[_0x9e1f[28]][_0x9e1f[6]][_0x9e1f[394]]= _0x9e1f[395];this[_0x9e1f[396]][_0x9e1f[6]][_0x9e1f[389]]= this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[389]];this[_0x9e1f[396]][_0x9e1f[6]][_0x9e1f[392]]= this[_0x9e1f[112]][_0x9e1f[6]][_0x9e1f[392]];this[_0x9e1f[396]][_0x9e1f[6]][_0x9e1f[393]]= _0xe921x41+ _0x9e1f[388];this[_0x9e1f[397]][_0x9e1f[6]][_0x9e1f[391]]= this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[391]];this[_0x9e1f[397]][_0x9e1f[6]][_0x9e1f[392]]= (_0xe921x42+ this[_0x9e1f[139]])+ _0x9e1f[388];if(_0xe921x3e){this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[391]]= _0xe921x3f+ _0x9e1f[388];this[_0x9e1f[25]][_0x9e1f[6]][_0x9e1f[391]]= this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[391]];var _0xe921x44=(_0xe921x40- _0xe921x42- this[_0x9e1f[136]]- this[_0x9e1f[139]]- this[_0x9e1f[137]]- this[_0x9e1f[138]]);this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[387]]= _0xe921x44+ _0x9e1f[388];this[_0x9e1f[26]][_0x9e1f[6]][_0x9e1f[391]]= (_0xe921x3f- _0xe921x41- this[_0x9e1f[136]])+ _0x9e1f[388];var _0xe921x45=(_0xe921x40- this[_0x9e1f[139]]- this[_0x9e1f[137]]- this[_0x9e1f[138]]);this[_0x9e1f[26]][_0x9e1f[6]][_0x9e1f[387]]= _0xe921x45+ _0x9e1f[388];this[_0x9e1f[28]][_0x9e1f[6]][_0x9e1f[391]]= this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[391]];this[_0x9e1f[396]][_0x9e1f[6]][_0x9e1f[387]]= _0xe921x45+ _0x9e1f[388]}else {this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[392]]= (_0xe921x42+ this[_0x9e1f[136]]+ this[_0x9e1f[139]])+ _0x9e1f[388];this[_0x9e1f[26]][_0x9e1f[6]][_0x9e1f[392]]= this[_0x9e1f[112]][_0x9e1f[6]][_0x9e1f[392]]}};EditorUi[_0x9e1f[10]][_0x9e1f[14]]= function(){this[_0x9e1f[23]]= this[_0x9e1f[399]](_0x9e1f[398]);this[_0x9e1f[25]]= this[_0x9e1f[399]](_0x9e1f[400]);this[_0x9e1f[27]]= this[_0x9e1f[399]](_0x9e1f[401]);this[_0x9e1f[112]]= this[_0x9e1f[399]](_0x9e1f[402]);this[_0x9e1f[26]]= this[_0x9e1f[399]](_0x9e1f[403]);this[_0x9e1f[28]]= this[_0x9e1f[399]](_0x9e1f[404]);this[_0x9e1f[396]]= this[_0x9e1f[399]](_0x9e1f[405]);this[_0x9e1f[397]]= this[_0x9e1f[399]](_0x9e1f[406]);this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[389]]= _0x9e1f[407];this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[393]]= _0x9e1f[407];this[_0x9e1f[23]][_0x9e1f[6]][_0x9e1f[408]]= _0x9e1f[407];this[_0x9e1f[25]][_0x9e1f[6]][_0x9e1f[393]]= _0x9e1f[407];this[_0x9e1f[25]][_0x9e1f[6]][_0x9e1f[408]]= _0x9e1f[407];this[_0x9e1f[27]][_0x9e1f[6]][_0x9e1f[393]]= _0x9e1f[407];this[_0x9e1f[112]][_0x9e1f[6]][_0x9e1f[393]]= _0x9e1f[407];this[_0x9e1f[26]][_0x9e1f[6]][_0x9e1f[408]]= _0x9e1f[407];this[_0x9e1f[28]][_0x9e1f[6]][_0x9e1f[393]]= _0x9e1f[407];this[_0x9e1f[28]][_0x9e1f[6]][_0x9e1f[408]]= _0x9e1f[407];this[_0x9e1f[28]][_0x9e1f[6]][_0x9e1f[392]]= _0x9e1f[407];this[_0x9e1f[397]][_0x9e1f[6]][_0x9e1f[393]]= _0x9e1f[407];this[_0x9e1f[397]][_0x9e1f[6]][_0x9e1f[387]]= this[_0x9e1f[136]]+ _0x9e1f[388];this[_0x9e1f[396]][_0x9e1f[6]][_0x9e1f[391]]= this[_0x9e1f[136]]+ _0x9e1f[388]};EditorUi[_0x9e1f[10]][_0x9e1f[16]]= function(){this[_0x9e1f[409]]= this[_0x9e1f[13]][_0x9e1f[411]](this[_0x9e1f[399]](_0x9e1f[410]));this[_0x9e1f[23]][_0x9e1f[412]](this[_0x9e1f[409]][_0x9e1f[1]]);this[_0x9e1f[413]]= this[_0x9e1f[415]](this[_0x9e1f[399]](_0x9e1f[414]));this[_0x9e1f[25]][_0x9e1f[412]](this[_0x9e1f[413]][_0x9e1f[1]]);this[_0x9e1f[416]]= this[_0x9e1f[417]](this[_0x9e1f[27]]);this[_0x9e1f[28]][_0x9e1f[412]](this[_0x9e1f[418]]());this[_0x9e1f[419]]= this[_0x9e1f[420]]();this[_0x9e1f[0]][_0x9e1f[33]](_0x9e1f[421],mxUtils[_0x9e1f[20]](this,function(){this[_0x9e1f[423]](this[_0x9e1f[0]][_0x9e1f[422]]())}));this[_0x9e1f[423]](this[_0x9e1f[0]][_0x9e1f[422]]());this[_0x9e1f[409]][_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[419]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[23]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[25]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[27]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[112]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[26]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[28]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[396]]);this[_0x9e1f[1]][_0x9e1f[412]](this[_0x9e1f[397]]);this[_0x9e1f[424]](this[_0x9e1f[396]],true,0,mxUtils[_0x9e1f[20]](this,function(_0xe921x46){this[_0x9e1f[140]]= _0xe921x46;this[_0x9e1f[15]]();this[_0x9e1f[0]][_0x9e1f[4]][_0x9e1f[133]]();this[_0x9e1f[0]][_0x9e1f[113]][_0x9e1f[134]](false);this[_0x9e1f[0]][_0x9e1f[113]][_0x9e1f[113]][_0x9e1f[133]]()}));this[_0x9e1f[424]](this[_0x9e1f[397]],false,this[_0x9e1f[139]],mxUtils[_0x9e1f[20]](this,function(_0xe921x46){this[_0x9e1f[141]]= _0xe921x46;this[_0x9e1f[15]]();this[_0x9e1f[0]][_0x9e1f[113]][_0x9e1f[134]](false);this[_0x9e1f[0]][_0x9e1f[113]][_0x9e1f[113]][_0x9e1f[133]]()}))};EditorUi[_0x9e1f[10]][_0x9e1f[420]]= function(){var _0xe921x2=document[_0x9e1f[426]](_0x9e1f[425]);_0xe921x2[_0x9e1f[427]]= _0x9e1f[428];return _0xe921x2};EditorUi[_0x9e1f[10]][_0x9e1f[420]]= function(){var _0xe921x2=document[_0x9e1f[426]](_0x9e1f[425]);_0xe921x2[_0x9e1f[427]]= _0x9e1f[428];return _0xe921x2};EditorUi[_0x9e1f[10]][_0x9e1f[423]]= function(_0xe921x46){this[_0x9e1f[419]][_0x9e1f[429]]= _0xe921x46};EditorUi[_0x9e1f[10]][_0x9e1f[415]]= function(_0xe921x2){return new Toolbar(this,_0xe921x2)};EditorUi[_0x9e1f[10]][_0x9e1f[417]]= function(_0xe921x2){return new Sidebar(this,_0xe921x2)};EditorUi[_0x9e1f[10]][_0x9e1f[418]]= function(){return this[_0x9e1f[399]](_0x9e1f[430])};EditorUi[_0x9e1f[10]][_0x9e1f[399]]= function(_0xe921x47){var _0xe921x48=document[_0x9e1f[426]](_0x9e1f[431]);_0xe921x48[_0x9e1f[427]]= _0xe921x47;return _0xe921x48};EditorUi[_0x9e1f[10]][_0x9e1f[432]]= function(_0xe921x47){var _0xe921x48=document[_0x9e1f[426]](_0xe921x47);return _0xe921x48};EditorUi[_0x9e1f[10]][_0x9e1f[433]]= function(_0xe921x47){var _0xe921x48=document[_0x9e1f[426]](_0x9e1f[434]);_0xe921x48[_0x9e1f[427]]= _0xe921x47;return _0xe921x48};EditorUi[_0x9e1f[10]][_0x9e1f[424]]= function(_0xe921x48,_0xe921x49,_0xe921x4a,_0xe921x4b){var _0xe921x4c=null;var _0xe921x4d=null;function _0xe921x4e(){return parseInt(((_0xe921x49)?_0xe921x48[_0x9e1f[6]][_0x9e1f[393]]:_0xe921x48[_0x9e1f[6]][_0x9e1f[392]]))}function _0xe921x4f(_0xe921x6){if(_0xe921x4c!= null){var _0xe921x50= new mxPoint(mxEvent[_0x9e1f[435]](_0xe921x6),mxEvent[_0x9e1f[436]](_0xe921x6));_0xe921x4b(Math[_0x9e1f[386]](0,_0xe921x4d+ ((_0xe921x49)?(_0xe921x50[_0x9e1f[437]]- _0xe921x4c[_0x9e1f[437]]):(_0xe921x4c[_0x9e1f[438]]- _0xe921x50[_0x9e1f[438]]))- _0xe921x4a));mxEvent[_0x9e1f[107]](_0xe921x6)}}function _0xe921x51(_0xe921x6){_0xe921x4f(_0xe921x6);_0xe921x4c= null;_0xe921x4d= null}mxEvent[_0x9e1f[115]](_0xe921x48,function(_0xe921x6){_0xe921x4c= new mxPoint(mxEvent[_0x9e1f[435]](_0xe921x6),mxEvent[_0x9e1f[436]](_0xe921x6));_0xe921x4d= _0xe921x4e();mxEvent[_0x9e1f[107]](_0xe921x6)});mxEvent[_0x9e1f[33]](document,_0x9e1f[439],_0xe921x4f);mxEvent[_0x9e1f[33]](document,_0x9e1f[440],_0xe921x4f);mxEvent[_0x9e1f[33]](document,_0x9e1f[441],_0xe921x51);mxEvent[_0x9e1f[33]](document,_0x9e1f[442],_0xe921x51)};EditorUi[_0x9e1f[10]][_0x9e1f[106]]= function(_0xe921x48,_0xe921x3f,_0xe921x40,_0xe921x52,_0xe921x53,_0xe921x54){this[_0x9e1f[443]]();this[_0x9e1f[444]]= new Dialog(this,_0xe921x48,_0xe921x3f,(mxClient[_0x9e1f[445]])?_0xe921x40- 12:_0xe921x40,_0xe921x52,_0xe921x53,_0xe921x54)};EditorUi[_0x9e1f[10]][_0x9e1f[443]]= function(){if(this[_0x9e1f[444]]!= null){this[_0x9e1f[444]][_0x9e1f[446]]();this[_0x9e1f[444]]= null;this[_0x9e1f[0]][_0x9e1f[4]][_0x9e1f[1]][_0x9e1f[47]]()}};EditorUi[_0x9e1f[10]][_0x9e1f[447]]= function(_0xe921x55){if(!_0xe921x55&& this[_0x9e1f[0]][_0x9e1f[158]]!= null){this[_0x9e1f[206]](this[_0x9e1f[0]][_0x9e1f[448]]())}else {this[_0x9e1f[106]]( new SaveDialog(this)[_0x9e1f[1]],300,100,true,true)}};EditorUi[_0x9e1f[10]][_0x9e1f[449]]= function(_0xe921x55){if(!_0xe921x55&& this[_0x9e1f[0]][_0x9e1f[158]]!= null){this[_0x9e1f[312]](this[_0x9e1f[0]][_0x9e1f[448]]())}else {}};EditorUi[_0x9e1f[10]][_0x9e1f[450]]= function(_0xe921x56,_0xe921x57,_0xe921x58){var _0xe921x3=this[_0x9e1f[0]][_0x9e1f[4]];var _0xe921xb=_0xe921x3[_0x9e1f[352]]();_0xe921x57= this[_0x9e1f[451]]!= null?this[_0x9e1f[451]]:_0xe921x57;_0xe921x3[_0x9e1f[99]]()[_0x9e1f[452]]();try{_0xe921x56[_0x9e1f[453]](_0xe921x3[_0x9e1f[310]](),_0xe921xb)}catch(e){throw e}finally{if(_0xe921x57&& navigator[_0x9e1f[455]][_0x9e1f[103]](_0x9e1f[454])< 0){var _0xe921x59= new mxMorphing(_0xe921x3);_0xe921x59[_0x9e1f[33]](mxEvent.DONE,mxUtils[_0x9e1f[20]](this,function(){_0xe921x3[_0x9e1f[99]]()[_0x9e1f[456]]()}));_0xe921x59[_0x9e1f[457]]()}else {_0xe921x3[_0x9e1f[99]]()[_0x9e1f[456]]()}}};EditorUi[_0x9e1f[10]][_0x9e1f[130]]= function(_0xe921x1){var _0xe921x3=this[_0x9e1f[0]][_0x9e1f[4]];var _0xe921xf= new mxKeyHandler(_0xe921x3);_0xe921xf[_0x9e1f[458]]= function(_0xe921x6){return mxEvent[_0x9e1f[458]](_0xe921x6)|| (mxClient[_0x9e1f[459]]&& _0xe921x6[_0x9e1f[460]])};function _0xe921x5a(_0xe921x5b){if(!_0xe921x3[_0x9e1f[333]]()){var _0xe921x4a=0;var _0xe921x5c=0;if(_0xe921x5b== 37){_0xe921x4a= -1}else {if(_0xe921x5b== 38){_0xe921x5c= -1}else {if(_0xe921x5b== 39){_0xe921x4a= 1}else {if(_0xe921x5b== 40){_0xe921x5c= 1}}}};_0xe921x3[_0x9e1f[461]](_0xe921x3[_0x9e1f[334]](),_0xe921x4a,_0xe921x5c);_0xe921x3[_0x9e1f[462]](_0xe921x3[_0x9e1f[352]]())}}var _0xe921x5d=mxUtils[_0x9e1f[20]](this,function(_0xe921x5e,_0xe921x5f,_0xe921x2f,_0xe921x60){var _0xe921x61=this[_0x9e1f[12]][_0x9e1f[145]](_0xe921x2f);if(_0xe921x61!= null){var _0xe921x21=function(){if(_0xe921x61[_0x9e1f[463]]){_0xe921x61[_0x9e1f[464]]()}};if(_0xe921x5f){if(_0xe921x60){_0xe921xf[_0x9e1f[465]](_0xe921x5e,_0xe921x21)}else {_0xe921xf[_0x9e1f[466]](_0xe921x5e,_0xe921x21)}}else {if(_0xe921x60){_0xe921xf[_0x9e1f[467]](_0xe921x5e,_0xe921x21)}else {_0xe921xf[_0x9e1f[468]](_0xe921x5e,_0xe921x21)}}}});var _0xe921x62=this;var _0xe921x63=_0xe921xf[_0x9e1f[469]];_0xe921xf[_0x9e1f[469]]= function(_0xe921x6){_0xe921x62[_0x9e1f[443]]();_0xe921x63[_0x9e1f[50]](this,arguments)};_0xe921xf[_0x9e1f[470]]= function(){};_0xe921xf[_0x9e1f[468]](8,function(){_0xe921x3[_0x9e1f[471]](true)});_0xe921xf[_0x9e1f[468]](13,function(){_0xe921x3[_0x9e1f[471]](false)});_0xe921xf[_0x9e1f[468]](33,function(){_0xe921x3[_0x9e1f[375]]()});_0xe921xf[_0x9e1f[468]](34,function(){_0xe921x3[_0x9e1f[376]]()});_0xe921xf[_0x9e1f[468]](36,function(){_0xe921x3[_0x9e1f[374]]()});_0xe921xf[_0x9e1f[468]](35,function(){_0xe921x3[_0x9e1f[15]]()});_0xe921xf[_0x9e1f[468]](37,function(){_0xe921x5a(37)});_0xe921xf[_0x9e1f[468]](38,function(){_0xe921x5a(38)});_0xe921xf[_0x9e1f[468]](39,function(){_0xe921x5a(39)});_0xe921xf[_0x9e1f[468]](40,function(){_0xe921x5a(40)});_0xe921xf[_0x9e1f[468]](113,function(){_0xe921x3[_0x9e1f[104]]()});_0xe921x5d(46,false,_0x9e1f[335]);_0xe921x5d(82,true,_0x9e1f[345]);_0xe921x5d(83,true,_0x9e1f[206]);_0xe921x5d(83,true,_0x9e1f[218],true);_0xe921x5d(107,false,_0x9e1f[472]);_0xe921x5d(109,false,_0x9e1f[473]);_0xe921x5d(65,true,_0x9e1f[474]);_0xe921x5d(86,true,_0x9e1f[475],true);_0xe921x5d(69,true,_0x9e1f[476],true);_0xe921x5d(69,true,_0x9e1f[477]);_0xe921x5d(66,true,_0x9e1f[341]);_0xe921x5d(70,true,_0x9e1f[340]);_0xe921x5d(68,true,_0x9e1f[336]);_0xe921x5d(90,true,_0x9e1f[329]);_0xe921x5d(89,true,_0x9e1f[330]);_0xe921x5d(88,true,_0x9e1f[148]);_0xe921x5d(67,true,_0x9e1f[149]);_0xe921x5d(81,true,_0x9e1f[478]);_0xe921x5d(86,true,_0x9e1f[144]);_0xe921x5d(71,true,_0x9e1f[351]);_0xe921x5d(71,true,_0x9e1f[479],true);_0xe921x5d(85,true,_0x9e1f[353]);_0xe921x5d(112,false,_0x9e1f[480]);_0xe921x5d(80,true,_0x9e1f[312],true);return _0xe921xf};EditorUi[_0x9e1f[10]][_0x9e1f[56]]= function(_0xe921x3,_0xe921x38,_0xe921x64,_0xe921x65){for(var _0xe921x39=0;_0xe921x39< _0xe921x38[_0x9e1f[176]];_0xe921x39++){_0xe921x3[_0x9e1f[483]]( new mxMultiplicity(true,_0xe921x38[_0xe921x39],null,null,_0xe921x64[_0xe921x39][0],_0xe921x64[_0xe921x39][1],null,mxResources[_0x9e1f[145]](_0xe921x38[_0xe921x39])+ mxResources[_0x9e1f[145]](_0x9e1f[481])+ _0xe921x64[_0xe921x39][0]+ mxResources[_0x9e1f[145]](_0x9e1f[482]),null));_0xe921x3[_0x9e1f[483]]( new mxMultiplicity(false,_0xe921x38[_0xe921x39],null,null,_0xe921x65[_0xe921x39][0],_0xe921x65[_0xe921x39][1],null,mxResources[_0x9e1f[145]](_0xe921x38[_0xe921x39])+ mxResources[_0x9e1f[145]](_0x9e1f[481])+ _0xe921x65[_0xe921x39][0]+ mxResources[_0x9e1f[145]](_0x9e1f[484]),null))}}
\ No newline at end of file
-/**
- * $Id: Graph.js,v 1.14 2013-02-16 10:19:54 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new graph instance. Note that the constructor does not take a
- * container because the graph instance is needed for creating the UI, which
- * in turn will create the container for the graph. Hence, the container is
- * assigned later in EditorUi.
- */
-Graph = function(container, model, renderHint, stylesheet) {
- mxGraph.call(this, container, model, renderHint, stylesheet);
-
- this.setConnectable(true);
- this.setDropEnabled(false);
- this.setPanning(true);
- this.setTooltips(!mxClient.IS_TOUCH);
- this.setAllowLoops(false);
- this.setMultigraph(false);
- this.allowAutoPanning = true;
- this.resetEdgesOnConnect = false;
- this.constrainChildren = false;
-
- // Centers the port icon on the target port
- this.connectionHandler.targetConnectImage = true;
-
- // Does not allow dangling edges
- this.setAllowDanglingEdges(false);
-
- // Enables cloning of connection sources
- this.connectionHandler.setCreateTarget(false);
-
- // Disables built-in connection starts
- this.connectionHandler.isValidSource = function() {
- return mxConnectionHandler.prototype.isValidSource.apply(this, arguments) && urlParams['connect'] != '2';
- };
-
- // Sets the style to be used when an elbow edge is double clicked
- this.alternateEdgeStyle = 'vertical';
-
- if (stylesheet == null) {
- this.loadStylesheet();
- }
-
- // Creates rubberband selection
- var rubberband = new mxRubberband(this);
-
- this.getRubberband = function() {
- return rubberband;
- };
-
- // Shows hand cursor while panning
- this.panningHandler.addListener(mxEvent.PAN_START, mxUtils.bind(this, function() {
- this.container.style.cursor = 'pointer';
- }));
-
- this.panningHandler.addListener(mxEvent.PAN_END, mxUtils.bind(this, function() {
- this.container.style.cursor = 'default';
- }));
-
- // Adds support for HTML labels via style. Note: Currently, only the Java
- // backend supports HTML labels but CSS support is limited to the following:
- // http://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/text/html/CSS.html
- this.isHtmlLabel = function(cell) {
- var state = this.view.getState(cell);
- var style = (state != null) ? state.style : this.getCellStyle(cell);
-
- return style['html'] == '1' || style['whiteSpace'] == 'wrap';
- };
-
- // HTML entities are displayed as plain text in wrapped plain text labels
- this.cellRenderer.getLabelValue = function(state) {
- var result = mxCellRenderer.prototype.getLabelValue.apply(this, arguments);
-
- if (state.style['whiteSpace'] == 'wrap' && state.style['html'] != 1) {
- result = mxUtils.htmlEntities(result, false);
- }
-
- return result;
- };
-
- // Unlocks all cells
- this.isCellLocked = function(cell) {
- return false;
- };
-
- // Tap and hold brings up context menu.
- // Tolerance slightly below graph tolerance is better.
- this.connectionHandler.tapAndHoldTolerance = 16;
-
- // Tap and hold on background starts rubberband on cell starts connecting
- var connectionHandlerTapAndHold = this.connectionHandler.tapAndHold;
- this.connectionHandler.tapAndHold = function(me, state) {
- if (state == null) {
- if (!this.graph.panningHandler.active) {
- rubberband.start(me.getGraphX(), me.getGraphY());
- this.graph.panningHandler.panningTrigger = false;
- }
- } else if (tapAndHoldStartsConnection) {
- connectionHandlerTapAndHold.apply(this, arguments);
- } else if (this.graph.isCellSelected(state.cell) && this.graph.getSelectionCount() > 1) {
- this.graph.removeSelectionCell(state.cell);
- }
- };
-
- if (touchStyle) {
- this.initTouch();
- }
-};
-
-// Graph inherits from mxGraph
-mxUtils.extend(Graph, mxGraph);
-
-/**
- * Allows to all values in fit.
- */
-Graph.prototype.minFitScale = null;
-
-/**
- * Allows to all values in fit.
- */
-Graph.prototype.maxFitScale = null;
-
-/**
- * Loads the stylesheet for this graph.
- */
-Graph.prototype.loadStylesheet = function() {
- var node = mxUtils.load(STYLE_PATH + '/default.xml').getDocumentElement();
- var dec = new mxCodec(node.ownerDocument);
- dec.decode(node, this.getStylesheet());
-};
-
-/**
- * Inverts the elbow edge style without removing existing styles.
- */
-Graph.prototype.flipEdge = function(edge) {
- if (edge != null) {
- var state = this.view.getState(edge);
- var style = (state != null) ? state.style : this.getCellStyle(edge);
-
- if (style != null) {
- var elbow = mxUtils.getValue(style, mxConstants.STYLE_ELBOW,
- mxConstants.ELBOW_HORIZONTAL);
- var value = (elbow == mxConstants.ELBOW_HORIZONTAL) ?
- mxConstants.ELBOW_VERTICAL : mxConstants.ELBOW_HORIZONTAL;
- this.setCellStyles(mxConstants.STYLE_ELBOW, value, [edge]);
- }
- }
-};
-
-/**
- * Sets the default edge for future connections.
- */
-Graph.prototype.setDefaultEdge = function(cell) {
- if (cell != null && this.getModel().isEdge(cell)) {
- // Take a snapshot of the cell at the moment of calling
- var proto = this.getModel().cloneCells([cell])[0];
-
- // Delete existing points
- if (proto.geometry != null) {
- proto.geometry.points = null;
- }
-
- // Delete entry-/exitXY styles
- var style = proto.getStyle();
- style = mxUtils.setStyle(style, mxConstants.STYLE_ENTRY_X, null);
- style = mxUtils.setStyle(style, mxConstants.STYLE_ENTRY_Y, null);
- style = mxUtils.setStyle(style, mxConstants.STYLE_EXIT_X, null);
- style = mxUtils.setStyle(style, mxConstants.STYLE_EXIT_Y, null);
- proto.setStyle(style);
-
- // Uses edge template for connect preview
- this.connectionHandler.createEdgeState = function(me) {
- return this.graph.view.createState(proto);
- };
-
- // Creates new connections from edge template
- this.connectionHandler.factoryMethod = function() {
- return this.graph.cloneCells([proto])[0];
- };
- }
-};
-
-/**
- * Disables folding for non-swimlanes.
- */
-Graph.prototype.isCellFoldable = function(cell) {
- return this.foldingEnabled && this.isSwimlane(cell);
-};
-
-/**
- * Disables drill-down for non-swimlanes.
- */
-Graph.prototype.isValidRoot = function(cell) {
- return this.isSwimlane(cell);
-};
-
-/**
- * Overrides createGroupCell to set the group style for new groups to 'group'.
- */
-Graph.prototype.createGroupCell = function() {
- var group = mxGraph.prototype.createGroupCell.apply(this, arguments);
- group.setStyle('group');
-
- return group;
-};
-
-/**
- * Giuseppe Careri
- * Overrides tooltips to show position and size
- */
-Graph.prototype.getTooltipForCell = function(cell) {
- var tip = '';
-
- if (this.getModel().isVertex(cell)) {
- // var geo = this.getCellGeometry(cell);
-
- // var f2 = function(x)
- // {
- // return Math.round(parseFloat(x) * 100) / 100;
- // };
-
- // if (geo != null)
- // {
- // if (tip == null)
- // {
- // tip = '';
- // }
- // else if (tip.length > 0)
- // {
- // tip += '\n';
- // }
-
- // tip += 'X: ' + f2(geo.x) + '\nY: ' + f2(geo.y) + '\nW: ' + f2(geo.width) + '\nH: ' + f2(geo.height);
- // }
-
- tip += mxResources.get('description_' + cell.value.nodeName) || '';
- } else if (this.getModel().isEdge(cell)) {
- tip = mxGraph.prototype.getTooltipForCell.apply(this, arguments);
- }
-
- return tip;
-};
-
-/**
- * Giuseppe Careri
- * Returns the label for the given cell.
- */
-Graph.prototype.convertValueToString = function(cell) {
- if (cell.value != null && typeof(cell.value) == 'object') {
- return cell.value.getAttribute('label');
- }
-
- return mxGraph.prototype.convertValueToString.apply(this, arguments);
-};
-
-/**
- * Giuseppe Careri
- * Handles label changes for XML user objects.
- */
-Graph.prototype.cellLabelChanged = function(cell, value, autoSize) {
- if (cell.value != null && typeof(cell.value) == 'object') {
- var tmp = cell.value.cloneNode(true);
- tmp.setAttribute('label', value);
- value = tmp;
- }
-
- mxGraph.prototype.cellLabelChanged.apply(this, arguments);
-};
-
-/**
- * Sets the link for the given cell.
- */
-Graph.prototype.setLinkForCell = function(cell, link) {
- var value = null;
-
- if (cell.value != null && typeof(cell.value) == 'object') {
- value = cell.value.cloneNode(true);
- } else {
- var doc = mxUtils.createXmlDocument();
-
- value = doc.createElement('UserObject');
- value.setAttribute('label', cell.value);
- }
-
- if (link != null && link.length > 0) {
- value.setAttribute('link', link);
- } else {
- value.removeAttribute('link');
- }
-
- this.model.setValue(cell, value);
-};
-
-/**
- * Returns the link for the given cell.
- */
-Graph.prototype.getLinkForCell = function(cell) {
- if (cell.value != null && typeof(cell.value) == 'object') {
- return cell.value.getAttribute('link');
- }
-
- return null;
-};
-
-/**
- * Customized graph for touch devices.
- */
-Graph.prototype.initTouch = function() {
- // Disables new connections via "hotspot"
- this.connectionHandler.marker.isEnabled = function() {
- return this.graph.connectionHandler.first != null;
- };
-
- // Hides menu when editing starts
- this.addListener(mxEvent.START_EDITING, function(sender, evt) {
- this.panningHandler.hideMenu();
- });
-
- // Context menu for touchstyle
- var showMenu = false;
- var menuCell = null;
-
- // Checks if native hit detection did not return anything and does custom
- // hit detection for edges to take into account the tolerance
- this.updateMouseEvent = function(me) {
- mxGraph.prototype.updateMouseEvent.apply(this, arguments);
-
- if (me.getState() == null) {
- var cell = this.getCellAt(me.graphX, me.graphY);
-
- if (this.getModel().isEdge(cell)) {
- me.state = this.view.getState(cell);
-
- if (me.state != null && me.state.shape != null) {
- this.container.style.cursor = me.state.shape.node.style.cursor;
- }
- }
- }
-
- if (me.getState() == null) {
- this.container.style.cursor = 'default';
- }
- };
-
- // Handles popup menu on touch devices (tap selected cell)
- this.fireMouseEvent = function(evtName, me, sender) {
- if (evtName == mxEvent.MOUSE_DOWN) {
- if (!this.panningHandler.isMenuShowing()) {
- menuCell = me.getCell();
- showMenu = (menuCell != null) ? this.isCellSelected(menuCell) : this.isSelectionEmpty();
- } else {
- showMenu = false;
- menuCell = null;
- }
- } else if (evtName == mxEvent.MOUSE_UP) {
- if (showMenu && !this.isEditing()) {
- if (!this.panningHandler.isMenuShowing()) {
- var x = mxEvent.getClientX(me.getEvent());
- var y = mxEvent.getClientY(me.getEvent());
-
- this.panningHandler.popup(x + 16, y, menuCell, me.getEvent());
- }
-
- showMenu = false;
- menuCell = null;
- me.consume();
-
- return;
- }
-
- showMenu = false;
- menuCell = null;
- }
-
- mxGraph.prototype.fireMouseEvent.apply(this, arguments);
-
- if (evtName == mxEvent.MOUSE_MOVE && me.isConsumed()) {
- showMenu = false;
- menuCell = null;
- }
- };
-};
-
-/**
- * Implements touch devices.
- */
-(function() {
- // Enables rotation handle
- mxVertexHandler.prototype.rotationEnabled = true;
-
- // Matches label positions of mxGraph 1.x
- mxText.prototype.baseSpacingTop = 5;
- mxText.prototype.baseSpacingBottom = 1;
-
- // Touch-specific static overrides
- if (touchStyle) {
- // Sets constants for touch style
- mxConstants.HANDLE_SIZE = 16;
- mxConstants.LABEL_HANDLE_SIZE = 7;
-
- // Larger tolerance and grid for real touch devices
- if (mxClient.IS_TOUCH) {
- mxVertexHandler.prototype.tolerance = 4;
- mxEdgeHandler.prototype.tolerance = 6;
- Graph.prototype.tolerance = 14;
- Graph.prototype.gridSize = 20;
-
- // One finger pans (no rubberband selection) must start regardless of mouse button
- mxPanningHandler.prototype.selectOnPopup = false;
- mxPanningHandler.prototype.useLeftButtonForPanning = true;
- mxPanningHandler.prototype.isPanningTrigger = function(me) {
- var evt = me.getEvent();
-
- return (this.useLeftButtonForPanning && (this.ignoreCell || me.getState() == null)
- /* &&
- mxEvent.isLeftMouseButton(evt)*/
- ) || (mxEvent.isControlDown(evt) &&
- mxEvent.isShiftDown(evt)) || (this.usePopupTrigger &&
- mxEvent.isPopupTrigger(evt));
- };
- }
-
- // Don't clear selection if multiple cells selected
- var graphHandlerMouseDown = mxGraphHandler.prototype.mouseDown;
- mxGraphHandler.prototype.mouseDown = function(sender, me) {
- graphHandlerMouseDown.apply(this, arguments);
-
- if (this.graph.isCellSelected(me.getCell()) && this.graph.getSelectionCount() > 1) {
- this.delayedSelection = false;
- }
- };
-
- // Changes order of panninghandler
- Graph.prototype.createHandlers = function(container) {
- this.tooltipHandler = new mxTooltipHandler(this);
- this.tooltipHandler.setEnabled(false);
- // Selection cells first
- this.selectionCellsHandler = new mxSelectionCellsHandler(this);
- this.panningHandler = new mxPanningHandler(this);
- this.panningHandler.panningEnabled = false;
- this.connectionHandler = new mxConnectionHandler(this);
- this.connectionHandler.setEnabled(false);
- this.graphHandler = new mxGraphHandler(this);
- };
-
- // On connect the target is selected and we clone the cell of the preview edge for insert
- mxConnectionHandler.prototype.selectCells = function(edge, target) {
- if (touchStyle && target != null) {
- this.graph.setSelectionCell(target);
- } else {
- this.graph.setSelectionCell(edge);
- }
- };
-
- // Overrides double click handling to use the tolerance
- // FIXME: Double click on edges in iPad needs focus on textarea
- var graphDblClick = mxGraph.prototype.dblClick;
- Graph.prototype.dblClick = function(evt, cell) {
- if (cell == null) {
- var pt = mxUtils.convertPoint(this.container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- cell = this.getCellAt(pt.x, pt.y);
- }
-
- graphDblClick.call(this, evt, cell);
- };
-
- // Rounded edge and vertex handles
- var touchHandle = new mxImage(IMAGE_PATH + '/touch-handle.png', 16, 16);
- mxVertexHandler.prototype.handleImage = touchHandle;
- mxEdgeHandler.prototype.handleImage = touchHandle;
- mxOutline.prototype.sizerImage = touchHandle;
-
- // Pre-fetches touch handle
- new Image().src = touchHandle.src;
-
- // Adds connect icon to selected vertices
- var connectorSrc = IMAGE_PATH + '/touch-connector.png';
-
- var vertexHandlerInit = mxVertexHandler.prototype.init;
- mxVertexHandler.prototype.init = function() {
- vertexHandlerInit.apply(this, arguments);
-
- // Only show connector image on one cell and do not show on containers
- if (showConnectorImg && this.graph.connectionHandler.isEnabled() &&
- this.graph.isCellConnectable(this.state.cell) &&
- !this.graph.isValidRoot(this.state.cell) &&
- this.graph.getSelectionCount() == 1) {
- this.connectorImg = mxUtils.createImage(connectorSrc);
- this.connectorImg.style.cursor = 'pointer';
- this.connectorImg.style.width = '29px';
- this.connectorImg.style.height = '29px';
- this.connectorImg.style.position = 'absolute';
-
- if (!mxClient.IS_TOUCH) {
- this.connectorImg.setAttribute('title', mxResources.get('connect'));
- mxEvent.redirectMouseEvents(this.connectorImg, this.graph, this.state);
- }
-
- // Adds 2px tolerance
- this.connectorImg.style.padding = '2px';
-
- // Starts connecting on touch/mouse down
- mxEvent.addGestureListeners(this.connectorImg,
- mxUtils.bind(this, function(evt) {
- this.graph.panningHandler.hideMenu();
- var pt = mxUtils.convertPoint(this.graph.container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- this.graph.connectionHandler.start(this.state, pt.x, pt.y);
- this.graph.isMouseDown = true;
- mxEvent.consume(evt);
- })
- );
-
- this.graph.container.appendChild(this.connectorImg);
- }
-
- this.redrawTools();
- };
-
- var vertexHandlerRedraw = mxVertexHandler.prototype.redraw;
- mxVertexHandler.prototype.redraw = function() {
- vertexHandlerRedraw.apply(this);
- this.redrawTools();
- };
-
- mxVertexHandler.prototype.redrawTools = function() {
- if (this.state != null && this.connectorImg != null) {
- // Top right for single-sizer
- if (mxVertexHandler.prototype.singleSizer) {
- this.connectorImg.style.left = (this.state.x + this.state.width - this.connectorImg.offsetWidth / 2) + 'px';
- this.connectorImg.style.top = (this.state.y - this.connectorImg.offsetHeight / 2) + 'px';
- } else {
- this.connectorImg.style.left = (this.state.x + this.state.width + mxConstants.HANDLE_SIZE / 2 + 4 /* - 2 padding*/ ) + 'px';
- this.connectorImg.style.top = (this.state.y + (this.state.height - this.connectorImg.offsetHeight) / 2) + 'px';
- }
- }
- };
-
- var vertexHandlerDestroy = mxVertexHandler.prototype.destroy;
- mxVertexHandler.prototype.destroy = function(sender, me) {
- vertexHandlerDestroy.apply(this, arguments);
-
- if (this.connectorImg != null) {
- this.connectorImg.parentNode.removeChild(this.connectorImg);
- this.connectorImg = null;
- }
- };
-
- // Pre-fetches touch connector
- new Image().src = connectorSrc;
- } else {
- var img = new mxImage(IMAGE_PATH + '/connector.png', 15, 15);
- mxConnectionHandler.prototype.connectImage = img;
-
- // Pre-fetches img
- new Image().src = img.src;
-
- if (urlParams['connect'] == '2') // not touchStyle
- {
- var img = new mxImage(IMAGE_PATH + '/connector.png', 15, 15);
-
- var vertexHandlerInit = mxVertexHandler.prototype.init;
- mxVertexHandler.prototype.init = function() {
- vertexHandlerInit.apply(this, arguments);
-
- // Only show connector image on one cell and do not show on containers
- if (showConnectorImg && this.graph.connectionHandler.isEnabled() &&
- this.graph.isCellConnectable(this.state.cell) &&
- !this.graph.isValidRoot(this.state.cell) &&
- this.graph.getSelectionCount() == 1) {
- // Workaround for event redirection via image tag in quirks and IE8
- if (mxClient.IS_IE && !mxClient.IS_SVG) {
- this.connectorImg = document.createElement('div');
- this.connectorImg.style.backgroundImage = 'url(' + img.src + ')';
- this.connectorImg.style.backgroundPosition = 'center';
- this.connectorImg.style.backgroundRepeat = 'no-repeat';
- this.connectorImg.style.width = (img.width + 4) + 'px';
- this.connectorImg.style.height = (img.height + 4) + 'px';
- this.connectorImg.style.display = (mxClient.IS_QUIRKS) ? 'inline' : 'inline-block';
- } else {
- this.connectorImg = mxUtils.createImage(img.src);
- this.connectorImg.style.width = img.width + 'px';
- this.connectorImg.style.height = img.height + 'px';
- }
-
- this.connectorImg.style.cursor = 'pointer';
- this.connectorImg.style.position = 'absolute';
- this.connectorImg.setAttribute('title', mxResources.get('connect'));
- mxEvent.redirectMouseEvents(this.connectorImg, this.graph, this.state);
-
- // Adds 2px tolerance
- this.connectorImg.style.padding = '2px';
-
- // Starts connecting on touch/mouse down
- mxEvent.addListener(this.connectorImg, 'mousedown',
- mxUtils.bind(this, function(evt) {
- this.graph.panningHandler.hideMenu();
- var pt = mxUtils.convertPoint(this.graph.container,
- mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- this.graph.connectionHandler.start(this.state, pt.x, pt.y);
- this.graph.isMouseDown = true;
- mxEvent.consume(evt);
- })
- );
-
- this.graph.container.appendChild(this.connectorImg);
- }
-
- this.redrawTools();
- };
-
- var vertexHandlerRedraw = mxVertexHandler.prototype.redraw;
- mxVertexHandler.prototype.redraw = function() {
- vertexHandlerRedraw.apply(this);
- this.redrawTools();
- };
-
- mxVertexHandler.prototype.redrawTools = function() {
- if (this.state != null && this.connectorImg != null) {
- // Top right for single-sizer
- if (mxVertexHandler.prototype.singleSizer) {
- this.connectorImg.style.left = (this.state.x + this.state.width - this.connectorImg.offsetWidth / 2) + 'px';
- this.connectorImg.style.top = (this.state.y - this.connectorImg.offsetHeight / 2) + 'px';
- } else {
- this.connectorImg.style.left = (this.state.x + this.state.width + mxConstants.HANDLE_SIZE / 2 + 2 /* - 2 padding*/ ) + 'px';
- this.connectorImg.style.top = (this.state.y + (this.state.height - this.connectorImg.offsetHeight) / 2) + 'px';
- }
- }
- };
-
- var vertexHandlerDestroy = mxVertexHandler.prototype.destroy;
- mxVertexHandler.prototype.destroy = function(sender, me) {
- vertexHandlerDestroy.apply(this, arguments);
-
- if (this.connectorImg != null) {
- this.connectorImg.parentNode.removeChild(this.connectorImg);
- this.connectorImg = null;
- }
- };
- }
- }
-})();
+var _0x8733=["\x63\x61\x6C\x6C","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x73\x65\x74\x44\x72\x6F\x70\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x50\x61\x6E\x6E\x69\x6E\x67","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x4C\x6F\x6F\x70\x73","\x73\x65\x74\x4D\x75\x6C\x74\x69\x67\x72\x61\x70\x68","\x61\x6C\x6C\x6F\x77\x41\x75\x74\x6F\x50\x61\x6E\x6E\x69\x6E\x67","\x72\x65\x73\x65\x74\x45\x64\x67\x65\x73\x4F\x6E\x43\x6F\x6E\x6E\x65\x63\x74","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x43\x68\x69\x6C\x64\x72\x65\x6E","\x74\x61\x72\x67\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x44\x61\x6E\x67\x6C\x69\x6E\x67\x45\x64\x67\x65\x73","\x73\x65\x74\x43\x72\x65\x61\x74\x65\x54\x61\x72\x67\x65\x74","\x69\x73\x56\x61\x6C\x69\x64\x53\x6F\x75\x72\x63\x65","\x61\x70\x70\x6C\x79","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x6F\x6E\x6E\x65\x63\x74","\x32","\x61\x6C\x74\x65\x72\x6E\x61\x74\x65\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x76\x65\x72\x74\x69\x63\x61\x6C","\x6C\x6F\x61\x64\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x67\x65\x74\x52\x75\x62\x62\x65\x72\x62\x61\x6E\x64","\x63\x75\x72\x73\x6F\x72","\x73\x74\x79\x6C\x65","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x70\x6F\x69\x6E\x74\x65\x72","\x62\x69\x6E\x64","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x64\x65\x66\x61\x75\x6C\x74","\x69\x73\x48\x74\x6D\x6C\x4C\x61\x62\x65\x6C","\x67\x65\x74\x53\x74\x61\x74\x65","\x76\x69\x65\x77","\x67\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65","\x68\x74\x6D\x6C","\x31","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x77\x72\x61\x70","\x67\x65\x74\x4C\x61\x62\x65\x6C\x56\x61\x6C\x75\x65","\x63\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72","\x68\x74\x6D\x6C\x45\x6E\x74\x69\x74\x69\x65\x73","\x69\x73\x43\x65\x6C\x6C\x4C\x6F\x63\x6B\x65\x64","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64\x54\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x74\x61\x70\x41\x6E\x64\x48\x6F\x6C\x64","\x61\x63\x74\x69\x76\x65","\x67\x72\x61\x70\x68","\x67\x65\x74\x47\x72\x61\x70\x68\x58","\x67\x65\x74\x47\x72\x61\x70\x68\x59","\x73\x74\x61\x72\x74","\x70\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x63\x65\x6C\x6C","\x69\x73\x43\x65\x6C\x6C\x53\x65\x6C\x65\x63\x74\x65\x64","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x72\x65\x6D\x6F\x76\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x69\x6E\x69\x74\x54\x6F\x75\x63\x68","\x65\x78\x74\x65\x6E\x64","\x6D\x69\x6E\x46\x69\x74\x53\x63\x61\x6C\x65","\x6D\x61\x78\x46\x69\x74\x53\x63\x61\x6C\x65","\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x2F\x64\x65\x66\x61\x75\x6C\x74\x2E\x78\x6D\x6C","\x6C\x6F\x61\x64","\x6F\x77\x6E\x65\x72\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x67\x65\x74\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x64\x65\x63\x6F\x64\x65","\x66\x6C\x69\x70\x45\x64\x67\x65","\x67\x65\x74\x56\x61\x6C\x75\x65","\x45\x4C\x42\x4F\x57\x5F\x48\x4F\x52\x49\x5A\x4F\x4E\x54\x41\x4C","\x45\x4C\x42\x4F\x57\x5F\x56\x45\x52\x54\x49\x43\x41\x4C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x69\x73\x45\x64\x67\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x63\x6C\x6F\x6E\x65\x43\x65\x6C\x6C\x73","\x67\x65\x6F\x6D\x65\x74\x72\x79","\x70\x6F\x69\x6E\x74\x73","\x67\x65\x74\x53\x74\x79\x6C\x65","\x73\x65\x74\x53\x74\x79\x6C\x65","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x53\x74\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x53\x74\x61\x74\x65","\x66\x61\x63\x74\x6F\x72\x79\x4D\x65\x74\x68\x6F\x64","\x69\x73\x43\x65\x6C\x6C\x46\x6F\x6C\x64\x61\x62\x6C\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x77\x69\x6D\x6C\x61\x6E\x65","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x63\x72\x65\x61\x74\x65\x47\x72\x6F\x75\x70\x43\x65\x6C\x6C","\x67\x72\x6F\x75\x70","\x67\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x46\x6F\x72\x43\x65\x6C\x6C","","\x69\x73\x56\x65\x72\x74\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x5F","\x6E\x6F\x64\x65\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x67\x65\x74","\x63\x6F\x6E\x76\x65\x72\x74\x56\x61\x6C\x75\x65\x54\x6F\x53\x74\x72\x69\x6E\x67","\x6F\x62\x6A\x65\x63\x74","\x6C\x61\x62\x65\x6C","\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x65\x6C\x6C\x4C\x61\x62\x65\x6C\x43\x68\x61\x6E\x67\x65\x64","\x63\x6C\x6F\x6E\x65\x4E\x6F\x64\x65","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x73\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x55\x73\x65\x72\x4F\x62\x6A\x65\x63\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x6C\x65\x6E\x67\x74\x68","\x6C\x69\x6E\x6B","\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x73\x65\x74\x56\x61\x6C\x75\x65","\x6D\x6F\x64\x65\x6C","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x6D\x61\x72\x6B\x65\x72","\x66\x69\x72\x73\x74","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x75\x70\x64\x61\x74\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x67\x72\x61\x70\x68\x58","\x67\x72\x61\x70\x68\x59","\x67\x65\x74\x43\x65\x6C\x6C\x41\x74","\x73\x74\x61\x74\x65","\x73\x68\x61\x70\x65","\x6E\x6F\x64\x65","\x66\x69\x72\x65\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74","\x4D\x4F\x55\x53\x45\x5F\x44\x4F\x57\x4E","\x69\x73\x4D\x65\x6E\x75\x53\x68\x6F\x77\x69\x6E\x67","\x67\x65\x74\x43\x65\x6C\x6C","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x4D\x4F\x55\x53\x45\x5F\x55\x50","\x69\x73\x45\x64\x69\x74\x69\x6E\x67","\x67\x65\x74\x45\x76\x65\x6E\x74","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x70\x6F\x70\x75\x70","\x63\x6F\x6E\x73\x75\x6D\x65","\x4D\x4F\x55\x53\x45\x5F\x4D\x4F\x56\x45","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x72\x6F\x74\x61\x74\x69\x6F\x6E\x45\x6E\x61\x62\x6C\x65\x64","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x54\x6F\x70","\x62\x61\x73\x65\x53\x70\x61\x63\x69\x6E\x67\x42\x6F\x74\x74\x6F\x6D","\x48\x41\x4E\x44\x4C\x45\x5F\x53\x49\x5A\x45","\x4C\x41\x42\x45\x4C\x5F\x48\x41\x4E\x44\x4C\x45\x5F\x53\x49\x5A\x45","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x74\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x67\x72\x69\x64\x53\x69\x7A\x65","\x73\x65\x6C\x65\x63\x74\x4F\x6E\x50\x6F\x70\x75\x70","\x75\x73\x65\x4C\x65\x66\x74\x42\x75\x74\x74\x6F\x6E\x46\x6F\x72\x50\x61\x6E\x6E\x69\x6E\x67","\x69\x73\x50\x61\x6E\x6E\x69\x6E\x67\x54\x72\x69\x67\x67\x65\x72","\x69\x67\x6E\x6F\x72\x65\x43\x65\x6C\x6C","\x69\x73\x43\x6F\x6E\x74\x72\x6F\x6C\x44\x6F\x77\x6E","\x69\x73\x53\x68\x69\x66\x74\x44\x6F\x77\x6E","\x75\x73\x65\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x69\x73\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x6D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x64\x65\x6C\x61\x79\x65\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x43\x65\x6C\x6C\x73","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x64\x62\x6C\x43\x6C\x69\x63\x6B","\x63\x6F\x6E\x76\x65\x72\x74\x50\x6F\x69\x6E\x74","\x78","\x79","\x2F\x74\x6F\x75\x63\x68\x2D\x68\x61\x6E\x64\x6C\x65\x2E\x70\x6E\x67","\x68\x61\x6E\x64\x6C\x65\x49\x6D\x61\x67\x65","\x73\x69\x7A\x65\x72\x49\x6D\x61\x67\x65","\x73\x72\x63","\x2F\x74\x6F\x75\x63\x68\x2D\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72\x2E\x70\x6E\x67","\x69\x6E\x69\x74","\x69\x73\x43\x65\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72\x49\x6D\x67","\x63\x72\x65\x61\x74\x65\x49\x6D\x61\x67\x65","\x77\x69\x64\x74\x68","\x32\x39\x70\x78","\x68\x65\x69\x67\x68\x74","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x74\x69\x74\x6C\x65","\x72\x65\x64\x69\x72\x65\x63\x74\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73","\x70\x61\x64\x64\x69\x6E\x67","\x32\x70\x78","\x69\x73\x4D\x6F\x75\x73\x65\x44\x6F\x77\x6E","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x72\x65\x64\x72\x61\x77\x54\x6F\x6F\x6C\x73","\x72\x65\x64\x72\x61\x77","\x73\x69\x6E\x67\x6C\x65\x53\x69\x7A\x65\x72","\x6C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68","\x70\x78","\x74\x6F\x70","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x2F\x63\x6F\x6E\x6E\x65\x63\x74\x6F\x72\x2E\x70\x6E\x67","\x63\x6F\x6E\x6E\x65\x63\x74\x49\x6D\x61\x67\x65","\x49\x53\x5F\x49\x45","\x49\x53\x5F\x53\x56\x47","\x64\x69\x76","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x63\x65\x6E\x74\x65\x72","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x70\x65\x61\x74","\x6E\x6F\x2D\x72\x65\x70\x65\x61\x74","\x64\x69\x73\x70\x6C\x61\x79","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x69\x6E\x6C\x69\x6E\x65","\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E"];Graph= function(_0xe1f1x1,_0xe1f1x2,_0xe1f1x3,_0xe1f1x4){mxGraph[_0x8733[0]](this,_0xe1f1x1,_0xe1f1x2,_0xe1f1x3,_0xe1f1x4);this[_0x8733[1]](true);this[_0x8733[2]](false);this[_0x8733[3]](true);this[_0x8733[4]](!mxClient.IS_TOUCH);this[_0x8733[5]](false);this[_0x8733[6]](false);this[_0x8733[7]]= true;this[_0x8733[8]]= false;this[_0x8733[9]]= false;this[_0x8733[11]][_0x8733[10]]= true;this[_0x8733[12]](false);this[_0x8733[11]][_0x8733[13]](false);this[_0x8733[11]][_0x8733[14]]= function(){return mxConnectionHandler[_0x8733[16]][_0x8733[14]][_0x8733[15]](this,arguments)&& urlParams[_0x8733[17]]!= _0x8733[18]};this[_0x8733[19]]= _0x8733[20];if(_0xe1f1x4== null){this[_0x8733[21]]()};var _0xe1f1x5= new mxRubberband(this);this[_0x8733[22]]= function(){return _0xe1f1x5};this[_0x8733[29]][_0x8733[28]](mxEvent.PAN_START,mxUtils[_0x8733[27]](this,function(){this[_0x8733[25]][_0x8733[24]][_0x8733[23]]= _0x8733[26]}));this[_0x8733[29]][_0x8733[28]](mxEvent.PAN_END,mxUtils[_0x8733[27]](this,function(){this[_0x8733[25]][_0x8733[24]][_0x8733[23]]= _0x8733[30]}));this[_0x8733[31]]= function(_0xe1f1x6){var _0xe1f1x7=this[_0x8733[33]][_0x8733[32]](_0xe1f1x6);var _0xe1f1x8=(_0xe1f1x7!= null)?_0xe1f1x7[_0x8733[24]]:this[_0x8733[34]](_0xe1f1x6);return _0xe1f1x8[_0x8733[35]]== _0x8733[36]|| _0xe1f1x8[_0x8733[37]]== _0x8733[38]};this[_0x8733[40]][_0x8733[39]]= function(_0xe1f1x7){var _0xe1f1x9=mxCellRenderer[_0x8733[16]][_0x8733[39]][_0x8733[15]](this,arguments);if(_0xe1f1x7[_0x8733[24]][_0x8733[37]]== _0x8733[38]&& _0xe1f1x7[_0x8733[24]][_0x8733[35]]!= 1){_0xe1f1x9= mxUtils[_0x8733[41]](_0xe1f1x9,false)};return _0xe1f1x9};this[_0x8733[42]]= function(_0xe1f1x6){return false};this[_0x8733[11]][_0x8733[43]]= 16;var _0xe1f1xa=this[_0x8733[11]][_0x8733[44]];this[_0x8733[11]][_0x8733[44]]= function(_0xe1f1xb,_0xe1f1x7){if(_0xe1f1x7== null){if(!this[_0x8733[46]][_0x8733[29]][_0x8733[45]]){_0xe1f1x5[_0x8733[49]](_0xe1f1xb[_0x8733[47]](),_0xe1f1xb[_0x8733[48]]());this[_0x8733[46]][_0x8733[29]][_0x8733[50]]= false}}else {if(tapAndHoldStartsConnection){_0xe1f1xa[_0x8733[15]](this,arguments)}else {if(this[_0x8733[46]][_0x8733[52]](_0xe1f1x7[_0x8733[51]])&& this[_0x8733[46]][_0x8733[53]]()> 1){this[_0x8733[46]][_0x8733[54]](_0xe1f1x7[_0x8733[51]])}}}};if(touchStyle){this[_0x8733[55]]()}};mxUtils[_0x8733[56]](Graph,mxGraph);Graph[_0x8733[16]][_0x8733[57]]= null;Graph[_0x8733[16]][_0x8733[58]]= null;Graph[_0x8733[16]][_0x8733[21]]= function(){var _0xe1f1xc=mxUtils[_0x8733[61]](STYLE_PATH+ _0x8733[60])[_0x8733[59]]();var _0xe1f1xd= new mxCodec(_0xe1f1xc[_0x8733[62]]);_0xe1f1xd[_0x8733[64]](_0xe1f1xc,this[_0x8733[63]]())};Graph[_0x8733[16]][_0x8733[65]]= function(_0xe1f1xe){if(_0xe1f1xe!= null){var _0xe1f1x7=this[_0x8733[33]][_0x8733[32]](_0xe1f1xe);var _0xe1f1x8=(_0xe1f1x7!= null)?_0xe1f1x7[_0x8733[24]]:this[_0x8733[34]](_0xe1f1xe);if(_0xe1f1x8!= null){var _0xe1f1xf=mxUtils[_0x8733[66]](_0xe1f1x8,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL);var _0xe1f1x10=(_0xe1f1xf== mxConstants[_0x8733[67]])?mxConstants[_0x8733[68]]:mxConstants[_0x8733[67]];this[_0x8733[69]](mxConstants.STYLE_ELBOW,_0xe1f1x10,[_0xe1f1xe])}}};Graph[_0x8733[16]][_0x8733[70]]= function(_0xe1f1x6){if(_0xe1f1x6!= null&& this[_0x8733[72]]()[_0x8733[71]](_0xe1f1x6)){var _0xe1f1x11=this[_0x8733[72]]()[_0x8733[73]]([_0xe1f1x6])[0];if(_0xe1f1x11[_0x8733[74]]!= null){_0xe1f1x11[_0x8733[74]][_0x8733[75]]= null};var _0xe1f1x8=_0xe1f1x11[_0x8733[76]]();_0xe1f1x8= mxUtils[_0x8733[77]](_0xe1f1x8,mxConstants.STYLE_ENTRY_X,null);_0xe1f1x8= mxUtils[_0x8733[77]](_0xe1f1x8,mxConstants.STYLE_ENTRY_Y,null);_0xe1f1x8= mxUtils[_0x8733[77]](_0xe1f1x8,mxConstants.STYLE_EXIT_X,null);_0xe1f1x8= mxUtils[_0x8733[77]](_0xe1f1x8,mxConstants.STYLE_EXIT_Y,null);_0xe1f1x11[_0x8733[77]](_0xe1f1x8);this[_0x8733[11]][_0x8733[78]]= function(_0xe1f1xb){return this[_0x8733[46]][_0x8733[33]][_0x8733[79]](_0xe1f1x11)};this[_0x8733[11]][_0x8733[80]]= function(){return this[_0x8733[46]][_0x8733[73]]([_0xe1f1x11])[0]}}};Graph[_0x8733[16]][_0x8733[81]]= function(_0xe1f1x6){return this[_0x8733[82]]&& this[_0x8733[83]](_0xe1f1x6)};Graph[_0x8733[16]][_0x8733[84]]= function(_0xe1f1x6){return this[_0x8733[83]](_0xe1f1x6)};Graph[_0x8733[16]][_0x8733[85]]= function(){var _0xe1f1x12=mxGraph[_0x8733[16]][_0x8733[85]][_0x8733[15]](this,arguments);_0xe1f1x12[_0x8733[77]](_0x8733[86]);return _0xe1f1x12};Graph[_0x8733[16]][_0x8733[87]]= function(_0xe1f1x6){var _0xe1f1x13=_0x8733[88];if(this[_0x8733[72]]()[_0x8733[89]](_0xe1f1x6)){_0xe1f1x13+= mxResources[_0x8733[93]](_0x8733[90]+ _0xe1f1x6[_0x8733[92]][_0x8733[91]])|| _0x8733[88]}else {if(this[_0x8733[72]]()[_0x8733[71]](_0xe1f1x6)){_0xe1f1x13= mxGraph[_0x8733[16]][_0x8733[87]][_0x8733[15]](this,arguments)}};return _0xe1f1x13};Graph[_0x8733[16]][_0x8733[94]]= function(_0xe1f1x6){if(_0xe1f1x6[_0x8733[92]]!= null&& typeof (_0xe1f1x6[_0x8733[92]])== _0x8733[95]){return _0xe1f1x6[_0x8733[92]][_0x8733[97]](_0x8733[96])};return mxGraph[_0x8733[16]][_0x8733[94]][_0x8733[15]](this,arguments)};Graph[_0x8733[16]][_0x8733[98]]= function(_0xe1f1x6,_0xe1f1x10,_0xe1f1x14){if(_0xe1f1x6[_0x8733[92]]!= null&& typeof (_0xe1f1x6[_0x8733[92]])== _0x8733[95]){var _0xe1f1x15=_0xe1f1x6[_0x8733[92]][_0x8733[99]](true);_0xe1f1x15[_0x8733[100]](_0x8733[96],_0xe1f1x10);_0xe1f1x10= _0xe1f1x15};mxGraph[_0x8733[16]][_0x8733[98]][_0x8733[15]](this,arguments)};Graph[_0x8733[16]][_0x8733[101]]= function(_0xe1f1x6,_0xe1f1x16){var _0xe1f1x10=null;if(_0xe1f1x6[_0x8733[92]]!= null&& typeof (_0xe1f1x6[_0x8733[92]])== _0x8733[95]){_0xe1f1x10= _0xe1f1x6[_0x8733[92]][_0x8733[99]](true)}else {var _0xe1f1x17=mxUtils[_0x8733[102]]();_0xe1f1x10= _0xe1f1x17[_0x8733[104]](_0x8733[103]);_0xe1f1x10[_0x8733[100]](_0x8733[96],_0xe1f1x6[_0x8733[92]])};if(_0xe1f1x16!= null&& _0xe1f1x16[_0x8733[105]]> 0){_0xe1f1x10[_0x8733[100]](_0x8733[106],_0xe1f1x16)}else {_0xe1f1x10[_0x8733[107]](_0x8733[106])};this[_0x8733[109]][_0x8733[108]](_0xe1f1x6,_0xe1f1x10)};Graph[_0x8733[16]][_0x8733[110]]= function(_0xe1f1x6){if(_0xe1f1x6[_0x8733[92]]!= null&& typeof (_0xe1f1x6[_0x8733[92]])== _0x8733[95]){return _0xe1f1x6[_0x8733[92]][_0x8733[97]](_0x8733[106])};return null};Graph[_0x8733[16]][_0x8733[55]]= function(){this[_0x8733[11]][_0x8733[112]][_0x8733[111]]= function(){return this[_0x8733[46]][_0x8733[11]][_0x8733[113]]!= null};this[_0x8733[28]](mxEvent.START_EDITING,function(_0xe1f1x18,_0xe1f1x19){this[_0x8733[29]][_0x8733[114]]()});var _0xe1f1x1a=false;var _0xe1f1x1b=null;this[_0x8733[115]]= function(_0xe1f1xb){mxGraph[_0x8733[16]][_0x8733[115]][_0x8733[15]](this,arguments);if(_0xe1f1xb[_0x8733[32]]()== null){var _0xe1f1x6=this[_0x8733[118]](_0xe1f1xb[_0x8733[116]],_0xe1f1xb[_0x8733[117]]);if(this[_0x8733[72]]()[_0x8733[71]](_0xe1f1x6)){_0xe1f1xb[_0x8733[119]]= this[_0x8733[33]][_0x8733[32]](_0xe1f1x6);if(_0xe1f1xb[_0x8733[119]]!= null&& _0xe1f1xb[_0x8733[119]][_0x8733[120]]!= null){this[_0x8733[25]][_0x8733[24]][_0x8733[23]]= _0xe1f1xb[_0x8733[119]][_0x8733[120]][_0x8733[121]][_0x8733[24]][_0x8733[23]]}}};if(_0xe1f1xb[_0x8733[32]]()== null){this[_0x8733[25]][_0x8733[24]][_0x8733[23]]= _0x8733[30]}};this[_0x8733[122]]= function(_0xe1f1x1c,_0xe1f1xb,_0xe1f1x18){if(_0xe1f1x1c== mxEvent[_0x8733[123]]){if(!this[_0x8733[29]][_0x8733[124]]()){_0xe1f1x1b= _0xe1f1xb[_0x8733[125]]();_0xe1f1x1a= (_0xe1f1x1b!= null)?this[_0x8733[52]](_0xe1f1x1b):this[_0x8733[126]]()}else {_0xe1f1x1a= false;_0xe1f1x1b= null}}else {if(_0xe1f1x1c== mxEvent[_0x8733[127]]){if(_0xe1f1x1a&& !this[_0x8733[128]]()){if(!this[_0x8733[29]][_0x8733[124]]()){var _0xe1f1x1d=mxEvent[_0x8733[130]](_0xe1f1xb[_0x8733[129]]());var _0xe1f1x1e=mxEvent[_0x8733[131]](_0xe1f1xb[_0x8733[129]]());this[_0x8733[29]][_0x8733[132]](_0xe1f1x1d+ 16,_0xe1f1x1e,_0xe1f1x1b,_0xe1f1xb[_0x8733[129]]())};_0xe1f1x1a= false;_0xe1f1x1b= null;_0xe1f1xb[_0x8733[133]]();return};_0xe1f1x1a= false;_0xe1f1x1b= null}};mxGraph[_0x8733[16]][_0x8733[122]][_0x8733[15]](this,arguments);if(_0xe1f1x1c== mxEvent[_0x8733[134]]&& _0xe1f1xb[_0x8733[135]]()){_0xe1f1x1a= false;_0xe1f1x1b= null}}};(function(){mxVertexHandler[_0x8733[16]][_0x8733[136]]= true;mxText[_0x8733[16]][_0x8733[137]]= 5;mxText[_0x8733[16]][_0x8733[138]]= 1;if(touchStyle){mxConstants[_0x8733[139]]= 16;mxConstants[_0x8733[140]]= 7;if(mxClient[_0x8733[141]]){mxVertexHandler[_0x8733[16]][_0x8733[142]]= 4;mxEdgeHandler[_0x8733[16]][_0x8733[142]]= 6;Graph[_0x8733[16]][_0x8733[142]]= 14;Graph[_0x8733[16]][_0x8733[143]]= 20;mxPanningHandler[_0x8733[16]][_0x8733[144]]= false;mxPanningHandler[_0x8733[16]][_0x8733[145]]= true;mxPanningHandler[_0x8733[16]][_0x8733[146]]= function(_0xe1f1xb){var _0xe1f1x19=_0xe1f1xb[_0x8733[129]]();return (this[_0x8733[145]]&& (this[_0x8733[147]]|| _0xe1f1xb[_0x8733[32]]()== null))|| (mxEvent[_0x8733[148]](_0xe1f1x19)&& mxEvent[_0x8733[149]](_0xe1f1x19))|| (this[_0x8733[150]]&& mxEvent[_0x8733[151]](_0xe1f1x19))}};var _0xe1f1x1f=mxGraphHandler[_0x8733[16]][_0x8733[152]];mxGraphHandler[_0x8733[16]][_0x8733[152]]= function(_0xe1f1x18,_0xe1f1xb){_0xe1f1x1f[_0x8733[15]](this,arguments);if(this[_0x8733[46]][_0x8733[52]](_0xe1f1xb[_0x8733[125]]())&& this[_0x8733[46]][_0x8733[53]]()> 1){this[_0x8733[153]]= false}};Graph[_0x8733[16]][_0x8733[154]]= function(_0xe1f1x1){this[_0x8733[155]]= new mxTooltipHandler(this);this[_0x8733[155]][_0x8733[156]](false);this[_0x8733[157]]= new mxSelectionCellsHandler(this);this[_0x8733[29]]= new mxPanningHandler(this);this[_0x8733[29]][_0x8733[158]]= false;this[_0x8733[11]]= new mxConnectionHandler(this);this[_0x8733[11]][_0x8733[156]](false);this[_0x8733[159]]= new mxGraphHandler(this)};mxConnectionHandler[_0x8733[16]][_0x8733[160]]= function(_0xe1f1xe,_0xe1f1x20){if(touchStyle&& _0xe1f1x20!= null){this[_0x8733[46]][_0x8733[161]](_0xe1f1x20)}else {this[_0x8733[46]][_0x8733[161]](_0xe1f1xe)}};var _0xe1f1x21=mxGraph[_0x8733[16]][_0x8733[162]];Graph[_0x8733[16]][_0x8733[162]]= function(_0xe1f1x19,_0xe1f1x6){if(_0xe1f1x6== null){var _0xe1f1x22=mxUtils[_0x8733[163]](this[_0x8733[25]],mxEvent[_0x8733[130]](_0xe1f1x19),mxEvent[_0x8733[131]](_0xe1f1x19));_0xe1f1x6= this[_0x8733[118]](_0xe1f1x22[_0x8733[164]],_0xe1f1x22[_0x8733[165]])};_0xe1f1x21[_0x8733[0]](this,_0xe1f1x19,_0xe1f1x6)};var _0xe1f1x23= new mxImage(IMAGE_PATH+ _0x8733[166],16,16);mxVertexHandler[_0x8733[16]][_0x8733[167]]= _0xe1f1x23;mxEdgeHandler[_0x8733[16]][_0x8733[167]]= _0xe1f1x23;mxOutline[_0x8733[16]][_0x8733[168]]= _0xe1f1x23; new Image()[_0x8733[169]]= _0xe1f1x23[_0x8733[169]];var _0xe1f1x24=IMAGE_PATH+ _0x8733[170];var _0xe1f1x25=mxVertexHandler[_0x8733[16]][_0x8733[171]];mxVertexHandler[_0x8733[16]][_0x8733[171]]= function(){_0xe1f1x25[_0x8733[15]](this,arguments);if(showConnectorImg&& this[_0x8733[46]][_0x8733[11]][_0x8733[111]]()&& this[_0x8733[46]][_0x8733[172]](this[_0x8733[119]][_0x8733[51]])&& !this[_0x8733[46]][_0x8733[84]](this[_0x8733[119]][_0x8733[51]])&& this[_0x8733[46]][_0x8733[53]]()== 1){this[_0x8733[173]]= mxUtils[_0x8733[174]](_0xe1f1x24);this[_0x8733[173]][_0x8733[24]][_0x8733[23]]= _0x8733[26];this[_0x8733[173]][_0x8733[24]][_0x8733[175]]= _0x8733[176];this[_0x8733[173]][_0x8733[24]][_0x8733[177]]= _0x8733[176];this[_0x8733[173]][_0x8733[24]][_0x8733[178]]= _0x8733[179];if(!mxClient[_0x8733[141]]){this[_0x8733[173]][_0x8733[100]](_0x8733[180],mxResources[_0x8733[93]](_0x8733[17]));mxEvent[_0x8733[181]](this[_0x8733[173]],this[_0x8733[46]],this[_0x8733[119]])};this[_0x8733[173]][_0x8733[24]][_0x8733[182]]= _0x8733[183];mxEvent[_0x8733[185]](this[_0x8733[173]],mxUtils[_0x8733[27]](this,function(_0xe1f1x19){this[_0x8733[46]][_0x8733[29]][_0x8733[114]]();var _0xe1f1x22=mxUtils[_0x8733[163]](this[_0x8733[46]][_0x8733[25]],mxEvent[_0x8733[130]](_0xe1f1x19),mxEvent[_0x8733[131]](_0xe1f1x19));this[_0x8733[46]][_0x8733[11]][_0x8733[49]](this[_0x8733[119]],_0xe1f1x22[_0x8733[164]],_0xe1f1x22[_0x8733[165]]);this[_0x8733[46]][_0x8733[184]]= true;mxEvent[_0x8733[133]](_0xe1f1x19)}));this[_0x8733[46]][_0x8733[25]][_0x8733[186]](this[_0x8733[173]])};this[_0x8733[187]]()};var _0xe1f1x26=mxVertexHandler[_0x8733[16]][_0x8733[188]];mxVertexHandler[_0x8733[16]][_0x8733[188]]= function(){_0xe1f1x26[_0x8733[15]](this);this[_0x8733[187]]()};mxVertexHandler[_0x8733[16]][_0x8733[187]]= function(){if(this[_0x8733[119]]!= null&& this[_0x8733[173]]!= null){if(mxVertexHandler[_0x8733[16]][_0x8733[189]]){this[_0x8733[173]][_0x8733[24]][_0x8733[190]]= (this[_0x8733[119]][_0x8733[164]]+ this[_0x8733[119]][_0x8733[175]]- this[_0x8733[173]][_0x8733[191]]/ 2)+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[193]]= (this[_0x8733[119]][_0x8733[165]]- this[_0x8733[173]][_0x8733[194]]/ 2)+ _0x8733[192]}else {this[_0x8733[173]][_0x8733[24]][_0x8733[190]]= (this[_0x8733[119]][_0x8733[164]]+ this[_0x8733[119]][_0x8733[175]]+ mxConstants[_0x8733[139]]/ 2+ 4)+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[193]]= (this[_0x8733[119]][_0x8733[165]]+ (this[_0x8733[119]][_0x8733[177]]- this[_0x8733[173]][_0x8733[194]])/ 2)+ _0x8733[192]}}};var _0xe1f1x27=mxVertexHandler[_0x8733[16]][_0x8733[195]];mxVertexHandler[_0x8733[16]][_0x8733[195]]= function(_0xe1f1x18,_0xe1f1xb){_0xe1f1x27[_0x8733[15]](this,arguments);if(this[_0x8733[173]]!= null){this[_0x8733[173]][_0x8733[197]][_0x8733[196]](this[_0x8733[173]]);this[_0x8733[173]]= null}}; new Image()[_0x8733[169]]= _0xe1f1x24}else {var _0xe1f1x28= new mxImage(IMAGE_PATH+ _0x8733[198],15,15);mxConnectionHandler[_0x8733[16]][_0x8733[199]]= _0xe1f1x28; new Image()[_0x8733[169]]= _0xe1f1x28[_0x8733[169]];if(urlParams[_0x8733[17]]== _0x8733[18]){var _0xe1f1x28= new mxImage(IMAGE_PATH+ _0x8733[198],15,15);var _0xe1f1x25=mxVertexHandler[_0x8733[16]][_0x8733[171]];mxVertexHandler[_0x8733[16]][_0x8733[171]]= function(){_0xe1f1x25[_0x8733[15]](this,arguments);if(showConnectorImg&& this[_0x8733[46]][_0x8733[11]][_0x8733[111]]()&& this[_0x8733[46]][_0x8733[172]](this[_0x8733[119]][_0x8733[51]])&& !this[_0x8733[46]][_0x8733[84]](this[_0x8733[119]][_0x8733[51]])&& this[_0x8733[46]][_0x8733[53]]()== 1){if(mxClient[_0x8733[200]]&& !mxClient[_0x8733[201]]){this[_0x8733[173]]= document[_0x8733[104]](_0x8733[202]);this[_0x8733[173]][_0x8733[24]][_0x8733[203]]= _0x8733[204]+ _0xe1f1x28[_0x8733[169]]+ _0x8733[205];this[_0x8733[173]][_0x8733[24]][_0x8733[206]]= _0x8733[207];this[_0x8733[173]][_0x8733[24]][_0x8733[208]]= _0x8733[209];this[_0x8733[173]][_0x8733[24]][_0x8733[175]]= (_0xe1f1x28[_0x8733[175]]+ 4)+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[177]]= (_0xe1f1x28[_0x8733[177]]+ 4)+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[210]]= (mxClient[_0x8733[211]])?_0x8733[212]:_0x8733[213]}else {this[_0x8733[173]]= mxUtils[_0x8733[174]](_0xe1f1x28[_0x8733[169]]);this[_0x8733[173]][_0x8733[24]][_0x8733[175]]= _0xe1f1x28[_0x8733[175]]+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[177]]= _0xe1f1x28[_0x8733[177]]+ _0x8733[192]};this[_0x8733[173]][_0x8733[24]][_0x8733[23]]= _0x8733[26];this[_0x8733[173]][_0x8733[24]][_0x8733[178]]= _0x8733[179];this[_0x8733[173]][_0x8733[100]](_0x8733[180],mxResources[_0x8733[93]](_0x8733[17]));mxEvent[_0x8733[181]](this[_0x8733[173]],this[_0x8733[46]],this[_0x8733[119]]);this[_0x8733[173]][_0x8733[24]][_0x8733[182]]= _0x8733[183];mxEvent[_0x8733[28]](this[_0x8733[173]],_0x8733[214],mxUtils[_0x8733[27]](this,function(_0xe1f1x19){this[_0x8733[46]][_0x8733[29]][_0x8733[114]]();var _0xe1f1x22=mxUtils[_0x8733[163]](this[_0x8733[46]][_0x8733[25]],mxEvent[_0x8733[130]](_0xe1f1x19),mxEvent[_0x8733[131]](_0xe1f1x19));this[_0x8733[46]][_0x8733[11]][_0x8733[49]](this[_0x8733[119]],_0xe1f1x22[_0x8733[164]],_0xe1f1x22[_0x8733[165]]);this[_0x8733[46]][_0x8733[184]]= true;mxEvent[_0x8733[133]](_0xe1f1x19)}));this[_0x8733[46]][_0x8733[25]][_0x8733[186]](this[_0x8733[173]])};this[_0x8733[187]]()};var _0xe1f1x26=mxVertexHandler[_0x8733[16]][_0x8733[188]];mxVertexHandler[_0x8733[16]][_0x8733[188]]= function(){_0xe1f1x26[_0x8733[15]](this);this[_0x8733[187]]()};mxVertexHandler[_0x8733[16]][_0x8733[187]]= function(){if(this[_0x8733[119]]!= null&& this[_0x8733[173]]!= null){if(mxVertexHandler[_0x8733[16]][_0x8733[189]]){this[_0x8733[173]][_0x8733[24]][_0x8733[190]]= (this[_0x8733[119]][_0x8733[164]]+ this[_0x8733[119]][_0x8733[175]]- this[_0x8733[173]][_0x8733[191]]/ 2)+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[193]]= (this[_0x8733[119]][_0x8733[165]]- this[_0x8733[173]][_0x8733[194]]/ 2)+ _0x8733[192]}else {this[_0x8733[173]][_0x8733[24]][_0x8733[190]]= (this[_0x8733[119]][_0x8733[164]]+ this[_0x8733[119]][_0x8733[175]]+ mxConstants[_0x8733[139]]/ 2+ 2)+ _0x8733[192];this[_0x8733[173]][_0x8733[24]][_0x8733[193]]= (this[_0x8733[119]][_0x8733[165]]+ (this[_0x8733[119]][_0x8733[177]]- this[_0x8733[173]][_0x8733[194]])/ 2)+ _0x8733[192]}}};var _0xe1f1x27=mxVertexHandler[_0x8733[16]][_0x8733[195]];mxVertexHandler[_0x8733[16]][_0x8733[195]]= function(_0xe1f1x18,_0xe1f1xb){_0xe1f1x27[_0x8733[15]](this,arguments);if(this[_0x8733[173]]!= null){this[_0x8733[173]][_0x8733[197]][_0x8733[196]](this[_0x8733[173]]);this[_0x8733[173]]= null}}}}})()
\ No newline at end of file
-/**
- * $Id: Menus.js,v 1.13 2013-02-20 16:21:29 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Constructs a new graph editor
- */
-Menus = function(editorUi) {
- this.editorUi = editorUi;
- this.menus = new Object();
- this.init();
-
- // Pre-fetches checkmark image
- new Image().src = IMAGE_PATH + '/checkmark.gif';
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.init = function() {
- var graph = this.editorUi.editor.graph;
-
- this.put('fontFamily', new Menu(mxUtils.bind(this, function(menu, parent) {
- var fonts = ['Helvetica', 'Verdana', 'Times New Roman', 'Garamond',
- 'Comic Sans MS',
- 'Courier New', 'Georgia', 'Lucida Console', 'Tahoma'
- ];
-
- for (var i = 0; i < fonts.length; i++) {
- var tr = this.styleChange(menu, fonts[i], [mxConstants.STYLE_FONTFAMILY], [
- fonts[i]
- ], null, parent);
- tr.firstChild.nextSibling.style.fontFamily = fonts[i];
- }
-
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('custom'), '', mxConstants.DEFAULT_FONTFAMILY,
- mxConstants.STYLE_FONTFAMILY, parent);
- })));
- this.put('fontSize', new Menu(mxUtils.bind(this, function(menu, parent) {
- var sizes = [6, 8, 9, 10, 11, 12, 14, 18, 24, 36, 48, 72];
-
- for (var i = 0; i < sizes.length; i++) {
- this.styleChange(menu, sizes[i], [mxConstants.STYLE_FONTSIZE], [sizes[i]],
- null, parent);
- }
-
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('custom'), '(pt)', '12',
- mxConstants.STYLE_FONTSIZE, parent);
- })));
- this.put('linewidth', new Menu(mxUtils.bind(this, function(menu, parent) {
- var sizes = [1, 2, 3, 4, 8, 12, 16, 24];
-
- for (var i = 0; i < sizes.length; i++) {
- this.styleChange(menu, sizes[i] + 'px', [mxConstants.STYLE_STROKEWIDTH], [
- sizes[i]
- ], null, parent);
- }
-
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('custom'), '(px)', '1',
- mxConstants.STYLE_STROKEWIDTH, parent);
- })));
- this.put('line', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('straight'), [mxConstants.STYLE_EDGE], [
- null
- ], null, parent);
- this.styleChange(menu, mxResources.get('entityRelation'), [mxConstants.STYLE_EDGE], [
- 'entityRelationEdgeStyle'
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('horizontal'), [mxConstants.STYLE_EDGE,
- mxConstants.STYLE_ELBOW
- ], ['elbowEdgeStyle', 'horizontal'], null, parent);
- this.styleChange(menu, mxResources.get('vertical'), [mxConstants.STYLE_EDGE,
- mxConstants.STYLE_ELBOW
- ], ['elbowEdgeStyle', 'vertical'], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('manual'), [mxConstants.STYLE_EDGE], [
- 'segmentEdgeStyle'
- ], null, parent);
- this.styleChange(menu, mxResources.get('automatic'), [mxConstants.STYLE_EDGE], [
- 'orthogonalEdgeStyle'
- ], null, parent);
- })));
- this.put('lineend', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('classic'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_CLASSIC
- ], null, parent);
- this.styleChange(menu, mxResources.get('openArrow'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_OPEN
- ], null, parent);
- this.styleChange(menu, mxResources.get('block'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_BLOCK
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('oval'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_OVAL
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamond'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_DIAMOND
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamondThin'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.ARROW_DIAMOND_THIN
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('none'), [mxConstants.STYLE_ENDARROW], [
- mxConstants.NONE
- ], null, parent);
- menu.addSeparator(parent);
- menu.addItem(mxResources.get('transparent'), null, function() {
- graph.toggleCellStyles('endFill', true);
- }, parent, null, true);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('size'), '(px)', mxConstants.DEFAULT_MARKERSIZE,
- mxConstants.STYLE_ENDSIZE, parent);
- })));
- this.put('linestart', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('classic'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_CLASSIC
- ], null, parent);
- this.styleChange(menu, mxResources.get('openArrow'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_OPEN
- ], null, parent);
- this.styleChange(menu, mxResources.get('block'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_BLOCK
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('oval'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_OVAL
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamond'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_DIAMOND
- ], null, parent);
- this.styleChange(menu, mxResources.get('diamondThin'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.ARROW_DIAMOND_THIN
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('none'), [mxConstants.STYLE_STARTARROW], [
- mxConstants.NONE
- ], null, parent);
- menu.addSeparator(parent);
- menu.addItem(mxResources.get('transparent'), null, function() {
- graph.toggleCellStyles('startFill', true);
- }, parent, null, true);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('size'), '(px)', mxConstants.DEFAULT_MARKERSIZE,
- mxConstants.STYLE_STARTSIZE, parent);
- })));
- this.put('spacing', new Menu(mxUtils.bind(this, function(menu, parent) {
- // Uses shadow action and line menu to analyze selection
- var vertexSelected = this.editorUi.actions.get('shadow').enabled;
- var edgeSelected = this.get('line').enabled;
-
- if (vertexSelected || menu.showDisabled) {
- this.promptChange(menu, mxResources.get('top'), '(px)', '0',
- mxConstants.STYLE_SPACING_TOP, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('right'), '(px)', '0',
- mxConstants.STYLE_SPACING_RIGHT, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('bottom'), '(px)', '0',
- mxConstants.STYLE_SPACING_BOTTOM, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('left'), '(px)', '0',
- mxConstants.STYLE_SPACING_LEFT, parent, vertexSelected);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('global'), '(px)', '0',
- mxConstants.STYLE_SPACING, parent, vertexSelected);
- this.promptChange(menu, mxResources.get('perimeter'), '(px)', '0',
- mxConstants.STYLE_PERIMETER_SPACING, parent, vertexSelected);
- }
-
- if (edgeSelected || menu.showDisabled) {
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('sourceSpacing'), '(px)', '0',
- mxConstants.STYLE_SOURCE_PERIMETER_SPACING, parent, edgeSelected);
- this.promptChange(menu, mxResources.get('targetSpacing'), '(px)', '0',
- mxConstants.STYLE_TARGET_PERIMETER_SPACING, parent, edgeSelected);
- }
- })));
- this.put('format', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItem(menu, 'style', parent);
- })));
- this.put('text', new Menu(mxUtils.bind(this, function(menu, parent) {
- var enabled = this.get('text').enabled;
- menu.addSeparator(parent);
- this.addSubmenu('fontFamily', menu, parent);
- this.addSubmenu('fontSize', menu, parent);
- this.addMenuItems(menu, ['-', 'bold', 'italic', 'underline', '-'],
- parent);
- this.addSubmenu('alignment', menu, parent);
- this.addMenuItem(menu, 'wordWrap', parent);
- menu.addSeparator(parent);
- this.promptChange(menu, mxResources.get('textOpacity'), '(%)', '100',
- mxConstants.STYLE_TEXT_OPACITY, parent, enabled);
- menu.addItem(mxResources.get('hide'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_NOLABEL, false);
- }, parent, null, enabled);
- })));
- this.put('alignment', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('leftAlign'), [mxConstants.STYLE_ALIGN], [
- mxConstants.ALIGN_LEFT
- ], null, parent);
- this.styleChange(menu, mxResources.get('center'), [mxConstants.STYLE_ALIGN], [
- mxConstants.ALIGN_CENTER
- ], null, parent);
- this.styleChange(menu, mxResources.get('rightAlign'), [mxConstants.STYLE_ALIGN], [
- mxConstants.ALIGN_RIGHT
- ], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('topAlign'), [mxConstants.STYLE_VERTICAL_ALIGN], [
- mxConstants.ALIGN_TOP
- ], null, parent);
- this.styleChange(menu, mxResources.get('middle'), [mxConstants.STYLE_VERTICAL_ALIGN], [
- mxConstants.ALIGN_MIDDLE
- ], null, parent);
- this.styleChange(menu, mxResources.get('bottomAlign'), [mxConstants.STYLE_VERTICAL_ALIGN], [
- mxConstants.ALIGN_BOTTOM
- ], null, parent);
- menu.addSeparator(parent);
- this.addSubmenu('position', menu, parent);
- this.addSubmenu('spacing', menu, parent);
- menu.addSeparator(parent);
- var enabled = this.get('text').enabled;
- menu.addItem(mxResources.get('vertical'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_HORIZONTAL, true);
- }, parent, null, enabled);
- })));
- this.put('position', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.styleChange(menu, mxResources.get('left'), [mxConstants.STYLE_LABEL_POSITION,
- mxConstants.STYLE_ALIGN
- ], [mxConstants.ALIGN_LEFT, mxConstants.ALIGN_RIGHT], null, parent);
- this.styleChange(menu, mxResources.get('center'), [mxConstants.STYLE_LABEL_POSITION,
- mxConstants.STYLE_ALIGN
- ], [mxConstants.ALIGN_CENTER, mxConstants.ALIGN_CENTER], null, parent);
- this.styleChange(menu, mxResources.get('right'), [mxConstants.STYLE_LABEL_POSITION,
- mxConstants.STYLE_ALIGN
- ], [mxConstants.ALIGN_RIGHT, mxConstants.ALIGN_LEFT], null, parent);
- menu.addSeparator(parent);
- this.styleChange(menu, mxResources.get('top'), [mxConstants.STYLE_VERTICAL_LABEL_POSITION,
- mxConstants.STYLE_VERTICAL_ALIGN
- ], [mxConstants.ALIGN_TOP, mxConstants.ALIGN_BOTTOM], null, parent);
- this.styleChange(menu, mxResources.get('middle'), [mxConstants.STYLE_VERTICAL_LABEL_POSITION,
- mxConstants.STYLE_VERTICAL_ALIGN
- ], [mxConstants.ALIGN_MIDDLE, mxConstants.ALIGN_MIDDLE], null, parent);
- this.styleChange(menu, mxResources.get('bottom'), [mxConstants.STYLE_VERTICAL_LABEL_POSITION,
- mxConstants.STYLE_VERTICAL_ALIGN
- ], [mxConstants.ALIGN_BOTTOM, mxConstants.ALIGN_TOP], null, parent);
- })));
- this.put('direction', new Menu(mxUtils.bind(this, function(menu, parent) {
- menu.addItem(mxResources.get('flipH'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_FLIPH, false);
- }, parent);
- menu.addItem(mxResources.get('flipV'), null, function() {
- graph.toggleCellStyles(mxConstants.STYLE_FLIPV, false);
- }, parent);
- this.addMenuItems(menu, ['-', 'tilt', 'rotation'], parent);
- })));
- this.put('align', new Menu(mxUtils.bind(this, function(menu, parent) {
- menu.addItem(mxResources.get('leftAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_LEFT);
- }, parent);
- menu.addItem(mxResources.get('center'), null, function() {
- graph.alignCells(mxConstants.ALIGN_CENTER);
- }, parent);
- menu.addItem(mxResources.get('rightAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_RIGHT);
- }, parent);
- menu.addSeparator(parent);
- menu.addItem(mxResources.get('topAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_TOP);
- }, parent);
- menu.addItem(mxResources.get('middle'), null, function() {
- graph.alignCells(mxConstants.ALIGN_MIDDLE);
- }, parent);
- menu.addItem(mxResources.get('bottomAlign'), null, function() {
- graph.alignCells(mxConstants.ALIGN_BOTTOM);
- }, parent);
- })));
- this.put('layout', new Menu(mxUtils.bind(this, function(menu, parent) {
- // menu.addItem(mxResources.get('horizontalTree'), null, mxUtils.bind(this, function()
- // {
- // if (!graph.isSelectionEmpty())
- // {
- // var layout = new mxCompactTreeLayout(graph, true);
- // layout.edgeRouting = false;
- // layout.levelDistance = 30;
- // this.editorUi.executeLayout(layout, true, true);
- // }
- // }), parent);
- // menu.addItem(mxResources.get('verticalTree'), null, mxUtils.bind(this, function()
- // {
- // if (!graph.isSelectionEmpty())
- // {
- // var layout = new mxCompactTreeLayout(graph, false);
- // layout.edgeRouting = false;
- // layout.levelDistance = 30;
- // this.editorUi.executeLayout(layout, true, true);
- // }
- // }), parent);
- // menu.addSeparator(parent);
- menu.addItem(mxResources.get('horizontalFlow'), null, mxUtils.bind(this,
- function() {
- var layout = new mxHierarchicalLayout(graph, mxConstants.DIRECTION_WEST);
- this.editorUi.executeLayout(layout, true, true);
- }), parent);
- menu.addItem(mxResources.get('verticalFlow'), null, mxUtils.bind(this,
- function() {
- var layout = new mxHierarchicalLayout(graph, mxConstants.DIRECTION_NORTH);
- this.editorUi.executeLayout(layout, true, true);
- }), parent);
- //menu.addSeparator(parent);
- // menu.addItem(mxResources.get('organic'), null, mxUtils.bind(this, function()
- // {
- // var layout = new mxFastOrganicLayout(graph);
- // this.editorUi.executeLayout(layout, true, true);
- // }), parent);
- // menu.addItem(mxResources.get('circle'), null, mxUtils.bind(this, function()
- // {
- // var layout = new mxCircleLayout(graph);
- // this.editorUi.executeLayout(layout, true, true, graph.getSelectionCells());
- // }), parent);
- })));
- this.put('navigation', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['home', '-', 'exitGroup', 'enterGroup', '-',
- 'expand', 'collapse'
- ], parent);
- })));
- this.put('arrange', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['toFront', 'toBack', '-'], parent);
- //this.addSubmenu('direction', menu, parent);
- this.addSubmenu('layout', menu, parent);
- //this.addSubmenu('align', menu, parent);
- menu.addSeparator(parent);
- //this.addSubmenu('navigation', menu, parent);
- this.addMenuItems(menu, ['-', 'group', 'ungroup', 'removeFromGroup'],
- parent);
- //this.addMenuItems(menu, ['-', 'group', 'ungroup', 'removeFromGroup', '-', 'autosize'], parent);
- })));
- this.put('view', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['actualSize'], parent);
- menu.addSeparator();
- var scales = [0.25, 0.5, 0.75, 1, 2, 4];
-
- for (var i = 0; i < scales.length; i++) {
- (function(scale) {
- menu.addItem((scale * 100) + '%', null, function() {
- graph.zoomTo(scale);
- }, parent);
- })(scales[i]);
- }
-
- this.addMenuItems(menu, ['-', 'zoomIn', 'zoomOut', '-', 'fitWindow',
- 'customZoom', '-', 'fitPage', 'fitPageWidth'
- ], parent);
- })));
- this.put('file', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['new', 'open', '-', 'save', 'saveAs', 'publish',
- '-', 'variable', '-', 'import', 'export', '-', 'editFile', 'description', '-',
- 'print'
- ], parent);
- })));
- this.put('edit', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['undo', 'redo', '-', 'cut', 'copy', 'paste',
- 'delete', '-', 'duplicate', '-',
- 'selectVertices', 'selectEdges', 'selectAll'
- ]);
- })));
- this.put('help', new Menu(mxUtils.bind(this, function(menu, parent) {
- this.addMenuItems(menu, ['help', '-', 'about']);
- })));
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.put = function(name, menu) {
- this.menus[name] = menu;
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.get = function(name) {
- return this.menus[name];
-};
-
-/**
- * Adds the given submenu.
- */
-Menus.prototype.addSubmenu = function(name, menu, parent) {
- var enabled = this.get(name).enabled;
-
- if (menu.showDisabled || enabled) {
- var submenu = menu.addItem(mxResources.get(name), null, null, parent, null,
- enabled);
- this.addMenu(name, menu, submenu);
- }
-};
-
-/**
- * Adds the label menu items to the given menu and parent.
- */
-Menus.prototype.addMenu = function(name, popupMenu, parent) {
- var menu = this.get(name);
-
- if (menu != null && (popupMenu.showDisabled || menu.enabled)) {
- this.get(name).execute(popupMenu, parent);
- }
-};
-
-/**
- * Adds a style change item to the given menu.
- */
-Menus.prototype.styleChange = function(menu, label, keys, values, sprite,
- parent) {
- return menu.addItem(label, null, mxUtils.bind(this, function() {
- var graph = this.editorUi.editor.graph;
-
- graph.getModel().beginUpdate();
- try {
- for (var i = 0; i < keys.length; i++) {
- graph.setCellStyles(keys[i], values[i]);
- }
- } finally {
- graph.getModel().endUpdate();
- }
- }), parent, sprite);
-};
-
-/**
- * Adds a style change item with a prompt to the given menu.
- */
-Menus.prototype.promptChange = function(menu, label, hint, defaultValue, key,
- parent, enabled) {
- return menu.addItem(label, null, mxUtils.bind(this, function() {
- var graph = this.editorUi.editor.graph;
- var value = defaultValue;
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null) {
- value = state.style[key] || value;
- }
-
- value = mxUtils.prompt(mxResources.get('enterValue') + ((hint.length > 0) ?
- (' ' + hint) : ''), value);
-
- if (value != null && value.length > 0) {
- graph.setCellStyles(key, value);
- }
- }), parent, null, enabled);
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.addMenuItem = function(menu, key, parent) {
- var action = this.editorUi.actions.get(key);
-
- if (action != null && (menu.showDisabled || action.enabled)) {
- var item = menu.addItem(action.label, null, action.funct, parent, null,
- action.enabled);
-
- // Adds checkmark image
- if (action.toggleAction && action.isSelected()) {
- this.addCheckmark(item);
- }
-
- this.addShortcut(item, action);
-
- return item;
- }
-
- return null;
-};
-
-/**
- * Adds a checkmark to the given menuitem.
- */
-Menus.prototype.addShortcut = function(item, action) {
- if (action.shortcut != null) {
- var td = item.firstChild.nextSibling.nextSibling;
- var span = document.createElement('span');
- span.style.color = 'gray';
- mxUtils.write(span, action.shortcut);
- td.appendChild(span);
- }
-};
-
-/**
- * Adds a checkmark to the given menuitem.
- */
-Menus.prototype.addCheckmark = function(item) {
- var td = item.firstChild.nextSibling;
- td.style.backgroundImage = 'url(' + IMAGE_PATH + '/checkmark.gif)';
- td.style.backgroundRepeat = 'no-repeat';
- td.style.backgroundPosition = '2px 50%';
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.addMenuItems = function(menu, keys, parent) {
- for (var i = 0; i < keys.length; i++) {
- if (keys[i] == '-') {
- menu.addSeparator(parent);
- } else {
- this.addMenuItem(menu, keys[i], parent);
- }
- }
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.createPopupMenu = function(menu, cell, evt) {
- var graph = this.editorUi.editor.graph;
- menu.smartSeparators = true;
-
- if (graph.isSelectionEmpty()) {
- this.addMenuItems(menu, ['undo', 'redo', '-', 'paste', '-']);
- } else {
- this.addMenuItems(menu, ['delete', '-', 'cut', 'copy', '-', 'duplicate']);
-
- if (graph.getSelectionCount() == 1 && graph.getModel().isEdge(graph.getSelectionCell())) {
- this.addMenuItems(menu, ['setAsDefaultEdge']);
- }
-
- menu.addSeparator();
- }
-
- if (graph.getSelectionCount() > 0) {
- this.addMenuItems(menu, ['toFront', 'toBack', '-']);
-
- if (graph.getModel().isEdge(graph.getSelectionCell())) {
- var isWaypoint = false;
- var cell = graph.getSelectionCell();
-
- if (cell != null && graph.getModel().isEdge(cell)) {
- var handler = graph.selectionCellsHandler.getHandler(cell);
-
- if (handler instanceof mxEdgeHandler && handler.bends != null && handler.bends
- .length > 2) {
- var index = handler.getHandleForEvent(new mxMouseEvent(evt));
-
- // Configures removeWaypoint action before execution
- var rmWaypointAction = this.editorUi.actions.get('removeWaypoint');
- rmWaypointAction.handler = handler;
- rmWaypointAction.index = index;
-
- isWaypoint = index > 0 && index < handler.bends.length;
- }
- }
-
- this.addMenuItems(menu, ['-', (isWaypoint) ? 'removeWaypoint' :
- 'addWaypoint'
- ]);
- } else if (graph.getSelectionCount() > 1) {
- menu.addSeparator();
- this.addMenuItems(menu, ['group']);
- }
-
- menu.addSeparator();
-
- if (graph.getSelectionCount() == 1) {
- var link = graph.getLinkForCell(graph.getSelectionCell());
-
- if (link != null) {
- this.addMenuItems(menu, ['openLink']);
- }
- }
- } else {
- this.addMenuItems(menu, ['-', 'selectVertices', 'selectEdges', '-',
- 'selectAll'
- ]);
- }
-};
-
-/**
- * Creates the keyboard event handler for the current graph and history.
- */
-Menus.prototype.createMenubar = function(container) {
- var menubar = new Menubar(this.editorUi, container);
- var menus = ['file', 'edit', 'view', 'format', 'text', 'arrange',
- 'help'
- ];
-
- for (var i = 0; i < menus.length; i++) {
- menubar.addMenu(mxResources.get(menus[i]), this.get(menus[i]).funct);
- }
-
- return menubar;
-};
-
-/**
- * Construcs a new menubar for the given editor.
- */
-function Menubar(editorUi, container) {
- this.editorUi = editorUi;
- this.container = container;
-
- // Global handler to hide the current menu
- mxEvent.addGestureListeners(document, mxUtils.bind(this, function(evt) {
- this.hideMenu();
- }));
-};
-
-/**
- * Adds the menubar elements.
- */
-Menubar.prototype.hideMenu = function() {
- if (this.currentMenu != null) {
- this.currentMenu.hideMenu();
- }
-};
-
-/**
- * Adds a submenu to this menubar.
- */
-Menubar.prototype.addMenu = function(label, funct) {
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geItem';
- mxUtils.write(elt, label);
-
- this.addMenuHandler(elt, funct);
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Adds a handler for showing a menu in the given element.
- */
-Menubar.prototype.addMenuHandler = function(elt, funct) {
- if (funct != null) {
- var show = true;
-
- var clickHandler = mxUtils.bind(this, function(evt) {
- if (show && elt.enabled == null || elt.enabled) {
- this.editorUi.editor.graph.panningHandler.hideMenu();
- var menu = new mxPopupMenu(funct);
- menu.div.className += ' geMenubarMenu';
- menu.smartSeparators = true;
- menu.showDisabled = true;
- menu.autoExpand = true;
-
- // Disables autoexpand and destroys menu when hidden
- menu.hideMenu = mxUtils.bind(this, function() {
- mxPopupMenu.prototype.hideMenu.apply(menu, arguments);
- menu.destroy();
- this.currentMenu = null;
- this.currentElt = null;
- });
-
- // Added width of the page-sidebar
- var x = elt.offsetLeft + document.getElementById('page-sidebar').offsetWidth +
- 22;
- // Added static height of the page-navbar
- var y = elt.offsetTop + elt.offsetHeight + 140;
-
- menu.popup(x, y, null, evt);
-
- //menu.popup(elt.offsetLeft + 4, elt.offsetTop + elt.offsetHeight + 4, null, evt);
- this.currentMenu = menu;
- this.currentElt = elt;
- }
-
- show = true;
- mxEvent.consume(evt);
- });
-
- // Shows menu automatically while in expanded state
- mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
- if (this.currentMenu != null && this.currentElt != elt) {
- this.hideMenu();
- clickHandler(evt);
- }
- }));
-
- // Hides menu if already showing
- mxEvent.addListener(elt, 'mousedown', mxUtils.bind(this, function() {
- show = this.currentElt != elt;
- }));
-
- mxEvent.addListener(elt, 'click', clickHandler);
- }
-};
-
-/**
- * Constructs a new action for the given parameters.
- */
-function Menu(funct, enabled) {
- mxEventSource.call(this);
- this.funct = funct;
- this.enabled = (enabled != null) ? enabled : true;
-};
-
-// Menu inherits from mxEventSource
-mxUtils.extend(Menu, mxEventSource);
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Menu.prototype.setEnabled = function(value) {
- if (this.enabled != value) {
- this.enabled = value;
- this.fireEvent(new mxEventObject('stateChanged'));
- }
-};
-
-/**
- * Sets the enabled state of the action and fires a stateChanged event.
- */
-Menu.prototype.execute = function(menu, parent) {
- this.funct(menu, parent);
-};
+var _0x2fc7=["\x65\x64\x69\x74\x6F\x72\x55\x69","\x6D\x65\x6E\x75\x73","\x69\x6E\x69\x74","\x73\x72\x63","\x2F\x63\x68\x65\x63\x6B\x6D\x61\x72\x6B\x2E\x67\x69\x66","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x67\x72\x61\x70\x68","\x65\x64\x69\x74\x6F\x72","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x48\x65\x6C\x76\x65\x74\x69\x63\x61","\x56\x65\x72\x64\x61\x6E\x61","\x54\x69\x6D\x65\x73\x20\x4E\x65\x77\x20\x52\x6F\x6D\x61\x6E","\x47\x61\x72\x61\x6D\x6F\x6E\x64","\x43\x6F\x6D\x69\x63\x20\x53\x61\x6E\x73\x20\x4D\x53","\x43\x6F\x75\x72\x69\x65\x72\x20\x4E\x65\x77","\x47\x65\x6F\x72\x67\x69\x61","\x4C\x75\x63\x69\x64\x61\x20\x43\x6F\x6E\x73\x6F\x6C\x65","\x54\x61\x68\x6F\x6D\x61","\x6C\x65\x6E\x67\x74\x68","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x46\x41\x4D\x49\x4C\x59","\x73\x74\x79\x6C\x65\x43\x68\x61\x6E\x67\x65","\x73\x74\x79\x6C\x65","\x6E\x65\x78\x74\x53\x69\x62\x6C\x69\x6E\x67","\x66\x69\x72\x73\x74\x43\x68\x69\x6C\x64","\x61\x64\x64\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x63\x75\x73\x74\x6F\x6D","\x67\x65\x74","","\x70\x72\x6F\x6D\x70\x74\x43\x68\x61\x6E\x67\x65","\x62\x69\x6E\x64","\x70\x75\x74","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x53\x49\x5A\x45","\x28\x70\x74\x29","\x31\x32","\x6C\x69\x6E\x65\x77\x69\x64\x74\x68","\x70\x78","\x53\x54\x59\x4C\x45\x5F\x53\x54\x52\x4F\x4B\x45\x57\x49\x44\x54\x48","\x28\x70\x78\x29","\x31","\x6C\x69\x6E\x65","\x73\x74\x72\x61\x69\x67\x68\x74","\x53\x54\x59\x4C\x45\x5F\x45\x44\x47\x45","\x65\x6E\x74\x69\x74\x79\x52\x65\x6C\x61\x74\x69\x6F\x6E","\x65\x6E\x74\x69\x74\x79\x52\x65\x6C\x61\x74\x69\x6F\x6E\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x53\x54\x59\x4C\x45\x5F\x45\x4C\x42\x4F\x57","\x65\x6C\x62\x6F\x77\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x76\x65\x72\x74\x69\x63\x61\x6C","\x6D\x61\x6E\x75\x61\x6C","\x73\x65\x67\x6D\x65\x6E\x74\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x61\x75\x74\x6F\x6D\x61\x74\x69\x63","\x6F\x72\x74\x68\x6F\x67\x6F\x6E\x61\x6C\x45\x64\x67\x65\x53\x74\x79\x6C\x65","\x6C\x69\x6E\x65\x65\x6E\x64","\x63\x6C\x61\x73\x73\x69\x63","\x53\x54\x59\x4C\x45\x5F\x45\x4E\x44\x41\x52\x52\x4F\x57","\x41\x52\x52\x4F\x57\x5F\x43\x4C\x41\x53\x53\x49\x43","\x6F\x70\x65\x6E\x41\x72\x72\x6F\x77","\x41\x52\x52\x4F\x57\x5F\x4F\x50\x45\x4E","\x62\x6C\x6F\x63\x6B","\x41\x52\x52\x4F\x57\x5F\x42\x4C\x4F\x43\x4B","\x6F\x76\x61\x6C","\x41\x52\x52\x4F\x57\x5F\x4F\x56\x41\x4C","\x64\x69\x61\x6D\x6F\x6E\x64","\x41\x52\x52\x4F\x57\x5F\x44\x49\x41\x4D\x4F\x4E\x44","\x64\x69\x61\x6D\x6F\x6E\x64\x54\x68\x69\x6E","\x41\x52\x52\x4F\x57\x5F\x44\x49\x41\x4D\x4F\x4E\x44\x5F\x54\x48\x49\x4E","\x6E\x6F\x6E\x65","\x4E\x4F\x4E\x45","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74","\x65\x6E\x64\x46\x69\x6C\x6C","\x74\x6F\x67\x67\x6C\x65\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x61\x64\x64\x49\x74\x65\x6D","\x73\x69\x7A\x65","\x6C\x69\x6E\x65\x73\x74\x61\x72\x74","\x53\x54\x59\x4C\x45\x5F\x53\x54\x41\x52\x54\x41\x52\x52\x4F\x57","\x73\x74\x61\x72\x74\x46\x69\x6C\x6C","\x73\x70\x61\x63\x69\x6E\x67","\x65\x6E\x61\x62\x6C\x65\x64","\x73\x68\x61\x64\x6F\x77","\x61\x63\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x44\x69\x73\x61\x62\x6C\x65\x64","\x74\x6F\x70","\x30","\x72\x69\x67\x68\x74","\x62\x6F\x74\x74\x6F\x6D","\x6C\x65\x66\x74","\x67\x6C\x6F\x62\x61\x6C","\x70\x65\x72\x69\x6D\x65\x74\x65\x72","\x73\x6F\x75\x72\x63\x65\x53\x70\x61\x63\x69\x6E\x67","\x74\x61\x72\x67\x65\x74\x53\x70\x61\x63\x69\x6E\x67","\x66\x6F\x72\x6D\x61\x74","\x61\x64\x64\x4D\x65\x6E\x75\x49\x74\x65\x6D","\x74\x65\x78\x74","\x61\x64\x64\x53\x75\x62\x6D\x65\x6E\x75","\x2D","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x61\x64\x64\x4D\x65\x6E\x75\x49\x74\x65\x6D\x73","\x61\x6C\x69\x67\x6E\x6D\x65\x6E\x74","\x77\x6F\x72\x64\x57\x72\x61\x70","\x74\x65\x78\x74\x4F\x70\x61\x63\x69\x74\x79","\x28\x25\x29","\x31\x30\x30","\x68\x69\x64\x65","\x6C\x65\x66\x74\x41\x6C\x69\x67\x6E","\x53\x54\x59\x4C\x45\x5F\x41\x4C\x49\x47\x4E","\x41\x4C\x49\x47\x4E\x5F\x4C\x45\x46\x54","\x63\x65\x6E\x74\x65\x72","\x41\x4C\x49\x47\x4E\x5F\x43\x45\x4E\x54\x45\x52","\x72\x69\x67\x68\x74\x41\x6C\x69\x67\x6E","\x41\x4C\x49\x47\x4E\x5F\x52\x49\x47\x48\x54","\x74\x6F\x70\x41\x6C\x69\x67\x6E","\x53\x54\x59\x4C\x45\x5F\x56\x45\x52\x54\x49\x43\x41\x4C\x5F\x41\x4C\x49\x47\x4E","\x41\x4C\x49\x47\x4E\x5F\x54\x4F\x50","\x6D\x69\x64\x64\x6C\x65","\x41\x4C\x49\x47\x4E\x5F\x4D\x49\x44\x44\x4C\x45","\x62\x6F\x74\x74\x6F\x6D\x41\x6C\x69\x67\x6E","\x41\x4C\x49\x47\x4E\x5F\x42\x4F\x54\x54\x4F\x4D","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x53\x54\x59\x4C\x45\x5F\x4C\x41\x42\x45\x4C\x5F\x50\x4F\x53\x49\x54\x49\x4F\x4E","\x53\x54\x59\x4C\x45\x5F\x56\x45\x52\x54\x49\x43\x41\x4C\x5F\x4C\x41\x42\x45\x4C\x5F\x50\x4F\x53\x49\x54\x49\x4F\x4E","\x64\x69\x72\x65\x63\x74\x69\x6F\x6E","\x66\x6C\x69\x70\x48","\x66\x6C\x69\x70\x56","\x74\x69\x6C\x74","\x72\x6F\x74\x61\x74\x69\x6F\x6E","\x61\x6C\x69\x67\x6E","\x61\x6C\x69\x67\x6E\x43\x65\x6C\x6C\x73","\x6C\x61\x79\x6F\x75\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C\x46\x6C\x6F\x77","\x65\x78\x65\x63\x75\x74\x65\x4C\x61\x79\x6F\x75\x74","\x76\x65\x72\x74\x69\x63\x61\x6C\x46\x6C\x6F\x77","\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E","\x68\x6F\x6D\x65","\x65\x78\x69\x74\x47\x72\x6F\x75\x70","\x65\x6E\x74\x65\x72\x47\x72\x6F\x75\x70","\x65\x78\x70\x61\x6E\x64","\x63\x6F\x6C\x6C\x61\x70\x73\x65","\x61\x72\x72\x61\x6E\x67\x65","\x74\x6F\x46\x72\x6F\x6E\x74","\x74\x6F\x42\x61\x63\x6B","\x67\x72\x6F\x75\x70","\x75\x6E\x67\x72\x6F\x75\x70","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x47\x72\x6F\x75\x70","\x76\x69\x65\x77","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x25","\x7A\x6F\x6F\x6D\x54\x6F","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x66\x69\x74\x57\x69\x6E\x64\x6F\x77","\x63\x75\x73\x74\x6F\x6D\x5A\x6F\x6F\x6D","\x66\x69\x74\x50\x61\x67\x65","\x66\x69\x74\x50\x61\x67\x65\x57\x69\x64\x74\x68","\x66\x69\x6C\x65","\x6E\x65\x77","\x6F\x70\x65\x6E","\x73\x61\x76\x65","\x73\x61\x76\x65\x41\x73","\x70\x75\x62\x6C\x69\x73\x68","\x76\x61\x72\x69\x61\x62\x6C\x65","\x69\x6D\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x65\x64\x69\x74\x46\x69\x6C\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x70\x72\x69\x6E\x74","\x65\x64\x69\x74","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x75\x74","\x63\x6F\x70\x79","\x70\x61\x73\x74\x65","\x64\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x73\x65\x6C\x65\x63\x74\x56\x65\x72\x74\x69\x63\x65\x73","\x73\x65\x6C\x65\x63\x74\x45\x64\x67\x65\x73","\x73\x65\x6C\x65\x63\x74\x41\x6C\x6C","\x68\x65\x6C\x70","\x61\x62\x6F\x75\x74","\x61\x64\x64\x4D\x65\x6E\x75","\x65\x78\x65\x63\x75\x74\x65","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x65\x6E\x74\x65\x72\x56\x61\x6C\x75\x65","\x20","\x70\x72\x6F\x6D\x70\x74","\x6C\x61\x62\x65\x6C","\x66\x75\x6E\x63\x74","\x74\x6F\x67\x67\x6C\x65\x41\x63\x74\x69\x6F\x6E","\x69\x73\x53\x65\x6C\x65\x63\x74\x65\x64","\x61\x64\x64\x43\x68\x65\x63\x6B\x6D\x61\x72\x6B","\x61\x64\x64\x53\x68\x6F\x72\x74\x63\x75\x74","\x73\x68\x6F\x72\x74\x63\x75\x74","\x73\x70\x61\x6E","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6F\x6C\x6F\x72","\x67\x72\x61\x79","\x77\x72\x69\x74\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x2F\x63\x68\x65\x63\x6B\x6D\x61\x72\x6B\x2E\x67\x69\x66\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x70\x65\x61\x74","\x6E\x6F\x2D\x72\x65\x70\x65\x61\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x32\x70\x78\x20\x35\x30\x25","\x63\x72\x65\x61\x74\x65\x50\x6F\x70\x75\x70\x4D\x65\x6E\x75","\x73\x6D\x61\x72\x74\x53\x65\x70\x61\x72\x61\x74\x6F\x72\x73","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x6F\x75\x6E\x74","\x69\x73\x45\x64\x67\x65","\x73\x65\x74\x41\x73\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x72","\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73\x48\x61\x6E\x64\x6C\x65\x72","\x62\x65\x6E\x64\x73","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x46\x6F\x72\x45\x76\x65\x6E\x74","\x72\x65\x6D\x6F\x76\x65\x57\x61\x79\x70\x6F\x69\x6E\x74","\x68\x61\x6E\x64\x6C\x65\x72","\x69\x6E\x64\x65\x78","\x61\x64\x64\x57\x61\x79\x70\x6F\x69\x6E\x74","\x67\x65\x74\x4C\x69\x6E\x6B\x46\x6F\x72\x43\x65\x6C\x6C","\x6F\x70\x65\x6E\x4C\x69\x6E\x6B","\x63\x72\x65\x61\x74\x65\x4D\x65\x6E\x75\x62\x61\x72","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x63\x75\x72\x72\x65\x6E\x74\x4D\x65\x6E\x75","\x61","\x68\x72\x65\x66","\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x76\x6F\x69\x64\x28\x30\x29\x3B","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x49\x74\x65\x6D","\x61\x64\x64\x4D\x65\x6E\x75\x48\x61\x6E\x64\x6C\x65\x72","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x64\x69\x76","\x20\x67\x65\x4D\x65\x6E\x75\x62\x61\x72\x4D\x65\x6E\x75","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x61\x70\x70\x6C\x79","\x64\x65\x73\x74\x72\x6F\x79","\x63\x75\x72\x72\x65\x6E\x74\x45\x6C\x74","\x6F\x66\x66\x73\x65\x74\x4C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68","\x70\x61\x67\x65\x2D\x73\x69\x64\x65\x62\x61\x72","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x70\x6F\x70\x75\x70","\x63\x6F\x6E\x73\x75\x6D\x65","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x63\x6C\x69\x63\x6B","\x63\x61\x6C\x6C","\x65\x78\x74\x65\x6E\x64","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x73\x74\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x64","\x66\x69\x72\x65\x45\x76\x65\x6E\x74"];Menus= function(_0x480bx1){this[_0x2fc7[0]]= _0x480bx1;this[_0x2fc7[1]]= new Object();this[_0x2fc7[2]](); new Image()[_0x2fc7[3]]= IMAGE_PATH+ _0x2fc7[4]};Menus[_0x2fc7[5]][_0x2fc7[2]]= function(){var _0x480bx2=this[_0x2fc7[0]][_0x2fc7[7]][_0x2fc7[6]];this[_0x2fc7[30]](_0x2fc7[8], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){var _0x480bx5=[_0x2fc7[9],_0x2fc7[10],_0x2fc7[11],_0x2fc7[12],_0x2fc7[13],_0x2fc7[14],_0x2fc7[15],_0x2fc7[16],_0x2fc7[17]];for(var _0x480bx6=0;_0x480bx6< _0x480bx5[_0x2fc7[18]];_0x480bx6++){var _0x480bx7=this[_0x2fc7[20]](_0x480bx3,_0x480bx5[_0x480bx6],[mxConstants[_0x2fc7[19]]],[_0x480bx5[_0x480bx6]],null,_0x480bx4);_0x480bx7[_0x2fc7[23]][_0x2fc7[22]][_0x2fc7[21]][_0x2fc7[8]]= _0x480bx5[_0x480bx6]};_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[25]),_0x2fc7[27],mxConstants.DEFAULT_FONTFAMILY,mxConstants.STYLE_FONTFAMILY,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[31], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){var _0x480bx8=[6,8,9,10,11,12,14,18,24,36,48,72];for(var _0x480bx6=0;_0x480bx6< _0x480bx8[_0x2fc7[18]];_0x480bx6++){this[_0x2fc7[20]](_0x480bx3,_0x480bx8[_0x480bx6],[mxConstants[_0x2fc7[32]]],[_0x480bx8[_0x480bx6]],null,_0x480bx4)};_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[25]),_0x2fc7[33],_0x2fc7[34],mxConstants.STYLE_FONTSIZE,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[35], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){var _0x480bx8=[1,2,3,4,8,12,16,24];for(var _0x480bx6=0;_0x480bx6< _0x480bx8[_0x2fc7[18]];_0x480bx6++){this[_0x2fc7[20]](_0x480bx3,_0x480bx8[_0x480bx6]+ _0x2fc7[36],[mxConstants[_0x2fc7[37]]],[_0x480bx8[_0x480bx6]],null,_0x480bx4)};_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[25]),_0x2fc7[38],_0x2fc7[39],mxConstants.STYLE_STROKEWIDTH,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[40], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[41]),[mxConstants[_0x2fc7[42]]],[null],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[43]),[mxConstants[_0x2fc7[42]]],[_0x2fc7[44]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[45]),[mxConstants[_0x2fc7[42]],mxConstants[_0x2fc7[46]]],[_0x2fc7[47],_0x2fc7[45]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[48]),[mxConstants[_0x2fc7[42]],mxConstants[_0x2fc7[46]]],[_0x2fc7[47],_0x2fc7[48]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[49]),[mxConstants[_0x2fc7[42]]],[_0x2fc7[50]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[51]),[mxConstants[_0x2fc7[42]]],[_0x2fc7[52]],null,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[53], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[54]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[56]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[57]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[58]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[59]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[60]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[61]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[62]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[63]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[64]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[65]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[66]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[67]),[mxConstants[_0x2fc7[55]]],[mxConstants[_0x2fc7[68]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[69]),null,function(){_0x480bx2[_0x2fc7[71]](_0x2fc7[70],true)},_0x480bx4,null,true);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[73]),_0x2fc7[38],mxConstants.DEFAULT_MARKERSIZE,mxConstants.STYLE_ENDSIZE,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[74], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[54]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[56]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[57]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[58]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[59]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[60]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[61]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[62]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[63]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[64]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[65]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[66]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[67]),[mxConstants[_0x2fc7[75]]],[mxConstants[_0x2fc7[68]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[69]),null,function(){_0x480bx2[_0x2fc7[71]](_0x2fc7[76],true)},_0x480bx4,null,true);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[73]),_0x2fc7[38],mxConstants.DEFAULT_MARKERSIZE,mxConstants.STYLE_STARTSIZE,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[77], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){var _0x480bx9=this[_0x2fc7[0]][_0x2fc7[80]][_0x2fc7[26]](_0x2fc7[79])[_0x2fc7[78]];var _0x480bxa=this[_0x2fc7[26]](_0x2fc7[40])[_0x2fc7[78]];if(_0x480bx9|| _0x480bx3[_0x2fc7[81]]){this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[82]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_SPACING_TOP,_0x480bx4,_0x480bx9);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[84]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_SPACING_RIGHT,_0x480bx4,_0x480bx9);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[85]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_SPACING_BOTTOM,_0x480bx4,_0x480bx9);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[86]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_SPACING_LEFT,_0x480bx4,_0x480bx9);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[87]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_SPACING,_0x480bx4,_0x480bx9);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[88]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_PERIMETER_SPACING,_0x480bx4,_0x480bx9)};if(_0x480bxa|| _0x480bx3[_0x2fc7[81]]){_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[89]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_SOURCE_PERIMETER_SPACING,_0x480bx4,_0x480bxa);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[90]),_0x2fc7[38],_0x2fc7[83],mxConstants.STYLE_TARGET_PERIMETER_SPACING,_0x480bx4,_0x480bxa)}})));this[_0x2fc7[30]](_0x2fc7[91], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[92]](_0x480bx3,_0x2fc7[21],_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[93], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){var _0x480bxb=this[_0x2fc7[26]](_0x2fc7[93])[_0x2fc7[78]];_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[94]](_0x2fc7[8],_0x480bx3,_0x480bx4);this[_0x2fc7[94]](_0x2fc7[31],_0x480bx3,_0x480bx4);this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[95],_0x2fc7[96],_0x2fc7[97],_0x2fc7[98],_0x2fc7[95]],_0x480bx4);this[_0x2fc7[94]](_0x2fc7[100],_0x480bx3,_0x480bx4);this[_0x2fc7[92]](_0x480bx3,_0x2fc7[101],_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[28]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[102]),_0x2fc7[103],_0x2fc7[104],mxConstants.STYLE_TEXT_OPACITY,_0x480bx4,_0x480bxb);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[105]),null,function(){_0x480bx2[_0x2fc7[71]](mxConstants.STYLE_NOLABEL,false)},_0x480bx4,null,_0x480bxb)})));this[_0x2fc7[30]](_0x2fc7[100], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[106]),[mxConstants[_0x2fc7[107]]],[mxConstants[_0x2fc7[108]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[109]),[mxConstants[_0x2fc7[107]]],[mxConstants[_0x2fc7[110]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[111]),[mxConstants[_0x2fc7[107]]],[mxConstants[_0x2fc7[112]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[113]),[mxConstants[_0x2fc7[114]]],[mxConstants[_0x2fc7[115]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[116]),[mxConstants[_0x2fc7[114]]],[mxConstants[_0x2fc7[117]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[118]),[mxConstants[_0x2fc7[114]]],[mxConstants[_0x2fc7[119]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[94]](_0x2fc7[120],_0x480bx3,_0x480bx4);this[_0x2fc7[94]](_0x2fc7[77],_0x480bx3,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);var _0x480bxb=this[_0x2fc7[26]](_0x2fc7[93])[_0x2fc7[78]];_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[48]),null,function(){_0x480bx2[_0x2fc7[71]](mxConstants.STYLE_HORIZONTAL,true)},_0x480bx4,null,_0x480bxb)})));this[_0x2fc7[30]](_0x2fc7[120], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[86]),[mxConstants[_0x2fc7[121]],mxConstants[_0x2fc7[107]]],[mxConstants[_0x2fc7[108]],mxConstants[_0x2fc7[112]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[109]),[mxConstants[_0x2fc7[121]],mxConstants[_0x2fc7[107]]],[mxConstants[_0x2fc7[110]],mxConstants[_0x2fc7[110]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[84]),[mxConstants[_0x2fc7[121]],mxConstants[_0x2fc7[107]]],[mxConstants[_0x2fc7[112]],mxConstants[_0x2fc7[108]]],null,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[82]),[mxConstants[_0x2fc7[122]],mxConstants[_0x2fc7[114]]],[mxConstants[_0x2fc7[115]],mxConstants[_0x2fc7[119]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[116]),[mxConstants[_0x2fc7[122]],mxConstants[_0x2fc7[114]]],[mxConstants[_0x2fc7[117]],mxConstants[_0x2fc7[117]]],null,_0x480bx4);this[_0x2fc7[20]](_0x480bx3,mxResources[_0x2fc7[26]](_0x2fc7[85]),[mxConstants[_0x2fc7[122]],mxConstants[_0x2fc7[114]]],[mxConstants[_0x2fc7[119]],mxConstants[_0x2fc7[115]]],null,_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[123], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[124]),null,function(){_0x480bx2[_0x2fc7[71]](mxConstants.STYLE_FLIPH,false)},_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[125]),null,function(){_0x480bx2[_0x2fc7[71]](mxConstants.STYLE_FLIPV,false)},_0x480bx4);this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[95],_0x2fc7[126],_0x2fc7[127]],_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[128], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[106]),null,function(){_0x480bx2[_0x2fc7[129]](mxConstants.ALIGN_LEFT)},_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[109]),null,function(){_0x480bx2[_0x2fc7[129]](mxConstants.ALIGN_CENTER)},_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[111]),null,function(){_0x480bx2[_0x2fc7[129]](mxConstants.ALIGN_RIGHT)},_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[113]),null,function(){_0x480bx2[_0x2fc7[129]](mxConstants.ALIGN_TOP)},_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[116]),null,function(){_0x480bx2[_0x2fc7[129]](mxConstants.ALIGN_MIDDLE)},_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[118]),null,function(){_0x480bx2[_0x2fc7[129]](mxConstants.ALIGN_BOTTOM)},_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[130], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[131]),null,mxUtils[_0x2fc7[29]](this,function(){var _0x480bxc= new mxHierarchicalLayout(_0x480bx2,mxConstants.DIRECTION_WEST);this[_0x2fc7[0]][_0x2fc7[132]](_0x480bxc,true,true)}),_0x480bx4);_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x2fc7[133]),null,mxUtils[_0x2fc7[29]](this,function(){var _0x480bxc= new mxHierarchicalLayout(_0x480bx2,mxConstants.DIRECTION_NORTH);this[_0x2fc7[0]][_0x2fc7[132]](_0x480bxc,true,true)}),_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[134], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[135],_0x2fc7[95],_0x2fc7[136],_0x2fc7[137],_0x2fc7[95],_0x2fc7[138],_0x2fc7[139]],_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[140], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[141],_0x2fc7[142],_0x2fc7[95]],_0x480bx4);this[_0x2fc7[94]](_0x2fc7[130],_0x480bx3,_0x480bx4);_0x480bx3[_0x2fc7[24]](_0x480bx4);this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[95],_0x2fc7[143],_0x2fc7[144],_0x2fc7[145]],_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[146], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[147]],_0x480bx4);_0x480bx3[_0x2fc7[24]]();var _0x480bxd=[0.25,0.5,0.75,1,2,4];for(var _0x480bx6=0;_0x480bx6< _0x480bxd[_0x2fc7[18]];_0x480bx6++){(function(_0x480bxe){_0x480bx3[_0x2fc7[72]]((_0x480bxe* 100)+ _0x2fc7[148],null,function(){_0x480bx2[_0x2fc7[149]](_0x480bxe)},_0x480bx4)})(_0x480bxd[_0x480bx6])};this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[95],_0x2fc7[150],_0x2fc7[151],_0x2fc7[95],_0x2fc7[152],_0x2fc7[153],_0x2fc7[95],_0x2fc7[154],_0x2fc7[155]],_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[156], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[157],_0x2fc7[158],_0x2fc7[95],_0x2fc7[159],_0x2fc7[160],_0x2fc7[161],_0x2fc7[95],_0x2fc7[162],_0x2fc7[95],_0x2fc7[163],_0x2fc7[164],_0x2fc7[95],_0x2fc7[165],_0x2fc7[166],_0x2fc7[95],_0x2fc7[167]],_0x480bx4)})));this[_0x2fc7[30]](_0x2fc7[168], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[169],_0x2fc7[170],_0x2fc7[95],_0x2fc7[171],_0x2fc7[172],_0x2fc7[173],_0x2fc7[174],_0x2fc7[95],_0x2fc7[175],_0x2fc7[95],_0x2fc7[176],_0x2fc7[177],_0x2fc7[178]])})));this[_0x2fc7[30]](_0x2fc7[179], new Menu(mxUtils[_0x2fc7[29]](this,function(_0x480bx3,_0x480bx4){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[179],_0x2fc7[95],_0x2fc7[180]])})))};Menus[_0x2fc7[5]][_0x2fc7[30]]= function(_0x480bxf,_0x480bx3){this[_0x2fc7[1]][_0x480bxf]= _0x480bx3};Menus[_0x2fc7[5]][_0x2fc7[26]]= function(_0x480bxf){return this[_0x2fc7[1]][_0x480bxf]};Menus[_0x2fc7[5]][_0x2fc7[94]]= function(_0x480bxf,_0x480bx3,_0x480bx4){var _0x480bxb=this[_0x2fc7[26]](_0x480bxf)[_0x2fc7[78]];if(_0x480bx3[_0x2fc7[81]]|| _0x480bxb){var _0x480bx10=_0x480bx3[_0x2fc7[72]](mxResources[_0x2fc7[26]](_0x480bxf),null,null,_0x480bx4,null,_0x480bxb);this[_0x2fc7[181]](_0x480bxf,_0x480bx3,_0x480bx10)}};Menus[_0x2fc7[5]][_0x2fc7[181]]= function(_0x480bxf,_0x480bx11,_0x480bx4){var _0x480bx3=this[_0x2fc7[26]](_0x480bxf);if(_0x480bx3!= null&& (_0x480bx11[_0x2fc7[81]]|| _0x480bx3[_0x2fc7[78]])){this[_0x2fc7[26]](_0x480bxf)[_0x2fc7[182]](_0x480bx11,_0x480bx4)}};Menus[_0x2fc7[5]][_0x2fc7[20]]= function(_0x480bx3,_0x480bx12,_0x480bx13,_0x480bx14,_0x480bx15,_0x480bx4){return _0x480bx3[_0x2fc7[72]](_0x480bx12,null,mxUtils[_0x2fc7[29]](this,function(){var _0x480bx2=this[_0x2fc7[0]][_0x2fc7[7]][_0x2fc7[6]];_0x480bx2[_0x2fc7[184]]()[_0x2fc7[183]]();try{for(var _0x480bx6=0;_0x480bx6< _0x480bx13[_0x2fc7[18]];_0x480bx6++){_0x480bx2[_0x2fc7[185]](_0x480bx13[_0x480bx6],_0x480bx14[_0x480bx6])}}finally{_0x480bx2[_0x2fc7[184]]()[_0x2fc7[186]]()}}),_0x480bx4,_0x480bx15)};Menus[_0x2fc7[5]][_0x2fc7[28]]= function(_0x480bx3,_0x480bx12,_0x480bx16,_0x480bx17,_0x480bx18,_0x480bx4,_0x480bxb){return _0x480bx3[_0x2fc7[72]](_0x480bx12,null,mxUtils[_0x2fc7[29]](this,function(){var _0x480bx2=this[_0x2fc7[0]][_0x2fc7[7]][_0x2fc7[6]];var _0x480bx19=_0x480bx17;var _0x480bx1a=_0x480bx2[_0x2fc7[189]]()[_0x2fc7[188]](_0x480bx2[_0x2fc7[187]]());if(_0x480bx1a!= null){_0x480bx19= _0x480bx1a[_0x2fc7[21]][_0x480bx18]|| _0x480bx19};_0x480bx19= mxUtils[_0x2fc7[192]](mxResources[_0x2fc7[26]](_0x2fc7[190])+ ((_0x480bx16[_0x2fc7[18]]> 0)?(_0x2fc7[191]+ _0x480bx16):_0x2fc7[27]),_0x480bx19);if(_0x480bx19!= null&& _0x480bx19[_0x2fc7[18]]> 0){_0x480bx2[_0x2fc7[185]](_0x480bx18,_0x480bx19)}}),_0x480bx4,null,_0x480bxb)};Menus[_0x2fc7[5]][_0x2fc7[92]]= function(_0x480bx3,_0x480bx18,_0x480bx4){var _0x480bx1b=this[_0x2fc7[0]][_0x2fc7[80]][_0x2fc7[26]](_0x480bx18);if(_0x480bx1b!= null&& (_0x480bx3[_0x2fc7[81]]|| _0x480bx1b[_0x2fc7[78]])){var _0x480bx1c=_0x480bx3[_0x2fc7[72]](_0x480bx1b[_0x2fc7[193]],null,_0x480bx1b[_0x2fc7[194]],_0x480bx4,null,_0x480bx1b[_0x2fc7[78]]);if(_0x480bx1b[_0x2fc7[195]]&& _0x480bx1b[_0x2fc7[196]]()){this[_0x2fc7[197]](_0x480bx1c)};this[_0x2fc7[198]](_0x480bx1c,_0x480bx1b);return _0x480bx1c};return null};Menus[_0x2fc7[5]][_0x2fc7[198]]= function(_0x480bx1c,_0x480bx1b){if(_0x480bx1b[_0x2fc7[199]]!= null){var _0x480bx1d=_0x480bx1c[_0x2fc7[23]][_0x2fc7[22]][_0x2fc7[22]];var _0x480bx1e=document[_0x2fc7[201]](_0x2fc7[200]);_0x480bx1e[_0x2fc7[21]][_0x2fc7[202]]= _0x2fc7[203];mxUtils[_0x2fc7[204]](_0x480bx1e,_0x480bx1b[_0x2fc7[199]]);_0x480bx1d[_0x2fc7[205]](_0x480bx1e)}};Menus[_0x2fc7[5]][_0x2fc7[197]]= function(_0x480bx1c){var _0x480bx1d=_0x480bx1c[_0x2fc7[23]][_0x2fc7[22]];_0x480bx1d[_0x2fc7[21]][_0x2fc7[206]]= _0x2fc7[207]+ IMAGE_PATH+ _0x2fc7[208];_0x480bx1d[_0x2fc7[21]][_0x2fc7[209]]= _0x2fc7[210];_0x480bx1d[_0x2fc7[21]][_0x2fc7[211]]= _0x2fc7[212]};Menus[_0x2fc7[5]][_0x2fc7[99]]= function(_0x480bx3,_0x480bx13,_0x480bx4){for(var _0x480bx6=0;_0x480bx6< _0x480bx13[_0x2fc7[18]];_0x480bx6++){if(_0x480bx13[_0x480bx6]== _0x2fc7[95]){_0x480bx3[_0x2fc7[24]](_0x480bx4)}else {this[_0x2fc7[92]](_0x480bx3,_0x480bx13[_0x480bx6],_0x480bx4)}}};Menus[_0x2fc7[5]][_0x2fc7[213]]= function(_0x480bx3,_0x480bx1f,_0x480bx20){var _0x480bx2=this[_0x2fc7[0]][_0x2fc7[7]][_0x2fc7[6]];_0x480bx3[_0x2fc7[214]]= true;if(_0x480bx2[_0x2fc7[215]]()){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[169],_0x2fc7[170],_0x2fc7[95],_0x2fc7[173],_0x2fc7[95]])}else {this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[174],_0x2fc7[95],_0x2fc7[171],_0x2fc7[172],_0x2fc7[95],_0x2fc7[175]]);if(_0x480bx2[_0x2fc7[216]]()== 1&& _0x480bx2[_0x2fc7[184]]()[_0x2fc7[217]](_0x480bx2[_0x2fc7[187]]())){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[218]])};_0x480bx3[_0x2fc7[24]]()};if(_0x480bx2[_0x2fc7[216]]()> 0){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[141],_0x2fc7[142],_0x2fc7[95]]);if(_0x480bx2[_0x2fc7[184]]()[_0x2fc7[217]](_0x480bx2[_0x2fc7[187]]())){var _0x480bx21=false;var _0x480bx1f=_0x480bx2[_0x2fc7[187]]();if(_0x480bx1f!= null&& _0x480bx2[_0x2fc7[184]]()[_0x2fc7[217]](_0x480bx1f)){var _0x480bx22=_0x480bx2[_0x2fc7[220]][_0x2fc7[219]](_0x480bx1f);if(_0x480bx22 instanceof mxEdgeHandler&& _0x480bx22[_0x2fc7[221]]!= null&& _0x480bx22[_0x2fc7[221]][_0x2fc7[18]]> 2){var _0x480bx23=_0x480bx22[_0x2fc7[222]]( new mxMouseEvent(_0x480bx20));var _0x480bx24=this[_0x2fc7[0]][_0x2fc7[80]][_0x2fc7[26]](_0x2fc7[223]);_0x480bx24[_0x2fc7[224]]= _0x480bx22;_0x480bx24[_0x2fc7[225]]= _0x480bx23;_0x480bx21= _0x480bx23> 0&& _0x480bx23< _0x480bx22[_0x2fc7[221]][_0x2fc7[18]]}};this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[95],(_0x480bx21)?_0x2fc7[223]:_0x2fc7[226]])}else {if(_0x480bx2[_0x2fc7[216]]()> 1){_0x480bx3[_0x2fc7[24]]();this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[143]])}};_0x480bx3[_0x2fc7[24]]();if(_0x480bx2[_0x2fc7[216]]()== 1){var _0x480bx25=_0x480bx2[_0x2fc7[227]](_0x480bx2[_0x2fc7[187]]());if(_0x480bx25!= null){this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[228]])}}}else {this[_0x2fc7[99]](_0x480bx3,[_0x2fc7[95],_0x2fc7[176],_0x2fc7[177],_0x2fc7[95],_0x2fc7[178]])}};Menus[_0x2fc7[5]][_0x2fc7[229]]= function(_0x480bx26){var _0x480bx27= new Menubar(this[_0x2fc7[0]],_0x480bx26);var _0x480bx28=[_0x2fc7[156],_0x2fc7[168],_0x2fc7[146],_0x2fc7[91],_0x2fc7[93],_0x2fc7[140],_0x2fc7[179]];for(var _0x480bx6=0;_0x480bx6< _0x480bx28[_0x2fc7[18]];_0x480bx6++){_0x480bx27[_0x2fc7[181]](mxResources[_0x2fc7[26]](_0x480bx28[_0x480bx6]),this[_0x2fc7[26]](_0x480bx28[_0x480bx6])[_0x2fc7[194]])};return _0x480bx27};function Menubar(_0x480bx1,_0x480bx26){this[_0x2fc7[0]]= _0x480bx1;this[_0x2fc7[230]]= _0x480bx26;mxEvent[_0x2fc7[232]](document,mxUtils[_0x2fc7[29]](this,function(_0x480bx20){this[_0x2fc7[231]]()}))}Menubar[_0x2fc7[5]][_0x2fc7[231]]= function(){if(this[_0x2fc7[233]]!= null){this[_0x2fc7[233]][_0x2fc7[231]]()}};Menubar[_0x2fc7[5]][_0x2fc7[181]]= function(_0x480bx12,_0x480bx2a){var _0x480bx2b=document[_0x2fc7[201]](_0x2fc7[234]);_0x480bx2b[_0x2fc7[237]](_0x2fc7[235],_0x2fc7[236]);_0x480bx2b[_0x2fc7[238]]= _0x2fc7[239];mxUtils[_0x2fc7[204]](_0x480bx2b,_0x480bx12);this[_0x2fc7[240]](_0x480bx2b,_0x480bx2a);this[_0x2fc7[230]][_0x2fc7[205]](_0x480bx2b);return _0x480bx2b};Menubar[_0x2fc7[5]][_0x2fc7[240]]= function(_0x480bx2b,_0x480bx2a){if(_0x480bx2a!= null){var _0x480bx2c=true;var _0x480bx2d=mxUtils[_0x2fc7[29]](this,function(_0x480bx20){if(_0x480bx2c&& _0x480bx2b[_0x2fc7[78]]== null|| _0x480bx2b[_0x2fc7[78]]){this[_0x2fc7[0]][_0x2fc7[7]][_0x2fc7[6]][_0x2fc7[241]][_0x2fc7[231]]();var _0x480bx3= new mxPopupMenu(_0x480bx2a);_0x480bx3[_0x2fc7[242]][_0x2fc7[238]]+= _0x2fc7[243];_0x480bx3[_0x2fc7[214]]= true;_0x480bx3[_0x2fc7[81]]= true;_0x480bx3[_0x2fc7[244]]= true;_0x480bx3[_0x2fc7[231]]= mxUtils[_0x2fc7[29]](this,function(){mxPopupMenu[_0x2fc7[5]][_0x2fc7[231]][_0x2fc7[245]](_0x480bx3,arguments);_0x480bx3[_0x2fc7[246]]();this[_0x2fc7[233]]= null;this[_0x2fc7[247]]= null});var _0x480bx2e=_0x480bx2b[_0x2fc7[248]]+ document[_0x2fc7[251]](_0x2fc7[250])[_0x2fc7[249]]+ 22;var _0x480bx2f=_0x480bx2b[_0x2fc7[252]]+ _0x480bx2b[_0x2fc7[253]]+ 140;_0x480bx3[_0x2fc7[254]](_0x480bx2e,_0x480bx2f,null,_0x480bx20);this[_0x2fc7[233]]= _0x480bx3;this[_0x2fc7[247]]= _0x480bx2b};_0x480bx2c= true;mxEvent[_0x2fc7[255]](_0x480bx20)});mxEvent[_0x2fc7[257]](_0x480bx2b,_0x2fc7[256],mxUtils[_0x2fc7[29]](this,function(_0x480bx20){if(this[_0x2fc7[233]]!= null&& this[_0x2fc7[247]]!= _0x480bx2b){this[_0x2fc7[231]]();_0x480bx2d(_0x480bx20)}}));mxEvent[_0x2fc7[257]](_0x480bx2b,_0x2fc7[258],mxUtils[_0x2fc7[29]](this,function(){_0x480bx2c= this[_0x2fc7[247]]!= _0x480bx2b}));mxEvent[_0x2fc7[257]](_0x480bx2b,_0x2fc7[259],_0x480bx2d)}};function Menu(_0x480bx2a,_0x480bxb){mxEventSource[_0x2fc7[260]](this);this[_0x2fc7[194]]= _0x480bx2a;this[_0x2fc7[78]]= (_0x480bxb!= null)?_0x480bxb:true}mxUtils[_0x2fc7[261]](Menu,mxEventSource);Menu[_0x2fc7[5]][_0x2fc7[262]]= function(_0x480bx19){if(this[_0x2fc7[78]]!= _0x480bx19){this[_0x2fc7[78]]= _0x480bx19;this[_0x2fc7[264]]( new mxEventObject(_0x2fc7[263]))}};Menu[_0x2fc7[5]][_0x2fc7[182]]= function(_0x480bx3,_0x480bx4){this[_0x2fc7[194]](_0x480bx3,_0x480bx4)}
\ No newline at end of file
-/**
- * $Id: Shapes.js,v 1.13 2013-02-02 06:44:30 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-
-/**
- * Registers shapes.
- */
-(function()
-{
- // Cube Shape, supports size style
- function CubeShape() { };
- CubeShape.prototype = new mxCylinder();
- CubeShape.prototype.constructor = CubeShape;
- CubeShape.prototype.size = 20;
- CubeShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = Math.min(w, Math.min(h, mxUtils.getValue(this.style, 'size', this.size)));
-
- if (isForeground)
- {
- path.moveTo(s, h);
- path.lineTo(s, s);
- path.lineTo(0, 0);
- path.moveTo(s, s);
- path.lineTo(w, s);
- path.end();
- }
- else
- {
- path.moveTo(0, 0);
- path.lineTo(w - s, 0);
- path.lineTo(w, s);
- path.lineTo(w, h);
- path.lineTo(s, h);
- path.lineTo(0, h - s);
- path.lineTo(0, 0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['cube'] = CubeShape;
-
- // Note Shape, supports size style
- function NoteShape() { };
- NoteShape.prototype = new mxCylinder();
- NoteShape.prototype.constructor = NoteShape;
- NoteShape.prototype.size = 30;
- NoteShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = Math.min(w, Math.min(h, mxUtils.getValue(this.style, 'size', this.size)));
-
- if (isForeground)
- {
- path.moveTo(w - s, 0);
- path.lineTo(w - s, s);
- path.lineTo(w, s);
- path.end();
- }
- else
- {
- path.moveTo(0, 0);
- path.lineTo(w - s, 0);
- path.lineTo(w, s);
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.lineTo(0, 0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['note'] = NoteShape;
-
- // Folder Shape, supports tabWidth, tabHeight styles
- function FolderShape() { };
- FolderShape.prototype = new mxCylinder();
- FolderShape.prototype.constructor = FolderShape;
- FolderShape.prototype.tabWidth = 60;
- FolderShape.prototype.tabHeight = 20;
- FolderShape.prototype.tabPosition = 'right';
- FolderShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var tw = mxUtils.getValue(this.style, 'tabWidth', this.tabWidth);
- var th = mxUtils.getValue(this.style, 'tabHeight', this.tabHeight);
- var tp = mxUtils.getValue(this.style, 'tabPosition', this.tabPosition);
- var dx = Math.min(w, tw);
- var dy = Math.min(h, th);
-
- if (isForeground)
- {
- if (tp == 'left')
- {
- path.moveTo(0, dy);
- path.lineTo(dx, dy);
- }
- // Right is default
- else
- {
- path.moveTo(w - dx, dy);
- path.lineTo(w, dy);
- }
-
- path.end();
- }
- else
- {
- if (tp == 'left')
- {
- path.moveTo(0, 0);
- path.lineTo(dx, 0);
- path.lineTo(dx, dy);
- path.lineTo(w, dy);
- }
- // Right is default
- else
- {
- path.moveTo(0, dy);
- path.lineTo(w - dx, dy);
- path.lineTo(w - dx, 0);
- path.lineTo(w, 0);
- }
-
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.lineTo(0, dy);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['folder'] = FolderShape;
-
- // Card Shape, supports size style
- function CardShape() { };
- CardShape.prototype = new mxCylinder();
- CardShape.prototype.constructor = CardShape;
- CardShape.prototype.size = 30;
- CardShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = Math.min(w, Math.min(h, mxUtils.getValue(this.style, 'size', this.size)));
-
- if (!isForeground)
- {
- path.moveTo(s, 0);
- path.lineTo(w, 0);
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.lineTo(0, s);
- path.lineTo(s, 0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['card'] = CardShape;
-
- // Tape Shape, supports size style
- function TapeShape() { };
- TapeShape.prototype = new mxCylinder();
- TapeShape.prototype.constructor = TapeShape;
- TapeShape.prototype.size = 0.4;
- TapeShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = mxUtils.getValue(this.style, 'size', this.size);
- var dy = h * s;
- var fy = 1.4;
-
- if (!isForeground)
- {
- path.moveTo(0, dy / 2);
- path.quadTo(w / 4, dy * fy, w / 2, dy / 2);
- path.quadTo(w * 3 / 4, dy * (1 - fy), w, dy / 2);
- path.lineTo(w, h - dy / 2);
- path.quadTo(w * 3 / 4, h - dy * fy, w / 2, h - dy / 2);
- path.quadTo(w / 4, h - dy * (1 - fy), 0, h - dy / 2);
- path.lineTo(0, dy / 2);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['tape'] = TapeShape;
-
- // Tape Shape, supports size style
- function StepShape() { };
- StepShape.prototype = new mxCylinder();
- StepShape.prototype.constructor = StepShape;
- StepShape.prototype.size = 0.2;
- StepShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var s = w * mxUtils.getValue(this.style, 'size', this.size);
-
- if (!isForeground)
- {
- path.moveTo(0, 0);
- path.lineTo(w - s, 0);
- path.lineTo(w, h / 2);
- path.lineTo(w - s, h);
- path.lineTo(0, h);
- path.lineTo(s, h / 2);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['step'] = StepShape;
-
- // Plus Shape
- function PlusShape()
- {
- mxRectangleShape.call(this);
- };
- mxUtils.extend(PlusShape, mxRectangleShape);
- PlusShape.prototype.isHtmlAllowed = function()
- {
- return false;
- };
- PlusShape.prototype.paintForeground = function(c, x, y, w, h)
- {
- var border = Math.min(w / 5, h / 5) + 1;
-
- c.begin();
- c.moveTo(x + w / 2, y + border);
- c.lineTo(x + w / 2, y + h - border);
- c.moveTo(x + border, y + h / 2);
- c.lineTo(x + w - border, y + h / 2);
- c.end();
- c.stroke();
- mxRectangleShape.prototype.paintForeground.apply(this, arguments);
- };
-
- mxCellRenderer.prototype.defaultShapes['plus'] = PlusShape;
-
- // CompositeShape
- function ExtendedShape()
- {
- mxRectangleShape.call(this);
- };
- mxUtils.extend(ExtendedShape, mxRectangleShape);
- ExtendedShape.prototype.isHtmlAllowed = function()
- {
- return false;
- };
- ExtendedShape.prototype.paintForeground = function(c, x, y, w, h)
- {
- if (this.style != null)
- {
- if (this.style['double'] == 1)
- {
- var inset = Math.max(2, this.strokewidth + 1);
-
- mxRectangleShape.prototype.paintBackground.call(this, c, x + inset, y + inset, w - 2 * inset, h - 2 * inset);
- mxRectangleShape.prototype.paintForeground.apply(this, arguments);
-
- x += inset;
- y += inset;
- w -= 2 * inset;
- h -= 2 * inset;
- }
-
- c.setDashed(false);
-
- // Draws the symbols defined in the style. The symbols are
- // numbered from 1...n. Possible postfixes are align,
- // verticalAlign, spacing, arcSpacing, width, height
- var counter = 0;
- var shape = null;
-
- do
- {
- shape = mxCellRenderer.prototype.defaultShapes[this.style['symbol' + counter]];
-
- if (shape != null)
- {
- var align = this.style['symbol' + counter + 'Align'];
- var valign = this.style['symbol' + counter + 'VerticalAlign'];
- var width = this.style['symbol' + counter + 'Width'];
- var height = this.style['symbol' + counter + 'Height'];
- var spacing = this.style['symbol' + counter + 'Spacing'] || 0;
- var arcspacing = this.style['symbol' + counter + 'ArcSpacing'];
-
- if (arcspacing != null)
- {
- spacing += this.getArcSize(w + this.strokewidth, h + this.strokewidth) * arcspacing;
- }
-
- var x2 = x;
- var y2 = y;
-
- if (align == mxConstants.ALIGN_CENTER)
- {
- x2 += (w - width) / 2;
- }
- else if (align == mxConstants.ALIGN_RIGHT)
- {
- x2 += w - width - spacing;
- }
- else
- {
- x2 += spacing;
- }
-
- if (valign == mxConstants.ALIGN_MIDDLE)
- {
- y2 += (h - height) / 2;
- }
- else if (valign == mxConstants.ALIGN_BOTTOM)
- {
- y2 += h - height - spacing;
- }
- else
- {
- y2 += spacing;
- }
-
- c.save();
-
- // Small hack to pass style along into subshape
- var tmp = new shape();
- // TODO: Clone style and override settings (eg. strokewidth)
- tmp.style = this.style;
- shape.prototype.paintVertexShape.call(tmp, c, x2, y2, width, height);
- c.restore();
- }
-
- counter++;
- }
- while (shape != null);
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['ext'] = ExtendedShape;
-
- // Tape Shape, supports size style
- function MessageShape() { };
- MessageShape.prototype = new mxCylinder();
- MessageShape.prototype.constructor = MessageShape;
- MessageShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- if (isForeground)
- {
- path.moveTo(0, 0);
- path.lineTo(w / 2, h / 2);
- path.lineTo(w, 0);
- path.end();
- }
- else
- {
- path.moveTo(0, 0);
- path.lineTo(w, 0);
- path.lineTo(w, h);
- path.lineTo(0, h);
- path.close();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['message'] = MessageShape;
-
- // New Actor Shape
- function UmlActorShape() { };
- UmlActorShape.prototype = new mxCylinder();
- UmlActorShape.prototype.constructor = UmlActorShape;
- UmlActorShape.prototype.addPipe = true;
- UmlActorShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var width = w / 3;
- var height = h / 4;
-
- if (!isForeground)
- {
- path.moveTo(w / 2, height);
- path.curveTo(w / 2 - width, height, w / 2 - width, 0, w / 2, 0);
- path.curveTo(w / 2 + width, 0, w / 2 + width, height, w / 2, height);
- path.close();
-
- path.moveTo(w / 2, height);
- path.lineTo(w / 2, 2 * h / 3);
-
- // Arms
- path.moveTo(w / 2, h / 3);
- path.lineTo(0, h / 3);
- path.moveTo(w / 2, h / 3);
- path.lineTo(w, h / 3);
-
- // Legs
- path.moveTo(w / 2, 2 * h / 3);
- path.lineTo(0, h);
- path.moveTo(w / 2, 2 * h / 3);
- path.lineTo(w, h);
- path.end();
- }
- };
-
- // Replaces existing actor shape
- mxCellRenderer.prototype.defaultShapes['umlActor'] = UmlActorShape;
-
- // New Actor Shape
- function LollipopShape() { };
- LollipopShape.prototype = new mxCylinder();
- LollipopShape.prototype.constructor = LollipopShape;
- LollipopShape.prototype.size = 10;
- LollipopShape.prototype.addPipe = true;
- LollipopShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var ss = mxUtils.getValue(this.style, 'size', this.size);
- var width = ss * 2 / 3;
- var height = ss;
-
- if (!isForeground)
- {
- path.moveTo(w / 2, height);
- path.curveTo(w / 2 - width, height, w / 2 - width, 0, w / 2, 0);
- path.curveTo(w / 2 + width, 0, w / 2 + width, height, w / 2, height);
- path.close();
-
- path.moveTo(w / 2, height);
- path.lineTo(w / 2, h);
- path.end();
- }
- };
-
- // Replaces existing actor shape
- mxCellRenderer.prototype.defaultShapes['lollipop'] = LollipopShape;
-
- // Folder Shape, supports tabWidth, tabHeight styles
- function ComponentShape() { };
- ComponentShape.prototype = new mxCylinder();
- ComponentShape.prototype.constructor = ComponentShape;
- ComponentShape.prototype.jettyWidth = 32;
- ComponentShape.prototype.jettyHeight = 12;
- ComponentShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
- {
- var dx = mxUtils.getValue(this.style, 'jettyWidth', this.jettyWidth);
- var dy = mxUtils.getValue(this.style, 'jettyHeight', this.jettyHeight);
- var x0 = dx / 2;
- var x1 = x0 + dx / 2;
- var y0 = 0.3 * h - dy / 2;
- var y1 = 0.7 * h - dy / 2;
-
- if (isForeground)
- {
- path.moveTo(x0, y0);
- path.lineTo(x1, y0);
- path.lineTo(x1, y0 + dy);
- path.lineTo(x0, y0 + dy);
- path.moveTo(x0, y1);
- path.lineTo(x1, y1);
- path.lineTo(x1, y1 + dy);
- path.lineTo(x0, y1 + dy);
- path.end();
- }
- else
- {
- path.moveTo(x0, 0);
- path.lineTo(w, 0);
- path.lineTo(w, h);
- path.lineTo(x0, h);
- path.lineTo(x0, y1 + dy);
- path.lineTo(0, y1 + dy);
- path.lineTo(0, y1);
- path.lineTo(x0, y1);
- path.lineTo(x0, y0 + dy);
- path.lineTo(0, y0 + dy);
- path.lineTo(0, y0);
- path.lineTo(x0, y0);
- path.close();
- path.end();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['component'] = ComponentShape;
-
- // State Shapes derives from double ellipse
- function StateShape() { };
- StateShape.prototype = new mxDoubleEllipse();
- StateShape.prototype.constructor = StateShape;
- StateShape.prototype.outerStroke = true;
- StateShape.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- var inset = Math.min(4, Math.min(w / 5, h / 5));
-
- if (w > 0 && h > 0)
- {
- c.ellipse(x + inset, y + inset, w - 2 * inset, h - 2 * inset);
- c.fillAndStroke();
- }
-
- c.setShadow(false);
-
- if (this.outerStroke)
- {
- c.ellipse(x, y, w, h);
- c.stroke();
- }
- };
-
- mxCellRenderer.prototype.defaultShapes['endState'] = StateShape;
-
- function StartStateShape() { };
- StartStateShape.prototype = new StateShape();
- StartStateShape.prototype.constructor = StartStateShape;
- StartStateShape.prototype.outerStroke = false;
-
- mxCellRenderer.prototype.defaultShapes['startState'] = StartStateShape;
-
- // Image export for state shapes
- var imageExportInitShapes = mxImageExport.prototype.initShapes;
- mxImageExport.prototype.initShapes = function()
- {
- imageExportInitShapes.apply(this, arguments);
-
- function createStateShape(outerStroke)
- {
- return {
- drawShape: function(canvas, state, bounds, background)
- {
- var x = bounds.x;
- var y = bounds.y;
- var w = bounds.width;
- var h = bounds.height;
-
- if (background)
- {
- var inset = Math.min(4, Math.min(w / 5, h / 5));
- x += inset;
- y += inset;
- w -= 2 * inset;
- h -= 2 * inset;
-
- if (w > 0 && h > 0)
- {
- canvas.ellipse(x, y, w, h);
- }
-
- return true;
- }
- else
- {
- canvas.fillAndStroke();
-
- if (outerStroke)
- {
- canvas.ellipse(x, y, w, h);
- canvas.stroke();
- }
- }
- }
- };
- };
-
- this.shapes['endState'] = createStateShape(true);
- this.shapes['startState'] = createStateShape(false);
- };
-
- // Defines custom edge shape
- function LinkShape()
- {
- mxArrow.call(this);
- };
- mxUtils.extend(LinkShape, mxArrow);
- LinkShape.prototype.paintEdgeShape = function(c, pts)
- {
- var width = 10;
-
- // Base vector (between end points)
- var p0 = pts[0];
- var pe = pts[pts.length - 1];
-
- var dx = pe.x - p0.x;
- var dy = pe.y - p0.y;
- var dist = Math.sqrt(dx * dx + dy * dy);
- var length = dist;
-
- // Computes the norm and the inverse norm
- var nx = dx / dist;
- var ny = dy / dist;
- var basex = length * nx;
- var basey = length * ny;
- var floorx = width * ny/3;
- var floory = -width * nx/3;
-
- // Computes points
- var p0x = p0.x - floorx / 2;
- var p0y = p0.y - floory / 2;
- var p1x = p0x + floorx;
- var p1y = p0y + floory;
- var p2x = p1x + basex;
- var p2y = p1y + basey;
- var p3x = p2x + floorx;
- var p3y = p2y + floory;
- // p4 not necessary
- var p5x = p3x - 3 * floorx;
- var p5y = p3y - 3 * floory;
-
- c.begin();
- c.moveTo(p1x, p1y);
- c.lineTo(p2x, p2y);
- c.moveTo(p5x + floorx, p5y + floory);
- c.lineTo(p0x, p0y);
- c.stroke();
- };
-
- // Registers the link shape
- mxCellRenderer.prototype.defaultShapes['link'] = LinkShape;
-
- // Registers and defines the custom marker
- mxMarker.addMarker('dash', function(canvas, shape, type, pe, unitX, unitY, size, source, sw, filled)
- {
- var nx = unitX * (size + sw + 1);
- var ny = unitY * (size + sw + 1);
-
- return function()
- {
- canvas.begin();
- canvas.moveTo(pe.x - nx / 2 - ny / 2, pe.y - ny / 2 + nx / 2);
- canvas.lineTo(pe.x + ny / 2 - 3 * nx / 2, pe.y - 3 * ny / 2 - nx / 2);
- canvas.stroke();
- };
- });
-
- // Implements custom handlers
- var SPECIAL_HANDLE_INDEX = -99;
-
- // Handlers are only added if mxVertexHandler is defined (ie. not in embedded graph)
- if (typeof(mxVertexHandler) != 'undefined')
- {
- function mxExtVertexHandler(state)
- {
- mxVertexHandler.call(this, state);
- };
-
- mxUtils.extend(mxExtVertexHandler, mxVertexHandler);
-
- mxExtVertexHandler.prototype.useGridForSpecialHandle = false;
-
- mxExtVertexHandler.prototype.init = function()
- {
- this.horizontal = mxUtils.getValue(this.state.style, mxConstants.STYLE_HORIZONTAL, true);
- var graph = this.state.view.graph;
-
- if (this.handleImage != null)
- {
- var bounds = new mxRectangle(0, 0, this.handleImage.width, this.handleImage.height);
- this.specialHandle = new mxImageShape(bounds, this.handleImage.src);
- }
- else
- {
- var size = 10;
- var bounds = new mxRectangle(0, 0, size, size);
- this.specialHandle = new mxRhombus(bounds, mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR);
- }
-
- this.specialHandle.dialect = (graph.dialect != mxConstants.DIALECT_SVG) ?
- mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
- this.specialHandle.init(graph.getView().getOverlayPane());
- this.specialHandle.node.style.cursor = this.getSpecialHandleCursor();
-
- mxEvent.redirectMouseEvents(this.specialHandle.node, graph, this.state);
- mxVertexHandler.prototype.init.apply(this, arguments);
- };
-
- mxExtVertexHandler.prototype.getSpecialHandleCursor = function()
- {
- return 'default';
- };
-
- mxExtVertexHandler.prototype.redraw = function()
- {
- mxVertexHandler.prototype.redraw.apply(this, arguments);
-
- var size = this.specialHandle.bounds.width;
- this.specialHandle.bounds = this.getSpecialHandleBounds(size);
- this.specialHandle.redraw();
- };
-
- mxExtVertexHandler.prototype.destroy = function()
- {
- mxVertexHandler.prototype.destroy.apply(this, arguments);
-
- if (this.specialHandle != null)
- {
- this.specialHandle.destroy();
- this.specialHandle = null;
- }
- };
-
- mxExtVertexHandler.prototype.getHandleForEvent = function(me)
- {
- if (me.isSource(this.specialHandle))
- {
- return SPECIAL_HANDLE_INDEX;
- }
-
- return mxVertexHandler.prototype.getHandleForEvent.apply(this, arguments);
- };
-
- mxExtVertexHandler.prototype.mouseMove = function(sender, me)
- {
- if (!me.isConsumed() && this.index == SPECIAL_HANDLE_INDEX)
- {
- var point = new mxPoint(me.getGraphX(), me.getGraphY());
- this.constrainPoint(point);
- var gridEnabled = this.graph.isGridEnabledEvent(me.getEvent());
- var scale = this.graph.getView().scale;
-
- if (gridEnabled && this.useGridForSpecialHandle)
- {
- point.x = this.graph.snap(point.x / scale) * scale;
- point.y = this.graph.snap(point.y / scale) * scale;
- }
-
- this.updateStyle(point);
- this.moveSizerTo(this.specialHandle, point.x, point.y);
- this.state.view.graph.cellRenderer.redraw(this.state, true);
- me.consume();
- }
- else
- {
- mxVertexHandler.prototype.mouseMove.apply(this, arguments);
- }
- };
-
- mxExtVertexHandler.prototype.mouseUp = function(sender, me)
- {
- if (!me.isConsumed() && this.index == SPECIAL_HANDLE_INDEX)
- {
- this.applyStyle();
- this.reset();
- me.consume();
- }
- else
- {
- mxVertexHandler.prototype.mouseUp.apply(this, arguments);
- }
- };
-
- mxExtVertexHandler.prototype.getSpecialHandleBounds = function(size)
- {
- var rotation = this.state.shape.getShapeRotation();
- var alpha = mxUtils.toRadians(rotation);
- var cos = Math.cos(alpha);
- var sin = Math.sin(alpha);
-
- var bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
-
- if (this.state.shape.isPaintBoundsInverted())
- {
- var t = (bounds.width - bounds.height) / 2;
- bounds.x += t;
- bounds.y -= t;
- var tmp = bounds.width;
- bounds.width = bounds.height;
- bounds.height = tmp;
- }
-
- var pt = this.getSpecialHandlePoint(bounds);
-
- if (this.state.shape.flipH)
- {
- pt.x = 2 * bounds.x + bounds.width - pt.x;
- }
-
- if (this.state.shape.flipV)
- {
- pt.y = 2 * bounds.y + bounds.height - pt.y;
- }
-
- pt = mxUtils.getRotatedPoint(pt, cos, sin,
- new mxPoint(this.state.getCenterX(), this.state.getCenterY()));
-
- return new mxRectangle(pt.x - size / 2, pt.y - size / 2, size, size);
- };
-
- mxExtVertexHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- // Hook for subclassers
- return null;
- };
-
- mxExtVertexHandler.prototype.updateStyle = function(point)
- {
- // Hook for subclassers
- };
-
- mxExtVertexHandler.prototype.constrainPoint = function(point)
- {
- point.x = Math.max(this.state.x, Math.min(this.state.x + this.state.width, point.x));
- point.y = Math.max(this.state.y, Math.min(this.state.y + this.state.height, point.y));
- };
-
- mxExtVertexHandler.prototype.applyStyle = function()
- {
- // Hook for subclassers
- };
-
- // Folder Handler
- function mxFolderHandler(state)
- {
- mxExtVertexHandler.call(this, state);
- };
-
- mxUtils.extend(mxFolderHandler, mxExtVertexHandler);
-
- mxFolderHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var tw = Math.min(bounds.width, mxUtils.getValue(this.state.style, 'tabWidth', 60) * scale);
- var th = Math.min(bounds.height, mxUtils.getValue(this.state.style, 'tabHeight', 20) * scale);
-
- var tp = mxUtils.getValue(this.state.style, 'tabPosition', 'right');
- var x = (tp == 'left') ? bounds.x + tw : bounds.x + bounds.width - tw;
-
- return new mxPoint(x, bounds.y + th);
- };
-
- mxFolderHandler.prototype.updateStyle = function(point)
- {
- var rotation = this.state.shape.getShapeRotation();
- var alpha = mxUtils.toRadians(rotation);
- var cos = Math.cos(-alpha);
- var sin = Math.sin(-alpha);
-
- var bounds = new mxRectangle(this.state.x, this.state.y, this.state.width, this.state.height);
-
- if (this.state.shape.isPaintBoundsInverted())
- {
- var t = (bounds.width - bounds.height) / 2;
- bounds.x += t;
- bounds.y -= t;
- var tmp = bounds.width;
- bounds.width = bounds.height;
- bounds.height = tmp;
- }
-
- var pt = new mxPoint(point.x, point.y);
- pt = mxUtils.getRotatedPoint(pt, cos, sin,
- new mxPoint(this.state.getCenterX(), this.state.getCenterY()));
-
- if (this.state.shape.flipH)
- {
- pt.x = 2 * bounds.x + bounds.width - pt.x;
- }
-
- if (this.state.shape.flipV)
- {
- pt.y = 2 * bounds.y + bounds.height - pt.y;
- }
-
- var result = this.updateStyleUnrotated(pt, bounds);
-
- // Modifies point to use rotated coordinates of return value
- if (result != null)
- {
- if (this.state.shape.flipH)
- {
- result.x = 2 * bounds.x + bounds.width - result.x;
- }
-
- if (this.state.shape.flipV)
- {
- result.y = 2 * bounds.y + bounds.height - result.y;
- }
-
- cos = Math.cos(alpha);
- sin = Math.sin(alpha);
- result = mxUtils.getRotatedPoint(result, cos, sin,
- new mxPoint(this.state.getCenterX(), this.state.getCenterY()));
- point.x = result.x;
- point.y = result.y;
- }
- };
-
- mxFolderHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var tp = mxUtils.getValue(this.state.style, 'tabPosition', 'right');
- var tw = (tp == 'left') ? pt.x - bounds.x : bounds.x + bounds.width - pt.x;
- var th = pt.y - bounds.y;
-
- var scale = this.graph.getView().scale;
- this.state.style['tabWidth'] = Math.round(Math.max(1, tw) / scale);
- this.state.style['tabHeight'] = Math.round(Math.max(1, th) / scale);
- };
-
- mxFolderHandler.prototype.applyStyle = function()
- {
- var model = this.graph.getModel();
- model.beginUpdate();
- try
- {
- this.state.view.graph.setCellStyles('tabWidth', this.state.style['tabWidth'], [this.state.cell]);
- this.state.view.graph.setCellStyles('tabHeight', this.state.style['tabHeight'], [this.state.cell]);
- }
- finally
- {
- model.endUpdate();
- }
- };
-
- // Swimlane Handler
- function mxSwimlaneHandler(state)
- {
- mxFolderHandler.call(this, state);
- };
-
- mxUtils.extend(mxSwimlaneHandler, mxFolderHandler);
-
- mxSwimlaneHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var startSize = mxUtils.getValue(this.state.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE);
-
- return new mxPoint(bounds.x + bounds.width / 2, bounds.y + Math.min(bounds.height, startSize * scale));
- };
-
- mxSwimlaneHandler.prototype.updateStyleUnrotated = function(point, bounds)
- {
- point.x = bounds.x + bounds.width / 2;
- startSize = point.y - bounds.y;
- var scale = this.graph.getView().scale;
- this.state.style['startSize'] = Math.round(Math.max(1, startSize) / scale);
-
- return point;
- };
-
- mxSwimlaneHandler.prototype.applyStyle = function()
- {
- this.state.view.graph.setCellStyles('startSize', this.state.style['startSize'], [this.state.cell]);
- };
-
- // Cube Handler
- function mxCubeHandler(state)
- {
- mxFolderHandler.call(this, state);
- };
-
- mxUtils.extend(mxCubeHandler, mxFolderHandler);
-
- mxCubeHandler.prototype.defaultValue = 20;
-
- mxCubeHandler.prototype.scaleFactor = 1;
-
- mxCubeHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var sz = Math.min(bounds.width, Math.min(bounds.height,
- mxUtils.getValue(this.state.style, 'size', this.defaultValue) * scale / this.scaleFactor));
-
- return new mxPoint(bounds.x + sz, bounds.y + sz);
- };
-
- mxCubeHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.max(0, Math.min(Math.min(bounds.width / this.scaleFactor, pt.x - bounds.x),
- Math.min(bounds.height / this.scaleFactor, pt.y - bounds.y)));
- var scale = this.graph.getView().scale;
- this.state.style['size'] = Math.round(Math.max(1, size) / scale) * this.scaleFactor;
-
- // Stays on the diagonal
- return new mxPoint(bounds.x + size, bounds.y + size);
- };
-
- mxCubeHandler.prototype.applyStyle = function()
- {
- this.state.view.graph.setCellStyles('size', this.state.style['size'], [this.state.cell]);
- };
-
- // Card Handler
- function mxCardHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxCardHandler, mxCubeHandler);
-
- mxCardHandler.prototype.defaultValue = 30;
-
- mxCardHandler.prototype.scaleFactor = 2;
-
- // Note Handler
- function mxNoteHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxNoteHandler, mxCubeHandler);
-
- mxNoteHandler.prototype.defaultValue = 30;
-
- mxNoteHandler.prototype.scaleFactor = 1;
-
- mxNoteHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var scale = this.graph.getView().scale;
- var sz = Math.min(bounds.width, Math.min(bounds.height,
- mxUtils.getValue(this.state.style, 'size', this.defaultValue) * scale / this.scaleFactor));
-
- return new mxPoint(bounds.x + bounds.width - sz, bounds.y + sz);
- };
-
- mxNoteHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.max(0, Math.min(Math.min(bounds.width / this.scaleFactor, pt.x - bounds.x + bounds.width),
- Math.min(bounds.height / this.scaleFactor, pt.y - bounds.y)));
- var scale = this.graph.getView().scale;
- this.state.style['size'] = Math.round(Math.max(1, size) / scale) * this.scaleFactor;
-
- // Stays on the diagonal
- return new mxPoint(bounds.x + bounds.width - size, bounds.y + size);
- };
-
- // Step Handler
- function mxStepHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxStepHandler, mxCubeHandler);
-
- mxStepHandler.prototype.defaultValue = 0.2;
-
- mxStepHandler.prototype.scaleFactor = 1;
-
- mxStepHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var sz = mxUtils.getValue(this.state.style, 'size', this.defaultValue);
-
- return new mxPoint(bounds.x + bounds.width * sz, bounds.y + bounds.height / 2);
- };
-
- mxStepHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.min(1, (pt.x - bounds.x) / bounds.width);
- this.state.style['size'] = size;
-
- return new mxPoint(bounds.x + size * bounds.width, bounds.y + bounds.height / 2);
- };
-
- // Tape Handler
- function mxTapeHandler(state)
- {
- mxCubeHandler.call(this, state);
- };
-
- mxUtils.extend(mxTapeHandler, mxCubeHandler);
-
- mxTapeHandler.prototype.defaultValue = 0.4;
-
- mxTapeHandler.prototype.scaleFactor = 1;
-
- mxTapeHandler.prototype.getSpecialHandlePoint = function(bounds)
- {
- var sz = mxUtils.getValue(this.state.style, 'size', this.defaultValue);
-
- return new mxPoint(bounds.x + bounds.width / 2, bounds.y + sz * bounds.height / 2);
- };
-
- mxTapeHandler.prototype.updateStyleUnrotated = function(pt, bounds)
- {
- var size = Math.max(0, Math.min(1, ((pt.y - bounds.y) / bounds.height) * 2));
- this.state.style['size'] = size;
-
- return new mxPoint(bounds.x + bounds.width / 2, bounds.y + size * bounds.height / 2);
- };
-
- var handlers = {'swimlane': mxSwimlaneHandler, 'folder': mxFolderHandler, 'cube': mxCubeHandler,
- 'card': mxCardHandler, 'note': mxNoteHandler, 'step': mxStepHandler, 'tape': mxTapeHandler};
-
- var mxGraphCreateHandler = mxGraph.prototype.createHandler;
- mxGraph.prototype.createHandler = function(state)
- {
- if (state != null)
- {
- var ctor = handlers[state.style['shape']];
-
- if (ctor != null)
- {
- return new ctor(state);
- }
- }
-
- return mxGraphCreateHandler.apply(this, arguments);
- };
- }
-
- // Constraints
- mxGraph.prototype.getAllConnectionConstraints = function(terminal, source)
- {
- if (terminal != null && terminal.shape != null)
- {
- if (terminal.shape.stencil != null)
- {
- if (terminal.shape.stencil != null)
- {
- return terminal.shape.stencil.constraints;
- }
- }
- else if (terminal.shape.constraints != null)
- {
- return terminal.shape.constraints;
- }
- }
-
- return null;
- };
-
- mxRectangleShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0), true),
- new mxConnectionConstraint(new mxPoint(0, 0.25), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0, 0.75), true),
- new mxConnectionConstraint(new mxPoint(1, 0.25), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true)];
- mxLabel.prototype.constraints = mxRectangleShape.prototype.constraints;
- mxImageShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- mxSwimlane.prototype.constraints = mxRectangleShape.prototype.constraints;
- PlusShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- NoteShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- CardShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- CubeShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- FolderShape.prototype.constraints = mxRectangleShape.prototype.constraints;
- mxCylinder.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.15, 0.05), false),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.85, 0.05), false),
- new mxConnectionConstraint(new mxPoint(0, 0.3), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0, 0.7), true),
- new mxConnectionConstraint(new mxPoint(1, 0.3), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.7), true),
- new mxConnectionConstraint(new mxPoint(0.15, 0.95), false),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.85, 0.95), false)];
- UmlActorShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0.1), false),
- new mxConnectionConstraint(new mxPoint(0.5, 0), false),
- new mxConnectionConstraint(new mxPoint(0.75, 0.1), false),
- new mxConnectionConstraint(new mxPoint(0, 1/3), false),
- new mxConnectionConstraint(new mxPoint(0, 1), false),
- new mxConnectionConstraint(new mxPoint(1, 1/3), false),
- new mxConnectionConstraint(new mxPoint(1, 1), false),
- new mxConnectionConstraint(new mxPoint(0.5, 0.5), false)];
- ComponentShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0), true),
- new mxConnectionConstraint(new mxPoint(0, 0.3), true),
- new mxConnectionConstraint(new mxPoint(0, 0.7), true),
- new mxConnectionConstraint(new mxPoint(1, 0.25), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true)];
- mxActor.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.25, 0.2), false),
- new mxConnectionConstraint(new mxPoint(0.1, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0.9, 0.5), false),
- new mxConnectionConstraint(new mxPoint(1, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true)];
- TapeShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0.35), false),
- new mxConnectionConstraint(new mxPoint(0, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0, 0.65), false),
- new mxConnectionConstraint(new mxPoint(1, 0.35), false),
- new mxConnectionConstraint(new mxPoint(1, 0.5), false),
- new mxConnectionConstraint(new mxPoint(1, 0.65), false),
- new mxConnectionConstraint(new mxPoint(0.25, 1), false),
- new mxConnectionConstraint(new mxPoint(0.75, 0), false)];
- // TODO: Relative ports
- StepShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.75, 0), true),
- new mxConnectionConstraint(new mxPoint(0.25, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.75, 1), true),
- new mxConnectionConstraint(new mxPoint(0.1, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0.2, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.1, 0.75), false),
- new mxConnectionConstraint(new mxPoint(0.9, 0.25), false),
- new mxConnectionConstraint(new mxPoint(1, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.9, 0.75), false)];
- mxLine.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.25, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.75, 0.5), false),
- new mxConnectionConstraint(new mxPoint(1, 0.5), false)];
- LollipopShape.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.5, 0), false),
- new mxConnectionConstraint(new mxPoint(0.5, 1), false)];
- mxEllipse.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0), true), new mxConnectionConstraint(new mxPoint(1, 0), true),
- new mxConnectionConstraint(new mxPoint(0, 1), true), new mxConnectionConstraint(new mxPoint(1, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true), new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true), new mxConnectionConstraint(new mxPoint(1, 0.5))];
- mxDoubleEllipse.prototype.constraints = mxEllipse.prototype.constraints;
- mxRhombus.prototype.constraints = mxEllipse.prototype.constraints;
- mxTriangle.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0, 0.25), true),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0, 0.75), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true)];
- mxHexagon.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.375, 0), true),
- new mxConnectionConstraint(new mxPoint(0.5, 0), true),
- new mxConnectionConstraint(new mxPoint(0.625, 0), true),
- new mxConnectionConstraint(new mxPoint(0.125, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0.125, 0.75), false),
- new mxConnectionConstraint(new mxPoint(0.875, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0, 0.5), true),
- new mxConnectionConstraint(new mxPoint(1, 0.5), true),
- new mxConnectionConstraint(new mxPoint(0.875, 0.75), false),
- new mxConnectionConstraint(new mxPoint(0.375, 1), true),
- new mxConnectionConstraint(new mxPoint(0.5, 1), true),
- new mxConnectionConstraint(new mxPoint(0.625, 1), true)];
- mxCloud.prototype.constraints = [new mxConnectionConstraint(new mxPoint(0.25, 0.25), false),
- new mxConnectionConstraint(new mxPoint(0.4, 0.1), false),
- new mxConnectionConstraint(new mxPoint(0.16, 0.55), false),
- new mxConnectionConstraint(new mxPoint(0.07, 0.4), false),
- new mxConnectionConstraint(new mxPoint(0.31, 0.8), false),
- new mxConnectionConstraint(new mxPoint(0.13, 0.77), false),
- new mxConnectionConstraint(new mxPoint(0.8, 0.8), false),
- new mxConnectionConstraint(new mxPoint(0.55, 0.95), false),
- new mxConnectionConstraint(new mxPoint(0.875, 0.5), false),
- new mxConnectionConstraint(new mxPoint(0.96, 0.7), false),
- new mxConnectionConstraint(new mxPoint(0.625, 0.2), false),
- new mxConnectionConstraint(new mxPoint(0.88, 0.25), false)];
- mxArrow.prototype.constraints = null;
-})();
+var _0x3e05=["\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","\x73\x69\x7A\x65","\x72\x65\x64\x72\x61\x77\x50\x61\x74\x68","\x73\x74\x79\x6C\x65","\x67\x65\x74\x56\x61\x6C\x75\x65","\x6D\x69\x6E","\x6D\x6F\x76\x65\x54\x6F","\x6C\x69\x6E\x65\x54\x6F","\x65\x6E\x64","\x63\x6C\x6F\x73\x65","\x63\x75\x62\x65","\x64\x65\x66\x61\x75\x6C\x74\x53\x68\x61\x70\x65\x73","\x6E\x6F\x74\x65","\x74\x61\x62\x57\x69\x64\x74\x68","\x74\x61\x62\x48\x65\x69\x67\x68\x74","\x74\x61\x62\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x72\x69\x67\x68\x74","\x6C\x65\x66\x74","\x66\x6F\x6C\x64\x65\x72","\x63\x61\x72\x64","\x71\x75\x61\x64\x54\x6F","\x74\x61\x70\x65","\x73\x74\x65\x70","\x63\x61\x6C\x6C","\x65\x78\x74\x65\x6E\x64","\x69\x73\x48\x74\x6D\x6C\x41\x6C\x6C\x6F\x77\x65\x64","\x70\x61\x69\x6E\x74\x46\x6F\x72\x65\x67\x72\x6F\x75\x6E\x64","\x62\x65\x67\x69\x6E","\x73\x74\x72\x6F\x6B\x65","\x61\x70\x70\x6C\x79","\x70\x6C\x75\x73","\x64\x6F\x75\x62\x6C\x65","\x73\x74\x72\x6F\x6B\x65\x77\x69\x64\x74\x68","\x6D\x61\x78","\x70\x61\x69\x6E\x74\x42\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x73\x65\x74\x44\x61\x73\x68\x65\x64","\x73\x79\x6D\x62\x6F\x6C","\x41\x6C\x69\x67\x6E","\x56\x65\x72\x74\x69\x63\x61\x6C\x41\x6C\x69\x67\x6E","\x57\x69\x64\x74\x68","\x48\x65\x69\x67\x68\x74","\x53\x70\x61\x63\x69\x6E\x67","\x41\x72\x63\x53\x70\x61\x63\x69\x6E\x67","\x67\x65\x74\x41\x72\x63\x53\x69\x7A\x65","\x41\x4C\x49\x47\x4E\x5F\x43\x45\x4E\x54\x45\x52","\x41\x4C\x49\x47\x4E\x5F\x52\x49\x47\x48\x54","\x41\x4C\x49\x47\x4E\x5F\x4D\x49\x44\x44\x4C\x45","\x41\x4C\x49\x47\x4E\x5F\x42\x4F\x54\x54\x4F\x4D","\x73\x61\x76\x65","\x70\x61\x69\x6E\x74\x56\x65\x72\x74\x65\x78\x53\x68\x61\x70\x65","\x72\x65\x73\x74\x6F\x72\x65","\x65\x78\x74","\x6D\x65\x73\x73\x61\x67\x65","\x61\x64\x64\x50\x69\x70\x65","\x63\x75\x72\x76\x65\x54\x6F","\x75\x6D\x6C\x41\x63\x74\x6F\x72","\x6C\x6F\x6C\x6C\x69\x70\x6F\x70","\x6A\x65\x74\x74\x79\x57\x69\x64\x74\x68","\x6A\x65\x74\x74\x79\x48\x65\x69\x67\x68\x74","\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74","\x6F\x75\x74\x65\x72\x53\x74\x72\x6F\x6B\x65","\x65\x6C\x6C\x69\x70\x73\x65","\x66\x69\x6C\x6C\x41\x6E\x64\x53\x74\x72\x6F\x6B\x65","\x73\x65\x74\x53\x68\x61\x64\x6F\x77","\x65\x6E\x64\x53\x74\x61\x74\x65","\x73\x74\x61\x72\x74\x53\x74\x61\x74\x65","\x69\x6E\x69\x74\x53\x68\x61\x70\x65\x73","\x78","\x79","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x73\x68\x61\x70\x65\x73","\x70\x61\x69\x6E\x74\x45\x64\x67\x65\x53\x68\x61\x70\x65","\x6C\x65\x6E\x67\x74\x68","\x73\x71\x72\x74","\x6C\x69\x6E\x6B","\x64\x61\x73\x68","\x61\x64\x64\x4D\x61\x72\x6B\x65\x72","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x75\x73\x65\x47\x72\x69\x64\x46\x6F\x72\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65","\x69\x6E\x69\x74","\x68\x6F\x72\x69\x7A\x6F\x6E\x74\x61\x6C","\x73\x74\x61\x74\x65","\x67\x72\x61\x70\x68","\x76\x69\x65\x77","\x68\x61\x6E\x64\x6C\x65\x49\x6D\x61\x67\x65","\x73\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65","\x73\x72\x63","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x44\x49\x41\x4C\x45\x43\x54\x5F\x56\x4D\x4C","\x67\x65\x74\x4F\x76\x65\x72\x6C\x61\x79\x50\x61\x6E\x65","\x67\x65\x74\x56\x69\x65\x77","\x63\x75\x72\x73\x6F\x72","\x6E\x6F\x64\x65","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65\x43\x75\x72\x73\x6F\x72","\x72\x65\x64\x69\x72\x65\x63\x74\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73","\x64\x65\x66\x61\x75\x6C\x74","\x72\x65\x64\x72\x61\x77","\x62\x6F\x75\x6E\x64\x73","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65\x42\x6F\x75\x6E\x64\x73","\x64\x65\x73\x74\x72\x6F\x79","\x67\x65\x74\x48\x61\x6E\x64\x6C\x65\x46\x6F\x72\x45\x76\x65\x6E\x74","\x69\x73\x53\x6F\x75\x72\x63\x65","\x6D\x6F\x75\x73\x65\x4D\x6F\x76\x65","\x69\x73\x43\x6F\x6E\x73\x75\x6D\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74\x47\x72\x61\x70\x68\x58","\x67\x65\x74\x47\x72\x61\x70\x68\x59","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x50\x6F\x69\x6E\x74","\x67\x65\x74\x45\x76\x65\x6E\x74","\x69\x73\x47\x72\x69\x64\x45\x6E\x61\x62\x6C\x65\x64\x45\x76\x65\x6E\x74","\x73\x63\x61\x6C\x65","\x73\x6E\x61\x70","\x75\x70\x64\x61\x74\x65\x53\x74\x79\x6C\x65","\x6D\x6F\x76\x65\x53\x69\x7A\x65\x72\x54\x6F","\x63\x65\x6C\x6C\x52\x65\x6E\x64\x65\x72\x65\x72","\x63\x6F\x6E\x73\x75\x6D\x65","\x6D\x6F\x75\x73\x65\x55\x70","\x61\x70\x70\x6C\x79\x53\x74\x79\x6C\x65","\x72\x65\x73\x65\x74","\x67\x65\x74\x53\x68\x61\x70\x65\x52\x6F\x74\x61\x74\x69\x6F\x6E","\x73\x68\x61\x70\x65","\x74\x6F\x52\x61\x64\x69\x61\x6E\x73","\x63\x6F\x73","\x73\x69\x6E","\x69\x73\x50\x61\x69\x6E\x74\x42\x6F\x75\x6E\x64\x73\x49\x6E\x76\x65\x72\x74\x65\x64","\x67\x65\x74\x53\x70\x65\x63\x69\x61\x6C\x48\x61\x6E\x64\x6C\x65\x50\x6F\x69\x6E\x74","\x66\x6C\x69\x70\x48","\x66\x6C\x69\x70\x56","\x67\x65\x74\x43\x65\x6E\x74\x65\x72\x58","\x67\x65\x74\x43\x65\x6E\x74\x65\x72\x59","\x67\x65\x74\x52\x6F\x74\x61\x74\x65\x64\x50\x6F\x69\x6E\x74","\x75\x70\x64\x61\x74\x65\x53\x74\x79\x6C\x65\x55\x6E\x72\x6F\x74\x61\x74\x65\x64","\x72\x6F\x75\x6E\x64","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x62\x65\x67\x69\x6E\x55\x70\x64\x61\x74\x65","\x63\x65\x6C\x6C","\x73\x65\x74\x43\x65\x6C\x6C\x53\x74\x79\x6C\x65\x73","\x65\x6E\x64\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x72\x74\x53\x69\x7A\x65","\x64\x65\x66\x61\x75\x6C\x74\x56\x61\x6C\x75\x65","\x73\x63\x61\x6C\x65\x46\x61\x63\x74\x6F\x72","\x63\x72\x65\x61\x74\x65\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x41\x6C\x6C\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73","\x73\x74\x65\x6E\x63\x69\x6C","\x63\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x73"];(function(){function _0x4a03x1(){}_0x4a03x1[_0x3e05[0]]= new mxCylinder();_0x4a03x1[_0x3e05[0]][_0x3e05[1]]= _0x4a03x1;_0x4a03x1[_0x3e05[0]][_0x3e05[2]]= 20;_0x4a03x1[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x8=Math[_0x3e05[6]](_0x4a03x5,Math[_0x3e05[6]](_0x4a03x6,mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[2],this[_0x3e05[2]])));if(_0x4a03x7){_0x4a03x2[_0x3e05[7]](_0x4a03x8,_0x4a03x6);_0x4a03x2[_0x3e05[8]](_0x4a03x8,_0x4a03x8);_0x4a03x2[_0x3e05[8]](0,0);_0x4a03x2[_0x3e05[7]](_0x4a03x8,_0x4a03x8);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x8);_0x4a03x2[_0x3e05[9]]()}else {_0x4a03x2[_0x3e05[7]](0,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03x8,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x8);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[8]](_0x4a03x8,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6- _0x4a03x8);_0x4a03x2[_0x3e05[8]](0,0);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[11]]= _0x4a03x1;function _0x4a03x9(){}_0x4a03x9[_0x3e05[0]]= new mxCylinder();_0x4a03x9[_0x3e05[0]][_0x3e05[1]]= _0x4a03x9;_0x4a03x9[_0x3e05[0]][_0x3e05[2]]= 30;_0x4a03x9[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x8=Math[_0x3e05[6]](_0x4a03x5,Math[_0x3e05[6]](_0x4a03x6,mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[2],this[_0x3e05[2]])));if(_0x4a03x7){_0x4a03x2[_0x3e05[7]](_0x4a03x5- _0x4a03x8,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03x8,_0x4a03x8);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x8);_0x4a03x2[_0x3e05[9]]()}else {_0x4a03x2[_0x3e05[7]](0,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03x8,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x8);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,0);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[13]]= _0x4a03x9;function _0x4a03xa(){}_0x4a03xa[_0x3e05[0]]= new mxCylinder();_0x4a03xa[_0x3e05[0]][_0x3e05[1]]= _0x4a03xa;_0x4a03xa[_0x3e05[0]][_0x3e05[14]]= 60;_0x4a03xa[_0x3e05[0]][_0x3e05[15]]= 20;_0x4a03xa[_0x3e05[0]][_0x3e05[16]]= _0x3e05[17];_0x4a03xa[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03xb=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[14],this[_0x3e05[14]]);var _0x4a03xc=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[15],this[_0x3e05[15]]);var _0x4a03xd=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[16],this[_0x3e05[16]]);var _0x4a03xe=Math[_0x3e05[6]](_0x4a03x5,_0x4a03xb);var _0x4a03xf=Math[_0x3e05[6]](_0x4a03x6,_0x4a03xc);if(_0x4a03x7){if(_0x4a03xd== _0x3e05[18]){_0x4a03x2[_0x3e05[7]](0,_0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03xe,_0x4a03xf)}else {_0x4a03x2[_0x3e05[7]](_0x4a03x5- _0x4a03xe,_0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03xf)};_0x4a03x2[_0x3e05[9]]()}else {if(_0x4a03xd== _0x3e05[18]){_0x4a03x2[_0x3e05[7]](0,0);_0x4a03x2[_0x3e05[8]](_0x4a03xe,0);_0x4a03x2[_0x3e05[8]](_0x4a03xe,_0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03xf)}else {_0x4a03x2[_0x3e05[7]](0,_0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03xe,_0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03xe,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,0)};_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03xf);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[19]]= _0x4a03xa;function _0x4a03x10(){}_0x4a03x10[_0x3e05[0]]= new mxCylinder();_0x4a03x10[_0x3e05[0]][_0x3e05[1]]= _0x4a03x10;_0x4a03x10[_0x3e05[0]][_0x3e05[2]]= 30;_0x4a03x10[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x8=Math[_0x3e05[6]](_0x4a03x5,Math[_0x3e05[6]](_0x4a03x6,mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[2],this[_0x3e05[2]])));if(!_0x4a03x7){_0x4a03x2[_0x3e05[7]](_0x4a03x8,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x8);_0x4a03x2[_0x3e05[8]](_0x4a03x8,0);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[20]]= _0x4a03x10;function _0x4a03x11(){}_0x4a03x11[_0x3e05[0]]= new mxCylinder();_0x4a03x11[_0x3e05[0]][_0x3e05[1]]= _0x4a03x11;_0x4a03x11[_0x3e05[0]][_0x3e05[2]]= 0.4;_0x4a03x11[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x8=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[2],this[_0x3e05[2]]);var _0x4a03xf=_0x4a03x6* _0x4a03x8;var _0x4a03x12=1.4;if(!_0x4a03x7){_0x4a03x2[_0x3e05[7]](0,_0x4a03xf/ 2);_0x4a03x2[_0x3e05[21]](_0x4a03x5/ 4,_0x4a03xf* _0x4a03x12,_0x4a03x5/ 2,_0x4a03xf/ 2);_0x4a03x2[_0x3e05[21]](_0x4a03x5* 3/ 4,_0x4a03xf* (1- _0x4a03x12),_0x4a03x5,_0x4a03xf/ 2);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6- _0x4a03xf/ 2);_0x4a03x2[_0x3e05[21]](_0x4a03x5* 3/ 4,_0x4a03x6- _0x4a03xf* _0x4a03x12,_0x4a03x5/ 2,_0x4a03x6- _0x4a03xf/ 2);_0x4a03x2[_0x3e05[21]](_0x4a03x5/ 4,_0x4a03x6- _0x4a03xf* (1- _0x4a03x12),0,_0x4a03x6- _0x4a03xf/ 2);_0x4a03x2[_0x3e05[8]](0,_0x4a03xf/ 2);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[22]]= _0x4a03x11;function _0x4a03x13(){}_0x4a03x13[_0x3e05[0]]= new mxCylinder();_0x4a03x13[_0x3e05[0]][_0x3e05[1]]= _0x4a03x13;_0x4a03x13[_0x3e05[0]][_0x3e05[2]]= 0.2;_0x4a03x13[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x8=_0x4a03x5* mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[2],this[_0x3e05[2]]);if(!_0x4a03x7){_0x4a03x2[_0x3e05[7]](0,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03x8,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6/ 2);_0x4a03x2[_0x3e05[8]](_0x4a03x5- _0x4a03x8,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6);_0x4a03x2[_0x3e05[8]](_0x4a03x8,_0x4a03x6/ 2);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[23]]= _0x4a03x13;function _0x4a03x14(){mxRectangleShape[_0x3e05[24]](this)}mxUtils[_0x3e05[25]](_0x4a03x14,mxRectangleShape);_0x4a03x14[_0x3e05[0]][_0x3e05[26]]= function(){return false};_0x4a03x14[_0x3e05[0]][_0x3e05[27]]= function(_0x4a03x15,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6){var _0x4a03x16=Math[_0x3e05[6]](_0x4a03x5/ 5,_0x4a03x6/ 5)+ 1;_0x4a03x15[_0x3e05[28]]();_0x4a03x15[_0x3e05[7]](_0x4a03x3+ _0x4a03x5/ 2,_0x4a03x4+ _0x4a03x16);_0x4a03x15[_0x3e05[8]](_0x4a03x3+ _0x4a03x5/ 2,_0x4a03x4+ _0x4a03x6- _0x4a03x16);_0x4a03x15[_0x3e05[7]](_0x4a03x3+ _0x4a03x16,_0x4a03x4+ _0x4a03x6/ 2);_0x4a03x15[_0x3e05[8]](_0x4a03x3+ _0x4a03x5- _0x4a03x16,_0x4a03x4+ _0x4a03x6/ 2);_0x4a03x15[_0x3e05[9]]();_0x4a03x15[_0x3e05[29]]();mxRectangleShape[_0x3e05[0]][_0x3e05[27]][_0x3e05[30]](this,arguments)};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[31]]= _0x4a03x14;function _0x4a03x17(){mxRectangleShape[_0x3e05[24]](this)}mxUtils[_0x3e05[25]](_0x4a03x17,mxRectangleShape);_0x4a03x17[_0x3e05[0]][_0x3e05[26]]= function(){return false};_0x4a03x17[_0x3e05[0]][_0x3e05[27]]= function(_0x4a03x15,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6){if(this[_0x3e05[4]]!= null){if(this[_0x3e05[4]][_0x3e05[32]]== 1){var _0x4a03x18=Math[_0x3e05[34]](2,this[_0x3e05[33]]+ 1);mxRectangleShape[_0x3e05[0]][_0x3e05[35]][_0x3e05[24]](this,_0x4a03x15,_0x4a03x3+ _0x4a03x18,_0x4a03x4+ _0x4a03x18,_0x4a03x5- 2* _0x4a03x18,_0x4a03x6- 2* _0x4a03x18);mxRectangleShape[_0x3e05[0]][_0x3e05[27]][_0x3e05[30]](this,arguments);_0x4a03x3+= _0x4a03x18;_0x4a03x4+= _0x4a03x18;_0x4a03x5-= 2* _0x4a03x18;_0x4a03x6-= 2* _0x4a03x18};_0x4a03x15[_0x3e05[36]](false);var _0x4a03x19=0;var _0x4a03x1a=null;do{_0x4a03x1a= mxCellRenderer[_0x3e05[0]][_0x3e05[12]][this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19]];if(_0x4a03x1a!= null){var _0x4a03x1b=this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19+ _0x3e05[38]];var _0x4a03x1c=this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19+ _0x3e05[39]];var _0x4a03x1d=this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19+ _0x3e05[40]];var _0x4a03x1e=this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19+ _0x3e05[41]];var _0x4a03x1f=this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19+ _0x3e05[42]]|| 0;var _0x4a03x20=this[_0x3e05[4]][_0x3e05[37]+ _0x4a03x19+ _0x3e05[43]];if(_0x4a03x20!= null){_0x4a03x1f+= this[_0x3e05[44]](_0x4a03x5+ this[_0x3e05[33]],_0x4a03x6+ this[_0x3e05[33]])* _0x4a03x20};var _0x4a03x21=_0x4a03x3;var _0x4a03x22=_0x4a03x4;if(_0x4a03x1b== mxConstants[_0x3e05[45]]){_0x4a03x21+= (_0x4a03x5- _0x4a03x1d)/ 2}else {if(_0x4a03x1b== mxConstants[_0x3e05[46]]){_0x4a03x21+= _0x4a03x5- _0x4a03x1d- _0x4a03x1f}else {_0x4a03x21+= _0x4a03x1f}};if(_0x4a03x1c== mxConstants[_0x3e05[47]]){_0x4a03x22+= (_0x4a03x6- _0x4a03x1e)/ 2}else {if(_0x4a03x1c== mxConstants[_0x3e05[48]]){_0x4a03x22+= _0x4a03x6- _0x4a03x1e- _0x4a03x1f}else {_0x4a03x22+= _0x4a03x1f}};_0x4a03x15[_0x3e05[49]]();var _0x4a03x23= new _0x4a03x1a();_0x4a03x23[_0x3e05[4]]= this[_0x3e05[4]];_0x4a03x1a[_0x3e05[0]][_0x3e05[50]][_0x3e05[24]](_0x4a03x23,_0x4a03x15,_0x4a03x21,_0x4a03x22,_0x4a03x1d,_0x4a03x1e);_0x4a03x15[_0x3e05[51]]()};_0x4a03x19++}while(_0x4a03x1a!= null);}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[52]]= _0x4a03x17;function _0x4a03x24(){}_0x4a03x24[_0x3e05[0]]= new mxCylinder();_0x4a03x24[_0x3e05[0]][_0x3e05[1]]= _0x4a03x24;_0x4a03x24[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){if(_0x4a03x7){_0x4a03x2[_0x3e05[7]](0,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5/ 2,_0x4a03x6/ 2);_0x4a03x2[_0x3e05[8]](_0x4a03x5,0);_0x4a03x2[_0x3e05[9]]()}else {_0x4a03x2[_0x3e05[7]](0,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6);_0x4a03x2[_0x3e05[10]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[53]]= _0x4a03x24;function _0x4a03x25(){}_0x4a03x25[_0x3e05[0]]= new mxCylinder();_0x4a03x25[_0x3e05[0]][_0x3e05[1]]= _0x4a03x25;_0x4a03x25[_0x3e05[0]][_0x3e05[54]]= true;_0x4a03x25[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x1d=_0x4a03x5/ 3;var _0x4a03x1e=_0x4a03x6/ 4;if(!_0x4a03x7){_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,_0x4a03x1e);_0x4a03x2[_0x3e05[55]](_0x4a03x5/ 2- _0x4a03x1d,_0x4a03x1e,_0x4a03x5/ 2- _0x4a03x1d,0,_0x4a03x5/ 2,0);_0x4a03x2[_0x3e05[55]](_0x4a03x5/ 2+ _0x4a03x1d,0,_0x4a03x5/ 2+ _0x4a03x1d,_0x4a03x1e,_0x4a03x5/ 2,_0x4a03x1e);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,_0x4a03x1e);_0x4a03x2[_0x3e05[8]](_0x4a03x5/ 2,2* _0x4a03x6/ 3);_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,_0x4a03x6/ 3);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6/ 3);_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,_0x4a03x6/ 3);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6/ 3);_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,2* _0x4a03x6/ 3);_0x4a03x2[_0x3e05[8]](0,_0x4a03x6);_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,2* _0x4a03x6/ 3);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[56]]= _0x4a03x25;function _0x4a03x26(){}_0x4a03x26[_0x3e05[0]]= new mxCylinder();_0x4a03x26[_0x3e05[0]][_0x3e05[1]]= _0x4a03x26;_0x4a03x26[_0x3e05[0]][_0x3e05[2]]= 10;_0x4a03x26[_0x3e05[0]][_0x3e05[54]]= true;_0x4a03x26[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03x27=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[2],this[_0x3e05[2]]);var _0x4a03x1d=_0x4a03x27* 2/ 3;var _0x4a03x1e=_0x4a03x27;if(!_0x4a03x7){_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,_0x4a03x1e);_0x4a03x2[_0x3e05[55]](_0x4a03x5/ 2- _0x4a03x1d,_0x4a03x1e,_0x4a03x5/ 2- _0x4a03x1d,0,_0x4a03x5/ 2,0);_0x4a03x2[_0x3e05[55]](_0x4a03x5/ 2+ _0x4a03x1d,0,_0x4a03x5/ 2+ _0x4a03x1d,_0x4a03x1e,_0x4a03x5/ 2,_0x4a03x1e);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[7]](_0x4a03x5/ 2,_0x4a03x1e);_0x4a03x2[_0x3e05[8]](_0x4a03x5/ 2,_0x4a03x6);_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[57]]= _0x4a03x26;function _0x4a03x28(){}_0x4a03x28[_0x3e05[0]]= new mxCylinder();_0x4a03x28[_0x3e05[0]][_0x3e05[1]]= _0x4a03x28;_0x4a03x28[_0x3e05[0]][_0x3e05[58]]= 32;_0x4a03x28[_0x3e05[0]][_0x3e05[59]]= 12;_0x4a03x28[_0x3e05[0]][_0x3e05[3]]= function(_0x4a03x2,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6,_0x4a03x7){var _0x4a03xe=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[58],this[_0x3e05[58]]);var _0x4a03xf=mxUtils[_0x3e05[5]](this[_0x3e05[4]],_0x3e05[59],this[_0x3e05[59]]);var _0x4a03x29=_0x4a03xe/ 2;var _0x4a03x2a=_0x4a03x29+ _0x4a03xe/ 2;var _0x4a03x2b=0.3* _0x4a03x6- _0x4a03xf/ 2;var _0x4a03x2c=0.7* _0x4a03x6- _0x4a03xf/ 2;if(_0x4a03x7){_0x4a03x2[_0x3e05[7]](_0x4a03x29,_0x4a03x2b);_0x4a03x2[_0x3e05[8]](_0x4a03x2a,_0x4a03x2b);_0x4a03x2[_0x3e05[8]](_0x4a03x2a,_0x4a03x2b+ _0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x2b+ _0x4a03xf);_0x4a03x2[_0x3e05[7]](_0x4a03x29,_0x4a03x2c);_0x4a03x2[_0x3e05[8]](_0x4a03x2a,_0x4a03x2c);_0x4a03x2[_0x3e05[8]](_0x4a03x2a,_0x4a03x2c+ _0x4a03xf);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x2c+ _0x4a03xf);_0x4a03x2[_0x3e05[9]]()}else {_0x4a03x2[_0x3e05[7]](_0x4a03x29,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,0);_0x4a03x2[_0x3e05[8]](_0x4a03x5,_0x4a03x6);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x6);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x2c+ _0x4a03xf);_0x4a03x2[_0x3e05[8]](0,_0x4a03x2c+ _0x4a03xf);_0x4a03x2[_0x3e05[8]](0,_0x4a03x2c);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x2c);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x2b+ _0x4a03xf);_0x4a03x2[_0x3e05[8]](0,_0x4a03x2b+ _0x4a03xf);_0x4a03x2[_0x3e05[8]](0,_0x4a03x2b);_0x4a03x2[_0x3e05[8]](_0x4a03x29,_0x4a03x2b);_0x4a03x2[_0x3e05[10]]();_0x4a03x2[_0x3e05[9]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[60]]= _0x4a03x28;function _0x4a03x2d(){}_0x4a03x2d[_0x3e05[0]]= new mxDoubleEllipse();_0x4a03x2d[_0x3e05[0]][_0x3e05[1]]= _0x4a03x2d;_0x4a03x2d[_0x3e05[0]][_0x3e05[61]]= true;_0x4a03x2d[_0x3e05[0]][_0x3e05[50]]= function(_0x4a03x15,_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6){var _0x4a03x18=Math[_0x3e05[6]](4,Math[_0x3e05[6]](_0x4a03x5/ 5,_0x4a03x6/ 5));if(_0x4a03x5> 0&& _0x4a03x6> 0){_0x4a03x15[_0x3e05[62]](_0x4a03x3+ _0x4a03x18,_0x4a03x4+ _0x4a03x18,_0x4a03x5- 2* _0x4a03x18,_0x4a03x6- 2* _0x4a03x18);_0x4a03x15[_0x3e05[63]]()};_0x4a03x15[_0x3e05[64]](false);if(this[_0x3e05[61]]){_0x4a03x15[_0x3e05[62]](_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6);_0x4a03x15[_0x3e05[29]]()}};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[65]]= _0x4a03x2d;function _0x4a03x2e(){}_0x4a03x2e[_0x3e05[0]]= new _0x4a03x2d();_0x4a03x2e[_0x3e05[0]][_0x3e05[1]]= _0x4a03x2e;_0x4a03x2e[_0x3e05[0]][_0x3e05[61]]= false;mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[66]]= _0x4a03x2e;var _0x4a03x2f=mxImageExport[_0x3e05[0]][_0x3e05[67]];mxImageExport[_0x3e05[0]][_0x3e05[67]]= function(){_0x4a03x2f[_0x3e05[30]](this,arguments);function _0x4a03x30(_0x4a03x31){return {drawShape:function(_0x4a03x32,_0x4a03x33,_0x4a03x34,_0x4a03x35){var _0x4a03x3=_0x4a03x34[_0x3e05[68]];var _0x4a03x4=_0x4a03x34[_0x3e05[69]];var _0x4a03x5=_0x4a03x34[_0x3e05[70]];var _0x4a03x6=_0x4a03x34[_0x3e05[71]];if(_0x4a03x35){var _0x4a03x18=Math[_0x3e05[6]](4,Math[_0x3e05[6]](_0x4a03x5/ 5,_0x4a03x6/ 5));_0x4a03x3+= _0x4a03x18;_0x4a03x4+= _0x4a03x18;_0x4a03x5-= 2* _0x4a03x18;_0x4a03x6-= 2* _0x4a03x18;if(_0x4a03x5> 0&& _0x4a03x6> 0){_0x4a03x32[_0x3e05[62]](_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6)};return true}else {_0x4a03x32[_0x3e05[63]]();if(_0x4a03x31){_0x4a03x32[_0x3e05[62]](_0x4a03x3,_0x4a03x4,_0x4a03x5,_0x4a03x6);_0x4a03x32[_0x3e05[29]]()}}}}}this[_0x3e05[72]][_0x3e05[65]]= _0x4a03x30(true);this[_0x3e05[72]][_0x3e05[66]]= _0x4a03x30(false)};function _0x4a03x36(){mxArrow[_0x3e05[24]](this)}mxUtils[_0x3e05[25]](_0x4a03x36,mxArrow);_0x4a03x36[_0x3e05[0]][_0x3e05[73]]= function(_0x4a03x15,_0x4a03x37){var _0x4a03x1d=10;var _0x4a03x38=_0x4a03x37[0];var _0x4a03x39=_0x4a03x37[_0x4a03x37[_0x3e05[74]]- 1];var _0x4a03xe=_0x4a03x39[_0x3e05[68]]- _0x4a03x38[_0x3e05[68]];var _0x4a03xf=_0x4a03x39[_0x3e05[69]]- _0x4a03x38[_0x3e05[69]];var _0x4a03x3a=Math[_0x3e05[75]](_0x4a03xe* _0x4a03xe+ _0x4a03xf* _0x4a03xf);var _0x4a03x3b=_0x4a03x3a;var _0x4a03x3c=_0x4a03xe/ _0x4a03x3a;var _0x4a03x3d=_0x4a03xf/ _0x4a03x3a;var _0x4a03x3e=_0x4a03x3b* _0x4a03x3c;var _0x4a03x3f=_0x4a03x3b* _0x4a03x3d;var _0x4a03x40=_0x4a03x1d* _0x4a03x3d/ 3;var _0x4a03x41=-_0x4a03x1d* _0x4a03x3c/ 3;var _0x4a03x42=_0x4a03x38[_0x3e05[68]]- _0x4a03x40/ 2;var _0x4a03x43=_0x4a03x38[_0x3e05[69]]- _0x4a03x41/ 2;var _0x4a03x44=_0x4a03x42+ _0x4a03x40;var _0x4a03x45=_0x4a03x43+ _0x4a03x41;var _0x4a03x46=_0x4a03x44+ _0x4a03x3e;var _0x4a03x47=_0x4a03x45+ _0x4a03x3f;var _0x4a03x48=_0x4a03x46+ _0x4a03x40;var _0x4a03x49=_0x4a03x47+ _0x4a03x41;var _0x4a03x4a=_0x4a03x48- 3* _0x4a03x40;var _0x4a03x4b=_0x4a03x49- 3* _0x4a03x41;_0x4a03x15[_0x3e05[28]]();_0x4a03x15[_0x3e05[7]](_0x4a03x44,_0x4a03x45);_0x4a03x15[_0x3e05[8]](_0x4a03x46,_0x4a03x47);_0x4a03x15[_0x3e05[7]](_0x4a03x4a+ _0x4a03x40,_0x4a03x4b+ _0x4a03x41);_0x4a03x15[_0x3e05[8]](_0x4a03x42,_0x4a03x43);_0x4a03x15[_0x3e05[29]]()};mxCellRenderer[_0x3e05[0]][_0x3e05[12]][_0x3e05[76]]= _0x4a03x36;mxMarker[_0x3e05[78]](_0x3e05[77],function(_0x4a03x32,_0x4a03x1a,_0x4a03x4c,_0x4a03x39,_0x4a03x4d,_0x4a03x4e,_0x4a03x4f,_0x4a03x50,_0x4a03x51,_0x4a03x52){var _0x4a03x3c=_0x4a03x4d* (_0x4a03x4f+ _0x4a03x51+ 1);var _0x4a03x3d=_0x4a03x4e* (_0x4a03x4f+ _0x4a03x51+ 1);return function(){_0x4a03x32[_0x3e05[28]]();_0x4a03x32[_0x3e05[7]](_0x4a03x39[_0x3e05[68]]- _0x4a03x3c/ 2- _0x4a03x3d/ 2,_0x4a03x39[_0x3e05[69]]- _0x4a03x3d/ 2+ _0x4a03x3c/ 2);_0x4a03x32[_0x3e05[8]](_0x4a03x39[_0x3e05[68]]+ _0x4a03x3d/ 2- 3* _0x4a03x3c/ 2,_0x4a03x39[_0x3e05[69]]- 3* _0x4a03x3d/ 2- _0x4a03x3c/ 2);_0x4a03x32[_0x3e05[29]]()}});var _0x4a03x53=-99;if( typeof (mxVertexHandler)!= _0x3e05[79]){function _0x4a03x54(_0x4a03x33){mxVertexHandler[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x54,mxVertexHandler);_0x4a03x54[_0x3e05[0]][_0x3e05[80]]= false;_0x4a03x54[_0x3e05[0]][_0x3e05[81]]= function(){this[_0x3e05[82]]= mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],mxConstants.STYLE_HORIZONTAL,true);var _0x4a03x55=this[_0x3e05[83]][_0x3e05[85]][_0x3e05[84]];if(this[_0x3e05[86]]!= null){var _0x4a03x34= new mxRectangle(0,0,this[_0x3e05[86]][_0x3e05[70]],this[_0x3e05[86]][_0x3e05[71]]);this[_0x3e05[87]]= new mxImageShape(_0x4a03x34,this[_0x3e05[86]][_0x3e05[88]])}else {var _0x4a03x4f=10;var _0x4a03x34= new mxRectangle(0,0,_0x4a03x4f,_0x4a03x4f);this[_0x3e05[87]]= new mxRhombus(_0x4a03x34,mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};this[_0x3e05[87]][_0x3e05[89]]= (_0x4a03x55[_0x3e05[89]]!= mxConstants[_0x3e05[90]])?mxConstants[_0x3e05[91]]:mxConstants[_0x3e05[90]];this[_0x3e05[87]][_0x3e05[81]](_0x4a03x55[_0x3e05[93]]()[_0x3e05[92]]());this[_0x3e05[87]][_0x3e05[95]][_0x3e05[4]][_0x3e05[94]]= this[_0x3e05[96]]();mxEvent[_0x3e05[97]](this[_0x3e05[87]][_0x3e05[95]],_0x4a03x55,this[_0x3e05[83]]);mxVertexHandler[_0x3e05[0]][_0x3e05[81]][_0x3e05[30]](this,arguments)};_0x4a03x54[_0x3e05[0]][_0x3e05[96]]= function(){return _0x3e05[98]};_0x4a03x54[_0x3e05[0]][_0x3e05[99]]= function(){mxVertexHandler[_0x3e05[0]][_0x3e05[99]][_0x3e05[30]](this,arguments);var _0x4a03x4f=this[_0x3e05[87]][_0x3e05[100]][_0x3e05[70]];this[_0x3e05[87]][_0x3e05[100]]= this[_0x3e05[101]](_0x4a03x4f);this[_0x3e05[87]][_0x3e05[99]]()};_0x4a03x54[_0x3e05[0]][_0x3e05[102]]= function(){mxVertexHandler[_0x3e05[0]][_0x3e05[102]][_0x3e05[30]](this,arguments);if(this[_0x3e05[87]]!= null){this[_0x3e05[87]][_0x3e05[102]]();this[_0x3e05[87]]= null}};_0x4a03x54[_0x3e05[0]][_0x3e05[103]]= function(_0x4a03x56){if(_0x4a03x56[_0x3e05[104]](this[_0x3e05[87]])){return _0x4a03x53};return mxVertexHandler[_0x3e05[0]][_0x3e05[103]][_0x3e05[30]](this,arguments)};_0x4a03x54[_0x3e05[0]][_0x3e05[105]]= function(_0x4a03x57,_0x4a03x56){if(!_0x4a03x56[_0x3e05[106]]()&& this[_0x3e05[107]]== _0x4a03x53){var _0x4a03x58= new mxPoint(_0x4a03x56[_0x3e05[108]](),_0x4a03x56[_0x3e05[109]]());this[_0x3e05[110]](_0x4a03x58);var _0x4a03x59=this[_0x3e05[84]][_0x3e05[112]](_0x4a03x56[_0x3e05[111]]());var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];if(_0x4a03x59&& this[_0x3e05[80]]){_0x4a03x58[_0x3e05[68]]= this[_0x3e05[84]][_0x3e05[114]](_0x4a03x58[_0x3e05[68]]/ _0x4a03x5a)* _0x4a03x5a;_0x4a03x58[_0x3e05[69]]= this[_0x3e05[84]][_0x3e05[114]](_0x4a03x58[_0x3e05[69]]/ _0x4a03x5a)* _0x4a03x5a};this[_0x3e05[115]](_0x4a03x58);this[_0x3e05[116]](this[_0x3e05[87]],_0x4a03x58[_0x3e05[68]],_0x4a03x58[_0x3e05[69]]);this[_0x3e05[83]][_0x3e05[85]][_0x3e05[84]][_0x3e05[117]][_0x3e05[99]](this[_0x3e05[83]],true);_0x4a03x56[_0x3e05[118]]()}else {mxVertexHandler[_0x3e05[0]][_0x3e05[105]][_0x3e05[30]](this,arguments)}};_0x4a03x54[_0x3e05[0]][_0x3e05[119]]= function(_0x4a03x57,_0x4a03x56){if(!_0x4a03x56[_0x3e05[106]]()&& this[_0x3e05[107]]== _0x4a03x53){this[_0x3e05[120]]();this[_0x3e05[121]]();_0x4a03x56[_0x3e05[118]]()}else {mxVertexHandler[_0x3e05[0]][_0x3e05[119]][_0x3e05[30]](this,arguments)}};_0x4a03x54[_0x3e05[0]][_0x3e05[101]]= function(_0x4a03x4f){var _0x4a03x5b=this[_0x3e05[83]][_0x3e05[123]][_0x3e05[122]]();var _0x4a03x5c=mxUtils[_0x3e05[124]](_0x4a03x5b);var _0x4a03x5d=Math[_0x3e05[125]](_0x4a03x5c);var _0x4a03x5e=Math[_0x3e05[126]](_0x4a03x5c);var _0x4a03x34= new mxRectangle(this[_0x3e05[83]][_0x3e05[68]],this[_0x3e05[83]][_0x3e05[69]],this[_0x3e05[83]][_0x3e05[70]],this[_0x3e05[83]][_0x3e05[71]]);if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[127]]()){var _0x4a03x5f=(_0x4a03x34[_0x3e05[70]]- _0x4a03x34[_0x3e05[71]])/ 2;_0x4a03x34[_0x3e05[68]]+= _0x4a03x5f;_0x4a03x34[_0x3e05[69]]-= _0x4a03x5f;var _0x4a03x23=_0x4a03x34[_0x3e05[70]];_0x4a03x34[_0x3e05[70]]= _0x4a03x34[_0x3e05[71]];_0x4a03x34[_0x3e05[71]]= _0x4a03x23};var _0x4a03x60=this[_0x3e05[128]](_0x4a03x34);if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[129]]){_0x4a03x60[_0x3e05[68]]= 2* _0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03x60[_0x3e05[68]]};if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[130]]){_0x4a03x60[_0x3e05[69]]= 2* _0x4a03x34[_0x3e05[69]]+ _0x4a03x34[_0x3e05[71]]- _0x4a03x60[_0x3e05[69]]};_0x4a03x60= mxUtils[_0x3e05[133]](_0x4a03x60,_0x4a03x5d,_0x4a03x5e, new mxPoint(this[_0x3e05[83]][_0x3e05[131]](),this[_0x3e05[83]][_0x3e05[132]]()));return new mxRectangle(_0x4a03x60[_0x3e05[68]]- _0x4a03x4f/ 2,_0x4a03x60[_0x3e05[69]]- _0x4a03x4f/ 2,_0x4a03x4f,_0x4a03x4f)};_0x4a03x54[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){return null};_0x4a03x54[_0x3e05[0]][_0x3e05[115]]= function(_0x4a03x58){};_0x4a03x54[_0x3e05[0]][_0x3e05[110]]= function(_0x4a03x58){_0x4a03x58[_0x3e05[68]]= Math[_0x3e05[34]](this[_0x3e05[83]][_0x3e05[68]],Math[_0x3e05[6]](this[_0x3e05[83]][_0x3e05[68]]+ this[_0x3e05[83]][_0x3e05[70]],_0x4a03x58[_0x3e05[68]]));_0x4a03x58[_0x3e05[69]]= Math[_0x3e05[34]](this[_0x3e05[83]][_0x3e05[69]],Math[_0x3e05[6]](this[_0x3e05[83]][_0x3e05[69]]+ this[_0x3e05[83]][_0x3e05[71]],_0x4a03x58[_0x3e05[69]]))};_0x4a03x54[_0x3e05[0]][_0x3e05[120]]= function(){};function _0x4a03x61(_0x4a03x33){_0x4a03x54[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x61,_0x4a03x54);_0x4a03x61[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];var _0x4a03xb=Math[_0x3e05[6]](_0x4a03x34[_0x3e05[70]],mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[14],60)* _0x4a03x5a);var _0x4a03xc=Math[_0x3e05[6]](_0x4a03x34[_0x3e05[71]],mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[15],20)* _0x4a03x5a);var _0x4a03xd=mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[16],_0x3e05[17]);var _0x4a03x3=(_0x4a03xd== _0x3e05[18])?_0x4a03x34[_0x3e05[68]]+ _0x4a03xb:_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03xb;return new mxPoint(_0x4a03x3,_0x4a03x34[_0x3e05[69]]+ _0x4a03xc)};_0x4a03x61[_0x3e05[0]][_0x3e05[115]]= function(_0x4a03x58){var _0x4a03x5b=this[_0x3e05[83]][_0x3e05[123]][_0x3e05[122]]();var _0x4a03x5c=mxUtils[_0x3e05[124]](_0x4a03x5b);var _0x4a03x5d=Math[_0x3e05[125]](-_0x4a03x5c);var _0x4a03x5e=Math[_0x3e05[126]](-_0x4a03x5c);var _0x4a03x34= new mxRectangle(this[_0x3e05[83]][_0x3e05[68]],this[_0x3e05[83]][_0x3e05[69]],this[_0x3e05[83]][_0x3e05[70]],this[_0x3e05[83]][_0x3e05[71]]);if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[127]]()){var _0x4a03x5f=(_0x4a03x34[_0x3e05[70]]- _0x4a03x34[_0x3e05[71]])/ 2;_0x4a03x34[_0x3e05[68]]+= _0x4a03x5f;_0x4a03x34[_0x3e05[69]]-= _0x4a03x5f;var _0x4a03x23=_0x4a03x34[_0x3e05[70]];_0x4a03x34[_0x3e05[70]]= _0x4a03x34[_0x3e05[71]];_0x4a03x34[_0x3e05[71]]= _0x4a03x23};var _0x4a03x60= new mxPoint(_0x4a03x58[_0x3e05[68]],_0x4a03x58[_0x3e05[69]]);_0x4a03x60= mxUtils[_0x3e05[133]](_0x4a03x60,_0x4a03x5d,_0x4a03x5e, new mxPoint(this[_0x3e05[83]][_0x3e05[131]](),this[_0x3e05[83]][_0x3e05[132]]()));if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[129]]){_0x4a03x60[_0x3e05[68]]= 2* _0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03x60[_0x3e05[68]]};if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[130]]){_0x4a03x60[_0x3e05[69]]= 2* _0x4a03x34[_0x3e05[69]]+ _0x4a03x34[_0x3e05[71]]- _0x4a03x60[_0x3e05[69]]};var _0x4a03x62=this[_0x3e05[134]](_0x4a03x60,_0x4a03x34);if(_0x4a03x62!= null){if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[129]]){_0x4a03x62[_0x3e05[68]]= 2* _0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03x62[_0x3e05[68]]};if(this[_0x3e05[83]][_0x3e05[123]][_0x3e05[130]]){_0x4a03x62[_0x3e05[69]]= 2* _0x4a03x34[_0x3e05[69]]+ _0x4a03x34[_0x3e05[71]]- _0x4a03x62[_0x3e05[69]]};_0x4a03x5d= Math[_0x3e05[125]](_0x4a03x5c);_0x4a03x5e= Math[_0x3e05[126]](_0x4a03x5c);_0x4a03x62= mxUtils[_0x3e05[133]](_0x4a03x62,_0x4a03x5d,_0x4a03x5e, new mxPoint(this[_0x3e05[83]][_0x3e05[131]](),this[_0x3e05[83]][_0x3e05[132]]()));_0x4a03x58[_0x3e05[68]]= _0x4a03x62[_0x3e05[68]];_0x4a03x58[_0x3e05[69]]= _0x4a03x62[_0x3e05[69]]}};_0x4a03x61[_0x3e05[0]][_0x3e05[134]]= function(_0x4a03x60,_0x4a03x34){var _0x4a03xd=mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[16],_0x3e05[17]);var _0x4a03xb=(_0x4a03xd== _0x3e05[18])?_0x4a03x60[_0x3e05[68]]- _0x4a03x34[_0x3e05[68]]:_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03x60[_0x3e05[68]];var _0x4a03xc=_0x4a03x60[_0x3e05[69]]- _0x4a03x34[_0x3e05[69]];var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];this[_0x3e05[83]][_0x3e05[4]][_0x3e05[14]]= Math[_0x3e05[135]](Math[_0x3e05[34]](1,_0x4a03xb)/ _0x4a03x5a);this[_0x3e05[83]][_0x3e05[4]][_0x3e05[15]]= Math[_0x3e05[135]](Math[_0x3e05[34]](1,_0x4a03xc)/ _0x4a03x5a)};_0x4a03x61[_0x3e05[0]][_0x3e05[120]]= function(){var _0x4a03x63=this[_0x3e05[84]][_0x3e05[136]]();_0x4a03x63[_0x3e05[137]]();try{this[_0x3e05[83]][_0x3e05[85]][_0x3e05[84]][_0x3e05[139]](_0x3e05[14],this[_0x3e05[83]][_0x3e05[4]][_0x3e05[14]],[this[_0x3e05[83]][_0x3e05[138]]]);this[_0x3e05[83]][_0x3e05[85]][_0x3e05[84]][_0x3e05[139]](_0x3e05[15],this[_0x3e05[83]][_0x3e05[4]][_0x3e05[15]],[this[_0x3e05[83]][_0x3e05[138]]])}finally{_0x4a03x63[_0x3e05[140]]()}};function _0x4a03x64(_0x4a03x33){_0x4a03x61[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x64,_0x4a03x61);_0x4a03x64[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];var _0x4a03x65=mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE);return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]/ 2,_0x4a03x34[_0x3e05[69]]+ Math[_0x3e05[6]](_0x4a03x34[_0x3e05[71]],_0x4a03x65* _0x4a03x5a))};_0x4a03x64[_0x3e05[0]][_0x3e05[134]]= function(_0x4a03x58,_0x4a03x34){_0x4a03x58[_0x3e05[68]]= _0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]/ 2;startSize= _0x4a03x58[_0x3e05[69]]- _0x4a03x34[_0x3e05[69]];var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];this[_0x3e05[83]][_0x3e05[4]][_0x3e05[141]]= Math[_0x3e05[135]](Math[_0x3e05[34]](1,startSize)/ _0x4a03x5a);return _0x4a03x58};_0x4a03x64[_0x3e05[0]][_0x3e05[120]]= function(){this[_0x3e05[83]][_0x3e05[85]][_0x3e05[84]][_0x3e05[139]](_0x3e05[141],this[_0x3e05[83]][_0x3e05[4]][_0x3e05[141]],[this[_0x3e05[83]][_0x3e05[138]]])};function _0x4a03x66(_0x4a03x33){_0x4a03x61[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x66,_0x4a03x61);_0x4a03x66[_0x3e05[0]][_0x3e05[142]]= 20;_0x4a03x66[_0x3e05[0]][_0x3e05[143]]= 1;_0x4a03x66[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];var _0x4a03x67=Math[_0x3e05[6]](_0x4a03x34[_0x3e05[70]],Math[_0x3e05[6]](_0x4a03x34[_0x3e05[71]],mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[2],this[_0x3e05[142]])* _0x4a03x5a/ this[_0x3e05[143]]));return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x67,_0x4a03x34[_0x3e05[69]]+ _0x4a03x67)};_0x4a03x66[_0x3e05[0]][_0x3e05[134]]= function(_0x4a03x60,_0x4a03x34){var _0x4a03x4f=Math[_0x3e05[34]](0,Math[_0x3e05[6]](Math[_0x3e05[6]](_0x4a03x34[_0x3e05[70]]/ this[_0x3e05[143]],_0x4a03x60[_0x3e05[68]]- _0x4a03x34[_0x3e05[68]]),Math[_0x3e05[6]](_0x4a03x34[_0x3e05[71]]/ this[_0x3e05[143]],_0x4a03x60[_0x3e05[69]]- _0x4a03x34[_0x3e05[69]])));var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];this[_0x3e05[83]][_0x3e05[4]][_0x3e05[2]]= Math[_0x3e05[135]](Math[_0x3e05[34]](1,_0x4a03x4f)/ _0x4a03x5a)* this[_0x3e05[143]];return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x4f,_0x4a03x34[_0x3e05[69]]+ _0x4a03x4f)};_0x4a03x66[_0x3e05[0]][_0x3e05[120]]= function(){this[_0x3e05[83]][_0x3e05[85]][_0x3e05[84]][_0x3e05[139]](_0x3e05[2],this[_0x3e05[83]][_0x3e05[4]][_0x3e05[2]],[this[_0x3e05[83]][_0x3e05[138]]])};function _0x4a03x68(_0x4a03x33){_0x4a03x66[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x68,_0x4a03x66);_0x4a03x68[_0x3e05[0]][_0x3e05[142]]= 30;_0x4a03x68[_0x3e05[0]][_0x3e05[143]]= 2;function _0x4a03x69(_0x4a03x33){_0x4a03x66[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x69,_0x4a03x66);_0x4a03x69[_0x3e05[0]][_0x3e05[142]]= 30;_0x4a03x69[_0x3e05[0]][_0x3e05[143]]= 1;_0x4a03x69[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];var _0x4a03x67=Math[_0x3e05[6]](_0x4a03x34[_0x3e05[70]],Math[_0x3e05[6]](_0x4a03x34[_0x3e05[71]],mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[2],this[_0x3e05[142]])* _0x4a03x5a/ this[_0x3e05[143]]));return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03x67,_0x4a03x34[_0x3e05[69]]+ _0x4a03x67)};_0x4a03x69[_0x3e05[0]][_0x3e05[134]]= function(_0x4a03x60,_0x4a03x34){var _0x4a03x4f=Math[_0x3e05[34]](0,Math[_0x3e05[6]](Math[_0x3e05[6]](_0x4a03x34[_0x3e05[70]]/ this[_0x3e05[143]],_0x4a03x60[_0x3e05[68]]- _0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]),Math[_0x3e05[6]](_0x4a03x34[_0x3e05[71]]/ this[_0x3e05[143]],_0x4a03x60[_0x3e05[69]]- _0x4a03x34[_0x3e05[69]])));var _0x4a03x5a=this[_0x3e05[84]][_0x3e05[93]]()[_0x3e05[113]];this[_0x3e05[83]][_0x3e05[4]][_0x3e05[2]]= Math[_0x3e05[135]](Math[_0x3e05[34]](1,_0x4a03x4f)/ _0x4a03x5a)* this[_0x3e05[143]];return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]- _0x4a03x4f,_0x4a03x34[_0x3e05[69]]+ _0x4a03x4f)};function _0x4a03x6a(_0x4a03x33){_0x4a03x66[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x6a,_0x4a03x66);_0x4a03x6a[_0x3e05[0]][_0x3e05[142]]= 0.2;_0x4a03x6a[_0x3e05[0]][_0x3e05[143]]= 1;_0x4a03x6a[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){var _0x4a03x67=mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[2],this[_0x3e05[142]]);return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]* _0x4a03x67,_0x4a03x34[_0x3e05[69]]+ _0x4a03x34[_0x3e05[71]]/ 2)};_0x4a03x6a[_0x3e05[0]][_0x3e05[134]]= function(_0x4a03x60,_0x4a03x34){var _0x4a03x4f=Math[_0x3e05[6]](1,(_0x4a03x60[_0x3e05[68]]- _0x4a03x34[_0x3e05[68]])/ _0x4a03x34[_0x3e05[70]]);this[_0x3e05[83]][_0x3e05[4]][_0x3e05[2]]= _0x4a03x4f;return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x4f* _0x4a03x34[_0x3e05[70]],_0x4a03x34[_0x3e05[69]]+ _0x4a03x34[_0x3e05[71]]/ 2)};function _0x4a03x6b(_0x4a03x33){_0x4a03x66[_0x3e05[24]](this,_0x4a03x33)}mxUtils[_0x3e05[25]](_0x4a03x6b,_0x4a03x66);_0x4a03x6b[_0x3e05[0]][_0x3e05[142]]= 0.4;_0x4a03x6b[_0x3e05[0]][_0x3e05[143]]= 1;_0x4a03x6b[_0x3e05[0]][_0x3e05[128]]= function(_0x4a03x34){var _0x4a03x67=mxUtils[_0x3e05[5]](this[_0x3e05[83]][_0x3e05[4]],_0x3e05[2],this[_0x3e05[142]]);return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]/ 2,_0x4a03x34[_0x3e05[69]]+ _0x4a03x67* _0x4a03x34[_0x3e05[71]]/ 2)};_0x4a03x6b[_0x3e05[0]][_0x3e05[134]]= function(_0x4a03x60,_0x4a03x34){var _0x4a03x4f=Math[_0x3e05[34]](0,Math[_0x3e05[6]](1,((_0x4a03x60[_0x3e05[69]]- _0x4a03x34[_0x3e05[69]])/ _0x4a03x34[_0x3e05[71]])* 2));this[_0x3e05[83]][_0x3e05[4]][_0x3e05[2]]= _0x4a03x4f;return new mxPoint(_0x4a03x34[_0x3e05[68]]+ _0x4a03x34[_0x3e05[70]]/ 2,_0x4a03x34[_0x3e05[69]]+ _0x4a03x4f* _0x4a03x34[_0x3e05[71]]/ 2)};var _0x4a03x6c={"\x73\x77\x69\x6D\x6C\x61\x6E\x65":_0x4a03x64,"\x66\x6F\x6C\x64\x65\x72":_0x4a03x61,"\x63\x75\x62\x65":_0x4a03x66,"\x63\x61\x72\x64":_0x4a03x68,"\x6E\x6F\x74\x65":_0x4a03x69,"\x73\x74\x65\x70":_0x4a03x6a,"\x74\x61\x70\x65":_0x4a03x6b};var _0x4a03x6d=mxGraph[_0x3e05[0]][_0x3e05[144]];mxGraph[_0x3e05[0]][_0x3e05[144]]= function(_0x4a03x33){if(_0x4a03x33!= null){var _0x4a03x6e=_0x4a03x6c[_0x4a03x33[_0x3e05[4]][_0x3e05[123]]];if(_0x4a03x6e!= null){return new _0x4a03x6e(_0x4a03x33)}};return _0x4a03x6d[_0x3e05[30]](this,arguments)}};mxGraph[_0x3e05[0]][_0x3e05[145]]= function(_0x4a03x6f,_0x4a03x50){if(_0x4a03x6f!= null&& _0x4a03x6f[_0x3e05[123]]!= null){if(_0x4a03x6f[_0x3e05[123]][_0x3e05[146]]!= null){if(_0x4a03x6f[_0x3e05[123]][_0x3e05[146]]!= null){return _0x4a03x6f[_0x3e05[123]][_0x3e05[146]][_0x3e05[147]]}}else {if(_0x4a03x6f[_0x3e05[123]][_0x3e05[147]]!= null){return _0x4a03x6f[_0x3e05[123]][_0x3e05[147]]}}};return null};mxRectangleShape[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.75,0),true), new mxConnectionConstraint( new mxPoint(0,0.25),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0,0.75),true), new mxConnectionConstraint( new mxPoint(1,0.25),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.75),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true)];mxLabel[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];mxImageShape[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];mxSwimlane[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];_0x4a03x14[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];_0x4a03x9[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];_0x4a03x10[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];_0x4a03x1[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];_0x4a03xa[_0x3e05[0]][_0x3e05[147]]= mxRectangleShape[_0x3e05[0]][_0x3e05[147]];mxCylinder[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.15,0.05),false), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.85,0.05),false), new mxConnectionConstraint( new mxPoint(0,0.3),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0,0.7),true), new mxConnectionConstraint( new mxPoint(1,0.3),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.7),true), new mxConnectionConstraint( new mxPoint(0.15,0.95),false), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.85,0.95),false)];_0x4a03x25[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0.1),false), new mxConnectionConstraint( new mxPoint(0.5,0),false), new mxConnectionConstraint( new mxPoint(0.75,0.1),false), new mxConnectionConstraint( new mxPoint(0,1/ 3),false), new mxConnectionConstraint( new mxPoint(0,1),false), new mxConnectionConstraint( new mxPoint(1,1/ 3),false), new mxConnectionConstraint( new mxPoint(1,1),false), new mxConnectionConstraint( new mxPoint(0.5,0.5),false)];_0x4a03x28[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.75,0),true), new mxConnectionConstraint( new mxPoint(0,0.3),true), new mxConnectionConstraint( new mxPoint(0,0.7),true), new mxConnectionConstraint( new mxPoint(1,0.25),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.75),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true)];mxActor[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.25,0.2),false), new mxConnectionConstraint( new mxPoint(0.1,0.5),false), new mxConnectionConstraint( new mxPoint(0,0.75),true), new mxConnectionConstraint( new mxPoint(0.75,0.25),false), new mxConnectionConstraint( new mxPoint(0.9,0.5),false), new mxConnectionConstraint( new mxPoint(1,0.75),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true)];_0x4a03x11[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0,0.35),false), new mxConnectionConstraint( new mxPoint(0,0.5),false), new mxConnectionConstraint( new mxPoint(0,0.65),false), new mxConnectionConstraint( new mxPoint(1,0.35),false), new mxConnectionConstraint( new mxPoint(1,0.5),false), new mxConnectionConstraint( new mxPoint(1,0.65),false), new mxConnectionConstraint( new mxPoint(0.25,1),false), new mxConnectionConstraint( new mxPoint(0.75,0),false)];_0x4a03x13[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.75,0),true), new mxConnectionConstraint( new mxPoint(0.25,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.75,1),true), new mxConnectionConstraint( new mxPoint(0.1,0.25),false), new mxConnectionConstraint( new mxPoint(0.2,0.5),false), new mxConnectionConstraint( new mxPoint(0.1,0.75),false), new mxConnectionConstraint( new mxPoint(0.9,0.25),false), new mxConnectionConstraint( new mxPoint(1,0.5),false), new mxConnectionConstraint( new mxPoint(0.9,0.75),false)];mxLine[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0,0.5),false), new mxConnectionConstraint( new mxPoint(0.25,0.5),false), new mxConnectionConstraint( new mxPoint(0.75,0.5),false), new mxConnectionConstraint( new mxPoint(1,0.5),false)];_0x4a03x26[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.5,0),false), new mxConnectionConstraint( new mxPoint(0.5,1),false)];mxEllipse[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0,0),true), new mxConnectionConstraint( new mxPoint(1,0),true), new mxConnectionConstraint( new mxPoint(0,1),true), new mxConnectionConstraint( new mxPoint(1,1),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.5))];mxDoubleEllipse[_0x3e05[0]][_0x3e05[147]]= mxEllipse[_0x3e05[0]][_0x3e05[147]];mxRhombus[_0x3e05[0]][_0x3e05[147]]= mxEllipse[_0x3e05[0]][_0x3e05[147]];mxTriangle[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0,0.25),true), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0,0.75),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(1,0.5),true)];mxHexagon[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.375,0),true), new mxConnectionConstraint( new mxPoint(0.5,0),true), new mxConnectionConstraint( new mxPoint(0.625,0),true), new mxConnectionConstraint( new mxPoint(0.125,0.25),false), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(0.125,0.75),false), new mxConnectionConstraint( new mxPoint(0.875,0.25),false), new mxConnectionConstraint( new mxPoint(0,0.5),true), new mxConnectionConstraint( new mxPoint(1,0.5),true), new mxConnectionConstraint( new mxPoint(0.875,0.75),false), new mxConnectionConstraint( new mxPoint(0.375,1),true), new mxConnectionConstraint( new mxPoint(0.5,1),true), new mxConnectionConstraint( new mxPoint(0.625,1),true)];mxCloud[_0x3e05[0]][_0x3e05[147]]= [ new mxConnectionConstraint( new mxPoint(0.25,0.25),false), new mxConnectionConstraint( new mxPoint(0.4,0.1),false), new mxConnectionConstraint( new mxPoint(0.16,0.55),false), new mxConnectionConstraint( new mxPoint(0.07,0.4),false), new mxConnectionConstraint( new mxPoint(0.31,0.8),false), new mxConnectionConstraint( new mxPoint(0.13,0.77),false), new mxConnectionConstraint( new mxPoint(0.8,0.8),false), new mxConnectionConstraint( new mxPoint(0.55,0.95),false), new mxConnectionConstraint( new mxPoint(0.875,0.5),false), new mxConnectionConstraint( new mxPoint(0.96,0.7),false), new mxConnectionConstraint( new mxPoint(0.625,0.2),false), new mxConnectionConstraint( new mxPoint(0.88,0.25),false)];mxArrow[_0x3e05[0]][_0x3e05[147]]= null})()
\ No newline at end of file
-'use strict';
-
-/**
- * Construcs a new sidebar for the given editor.
- */
-function Sidebar(editorUi, container) {
- this.editorUi = editorUi;
- this.container = container;
- this.palettes = new Object();
- this.showTooltips = true;
- this.graph = new Graph(document.createElement('div'), null, null, this.editorUi
- .editor.graph.getStylesheet());
- this.graph.resetViewOnRootChange = false;
- this.graph.foldingEnabled = false;
- this.graph.setConnectable(false);
- this.graph.autoScroll = false;
- this.graph.setTooltips(false);
- this.graph.setEnabled(false);
-
- // Container must be in the DOM for correct HTML rendering
- this.graph.container.style.visibility = 'hidden';
- this.graph.container.style.position = 'absolute';
- document.body.appendChild(this.graph.container);
-
- if (!mxClient.IS_TOUCH) {
- mxEvent.addListener(document, 'mouseup', mxUtils.bind(this, function() {
- this.showTooltips = true;
- }));
-
- // Enables tooltips after scroll
- mxEvent.addListener(container, 'scroll', mxUtils.bind(this, function() {
- this.showTooltips = true;
- }));
-
- mxEvent.addListener(document, 'mousedown', mxUtils.bind(this, function() {
- this.showTooltips = false;
- this.hideTooltip();
- }));
-
- mxEvent.addListener(document, 'mousemove', mxUtils.bind(this, function(evt) {
- var src = mxEvent.getSource(evt);
-
- while (src != null) {
- if (src == this.currentElt) {
- return;
- }
-
- src = src.parentNode;
- }
-
- this.hideTooltip();
- }));
-
- // Handles mouse leaving the window
- mxEvent.addListener(document, 'mouseout', mxUtils.bind(this, function(evt) {
- if (evt.toElement == null && evt.relatedTarget == null) {
- this.hideTooltip();
- }
- }));
- }
-
- this.init();
-
- // Pre-fetches tooltip image
- new Image().src = IMAGE_PATH + '/tooltip.png';
-};
-
-/**
- * Adds all palettes to the sidebar.
- */
-Sidebar.prototype.init = function() {
- var dir = STENCIL_PATH;
- console.log(dir);
-
- this.addImagePalette('entry', mxResources.get('entry'), dir + '/entry/',
- '_128x128.png', ['start', 'finally', 'end'], [mxResources.get('start'),
- mxResources.get('finally'), mxResources.get('end')
- ]);
- this.addImagePalette('call_management', mxResources.get('call_management'),
- dir + '/call_management/', '_128x128.png', ['answer', 'hangup', 'dial',
- 'ext_dial', 'queue', 'voicemail', 'callback'
- ], [mxResources.get('answer'), mxResources.get('hangup'), mxResources.get(
- 'dial'), mxResources.get('ext_dial'), mxResources.get('queue'),
- mxResources.get('voicemail'), mxResources.get('callback')
- ]);
- this.addImagePalette('variable', mxResources.get('variable'), dir +
- '/variable/', '_128x128.png', ['set', 'math'], [mxResources.get('set'),
- mxResources.get('math')
- ]);
- this.addImagePalette('playback', mxResources.get('playback'), dir +
- '/playback/', '_128x128.png', ['playback', 'menu',
- 'saydigits', 'saynumber', 'sayphonetic', 'tts', 'ispeechtts', 'getdigits', 'getsecretdigits'
- ], [mxResources.get('playback'), mxResources
- .get('menu'), mxResources.get('saydigits'), mxResources.get('saynumber'),
- mxResources.get('sayphonetic'), mxResources.get('tts'), mxResources.get(
- 'ispeechtts'), mxResources.get('getdigits'), mxResources.get('getsecretdigits')
- ]);
- this.addImagePalette('recording', mxResources.get('recording'), dir +
- '/recording/', '_128x128.png', ['record'], [mxResources.get('record')]);
- this.addImagePalette('integrationServer', mxResources.get('integrationServer'),
- dir + '/integration_server/', '_128x128.png', ['database', 'ispeechasr',
- 'sendSMS', 'sendMail'
- ], [
- mxResources.get('database'), mxResources.get('ispeechasr'), mxResources.get(
- 'sendSMS'), mxResources.get(
- 'sendMail')
- ]);
- this.addImagePalette('callflow', mxResources.get('callflow'), dir +
- '/callflow/', '_128x128.png', ['gotoc', 'gotoif', 'gotoiftime', 'vswitch'], [
- mxResources.get('gotoc'), mxResources.get('gotoif'), mxResources.get(
- 'gotoiftime'), mxResources.get('vswitch')
- ]);
- this.addImagePalette('stats', mxResources.get('stats'), dir + '/stats/',
- '_128x128.png', [
- // 'queuelog',
- 'goal'
- ], [
- // mxResources.get('queuelog'),
- mxResources.get('goal')
- ]);
- this.addImagePalette('general', mxResources.get('general'), dir + '/general/',
- '_128x128.png', ['noop', 'system', 'agi', 'subproject', 'custom_app'], [
- mxResources.get(
- 'noop'), mxResources.get('system'), mxResources.get('agi'), mxResources.get(
- 'subproject'), mxResources.get(
- 'custom_app')
- ]);
-
-};
-
-/**
- * Specifies if tooltips should be visible. Default is true.
- */
-Sidebar.prototype.enableTooltips = !mxClient.IS_TOUCH;
-
-/**
- * Specifies the delay for the tooltip. Default is 16 px.
- */
-Sidebar.prototype.tooltipBorder = 16;
-
-/**
- * Specifies the delay for the tooltip. Default is 3 px.
- */
-Sidebar.prototype.thumbBorder = 3;
-
-/**
- * Specifies the delay for the tooltip. Default is 300 ms.
- */
-Sidebar.prototype.tooltipDelay = 300;
-
-/**
- * Specifies if edges should be used as templates if clicked. Default is true.
- */
-Sidebar.prototype.installEdges = true;
-
-/**
- * Specifies the URL of the gear image.
- */
-Sidebar.prototype.gearImage = STENCIL_PATH + '/clipart/Gear_128x128.png';
-
-/**
- * Specifies the width of the thumbnails.
- */
-Sidebar.prototype.thumbWidth = 34;
-
-/**
- * Specifies the height of the thumbnails.
- */
-Sidebar.prototype.thumbHeight = 34;
-
-/**
- * Specifies the padding for the thumbnails. Default is 3.
- */
-Sidebar.prototype.thumbPadding = 2;
-
-/**
- * Specifies the size of the sidebar titles.
- */
-Sidebar.prototype.sidebarTitleSize = 9;
-
-/**
- * Specifies if titles in the sidebar should be enabled.
- */
-Sidebar.prototype.sidebarTitles = false;
-
-/**
- * Specifies if titles in the tooltips should be enabled.
- */
-Sidebar.prototype.tooltipTitles = false;
-
-/**
- * Adds all palettes to the sidebar.
- */
-Sidebar.prototype.showTooltip = function(elt, cells, title, showLabel) {
- if (this.enableTooltips && this.showTooltips) {
- if (this.currentElt != elt) {
- if (this.thread != null) {
- window.clearTimeout(this.thread);
- this.thread = null;
- }
-
- var show = mxUtils.bind(this, function() {
- // Lazy creation of the DOM nodes and graph instance
- if (this.tooltip == null) {
- this.tooltip = document.createElement('div');
- this.tooltip.className = 'geSidebarTooltip';
- document.body.appendChild(this.tooltip);
-
- this.graph2 = new Graph(this.tooltip, null, null, this.editorUi.editor.graph
- .getStylesheet());
- this.graph2.view.setTranslate(this.tooltipBorder, this.tooltipBorder);
- this.graph2.resetViewOnRootChange = false;
- this.graph2.foldingEnabled = false;
- this.graph2.autoScroll = false;
- this.graph2.setTooltips(false);
- this.graph2.setConnectable(false);
- this.graph2.setEnabled(false);
-
- if (!mxClient.IS_SVG) {
- this.graph2.view.canvas.style.position = 'relative';
- }
-
- this.tooltipImage = mxUtils.createImage(IMAGE_PATH + '/tooltip.png');
- this.tooltipImage.style.position = 'absolute';
- this.tooltipImage.style.width = '14px';
- this.tooltipImage.style.height = '27px';
-
- document.body.appendChild(this.tooltipImage);
- }
-
- this.tooltip.style.display = 'block';
- this.graph2.labelsVisible = (showLabel == null || showLabel);
- this.graph2.model.clear();
- this.graph2.addCells(cells);
-
- var bounds = this.graph2.getGraphBounds();
- var width = bounds.width + 2 * this.tooltipBorder;
- var height = bounds.height + 2 * this.tooltipBorder;
-
- if (mxClient.IS_QUIRKS) {
- width += 4;
- height += 4;
- this.tooltip.style.overflow = 'hidden';
- } else {
- this.tooltip.style.overflow = 'visible';
- }
-
- this.tooltipImage.style.visibility = 'visible';
- this.tooltip.style.width = width + 'px';
-
- // Adds title for entry
- if (this.tooltipTitles && title != null && title.length > 0) {
- if (this.tooltipTitle == null) {
- this.tooltipTitle = document.createElement('div');
- this.tooltipTitle.style.borderTop = '1px solid gray';
- this.tooltipTitle.style.textAlign = 'center';
- this.tooltipTitle.style.width = '100%';
-
- // Oversize titles are cut-off currently. Should make tooltip wider later.
- this.tooltipTitle.style.overflow = 'hidden';
-
- if (mxClient.IS_SVG) {
- this.tooltipTitle.style.paddingTop = '2px';
- } else {
- this.tooltipTitle.style.position = 'absolute';
- this.tooltipTitle.style.paddingTop = '6px';
- }
-
- this.tooltip.appendChild(this.tooltipTitle);
- } else {
- this.tooltipTitle.innerHTML = '';
- }
-
- this.tooltipTitle.style.display = '';
- mxUtils.write(this.tooltipTitle, title);
-
- var dy = this.tooltipTitle.offsetHeight + 10;
- height += dy;
-
- if (mxClient.IS_SVG) {
- this.tooltipTitle.style.marginTop = (-dy) + 'px';
- } else {
- height -= 6;
- this.tooltipTitle.style.top = (height - dy) + 'px';
- }
- } else if (this.tooltipTitle != null && this.tooltipTitle.parentNode !=
- null) {
- this.tooltipTitle.style.display = 'none';
- }
-
- this.tooltip.style.height = height + 'px';
- var x0 = -Math.min(0, bounds.x - this.tooltipBorder);
- var y0 = -Math.min(0, bounds.y - this.tooltipBorder);
-
- var left = this.container.clientWidth + this.editorUi.splitSize + 3;
- var top = Math.max(0, (this.container.offsetTop + elt.offsetTop - this.container
- .scrollTop - height / 2 + 16));
-
- if (mxClient.IS_SVG) {
- this.graph2.view.canvas.setAttribute('transform', 'translate(' + x0 +
- ',' + y0 + ')');
- } else {
- this.graph2.view.drawPane.style.left = x0 + 'px';
- this.graph2.view.drawPane.style.top = y0 + 'px';
- }
-
- // Workaround for ignored position CSS style in IE9
- // (changes to relative without the following line)
- // Added width of the page-sidebar
- left += document.getElementById('page-sidebar').offsetWidth;
- // Added static height of the page-navbar
- top += 90;
-
- this.tooltip.style.position = 'absolute';
- this.tooltip.style.left = left + 'px';
- this.tooltip.style.top = top + 'px';
- this.tooltipImage.style.left = (left - 13) + 'px';
- this.tooltipImage.style.top = (top + height / 2 - 13) + 'px';
- });
-
- if (this.tooltip != null && this.tooltip.style.display != 'none') {
- show();
- } else {
- this.thread = window.setTimeout(show, this.tooltipDelay);
- }
-
- this.currentElt = elt;
- }
- }
-};
-
-/**
- * Hides the current tooltip.
- */
-Sidebar.prototype.hideTooltip = function() {
- if (this.thread != null) {
- window.clearTimeout(this.thread);
- this.thread = null;
- }
-
- if (this.tooltip != null) {
- this.tooltip.style.display = 'none';
- this.tooltipImage.style.visibility = 'hidden';
- this.currentElt = null;
- }
-};
-
-/**
- * Creates and returns the given title element.
- */
-Sidebar.prototype.createTitle = function(label) {
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geTitle';
- mxUtils.write(elt, label);
-
- return elt;
-};
-
-/**
- * Creates a thumbnail for the given cells.
- */
-Sidebar.prototype.createThumb = function(cells, width, height, parent, title,
- showLabel) {
- this.graph.labelsVisible = (showLabel == null || showLabel);
- this.graph.view.scaleAndTranslate(1, 0, 0);
- this.graph.addCells(cells);
- var bounds = this.graph.getGraphBounds();
- var corr = this.thumbBorder;
- var s = Math.min((width - 2) / (bounds.width - bounds.x + corr), (height - 2) /
- (bounds.height - bounds.y + corr));
- var x0 = -Math.min(bounds.x, 0);
- var y0 = -Math.min(bounds.y, 0);
- this.graph.view.scaleAndTranslate(s, x0, y0);
-
- bounds = this.graph.getGraphBounds();
- var dx = Math.max(0, Math.floor((width - bounds.width - bounds.x) / 2));
- var dy = Math.max(0, Math.floor((height - bounds.height - bounds.y) / 2));
-
- var node = null;
-
- // For supporting HTML labels in IE9 standards mode the container is cloned instead
- if (this.graph.dialect == mxConstants.DIALECT_SVG && !mxClient.NO_FO) {
- node = this.graph.view.getCanvas().ownerSVGElement.cloneNode(true);
- }
- // LATER: Check if deep clone can be used for quirks if container in DOM
- else {
- node = this.graph.container.cloneNode(false);
- node.innerHTML = this.graph.container.innerHTML;
- }
-
- this.graph.getModel().clear();
-
- // Catch-all event handling
- if (mxClient.IS_IE6) {
- parent.style.backgroundImage = 'url(' + this.editorUi.editor.transparentImage +
- ')';
- }
-
- var dd = 3;
- node.style.position = 'relative';
- node.style.overflow = 'hidden';
- node.style.cursor = 'pointer';
- node.style.left = (dx + dd) + 'px';
- node.style.top = (dy + dd) + 'px';
- node.style.width = width + 'px';
- node.style.height = height + 'px';
- node.style.visibility = '';
- node.style.minWidth = '';
- node.style.minHeight = '';
-
- parent.appendChild(node);
-
- // Adds title for sidebar entries
- if (this.sidebarTitles && title != null) {
- var border = (mxClient.IS_QUIRKS) ? 2 * this.thumbPadding + 2 : 0;
- parent.style.height = (this.thumbHeight + border + this.sidebarTitleSize + 8) +
- 'px';
-
- var div = document.createElement('div');
- div.style.fontSize = this.sidebarTitleSize + 'px';
- div.style.textAlign = 'center';
- div.style.whiteSpace = 'nowrap';
-
- if (mxClient.IS_IE) {
- div.style.height = (this.sidebarTitleSize + 12) + 'px';
- }
-
- div.style.paddingTop = '4px';
- mxUtils.write(div, title);
- parent.appendChild(div);
- }
-};
-
-/**
- * Creates and returns a new palette item for the given image.
- */
-Sidebar.prototype.createItem = function(cells, title, showLabel) {
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geItem';
- elt.style.overflow = 'hidden';
- var border = (mxClient.IS_QUIRKS) ? 8 + 2 * this.thumbPadding : 6;
- elt.style.width = (this.thumbWidth + border) + 'px';
- elt.style.height = (this.thumbHeight + border) + 'px';
- elt.style.padding = this.thumbPadding + 'px';
-
- // Blocks default click action
- mxEvent.addListener(elt, 'click', function(evt) {
- mxEvent.consume(evt);
- });
-
- this.createThumb(cells, this.thumbWidth, this.thumbHeight, elt, title,
- showLabel);
-
- return elt;
-};
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createDropHandler = function(cells, allowSplit) {
- return function(graph, evt, target, x, y) {
- if (graph.isEnabled()) {
- cells = graph.getImportableCells(cells);
-
- if (cells.length > 0) {
- var validDropTarget = (target != null) ?
- graph.isValidDropTarget(target, cells, evt) : false;
- var select = null;
-
- if (target != null && !validDropTarget) {
- target = null;
- }
-
- // Splits the target edge or inserts into target group
- if (allowSplit && graph.isSplitEnabled() && graph.isSplitTarget(target,
- cells, evt)) {
- graph.splitEdge(target, cells, null, x, y);
- select = cells;
- } else if (cells.length > 0) {
- select = graph.importCells(cells, x, y, target);
- }
-
- if (select != null && select.length > 0) {
- graph.scrollCellToVisible(select[0]);
- graph.setSelectionCells(select);
- }
- }
- }
- };
-};
-
-/**
- * Creates and returns a preview element for the given width and height.
- */
-Sidebar.prototype.createDragPreview = function(width, height) {
- var elt = document.createElement('div');
- elt.style.border = '1px dashed black';
- elt.style.width = width + 'px';
- elt.style.height = height + 'px';
-
- return elt;
-};
-
-/**
- * Creates a drag source for the given element.
- */
-Sidebar.prototype.createDragSource = function(elt, dropHandler, preview) {
- var dragSource = mxUtils.makeDraggable(elt, this.editorUi.editor.graph,
- dropHandler,
- preview, 0, 0, this.editorUi.editor.graph.autoscroll, true, true);
-
- // Allows drop into cell only if target is a valid root
- dragSource.getDropTarget = function(graph, x, y) {
- var target = mxDragSource.prototype.getDropTarget.apply(this, arguments);
-
- if (!graph.isValidRoot(target)) {
- target = null;
- }
-
- return target;
- };
-
- return dragSource;
-};
-
-/**
- * Adds a handler for inserting the cell with a single click.
- */
-Sidebar.prototype.addClickHandler = function(elt, ds) {
- var graph = this.editorUi.editor.graph;
- var first = null;
-
- mxEvent.addGestureListeners(elt, function(evt) {
- first = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));
- });
-
- var oldMouseUp = ds.mouseUp;
- ds.mouseUp = function(evt) {
- if (!mxEvent.isPopupTrigger(evt) && this.currentGraph == null && first !=
- null) {
- var tol = graph.tolerance;
-
- if (Math.abs(first.x - mxEvent.getClientX(evt)) <= tol &&
- Math.abs(first.y - mxEvent.getClientY(evt)) <= tol) {
- var gs = graph.getGridSize();
- ds.drop(graph, evt, null, gs, gs);
- }
- }
-
- oldMouseUp.apply(this, arguments);
- first = null;
- };
-};
-
-/**
- * Giuseppe Careri
- * Create xml document vertex
- */
-Sidebar.prototype.createXmlDocument = function(element, label, variables,
- values) {
- var doc = mxUtils.createXmlDocument();
- var node = doc.createElement(element)
- node.setAttribute('label', label);
-
- variables.forEach(function(variable, index) {
- node.setAttribute(variable, values[index] ? values[index] : '');
- });
-
- return node;
-}
-
-/**
- * Giuseppe Careri
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createVertexTemplate = function(style, width, height, value,
- title, showLabel) {
- var variables = [];
- var values = [];
-
- switch (value) {
- case 'answer':
- break;
- case 'start':
- variables = ['answer'];
- values = ['yes'];
- break;
- case 'ispeechasr':
- variables = ['key', 'model', 'ispeech_asr_language', 'timeout', 'intKey',
- 'beep'
- ];
- values = ['', 0, 'it-IT', 1, '#', true];
- break;
- case 'playback':
- variables = ['file_id', 'opts'];
- values = ['0'];
- break;
- case 'background':
- variables = ['file_id', 'response', 'digit'];
- values = ['0', '5', '1'];
- break;
- case 'menu':
- variables = ['file_id', 'response', 'digit', 'retry', 'variable_id'];
- values = ['0', '5', '1', '1', '0'];
- break;
- case 'getdigits':
- variables = ['file_id', 'response', 'mindigit', 'maxdigit', 'retry',
- 'variable_id'
- ];
- values = ['0', '5', '1', '10', '1', '0'];
- break;
- case 'getsecretdigits':
- variables = ['file_id', 'response', 'mindigit', 'maxdigit', 'retry', 'hiddendigitsnum', 'hiddendigitspos',
- 'variable_id'
- ];
- values = ['0', '5', '1', '10', '1', '0', 'first', '0'];
- break;
- case 'custom_app':
- variables = ['application', 'options'];
- values = ['', ''];
- break;
- case 'set':
- variables = ['variable_id', 'variable_value'];
- values = ['0', ''];
- break;
- case 'database':
- variables = ['odbc_id', 'query', 'variable_id'];
- values = ['0', '', '0'];
- break;
- case 'noop':
- variables = ['output'];
- values = [];
- break;
- case 'gotoc':
- variables = ['context', 'extension'];
- values = [];
- break;
- case 'system':
- variables = ['variable_id', 'command'];
- values = [];
- break;
- case 'agi':
- variables = ['args', 'command'];
- values = [];
- break;
- case 'gotoif':
- variables = ['condition'];
- values = [];
- break;
- case 'gotoiftime':
- variables = ['interval_id'];
- values = ['0'];
- break;
- case 'gotoifmultitime':
- variables = ['interval_id'];
- values = ['0'];
- break;
- case 'vswitch':
- variables = ['variable_id'];
- values = ['0'];
- break;
- case 'saydigits':
- variables = ['digits', 'escape_digits'];
- values = ['', '#'];
- break;
- case 'saynumber':
- variables = ['number', 'escape_digits'];
- values = ['', '#'];
- break;
- case 'sayphonetic':
- variables = ['text', 'escape_digits'];
- values = ['', '#'];
- break;
- case 'record':
- variables = ['file', 'recordingFormat', 'timeout', 'escape_digits'];
- values = ['', 'wav', '-1', '#'];
- break;
- case 'dial':
- variables = ['sip_id', 'timeout', 'custom_app', 'url'];
- values = ['0', '60'];
- break;
- case 'ext_dial':
- variables = ['phone', 'trunk_name', 'timeout', 'opts', 'url'];
- values = ['', '-1', '60'];
- break;
- case 'tts':
- variables = ['text', 'google_tts_language'];
- values = ['', 'it'];
- break;
- case 'ispeechtts':
- variables = ['text', 'key', 'ispeech_tts_language', 'speed', 'intKey'];
- values = ['', '', 'euritalianfemale', '0', '#'];
- break;
- case 'queue':
- variables = ['queue_id', 'opts', 'url', 'file_id', 'timeout', 'agi',
- 'macro', 'gosub', 'position'
- ];
- values = ['-1', '', '', '0', '300'];
- break;
- case 'voicemail':
- variables = ['mailbox', 'options'];
- values = ['', ''];
- break;
- case 'subproject':
- variables = ['project_id'];
- values = ['0'];
- break;
- case 'math':
- variables = ['operation', 'variable_id'];
- values = ['', '0'];
- break;
- case 'queuelog':
- variables = ['queuename', 'agent', 'queue_event', 'data1', 'data2', 'data3',
- 'data4', 'data5'
- ];
- values = [];
- break;
- case 'goal':
- variables = ['goalname'];
- values = [];
- break;
- case 'callback':
- variables = ['name', 'phone', 'list_id', 'delay'];
- values = ['', '{CALLERID(num)}', '0', '5'];
- break;
- case 'sendSMS':
- variables = ['account_id', 'to', 'sms_text'];
- values = ['0'];
- break;
- case 'sendMail':
- variables = ['account_id', 'template_id', 'to', 'cc', 'subject', 'text'];
- values = ['0'];
- break;
-
- default:
- variables = [];
- values = [];
- break;
- }
-
- var node = this.createXmlDocument(value, title, variables, values);
-
- //var cells = [new mxCell((value != null) ? value : '', new mxGeometry(0, 0, width, height), style)];
- var cells = [new mxCell(node, new mxGeometry(0, 0, width, height), style)];
- cells[0].vertex = true;
-
- return this.createVertexTemplateFromCells(cells, width, height, title,
- showLabel);
-};
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createVertexTemplateFromCells = function(cells, width, height,
- title, showLabel) {
- var elt = this.createItem(cells, title, showLabel);
- var ds = this.createDragSource(elt, this.createDropHandler(cells, true), this
- .createDragPreview(width, height));
- this.addClickHandler(elt, ds);
-
- // Uses guides for vertices only if enabled in graph
- ds.isGuidesEnabled = mxUtils.bind(this, function() {
- return this.editorUi.editor.graph.graphHandler.guidesEnabled;
- });
-
- // Shows a tooltip with the rendered cell
- if (!touchStyle) {
- mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
- this.showTooltip(elt, cells, title, showLabel);
- }));
- }
-
- return elt;
-};
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createEdgeTemplate = function(style, width, height, value,
- title, showLabel) {
- var cells = [new mxCell((value != null) ? value : '', new mxGeometry(0, 0,
- width, height), style)];
- cells[0].geometry.setTerminalPoint(new mxPoint(0, height), true);
- cells[0].geometry.setTerminalPoint(new mxPoint(width, 0), false);
- cells[0].geometry.relative = true;
- cells[0].edge = true;
-
- return this.createEdgeTemplateFromCells(cells, width, height, title,
- showLabel);
-};
-
-/**
- * Creates a drop handler for inserting the given cells.
- */
-Sidebar.prototype.createEdgeTemplateFromCells = function(cells, width, height,
- title, showLabel) {
- var elt = this.createItem(cells, title, showLabel);
- this.createDragSource(elt, this.createDropHandler(cells, false), this.createDragPreview(
- width, height));
-
- // Installs the default edge
- var graph = this.editorUi.editor.graph;
- mxEvent.addListener(elt, 'click', mxUtils.bind(this, function(evt) {
- if (this.installEdges) {
- graph.setDefaultEdge(cells[0]);
- }
-
- // Highlights the entry for 200ms
- elt.style.backgroundColor = '#ffffff';
-
- window.setTimeout(function() {
- elt.style.backgroundColor = '';
- }, 300);
-
- mxEvent.consume(evt);
- }));
-
- // Shows a tooltip with the rendered cell
- if (!touchStyle) {
- mxEvent.addListener(elt, 'mousemove', mxUtils.bind(this, function(evt) {
- this.showTooltip(elt, cells, title, showLabel);
- }));
- }
-
- return elt;
-};
-
-/**
- * Adds the given palette.
- */
-Sidebar.prototype.addPalette = function(id, title, expanded, onInit) {
- var elt = this.createTitle(title);
- this.container.appendChild(elt);
-
- var div = document.createElement('div');
- div.className = 'geSidebar';
-
- if (expanded) {
- onInit(div);
- onInit = null;
- } else {
- div.style.display = 'none';
- }
-
- this.addFoldingHandler(elt, div, onInit);
-
- var outer = document.createElement('div');
- outer.appendChild(div);
- this.container.appendChild(outer);
-
- // Keeps references to the DOM nodes
- if (id != null) {
- this.palettes[id] = [elt, outer];
- }
-};
-
-/**
- * Create the given title element.
- */
-Sidebar.prototype.addFoldingHandler = function(title, content, funct) {
- var initialized = false;
-
- title.style.backgroundImage = (content.style.display == 'none') ?
- 'url(' + IMAGE_PATH + '/collapsed.gif)' : 'url(' + IMAGE_PATH +
- '/expanded.gif)';
- title.style.backgroundRepeat = 'no-repeat';
- title.style.backgroundPosition = '100% 50%';
-
- mxEvent.addListener(title, 'click', function(evt) {
- if (content.style.display == 'none') {
- if (!initialized) {
- initialized = true;
-
- if (funct != null) {
- title.style.cursor = 'wait';
- window.setTimeout(function() {
- funct(content);
- title.style.cursor = '';
- }, 0);
- }
- }
-
- title.style.backgroundImage = 'url(' + IMAGE_PATH + '/expanded.gif)';
- content.style.display = 'block';
- } else {
- title.style.backgroundImage = 'url(' + IMAGE_PATH + '/collapsed.gif)';
- content.style.display = 'none';
- }
-
- mxEvent.consume(evt);
- });
-};
-
-/**
- * Removes the palette for the given ID.
- */
-Sidebar.prototype.removePalette = function(id) {
- var elts = this.palettes[id];
-
- if (elts != null) {
- this.palettes[id] = null;
-
- for (var i = 0; i < elts.length; i++) {
- this.container.removeChild(elts[i]);
- }
-
- return true;
- }
-
- return false;
-};
-
-/**
- * Adds the given image palette.
- */
-Sidebar.prototype.addImagePalette = function(id, title, prefix, postfix, items,
- titles) {
- // Giuseppe Careri
- // Expanded Sidebar only entry
- this.addPalette(id, title, (id === 'entry'), mxUtils.bind(this, function(
- content) {
- var showTitles = titles != null;
-
- for (var i = 0; i < items.length; i++) {
- var icon = prefix + items[i] + postfix;
- content.appendChild(this.createVertexTemplate('image;image=' + icon, 80,
- 80, items[i], (showTitles) ? titles[i] : null, showTitles));
- }
- }));
-};
+var _0xd470=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x64\x69\x74\x6F\x72\x55\x69","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x70\x61\x6C\x65\x74\x74\x65\x73","\x73\x68\x6F\x77\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x67\x72\x61\x70\x68","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x74\x53\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x65\x64\x69\x74\x6F\x72","\x72\x65\x73\x65\x74\x56\x69\x65\x77\x4F\x6E\x52\x6F\x6F\x74\x43\x68\x61\x6E\x67\x65","\x66\x6F\x6C\x64\x69\x6E\x67\x45\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x43\x6F\x6E\x6E\x65\x63\x74\x61\x62\x6C\x65","\x61\x75\x74\x6F\x53\x63\x72\x6F\x6C\x6C","\x73\x65\x74\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79","\x73\x74\x79\x6C\x65","\x68\x69\x64\x64\x65\x6E","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x62\x73\x6F\x6C\x75\x74\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x62\x6F\x64\x79","\x49\x53\x5F\x54\x4F\x55\x43\x48","\x6D\x6F\x75\x73\x65\x75\x70","\x62\x69\x6E\x64","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x73\x63\x72\x6F\x6C\x6C","\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E","\x68\x69\x64\x65\x54\x6F\x6F\x6C\x74\x69\x70","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x67\x65\x74\x53\x6F\x75\x72\x63\x65","\x63\x75\x72\x72\x65\x6E\x74\x45\x6C\x74","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x6D\x6F\x75\x73\x65\x6F\x75\x74","\x74\x6F\x45\x6C\x65\x6D\x65\x6E\x74","\x72\x65\x6C\x61\x74\x65\x64\x54\x61\x72\x67\x65\x74","\x69\x6E\x69\x74","\x73\x72\x63","\x2F\x74\x6F\x6F\x6C\x74\x69\x70\x2E\x70\x6E\x67","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x6F\x67","\x65\x6E\x74\x72\x79","\x67\x65\x74","\x2F\x65\x6E\x74\x72\x79\x2F","\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67","\x73\x74\x61\x72\x74","\x66\x69\x6E\x61\x6C\x6C\x79","\x65\x6E\x64","\x61\x64\x64\x49\x6D\x61\x67\x65\x50\x61\x6C\x65\x74\x74\x65","\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74","\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F","\x61\x6E\x73\x77\x65\x72","\x68\x61\x6E\x67\x75\x70","\x64\x69\x61\x6C","\x65\x78\x74\x5F\x64\x69\x61\x6C","\x71\x75\x65\x75\x65","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x76\x61\x72\x69\x61\x62\x6C\x65","\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2F","\x73\x65\x74","\x6D\x61\x74\x68","\x70\x6C\x61\x79\x62\x61\x63\x6B","\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F","\x6D\x65\x6E\x75","\x73\x61\x79\x64\x69\x67\x69\x74\x73","\x73\x61\x79\x6E\x75\x6D\x62\x65\x72","\x73\x61\x79\x70\x68\x6F\x6E\x65\x74\x69\x63","\x74\x74\x73","\x69\x73\x70\x65\x65\x63\x68\x74\x74\x73","\x67\x65\x74\x64\x69\x67\x69\x74\x73","\x67\x65\x74\x73\x65\x63\x72\x65\x74\x64\x69\x67\x69\x74\x73","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2F","\x72\x65\x63\x6F\x72\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x53\x65\x72\x76\x65\x72","\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x73\x65\x72\x76\x65\x72\x2F","\x64\x61\x74\x61\x62\x61\x73\x65","\x69\x73\x70\x65\x65\x63\x68\x61\x73\x72","\x73\x65\x6E\x64\x53\x4D\x53","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x63\x61\x6C\x6C\x66\x6C\x6F\x77","\x2F\x63\x61\x6C\x6C\x66\x6C\x6F\x77\x2F","\x67\x6F\x74\x6F\x63","\x67\x6F\x74\x6F\x69\x66","\x67\x6F\x74\x6F\x69\x66\x74\x69\x6D\x65","\x76\x73\x77\x69\x74\x63\x68","\x73\x74\x61\x74\x73","\x2F\x73\x74\x61\x74\x73\x2F","\x67\x6F\x61\x6C","\x67\x65\x6E\x65\x72\x61\x6C","\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2F","\x6E\x6F\x6F\x70","\x73\x79\x73\x74\x65\x6D","\x61\x67\x69","\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74","\x63\x75\x73\x74\x6F\x6D\x5F\x61\x70\x70","\x65\x6E\x61\x62\x6C\x65\x54\x6F\x6F\x6C\x74\x69\x70\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x42\x6F\x72\x64\x65\x72","\x74\x68\x75\x6D\x62\x42\x6F\x72\x64\x65\x72","\x74\x6F\x6F\x6C\x74\x69\x70\x44\x65\x6C\x61\x79","\x69\x6E\x73\x74\x61\x6C\x6C\x45\x64\x67\x65\x73","\x67\x65\x61\x72\x49\x6D\x61\x67\x65","\x2F\x63\x6C\x69\x70\x61\x72\x74\x2F\x47\x65\x61\x72\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67","\x74\x68\x75\x6D\x62\x57\x69\x64\x74\x68","\x74\x68\x75\x6D\x62\x48\x65\x69\x67\x68\x74","\x74\x68\x75\x6D\x62\x50\x61\x64\x64\x69\x6E\x67","\x73\x69\x64\x65\x62\x61\x72\x54\x69\x74\x6C\x65\x53\x69\x7A\x65","\x73\x69\x64\x65\x62\x61\x72\x54\x69\x74\x6C\x65\x73","\x74\x6F\x6F\x6C\x74\x69\x70\x54\x69\x74\x6C\x65\x73","\x73\x68\x6F\x77\x54\x6F\x6F\x6C\x74\x69\x70","\x74\x68\x72\x65\x61\x64","\x63\x6C\x65\x61\x72\x54\x69\x6D\x65\x6F\x75\x74","\x74\x6F\x6F\x6C\x74\x69\x70","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x53\x69\x64\x65\x62\x61\x72\x54\x6F\x6F\x6C\x74\x69\x70","\x67\x72\x61\x70\x68\x32","\x73\x65\x74\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x76\x69\x65\x77","\x49\x53\x5F\x53\x56\x47","\x63\x61\x6E\x76\x61\x73","\x72\x65\x6C\x61\x74\x69\x76\x65","\x74\x6F\x6F\x6C\x74\x69\x70\x49\x6D\x61\x67\x65","\x63\x72\x65\x61\x74\x65\x49\x6D\x61\x67\x65","\x77\x69\x64\x74\x68","\x31\x34\x70\x78","\x68\x65\x69\x67\x68\x74","\x32\x37\x70\x78","\x64\x69\x73\x70\x6C\x61\x79","\x62\x6C\x6F\x63\x6B","\x6C\x61\x62\x65\x6C\x73\x56\x69\x73\x69\x62\x6C\x65","\x63\x6C\x65\x61\x72","\x6D\x6F\x64\x65\x6C","\x61\x64\x64\x43\x65\x6C\x6C\x73","\x67\x65\x74\x47\x72\x61\x70\x68\x42\x6F\x75\x6E\x64\x73","\x49\x53\x5F\x51\x55\x49\x52\x4B\x53","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x76\x69\x73\x69\x62\x6C\x65","\x70\x78","\x6C\x65\x6E\x67\x74\x68","\x74\x6F\x6F\x6C\x74\x69\x70\x54\x69\x74\x6C\x65","\x62\x6F\x72\x64\x65\x72\x54\x6F\x70","\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x67\x72\x61\x79","\x74\x65\x78\x74\x41\x6C\x69\x67\x6E","\x63\x65\x6E\x74\x65\x72","\x31\x30\x30\x25","\x70\x61\x64\x64\x69\x6E\x67\x54\x6F\x70","\x32\x70\x78","\x36\x70\x78","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","","\x77\x72\x69\x74\x65","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70","\x74\x6F\x70","\x6E\x6F\x6E\x65","\x78","\x6D\x69\x6E","\x79","\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68","\x73\x70\x6C\x69\x74\x53\x69\x7A\x65","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x6D\x61\x78","\x74\x72\x61\x6E\x73\x66\x6F\x72\x6D","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x28","\x2C","\x29","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x6C\x65\x66\x74","\x64\x72\x61\x77\x50\x61\x6E\x65","\x6F\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68","\x70\x61\x67\x65\x2D\x73\x69\x64\x65\x62\x61\x72","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74","\x63\x72\x65\x61\x74\x65\x54\x69\x74\x6C\x65","\x61","\x68\x72\x65\x66","\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x76\x6F\x69\x64\x28\x30\x29\x3B","\x67\x65\x54\x69\x74\x6C\x65","\x63\x72\x65\x61\x74\x65\x54\x68\x75\x6D\x62","\x73\x63\x61\x6C\x65\x41\x6E\x64\x54\x72\x61\x6E\x73\x6C\x61\x74\x65","\x66\x6C\x6F\x6F\x72","\x64\x69\x61\x6C\x65\x63\x74","\x44\x49\x41\x4C\x45\x43\x54\x5F\x53\x56\x47","\x4E\x4F\x5F\x46\x4F","\x63\x6C\x6F\x6E\x65\x4E\x6F\x64\x65","\x6F\x77\x6E\x65\x72\x53\x56\x47\x45\x6C\x65\x6D\x65\x6E\x74","\x67\x65\x74\x43\x61\x6E\x76\x61\x73","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x49\x53\x5F\x49\x45\x36","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x49\x6D\x61\x67\x65","\x75\x72\x6C\x28","\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x49\x6D\x61\x67\x65","\x63\x75\x72\x73\x6F\x72","\x70\x6F\x69\x6E\x74\x65\x72","\x6D\x69\x6E\x57\x69\x64\x74\x68","\x6D\x69\x6E\x48\x65\x69\x67\x68\x74","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x6E\x6F\x77\x72\x61\x70","\x49\x53\x5F\x49\x45","\x34\x70\x78","\x63\x72\x65\x61\x74\x65\x49\x74\x65\x6D","\x67\x65\x49\x74\x65\x6D","\x70\x61\x64\x64\x69\x6E\x67","\x63\x6C\x69\x63\x6B","\x63\x6F\x6E\x73\x75\x6D\x65","\x63\x72\x65\x61\x74\x65\x44\x72\x6F\x70\x48\x61\x6E\x64\x6C\x65\x72","\x69\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x65\x74\x49\x6D\x70\x6F\x72\x74\x61\x62\x6C\x65\x43\x65\x6C\x6C\x73","\x69\x73\x56\x61\x6C\x69\x64\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x69\x73\x53\x70\x6C\x69\x74\x45\x6E\x61\x62\x6C\x65\x64","\x69\x73\x53\x70\x6C\x69\x74\x54\x61\x72\x67\x65\x74","\x73\x70\x6C\x69\x74\x45\x64\x67\x65","\x69\x6D\x70\x6F\x72\x74\x43\x65\x6C\x6C\x73","\x73\x63\x72\x6F\x6C\x6C\x43\x65\x6C\x6C\x54\x6F\x56\x69\x73\x69\x62\x6C\x65","\x73\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x63\x72\x65\x61\x74\x65\x44\x72\x61\x67\x50\x72\x65\x76\x69\x65\x77","\x62\x6F\x72\x64\x65\x72","\x31\x70\x78\x20\x64\x61\x73\x68\x65\x64\x20\x62\x6C\x61\x63\x6B","\x63\x72\x65\x61\x74\x65\x44\x72\x61\x67\x53\x6F\x75\x72\x63\x65","\x61\x75\x74\x6F\x73\x63\x72\x6F\x6C\x6C","\x6D\x61\x6B\x65\x44\x72\x61\x67\x67\x61\x62\x6C\x65","\x67\x65\x74\x44\x72\x6F\x70\x54\x61\x72\x67\x65\x74","\x61\x70\x70\x6C\x79","\x69\x73\x56\x61\x6C\x69\x64\x52\x6F\x6F\x74","\x61\x64\x64\x43\x6C\x69\x63\x6B\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x58","\x67\x65\x74\x43\x6C\x69\x65\x6E\x74\x59","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x6D\x6F\x75\x73\x65\x55\x70","\x69\x73\x50\x6F\x70\x75\x70\x54\x72\x69\x67\x67\x65\x72","\x63\x75\x72\x72\x65\x6E\x74\x47\x72\x61\x70\x68","\x74\x6F\x6C\x65\x72\x61\x6E\x63\x65","\x61\x62\x73","\x67\x65\x74\x47\x72\x69\x64\x53\x69\x7A\x65","\x64\x72\x6F\x70","\x63\x72\x65\x61\x74\x65\x58\x6D\x6C\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x6C\x61\x62\x65\x6C","\x66\x6F\x72\x45\x61\x63\x68","\x63\x72\x65\x61\x74\x65\x56\x65\x72\x74\x65\x78\x54\x65\x6D\x70\x6C\x61\x74\x65","\x79\x65\x73","\x6B\x65\x79","\x69\x73\x70\x65\x65\x63\x68\x5F\x61\x73\x72\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x4B\x65\x79","\x62\x65\x65\x70","\x69\x74\x2D\x49\x54","\x23","\x66\x69\x6C\x65\x5F\x69\x64","\x6F\x70\x74\x73","\x30","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x64\x69\x67\x69\x74","\x35","\x31","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64","\x72\x65\x74\x72\x79","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64","\x6D\x69\x6E\x64\x69\x67\x69\x74","\x6D\x61\x78\x64\x69\x67\x69\x74","\x31\x30","\x68\x69\x64\x64\x65\x6E\x64\x69\x67\x69\x74\x73\x6E\x75\x6D","\x68\x69\x64\x64\x65\x6E\x64\x69\x67\x69\x74\x73\x70\x6F\x73","\x66\x69\x72\x73\x74","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x6F\x70\x74\x69\x6F\x6E\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x76\x61\x6C\x75\x65","\x6F\x64\x62\x63\x5F\x69\x64","\x71\x75\x65\x72\x79","\x6F\x75\x74\x70\x75\x74","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x63\x6F\x6D\x6D\x61\x6E\x64","\x61\x72\x67\x73","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x69\x6E\x74\x65\x72\x76\x61\x6C\x5F\x69\x64","\x67\x6F\x74\x6F\x69\x66\x6D\x75\x6C\x74\x69\x74\x69\x6D\x65","\x64\x69\x67\x69\x74\x73","\x65\x73\x63\x61\x70\x65\x5F\x64\x69\x67\x69\x74\x73","\x6E\x75\x6D\x62\x65\x72","\x74\x65\x78\x74","\x66\x69\x6C\x65","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x46\x6F\x72\x6D\x61\x74","\x77\x61\x76","\x2D\x31","\x73\x69\x70\x5F\x69\x64","\x75\x72\x6C","\x36\x30","\x70\x68\x6F\x6E\x65","\x74\x72\x75\x6E\x6B\x5F\x6E\x61\x6D\x65","\x67\x6F\x6F\x67\x6C\x65\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x69\x74","\x69\x73\x70\x65\x65\x63\x68\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x73\x70\x65\x65\x64","\x65\x75\x72\x69\x74\x61\x6C\x69\x61\x6E\x66\x65\x6D\x61\x6C\x65","\x71\x75\x65\x75\x65\x5F\x69\x64","\x6D\x61\x63\x72\x6F","\x67\x6F\x73\x75\x62","\x33\x30\x30","\x6D\x61\x69\x6C\x62\x6F\x78","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x61\x67\x65\x6E\x74","\x71\x75\x65\x75\x65\x5F\x65\x76\x65\x6E\x74","\x64\x61\x74\x61\x31","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x33","\x64\x61\x74\x61\x34","\x64\x61\x74\x61\x35","\x71\x75\x65\x75\x65\x6C\x6F\x67","\x67\x6F\x61\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x6C\x69\x73\x74\x5F\x69\x64","\x64\x65\x6C\x61\x79","\x7B\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x6E\x75\x6D\x29\x7D","\x61\x63\x63\x6F\x75\x6E\x74\x5F\x69\x64","\x74\x6F","\x73\x6D\x73\x5F\x74\x65\x78\x74","\x74\x65\x6D\x70\x6C\x61\x74\x65\x5F\x69\x64","\x63\x63","\x73\x75\x62\x6A\x65\x63\x74","\x76\x65\x72\x74\x65\x78","\x63\x72\x65\x61\x74\x65\x56\x65\x72\x74\x65\x78\x54\x65\x6D\x70\x6C\x61\x74\x65\x46\x72\x6F\x6D\x43\x65\x6C\x6C\x73","\x69\x73\x47\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x75\x69\x64\x65\x73\x45\x6E\x61\x62\x6C\x65\x64","\x67\x72\x61\x70\x68\x48\x61\x6E\x64\x6C\x65\x72","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x73\x65\x74\x54\x65\x72\x6D\x69\x6E\x61\x6C\x50\x6F\x69\x6E\x74","\x67\x65\x6F\x6D\x65\x74\x72\x79","\x65\x64\x67\x65","\x63\x72\x65\x61\x74\x65\x45\x64\x67\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x46\x72\x6F\x6D\x43\x65\x6C\x6C\x73","\x73\x65\x74\x44\x65\x66\x61\x75\x6C\x74\x45\x64\x67\x65","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72","\x23\x66\x66\x66\x66\x66\x66","\x61\x64\x64\x50\x61\x6C\x65\x74\x74\x65","\x67\x65\x53\x69\x64\x65\x62\x61\x72","\x61\x64\x64\x46\x6F\x6C\x64\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x2F\x63\x6F\x6C\x6C\x61\x70\x73\x65\x64\x2E\x67\x69\x66\x29","\x2F\x65\x78\x70\x61\x6E\x64\x65\x64\x2E\x67\x69\x66\x29","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x52\x65\x70\x65\x61\x74","\x6E\x6F\x2D\x72\x65\x70\x65\x61\x74","\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x31\x30\x30\x25\x20\x35\x30\x25","\x77\x61\x69\x74","\x72\x65\x6D\x6F\x76\x65\x50\x61\x6C\x65\x74\x74\x65","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D"];_0xd470[0];function Sidebar(_0xdf46x2,_0xdf46x3){this[_0xd470[1]]= _0xdf46x2;this[_0xd470[2]]= _0xdf46x3;this[_0xd470[3]]= new Object();this[_0xd470[4]]= true;this[_0xd470[5]]= new Graph(document[_0xd470[7]](_0xd470[6]),null,null,this[_0xd470[1]][_0xd470[9]][_0xd470[5]][_0xd470[8]]());this[_0xd470[5]][_0xd470[10]]= false;this[_0xd470[5]][_0xd470[11]]= false;this[_0xd470[5]][_0xd470[12]](false);this[_0xd470[5]][_0xd470[13]]= false;this[_0xd470[5]][_0xd470[14]](false);this[_0xd470[5]][_0xd470[15]](false);this[_0xd470[5]][_0xd470[2]][_0xd470[17]][_0xd470[16]]= _0xd470[18];this[_0xd470[5]][_0xd470[2]][_0xd470[17]][_0xd470[19]]= _0xd470[20];document[_0xd470[22]][_0xd470[21]](this[_0xd470[5]][_0xd470[2]]);if(!mxClient[_0xd470[23]]){mxEvent[_0xd470[26]](document,_0xd470[24],mxUtils[_0xd470[25]](this,function(){this[_0xd470[4]]= true}));mxEvent[_0xd470[26]](_0xdf46x3,_0xd470[27],mxUtils[_0xd470[25]](this,function(){this[_0xd470[4]]= true}));mxEvent[_0xd470[26]](document,_0xd470[28],mxUtils[_0xd470[25]](this,function(){this[_0xd470[4]]= false;this[_0xd470[29]]()}));mxEvent[_0xd470[26]](document,_0xd470[30],mxUtils[_0xd470[25]](this,function(_0xdf46x4){var _0xdf46x5=mxEvent[_0xd470[31]](_0xdf46x4);while(_0xdf46x5!= null){if(_0xdf46x5== this[_0xd470[32]]){return};_0xdf46x5= _0xdf46x5[_0xd470[33]]};this[_0xd470[29]]()}));mxEvent[_0xd470[26]](document,_0xd470[34],mxUtils[_0xd470[25]](this,function(_0xdf46x4){if(_0xdf46x4[_0xd470[35]]== null&& _0xdf46x4[_0xd470[36]]== null){this[_0xd470[29]]()}}))};this[_0xd470[37]](); new Image()[_0xd470[38]]= IMAGE_PATH+ _0xd470[39]}Sidebar[_0xd470[40]][_0xd470[37]]= function(){var _0xdf46x6=STENCIL_PATH;console[_0xd470[41]](_0xdf46x6);this[_0xd470[49]](_0xd470[42],mxResources[_0xd470[43]](_0xd470[42]),_0xdf46x6+ _0xd470[44],_0xd470[45],[_0xd470[46],_0xd470[47],_0xd470[48]],[mxResources[_0xd470[43]](_0xd470[46]),mxResources[_0xd470[43]](_0xd470[47]),mxResources[_0xd470[43]](_0xd470[48])]);this[_0xd470[49]](_0xd470[50],mxResources[_0xd470[43]](_0xd470[50]),_0xdf46x6+ _0xd470[51],_0xd470[45],[_0xd470[52],_0xd470[53],_0xd470[54],_0xd470[55],_0xd470[56],_0xd470[57],_0xd470[58]],[mxResources[_0xd470[43]](_0xd470[52]),mxResources[_0xd470[43]](_0xd470[53]),mxResources[_0xd470[43]](_0xd470[54]),mxResources[_0xd470[43]](_0xd470[55]),mxResources[_0xd470[43]](_0xd470[56]),mxResources[_0xd470[43]](_0xd470[57]),mxResources[_0xd470[43]](_0xd470[58])]);this[_0xd470[49]](_0xd470[59],mxResources[_0xd470[43]](_0xd470[59]),_0xdf46x6+ _0xd470[60],_0xd470[45],[_0xd470[61],_0xd470[62]],[mxResources[_0xd470[43]](_0xd470[61]),mxResources[_0xd470[43]](_0xd470[62])]);this[_0xd470[49]](_0xd470[63],mxResources[_0xd470[43]](_0xd470[63]),_0xdf46x6+ _0xd470[64],_0xd470[45],[_0xd470[63],_0xd470[65],_0xd470[66],_0xd470[67],_0xd470[68],_0xd470[69],_0xd470[70],_0xd470[71],_0xd470[72]],[mxResources[_0xd470[43]](_0xd470[63]),mxResources[_0xd470[43]](_0xd470[65]),mxResources[_0xd470[43]](_0xd470[66]),mxResources[_0xd470[43]](_0xd470[67]),mxResources[_0xd470[43]](_0xd470[68]),mxResources[_0xd470[43]](_0xd470[69]),mxResources[_0xd470[43]](_0xd470[70]),mxResources[_0xd470[43]](_0xd470[71]),mxResources[_0xd470[43]](_0xd470[72])]);this[_0xd470[49]](_0xd470[73],mxResources[_0xd470[43]](_0xd470[73]),_0xdf46x6+ _0xd470[74],_0xd470[45],[_0xd470[75]],[mxResources[_0xd470[43]](_0xd470[75])]);this[_0xd470[49]](_0xd470[76],mxResources[_0xd470[43]](_0xd470[76]),_0xdf46x6+ _0xd470[77],_0xd470[45],[_0xd470[78],_0xd470[79],_0xd470[80],_0xd470[81]],[mxResources[_0xd470[43]](_0xd470[78]),mxResources[_0xd470[43]](_0xd470[79]),mxResources[_0xd470[43]](_0xd470[80]),mxResources[_0xd470[43]](_0xd470[81])]);this[_0xd470[49]](_0xd470[82],mxResources[_0xd470[43]](_0xd470[82]),_0xdf46x6+ _0xd470[83],_0xd470[45],[_0xd470[84],_0xd470[85],_0xd470[86],_0xd470[87]],[mxResources[_0xd470[43]](_0xd470[84]),mxResources[_0xd470[43]](_0xd470[85]),mxResources[_0xd470[43]](_0xd470[86]),mxResources[_0xd470[43]](_0xd470[87])]);this[_0xd470[49]](_0xd470[88],mxResources[_0xd470[43]](_0xd470[88]),_0xdf46x6+ _0xd470[89],_0xd470[45],[_0xd470[90]],[mxResources[_0xd470[43]](_0xd470[90])]);this[_0xd470[49]](_0xd470[91],mxResources[_0xd470[43]](_0xd470[91]),_0xdf46x6+ _0xd470[92],_0xd470[45],[_0xd470[93],_0xd470[94],_0xd470[95],_0xd470[96],_0xd470[97]],[mxResources[_0xd470[43]](_0xd470[93]),mxResources[_0xd470[43]](_0xd470[94]),mxResources[_0xd470[43]](_0xd470[95]),mxResources[_0xd470[43]](_0xd470[96]),mxResources[_0xd470[43]](_0xd470[97])])};Sidebar[_0xd470[40]][_0xd470[98]]= !mxClient[_0xd470[23]];Sidebar[_0xd470[40]][_0xd470[99]]= 16;Sidebar[_0xd470[40]][_0xd470[100]]= 3;Sidebar[_0xd470[40]][_0xd470[101]]= 300;Sidebar[_0xd470[40]][_0xd470[102]]= true;Sidebar[_0xd470[40]][_0xd470[103]]= STENCIL_PATH+ _0xd470[104];Sidebar[_0xd470[40]][_0xd470[105]]= 34;Sidebar[_0xd470[40]][_0xd470[106]]= 34;Sidebar[_0xd470[40]][_0xd470[107]]= 2;Sidebar[_0xd470[40]][_0xd470[108]]= 9;Sidebar[_0xd470[40]][_0xd470[109]]= false;Sidebar[_0xd470[40]][_0xd470[110]]= false;Sidebar[_0xd470[40]][_0xd470[111]]= function(_0xdf46x7,_0xdf46x8,_0xdf46x9,_0xdf46xa){if(this[_0xd470[98]]&& this[_0xd470[4]]){if(this[_0xd470[32]]!= _0xdf46x7){if(this[_0xd470[112]]!= null){window[_0xd470[113]](this[_0xd470[112]]);this[_0xd470[112]]= null};var _0xdf46xb=mxUtils[_0xd470[25]](this,function(){if(this[_0xd470[114]]== null){this[_0xd470[114]]= document[_0xd470[7]](_0xd470[6]);this[_0xd470[114]][_0xd470[115]]= _0xd470[116];document[_0xd470[22]][_0xd470[21]](this[_0xd470[114]]);this[_0xd470[117]]= new Graph(this[_0xd470[114]],null,null,this[_0xd470[1]][_0xd470[9]][_0xd470[5]][_0xd470[8]]());this[_0xd470[117]][_0xd470[119]][_0xd470[118]](this[_0xd470[99]],this[_0xd470[99]]);this[_0xd470[117]][_0xd470[10]]= false;this[_0xd470[117]][_0xd470[11]]= false;this[_0xd470[117]][_0xd470[13]]= false;this[_0xd470[117]][_0xd470[14]](false);this[_0xd470[117]][_0xd470[12]](false);this[_0xd470[117]][_0xd470[15]](false);if(!mxClient[_0xd470[120]]){this[_0xd470[117]][_0xd470[119]][_0xd470[121]][_0xd470[17]][_0xd470[19]]= _0xd470[122]};this[_0xd470[123]]= mxUtils[_0xd470[124]](IMAGE_PATH+ _0xd470[39]);this[_0xd470[123]][_0xd470[17]][_0xd470[19]]= _0xd470[20];this[_0xd470[123]][_0xd470[17]][_0xd470[125]]= _0xd470[126];this[_0xd470[123]][_0xd470[17]][_0xd470[127]]= _0xd470[128];document[_0xd470[22]][_0xd470[21]](this[_0xd470[123]])};this[_0xd470[114]][_0xd470[17]][_0xd470[129]]= _0xd470[130];this[_0xd470[117]][_0xd470[131]]= (_0xdf46xa== null|| _0xdf46xa);this[_0xd470[117]][_0xd470[133]][_0xd470[132]]();this[_0xd470[117]][_0xd470[134]](_0xdf46x8);var _0xdf46xc=this[_0xd470[117]][_0xd470[135]]();var _0xdf46xd=_0xdf46xc[_0xd470[125]]+ 2* this[_0xd470[99]];var _0xdf46xe=_0xdf46xc[_0xd470[127]]+ 2* this[_0xd470[99]];if(mxClient[_0xd470[136]]){_0xdf46xd+= 4;_0xdf46xe+= 4;this[_0xd470[114]][_0xd470[17]][_0xd470[137]]= _0xd470[18]}else {this[_0xd470[114]][_0xd470[17]][_0xd470[137]]= _0xd470[138]};this[_0xd470[123]][_0xd470[17]][_0xd470[16]]= _0xd470[138];this[_0xd470[114]][_0xd470[17]][_0xd470[125]]= _0xdf46xd+ _0xd470[139];if(this[_0xd470[110]]&& _0xdf46x9!= null&& _0xdf46x9[_0xd470[140]]> 0){if(this[_0xd470[141]]== null){this[_0xd470[141]]= document[_0xd470[7]](_0xd470[6]);this[_0xd470[141]][_0xd470[17]][_0xd470[142]]= _0xd470[143];this[_0xd470[141]][_0xd470[17]][_0xd470[144]]= _0xd470[145];this[_0xd470[141]][_0xd470[17]][_0xd470[125]]= _0xd470[146];this[_0xd470[141]][_0xd470[17]][_0xd470[137]]= _0xd470[18];if(mxClient[_0xd470[120]]){this[_0xd470[141]][_0xd470[17]][_0xd470[147]]= _0xd470[148]}else {this[_0xd470[141]][_0xd470[17]][_0xd470[19]]= _0xd470[20];this[_0xd470[141]][_0xd470[17]][_0xd470[147]]= _0xd470[149]};this[_0xd470[114]][_0xd470[21]](this[_0xd470[141]])}else {this[_0xd470[141]][_0xd470[150]]= _0xd470[151]};this[_0xd470[141]][_0xd470[17]][_0xd470[129]]= _0xd470[151];mxUtils[_0xd470[152]](this[_0xd470[141]],_0xdf46x9);var _0xdf46xf=this[_0xd470[141]][_0xd470[153]]+ 10;_0xdf46xe+= _0xdf46xf;if(mxClient[_0xd470[120]]){this[_0xd470[141]][_0xd470[17]][_0xd470[154]]= (-_0xdf46xf) + _0xd470[139]}else {_0xdf46xe-= 6;this[_0xd470[141]][_0xd470[17]][_0xd470[155]]= (_0xdf46xe- _0xdf46xf)+ _0xd470[139]}}else {if(this[_0xd470[141]]!= null&& this[_0xd470[141]][_0xd470[33]]!= null){this[_0xd470[141]][_0xd470[17]][_0xd470[129]]= _0xd470[156]}};this[_0xd470[114]][_0xd470[17]][_0xd470[127]]= _0xdf46xe+ _0xd470[139];var _0xdf46x10=-Math[_0xd470[158]](0,_0xdf46xc[_0xd470[157]]- this[_0xd470[99]]);var _0xdf46x11=-Math[_0xd470[158]](0,_0xdf46xc[_0xd470[159]]- this[_0xd470[99]]);var _0xdf46x12=this[_0xd470[2]][_0xd470[160]]+ this[_0xd470[1]][_0xd470[161]]+ 3;var _0xdf46x13=Math[_0xd470[164]](0,(this[_0xd470[2]][_0xd470[162]]+ _0xdf46x7[_0xd470[162]]- this[_0xd470[2]][_0xd470[163]]- _0xdf46xe/ 2+ 16));if(mxClient[_0xd470[120]]){this[_0xd470[117]][_0xd470[119]][_0xd470[121]][_0xd470[169]](_0xd470[165],_0xd470[166]+ _0xdf46x10+ _0xd470[167]+ _0xdf46x11+ _0xd470[168])}else {this[_0xd470[117]][_0xd470[119]][_0xd470[171]][_0xd470[17]][_0xd470[170]]= _0xdf46x10+ _0xd470[139];this[_0xd470[117]][_0xd470[119]][_0xd470[171]][_0xd470[17]][_0xd470[155]]= _0xdf46x11+ _0xd470[139]};_0xdf46x12+= document[_0xd470[174]](_0xd470[173])[_0xd470[172]];_0xdf46x13+= 90;this[_0xd470[114]][_0xd470[17]][_0xd470[19]]= _0xd470[20];this[_0xd470[114]][_0xd470[17]][_0xd470[170]]= _0xdf46x12+ _0xd470[139];this[_0xd470[114]][_0xd470[17]][_0xd470[155]]= _0xdf46x13+ _0xd470[139];this[_0xd470[123]][_0xd470[17]][_0xd470[170]]= (_0xdf46x12- 13)+ _0xd470[139];this[_0xd470[123]][_0xd470[17]][_0xd470[155]]= (_0xdf46x13+ _0xdf46xe/ 2- 13)+ _0xd470[139]});if(this[_0xd470[114]]!= null&& this[_0xd470[114]][_0xd470[17]][_0xd470[129]]!= _0xd470[156]){_0xdf46xb()}else {this[_0xd470[112]]= window[_0xd470[175]](_0xdf46xb,this[_0xd470[101]])};this[_0xd470[32]]= _0xdf46x7}}};Sidebar[_0xd470[40]][_0xd470[29]]= function(){if(this[_0xd470[112]]!= null){window[_0xd470[113]](this[_0xd470[112]]);this[_0xd470[112]]= null};if(this[_0xd470[114]]!= null){this[_0xd470[114]][_0xd470[17]][_0xd470[129]]= _0xd470[156];this[_0xd470[123]][_0xd470[17]][_0xd470[16]]= _0xd470[18];this[_0xd470[32]]= null}};Sidebar[_0xd470[40]][_0xd470[176]]= function(_0xdf46x14){var _0xdf46x7=document[_0xd470[7]](_0xd470[177]);_0xdf46x7[_0xd470[169]](_0xd470[178],_0xd470[179]);_0xdf46x7[_0xd470[115]]= _0xd470[180];mxUtils[_0xd470[152]](_0xdf46x7,_0xdf46x14);return _0xdf46x7};Sidebar[_0xd470[40]][_0xd470[181]]= function(_0xdf46x8,_0xdf46xd,_0xdf46xe,_0xdf46x15,_0xdf46x9,_0xdf46xa){this[_0xd470[5]][_0xd470[131]]= (_0xdf46xa== null|| _0xdf46xa);this[_0xd470[5]][_0xd470[119]][_0xd470[182]](1,0,0);this[_0xd470[5]][_0xd470[134]](_0xdf46x8);var _0xdf46xc=this[_0xd470[5]][_0xd470[135]]();var _0xdf46x16=this[_0xd470[100]];var _0xdf46x17=Math[_0xd470[158]]((_0xdf46xd- 2)/ (_0xdf46xc[_0xd470[125]]- _0xdf46xc[_0xd470[157]]+ _0xdf46x16),(_0xdf46xe- 2)/ (_0xdf46xc[_0xd470[127]]- _0xdf46xc[_0xd470[159]]+ _0xdf46x16));var _0xdf46x10=-Math[_0xd470[158]](_0xdf46xc[_0xd470[157]],0);var _0xdf46x11=-Math[_0xd470[158]](_0xdf46xc[_0xd470[159]],0);this[_0xd470[5]][_0xd470[119]][_0xd470[182]](_0xdf46x17,_0xdf46x10,_0xdf46x11);_0xdf46xc= this[_0xd470[5]][_0xd470[135]]();var _0xdf46x18=Math[_0xd470[164]](0,Math[_0xd470[183]]((_0xdf46xd- _0xdf46xc[_0xd470[125]]- _0xdf46xc[_0xd470[157]])/ 2));var _0xdf46xf=Math[_0xd470[164]](0,Math[_0xd470[183]]((_0xdf46xe- _0xdf46xc[_0xd470[127]]- _0xdf46xc[_0xd470[159]])/ 2));var _0xdf46x19=null;if(this[_0xd470[5]][_0xd470[184]]== mxConstants[_0xd470[185]]&& !mxClient[_0xd470[186]]){_0xdf46x19= this[_0xd470[5]][_0xd470[119]][_0xd470[189]]()[_0xd470[188]][_0xd470[187]](true)}else {_0xdf46x19= this[_0xd470[5]][_0xd470[2]][_0xd470[187]](false);_0xdf46x19[_0xd470[150]]= this[_0xd470[5]][_0xd470[2]][_0xd470[150]]};this[_0xd470[5]][_0xd470[190]]()[_0xd470[132]]();if(mxClient[_0xd470[191]]){_0xdf46x15[_0xd470[17]][_0xd470[192]]= _0xd470[193]+ this[_0xd470[1]][_0xd470[9]][_0xd470[194]]+ _0xd470[168]};var _0xdf46x1a=3;_0xdf46x19[_0xd470[17]][_0xd470[19]]= _0xd470[122];_0xdf46x19[_0xd470[17]][_0xd470[137]]= _0xd470[18];_0xdf46x19[_0xd470[17]][_0xd470[195]]= _0xd470[196];_0xdf46x19[_0xd470[17]][_0xd470[170]]= (_0xdf46x18+ _0xdf46x1a)+ _0xd470[139];_0xdf46x19[_0xd470[17]][_0xd470[155]]= (_0xdf46xf+ _0xdf46x1a)+ _0xd470[139];_0xdf46x19[_0xd470[17]][_0xd470[125]]= _0xdf46xd+ _0xd470[139];_0xdf46x19[_0xd470[17]][_0xd470[127]]= _0xdf46xe+ _0xd470[139];_0xdf46x19[_0xd470[17]][_0xd470[16]]= _0xd470[151];_0xdf46x19[_0xd470[17]][_0xd470[197]]= _0xd470[151];_0xdf46x19[_0xd470[17]][_0xd470[198]]= _0xd470[151];_0xdf46x15[_0xd470[21]](_0xdf46x19);if(this[_0xd470[109]]&& _0xdf46x9!= null){var _0xdf46x1b=(mxClient[_0xd470[136]])?2* this[_0xd470[107]]+ 2:0;_0xdf46x15[_0xd470[17]][_0xd470[127]]= (this[_0xd470[106]]+ _0xdf46x1b+ this[_0xd470[108]]+ 8)+ _0xd470[139];var _0xdf46x1c=document[_0xd470[7]](_0xd470[6]);_0xdf46x1c[_0xd470[17]][_0xd470[199]]= this[_0xd470[108]]+ _0xd470[139];_0xdf46x1c[_0xd470[17]][_0xd470[144]]= _0xd470[145];_0xdf46x1c[_0xd470[17]][_0xd470[200]]= _0xd470[201];if(mxClient[_0xd470[202]]){_0xdf46x1c[_0xd470[17]][_0xd470[127]]= (this[_0xd470[108]]+ 12)+ _0xd470[139]};_0xdf46x1c[_0xd470[17]][_0xd470[147]]= _0xd470[203];mxUtils[_0xd470[152]](_0xdf46x1c,_0xdf46x9);_0xdf46x15[_0xd470[21]](_0xdf46x1c)}};Sidebar[_0xd470[40]][_0xd470[204]]= function(_0xdf46x8,_0xdf46x9,_0xdf46xa){var _0xdf46x7=document[_0xd470[7]](_0xd470[177]);_0xdf46x7[_0xd470[169]](_0xd470[178],_0xd470[179]);_0xdf46x7[_0xd470[115]]= _0xd470[205];_0xdf46x7[_0xd470[17]][_0xd470[137]]= _0xd470[18];var _0xdf46x1b=(mxClient[_0xd470[136]])?8+ 2* this[_0xd470[107]]:6;_0xdf46x7[_0xd470[17]][_0xd470[125]]= (this[_0xd470[105]]+ _0xdf46x1b)+ _0xd470[139];_0xdf46x7[_0xd470[17]][_0xd470[127]]= (this[_0xd470[106]]+ _0xdf46x1b)+ _0xd470[139];_0xdf46x7[_0xd470[17]][_0xd470[206]]= this[_0xd470[107]]+ _0xd470[139];mxEvent[_0xd470[26]](_0xdf46x7,_0xd470[207],function(_0xdf46x4){mxEvent[_0xd470[208]](_0xdf46x4)});this[_0xd470[181]](_0xdf46x8,this[_0xd470[105]],this[_0xd470[106]],_0xdf46x7,_0xdf46x9,_0xdf46xa);return _0xdf46x7};Sidebar[_0xd470[40]][_0xd470[209]]= function(_0xdf46x8,_0xdf46x1d){return function(_0xdf46x1e,_0xdf46x4,_0xdf46x1f,_0xdf46x20,_0xdf46x21){if(_0xdf46x1e[_0xd470[210]]()){_0xdf46x8= _0xdf46x1e[_0xd470[211]](_0xdf46x8);if(_0xdf46x8[_0xd470[140]]> 0){var _0xdf46x22=(_0xdf46x1f!= null)?_0xdf46x1e[_0xd470[212]](_0xdf46x1f,_0xdf46x8,_0xdf46x4):false;var _0xdf46x23=null;if(_0xdf46x1f!= null&& !_0xdf46x22){_0xdf46x1f= null};if(_0xdf46x1d&& _0xdf46x1e[_0xd470[213]]()&& _0xdf46x1e[_0xd470[214]](_0xdf46x1f,_0xdf46x8,_0xdf46x4)){_0xdf46x1e[_0xd470[215]](_0xdf46x1f,_0xdf46x8,null,_0xdf46x20,_0xdf46x21);_0xdf46x23= _0xdf46x8}else {if(_0xdf46x8[_0xd470[140]]> 0){_0xdf46x23= _0xdf46x1e[_0xd470[216]](_0xdf46x8,_0xdf46x20,_0xdf46x21,_0xdf46x1f)}};if(_0xdf46x23!= null&& _0xdf46x23[_0xd470[140]]> 0){_0xdf46x1e[_0xd470[217]](_0xdf46x23[0]);_0xdf46x1e[_0xd470[218]](_0xdf46x23)}}}}};Sidebar[_0xd470[40]][_0xd470[219]]= function(_0xdf46xd,_0xdf46xe){var _0xdf46x7=document[_0xd470[7]](_0xd470[6]);_0xdf46x7[_0xd470[17]][_0xd470[220]]= _0xd470[221];_0xdf46x7[_0xd470[17]][_0xd470[125]]= _0xdf46xd+ _0xd470[139];_0xdf46x7[_0xd470[17]][_0xd470[127]]= _0xdf46xe+ _0xd470[139];return _0xdf46x7};Sidebar[_0xd470[40]][_0xd470[222]]= function(_0xdf46x7,_0xdf46x24,_0xdf46x25){var _0xdf46x26=mxUtils[_0xd470[224]](_0xdf46x7,this[_0xd470[1]][_0xd470[9]][_0xd470[5]],_0xdf46x24,_0xdf46x25,0,0,this[_0xd470[1]][_0xd470[9]][_0xd470[5]][_0xd470[223]],true,true);_0xdf46x26[_0xd470[225]]= function(_0xdf46x1e,_0xdf46x20,_0xdf46x21){var _0xdf46x1f=mxDragSource[_0xd470[40]][_0xd470[225]][_0xd470[226]](this,arguments);if(!_0xdf46x1e[_0xd470[227]](_0xdf46x1f)){_0xdf46x1f= null};return _0xdf46x1f};return _0xdf46x26};Sidebar[_0xd470[40]][_0xd470[228]]= function(_0xdf46x7,_0xdf46x27){var _0xdf46x1e=this[_0xd470[1]][_0xd470[9]][_0xd470[5]];var _0xdf46x28=null;mxEvent[_0xd470[231]](_0xdf46x7,function(_0xdf46x4){_0xdf46x28= new mxPoint(mxEvent[_0xd470[229]](_0xdf46x4),mxEvent[_0xd470[230]](_0xdf46x4))});var _0xdf46x29=_0xdf46x27[_0xd470[232]];_0xdf46x27[_0xd470[232]]= function(_0xdf46x4){if(!mxEvent[_0xd470[233]](_0xdf46x4)&& this[_0xd470[234]]== null&& _0xdf46x28!= null){var _0xdf46x2a=_0xdf46x1e[_0xd470[235]];if(Math[_0xd470[236]](_0xdf46x28[_0xd470[157]]- mxEvent[_0xd470[229]](_0xdf46x4))<= _0xdf46x2a&& Math[_0xd470[236]](_0xdf46x28[_0xd470[159]]- mxEvent[_0xd470[230]](_0xdf46x4))<= _0xdf46x2a){var _0xdf46x2b=_0xdf46x1e[_0xd470[237]]();_0xdf46x27[_0xd470[238]](_0xdf46x1e,_0xdf46x4,null,_0xdf46x2b,_0xdf46x2b)}};_0xdf46x29[_0xd470[226]](this,arguments);_0xdf46x28= null}};Sidebar[_0xd470[40]][_0xd470[239]]= function(_0xdf46x2c,_0xdf46x14,_0xdf46x2d,_0xdf46x2e){var _0xdf46x2f=mxUtils[_0xd470[239]]();var _0xdf46x19=_0xdf46x2f[_0xd470[7]](_0xdf46x2c);_0xdf46x19[_0xd470[169]](_0xd470[240],_0xdf46x14);_0xdf46x2d[_0xd470[241]](function(_0xdf46x30,_0xdf46x31){_0xdf46x19[_0xd470[169]](_0xdf46x30,_0xdf46x2e[_0xdf46x31]?_0xdf46x2e[_0xdf46x31]:_0xd470[151])});return _0xdf46x19};Sidebar[_0xd470[40]][_0xd470[242]]= function(_0xdf46x32,_0xdf46xd,_0xdf46xe,_0xdf46x33,_0xdf46x9,_0xdf46xa){var _0xdf46x2d=[];var _0xdf46x2e=[];switch(_0xdf46x33){case _0xd470[52]:break;case _0xd470[46]:_0xdf46x2d= [_0xd470[52]];_0xdf46x2e= [_0xd470[243]];break;case _0xd470[79]:_0xdf46x2d= [_0xd470[244],_0xd470[133],_0xd470[245],_0xd470[246],_0xd470[247],_0xd470[248]];_0xdf46x2e= [_0xd470[151],0,_0xd470[249],1,_0xd470[250],true];break;case _0xd470[63]:_0xdf46x2d= [_0xd470[251],_0xd470[252]];_0xdf46x2e= [_0xd470[253]];break;case _0xd470[258]:_0xdf46x2d= [_0xd470[251],_0xd470[254],_0xd470[255]];_0xdf46x2e= [_0xd470[253],_0xd470[256],_0xd470[257]];break;case _0xd470[65]:_0xdf46x2d= [_0xd470[251],_0xd470[254],_0xd470[255],_0xd470[259],_0xd470[260]];_0xdf46x2e= [_0xd470[253],_0xd470[256],_0xd470[257],_0xd470[257],_0xd470[253]];break;case _0xd470[71]:_0xdf46x2d= [_0xd470[251],_0xd470[254],_0xd470[261],_0xd470[262],_0xd470[259],_0xd470[260]];_0xdf46x2e= [_0xd470[253],_0xd470[256],_0xd470[257],_0xd470[263],_0xd470[257],_0xd470[253]];break;case _0xd470[72]:_0xdf46x2d= [_0xd470[251],_0xd470[254],_0xd470[261],_0xd470[262],_0xd470[259],_0xd470[264],_0xd470[265],_0xd470[260]];_0xdf46x2e= [_0xd470[253],_0xd470[256],_0xd470[257],_0xd470[263],_0xd470[257],_0xd470[253],_0xd470[266],_0xd470[253]];break;case _0xd470[97]:_0xdf46x2d= [_0xd470[267],_0xd470[268]];_0xdf46x2e= [_0xd470[151],_0xd470[151]];break;case _0xd470[61]:_0xdf46x2d= [_0xd470[260],_0xd470[269]];_0xdf46x2e= [_0xd470[253],_0xd470[151]];break;case _0xd470[78]:_0xdf46x2d= [_0xd470[270],_0xd470[271],_0xd470[260]];_0xdf46x2e= [_0xd470[253],_0xd470[151],_0xd470[253]];break;case _0xd470[93]:_0xdf46x2d= [_0xd470[272]];_0xdf46x2e= [];break;case _0xd470[84]:_0xdf46x2d= [_0xd470[273],_0xd470[274]];_0xdf46x2e= [];break;case _0xd470[94]:_0xdf46x2d= [_0xd470[260],_0xd470[275]];_0xdf46x2e= [];break;case _0xd470[95]:_0xdf46x2d= [_0xd470[276],_0xd470[275]];_0xdf46x2e= [];break;case _0xd470[85]:_0xdf46x2d= [_0xd470[277]];_0xdf46x2e= [];break;case _0xd470[86]:_0xdf46x2d= [_0xd470[278]];_0xdf46x2e= [_0xd470[253]];break;case _0xd470[279]:_0xdf46x2d= [_0xd470[278]];_0xdf46x2e= [_0xd470[253]];break;case _0xd470[87]:_0xdf46x2d= [_0xd470[260]];_0xdf46x2e= [_0xd470[253]];break;case _0xd470[66]:_0xdf46x2d= [_0xd470[280],_0xd470[281]];_0xdf46x2e= [_0xd470[151],_0xd470[250]];break;case _0xd470[67]:_0xdf46x2d= [_0xd470[282],_0xd470[281]];_0xdf46x2e= [_0xd470[151],_0xd470[250]];break;case _0xd470[68]:_0xdf46x2d= [_0xd470[283],_0xd470[281]];_0xdf46x2e= [_0xd470[151],_0xd470[250]];break;case _0xd470[75]:_0xdf46x2d= [_0xd470[284],_0xd470[285],_0xd470[246],_0xd470[281]];_0xdf46x2e= [_0xd470[151],_0xd470[286],_0xd470[287],_0xd470[250]];break;case _0xd470[54]:_0xdf46x2d= [_0xd470[288],_0xd470[246],_0xd470[97],_0xd470[289]];_0xdf46x2e= [_0xd470[253],_0xd470[290]];break;case _0xd470[55]:_0xdf46x2d= [_0xd470[291],_0xd470[292],_0xd470[246],_0xd470[252],_0xd470[289]];_0xdf46x2e= [_0xd470[151],_0xd470[287],_0xd470[290]];break;case _0xd470[69]:_0xdf46x2d= [_0xd470[283],_0xd470[293]];_0xdf46x2e= [_0xd470[151],_0xd470[294]];break;case _0xd470[70]:_0xdf46x2d= [_0xd470[283],_0xd470[244],_0xd470[295],_0xd470[296],_0xd470[247]];_0xdf46x2e= [_0xd470[151],_0xd470[151],_0xd470[297],_0xd470[253],_0xd470[250]];break;case _0xd470[56]:_0xdf46x2d= [_0xd470[298],_0xd470[252],_0xd470[289],_0xd470[251],_0xd470[246],_0xd470[95],_0xd470[299],_0xd470[300],_0xd470[19]];_0xdf46x2e= [_0xd470[287],_0xd470[151],_0xd470[151],_0xd470[253],_0xd470[301]];break;case _0xd470[57]:_0xdf46x2d= [_0xd470[302],_0xd470[268]];_0xdf46x2e= [_0xd470[151],_0xd470[151]];break;case _0xd470[96]:_0xdf46x2d= [_0xd470[303]];_0xdf46x2e= [_0xd470[253]];break;case _0xd470[62]:_0xdf46x2d= [_0xd470[304],_0xd470[260]];_0xdf46x2e= [_0xd470[151],_0xd470[253]];break;case _0xd470[313]:_0xdf46x2d= [_0xd470[305],_0xd470[306],_0xd470[307],_0xd470[308],_0xd470[309],_0xd470[310],_0xd470[311],_0xd470[312]];_0xdf46x2e= [];break;case _0xd470[90]:_0xdf46x2d= [_0xd470[314]];_0xdf46x2e= [];break;case _0xd470[58]:_0xdf46x2d= [_0xd470[315],_0xd470[291],_0xd470[316],_0xd470[317]];_0xdf46x2e= [_0xd470[151],_0xd470[318],_0xd470[253],_0xd470[256]];break;case _0xd470[80]:_0xdf46x2d= [_0xd470[319],_0xd470[320],_0xd470[321]];_0xdf46x2e= [_0xd470[253]];break;case _0xd470[81]:_0xdf46x2d= [_0xd470[319],_0xd470[322],_0xd470[320],_0xd470[323],_0xd470[324],_0xd470[283]];_0xdf46x2e= [_0xd470[253]];break;default:_0xdf46x2d= [];_0xdf46x2e= [];break};var _0xdf46x19=this[_0xd470[239]](_0xdf46x33,_0xdf46x9,_0xdf46x2d,_0xdf46x2e);var _0xdf46x8=[ new mxCell(_0xdf46x19, new mxGeometry(0,0,_0xdf46xd,_0xdf46xe),_0xdf46x32)];_0xdf46x8[0][_0xd470[325]]= true;return this[_0xd470[326]](_0xdf46x8,_0xdf46xd,_0xdf46xe,_0xdf46x9,_0xdf46xa)};Sidebar[_0xd470[40]][_0xd470[326]]= function(_0xdf46x8,_0xdf46xd,_0xdf46xe,_0xdf46x9,_0xdf46xa){var _0xdf46x7=this[_0xd470[204]](_0xdf46x8,_0xdf46x9,_0xdf46xa);var _0xdf46x27=this[_0xd470[222]](_0xdf46x7,this[_0xd470[209]](_0xdf46x8,true),this[_0xd470[219]](_0xdf46xd,_0xdf46xe));this[_0xd470[228]](_0xdf46x7,_0xdf46x27);_0xdf46x27[_0xd470[327]]= mxUtils[_0xd470[25]](this,function(){return this[_0xd470[1]][_0xd470[9]][_0xd470[5]][_0xd470[329]][_0xd470[328]]});if(!touchStyle){mxEvent[_0xd470[26]](_0xdf46x7,_0xd470[30],mxUtils[_0xd470[25]](this,function(_0xdf46x4){this[_0xd470[111]](_0xdf46x7,_0xdf46x8,_0xdf46x9,_0xdf46xa)}))};return _0xdf46x7};Sidebar[_0xd470[40]][_0xd470[330]]= function(_0xdf46x32,_0xdf46xd,_0xdf46xe,_0xdf46x33,_0xdf46x9,_0xdf46xa){var _0xdf46x8=[ new mxCell((_0xdf46x33!= null)?_0xdf46x33:_0xd470[151], new mxGeometry(0,0,_0xdf46xd,_0xdf46xe),_0xdf46x32)];_0xdf46x8[0][_0xd470[332]][_0xd470[331]]( new mxPoint(0,_0xdf46xe),true);_0xdf46x8[0][_0xd470[332]][_0xd470[331]]( new mxPoint(_0xdf46xd,0),false);_0xdf46x8[0][_0xd470[332]][_0xd470[122]]= true;_0xdf46x8[0][_0xd470[333]]= true;return this[_0xd470[334]](_0xdf46x8,_0xdf46xd,_0xdf46xe,_0xdf46x9,_0xdf46xa)};Sidebar[_0xd470[40]][_0xd470[334]]= function(_0xdf46x8,_0xdf46xd,_0xdf46xe,_0xdf46x9,_0xdf46xa){var _0xdf46x7=this[_0xd470[204]](_0xdf46x8,_0xdf46x9,_0xdf46xa);this[_0xd470[222]](_0xdf46x7,this[_0xd470[209]](_0xdf46x8,false),this[_0xd470[219]](_0xdf46xd,_0xdf46xe));var _0xdf46x1e=this[_0xd470[1]][_0xd470[9]][_0xd470[5]];mxEvent[_0xd470[26]](_0xdf46x7,_0xd470[207],mxUtils[_0xd470[25]](this,function(_0xdf46x4){if(this[_0xd470[102]]){_0xdf46x1e[_0xd470[335]](_0xdf46x8[0])};_0xdf46x7[_0xd470[17]][_0xd470[336]]= _0xd470[337];window[_0xd470[175]](function(){_0xdf46x7[_0xd470[17]][_0xd470[336]]= _0xd470[151]},300);mxEvent[_0xd470[208]](_0xdf46x4)}));if(!touchStyle){mxEvent[_0xd470[26]](_0xdf46x7,_0xd470[30],mxUtils[_0xd470[25]](this,function(_0xdf46x4){this[_0xd470[111]](_0xdf46x7,_0xdf46x8,_0xdf46x9,_0xdf46xa)}))};return _0xdf46x7};Sidebar[_0xd470[40]][_0xd470[338]]= function(_0xdf46x34,_0xdf46x9,_0xdf46x35,_0xdf46x36){var _0xdf46x7=this[_0xd470[176]](_0xdf46x9);this[_0xd470[2]][_0xd470[21]](_0xdf46x7);var _0xdf46x1c=document[_0xd470[7]](_0xd470[6]);_0xdf46x1c[_0xd470[115]]= _0xd470[339];if(_0xdf46x35){_0xdf46x36(_0xdf46x1c);_0xdf46x36= null}else {_0xdf46x1c[_0xd470[17]][_0xd470[129]]= _0xd470[156]};this[_0xd470[340]](_0xdf46x7,_0xdf46x1c,_0xdf46x36);var _0xdf46x37=document[_0xd470[7]](_0xd470[6]);_0xdf46x37[_0xd470[21]](_0xdf46x1c);this[_0xd470[2]][_0xd470[21]](_0xdf46x37);if(_0xdf46x34!= null){this[_0xd470[3]][_0xdf46x34]= [_0xdf46x7,_0xdf46x37]}};Sidebar[_0xd470[40]][_0xd470[340]]= function(_0xdf46x9,_0xdf46x38,_0xdf46x39){var _0xdf46x3a=false;_0xdf46x9[_0xd470[17]][_0xd470[192]]= (_0xdf46x38[_0xd470[17]][_0xd470[129]]== _0xd470[156])?_0xd470[193]+ IMAGE_PATH+ _0xd470[341]:_0xd470[193]+ IMAGE_PATH+ _0xd470[342];_0xdf46x9[_0xd470[17]][_0xd470[343]]= _0xd470[344];_0xdf46x9[_0xd470[17]][_0xd470[345]]= _0xd470[346];mxEvent[_0xd470[26]](_0xdf46x9,_0xd470[207],function(_0xdf46x4){if(_0xdf46x38[_0xd470[17]][_0xd470[129]]== _0xd470[156]){if(!_0xdf46x3a){_0xdf46x3a= true;if(_0xdf46x39!= null){_0xdf46x9[_0xd470[17]][_0xd470[195]]= _0xd470[347];window[_0xd470[175]](function(){_0xdf46x39(_0xdf46x38);_0xdf46x9[_0xd470[17]][_0xd470[195]]= _0xd470[151]},0)}};_0xdf46x9[_0xd470[17]][_0xd470[192]]= _0xd470[193]+ IMAGE_PATH+ _0xd470[342];_0xdf46x38[_0xd470[17]][_0xd470[129]]= _0xd470[130]}else {_0xdf46x9[_0xd470[17]][_0xd470[192]]= _0xd470[193]+ IMAGE_PATH+ _0xd470[341];_0xdf46x38[_0xd470[17]][_0xd470[129]]= _0xd470[156]};mxEvent[_0xd470[208]](_0xdf46x4)})};Sidebar[_0xd470[40]][_0xd470[348]]= function(_0xdf46x34){var _0xdf46x3b=this[_0xd470[3]][_0xdf46x34];if(_0xdf46x3b!= null){this[_0xd470[3]][_0xdf46x34]= null;for(var _0xdf46x3c=0;_0xdf46x3c< _0xdf46x3b[_0xd470[140]];_0xdf46x3c++){this[_0xd470[2]][_0xd470[349]](_0xdf46x3b[_0xdf46x3c])};return true};return false};Sidebar[_0xd470[40]][_0xd470[49]]= function(_0xdf46x34,_0xdf46x9,_0xdf46x3d,_0xdf46x3e,_0xdf46x3f,_0xdf46x40){this[_0xd470[338]](_0xdf46x34,_0xdf46x9,(_0xdf46x34=== _0xd470[42]),mxUtils[_0xd470[25]](this,function(_0xdf46x38){var _0xdf46x41=_0xdf46x40!= null;for(var _0xdf46x3c=0;_0xdf46x3c< _0xdf46x3f[_0xd470[140]];_0xdf46x3c++){var _0xdf46x42=_0xdf46x3d+ _0xdf46x3f[_0xdf46x3c]+ _0xdf46x3e;_0xdf46x38[_0xd470[21]](this[_0xd470[242]](_0xd470[350]+ _0xdf46x42,80,80,_0xdf46x3f[_0xdf46x3c],(_0xdf46x41)?_0xdf46x40[_0xdf46x3c]:null,_0xdf46x41))}}))}
\ No newline at end of file
-/**
- * $Id: Toolbar.js,v 1.3 2013-02-20 16:21:29 gaudenz Exp $
- * Copyright (c) 2006-2012, JGraph Ltd
- */
-/**
- * Construcs a new toolbar for the given editor.
- */
-function Toolbar(editorUi, container)
-{
- this.editorUi = editorUi;
- this.container = container;
- this.init();
-
- // Global handler to hide the current menu
- mxEvent.addGestureListeners(document, mxUtils.bind(this, function(evt)
- {
- this.hideMenu();
- }));
-};
-
-/**
- * Adds the toolbar elements.
- */
-Toolbar.prototype.init = function()
-{
- this.addItems(['save', 'publish', '-', 'print', 'undo', 'redo', '-', 'copy', 'cut', 'paste', 'delete', '-', 'duplicate', '-', 'actualSize', 'zoomIn', 'zoomOut', '-']);
- var fontElt = this.addMenu('Helvetica', mxResources.get('fontFamily'), true, 'fontFamily');
- fontElt.style.whiteSpace = 'nowrap';
- fontElt.style.overflow = 'hidden';
- fontElt.style.width = '70px';
- this.addSeparator();
- var sizeElt = this.addMenu('12', mxResources.get('fontSize'), true, 'fontSize');
- sizeElt.style.whiteSpace = 'nowrap';
- sizeElt.style.overflow = 'hidden';
- sizeElt.style.width = '30px';
-
- this.addItems(['-', 'bold', 'italic', 'underline']);
- // Giuseppe Careri
- // var align = this.addMenuFunction('geSprite-left', mxResources.get('align'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ALIGN], [mxConstants.ALIGN_LEFT], 'geIcon geSprite geSprite-left', null).setAttribute('title', mxResources.get('left'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ALIGN], [mxConstants.ALIGN_CENTER], 'geIcon geSprite geSprite-center', null).setAttribute('title', mxResources.get('center'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ALIGN], [mxConstants.ALIGN_RIGHT], 'geIcon geSprite geSprite-right', null).setAttribute('title', mxResources.get('right'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_VERTICAL_ALIGN], [mxConstants.ALIGN_TOP], 'geIcon geSprite geSprite-top', null).setAttribute('title', mxResources.get('top'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_VERTICAL_ALIGN], [mxConstants.ALIGN_MIDDLE], 'geIcon geSprite geSprite-middle', null).setAttribute('title', mxResources.get('middle'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_VERTICAL_ALIGN], [mxConstants.ALIGN_BOTTOM], 'geIcon geSprite geSprite-bottom', null).setAttribute('title', mxResources.get('bottom'));
- // }));
- // this.addItems(['fontColor', '-']);
- // var line = this.addMenuFunction('geSprite-straight', mxResources.get('line'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], [null], 'geIcon geSprite geSprite-straight', null).setAttribute('title', mxResources.get('straight'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], ['entityRelationEdgeStyle'], 'geIcon geSprite geSprite-entity', null).setAttribute('title', mxResources.get('entityRelation'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE, mxConstants.STYLE_ELBOW], ['elbowEdgeStyle', 'horizontal'], 'geIcon geSprite geSprite-helbow', null).setAttribute('title', mxResources.get('horizontal'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE, mxConstants.STYLE_ELBOW], ['elbowEdgeStyle', 'vertical'], 'geIcon geSprite geSprite-velbow', null).setAttribute('title', mxResources.get('vertical'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], ['segmentEdgeStyle'], 'geIcon geSprite geSprite-segment', null).setAttribute('title', mxResources.get('manual'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_EDGE], ['orthogonalEdgeStyle'], 'geIcon geSprite geSprite-orthogonal', null).setAttribute('title', mxResources.get('automatic'));
- // }));
- // var linestart = this.addMenuFunction('geSprite-startclassic', mxResources.get('lineend'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.NONE, 0], 'geIcon geSprite geSprite-noarrow', null).setAttribute('title', mxResources.get('none'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_CLASSIC, 1], 'geIcon geSprite geSprite-startclassic', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_OPEN, 1], 'geIcon geSprite geSprite-startopen', null).setAttribute('title', mxResources.get('openArrow'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_BLOCK, 1], 'geIcon geSprite geSprite-startblock', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_OVAL, 1], 'geIcon geSprite geSprite-startoval', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND, 1], 'geIcon geSprite geSprite-startdiamond', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND_THIN, 1], 'geIcon geSprite geSprite-startthindiamond', null).setAttribute('title', mxResources.get('diamondThin'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_CLASSIC, 0], 'geIcon geSprite geSprite-startclassictrans', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_BLOCK, 0], 'geIcon geSprite geSprite-startblocktrans', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_OVAL, 0], 'geIcon geSprite geSprite-startovaltrans', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND, 0], 'geIcon geSprite geSprite-startdiamondtrans', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_STARTARROW, 'startFill'], [mxConstants.ARROW_DIAMOND_THIN, 0], 'geIcon geSprite geSprite-startthindiamondtrans', null).setAttribute('title', mxResources.get('diamondThin'));
- // }));
- // var lineend = this.addMenuFunction('geSprite-endclassic', mxResources.get('lineend'), false, mxUtils.bind(this, function(menu)
- // {
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.NONE, 0], 'geIcon geSprite geSprite-noarrow', null).setAttribute('title', mxResources.get('none'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_CLASSIC, 1], 'geIcon geSprite geSprite-endclassic', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_OPEN, 1], 'geIcon geSprite geSprite-endopen', null).setAttribute('title', mxResources.get('openArrow'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_BLOCK, 1], 'geIcon geSprite geSprite-endblock', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_OVAL, 1], 'geIcon geSprite geSprite-endoval', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND, 1], 'geIcon geSprite geSprite-enddiamond', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND_THIN, 1], 'geIcon geSprite geSprite-endthindiamond', null).setAttribute('title', mxResources.get('diamondThin'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_CLASSIC, 0], 'geIcon geSprite geSprite-endclassictrans', null).setAttribute('title', mxResources.get('classic'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_BLOCK, 0], 'geIcon geSprite geSprite-endblocktrans', null).setAttribute('title', mxResources.get('block'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_OVAL, 0], 'geIcon geSprite geSprite-endovaltrans', null).setAttribute('title', mxResources.get('oval'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND, 0], 'geIcon geSprite geSprite-enddiamondtrans', null).setAttribute('title', mxResources.get('diamond'));
- // this.editorUi.menus.styleChange(menu, '', [mxConstants.STYLE_ENDARROW, 'endFill'], [mxConstants.ARROW_DIAMOND_THIN, 0], 'geIcon geSprite geSprite-endthindiamondtrans', null).setAttribute('title', mxResources.get('diamondThin'));
- // }));
- // this.addItems(['-', 'strokeColor', 'image', 'fillColor']);
- // this.addItem('geSprite-gradientcolor', 'gradientColor').setAttribute('title', mxResources.get('gradient'));
- // this.addItems(['shadow']);
-
- var graph = this.editorUi.editor.graph;
-
- // Update font size and font family labels
- var update = mxUtils.bind(this, function()
- {
- var ff = 'Helvetica';
- var fs = '12';
- var state = graph.getView().getState(graph.getSelectionCell());
-
- if (state != null)
- {
- ff = state.style[mxConstants.STYLE_FONTFAMILY] || ff;
- fs = state.style[mxConstants.STYLE_FONTSIZE] || fs;
-
- if (ff.length > 10)
- {
- ff = ff.substring(0, 8) + '...';
- }
-
- fontElt.innerHTML = ff;
- sizeElt.innerHTML = fs;
- }
- });
-
- graph.getSelectionModel().addListener(mxEvent.CHANGE, update);
- graph.getModel().addListener(mxEvent.CHANGE, update);
-
- // Giuseppe Careri
- // Updates button states
- //this.addEdgeSelectionHandler([line, linestart, lineend]);
- //this.addSelectionHandler([align]);
-};
-
-/**
- * Hides the current menu.
- */
-Toolbar.prototype.hideMenu = function()
-{
- if (this.currentMenu != null)
- {
- this.currentMenu.hideMenu();
- this.currentMenu.destroy();
- this.currentMenu = null;
- }
-};
-
-/**
- * Adds a label to the toolbar.
- */
-Toolbar.prototype.addMenu = function(label, tooltip, showLabels, name)
-{
- var menu = this.editorUi.menus.get(name);
- var elt = this.addMenuFunction(label, tooltip, showLabels, menu.funct);
-
- menu.addListener('stateChanged', function()
- {
- elt.setEnabled(menu.enabled);
- });
-
- return elt;
-};
-
-/**
- * Adds a label to the toolbar.
- */
-Toolbar.prototype.addMenuFunction = function(label, tooltip, showLabels, funct)
-{
- var elt = (showLabels) ? this.createLabel(label) : this.createButton(label);
- this.initElement(elt, tooltip);
- this.addMenuHandler(elt, showLabels, funct);
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Adds a separator to the separator.
- */
-Toolbar.prototype.addSeparator = function()
-{
- var elt = document.createElement('div');
- elt.className = 'geSeparator';
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Adds given action item
- */
-Toolbar.prototype.addItems = function(keys)
-{
- for (var i = 0; i < keys.length; i++)
- {
- var key = keys[i];
-
- if (key == '-')
- {
- this.addSeparator();
- }
- else
- {
- this.addItem('geSprite-' + key.toLowerCase(), key);
- }
- }
-};
-
-/**
- * Adds given action item
- */
-Toolbar.prototype.addItem = function(sprite, key)
-{
- var action = this.editorUi.actions.get(key);
- var elt = null;
-
- if (action != null)
- {
- elt = this.addButton(sprite, action.label, action.funct);
- elt.setEnabled(action.enabled);
-
- action.addListener('stateChanged', function()
- {
- elt.setEnabled(action.enabled);
- });
- }
-
- return elt;
-};
-
-/**
- * Adds a button to the toolbar.
- */
-Toolbar.prototype.addButton = function(classname, tooltip, funct)
-{
- var elt = this.createButton(classname);
-
- this.initElement(elt, tooltip);
- this.addClickHandler(elt, funct);
- this.container.appendChild(elt);
-
- return elt;
-};
-
-/**
- * Updates the states of the given toolbar items based on the selection.
- */
-Toolbar.prototype.addSelectionHandler = function(items)
-{
- var graph = this.editorUi.editor.graph;
-
- var selectionListener = function()
- {
- var selected = !graph.isSelectionEmpty();
-
- for (var i = 0; i < items.length; i++)
- {
- items[i].setEnabled(selected);
- }
- };
-
- graph.getSelectionModel().addListener(mxEvent.CHANGE, selectionListener);
- selectionListener();
-};
-
-/**
- * Updates the states of the given toolbar items based on the selection.
- */
-Toolbar.prototype.addEdgeSelectionHandler = function(items)
-{
- var graph = this.editorUi.editor.graph;
-
- var selectionListener = function()
- {
- var edgeSelected = false;
-
- if (!graph.isSelectionEmpty())
- {
- var cells = graph.getSelectionCells();
-
- for (var i = 0; i < cells.length; i++)
- {
- if (graph.getModel().isEdge(cells[i]))
- {
- edgeSelected = true;
- break;
- }
- }
- }
-
- for (var i = 0; i < items.length; i++)
- {
- items[i].setEnabled(edgeSelected);
- }
- };
-
- graph.getSelectionModel().addListener(mxEvent.CHANGE, selectionListener);
- selectionListener();
-};
-
-/**
- * Initializes the given toolbar element.
- */
-Toolbar.prototype.initElement = function(elt, tooltip)
-{
- elt.setAttribute('tabindex', '0');
-
- // Adds tooltip
- if (tooltip != null)
- {
- elt.setAttribute('title', tooltip);
- }
-
- this.addEnabledState(elt);
-};
-
-/**
- * Adds enabled state with setter to DOM node (avoids JS wrapper).
- */
-Toolbar.prototype.addEnabledState = function(elt)
-{
- var classname = elt.className;
-
- elt.setEnabled = function(value)
- {
- elt.enabled = value;
-
- if (value)
- {
- elt.className = classname;
- }
- else
- {
- elt.className = classname + ' geDisabled';
- }
- };
-
- elt.setEnabled(true);
-};
-
-/**
- * Adds enabled state with setter to DOM node (avoids JS wrapper).
- */
-Toolbar.prototype.addClickHandler = function(elt, funct)
-{
- if (funct != null)
- {
- mxEvent.addListener(elt, 'click', function(evt)
- {
- if (elt.enabled)
- {
- funct(evt);
- }
-
- mxEvent.consume(evt);
- });
- }
-};
-
-/**
- * Creates and returns a new button.
- */
-Toolbar.prototype.createButton = function(classname)
-{
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geButton';
-
- var inner = document.createElement('div');
- inner.className = 'geSprite ' + classname;
- elt.appendChild(inner);
-
- return elt;
-};
-
-/**
- * Creates and returns a new button.
- */
-Toolbar.prototype.createLabel = function(label, tooltip)
-{
- var elt = document.createElement('a');
- elt.setAttribute('href', 'javascript:void(0);');
- elt.className = 'geLabel';
- mxUtils.write(elt, label);
-
- return elt;
-};
-
-/**
- * Adds a handler for showing a menu in the given element.
- */
-Toolbar.prototype.addMenuHandler = function(elt, showLabels, funct, showAll)
-{
- if (funct != null)
- {
- var graph = this.editorUi.editor.graph;
- var menu = null;
-
- mxEvent.addListener(elt, 'click', mxUtils.bind(this, function(evt)
- {
- if (elt.enabled == null || elt.enabled)
- {
- graph.panningHandler.hideMenu();
- menu = new mxPopupMenu(funct);
- menu.div.className += ' geToolbarMenu';
- menu.showDisabled = showAll;
- menu.labels = showLabels;
- menu.autoExpand = true;
-
- menu.popup(elt.offsetLeft, elt.offsetTop + elt.offsetHeight + 34, null, evt);
- this.currentMenu = menu;
- }
-
- mxEvent.consume(evt);
- }));
- }
-};
+var _0x5789=["\x65\x64\x69\x74\x6F\x72\x55\x69","\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72","\x69\x6E\x69\x74","\x68\x69\x64\x65\x4D\x65\x6E\x75","\x62\x69\x6E\x64","\x61\x64\x64\x47\x65\x73\x74\x75\x72\x65\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x61\x76\x65","\x70\x75\x62\x6C\x69\x73\x68","\x2D","\x70\x72\x69\x6E\x74","\x75\x6E\x64\x6F","\x72\x65\x64\x6F","\x63\x6F\x70\x79","\x63\x75\x74","\x70\x61\x73\x74\x65","\x64\x65\x6C\x65\x74\x65","\x64\x75\x70\x6C\x69\x63\x61\x74\x65","\x61\x63\x74\x75\x61\x6C\x53\x69\x7A\x65","\x7A\x6F\x6F\x6D\x49\x6E","\x7A\x6F\x6F\x6D\x4F\x75\x74","\x61\x64\x64\x49\x74\x65\x6D\x73","\x48\x65\x6C\x76\x65\x74\x69\x63\x61","\x66\x6F\x6E\x74\x46\x61\x6D\x69\x6C\x79","\x67\x65\x74","\x61\x64\x64\x4D\x65\x6E\x75","\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65","\x73\x74\x79\x6C\x65","\x6E\x6F\x77\x72\x61\x70","\x6F\x76\x65\x72\x66\x6C\x6F\x77","\x68\x69\x64\x64\x65\x6E","\x77\x69\x64\x74\x68","\x37\x30\x70\x78","\x61\x64\x64\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x31\x32","\x66\x6F\x6E\x74\x53\x69\x7A\x65","\x33\x30\x70\x78","\x62\x6F\x6C\x64","\x69\x74\x61\x6C\x69\x63","\x75\x6E\x64\x65\x72\x6C\x69\x6E\x65","\x67\x72\x61\x70\x68","\x65\x64\x69\x74\x6F\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C","\x67\x65\x74\x53\x74\x61\x74\x65","\x67\x65\x74\x56\x69\x65\x77","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x46\x41\x4D\x49\x4C\x59","\x53\x54\x59\x4C\x45\x5F\x46\x4F\x4E\x54\x53\x49\x5A\x45","\x6C\x65\x6E\x67\x74\x68","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x2E\x2E\x2E","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x61\x64\x64\x4C\x69\x73\x74\x65\x6E\x65\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x4D\x6F\x64\x65\x6C","\x67\x65\x74\x4D\x6F\x64\x65\x6C","\x63\x75\x72\x72\x65\x6E\x74\x4D\x65\x6E\x75","\x64\x65\x73\x74\x72\x6F\x79","\x6D\x65\x6E\x75\x73","\x66\x75\x6E\x63\x74","\x61\x64\x64\x4D\x65\x6E\x75\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x73\x74\x61\x74\x65\x43\x68\x61\x6E\x67\x65\x64","\x65\x6E\x61\x62\x6C\x65\x64","\x73\x65\x74\x45\x6E\x61\x62\x6C\x65\x64","\x63\x72\x65\x61\x74\x65\x4C\x61\x62\x65\x6C","\x63\x72\x65\x61\x74\x65\x42\x75\x74\x74\x6F\x6E","\x69\x6E\x69\x74\x45\x6C\x65\x6D\x65\x6E\x74","\x61\x64\x64\x4D\x65\x6E\x75\x48\x61\x6E\x64\x6C\x65\x72","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x63\x6C\x61\x73\x73\x4E\x61\x6D\x65","\x67\x65\x53\x65\x70\x61\x72\x61\x74\x6F\x72","\x67\x65\x53\x70\x72\x69\x74\x65\x2D","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x61\x64\x64\x49\x74\x65\x6D","\x61\x63\x74\x69\x6F\x6E\x73","\x6C\x61\x62\x65\x6C","\x61\x64\x64\x42\x75\x74\x74\x6F\x6E","\x61\x64\x64\x43\x6C\x69\x63\x6B\x48\x61\x6E\x64\x6C\x65\x72","\x61\x64\x64\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x69\x73\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x45\x6D\x70\x74\x79","\x61\x64\x64\x45\x64\x67\x65\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72","\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x43\x65\x6C\x6C\x73","\x69\x73\x45\x64\x67\x65","\x74\x61\x62\x69\x6E\x64\x65\x78","\x30","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x74\x69\x74\x6C\x65","\x61\x64\x64\x45\x6E\x61\x62\x6C\x65\x64\x53\x74\x61\x74\x65","\x20\x67\x65\x44\x69\x73\x61\x62\x6C\x65\x64","\x63\x6C\x69\x63\x6B","\x63\x6F\x6E\x73\x75\x6D\x65","\x61","\x68\x72\x65\x66","\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x76\x6F\x69\x64\x28\x30\x29\x3B","\x67\x65\x42\x75\x74\x74\x6F\x6E","\x67\x65\x53\x70\x72\x69\x74\x65\x20","\x67\x65\x4C\x61\x62\x65\x6C","\x77\x72\x69\x74\x65","\x70\x61\x6E\x6E\x69\x6E\x67\x48\x61\x6E\x64\x6C\x65\x72","\x20\x67\x65\x54\x6F\x6F\x6C\x62\x61\x72\x4D\x65\x6E\x75","\x73\x68\x6F\x77\x44\x69\x73\x61\x62\x6C\x65\x64","\x6C\x61\x62\x65\x6C\x73","\x61\x75\x74\x6F\x45\x78\x70\x61\x6E\x64","\x6F\x66\x66\x73\x65\x74\x4C\x65\x66\x74","\x6F\x66\x66\x73\x65\x74\x54\x6F\x70","\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74","\x70\x6F\x70\x75\x70"];function Toolbar(_0xd648x2,_0xd648x3){this[_0x5789[0]]= _0xd648x2;this[_0x5789[1]]= _0xd648x3;this[_0x5789[2]]();mxEvent[_0x5789[5]](document,mxUtils[_0x5789[4]](this,function(_0xd648x4){this[_0x5789[3]]()}))}Toolbar[_0x5789[6]][_0x5789[2]]= function(){this[_0x5789[21]]([_0x5789[7],_0x5789[8],_0x5789[9],_0x5789[10],_0x5789[11],_0x5789[12],_0x5789[9],_0x5789[13],_0x5789[14],_0x5789[15],_0x5789[16],_0x5789[9],_0x5789[17],_0x5789[9],_0x5789[18],_0x5789[19],_0x5789[20],_0x5789[9]]);var _0xd648x5=this[_0x5789[25]](_0x5789[22],mxResources[_0x5789[24]](_0x5789[23]),true,_0x5789[23]);_0xd648x5[_0x5789[27]][_0x5789[26]]= _0x5789[28];_0xd648x5[_0x5789[27]][_0x5789[29]]= _0x5789[30];_0xd648x5[_0x5789[27]][_0x5789[31]]= _0x5789[32];this[_0x5789[33]]();var _0xd648x6=this[_0x5789[25]](_0x5789[34],mxResources[_0x5789[24]](_0x5789[35]),true,_0x5789[35]);_0xd648x6[_0x5789[27]][_0x5789[26]]= _0x5789[28];_0xd648x6[_0x5789[27]][_0x5789[29]]= _0x5789[30];_0xd648x6[_0x5789[27]][_0x5789[31]]= _0x5789[36];this[_0x5789[21]]([_0x5789[9],_0x5789[37],_0x5789[38],_0x5789[39]]);var _0xd648x7=this[_0x5789[0]][_0x5789[41]][_0x5789[40]];var _0xd648x8=mxUtils[_0x5789[4]](this,function(){var _0xd648x9=_0x5789[22];var _0xd648xa=_0x5789[34];var _0xd648xb=_0xd648x7[_0x5789[44]]()[_0x5789[43]](_0xd648x7[_0x5789[42]]());if(_0xd648xb!= null){_0xd648x9= _0xd648xb[_0x5789[27]][mxConstants[_0x5789[45]]]|| _0xd648x9;_0xd648xa= _0xd648xb[_0x5789[27]][mxConstants[_0x5789[46]]]|| _0xd648xa;if(_0xd648x9[_0x5789[47]]> 10){_0xd648x9= _0xd648x9[_0x5789[48]](0,8)+ _0x5789[49]};_0xd648x5[_0x5789[50]]= _0xd648x9;_0xd648x6[_0x5789[50]]= _0xd648xa}});_0xd648x7[_0x5789[52]]()[_0x5789[51]](mxEvent.CHANGE,_0xd648x8);_0xd648x7[_0x5789[53]]()[_0x5789[51]](mxEvent.CHANGE,_0xd648x8)};Toolbar[_0x5789[6]][_0x5789[3]]= function(){if(this[_0x5789[54]]!= null){this[_0x5789[54]][_0x5789[3]]();this[_0x5789[54]][_0x5789[55]]();this[_0x5789[54]]= null}};Toolbar[_0x5789[6]][_0x5789[25]]= function(_0xd648xc,_0xd648xd,_0xd648xe,_0xd648xf){var _0xd648x10=this[_0x5789[0]][_0x5789[56]][_0x5789[24]](_0xd648xf);var _0xd648x11=this[_0x5789[58]](_0xd648xc,_0xd648xd,_0xd648xe,_0xd648x10[_0x5789[57]]);_0xd648x10[_0x5789[51]](_0x5789[59],function(){_0xd648x11[_0x5789[61]](_0xd648x10[_0x5789[60]])});return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[58]]= function(_0xd648xc,_0xd648xd,_0xd648xe,_0xd648x12){var _0xd648x11=(_0xd648xe)?this[_0x5789[62]](_0xd648xc):this[_0x5789[63]](_0xd648xc);this[_0x5789[64]](_0xd648x11,_0xd648xd);this[_0x5789[65]](_0xd648x11,_0xd648xe,_0xd648x12);this[_0x5789[1]][_0x5789[66]](_0xd648x11);return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[33]]= function(){var _0xd648x11=document[_0x5789[68]](_0x5789[67]);_0xd648x11[_0x5789[69]]= _0x5789[70];this[_0x5789[1]][_0x5789[66]](_0xd648x11);return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[21]]= function(_0xd648x13){for(var _0xd648x14=0;_0xd648x14< _0xd648x13[_0x5789[47]];_0xd648x14++){var _0xd648x15=_0xd648x13[_0xd648x14];if(_0xd648x15== _0x5789[9]){this[_0x5789[33]]()}else {this[_0x5789[73]](_0x5789[71]+ _0xd648x15[_0x5789[72]](),_0xd648x15)}}};Toolbar[_0x5789[6]][_0x5789[73]]= function(_0xd648x16,_0xd648x15){var _0xd648x17=this[_0x5789[0]][_0x5789[74]][_0x5789[24]](_0xd648x15);var _0xd648x11=null;if(_0xd648x17!= null){_0xd648x11= this[_0x5789[76]](_0xd648x16,_0xd648x17[_0x5789[75]],_0xd648x17[_0x5789[57]]);_0xd648x11[_0x5789[61]](_0xd648x17[_0x5789[60]]);_0xd648x17[_0x5789[51]](_0x5789[59],function(){_0xd648x11[_0x5789[61]](_0xd648x17[_0x5789[60]])})};return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[76]]= function(_0xd648x18,_0xd648xd,_0xd648x12){var _0xd648x11=this[_0x5789[63]](_0xd648x18);this[_0x5789[64]](_0xd648x11,_0xd648xd);this[_0x5789[77]](_0xd648x11,_0xd648x12);this[_0x5789[1]][_0x5789[66]](_0xd648x11);return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[78]]= function(_0xd648x19){var _0xd648x7=this[_0x5789[0]][_0x5789[41]][_0x5789[40]];var _0xd648x1a=function(){var _0xd648x1b=!_0xd648x7[_0x5789[79]]();for(var _0xd648x14=0;_0xd648x14< _0xd648x19[_0x5789[47]];_0xd648x14++){_0xd648x19[_0xd648x14][_0x5789[61]](_0xd648x1b)}};_0xd648x7[_0x5789[52]]()[_0x5789[51]](mxEvent.CHANGE,_0xd648x1a);_0xd648x1a()};Toolbar[_0x5789[6]][_0x5789[80]]= function(_0xd648x19){var _0xd648x7=this[_0x5789[0]][_0x5789[41]][_0x5789[40]];var _0xd648x1a=function(){var _0xd648x1c=false;if(!_0xd648x7[_0x5789[79]]()){var _0xd648x1d=_0xd648x7[_0x5789[81]]();for(var _0xd648x14=0;_0xd648x14< _0xd648x1d[_0x5789[47]];_0xd648x14++){if(_0xd648x7[_0x5789[53]]()[_0x5789[82]](_0xd648x1d[_0xd648x14])){_0xd648x1c= true;break}}};for(var _0xd648x14=0;_0xd648x14< _0xd648x19[_0x5789[47]];_0xd648x14++){_0xd648x19[_0xd648x14][_0x5789[61]](_0xd648x1c)}};_0xd648x7[_0x5789[52]]()[_0x5789[51]](mxEvent.CHANGE,_0xd648x1a);_0xd648x1a()};Toolbar[_0x5789[6]][_0x5789[64]]= function(_0xd648x11,_0xd648xd){_0xd648x11[_0x5789[85]](_0x5789[83],_0x5789[84]);if(_0xd648xd!= null){_0xd648x11[_0x5789[85]](_0x5789[86],_0xd648xd)};this[_0x5789[87]](_0xd648x11)};Toolbar[_0x5789[6]][_0x5789[87]]= function(_0xd648x11){var _0xd648x18=_0xd648x11[_0x5789[69]];_0xd648x11[_0x5789[61]]= function(_0xd648x1e){_0xd648x11[_0x5789[60]]= _0xd648x1e;if(_0xd648x1e){_0xd648x11[_0x5789[69]]= _0xd648x18}else {_0xd648x11[_0x5789[69]]= _0xd648x18+ _0x5789[88]}};_0xd648x11[_0x5789[61]](true)};Toolbar[_0x5789[6]][_0x5789[77]]= function(_0xd648x11,_0xd648x12){if(_0xd648x12!= null){mxEvent[_0x5789[51]](_0xd648x11,_0x5789[89],function(_0xd648x4){if(_0xd648x11[_0x5789[60]]){_0xd648x12(_0xd648x4)};mxEvent[_0x5789[90]](_0xd648x4)})}};Toolbar[_0x5789[6]][_0x5789[63]]= function(_0xd648x18){var _0xd648x11=document[_0x5789[68]](_0x5789[91]);_0xd648x11[_0x5789[85]](_0x5789[92],_0x5789[93]);_0xd648x11[_0x5789[69]]= _0x5789[94];var _0xd648x1f=document[_0x5789[68]](_0x5789[67]);_0xd648x1f[_0x5789[69]]= _0x5789[95]+ _0xd648x18;_0xd648x11[_0x5789[66]](_0xd648x1f);return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[62]]= function(_0xd648xc,_0xd648xd){var _0xd648x11=document[_0x5789[68]](_0x5789[91]);_0xd648x11[_0x5789[85]](_0x5789[92],_0x5789[93]);_0xd648x11[_0x5789[69]]= _0x5789[96];mxUtils[_0x5789[97]](_0xd648x11,_0xd648xc);return _0xd648x11};Toolbar[_0x5789[6]][_0x5789[65]]= function(_0xd648x11,_0xd648xe,_0xd648x12,_0xd648x20){if(_0xd648x12!= null){var _0xd648x7=this[_0x5789[0]][_0x5789[41]][_0x5789[40]];var _0xd648x10=null;mxEvent[_0x5789[51]](_0xd648x11,_0x5789[89],mxUtils[_0x5789[4]](this,function(_0xd648x4){if(_0xd648x11[_0x5789[60]]== null|| _0xd648x11[_0x5789[60]]){_0xd648x7[_0x5789[98]][_0x5789[3]]();_0xd648x10= new mxPopupMenu(_0xd648x12);_0xd648x10[_0x5789[67]][_0x5789[69]]+= _0x5789[99];_0xd648x10[_0x5789[100]]= _0xd648x20;_0xd648x10[_0x5789[101]]= _0xd648xe;_0xd648x10[_0x5789[102]]= true;_0xd648x10[_0x5789[106]](_0xd648x11[_0x5789[103]],_0xd648x11[_0x5789[104]]+ _0xd648x11[_0x5789[105]]+ 34,null,_0xd648x4);this[_0x5789[54]]= _0xd648x10};mxEvent[_0x5789[90]](_0xd648x4)}))}}
\ No newline at end of file
-var urlParams = (function(url) {
- var result = new Object();
- var idx = url.lastIndexOf('?');
-
- if (idx > 0) {
- var params = url.substring(idx + 1).split('&');
-
- for (var i = 0; i < params.length; i++) {
- idx = params[i].indexOf('=');
-
- if (idx > 0) {
- result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
- }
- }
- }
-
- return result;
-})(window.location.href);
-
-var t0 = new Date();
-
-// Public global variables
-var MAX_REQUEST_SIZE = 10485760;
-var MAX_WIDTH = 12000;
-var MAX_HEIGHT = 12000;
-
-// CUSTOM_PARAMETERS - URLs for save and export
-var EXPORT_URL = 'http://exp.draw.io/ImageExport2/export';
-var SHARE_HOST = 'http://localhost:3000';
-
-var SAVE_URL = 'api/square/projects/';
-var VARIABLE_URL = '/api/variables';
-
-// Paths and files
-var STENCIL_PATH = '/assets/plugins/square/stencils';
-var SHAPES_PATH = '/assets/plugins/square/shapes';
-var IMAGE_PATH = '/assets/plugins/mxgraph/images';
-// Path for images inside the diagram
-//var GRAPH_IMAGE_PATH = 'assets/plugins/mxgraph/img';
-//var ICONFINDER_PATH = 'iconfinder';
-var STYLE_PATH = '/assets/plugins/mxgraph/styles';
-var CSS_PATH = '/assets/plugins/mxgraph/styles';
-var OPEN_FORM = 'api/square/projects/open';
-var TEMPLATE_PATH = '/assets/plugins/square/templates';
-
-// Directory for i18 files and basename for main i18n file
-var RESOURCES_PATH = '/assets/plugins/square/resources';
-var RESOURCE_BASE = RESOURCES_PATH + '/dia';
-
-// Specifies connection mode for touch devices (at least one should be true)
-var tapAndHoldStartsConnection = true;
-var showConnectorImg = true;
-
-var mxLoadResources = false;
-var mxLanguage = 'en';
-console.log('custom', localStorage.getItem('NG_TRANSLATE_LANG_KEY'));
-switch (localStorage.getItem('NG_TRANSLATE_LANG_KEY')) {
- case 'en_EN':
- mxLanguage = 'en';
- break;
- case 'it':
- mxLanguage = 'it';
- break;
- default:
- mxLanguage = 'en';
-}
-console.log('mxLanguage', mxLanguage);
-
-var mxLanguages = ['ar', 'bs', 'cs', 'da', 'de', 'el', 'es', 'es-ar', 'fr',
- 'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt-br', 'pt', 'ro', 'ru',
- 'sr', 'sv', 'th', 'tr', 'uk', 'zh'
-];
-var mxBasePath = 'assets/plugins/mxgraph';
-var geBasePath = 'assets/plugins/mxgraph/js';
-
-var ISPEECHLANG = {
- usenglishfemale: 'US English Female',
- usenglishmale: 'US English Male',
- ukenglishfemale: 'UK English Female',
- ukenglishmale: 'UK English Male',
- auenglishfemale: 'Australian English',
- usspanishfemale: 'US Spanish Female',
- usspanishmale: 'US Spanish Male',
- chchinesefemale: 'Chinese Female',
- chchinesemale: 'Chinese Male',
- hkchinesefemale: 'Hong Kong Cantonese Female',
- twchinesefemale: 'Taiwan Chinese Female',
- jpjapanesefemale: 'Japanese Female',
- jpjapanesemale: 'Japanese Male',
- krkoreanfemale: 'Korean Female',
- krkoreanmale: 'Korean Male',
- caenglishfemale: 'Canadian English Female',
- huhungarianfemale: 'Hungarian Female',
- brportuguesefemale: 'Brazilian Portuguese Female',
- eurportuguesefemale: 'European Portuguese Female',
- eurportuguesemale: 'European Portuguese Male',
- eurspanishfemale: 'European Spanish Female',
- eurspanishmale: 'European Spanish Male',
- eurcatalanfemale: 'European Catalan Female',
- eurczechfemale: 'European Czech Female',
- eurdanishfemale: 'European Danish Female',
- eurfinnishfemale: 'European Finnish Female',
- eurfrenchfemale: 'European French Female',
- eurfrenchmale: 'European French Male',
- eurnorwegianfemale: 'European Norwegian Female',
- eurdutchfemale: 'European Dutch Female',
- eurpolishfemale: 'European Polish Female',
- euritalianfemale: 'European Italian Female',
- eurturkishfemale: 'European Turkish Female ',
- eurturkishmale: 'European Turkish Male',
- eurgermanfemale: 'European German Female',
- eurgermanmale: 'European German Male',
- rurussianfemale: 'Russian Female',
- rurussianmale: 'Russian Male',
- swswedishfemale: 'Swedish Female',
- cafrenchfemale: 'Canadian French Female',
- cafrenchmale: 'Canadian French Male'
-};
-var BOOLSELECT = {
- 'yes': 'Yes',
- 'no': 'No'
-};
-
-var ISPEECHASRLANG = {
- 'en-US': 'English (US)',
- 'en-CA': 'English (Canada)',
- 'en-GB': 'English (UK)',
- 'en-AU': 'English (Australia)',
- 'es-ES': 'Spanish (Spain)',
- 'es-MX': 'Spanish (Mexico)',
- 'it-IT': 'Italian (Italy) / Finnish (Finland)',
- 'fr-FR': 'French (France)',
- 'fr-CA': 'French (Canada)',
- 'pl-PL': 'Polish (Poland)',
- 'pt-PT': 'Portuguese (Portugal)',
- 'ca-ES': 'Catalan (Catalan)',
- 'zh-TW': 'Chinese (Taiwan)',
- 'da-DK': 'Danish (Denmark)',
- 'fr-FR': 'German (Germany)',
- 'ja-JP': 'Japanese (Japan)',
- 'ko-KR': 'Korean (Korea)',
- 'nl-NL': 'Dutch (Netherlands)',
- 'nb-NO': 'Norwegian (Norway)',
- 'pt-BR': 'Portuguese (Brazil)',
- 'ru-RU': 'Russian (Russia)',
- 'sv-SE': 'Swedish (Sweden)',
- 'zh-CN': 'Chinese (China)',
- 'zh-HK': 'Chinese (Hong Kong)'
-};
-
-var ISPEECHASRMODEL = {
- 0: 'Default',
- date: 'Date',
- usmoney: 'US Money',
- numbersto9: 'Numbers to 9',
- numbersto99: 'Numbers to 99',
- numbersto999: 'Numbers to 999',
- time: 'Time',
- phonenumber: 'Phone number',
- streets: 'Streets',
- citystate: 'US City/States'
-};
-
-var ISPEECHBEEP = {
- 'BEEP': 'Yes',
- 'NOBEEP': 'No'
-};
-
-var RECORDINGFORMAT = {
- 'wav': 'wav',
- 'gsm': 'gsm'
-};
-
-var SECRETDIGITSPOS = {
- 'first': 'First',
- 'last': 'Last'
-};
-
-var ASRINTKEYS = {
- '#': '#',
- '*': '*'
-};
-
-var GOOGLETTSLANG = {
- 'af': 'Afrikaans',
- 'sq': 'Albanian',
- 'am': 'Amharic',
- 'ar': 'Arabic',
- 'hy': 'Armenian',
- 'az': 'Azerbaijani',
- 'eu': 'Basque',
- 'be': 'Belarusian',
- 'bn': 'Bengali',
- 'bh': 'Bihari',
- 'bs': 'Bosnian',
- 'br': 'Breton',
- 'bg': 'Bulgarian',
- 'km': 'Cambodian',
- 'ca': 'Catalan',
- 'zh-CN': 'Chinese (Simplified)',
- 'zh-TW': 'Chinese (Traditional)',
- 'co': 'Corsican',
- 'hr': 'Croatian',
- 'cs': 'Czech',
- 'da': 'Danish',
- 'nl': 'Dutch',
- 'en': 'English',
- 'eo': 'Esperanto',
- 'et': 'Estonian',
- 'fo': 'Faroese',
- 'tl': 'Filipino',
- 'fi': 'Finnish',
- 'fr': 'French',
- 'fy': 'Frisian',
- 'gl': 'Galician',
- 'ka': 'Georgian',
- 'de': 'German',
- 'el': 'Greek',
- 'gn': 'Guarani',
- 'gu': 'Gujarati',
- 'xx-hacker': 'Hacker',
- 'ha': 'Hausa',
- 'iw': 'Hebrew',
- 'hi': 'Hindi',
- 'hu': 'Hungarian',
- 'is': 'Icelandic',
- 'id': 'Indonesian',
- 'ia': 'Interlingua',
- 'ga': 'Irish',
- 'it': 'Italian',
- 'jw': 'Javanese',
- 'ja': 'Japanese',
- 'kn': 'Kannada',
- 'kk': 'Kazakh',
- 'rw': 'Kinyarwanda',
- 'rn': 'Kirundi',
- 'xx-klingon': 'Klingon',
- 'ku': 'Kurdish',
- 'ko': 'Korean',
- 'ky': 'Kyrgyz',
- 'lo': 'Laothian',
- 'la': 'Latin',
- 'lv': 'Latvian',
- 'ln': 'Lingala',
- 'lt': 'Lithuanian',
- 'mk': 'Macedonian',
- 'mg': 'Malagasy',
- 'ms': 'Malay',
- 'ml': 'Malayalam',
- 'mt': 'Maltese',
- 'mi': 'Maori',
- 'mr': 'Marathi',
- 'mo': 'Moldavian',
- 'mn': 'Mongolian',
- 'sr-ME': 'Montenegrin',
- 'ne': 'Nepali',
- 'no': 'Norwegian',
- 'nn': 'Norwegian (Nynorsk)',
- 'oc': 'Occitan',
- 'or': 'Oriya',
- 'om': 'Oromo',
- 'ps': 'Pashto',
- 'fa': 'Persian',
- 'xx-pirate': 'Pirate',
- 'pl': 'Polish',
- 'pt-BR': 'Portuguese (Brazil)',
- 'pt-PT': 'Portuguese (Portugal)',
- 'pa': 'Punjabi',
- 'qu': 'Quechua',
- 'ro': 'Romanian',
- 'rm': 'Romansh',
- 'ru': 'Russian',
- 'gd': 'Scots Gaelic',
- 'sr': 'Serbian',
- 'sh': 'Serbo-Croatian',
- 'st': 'Sesotho',
- 'sn': 'Shona',
- 'sd': 'Sindhi',
- 'si': 'Sinhalese',
- 'sk': 'Slovak',
- 'sl': 'Slovenian',
- 'so': 'Somali',
- 'es': 'Spanish',
- 'su': 'Sundanese',
- 'sw': 'Swahili',
- 'sv': 'Swedish',
- 'tg': 'Tajik',
- 'ta': 'Tamil',
- 'tt': 'Tatar',
- 'te': 'Telugu',
- 'th': 'Thai',
- 'ti': 'Tigrinya',
- 'to': 'Tonga',
- 'tr': 'Turkish',
- 'tk': 'Turkmen',
- 'tw': 'Twi',
- 'ug': 'Uighur',
- 'uk': 'Ukrainian',
- 'ur': 'Urdu',
- 'uz': 'Uzbek',
- 'vi': 'Vietnamese',
- 'cy': 'Welsh',
- 'xh': 'Xhosa',
- 'yi': 'Yiddish',
- 'yo': 'Yoruba',
- 'zu': 'Zulu'
-};
+var _0xb181=["\x68\x72\x65\x66","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x3F","\x6C\x61\x73\x74\x49\x6E\x64\x65\x78\x4F\x66","\x26","\x73\x70\x6C\x69\x74","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x6C\x65\x6E\x67\x74\x68","\x3D","\x69\x6E\x64\x65\x78\x4F\x66","\x68\x74\x74\x70\x3A\x2F\x2F\x65\x78\x70\x2E\x64\x72\x61\x77\x2E\x69\x6F\x2F\x49\x6D\x61\x67\x65\x45\x78\x70\x6F\x72\x74\x32\x2F\x65\x78\x70\x6F\x72\x74","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x3A\x33\x30\x30\x30","\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x68\x61\x70\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x69\x6D\x61\x67\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x73\x74\x79\x6C\x65\x73","\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6F\x70\x65\x6E","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x72\x65\x73\x6F\x75\x72\x63\x65\x73","\x2F\x64\x69\x61","\x65\x6E","\x63\x75\x73\x74\x6F\x6D","\x4E\x47\x5F\x54\x52\x41\x4E\x53\x4C\x41\x54\x45\x5F\x4C\x41\x4E\x47\x5F\x4B\x45\x59","\x67\x65\x74\x49\x74\x65\x6D","\x6C\x6F\x67","\x65\x6E\x5F\x45\x4E","\x69\x74","\x6D\x78\x4C\x61\x6E\x67\x75\x61\x67\x65","\x61\x72","\x62\x73","\x63\x73","\x64\x61","\x64\x65","\x65\x6C","\x65\x73","\x65\x73\x2D\x61\x72","\x66\x72","\x68\x75","\x69\x64","\x6A\x61","\x6B\x6F","\x6E\x6C","\x6E\x6F","\x70\x6C","\x70\x74\x2D\x62\x72","\x70\x74","\x72\x6F","\x72\x75","\x73\x72","\x73\x76","\x74\x68","\x74\x72","\x75\x6B","\x7A\x68","\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68","\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x6D\x78\x67\x72\x61\x70\x68\x2F\x6A\x73","\x55\x53\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x55\x53\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x4D\x61\x6C\x65","\x55\x4B\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x55\x4B\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x4D\x61\x6C\x65","\x41\x75\x73\x74\x72\x61\x6C\x69\x61\x6E\x20\x45\x6E\x67\x6C\x69\x73\x68","\x55\x53\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x55\x53\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x4D\x61\x6C\x65","\x43\x68\x69\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x43\x68\x69\x6E\x65\x73\x65\x20\x4D\x61\x6C\x65","\x48\x6F\x6E\x67\x20\x4B\x6F\x6E\x67\x20\x43\x61\x6E\x74\x6F\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x54\x61\x69\x77\x61\x6E\x20\x43\x68\x69\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x4A\x61\x70\x61\x6E\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x4A\x61\x70\x61\x6E\x65\x73\x65\x20\x4D\x61\x6C\x65","\x4B\x6F\x72\x65\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x4B\x6F\x72\x65\x61\x6E\x20\x4D\x61\x6C\x65","\x43\x61\x6E\x61\x64\x69\x61\x6E\x20\x45\x6E\x67\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x48\x75\x6E\x67\x61\x72\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x42\x72\x61\x7A\x69\x6C\x69\x61\x6E\x20\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x53\x70\x61\x6E\x69\x73\x68\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x43\x61\x74\x61\x6C\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x43\x7A\x65\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x44\x61\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x46\x69\x6E\x6E\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x44\x75\x74\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x50\x6F\x6C\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x49\x74\x61\x6C\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x54\x75\x72\x6B\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65\x09","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x54\x75\x72\x6B\x69\x73\x68\x20\x4D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x47\x65\x72\x6D\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x45\x75\x72\x6F\x70\x65\x61\x6E\x20\x47\x65\x72\x6D\x61\x6E\x20\x4D\x61\x6C\x65","\x52\x75\x73\x73\x69\x61\x6E\x20\x46\x65\x6D\x61\x6C\x65","\x52\x75\x73\x73\x69\x61\x6E\x20\x4D\x61\x6C\x65","\x53\x77\x65\x64\x69\x73\x68\x20\x46\x65\x6D\x61\x6C\x65","\x43\x61\x6E\x61\x64\x69\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x46\x65\x6D\x61\x6C\x65","\x43\x61\x6E\x61\x64\x69\x61\x6E\x20\x46\x72\x65\x6E\x63\x68\x20\x4D\x61\x6C\x65","\x59\x65\x73","\x4E\x6F","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x55\x53\x29","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x43\x61\x6E\x61\x64\x61\x29","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x55\x4B\x29","\x45\x6E\x67\x6C\x69\x73\x68\x20\x28\x41\x75\x73\x74\x72\x61\x6C\x69\x61\x29","\x53\x70\x61\x6E\x69\x73\x68\x20\x28\x53\x70\x61\x69\x6E\x29","\x53\x70\x61\x6E\x69\x73\x68\x20\x28\x4D\x65\x78\x69\x63\x6F\x29","\x49\x74\x61\x6C\x69\x61\x6E\x20\x28\x49\x74\x61\x6C\x79\x29\x20\x2F\x20\x46\x69\x6E\x6E\x69\x73\x68\x20\x28\x46\x69\x6E\x6C\x61\x6E\x64\x29","\x46\x72\x65\x6E\x63\x68\x20\x28\x46\x72\x61\x6E\x63\x65\x29","\x46\x72\x65\x6E\x63\x68\x20\x28\x43\x61\x6E\x61\x64\x61\x29","\x50\x6F\x6C\x69\x73\x68\x20\x28\x50\x6F\x6C\x61\x6E\x64\x29","\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x28\x50\x6F\x72\x74\x75\x67\x61\x6C\x29","\x43\x61\x74\x61\x6C\x61\x6E\x20\x28\x43\x61\x74\x61\x6C\x61\x6E\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x54\x61\x69\x77\x61\x6E\x29","\x44\x61\x6E\x69\x73\x68\x20\x28\x44\x65\x6E\x6D\x61\x72\x6B\x29","\x47\x65\x72\x6D\x61\x6E\x20\x28\x47\x65\x72\x6D\x61\x6E\x79\x29","\x4A\x61\x70\x61\x6E\x65\x73\x65\x20\x28\x4A\x61\x70\x61\x6E\x29","\x4B\x6F\x72\x65\x61\x6E\x20\x28\x4B\x6F\x72\x65\x61\x29","\x44\x75\x74\x63\x68\x20\x28\x4E\x65\x74\x68\x65\x72\x6C\x61\x6E\x64\x73\x29","\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E\x20\x28\x4E\x6F\x72\x77\x61\x79\x29","\x50\x6F\x72\x74\x75\x67\x75\x65\x73\x65\x20\x28\x42\x72\x61\x7A\x69\x6C\x29","\x52\x75\x73\x73\x69\x61\x6E\x20\x28\x52\x75\x73\x73\x69\x61\x29","\x53\x77\x65\x64\x69\x73\x68\x20\x28\x53\x77\x65\x64\x65\x6E\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x43\x68\x69\x6E\x61\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x48\x6F\x6E\x67\x20\x4B\x6F\x6E\x67\x29","\x44\x65\x66\x61\x75\x6C\x74","\x44\x61\x74\x65","\x55\x53\x20\x4D\x6F\x6E\x65\x79","\x4E\x75\x6D\x62\x65\x72\x73\x20\x74\x6F\x20\x39","\x4E\x75\x6D\x62\x65\x72\x73\x20\x74\x6F\x20\x39\x39","\x4E\x75\x6D\x62\x65\x72\x73\x20\x74\x6F\x20\x39\x39\x39","\x54\x69\x6D\x65","\x50\x68\x6F\x6E\x65\x20\x6E\x75\x6D\x62\x65\x72","\x53\x74\x72\x65\x65\x74\x73","\x55\x53\x20\x43\x69\x74\x79\x2F\x53\x74\x61\x74\x65\x73","\x77\x61\x76","\x67\x73\x6D","\x46\x69\x72\x73\x74","\x4C\x61\x73\x74","\x23","\x2A","\x41\x66\x72\x69\x6B\x61\x61\x6E\x73","\x41\x6C\x62\x61\x6E\x69\x61\x6E","\x41\x6D\x68\x61\x72\x69\x63","\x41\x72\x61\x62\x69\x63","\x41\x72\x6D\x65\x6E\x69\x61\x6E","\x41\x7A\x65\x72\x62\x61\x69\x6A\x61\x6E\x69","\x42\x61\x73\x71\x75\x65","\x42\x65\x6C\x61\x72\x75\x73\x69\x61\x6E","\x42\x65\x6E\x67\x61\x6C\x69","\x42\x69\x68\x61\x72\x69","\x42\x6F\x73\x6E\x69\x61\x6E","\x42\x72\x65\x74\x6F\x6E","\x42\x75\x6C\x67\x61\x72\x69\x61\x6E","\x43\x61\x6D\x62\x6F\x64\x69\x61\x6E","\x43\x61\x74\x61\x6C\x61\x6E","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x53\x69\x6D\x70\x6C\x69\x66\x69\x65\x64\x29","\x43\x68\x69\x6E\x65\x73\x65\x20\x28\x54\x72\x61\x64\x69\x74\x69\x6F\x6E\x61\x6C\x29","\x43\x6F\x72\x73\x69\x63\x61\x6E","\x43\x72\x6F\x61\x74\x69\x61\x6E","\x43\x7A\x65\x63\x68","\x44\x61\x6E\x69\x73\x68","\x44\x75\x74\x63\x68","\x45\x6E\x67\x6C\x69\x73\x68","\x45\x73\x70\x65\x72\x61\x6E\x74\x6F","\x45\x73\x74\x6F\x6E\x69\x61\x6E","\x46\x61\x72\x6F\x65\x73\x65","\x46\x69\x6C\x69\x70\x69\x6E\x6F","\x46\x69\x6E\x6E\x69\x73\x68","\x46\x72\x65\x6E\x63\x68","\x46\x72\x69\x73\x69\x61\x6E","\x47\x61\x6C\x69\x63\x69\x61\x6E","\x47\x65\x6F\x72\x67\x69\x61\x6E","\x47\x65\x72\x6D\x61\x6E","\x47\x72\x65\x65\x6B","\x47\x75\x61\x72\x61\x6E\x69","\x47\x75\x6A\x61\x72\x61\x74\x69","\x48\x61\x63\x6B\x65\x72","\x48\x61\x75\x73\x61","\x48\x65\x62\x72\x65\x77","\x48\x69\x6E\x64\x69","\x48\x75\x6E\x67\x61\x72\x69\x61\x6E","\x49\x63\x65\x6C\x61\x6E\x64\x69\x63","\x49\x6E\x64\x6F\x6E\x65\x73\x69\x61\x6E","\x49\x6E\x74\x65\x72\x6C\x69\x6E\x67\x75\x61","\x49\x72\x69\x73\x68","\x49\x74\x61\x6C\x69\x61\x6E","\x4A\x61\x76\x61\x6E\x65\x73\x65","\x4A\x61\x70\x61\x6E\x65\x73\x65","\x4B\x61\x6E\x6E\x61\x64\x61","\x4B\x61\x7A\x61\x6B\x68","\x4B\x69\x6E\x79\x61\x72\x77\x61\x6E\x64\x61","\x4B\x69\x72\x75\x6E\x64\x69","\x4B\x6C\x69\x6E\x67\x6F\x6E","\x4B\x75\x72\x64\x69\x73\x68","\x4B\x6F\x72\x65\x61\x6E","\x4B\x79\x72\x67\x79\x7A","\x4C\x61\x6F\x74\x68\x69\x61\x6E","\x4C\x61\x74\x69\x6E","\x4C\x61\x74\x76\x69\x61\x6E","\x4C\x69\x6E\x67\x61\x6C\x61","\x4C\x69\x74\x68\x75\x61\x6E\x69\x61\x6E","\x4D\x61\x63\x65\x64\x6F\x6E\x69\x61\x6E","\x4D\x61\x6C\x61\x67\x61\x73\x79","\x4D\x61\x6C\x61\x79","\x4D\x61\x6C\x61\x79\x61\x6C\x61\x6D","\x4D\x61\x6C\x74\x65\x73\x65","\x4D\x61\x6F\x72\x69","\x4D\x61\x72\x61\x74\x68\x69","\x4D\x6F\x6C\x64\x61\x76\x69\x61\x6E","\x4D\x6F\x6E\x67\x6F\x6C\x69\x61\x6E","\x4D\x6F\x6E\x74\x65\x6E\x65\x67\x72\x69\x6E","\x4E\x65\x70\x61\x6C\x69","\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E","\x4E\x6F\x72\x77\x65\x67\x69\x61\x6E\x20\x28\x4E\x79\x6E\x6F\x72\x73\x6B\x29","\x4F\x63\x63\x69\x74\x61\x6E","\x4F\x72\x69\x79\x61","\x4F\x72\x6F\x6D\x6F","\x50\x61\x73\x68\x74\x6F","\x50\x65\x72\x73\x69\x61\x6E","\x50\x69\x72\x61\x74\x65","\x50\x6F\x6C\x69\x73\x68","\x50\x75\x6E\x6A\x61\x62\x69","\x51\x75\x65\x63\x68\x75\x61","\x52\x6F\x6D\x61\x6E\x69\x61\x6E","\x52\x6F\x6D\x61\x6E\x73\x68","\x52\x75\x73\x73\x69\x61\x6E","\x53\x63\x6F\x74\x73\x20\x47\x61\x65\x6C\x69\x63","\x53\x65\x72\x62\x69\x61\x6E","\x53\x65\x72\x62\x6F\x2D\x43\x72\x6F\x61\x74\x69\x61\x6E","\x53\x65\x73\x6F\x74\x68\x6F","\x53\x68\x6F\x6E\x61","\x53\x69\x6E\x64\x68\x69","\x53\x69\x6E\x68\x61\x6C\x65\x73\x65","\x53\x6C\x6F\x76\x61\x6B","\x53\x6C\x6F\x76\x65\x6E\x69\x61\x6E","\x53\x6F\x6D\x61\x6C\x69","\x53\x70\x61\x6E\x69\x73\x68","\x53\x75\x6E\x64\x61\x6E\x65\x73\x65","\x53\x77\x61\x68\x69\x6C\x69","\x53\x77\x65\x64\x69\x73\x68","\x54\x61\x6A\x69\x6B","\x54\x61\x6D\x69\x6C","\x54\x61\x74\x61\x72","\x54\x65\x6C\x75\x67\x75","\x54\x68\x61\x69","\x54\x69\x67\x72\x69\x6E\x79\x61","\x54\x6F\x6E\x67\x61","\x54\x75\x72\x6B\x69\x73\x68","\x54\x75\x72\x6B\x6D\x65\x6E","\x54\x77\x69","\x55\x69\x67\x68\x75\x72","\x55\x6B\x72\x61\x69\x6E\x69\x61\x6E","\x55\x72\x64\x75","\x55\x7A\x62\x65\x6B","\x56\x69\x65\x74\x6E\x61\x6D\x65\x73\x65","\x57\x65\x6C\x73\x68","\x58\x68\x6F\x73\x61","\x59\x69\x64\x64\x69\x73\x68","\x59\x6F\x72\x75\x62\x61","\x5A\x75\x6C\x75"];var urlParams=(function(_0xebdax2){var _0xebdax3= new Object();var _0xebdax4=_0xebdax2[_0xb181[3]](_0xb181[2]);if(_0xebdax4> 0){var _0xebdax5=_0xebdax2[_0xb181[6]](_0xebdax4+ 1)[_0xb181[5]](_0xb181[4]);for(var _0xebdax6=0;_0xebdax6< _0xebdax5[_0xb181[7]];_0xebdax6++){_0xebdax4= _0xebdax5[_0xebdax6][_0xb181[9]](_0xb181[8]);if(_0xebdax4> 0){_0xebdax3[_0xebdax5[_0xebdax6][_0xb181[6]](0,_0xebdax4)]= _0xebdax5[_0xebdax6][_0xb181[6]](_0xebdax4+ 1)}}};return _0xebdax3})(window[_0xb181[1]][_0xb181[0]]);var t0= new Date();var MAX_REQUEST_SIZE=10485760;var MAX_WIDTH=12000;var MAX_HEIGHT=12000;var EXPORT_URL=_0xb181[10];var SHARE_HOST=_0xb181[11];var SAVE_URL=_0xb181[12];var VARIABLE_URL=_0xb181[13];var STENCIL_PATH=_0xb181[14];var SHAPES_PATH=_0xb181[15];var IMAGE_PATH=_0xb181[16];var STYLE_PATH=_0xb181[17];var CSS_PATH=_0xb181[17];var OPEN_FORM=_0xb181[18];var TEMPLATE_PATH=_0xb181[19];var RESOURCES_PATH=_0xb181[20];var RESOURCE_BASE=RESOURCES_PATH+ _0xb181[21];var tapAndHoldStartsConnection=true;var showConnectorImg=true;var mxLoadResources=false;var mxLanguage=_0xb181[22];console[_0xb181[26]](_0xb181[23],localStorage[_0xb181[25]](_0xb181[24]));switch(localStorage[_0xb181[25]](_0xb181[24])){case _0xb181[27]:mxLanguage= _0xb181[22];break;case _0xb181[28]:mxLanguage= _0xb181[28];break;default:mxLanguage= _0xb181[22]};console[_0xb181[26]](_0xb181[29],mxLanguage);var mxLanguages=[_0xb181[30],_0xb181[31],_0xb181[32],_0xb181[33],_0xb181[34],_0xb181[35],_0xb181[36],_0xb181[37],_0xb181[38],_0xb181[39],_0xb181[40],_0xb181[28],_0xb181[41],_0xb181[42],_0xb181[43],_0xb181[44],_0xb181[45],_0xb181[46],_0xb181[47],_0xb181[48],_0xb181[49],_0xb181[50],_0xb181[51],_0xb181[52],_0xb181[53],_0xb181[54],_0xb181[55]];var mxBasePath=_0xb181[56];var geBasePath=_0xb181[57];var ISPEECHLANG={usenglishfemale:_0xb181[58],usenglishmale:_0xb181[59],ukenglishfemale:_0xb181[60],ukenglishmale:_0xb181[61],auenglishfemale:_0xb181[62],usspanishfemale:_0xb181[63],usspanishmale:_0xb181[64],chchinesefemale:_0xb181[65],chchinesemale:_0xb181[66],hkchinesefemale:_0xb181[67],twchinesefemale:_0xb181[68],jpjapanesefemale:_0xb181[69],jpjapanesemale:_0xb181[70],krkoreanfemale:_0xb181[71],krkoreanmale:_0xb181[72],caenglishfemale:_0xb181[73],huhungarianfemale:_0xb181[74],brportuguesefemale:_0xb181[75],eurportuguesefemale:_0xb181[76],eurportuguesemale:_0xb181[77],eurspanishfemale:_0xb181[78],eurspanishmale:_0xb181[79],eurcatalanfemale:_0xb181[80],eurczechfemale:_0xb181[81],eurdanishfemale:_0xb181[82],eurfinnishfemale:_0xb181[83],eurfrenchfemale:_0xb181[84],eurfrenchmale:_0xb181[85],eurnorwegianfemale:_0xb181[86],eurdutchfemale:_0xb181[87],eurpolishfemale:_0xb181[88],euritalianfemale:_0xb181[89],eurturkishfemale:_0xb181[90],eurturkishmale:_0xb181[91],eurgermanfemale:_0xb181[92],eurgermanmale:_0xb181[93],rurussianfemale:_0xb181[94],rurussianmale:_0xb181[95],swswedishfemale:_0xb181[96],cafrenchfemale:_0xb181[97],cafrenchmale:_0xb181[98]};var BOOLSELECT={"\x79\x65\x73":_0xb181[99],"\x6E\x6F":_0xb181[100]};var ISPEECHASRLANG={"\x65\x6E\x2D\x55\x53":_0xb181[101],"\x65\x6E\x2D\x43\x41":_0xb181[102],"\x65\x6E\x2D\x47\x42":_0xb181[103],"\x65\x6E\x2D\x41\x55":_0xb181[104],"\x65\x73\x2D\x45\x53":_0xb181[105],"\x65\x73\x2D\x4D\x58":_0xb181[106],"\x69\x74\x2D\x49\x54":_0xb181[107],"\x66\x72\x2D\x46\x52":_0xb181[108],"\x66\x72\x2D\x43\x41":_0xb181[109],"\x70\x6C\x2D\x50\x4C":_0xb181[110],"\x70\x74\x2D\x50\x54":_0xb181[111],"\x63\x61\x2D\x45\x53":_0xb181[112],"\x7A\x68\x2D\x54\x57":_0xb181[113],"\x64\x61\x2D\x44\x4B":_0xb181[114],"\x66\x72\x2D\x46\x52":_0xb181[115],"\x6A\x61\x2D\x4A\x50":_0xb181[116],"\x6B\x6F\x2D\x4B\x52":_0xb181[117],"\x6E\x6C\x2D\x4E\x4C":_0xb181[118],"\x6E\x62\x2D\x4E\x4F":_0xb181[119],"\x70\x74\x2D\x42\x52":_0xb181[120],"\x72\x75\x2D\x52\x55":_0xb181[121],"\x73\x76\x2D\x53\x45":_0xb181[122],"\x7A\x68\x2D\x43\x4E":_0xb181[123],"\x7A\x68\x2D\x48\x4B":_0xb181[124]};var ISPEECHASRMODEL={0:_0xb181[125],date:_0xb181[126],usmoney:_0xb181[127],numbersto9:_0xb181[128],numbersto99:_0xb181[129],numbersto999:_0xb181[130],time:_0xb181[131],phonenumber:_0xb181[132],streets:_0xb181[133],citystate:_0xb181[134]};var ISPEECHBEEP={"\x42\x45\x45\x50":_0xb181[99],"\x4E\x4F\x42\x45\x45\x50":_0xb181[100]};var RECORDINGFORMAT={"\x77\x61\x76":_0xb181[135],"\x67\x73\x6D":_0xb181[136]};var SECRETDIGITSPOS={"\x66\x69\x72\x73\x74":_0xb181[137],"\x6C\x61\x73\x74":_0xb181[138]};var ASRINTKEYS={"\x23":_0xb181[139],"\x2A":_0xb181[140]};var GOOGLETTSLANG={"\x61\x66":_0xb181[141],"\x73\x71":_0xb181[142],"\x61\x6D":_0xb181[143],"\x61\x72":_0xb181[144],"\x68\x79":_0xb181[145],"\x61\x7A":_0xb181[146],"\x65\x75":_0xb181[147],"\x62\x65":_0xb181[148],"\x62\x6E":_0xb181[149],"\x62\x68":_0xb181[150],"\x62\x73":_0xb181[151],"\x62\x72":_0xb181[152],"\x62\x67":_0xb181[153],"\x6B\x6D":_0xb181[154],"\x63\x61":_0xb181[155],"\x7A\x68\x2D\x43\x4E":_0xb181[156],"\x7A\x68\x2D\x54\x57":_0xb181[157],"\x63\x6F":_0xb181[158],"\x68\x72":_0xb181[159],"\x63\x73":_0xb181[160],"\x64\x61":_0xb181[161],"\x6E\x6C":_0xb181[162],"\x65\x6E":_0xb181[163],"\x65\x6F":_0xb181[164],"\x65\x74":_0xb181[165],"\x66\x6F":_0xb181[166],"\x74\x6C":_0xb181[167],"\x66\x69":_0xb181[168],"\x66\x72":_0xb181[169],"\x66\x79":_0xb181[170],"\x67\x6C":_0xb181[171],"\x6B\x61":_0xb181[172],"\x64\x65":_0xb181[173],"\x65\x6C":_0xb181[174],"\x67\x6E":_0xb181[175],"\x67\x75":_0xb181[176],"\x78\x78\x2D\x68\x61\x63\x6B\x65\x72":_0xb181[177],"\x68\x61":_0xb181[178],"\x69\x77":_0xb181[179],"\x68\x69":_0xb181[180],"\x68\x75":_0xb181[181],"\x69\x73":_0xb181[182],"\x69\x64":_0xb181[183],"\x69\x61":_0xb181[184],"\x67\x61":_0xb181[185],"\x69\x74":_0xb181[186],"\x6A\x77":_0xb181[187],"\x6A\x61":_0xb181[188],"\x6B\x6E":_0xb181[189],"\x6B\x6B":_0xb181[190],"\x72\x77":_0xb181[191],"\x72\x6E":_0xb181[192],"\x78\x78\x2D\x6B\x6C\x69\x6E\x67\x6F\x6E":_0xb181[193],"\x6B\x75":_0xb181[194],"\x6B\x6F":_0xb181[195],"\x6B\x79":_0xb181[196],"\x6C\x6F":_0xb181[197],"\x6C\x61":_0xb181[198],"\x6C\x76":_0xb181[199],"\x6C\x6E":_0xb181[200],"\x6C\x74":_0xb181[201],"\x6D\x6B":_0xb181[202],"\x6D\x67":_0xb181[203],"\x6D\x73":_0xb181[204],"\x6D\x6C":_0xb181[205],"\x6D\x74":_0xb181[206],"\x6D\x69":_0xb181[207],"\x6D\x72":_0xb181[208],"\x6D\x6F":_0xb181[209],"\x6D\x6E":_0xb181[210],"\x73\x72\x2D\x4D\x45":_0xb181[211],"\x6E\x65":_0xb181[212],"\x6E\x6F":_0xb181[213],"\x6E\x6E":_0xb181[214],"\x6F\x63":_0xb181[215],"\x6F\x72":_0xb181[216],"\x6F\x6D":_0xb181[217],"\x70\x73":_0xb181[218],"\x66\x61":_0xb181[219],"\x78\x78\x2D\x70\x69\x72\x61\x74\x65":_0xb181[220],"\x70\x6C":_0xb181[221],"\x70\x74\x2D\x42\x52":_0xb181[120],"\x70\x74\x2D\x50\x54":_0xb181[111],"\x70\x61":_0xb181[222],"\x71\x75":_0xb181[223],"\x72\x6F":_0xb181[224],"\x72\x6D":_0xb181[225],"\x72\x75":_0xb181[226],"\x67\x64":_0xb181[227],"\x73\x72":_0xb181[228],"\x73\x68":_0xb181[229],"\x73\x74":_0xb181[230],"\x73\x6E":_0xb181[231],"\x73\x64":_0xb181[232],"\x73\x69":_0xb181[233],"\x73\x6B":_0xb181[234],"\x73\x6C":_0xb181[235],"\x73\x6F":_0xb181[236],"\x65\x73":_0xb181[237],"\x73\x75":_0xb181[238],"\x73\x77":_0xb181[239],"\x73\x76":_0xb181[240],"\x74\x67":_0xb181[241],"\x74\x61":_0xb181[242],"\x74\x74":_0xb181[243],"\x74\x65":_0xb181[244],"\x74\x68":_0xb181[245],"\x74\x69":_0xb181[246],"\x74\x6F":_0xb181[247],"\x74\x72":_0xb181[248],"\x74\x6B":_0xb181[249],"\x74\x77":_0xb181[250],"\x75\x67":_0xb181[251],"\x75\x6B":_0xb181[252],"\x75\x72":_0xb181[253],"\x75\x7A":_0xb181[254],"\x76\x69":_0xb181[255],"\x63\x79":_0xb181[256],"\x78\x68":_0xb181[257],"\x79\x69":_0xb181[258],"\x79\x6F":_0xb181[259],"\x7A\x75":_0xb181[260]}
\ No newline at end of file
<![endif]-->
<script src="app/037c0eef.vendor.js"></script>
- <script src="app/d40ca7fa.app.js"></script>
+ <script src="app/a62d167b.app.js"></script>
<!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->
<!-- BEGIN CORE PLUGINS -->
# xCALLY MOTION Changelog
+- * 3b07c98 - 2016-09-09: Gruntfile.js update
+- * 8498653 - 2016-09-09: server side app.js update
+- * d0174ce - 2016-09-09: server side utils report_build update
+- * b1631a3 - 2016-09-09: server side models update
+- * 6c8a271 - 2016-09-09: server side services create
+- * 54b3b8b - 2016-09-09: server side config socket io
+- * 5d1f71d - 2016-09-09: server side config update
+- * d58cd5b - 2016-09-09: server side config ami update
+- * acfa524 - 2016-09-09: server side api update
+- * 5b04ed4 - 2016-09-09: client side .jshintrc update
+- * 84f61a7 - 2016-09-09: client components socket service update
+- * a9314fe - 2016-09-09: client side main directive
+- * 9357282 - 2016-09-09: sec to time filters update
+- * 85cf4b9 - 2016-09-09: client side assets workers added
+- * 617cb72 - 2016-09-09: client side assets languages update
+- * 3e340e4 - 2016-09-09: client side dashboard voice controller update
+- * 95f9802 - 2016-09-09: client side time interval label update
+- * a63f745 - 2016-09-09: client side channels/voice/realtime view parameters update
+- * 27946ee - 2016-09-09: channels view action list update
+- * 206f4f5 - 2016-09-09: Moved skiptour flag to localstorage
+- * fa868ee - 2016-09-08: remove filtering in chat actions list
+- * ca87784 - 2016-09-08: fixed 'impossible to create an action with custom interval'
+- * 5ce86e1 - 2016-09-08: Log removed
+- * ea97b61 - 2016-09-08: Moved all mail session reports to main table; Removed mail session table from the history move service;
+- * 8cb1e93 - 2016-09-08: Hidden default metrics section
+- * 07ca80a - 2016-09-08: Check pwd pattern only when securepassword is on; Added new reports and report fields in production seed; Moved Analytics and Modules population outside firstSetup check.
+- * 749890e - 2016-09-08: restore button in motion dialer
+- * 4a54072 - 2016-09-08: rename interval and time column with time interval (all channels)
+- * 10b591b - 2016-09-08: Added NOT LIKE operator in reports conditions; Added quotes for report fields in case of simple table field( not custom or metric)
- * 1d4ed16 - 2016-09-08: fixed function name
- * ccd545d - 2016-09-07: Added error message for maximum limit of agents reached
- * 8d81d02 - 2016-09-07: Index js fix
-/**
- * @api {post} /api/auth/local/ Basic authentication
- *
- * @apiVersion 0.0.140
- * @apiName BasicAuth
- * @apiGroup Authentication
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiSuccess {String} role User/Agent role.
- * @apiSuccess {String} token User/Agent token.
- * @apiSuccess {Number} userId User/Agent ID.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "role": "admin",
- * "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTQsImlhdCI6MTQ3MjQ1ODIyMiwiZXhwIjoxNDcyNTQ0NjIyfQ"
- * "userId": 5
- * }
- */
+var _0xa2fe=[]
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/actions -> index
- * POST /api/actions -> create
- * GET /api/actions/:id -> show
- * PUT /api/actions/:id -> update
- * DELETE /api/actions/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var Action = require('../../models').Action;
-var sequelize = require('../../models').sequelize;
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of Actions
-exports.index = function(req, res) {
- return Action.findAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new Action in the DB
-exports.create = function(req, res, next) {
- req.body.UserId = req.user.id;
- return sequelize.transaction(function(t) {
- return Action
- .create(_.merge(req.body, req.params), {
- transaction: t,
- body: req.body
- });
- })
- .then(function(action) {
- return res.status(201).send(action);
- }).catch(function(err) {
- console.log(err);
- if (err.message === 'Interface not found') {
- err.message = 'No queues associated for the user';
- err.translatedMessage = 'MESSAGE_NO_USER_QUEUES';
- }
- return handleError(res, err);
- });
-}
+var _0x9f20=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x69\x64","\x75\x73\x65\x72","\x6C\x6F\x67","\x6D\x65\x73\x73\x61\x67\x65","\x49\x6E\x74\x65\x72\x66\x61\x63\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x4E\x6F\x20\x71\x75\x65\x75\x65\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x75\x73\x65\x72","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x4E\x4F\x5F\x55\x53\x45\x52\x5F\x51\x55\x45\x55\x45\x53","\x70\x61\x72\x61\x6D\x73","\x6D\x65\x72\x67\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E"];_0x9f20[0];var _=require(_0x9f20[1]);var Action=require(_0x9f20[3])[_0x9f20[2]];var sequelize=require(_0x9f20[3])[_0x9f20[4]];function handleError(_0x8cf5x5,_0x8cf5x6){return _0x8cf5x5[_0x9f20[6]](500)[_0x9f20[5]](_0x8cf5x6)}function responseWithResult(_0x8cf5x5,_0x8cf5x8){_0x8cf5x8= _0x8cf5x8|| 200;return function(_0x8cf5x9){if(_0x8cf5x9){_0x8cf5x5[_0x9f20[6]](_0x8cf5x8)[_0x9f20[7]](_0x8cf5x9)}}}function handleEntityNotFound(_0x8cf5x5){return function(_0x8cf5x9){if(!_0x8cf5x9){_0x8cf5x5[_0x9f20[6]](404)[_0x9f20[8]]();return null};return _0x8cf5x9}}function saveUpdates(_0x8cf5xc){return function(_0x8cf5x9){return _0x8cf5x9[_0x9f20[10]](_0x8cf5xc)[_0x9f20[9]](function(_0x8cf5xd){return _0x8cf5xd})}}function removeEntity(_0x8cf5x5){return function(_0x8cf5x9){if(_0x8cf5x9){return _0x8cf5x9[_0x9f20[11]]()[_0x9f20[9]](function(){_0x8cf5x5[_0x9f20[6]](204)[_0x9f20[8]]()})}}}exports[_0x9f20[12]]= function(_0x8cf5xf,_0x8cf5x5){return Action[_0x9f20[14]]()[_0x9f20[9]](responseWithResult(_0x8cf5x5))[_0x9f20[13]](handleError(_0x8cf5x5))};exports[_0x9f20[15]]= function(_0x8cf5xf,_0x8cf5x5,_0x8cf5x10){_0x8cf5xf[_0x9f20[17]][_0x9f20[16]]= _0x8cf5xf[_0x9f20[19]][_0x9f20[18]];return sequelize[_0x9f20[28]](function(_0x8cf5x12){return Action[_0x9f20[15]](_[_0x9f20[27]](_0x8cf5xf[_0x9f20[17]],_0x8cf5xf[_0x9f20[26]]),{transaction:_0x8cf5x12,body:_0x8cf5xf[_0x9f20[17]]})})[_0x9f20[9]](function(_0x8cf5x11){return _0x8cf5x5[_0x9f20[6]](201)[_0x9f20[5]](_0x8cf5x11)})[_0x9f20[13]](function(_0x8cf5x6){console[_0x9f20[20]](_0x8cf5x6);if(_0x8cf5x6[_0x9f20[21]]=== _0x9f20[22]){_0x8cf5x6[_0x9f20[21]]= _0x9f20[23];_0x8cf5x6[_0x9f20[24]]= _0x9f20[25]};return handleError(_0x8cf5x5,_0x8cf5x6)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Action = require('../../models').Action;
-
-var ActionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ActionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Action.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ActionEvents.emit(event + ':' + doc._id, doc);
- ActionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ActionEvents;
+var _0xc442=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc442[0];const EventEmitter=require(_0xc442[1]);const Action=require(_0xc442[3])[_0xc442[2]];var ActionEvents= new EventEmitter();ActionEvents[_0xc442[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc442[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xc442[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc442[6]};for(var e in events){var event=events[e];Action[_0xc442[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x9318x8,_0x9318x9,_0x9318xa){ActionEvents[_0xc442[10]](event+ _0xc442[8]+ _0x9318x8[_0xc442[9]],_0x9318x8);ActionEvents[_0xc442[10]](event,_0x9318x8);_0x9318xa(null)}}module[_0xc442[11]]= ActionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ActionEvents = require('./action.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('action:' + event, socket);
-
- ActionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ActionEvents.removeListener(event, listener);
- };
-}
+var _0xf08b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x63\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x61\x63\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xf08b[0];const ActionEvents=require(_0xf08b[1]);var events=[_0xf08b[2],_0xf08b[3]];exports[_0xf08b[4]]= function(_0xd221x3){for(var _0xd221x4=0,_0xd221x5=events[_0xf08b[5]];_0xd221x4< _0xd221x5;_0xd221x4++){var _0xd221x6=events[_0xd221x4];var _0xd221x7=createListener(_0xf08b[6]+ _0xd221x6,_0xd221x3);ActionEvents[_0xf08b[7]](_0xd221x6,_0xd221x7);_0xd221x3[_0xf08b[7]](_0xf08b[8],removeListener(_0xd221x6,_0xd221x7))}};function createListener(_0xd221x6,_0xd221x3){return function(_0xd221x9){_0xd221x3[_0xf08b[9]](_0xd221x6,_0xd221x9)}}function removeListener(_0xd221x6,_0xd221x7){return function(){ActionEvents[_0xf08b[10]](_0xd221x6,_0xd221x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var auth = require('../../auth/auth.service');
-var controller = require('./action.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.post('/:name', auth.isAuthenticated(), controller.create);
-
-module.exports = router;
+var _0xb1ce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x61\x63\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x6E\x61\x6D\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb1ce[0];var express=require(_0xb1ce[1]);var auth=require(_0xb1ce[2]);var controller=require(_0xb1ce[3]);var router=express.Router();router[_0xb1ce[7]](_0xb1ce[4],auth[_0xb1ce[5]](),controller[_0xb1ce[6]]);router[_0xb1ce[10]](_0xb1ce[8],auth[_0xb1ce[5]](),controller[_0xb1ce[9]]);module[_0xb1ce[11]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var sequelize = require('../../models').sequelize;
-
-var util = require('util');
-var Util = require('../../config/util');
-
-var OpenchannelQueue = require('../../models').OpenchannelQueue;
-var VoiceQueue = require('../../models').VoiceQueue;
-var ChatQueue = require('../../models').ChatQueue;
-var MailQueue = require('../../models').MailQueue;
-var FaxQueue = require('../../models').FaxQueue;
-var SmsQueue = require('../../models').SmsQueue;
-var MailRoom = require('../../models').MailRoom;
-var Setting = require('../../models').Setting;
-var Agent = require('../../models').User;
-var User = require('../../models').User;
-var Team = require('../../models').Team;
-var List = require('../../models').List;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getAgentsIdByUser(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-
- default:
- return Agent
- .scope('agent')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-exports.addQueues = function(req, res, next) {
- return Agent
- .findById(req.params.id, {
- attributes: ['id', 'name']
- })
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(401);
- }
-
- switch (req.params.channel) {
- case 'voice':
- return agent
- .addVoiceQueues(req.body, {
- interface: util.format('SIP/%s', agent.name),
- stateinterface: util.format('SIP/%s', agent.name),
- membername: agent.name,
- UserId: agent.id,
- });
- case 'chat':
- return agent
- .addChatQueues(req.body);
- case 'mail':
- return agent
- .addMailQueues(req.body);
- case 'fax':
- return agent
- .addFaxQueues(req.body);
- case 'sms':
- return agent
- .addSmsQueues(req.body);
- case 'openchannel':
- return agent
- .addOpenchannelQueues(req.body);
- default:
- return null;
- }
- })
- .then(function(queues) {
- return res.sendStatus(queues ? 200 : 401);
- })
- .catch(function(err) {
- console.error(err);
- });
-};
-
-exports.removeQueues = function(req, res, next) {
- return Agent
- .findById(req.params.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(401);
- }
-
- switch (req.params.channel) {
- case 'voice':
- return agent
- .removeVoiceQueues(req.query.ids);
- case 'chat':
- return agent
- .removeChatQueues(req.query.ids);
- case 'mail':
- return agent
- .removeMailQueues(req.query.ids);
- case 'sms':
- return agent
- .removeSmsQueues(req.query.ids);
- case 'fax':
- return agent
- .removeFaxQueues(req.query.ids);
- case 'openchannel':
- return agent
- .removeOpenchannelQueues(req.query.ids);
- default:
- return null;
- }
- })
- .then(function(queues) {
- return res.sendStatus(queues ? 200 : 401);
- })
- .catch(function(err) {
- console.error(err);
- });
-};
-
-
-// Get list of agents
-exports.realtimeIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getAgentsIdByUser(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.realtimeVoiceIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser({}, {
- attributes: ['name'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var voiceQueues = _.map(queues.rows, 'name');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return User
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- id: {
- $in: agents
- }
- }), {
- include: [{
- model: VoiceQueue,
- where: {
- name: {
- $in: voiceQueues
- }
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.realtimeChatIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var chatQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return User
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- id: {
- $in: agents
- }
- }), {
- include: [{
- model: ChatQueue,
- where: {
- id: {
- $in: chatQueues
- }
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.realtimeMailIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var mailQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return User
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- id: {
- $in: agents
- }
- }), {
- include: [{
- model: MailQueue,
- where: {
- id: {
- $in: mailQueues
- }
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.realtimeFaxIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var faxQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return User
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- id: {
- $in: agents
- }
- }), {
- include: [{
- model: FaxQueue,
- where: {
- id: {
- $in: faxQueues
- }
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-exports.realtimeSmsIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var smsQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return User
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- id: {
- $in: agents
- }
- }), {
- include: [{
- model: SmsQueue,
- where: {
- id: {
- $in: smsQueues
- }
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.realtimeOpenchannelIndex = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var openchannelQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return User
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- id: {
- $in: agents
- }
- }), {
- include: [{
- model: OpenchannelQueue,
- where: {
- id: {
- $in: openchannelQueues
- }
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return Agent
- .scope('agent', {
- method: ['checkPauseStatus', req.query]
- }, {
- method: ['checkQueueStatus', req.query]
- }, {
- method: ['checkOnlineStatus', req.query]
- }, {
- method: ['checkSipStatus', req.query]
- }, 'queues')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-// Get a single agent
-exports.show = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
- return res.send(agent);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single agent
-exports.showVoiceQueues = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
-
- return agent
- .getVoiceQueues({
- attributes: ['name']
- });
- })
- .then(function(voiceQueues) {
- return res.send({
- count: voiceQueues.length,
- rows: voiceQueues
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showChatQueues = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
-
- return agent
- .getChatQueues({
- attributes: ['id']
- });
- })
- .then(function(chatQueues) {
- return res.send({
- count: chatQueues.length,
- rows: chatQueues
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showMailQueues = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
-
- return agent
- .getMailQueues({
- attributes: ['id']
- });
- })
- .then(function(mailQueues) {
- return res.send({
- count: mailQueues.length,
- rows: mailQueues
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showFaxQueues = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
-
- return agent
- .getFaxQueues({
- attributes: ['id']
- });
- })
- .then(function(faxQueues) {
- return res.send({
- count: faxQueues.length,
- rows: faxQueues
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showSmsQueues = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
-
- return agent
- .getSmsQueues({
- attributes: ['id']
- });
- })
- .then(function(smsQueues) {
- return res.send({
- count: smsQueues.length,
- rows: smsQueues
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showOpenchannelQueues = function(req, res) {
- return Agent
- .scope('agent')
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
-
- return agent
- .getOpenchannelQueues({
- attributes: ['id']
- });
- })
- .then(function(Queues) {
- return res.send({
- count: Queues.length,
- rows: Queues
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new agent in the DB.
-exports.create = function(req, res) {
- var _agent;
-
- // Set default role
- req.body.role = 'agent';
-
- return sequelize.transaction(function(t) {
- return Agent
- .scope('agent')
- .create(req.body, {
- transaction: t
- })
- .then(function(agent) {
- _agent = agent;
-
- return Team
- .findOne({
- where: {
- defaultEntry: true
- }
- });
- })
- .then(function(team) {
- return team
- .addUser(_agent.id, {
- transaction: t
- });
- })
- .then(function() {
- return List
- .findOne({
- where: {
- defaultEntry: true
- }
- });
- })
- .then(function(list) {
- return list
- .addUser(_agent.id, {
- transaction: t
- });
- })
- .then(function() {
- if (req.body.channels && req.body.channels.voice && req.body.channels.voice.queues) {
- return _agent
- .addVoiceQueues(req.body.channels.voice.queues, {
- interface: util.format('SIP/%s', _agent.name),
- stateinterface: util.format('SIP/%s', _agent.name),
- membername: _agent.name,
- UserId: _agent.id,
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.channels && req.body.channels.chat && req.body.channels.chat.queues) {
- return _agent
- .addChatQueues(req.body.channels.chat.queues, {
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.channels && req.body.channels.mail && req.body.channels.mail.queues) {
- return _agent
- .addMailQueues(req.body.channels.mail.queues, {
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.channels && req.body.channels.sms && req.body.channels.sms.queues) {
- return _agent
- .addSmsQueues(req.body.channels.sms.queues, {
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.channels && req.body.channels.fax && req.body.channels.fax.queues) {
- return _agent
- .addFaxQueues(req.body.channels.fax.queues, {
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.channels && req.body.channels.openchannel && req.body.channels.openchannel.queues) {
- return _agent
- .addOpenchannelQueues(req.body.channels.openchannel.queues, {
- transaction: t
- });
- }
- });
- })
- .then(function() {
- return res.status(201).send(_agent);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- console.log(err);
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Creates a new agent in the DB.
-exports.bulkCreate = function(req, res) {
- var _agents;
- var _setting;
-
- var items = [];
- var password = String(req.body.password);
-
- return sequelize.transaction(function(t) {
-
- return Setting
- .findById(1)
- .then(function(setting) {
- _setting = setting;
-
- var regEx = _setting.securePassword ? /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/ : /^[a-zA-Z0-9]{6,}$/;
-
- if (!regEx.test(password)) {
- throw new Error('Invalid password pattern');
- }
-
- var startIndex = 0;
- if (req.body.hasOwnProperty('startIndex') && _.isNumber(req.body.startIndex) && req.body.startIndex >= 0) {
- startIndex = req.body.startIndex;
- delete req.body.startIndex;
- }
- var internalIndex = req.body.minInternal;
- delete req.body.minInternal;
-
- if (req.body.amount) {
- req.body.role = 'agent';
- for (var i = startIndex; i < req.body.amount + startIndex; i++, internalIndex++) {
- var item = _.clone(req.body);
- item.internal = internalIndex;
- item.name = item.name + i;
- item.fullname = item.fullname + i;
- item.email = item.email.split('@')[0] + i + '@' + item.email.split('@')[1];
- items.push(item);
- }
- } else {
- throw new Error('No agents amount specified!');
- }
- return Agent
- .bulkCreate(items, {
- transaction: t,
- individualHooks: true
- });
- })
- .then(function(agents) {
- _agents = agents;
-
- return Team
- .findOne({
- where: {
- defaultEntry: true
- }
- });
- })
- .then(function(team) {
- return team
- .addUsers(_.map(_agents, 'id'), {
- transaction: t
- });
- })
- })
- .then(function() {
- return res.sendStatus(201);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- console.log(err);
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Updates an existing agent in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- delete req.body.role;
- delete req.body.name;
- delete req.body.password;
-
- return sequelize.transaction(function(t) {
- return Agent
- .findById(req.params.id)
- .then(function(agent) {
- if (!agent) {
- return res.sendStatus(404);
- }
- var updated = _.merge(agent, req.body);
- return updated
- .save({
- transaction: t
- });
- })
- .then(function(agent) {
- return res.status(200).send(agent);
- })
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- console.log(err);
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.destroy = function(req, res) {
- var _agent;
-
- return Agent
- .findById(req.params.id)
- .then(function(agent) {
- _agent = agent;
- if (!agent) {
- return res.sendStatus(404);
- }
- return agent
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- return Util.errorManager.handleForeignKeyConstraintError(res, 'agent', _agent.name, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return Agent
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Change a user password //DEPRECATED
- */
-exports.changePassword = function(req, res, next) {
- var _setting;
-
- var userId = req.user.id;
- var oldPass = String(req.body.oldPassword);
- var newPass = String(req.body.newPassword);
-
- return Setting
- .findById(1)
- .then(function(setting) {
- _setting = setting;
-
- return Agent
- .findById(userId);
- })
- .then(function(user) {
- var regEx = _setting.securePassword ? /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/ : /^[a-zA-Z0-9]{6,}$/;
-
- if (!regEx.test(newPass)) {
- throw new Error('Invalid password pattern');
- }
-
- if (user.authenticate(oldPass)) {
- user.password = newPass;
-
- return user
- .save();
- } else {
- return res.sendStatus(403);
- }
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Change a user password by admin //DEPRECATED
- */
-exports.resetPassword = function(req, res, next) {
- var _setting;
-
- var userId = req.params.id;
- var newPass = String(req.body.newPassword);
-
- return Setting
- .findById(1)
- .then(function(setting) {
- _setting = setting;
-
- return Agent
- .findById(userId);
- })
- .then(function(user) {
- var regEx = _setting.securePassword ? /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/ : /^[a-zA-Z0-9]{6,}$/;
-
- if (!regEx.test(newPass)) {
- throw new Error('Invalid password pattern');
- }
-
- user.password = newPass;
- return user
- .save();
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x5c64=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x61\x78\x51\x75\x65\x75\x65","\x53\x6D\x73\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67","\x55\x73\x65\x72","\x54\x65\x61\x6D","\x4C\x69\x73\x74","\x69\x6E\x64\x65\x78","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x41\x67\x65\x6E\x74\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x67\x65\x6E\x74","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x61\x64\x64\x51\x75\x65\x75\x65\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x62\x6F\x64\x79","\x53\x49\x50\x2F\x25\x73","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x61\x64\x64\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x76\x6F\x69\x63\x65","\x61\x64\x64\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x63\x68\x61\x74","\x61\x64\x64\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x6D\x61\x69\x6C","\x61\x64\x64\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x66\x61\x78","\x61\x64\x64\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x73\x6D\x73","\x61\x64\x64\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x63\x68\x61\x6E\x6E\x65\x6C","\x70\x61\x72\x61\x6D\x73","\x72\x65\x6D\x6F\x76\x65\x51\x75\x65\x75\x65\x73","\x69\x64\x73","\x72\x65\x6D\x6F\x76\x65\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x72\x65\x61\x6C\x74\x69\x6D\x65\x49\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x68\x65\x63\x6B\x50\x61\x75\x73\x65\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x51\x75\x65\x75\x65\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x4F\x6E\x6C\x69\x6E\x65\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x53\x69\x70\x53\x74\x61\x74\x75\x73","\x71\x75\x65\x75\x65\x73","\x72\x65\x61\x6C\x74\x69\x6D\x65\x56\x6F\x69\x63\x65\x49\x6E\x64\x65\x78","\x72\x6F\x77\x73","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x65\x72\x67\x65","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x61\x6C\x74\x69\x6D\x65\x43\x68\x61\x74\x49\x6E\x64\x65\x78","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x61\x6C\x74\x69\x6D\x65\x4D\x61\x69\x6C\x49\x6E\x64\x65\x78","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x61\x6C\x74\x69\x6D\x65\x46\x61\x78\x49\x6E\x64\x65\x78","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x61\x6C\x74\x69\x6D\x65\x53\x6D\x73\x49\x6E\x64\x65\x78","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x61\x6C\x74\x69\x6D\x65\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x49\x6E\x64\x65\x78","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x73\x68\x6F\x77","\x73\x68\x6F\x77\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x61\x64\x64\x55\x73\x65\x72","\x66\x69\x6E\x64\x4F\x6E\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x61\x64\x64\x55\x73\x65\x72\x73","\x73\x65\x63\x75\x72\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x74\x65\x73\x74","\x49\x6E\x76\x61\x6C\x69\x64\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x70\x61\x74\x74\x65\x72\x6E","\x73\x74\x61\x72\x74\x49\x6E\x64\x65\x78","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x69\x73\x4E\x75\x6D\x62\x65\x72","\x6D\x69\x6E\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x61\x6D\x6F\x75\x6E\x74","\x63\x6C\x6F\x6E\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x40","\x73\x70\x6C\x69\x74","\x70\x75\x73\x68","\x4E\x6F\x20\x61\x67\x65\x6E\x74\x73\x20\x61\x6D\x6F\x75\x6E\x74\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x21","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64"];_0x5c64[0];var _=require(_0x5c64[1]);var sequelize=require(_0x5c64[3])[_0x5c64[2]];var util=require(_0x5c64[4]);var Util=require(_0x5c64[5]);var OpenchannelQueue=require(_0x5c64[3])[_0x5c64[6]];var VoiceQueue=require(_0x5c64[3])[_0x5c64[7]];var ChatQueue=require(_0x5c64[3])[_0x5c64[8]];var MailQueue=require(_0x5c64[3])[_0x5c64[9]];var FaxQueue=require(_0x5c64[3])[_0x5c64[10]];var SmsQueue=require(_0x5c64[3])[_0x5c64[11]];var MailRoom=require(_0x5c64[3])[_0x5c64[12]];var Setting=require(_0x5c64[3])[_0x5c64[13]];var Agent=require(_0x5c64[3])[_0x5c64[14]];var User=require(_0x5c64[3])[_0x5c64[14]];var Team=require(_0x5c64[3])[_0x5c64[15]];var List=require(_0x5c64[3])[_0x5c64[16]];exports[_0x5c64[17]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[24]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[18]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[33]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){return Agent[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]],{attributes:[_0x5c64[25],_0x5c64[37]]})[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](401)};switch(_0xbd1dx11[_0x5c64[52]][_0x5c64[51]]){case _0x5c64[40]:return _0xbd1dx17[_0x5c64[39]](_0xbd1dx11[_0x5c64[35]],{interface:util[_0x5c64[38]](_0x5c64[36],_0xbd1dx17[_0x5c64[37]]),stateinterface:util[_0x5c64[38]](_0x5c64[36],_0xbd1dx17[_0x5c64[37]]),membername:_0xbd1dx17[_0x5c64[37]],UserId:_0xbd1dx17[_0x5c64[25]]});case _0x5c64[42]:return _0xbd1dx17[_0x5c64[41]](_0xbd1dx11[_0x5c64[35]]);case _0x5c64[44]:return _0xbd1dx17[_0x5c64[43]](_0xbd1dx11[_0x5c64[35]]);case _0x5c64[46]:return _0xbd1dx17[_0x5c64[45]](_0xbd1dx11[_0x5c64[35]]);case _0x5c64[48]:return _0xbd1dx17[_0x5c64[47]](_0xbd1dx11[_0x5c64[35]]);case _0x5c64[50]:return _0xbd1dx17[_0x5c64[49]](_0xbd1dx11[_0x5c64[35]]);default:return null}})[_0x5c64[22]](function(_0xbd1dx16){return _0xbd1dx12[_0x5c64[34]](_0xbd1dx16?200:401)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[18]](_0xbd1dx14)})};exports[_0x5c64[53]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){return Agent[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](401)};switch(_0xbd1dx11[_0x5c64[52]][_0x5c64[51]]){case _0x5c64[40]:return _0xbd1dx17[_0x5c64[55]](_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]);case _0x5c64[42]:return _0xbd1dx17[_0x5c64[56]](_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]);case _0x5c64[44]:return _0xbd1dx17[_0x5c64[57]](_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]);case _0x5c64[48]:return _0xbd1dx17[_0x5c64[58]](_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]);case _0x5c64[46]:return _0xbd1dx17[_0x5c64[59]](_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]);case _0x5c64[50]:return _0xbd1dx17[_0x5c64[60]](_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]);default:return null}})[_0x5c64[22]](function(_0xbd1dx16){return _0xbd1dx12[_0x5c64[34]](_0xbd1dx16?200:401)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[18]](_0xbd1dx14)})};exports[_0x5c64[61]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[24]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[68]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:var _0xbd1dx18=[];return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[74]]({},{attributes:[_0x5c64[37]],include:[{raw:true,model:User,attributes:[_0x5c64[25]]}]}))[_0x5c64[22]](function(_0xbd1dx16){var _0xbd1dx19=_[_0x5c64[70]](_0xbd1dx16[_0x5c64[69]],_0x5c64[37]);_0xbd1dx16[_0x5c64[69]][_0x5c64[72]](function(_0xbd1dx1a){_0xbd1dx18= _[_0x5c64[71]](_0xbd1dx18,_[_0x5c64[70]](_0xbd1dx1a.Users,_0x5c64[25]))});return User[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]})[_0x5c64[29]](_[_0x5c64[73]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]],{id:{$in:_0xbd1dx18}}),{include:[{model:VoiceQueue,where:{name:{$in:_0xbd1dx19}},required:false}]}))})[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[75]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:var _0xbd1dx18=[];return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[76]]({},{attributes:[_0x5c64[25]],include:[{raw:true,model:User,attributes:[_0x5c64[25]]}]}))[_0x5c64[22]](function(_0xbd1dx16){var _0xbd1dx1b=_[_0x5c64[70]](_0xbd1dx16[_0x5c64[69]],_0x5c64[25]);_0xbd1dx16[_0x5c64[69]][_0x5c64[72]](function(_0xbd1dx1a){_0xbd1dx18= _[_0x5c64[71]](_0xbd1dx18,_[_0x5c64[70]](_0xbd1dx1a.Users,_0x5c64[25]))});return User[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]})[_0x5c64[29]](_[_0x5c64[73]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]],{id:{$in:_0xbd1dx18}}),{include:[{model:ChatQueue,where:{id:{$in:_0xbd1dx1b}},required:false}]}))})[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[77]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:var _0xbd1dx18=[];return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[78]]({},{attributes:[_0x5c64[25]],include:[{raw:true,model:User,attributes:[_0x5c64[25]]}]}))[_0x5c64[22]](function(_0xbd1dx16){var _0xbd1dx1c=_[_0x5c64[70]](_0xbd1dx16[_0x5c64[69]],_0x5c64[25]);_0xbd1dx16[_0x5c64[69]][_0x5c64[72]](function(_0xbd1dx1a){_0xbd1dx18= _[_0x5c64[71]](_0xbd1dx18,_[_0x5c64[70]](_0xbd1dx1a.Users,_0x5c64[25]))});return User[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]})[_0x5c64[29]](_[_0x5c64[73]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]],{id:{$in:_0xbd1dx18}}),{include:[{model:MailQueue,where:{id:{$in:_0xbd1dx1c}},required:false}]}))})[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[79]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:var _0xbd1dx18=[];return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[80]]({},{attributes:[_0x5c64[25]],include:[{raw:true,model:User,attributes:[_0x5c64[25]]}]}))[_0x5c64[22]](function(_0xbd1dx16){var _0xbd1dx1d=_[_0x5c64[70]](_0xbd1dx16[_0x5c64[69]],_0x5c64[25]);_0xbd1dx16[_0x5c64[69]][_0x5c64[72]](function(_0xbd1dx1a){_0xbd1dx18= _[_0x5c64[71]](_0xbd1dx18,_[_0x5c64[70]](_0xbd1dx1a.Users,_0x5c64[25]))});return User[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]})[_0x5c64[29]](_[_0x5c64[73]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]],{id:{$in:_0xbd1dx18}}),{include:[{model:FaxQueue,where:{id:{$in:_0xbd1dx1d}},required:false}]}))})[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[81]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:var _0xbd1dx18=[];return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[82]]({},{attributes:[_0x5c64[25]],include:[{raw:true,model:User,attributes:[_0x5c64[25]]}]}))[_0x5c64[22]](function(_0xbd1dx16){var _0xbd1dx1e=_[_0x5c64[70]](_0xbd1dx16[_0x5c64[69]],_0x5c64[25]);_0xbd1dx16[_0x5c64[69]][_0x5c64[72]](function(_0xbd1dx1a){_0xbd1dx18= _[_0x5c64[71]](_0xbd1dx18,_[_0x5c64[70]](_0xbd1dx1a.Users,_0x5c64[25]))});return User[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]})[_0x5c64[29]](_[_0x5c64[73]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]],{id:{$in:_0xbd1dx18}}),{include:[{model:SmsQueue,where:{id:{$in:_0xbd1dx1e}},required:false}]}))})[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[83]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){switch(_0xbd1dx11[_0x5c64[26]][_0x5c64[32]]){case _0x5c64[26]:var _0xbd1dx18=[];return User[_0x5c64[27]](_0xbd1dx11[_0x5c64[26]][_0x5c64[25]],{attributes:[_0x5c64[25]]})[_0x5c64[22]](Util[_0x5c64[84]]({},{attributes:[_0x5c64[25]],include:[{raw:true,model:User,attributes:[_0x5c64[25]]}]}))[_0x5c64[22]](function(_0xbd1dx16){var _0xbd1dx1f=_[_0x5c64[70]](_0xbd1dx16[_0x5c64[69]],_0x5c64[25]);_0xbd1dx16[_0x5c64[69]][_0x5c64[72]](function(_0xbd1dx1a){_0xbd1dx18= _[_0x5c64[71]](_0xbd1dx18,_[_0x5c64[70]](_0xbd1dx1a.Users,_0x5c64[25]))});return User[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]})[_0x5c64[29]](_[_0x5c64[73]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]],{id:{$in:_0xbd1dx18}}),{include:[{model:OpenchannelQueue,where:{id:{$in:_0xbd1dx1f}},required:false}]}))})[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)});default:return Agent[_0x5c64[31]](_0x5c64[30],{method:[_0x5c64[63],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[64],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[65],_0xbd1dx11[_0x5c64[23]]]},{method:[_0x5c64[66],_0xbd1dx11[_0x5c64[23]]]},_0x5c64[67])[_0x5c64[29]](Util[_0x5c64[28]](_0xbd1dx11[_0x5c64[23]]))[_0x5c64[22]](function(_0xbd1dx15){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx15)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})}};exports[_0x5c64[85]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx12[_0x5c64[20]](_0xbd1dx17)})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[86]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[88]]({attributes:[_0x5c64[37]]})})[_0x5c64[22]](function(_0xbd1dx19){return _0xbd1dx12[_0x5c64[20]]({count:_0xbd1dx19[_0x5c64[87]],rows:_0xbd1dx19})})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[89]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[90]]({attributes:[_0x5c64[25]]})})[_0x5c64[22]](function(_0xbd1dx1b){return _0xbd1dx12[_0x5c64[20]]({count:_0xbd1dx1b[_0x5c64[87]],rows:_0xbd1dx1b})})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[91]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[92]]({attributes:[_0x5c64[25]]})})[_0x5c64[22]](function(_0xbd1dx1c){return _0xbd1dx12[_0x5c64[20]]({count:_0xbd1dx1c[_0x5c64[87]],rows:_0xbd1dx1c})})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[93]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[94]]({attributes:[_0x5c64[25]]})})[_0x5c64[22]](function(_0xbd1dx1d){return _0xbd1dx12[_0x5c64[20]]({count:_0xbd1dx1d[_0x5c64[87]],rows:_0xbd1dx1d})})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[95]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[96]]({attributes:[_0x5c64[25]]})})[_0x5c64[22]](function(_0xbd1dx1e){return _0xbd1dx12[_0x5c64[20]]({count:_0xbd1dx1e[_0x5c64[87]],rows:_0xbd1dx1e})})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[97]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[98]]({attributes:[_0x5c64[25]]})})[_0x5c64[22]](function(_0xbd1dx20){return _0xbd1dx12[_0x5c64[20]]({count:_0xbd1dx20[_0x5c64[87]],rows:_0xbd1dx20})})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[99]]= function(_0xbd1dx11,_0xbd1dx12){var _0xbd1dx21;_0xbd1dx11[_0x5c64[35]][_0x5c64[32]]= _0x5c64[30];return sequelize[_0x5c64[105]](function(_0xbd1dx22){return Agent[_0x5c64[31]](_0x5c64[30])[_0x5c64[99]](_0xbd1dx11[_0x5c64[35]],{transaction:_0xbd1dx22})[_0x5c64[22]](function(_0xbd1dx17){_0xbd1dx21= _0xbd1dx17;return Team[_0x5c64[104]]({where:{defaultEntry:true}})})[_0x5c64[22]](function(_0xbd1dx24){return _0xbd1dx24[_0x5c64[103]](_0xbd1dx21[_0x5c64[25]],{transaction:_0xbd1dx22})})[_0x5c64[22]](function(){return List[_0x5c64[104]]({where:{defaultEntry:true}})})[_0x5c64[22]](function(_0xbd1dx23){return _0xbd1dx23[_0x5c64[103]](_0xbd1dx21[_0x5c64[25]],{transaction:_0xbd1dx22})})[_0x5c64[22]](function(){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[102]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[40]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[40]][_0x5c64[67]]){return _0xbd1dx21[_0x5c64[39]](_0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[40]][_0x5c64[67]],{interface:util[_0x5c64[38]](_0x5c64[36],_0xbd1dx21[_0x5c64[37]]),stateinterface:util[_0x5c64[38]](_0x5c64[36],_0xbd1dx21[_0x5c64[37]]),membername:_0xbd1dx21[_0x5c64[37]],UserId:_0xbd1dx21[_0x5c64[25]],transaction:_0xbd1dx22})}})[_0x5c64[22]](function(){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[102]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[42]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[42]][_0x5c64[67]]){return _0xbd1dx21[_0x5c64[41]](_0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[42]][_0x5c64[67]],{transaction:_0xbd1dx22})}})[_0x5c64[22]](function(){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[102]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[44]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[44]][_0x5c64[67]]){return _0xbd1dx21[_0x5c64[43]](_0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[44]][_0x5c64[67]],{transaction:_0xbd1dx22})}})[_0x5c64[22]](function(){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[102]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[48]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[48]][_0x5c64[67]]){return _0xbd1dx21[_0x5c64[47]](_0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[48]][_0x5c64[67]],{transaction:_0xbd1dx22})}})[_0x5c64[22]](function(){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[102]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[46]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[46]][_0x5c64[67]]){return _0xbd1dx21[_0x5c64[45]](_0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[46]][_0x5c64[67]],{transaction:_0xbd1dx22})}})[_0x5c64[22]](function(){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[102]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[50]]&& _0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[50]][_0x5c64[67]]){return _0xbd1dx21[_0x5c64[49]](_0xbd1dx11[_0x5c64[35]][_0x5c64[102]][_0x5c64[50]][_0x5c64[67]],{transaction:_0xbd1dx22})}})})[_0x5c64[22]](function(){return _0xbd1dx12[_0x5c64[21]](201)[_0x5c64[20]](_0xbd1dx21)})[_0x5c64[19]](sequelize.UniqueConstraintError,function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return Util[_0x5c64[101]][_0x5c64[100]](_0xbd1dx12,_0xbd1dx14)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[106]]= function(_0xbd1dx11,_0xbd1dx12){var _0xbd1dx25;var _0xbd1dx26;var _0xbd1dx27=[];var _0xbd1dx28=String(_0xbd1dx11[_0x5c64[35]][_0x5c64[107]]);return sequelize[_0x5c64[105]](function(_0xbd1dx22){return Setting[_0x5c64[27]](1)[_0x5c64[22]](function(_0xbd1dx29){_0xbd1dx26= _0xbd1dx29;var _0xbd1dx2a=_0xbd1dx26[_0x5c64[109]]?/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/:/^[a-zA-Z0-9]{6,}$/;if(!_0xbd1dx2a[_0x5c64[110]](_0xbd1dx28)){throw new Error(_0x5c64[111])};var _0xbd1dx2b=0;if(_0xbd1dx11[_0x5c64[35]][_0x5c64[113]](_0x5c64[112])&& _[_0x5c64[114]](_0xbd1dx11[_0x5c64[35]][_0x5c64[112]])&& _0xbd1dx11[_0x5c64[35]][_0x5c64[112]]>= 0){_0xbd1dx2b= _0xbd1dx11[_0x5c64[35]][_0x5c64[112]];delete _0xbd1dx11[_0x5c64[35]][_0x5c64[112]]};var _0xbd1dx2c=_0xbd1dx11[_0x5c64[35]][_0x5c64[115]];delete _0xbd1dx11[_0x5c64[35]][_0x5c64[115]];if(_0xbd1dx11[_0x5c64[35]][_0x5c64[116]]){_0xbd1dx11[_0x5c64[35]][_0x5c64[32]]= _0x5c64[30];for(var _0xbd1dx2d=_0xbd1dx2b;_0xbd1dx2d< _0xbd1dx11[_0x5c64[35]][_0x5c64[116]]+ _0xbd1dx2b;_0xbd1dx2d++,_0xbd1dx2c++){var _0xbd1dx2e=_[_0x5c64[117]](_0xbd1dx11[_0x5c64[35]]);_0xbd1dx2e[_0x5c64[118]]= _0xbd1dx2c;_0xbd1dx2e[_0x5c64[37]]= _0xbd1dx2e[_0x5c64[37]]+ _0xbd1dx2d;_0xbd1dx2e[_0x5c64[119]]= _0xbd1dx2e[_0x5c64[119]]+ _0xbd1dx2d;_0xbd1dx2e[_0x5c64[120]]= _0xbd1dx2e[_0x5c64[120]][_0x5c64[122]](_0x5c64[121])[0]+ _0xbd1dx2d+ _0x5c64[121]+ _0xbd1dx2e[_0x5c64[120]][_0x5c64[122]](_0x5c64[121])[1];_0xbd1dx27[_0x5c64[123]](_0xbd1dx2e)}}else {throw new Error(_0x5c64[124])};return Agent[_0x5c64[106]](_0xbd1dx27,{transaction:_0xbd1dx22,individualHooks:true})})[_0x5c64[22]](function(_0xbd1dx18){_0xbd1dx25= _0xbd1dx18;return Team[_0x5c64[104]]({where:{defaultEntry:true}})})[_0x5c64[22]](function(_0xbd1dx24){return _0xbd1dx24[_0x5c64[108]](_[_0x5c64[70]](_0xbd1dx25,_0x5c64[25]),{transaction:_0xbd1dx22})})})[_0x5c64[22]](function(){return _0xbd1dx12[_0x5c64[34]](201)})[_0x5c64[19]](sequelize.UniqueConstraintError,function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return Util[_0x5c64[101]][_0x5c64[100]](_0xbd1dx12,_0xbd1dx14)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[125]]= function(_0xbd1dx11,_0xbd1dx12){if(_0xbd1dx11[_0x5c64[35]][_0x5c64[25]]){delete _0xbd1dx11[_0x5c64[35]][_0x5c64[25]]};delete _0xbd1dx11[_0x5c64[35]][_0x5c64[32]];delete _0xbd1dx11[_0x5c64[35]][_0x5c64[37]];delete _0xbd1dx11[_0x5c64[35]][_0x5c64[107]];return sequelize[_0x5c64[105]](function(_0xbd1dx22){return Agent[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};var _0xbd1dx2f=_[_0x5c64[73]](_0xbd1dx17,_0xbd1dx11[_0x5c64[35]]);return _0xbd1dx2f[_0x5c64[126]]({transaction:_0xbd1dx22})})[_0x5c64[22]](function(_0xbd1dx17){return _0xbd1dx12[_0x5c64[21]](200)[_0x5c64[20]](_0xbd1dx17)})})[_0x5c64[19]](sequelize.UniqueConstraintError,function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return Util[_0x5c64[101]][_0x5c64[100]](_0xbd1dx12,_0xbd1dx14)})[_0x5c64[19]](function(_0xbd1dx14){console[_0x5c64[62]](_0xbd1dx14);return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[127]]= function(_0xbd1dx11,_0xbd1dx12){var _0xbd1dx21;return Agent[_0x5c64[27]](_0xbd1dx11[_0x5c64[52]][_0x5c64[25]])[_0x5c64[22]](function(_0xbd1dx17){_0xbd1dx21= _0xbd1dx17;if(!_0xbd1dx17){return _0xbd1dx12[_0x5c64[34]](404)};return _0xbd1dx17[_0x5c64[127]]()})[_0x5c64[22]](function(){return _0xbd1dx12[_0x5c64[34]](204)})[_0x5c64[19]](sequelize.ForeignKeyConstraintError,function(_0xbd1dx14){return Util[_0x5c64[101]][_0x5c64[128]](_0xbd1dx12,_0x5c64[30],_0xbd1dx21[_0x5c64[37]],_0xbd1dx14)})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[129]]= function(_0xbd1dx11,_0xbd1dx12){return Agent[_0x5c64[127]]({where:{id:_0xbd1dx11[_0x5c64[23]][_0x5c64[54]]},individualHooks:true})[_0x5c64[22]](function(){return _0xbd1dx12[_0x5c64[34]](204)})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[130]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){var _0xbd1dx26;var _0xbd1dx30=_0xbd1dx11[_0x5c64[26]][_0x5c64[25]];var _0xbd1dx31=String(_0xbd1dx11[_0x5c64[35]][_0x5c64[131]]);var _0xbd1dx32=String(_0xbd1dx11[_0x5c64[35]][_0x5c64[132]]);return Setting[_0x5c64[27]](1)[_0x5c64[22]](function(_0xbd1dx29){_0xbd1dx26= _0xbd1dx29;return Agent[_0x5c64[27]](_0xbd1dx30)})[_0x5c64[22]](function(_0xbd1dx33){var _0xbd1dx2a=_0xbd1dx26[_0x5c64[109]]?/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/:/^[a-zA-Z0-9]{6,}$/;if(!_0xbd1dx2a[_0x5c64[110]](_0xbd1dx32)){throw new Error(_0x5c64[111])};if(_0xbd1dx33[_0x5c64[133]](_0xbd1dx31)){_0xbd1dx33[_0x5c64[107]]= _0xbd1dx32;return _0xbd1dx33[_0x5c64[126]]()}else {return _0xbd1dx12[_0x5c64[34]](403)}})[_0x5c64[22]](function(){return _0xbd1dx12[_0x5c64[34]](200)})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};exports[_0x5c64[134]]= function(_0xbd1dx11,_0xbd1dx12,_0xbd1dx13){var _0xbd1dx26;var _0xbd1dx30=_0xbd1dx11[_0x5c64[52]][_0x5c64[25]];var _0xbd1dx32=String(_0xbd1dx11[_0x5c64[35]][_0x5c64[132]]);return Setting[_0x5c64[27]](1)[_0x5c64[22]](function(_0xbd1dx29){_0xbd1dx26= _0xbd1dx29;return Agent[_0x5c64[27]](_0xbd1dx30)})[_0x5c64[22]](function(_0xbd1dx33){var _0xbd1dx2a=_0xbd1dx26[_0x5c64[109]]?/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/:/^[a-zA-Z0-9]{6,}$/;if(!_0xbd1dx2a[_0x5c64[110]](_0xbd1dx32)){throw new Error(_0x5c64[111])};_0xbd1dx33[_0x5c64[107]]= _0xbd1dx32;return _0xbd1dx33[_0x5c64[126]]()})[_0x5c64[22]](function(){return _0xbd1dx12[_0x5c64[34]](200)})[_0x5c64[19]](function(_0xbd1dx14){return handleError(_0xbd1dx12,_0xbd1dx14)})};function handleError(_0xbd1dx12,_0xbd1dx14){return _0xbd1dx12[_0x5c64[21]](500)[_0x5c64[20]](_0xbd1dx14)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Agent = require('../../models').User;
-
-var AgentEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-AgentEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Agent.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- AgentEvents.emit(event + ':' + doc._id, doc);
- AgentEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = AgentEvents;
+var _0x30d1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x30d1[0];const EventEmitter=require(_0x30d1[1]);const Agent=require(_0x30d1[3])[_0x30d1[2]];var AgentEvents= new EventEmitter();AgentEvents[_0x30d1[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x30d1[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x30d1[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x30d1[6]};for(var e in events){var event=events[e];Agent[_0x30d1[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x4262x8,_0x4262x9,_0x4262xa){AgentEvents[_0x30d1[10]](event+ _0x30d1[8]+ _0x4262x8[_0x30d1[9]],_0x4262x8);AgentEvents[_0x30d1[10]](event,_0x4262x8);_0x4262xa(null)}}module[_0x30d1[11]]= AgentEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const AgentEvents = require('./agent.events');
-const _ = require('lodash');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('agent:' + event, socket);
-
- AgentEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'agent:save':
- if (doc.role === 'agent' && (socket.role !== 'agent' || socket.userId == doc.id || doc.changed('online'))) {
- var myDoc = _.clone(doc.dataValues);
- if (doc._changed.hasOwnProperty('status')) {
- myDoc.queueStatus = undefined;
- } else if (doc._changed.hasOwnProperty('queueStatus')) {
- myDoc.status = undefined;
- }
- socket.emit(event, myDoc);
- }
- break;
- case 'agent:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- AgentEvents.removeListener(event, listener);
- };
-}
+var _0xc0e6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x67\x65\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x6C\x6F\x64\x61\x73\x68","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x75\x73\x65\x72\x49\x64","\x69\x64","\x6F\x6E\x6C\x69\x6E\x65","\x63\x68\x61\x6E\x67\x65\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x6C\x6F\x6E\x65","\x73\x74\x61\x74\x75\x73","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x5F\x63\x68\x61\x6E\x67\x65\x64","\x71\x75\x65\x75\x65\x53\x74\x61\x74\x75\x73","\x65\x6D\x69\x74","\x61\x67\x65\x6E\x74\x3A\x73\x61\x76\x65","\x61\x67\x65\x6E\x74\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc0e6[0];const AgentEvents=require(_0xc0e6[1]);const _=require(_0xc0e6[2]);var events=[_0xc0e6[3],_0xc0e6[4]];exports[_0xc0e6[5]]= function(_0x1edex4){for(var _0x1edex5=0,_0x1edex6=events[_0xc0e6[6]];_0x1edex5< _0x1edex6;_0x1edex5++){var _0x1edex7=events[_0x1edex5];var _0x1edex8=createListener(_0xc0e6[7]+ _0x1edex7,_0x1edex4);AgentEvents[_0xc0e6[8]](_0x1edex7,_0x1edex8);_0x1edex4[_0xc0e6[8]](_0xc0e6[9],removeListener(_0x1edex7,_0x1edex8))}};function createListener(_0x1edex7,_0x1edex4){return function(_0x1edexa){switch(_0x1edex7){case _0xc0e6[23]:if(_0x1edexa[_0xc0e6[10]]=== _0xc0e6[11]&& (_0x1edex4[_0xc0e6[10]]!== _0xc0e6[11]|| _0x1edex4[_0xc0e6[12]]== _0x1edexa[_0xc0e6[13]]|| _0x1edexa[_0xc0e6[15]](_0xc0e6[14]))){var _0x1edexb=_[_0xc0e6[17]](_0x1edexa[_0xc0e6[16]]);if(_0x1edexa[_0xc0e6[20]][_0xc0e6[19]](_0xc0e6[18])){_0x1edexb[_0xc0e6[21]]= undefined}else {if(_0x1edexa[_0xc0e6[20]][_0xc0e6[19]](_0xc0e6[21])){_0x1edexb[_0xc0e6[18]]= undefined}};_0x1edex4[_0xc0e6[22]](_0x1edex7,_0x1edexb)};break;case _0xc0e6[24]:_0x1edex4[_0xc0e6[22]](_0x1edex7,_0x1edexa);break;default:}}}function removeListener(_0x1edex7,_0x1edex8){return function(){AgentEvents[_0xc0e6[25]](_0x1edex7,_0x1edex8)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./agent.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-/**
- * @api {get} /api/agents/ Get agents' profile.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} limit Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetAgents
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of agents.
- * @apiSuccess {Object[]} rows Get agents' profile list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 1,
- * "rows": [{
- * "id": 1
- * "name": "john.doe",
- * "email": "john.doe@xcally.com",
- * "internal": 1001,
- * "fullname": "John Doe",
- * "chatCapacity": 0,
- * "mailCapacity": 0,
- * "faxCapacity": 0,
- * "online": false,
- * "voicePause": false,
- * "mailPause": false,
- * "faxPause": false,
- * "chatPause": false,
- * "pauseType": "Default Pause",
- * ...
- * }]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.index);
-router.get('/realtime', auth.isAuthenticated(), auth.hasModule([12], ['admin']), controller.realtimeIndex);
-router.get('/realtime/voice', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.realtimeVoiceIndex);
-router.get('/realtime/mail', auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.realtimeMailIndex);
-router.get('/realtime/chat', auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.realtimeChatIndex);
-router.get('/realtime/fax', auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.realtimeFaxIndex);
-router.get('/realtime/sms', auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.realtimeSmsIndex);
-router.get('/realtime/openchannel', auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.realtimeOpenchannelIndex);
-
-/**
- * @api {get} /api/agents/:id Get agent's profile.
- * @apiParam {Number} id Agent's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetAgent
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Agent's profile.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com",
- * "internal": 1001,
- * "fullname": "John Doe"
- * "chatCapacity": 0,
- * "mailCapacity": 0,
- * "faxCapacity": 0,
- * "online": false,
- * "voicePause": false,
- * "mailPause": false,
- * "faxPause": false,
- * "chatPause": false,
- * "pauseType": "Default Pause",
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'user', 'agent']), controller.show);
-
-/**
- * @api {post} /api/agents/ Create agent's profile.
- * @apiParam (Body) {String} name Agent's username.
- * @apiParam (Body) {String} fullname Agent's fullname.
- * @apiParam (Body) {String} email Agent's email.
- * @apiParam (Body) {String} context="from-sip" Agent's SIP context.
- * @apiParam (Body) {String} password Agent's password.
- * @apiParam (Body) {Number} internal Agent's internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" Agent's SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" Agent's SIP codecs.
- * @apiParam (Body) {Number} internal Agent's internal number.
- * @apiParam (Body) {String} [phone] Agent's phone.
- * @apiParam (Body) {String} [mobile] Agent's mobile phone.
- * @apiParam (Body) {String} [address] Agent's address.
- * @apiParam (Body) {String} [zipcode] Agent's zipcode.
- * @apiParam (Body) {String} [city] Agent's city.
- * @apiParam (Body) {String} [country] Agent's country.
- *
- * @apiVersion 0.0.140
- * @apiName CreateAgent
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 1
- * "name": "john.doe",
- * "email": "john.doe@xcally.com",
- * "internal": 1001,
- * "fullname": "John Doe",
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.create);
-
-/**
- * @api {post} /api/agents/bulk Bulk Create agent's profile.
- * @apiParam (Body) {String} name Agent's prefix username. It's followed by index
- * @apiParam (Body) {String} fullname Agent's prefix fullname. It's followed by index
- * @apiParam (Body) {String} email Agent's email. The local part is followed by the index
- * @apiParam (Body) {String} password Agent's password. It's the same for all agents
- * @apiParam (Body) {Number} internal Agent's starting internal number.
- * @apiParam (Body) {String} context="from-sip" Agent's SIP context. It's the same for all agents
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" Agent's SIP transport. It's the same for all agents
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" Agent's SIP codecs. It's the same for all agents
- * @apiParam (Body) {Number} amount=2 Number of new agents.
- * @apiParam (Body) {Number} startIndex=0 Start index.
- *
- * @apiVersion 0.0.140
- * @apiName BulkCreateAgent
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- */
-router.post('/bulk', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.bulkCreate);
-
-/**
- * @api {update} /api/agents/:id Update agent's profile.
- *
- * @apiParam (Params) {Number} id Agent's unique ID.
- * @apiParam (Body) {String} fullname Agent's fullname.
- * @apiParam (Body) {String} email Agent's email.
- * @apiParam (Body) {String} context="from-sip" Agent's SIP context.
- * @apiParam (Body) {String} password Agent's password.
- * @apiParam (Body) {Number} internal Agent's internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" Agent's SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" Agent's SIP codecs.
- * @apiParam (Body) {Number} internal Agent's internal number.
- * @apiParam (Body) {String} [phone] Agent's phone.
- * @apiParam (Body) {String} [mobile] Agent's mobile phone.
- * @apiParam (Body) {String} [address] Agent's address.
- * @apiParam (Body) {String} [zipcode] Agent's zipcode.
- * @apiParam (Body) {String} [city] Agent's city.
- * @apiParam (Body) {String} [country] Agent's country.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateAgent
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe",
- * "email": "john.doe@xcally.com",
- * "internal": 1001,
- * "fullname": "John Doe",
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.update);
-
-/**
- * @api {delete} /api/agents/ Bulk Delete agents' profile.
- *
- * @apiParam (Query) {Number[]} ids Agents' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteAgents
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.bulkDestroy);
-
-/**
- * @api {delete} /api/agents/:id Delete agent's profile.
- *
- * @apiParam {Number} id Agent's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteAgent
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.destroy);
-
-/**
- * @api {put} /api/agents/password Update agent's password.
- *
- * @apiParam (Body) {String} oldPassword Old agent's password.
- * @apiParam (Body) {String} newPassword New agent's password.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateAgentPassword
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- */
-// router.put('/password', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.changePassword);
-
-/**
- * @api {put} /api/agents/:id/password Reset agent's password.
- *
- * @apiParam (Params) {Number} id Agent's unique ID.
- * @apiParam (Body) {String} newPassword New agent's password.
- *
- * @apiPermission admin
- *
- * @apiVersion 0.0.140
- * @apiName ResetAgentPassword
- * @apiGroup Agents
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- */
-// router.put('/:id/password', auth.isAuthenticated(), auth.hasModule([4], ['admin']), controller.resetPassword);
-
-router.get('/:id/voice/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.showVoiceQueues);
-router.get('/:id/chat/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.showChatQueues);
-router.get('/:id/mail/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.showMailQueues);
-router.get('/:id/fax/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.showFaxQueues);
-router.get('/:id/sms/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.showSmsQueues);
-router.get('/:id/openchannel/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.showOpenchannelQueues);
-router.post('/:id/:channel/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.addQueues);
-router.delete('/:id/:channel/queues', auth.isAuthenticated(), auth.hasModule([4], ['admin', 'agent']), controller.removeQueues);
-
-
-module.exports = router;
+var _0x6ec0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x67\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65","\x72\x65\x61\x6C\x74\x69\x6D\x65\x49\x6E\x64\x65\x78","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x76\x6F\x69\x63\x65","\x72\x65\x61\x6C\x74\x69\x6D\x65\x56\x6F\x69\x63\x65\x49\x6E\x64\x65\x78","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x6D\x61\x69\x6C","\x72\x65\x61\x6C\x74\x69\x6D\x65\x4D\x61\x69\x6C\x49\x6E\x64\x65\x78","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x63\x68\x61\x74","\x72\x65\x61\x6C\x74\x69\x6D\x65\x43\x68\x61\x74\x49\x6E\x64\x65\x78","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x66\x61\x78","\x72\x65\x61\x6C\x74\x69\x6D\x65\x46\x61\x78\x49\x6E\x64\x65\x78","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x73\x6D\x73","\x72\x65\x61\x6C\x74\x69\x6D\x65\x53\x6D\x73\x49\x6E\x64\x65\x78","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x72\x65\x61\x6C\x74\x69\x6D\x65\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x49\x6E\x64\x65\x78","\x2F\x3A\x69\x64","\x75\x73\x65\x72","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x62\x75\x6C\x6B","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x2F\x3A\x69\x64\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x73\x6D\x73\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x71\x75\x65\x75\x65\x73","\x73\x68\x6F\x77\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x3A\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x71\x75\x65\x75\x65\x73","\x61\x64\x64\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x51\x75\x65\x75\x65\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x6ec0[0];var express=require(_0x6ec0[1]);var controller=require(_0x6ec0[2]);var auth=require(_0x6ec0[3]);var license=require(_0x6ec0[4]);var router=express.Router();router[_0x6ec0[11]](_0x6ec0[5],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[10]]);router[_0x6ec0[11]](_0x6ec0[12],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([12],[_0x6ec0[7]]),controller[_0x6ec0[13]]);router[_0x6ec0[11]](_0x6ec0[14],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([7],[_0x6ec0[7]]),controller[_0x6ec0[15]]);router[_0x6ec0[11]](_0x6ec0[16],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([9],[_0x6ec0[7]]),controller[_0x6ec0[17]]);router[_0x6ec0[11]](_0x6ec0[18],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([8],[_0x6ec0[7]]),controller[_0x6ec0[19]]);router[_0x6ec0[11]](_0x6ec0[20],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([10],[_0x6ec0[7]]),controller[_0x6ec0[21]]);router[_0x6ec0[11]](_0x6ec0[22],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([11],[_0x6ec0[7]]),controller[_0x6ec0[23]]);router[_0x6ec0[11]](_0x6ec0[24],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([20],[_0x6ec0[7]]),controller[_0x6ec0[25]]);router[_0x6ec0[11]](_0x6ec0[26],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[27],_0x6ec0[8]]),controller[_0x6ec0[28]]);router[_0x6ec0[30]](_0x6ec0[5],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7]]),controller[_0x6ec0[29]]);router[_0x6ec0[30]](_0x6ec0[31],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7]]),controller[_0x6ec0[32]]);router[_0x6ec0[34]](_0x6ec0[26],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7]]),controller[_0x6ec0[33]]);router[_0x6ec0[36]](_0x6ec0[5],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7]]),controller[_0x6ec0[35]]);router[_0x6ec0[36]](_0x6ec0[26],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7]]),controller[_0x6ec0[37]]);router[_0x6ec0[11]](_0x6ec0[38],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[39]]);router[_0x6ec0[11]](_0x6ec0[40],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[41]]);router[_0x6ec0[11]](_0x6ec0[42],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[43]]);router[_0x6ec0[11]](_0x6ec0[44],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[45]]);router[_0x6ec0[11]](_0x6ec0[46],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[47]]);router[_0x6ec0[11]](_0x6ec0[48],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[49]]);router[_0x6ec0[30]](_0x6ec0[50],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[51]]);router[_0x6ec0[36]](_0x6ec0[50],auth[_0x6ec0[6]](),auth[_0x6ec0[9]]([4],[_0x6ec0[7],_0x6ec0[8]]),controller[_0x6ec0[52]]);module[_0x6ec0[53]]= router
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-var Ami = require('../../models').Ami;
-var _ = require('lodash');
-
-var ami = null;
-
-exports.register = function(ami) {
- this.ami = ami;
-}
-
-exports.action = function(action, cb) {
- if (this.ami && this.ami.isConnected()) {
- this.ami.action(action, function(err, res) {
- if (err) {
- cb(err);
- }
- var data = _.merge(res, action);
- Ami
- .create(data)
- .then(function(ami) {
- cb(null, ami)
- })
- .catch(function(err) {
- return cb(err);
- });
-
- });
- } else {
- cb(new Error('Asterisk Manager disconnected..'));
- }
-}
+var _0xb41c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x6D\x69","\x61\x63\x74\x69\x6F\x6E","\x69\x73\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x6D\x65\x72\x67\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x41\x73\x74\x65\x72\x69\x73\x6B\x20\x4D\x61\x6E\x61\x67\x65\x72\x20\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x2E\x2E"];_0xb41c[0];var Ami=require(_0xb41c[2])[_0xb41c[1]];var _=require(_0xb41c[3]);var ami=null;exports[_0xb41c[4]]= function(ami){this[_0xb41c[5]]= ami};exports[_0xb41c[6]]= function(_0x19fcx4,_0x19fcx5){if(this[_0xb41c[5]]&& this[_0xb41c[5]][_0xb41c[7]]()){this[_0xb41c[5]][_0xb41c[6]](_0x19fcx4,function(_0x19fcx6,_0x19fcx7){if(_0x19fcx6){_0x19fcx5(_0x19fcx6)};var _0x19fcx8=_[_0xb41c[8]](_0x19fcx7,_0x19fcx4);Ami[_0xb41c[11]](_0x19fcx8)[_0xb41c[10]](function(ami){_0x19fcx5(null,ami)})[_0xb41c[9]](function(_0x19fcx6){return _0x19fcx5(_0x19fcx6)})})}else {_0x19fcx5( new Error(_0xb41c[12]))}}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Ami = require('../../models').Ami;
-var Util = require('../../config/util');
-
-// Get list of amis
-exports.index = function(req, res, next) {
- return Ami
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new ami in the DB.
-exports.create = function(req, res) {
-
- req.body.data = JSON.stringify(req.body);
- req.body.UserId = req.user.id;
-
- require('./ami.ami').action(req.body, function(err, result) {
- if (err) {
- handleError(res, err);
- } else {
- return res.status(201).send(result);
- }
- });
-
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x5682=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x64\x61\x74\x61","\x62\x6F\x64\x79","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x55\x73\x65\x72\x49\x64","\x69\x64","\x75\x73\x65\x72","\x61\x63\x74\x69\x6F\x6E","\x2E\x2F\x61\x6D\x69\x2E\x61\x6D\x69"];_0x5682[0];var _=require(_0x5682[1]);var Ami=require(_0x5682[3])[_0x5682[2]];var Util=require(_0x5682[4]);exports[_0x5682[5]]= function(_0x130ax4,_0x130ax5,_0x130ax6){return Ami[_0x5682[12]](Util[_0x5682[11]](_0x130ax4[_0x5682[10]]))[_0x5682[9]](function(_0x130ax8){return _0x130ax5[_0x5682[8]](200)[_0x5682[7]](_0x130ax8)})[_0x5682[6]](function(_0x130ax7){return handleError(_0x130ax5,_0x130ax7)})};exports[_0x5682[13]]= function(_0x130ax4,_0x130ax5){_0x130ax4[_0x5682[15]][_0x5682[14]]= JSON[_0x5682[16]](_0x130ax4[_0x5682[15]]);_0x130ax4[_0x5682[15]][_0x5682[17]]= _0x130ax4[_0x5682[19]][_0x5682[18]];require(_0x5682[21])[_0x5682[20]](_0x130ax4[_0x5682[15]],function(_0x130ax7,_0x130ax8){if(_0x130ax7){handleError(_0x130ax5,_0x130ax7)}else {return _0x130ax5[_0x5682[8]](201)[_0x5682[7]](_0x130ax8)}})};function handleError(_0x130ax5,_0x130ax7){return _0x130ax5[_0x5682[8]](500)[_0x5682[7]](_0x130ax7)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Ami = require('../../models').Ami;
-
-var AmiEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-AmiEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Ami.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- AmiEvents.emit(event + ':' + doc._id, doc);
- AmiEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = AmiEvents;
+var _0xbd7e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x41\x6D\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xbd7e[0];const EventEmitter=require(_0xbd7e[1]);const Ami=require(_0xbd7e[3])[_0xbd7e[2]];var AmiEvents= new EventEmitter();AmiEvents[_0xbd7e[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xbd7e[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xbd7e[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xbd7e[6]};for(var e in events){var event=events[e];Ami[_0xbd7e[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xf920x8,_0xf920x9,_0xf920xa){AmiEvents[_0xbd7e[10]](event+ _0xbd7e[8]+ _0xf920x8[_0xbd7e[9]],_0xf920x8);AmiEvents[_0xbd7e[10]](event,_0xf920x8);_0xf920xa(null)}}module[_0xbd7e[11]]= AmiEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const AmiEvents = require('./ami.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('ami:' + event, socket);
-
- AmiEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- AmiEvents.removeListener(event, listener);
- };
-}
+var _0xcb6c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x6D\x69\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x61\x6D\x69\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xcb6c[0];const AmiEvents=require(_0xcb6c[1]);var events=[_0xcb6c[2],_0xcb6c[3]];exports[_0xcb6c[4]]= function(_0xeb97x3){for(var _0xeb97x4=0,_0xeb97x5=events[_0xcb6c[5]];_0xeb97x4< _0xeb97x5;_0xeb97x4++){var _0xeb97x6=events[_0xeb97x4];var _0xeb97x7=createListener(_0xcb6c[6]+ _0xeb97x6,_0xeb97x3);AmiEvents[_0xcb6c[7]](_0xeb97x6,_0xeb97x7);_0xeb97x3[_0xcb6c[7]](_0xcb6c[8],removeListener(_0xeb97x6,_0xeb97x7))}};function createListener(_0xeb97x6,_0xeb97x3){return function(_0xeb97x9){_0xeb97x3[_0xcb6c[9]](_0xeb97x6,_0xeb97x9)}}function removeListener(_0xeb97x6,_0xeb97x7){return function(){AmiEvents[_0xcb6c[10]](_0xeb97x6,_0xeb97x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./ami.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.post('/', auth.isAuthenticated(), controller.create);
-
-module.exports = router;
+var _0x1a2c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x6D\x69\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1a2c[0];var express=require(_0x1a2c[1]);var controller=require(_0x1a2c[2]);var auth=require(_0x1a2c[3]);var router=express.Router();router[_0x1a2c[7]](_0x1a2c[4],auth[_0x1a2c[5]](),controller[_0x1a2c[6]]);router[_0x1a2c[9]](_0x1a2c[4],auth[_0x1a2c[5]](),controller[_0x1a2c[8]]);module[_0x1a2c[10]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-
-var Automation = require('../../models').Automation;
-var ToolsCondition = require('../../models').ToolsCondition;
-var ToolsAction = require('../../models').ToolsAction;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return Automation
- .scope('all')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single Automation
-exports.show = function(req, res) {
- return Automation
- .scope('all')
- .findById(req.params.id)
- .then(function(Automation) {
- if (!Automation) {
- return res.sendStatus(404);
- }
- return res.send(Automation);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new Automation in the DB.
-exports.create = function(req, res, next) {
- return Automation
- .create(req.body, {
- include: [{
- model: ToolsCondition,
- as: 'All'
- }, {
- model: ToolsCondition,
- as: 'Any'
- }, {
- model: ToolsAction,
- as: 'Actions'
- }]
- })
- .then(function() {
- return res.sendStatus(201);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing Automation in the DB.
-exports.update = function(req, res, next) {
- var _automation;
- if (req.body.id) {
- delete req.body.id;
- }
- return sequelize.transaction(function(t) {
- return Automation
- .findById(req.params.id)
- .then(function(automation) {
- if (!automation) {
- return res.sendStatus(404);
- }
- _automation = automation;
- if (req.body.Any) {
- return ToolsCondition
- .destroy({
- where: {
- AutomationAnyId: req.params.id
- },
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.Any && Array.isArray(req.body.Any) && req.body.Any.length) {
- _.forEach(req.body.Any, function(elem) {
- elem.AutomationAnyId = req.params.id;
- });
- return ToolsCondition
- .bulkCreate(req.body.Any, {
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.All) {
- return ToolsCondition
- .destroy({
- where: {
- AutomationAllId: req.params.id
- },
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.All && Array.isArray(req.body.All) && req.body.All.length) {
- _.forEach(req.body.All, function(elem) {
- elem.AutomationAllId = req.params.id;
- });
- return ToolsCondition
- .bulkCreate(req.body.All, {
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.Actions) {
- return ToolsAction
- .destroy({
- where: {
- AutomationId: req.params.id
- },
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.Actions && Array.isArray(req.body.Actions) && req.body.Actions.length) {
- _.forEach(req.body.Actions, function(elem) {
- elem.AutomationId = req.params.id;
- });
- return ToolsAction
- .bulkCreate(req.body.Actions, {
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- var updated = _.merge(_automation, req.body);
- return updated
- .save({
- transaction: t
- });
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-
-// Deletes a Automation from the DB.
-exports.destroy = function(req, res) {
- return Automation
- .findById(req.params.id)
- .then(function(Automation) {
- if (!Automation) {
- return res.sendStatus(404);
- }
- Automation.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDestroy = function(req, res) {
- return Automation
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xcbfb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x54\x6F\x6F\x6C\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x54\x6F\x6F\x6C\x73\x41\x63\x74\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x41\x6C\x6C","\x41\x6E\x79","\x41\x63\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x6C\x6F\x67","\x73\x61\x76\x65","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x49\x64","\x66\x6F\x72\x45\x61\x63\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x41\x6C\x6C\x49\x64","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x41\x6E\x79\x49\x64","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0xcbfb[0];var _=require(_0xcbfb[1]);var util=require(_0xcbfb[2]);var Util=require(_0xcbfb[3]);var sequelize=require(_0xcbfb[5])[_0xcbfb[4]];var Automation=require(_0xcbfb[5])[_0xcbfb[6]];var ToolsCondition=require(_0xcbfb[5])[_0xcbfb[7]];var ToolsAction=require(_0xcbfb[5])[_0xcbfb[8]];exports[_0xcbfb[9]]= function(_0x15c9x8,_0x15c9x9,_0x15c9xa){return Automation[_0xcbfb[19]](_0xcbfb[18])[_0xcbfb[17]](_[_0xcbfb[16]](Util[_0xcbfb[15]](_0x15c9x8[_0xcbfb[14]]),{distinct:true}))[_0xcbfb[13]](function(_0x15c9xc){_0x15c9x9[_0xcbfb[12]](200)[_0xcbfb[11]](_0x15c9xc)})[_0xcbfb[10]](function(_0x15c9xb){return handleError(_0x15c9x9,_0x15c9xb)})};exports[_0xcbfb[20]]= function(_0x15c9x8,_0x15c9x9){return Automation[_0xcbfb[19]](_0xcbfb[18])[_0xcbfb[24]](_0x15c9x8[_0xcbfb[23]][_0xcbfb[22]])[_0xcbfb[13]](function(Automation){if(!Automation){return _0x15c9x9[_0xcbfb[21]](404)};return _0x15c9x9[_0xcbfb[11]](Automation)})[_0xcbfb[10]](function(_0x15c9xb){return handleError(_0x15c9x9,_0x15c9xb)})};exports[_0xcbfb[25]]= function(_0x15c9x8,_0x15c9x9,_0x15c9xa){return Automation[_0xcbfb[25]](_0x15c9x8[_0xcbfb[26]],{include:[{model:ToolsCondition,as:_0xcbfb[27]},{model:ToolsCondition,as:_0xcbfb[28]},{model:ToolsAction,as:_0xcbfb[29]}]})[_0xcbfb[13]](function(){return _0x15c9x9[_0xcbfb[21]](201)})[_0xcbfb[10]](function(_0x15c9xb){return handleError(_0x15c9x9,_0x15c9xb)})};exports[_0xcbfb[30]]= function(_0x15c9x8,_0x15c9x9,_0x15c9xa){var _0x15c9xd;if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[22]]){delete _0x15c9x8[_0xcbfb[26]][_0xcbfb[22]]};return sequelize[_0xcbfb[41]](function(_0x15c9xe){return Automation[_0xcbfb[24]](_0x15c9x8[_0xcbfb[23]][_0xcbfb[22]])[_0xcbfb[13]](function(_0x15c9x11){if(!_0x15c9x11){return _0x15c9x9[_0xcbfb[21]](404)};_0x15c9xd= _0x15c9x11;if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[28]]){return ToolsCondition[_0xcbfb[38]]({where:{AutomationAnyId:_0x15c9x8[_0xcbfb[23]][_0xcbfb[22]]},transaction:_0x15c9xe})}})[_0xcbfb[13]](function(){if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[28]]&& Array[_0xcbfb[33]](_0x15c9x8[_0xcbfb[26]].Any)&& _0x15c9x8[_0xcbfb[26]][_0xcbfb[28]][_0xcbfb[34]]){_[_0xcbfb[36]](_0x15c9x8[_0xcbfb[26]].Any,function(_0x15c9x10){_0x15c9x10[_0xcbfb[40]]= _0x15c9x8[_0xcbfb[23]][_0xcbfb[22]]});return ToolsCondition[_0xcbfb[37]](_0x15c9x8[_0xcbfb[26]].Any,{transaction:_0x15c9xe})};return})[_0xcbfb[13]](function(){if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[27]]){return ToolsCondition[_0xcbfb[38]]({where:{AutomationAllId:_0x15c9x8[_0xcbfb[23]][_0xcbfb[22]]},transaction:_0x15c9xe})}})[_0xcbfb[13]](function(){if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[27]]&& Array[_0xcbfb[33]](_0x15c9x8[_0xcbfb[26]].All)&& _0x15c9x8[_0xcbfb[26]][_0xcbfb[27]][_0xcbfb[34]]){_[_0xcbfb[36]](_0x15c9x8[_0xcbfb[26]].All,function(_0x15c9x10){_0x15c9x10[_0xcbfb[39]]= _0x15c9x8[_0xcbfb[23]][_0xcbfb[22]]});return ToolsCondition[_0xcbfb[37]](_0x15c9x8[_0xcbfb[26]].All,{transaction:_0x15c9xe})};return})[_0xcbfb[13]](function(){if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[29]]){return ToolsAction[_0xcbfb[38]]({where:{AutomationId:_0x15c9x8[_0xcbfb[23]][_0xcbfb[22]]},transaction:_0x15c9xe})}})[_0xcbfb[13]](function(){if(_0x15c9x8[_0xcbfb[26]][_0xcbfb[29]]&& Array[_0xcbfb[33]](_0x15c9x8[_0xcbfb[26]].Actions)&& _0x15c9x8[_0xcbfb[26]][_0xcbfb[29]][_0xcbfb[34]]){_[_0xcbfb[36]](_0x15c9x8[_0xcbfb[26]].Actions,function(_0x15c9x10){_0x15c9x10[_0xcbfb[35]]= _0x15c9x8[_0xcbfb[23]][_0xcbfb[22]]});return ToolsAction[_0xcbfb[37]](_0x15c9x8[_0xcbfb[26]].Actions,{transaction:_0x15c9xe})};return})[_0xcbfb[13]](function(){var _0x15c9xf=_[_0xcbfb[16]](_0x15c9xd,_0x15c9x8[_0xcbfb[26]]);return _0x15c9xf[_0xcbfb[32]]({transaction:_0x15c9xe})})})[_0xcbfb[13]](function(){return _0x15c9x9[_0xcbfb[21]](200)})[_0xcbfb[10]](function(_0x15c9xb){console[_0xcbfb[31]](_0x15c9xb);return handleError(_0x15c9x9,_0x15c9xb)})};exports[_0xcbfb[38]]= function(_0x15c9x8,_0x15c9x9){return Automation[_0xcbfb[24]](_0x15c9x8[_0xcbfb[23]][_0xcbfb[22]])[_0xcbfb[13]](function(Automation){if(!Automation){return _0x15c9x9[_0xcbfb[21]](404)};Automation[_0xcbfb[38]]()[_0xcbfb[13]](function(){return _0x15c9x9[_0xcbfb[21]](204)})[_0xcbfb[10]](function(_0x15c9xb){return handleError(_0x15c9x9,_0x15c9xb)})})[_0xcbfb[10]](function(_0x15c9xb){return handleError(_0x15c9x9,_0x15c9xb)})};exports[_0xcbfb[42]]= function(_0x15c9x8,_0x15c9x9){return Automation[_0xcbfb[38]]({where:{id:_0x15c9x8[_0xcbfb[14]][_0xcbfb[43]]},individualHooks:true})[_0xcbfb[13]](function(){return _0x15c9x9[_0xcbfb[21]](204)})[_0xcbfb[10]](function(_0x15c9xb){return handleError(_0x15c9x9,_0x15c9xb)})};function handleError(_0x15c9x9,_0x15c9xb){return _0x15c9x9[_0xcbfb[12]](500)[_0xcbfb[11]](_0x15c9xb)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Automation = require('../../models').Automation;
-
-var AutomationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-AutomationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Automation.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- AutomationEvents.emit(event + ':' + doc._id, doc);
- AutomationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = AutomationEvents;
+var _0x57fc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x57fc[0];const EventEmitter=require(_0x57fc[1]);const Automation=require(_0x57fc[3])[_0x57fc[2]];var AutomationEvents= new EventEmitter();AutomationEvents[_0x57fc[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x57fc[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x57fc[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x57fc[6]};for(var e in events){var event=events[e];Automation[_0x57fc[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc9b6x8,_0xc9b6x9,_0xc9b6xa){AutomationEvents[_0x57fc[10]](event+ _0x57fc[8]+ _0xc9b6x8[_0x57fc[9]],_0xc9b6x8);AutomationEvents[_0x57fc[10]](event,_0xc9b6x8);_0xc9b6xa(null)}}module[_0x57fc[11]]= AutomationEvents
\ No newline at end of file
-'use strict';
-
-const AutomationEvents = require('./automation.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('automation:' + event, socket);
-
- AutomationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- AutomationEvents.removeListener(event, listener);
- };
-}
+var _0xb0ec=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xb0ec[0];const AutomationEvents=require(_0xb0ec[1]);var events=[_0xb0ec[2],_0xb0ec[3]];exports[_0xb0ec[4]]= function(_0xb859x3){for(var _0xb859x4=0,_0xb859x5=events[_0xb0ec[5]];_0xb859x4< _0xb859x5;_0xb859x4++){var _0xb859x6=events[_0xb859x4];var _0xb859x7=createListener(_0xb0ec[6]+ _0xb859x6,_0xb859x3);AutomationEvents[_0xb0ec[7]](_0xb859x6,_0xb859x7);_0xb859x3[_0xb0ec[7]](_0xb0ec[8],removeListener(_0xb859x6,_0xb859x7))}};function createListener(_0xb859x6,_0xb859x3){return function(_0xb859x9){_0xb859x3[_0xb0ec[9]](_0xb859x6,_0xb859x9)}}function removeListener(_0xb859x6,_0xb859x7){return function(){AutomationEvents[_0xb0ec[10]](_0xb859x6,_0xb859x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./automation.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-
-module.exports = router;
+var _0x7b1f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7b1f[0];var express=require(_0x7b1f[1]);var controller=require(_0x7b1f[2]);var auth=require(_0x7b1f[3]);var router=express.Router();router[_0x7b1f[9]](_0x7b1f[4],auth[_0x7b1f[5]](),auth[_0x7b1f[7]]([13],[_0x7b1f[6]]),controller[_0x7b1f[8]]);router[_0x7b1f[9]](_0x7b1f[10],auth[_0x7b1f[5]](),auth[_0x7b1f[7]]([13],[_0x7b1f[6]]),controller[_0x7b1f[11]]);router[_0x7b1f[13]](_0x7b1f[4],auth[_0x7b1f[5]](),auth[_0x7b1f[7]]([13],[_0x7b1f[6]]),controller[_0x7b1f[12]]);router[_0x7b1f[15]](_0x7b1f[10],auth[_0x7b1f[5]](),auth[_0x7b1f[7]]([13],[_0x7b1f[6]]),controller[_0x7b1f[14]]);router[_0x7b1f[17]](_0x7b1f[10],auth[_0x7b1f[5]](),auth[_0x7b1f[7]]([13],[_0x7b1f[6]]),controller[_0x7b1f[16]]);router[_0x7b1f[17]](_0x7b1f[4],auth[_0x7b1f[5]](),auth[_0x7b1f[7]]([13],[_0x7b1f[6]]),controller[_0x7b1f[18]]);module[_0x7b1f[19]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/answers -> index
- * POST /api/answers -> create
- * GET /api/answers/:id -> show
- * PUT /api/answers/:id -> update
- * DELETE /api/answers/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var CannedAnswer = require('../../models').CannedAnswer;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return CannedAnswer
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Gets a single CannedAnswer from the DB
-exports.show = function(req, res) {
- return CannedAnswer
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new CannedAnswer in the DB
-exports.create = function(req, res) {
- CannedAnswer.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing CannedAnswer in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return CannedAnswer
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a CannedAnswer from the DB
-exports.destroy = function(req, res) {
- return CannedAnswer
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return CannedAnswer
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0x1e83=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x43\x61\x6E\x6E\x65\x64\x41\x6E\x73\x77\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64\x73"];_0x1e83[0];var _=require(_0x1e83[1]);var Util=require(_0x1e83[2]);var CannedAnswer=require(_0x1e83[4])[_0x1e83[3]];function handleError(_0xa6d1x5,_0xa6d1x6){_0xa6d1x6= _0xa6d1x6|| 500;return function(_0xa6d1x7){_0xa6d1x5[_0x1e83[6]](_0xa6d1x6)[_0x1e83[5]](_0xa6d1x7)}}function responseWithResult(_0xa6d1x5,_0xa6d1x6){_0xa6d1x6= _0xa6d1x6|| 200;return function(_0xa6d1x9){if(_0xa6d1x9){_0xa6d1x5[_0x1e83[6]](_0xa6d1x6)[_0x1e83[7]](_0xa6d1x9)}}}function handleEntityNotFound(_0xa6d1x5){return function(_0xa6d1x9){if(!_0xa6d1x9){_0xa6d1x5[_0x1e83[6]](404)[_0x1e83[8]]();return null};return _0xa6d1x9}}function saveUpdates(_0xa6d1xc){return function(_0xa6d1x9){return _0xa6d1x9[_0x1e83[10]](_0xa6d1xc)[_0x1e83[9]](function(_0xa6d1xd){return _0xa6d1xd})}}function removeEntity(_0xa6d1x5){return function(_0xa6d1x9){if(_0xa6d1x9){return _0xa6d1x9[_0x1e83[11]]()[_0x1e83[9]](function(){_0xa6d1x5[_0x1e83[6]](204)[_0x1e83[8]]()})}}}exports[_0x1e83[12]]= function(_0xa6d1xf,_0xa6d1x5,_0xa6d1x10){return CannedAnswer[_0x1e83[17]](Util[_0x1e83[16]](_0xa6d1xf[_0x1e83[15]]))[_0x1e83[9]](function(_0xa6d1x11){_0xa6d1x5[_0x1e83[6]](200)[_0x1e83[5]](_0xa6d1x11)})[_0x1e83[14]](function(_0xa6d1x7){console[_0x1e83[13]](_0xa6d1x7);return handleError(_0xa6d1x5,_0xa6d1x7)})};exports[_0x1e83[18]]= function(_0xa6d1xf,_0xa6d1x5){return CannedAnswer[_0x1e83[21]](_0xa6d1xf[_0x1e83[20]][_0x1e83[19]])[_0x1e83[9]](handleEntityNotFound(_0xa6d1x5))[_0x1e83[9]](responseWithResult(_0xa6d1x5))[_0x1e83[14]](handleError(_0xa6d1x5))};exports[_0x1e83[22]]= function(_0xa6d1xf,_0xa6d1x5){CannedAnswer[_0x1e83[22]](_0xa6d1xf[_0x1e83[23]])[_0x1e83[9]](responseWithResult(_0xa6d1x5,201))[_0x1e83[14]](handleError(_0xa6d1x5))};exports[_0x1e83[24]]= function(_0xa6d1xf,_0xa6d1x5){if(_0xa6d1xf[_0x1e83[23]][_0x1e83[19]]){delete _0xa6d1xf[_0x1e83[23]][_0x1e83[19]]};return CannedAnswer[_0x1e83[21]](_0xa6d1xf[_0x1e83[20]][_0x1e83[19]])[_0x1e83[9]](handleEntityNotFound(_0xa6d1x5))[_0x1e83[9]](saveUpdates(_0xa6d1xf[_0x1e83[23]]))[_0x1e83[9]](responseWithResult(_0xa6d1x5))[_0x1e83[14]](handleError(_0xa6d1x5))};exports[_0x1e83[11]]= function(_0xa6d1xf,_0xa6d1x5){return CannedAnswer[_0x1e83[21]](_0xa6d1xf[_0x1e83[20]][_0x1e83[19]])[_0x1e83[9]](handleEntityNotFound(_0xa6d1x5))[_0x1e83[9]](removeEntity(_0xa6d1x5))[_0x1e83[14]](handleError(_0xa6d1x5))};exports[_0x1e83[25]]= function(_0xa6d1xf,_0xa6d1x5){return CannedAnswer[_0x1e83[11]]({where:{id:_0xa6d1xf[_0x1e83[15]][_0x1e83[27]]},individualHooks:true})[_0x1e83[9]](function(){return _0xa6d1x5[_0x1e83[26]](204)})[_0x1e83[14]](function(_0xa6d1x7){return handleError(_0xa6d1x5,_0xa6d1x7)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const CannedAnswer = require('../../models').CannedAnswer;
-
-var CannedAnswerEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-CannedAnswerEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- CannedAnswer.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- CannedAnswerEvents.emit(event + ':' + doc._id, doc);
- CannedAnswerEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = CannedAnswerEvents;
+var _0x51dd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x61\x6E\x6E\x65\x64\x41\x6E\x73\x77\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x51dd[0];const EventEmitter=require(_0x51dd[1]);const CannedAnswer=require(_0x51dd[3])[_0x51dd[2]];var CannedAnswerEvents= new EventEmitter();CannedAnswerEvents[_0x51dd[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x51dd[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x51dd[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x51dd[6]};for(var e in events){var event=events[e];CannedAnswer[_0x51dd[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x52efx8,_0x52efx9,_0x52efxa){CannedAnswerEvents[_0x51dd[10]](event+ _0x51dd[8]+ _0x52efx8[_0x51dd[9]],_0x52efx8);CannedAnswerEvents[_0x51dd[10]](event,_0x52efx8);_0x52efxa(null)}}module[_0x51dd[11]]= CannedAnswerEvents
\ No newline at end of file
-'use strict';
-
-const CannedAnswerEvents = require('./canned_answer.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('canned_answer:' + event, socket);
-
- CannedAnswerEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- CannedAnswerEvents.removeListener(event, listener);
- };
-}
+var _0x7195=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x61\x6E\x6E\x65\x64\x5F\x61\x6E\x73\x77\x65\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x61\x6E\x6E\x65\x64\x5F\x61\x6E\x73\x77\x65\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7195[0];const CannedAnswerEvents=require(_0x7195[1]);var events=[_0x7195[2],_0x7195[3]];exports[_0x7195[4]]= function(_0x579bx3){for(var _0x579bx4=0,_0x579bx5=events[_0x7195[5]];_0x579bx4< _0x579bx5;_0x579bx4++){var _0x579bx6=events[_0x579bx4];var _0x579bx7=createListener(_0x7195[6]+ _0x579bx6,_0x579bx3);CannedAnswerEvents[_0x7195[7]](_0x579bx6,_0x579bx7);_0x579bx3[_0x7195[7]](_0x7195[8],removeListener(_0x579bx6,_0x579bx7))}};function createListener(_0x579bx6,_0x579bx3){return function(_0x579bx9){_0x579bx3[_0x7195[9]](_0x579bx6,_0x579bx9)}}function removeListener(_0x579bx6,_0x579bx7){return function(){CannedAnswerEvents[_0x7195[10]](_0x579bx6,_0x579bx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./canned_answer.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([13], ['admin', 'agent']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x6136=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x63\x61\x6E\x6E\x65\x64\x5F\x61\x6E\x73\x77\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x6136[0];var express=require(_0x6136[1]);var auth=require(_0x6136[2]);var controller=require(_0x6136[3]);var router=express.Router();router[_0x6136[10]](_0x6136[4],auth[_0x6136[5]](),auth[_0x6136[8]]([13],[_0x6136[6],_0x6136[7]]),controller[_0x6136[9]]);router[_0x6136[10]](_0x6136[11],auth[_0x6136[5]](),auth[_0x6136[8]]([13],[_0x6136[6]]),controller[_0x6136[12]]);router[_0x6136[14]](_0x6136[4],auth[_0x6136[5]](),auth[_0x6136[8]]([13],[_0x6136[6]]),controller[_0x6136[13]]);router[_0x6136[16]](_0x6136[11],auth[_0x6136[5]](),auth[_0x6136[8]]([13],[_0x6136[6]]),controller[_0x6136[15]]);router[_0x6136[18]](_0x6136[4],auth[_0x6136[5]](),auth[_0x6136[8]]([13],[_0x6136[6]]),controller[_0x6136[17]]);router[_0x6136[18]](_0x6136[11],auth[_0x6136[5]](),auth[_0x6136[8]]([13],[_0x6136[6]]),controller[_0x6136[19]]);module[_0x6136[20]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ChanSpy = require('../../models').ChanSpy;
-var Util = require('../../config/util');
-
-// Get list of chanspy
-exports.index = function(req, res, next) {
- return ChanSpy
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get a single chanspy
-exports.show = function(req, res) {
- return ChanSpy
- .findById(req.params.id)
- .then(function(chanspy) {
- if (!chanspy) {
- return res.sendStatus(404);
- }
- return res.send(chanspy);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chanspy in the DB.
-exports.create = function(req, res) {
- return ChanSpy
- .create(req.body)
- .then(function(chanspy) {
- return res.status(201).send(chanspy);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chanspy in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChanSpy
- .findById(req.params.id)
- .then(function(chanspy) {
- if (!chanspy) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chanspy, req.body);
- return updated
- .save();
- })
- .then(function(chanspy) {
- return res.status(200).send(chanspy);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chanspy from the DB.
-exports.destroy = function(req, res) {
- return ChanSpy
- .findById(req.params.id)
- .then(function(chanspy) {
- if (!chanspy) {
- return res.sendStatus(404);
- }
- return chanspy.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return ChanSpy
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x85e6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x6E\x53\x70\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x85e6[0];var _=require(_0x85e6[1]);var ChanSpy=require(_0x85e6[3])[_0x85e6[2]];var Util=require(_0x85e6[4]);exports[_0x85e6[5]]= function(_0x55afx4,_0x55afx5,_0x55afx6){return ChanSpy[_0x85e6[13]](Util[_0x85e6[12]](_0x55afx4[_0x85e6[11]]))[_0x85e6[10]](function(_0x55afx8){_0x55afx5[_0x85e6[9]](200)[_0x85e6[8]](_0x55afx8)})[_0x85e6[7]](function(_0x55afx7){console[_0x85e6[6]](_0x55afx7);return handleError(_0x55afx5,_0x55afx7)})};exports[_0x85e6[14]]= function(_0x55afx4,_0x55afx5){return ChanSpy[_0x85e6[18]](_0x55afx4[_0x85e6[17]][_0x85e6[16]])[_0x85e6[10]](function(_0x55afx9){if(!_0x55afx9){return _0x55afx5[_0x85e6[15]](404)};return _0x55afx5[_0x85e6[8]](_0x55afx9)})[_0x85e6[7]](function(_0x55afx7){return handleError(_0x55afx5,_0x55afx7)})};exports[_0x85e6[19]]= function(_0x55afx4,_0x55afx5){return ChanSpy[_0x85e6[19]](_0x55afx4[_0x85e6[20]])[_0x85e6[10]](function(_0x55afx9){return _0x55afx5[_0x85e6[9]](201)[_0x85e6[8]](_0x55afx9)})[_0x85e6[7]](function(_0x55afx7){return handleError(_0x55afx5,_0x55afx7)})};exports[_0x85e6[21]]= function(_0x55afx4,_0x55afx5){if(_0x55afx4[_0x85e6[20]][_0x85e6[16]]){delete _0x55afx4[_0x85e6[20]][_0x85e6[16]]};return ChanSpy[_0x85e6[18]](_0x55afx4[_0x85e6[17]][_0x85e6[16]])[_0x85e6[10]](function(_0x55afx9){if(!_0x55afx9){return _0x55afx5[_0x85e6[15]](404)};var _0x55afxa=_[_0x85e6[22]](_0x55afx9,_0x55afx4[_0x85e6[20]]);return _0x55afxa[_0x85e6[23]]()})[_0x85e6[10]](function(_0x55afx9){return _0x55afx5[_0x85e6[9]](200)[_0x85e6[8]](_0x55afx9)})[_0x85e6[7]](function(_0x55afx7){return handleError(_0x55afx5,_0x55afx7)})};exports[_0x85e6[24]]= function(_0x55afx4,_0x55afx5){return ChanSpy[_0x85e6[18]](_0x55afx4[_0x85e6[17]][_0x85e6[16]])[_0x85e6[10]](function(_0x55afx9){if(!_0x55afx9){return _0x55afx5[_0x85e6[15]](404)};return _0x55afx9[_0x85e6[24]]()})[_0x85e6[10]](function(){return _0x55afx5[_0x85e6[15]](204)})[_0x85e6[7]](function(_0x55afx7){return handleError(_0x55afx5,_0x55afx7)})};exports[_0x85e6[25]]= function(_0x55afx4,_0x55afx5){return ChanSpy[_0x85e6[24]]({where:{id:_0x55afx4[_0x85e6[11]][_0x85e6[26]]},individualHooks:true})[_0x85e6[10]](function(){return _0x55afx5[_0x85e6[15]](204)})[_0x85e6[7]](function(_0x55afx7){return handleError(_0x55afx5,_0x55afx7)})};function handleError(_0x55afx5,_0x55afx7){return _0x55afx5[_0x85e6[9]](500)[_0x85e6[8]](_0x55afx7)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChanSpy = require('../../models').ChanSpy;
-
-var ChanSpyEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChanSpyEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChanSpy.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChanSpyEvents.emit(event + ':' + doc._id, doc);
- ChanSpyEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChanSpyEvents;
+var _0x26f7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x6E\x53\x70\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x26f7[0];const EventEmitter=require(_0x26f7[1]);const ChanSpy=require(_0x26f7[3])[_0x26f7[2]];var ChanSpyEvents= new EventEmitter();ChanSpyEvents[_0x26f7[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x26f7[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x26f7[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x26f7[6]};for(var e in events){var event=events[e];ChanSpy[_0x26f7[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x4bd8x8,_0x4bd8x9,_0x4bd8xa){ChanSpyEvents[_0x26f7[10]](event+ _0x26f7[8]+ _0x4bd8x8[_0x26f7[9]],_0x4bd8x8);ChanSpyEvents[_0x26f7[10]](event,_0x4bd8x8);_0x4bd8xa(null)}}module[_0x26f7[11]]= ChanSpyEvents
\ No newline at end of file
-'use strict';
-
-const ChanSpyEvents = require('./chanspy.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chanspy:' + event, socket);
-
- ChanSpyEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChanSpyEvents.removeListener(event, listener);
- };
-}
+var _0x6261=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x6E\x73\x70\x79\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x6E\x73\x70\x79\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x6261[0];const ChanSpyEvents=require(_0x6261[1]);var events=[_0x6261[2],_0x6261[3]];exports[_0x6261[4]]= function(_0x6001x3){for(var _0x6001x4=0,_0x6001x5=events[_0x6261[5]];_0x6001x4< _0x6001x5;_0x6001x4++){var _0x6001x6=events[_0x6001x4];var _0x6001x7=createListener(_0x6261[6]+ _0x6001x6,_0x6001x3);ChanSpyEvents[_0x6261[7]](_0x6001x6,_0x6001x7);_0x6001x3[_0x6261[7]](_0x6261[8],removeListener(_0x6001x6,_0x6001x7))}};function createListener(_0x6001x6,_0x6001x3){return function(_0x6001x9){_0x6001x3[_0x6261[9]](_0x6001x6,_0x6001x9)}}function removeListener(_0x6001x6,_0x6001x7){return function(){ChanSpyEvents[_0x6261[10]](_0x6001x6,_0x6001x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./chanspy.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xb024=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x6E\x73\x70\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xb024[0];var express=require(_0xb024[1]);var controller=require(_0xb024[2]);var auth=require(_0xb024[3]);var router=express.Router();router[_0xb024[9]](_0xb024[4],auth[_0xb024[5]](),auth[_0xb024[7]]([7],[_0xb024[6]]),controller[_0xb024[8]]);router[_0xb024[9]](_0xb024[10],auth[_0xb024[5]](),auth[_0xb024[7]]([7],[_0xb024[6]]),controller[_0xb024[11]]);router[_0xb024[13]](_0xb024[4],auth[_0xb024[5]](),auth[_0xb024[7]]([7],[_0xb024[6]]),controller[_0xb024[12]]);router[_0xb024[15]](_0xb024[10],auth[_0xb024[5]](),auth[_0xb024[7]]([7],[_0xb024[6]]),controller[_0xb024[14]]);router[_0xb024[17]](_0xb024[4],auth[_0xb024[5]](),auth[_0xb024[7]]([7],[_0xb024[6]]),controller[_0xb024[16]]);router[_0xb024[17]](_0xb024[10],auth[_0xb024[5]](),auth[_0xb024[7]]([7],[_0xb024[6]]),controller[_0xb024[18]]);module[_0xb024[19]]= router
\ No newline at end of file
-'use strict';
-var _ = require('lodash');
-var ChatApplication = require('../../models').ChatApplication;
-// Get list of chat_applications
-exports.index = function(req, res) {
- return ChatApplication
- .findAll({
- where: req.query,
- order: 'priority',
- include: [{
- all: true
- }]
- })
- .then(function(chat_applications) {
- return res.status(200).send(chat_applications);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get a single chat_application
-exports.show = function(req, res) {
- return ChatApplication
- .findById(req.params.id)
- .then(function(chat_application) {
- if (!chat_application) {
- return res.sendStatus(404);
- }
- return res.send(chat_application);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new chat_application in the DB.
-exports.create = function(req, res, next) {
- return ChatApplication.max('priority', {
- where: {
- ChatWebsiteId: req.body.ChatWebsiteId
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- return ChatApplication
- .create(req.body);
- })
- .then(function(mailApplication) {
- return res.status(201).send(mailApplication);
- })
- .catch(function(err) {
- next(err);
- });
-};
-// Updates an existing chat_application in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatApplication
- .findById(req.params.id)
- .then(function(chat_application) {
- if (!chat_application) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chat_application, req.body);
- return updated
- .save();
- })
- .then(function(chat_application) {
- return res.status(200).send(chat_application);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Deletes a chat_application from the DB.
-exports.destroy = function(req, res) {
- return ChatApplication
- .findById(req.params.id)
- .then(function(chat_application) {
- if (!chat_application) {
- return res.sendStatus(404);
- }
- return chat_application
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xf177=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xf177[0];var _=require(_0xf177[1]);var ChatApplication=require(_0xf177[3])[_0xf177[2]];exports[_0xf177[4]]= function(_0x8f3fx3,_0x8f3fx4){return ChatApplication[_0xf177[11]]({where:_0x8f3fx3[_0xf177[9]],order:_0xf177[10],include:[{all:true}]})[_0xf177[8]](function(_0x8f3fx6){return _0x8f3fx4[_0xf177[7]](200)[_0xf177[6]](_0x8f3fx6)})[_0xf177[5]](function(_0x8f3fx5){return handleError(_0x8f3fx4,_0x8f3fx5)})};exports[_0xf177[12]]= function(_0x8f3fx3,_0x8f3fx4){return ChatApplication[_0xf177[16]](_0x8f3fx3[_0xf177[15]][_0xf177[14]])[_0xf177[8]](function(_0x8f3fx7){if(!_0x8f3fx7){return _0x8f3fx4[_0xf177[13]](404)};return _0x8f3fx4[_0xf177[6]](_0x8f3fx7)})[_0xf177[5]](function(_0x8f3fx5){return handleError(_0x8f3fx4,_0x8f3fx5)})};exports[_0xf177[17]]= function(_0x8f3fx3,_0x8f3fx4,_0x8f3fx8){return ChatApplication[_0xf177[20]](_0xf177[10],{where:{ChatWebsiteId:_0x8f3fx3[_0xf177[18]][_0xf177[19]]}})[_0xf177[8]](function(_0x8f3fxa){_0x8f3fx3[_0xf177[18]][_0xf177[10]]= _0x8f3fxa?++_0x8f3fxa:1;return ChatApplication[_0xf177[17]](_0x8f3fx3[_0xf177[18]])})[_0xf177[8]](function(_0x8f3fx9){return _0x8f3fx4[_0xf177[7]](201)[_0xf177[6]](_0x8f3fx9)})[_0xf177[5]](function(_0x8f3fx5){_0x8f3fx8(_0x8f3fx5)})};exports[_0xf177[21]]= function(_0x8f3fx3,_0x8f3fx4){if(_0x8f3fx3[_0xf177[18]][_0xf177[14]]){delete _0x8f3fx3[_0xf177[18]][_0xf177[14]]};return ChatApplication[_0xf177[16]](_0x8f3fx3[_0xf177[15]][_0xf177[14]])[_0xf177[8]](function(_0x8f3fx7){if(!_0x8f3fx7){return _0x8f3fx4[_0xf177[13]](404)};var _0x8f3fxb=_[_0xf177[22]](_0x8f3fx7,_0x8f3fx3[_0xf177[18]]);return _0x8f3fxb[_0xf177[23]]()})[_0xf177[8]](function(_0x8f3fx7){return _0x8f3fx4[_0xf177[7]](200)[_0xf177[6]](_0x8f3fx7)})[_0xf177[5]](function(_0x8f3fx5){return handleError(_0x8f3fx4,_0x8f3fx5)})};exports[_0xf177[24]]= function(_0x8f3fx3,_0x8f3fx4){return ChatApplication[_0xf177[16]](_0x8f3fx3[_0xf177[15]][_0xf177[14]])[_0xf177[8]](function(_0x8f3fx7){if(!_0x8f3fx7){return _0x8f3fx4[_0xf177[13]](404)};return _0x8f3fx7[_0xf177[24]]()})[_0xf177[8]](function(){return _0x8f3fx4[_0xf177[13]](204)})[_0xf177[5]](function(_0x8f3fx5){return handleError(_0x8f3fx4,_0x8f3fx5)})};function handleError(_0x8f3fx4,_0x8f3fx5){return _0x8f3fx4[_0xf177[7]](500)[_0xf177[6]](_0x8f3fx5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatApplication = require('../../models').ChatApplication;
-
-var ChatApplicationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatApplicationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatApplication.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatApplicationEvents.emit(event + ':' + doc._id, doc);
- ChatApplicationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatApplicationEvents;
+var _0xc441=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc441[0];const EventEmitter=require(_0xc441[1]);const ChatApplication=require(_0xc441[3])[_0xc441[2]];var ChatApplicationEvents= new EventEmitter();ChatApplicationEvents[_0xc441[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc441[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xc441[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc441[6]};for(var e in events){var event=events[e];ChatApplication[_0xc441[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x9f26x8,_0x9f26x9,_0x9f26xa){ChatApplicationEvents[_0xc441[10]](event+ _0xc441[8]+ _0x9f26x8[_0xc441[9]],_0x9f26x8);ChatApplicationEvents[_0xc441[10]](event,_0x9f26x8);_0x9f26xa(null)}}module[_0xc441[11]]= ChatApplicationEvents
\ No newline at end of file
-'use strict';
-
-const ChatApplicationEvents = require('./chat_application.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_application:' + event, socket);
-
- ChatApplicationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatApplicationEvents.removeListener(event, listener);
- };
-}
+var _0x4b99=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x4b99[0];const ChatApplicationEvents=require(_0x4b99[1]);var events=[_0x4b99[2],_0x4b99[3]];exports[_0x4b99[4]]= function(_0xd4c7x3){for(var _0xd4c7x4=0,_0xd4c7x5=events[_0x4b99[5]];_0xd4c7x4< _0xd4c7x5;_0xd4c7x4++){var _0xd4c7x6=events[_0xd4c7x4];var _0xd4c7x7=createListener(_0x4b99[6]+ _0xd4c7x6,_0xd4c7x3);ChatApplicationEvents[_0x4b99[7]](_0xd4c7x6,_0xd4c7x7);_0xd4c7x3[_0x4b99[7]](_0x4b99[8],removeListener(_0xd4c7x6,_0xd4c7x7))}};function createListener(_0xd4c7x6,_0xd4c7x3){return function(_0xd4c7x9){_0xd4c7x3[_0x4b99[9]](_0xd4c7x6,_0xd4c7x9)}}function removeListener(_0xd4c7x6,_0xd4c7x7){return function(){ChatApplicationEvents[_0x4b99[10]](_0xd4c7x6,_0xd4c7x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./chat_application.controller');
-var license = require('../../config/license/license.service');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x5e46=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5e46[0];var express=require(_0x5e46[1]);var controller=require(_0x5e46[2]);var license=require(_0x5e46[3]);var auth=require(_0x5e46[4]);var router=express.Router();router[_0x5e46[12]](_0x5e46[5],license[_0x5e46[6]](),license[_0x5e46[7]](),auth[_0x5e46[8]](),auth[_0x5e46[10]]([8],[_0x5e46[9]]),controller[_0x5e46[11]]);router[_0x5e46[12]](_0x5e46[13],license[_0x5e46[6]](),license[_0x5e46[7]](),auth[_0x5e46[8]](),auth[_0x5e46[10]]([8],[_0x5e46[9]]),controller[_0x5e46[14]]);router[_0x5e46[16]](_0x5e46[5],license[_0x5e46[6]](),license[_0x5e46[7]](),auth[_0x5e46[8]](),auth[_0x5e46[10]]([8],[_0x5e46[9]]),controller[_0x5e46[15]]);router[_0x5e46[18]](_0x5e46[13],license[_0x5e46[6]](),license[_0x5e46[7]](),auth[_0x5e46[8]](),auth[_0x5e46[10]]([8],[_0x5e46[9]]),controller[_0x5e46[17]]);router[_0x5e46[19]](_0x5e46[13],license[_0x5e46[6]](),license[_0x5e46[7]](),auth[_0x5e46[8]](),auth[_0x5e46[10]]([8],[_0x5e46[9]]),controller[_0x5e46[17]]);router[_0x5e46[21]](_0x5e46[13],license[_0x5e46[6]](),license[_0x5e46[7]](),auth[_0x5e46[8]](),auth[_0x5e46[10]]([8],[_0x5e46[9]]),controller[_0x5e46[20]]);module[_0x5e46[22]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/chat/dispositions -> index
- * POST /api/chat/dispositions -> create
- * GET /api/chat/dispositions/:id -> show
- * PUT /api/chat/dispositions/:id -> update
- * DELETE /api/chat/dispositions/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var ChatDisposition = require('../../models').ChatDisposition;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of ChatDispositions
-exports.index = function(req, res) {
- ChatDisposition.findAndCountAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single ChatDisposition from the DB
-exports.show = function(req, res) {
- ChatDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new ChatDisposition in the DB
-exports.create = function(req, res) {
- ChatDisposition.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing ChatDisposition in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- ChatDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a ChatDisposition from the DB
-exports.destroy = function(req, res) {
- ChatDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x91fa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x91fa[0];var _=require(_0x91fa[1]);var ChatDisposition=require(_0x91fa[3])[_0x91fa[2]];function handleError(_0x825ax4,_0x825ax5){_0x825ax5= _0x825ax5|| 500;return function(_0x825ax6){_0x825ax4[_0x91fa[5]](_0x825ax5)[_0x91fa[4]](_0x825ax6)}}function responseWithResult(_0x825ax4,_0x825ax5){_0x825ax5= _0x825ax5|| 200;return function(_0x825ax8){if(_0x825ax8){_0x825ax4[_0x91fa[5]](_0x825ax5)[_0x91fa[6]](_0x825ax8)}}}function responseWithoutResult(_0x825ax4,_0x825ax5){_0x825ax5= _0x825ax5|| 200;return function(){_0x825ax4[_0x91fa[7]](_0x825ax5)}}function handleEntityNotFound(_0x825ax4){return function(_0x825ax8){if(!_0x825ax8){_0x825ax4[_0x91fa[5]](404)[_0x91fa[8]]();return null};return _0x825ax8}}function saveUpdates(_0x825axc){return function(_0x825ax8){return _0x825ax8[_0x91fa[10]](_0x825axc)[_0x91fa[9]](function(_0x825axd){return _0x825axd})}}function removeEntity(_0x825ax4){return function(_0x825ax8){if(_0x825ax8){return _0x825ax8[_0x91fa[11]]()[_0x91fa[9]](function(){_0x825ax4[_0x91fa[5]](204)[_0x91fa[8]]()})}}}exports[_0x91fa[12]]= function(_0x825axf,_0x825ax4){ChatDisposition[_0x91fa[14]]()[_0x91fa[9]](responseWithResult(_0x825ax4))[_0x91fa[13]](handleError(_0x825ax4))};exports[_0x91fa[15]]= function(_0x825axf,_0x825ax4){ChatDisposition[_0x91fa[18]](_0x825axf[_0x91fa[17]][_0x91fa[16]])[_0x91fa[9]](handleEntityNotFound(_0x825ax4))[_0x91fa[9]](responseWithResult(_0x825ax4))[_0x91fa[13]](handleError(_0x825ax4))};exports[_0x91fa[19]]= function(_0x825axf,_0x825ax4){ChatDisposition[_0x91fa[19]](_0x825axf[_0x91fa[20]])[_0x91fa[9]](responseWithResult(_0x825ax4,201))[_0x91fa[13]](handleError(_0x825ax4))};exports[_0x91fa[21]]= function(_0x825axf,_0x825ax4){if(_0x825axf[_0x91fa[20]][_0x91fa[16]]){delete _0x825axf[_0x91fa[20]][_0x91fa[16]]};ChatDisposition[_0x91fa[18]](_0x825axf[_0x91fa[17]][_0x91fa[16]])[_0x91fa[9]](handleEntityNotFound(_0x825ax4))[_0x91fa[9]](saveUpdates(_0x825axf[_0x91fa[20]]))[_0x91fa[9]](responseWithResult(_0x825ax4))[_0x91fa[13]](handleError(_0x825ax4))};exports[_0x91fa[11]]= function(_0x825axf,_0x825ax4){ChatDisposition[_0x91fa[18]](_0x825axf[_0x91fa[17]][_0x91fa[16]])[_0x91fa[9]](handleEntityNotFound(_0x825ax4))[_0x91fa[9]](removeEntity(_0x825ax4))[_0x91fa[13]](handleError(_0x825ax4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatDisposition = require('../../models').ChatDisposition;
-
-var ChatDispositionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatDispositionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatDisposition.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatDispositionEvents.emit(event + ':' + doc._id, doc);
- ChatDispositionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatDispositionEvents;
+var _0x2628=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x2628[0];const EventEmitter=require(_0x2628[1]);const ChatDisposition=require(_0x2628[3])[_0x2628[2]];var ChatDispositionEvents= new EventEmitter();ChatDispositionEvents[_0x2628[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x2628[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x2628[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x2628[6]};for(var e in events){var event=events[e];ChatDisposition[_0x2628[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xe214x8,_0xe214x9,_0xe214xa){ChatDispositionEvents[_0x2628[10]](event+ _0x2628[8]+ _0xe214x8[_0x2628[9]],_0xe214x8);ChatDispositionEvents[_0x2628[10]](event,_0xe214x8);_0xe214xa(null)}}module[_0x2628[11]]= ChatDispositionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ChatDispositionEvents = require('./chat_disposition.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_disposition:' + event, socket);
-
- ChatDispositionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatDispositionEvents.removeListener(event, listener);
- };
-}
+var _0xc410=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc410[0];const ChatDispositionEvents=require(_0xc410[1]);var events=[_0xc410[2],_0xc410[3]];exports[_0xc410[4]]= function(_0xed5fx3){for(var _0xed5fx4=0,_0xed5fx5=events[_0xc410[5]];_0xed5fx4< _0xed5fx5;_0xed5fx4++){var _0xed5fx6=events[_0xed5fx4];var _0xed5fx7=createListener(_0xc410[6]+ _0xed5fx6,_0xed5fx3);ChatDispositionEvents[_0xc410[7]](_0xed5fx6,_0xed5fx7);_0xed5fx3[_0xc410[7]](_0xc410[8],removeListener(_0xed5fx6,_0xed5fx7))}};function createListener(_0xed5fx6,_0xed5fx3){return function(_0xed5fx9){_0xed5fx3[_0xc410[9]](_0xed5fx6,_0xed5fx9)}}function removeListener(_0xed5fx6,_0xed5fx7){return function(){ChatDispositionEvents[_0xc410[10]](_0xed5fx6,_0xed5fx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./chat_disposition.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0xf5b0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x63\x68\x61\x74\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf5b0[0];var express=require(_0xf5b0[1]);var auth=require(_0xf5b0[2]);var controller=require(_0xf5b0[3]);var license=require(_0xf5b0[4]);var router=express.Router();router[_0xf5b0[10]](_0xf5b0[5],license[_0xf5b0[6]](),license[_0xf5b0[7]](),auth[_0xf5b0[8]](),controller[_0xf5b0[9]]);router[_0xf5b0[10]](_0xf5b0[11],license[_0xf5b0[6]](),license[_0xf5b0[7]](),auth[_0xf5b0[8]](),controller[_0xf5b0[12]]);router[_0xf5b0[14]](_0xf5b0[5],license[_0xf5b0[6]](),license[_0xf5b0[7]](),auth[_0xf5b0[8]](),controller[_0xf5b0[13]]);router[_0xf5b0[16]](_0xf5b0[11],license[_0xf5b0[6]](),license[_0xf5b0[7]](),auth[_0xf5b0[8]](),controller[_0xf5b0[15]]);router[_0xf5b0[17]](_0xf5b0[11],license[_0xf5b0[6]](),license[_0xf5b0[7]](),auth[_0xf5b0[8]](),controller[_0xf5b0[15]]);router[_0xf5b0[19]](_0xf5b0[11],license[_0xf5b0[6]](),license[_0xf5b0[7]](),auth[_0xf5b0[8]](),controller[_0xf5b0[18]]);module[_0xf5b0[20]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var ChatEnquiry = require('../../models').ChatEnquiry;
-var ChatVisitor = require('../../models').ChatVisitor;
-var ChatWebsite = require('../../models').ChatWebsite;
-var List = require('../../models').List;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ChatEnquiry
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- include: [{
- model: ChatWebsite,
- attributes: ['id', 'name']
- }]
- }))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single enquiry
-exports.show = function(req, res) {
- return ChatEnquiry
- .findById(req.params.id, {
- include: [{
- model: ChatWebsite,
- attributes: ['id', 'name', 'ListId'],
- }, {
- model: ChatVisitor
- }]
- })
- .then(function(enquiry) {
- if (!enquiry) {
- return res.sendStatus(404);
- }
- return res.send(enquiry);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-// Creates a new enquiry in the DB.
-exports.create = function(req, res) {
- return ChatEnquiry
- .create(req.body)
- .then(function(enquiry) {
- return res.status(201).send(enquiry);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing enquiry in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatEnquiry
- .findById(req.params.id)
- .then(function(enquiry) {
- if (!enquiry) {
- return res.sendStatus(404);
- }
- var updated = _.merge(enquiry, req.body);
- return updated
- .save();
- })
- .then(function(enquiry) {
- return res.status(200).send(enquiry);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a enquiry from the DB.
-exports.destroy = function(req, res) {
- return ChatEnquiry
- .findById(req.params.id)
- .then(function(enquiry) {
- if (!enquiry) {
- return res.sendStatus(404);
- }
- return enquiry
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return ChatEnquiry
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x9fdf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x4C\x69\x73\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x69\x64","\x6E\x61\x6D\x65","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x65\x72\x72\x6F\x72","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x4C\x69\x73\x74\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x9fdf[0];var _=require(_0x9fdf[1]);var Util=require(_0x9fdf[2]);var ChatEnquiry=require(_0x9fdf[4])[_0x9fdf[3]];var ChatVisitor=require(_0x9fdf[4])[_0x9fdf[5]];var ChatWebsite=require(_0x9fdf[4])[_0x9fdf[6]];var List=require(_0x9fdf[4])[_0x9fdf[7]];exports[_0x9fdf[8]]= function(_0xba56x7,_0xba56x8,_0xba56x9){return ChatEnquiry[_0x9fdf[18]](_[_0x9fdf[17]](Util[_0x9fdf[14]](_0xba56x7[_0x9fdf[13]]),{include:[{model:ChatWebsite,attributes:[_0x9fdf[15],_0x9fdf[16]]}]}))[_0x9fdf[12]](function(_0xba56xb){return _0xba56x8[_0x9fdf[11]](200)[_0x9fdf[10]](_0xba56xb)})[_0x9fdf[9]](function(_0xba56xa){return handleError(_0xba56x8,_0xba56xa)})};exports[_0x9fdf[19]]= function(_0xba56x7,_0xba56x8){return ChatEnquiry[_0x9fdf[24]](_0xba56x7[_0x9fdf[22]][_0x9fdf[15]],{include:[{model:ChatWebsite,attributes:[_0x9fdf[15],_0x9fdf[16],_0x9fdf[23]]},{model:ChatVisitor}]})[_0x9fdf[12]](function(_0xba56xc){if(!_0xba56xc){return _0xba56x8[_0x9fdf[21]](404)};return _0xba56x8[_0x9fdf[10]](_0xba56xc)})[_0x9fdf[9]](function(_0xba56xa){console[_0x9fdf[20]](_0xba56xa);return handleError(_0xba56x8,_0xba56xa)})};exports[_0x9fdf[25]]= function(_0xba56x7,_0xba56x8){return ChatEnquiry[_0x9fdf[25]](_0xba56x7[_0x9fdf[26]])[_0x9fdf[12]](function(_0xba56xc){return _0xba56x8[_0x9fdf[11]](201)[_0x9fdf[10]](_0xba56xc)})[_0x9fdf[9]](function(_0xba56xa){return handleError(_0xba56x8,_0xba56xa)})};exports[_0x9fdf[27]]= function(_0xba56x7,_0xba56x8){if(_0xba56x7[_0x9fdf[26]][_0x9fdf[15]]){delete _0xba56x7[_0x9fdf[26]][_0x9fdf[15]]};return ChatEnquiry[_0x9fdf[24]](_0xba56x7[_0x9fdf[22]][_0x9fdf[15]])[_0x9fdf[12]](function(_0xba56xc){if(!_0xba56xc){return _0xba56x8[_0x9fdf[21]](404)};var _0xba56xd=_[_0x9fdf[17]](_0xba56xc,_0xba56x7[_0x9fdf[26]]);return _0xba56xd[_0x9fdf[28]]()})[_0x9fdf[12]](function(_0xba56xc){return _0xba56x8[_0x9fdf[11]](200)[_0x9fdf[10]](_0xba56xc)})[_0x9fdf[9]](function(_0xba56xa){return handleError(_0xba56x8,_0xba56xa)})};exports[_0x9fdf[29]]= function(_0xba56x7,_0xba56x8){return ChatEnquiry[_0x9fdf[24]](_0xba56x7[_0x9fdf[22]][_0x9fdf[15]])[_0x9fdf[12]](function(_0xba56xc){if(!_0xba56xc){return _0xba56x8[_0x9fdf[21]](404)};return _0xba56xc[_0x9fdf[29]]()})[_0x9fdf[12]](function(){return _0xba56x8[_0x9fdf[21]](204)})[_0x9fdf[9]](function(_0xba56xa){return handleError(_0xba56x8,_0xba56xa)})};exports[_0x9fdf[30]]= function(_0xba56x7,_0xba56x8){return ChatEnquiry[_0x9fdf[29]]({where:{id:_0xba56x7[_0x9fdf[13]][_0x9fdf[31]]},individualHooks:true})[_0x9fdf[12]](function(){return _0xba56x8[_0x9fdf[21]](204)})[_0x9fdf[9]](function(_0xba56xa){return handleError(_0xba56x8,_0xba56xa)})};function handleError(_0xba56x8,_0xba56xa){return _0xba56x8[_0x9fdf[11]](500)[_0x9fdf[10]](_0xba56xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Enquiry = require('../../models').ChatEnquiry;
-
-var EnquiryEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-EnquiryEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Enquiry.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- EnquiryEvents.emit(event + ':' + doc._id, doc);
- EnquiryEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = EnquiryEvents;
+var _0x316e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x316e[0];const EventEmitter=require(_0x316e[1]);const Enquiry=require(_0x316e[3])[_0x316e[2]];var EnquiryEvents= new EventEmitter();EnquiryEvents[_0x316e[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x316e[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x316e[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x316e[6]};for(var e in events){var event=events[e];Enquiry[_0x316e[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xeb43x8,_0xeb43x9,_0xeb43xa){EnquiryEvents[_0x316e[10]](event+ _0x316e[8]+ _0xeb43x8[_0x316e[9]],_0xeb43x8);EnquiryEvents[_0x316e[10]](event,_0xeb43x8);_0xeb43xa(null)}}module[_0x316e[11]]= EnquiryEvents
\ No newline at end of file
-'use strict';
-
-const ChatEnquiryEvents = require('./enquiry.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('enquiry:' + event, socket);
-
- ChatEnquiryEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatEnquiryEvents.removeListener(event, listener);
- };
-}
+var _0xf187=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x65\x6E\x71\x75\x69\x72\x79\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xf187[0];const ChatEnquiryEvents=require(_0xf187[1]);var events=[_0xf187[2],_0xf187[3]];exports[_0xf187[4]]= function(_0xace3x3){for(var _0xace3x4=0,_0xace3x5=events[_0xf187[5]];_0xace3x4< _0xace3x5;_0xace3x4++){var _0xace3x6=events[_0xace3x4];var _0xace3x7=createListener(_0xf187[6]+ _0xace3x6,_0xace3x3);ChatEnquiryEvents[_0xf187[7]](_0xace3x6,_0xace3x7);_0xace3x3[_0xf187[7]](_0xf187[8],removeListener(_0xace3x6,_0xace3x7))}};function createListener(_0xace3x6,_0xace3x3){return function(_0xace3x9){_0xace3x3[_0xf187[9]](_0xace3x6,_0xace3x9)}}function removeListener(_0xace3x6,_0xace3x7){return function(){ChatEnquiryEvents[_0xf187[10]](_0xace3x6,_0xace3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./enquiry.controller');
-var license = require('../../config/license/license.service');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xfbc2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xfbc2[0];var express=require(_0xfbc2[1]);var controller=require(_0xfbc2[2]);var license=require(_0xfbc2[3]);var auth=require(_0xfbc2[4]);var router=express.Router();router[_0xfbc2[12]](_0xfbc2[5],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[11]]);router[_0xfbc2[12]](_0xfbc2[13],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[14]]);router[_0xfbc2[16]](_0xfbc2[5],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[15]]);router[_0xfbc2[18]](_0xfbc2[13],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[17]]);router[_0xfbc2[19]](_0xfbc2[13],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[17]]);router[_0xfbc2[21]](_0xfbc2[5],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[20]]);router[_0xfbc2[21]](_0xfbc2[13],license[_0xfbc2[6]](),license[_0xfbc2[7]](),auth[_0xfbc2[8]](),auth[_0xfbc2[10]]([8],[_0xfbc2[9]]),controller[_0xfbc2[22]]);module[_0xfbc2[23]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var md5 = require('md5');
-
-var User = require('../../models').User;
-var ChatRoom = require('../../models').ChatRoom;
-var ChatMessage = require('../../models').ChatMessage;
-var ChatVisitor = require('../../models').ChatVisitor;
-
-// Get list of chat_messages
-exports.index = function(req, res) {
- return ChatMessage
- .findAll()
- .then(function(chat_messages) {
- return res.status(200).send(chat_messages);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.describe = function(req, res) {
- return ChatMessage
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatMessage
-exports.show = function(req, res) {
- return ChatMessage
- .findById(req.params.id)
- .then(function(chatMessage) {
- if (!chatMessage) {
- return res.sendStatus(404);
- }
- return res.send(chatMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chatMessage in the DB.
-exports.create = function(req, res, next) {
- return ChatMessage
- .create(_.merge(req.body, {
- UserId: req.user.id
- }))
- .then(function(chatMessage) {
- return res.status(201).send(chatMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chatMessage in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatMessage
- .findById(req.params.id)
- .then(function(chatMessage) {
- if (!chatMessage) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chatMessage, req.body);
- return updated.save();
- })
- .then(function(chatMessage) {
- return res.status(200).send(chatMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chatMessage from the DB.
-exports.destroy = function(req, res) {
- return ChatMessage
- .findById(req.params.id)
- .then(function(chatMessage) {
- if (!chatMessage) {
- return res.sendStatus(404);
- }
- return chatMessage.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xa17c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x73\x65\x72","\x6D\x65\x72\x67\x65","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa17c[0];var _=require(_0xa17c[1]);var md5=require(_0xa17c[2]);var User=require(_0xa17c[4])[_0xa17c[3]];var ChatRoom=require(_0xa17c[4])[_0xa17c[5]];var ChatMessage=require(_0xa17c[4])[_0xa17c[6]];var ChatVisitor=require(_0xa17c[4])[_0xa17c[7]];exports[_0xa17c[8]]= function(_0xccaax7,_0xccaax8){return ChatMessage[_0xa17c[13]]()[_0xa17c[12]](function(_0xccaaxa){return _0xccaax8[_0xa17c[11]](200)[_0xa17c[10]](_0xccaaxa)})[_0xa17c[9]](function(_0xccaax9){return handleError(_0xccaax8,_0xccaax9)})};exports[_0xa17c[14]]= function(_0xccaax7,_0xccaax8){return ChatMessage[_0xa17c[14]]()[_0xa17c[12]](function(_0xccaaxb){return _0xccaax8[_0xa17c[11]](200)[_0xa17c[10]](_0xccaaxb)})[_0xa17c[9]](function(_0xccaax9){return handleError(_0xccaax8,_0xccaax9)})};exports[_0xa17c[15]]= function(_0xccaax7,_0xccaax8){return ChatMessage[_0xa17c[19]](_0xccaax7[_0xa17c[18]][_0xa17c[17]])[_0xa17c[12]](function(_0xccaaxc){if(!_0xccaaxc){return _0xccaax8[_0xa17c[16]](404)};return _0xccaax8[_0xa17c[10]](_0xccaaxc)})[_0xa17c[9]](function(_0xccaax9){return handleError(_0xccaax8,_0xccaax9)})};exports[_0xa17c[20]]= function(_0xccaax7,_0xccaax8,_0xccaaxd){return ChatMessage[_0xa17c[20]](_[_0xa17c[23]](_0xccaax7[_0xa17c[21]],{UserId:_0xccaax7[_0xa17c[22]][_0xa17c[17]]}))[_0xa17c[12]](function(_0xccaaxc){return _0xccaax8[_0xa17c[11]](201)[_0xa17c[10]](_0xccaaxc)})[_0xa17c[9]](function(_0xccaax9){return handleError(_0xccaax8,_0xccaax9)})};exports[_0xa17c[24]]= function(_0xccaax7,_0xccaax8){if(_0xccaax7[_0xa17c[21]][_0xa17c[17]]){delete _0xccaax7[_0xa17c[21]][_0xa17c[17]]};return ChatMessage[_0xa17c[19]](_0xccaax7[_0xa17c[18]][_0xa17c[17]])[_0xa17c[12]](function(_0xccaaxc){if(!_0xccaaxc){return _0xccaax8[_0xa17c[16]](404)};var _0xccaaxe=_[_0xa17c[23]](_0xccaaxc,_0xccaax7[_0xa17c[21]]);return _0xccaaxe[_0xa17c[25]]()})[_0xa17c[12]](function(_0xccaaxc){return _0xccaax8[_0xa17c[11]](200)[_0xa17c[10]](_0xccaaxc)})[_0xa17c[9]](function(_0xccaax9){return handleError(_0xccaax8,_0xccaax9)})};exports[_0xa17c[26]]= function(_0xccaax7,_0xccaax8){return ChatMessage[_0xa17c[19]](_0xccaax7[_0xa17c[18]][_0xa17c[17]])[_0xa17c[12]](function(_0xccaaxc){if(!_0xccaaxc){return _0xccaax8[_0xa17c[16]](404)};return _0xccaaxc[_0xa17c[26]]()})[_0xa17c[12]](function(){return _0xccaax8[_0xa17c[16]](204)})[_0xa17c[9]](function(_0xccaax9){return handleError(_0xccaax8,_0xccaax9)})};function handleError(_0xccaax8,_0xccaax9){return _0xccaax8[_0xa17c[11]](500)[_0xa17c[10]](_0xccaax9)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatMessage = require('../../models').ChatMessage;
-
-var ChatMessageEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatMessageEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatMessage.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatMessageEvents.emit(event + ':' + doc._id, doc);
- ChatMessageEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatMessageEvents;
+var _0x4629=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4629[0];const EventEmitter=require(_0x4629[1]);const ChatMessage=require(_0x4629[3])[_0x4629[2]];var ChatMessageEvents= new EventEmitter();ChatMessageEvents[_0x4629[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x4629[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x4629[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x4629[6]};for(var e in events){var event=events[e];ChatMessage[_0x4629[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xca5ex8,_0xca5ex9,_0xca5exa){ChatMessageEvents[_0x4629[10]](event+ _0x4629[8]+ _0xca5ex8[_0x4629[9]],_0xca5ex8);ChatMessageEvents[_0x4629[10]](event,_0xca5ex8);_0xca5exa(null)}}module[_0x4629[11]]= ChatMessageEvents
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-
-const ChatMessage = require('../../models').ChatMessage;
-const ChatMessageEvents = require('./chat_message.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_message:' + event, socket);
-
- ChatMessageEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- return doc
- .getChatRoom()
- .then(function(chatRoom) {
- return [chatRoom
- .getUsers({
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal', 'userpic'],
- raw: true
- }), chatRoom
- .getChatVisitor({
- attributes: ['id', 'fullname', 'email'],
- raw: true
- })
- ];
- })
- .spread(function(users, visitor) {
- var sender = _.find(users, {
- id: doc.UserId
- });
-
- users.forEach(function(user) {
- // SOCKET FILTER
- if (socket.userId == user.id && (sender || visitor)) {
- socket.emit(event, _.merge(doc.dataValues, {
- User: sender, // TODO modify to sender
- ChatVisitor: sender ? null : visitor // TODO modify to visitor
- }));
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatMessageEvents.removeListener(event, listener);
- };
-}
+var _0xce34=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x55\x73\x65\x72\x49\x64","\x66\x69\x6E\x64","\x75\x73\x65\x72\x49\x64","\x69\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x65\x72\x67\x65","\x65\x6D\x69\x74","\x66\x6F\x72\x45\x61\x63\x68","\x73\x70\x72\x65\x61\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x75\x73\x65\x72\x70\x69\x63","\x67\x65\x74\x55\x73\x65\x72\x73","\x67\x65\x74\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x74\x68\x65\x6E","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xce34[0];const _=require(_0xce34[1]);const ChatMessage=require(_0xce34[3])[_0xce34[2]];const ChatMessageEvents=require(_0xce34[4]);var events=[_0xce34[5],_0xce34[6]];exports[_0xce34[7]]= function(_0x3980x5){for(var _0x3980x6=0,_0x3980x7=events[_0xce34[8]];_0x3980x6< _0x3980x7;_0x3980x6++){var _0x3980x8=events[_0x3980x6];var _0x3980x9=createListener(_0xce34[9]+ _0x3980x8,_0x3980x5);ChatMessageEvents[_0xce34[10]](_0x3980x8,_0x3980x9);_0x3980x5[_0xce34[10]](_0xce34[11],removeListener(_0x3980x8,_0x3980x9))}};function createListener(_0x3980x8,_0x3980x5){return function(_0x3980xb){return _0x3980xb[_0xce34[32]]()[_0xce34[31]](function(_0x3980x11){return [_0x3980x11[_0xce34[29]]({attributes:[_0xce34[17],_0xce34[23],_0xce34[24],_0xce34[25],_0xce34[26],_0xce34[27],_0xce34[28]],raw:true}),_0x3980x11[_0xce34[30]]({attributes:[_0xce34[17],_0xce34[24],_0xce34[25]],raw:true})]})[_0xce34[22]](function(_0x3980xd,_0x3980xe){var _0x3980xf=_[_0xce34[15]](_0x3980xd,{id:_0x3980xb[_0xce34[14]]});_0x3980xd[_0xce34[21]](function(_0x3980x10){if(_0x3980x5[_0xce34[16]]== _0x3980x10[_0xce34[17]]&& (_0x3980xf|| _0x3980xe)){_0x3980x5[_0xce34[20]](_0x3980x8,_[_0xce34[19]](_0x3980xb[_0xce34[18]],{User:_0x3980xf,ChatVisitor:_0x3980xf?null:_0x3980xe}))}})})[_0xce34[13]](function(_0x3980xc){console[_0xce34[12]](_0x3980xc)})}}function removeListener(_0x3980x8,_0x3980x9){return function(){ChatMessageEvents[_0xce34[33]](_0x3980x8,_0x3980x9)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./chat_message.controller');
-var license = require('../../config/license/license.service');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.index);
-router.get('/describe', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.describe);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x9831=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9831[0];var express=require(_0x9831[1]);var controller=require(_0x9831[2]);var license=require(_0x9831[3]);var auth=require(_0x9831[4]);var router=express.Router();router[_0x9831[13]](_0x9831[5],license[_0x9831[6]](),license[_0x9831[7]](),auth[_0x9831[8]](),auth[_0x9831[11]]([8],[_0x9831[9],_0x9831[10]]),controller[_0x9831[12]]);router[_0x9831[13]](_0x9831[14],license[_0x9831[6]](),license[_0x9831[7]](),auth[_0x9831[8]](),auth[_0x9831[11]]([8],[_0x9831[9]]),controller[_0x9831[15]]);router[_0x9831[13]](_0x9831[16],license[_0x9831[6]](),license[_0x9831[7]](),auth[_0x9831[8]](),auth[_0x9831[11]]([8],[_0x9831[9],_0x9831[10]]),controller[_0x9831[17]]);router[_0x9831[19]](_0x9831[5],license[_0x9831[6]](),license[_0x9831[7]](),auth[_0x9831[8]](),auth[_0x9831[11]]([8],[_0x9831[9],_0x9831[10]]),controller[_0x9831[18]]);router[_0x9831[21]](_0x9831[16],license[_0x9831[6]](),license[_0x9831[7]](),auth[_0x9831[8]](),auth[_0x9831[11]]([8],[_0x9831[9]]),controller[_0x9831[20]]);router[_0x9831[23]](_0x9831[16],license[_0x9831[6]](),license[_0x9831[7]](),auth[_0x9831[8]](),auth[_0x9831[11]]([8],[_0x9831[9]]),controller[_0x9831[22]]);module[_0x9831[24]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/chat/proactives -> index
- * POST /api/chat/proactives -> create
- * GET /api/chat/proactives/:id -> show
- * PUT /api/chat/proactives/:id -> update
- * DELETE /api/chat/proactives/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var ChatProactiveAction = require('../../models').ChatProactiveAction;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of ChatProactiveActions
-exports.index = function(req, res) {
- return ChatProactiveAction.findAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single ChatProactiveAction from the DB
-exports.show = function(req, res) {
- return ChatProactiveAction.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new ChatProactiveAction in the DB
-exports.create = function(req, res) {
- return ChatProactiveAction.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing ChatProactiveAction in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatProactiveAction.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a ChatProactiveAction from the DB
-exports.destroy = function(req, res) {
- return ChatProactiveAction.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0xcdb7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x43\x68\x61\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0xcdb7[0];var _=require(_0xcdb7[1]);var Util=require(_0xcdb7[2]);var ChatProactiveAction=require(_0xcdb7[4])[_0xcdb7[3]];function handleError(_0x3ca7x5,_0x3ca7x6){_0x3ca7x6= _0x3ca7x6|| 500;return function(_0x3ca7x7){_0x3ca7x5[_0xcdb7[6]](_0x3ca7x6)[_0xcdb7[5]](_0x3ca7x7)}}function responseWithResult(_0x3ca7x5,_0x3ca7x6){_0x3ca7x6= _0x3ca7x6|| 200;return function(_0x3ca7x9){if(_0x3ca7x9){_0x3ca7x5[_0xcdb7[6]](_0x3ca7x6)[_0xcdb7[7]](_0x3ca7x9)}}}function responseWithoutResult(_0x3ca7x5,_0x3ca7x6){_0x3ca7x6= _0x3ca7x6|| 204;return function(){_0x3ca7x5[_0xcdb7[8]](_0x3ca7x6)}}function handleEntityNotFound(_0x3ca7x5){return function(_0x3ca7x9){if(!_0x3ca7x9){_0x3ca7x5[_0xcdb7[6]](404)[_0xcdb7[9]]();return null};return _0x3ca7x9}}function saveUpdates(_0x3ca7xd){return function(_0x3ca7x9){return _0x3ca7x9[_0xcdb7[11]](_0x3ca7xd)[_0xcdb7[10]](function(_0x3ca7xe){return _0x3ca7xe})}}function removeEntity(_0x3ca7x5){return function(_0x3ca7x9){if(_0x3ca7x9){return _0x3ca7x9[_0xcdb7[12]]()[_0xcdb7[10]](function(){_0x3ca7x5[_0xcdb7[6]](204)[_0xcdb7[9]]()})}}}exports[_0xcdb7[13]]= function(_0x3ca7x10,_0x3ca7x5){return ChatProactiveAction[_0xcdb7[17]](Util[_0xcdb7[16]](_0x3ca7x10[_0xcdb7[15]]))[_0xcdb7[10]](responseWithResult(_0x3ca7x5))[_0xcdb7[14]](handleError(_0x3ca7x5))};exports[_0xcdb7[18]]= function(_0x3ca7x10,_0x3ca7x5){return ChatProactiveAction[_0xcdb7[21]](_0x3ca7x10[_0xcdb7[20]][_0xcdb7[19]])[_0xcdb7[10]](handleEntityNotFound(_0x3ca7x5))[_0xcdb7[10]](responseWithResult(_0x3ca7x5))[_0xcdb7[14]](handleError(_0x3ca7x5))};exports[_0xcdb7[22]]= function(_0x3ca7x10,_0x3ca7x5){return ChatProactiveAction[_0xcdb7[22]](_0x3ca7x10[_0xcdb7[23]])[_0xcdb7[10]](responseWithResult(_0x3ca7x5,201))[_0xcdb7[14]](handleError(_0x3ca7x5))};exports[_0xcdb7[24]]= function(_0x3ca7x10,_0x3ca7x5){if(_0x3ca7x10[_0xcdb7[23]][_0xcdb7[19]]){delete _0x3ca7x10[_0xcdb7[23]][_0xcdb7[19]]};return ChatProactiveAction[_0xcdb7[21]](_0x3ca7x10[_0xcdb7[20]][_0xcdb7[19]])[_0xcdb7[10]](handleEntityNotFound(_0x3ca7x5))[_0xcdb7[10]](saveUpdates(_0x3ca7x10[_0xcdb7[23]]))[_0xcdb7[10]](responseWithResult(_0x3ca7x5))[_0xcdb7[14]](handleError(_0x3ca7x5))};exports[_0xcdb7[12]]= function(_0x3ca7x10,_0x3ca7x5){return ChatProactiveAction[_0xcdb7[21]](_0x3ca7x10[_0xcdb7[20]][_0xcdb7[19]])[_0xcdb7[10]](handleEntityNotFound(_0x3ca7x5))[_0xcdb7[10]](removeEntity(_0x3ca7x5))[_0xcdb7[14]](handleError(_0x3ca7x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatProactiveAction = require('../../models').ChatProactiveAction;
-
-var ChatProactiveActionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatProactiveActionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatProactiveAction.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatProactiveActionEvents.emit(event + ':' + doc._id, doc);
- ChatProactiveActionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatProactiveActionEvents;
+var _0xb652=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb652[0];const EventEmitter=require(_0xb652[1]);const ChatProactiveAction=require(_0xb652[3])[_0xb652[2]];var ChatProactiveActionEvents= new EventEmitter();ChatProactiveActionEvents[_0xb652[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xb652[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xb652[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xb652[6]};for(var e in events){var event=events[e];ChatProactiveAction[_0xb652[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x18e0x8,_0x18e0x9,_0x18e0xa){ChatProactiveActionEvents[_0xb652[10]](event+ _0xb652[8]+ _0x18e0x8[_0xb652[9]],_0x18e0x8);ChatProactiveActionEvents[_0xb652[10]](event,_0x18e0x8);_0x18e0xa(null)}}module[_0xb652[11]]= ChatProactiveActionEvents
\ No newline at end of file
-'use strict';
-
-const ChatProactiveActionEvents = require('./chat_proactive_action.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_proactive_action:' + event, socket);
-
- ChatProactiveActionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatProactiveActionEvents.removeListener(event, listener);
- };
-}
+var _0x5319=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x5F\x61\x63\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5319[0];const ChatProactiveActionEvents=require(_0x5319[1]);var events=[_0x5319[2],_0x5319[3]];exports[_0x5319[4]]= function(_0x87f3x3){for(var _0x87f3x4=0,_0x87f3x5=events[_0x5319[5]];_0x87f3x4< _0x87f3x5;_0x87f3x4++){var _0x87f3x6=events[_0x87f3x4];var _0x87f3x7=createListener(_0x5319[6]+ _0x87f3x6,_0x87f3x3);ChatProactiveActionEvents[_0x5319[7]](_0x87f3x6,_0x87f3x7);_0x87f3x3[_0x5319[7]](_0x5319[8],removeListener(_0x87f3x6,_0x87f3x7))}};function createListener(_0x87f3x6,_0x87f3x3){return function(_0x87f3x9){_0x87f3x3[_0x5319[9]](_0x87f3x6,_0x87f3x9)}}function removeListener(_0x87f3x6,_0x87f3x7){return function(){ChatProactiveActionEvents[_0x5319[10]](_0x87f3x6,_0x87f3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./chat_proactive_action.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xf05b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x63\x68\x61\x74\x5F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf05b[0];var express=require(_0xf05b[1]);var auth=require(_0xf05b[2]);var controller=require(_0xf05b[3]);var license=require(_0xf05b[4]);var router=express.Router();router[_0xf05b[12]](_0xf05b[5],license[_0xf05b[6]](),license[_0xf05b[7]](),auth[_0xf05b[8]](),auth[_0xf05b[10]]([8],[_0xf05b[9]]),controller[_0xf05b[11]]);router[_0xf05b[12]](_0xf05b[13],license[_0xf05b[6]](),license[_0xf05b[7]](),auth[_0xf05b[8]](),auth[_0xf05b[10]]([8],[_0xf05b[9]]),controller[_0xf05b[14]]);router[_0xf05b[16]](_0xf05b[5],license[_0xf05b[6]](),license[_0xf05b[7]](),auth[_0xf05b[8]](),auth[_0xf05b[10]]([8],[_0xf05b[9]]),controller[_0xf05b[15]]);router[_0xf05b[18]](_0xf05b[13],license[_0xf05b[6]](),license[_0xf05b[7]](),auth[_0xf05b[8]](),auth[_0xf05b[10]]([8],[_0xf05b[9]]),controller[_0xf05b[17]]);router[_0xf05b[19]](_0xf05b[13],license[_0xf05b[6]](),license[_0xf05b[7]](),auth[_0xf05b[8]](),auth[_0xf05b[10]]([8],[_0xf05b[9]]),controller[_0xf05b[17]]);router[_0xf05b[21]](_0xf05b[13],license[_0xf05b[6]](),license[_0xf05b[7]](),auth[_0xf05b[8]](),auth[_0xf05b[10]]([8],[_0xf05b[9]]),controller[_0xf05b[20]]);module[_0xf05b[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var ChatQueue = require('../../models').ChatQueue;
-var User = require('../../models').User;
-var UserHasChatQueue = require('../../models').UserHasChatQueue;
-
-// Get list of mailQueues
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return ChatQueue
- .scope('default')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- return res.status(200).send({
- rows: result.rows,
- count: result.rows.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get list of my chat_rooms
-exports.me = function(req, res, next) {
- return UserHasChatQueue
- .findAll({
- where: {
- UserId: req.user.id
- }
- })
- .then(function(userHasChatQueues) {
- return res.status(200).send(userHasChatQueues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chat_queue
-exports.show = function(req, res) {
- return ChatQueue
- .findById(req.params.id)
- .then(function(chat_queue) {
- if (!chat_queue) {
- return res.sendStatus(404);
- }
- return res.send(chat_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single queue
-exports.showAgents = function(req, res) {
- return ChatQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chat_queue in the DB.
-exports.create = function(req, res) {
- var _chatQueue;
-
- return ChatQueue
- .create(req.body)
- .then(function(chatQueue) {
- _chatQueue = chatQueue;
-
- if (req.body.agents) {
- return _chatQueue
- .addUsers(req.body.agents, {
- penalty: req.body.penalty || 0,
- queue: _chatQueue.name
- });
- }
- })
- .then(function() {
- return res.status(201).send(_chatQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chat_queue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatQueue
- .findById(req.params.id)
- .then(function(chat_queue) {
- if (!chat_queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chat_queue, req.body);
- return updated.save();
- })
- .then(function(chat_queue) {
- return res.status(200).send(chat_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Add agents to chat queues
-exports.addAgents = function(req, res, next) {
-
- return ChatQueue
- .findById(req.params.id)
- .then(function(chatQueue) {
- if (!chatQueue) {
- return res.sendStatus(404);
- }
- var userHasChatQueues = _.map(req.body.agents, function(agent) {
- return {
- UserId: agent,
- penalty: req.body.penalty,
- ChatQueueId: chatQueue.id,
- queue: chatQueue.name
- };
- });
-
- return UserHasChatQueue
- .bulkCreate(userHasChatQueues, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.removeAgents = function(req, res, next) {
- return ChatQueue
- .findById(req.params.id)
- .then(function(chatQueue) {
- if (!chatQueue) {
- return res.sendStatus(404);
- }
- return chatQueue
- .removeUsers(req.query.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chat_queue from the DB.
-exports.destroy = function(req, res) {
- return ChatQueue
- .findById(req.params.id)
- .then(function(chat_queue) {
- if (!chat_queue) {
- return res.sendStatus(404);
- }
- return chat_queue.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return ChatQueue
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x7c5c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x6F\x77\x73","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x6D\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x61\x67\x65\x6E\x74\x73","\x62\x6F\x64\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x61\x64\x64\x55\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x7c5c[0];var _=require(_0x7c5c[1]);var Util=require(_0x7c5c[2]);var ChatQueue=require(_0x7c5c[4])[_0x7c5c[3]];var User=require(_0x7c5c[4])[_0x7c5c[5]];var UserHasChatQueue=require(_0x7c5c[4])[_0x7c5c[6]];exports[_0x7c5c[7]]= function(_0x8e68x6,_0x8e68x7){switch(_0x8e68x6[_0x7c5c[15]][_0x7c5c[24]]){case _0x7c5c[15]:return User[_0x7c5c[16]](_0x8e68x6[_0x7c5c[15]][_0x7c5c[14]],{attributes:[_0x7c5c[14]]})[_0x7c5c[11]](Util[_0x7c5c[13]](_0x8e68x6[_0x7c5c[12]]))[_0x7c5c[11]](function(_0x8e68x9){_0x8e68x7[_0x7c5c[10]](200)[_0x7c5c[9]](_0x8e68x9)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)});default:return ChatQueue[_0x7c5c[23]](_0x7c5c[22])[_0x7c5c[21]](_[_0x7c5c[20]](Util[_0x7c5c[19]](_0x8e68x6[_0x7c5c[12]]),{distinct:true}))[_0x7c5c[11]](function(_0x8e68x9){return _0x8e68x7[_0x7c5c[10]](200)[_0x7c5c[9]]({rows:_0x8e68x9[_0x7c5c[17]],count:_0x8e68x9[_0x7c5c[17]][_0x7c5c[18]]})})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})}};exports[_0x7c5c[25]]= function(_0x8e68x6,_0x8e68x7,_0x8e68xa){return UserHasChatQueue[_0x7c5c[26]]({where:{UserId:_0x8e68x6[_0x7c5c[15]][_0x7c5c[14]]}})[_0x7c5c[11]](function(_0x8e68xb){return _0x8e68x7[_0x7c5c[10]](200)[_0x7c5c[9]](_0x8e68xb)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[27]]= function(_0x8e68x6,_0x8e68x7){return ChatQueue[_0x7c5c[16]](_0x8e68x6[_0x7c5c[29]][_0x7c5c[14]])[_0x7c5c[11]](function(_0x8e68xc){if(!_0x8e68xc){return _0x8e68x7[_0x7c5c[28]](404)};return _0x8e68x7[_0x7c5c[9]](_0x8e68xc)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[30]]= function(_0x8e68x6,_0x8e68x7){return ChatQueue[_0x7c5c[16]](_0x8e68x6[_0x7c5c[29]][_0x7c5c[14]])[_0x7c5c[11]](function(_0x8e68xe){if(!_0x8e68xe){return _0x8e68x7[_0x7c5c[28]](404)};return _0x8e68xe[_0x7c5c[35]]({where:{role:_0x7c5c[31]},attributes:[_0x7c5c[14],_0x7c5c[32],_0x7c5c[33],_0x7c5c[34]]})})[_0x7c5c[11]](function(_0x8e68xd){return _0x8e68x7[_0x7c5c[10]](200)[_0x7c5c[9]]({rows:_0x8e68xd,count:_0x8e68xd[_0x7c5c[18]]})})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[36]]= function(_0x8e68x6,_0x8e68x7){var _0x8e68xf;return ChatQueue[_0x7c5c[36]](_0x8e68x6[_0x7c5c[38]])[_0x7c5c[11]](function(_0x8e68x10){_0x8e68xf= _0x8e68x10;if(_0x8e68x6[_0x7c5c[38]][_0x7c5c[37]]){return _0x8e68xf[_0x7c5c[40]](_0x8e68x6[_0x7c5c[38]][_0x7c5c[37]],{penalty:_0x8e68x6[_0x7c5c[38]][_0x7c5c[39]]|| 0,queue:_0x8e68xf[_0x7c5c[32]]})}})[_0x7c5c[11]](function(){return _0x8e68x7[_0x7c5c[10]](201)[_0x7c5c[9]](_0x8e68xf)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[41]]= function(_0x8e68x6,_0x8e68x7){if(_0x8e68x6[_0x7c5c[38]][_0x7c5c[14]]){delete _0x8e68x6[_0x7c5c[38]][_0x7c5c[14]]};return ChatQueue[_0x7c5c[16]](_0x8e68x6[_0x7c5c[29]][_0x7c5c[14]])[_0x7c5c[11]](function(_0x8e68xc){if(!_0x8e68xc){return _0x8e68x7[_0x7c5c[28]](404)};var _0x8e68x11=_[_0x7c5c[20]](_0x8e68xc,_0x8e68x6[_0x7c5c[38]]);return _0x8e68x11[_0x7c5c[42]]()})[_0x7c5c[11]](function(_0x8e68xc){return _0x8e68x7[_0x7c5c[10]](200)[_0x7c5c[9]](_0x8e68xc)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[43]]= function(_0x8e68x6,_0x8e68x7,_0x8e68xa){return ChatQueue[_0x7c5c[16]](_0x8e68x6[_0x7c5c[29]][_0x7c5c[14]])[_0x7c5c[11]](function(_0x8e68x10){if(!_0x8e68x10){return _0x8e68x7[_0x7c5c[28]](404)};var _0x8e68xb=_[_0x7c5c[44]](_0x8e68x6[_0x7c5c[38]][_0x7c5c[37]],function(_0x8e68x12){return {UserId:_0x8e68x12,penalty:_0x8e68x6[_0x7c5c[38]][_0x7c5c[39]],ChatQueueId:_0x8e68x10[_0x7c5c[14]],queue:_0x8e68x10[_0x7c5c[32]]}});return UserHasChatQueue[_0x7c5c[45]](_0x8e68xb,{individualHooks:true})})[_0x7c5c[11]](function(){return _0x8e68x7[_0x7c5c[28]](200)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[46]]= function(_0x8e68x6,_0x8e68x7,_0x8e68xa){return ChatQueue[_0x7c5c[16]](_0x8e68x6[_0x7c5c[29]][_0x7c5c[14]])[_0x7c5c[11]](function(_0x8e68x10){if(!_0x8e68x10){return _0x8e68x7[_0x7c5c[28]](404)};return _0x8e68x10[_0x7c5c[47]](_0x8e68x6[_0x7c5c[12]][_0x7c5c[37]],{individualHooks:true})})[_0x7c5c[11]](function(){return _0x8e68x7[_0x7c5c[28]](200)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[48]]= function(_0x8e68x6,_0x8e68x7){return ChatQueue[_0x7c5c[16]](_0x8e68x6[_0x7c5c[29]][_0x7c5c[14]])[_0x7c5c[11]](function(_0x8e68xc){if(!_0x8e68xc){return _0x8e68x7[_0x7c5c[28]](404)};return _0x8e68xc[_0x7c5c[48]]()})[_0x7c5c[11]](function(){return _0x8e68x7[_0x7c5c[28]](204)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};exports[_0x7c5c[49]]= function(_0x8e68x6,_0x8e68x7){return ChatQueue[_0x7c5c[48]]({where:{id:_0x8e68x6[_0x7c5c[12]][_0x7c5c[50]]},individualHooks:true})[_0x7c5c[11]](function(){return _0x8e68x7[_0x7c5c[28]](204)})[_0x7c5c[8]](function(_0x8e68x8){return handleError(_0x8e68x7,_0x8e68x8)})};function handleError(_0x8e68x7,_0x8e68x8){return _0x8e68x7[_0x7c5c[10]](500)[_0x7c5c[9]](_0x8e68x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatQueue = require('../../models').ChatQueue;
-
-var ChatQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatQueueEvents.emit(event + ':' + doc._id, doc);
- ChatQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatQueueEvents;
+var _0xf9a3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf9a3[0];const EventEmitter=require(_0xf9a3[1]);const ChatQueue=require(_0xf9a3[3])[_0xf9a3[2]];var ChatQueueEvents= new EventEmitter();ChatQueueEvents[_0xf9a3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xf9a3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xf9a3[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xf9a3[6]};for(var e in events){var event=events[e];ChatQueue[_0xf9a3[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x832ax8,_0x832ax9,_0x832axa){ChatQueueEvents[_0xf9a3[10]](event+ _0xf9a3[8]+ _0x832ax8[_0xf9a3[9]],_0x832ax8);ChatQueueEvents[_0xf9a3[10]](event,_0x832ax8);_0x832axa(null)}}module[_0xf9a3[11]]= ChatQueueEvents
\ No newline at end of file
-'use strict';
-
-const ChatQueueEvents = require('./chat_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_queue:' + event, socket);
-
- ChatQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatQueueEvents.removeListener(event, listener);
- };
-}
+var _0xd17e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xd17e[0];const ChatQueueEvents=require(_0xd17e[1]);var events=[_0xd17e[2],_0xd17e[3]];exports[_0xd17e[4]]= function(_0xbfdfx3){for(var _0xbfdfx4=0,_0xbfdfx5=events[_0xd17e[5]];_0xbfdfx4< _0xbfdfx5;_0xbfdfx4++){var _0xbfdfx6=events[_0xbfdfx4];var _0xbfdfx7=createListener(_0xd17e[6]+ _0xbfdfx6,_0xbfdfx3);ChatQueueEvents[_0xd17e[7]](_0xbfdfx6,_0xbfdfx7);_0xbfdfx3[_0xd17e[7]](_0xd17e[8],removeListener(_0xbfdfx6,_0xbfdfx7))}};function createListener(_0xbfdfx6,_0xbfdfx3){return function(_0xbfdfx9){_0xbfdfx3[_0xd17e[9]](_0xbfdfx6,_0xbfdfx9)}}function removeListener(_0xbfdfx6,_0xbfdfx7){return function(){ChatQueueEvents[_0xd17e[10]](_0xbfdfx6,_0xbfdfx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./chat_queue.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/me', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.me);
-router.get('/:id/agents', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.showAgents);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.post('/:id/agents', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.addAgents);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/:id/agents', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.removeAgents);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xc5ed=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6D\x65","\x6D\x65","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x64\x65\x6C\x65\x74\x65","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xc5ed[0];var express=require(_0xc5ed[1]);var controller=require(_0xc5ed[2]);var auth=require(_0xc5ed[3]);var license=require(_0xc5ed[4]);var router=express.Router();router[_0xc5ed[12]](_0xc5ed[5],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[11]]);router[_0xc5ed[12]](_0xc5ed[13],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[14]]);router[_0xc5ed[12]](_0xc5ed[15],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[16]]);router[_0xc5ed[12]](_0xc5ed[17],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[18]]);router[_0xc5ed[20]](_0xc5ed[5],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[19]]);router[_0xc5ed[20]](_0xc5ed[15],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[21]]);router[_0xc5ed[23]](_0xc5ed[17],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[22]]);router[_0xc5ed[25]](_0xc5ed[15],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[24]]);router[_0xc5ed[26]](_0xc5ed[17],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[22]]);router[_0xc5ed[25]](_0xc5ed[5],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[27]]);router[_0xc5ed[25]](_0xc5ed[17],license[_0xc5ed[6]](),license[_0xc5ed[7]](),auth[_0xc5ed[8]](),auth[_0xc5ed[10]]([8],[_0xc5ed[9]]),controller[_0xc5ed[28]]);module[_0xc5ed[29]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var md5 = require('md5');
-var moment = require('moment');
-var csv = require('to-csv');
-var util = require('util');
-
-var Util = require('../../config/util');
-
-var User = require('../../models').User;
-var Agent = require('../../models').User;
-var ChatRoom = require('../../models').ChatRoom;
-var ChatMessage = require('../../models').ChatMessage;
-var ChatWebsite = require('../../models').ChatWebsite;
-var ChatApplication = require('../../models').ChatApplication;
-var ChatQueue = require('../../models').ChatQueue;
-var ChatVisitor = require('../../models').ChatVisitor;
-var List = require('../../models').List;
-var UserHasChatRoom = require('../../models').UserHasChatRoom;
-
-// Get list of chat_rooms
-exports.index = function(req, res, next) {
- return ChatRoom
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }, {
- model: ChatMessage
- }, {
- model: ChatVisitor
- }]
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ChatRoom
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getChatQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser({}, {
- attributes: ['id']
- }))
- .then(function(userQueues) {
- return {
- include: {
- model: ChatWebsite,
- include: {
- model: ChatApplication,
- include: {
- model: ChatQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-exports.unmanaged = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ChatRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'UNMANAGED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.updatePatch = function(req, res, next) {
- var _values = {
- tags: req.body.tags
- };
- var _options = {
- where: {
- id: req.params.id.split(',')
- }
- };
-
- return ChatRoom
- .update(_values, _options)
- .then(function(chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return chatRooms
- })
- .then(function(chatRooms) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function checkTags(query) {
- if (query) {
- if (query.tags) {
- query.$and = [];
- if (_.isArray(query.tags)) {
- for (var i = 0; i < query.tags.length; i++) {
- query.$and.push({
- tags: {
- $like: '%' + query.tags[i] + ';%'
- }
- });
- }
- } else {
- query.$and.push({
- tags: {
- $like: '%' + query.tags + ';%'
- }
- });
- }
-
- delete query.tags;
- }
- }
-}
-
-exports.getAgents = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id'],
- where: {
- id: {
- $ne: req.user.id
- },
- online: true
- }
- })
- .then(Util.getAgentsIdByUser(_.merge(req.query, {
- id: {
- $ne: req.user.id
- }
- })))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return User
- .scope('all')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- where: {
- id: {
- $ne: req.user.id
- },
- online: true
- }
- }))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-exports.getGroups = function(req, res, next) {
- checkTags(req.query);
- var _query = {
- where: _.merge({
- type: 'group'
- }, req.query)
- };
-
- switch (req.user.role) {
- case 'agent':
- _.merge(_query, {
- include: [{
- model: User,
- attributes: ['id'],
- where: {
- id: req.user.id
- }
- }]
- })
- break;
-
- default:
- }
-
- return ChatRoom
- .findAll(_query)
- .then(function(chatRooms) {
- return ChatRoom
- .findAll({
- where: {
- id: {
- $in: _.map(chatRooms, 'id')
- }
- },
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'role', 'userpic']
- }, {
- model: ChatVisitor
- }]
- });
- })
- .then(function(chatRooms) {
- return res.status(200).send({
- rows: chatRooms,
- count: chatRooms.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getExternals = function(req, res, next) {
- checkTags(req.query);
- var _query = {
- where: _.merge({
- type: 'external'
- }, req.query),
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname']
- }]
- };
-
- switch (req.user.role) {
- case 'agent':
- _query.include.push({
- model: User,
- attributes: ['id'],
- where: {
- id: req.user.id
- }
- });
-
- break;
- default:
- }
-
- return ChatRoom
- .findAll(_query)
- .then(function(chatRooms) {
- return res.status(200).send({
- rows: chatRooms,
- count: chatRooms.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getAgent = function(req, res, next) {
- return User
- .scope('all')
- .findById(req.params.id)
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getOnlineRoom = function(req, res, next) {
- return ChatRoom
- .scope('online')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }, {
- model: ChatMessage
- }, {
- model: ChatVisitor
- }]
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get list of my chat_rooms
-exports.me = function(req, res) {
- return User
- .findById(req.user.id)
- .then(function(user) {
- return user
- .getChatRooms({
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- });
- })
- .then(function(chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return res.send(chatRooms);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom
-exports.show = function(req, res) {
- return ChatRoom
- .findById(req.params.id, {
- include: [{
- model: ChatMessage,
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'email', 'fullname']
- }, {
- model: User,
- attributes: ['id', 'email', 'name', 'fullname', 'userpic', 'role', 'internal']
- }]
- }, {
- model: User,
- attributes: ['id', 'email', 'name', 'fullname', 'userpic', 'role', 'internal']
- }, {
- model: ChatVisitor
- }, {
- model: ChatWebsite,
- attributes: ['id', 'name', 'address'],
- include: [List]
- }]
- })
- .then(function(chatRoom) {
- if (!chatRoom) {
- return res.sendStatus(404);
- }
- return res.send(chatRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom by users
-exports.getRoomByUsers = function(req, res, next) {
-
- var _chatRoom;
-
- return ChatRoom
- .findOrCreate({
- where: {
- token: md5(JSON.stringify(req.query.users.sort())).toString('base64')
- },
- defaults: {
- type: 'internal',
- token: md5(JSON.stringify(req.query.users.sort())).toString('base64'),
- status: 'OPEN'
- },
- include: [{
- model: ChatMessage,
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'email', 'fullname']
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- })
- .spread(function(chatRoom, created) {
- _chatRoom = chatRoom;
- if (created) {
- return _chatRoom
- .setUsers(req.query.users);
- }
- })
- .then(function() {
- return _chatRoom
- .getUsers();
- })
- .then(function(users) {
- return res.status(200).send(_.merge(_chatRoom.dataValues, {
- Users: users
- }));
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.createMessage = function(req, res, next) {
- var _chatRoom;
-
- return ChatRoom
- .findById(req.params.id)
- .then(function(chatRoom) {
- _chatRoom = chatRoom;
-
- if (!_chatRoom) {
- return res.sendStatus(404);
- }
- })
- .then(function() {
- return ChatMessage
- .create(_.merge(req.body, {
- type: _chatRoom.type,
- ChatRoomId: req.params.id,
- UserId: req.user.id
- }));
- })
- .then(function(chatMessage) {
- return res.status(200).send(chatMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.export = function(req, res, next) {
- return ChatRoom
- .findById(req.params.id, {
- include: [{
- model: ChatMessage,
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname']
- }, {
- model: User,
- attributes: ['id', 'fullname']
- }]
- }]
- })
- .then(function(chatRoom) {
- var chatMessageForCSV = [];
- chatRoom.ChatMessages.forEach(function(chatMessage) {
- chatMessageForCSV.push({
- name: chatMessage.User ? chatMessage.User.fullname : chatMessage.ChatVisitor.fullname,
- text: chatMessage.body.replace(/(\r\n|\n|\r)/gm, " "),
- date: chatMessage.createdAt
- });
- });
- return res.type('text/csv')
- .status(200).send(csv(chatMessageForCSV));
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom
-exports.getRoomByType = function(req, res) {
- return User
- .findById(req.user.id)
- .then(function(user) {
- return user
- .getChatRooms({
- where: {
- type: req.params.type
- },
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }]
- });
- })
- .then(function(chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return res.send(chatRooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single chatRoom
-exports.getRoomGroups = function(req, res) {
- return User
- .findById(req.user.id)
- .then(function(user) {
- return user
- .getChatRooms({
- include: [{
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- }]
- });
- })
- .then(function(chatRooms) {
- if (!chatRooms) {
- return res.sendStatus(404);
- }
- return res.send(chatRooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chatRoom in the DB.
-exports.create = function(req, res) {};
-
-// Updates an existing chatRoom in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatRoom
- .findById(req.params.id)
- .then(function(chatRoom) {
- if (!chatRoom) {
- return res.sendStatus(404);
- }
- return chatRoom
- .update(req.body);
- })
- .then(function(chatRoom) {
- return res.status(200).send(chatRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chatRoom in the DB.
-exports.updateUsers = function(req, res) {
- var _chatRoom;
-
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatRoom
- .findById(req.params.id)
- .then(function(chatRoom) {
- if (!chatRoom || !req.body.users) {
- return res.sendStatus(404);
- }
- return chatRoom;
- })
- .then(function(chatRoom) {
- return chatRoom
- .update({
- type: 'group',
- token: md5(JSON.stringify(req.body.users.sort())).toString('base64')
- });
- })
- .then(function(chatRoom) {
- _chatRoom = chatRoom;
- return chatRoom
- .setUsers(req.body.users.sort(), {
- individualHooks: true
- });
- })
- .then(function() {
- return _chatRoom
- .getUsers();
- })
- .then(function(users) {
- _.merge(_chatRoom.dataValues, {
- Users: users
- });
-
- return res.status(200).send(_chatRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chatRoom from the DB.
-exports.destroy = function(req, res) {
- return ChatRoom
- .findById(req.params.id)
- .then(function(chatRoom) {
- if (!chatRoom) {
- return res.sendStatus(404);
- }
- return chatRoom
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- console.log(err);
- return res.status(500).send(err);
-}
+var _0xf59e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x6D\x6F\x6D\x65\x6E\x74","\x74\x6F\x2D\x63\x73\x76","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x4C\x69\x73\x74","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x69\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x6D\x61\x70","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x74\x61\x67\x73","\x62\x6F\x64\x79","\x2C","\x73\x70\x6C\x69\x74","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x24\x61\x6E\x64","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x25","\x3B\x25","\x70\x75\x73\x68","\x67\x65\x74\x41\x67\x65\x6E\x74\x73","\x67\x65\x74\x41\x67\x65\x6E\x74\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x73\x63\x6F\x70\x65","\x67\x65\x74\x47\x72\x6F\x75\x70\x73","\x67\x72\x6F\x75\x70","\x61\x67\x65\x6E\x74","\x75\x73\x65\x72\x70\x69\x63","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x45\x78\x74\x65\x72\x6E\x61\x6C\x73","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x63\x6C\x75\x64\x65","\x67\x65\x74\x41\x67\x65\x6E\x74","\x67\x65\x74\x4F\x6E\x6C\x69\x6E\x65\x52\x6F\x6F\x6D","\x6F\x6E\x6C\x69\x6E\x65","\x6D\x65","\x65\x72\x72\x6F\x72","\x67\x65\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D\x73","\x73\x68\x6F\x77","\x61\x64\x64\x72\x65\x73\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x67\x65\x74\x55\x73\x65\x72\x73","\x75\x73\x65\x72\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x73\x70\x72\x65\x61\x64","\x62\x61\x73\x65\x36\x34","\x73\x6F\x72\x74","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x4F\x50\x45\x4E","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x74\x79\x70\x65","\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74","\x20","\x72\x65\x70\x6C\x61\x63\x65","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x66\x6F\x72\x45\x61\x63\x68","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x74\x65\x78\x74\x2F\x63\x73\x76","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x47\x72\x6F\x75\x70\x73","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79"];_0xf59e[0];var _=require(_0xf59e[1]);var md5=require(_0xf59e[2]);var moment=require(_0xf59e[3]);var csv=require(_0xf59e[4]);var util=require(_0xf59e[5]);var Util=require(_0xf59e[6]);var User=require(_0xf59e[8])[_0xf59e[7]];var Agent=require(_0xf59e[8])[_0xf59e[7]];var ChatRoom=require(_0xf59e[8])[_0xf59e[9]];var ChatMessage=require(_0xf59e[8])[_0xf59e[10]];var ChatWebsite=require(_0xf59e[8])[_0xf59e[11]];var ChatApplication=require(_0xf59e[8])[_0xf59e[12]];var ChatQueue=require(_0xf59e[8])[_0xf59e[13]];var ChatVisitor=require(_0xf59e[8])[_0xf59e[14]];var List=require(_0xf59e[8])[_0xf59e[15]];var UserHasChatRoom=require(_0xf59e[8])[_0xf59e[16]];exports[_0xf59e[17]]= function(_0x5933x11,_0x5933x12,_0x5933x13){return ChatRoom[_0xf59e[32]](_[_0xf59e[31]](Util[_0xf59e[24]](_0x5933x11[_0xf59e[23]]),{include:[{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[28],_0xf59e[29],_0xf59e[30]]},{model:ChatMessage},{model:ChatVisitor}]}))[_0xf59e[22]](function(_0x5933x15){_0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x15)})[_0xf59e[19]](function(_0x5933x14){console[_0xf59e[18]](_0x5933x14);return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[33]]= function(_0x5933x11,_0x5933x12){return ChatRoom[_0xf59e[33]]()[_0xf59e[22]](function(_0x5933x16){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x16)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};function getChatQueues(_0x5933x18){return function(){switch(_0x5933x18[_0xf59e[29]]){case _0xf59e[37]:return User[_0xf59e[36]](_0x5933x18[_0xf59e[25]],{attributes:[_0xf59e[25]]})[_0xf59e[22]](Util[_0xf59e[35]]({},{attributes:[_0xf59e[25]]}))[_0xf59e[22]](function(_0x5933x19){return {include:{model:ChatWebsite,include:{model:ChatApplication,include:{model:ChatQueue,where:{id:_[_0xf59e[34]](_0x5933x19,_0xf59e[25])}}}}}});default:return {}}}}exports[_0xf59e[38]]= function(_0x5933x11,_0x5933x12){return Promise[_0xf59e[43]]([])[_0xf59e[22]](getChatQueues(_0x5933x11[_0xf59e[37]]))[_0xf59e[22]](function(_0x5933x1b){return ChatRoom[_0xf59e[42]](_[_0xf59e[31]](Util[_0xf59e[24]](_0x5933x11[_0xf59e[23]],{status:_0xf59e[39],updatedAt:{$gte:moment()[_0xf59e[41]](_0xf59e[40])}}),_0x5933x1b))})[_0xf59e[22]](function(_0x5933x1a){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]]({value:_0x5933x1a})})[_0xf59e[19]](function(_0x5933x14){console[_0xf59e[18]](_0x5933x14);return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[44]]= function(_0x5933x11,_0x5933x12,_0x5933x13){var _0x5933x1c={tags:_0x5933x11[_0xf59e[46]][_0xf59e[45]]};var _0x5933x1d={where:{id:_0x5933x11[_0xf59e[49]][_0xf59e[25]][_0xf59e[48]](_0xf59e[47])}};return ChatRoom[_0xf59e[51]](_0x5933x1c,_0x5933x1d)[_0xf59e[22]](function(_0x5933x1e){if(!_0x5933x1e){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x1e})[_0xf59e[22]](function(_0x5933x1e){return _0x5933x12[_0xf59e[50]](200)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};function checkTags(_0x5933x20){if(_0x5933x20){if(_0x5933x20[_0xf59e[45]]){_0x5933x20[_0xf59e[52]]= [];if(_[_0xf59e[53]](_0x5933x20[_0xf59e[45]])){for(var _0x5933x21=0;_0x5933x21< _0x5933x20[_0xf59e[45]][_0xf59e[54]];_0x5933x21++){_0x5933x20[_0xf59e[52]][_0xf59e[57]]({tags:{$like:_0xf59e[55]+ _0x5933x20[_0xf59e[45]][_0x5933x21]+ _0xf59e[56]}})}}else {_0x5933x20[_0xf59e[52]][_0xf59e[57]]({tags:{$like:_0xf59e[55]+ _0x5933x20[_0xf59e[45]]+ _0xf59e[56]}})};delete _0x5933x20[_0xf59e[45]]}}}exports[_0xf59e[58]]= function(_0x5933x11,_0x5933x12,_0x5933x13){switch(_0x5933x11[_0xf59e[37]][_0xf59e[29]]){case _0xf59e[37]:return User[_0xf59e[36]](_0x5933x11[_0xf59e[37]][_0xf59e[25]],{attributes:[_0xf59e[25]],where:{id:{$ne:_0x5933x11[_0xf59e[37]][_0xf59e[25]]},online:true}})[_0xf59e[22]](Util[_0xf59e[59]](_[_0xf59e[31]](_0x5933x11[_0xf59e[23]],{id:{$ne:_0x5933x11[_0xf59e[37]][_0xf59e[25]]}})))[_0xf59e[22]](function(_0x5933x15){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x15)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)});default:return User[_0xf59e[60]](_0xf59e[43])[_0xf59e[32]](_[_0xf59e[31]](Util[_0xf59e[24]](_0x5933x11[_0xf59e[23]]),{where:{id:{$ne:_0x5933x11[_0xf59e[37]][_0xf59e[25]]},online:true}}))[_0xf59e[22]](function(_0x5933x15){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x15)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})}};exports[_0xf59e[61]]= function(_0x5933x11,_0x5933x12,_0x5933x13){checkTags(_0x5933x11[_0xf59e[23]]);var _0x5933x22={where:_[_0xf59e[31]]({type:_0xf59e[62]},_0x5933x11[_0xf59e[23]])};switch(_0x5933x11[_0xf59e[37]][_0xf59e[29]]){case _0xf59e[63]:_[_0xf59e[31]](_0x5933x22,{include:[{model:User,attributes:[_0xf59e[25]],where:{id:_0x5933x11[_0xf59e[37]][_0xf59e[25]]}}]});break;default:};return ChatRoom[_0xf59e[65]](_0x5933x22)[_0xf59e[22]](function(_0x5933x1e){return ChatRoom[_0xf59e[65]]({where:{id:{$in:_[_0xf59e[34]](_0x5933x1e,_0xf59e[25])}},include:[{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[29],_0xf59e[64]]},{model:ChatVisitor}]})})[_0xf59e[22]](function(_0x5933x1e){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]]({rows:_0x5933x1e,count:_0x5933x1e[_0xf59e[54]]})})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[66]]= function(_0x5933x11,_0x5933x12,_0x5933x13){checkTags(_0x5933x11[_0xf59e[23]]);var _0x5933x22={where:_[_0xf59e[31]]({type:_0xf59e[67]},_0x5933x11[_0xf59e[23]]),include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[27]]}]};switch(_0x5933x11[_0xf59e[37]][_0xf59e[29]]){case _0xf59e[63]:_0x5933x22[_0xf59e[68]][_0xf59e[57]]({model:User,attributes:[_0xf59e[25]],where:{id:_0x5933x11[_0xf59e[37]][_0xf59e[25]]}});break;default:};return ChatRoom[_0xf59e[65]](_0x5933x22)[_0xf59e[22]](function(_0x5933x1e){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]]({rows:_0x5933x1e,count:_0x5933x1e[_0xf59e[54]]})})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[69]]= function(_0x5933x11,_0x5933x12,_0x5933x13){return User[_0xf59e[60]](_0xf59e[43])[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x15){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x15)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[70]]= function(_0x5933x11,_0x5933x12,_0x5933x13){return ChatRoom[_0xf59e[60]](_0xf59e[71])[_0xf59e[32]](_[_0xf59e[31]](Util[_0xf59e[24]](_0x5933x11[_0xf59e[23]]),{include:[{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[28],_0xf59e[29],_0xf59e[30]]},{model:ChatMessage},{model:ChatVisitor}]}))[_0xf59e[22]](function(_0x5933x15){_0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x15)})[_0xf59e[19]](function(_0x5933x14){console[_0xf59e[18]](_0x5933x14);return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[72]]= function(_0x5933x11,_0x5933x12){return User[_0xf59e[36]](_0x5933x11[_0xf59e[37]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x18){return _0x5933x18[_0xf59e[74]]({include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[27],_0xf59e[28]]},{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[28],_0xf59e[29],_0xf59e[30]]}]})})[_0xf59e[22]](function(_0x5933x1e){if(!_0x5933x1e){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x12[_0xf59e[20]](_0x5933x1e)})[_0xf59e[19]](function(_0x5933x14){console[_0xf59e[73]](_0x5933x14);return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[75]]= function(_0x5933x11,_0x5933x12){return ChatRoom[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]],{include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[28],_0xf59e[27]]},{model:User,attributes:[_0xf59e[25],_0xf59e[28],_0xf59e[26],_0xf59e[27],_0xf59e[64],_0xf59e[29],_0xf59e[30]]}]},{model:User,attributes:[_0xf59e[25],_0xf59e[28],_0xf59e[26],_0xf59e[27],_0xf59e[64],_0xf59e[29],_0xf59e[30]]},{model:ChatVisitor},{model:ChatWebsite,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[76]],include:[List]}]})[_0xf59e[22]](function(_0x5933x23){if(!_0x5933x23){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x12[_0xf59e[20]](_0x5933x23)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[77]]= function(_0x5933x11,_0x5933x12,_0x5933x13){var _0x5933x24;return ChatRoom[_0xf59e[87]]({where:{token:md5(JSON[_0xf59e[85]](_0x5933x11[_0xf59e[23]][_0xf59e[80]][_0xf59e[84]]())).toString(_0xf59e[83])},defaults:{type:_0xf59e[30],token:md5(JSON[_0xf59e[85]](_0x5933x11[_0xf59e[23]][_0xf59e[80]][_0xf59e[84]]())).toString(_0xf59e[83]),status:_0xf59e[86]},include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[28],_0xf59e[27]]},{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[28],_0xf59e[29],_0xf59e[30]]}]},{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[28],_0xf59e[29],_0xf59e[30]]}]})[_0xf59e[82]](function(_0x5933x23,_0x5933x26){_0x5933x24= _0x5933x23;if(_0x5933x26){return _0x5933x24[_0xf59e[81]](_0x5933x11[_0xf59e[23]][_0xf59e[80]])}})[_0xf59e[22]](function(){return _0x5933x24[_0xf59e[79]]()})[_0xf59e[22]](function(_0x5933x25){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_[_0xf59e[31]](_0x5933x24[_0xf59e[78]],{Users:_0x5933x25}))})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[88]]= function(_0x5933x11,_0x5933x12,_0x5933x13){var _0x5933x24;return ChatRoom[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x23){_0x5933x24= _0x5933x23;if(!_0x5933x24){return _0x5933x12[_0xf59e[50]](404)}})[_0xf59e[22]](function(){return ChatMessage[_0xf59e[90]](_[_0xf59e[31]](_0x5933x11[_0xf59e[46]],{type:_0x5933x24[_0xf59e[89]],ChatRoomId:_0x5933x11[_0xf59e[49]][_0xf59e[25]],UserId:_0x5933x11[_0xf59e[37]][_0xf59e[25]]}))})[_0xf59e[22]](function(_0x5933x27){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x27)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[91]]= function(_0x5933x11,_0x5933x12,_0x5933x13){return ChatRoom[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]],{include:[{model:ChatMessage,include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[27]]},{model:User,attributes:[_0xf59e[25],_0xf59e[27]]}]}]})[_0xf59e[22]](function(_0x5933x23){var _0x5933x28=[];_0x5933x23[_0xf59e[96]][_0xf59e[95]](function(_0x5933x27){_0x5933x28[_0xf59e[57]]({name:_0x5933x27[_0xf59e[7]]?_0x5933x27[_0xf59e[7]][_0xf59e[27]]:_0x5933x27[_0xf59e[14]][_0xf59e[27]],text:_0x5933x27[_0xf59e[46]][_0xf59e[93]](/(\r\n|\n|\r)/gm,_0xf59e[92]),date:_0x5933x27[_0xf59e[94]]})});return _0x5933x12[_0xf59e[89]](_0xf59e[97])[_0xf59e[21]](200)[_0xf59e[20]](csv(_0x5933x28))})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[98]]= function(_0x5933x11,_0x5933x12){return User[_0xf59e[36]](_0x5933x11[_0xf59e[37]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x18){return _0x5933x18[_0xf59e[74]]({where:{type:_0x5933x11[_0xf59e[49]][_0xf59e[89]]},include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[27],_0xf59e[28]]}]})})[_0xf59e[22]](function(_0x5933x1e){if(!_0x5933x1e){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x12[_0xf59e[20]](_0x5933x1e)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[99]]= function(_0x5933x11,_0x5933x12){return User[_0xf59e[36]](_0x5933x11[_0xf59e[37]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x18){return _0x5933x18[_0xf59e[74]]({include:[{model:ChatVisitor,attributes:[_0xf59e[25],_0xf59e[27],_0xf59e[28]]},{model:User,attributes:[_0xf59e[25],_0xf59e[26],_0xf59e[27],_0xf59e[28],_0xf59e[29],_0xf59e[30]]}]})})[_0xf59e[22]](function(_0x5933x1e){if(!_0x5933x1e){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x12[_0xf59e[20]](_0x5933x1e)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[90]]= function(_0x5933x11,_0x5933x12){};exports[_0xf59e[51]]= function(_0x5933x11,_0x5933x12){if(_0x5933x11[_0xf59e[46]][_0xf59e[25]]){delete _0x5933x11[_0xf59e[46]][_0xf59e[25]]};return ChatRoom[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x23){if(!_0x5933x23){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x23[_0xf59e[51]](_0x5933x11[_0xf59e[46]])})[_0xf59e[22]](function(_0x5933x23){return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x23)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[100]]= function(_0x5933x11,_0x5933x12){var _0x5933x24;if(_0x5933x11[_0xf59e[46]][_0xf59e[25]]){delete _0x5933x11[_0xf59e[46]][_0xf59e[25]]};return ChatRoom[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x23){if(!_0x5933x23|| !_0x5933x11[_0xf59e[46]][_0xf59e[80]]){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x23})[_0xf59e[22]](function(_0x5933x23){return _0x5933x23[_0xf59e[51]]({type:_0xf59e[62],token:md5(JSON[_0xf59e[85]](_0x5933x11[_0xf59e[46]][_0xf59e[80]][_0xf59e[84]]())).toString(_0xf59e[83])})})[_0xf59e[22]](function(_0x5933x23){_0x5933x24= _0x5933x23;return _0x5933x23[_0xf59e[81]](_0x5933x11[_0xf59e[46]][_0xf59e[80]][_0xf59e[84]](),{individualHooks:true})})[_0xf59e[22]](function(){return _0x5933x24[_0xf59e[79]]()})[_0xf59e[22]](function(_0x5933x25){_[_0xf59e[31]](_0x5933x24[_0xf59e[78]],{Users:_0x5933x25});return _0x5933x12[_0xf59e[21]](200)[_0xf59e[20]](_0x5933x24)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};exports[_0xf59e[101]]= function(_0x5933x11,_0x5933x12){return ChatRoom[_0xf59e[36]](_0x5933x11[_0xf59e[49]][_0xf59e[25]])[_0xf59e[22]](function(_0x5933x23){if(!_0x5933x23){return _0x5933x12[_0xf59e[50]](404)};return _0x5933x23[_0xf59e[101]]()})[_0xf59e[22]](function(){return _0x5933x12[_0xf59e[50]](204)})[_0xf59e[19]](function(_0x5933x14){return handleError(_0x5933x12,_0x5933x14)})};function handleError(_0x5933x12,_0x5933x14){console[_0xf59e[18]](_0x5933x14);return _0x5933x12[_0xf59e[21]](500)[_0xf59e[20]](_0x5933x14)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatRoom = require('../../models').ChatRoom;
-
-var ChatRoomEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatRoomEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatRoom.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatRoomEvents.emit(event + ':' + doc._id, doc);
- ChatRoomEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatRoomEvents;
+var _0x3e09=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x3e09[0];const EventEmitter=require(_0x3e09[1]);const ChatRoom=require(_0x3e09[3])[_0x3e09[2]];var ChatRoomEvents= new EventEmitter();ChatRoomEvents[_0x3e09[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x3e09[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x3e09[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x3e09[6]};for(var e in events){var event=events[e];ChatRoom[_0x3e09[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xeccex8,_0xeccex9,_0xeccexa){ChatRoomEvents[_0x3e09[10]](event+ _0x3e09[8]+ _0xeccex8[_0x3e09[9]],_0xeccex8);ChatRoomEvents[_0x3e09[10]](event,_0xeccex8);_0xeccexa(null)}}module[_0x3e09[11]]= ChatRoomEvents
\ No newline at end of file
-'use strict';
-
-const ChatRoomEvents = require('./chat_room.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_room:' + event, socket);
-
- ChatRoomEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatRoomEvents.removeListener(event, listener);
- };
-}
+var _0x7e8b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7e8b[0];const ChatRoomEvents=require(_0x7e8b[1]);var events=[_0x7e8b[2],_0x7e8b[3]];exports[_0x7e8b[4]]= function(_0xede8x3){for(var _0xede8x4=0,_0xede8x5=events[_0x7e8b[5]];_0xede8x4< _0xede8x5;_0xede8x4++){var _0xede8x6=events[_0xede8x4];var _0xede8x7=createListener(_0x7e8b[6]+ _0xede8x6,_0xede8x3);ChatRoomEvents[_0x7e8b[7]](_0xede8x6,_0xede8x7);_0xede8x3[_0x7e8b[7]](_0x7e8b[8],removeListener(_0xede8x6,_0xede8x7))}};function createListener(_0xede8x6,_0xede8x3){return function(_0xede8x9){_0xede8x3[_0x7e8b[9]](_0xede8x6,_0xede8x9)}}function removeListener(_0xede8x6,_0xede8x7){return function(){ChatRoomEvents[_0x7e8b[10]](_0xede8x6,_0xede8x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./chat_room.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.index);
-router.get('/online', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getOnlineRoom);
-router.get('/describe', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.describe);
-router.get('/unmanaged', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.unmanaged);
-router.get('/me', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'user', 'agent']), controller.me);
-router.get('/groups', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getGroups);
-router.get('/externals', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getExternals);
-router.get('/agents', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getAgents);
-router.get('/agents/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getAgent);
-router.get('/users', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getRoomByUsers);
-// router.get('/groups', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getRoomGroups);
-router.get('/type/:type', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getRoomByType);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.show);
-router.get('/:id/export', license.isValidDate(), license.hasChat(), controller.export);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.create);
-router.post('/:id/messages', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.createMessage);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.updatePatch);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.update);
-router.put('/:id/users', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.updateUsers);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.destroy);
-
-module.exports = router;
+var _0x1950=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x6F\x6E\x6C\x69\x6E\x65","\x67\x65\x74\x4F\x6E\x6C\x69\x6E\x65\x52\x6F\x6F\x6D","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x2F\x6D\x65","\x75\x73\x65\x72","\x6D\x65","\x2F\x67\x72\x6F\x75\x70\x73","\x67\x65\x74\x47\x72\x6F\x75\x70\x73","\x2F\x65\x78\x74\x65\x72\x6E\x61\x6C\x73","\x67\x65\x74\x45\x78\x74\x65\x72\x6E\x61\x6C\x73","\x2F\x61\x67\x65\x6E\x74\x73","\x67\x65\x74\x41\x67\x65\x6E\x74\x73","\x2F\x61\x67\x65\x6E\x74\x73\x2F\x3A\x69\x64","\x67\x65\x74\x41\x67\x65\x6E\x74","\x2F\x75\x73\x65\x72\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x55\x73\x65\x72\x73","\x2F\x74\x79\x70\x65\x2F\x3A\x74\x79\x70\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x54\x79\x70\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x65\x78\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x70\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x75\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1950[0];var express=require(_0x1950[1]);var controller=require(_0x1950[2]);var auth=require(_0x1950[3]);var license=require(_0x1950[4]);var router=express.Router();router[_0x1950[13]](_0x1950[5],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[12]]);router[_0x1950[13]](_0x1950[14],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[15]]);router[_0x1950[13]](_0x1950[16],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9]]),controller[_0x1950[17]]);router[_0x1950[13]](_0x1950[18],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9]]),controller[_0x1950[19]]);router[_0x1950[13]](_0x1950[20],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[21],_0x1950[10]]),controller[_0x1950[22]]);router[_0x1950[13]](_0x1950[23],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[24]]);router[_0x1950[13]](_0x1950[25],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[26]]);router[_0x1950[13]](_0x1950[27],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[28]]);router[_0x1950[13]](_0x1950[29],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[30]]);router[_0x1950[13]](_0x1950[31],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[32]]);router[_0x1950[13]](_0x1950[33],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[34]]);router[_0x1950[13]](_0x1950[35],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[36]]);router[_0x1950[13]](_0x1950[37],license[_0x1950[6]](),license[_0x1950[7]](),controller[_0x1950[38]]);router[_0x1950[40]](_0x1950[5],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[39]]);router[_0x1950[40]](_0x1950[41],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[42]]);router[_0x1950[44]](_0x1950[35],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[43]]);router[_0x1950[46]](_0x1950[35],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[45]]);router[_0x1950[46]](_0x1950[47],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[48]]);router[_0x1950[50]](_0x1950[35],license[_0x1950[6]](),license[_0x1950[7]](),auth[_0x1950[8]](),auth[_0x1950[11]]([8],[_0x1950[9],_0x1950[10]]),controller[_0x1950[49]]);module[_0x1950[51]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var ChatVisitor = require('../../models').ChatVisitor;
-var ChatEnquiry = require('../../models').ChatEnquiry;
-var ChatWebsite = require('../../models').ChatWebsite;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ChatVisitor
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- include: [{
- model: ChatWebsite
- }]
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-// Get a single chatVisitor
-exports.show = function(req, res) {
- return ChatVisitor
- .findById(req.params.id, {
- include: [{
- model: ChatEnquiry
- }, {
- model: ChatWebsite
- }]
- })
- .then(function(chatVisitor) {
- if (!chatVisitor) {
- return res.sendStatus(404);
- }
- return res.send(chatVisitor);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chatVisitor in the DB.
-exports.create = function(req, res) {
- return ChatVisitor
- .create(req.body)
- .then(function(chatVisitor) {
- return res.status(201).send(chatVisitor);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chatVisitor in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatVisitor
- .findById(req.params.id)
- .then(function(chatVisitor) {
- if (!chatVisitor) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chatVisitor, req.body);
- return updated
- .save();
- })
- .then(function(chatVisitor) {
- return res.status(200).send(chatVisitor);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chatVisitor from the DB.
-exports.destroy = function(req, res) {
- return ChatVisitor
- .findById(req.params.id)
- .then(function(chatVisitor) {
- if (!chatVisitor) {
- return res.sendStatus(404);
- }
- return chatVisitor
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xa4bb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x69\x6E\x64\x65\x78","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xa4bb[0];var _=require(_0xa4bb[1]);var Util=require(_0xa4bb[2]);var ChatVisitor=require(_0xa4bb[4])[_0xa4bb[3]];var ChatEnquiry=require(_0xa4bb[4])[_0xa4bb[5]];var ChatWebsite=require(_0xa4bb[4])[_0xa4bb[6]];exports[_0xa4bb[7]]= function(_0xabf6x6,_0xabf6x7,_0xabf6x8){return ChatVisitor[_0xa4bb[16]](_[_0xa4bb[15]](Util[_0xa4bb[14]](_0xabf6x6[_0xa4bb[13]]),{include:[{model:ChatWebsite}]}))[_0xa4bb[12]](function(_0xabf6xa){_0xabf6x7[_0xa4bb[11]](200)[_0xa4bb[10]](_0xabf6xa)})[_0xa4bb[9]](function(_0xabf6x9){console[_0xa4bb[8]](_0xabf6x9);return handleError(_0xabf6x7,_0xabf6x9)})};exports[_0xa4bb[17]]= function(_0xabf6x6,_0xabf6x7){return ChatVisitor[_0xa4bb[21]](_0xabf6x6[_0xa4bb[20]][_0xa4bb[19]],{include:[{model:ChatEnquiry},{model:ChatWebsite}]})[_0xa4bb[12]](function(_0xabf6xb){if(!_0xabf6xb){return _0xabf6x7[_0xa4bb[18]](404)};return _0xabf6x7[_0xa4bb[10]](_0xabf6xb)})[_0xa4bb[9]](function(_0xabf6x9){return handleError(_0xabf6x7,_0xabf6x9)})};exports[_0xa4bb[22]]= function(_0xabf6x6,_0xabf6x7){return ChatVisitor[_0xa4bb[22]](_0xabf6x6[_0xa4bb[23]])[_0xa4bb[12]](function(_0xabf6xb){return _0xabf6x7[_0xa4bb[11]](201)[_0xa4bb[10]](_0xabf6xb)})[_0xa4bb[9]](function(_0xabf6x9){return handleError(_0xabf6x7,_0xabf6x9)})};exports[_0xa4bb[24]]= function(_0xabf6x6,_0xabf6x7){if(_0xabf6x6[_0xa4bb[23]][_0xa4bb[19]]){delete _0xabf6x6[_0xa4bb[23]][_0xa4bb[19]]};return ChatVisitor[_0xa4bb[21]](_0xabf6x6[_0xa4bb[20]][_0xa4bb[19]])[_0xa4bb[12]](function(_0xabf6xb){if(!_0xabf6xb){return _0xabf6x7[_0xa4bb[18]](404)};var _0xabf6xc=_[_0xa4bb[15]](_0xabf6xb,_0xabf6x6[_0xa4bb[23]]);return _0xabf6xc[_0xa4bb[25]]()})[_0xa4bb[12]](function(_0xabf6xb){return _0xabf6x7[_0xa4bb[11]](200)[_0xa4bb[10]](_0xabf6xb)})[_0xa4bb[9]](function(_0xabf6x9){return handleError(_0xabf6x7,_0xabf6x9)})};exports[_0xa4bb[26]]= function(_0xabf6x6,_0xabf6x7){return ChatVisitor[_0xa4bb[21]](_0xabf6x6[_0xa4bb[20]][_0xa4bb[19]])[_0xa4bb[12]](function(_0xabf6xb){if(!_0xabf6xb){return _0xabf6x7[_0xa4bb[18]](404)};return _0xabf6xb[_0xa4bb[26]]()})[_0xa4bb[12]](function(){return _0xabf6x7[_0xa4bb[18]](204)})[_0xa4bb[9]](function(_0xabf6x9){return handleError(_0xabf6x7,_0xabf6x9)})};function handleError(_0xabf6x7,_0xabf6x9){return _0xabf6x7[_0xa4bb[11]](500)[_0xa4bb[10]](_0xabf6x9)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatVisitor = require('../../models').ChatVisitor;
-
-var ChatVisitorEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatVisitorEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatVisitor.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatVisitorEvents.emit(event + ':' + doc._id, doc);
- ChatVisitorEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatVisitorEvents;
+var _0x19f2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x19f2[0];const EventEmitter=require(_0x19f2[1]);const ChatVisitor=require(_0x19f2[3])[_0x19f2[2]];var ChatVisitorEvents= new EventEmitter();ChatVisitorEvents[_0x19f2[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x19f2[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x19f2[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x19f2[6]};for(var e in events){var event=events[e];ChatVisitor[_0x19f2[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x1b84x8,_0x1b84x9,_0x1b84xa){ChatVisitorEvents[_0x19f2[10]](event+ _0x19f2[8]+ _0x1b84x8[_0x19f2[9]],_0x1b84x8);ChatVisitorEvents[_0x19f2[10]](event,_0x1b84x8);_0x1b84xa(null)}}module[_0x19f2[11]]= ChatVisitorEvents
\ No newline at end of file
-'use strict';
-
-const ChatVisitorEvents = require('./chat_visitor.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_visitor:' + event, socket);
-
- ChatVisitorEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatVisitorEvents.removeListener(event, listener);
- };
-}
+var _0x466a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x466a[0];const ChatVisitorEvents=require(_0x466a[1]);var events=[_0x466a[2],_0x466a[3]];exports[_0x466a[4]]= function(_0xc0e3x3){for(var _0xc0e3x4=0,_0xc0e3x5=events[_0x466a[5]];_0xc0e3x4< _0xc0e3x5;_0xc0e3x4++){var _0xc0e3x6=events[_0xc0e3x4];var _0xc0e3x7=createListener(_0x466a[6]+ _0xc0e3x6,_0xc0e3x3);ChatVisitorEvents[_0x466a[7]](_0xc0e3x6,_0xc0e3x7);_0xc0e3x3[_0x466a[7]](_0x466a[8],removeListener(_0xc0e3x6,_0xc0e3x7))}};function createListener(_0xc0e3x6,_0xc0e3x3){return function(_0xc0e3x9){_0xc0e3x3[_0x466a[9]](_0xc0e3x6,_0xc0e3x9)}}function removeListener(_0xc0e3x6,_0xc0e3x7){return function(){ChatVisitorEvents[_0x466a[10]](_0xc0e3x6,_0xc0e3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./chat_visitor.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xca4f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xca4f[0];var express=require(_0xca4f[1]);var controller=require(_0xca4f[2]);var auth=require(_0xca4f[3]);var license=require(_0xca4f[4]);var router=express.Router();router[_0xca4f[12]](_0xca4f[5],license[_0xca4f[6]](),license[_0xca4f[7]](),auth[_0xca4f[8]](),auth[_0xca4f[10]]([8],[_0xca4f[9]]),controller[_0xca4f[11]]);router[_0xca4f[12]](_0xca4f[13],license[_0xca4f[6]](),license[_0xca4f[7]](),auth[_0xca4f[8]](),auth[_0xca4f[10]]([8],[_0xca4f[9]]),controller[_0xca4f[14]]);router[_0xca4f[16]](_0xca4f[5],license[_0xca4f[6]](),license[_0xca4f[7]](),auth[_0xca4f[8]](),auth[_0xca4f[10]]([8],[_0xca4f[9]]),controller[_0xca4f[15]]);router[_0xca4f[18]](_0xca4f[13],license[_0xca4f[6]](),license[_0xca4f[7]](),auth[_0xca4f[8]](),auth[_0xca4f[10]]([8],[_0xca4f[9]]),controller[_0xca4f[17]]);router[_0xca4f[20]](_0xca4f[13],license[_0xca4f[6]](),license[_0xca4f[7]](),auth[_0xca4f[8]](),auth[_0xca4f[10]]([8],[_0xca4f[9]]),controller[_0xca4f[19]]);module[_0xca4f[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Mustache = require('mustache');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-var ChatWebsite = require('../../models').ChatWebsite;
-var ChatQueue = require('../../models').ChatQueue;
-var User = require('../../models').User;
-var Interval = require('../../models').Interval;
-var ChatApplication = require('../../models').ChatApplication;
-var ChatWebsitesField = require('../../models').ChatWebsitesField;
-var ChatProactiveAction = require('../../models').ChatProactiveAction;
-var ChatDisposition = require('../../models').ChatDisposition;
-var snippet = require('../../components/xchatty').snippet;
-var UploadFile = require('upload-file');
-var path = require('path');
-var sr = require('simple-random');
-var config = require('../../config/environment');
-
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ChatWebsite
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get a single chat_website
-exports.show = function(req, res) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
- return res.send(chat_website);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-exports.changeLogo = function(req, res) {
-
- var upload = new UploadFile({
- dest: path.join(config.root, 'server', 'files', 'images'),
- maxNumberOfFiles: 1,
- minNumberOfFiles: 0,
- acceptFileTypes: /(\.|\/)(jpeg|png)$/i,
- rename: function(name, file) {
- return sr() + path.extname(file.filename);
- },
- messages: {
- maxNumberOfFiles: "Max number of files upload exceeded",
- acceptFileTypes: "Only jpeg and png format accepted",
- invalidRequest: "Invalid request"
- }
- });
-
- upload.on('end', function(fields, files) {
- if (!files.file.filename) {
- return res.status(500).send(upload);
- }
- return sequelize.transaction(function(t) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(website) {
- if (!website) {
- return res.sendStatus(404);
- }
- var body = {};
- body.logo = files.file.filename;
- return website
- .update(body, {
- transaction: t
- });
- })
- .then(function(user) {
- return res.status(200).send(user);
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- });
-
- upload.on('error', function(err) {
- console.log('********** Upload error :', err)
- return handleError(res, err);
- });
-
- upload.parse(req);
-}
-
-exports.getDispositions = function(req, res, next) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
-
- return chat_website
- .getChatDispositions();
- })
- .then(function(chatDispositions) {
- return res.status(200).send({
- rows: chatDispositions,
- count: chatDispositions.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.createDisposition = function(req, res, next) {
- req.body.ChatWebsiteId = req.params.id;
-
- return ChatDisposition
- .create(req.body)
- .then(function(chatDisposition) {
- return res.status(201).send(chatDisposition);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.updateDisposition = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatDisposition
- .findById(req.params.dispId)
- .then(function(chatDisposition) {
- if (!chatDisposition) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chatDisposition, req.body);
- return updated
- .save();
- })
- .then(function(chat_website) {
- return res.status(200).send(chat_website);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.destroyDisposition = function(req, res, next) {
- return ChatDisposition
- .findById(req.params.dispId)
- .then(function(chatDiposition) {
- if (!chatDiposition) {
- return res.sendStatus(404);
- }
-
- return chatDiposition
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showApplications = function(req, res, next) {
- return ChatWebsite
- // .scope('default')
- .findById(req.params.id)
- .then(function(chatWebsite) {
- if (!chatWebsite) {
- return res.sendStatus(404);
- }
- return chatWebsite
- .getChatApplications(_.merge(Util.getQuery(req.query), {
- include: [{
- model: ChatQueue,
- attributes: ['id', 'name']
- }, {
- model: User,
- attributes: ['id', 'name']
- }, {
- model: Interval,
- attributes: ['id', 'name']
- }]
- }));
- })
- .then(function(chatApplications) {
- return res.send({
- count: chatApplications.length,
- rows: chatApplications
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.showProactiveActions = function(req, res, next) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chatWebsite) {
- if (!chatWebsite) {
- return res.sendStatus(404);
- }
- return chatWebsite
- .getChatProactiveActions(Util.getQuery(req.query));
- })
- .then(function(chatProactiveActions) {
- return res.send({
- count: chatProactiveActions.length,
- rows: chatProactiveActions
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a snippet for chat_website
-exports.getSnippetCode = function(req, res) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chat_website) {
- var configSnippet = {
- remote: chat_website.remote,
- websiteId: req.params.id
- };
- var html = Mustache.render(snippet, configSnippet);
- return res.status(200).send({
- html: html
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chat_website in the DB.
-exports.create = function(req, res) {
- return ChatWebsite
- .create(req.body)
- .then(function(chat_website) {
- return res.status(201).send(chat_website);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Updates an existing chat_website in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
-
- return chat_website
- .update(req.body);
- })
- .then(function(chat_website) {
- return res.status(200).send(chat_website);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.updateApplications = function(req, res) {
-
- var priority = 0;
- var apps = req.body;
-
- apps.forEach(function(app) {
- delete app.id;
- delete app.createdAt;
- delete app.updatedAt;
-
- app.priority = ++priority;
- });
-
- return sequelize.transaction(function(t) {
- return ChatApplication
- .destroy({
- where: {
- ChatWebsiteId: req.params.id
- },
- individualHooks: true,
- transaction: t
- }).then(function() {
- return ChatApplication
- .bulkCreate(apps, {
- individualHooks: true,
- transaction: t
- });
- });
- }).then(function(chatApplications) {
- return res.status(200).send({
- count: chatApplications.length,
- rows: chatApplications
- });
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chat_website from the DB.
-exports.destroy = function(req, res) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
- return chat_website
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return ChatWebsite
- .destroy({
- where: {
- id: req.query.websites
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroyApplications = function(req, res) {
- return ChatApplication
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailAccount from the DB.
-exports.destroyApplication = function(req, res, next) {
- return ChatApplication
- .findById(req.params.appId)
- .then(function(chatApplication) {
- if (!chatApplication) {
- return res.sendStatus(404);
- }
-
- return chatApplication
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getForms = function(req, res) {
- return ChatWebsitesField
- .scope({
- method: [req.params.type, req.params.id]
- })
- .findAll()
- .then(function(data) {
- return res.status(200).json(data);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.updateForms = function(req, res, next) {
- return ChatWebsitesField
- .destroy({
- where: req.params.type === 'online' ? {
- OnlineId: req.params.id
- } : {
- OfflineId: req.params.id
- }
- })
- .then(function() {
- _.forEach(req.body, function(value) {
- if (req.params.type === 'online') {
- value.OnlineId = req.params.id;
- } else if (req.params.type === 'offline') {
- value.OfflineId = req.params.id;
- }
- });
- return ChatWebsitesField.bulkCreate(req.body);
- })
- .then(function(fields) {
- res.status(201).json(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDestroyProactiveActions = function(req, res) {
- return ChatProactiveAction
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.destroyProactiveAction = function(req, res, next) {
- return ChatProactiveAction
- .findById(req.params.pactionId)
- .then(function(chatProactiveAction) {
- if (!chatProactiveAction) {
- return res.sendStatus(404);
- }
- return chatProactiveAction.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.createProactiveAction = function(req, res, next) {
- return ChatWebsite
- .findById(req.params.id)
- .then(function(chatWebsite) {
- if (!chatWebsite) {
- return res.sendStatus(404);
- }
- req.body.ChatWebsiteId = chatWebsite.id;
- return ChatProactiveAction.create(req.body);
- })
- .then(function(chatProactiveAction) {
- return res.status(201).send(chatProactiveAction);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.updateProactiveAction = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatProactiveAction
- .findById(req.params.pactionId)
- .then(function(chatProactiveAction) {
- if (!chatProactiveAction) {
- return res.sendStatus(404);
- }
-
- return chatProactiveAction
- .update(req.body);
- })
- .then(function(chatProactiveAction) {
- return res.status(200).send(chatProactiveAction);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-exports.createApplication = function(req, res, next) {
- return ChatApplication
- .max('priority', {
- where: {
- ChatWebsiteId: req.params.id
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- req.body.ChatWebsiteId = req.params.id;
- return ChatApplication
- .create(req.body);
- })
- .then(function(chatApplication) {
- return res.status(201).send(chatApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.updateApplication = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatApplication.findById(req.params.appId)
- .then(function(chatApplication) {
- if (!chatApplication) {
- return res.sendStatus(404);
- }
-
- return chatApplication
- .update(req.body);
- })
- .then(function(chatApplication) {
- return res.status(200).send(chatApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.showApplication = function(req, res) {
- return ChatApplication
- .findById(req.params.appId, {
- include: [{
- all: true
- }]
- })
- .then(function(chatApplication) {
- if (!chatApplication) {
- return res.sendStatus(404);
- }
- return res.send(chatApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
+var _0xc082=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6D\x75\x73\x74\x61\x63\x68\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x55\x73\x65\x72","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x73\x46\x69\x65\x6C\x64","\x43\x68\x61\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x43\x68\x61\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x73\x6E\x69\x70\x70\x65\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x70\x61\x74\x68","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x68\x61\x6E\x67\x65\x4C\x6F\x67\x6F","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x6A\x70\x65\x67\x20\x61\x6E\x64\x20\x70\x6E\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x6C\x6F\x67\x6F","\x75\x70\x64\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x6F\x6E","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x6C\x6F\x67","\x70\x61\x72\x73\x65","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x43\x68\x61\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x69\x73\x70\x49\x64","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6E\x61\x6D\x65","\x67\x65\x74\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73","\x67\x65\x74\x43\x68\x61\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x72\x65\x6D\x6F\x74\x65","\x72\x65\x6E\x64\x65\x72","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x6F\x72\x45\x61\x63\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x77\x65\x62\x73\x69\x74\x65\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x69\x64\x73","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x61\x70\x70\x49\x64","\x67\x65\x74\x46\x6F\x72\x6D\x73","\x6A\x73\x6F\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x74\x79\x70\x65","\x73\x63\x6F\x70\x65","\x75\x70\x64\x61\x74\x65\x46\x6F\x72\x6D\x73","\x6F\x6E\x6C\x69\x6E\x65","\x4F\x6E\x6C\x69\x6E\x65\x49\x64","\x6F\x66\x66\x6C\x69\x6E\x65","\x4F\x66\x66\x6C\x69\x6E\x65\x49\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x70\x61\x63\x74\x69\x6F\x6E\x49\x64","\x63\x72\x65\x61\x74\x65\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E"];_0xc082[0];var _=require(_0xc082[1]);var util=require(_0xc082[2]);var Mustache=require(_0xc082[3]);var Util=require(_0xc082[4]);var sequelize=require(_0xc082[6])[_0xc082[5]];var ChatWebsite=require(_0xc082[6])[_0xc082[7]];var ChatQueue=require(_0xc082[6])[_0xc082[8]];var User=require(_0xc082[6])[_0xc082[9]];var Interval=require(_0xc082[6])[_0xc082[10]];var ChatApplication=require(_0xc082[6])[_0xc082[11]];var ChatWebsitesField=require(_0xc082[6])[_0xc082[12]];var ChatProactiveAction=require(_0xc082[6])[_0xc082[13]];var ChatDisposition=require(_0xc082[6])[_0xc082[14]];var snippet=require(_0xc082[16])[_0xc082[15]];var UploadFile=require(_0xc082[17]);var path=require(_0xc082[18]);var sr=require(_0xc082[19]);var config=require(_0xc082[20]);exports[_0xc082[21]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatWebsite[_0xc082[28]](Util[_0xc082[27]](_0xe02ax13[_0xc082[26]]))[_0xc082[25]](function(_0xe02ax17){_0xe02ax14[_0xc082[24]](200)[_0xc082[23]](_0xe02ax17)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[29]]= function(_0xe02ax13,_0xe02ax14){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax18){if(!_0xe02ax18){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax14[_0xc082[23]](_0xe02ax18)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[34]]= function(_0xe02ax13,_0xe02ax14){var _0xe02ax19= new UploadFile({dest:path[_0xc082[39]](config[_0xc082[35]],_0xc082[36],_0xc082[37],_0xc082[38]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0xe02ax1a,_0xe02ax1b){return sr()+ path[_0xc082[41]](_0xe02ax1b[_0xc082[40]])},messages:{maxNumberOfFiles:_0xc082[42],acceptFileTypes:_0xc082[43],invalidRequest:_0xc082[44]}});_0xe02ax19[_0xc082[50]](_0xc082[45],function(_0xe02ax1c,_0xe02ax1d){if(!_0xe02ax1d[_0xc082[46]][_0xc082[40]]){return _0xe02ax14[_0xc082[24]](500)[_0xc082[23]](_0xe02ax19)};return sequelize[_0xc082[49]](function(_0xe02ax1e){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax20){if(!_0xe02ax20){return _0xe02ax14[_0xc082[30]](404)};var _0xe02ax21={};_0xe02ax21[_0xc082[47]]= _0xe02ax1d[_0xc082[46]][_0xc082[40]];return _0xe02ax20[_0xc082[48]](_0xe02ax21,{transaction:_0xe02ax1e})})[_0xc082[25]](function(_0xe02ax1f){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]](_0xe02ax1f)})})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})});_0xe02ax19[_0xc082[50]](_0xc082[51],function(_0xe02ax16){console[_0xc082[53]](_0xc082[52],_0xe02ax16);return handleError(_0xe02ax14,_0xe02ax16)});_0xe02ax19[_0xc082[54]](_0xe02ax13)};exports[_0xc082[55]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax18){if(!_0xe02ax18){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax18[_0xc082[57]]()})[_0xc082[25]](function(_0xe02ax22){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]]({rows:_0xe02ax22,count:_0xe02ax22[_0xc082[56]]})})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[58]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){_0xe02ax13[_0xc082[60]][_0xc082[59]]= _0xe02ax13[_0xc082[32]][_0xc082[31]];return ChatDisposition[_0xc082[61]](_0xe02ax13[_0xc082[60]])[_0xc082[25]](function(_0xe02ax23){return _0xe02ax14[_0xc082[24]](201)[_0xc082[23]](_0xe02ax23)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[62]]= function(_0xe02ax13,_0xe02ax14){if(_0xe02ax13[_0xc082[60]][_0xc082[31]]){delete _0xe02ax13[_0xc082[60]][_0xc082[31]]};return ChatDisposition[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[65]])[_0xc082[25]](function(_0xe02ax23){if(!_0xe02ax23){return _0xe02ax14[_0xc082[30]](404)};var _0xe02ax24=_[_0xc082[63]](_0xe02ax23,_0xe02ax13[_0xc082[60]]);return _0xe02ax24[_0xc082[64]]()})[_0xc082[25]](function(_0xe02ax18){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]](_0xe02ax18)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[66]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatDisposition[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[65]])[_0xc082[25]](function(_0xe02ax25){if(!_0xe02ax25){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax25[_0xc082[67]]()})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[68]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax27){if(!_0xe02ax27){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax27[_0xc082[70]](_[_0xc082[63]](Util[_0xc082[27]](_0xe02ax13[_0xc082[26]]),{include:[{model:ChatQueue,attributes:[_0xc082[31],_0xc082[69]]},{model:User,attributes:[_0xc082[31],_0xc082[69]]},{model:Interval,attributes:[_0xc082[31],_0xc082[69]]}]}))})[_0xc082[25]](function(_0xe02ax26){return _0xe02ax14[_0xc082[23]]({count:_0xe02ax26[_0xc082[56]],rows:_0xe02ax26})})[_0xc082[22]](function(_0xe02ax16){console[_0xc082[53]](_0xe02ax16);return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[71]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax27){if(!_0xe02ax27){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax27[_0xc082[72]](Util[_0xc082[27]](_0xe02ax13[_0xc082[26]]))})[_0xc082[25]](function(_0xe02ax28){return _0xe02ax14[_0xc082[23]]({count:_0xe02ax28[_0xc082[56]],rows:_0xe02ax28})})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[73]]= function(_0xe02ax13,_0xe02ax14){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax18){var _0xe02ax29={remote:_0xe02ax18[_0xc082[74]],websiteId:_0xe02ax13[_0xc082[32]][_0xc082[31]]};var _0xe02ax2a=Mustache[_0xc082[75]](snippet,_0xe02ax29);return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]]({html:_0xe02ax2a})})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[61]]= function(_0xe02ax13,_0xe02ax14){return ChatWebsite[_0xc082[61]](_0xe02ax13[_0xc082[60]])[_0xc082[25]](function(_0xe02ax18){return _0xe02ax14[_0xc082[24]](201)[_0xc082[23]](_0xe02ax18)})[_0xc082[22]](function(_0xe02ax16){console[_0xc082[53]](_0xe02ax16);return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[48]]= function(_0xe02ax13,_0xe02ax14){if(_0xe02ax13[_0xc082[60]][_0xc082[31]]){delete _0xe02ax13[_0xc082[60]][_0xc082[31]]};return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax18){if(!_0xe02ax18){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax18[_0xc082[48]](_0xe02ax13[_0xc082[60]])})[_0xc082[25]](function(_0xe02ax18){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]](_0xe02ax18)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[76]]= function(_0xe02ax13,_0xe02ax14){var _0xe02ax2b=0;var _0xe02ax2c=_0xe02ax13[_0xc082[60]];_0xe02ax2c[_0xc082[80]](function(_0xe02ax2d){delete _0xe02ax2d[_0xc082[31]];delete _0xe02ax2d[_0xc082[77]];delete _0xe02ax2d[_0xc082[78]];_0xe02ax2d[_0xc082[79]]= ++_0xe02ax2b});return sequelize[_0xc082[49]](function(_0xe02ax1e){return ChatApplication[_0xc082[67]]({where:{ChatWebsiteId:_0xe02ax13[_0xc082[32]][_0xc082[31]]},individualHooks:true,transaction:_0xe02ax1e})[_0xc082[25]](function(){return ChatApplication[_0xc082[81]](_0xe02ax2c,{individualHooks:true,transaction:_0xe02ax1e})})})[_0xc082[25]](function(_0xe02ax26){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]]({count:_0xe02ax26[_0xc082[56]],rows:_0xe02ax26})})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[67]]= function(_0xe02ax13,_0xe02ax14){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax18){if(!_0xe02ax18){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax18[_0xc082[67]]()})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[82]]= function(_0xe02ax13,_0xe02ax14){return ChatWebsite[_0xc082[67]]({where:{id:_0xe02ax13[_0xc082[26]][_0xc082[83]]},individualHooks:true})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[84]]= function(_0xe02ax13,_0xe02ax14){return ChatApplication[_0xc082[67]]({where:{id:_0xe02ax13[_0xc082[26]][_0xc082[85]]},individualHooks:true})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[86]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatApplication[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[87]])[_0xc082[25]](function(_0xe02ax2e){if(!_0xe02ax2e){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax2e[_0xc082[67]]()})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[88]]= function(_0xe02ax13,_0xe02ax14){return ChatWebsitesField[_0xc082[92]]({method:[_0xe02ax13[_0xc082[32]][_0xc082[91]],_0xe02ax13[_0xc082[32]][_0xc082[31]]]})[_0xc082[90]]()[_0xc082[25]](function(_0xe02ax2f){return _0xe02ax14[_0xc082[24]](200)[_0xc082[89]](_0xe02ax2f)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[93]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatWebsitesField[_0xc082[67]]({where:_0xe02ax13[_0xc082[32]][_0xc082[91]]=== _0xc082[94]?{OnlineId:_0xe02ax13[_0xc082[32]][_0xc082[31]]}:{OfflineId:_0xe02ax13[_0xc082[32]][_0xc082[31]]}})[_0xc082[25]](function(){_[_0xc082[80]](_0xe02ax13[_0xc082[60]],function(_0xe02ax30){if(_0xe02ax13[_0xc082[32]][_0xc082[91]]=== _0xc082[94]){_0xe02ax30[_0xc082[95]]= _0xe02ax13[_0xc082[32]][_0xc082[31]]}else {if(_0xe02ax13[_0xc082[32]][_0xc082[91]]=== _0xc082[96]){_0xe02ax30[_0xc082[97]]= _0xe02ax13[_0xc082[32]][_0xc082[31]]}}});return ChatWebsitesField[_0xc082[81]](_0xe02ax13[_0xc082[60]])})[_0xc082[25]](function(_0xe02ax1c){_0xe02ax14[_0xc082[24]](201)[_0xc082[89]](_0xe02ax1c)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[98]]= function(_0xe02ax13,_0xe02ax14){return ChatProactiveAction[_0xc082[67]]({where:{id:_0xe02ax13[_0xc082[26]][_0xc082[85]]},individualHooks:true})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[99]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatProactiveAction[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[100]])[_0xc082[25]](function(_0xe02ax31){if(!_0xe02ax31){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax31[_0xc082[67]]()})[_0xc082[25]](function(){return _0xe02ax14[_0xc082[30]](204)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[101]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatWebsite[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[31]])[_0xc082[25]](function(_0xe02ax27){if(!_0xe02ax27){return _0xe02ax14[_0xc082[30]](404)};_0xe02ax13[_0xc082[60]][_0xc082[59]]= _0xe02ax27[_0xc082[31]];return ChatProactiveAction[_0xc082[61]](_0xe02ax13[_0xc082[60]])})[_0xc082[25]](function(_0xe02ax31){return _0xe02ax14[_0xc082[24]](201)[_0xc082[23]](_0xe02ax31)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[102]]= function(_0xe02ax13,_0xe02ax14){if(_0xe02ax13[_0xc082[60]][_0xc082[31]]){delete _0xe02ax13[_0xc082[60]][_0xc082[31]]};return ChatProactiveAction[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[100]])[_0xc082[25]](function(_0xe02ax31){if(!_0xe02ax31){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax31[_0xc082[48]](_0xe02ax13[_0xc082[60]])})[_0xc082[25]](function(_0xe02ax31){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]](_0xe02ax31)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};function handleError(_0xe02ax14,_0xe02ax16){return _0xe02ax14[_0xc082[24]](500)[_0xc082[23]](_0xe02ax16)}exports[_0xc082[103]]= function(_0xe02ax13,_0xe02ax14,_0xe02ax15){return ChatApplication[_0xc082[104]](_0xc082[79],{where:{ChatWebsiteId:_0xe02ax13[_0xc082[32]][_0xc082[31]]}})[_0xc082[25]](function(_0xe02ax33){_0xe02ax13[_0xc082[60]][_0xc082[79]]= _0xe02ax33?++_0xe02ax33:1;_0xe02ax13[_0xc082[60]][_0xc082[59]]= _0xe02ax13[_0xc082[32]][_0xc082[31]];return ChatApplication[_0xc082[61]](_0xe02ax13[_0xc082[60]])})[_0xc082[25]](function(_0xe02ax2e){return _0xe02ax14[_0xc082[24]](201)[_0xc082[23]](_0xe02ax2e)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[105]]= function(_0xe02ax13,_0xe02ax14){if(_0xe02ax13[_0xc082[60]][_0xc082[31]]){delete _0xe02ax13[_0xc082[60]][_0xc082[31]]};return ChatApplication[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[87]])[_0xc082[25]](function(_0xe02ax2e){if(!_0xe02ax2e){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax2e[_0xc082[48]](_0xe02ax13[_0xc082[60]])})[_0xc082[25]](function(_0xe02ax2e){return _0xe02ax14[_0xc082[24]](200)[_0xc082[23]](_0xe02ax2e)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})};exports[_0xc082[106]]= function(_0xe02ax13,_0xe02ax14){return ChatApplication[_0xc082[33]](_0xe02ax13[_0xc082[32]][_0xc082[87]],{include:[{all:true}]})[_0xc082[25]](function(_0xe02ax2e){if(!_0xe02ax2e){return _0xe02ax14[_0xc082[30]](404)};return _0xe02ax14[_0xc082[23]](_0xe02ax2e)})[_0xc082[22]](function(_0xe02ax16){return handleError(_0xe02ax14,_0xe02ax16)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatWebsite = require('../../models').ChatWebsite;
-
-var ChatWebsiteEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatWebsiteEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatWebsite.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatWebsiteEvents.emit(event + ':' + doc._id, doc);
- ChatWebsiteEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatWebsiteEvents;
+var _0xde8c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xde8c[0];const EventEmitter=require(_0xde8c[1]);const ChatWebsite=require(_0xde8c[3])[_0xde8c[2]];var ChatWebsiteEvents= new EventEmitter();ChatWebsiteEvents[_0xde8c[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xde8c[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xde8c[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xde8c[6]};for(var e in events){var event=events[e];ChatWebsite[_0xde8c[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3c84x8,_0x3c84x9,_0x3c84xa){ChatWebsiteEvents[_0xde8c[10]](event+ _0xde8c[8]+ _0x3c84x8[_0xde8c[9]],_0x3c84x8);ChatWebsiteEvents[_0xde8c[10]](event,_0x3c84x8);_0x3c84xa(null)}}module[_0xde8c[11]]= ChatWebsiteEvents
\ No newline at end of file
-'use strict';
-
-const ChatWebsiteEvents = require('./chat_website.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_website:' + event, socket);
-
- ChatWebsiteEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatWebsiteEvents.removeListener(event, listener);
- };
-}
+var _0xc3cc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc3cc[0];const ChatWebsiteEvents=require(_0xc3cc[1]);var events=[_0xc3cc[2],_0xc3cc[3]];exports[_0xc3cc[4]]= function(_0xf865x3){for(var _0xf865x4=0,_0xf865x5=events[_0xc3cc[5]];_0xf865x4< _0xf865x5;_0xf865x4++){var _0xf865x6=events[_0xf865x4];var _0xf865x7=createListener(_0xc3cc[6]+ _0xf865x6,_0xf865x3);ChatWebsiteEvents[_0xc3cc[7]](_0xf865x6,_0xf865x7);_0xf865x3[_0xc3cc[7]](_0xc3cc[8],removeListener(_0xf865x6,_0xf865x7))}};function createListener(_0xf865x6,_0xf865x3){return function(_0xf865x9){_0xf865x3[_0xc3cc[9]](_0xf865x6,_0xf865x9)}}function removeListener(_0xf865x6,_0xf865x7){return function(){ChatWebsiteEvents[_0xc3cc[10]](_0xf865x6,_0xf865x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./chat_website.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.show);
-router.get('/:id/applications', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.showApplications);
-router.get('/:id/applications/:appId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.showApplication);
-router.get('/:id/dispositions', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin', 'agent']), controller.getDispositions);
-router.get('/:id/proactive', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.showProactiveActions);
-router.get('/:id/fields/:type', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.getForms);
-router.get('/:id/snippet', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.getSnippetCode);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.post('/:id/applications', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.createApplication);
-router.post('/:id/dispositions', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.createDisposition);
-router.post('/:id/proactive', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.createProactiveAction);
-router.post('/:id/logo', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.changeLogo);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.put('/:id/applications', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.updateApplications);
-router.put('/:id/applications/:appId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.updateApplication);
-router.put('/:id/dispositions/:dispId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.updateDisposition);
-router.put('/:id/proactive/:pactionId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.updateProactiveAction);
-router.put('/:id/fields/:type', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.updateForms);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-router.delete('/:id/applications', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.bulkDestroyApplications);
-router.delete('/:id/proactive', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.bulkDestroyProactiveActions);
-router.delete('/:id/applications/:appId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroyApplication);
-router.delete('/:id/proactive/:pactionId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroyProactiveAction);
-router.delete('/:id/dispositions/:dispId', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroyDisposition);
-
-
-module.exports = router;
+var _0xa73c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x61\x70\x70\x49\x64","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x70\x72\x6F\x61\x63\x74\x69\x76\x65","\x73\x68\x6F\x77\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x74\x79\x70\x65","\x67\x65\x74\x46\x6F\x72\x6D\x73","\x2F\x3A\x69\x64\x2F\x73\x6E\x69\x70\x70\x65\x74","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x6C\x6F\x67\x6F","\x63\x68\x61\x6E\x67\x65\x4C\x6F\x67\x6F","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73\x2F\x3A\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x2F\x3A\x70\x61\x63\x74\x69\x6F\x6E\x49\x64","\x75\x70\x64\x61\x74\x65\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65\x46\x6F\x72\x6D\x73","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0xa73c[0];var express=require(_0xa73c[1]);var controller=require(_0xa73c[2]);var auth=require(_0xa73c[3]);var license=require(_0xa73c[4]);var router=express.Router();router[_0xa73c[12]](_0xa73c[5],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[11]]);router[_0xa73c[12]](_0xa73c[13],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9],_0xa73c[14]]),controller[_0xa73c[15]]);router[_0xa73c[12]](_0xa73c[16],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[17]]);router[_0xa73c[12]](_0xa73c[18],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[19]]);router[_0xa73c[12]](_0xa73c[20],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9],_0xa73c[14]]),controller[_0xa73c[21]]);router[_0xa73c[12]](_0xa73c[22],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[23]]);router[_0xa73c[12]](_0xa73c[24],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[25]]);router[_0xa73c[12]](_0xa73c[26],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[27]]);router[_0xa73c[29]](_0xa73c[5],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[28]]);router[_0xa73c[29]](_0xa73c[16],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[30]]);router[_0xa73c[29]](_0xa73c[20],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[31]]);router[_0xa73c[29]](_0xa73c[22],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[32]]);router[_0xa73c[29]](_0xa73c[33],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[34]]);router[_0xa73c[36]](_0xa73c[13],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[35]]);router[_0xa73c[36]](_0xa73c[16],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[37]]);router[_0xa73c[36]](_0xa73c[18],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[38]]);router[_0xa73c[36]](_0xa73c[39],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[40]]);router[_0xa73c[36]](_0xa73c[41],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[42]]);router[_0xa73c[36]](_0xa73c[24],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[43]]);router[_0xa73c[44]](_0xa73c[13],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[35]]);router[_0xa73c[46]](_0xa73c[5],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[45]]);router[_0xa73c[46]](_0xa73c[13],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[47]]);router[_0xa73c[46]](_0xa73c[16],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[48]]);router[_0xa73c[46]](_0xa73c[22],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[49]]);router[_0xa73c[46]](_0xa73c[18],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[50]]);router[_0xa73c[46]](_0xa73c[41],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[51]]);router[_0xa73c[46]](_0xa73c[39],license[_0xa73c[6]](),license[_0xa73c[7]](),auth[_0xa73c[8]](),auth[_0xa73c[10]]([8],[_0xa73c[9]]),controller[_0xa73c[52]]);module[_0xa73c[53]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/chat/websites/fields -> index
- * POST /api/chat/websites/fields -> create
- * GET /api/chat/websites/fields/:id -> show
- * PUT /api/chat/websites/fields/:id -> update
- * DELETE /api/chat/websites/fields/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var ChatWebsitesField = require('../../models').ChatWebsitesField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of ChatWebsitesFields
-exports.index = function(req, res) {
- return ChatWebsitesField.findAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single ChatWebsitesField from the DB
-exports.show = function(req, res) {
- return ChatWebsitesField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new ChatWebsitesField in the DB
-exports.create = function(req, res) {
- return ChatWebsitesField.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing ChatWebsitesField in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ChatWebsitesField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a ChatWebsitesField from the DB
-exports.destroy = function(req, res) {
- return ChatWebsitesField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x6219=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x73\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x6219[0];var _=require(_0x6219[1]);var Util=require(_0x6219[2]);var ChatWebsitesField=require(_0x6219[4])[_0x6219[3]];function handleError(_0xf8cbx5,_0xf8cbx6){_0xf8cbx6= _0xf8cbx6|| 500;return function(_0xf8cbx7){_0xf8cbx5[_0x6219[6]](_0xf8cbx6)[_0x6219[5]](_0xf8cbx7)}}function responseWithResult(_0xf8cbx5,_0xf8cbx6){_0xf8cbx6= _0xf8cbx6|| 200;return function(_0xf8cbx9){if(_0xf8cbx9){_0xf8cbx5[_0x6219[6]](_0xf8cbx6)[_0x6219[7]](_0xf8cbx9)}}}function responseWithoutResult(_0xf8cbx5,_0xf8cbx6){_0xf8cbx6= _0xf8cbx6|| 204;return function(){_0xf8cbx5[_0x6219[8]](_0xf8cbx6)}}function handleEntityNotFound(_0xf8cbx5){return function(_0xf8cbx9){if(!_0xf8cbx9){_0xf8cbx5[_0x6219[6]](404)[_0x6219[9]]();return null};return _0xf8cbx9}}function saveUpdates(_0xf8cbxd){return function(_0xf8cbx9){return _0xf8cbx9[_0x6219[11]](_0xf8cbxd)[_0x6219[10]](function(_0xf8cbxe){return _0xf8cbxe})}}function removeEntity(_0xf8cbx5){return function(_0xf8cbx9){if(_0xf8cbx9){return _0xf8cbx9[_0x6219[12]]()[_0x6219[10]](function(){_0xf8cbx5[_0x6219[6]](204)[_0x6219[9]]()})}}}exports[_0x6219[13]]= function(_0xf8cbx10,_0xf8cbx5){return ChatWebsitesField[_0x6219[17]](Util[_0x6219[16]](_0xf8cbx10[_0x6219[15]]))[_0x6219[10]](responseWithResult(_0xf8cbx5))[_0x6219[14]](handleError(_0xf8cbx5))};exports[_0x6219[18]]= function(_0xf8cbx10,_0xf8cbx5){return ChatWebsitesField[_0x6219[21]](_0xf8cbx10[_0x6219[20]][_0x6219[19]])[_0x6219[10]](handleEntityNotFound(_0xf8cbx5))[_0x6219[10]](responseWithResult(_0xf8cbx5))[_0x6219[14]](handleError(_0xf8cbx5))};exports[_0x6219[22]]= function(_0xf8cbx10,_0xf8cbx5){return ChatWebsitesField[_0x6219[22]](_0xf8cbx10[_0x6219[23]])[_0x6219[10]](responseWithResult(_0xf8cbx5,201))[_0x6219[14]](handleError(_0xf8cbx5))};exports[_0x6219[24]]= function(_0xf8cbx10,_0xf8cbx5){if(_0xf8cbx10[_0x6219[23]][_0x6219[19]]){delete _0xf8cbx10[_0x6219[23]][_0x6219[19]]};return ChatWebsitesField[_0x6219[21]](_0xf8cbx10[_0x6219[20]][_0x6219[19]])[_0x6219[10]](handleEntityNotFound(_0xf8cbx5))[_0x6219[10]](saveUpdates(_0xf8cbx10[_0x6219[23]]))[_0x6219[10]](responseWithResult(_0xf8cbx5))[_0x6219[14]](handleError(_0xf8cbx5))};exports[_0x6219[12]]= function(_0xf8cbx10,_0xf8cbx5){return ChatWebsitesField[_0x6219[21]](_0xf8cbx10[_0x6219[20]][_0x6219[19]])[_0x6219[10]](handleEntityNotFound(_0xf8cbx5))[_0x6219[10]](removeEntity(_0xf8cbx5))[_0x6219[14]](handleError(_0xf8cbx5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ChatWebsitesField = require('../../models').ChatWebsitesField;
-
-var ChatWebsitesFieldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ChatWebsitesFieldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ChatWebsitesField.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ChatWebsitesFieldEvents.emit(event + ':' + doc._id, doc);
- ChatWebsitesFieldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ChatWebsitesFieldEvents;
+var _0x13f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x73\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x13f0[0];const EventEmitter=require(_0x13f0[1]);const ChatWebsitesField=require(_0x13f0[3])[_0x13f0[2]];var ChatWebsitesFieldEvents= new EventEmitter();ChatWebsitesFieldEvents[_0x13f0[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x13f0[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x13f0[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x13f0[6]};for(var e in events){var event=events[e];ChatWebsitesField[_0x13f0[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x828cx8,_0x828cx9,_0x828cxa){ChatWebsitesFieldEvents[_0x13f0[10]](event+ _0x13f0[8]+ _0x828cx8[_0x13f0[9]],_0x828cx8);ChatWebsitesFieldEvents[_0x13f0[10]](event,_0x828cx8);_0x828cxa(null)}}module[_0x13f0[11]]= ChatWebsitesFieldEvents
\ No newline at end of file
-'use strict';
-
-const ChatWebsitesFieldEvents = require('./chat_websites_field.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('chat_websites_field:' + event, socket);
-
- ChatWebsitesFieldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ChatWebsitesFieldEvents.removeListener(event, listener);
- };
-}
+var _0x7051=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73\x5F\x66\x69\x65\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73\x5F\x66\x69\x65\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7051[0];const ChatWebsitesFieldEvents=require(_0x7051[1]);var events=[_0x7051[2],_0x7051[3]];exports[_0x7051[4]]= function(_0x5227x3){for(var _0x5227x4=0,_0x5227x5=events[_0x7051[5]];_0x5227x4< _0x5227x5;_0x5227x4++){var _0x5227x6=events[_0x5227x4];var _0x5227x7=createListener(_0x7051[6]+ _0x5227x6,_0x5227x3);ChatWebsitesFieldEvents[_0x7051[7]](_0x5227x6,_0x5227x7);_0x5227x3[_0x7051[7]](_0x7051[8],removeListener(_0x5227x6,_0x5227x7))}};function createListener(_0x5227x6,_0x5227x3){return function(_0x5227x9){_0x5227x3[_0x7051[9]](_0x5227x6,_0x5227x9)}}function removeListener(_0x5227x6,_0x5227x7){return function(){ChatWebsitesFieldEvents[_0x7051[10]](_0x5227x6,_0x5227x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var auth = require('../../auth/auth.service');
-var controller = require('./chat_websites_field.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasChat(), auth.isAuthenticated(), auth.hasModule([8], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x2ada=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2ada[0];var express=require(_0x2ada[1]);var auth=require(_0x2ada[2]);var controller=require(_0x2ada[3]);var license=require(_0x2ada[4]);var router=express.Router();router[_0x2ada[12]](_0x2ada[5],license[_0x2ada[6]](),license[_0x2ada[7]](),auth[_0x2ada[8]](),auth[_0x2ada[10]]([8],[_0x2ada[9]]),controller[_0x2ada[11]]);router[_0x2ada[12]](_0x2ada[13],license[_0x2ada[6]](),license[_0x2ada[7]](),auth[_0x2ada[8]](),auth[_0x2ada[10]]([8],[_0x2ada[9]]),controller[_0x2ada[14]]);router[_0x2ada[16]](_0x2ada[5],license[_0x2ada[6]](),license[_0x2ada[7]](),auth[_0x2ada[8]](),auth[_0x2ada[10]]([8],[_0x2ada[9]]),controller[_0x2ada[15]]);router[_0x2ada[18]](_0x2ada[13],license[_0x2ada[6]](),license[_0x2ada[7]](),auth[_0x2ada[8]](),auth[_0x2ada[10]]([8],[_0x2ada[9]]),controller[_0x2ada[17]]);router[_0x2ada[19]](_0x2ada[13],license[_0x2ada[6]](),license[_0x2ada[7]](),auth[_0x2ada[8]](),auth[_0x2ada[10]]([8],[_0x2ada[9]]),controller[_0x2ada[17]]);router[_0x2ada[21]](_0x2ada[13],license[_0x2ada[6]](),license[_0x2ada[7]](),auth[_0x2ada[8]](),auth[_0x2ada[10]]([8],[_0x2ada[9]]),controller[_0x2ada[20]]);module[_0x2ada[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Company = require('../../models').Company;
-var util = require('util');
-var Util = require('../../config/util');
-
-// Get list of companies
-exports.index = function(req, res, next) {
- return Company
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.companyValidation = function(req, res) {
- return Company
- .findAll({
- where: {
- name: req.body.name
- }
- })
- .then(function(companies) {
- if (!companies) {
- return res.sendStatus(404);
- }
- return res.send(companies);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single company
-exports.show = function(req, res) {
- return Company
- .findById(req.params.id)
- .then(function(company) {
- if (!company) {
- return res.sendStatus(404);
- }
- return res.send(company);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new company in the DB.
-exports.create = function(req, res) {
- return Company
- .create(req.body)
- .then(function(company) {
- return res.status(201).send(company);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing company in the DB.
-exports.update = function(req, res) {
- return Company
- .findAll({
- where: {
- name: req.body.name,
- id: {
- $ne: req.body.id
- }
- }
- })
- .then(function(companies) {
- if (!companies) {
- return res.sendStatus(404);
- }
- if (companies.length > 0) {
- return res.status(500).send({
- message: 'MESSAGE_EXIST_COMPANY'
- })
- }
- if (req.body.id) {
- delete req.body.id;
- }
- return Company
- .find({
- where: {
- id: req.params.id
- }
- });
- })
- .then(function(company) {
- if (!company) {
- return res.sendStatus(404);
- }
- var updated = _.merge(company, req.body);
- return updated.save();
- })
- .then(function(company) {
- return res.status(200).send(company);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a company from the DB.
-exports.destroy = function(req, res) {
- return Company
- .findById(req.params.id)
- .then(function(company) {
- if (!company) {
- return res.sendStatus(404);
- }
- return company.destroy()
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Company
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x92cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x43\x6F\x6D\x70\x61\x6E\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x6F\x6D\x70\x61\x6E\x79\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6E\x61\x6D\x65","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x43\x4F\x4D\x50\x41\x4E\x59","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x92cd[0];var _=require(_0x92cd[1]);var Company=require(_0x92cd[3])[_0x92cd[2]];var util=require(_0x92cd[4]);var Util=require(_0x92cd[5]);exports[_0x92cd[6]]= function(_0x35c9x5,_0x35c9x6,_0x35c9x7){return Company[_0x92cd[13]](Util[_0x92cd[12]](_0x35c9x5[_0x92cd[11]]))[_0x92cd[10]](function(_0x35c9x9){_0x35c9x6[_0x92cd[9]](200)[_0x92cd[8]](_0x35c9x9)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};exports[_0x92cd[14]]= function(_0x35c9x5,_0x35c9x6){return Company[_0x92cd[18]]({where:{name:_0x35c9x5[_0x92cd[17]][_0x92cd[16]]}})[_0x92cd[10]](function(_0x35c9xa){if(!_0x35c9xa){return _0x35c9x6[_0x92cd[15]](404)};return _0x35c9x6[_0x92cd[8]](_0x35c9xa)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};exports[_0x92cd[19]]= function(_0x35c9x5,_0x35c9x6){return Company[_0x92cd[22]](_0x35c9x5[_0x92cd[21]][_0x92cd[20]])[_0x92cd[10]](function(_0x35c9xb){if(!_0x35c9xb){return _0x35c9x6[_0x92cd[15]](404)};return _0x35c9x6[_0x92cd[8]](_0x35c9xb)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};exports[_0x92cd[23]]= function(_0x35c9x5,_0x35c9x6){return Company[_0x92cd[23]](_0x35c9x5[_0x92cd[17]])[_0x92cd[10]](function(_0x35c9xb){return _0x35c9x6[_0x92cd[9]](201)[_0x92cd[8]](_0x35c9xb)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};exports[_0x92cd[24]]= function(_0x35c9x5,_0x35c9x6){return Company[_0x92cd[18]]({where:{name:_0x35c9x5[_0x92cd[17]][_0x92cd[16]],id:{$ne:_0x35c9x5[_0x92cd[17]][_0x92cd[20]]}}})[_0x92cd[10]](function(_0x35c9xa){if(!_0x35c9xa){return _0x35c9x6[_0x92cd[15]](404)};if(_0x35c9xa[_0x92cd[27]]> 0){return _0x35c9x6[_0x92cd[9]](500)[_0x92cd[8]]({message:_0x92cd[28]})};if(_0x35c9x5[_0x92cd[17]][_0x92cd[20]]){delete _0x35c9x5[_0x92cd[17]][_0x92cd[20]]};return Company[_0x92cd[29]]({where:{id:_0x35c9x5[_0x92cd[21]][_0x92cd[20]]}})})[_0x92cd[10]](function(_0x35c9xb){if(!_0x35c9xb){return _0x35c9x6[_0x92cd[15]](404)};var _0x35c9xc=_[_0x92cd[25]](_0x35c9xb,_0x35c9x5[_0x92cd[17]]);return _0x35c9xc[_0x92cd[26]]()})[_0x92cd[10]](function(_0x35c9xb){return _0x35c9x6[_0x92cd[9]](200)[_0x92cd[8]](_0x35c9xb)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};exports[_0x92cd[30]]= function(_0x35c9x5,_0x35c9x6){return Company[_0x92cd[22]](_0x35c9x5[_0x92cd[21]][_0x92cd[20]])[_0x92cd[10]](function(_0x35c9xb){if(!_0x35c9xb){return _0x35c9x6[_0x92cd[15]](404)};return _0x35c9xb[_0x92cd[30]]()})[_0x92cd[10]](function(){return _0x35c9x6[_0x92cd[15]](204)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};exports[_0x92cd[31]]= function(_0x35c9x5,_0x35c9x6){return Company[_0x92cd[30]]({where:{id:_0x35c9x5[_0x92cd[11]][_0x92cd[32]]},individualHooks:true})[_0x92cd[10]](function(){return _0x35c9x6[_0x92cd[15]](204)})[_0x92cd[7]](function(_0x35c9x8){return handleError(_0x35c9x6,_0x35c9x8)})};function handleError(_0x35c9x6,_0x35c9x8){return _0x35c9x6[_0x92cd[9]](500)[_0x92cd[8]](_0x35c9x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Company = require('../../models').Company;
-
-var CompanyEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-CompanyEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Company.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- CompanyEvents.emit(event + ':' + doc._id, doc);
- CompanyEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = CompanyEvents;
+var _0x75ae=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x6F\x6D\x70\x61\x6E\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x75ae[0];const EventEmitter=require(_0x75ae[1]);const Company=require(_0x75ae[3])[_0x75ae[2]];var CompanyEvents= new EventEmitter();CompanyEvents[_0x75ae[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x75ae[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x75ae[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x75ae[6]};for(var e in events){var event=events[e];Company[_0x75ae[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7409x8,_0x7409x9,_0x7409xa){CompanyEvents[_0x75ae[10]](event+ _0x75ae[8]+ _0x7409x8[_0x75ae[9]],_0x7409x8);CompanyEvents[_0x75ae[10]](event,_0x7409x8);_0x7409xa(null)}}module[_0x75ae[11]]= CompanyEvents
\ No newline at end of file
-'use strict';
-
-const CompanyEvents = require('./company.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('company:' + event, socket);
-
- CompanyEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- CompanyEvents.removeListener(event, listener);
- };
-}
+var _0xabec=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x6F\x6D\x70\x61\x6E\x79\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xabec[0];const CompanyEvents=require(_0xabec[1]);var events=[_0xabec[2],_0xabec[3]];exports[_0xabec[4]]= function(_0x14e5x3){for(var _0x14e5x4=0,_0x14e5x5=events[_0xabec[5]];_0x14e5x4< _0x14e5x5;_0x14e5x4++){var _0x14e5x6=events[_0x14e5x4];var _0x14e5x7=createListener(_0xabec[6]+ _0x14e5x6,_0x14e5x3);CompanyEvents[_0xabec[7]](_0x14e5x6,_0x14e5x7);_0x14e5x3[_0xabec[7]](_0xabec[8],removeListener(_0x14e5x6,_0x14e5x7))}};function createListener(_0x14e5x6,_0x14e5x3){return function(_0x14e5x9){_0x14e5x3[_0xabec[9]](_0x14e5x6,_0x14e5x9)}}function removeListener(_0x14e5x6,_0x14e5x7){return function(){CompanyEvents[_0xabec[10]](_0x14e5x6,_0x14e5x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./company.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.index);
-router.get('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.show);
-router.post('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.create);
-router.post('/validate', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.companyValidation);
-router.put('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x7a10=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x43\x6D","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6D\x70\x61\x6E\x79\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7a10[0];var express=require(_0x7a10[1]);var controller=require(_0x7a10[2]);var auth=require(_0x7a10[3]);var license=require(_0x7a10[4]);var router=express.Router();router[_0x7a10[12]](_0x7a10[5],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8],_0x7a10[9]]),controller[_0x7a10[11]]);router[_0x7a10[12]](_0x7a10[13],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8],_0x7a10[9]]),controller[_0x7a10[14]]);router[_0x7a10[16]](_0x7a10[5],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8]]),controller[_0x7a10[15]]);router[_0x7a10[16]](_0x7a10[17],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8]]),controller[_0x7a10[18]]);router[_0x7a10[20]](_0x7a10[13],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8]]),controller[_0x7a10[19]]);router[_0x7a10[22]](_0x7a10[5],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8]]),controller[_0x7a10[21]]);router[_0x7a10[22]](_0x7a10[13],auth[_0x7a10[6]](),license[_0x7a10[7]](),auth[_0x7a10[10]]([5],[_0x7a10[8]]),controller[_0x7a10[23]]);module[_0x7a10[24]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-var Contact = require('../../models').Contact;
-var User = require('../../models').User;
-var ContactPhone = require('../../models').ContactPhone;
-var ContactEmail = require('../../models').ContactEmail;
-var CustomField = require('../../models').CustomField;
-var ReportCall = require('../../models').ReportCall;
-var ReportQueue = require('../../models').ReportQueue;
-var ReportQueueHistory = require('../../models').history.ReportQueueHistory;
-var ReportChatRoom = require('../../models').ReportChatRoom;
-var ReportChatRoomHistory = require('../../models').history.ReportChatRoomHistory;
-var ChatRoom = require('../../models').ChatRoom;
-var FaxRoom = require('../../models').FaxRoom;
-var SmsRoom = require('../../models').SmsRoom;
-var ReportIntegration = require('../../models').ReportIntegration;
-var List = require('../../models').List;
-var ReportCallHistory = require('../../models').history.ReportCallHistory;
-var ReportMailSession = require('../../models').ReportMailSession;
-var MailRoom = require('../../models').MailRoom;
-var ReportMailSessionHistory = require('../../models').history.ReportMailSessionHistory;
-var Tag = require('../../models').Tag;
-var stream = require('stream');
-var sequelize = require('../../models').sequelize;
-var util = require('util');
-var Util = require('../../config/util');
-var Async = require('async');
-
-// Get list of contacts
-exports.index = function(req, res, next) {
- var results, _agentLists;
- switch (req.user.role) {
- case 'agent':
- return User
- .findById(req.user.id)
- .then(function(agent) {
- return agent.getLists();
- })
- .then(function(lists) {
- _agentLists = _.map(lists, 'id');
- return List
- .findAll({
- where: {
- defaultEntry: true
- },
- attributes: ['id']
- });
- })
- .then(function(defaultLists) {
- var company_list_query = {
- CompanyId: req.query.CompanyId || null,
- ListId: req.query.ListId || null,
- };
- delete req.query.CompanyId;
- delete req.query.ListId;
- return Contact
- .scope('list', 'company', {
- method: ['company_list_filter', company_list_query]
- })
- .findAndCountAll(Util.getQuery(req.query, company_list_query.ListId ? {} : {
- ListId: {
- $in: _agentLists.concat(_.map(defaultLists, 'id'))
- }
- }));
- })
- .then(function(contacts) {
- results = {
- rows: _.map(contacts.rows, 'dataValues'),
- count: contacts.rows
- };
- return Contact
- .describe();
- })
- .then(function(fields) {
- fields = _.filter(_.keys(fields), function(elem) {
- return _.includes(elem, 'cf_');
- });
- return CustomField
- .findAll({
- where: {
- name: fields
- }
- });
- })
- .then(function(customFields) {
- if (customFields.length) {
- var cfs = _.map(customFields, 'name').join(',');
- return sequelize.query(util.format('SELECT id,%s FROM cm_contacts WHERE id IN (\'' + _.map(results.rows, 'id').join("','") + '\')', cfs), {
- type: sequelize.QueryTypes.SELECT
- });
- }
- })
- .then(function(contactsCf) {
- _.merge(results.rows, contactsCf);
- return results;
- })
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- var company_list_query = {
- CompanyId: req.query.CompanyId || null,
- ListId: req.query.ListId || null,
- };
- delete req.query.CompanyId;
- delete req.query.ListId;
- return Contact
- .scope('list', 'company', {
- method: ['company_list_filter', company_list_query]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(contacts) {
- results = {
- rows: _.map(contacts.rows, 'dataValues'),
- count: contacts.count
- };
- return Contact
- .describe();
- })
- .then(function(fields) {
- fields = _.filter(_.keys(fields), function(elem) {
- return _.includes(elem, 'cf_');
- });
- return CustomField
- .findAll({
- where: {
- name: fields
- }
- });
- })
- .then(function(customFields) {
- if (results.rows.length && customFields.length) {
- var cfs = _.map(customFields, 'name').join(',');
- return sequelize.query(util.format('SELECT id,%s FROM cm_contacts WHERE id IN (\'' + _.map(results.rows, 'id').join("','") + '\')', cfs), {
- type: sequelize.QueryTypes.SELECT
- });
- }
- })
- .then(function(contactsCf) {
- if (contactsCf) {
- _.merge(results.rows, contactsCf);
- }
- return results;
- })
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return Contact
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getLog = function(req, res, next) {
- req.query.detail = req.query.detail || 'general';
- req.query.show = req.query.show || 'phone';
- req.query.logType = req.query.logType || 'journal';
- req.query.type = req.query.type || 'inbound';
- var Api, where = {};
- return Contact
- .findById(req.params.id)
- .then(function(contact) {
- if (!contact) {
- return res.sendStatus(404);
- }
- switch (req.query.detail) {
- case 'general':
- switch (req.query.show) {
- case 'phone':
- Api = (req.query.logType === 'history') ? ReportCallHistory : ReportCall;
- if (req.query.type === 'outbound') {
- where.destination = [contact.phone, contact.mobile];
- } else {
- where.source = [contact.phone, contact.mobile];
- }
- break;
- case 'email':
- Api = MailRoom;
- where.from = contact.email;
- if (req.query.logType === 'history') {
- where.createdAt = {
- $lt: moment().startOf('day')
- }
- } else {
- where.createdAt = {
- $gte: moment().startOf('day')
- }
- }
- break;
- case 'chat':
- Api = ChatRoom;
- where.contact = contact.email;
- if (req.query.logType === 'history') {
- where.createdAt = {
- $lt: moment().startOf('day')
- }
- } else {
- where.createdAt = {
- $gte: moment().startOf('day')
- }
- }
- break;
- case 'fax':
- Api = FaxRoom;
- where.contact = contact.fax;
- if (req.query.logType === 'history') {
- where.createdAt = {
- $lt: moment().startOf('day')
- }
- } else {
- where.createdAt = {
- $gte: moment().startOf('day')
- }
- }
- break;
- case 'sms':
- Api = SmsRoom;
- where.contact = [contact.phone, contact.mobile];
- if (req.query.logType === 'history') {
- where.createdAt = {
- $lt: moment().startOf('day')
- }
- } else {
- where.createdAt = {
- $gte: moment().startOf('day')
- }
- }
- break;
- default:
- Api = (req.query.logType === 'history') ? ReportCallHistory : ReportCall;
- }
- break;
- case 'queue':
- switch (req.query.show) {
- case 'phone':
- Api = (req.query.logType === 'history') ? ReportQueueHistory : ReportQueue;
- where.calleridnum = [contact.phone, contact.mobile];
- break;
- case 'email':
- return res.sendStatus(404);
- default:
- Api = (req.query.logType === 'history') ? ReportQueueHistory : ReportQueue;
- }
- break;
- default:
- Api = ReportCall;
- }
- delete req.query.detail;
- delete req.query.show;
- delete req.query.logType;
- delete req.query.type;
- return Api
- .findAndCountAll(Util.getQuery(req.query, where));
- })
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-
-};
-
-// Get a single managed_contact
-exports.show = function(req, res) {
- var _contact;
- return Contact
- .scope('list', 'user', 'company')
- .findById(req.params.id)
- .then(function(managed_contact) {
- if (!managed_contact) {
- return res.sendStatus(404);
- }
- _contact = managed_contact;
- return CustomField
- .findAll({
- where: {
- ListId: _contact.ListId
- }
- });
- })
- .then(function(customFields) {
- if (customFields.length) {
- var cfs = _.map(customFields, 'name').join(',');
- return sequelize.query(util.format('SELECT %s FROM cm_contacts WHERE id=%s', cfs, req.params.id), {
- type: sequelize.QueryTypes.SELECT
- });
- }
- })
- .then(function(cfValues) {
- if (cfValues) {
- _.forEach(cfValues[0], function(value, key, array) {
- if (value === 'null') {
- array[key] = null;
- }
- });
- _.merge(_contact.dataValues, cfValues[0]);
- }
- })
- .then(function() {
- return res.status(200).send(_contact);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.getEventContacts = function(req, res) {
- return ReportIntegration
- .findById(req.params.id)
- .then(function(event) {
- var where = {};
- switch (event.eventChannel) {
- case 'voice':
- where = {
- $or: {
- phone: event.calleridnum,
- mobile: event.calleridnum
- }
- };
- break;
- case 'mail':
- where = {
- email: event.from
- };
- break;
- default:
- where = {};
- }
- return Contact.findAndCountAll({
- where: where,
- include: [{
- model: List,
- where: {
- $or: {
- id: _.map(_.map(req.user.Lists, 'dataValues'), 'id'),
- defaultEntry: true
- }
- }
- }]
- });
- })
- .then(function(contacts) {
- return res.status(200).send(contacts);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-
-};
-
-// Creates a new managed_contact in the DB.
-exports.create = function(req, res, next) {
- var _contact;
- return Tag
- .findAll()
- .then(function(tags) {
- var newTags = [];
- var tagList = _.map(_.map(tags, 'dataValues'), 'name');
- if (req.body.tags) {
- req.body.tags.forEach(function(elem) {
- if (!_.includes(tagList, elem)) {
- newTags.push(Tag.create({
- name: elem
- }));
- }
- });
- }
- return newTags;
- })
- .all()
- .then(function() {
- req.body.UserId = req.user.id;
- return Contact.create(req.body);
- })
- .then(function(contact) {
- _contact = contact;
-
- return CustomField
- .findAll({
- where: {
- ListId: _contact.ListId
- }
- });
- })
- .then(function(customFields) {
- if (customFields.length) {
- var cfs = [];
- customFields.forEach(function(elem) {
- if (req.body.hasOwnProperty(elem.name)) {
- cfs.push(util.format('%s=\'%s\'', elem.name, req.body[elem.name]));
- }
- });
- if (cfs.length) {
- cfs = cfs.join(',');
- return sequelize.query(util.format('UPDATE cm_contacts SET %s WHERE id=%s', cfs, _contact.id));
- }
- }
- })
- .then(function() {
- return res.status(201).send(_contact);
- })
- .catch(function(err) {
- console.log(err);
- return next(err);
- });
-};
-
-exports.copy = function(req, res, next) {
- var _contact, _newContact;
- return Contact
- .findById(req.params.id)
- .then(function(contact) {
- _contact = contact.dataValues;
- _newContact = _.clone(contact.dataValues);
- delete _newContact.id;
- _newContact.UserId = req.user.id;
- _newContact.ListId = req.body.ListId;
- _newContact.tags = _newContact.tags ? _newContact.tags.split(';') : [];
- if (_newContact.tags.length > 1) {
- _newContact.tags.pop();
- }
- return Contact
- .create(_newContact);
- })
- .then(function(newContact) {
- _newContact = newContact;
- if (_contact.ListId === req.body.ListId) {
- return CustomField
- .findAll({
- where: {
- ListId: _contact.ListId
- }
- });
- }
- })
- .then(function(customFields) {
- if (customFields && customFields.length) {
- var cfs = _.map(customFields, 'name').join(',');
- return sequelize.query(util.format('SELECT %s FROM cm_contacts WHERE id=%s', cfs, _contact.id), {
- type: sequelize.QueryTypes.SELECT
- });
- }
- })
- .then(function(cfValues) {
- if (cfValues) {
- var cfs = [];
- _.forOwn(cfValues[0], function(value, key) {
- cfs.push(util.format('%s=\'%s\'', key, value));
- });
- if (cfs.length) {
- cfs = cfs.join(',');
- return sequelize.query(util.format('UPDATE cm_contacts SET %s WHERE id=%s', cfs, _newContact.id));
- }
- }
- })
- .then(function() {
- return res.status(201).send(_newContact);
- })
- .catch(function(err) {
- console.log(err);
- return next(err);
- });
-}
-
-// Creates a new managed_contact in the DB.
-exports.bulkCreate = function(req, res, next) {
- var _contacts = [];
- var _result = {
- ok: 0,
- ko: 0
- };
- return Tag
- .findAll()
- .then(function(tags) {
- var newTags = [],
- contactTags = [];
- var tagList = _.map(_.map(tags, 'dataValues'), 'name');
- req.body.contacts.forEach(function(contact) {
- if (contact.tags) {
- contactTags = _.union(contactTags, contact.tags);
- }
- });
- contactTags.forEach(function(elem) {
- if (!_.includes(tagList, elem)) {
- newTags.push(Tag.create({
- name: elem
- }));
- }
- });
- return newTags;
- })
- .all()
- .then(function() {
- var bulkCreate = [];
- Async.forEachOf(req.body.contacts, function(contact) {
- contact.UserId = req.user.id;
-
- bulkCreate.push(Contact.create(contact)
- .then(function(contact) {
- _contacts.push(contact);
- _result.ok++;
- })
- .catch(function(err) {
- _result.ko++;
- }));
- })
- return bulkCreate;
- })
- .all()
- .then(function() {
- return CustomField
- .findAll({
- where: {
- ListId: {
- $in: _.map(req.body.contacts, 'ListId')
- }
- }
- });
- })
- .then(function(customFields) {
- var bulkFields = [];
- if (customFields.length) {
- var cfs = [];
- _contacts.forEach(function(contact) {
- cfs = [];
- customFields.forEach(function(elem) {
- if (contact.hasOwnProperty(elem.name)) {
- cfs.push(util.format('%s=\'%s\'', elem.name, req.body[elem.name]));
- }
- });
- if (cfs.length) {
- cfs = cfs.join(',');
- bulkFields.push(sequelize.query(util.format('UPDATE cm_contacts SET %s WHERE id=%s', cfs, contact.id)));
- }
- });
- }
- return bulkFields;
- })
- .all()
- .then(function() {
- return res.status(201).send(_result);
- })
- .catch(function(err) {
- console.log(err);
- return next(err);
- });
-};
-
-// Updates an existing managed_contact in the DB.
-exports.update = function(req, res, next) {
- return Promise
- .all([])
- .then(updateContact(req, res))
- .then(function(contact) {
- return res.status(200).send(contact);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.merge = function(req, res, next) {
- var _contact;
- return Promise
- .all([])
- .then(updateContact(req, res))
- .then(function(contact) {
- _contact = contact;
- if (req.body.oldContact) {
- return Contact
- .destroy({
- where: {
- id: req.body.oldContact
- },
- individualHooks: true
- });
- }
- })
- .then(function() {
- return res.status(200).send(_contact);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function updateContact(req, res) {
- return function() {
- var _contact;
- return Tag
- .findAll()
- .then(function(tags) {
- var newTags = [];
- var tagList = _.map(_.map(tags, 'dataValues'), 'name');
- if (req.body.tags) {
- req.body.tags.forEach(function(elem) {
- if (!_.includes(tagList, elem)) {
- newTags.push(Tag.create({
- name: elem
- }));
- }
- });
- }
- return newTags;
- })
- .then(function() {
- return Contact.findById(req.params.id);
- })
- .then(function(contact) {
- if (!contact) {
- return res.sendStatus(404);
- }
- delete req.body.id;
- return contact.updateAttributes(req.body)
- })
- .then(function(contact) {
- _contact = contact;
-
- return CustomField
- .findAll({
- where: {
- ListId: _contact.ListId
- }
- });
- })
- .then(function(customFields) {
- if (customFields.length) {
- var cfs = [];
- customFields.forEach(function(elem) {
- if (req.body.hasOwnProperty(elem.name)) {
- cfs.push(util.format('%s=\'%s\'', elem.name, req.body[elem.name]));
- }
- });
- if (cfs.length) {
- cfs = cfs.join(',');
- return sequelize.query(util.format('UPDATE cm_contacts SET %s WHERE id=%s', cfs, _contact.id));
- }
- }
- })
- .then(function() {
- return _contact;
- })
- }
-}
-
-// Deletes a managed_contact from the DB.
-exports.destroy = function(req, res) {
- return Contact
- .findById(req.params.id)
- .then(function(managed_contact) {
- if (!managed_contact) {
- return res.sendStatus(404);
- }
- return managed_contact.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a managed_contact from the DB.
-exports.bulkDestroy = function(req, res) {
- return Contact
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x8fee=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D\x48\x69\x73\x74\x6F\x72\x79","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x6D\x73\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x4C\x69\x73\x74","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x54\x61\x67","\x73\x74\x72\x65\x61\x6D","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x72\x6F\x77\x73","\x6D\x65\x72\x67\x65","\x6C\x65\x6E\x67\x74\x68","\x2C","\x6A\x6F\x69\x6E","\x6E\x61\x6D\x65","\x6D\x61\x70","\x53\x45\x4C\x45\x43\x54\x20\x69\x64\x2C\x25\x73\x20\x46\x52\x4F\x4D\x20\x63\x6D\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73\x20\x57\x48\x45\x52\x45\x20\x69\x64\x20\x49\x4E\x20\x28\x27","\x27\x2C\x27","\x69\x64","\x27\x29","\x66\x6F\x72\x6D\x61\x74","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x71\x75\x65\x72\x79","\x6B\x65\x79\x73","\x63\x66\x5F","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x66\x69\x6C\x74\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x64\x65\x73\x63\x72\x69\x62\x65","\x43\x6F\x6D\x70\x61\x6E\x79\x49\x64","\x4C\x69\x73\x74\x49\x64","\x63\x6F\x6E\x63\x61\x74","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6C\x69\x73\x74","\x63\x6F\x6D\x70\x61\x6E\x79","\x63\x6F\x6D\x70\x61\x6E\x79\x5F\x6C\x69\x73\x74\x5F\x66\x69\x6C\x74\x65\x72","\x73\x63\x6F\x70\x65","\x67\x65\x74\x4C\x69\x73\x74\x73","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x67\x65\x6E\x74","\x63\x6F\x75\x6E\x74","\x72\x6F\x6C\x65","\x67\x65\x74\x4C\x6F\x67","\x64\x65\x74\x61\x69\x6C","\x67\x65\x6E\x65\x72\x61\x6C","\x73\x68\x6F\x77","\x70\x68\x6F\x6E\x65","\x6C\x6F\x67\x54\x79\x70\x65","\x6A\x6F\x75\x72\x6E\x61\x6C","\x74\x79\x70\x65","\x69\x6E\x62\x6F\x75\x6E\x64","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x6D\x6F\x62\x69\x6C\x65","\x73\x6F\x75\x72\x63\x65","\x66\x72\x6F\x6D","\x65\x6D\x61\x69\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x63\x6F\x6E\x74\x61\x63\x74","\x63\x68\x61\x74","\x66\x61\x78","\x73\x6D\x73","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x71\x75\x65\x75\x65","\x70\x61\x72\x61\x6D\x73","\x6E\x75\x6C\x6C","\x66\x6F\x72\x45\x61\x63\x68","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x63\x6D\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73\x20\x57\x48\x45\x52\x45\x20\x69\x64\x3D\x25\x73","\x67\x65\x74\x45\x76\x65\x6E\x74\x43\x6F\x6E\x74\x61\x63\x74\x73","\x76\x6F\x69\x63\x65","\x6D\x61\x69\x6C","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x63\x72\x65\x61\x74\x65","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x62\x6F\x64\x79","\x25\x73\x3D\x27\x25\x73\x27","\x70\x75\x73\x68","\x55\x50\x44\x41\x54\x45\x20\x63\x6D\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73\x20\x53\x45\x54\x20\x25\x73\x20\x57\x48\x45\x52\x45\x20\x69\x64\x3D\x25\x73","\x55\x73\x65\x72\x49\x64","\x61\x6C\x6C","\x74\x61\x67\x73","\x63\x6F\x70\x79","\x66\x6F\x72\x4F\x77\x6E","\x63\x6C\x6F\x6E\x65","\x3B","\x73\x70\x6C\x69\x74","\x70\x6F\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x63\x6F\x6E\x74\x61\x63\x74\x73","\x6B\x6F","\x6F\x6B","\x66\x6F\x72\x45\x61\x63\x68\x4F\x66","\x75\x6E\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6F\x6C\x64\x43\x6F\x6E\x74\x61\x63\x74","\x64\x65\x73\x74\x72\x6F\x79","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x8fee[0];var _=require(_0x8fee[1]);var moment=require(_0x8fee[2]);var Contact=require(_0x8fee[4])[_0x8fee[3]];var User=require(_0x8fee[4])[_0x8fee[5]];var ContactPhone=require(_0x8fee[4])[_0x8fee[6]];var ContactEmail=require(_0x8fee[4])[_0x8fee[7]];var CustomField=require(_0x8fee[4])[_0x8fee[8]];var ReportCall=require(_0x8fee[4])[_0x8fee[9]];var ReportQueue=require(_0x8fee[4])[_0x8fee[10]];var ReportQueueHistory=require(_0x8fee[4])[_0x8fee[12]][_0x8fee[11]];var ReportChatRoom=require(_0x8fee[4])[_0x8fee[13]];var ReportChatRoomHistory=require(_0x8fee[4])[_0x8fee[12]][_0x8fee[14]];var ChatRoom=require(_0x8fee[4])[_0x8fee[15]];var FaxRoom=require(_0x8fee[4])[_0x8fee[16]];var SmsRoom=require(_0x8fee[4])[_0x8fee[17]];var ReportIntegration=require(_0x8fee[4])[_0x8fee[18]];var List=require(_0x8fee[4])[_0x8fee[19]];var ReportCallHistory=require(_0x8fee[4])[_0x8fee[12]][_0x8fee[20]];var ReportMailSession=require(_0x8fee[4])[_0x8fee[21]];var MailRoom=require(_0x8fee[4])[_0x8fee[22]];var ReportMailSessionHistory=require(_0x8fee[4])[_0x8fee[12]][_0x8fee[23]];var Tag=require(_0x8fee[4])[_0x8fee[24]];var stream=require(_0x8fee[25]);var sequelize=require(_0x8fee[4])[_0x8fee[26]];var util=require(_0x8fee[27]);var Util=require(_0x8fee[28]);var Async=require(_0x8fee[29]);exports[_0x8fee[30]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){var _0xb4ffx1f,_0xb4ffx20;switch(_0xb4ffx1c[_0x8fee[68]][_0x8fee[72]]){case _0x8fee[70]:return User[_0x8fee[69]](_0xb4ffx1c[_0x8fee[68]][_0x8fee[45]])[_0x8fee[35]](function(_0xb4ffx2c){return _0xb4ffx2c[_0x8fee[67]]()})[_0x8fee[35]](function(_0xb4ffx2b){_0xb4ffx20= _[_0x8fee[42]](_0xb4ffx2b,_0x8fee[45]);return List[_0x8fee[55]]({where:{defaultEntry:true},attributes:[_0x8fee[45]]})})[_0x8fee[35]](function(_0xb4ffx29){var _0xb4ffx2a={CompanyId:_0xb4ffx1c[_0x8fee[50]][_0x8fee[58]]|| null,ListId:_0xb4ffx1c[_0x8fee[50]][_0x8fee[59]]|| null};delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[58]];delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[59]];return Contact[_0x8fee[66]](_0x8fee[63],_0x8fee[64],{method:[_0x8fee[65],_0xb4ffx2a]})[_0x8fee[62]](Util[_0x8fee[61]](_0xb4ffx1c[_0x8fee[50]],_0xb4ffx2a[_0x8fee[59]]?{}:{ListId:{$in:_0xb4ffx20[_0x8fee[60]](_[_0x8fee[42]](_0xb4ffx29,_0x8fee[45]))}}))})[_0x8fee[35]](function(_0xb4ffx28){_0xb4ffx1f= {rows:_[_0x8fee[42]](_0xb4ffx28[_0x8fee[36]],_0x8fee[56]),count:_0xb4ffx28[_0x8fee[36]]};return Contact[_0x8fee[57]]()})[_0x8fee[35]](function(_0xb4ffx26){_0xb4ffx26= _[_0x8fee[54]](_[_0x8fee[51]](_0xb4ffx26),function(_0xb4ffx27){return _[_0x8fee[53]](_0xb4ffx27,_0x8fee[52])});return CustomField[_0x8fee[55]]({where:{name:_0xb4ffx26}})})[_0x8fee[35]](function(_0xb4ffx24){if(_0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=_[_0x8fee[42]](_0xb4ffx24,_0x8fee[41])[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[43]+ _[_0x8fee[42]](_0xb4ffx1f[_0x8fee[36]],_0x8fee[45])[_0x8fee[40]](_0x8fee[44])+ _0x8fee[46],_0xb4ffx25),{type:sequelize[_0x8fee[49]][_0x8fee[48]]})}})[_0x8fee[35]](function(_0xb4ffx23){_[_0x8fee[37]](_0xb4ffx1f[_0x8fee[36]],_0xb4ffx23);return _0xb4ffx1f})[_0x8fee[35]](function(_0xb4ffx22){_0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx22)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)});default:var _0xb4ffx2a={CompanyId:_0xb4ffx1c[_0x8fee[50]][_0x8fee[58]]|| null,ListId:_0xb4ffx1c[_0x8fee[50]][_0x8fee[59]]|| null};delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[58]];delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[59]];return Contact[_0x8fee[66]](_0x8fee[63],_0x8fee[64],{method:[_0x8fee[65],_0xb4ffx2a]})[_0x8fee[62]](Util[_0x8fee[61]](_0xb4ffx1c[_0x8fee[50]]))[_0x8fee[35]](function(_0xb4ffx28){_0xb4ffx1f= {rows:_[_0x8fee[42]](_0xb4ffx28[_0x8fee[36]],_0x8fee[56]),count:_0xb4ffx28[_0x8fee[71]]};return Contact[_0x8fee[57]]()})[_0x8fee[35]](function(_0xb4ffx26){_0xb4ffx26= _[_0x8fee[54]](_[_0x8fee[51]](_0xb4ffx26),function(_0xb4ffx27){return _[_0x8fee[53]](_0xb4ffx27,_0x8fee[52])});return CustomField[_0x8fee[55]]({where:{name:_0xb4ffx26}})})[_0x8fee[35]](function(_0xb4ffx24){if(_0xb4ffx1f[_0x8fee[36]][_0x8fee[38]]&& _0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=_[_0x8fee[42]](_0xb4ffx24,_0x8fee[41])[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[43]+ _[_0x8fee[42]](_0xb4ffx1f[_0x8fee[36]],_0x8fee[45])[_0x8fee[40]](_0x8fee[44])+ _0x8fee[46],_0xb4ffx25),{type:sequelize[_0x8fee[49]][_0x8fee[48]]})}})[_0x8fee[35]](function(_0xb4ffx23){if(_0xb4ffx23){_[_0x8fee[37]](_0xb4ffx1f[_0x8fee[36]],_0xb4ffx23)};return _0xb4ffx1f})[_0x8fee[35]](function(_0xb4ffx22){_0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx22)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)})}};exports[_0x8fee[57]]= function(_0xb4ffx1c,_0xb4ffx1d){return Contact[_0x8fee[57]]()[_0x8fee[35]](function(_0xb4ffx26){return _0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx26)})[_0x8fee[32]](function(_0xb4ffx21){return handleError(_0xb4ffx1d,_0xb4ffx21)})};exports[_0x8fee[73]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){_0xb4ffx1c[_0x8fee[50]][_0x8fee[74]]= _0xb4ffx1c[_0x8fee[50]][_0x8fee[74]]|| _0x8fee[75];_0xb4ffx1c[_0x8fee[50]][_0x8fee[76]]= _0xb4ffx1c[_0x8fee[50]][_0x8fee[76]]|| _0x8fee[77];_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]= _0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]|| _0x8fee[79];_0xb4ffx1c[_0x8fee[50]][_0x8fee[80]]= _0xb4ffx1c[_0x8fee[50]][_0x8fee[80]]|| _0x8fee[81];var _0xb4ffx2d,_0xb4ffx2e={};return Contact[_0x8fee[69]](_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]])[_0x8fee[35]](function(_0xb4ffx2f){if(!_0xb4ffx2f){return _0xb4ffx1d[_0x8fee[82]](404)};switch(_0xb4ffx1c[_0x8fee[50]][_0x8fee[74]]){case _0x8fee[75]:switch(_0xb4ffx1c[_0x8fee[50]][_0x8fee[76]]){case _0x8fee[77]:_0xb4ffx2d= (_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12])?ReportCallHistory:ReportCall;if(_0xb4ffx1c[_0x8fee[50]][_0x8fee[80]]=== _0x8fee[83]){_0xb4ffx2e[_0x8fee[84]]= [_0xb4ffx2f[_0x8fee[77]],_0xb4ffx2f[_0x8fee[85]]]}else {_0xb4ffx2e[_0x8fee[86]]= [_0xb4ffx2f[_0x8fee[77]],_0xb4ffx2f[_0x8fee[85]]]};break;case _0x8fee[88]:_0xb4ffx2d= MailRoom;_0xb4ffx2e[_0x8fee[87]]= _0xb4ffx2f[_0x8fee[88]];if(_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12]){_0xb4ffx2e[_0x8fee[89]]= {$lt:moment()[_0x8fee[91]](_0x8fee[90])}}else {_0xb4ffx2e[_0x8fee[89]]= {$gte:moment()[_0x8fee[91]](_0x8fee[90])}};break;case _0x8fee[93]:_0xb4ffx2d= ChatRoom;_0xb4ffx2e[_0x8fee[92]]= _0xb4ffx2f[_0x8fee[88]];if(_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12]){_0xb4ffx2e[_0x8fee[89]]= {$lt:moment()[_0x8fee[91]](_0x8fee[90])}}else {_0xb4ffx2e[_0x8fee[89]]= {$gte:moment()[_0x8fee[91]](_0x8fee[90])}};break;case _0x8fee[94]:_0xb4ffx2d= FaxRoom;_0xb4ffx2e[_0x8fee[92]]= _0xb4ffx2f[_0x8fee[94]];if(_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12]){_0xb4ffx2e[_0x8fee[89]]= {$lt:moment()[_0x8fee[91]](_0x8fee[90])}}else {_0xb4ffx2e[_0x8fee[89]]= {$gte:moment()[_0x8fee[91]](_0x8fee[90])}};break;case _0x8fee[95]:_0xb4ffx2d= SmsRoom;_0xb4ffx2e[_0x8fee[92]]= [_0xb4ffx2f[_0x8fee[77]],_0xb4ffx2f[_0x8fee[85]]];if(_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12]){_0xb4ffx2e[_0x8fee[89]]= {$lt:moment()[_0x8fee[91]](_0x8fee[90])}}else {_0xb4ffx2e[_0x8fee[89]]= {$gte:moment()[_0x8fee[91]](_0x8fee[90])}};break;default:_0xb4ffx2d= (_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12])?ReportCallHistory:ReportCall};break;case _0x8fee[97]:switch(_0xb4ffx1c[_0x8fee[50]][_0x8fee[76]]){case _0x8fee[77]:_0xb4ffx2d= (_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12])?ReportQueueHistory:ReportQueue;_0xb4ffx2e[_0x8fee[96]]= [_0xb4ffx2f[_0x8fee[77]],_0xb4ffx2f[_0x8fee[85]]];break;case _0x8fee[88]:return _0xb4ffx1d[_0x8fee[82]](404);default:_0xb4ffx2d= (_0xb4ffx1c[_0x8fee[50]][_0x8fee[78]]=== _0x8fee[12])?ReportQueueHistory:ReportQueue};break;default:_0xb4ffx2d= ReportCall};delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[74]];delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[76]];delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[78]];delete _0xb4ffx1c[_0x8fee[50]][_0x8fee[80]];return _0xb4ffx2d[_0x8fee[62]](Util[_0x8fee[61]](_0xb4ffx1c[_0x8fee[50]],_0xb4ffx2e))})[_0x8fee[35]](function(_0xb4ffx22){_0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx22)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)})};exports[_0x8fee[76]]= function(_0xb4ffx1c,_0xb4ffx1d){var _0xb4ffx30;return Contact[_0x8fee[66]](_0x8fee[63],_0x8fee[68],_0x8fee[64])[_0x8fee[69]](_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]])[_0x8fee[35]](function(_0xb4ffx35){if(!_0xb4ffx35){return _0xb4ffx1d[_0x8fee[82]](404)};_0xb4ffx30= _0xb4ffx35;return CustomField[_0x8fee[55]]({where:{ListId:_0xb4ffx30[_0x8fee[59]]}})})[_0x8fee[35]](function(_0xb4ffx24){if(_0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=_[_0x8fee[42]](_0xb4ffx24,_0x8fee[41])[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[101],_0xb4ffx25,_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]]),{type:sequelize[_0x8fee[49]][_0x8fee[48]]})}})[_0x8fee[35]](function(_0xb4ffx31){if(_0xb4ffx31){_[_0x8fee[100]](_0xb4ffx31[0],function(_0xb4ffx32,_0xb4ffx33,_0xb4ffx34){if(_0xb4ffx32=== _0x8fee[99]){_0xb4ffx34[_0xb4ffx33]= null}});_[_0x8fee[37]](_0xb4ffx30[_0x8fee[56]],_0xb4ffx31[0])}})[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx30)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)})};exports[_0x8fee[102]]= function(_0xb4ffx1c,_0xb4ffx1d){return ReportIntegration[_0x8fee[69]](_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]])[_0x8fee[35]](function(_0xb4ffx36){var _0xb4ffx2e={};switch(_0xb4ffx36[_0x8fee[105]]){case _0x8fee[103]:_0xb4ffx2e= {$or:{phone:_0xb4ffx36[_0x8fee[96]],mobile:_0xb4ffx36[_0x8fee[96]]}};break;case _0x8fee[104]:_0xb4ffx2e= {email:_0xb4ffx36[_0x8fee[87]]};break;default:_0xb4ffx2e= {}};return Contact[_0x8fee[62]]({where:_0xb4ffx2e,include:[{model:List,where:{$or:{id:_[_0x8fee[42]](_[_0x8fee[42]](_0xb4ffx1c[_0x8fee[68]].Lists,_0x8fee[56]),_0x8fee[45]),defaultEntry:true}}}]})})[_0x8fee[35]](function(_0xb4ffx28){return _0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx28)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)})};exports[_0x8fee[106]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){var _0xb4ffx30;return Tag[_0x8fee[55]]()[_0x8fee[35]](function(_0xb4ffx37){var _0xb4ffx38=[];var _0xb4ffx39=_[_0x8fee[42]](_[_0x8fee[42]](_0xb4ffx37,_0x8fee[56]),_0x8fee[41]);if(_0xb4ffx1c[_0x8fee[108]][_0x8fee[114]]){_0xb4ffx1c[_0x8fee[108]][_0x8fee[114]][_0x8fee[100]](function(_0xb4ffx27){if(!_[_0x8fee[53]](_0xb4ffx39,_0xb4ffx27)){_0xb4ffx38[_0x8fee[110]](Tag[_0x8fee[106]]({name:_0xb4ffx27}))}})};return _0xb4ffx38})[_0x8fee[113]]()[_0x8fee[35]](function(){_0xb4ffx1c[_0x8fee[108]][_0x8fee[112]]= _0xb4ffx1c[_0x8fee[68]][_0x8fee[45]];return Contact[_0x8fee[106]](_0xb4ffx1c[_0x8fee[108]])})[_0x8fee[35]](function(_0xb4ffx2f){_0xb4ffx30= _0xb4ffx2f;return CustomField[_0x8fee[55]]({where:{ListId:_0xb4ffx30[_0x8fee[59]]}})})[_0x8fee[35]](function(_0xb4ffx24){if(_0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=[];_0xb4ffx24[_0x8fee[100]](function(_0xb4ffx27){if(_0xb4ffx1c[_0x8fee[108]][_0x8fee[107]](_0xb4ffx27[_0x8fee[41]])){_0xb4ffx25[_0x8fee[110]](util[_0x8fee[47]](_0x8fee[109],_0xb4ffx27[_0x8fee[41]],_0xb4ffx1c[_0x8fee[108]][_0xb4ffx27[_0x8fee[41]]]))}});if(_0xb4ffx25[_0x8fee[38]]){_0xb4ffx25= _0xb4ffx25[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[111],_0xb4ffx25,_0xb4ffx30[_0x8fee[45]]))}}})[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[34]](201)[_0x8fee[33]](_0xb4ffx30)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return _0xb4ffx1e(_0xb4ffx21)})};exports[_0x8fee[115]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){var _0xb4ffx30,_0xb4ffx3a;return Contact[_0x8fee[69]](_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]])[_0x8fee[35]](function(_0xb4ffx2f){_0xb4ffx30= _0xb4ffx2f[_0x8fee[56]];_0xb4ffx3a= _[_0x8fee[117]](_0xb4ffx2f[_0x8fee[56]]);delete _0xb4ffx3a[_0x8fee[45]];_0xb4ffx3a[_0x8fee[112]]= _0xb4ffx1c[_0x8fee[68]][_0x8fee[45]];_0xb4ffx3a[_0x8fee[59]]= _0xb4ffx1c[_0x8fee[108]][_0x8fee[59]];_0xb4ffx3a[_0x8fee[114]]= _0xb4ffx3a[_0x8fee[114]]?_0xb4ffx3a[_0x8fee[114]][_0x8fee[119]](_0x8fee[118]):[];if(_0xb4ffx3a[_0x8fee[114]][_0x8fee[38]]> 1){_0xb4ffx3a[_0x8fee[114]][_0x8fee[120]]()};return Contact[_0x8fee[106]](_0xb4ffx3a)})[_0x8fee[35]](function(_0xb4ffx3b){_0xb4ffx3a= _0xb4ffx3b;if(_0xb4ffx30[_0x8fee[59]]=== _0xb4ffx1c[_0x8fee[108]][_0x8fee[59]]){return CustomField[_0x8fee[55]]({where:{ListId:_0xb4ffx30[_0x8fee[59]]}})}})[_0x8fee[35]](function(_0xb4ffx24){if(_0xb4ffx24&& _0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=_[_0x8fee[42]](_0xb4ffx24,_0x8fee[41])[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[101],_0xb4ffx25,_0xb4ffx30[_0x8fee[45]]),{type:sequelize[_0x8fee[49]][_0x8fee[48]]})}})[_0x8fee[35]](function(_0xb4ffx31){if(_0xb4ffx31){var _0xb4ffx25=[];_[_0x8fee[116]](_0xb4ffx31[0],function(_0xb4ffx32,_0xb4ffx33){_0xb4ffx25[_0x8fee[110]](util[_0x8fee[47]](_0x8fee[109],_0xb4ffx33,_0xb4ffx32))});if(_0xb4ffx25[_0x8fee[38]]){_0xb4ffx25= _0xb4ffx25[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[111],_0xb4ffx25,_0xb4ffx3a[_0x8fee[45]]))}}})[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[34]](201)[_0x8fee[33]](_0xb4ffx3a)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return _0xb4ffx1e(_0xb4ffx21)})};exports[_0x8fee[121]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){var _0xb4ffx3c=[];var _0xb4ffx3d={ok:0,ko:0};return Tag[_0x8fee[55]]()[_0x8fee[35]](function(_0xb4ffx37){var _0xb4ffx38=[],_0xb4ffx40=[];var _0xb4ffx39=_[_0x8fee[42]](_[_0x8fee[42]](_0xb4ffx37,_0x8fee[56]),_0x8fee[41]);_0xb4ffx1c[_0x8fee[108]][_0x8fee[122]][_0x8fee[100]](function(_0xb4ffx2f){if(_0xb4ffx2f[_0x8fee[114]]){_0xb4ffx40= _[_0x8fee[126]](_0xb4ffx40,_0xb4ffx2f[_0x8fee[114]])}});_0xb4ffx40[_0x8fee[100]](function(_0xb4ffx27){if(!_[_0x8fee[53]](_0xb4ffx39,_0xb4ffx27)){_0xb4ffx38[_0x8fee[110]](Tag[_0x8fee[106]]({name:_0xb4ffx27}))}});return _0xb4ffx38})[_0x8fee[113]]()[_0x8fee[35]](function(){var _0xb4ffx3f=[];Async[_0x8fee[125]](_0xb4ffx1c[_0x8fee[108]][_0x8fee[122]],function(_0xb4ffx2f){_0xb4ffx2f[_0x8fee[112]]= _0xb4ffx1c[_0x8fee[68]][_0x8fee[45]];_0xb4ffx3f[_0x8fee[110]](Contact[_0x8fee[106]](_0xb4ffx2f)[_0x8fee[35]](function(_0xb4ffx2f){_0xb4ffx3c[_0x8fee[110]](_0xb4ffx2f);_0xb4ffx3d[_0x8fee[124]]++})[_0x8fee[32]](function(_0xb4ffx21){_0xb4ffx3d[_0x8fee[123]]++}))});return _0xb4ffx3f})[_0x8fee[113]]()[_0x8fee[35]](function(){return CustomField[_0x8fee[55]]({where:{ListId:{$in:_[_0x8fee[42]](_0xb4ffx1c[_0x8fee[108]][_0x8fee[122]],_0x8fee[59])}}})})[_0x8fee[35]](function(_0xb4ffx24){var _0xb4ffx3e=[];if(_0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=[];_0xb4ffx3c[_0x8fee[100]](function(_0xb4ffx2f){_0xb4ffx25= [];_0xb4ffx24[_0x8fee[100]](function(_0xb4ffx27){if(_0xb4ffx2f[_0x8fee[107]](_0xb4ffx27[_0x8fee[41]])){_0xb4ffx25[_0x8fee[110]](util[_0x8fee[47]](_0x8fee[109],_0xb4ffx27[_0x8fee[41]],_0xb4ffx1c[_0x8fee[108]][_0xb4ffx27[_0x8fee[41]]]))}});if(_0xb4ffx25[_0x8fee[38]]){_0xb4ffx25= _0xb4ffx25[_0x8fee[40]](_0x8fee[39]);_0xb4ffx3e[_0x8fee[110]](sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[111],_0xb4ffx25,_0xb4ffx2f[_0x8fee[45]])))}})};return _0xb4ffx3e})[_0x8fee[113]]()[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[34]](201)[_0x8fee[33]](_0xb4ffx3d)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return _0xb4ffx1e(_0xb4ffx21)})};exports[_0x8fee[127]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){return Promise[_0x8fee[113]]([])[_0x8fee[35]](updateContact(_0xb4ffx1c,_0xb4ffx1d))[_0x8fee[35]](function(_0xb4ffx2f){return _0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx2f)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)})};exports[_0x8fee[37]]= function(_0xb4ffx1c,_0xb4ffx1d,_0xb4ffx1e){var _0xb4ffx30;return Promise[_0x8fee[113]]([])[_0x8fee[35]](updateContact(_0xb4ffx1c,_0xb4ffx1d))[_0x8fee[35]](function(_0xb4ffx2f){_0xb4ffx30= _0xb4ffx2f;if(_0xb4ffx1c[_0x8fee[108]][_0x8fee[128]]){return Contact[_0x8fee[129]]({where:{id:_0xb4ffx1c[_0x8fee[108]][_0x8fee[128]]},individualHooks:true})}})[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[34]](200)[_0x8fee[33]](_0xb4ffx30)})[_0x8fee[32]](function(_0xb4ffx21){console[_0x8fee[31]](_0xb4ffx21);return handleError(_0xb4ffx1d,_0xb4ffx21)})};function updateContact(_0xb4ffx1c,_0xb4ffx1d){return function(){var _0xb4ffx30;return Tag[_0x8fee[55]]()[_0x8fee[35]](function(_0xb4ffx37){var _0xb4ffx38=[];var _0xb4ffx39=_[_0x8fee[42]](_[_0x8fee[42]](_0xb4ffx37,_0x8fee[56]),_0x8fee[41]);if(_0xb4ffx1c[_0x8fee[108]][_0x8fee[114]]){_0xb4ffx1c[_0x8fee[108]][_0x8fee[114]][_0x8fee[100]](function(_0xb4ffx27){if(!_[_0x8fee[53]](_0xb4ffx39,_0xb4ffx27)){_0xb4ffx38[_0x8fee[110]](Tag[_0x8fee[106]]({name:_0xb4ffx27}))}})};return _0xb4ffx38})[_0x8fee[35]](function(){return Contact[_0x8fee[69]](_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]])})[_0x8fee[35]](function(_0xb4ffx2f){if(!_0xb4ffx2f){return _0xb4ffx1d[_0x8fee[82]](404)};delete _0xb4ffx1c[_0x8fee[108]][_0x8fee[45]];return _0xb4ffx2f[_0x8fee[130]](_0xb4ffx1c[_0x8fee[108]])})[_0x8fee[35]](function(_0xb4ffx2f){_0xb4ffx30= _0xb4ffx2f;return CustomField[_0x8fee[55]]({where:{ListId:_0xb4ffx30[_0x8fee[59]]}})})[_0x8fee[35]](function(_0xb4ffx24){if(_0xb4ffx24[_0x8fee[38]]){var _0xb4ffx25=[];_0xb4ffx24[_0x8fee[100]](function(_0xb4ffx27){if(_0xb4ffx1c[_0x8fee[108]][_0x8fee[107]](_0xb4ffx27[_0x8fee[41]])){_0xb4ffx25[_0x8fee[110]](util[_0x8fee[47]](_0x8fee[109],_0xb4ffx27[_0x8fee[41]],_0xb4ffx1c[_0x8fee[108]][_0xb4ffx27[_0x8fee[41]]]))}});if(_0xb4ffx25[_0x8fee[38]]){_0xb4ffx25= _0xb4ffx25[_0x8fee[40]](_0x8fee[39]);return sequelize[_0x8fee[50]](util[_0x8fee[47]](_0x8fee[111],_0xb4ffx25,_0xb4ffx30[_0x8fee[45]]))}}})[_0x8fee[35]](function(){return _0xb4ffx30})}}exports[_0x8fee[129]]= function(_0xb4ffx1c,_0xb4ffx1d){return Contact[_0x8fee[69]](_0xb4ffx1c[_0x8fee[98]][_0x8fee[45]])[_0x8fee[35]](function(_0xb4ffx35){if(!_0xb4ffx35){return _0xb4ffx1d[_0x8fee[82]](404)};return _0xb4ffx35[_0x8fee[129]]()})[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[82]](204)})[_0x8fee[32]](function(_0xb4ffx21){return handleError(_0xb4ffx1d,_0xb4ffx21)})};exports[_0x8fee[131]]= function(_0xb4ffx1c,_0xb4ffx1d){return Contact[_0x8fee[129]]({where:{id:_0xb4ffx1c[_0x8fee[50]][_0x8fee[132]]},individualHooks:true})[_0x8fee[35]](function(){return _0xb4ffx1d[_0x8fee[82]](204)})[_0x8fee[32]](function(_0xb4ffx21){return handleError(_0xb4ffx1d,_0xb4ffx21)})};function handleError(_0xb4ffx1d,_0xb4ffx21){return _0xb4ffx1d[_0x8fee[34]](500)[_0x8fee[33]](_0xb4ffx21)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Contact = require('../../models').Contact;
-
-var ContactEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ContactEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Contact.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ContactEvents.emit(event + ':' + doc._id, doc);
- ContactEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ContactEvents;
+var _0x323e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x323e[0];const EventEmitter=require(_0x323e[1]);const Contact=require(_0x323e[3])[_0x323e[2]];var ContactEvents= new EventEmitter();ContactEvents[_0x323e[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x323e[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x323e[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x323e[6]};for(var e in events){var event=events[e];Contact[_0x323e[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x44bcx8,_0x44bcx9,_0x44bcxa){ContactEvents[_0x323e[10]](event+ _0x323e[8]+ _0x44bcx8[_0x323e[9]],_0x44bcx8);ContactEvents[_0x323e[10]](event,_0x44bcx8);_0x44bcxa(null)}}module[_0x323e[11]]= ContactEvents
\ No newline at end of file
-'use strict';
-
-const ContactManagerEvents = require('./contact_manager.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('contact_manager:' + event, socket);
-
- ContactManagerEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ContactManagerEvents.removeListener(event, listener);
- };
-}
+var _0xf758=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xf758[0];const ContactManagerEvents=require(_0xf758[1]);var events=[_0xf758[2],_0xf758[3]];exports[_0xf758[4]]= function(_0xe072x3){for(var _0xe072x4=0,_0xe072x5=events[_0xf758[5]];_0xe072x4< _0xe072x5;_0xe072x4++){var _0xe072x6=events[_0xe072x4];var _0xe072x7=createListener(_0xf758[6]+ _0xe072x6,_0xe072x3);ContactManagerEvents[_0xf758[7]](_0xe072x6,_0xe072x7);_0xe072x3[_0xf758[7]](_0xf758[8],removeListener(_0xe072x6,_0xe072x7))}};function createListener(_0xe072x6,_0xe072x3){return function(_0xe072x9){_0xe072x3[_0xf758[9]](_0xe072x6,_0xe072x9)}}function removeListener(_0xe072x6,_0xe072x7){return function(){ContactManagerEvents[_0xf758[10]](_0xe072x6,_0xe072x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./contact_manager.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.describe);
-router.get('/:id/checkevent', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.getEventContacts);
-router.get('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.show);
-router.get('/:id/log', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.getLog);
-router.post('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.create);
-router.post('/:id/copy', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.copy);
-router.post('/:id/merge', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.merge);
-router.post('/bulk', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.bulkCreate);
-router.put('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.update);
-router.delete('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xef55=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x43\x6D","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B\x65\x76\x65\x6E\x74","\x67\x65\x74\x45\x76\x65\x6E\x74\x43\x6F\x6E\x74\x61\x63\x74\x73","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x6C\x6F\x67","\x67\x65\x74\x4C\x6F\x67","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x63\x6F\x70\x79","\x63\x6F\x70\x79","\x2F\x3A\x69\x64\x2F\x6D\x65\x72\x67\x65","\x6D\x65\x72\x67\x65","\x2F\x62\x75\x6C\x6B","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xef55[0];var express=require(_0xef55[1]);var controller=require(_0xef55[2]);var auth=require(_0xef55[3]);var license=require(_0xef55[4]);var router=express.Router();router[_0xef55[12]](_0xef55[5],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[11]]);router[_0xef55[12]](_0xef55[13],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8]]),controller[_0xef55[14]]);router[_0xef55[12]](_0xef55[15],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[16]]);router[_0xef55[12]](_0xef55[17],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[18]]);router[_0xef55[12]](_0xef55[19],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[20]]);router[_0xef55[22]](_0xef55[5],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[21]]);router[_0xef55[22]](_0xef55[23],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[24]]);router[_0xef55[22]](_0xef55[25],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[26]]);router[_0xef55[22]](_0xef55[27],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8]]),controller[_0xef55[28]]);router[_0xef55[30]](_0xef55[17],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8],_0xef55[9]]),controller[_0xef55[29]]);router[_0xef55[32]](_0xef55[5],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8]]),controller[_0xef55[31]]);router[_0xef55[32]](_0xef55[17],auth[_0xef55[6]](),license[_0xef55[7]](),auth[_0xef55[10]]([5],[_0xef55[8]]),controller[_0xef55[33]]);module[_0xef55[34]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var sequelize = require('../../models').sequelize;
-var CustomReport = require('../../models').CustomReport;
-var ReportField = require('../../models').ReportField;
-var Metric = require('../../models').Metric;
-var ExtractedReport = require('../../models').ExtractedReport;
-var extractUtils = require('../../utils/report_extraction');
-var reportBuildUtils = require('../../utils/report_build');
-var Util = require('../../config/util');
-var sr = require('simple-random');
-var moment = require('moment');
-var cp = require('child_process');
-var ReportTree = require('../../models').ReportTree;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return CustomReport
- .findAndCountAll(Util.getQuery(req.query, {
- deletedAt: null
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getReportQuery = function(req, res) {
- return Promise
- .all([])
- .then(getQuery(req, res))
- .then(function(query) {
- if (query) {
- switch (query) {
- case 'permission':
- query = 'no sufficient queue permissions for the user';
- break;
- default:
- }
- }
- res.status(200).send({
- query: query
- });
- })
- .catch(function(err) {
- console.log('Error getting query from api:', err);
- });
-}
-
-function getQuery(req, res) {
- var _report;
- return function() {
- return CustomReport
- .scope('fields')
- .findById(req.params.id)
- .then(function(report) {
- console.log('found report');
- if (!report) {
- return res.sendStatus(404);
- }
- if (req.query.daily && req.query.daily === 'true') {
- req.query.startDate = moment().format('YYYY-MM-DD');
- req.query.endDate = moment().format('YYYY-MM-DD');
- report.dataValues.table = report.dataValues.table.replace(
- '_history', '');
- }
- delete req.query.daily;
- _report = report.dataValues;
- return _report.table;
- })
- .then(reportBuildUtils.buildFilter(req.user))
- .then(function(filter) {
- return [filter, _report];
- })
- .spread(reportBuildUtils.buildQuery(req.query))
- }
-}
-
-exports.preview = function(req, res) {
- var _countAll;
- return Promise
- .all([])
- .then(getQuery(req, res))
- .then(reportBuildUtils.checkQuery())
- .then(function(results) {
- if (results && _.isArray(results)) {
- _countAll = results.length;
- if (req.query.limit) {
- results = _(results).slice(req.query.offset || 0).take(req.query.limit).value();
- }
- _.forEach(results, function(row) {
- _.forOwn(row, function(property, key) {
- if (property instanceof Date) {
- row[key] = moment(property).format("YYYY-MM-DD HH:mm:ss").toString();
- }
- });
- });
- res.status(200).send({
- rows: results,
- count: _countAll
- });
- } else {
- return handleError(res, {
- message: results || 'query error'
- });
- }
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.extractPdf = function(req, res) {
- // console.log('extractPdf api function');
- docExtract(req, res, 'PDF')
-};
-
-exports.extractCsv = function(req, res) {
- // console.log('extractCsv api function');
- docExtract(req, res, 'CSV');
-};
-
-exports.destroyNodeReports = function(req, res) {
- return ReportTree
- .findById(2)
- .then(function(tree) {
- tree = JSON.parse(tree.tree);
- var node = _.find(tree, {
- id: req.params.id
- });
- if (!node) {
- throw new Error('Node not found');
- }
- var nodes = [];
- findSubNodes(node, tree, nodes);
- return CustomReport
- .destroy({
- where: {
- parent: nodes
- },
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function findSubNodes(node, tree, _nodes) { //receive a node, the tree containing the node and an array where to insert all the sub nodes found recursively, including the starting node
- _nodes.push(node.id);
- var subNodes = _.filter(tree, {
- parent: node.id
- });
- if (!subNodes || !subNodes.length) {
- return;
- }
- _.forEach(subNodes, function(subNode) {
- findSubNodes(subNode, tree, _nodes);
- });
-}
-
-function docExtract(req, res, typeFunction) {
- var report;
- // console.log('common docExtract api function');
- CustomReport //DO NOT ADD RETURN CAUSE THE EXTRACTING FUNCTION WILL KEEP EXTRACTING AFTER THE API HAS RETURNED
- .scope('fields')
- .findById(req.params.id)
- .then(function(_report) {
- if (!_report) {
- return res.sendStatus(404);
- }
- report = _report;
- return ReportTree
- .findById(2);
- })
- .then(function(tree) {
- tree = JSON.parse(tree.tree);
- var folder = _.find(tree, {
- id: report.parent
- });
- var path = getReportPath(folder, tree, report.name);
- // console.log('found the report, creating the new DB row for extracted reports..');
- //CREATE A DB ROW IN A TABLE WITH THE REPORT INFO, QUERY DATES, AND THE STATUS 'ELABORATING'
- if (req.query.daily && req.query.daily === 'true') {
- req.query.startDate = moment().format('YYYY-MM-DD');
- req.query.endDate = moment().format('YYYY-MM-DD');
- report.dataValues.table = report.dataValues.table.replace('_history',
- '');
- }
- delete req.query.daily;
- return [report, ExtractedReport.create({
- name: path,
- startDate: req.query.startDate ? req.query.startDate + (req.query.startTime ? ' ' + req.query.startTime : '00:00') : null,
- endDate: req.query.endDate ? req.query.endDate + (req.query.endTime ? ' ' + req.query.endTime : '23:59') : null,
- output: typeFunction,
- UserId: req.user.id
- })]
- })
- .spread(function(report, extractedReport) {
- // console.log('created new extracted reports db entry, calling external extraction function: ' + typeFunction);
- var child = cp.fork(__dirname + '/../../utils/report_extraction.js');
- child.on('message', function(data) {
- console.log('child message', data);
- child.kill();
- }).on('close', function() {
- console.log('child close');
- }).on('error', function(err) {
- console.log('child error', err);
- });
- child.send({
- report: report,
- query: req.query,
- extractedId: extractedReport.id,
- user: req.user,
- type: typeFunction
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- return res.sendStatus(200);
-}
-
-function getReportPath(folder, tree, path) {
- path = folder.text + '/ ' + path;
- if (folder.parent === '#') {
- return path;
- } else {
- return getReportPath(_.find(tree, {
- id: folder.parent
- }), tree, path);
- }
-}
-
-// Get a single report
-exports.show = function(req, res) {
- return CustomReport
- .scope('fields')
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return res.send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-// Get a single report
-exports.export = function(req, res) {
- return CustomReport
- .scope({
- method: ['exportFields', {
- CustomReportId: req.params.id
- }]
- }) //add where condition on customreport id
- .findById(req.params.id, {
- attributes: ['conditions', 'description', 'name', 'parent', 'table']
- })
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return res.send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Copy a custom report
-exports.copy = function(req, res) {
- var _fields;
- return sequelize.transaction(function(t) {
- return CustomReport
- .scope('fields')
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- var newReport = report.dataValues;
- delete newReport.id;
- delete newReport.createdAt;
- delete newReport.updatedAt;
- newReport.parent = req.body.parent;
- _fields = _.map(newReport.Fields, 'dataValues');
- return CustomReport
- .create(newReport, {
- transaction: t
- });
- })
- .then(function(report) {
- return [report, _fields];
- })
- .spread(createFields(t));
- })
- .then(function() {
- return res.sendStatus(201);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Creates a new report in the DB.
-exports.create = function(req, res) {
- var _report;
- return sequelize.transaction(function(t) {
- return CustomReport
- .create(req.body, {
- transaction: t
- })
- .then(function(report) {
- _report = report;
- return [_report, req.body.Fields];
- })
- .spread(createFields(t));
- })
- .then(function() {
- return res.status(201).send(_report);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Import a report in the DB.
-exports.import = function(req, res) {
- var _report;
- return sequelize.transaction(function(t) {
- return CustomReport
- .create(req.body, {
- transaction: t
- })
- .then(function(report) {
- _report = report;
- return [_report, req.body.Fields];
- })
- .spread(createImportFields(t));
- })
- .then(function() {
- return res.status(201).send(_report);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.update = function(req, res, next) {
- if (req.body.id) {
- delete req.body.id;
- }
- var _report;
- return sequelize.transaction(function(t) {
- return CustomReport
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- var updated = _.merge(report, req.body);
- return report
- .save({
- transaction: t
- });
- })
- .then(function(report) {
- _report = report;
- if (req.body.Fields) {
- return ReportField.destroy({
- where: {
- CustomReportId: req.params.id
- },
- transaction: t
- });
- }
- })
- .then(function() {
- return [_report, req.body.Fields];
- })
- .spread(createFields(t));
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-function createFields(t) {
- return function(report, fields) {
- if (fields && Array.isArray(fields) && fields.length) {
- var tableModel = reportBuildUtils.getTable(report.table);
- if (tableModel) {
- var _tableFields;
- return tableModel
- .describe()
- .then(function(tableFields) {
- _tableFields = _.keys(tableFields);
- return Metric
- .findAll();
- })
- .then(function(metrics) {
- var bulkFields = [];
- metrics = _.map(metrics, 'dataValues');
- fields.forEach(function(elem) {
- elem.CustomReportId = report.id;
- if (elem.MetricId) {
- var metric = _.find(metrics, {
- id: elem.MetricId
- });
- if (metric) {
- elem.field = metric.metric;
- bulkFields.push(ReportField
- .create(elem, {
- transaction: t
- }));
- } else {
- throw new sequelize.Error("The metric with id " +
- elem.MetricId + " you specified does not exist");
- }
- } else {
- if (_.includes(_tableFields, elem.field) || elem.custom) {
- bulkFields.push(ReportField
- .create(elem, {
- transaction: t
- }));
- } else {
- throw new sequelize.Error("The field " + elem.field +
- " you specified does not exist in the table");
- }
- }
- });
- return bulkFields;
- })
- .all();
- } else {
- throw new sequelize.Error(
- "You have not specified the table or the table does not exist");
- }
- }
- }
-}
-
-function createImportFields(t) {
- return function(report, fields) {
- if (fields && Array.isArray(fields) && fields.length) {
- var tableModel = reportBuildUtils.getTable(report.table);
- if (tableModel) {
- var _tableFields;
- return tableModel
- .describe()
- .then(function(tableFields) {
- _tableFields = _.keys(tableFields);
- var bulkFields = [];
- var type;
- if (_.every(fields, function(elem) {
- return _.has(elem, 'DefaultMetricId');
- })) {
- type = 'DefaultMetric'
- } else if (_.every(fields, function(elem) {
- return _.has(elem, 'MetricId');
- })) {
- type = 'Metric'
- } else {
- throw new sequelize.Error("Unsupported Import format (Metric type in report fields is missing)");
- }
- var groupedFields = _.groupBy(fields, type + 'Id');
- _.forOwn(groupedFields, function(value, key) {
- if (key !== 'undefined' && key !== 'null') {
- value[0][type].ReportFields.forEach(function(elem) {
- elem.CustomReportId = report.id;
- });
- value[0][type].name += '_' + sr({
- length: 5
- });
- bulkFields.push(Metric
- .create(value[0][type], {
- include: [{
- model: ReportField,
- as: 'ReportFields'
- }],
- transaction: t
- }));
- } else {
- value.forEach(function(elem) {
- if (_.includes(_tableFields, elem.field) || elem.custom) {
- elem.CustomReportId = report.id;
- bulkFields.push(ReportField
- .create(elem, {
- transaction: t
- }));
- } else {
- throw new sequelize.Error("The field " + elem.field +
- " you specified does not exist in the table"
- );
- }
- });
- }
- });
- return bulkFields;
- })
- .all();
- } else {
- throw new sequelize.Error(
- "You have not specified the table or the table does not exist");
- }
- }
- }
-}
-
-
-// Deletes a report from the DB.
-exports.destroy = function(req, res) {
- return CustomReport
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return report.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return CustomReport
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xbf3c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x4D\x65\x74\x72\x69\x63","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x62\x75\x69\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x6D\x6F\x6D\x65\x6E\x74","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x72\x79","\x45\x72\x72\x6F\x72\x20\x67\x65\x74\x74\x69\x6E\x67\x20\x71\x75\x65\x72\x79\x20\x66\x72\x6F\x6D\x20\x61\x70\x69\x3A","\x6C\x6F\x67","\x6E\x6F\x20\x73\x75\x66\x66\x69\x63\x69\x65\x6E\x74\x20\x71\x75\x65\x75\x65\x20\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x73\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x75\x73\x65\x72","\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E","\x61\x6C\x6C","\x62\x75\x69\x6C\x64\x51\x75\x65\x72\x79","\x73\x70\x72\x65\x61\x64","\x75\x73\x65\x72","\x62\x75\x69\x6C\x64\x46\x69\x6C\x74\x65\x72","\x66\x6F\x75\x6E\x64\x20\x72\x65\x70\x6F\x72\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x64\x61\x69\x6C\x79","\x74\x72\x75\x65","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44","\x66\x6F\x72\x6D\x61\x74","\x65\x6E\x64\x44\x61\x74\x65","\x74\x61\x62\x6C\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x5F\x68\x69\x73\x74\x6F\x72\x79","","\x72\x65\x70\x6C\x61\x63\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x66\x69\x65\x6C\x64\x73","\x73\x63\x6F\x70\x65","\x70\x72\x65\x76\x69\x65\x77","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x6C\x69\x6D\x69\x74","\x76\x61\x6C\x75\x65","\x74\x61\x6B\x65","\x6F\x66\x66\x73\x65\x74","\x73\x6C\x69\x63\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x4F\x77\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x71\x75\x65\x72\x79\x20\x65\x72\x72\x6F\x72","\x63\x68\x65\x63\x6B\x51\x75\x65\x72\x79","\x65\x78\x74\x72\x61\x63\x74\x50\x64\x66","\x50\x44\x46","\x65\x78\x74\x72\x61\x63\x74\x43\x73\x76","\x43\x53\x56","\x64\x65\x73\x74\x72\x6F\x79\x4E\x6F\x64\x65\x52\x65\x70\x6F\x72\x74\x73","\x74\x72\x65\x65","\x70\x61\x72\x73\x65","\x66\x69\x6E\x64","\x4E\x6F\x64\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x70\x75\x73\x68","\x66\x69\x6C\x74\x65\x72","\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E\x2E\x6A\x73","\x66\x6F\x72\x6B","\x65\x72\x72\x6F\x72","\x63\x68\x69\x6C\x64\x20\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x63\x68\x69\x6C\x64\x20\x63\x6C\x6F\x73\x65","\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x69\x6C\x64\x20\x6D\x65\x73\x73\x61\x67\x65","\x6B\x69\x6C\x6C","\x70\x61\x72\x65\x6E\x74","\x6E\x61\x6D\x65","\x73\x74\x61\x72\x74\x54\x69\x6D\x65","\x20","\x30\x30\x3A\x30\x30","\x65\x6E\x64\x54\x69\x6D\x65","\x32\x33\x3A\x35\x39","\x63\x72\x65\x61\x74\x65","\x74\x65\x78\x74","\x2F\x20","\x23","\x73\x68\x6F\x77","\x65\x78\x70\x6F\x72\x74","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x46\x69\x65\x6C\x64\x73","\x63\x6F\x70\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x62\x6F\x64\x79","\x6D\x61\x70","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64\x73","\x69\x6D\x70\x6F\x72\x74","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x67\x65\x74\x54\x61\x62\x6C\x65","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64","\x4D\x65\x74\x72\x69\x63\x49\x64","\x66\x69\x65\x6C\x64","\x6D\x65\x74\x72\x69\x63","\x54\x68\x65\x20\x6D\x65\x74\x72\x69\x63\x20\x77\x69\x74\x68\x20\x69\x64\x20","\x20\x79\x6F\x75\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x63\x75\x73\x74\x6F\x6D","\x54\x68\x65\x20\x66\x69\x65\x6C\x64\x20","\x20\x79\x6F\x75\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x20\x69\x6E\x20\x74\x68\x65\x20\x74\x61\x62\x6C\x65","\x6B\x65\x79\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x59\x6F\x75\x20\x68\x61\x76\x65\x20\x6E\x6F\x74\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x74\x68\x65\x20\x74\x61\x62\x6C\x65\x20\x6F\x72\x20\x74\x68\x65\x20\x74\x61\x62\x6C\x65\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74","\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64","\x68\x61\x73","\x65\x76\x65\x72\x79","\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63","\x55\x6E\x73\x75\x70\x70\x6F\x72\x74\x65\x64\x20\x49\x6D\x70\x6F\x72\x74\x20\x66\x6F\x72\x6D\x61\x74\x20\x28\x4D\x65\x74\x72\x69\x63\x20\x74\x79\x70\x65\x20\x69\x6E\x20\x72\x65\x70\x6F\x72\x74\x20\x66\x69\x65\x6C\x64\x73\x20\x69\x73\x20\x6D\x69\x73\x73\x69\x6E\x67\x29","\x49\x64","\x67\x72\x6F\x75\x70\x42\x79","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x6E\x75\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64\x73","\x5F","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0xbf3c[0];var _=require(_0xbf3c[1]);var util=require(_0xbf3c[2]);var sequelize=require(_0xbf3c[4])[_0xbf3c[3]];var CustomReport=require(_0xbf3c[4])[_0xbf3c[5]];var ReportField=require(_0xbf3c[4])[_0xbf3c[6]];var Metric=require(_0xbf3c[4])[_0xbf3c[7]];var ExtractedReport=require(_0xbf3c[4])[_0xbf3c[8]];var extractUtils=require(_0xbf3c[9]);var reportBuildUtils=require(_0xbf3c[10]);var Util=require(_0xbf3c[11]);var sr=require(_0xbf3c[12]);var moment=require(_0xbf3c[13]);var cp=require(_0xbf3c[14]);var ReportTree=require(_0xbf3c[4])[_0xbf3c[15]];exports[_0xbf3c[16]]= function(_0xb676xf,_0xb676x10,_0xb676x11){return CustomReport[_0xbf3c[23]](Util[_0xbf3c[22]](_0xb676xf[_0xbf3c[21]],{deletedAt:null}))[_0xbf3c[20]](function(_0xb676x13){_0xb676x10[_0xbf3c[19]](200)[_0xbf3c[18]](_0xb676x13)})[_0xbf3c[17]](function(_0xb676x12){return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[24]]= function(_0xb676xf,_0xb676x10){return Promise[_0xbf3c[29]]([])[_0xbf3c[20]](getQuery(_0xb676xf,_0xb676x10))[_0xbf3c[20]](function(_0xb676x14){if(_0xb676x14){switch(_0xb676x14){case _0xbf3c[28]:_0xb676x14= _0xbf3c[27];break;default:}};_0xb676x10[_0xbf3c[19]](200)[_0xbf3c[18]]({query:_0xb676x14})})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xbf3c[25],_0xb676x12)})};function getQuery(_0xb676xf,_0xb676x10){var _0xb676x16;return function(){return CustomReport[_0xbf3c[51]](_0xbf3c[50])[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]])[_0xbf3c[20]](function(_0xb676x18){console[_0xbf3c[26]](_0xbf3c[34]);if(!_0xb676x18){return _0xb676x10[_0xbf3c[35]](404)};if(_0xb676xf[_0xbf3c[21]][_0xbf3c[36]]&& _0xb676xf[_0xbf3c[21]][_0xbf3c[36]]=== _0xbf3c[37]){_0xb676xf[_0xbf3c[21]][_0xbf3c[38]]= moment()[_0xbf3c[40]](_0xbf3c[39]);_0xb676xf[_0xbf3c[21]][_0xbf3c[41]]= moment()[_0xbf3c[40]](_0xbf3c[39]);_0xb676x18[_0xbf3c[43]][_0xbf3c[42]]= _0xb676x18[_0xbf3c[43]][_0xbf3c[42]][_0xbf3c[46]](_0xbf3c[44],_0xbf3c[45])};delete _0xb676xf[_0xbf3c[21]][_0xbf3c[36]];_0xb676x16= _0xb676x18[_0xbf3c[43]];return _0xb676x16[_0xbf3c[42]]})[_0xbf3c[20]](reportBuildUtils[_0xbf3c[33]](_0xb676xf[_0xbf3c[32]]))[_0xbf3c[20]](function(_0xb676x17){return [_0xb676x17,_0xb676x16]})[_0xbf3c[31]](reportBuildUtils[_0xbf3c[30]](_0xb676xf[_0xbf3c[21]]))}}exports[_0xbf3c[52]]= function(_0xb676xf,_0xb676x10){var _0xb676x19;return Promise[_0xbf3c[29]]([])[_0xbf3c[20]](getQuery(_0xb676xf,_0xb676x10))[_0xbf3c[20]](reportBuildUtils[_0xbf3c[64]]())[_0xbf3c[20]](function(_0xb676x1a){if(_0xb676x1a&& _[_0xbf3c[53]](_0xb676x1a)){_0xb676x19= _0xb676x1a[_0xbf3c[54]];if(_0xb676xf[_0xbf3c[21]][_0xbf3c[55]]){_0xb676x1a= _(_0xb676x1a)[_0xbf3c[59]](_0xb676xf[_0xbf3c[21]][_0xbf3c[58]]|| 0)[_0xbf3c[57]](_0xb676xf[_0xbf3c[21]][_0xbf3c[55]])[_0xbf3c[56]]()};_[_0xbf3c[62]](_0xb676x1a,function(_0xb676x1b){_[_0xbf3c[61]](_0xb676x1b,function(_0xb676x1c,_0xb676x1d){if(_0xb676x1c instanceof Date){_0xb676x1b[_0xb676x1d]= moment(_0xb676x1c)[_0xbf3c[40]](_0xbf3c[60]).toString()}})});_0xb676x10[_0xbf3c[19]](200)[_0xbf3c[18]]({rows:_0xb676x1a,count:_0xb676x19})}else {return handleError(_0xb676x10,{message:_0xb676x1a|| _0xbf3c[63]})}})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[65]]= function(_0xb676xf,_0xb676x10){docExtract(_0xb676xf,_0xb676x10,_0xbf3c[66])};exports[_0xbf3c[67]]= function(_0xb676xf,_0xb676x10){docExtract(_0xb676xf,_0xb676x10,_0xbf3c[68])};exports[_0xbf3c[69]]= function(_0xb676xf,_0xb676x10){return ReportTree[_0xbf3c[49]](2)[_0xbf3c[20]](function(_0xb676x1e){_0xb676x1e= JSON[_0xbf3c[71]](_0xb676x1e[_0xbf3c[70]]);var _0xb676x1f=_[_0xbf3c[72]](_0xb676x1e,{id:_0xb676xf[_0xbf3c[48]][_0xbf3c[47]]});if(!_0xb676x1f){throw new Error(_0xbf3c[73])};var _0xb676x20=[];findSubNodes(_0xb676x1f,_0xb676x1e,_0xb676x20);return CustomReport[_0xbf3c[74]]({where:{parent:_0xb676x20},individualHooks:true})})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[35]](200)})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)})};function findSubNodes(_0xb676x1f,_0xb676x1e,_0xb676x22){_0xb676x22[_0xbf3c[75]](_0xb676x1f[_0xbf3c[47]]);var _0xb676x23=_[_0xbf3c[76]](_0xb676x1e,{parent:_0xb676x1f[_0xbf3c[47]]});if(!_0xb676x23|| !_0xb676x23[_0xbf3c[54]]){return};_[_0xbf3c[62]](_0xb676x23,function(_0xb676x24){findSubNodes(_0xb676x24,_0xb676x1e,_0xb676x22)})}function docExtract(_0xb676xf,_0xb676x10,_0xb676x26){var _0xb676x18;CustomReport[_0xbf3c[51]](_0xbf3c[50])[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]])[_0xbf3c[20]](function(_0xb676x16){if(!_0xb676x16){return _0xb676x10[_0xbf3c[35]](404)};_0xb676x18= _0xb676x16;return ReportTree[_0xbf3c[49]](2)})[_0xbf3c[20]](function(_0xb676x1e){_0xb676x1e= JSON[_0xbf3c[71]](_0xb676x1e[_0xbf3c[70]]);var _0xb676x2a=_[_0xbf3c[72]](_0xb676x1e,{id:_0xb676x18[_0xbf3c[87]]});var _0xb676x2b=getReportPath(_0xb676x2a,_0xb676x1e,_0xb676x18[_0xbf3c[88]]);if(_0xb676xf[_0xbf3c[21]][_0xbf3c[36]]&& _0xb676xf[_0xbf3c[21]][_0xbf3c[36]]=== _0xbf3c[37]){_0xb676xf[_0xbf3c[21]][_0xbf3c[38]]= moment()[_0xbf3c[40]](_0xbf3c[39]);_0xb676xf[_0xbf3c[21]][_0xbf3c[41]]= moment()[_0xbf3c[40]](_0xbf3c[39]);_0xb676x18[_0xbf3c[43]][_0xbf3c[42]]= _0xb676x18[_0xbf3c[43]][_0xbf3c[42]][_0xbf3c[46]](_0xbf3c[44],_0xbf3c[45])};delete _0xb676xf[_0xbf3c[21]][_0xbf3c[36]];return [_0xb676x18,ExtractedReport[_0xbf3c[94]]({name:_0xb676x2b,startDate:_0xb676xf[_0xbf3c[21]][_0xbf3c[38]]?_0xb676xf[_0xbf3c[21]][_0xbf3c[38]]+ (_0xb676xf[_0xbf3c[21]][_0xbf3c[89]]?_0xbf3c[90]+ _0xb676xf[_0xbf3c[21]][_0xbf3c[89]]:_0xbf3c[91]):null,endDate:_0xb676xf[_0xbf3c[21]][_0xbf3c[41]]?_0xb676xf[_0xbf3c[21]][_0xbf3c[41]]+ (_0xb676xf[_0xbf3c[21]][_0xbf3c[92]]?_0xbf3c[90]+ _0xb676xf[_0xbf3c[21]][_0xbf3c[92]]:_0xbf3c[93]):null,output:_0xb676x26,UserId:_0xb676xf[_0xbf3c[32]][_0xbf3c[47]]})]})[_0xbf3c[31]](function(_0xb676x18,_0xb676x27){var _0xb676x28=cp[_0xbf3c[78]](__dirname+ _0xbf3c[77]);_0xb676x28[_0xbf3c[81]](_0xbf3c[84],function(_0xb676x29){console[_0xbf3c[26]](_0xbf3c[85],_0xb676x29);_0xb676x28[_0xbf3c[86]]()})[_0xbf3c[81]](_0xbf3c[82],function(){console[_0xbf3c[26]](_0xbf3c[83])})[_0xbf3c[81]](_0xbf3c[79],function(_0xb676x12){console[_0xbf3c[26]](_0xbf3c[80],_0xb676x12)});_0xb676x28[_0xbf3c[18]]({report:_0xb676x18,query:_0xb676xf[_0xbf3c[21]],extractedId:_0xb676x27[_0xbf3c[47]],user:_0xb676xf[_0xbf3c[32]],type:_0xb676x26})})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)});return _0xb676x10[_0xbf3c[35]](200)}function getReportPath(_0xb676x2a,_0xb676x1e,_0xb676x2b){_0xb676x2b= _0xb676x2a[_0xbf3c[95]]+ _0xbf3c[96]+ _0xb676x2b;if(_0xb676x2a[_0xbf3c[87]]=== _0xbf3c[97]){return _0xb676x2b}else {return getReportPath(_[_0xbf3c[72]](_0xb676x1e,{id:_0xb676x2a[_0xbf3c[87]]}),_0xb676x1e,_0xb676x2b)}}exports[_0xbf3c[98]]= function(_0xb676xf,_0xb676x10){return CustomReport[_0xbf3c[51]](_0xbf3c[50])[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]])[_0xbf3c[20]](function(_0xb676x18){if(!_0xb676x18){return _0xb676x10[_0xbf3c[35]](404)};return _0xb676x10[_0xbf3c[18]](_0xb676x18)})[_0xbf3c[17]](function(_0xb676x12){return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[99]]= function(_0xb676xf,_0xb676x10){return CustomReport[_0xbf3c[51]]({method:[_0xbf3c[102],{CustomReportId:_0xb676xf[_0xbf3c[48]][_0xbf3c[47]]}]})[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]],{attributes:[_0xbf3c[100],_0xbf3c[101],_0xbf3c[88],_0xbf3c[87],_0xbf3c[42]]})[_0xbf3c[20]](function(_0xb676x18){if(!_0xb676x18){return _0xb676x10[_0xbf3c[35]](404)};return _0xb676x10[_0xbf3c[18]](_0xb676x18)})[_0xbf3c[17]](function(_0xb676x12){return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[103]]= function(_0xb676xf,_0xb676x10){var _0xb676x2d;return sequelize[_0xbf3c[108]](function(_0xb676x2e){return CustomReport[_0xbf3c[51]](_0xbf3c[50])[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]])[_0xbf3c[20]](function(_0xb676x18){if(!_0xb676x18){return _0xb676x10[_0xbf3c[35]](404)};var _0xb676x2f=_0xb676x18[_0xbf3c[43]];delete _0xb676x2f[_0xbf3c[47]];delete _0xb676x2f[_0xbf3c[104]];delete _0xb676x2f[_0xbf3c[105]];_0xb676x2f[_0xbf3c[87]]= _0xb676xf[_0xbf3c[106]][_0xbf3c[87]];_0xb676x2d= _[_0xbf3c[107]](_0xb676x2f.Fields,_0xbf3c[43]);return CustomReport[_0xbf3c[94]](_0xb676x2f,{transaction:_0xb676x2e})})[_0xbf3c[20]](function(_0xb676x18){return [_0xb676x18,_0xb676x2d]})[_0xbf3c[31]](createFields(_0xb676x2e))})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[35]](201)})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[94]]= function(_0xb676xf,_0xb676x10){var _0xb676x16;return sequelize[_0xbf3c[108]](function(_0xb676x2e){return CustomReport[_0xbf3c[94]](_0xb676xf[_0xbf3c[106]],{transaction:_0xb676x2e})[_0xbf3c[20]](function(_0xb676x18){_0xb676x16= _0xb676x18;return [_0xb676x16,_0xb676xf[_0xbf3c[106]][_0xbf3c[109]]]})[_0xbf3c[31]](createFields(_0xb676x2e))})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[19]](201)[_0xbf3c[18]](_0xb676x16)})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[110]]= function(_0xb676xf,_0xb676x10){var _0xb676x16;return sequelize[_0xbf3c[108]](function(_0xb676x2e){return CustomReport[_0xbf3c[94]](_0xb676xf[_0xbf3c[106]],{transaction:_0xb676x2e})[_0xbf3c[20]](function(_0xb676x18){_0xb676x16= _0xb676x18;return [_0xb676x16,_0xb676xf[_0xbf3c[106]][_0xbf3c[109]]]})[_0xbf3c[31]](createImportFields(_0xb676x2e))})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[19]](201)[_0xbf3c[18]](_0xb676x16)})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[111]]= function(_0xb676xf,_0xb676x10,_0xb676x11){if(_0xb676xf[_0xbf3c[106]][_0xbf3c[47]]){delete _0xb676xf[_0xbf3c[106]][_0xbf3c[47]]};var _0xb676x16;return sequelize[_0xbf3c[108]](function(_0xb676x2e){return CustomReport[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]])[_0xbf3c[20]](function(_0xb676x18){if(!_0xb676x18){return _0xb676x10[_0xbf3c[35]](404)};var _0xb676x30=_[_0xbf3c[112]](_0xb676x18,_0xb676xf[_0xbf3c[106]]);return _0xb676x18[_0xbf3c[113]]({transaction:_0xb676x2e})})[_0xbf3c[20]](function(_0xb676x18){_0xb676x16= _0xb676x18;if(_0xb676xf[_0xbf3c[106]][_0xbf3c[109]]){return ReportField[_0xbf3c[74]]({where:{CustomReportId:_0xb676xf[_0xbf3c[48]][_0xbf3c[47]]},transaction:_0xb676x2e})}})[_0xbf3c[20]](function(){return [_0xb676x16,_0xb676xf[_0xbf3c[106]][_0xbf3c[109]]]})[_0xbf3c[31]](createFields(_0xb676x2e))})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[35]](200)})[_0xbf3c[17]](function(_0xb676x12){console[_0xbf3c[26]](_0xb676x12);return handleError(_0xb676x10,_0xb676x12)})};function createFields(_0xb676x2e){return function(_0xb676x18,_0xb676x32){if(_0xb676x32&& Array[_0xbf3c[53]](_0xb676x32)&& _0xb676x32[_0xbf3c[54]]){var _0xb676x33=reportBuildUtils[_0xbf3c[114]](_0xb676x18[_0xbf3c[42]]);if(_0xb676x33){var _0xb676x34;return _0xb676x33[_0xbf3c[127]]()[_0xbf3c[20]](function(_0xb676x39){_0xb676x34= _[_0xbf3c[125]](_0xb676x39);return Metric[_0xbf3c[126]]()})[_0xbf3c[20]](function(_0xb676x35){var _0xb676x36=[];_0xb676x35= _[_0xbf3c[107]](_0xb676x35,_0xbf3c[43]);_0xb676x32[_0xbf3c[62]](function(_0xb676x37){_0xb676x37[_0xbf3c[115]]= _0xb676x18[_0xbf3c[47]];if(_0xb676x37[_0xbf3c[116]]){var _0xb676x38=_[_0xbf3c[72]](_0xb676x35,{id:_0xb676x37[_0xbf3c[116]]});if(_0xb676x38){_0xb676x37[_0xbf3c[117]]= _0xb676x38[_0xbf3c[118]];_0xb676x36[_0xbf3c[75]](ReportField[_0xbf3c[94]](_0xb676x37,{transaction:_0xb676x2e}))}else {throw new sequelize.Error(_0xbf3c[119]+ _0xb676x37[_0xbf3c[116]]+ _0xbf3c[120])}}else {if(_[_0xbf3c[121]](_0xb676x34,_0xb676x37[_0xbf3c[117]])|| _0xb676x37[_0xbf3c[122]]){_0xb676x36[_0xbf3c[75]](ReportField[_0xbf3c[94]](_0xb676x37,{transaction:_0xb676x2e}))}else {throw new sequelize.Error(_0xbf3c[123]+ _0xb676x37[_0xbf3c[117]]+ _0xbf3c[124])}}});return _0xb676x36})[_0xbf3c[29]]()}else {throw new sequelize.Error(_0xbf3c[128])}}}}function createImportFields(_0xb676x2e){return function(_0xb676x18,_0xb676x32){if(_0xb676x32&& Array[_0xbf3c[53]](_0xb676x32)&& _0xb676x32[_0xbf3c[54]]){var _0xb676x33=reportBuildUtils[_0xbf3c[114]](_0xb676x18[_0xbf3c[42]]);if(_0xb676x33){var _0xb676x34;return _0xb676x33[_0xbf3c[127]]()[_0xbf3c[20]](function(_0xb676x39){_0xb676x34= _[_0xbf3c[125]](_0xb676x39);var _0xb676x36=[];var _0xb676x3b;if(_[_0xbf3c[131]](_0xb676x32,function(_0xb676x37){return _[_0xbf3c[130]](_0xb676x37,_0xbf3c[129])})){_0xb676x3b= _0xbf3c[132]}else {if(_[_0xbf3c[131]](_0xb676x32,function(_0xb676x37){return _[_0xbf3c[130]](_0xb676x37,_0xbf3c[116])})){_0xb676x3b= _0xbf3c[7]}else {throw new sequelize.Error(_0xbf3c[133])}};var _0xb676x3c=_[_0xbf3c[135]](_0xb676x32,_0xb676x3b+ _0xbf3c[134]);_[_0xbf3c[61]](_0xb676x3c,function(_0xb676x3d,_0xb676x1d){if(_0xb676x1d!== _0xbf3c[136]&& _0xb676x1d!== _0xbf3c[137]){_0xb676x3d[0][_0xb676x3b][_0xbf3c[138]][_0xbf3c[62]](function(_0xb676x37){_0xb676x37[_0xbf3c[115]]= _0xb676x18[_0xbf3c[47]]});_0xb676x3d[0][_0xb676x3b][_0xbf3c[88]]+= _0xbf3c[139]+ sr({length:5});_0xb676x36[_0xbf3c[75]](Metric[_0xbf3c[94]](_0xb676x3d[0][_0xb676x3b],{include:[{model:ReportField,as:_0xbf3c[138]}],transaction:_0xb676x2e}))}else {_0xb676x3d[_0xbf3c[62]](function(_0xb676x37){if(_[_0xbf3c[121]](_0xb676x34,_0xb676x37[_0xbf3c[117]])|| _0xb676x37[_0xbf3c[122]]){_0xb676x37[_0xbf3c[115]]= _0xb676x18[_0xbf3c[47]];_0xb676x36[_0xbf3c[75]](ReportField[_0xbf3c[94]](_0xb676x37,{transaction:_0xb676x2e}))}else {throw new sequelize.Error(_0xbf3c[123]+ _0xb676x37[_0xbf3c[117]]+ _0xbf3c[124])}})}});return _0xb676x36})[_0xbf3c[29]]()}else {throw new sequelize.Error(_0xbf3c[128])}}}}exports[_0xbf3c[74]]= function(_0xb676xf,_0xb676x10){return CustomReport[_0xbf3c[49]](_0xb676xf[_0xbf3c[48]][_0xbf3c[47]])[_0xbf3c[20]](function(_0xb676x18){if(!_0xb676x18){return _0xb676x10[_0xbf3c[35]](404)};return _0xb676x18[_0xbf3c[74]]()})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[35]](204)})[_0xbf3c[17]](function(_0xb676x12){return handleError(_0xb676x10,_0xb676x12)})};exports[_0xbf3c[140]]= function(_0xb676xf,_0xb676x10){return CustomReport[_0xbf3c[74]]({where:{id:_0xb676xf[_0xbf3c[21]][_0xbf3c[141]]},individualHooks:true})[_0xbf3c[20]](function(){return _0xb676x10[_0xbf3c[35]](204)})[_0xbf3c[17]](function(_0xb676x12){return handleError(_0xb676x10,_0xb676x12)})};function handleError(_0xb676x10,_0xb676x12){return _0xb676x10[_0xbf3c[19]](500)[_0xbf3c[18]](_0xb676x12)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const CustomReport = require('../../models').CustomReport;
-
-var CustomReportEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-CustomReportEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- CustomReport.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- CustomReportEvents.emit(event + ':' + doc._id, doc);
- CustomReportEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = CustomReportEvents;
+var _0xb2bc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb2bc[0];const EventEmitter=require(_0xb2bc[1]);const CustomReport=require(_0xb2bc[3])[_0xb2bc[2]];var CustomReportEvents= new EventEmitter();CustomReportEvents[_0xb2bc[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xb2bc[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xb2bc[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xb2bc[6]};for(var e in events){var event=events[e];CustomReport[_0xb2bc[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x8c51x8,_0x8c51x9,_0x8c51xa){CustomReportEvents[_0xb2bc[10]](event+ _0xb2bc[8]+ _0x8c51x8[_0xb2bc[9]],_0x8c51x8);CustomReportEvents[_0xb2bc[10]](event,_0x8c51x8);_0x8c51xa(null)}}module[_0xb2bc[11]]= CustomReportEvents
\ No newline at end of file
-'use strict';
-
-const CustomReportEvents = require('./custom_report.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('custom_report:' + event, socket);
-
- CustomReportEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- CustomReportEvents.removeListener(event, listener);
- };
-}
+var _0x75b1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x75b1[0];const CustomReportEvents=require(_0x75b1[1]);var events=[_0x75b1[2],_0x75b1[3]];exports[_0x75b1[4]]= function(_0xb240x3){for(var _0xb240x4=0,_0xb240x5=events[_0x75b1[5]];_0xb240x4< _0xb240x5;_0xb240x4++){var _0xb240x6=events[_0xb240x4];var _0xb240x7=createListener(_0x75b1[6]+ _0xb240x6,_0xb240x3);CustomReportEvents[_0x75b1[7]](_0xb240x6,_0xb240x7);_0xb240x3[_0x75b1[7]](_0x75b1[8],removeListener(_0xb240x6,_0xb240x7))}};function createListener(_0xb240x6,_0xb240x3){return function(_0xb240x9){_0xb240x3[_0x75b1[9]](_0xb240x6,_0xb240x9)}}function removeListener(_0xb240x6,_0xb240x7){return function(){CustomReportEvents[_0x75b1[10]](_0xb240x6,_0xb240x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./custom_report.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/:id/preview', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.preview);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.show);
-router.get('/:id/query', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.getReportQuery);
-router.get('/:id/export', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.export);
-router.post('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.create);
-router.get('/:id/extract/pdf', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.extractPdf);
-router.get('/:id/extract/csv', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.extractCsv);
-router.post('/import', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.import);
-router.post('/:id/copy', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.copy);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.bulkDestroy);
-router.delete('/node/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.destroyNodeReports);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x599a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x70\x72\x65\x76\x69\x65\x77","\x70\x72\x65\x76\x69\x65\x77","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x71\x75\x65\x72\x79","\x67\x65\x74\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x72\x79","\x2F\x3A\x69\x64\x2F\x65\x78\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x70\x64\x66","\x65\x78\x74\x72\x61\x63\x74\x50\x64\x66","\x2F\x3A\x69\x64\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x63\x73\x76","\x65\x78\x74\x72\x61\x63\x74\x43\x73\x76","\x2F\x69\x6D\x70\x6F\x72\x74","\x69\x6D\x70\x6F\x72\x74","\x2F\x3A\x69\x64\x2F\x63\x6F\x70\x79","\x63\x6F\x70\x79","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x2F\x6E\x6F\x64\x65\x2F\x3A\x69\x64","\x64\x65\x73\x74\x72\x6F\x79\x4E\x6F\x64\x65\x52\x65\x70\x6F\x72\x74\x73","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x599a[0];var express=require(_0x599a[1]);var controller=require(_0x599a[2]);var auth=require(_0x599a[3]);var router=express.Router();router[_0x599a[9]](_0x599a[4],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[8]]);router[_0x599a[9]](_0x599a[10],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[11]]);router[_0x599a[9]](_0x599a[12],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[13]]);router[_0x599a[9]](_0x599a[14],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[15]]);router[_0x599a[9]](_0x599a[16],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[17]]);router[_0x599a[19]](_0x599a[4],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[18]]);router[_0x599a[9]](_0x599a[20],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[21]]);router[_0x599a[9]](_0x599a[22],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[23]]);router[_0x599a[19]](_0x599a[24],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[25]]);router[_0x599a[19]](_0x599a[26],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[27]]);router[_0x599a[29]](_0x599a[12],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[28]]);router[_0x599a[31]](_0x599a[4],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[30]]);router[_0x599a[31]](_0x599a[32],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[33]]);router[_0x599a[31]](_0x599a[12],auth[_0x599a[5]](),auth[_0x599a[7]]([17],[_0x599a[6]]),controller[_0x599a[34]]);module[_0x599a[35]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-
-var Dashboard = require('../../models').Dashboard;
-var VoiceQueue = require('../../models').VoiceQueue;
-var sequelize = require('../../models').sequelize;
-
-// Get list of dashboards
-exports.index = function(req, res, next) {
- return Dashboard
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.init = function(req, res, next) {
-
- // QUEUE SET
- var voice = {
- queues: {},
- outbound: {}
- };
-
- return VoiceQueue
- .findAll({
- attributes: ['name'],
- raw: true
- })
- .then(function(data) {
- voice.queues = _.keyBy(data, 'name');
-
- return sequelize
- .query('SELECT queue, count(*) as waiting \
- FROM report_queue \
- WHERE queuecallerleaveAt IS NULL \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].waiting = elm.waiting;
- }
- });
-
- return sequelize
- .query(
- 'SELECT queue, count(*) as active \
- FROM report_queue \
- WHERE queuecallerexit = 0 \
- AND queuecallerabandon = 0 \
- AND queuecallercomplete = 0 \
- AND queuecallerleaveAt IS NOT NULL \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].active = elm.active;
- }
- });
-
- return sequelize
- .query(
- 'SELECT queue, count(*) as abandon \
- FROM report_queue \
- WHERE queuecallerabandon = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].abandon = elm.abandon;
- }
- });
-
- return sequelize
- .query(
- 'SELECT queue, count(*) as complete \
- FROM report_queue \
- WHERE queuecallercomplete = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].complete = elm.complete;
- }
- });
-
- return sequelize
- .query('SELECT queue, count(*) as calls, SUM(holdtime) as holdtime \
- FROM report_agent \
- WHERE agentcomplete = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].holdtime = elm.holdtime;
- }
- });
-
- return sequelize
- .query('SELECT queue, count(*) as calls, SUM(talktime) as talktime \
- FROM report_agent \
- WHERE agentcomplete = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].talktime = elm.talktime;
- }
- });
-
- return sequelize
- .query('SELECT queue, count(*) as unmanaged \
- FROM report_queue \
- WHERE queuecallerexit = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (voice.queues[elm.queue]) {
- voice.queues[elm.queue].unmanaged = elm.unmanaged;
- }
- });
-
- return sequelize
- .query('SELECT count(*) as answered \
- FROM report_call \
- WHERE disposition = \'ANSWERED\' \
- AND type = \'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- voice.outbound.answered = data[0].answered;
-
- return sequelize
- .query('SELECT count(*) as manualOutbound \
- FROM report_call \
- WHERE type = \'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- voice.outbound.manualOutbound = data[0].manualOutbound;
-
- return sequelize
- .query('SELECT SUM(duration) as globalDuration \
- FROM report_call \
- WHERE type = \'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- voice.outbound.globalDuration = data[0].globalDuration || 0;
-
- return sequelize
- .query('SELECT AVG(duration) as avgDuration \
- FROM report_call \
- WHERE type=\"outbound\"', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- voice.outbound.avgDuration = data[0].avgDuration || 0;
- voice.outbound.answerRate = voice.outbound.avgDuration ? ((voice.outbound.answered / voice.outbound.globalDuration) * 100) : 0;
-
- return res.status(200).send(voice);
- })
- .catch(function(err) {
- console.error(err);
- });
-};
-
-// Get a single dashboard
-exports.all = function(req, res) {
- return Dashboard
- .findAll()
- .then(function(dashboards) {
- if (!dashboards) {
- return res.sendStatus(404);
- }
- return res.status(200).send(dashboards);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single dashboard
-exports.show = function(req, res) {
- return Dashboard
- .findById(req.params.id)
- .then(function(dashboard) {
- if (!dashboard) {
- return res.sendStatus(404);
- }
- return res.send(dashboard);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new dashboard in the DB.
-exports.create = function(req, res) {
- return Dashboard
- .create(req.body)
- .then(function(dashboard) {
- return res.status(201).send(dashboard);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Clone a dashboard in the DB.
-exports.clone = function(req, res) {
- return Dashboard
- .findById(req.params.id)
- .then(function(dashboard) {
- var newDashboard = dashboard.dataValues;
- delete newDashboard.id;
- newDashboard.editable = true;
- newDashboard.defaultEntry = false;
- newDashboard.name = req.body.name || newDashboard.name;
- return Dashboard
- .create(newDashboard);
- })
- .then(function(dashboard) {
- return res.status(201).send(dashboard);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing dashboard in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Dashboard
- .findById(req.params.id)
- .then(function(dashboard) {
- if (!dashboard) {
- return res.sendStatus(404);
- }
- var updated = _.merge(dashboard, req.body);
- return updated.save();
- })
- .then(function(dashboard) {
- return res.status(200).send(dashboard);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a dashboard from the DB.
-exports.destroy = function(req, res) {
- return Dashboard
- .findById(req.params.id)
- .then(function(dashboard) {
- if (!dashboard) {
- return res.sendStatus(404);
- }
- return dashboard.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Dashboard
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x657b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x69\x6E\x69\x74","\x65\x72\x72\x6F\x72","\x61\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x61\x6E\x73\x77\x65\x72\x52\x61\x74\x65","\x61\x6E\x73\x77\x65\x72\x65\x64","\x67\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E","\x53\x45\x4C\x45\x43\x54\x20\x41\x56\x47\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x20\x61\x73\x20\x61\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x3D\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x53\x45\x4C\x45\x43\x54\x20\x53\x55\x4D\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x20\x61\x73\x20\x67\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x20\x3D\x20\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x53\x45\x4C\x45\x43\x54\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x20\x3D\x20\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x71\x75\x65\x75\x65","\x71\x75\x65\x75\x65\x73","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x66\x6F\x72\x45\x61\x63\x68","\x53\x45\x4C\x45\x43\x54\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x3D\x20\x27\x41\x4E\x53\x57\x45\x52\x45\x44\x27\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x74\x79\x70\x65\x20\x3D\x20\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x63\x61\x6C\x6C\x73\x2C\x20\x53\x55\x4D\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x20\x61\x73\x20\x74\x61\x6C\x6B\x74\x69\x6D\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x63\x61\x6C\x6C\x73\x2C\x20\x53\x55\x4D\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x20\x61\x73\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x61\x62\x61\x6E\x64\x6F\x6E","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x61\x63\x74\x69\x76\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x61\x62\x61\x6E\x64\x6F\x6E\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x77\x61\x69\x74\x69\x6E\x67","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x61\x63\x74\x69\x76\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x20\x3D\x20\x30\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x20\x3D\x20\x30\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x30\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x20\x49\x53\x20\x4E\x4F\x54\x20\x4E\x55\x4C\x4C\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x6E\x61\x6D\x65","\x6B\x65\x79\x42\x79","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x77\x61\x69\x74\x69\x6E\x67\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x20\x49\x53\x20\x4E\x55\x4C\x4C\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x6C\x6C","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x6C\x6F\x6E\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x65\x64\x69\x74\x61\x62\x6C\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x657b[0];var _=require(_0x657b[1]);var util=require(_0x657b[2]);var Util=require(_0x657b[3]);var Dashboard=require(_0x657b[5])[_0x657b[4]];var VoiceQueue=require(_0x657b[5])[_0x657b[6]];var sequelize=require(_0x657b[5])[_0x657b[7]];exports[_0x657b[8]]= function(_0x1b24x7,_0x1b24x8,_0x1b24x9){return Dashboard[_0x657b[15]](Util[_0x657b[14]](_0x1b24x7[_0x657b[13]]))[_0x657b[12]](function(_0x1b24xb){_0x1b24x8[_0x657b[11]](200)[_0x657b[10]](_0x1b24xb)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[16]]= function(_0x1b24x7,_0x1b24x8,_0x1b24x9){var _0x1b24xc={queues:{},outbound:{}};return VoiceQueue[_0x657b[49]]({attributes:[_0x657b[46]],raw:true})[_0x657b[12]](function(_0x1b24xd){_0x1b24xc[_0x657b[30]]= _[_0x657b[47]](_0x1b24xd,_0x657b[46]);return sequelize[_0x657b[13]](_0x657b[48],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[44]]= _0x1b24xe[_0x657b[44]]}});return sequelize[_0x657b[13]](_0x657b[45],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[42]]= _0x1b24xe[_0x657b[42]]}});return sequelize[_0x657b[13]](_0x657b[43],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[40]]= _0x1b24xe[_0x657b[40]]}});return sequelize[_0x657b[13]](_0x657b[41],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[38]]= _0x1b24xe[_0x657b[38]]}});return sequelize[_0x657b[13]](_0x657b[39],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[36]]= _0x1b24xe[_0x657b[36]]}});return sequelize[_0x657b[13]](_0x657b[37],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[34]]= _0x1b24xe[_0x657b[34]]}});return sequelize[_0x657b[13]](_0x657b[35],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xd[_0x657b[32]](function(_0x1b24xe){if(_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]]){_0x1b24xc[_0x657b[30]][_0x1b24xe[_0x657b[29]]][_0x657b[31]]= _0x1b24xe[_0x657b[31]]}});return sequelize[_0x657b[13]](_0x657b[33],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xc[_0x657b[19]][_0x657b[21]]= _0x1b24xd[0][_0x657b[21]];return sequelize[_0x657b[13]](_0x657b[28],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xc[_0x657b[19]][_0x657b[26]]= _0x1b24xd[0][_0x657b[26]];return sequelize[_0x657b[13]](_0x657b[27],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xc[_0x657b[19]][_0x657b[22]]= _0x1b24xd[0][_0x657b[22]]|| 0;return sequelize[_0x657b[13]](_0x657b[23],{type:sequelize[_0x657b[25]][_0x657b[24]]})})[_0x657b[12]](function(_0x1b24xd){_0x1b24xc[_0x657b[19]][_0x657b[18]]= _0x1b24xd[0][_0x657b[18]]|| 0;_0x1b24xc[_0x657b[19]][_0x657b[20]]= _0x1b24xc[_0x657b[19]][_0x657b[18]]?((_0x1b24xc[_0x657b[19]][_0x657b[21]]/ _0x1b24xc[_0x657b[19]][_0x657b[22]])* 100):0;return _0x1b24x8[_0x657b[11]](200)[_0x657b[10]](_0x1b24xc)})[_0x657b[9]](function(_0x1b24xa){console[_0x657b[17]](_0x1b24xa)})};exports[_0x657b[50]]= function(_0x1b24x7,_0x1b24x8){return Dashboard[_0x657b[49]]()[_0x657b[12]](function(_0x1b24xf){if(!_0x1b24xf){return _0x1b24x8[_0x657b[51]](404)};return _0x1b24x8[_0x657b[11]](200)[_0x657b[10]](_0x1b24xf)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[52]]= function(_0x1b24x7,_0x1b24x8){return Dashboard[_0x657b[55]](_0x1b24x7[_0x657b[54]][_0x657b[53]])[_0x657b[12]](function(_0x1b24x10){if(!_0x1b24x10){return _0x1b24x8[_0x657b[51]](404)};return _0x1b24x8[_0x657b[10]](_0x1b24x10)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[56]]= function(_0x1b24x7,_0x1b24x8){return Dashboard[_0x657b[56]](_0x1b24x7[_0x657b[57]])[_0x657b[12]](function(_0x1b24x10){return _0x1b24x8[_0x657b[11]](201)[_0x657b[10]](_0x1b24x10)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[58]]= function(_0x1b24x7,_0x1b24x8){return Dashboard[_0x657b[55]](_0x1b24x7[_0x657b[54]][_0x657b[53]])[_0x657b[12]](function(_0x1b24x10){var _0x1b24x11=_0x1b24x10[_0x657b[59]];delete _0x1b24x11[_0x657b[53]];_0x1b24x11[_0x657b[60]]= true;_0x1b24x11[_0x657b[61]]= false;_0x1b24x11[_0x657b[46]]= _0x1b24x7[_0x657b[57]][_0x657b[46]]|| _0x1b24x11[_0x657b[46]];return Dashboard[_0x657b[56]](_0x1b24x11)})[_0x657b[12]](function(_0x1b24x10){return _0x1b24x8[_0x657b[11]](201)[_0x657b[10]](_0x1b24x10)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[62]]= function(_0x1b24x7,_0x1b24x8){if(_0x1b24x7[_0x657b[57]][_0x657b[53]]){delete _0x1b24x7[_0x657b[57]][_0x657b[53]]};return Dashboard[_0x657b[55]](_0x1b24x7[_0x657b[54]][_0x657b[53]])[_0x657b[12]](function(_0x1b24x10){if(!_0x1b24x10){return _0x1b24x8[_0x657b[51]](404)};var _0x1b24x12=_[_0x657b[63]](_0x1b24x10,_0x1b24x7[_0x657b[57]]);return _0x1b24x12[_0x657b[64]]()})[_0x657b[12]](function(_0x1b24x10){return _0x1b24x8[_0x657b[11]](200)[_0x657b[10]](_0x1b24x10)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[65]]= function(_0x1b24x7,_0x1b24x8){return Dashboard[_0x657b[55]](_0x1b24x7[_0x657b[54]][_0x657b[53]])[_0x657b[12]](function(_0x1b24x10){if(!_0x1b24x10){return _0x1b24x8[_0x657b[51]](404)};return _0x1b24x10[_0x657b[65]]()})[_0x657b[12]](function(){return _0x1b24x8[_0x657b[51]](204)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};exports[_0x657b[66]]= function(_0x1b24x7,_0x1b24x8){return Dashboard[_0x657b[65]]({where:{id:_0x1b24x7[_0x657b[13]][_0x657b[67]]},individualHooks:true})[_0x657b[12]](function(){return _0x1b24x8[_0x657b[51]](204)})[_0x657b[9]](function(_0x1b24xa){return handleError(_0x1b24x8,_0x1b24xa)})};function handleError(_0x1b24x8,_0x1b24xa){return _0x1b24x8[_0x657b[11]](500)[_0x657b[10]](_0x1b24xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Dashboard = require('../../models').Dashboard;
-
-var DashboardEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-DashboardEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Dashboard.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- DashboardEvents.emit(event + ':' + doc._id, doc);
- DashboardEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = DashboardEvents;
+var _0xfb9b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xfb9b[0];const EventEmitter=require(_0xfb9b[1]);const Dashboard=require(_0xfb9b[3])[_0xfb9b[2]];var DashboardEvents= new EventEmitter();DashboardEvents[_0xfb9b[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xfb9b[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xfb9b[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xfb9b[6]};for(var e in events){var event=events[e];Dashboard[_0xfb9b[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xcc90x8,_0xcc90x9,_0xcc90xa){DashboardEvents[_0xfb9b[10]](event+ _0xfb9b[8]+ _0xcc90x8[_0xfb9b[9]],_0xcc90x8);DashboardEvents[_0xfb9b[10]](event,_0xcc90x8);_0xcc90xa(null)}}module[_0xfb9b[11]]= DashboardEvents
\ No newline at end of file
-'use strict';
-
-const DashboardEvents = require('./dashboard.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('dashboard:' + event, socket);
-
- DashboardEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- DashboardEvents.removeListener(event, listener);
- };
-}
+var _0xfa29=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xfa29[0];const DashboardEvents=require(_0xfa29[1]);var events=[_0xfa29[2],_0xfa29[3]];exports[_0xfa29[4]]= function(_0x8499x3){for(var _0x8499x4=0,_0x8499x5=events[_0xfa29[5]];_0x8499x4< _0x8499x5;_0x8499x4++){var _0x8499x6=events[_0x8499x4];var _0x8499x7=createListener(_0xfa29[6]+ _0x8499x6,_0x8499x3);DashboardEvents[_0xfa29[7]](_0x8499x6,_0x8499x7);_0x8499x3[_0xfa29[7]](_0xfa29[8],removeListener(_0x8499x6,_0x8499x7))}};function createListener(_0x8499x6,_0x8499x3){return function(_0x8499x9){_0x8499x3[_0xfa29[9]](_0x8499x6,_0x8499x9)}}function removeListener(_0x8499x6,_0x8499x7){return function(){DashboardEvents[_0xfa29[10]](_0x8499x6,_0x8499x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./dashboard.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([2], ['admin', 'user', 'agent']), controller.index);
-router.get('/all', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.all);
-router.get('/voice/init', auth.isAuthenticated(), auth.hasModule([2], ['admin', 'user', 'agent']), controller.init);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.create);
-router.post('/:id/clone', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.clone);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xd584=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x6C\x6C","\x61\x6C\x6C","\x2F\x76\x6F\x69\x63\x65\x2F\x69\x6E\x69\x74","\x69\x6E\x69\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x63\x6C\x6F\x6E\x65","\x63\x6C\x6F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xd584[0];var express=require(_0xd584[1]);var controller=require(_0xd584[2]);var auth=require(_0xd584[3]);var router=express.Router();router[_0xd584[11]](_0xd584[4],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6],_0xd584[7],_0xd584[8]]),controller[_0xd584[10]]);router[_0xd584[11]](_0xd584[12],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[13]]);router[_0xd584[11]](_0xd584[14],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6],_0xd584[7],_0xd584[8]]),controller[_0xd584[15]]);router[_0xd584[11]](_0xd584[16],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[17]]);router[_0xd584[19]](_0xd584[4],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[18]]);router[_0xd584[19]](_0xd584[20],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[21]]);router[_0xd584[23]](_0xd584[16],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[22]]);router[_0xd584[25]](_0xd584[4],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[24]]);router[_0xd584[25]](_0xd584[16],auth[_0xd584[5]](),auth[_0xd584[9]]([2],[_0xd584[6]]),controller[_0xd584[26]]);module[_0xd584[27]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var DefaultMetric = require('../../models').DefaultMetric;
-var Metric = require('../../models').Metric;
-var util = require('util');
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-var sr = require('simple-random');
-
-// Get list of metrics
-exports.index = function(req, res, next) {
- return DefaultMetric
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getMetricsByTable = function(req, res) {
- return DefaultMetric
- .findAll({
- where: {
- table: req.query.table
- }
- })
- .then(function(metrics) {
- if (!metrics) {
- return res.sendStatus(404);
- }
- return res.status(200).send({
- count: metrics.length,
- rows: metrics
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.cloneMetric = function(req, res) {
- return DefaultMetric
- .findById(req.params.id)
- .then(function(metric) {
- if (!metric) {
- return res.sendStatus(404);
- }
- delete metric.dataValues.id;
- metric.dataValues.name += '_' + sr({
- length: 5
- })
- return Metric.create(metric.dataValues);
- })
- .then(function() {
- return res.sendStatus(201);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// // Get a single metric
-// exports.show = function(req, res) {
-// return Metric
-// .findById(req.params.id)
-// .then(function(metric) {
-// if (!metric) {
-// return res.sendStatus(404);
-// }
-// return res.send(metric);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// };
-//
-// // Creates a new metric in the DB.
-// exports.create = function(req, res) {
-// return Metric
-// .create(req.body)
-// .then(function(metric) {
-// return res.status(201).send(metric);
-// })
-// .catch(sequelize.UniqueConstraintError, function(err) {
-// err.translatedMessage = 'MESSAGE_EXIST_METRIC';
-// err.message = 'A Metric with that name already exists';
-// return res.status(500).send(err);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// };
-//
-// // Updates an existing metric in the DB.
-// exports.update = function(req, res) {
-// return Metric
-// .findById(req.params.id)
-// .then(function(metric) {
-// if (!metric) {
-// return res.sendStatus(404);
-// }
-// var updated = _.merge(metric, req.body);
-// return updated.save();
-// })
-// .then(function() {
-// return res.sendStatus(200);
-// })
-// .catch(sequelize.UniqueConstraintError, function(err) {
-// err.translatedMessage = 'MESSAGE_EXIST_METRIC';
-// err.message = 'A Metric with that name already exists';
-// return res.status(500).send(err);
-// })
-// .catch(function(err) {
-// console.log(err);
-// return handleError(res, err);
-// });
-// };
-//
-// // Deletes a metric from the DB.
-// exports.destroy = function(req, res) {
-// return Metric
-// .findById(req.params.id)
-// .then(function(metric) {
-// if (!metric) {
-// return res.sendStatus(404);
-// }
-// return metric.destroy();
-// })
-// .then(function() {
-// return res.sendStatus(204);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// };
-//
-// exports.bulkDestroy = function(req, res) {
-// return Metric
-// .destroy({
-// where: {
-// id: req.query.ids
-// },
-// individualHooks: true
-// })
-// .then(function() {
-// return res.sendStatus(204);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// };
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xa35b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x65\x74\x72\x69\x63","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x65\x6E\x67\x74\x68","\x74\x61\x62\x6C\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x6C\x6F\x6E\x65\x4D\x65\x74\x72\x69\x63","\x69\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6E\x61\x6D\x65","\x5F","\x63\x72\x65\x61\x74\x65","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0xa35b[0];var _=require(_0xa35b[1]);var DefaultMetric=require(_0xa35b[3])[_0xa35b[2]];var Metric=require(_0xa35b[3])[_0xa35b[4]];var util=require(_0xa35b[5]);var Util=require(_0xa35b[6]);var sequelize=require(_0xa35b[3])[_0xa35b[7]];var sr=require(_0xa35b[8]);exports[_0xa35b[9]]= function(_0xd984x8,_0xd984x9,_0xd984xa){return DefaultMetric[_0xa35b[16]](Util[_0xa35b[15]](_0xd984x8[_0xa35b[14]]))[_0xa35b[13]](function(_0xd984xc){return _0xd984x9[_0xa35b[12]](200)[_0xa35b[11]](_0xd984xc)})[_0xa35b[10]](function(_0xd984xb){return handleError(_0xd984x9,_0xd984xb)})};exports[_0xa35b[17]]= function(_0xd984x8,_0xd984x9){return DefaultMetric[_0xa35b[21]]({where:{table:_0xd984x8[_0xa35b[14]][_0xa35b[20]]}})[_0xa35b[13]](function(_0xd984xd){if(!_0xd984xd){return _0xd984x9[_0xa35b[18]](404)};return _0xd984x9[_0xa35b[12]](200)[_0xa35b[11]]({count:_0xd984xd[_0xa35b[19]],rows:_0xd984xd})})[_0xa35b[10]](function(_0xd984xb){return handleError(_0xd984x9,_0xd984xb)})};exports[_0xa35b[22]]= function(_0xd984x8,_0xd984x9){return DefaultMetric[_0xa35b[29]](_0xd984x8[_0xa35b[28]][_0xa35b[23]])[_0xa35b[13]](function(_0xd984xe){if(!_0xd984xe){return _0xd984x9[_0xa35b[18]](404)};delete _0xd984xe[_0xa35b[24]][_0xa35b[23]];_0xd984xe[_0xa35b[24]][_0xa35b[25]]+= _0xa35b[26]+ sr({length:5});return Metric[_0xa35b[27]](_0xd984xe[_0xa35b[24]])})[_0xa35b[13]](function(){return _0xd984x9[_0xa35b[18]](201)})[_0xa35b[10]](function(_0xd984xb){return handleError(_0xd984x9,_0xd984xb)})};function handleError(_0xd984x9,_0xd984xb){return _0xd984x9[_0xa35b[12]](500)[_0xa35b[11]](_0xd984xb)}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./default_metric.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/table', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.getMetricsByTable);
-router.get('/:id/clone', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.cloneMetric);
-// router.get('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.show);
-// router.post('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.create);
-// router.put('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-// router.patch('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-// router.delete('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.bulkDestroy);
-// router.delete('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xdace=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x6D\x65\x74\x72\x69\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x2F\x3A\x69\x64\x2F\x63\x6C\x6F\x6E\x65","\x63\x6C\x6F\x6E\x65\x4D\x65\x74\x72\x69\x63","\x65\x78\x70\x6F\x72\x74\x73"];_0xdace[0];var express=require(_0xdace[1]);var controller=require(_0xdace[2]);var auth=require(_0xdace[3]);var router=express.Router();router[_0xdace[9]](_0xdace[4],auth[_0xdace[5]](),auth[_0xdace[7]]([17],[_0xdace[6]]),controller[_0xdace[8]]);router[_0xdace[9]](_0xdace[10],auth[_0xdace[5]](),auth[_0xdace[7]]([17],[_0xdace[6]]),controller[_0xdace[11]]);router[_0xdace[9]](_0xdace[12],auth[_0xdace[5]](),auth[_0xdace[7]]([17],[_0xdace[6]]),controller[_0xdace[13]]);module[_0xdace[14]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var DefaultReport = require('../../models').DefaultReport;
-var ReportField = require('../../models').ReportField;
-var Metric = require('../../models').Metric;
-var sequelize = require('../../models').sequelize;
-var CustomReport = require('../../models').CustomReport;
-var ExtractedReport = require('../../models').ExtractedReport;
-var extractUtils = require('../../utils/report_extraction');
-var reportBuildUtils = require('../../utils/report_build');
-var Util = require('../../config/util');
-var moment = require('moment');
-var cp = require('child_process');
-var sr = require('simple-random');
-var ReportTree = require('../../models').ReportTree;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return DefaultReport
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single report
-exports.export = function(req, res) {
- return DefaultReport
- .scope({
- method: ['exportFields', {
- DefaultReportId: req.params.id
- }]
- }) //add where condition on customreport id
- .findById(req.params.id, {
- attributes: ['conditions', 'description', 'name', 'parent', 'table']
- })
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return res.send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-exports.getReportQuery = function(req, res) {
- return Promise
- .all([])
- .then(getQuery(req, res))
- .then(function(query) {
- if (query) {
- switch (query) {
- case 'permission':
- query = 'no sufficient queue permissions for the user';
- break;
- default:
- }
- }
- res.status(200).send({
- query: query
- });
- })
- .catch(function(err) {
- console.log('Error getting query from api:', err);
- });
-}
-
-function getQuery(req, res) {
- var _report;
- return function() {
- return DefaultReport
- .scope('fields')
- .findById(req.params.id)
- .then(function(report) {
- console.log('found report');
- if (!report) {
- return res.sendStatus(404);
- }
- if (req.query.daily && req.query.daily === 'true') {
- req.query.startDate = moment().format('YYYY-MM-DD');
- req.query.endDate = moment().format('YYYY-MM-DD');
- report.dataValues.table = report.dataValues.table.replace(
- '_history', '');
- }
- delete req.query.daily;
- _report = report.dataValues;
- return _report.table;
- })
- .then(reportBuildUtils.buildFilter(req.user))
- .then(function(filter) {
- return [filter, _report];
- })
- .spread(reportBuildUtils.buildQuery(req.query))
- }
-}
-
-exports.preview = function(req, res) {
- var _countAll;
- return Promise
- .all([])
- .then(getQuery(req, res))
- .then(reportBuildUtils.checkQuery())
- .then(function(results) {
- if (results && _.isArray(results)) {
- _countAll = results.length;
- if (req.query.limit) {
- results = _(results).slice(req.query.offset || 0).take(req.query.limit).value();
- }
- _.forEach(results, function(row) {
- _.forOwn(row, function(property, key) {
- if (property instanceof Date) {
- row[key] = moment(property).format("YYYY-MM-DD HH:mm:ss").toString();
- }
- });
- });
- res.status(200).send({
- rows: results,
- count: _countAll
- });
- } else {
- return handleError(res, {
- message: results || 'query error'
- });
- }
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.extractPdf = function(req, res) {
- // console.log('extractPdf api function');
- docExtract(req, res, 'PDF')
-};
-
-exports.extractCsv = function(req, res) {
- // console.log('extractCsv api function');
- docExtract(req, res, 'CSV');
-};
-
-function docExtract(req, res, typeFunction) {
- var report;
- // console.log('common docExtract api function');
- DefaultReport //DO NOT ADD RETURN CAUSE THE EXTRACTING FUNCTION WILL KEEP EXTRACTING AFTER THE API HAS RETURNED
- .scope('fields')
- .findById(req.params.id)
- .then(function(_report) {
- if (!_report) {
- return res.sendStatus(404);
- }
- report = _report;
- return ReportTree
- .findById(1);
- })
- .then(function(tree) {
- tree = JSON.parse(tree.tree);
- var folder = _.find(tree, {
- id: report.parent
- });
- var path = getReportPath(folder, tree, report.name);
- // console.log('found the report, creating the new DB row for extracted reports..');
- //CREATE A DB ROW IN A TABLE WITH THE REPORT INFO, QUERY DATES, AND THE STATUS 'ELABORATING'
- if (req.query.daily && req.query.daily === 'true') {
- req.query.startDate = moment().format('YYYY-MM-DD');
- req.query.endDate = moment().format('YYYY-MM-DD');
- report.dataValues.table = report.dataValues.table.replace('_history', '');
- }
- delete req.query.daily;
- return [report, ExtractedReport.create({
- name: path,
- startDate: req.query.startDate ? req.query.startDate + (req.query.startTime ? ' ' + req.query.startTime : '00:00') : null,
- endDate: req.query.endDate ? req.query.endDate + (req.query.endTime ? ' ' + req.query.endTime : '23:59') : null,
- output: typeFunction,
- UserId: req.user.id
- })]
- })
- .spread(function(report, extractedReport) {
- // console.log('created new extracted reports db entry, calling external extraction function: ' + typeFunction);
- var child = cp.fork(__dirname + '/../../utils/report_extraction.js');
- child.on('message', function(data) {
- console.log('child message', data);
- child.kill();
- }).on('close', function() {
- console.log('child close');
- }).on('error', function(err) {
- console.log('child error', err);
- });
- child.send({
- report: report,
- query: req.query,
- extractedId: extractedReport.id,
- user: req.user,
- type: typeFunction
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- return res.sendStatus(200);
-}
-
-function getReportPath(folder, tree, path) {
- path = folder.text + '/ ' + path;
- if (folder.parent === '#') {
- return path;
- } else {
- return getReportPath(_.find(tree, {
- id: folder.parent
- }), tree, path);
- }
-}
-
-// Get a single report
-exports.show = function(req, res) {
- return DefaultReport
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return res.send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Copy a default report
-exports.copy = function(req, res) {
- var _fields;
- return sequelize.transaction(function(t) {
- return DefaultReport
- .scope({
- method: ['exportFields', {
- DefaultReportId: req.params.id
- }]
- })
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- var newReport = report.dataValues;
- console.log(newReport);
- delete newReport.id;
- delete newReport.createdAt;
- delete newReport.updatedAt;
- newReport.parent = req.body.parent;
- _fields = _.map(newReport.Fields, 'dataValues');
- return CustomReport.create(newReport, {
- transaction: t
- })
- })
- .then(function(report) {
- return [report, _fields];
- })
- .spread(createCopyFields(t));
- })
- .then(function() {
- return res.sendStatus(201);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function createCopyFields(t) {
- return function(report, fields) {
- if (fields && Array.isArray(fields) && fields.length) {
- var tableModel = reportBuildUtils.getTable(report.table);
- if (tableModel) {
- var _tableFields;
- return tableModel
- .describe()
- .then(function(tableFields) {
- _tableFields = _.keys(tableFields);
- var bulkFields = [];
- var groupedFields = _.groupBy(fields, 'DefaultMetricId');
- _.forOwn(groupedFields, function(value, key) {
- if (key !== 'undefined' && key !== 'null') {
- value[0].DefaultMetric.ReportFields.forEach(function(elem) {
- elem.CustomReportId = report.id;
- });
- value[0].DefaultMetric.name += '_' + sr({
- length: 5
- });
- bulkFields.push(Metric
- .create(value[0].DefaultMetric.dataValues, {
- include: [{
- model: ReportField,
- as: 'ReportFields'
- }],
- transaction: t
- }));
- } else {
- value.forEach(function(elem) {
- if (_.includes(_tableFields, elem.field) || elem.custom) {
- elem.CustomReportId = report.id;
- bulkFields.push(ReportField
- .create(elem, {
- transaction: t
- }));
- } else {
- throw new sequelize.Error("The field " + elem.field +
- " you specified does not exist in the table"
- );
- }
- });
- }
- });
- return bulkFields;
- })
- .all();
- } else {
- throw new sequelize.Error(
- "You have not specified the table or the table does not exist");
- }
- }
- }
-}
-
-
-// Creates a new report in the DB.
-exports.create = function(req, res) {
- return DefaultReport
- .create(req.body)
- .then(function(report) {
- return res.status(201).send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing report in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return DefaultReport
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- var updated = _.merge(report, req.body);
- return updated.save();
- })
- .then(function(report) {
- return res.status(200).send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a report from the DB.
-exports.destroy = function(req, res) {
- return DefaultReport
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return report.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x811f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x4D\x65\x74\x72\x69\x63","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x62\x75\x69\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x70\x61\x72\x65\x6E\x74","\x74\x61\x62\x6C\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x65\x78\x70\x6F\x72\x74\x46\x69\x65\x6C\x64\x73","\x73\x63\x6F\x70\x65","\x67\x65\x74\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x72\x79","\x45\x72\x72\x6F\x72\x20\x67\x65\x74\x74\x69\x6E\x67\x20\x71\x75\x65\x72\x79\x20\x66\x72\x6F\x6D\x20\x61\x70\x69\x3A","\x6C\x6F\x67","\x6E\x6F\x20\x73\x75\x66\x66\x69\x63\x69\x65\x6E\x74\x20\x71\x75\x65\x75\x65\x20\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x73\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x75\x73\x65\x72","\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E","\x61\x6C\x6C","\x62\x75\x69\x6C\x64\x51\x75\x65\x72\x79","\x73\x70\x72\x65\x61\x64","\x75\x73\x65\x72","\x62\x75\x69\x6C\x64\x46\x69\x6C\x74\x65\x72","\x66\x6F\x75\x6E\x64\x20\x72\x65\x70\x6F\x72\x74","\x64\x61\x69\x6C\x79","\x74\x72\x75\x65","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44","\x66\x6F\x72\x6D\x61\x74","\x65\x6E\x64\x44\x61\x74\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x5F\x68\x69\x73\x74\x6F\x72\x79","","\x72\x65\x70\x6C\x61\x63\x65","\x66\x69\x65\x6C\x64\x73","\x70\x72\x65\x76\x69\x65\x77","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x6C\x69\x6D\x69\x74","\x76\x61\x6C\x75\x65","\x74\x61\x6B\x65","\x6F\x66\x66\x73\x65\x74","\x73\x6C\x69\x63\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x4F\x77\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x71\x75\x65\x72\x79\x20\x65\x72\x72\x6F\x72","\x63\x68\x65\x63\x6B\x51\x75\x65\x72\x79","\x65\x78\x74\x72\x61\x63\x74\x50\x64\x66","\x50\x44\x46","\x65\x78\x74\x72\x61\x63\x74\x43\x73\x76","\x43\x53\x56","\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E\x2E\x6A\x73","\x66\x6F\x72\x6B","\x65\x72\x72\x6F\x72","\x63\x68\x69\x6C\x64\x20\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x63\x68\x69\x6C\x64\x20\x63\x6C\x6F\x73\x65","\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x69\x6C\x64\x20\x6D\x65\x73\x73\x61\x67\x65","\x6B\x69\x6C\x6C","\x74\x72\x65\x65","\x70\x61\x72\x73\x65","\x66\x69\x6E\x64","\x73\x74\x61\x72\x74\x54\x69\x6D\x65","\x20","\x30\x30\x3A\x30\x30","\x65\x6E\x64\x54\x69\x6D\x65","\x32\x33\x3A\x35\x39","\x63\x72\x65\x61\x74\x65","\x74\x65\x78\x74","\x2F\x20","\x23","\x73\x68\x6F\x77","\x63\x6F\x70\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x62\x6F\x64\x79","\x6D\x61\x70","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74\x54\x61\x62\x6C\x65","\x6B\x65\x79\x73","\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64","\x67\x72\x6F\x75\x70\x42\x79","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x6E\x75\x6C\x6C","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64\x73","\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63","\x5F","\x70\x75\x73\x68","\x66\x69\x65\x6C\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x63\x75\x73\x74\x6F\x6D","\x54\x68\x65\x20\x66\x69\x65\x6C\x64\x20","\x20\x79\x6F\x75\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x20\x69\x6E\x20\x74\x68\x65\x20\x74\x61\x62\x6C\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x59\x6F\x75\x20\x68\x61\x76\x65\x20\x6E\x6F\x74\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x74\x68\x65\x20\x74\x61\x62\x6C\x65\x20\x6F\x72\x20\x74\x68\x65\x20\x74\x61\x62\x6C\x65\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x811f[0];var _=require(_0x811f[1]);var util=require(_0x811f[2]);var DefaultReport=require(_0x811f[4])[_0x811f[3]];var ReportField=require(_0x811f[4])[_0x811f[5]];var Metric=require(_0x811f[4])[_0x811f[6]];var sequelize=require(_0x811f[4])[_0x811f[7]];var CustomReport=require(_0x811f[4])[_0x811f[8]];var ExtractedReport=require(_0x811f[4])[_0x811f[9]];var extractUtils=require(_0x811f[10]);var reportBuildUtils=require(_0x811f[11]);var Util=require(_0x811f[12]);var moment=require(_0x811f[13]);var cp=require(_0x811f[14]);var sr=require(_0x811f[15]);var ReportTree=require(_0x811f[4])[_0x811f[16]];exports[_0x811f[17]]= function(_0x201ex10,_0x201ex11,_0x201ex12){return DefaultReport[_0x811f[24]](Util[_0x811f[23]](_0x201ex10[_0x811f[22]]))[_0x811f[21]](function(_0x201ex14){_0x201ex11[_0x811f[20]](200)[_0x811f[19]](_0x201ex14)})[_0x811f[18]](function(_0x201ex13){return handleError(_0x201ex11,_0x201ex13)})};exports[_0x811f[25]]= function(_0x201ex10,_0x201ex11){return DefaultReport[_0x811f[36]]({method:[_0x811f[35],{DefaultReportId:_0x201ex10[_0x811f[28]][_0x811f[27]]}]})[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]],{attributes:[_0x811f[29],_0x811f[30],_0x811f[31],_0x811f[32],_0x811f[33]]})[_0x811f[21]](function(_0x201ex15){if(!_0x201ex15){return _0x201ex11[_0x811f[26]](404)};return _0x201ex11[_0x811f[19]](_0x201ex15)})[_0x811f[18]](function(_0x201ex13){return handleError(_0x201ex11,_0x201ex13)})};exports[_0x811f[37]]= function(_0x201ex10,_0x201ex11){return Promise[_0x811f[42]]([])[_0x811f[21]](getQuery(_0x201ex10,_0x201ex11))[_0x811f[21]](function(_0x201ex16){if(_0x201ex16){switch(_0x201ex16){case _0x811f[41]:_0x201ex16= _0x811f[40];break;default:}};_0x201ex11[_0x811f[20]](200)[_0x811f[19]]({query:_0x201ex16})})[_0x811f[18]](function(_0x201ex13){console[_0x811f[39]](_0x811f[38],_0x201ex13)})};function getQuery(_0x201ex10,_0x201ex11){var _0x201ex18;return function(){return DefaultReport[_0x811f[36]](_0x811f[58])[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]])[_0x811f[21]](function(_0x201ex15){console[_0x811f[39]](_0x811f[47]);if(!_0x201ex15){return _0x201ex11[_0x811f[26]](404)};if(_0x201ex10[_0x811f[22]][_0x811f[48]]&& _0x201ex10[_0x811f[22]][_0x811f[48]]=== _0x811f[49]){_0x201ex10[_0x811f[22]][_0x811f[50]]= moment()[_0x811f[52]](_0x811f[51]);_0x201ex10[_0x811f[22]][_0x811f[53]]= moment()[_0x811f[52]](_0x811f[51]);_0x201ex15[_0x811f[54]][_0x811f[33]]= _0x201ex15[_0x811f[54]][_0x811f[33]][_0x811f[57]](_0x811f[55],_0x811f[56])};delete _0x201ex10[_0x811f[22]][_0x811f[48]];_0x201ex18= _0x201ex15[_0x811f[54]];return _0x201ex18[_0x811f[33]]})[_0x811f[21]](reportBuildUtils[_0x811f[46]](_0x201ex10[_0x811f[45]]))[_0x811f[21]](function(_0x201ex19){return [_0x201ex19,_0x201ex18]})[_0x811f[44]](reportBuildUtils[_0x811f[43]](_0x201ex10[_0x811f[22]]))}}exports[_0x811f[59]]= function(_0x201ex10,_0x201ex11){var _0x201ex1a;return Promise[_0x811f[42]]([])[_0x811f[21]](getQuery(_0x201ex10,_0x201ex11))[_0x811f[21]](reportBuildUtils[_0x811f[71]]())[_0x811f[21]](function(_0x201ex1b){if(_0x201ex1b&& _[_0x811f[60]](_0x201ex1b)){_0x201ex1a= _0x201ex1b[_0x811f[61]];if(_0x201ex10[_0x811f[22]][_0x811f[62]]){_0x201ex1b= _(_0x201ex1b)[_0x811f[66]](_0x201ex10[_0x811f[22]][_0x811f[65]]|| 0)[_0x811f[64]](_0x201ex10[_0x811f[22]][_0x811f[62]])[_0x811f[63]]()};_[_0x811f[69]](_0x201ex1b,function(_0x201ex1c){_[_0x811f[68]](_0x201ex1c,function(_0x201ex1d,_0x201ex1e){if(_0x201ex1d instanceof Date){_0x201ex1c[_0x201ex1e]= moment(_0x201ex1d)[_0x811f[52]](_0x811f[67]).toString()}})});_0x201ex11[_0x811f[20]](200)[_0x811f[19]]({rows:_0x201ex1b,count:_0x201ex1a})}else {return handleError(_0x201ex11,{message:_0x201ex1b|| _0x811f[70]})}})[_0x811f[18]](function(_0x201ex13){console[_0x811f[39]](_0x201ex13);return handleError(_0x201ex11,_0x201ex13)})};exports[_0x811f[72]]= function(_0x201ex10,_0x201ex11){docExtract(_0x201ex10,_0x201ex11,_0x811f[73])};exports[_0x811f[74]]= function(_0x201ex10,_0x201ex11){docExtract(_0x201ex10,_0x201ex11,_0x811f[75])};function docExtract(_0x201ex10,_0x201ex11,_0x201ex20){var _0x201ex15;DefaultReport[_0x811f[36]](_0x811f[58])[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]])[_0x811f[21]](function(_0x201ex18){if(!_0x201ex18){return _0x201ex11[_0x811f[26]](404)};_0x201ex15= _0x201ex18;return ReportTree[_0x811f[34]](1)})[_0x811f[21]](function(_0x201ex24){_0x201ex24= JSON[_0x811f[87]](_0x201ex24[_0x811f[86]]);var _0x201ex25=_[_0x811f[88]](_0x201ex24,{id:_0x201ex15[_0x811f[32]]});var _0x201ex26=getReportPath(_0x201ex25,_0x201ex24,_0x201ex15[_0x811f[31]]);if(_0x201ex10[_0x811f[22]][_0x811f[48]]&& _0x201ex10[_0x811f[22]][_0x811f[48]]=== _0x811f[49]){_0x201ex10[_0x811f[22]][_0x811f[50]]= moment()[_0x811f[52]](_0x811f[51]);_0x201ex10[_0x811f[22]][_0x811f[53]]= moment()[_0x811f[52]](_0x811f[51]);_0x201ex15[_0x811f[54]][_0x811f[33]]= _0x201ex15[_0x811f[54]][_0x811f[33]][_0x811f[57]](_0x811f[55],_0x811f[56])};delete _0x201ex10[_0x811f[22]][_0x811f[48]];return [_0x201ex15,ExtractedReport[_0x811f[94]]({name:_0x201ex26,startDate:_0x201ex10[_0x811f[22]][_0x811f[50]]?_0x201ex10[_0x811f[22]][_0x811f[50]]+ (_0x201ex10[_0x811f[22]][_0x811f[89]]?_0x811f[90]+ _0x201ex10[_0x811f[22]][_0x811f[89]]:_0x811f[91]):null,endDate:_0x201ex10[_0x811f[22]][_0x811f[53]]?_0x201ex10[_0x811f[22]][_0x811f[53]]+ (_0x201ex10[_0x811f[22]][_0x811f[92]]?_0x811f[90]+ _0x201ex10[_0x811f[22]][_0x811f[92]]:_0x811f[93]):null,output:_0x201ex20,UserId:_0x201ex10[_0x811f[45]][_0x811f[27]]})]})[_0x811f[44]](function(_0x201ex15,_0x201ex21){var _0x201ex22=cp[_0x811f[77]](__dirname+ _0x811f[76]);_0x201ex22[_0x811f[80]](_0x811f[83],function(_0x201ex23){console[_0x811f[39]](_0x811f[84],_0x201ex23);_0x201ex22[_0x811f[85]]()})[_0x811f[80]](_0x811f[81],function(){console[_0x811f[39]](_0x811f[82])})[_0x811f[80]](_0x811f[78],function(_0x201ex13){console[_0x811f[39]](_0x811f[79],_0x201ex13)});_0x201ex22[_0x811f[19]]({report:_0x201ex15,query:_0x201ex10[_0x811f[22]],extractedId:_0x201ex21[_0x811f[27]],user:_0x201ex10[_0x811f[45]],type:_0x201ex20})})[_0x811f[18]](function(_0x201ex13){console[_0x811f[39]](_0x201ex13);return handleError(_0x201ex11,_0x201ex13)});return _0x201ex11[_0x811f[26]](200)}function getReportPath(_0x201ex25,_0x201ex24,_0x201ex26){_0x201ex26= _0x201ex25[_0x811f[95]]+ _0x811f[96]+ _0x201ex26;if(_0x201ex25[_0x811f[32]]=== _0x811f[97]){return _0x201ex26}else {return getReportPath(_[_0x811f[88]](_0x201ex24,{id:_0x201ex25[_0x811f[32]]}),_0x201ex24,_0x201ex26)}}exports[_0x811f[98]]= function(_0x201ex10,_0x201ex11){return DefaultReport[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]],{include:[{all:true}]})[_0x811f[21]](function(_0x201ex15){if(!_0x201ex15){return _0x201ex11[_0x811f[26]](404)};return _0x201ex11[_0x811f[19]](_0x201ex15)})[_0x811f[18]](function(_0x201ex13){return handleError(_0x201ex11,_0x201ex13)})};exports[_0x811f[99]]= function(_0x201ex10,_0x201ex11){var _0x201ex28;return sequelize[_0x811f[104]](function(_0x201ex29){return DefaultReport[_0x811f[36]]({method:[_0x811f[35],{DefaultReportId:_0x201ex10[_0x811f[28]][_0x811f[27]]}]})[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]])[_0x811f[21]](function(_0x201ex15){if(!_0x201ex15){return _0x201ex11[_0x811f[26]](404)};var _0x201ex2a=_0x201ex15[_0x811f[54]];console[_0x811f[39]](_0x201ex2a);delete _0x201ex2a[_0x811f[27]];delete _0x201ex2a[_0x811f[100]];delete _0x201ex2a[_0x811f[101]];_0x201ex2a[_0x811f[32]]= _0x201ex10[_0x811f[102]][_0x811f[32]];_0x201ex28= _[_0x811f[103]](_0x201ex2a.Fields,_0x811f[54]);return CustomReport[_0x811f[94]](_0x201ex2a,{transaction:_0x201ex29})})[_0x811f[21]](function(_0x201ex15){return [_0x201ex15,_0x201ex28]})[_0x811f[44]](createCopyFields(_0x201ex29))})[_0x811f[21]](function(){return _0x201ex11[_0x811f[26]](201)})[_0x811f[18]](function(_0x201ex13){console[_0x811f[39]](_0x201ex13);return handleError(_0x201ex11,_0x201ex13)})};function createCopyFields(_0x201ex29){return function(_0x201ex15,_0x201ex2c){if(_0x201ex2c&& Array[_0x811f[60]](_0x201ex2c)&& _0x201ex2c[_0x811f[61]]){var _0x201ex2d=reportBuildUtils[_0x811f[105]](_0x201ex15[_0x811f[33]]);if(_0x201ex2d){var _0x201ex2e;return _0x201ex2d[_0x811f[121]]()[_0x811f[21]](function(_0x201ex2f){_0x201ex2e= _[_0x811f[106]](_0x201ex2f);var _0x201ex30=[];var _0x201ex31=_[_0x811f[108]](_0x201ex2c,_0x811f[107]);_[_0x811f[68]](_0x201ex31,function(_0x201ex32,_0x201ex1e){if(_0x201ex1e!== _0x811f[109]&& _0x201ex1e!== _0x811f[110]){_0x201ex32[0][_0x811f[113]][_0x811f[112]][_0x811f[69]](function(_0x201ex33){_0x201ex33[_0x811f[111]]= _0x201ex15[_0x811f[27]]});_0x201ex32[0][_0x811f[113]][_0x811f[31]]+= _0x811f[114]+ sr({length:5});_0x201ex30[_0x811f[115]](Metric[_0x811f[94]](_0x201ex32[0][_0x811f[113]][_0x811f[54]],{include:[{model:ReportField,as:_0x811f[112]}],transaction:_0x201ex29}))}else {_0x201ex32[_0x811f[69]](function(_0x201ex33){if(_[_0x811f[117]](_0x201ex2e,_0x201ex33[_0x811f[116]])|| _0x201ex33[_0x811f[118]]){_0x201ex33[_0x811f[111]]= _0x201ex15[_0x811f[27]];_0x201ex30[_0x811f[115]](ReportField[_0x811f[94]](_0x201ex33,{transaction:_0x201ex29}))}else {throw new sequelize.Error(_0x811f[119]+ _0x201ex33[_0x811f[116]]+ _0x811f[120])}})}});return _0x201ex30})[_0x811f[42]]()}else {throw new sequelize.Error(_0x811f[122])}}}}exports[_0x811f[94]]= function(_0x201ex10,_0x201ex11){return DefaultReport[_0x811f[94]](_0x201ex10[_0x811f[102]])[_0x811f[21]](function(_0x201ex15){return _0x201ex11[_0x811f[20]](201)[_0x811f[19]](_0x201ex15)})[_0x811f[18]](function(_0x201ex13){return handleError(_0x201ex11,_0x201ex13)})};exports[_0x811f[123]]= function(_0x201ex10,_0x201ex11){if(_0x201ex10[_0x811f[102]][_0x811f[27]]){delete _0x201ex10[_0x811f[102]][_0x811f[27]]};return DefaultReport[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]])[_0x811f[21]](function(_0x201ex15){if(!_0x201ex15){return _0x201ex11[_0x811f[26]](404)};var _0x201ex34=_[_0x811f[124]](_0x201ex15,_0x201ex10[_0x811f[102]]);return _0x201ex34[_0x811f[125]]()})[_0x811f[21]](function(_0x201ex15){return _0x201ex11[_0x811f[20]](200)[_0x811f[19]](_0x201ex15)})[_0x811f[18]](function(_0x201ex13){return handleError(_0x201ex11,_0x201ex13)})};exports[_0x811f[126]]= function(_0x201ex10,_0x201ex11){return DefaultReport[_0x811f[34]](_0x201ex10[_0x811f[28]][_0x811f[27]])[_0x811f[21]](function(_0x201ex15){if(!_0x201ex15){return _0x201ex11[_0x811f[26]](404)};return _0x201ex15[_0x811f[126]]()})[_0x811f[21]](function(){return _0x201ex11[_0x811f[26]](204)})[_0x811f[18]](function(_0x201ex13){return handleError(_0x201ex11,_0x201ex13)})};function handleError(_0x201ex11,_0x201ex13){return _0x201ex11[_0x811f[20]](500)[_0x811f[19]](_0x201ex13)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const DefaultReport = require('../../models').DefaultReport;
-
-var DefaultReportEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-DefaultReportEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- DefaultReport.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- DefaultReportEvents.emit(event + ':' + doc._id, doc);
- DefaultReportEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = DefaultReportEvents;
+var _0xcdce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xcdce[0];const EventEmitter=require(_0xcdce[1]);const DefaultReport=require(_0xcdce[3])[_0xcdce[2]];var DefaultReportEvents= new EventEmitter();DefaultReportEvents[_0xcdce[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xcdce[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xcdce[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xcdce[6]};for(var e in events){var event=events[e];DefaultReport[_0xcdce[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xf473x8,_0xf473x9,_0xf473xa){DefaultReportEvents[_0xcdce[10]](event+ _0xcdce[8]+ _0xf473x8[_0xcdce[9]],_0xf473x8);DefaultReportEvents[_0xcdce[10]](event,_0xf473x8);_0xf473xa(null)}}module[_0xcdce[11]]= DefaultReportEvents
\ No newline at end of file
-'use strict';
-
-const DefaultReportEvents = require('./default_report.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('default_report:' + event, socket);
-
- DefaultReportEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- DefaultReportEvents.removeListener(event, listener);
- };
-}
+var _0x169f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x169f[0];const DefaultReportEvents=require(_0x169f[1]);var events=[_0x169f[2],_0x169f[3]];exports[_0x169f[4]]= function(_0xbcf8x3){for(var _0xbcf8x4=0,_0xbcf8x5=events[_0x169f[5]];_0xbcf8x4< _0xbcf8x5;_0xbcf8x4++){var _0xbcf8x6=events[_0xbcf8x4];var _0xbcf8x7=createListener(_0x169f[6]+ _0xbcf8x6,_0xbcf8x3);DefaultReportEvents[_0x169f[7]](_0xbcf8x6,_0xbcf8x7);_0xbcf8x3[_0x169f[7]](_0x169f[8],removeListener(_0xbcf8x6,_0xbcf8x7))}};function createListener(_0xbcf8x6,_0xbcf8x3){return function(_0xbcf8x9){_0xbcf8x3[_0x169f[9]](_0xbcf8x6,_0xbcf8x9)}}function removeListener(_0xbcf8x6,_0xbcf8x7){return function(){DefaultReportEvents[_0x169f[10]](_0xbcf8x6,_0xbcf8x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./default_report.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/:id/preview', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.preview);
-router.get('/:id/query', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.getReportQuery);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.show);
-router.get('/:id/export', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.export);
-// router.post('/', controller.create);
-router.get('/:id/extract/pdf', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.extractPdf);
-router.get('/:id/extract/csv', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.extractCsv);
-router.post('/:id/copy', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.copy);
-// router.put('/:id', controller.update);
-// router.delete('/:id', controller.destroy);
-
-module.exports = router;
+var _0x5dd0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x70\x72\x65\x76\x69\x65\x77","\x70\x72\x65\x76\x69\x65\x77","\x2F\x3A\x69\x64\x2F\x71\x75\x65\x72\x79","\x67\x65\x74\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x72\x79","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x65\x78\x70\x6F\x72\x74","\x65\x78\x70\x6F\x72\x74","\x2F\x3A\x69\x64\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x70\x64\x66","\x65\x78\x74\x72\x61\x63\x74\x50\x64\x66","\x2F\x3A\x69\x64\x2F\x65\x78\x74\x72\x61\x63\x74\x2F\x63\x73\x76","\x65\x78\x74\x72\x61\x63\x74\x43\x73\x76","\x2F\x3A\x69\x64\x2F\x63\x6F\x70\x79","\x63\x6F\x70\x79","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5dd0[0];var express=require(_0x5dd0[1]);var controller=require(_0x5dd0[2]);var auth=require(_0x5dd0[3]);var router=express.Router();router[_0x5dd0[9]](_0x5dd0[4],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[8]]);router[_0x5dd0[9]](_0x5dd0[10],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[11]]);router[_0x5dd0[9]](_0x5dd0[12],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[13]]);router[_0x5dd0[9]](_0x5dd0[14],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[15]]);router[_0x5dd0[9]](_0x5dd0[16],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[17]]);router[_0x5dd0[9]](_0x5dd0[18],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[19]]);router[_0x5dd0[9]](_0x5dd0[20],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[21]]);router[_0x5dd0[24]](_0x5dd0[22],auth[_0x5dd0[5]](),auth[_0x5dd0[7]]([17],[_0x5dd0[6]]),controller[_0x5dd0[23]]);module[_0x5dd0[25]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var desk = require('desk.js');
-
-var DeskAccount = require('../../models').DeskAccount;
-
-// Get list of desk_accounts
-exports.index = function(req, res) {
- var attributes = ['description', 'name', 'username', 'remoteUri'];
- var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
- var page = req.query.page ? parseInt(req.query.page, 10) : 0;
-
- var query = {
- where: {},
- limit: per_page,
- offset: page * per_page
- };
-
- _.forIn(req.query, function(value, key) {
- switch (key) {
- case 'per_page':
- case 'page':
- break;
- case 'sort_by':
- query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
- break;
- case 'sort_order':
- break;
- case '$':
- query.where.$or = [];
- attributes.forEach(function(attribute) {
- var tmp = {};
- tmp[attribute] = {
- $like: '%' + value + '%'
- };
-
- query.where.$or.push(tmp);
- });
- break;
- default:
- query.where[key] = {
- $like: {}
- };
- query.where[key].$like = '%' + value + '%';
- }
- });
-
- return DeskAccount
- .findAndCountAll(query)
- .then(function(result) {
-
- var total_pages = Math.ceil(result.count / per_page);
- var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
- var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
-
- return res.status(200).send({
- count: result.count,
- rows: result.rows,
- next_page: next_page,
- previous_page: previous_page,
- total_pages: total_pages
- });
- })
- .catch(function(err) {
- return res.status(500).send({
- error: 'Something blew up!'
- });
- });
-};
-
-// Get a single desk_account
-exports.show = function(req, res) {
- DeskAccount
- .findById(req.params.id)
- .then(function(desk_account) {
- if (!desk_account) {
- return res.sendStatus(404);
- }
- return res.send(desk_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new desk_account in the DB.
-exports.create = function(req, res, next) {
- DeskAccount
- .create(req.body)
- .then(function(desk_account) {
- return res.status(201).send(desk_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing desk_account in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- DeskAccount
- .findById(req.params.id)
- .then(function(desk_account) {
- if (!desk_account) {
- return res.sendStatus(404);
- }
- var updated = _.merge(desk_account, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(desk_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a desk_account from the DB.
-exports.destroy = function(req, res) {
- DeskAccount
- .findById(req.params.id)
- .then(function(desk_account) {
- if (!desk_account) {
- return res.sendStatus(404);
- }
- desk_account.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.checkAccount = function(req, res) {
- DeskAccount
- .findById(req.params.id)
- .then(function(account) {
- var desk_account = {
- endpoint: stripTrailingSlash(account.remoteUri),
- retry: false
- };
- if (account.authType === 'basic') {
- desk_account.username = account.username;
- desk_account.password = account.password;
- } else if (account.authType === 'oauth') {
- desk_account.consumerKey = account.consumerKey;
- desk_account.consumerSecret = account.consumerSecret;
- desk_account.token = account.token;
- desk_account.tokenSecret = account.tokenSecret;
- }
- var client = desk.createClient(desk_account);
- client.get('/api/v2/users/me', function(err, body, response) {
- if (err) {
- return handleError(res, err);
- }
- return res.sendStatus(200);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.deskValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
- DeskAccount
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getFields = function(req, res) {
- DeskAccount
- .findById(req.params.id)
- .then(function(account) {
- var desk_account = {
- endpoint: stripTrailingSlash(account.remoteUri),
- retry: false
- };
- if (account.authType === 'basic') {
- desk_account.username = account.username;
- desk_account.password = account.password;
- } else if (account.authType === 'oauth') {
- desk_account.consumerKey = account.consumerKey;
- desk_account.consumerSecret = account.consumerSecret;
- desk_account.token = account.token;
- desk_account.tokenSecret = account.tokenSecret;
- }
- var client = desk.createClient(desk_account);
- client.get('/api/v2/custom_fields', function(err, body, response) {
- if (err) {
- return handleError(res, err);
- }
- return res.status(200).json(body._embedded.entries);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDestroy = function(req, res) {
- DeskAccount
- .destroy({
- where: {
- id: req.query.id
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function stripTrailingSlash(str) {
- if (str.substr(-1) === '/') {
- return str.substr(0, str.length - 1);
- }
- return str;
-}
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xb944=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x64\x65\x73\x6B\x2E\x6A\x73","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x54\x79\x70\x65","\x62\x61\x73\x69\x63","\x70\x61\x73\x73\x77\x6F\x72\x64","\x6F\x61\x75\x74\x68","\x63\x6F\x6E\x73\x75\x6D\x65\x72\x4B\x65\x79","\x63\x6F\x6E\x73\x75\x6D\x65\x72\x53\x65\x63\x72\x65\x74","\x74\x6F\x6B\x65\x6E","\x74\x6F\x6B\x65\x6E\x53\x65\x63\x72\x65\x74","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x76\x32\x2F\x75\x73\x65\x72\x73\x2F\x6D\x65","\x67\x65\x74","\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x61\x70\x69\x2F\x76\x32\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x66\x69\x65\x6C\x64\x73","\x65\x6E\x74\x72\x69\x65\x73","\x5F\x65\x6D\x62\x65\x64\x64\x65\x64","\x6A\x73\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x75\x62\x73\x74\x72","\x2F","\x6C\x65\x6E\x67\x74\x68"];_0xb944[0];var _=require(_0xb944[1]);var util=require(_0xb944[2]);var desk=require(_0xb944[3]);var DeskAccount=require(_0xb944[5])[_0xb944[4]];exports[_0xb944[6]]= function(_0x9789x5,_0x9789x6){var _0x9789x7=[_0xb944[7],_0xb944[8],_0xb944[9],_0xb944[10]];var _0x9789x8=_0x9789x5[_0xb944[12]][_0xb944[11]]?parseInt(_0x9789x5[_0xb944[12]][_0xb944[11]],10):100;var _0x9789x9=_0x9789x5[_0xb944[12]][_0xb944[13]]?parseInt(_0x9789x5[_0xb944[12]][_0xb944[13]],10):0;var _0x9789xa={where:{},limit:_0x9789x8,offset:_0x9789x9* _0x9789x8};_[_0xb944[27]](_0x9789x5[_0xb944[12]],function(_0x9789xb,_0x9789xc){switch(_0x9789xc){case _0xb944[11]:;case _0xb944[13]:break;case _0xb944[16]:_0x9789xa[_0xb944[14]]= util[_0xb944[19]](_0xb944[15],_0x9789x5[_0xb944[12]][_0xb944[16]],_0x9789x5[_0xb944[12]][_0xb944[17]]|| _0xb944[18])|| null;break;case _0xb944[17]:break;case _0xb944[25]:_0x9789xa[_0xb944[21]][_0xb944[20]]= [];_0x9789x7[_0xb944[24]](function(_0x9789xd){var _0x9789xe={};_0x9789xe[_0x9789xd]= {$like:_0xb944[22]+ _0x9789xb+ _0xb944[22]};_0x9789xa[_0xb944[21]][_0xb944[20]][_0xb944[23]](_0x9789xe)});break;default:_0x9789xa[_0xb944[21]][_0x9789xc]= {$like:{}};_0x9789xa[_0xb944[21]][_0x9789xc][_0xb944[26]]= _0xb944[22]+ _0x9789xb+ _0xb944[22]}});return DeskAccount[_0xb944[42]](_0x9789xa)[_0xb944[41]](function(_0x9789x10){var _0x9789x11=Math[_0xb944[33]](_0x9789x10[_0xb944[32]]/ _0x9789x8);var _0x9789x12=_0x9789x11> (_0x9789xa[_0xb944[34]]+ 1)?util[_0xb944[19]](_0xb944[35],_0x9789x5[_0xb944[36]],_0x9789x5[_0xb944[38]][_0xb944[37]],_0x9789x5[_0xb944[39]],_0x9789x9+ 1):null;var _0x9789x13=_0x9789x9> 0?util[_0xb944[19]](_0xb944[35],_0x9789x5[_0xb944[36]],_0x9789x5[_0xb944[38]][_0xb944[37]],_0x9789x5[_0xb944[39]],_0x9789x9- 1):null;return _0x9789x6[_0xb944[30]](200)[_0xb944[29]]({count:_0x9789x10[_0xb944[32]],rows:_0x9789x10[_0xb944[40]],next_page:_0x9789x12,previous_page:_0x9789x13,total_pages:_0x9789x11})})[_0xb944[31]](function(_0x9789xf){return _0x9789x6[_0xb944[30]](500)[_0xb944[29]]({error:_0xb944[28]})})};exports[_0xb944[43]]= function(_0x9789x5,_0x9789x6){DeskAccount[_0xb944[47]](_0x9789x5[_0xb944[46]][_0xb944[45]])[_0xb944[41]](function(_0x9789x14){if(!_0x9789x14){return _0x9789x6[_0xb944[44]](404)};return _0x9789x6[_0xb944[29]](_0x9789x14)})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[48]]= function(_0x9789x5,_0x9789x6,_0x9789x15){DeskAccount[_0xb944[48]](_0x9789x5[_0xb944[49]])[_0xb944[41]](function(_0x9789x14){return _0x9789x6[_0xb944[30]](201)[_0xb944[29]](_0x9789x14)})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[50]]= function(_0x9789x5,_0x9789x6){if(_0x9789x5[_0xb944[49]][_0xb944[45]]){delete _0x9789x5[_0xb944[49]][_0xb944[45]]};DeskAccount[_0xb944[47]](_0x9789x5[_0xb944[46]][_0xb944[45]])[_0xb944[41]](function(_0x9789x14){if(!_0x9789x14){return _0x9789x6[_0xb944[44]](404)};var _0x9789x16=_[_0xb944[51]](_0x9789x14,_0x9789x5[_0xb944[49]]);_0x9789x16[_0xb944[52]]()[_0xb944[41]](function(){return _0x9789x6[_0xb944[30]](200)[_0xb944[29]](_0x9789x14)})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[53]]= function(_0x9789x5,_0x9789x6){DeskAccount[_0xb944[47]](_0x9789x5[_0xb944[46]][_0xb944[45]])[_0xb944[41]](function(_0x9789x14){if(!_0x9789x14){return _0x9789x6[_0xb944[44]](404)};_0x9789x14[_0xb944[53]]()[_0xb944[41]](function(){return _0x9789x6[_0xb944[44]](204)})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[54]]= function(_0x9789x5,_0x9789x6){DeskAccount[_0xb944[47]](_0x9789x5[_0xb944[46]][_0xb944[45]])[_0xb944[41]](function(_0x9789x17){var _0x9789x14={endpoint:stripTrailingSlash(_0x9789x17[_0xb944[10]]),retry:false};if(_0x9789x17[_0xb944[55]]=== _0xb944[56]){_0x9789x14[_0xb944[9]]= _0x9789x17[_0xb944[9]];_0x9789x14[_0xb944[57]]= _0x9789x17[_0xb944[57]]}else {if(_0x9789x17[_0xb944[55]]=== _0xb944[58]){_0x9789x14[_0xb944[59]]= _0x9789x17[_0xb944[59]];_0x9789x14[_0xb944[60]]= _0x9789x17[_0xb944[60]];_0x9789x14[_0xb944[61]]= _0x9789x17[_0xb944[61]];_0x9789x14[_0xb944[62]]= _0x9789x17[_0xb944[62]]}};var _0x9789x18=desk[_0xb944[63]](_0x9789x14);_0x9789x18[_0xb944[65]](_0xb944[64],function(_0x9789xf,_0x9789x19,_0x9789x1a){if(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)};return _0x9789x6[_0xb944[44]](200)})})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[66]]= function(_0x9789x5,_0x9789x6){var _0x9789x1b={};_0x9789x1b[_0x9789x5[_0xb944[46]][_0xb944[67]]]= _0x9789x5[_0xb944[49]][_0xb944[68]];DeskAccount[_0xb944[42]]({where:_0x9789x1b})[_0xb944[41]](function(_0x9789x10){if(_0x9789x10[_0xb944[32]]){return _0x9789x6[_0xb944[30]](200)[_0xb944[29]]({isValid:false,value:_0x9789x5[_0xb944[49]][_0xb944[68]]})};return _0x9789x6[_0xb944[30]](200)[_0xb944[29]]({isValid:true,value:_0x9789x5[_0xb944[49]][_0xb944[68]]})})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[69]]= function(_0x9789x5,_0x9789x6){DeskAccount[_0xb944[47]](_0x9789x5[_0xb944[46]][_0xb944[45]])[_0xb944[41]](function(_0x9789x17){var _0x9789x14={endpoint:stripTrailingSlash(_0x9789x17[_0xb944[10]]),retry:false};if(_0x9789x17[_0xb944[55]]=== _0xb944[56]){_0x9789x14[_0xb944[9]]= _0x9789x17[_0xb944[9]];_0x9789x14[_0xb944[57]]= _0x9789x17[_0xb944[57]]}else {if(_0x9789x17[_0xb944[55]]=== _0xb944[58]){_0x9789x14[_0xb944[59]]= _0x9789x17[_0xb944[59]];_0x9789x14[_0xb944[60]]= _0x9789x17[_0xb944[60]];_0x9789x14[_0xb944[61]]= _0x9789x17[_0xb944[61]];_0x9789x14[_0xb944[62]]= _0x9789x17[_0xb944[62]]}};var _0x9789x18=desk[_0xb944[63]](_0x9789x14);_0x9789x18[_0xb944[65]](_0xb944[70],function(_0x9789xf,_0x9789x19,_0x9789x1a){if(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)};return _0x9789x6[_0xb944[30]](200)[_0xb944[73]](_0x9789x19[_0xb944[72]][_0xb944[71]])})})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};exports[_0xb944[74]]= function(_0x9789x5,_0x9789x6){DeskAccount[_0xb944[53]]({where:{id:_0x9789x5[_0xb944[12]][_0xb944[45]]},individualHooks:true})[_0xb944[41]](function(){return _0x9789x6[_0xb944[44]](204)})[_0xb944[31]](function(_0x9789xf){return handleError(_0x9789x6,_0x9789xf)})};function stripTrailingSlash(_0x9789x1d){if(_0x9789x1d[_0xb944[75]](-1) === _0xb944[76]){return _0x9789x1d[_0xb944[75]](0,_0x9789x1d[_0xb944[77]]- 1)};return _0x9789x1d}function handleError(_0x9789x6,_0x9789xf){return _0x9789x6[_0xb944[30]](500)[_0xb944[29]](_0x9789xf)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const DeskAccount = require('../../models').DeskAccount;
-
-var DeskAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-DeskAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- DeskAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- DeskAccountEvents.emit(event + ':' + doc._id, doc);
- DeskAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = DeskAccountEvents;
+var _0x5727=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x44\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5727[0];const EventEmitter=require(_0x5727[1]);const DeskAccount=require(_0x5727[3])[_0x5727[2]];var DeskAccountEvents= new EventEmitter();DeskAccountEvents[_0x5727[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x5727[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x5727[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x5727[6]};for(var e in events){var event=events[e];DeskAccount[_0x5727[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x98dbx8,_0x98dbx9,_0x98dbxa){DeskAccountEvents[_0x5727[10]](event+ _0x5727[8]+ _0x98dbx8[_0x5727[9]],_0x98dbx8);DeskAccountEvents[_0x5727[10]](event,_0x98dbx8);_0x98dbxa(null)}}module[_0x5727[11]]= DeskAccountEvents
\ No newline at end of file
-'use strict';
-
-const DeskAccountEvents = require('./desk_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('desk_account:' + event, socket);
-
- DeskAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- DeskAccountEvents.removeListener(event, listener);
- };
-}
+var _0x9472=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x9472[0];const DeskAccountEvents=require(_0x9472[1]);var events=[_0x9472[2],_0x9472[3]];exports[_0x9472[4]]= function(_0x540fx3){for(var _0x540fx4=0,_0x540fx5=events[_0x9472[5]];_0x540fx4< _0x540fx5;_0x540fx4++){var _0x540fx6=events[_0x540fx4];var _0x540fx7=createListener(_0x9472[6]+ _0x540fx6,_0x540fx3);DeskAccountEvents[_0x9472[7]](_0x540fx6,_0x540fx7);_0x540fx3[_0x9472[7]](_0x9472[8],removeListener(_0x540fx6,_0x540fx7))}};function createListener(_0x540fx6,_0x540fx3){return function(_0x540fx9){_0x540fx3[_0x9472[9]](_0x540fx6,_0x540fx9)}}function removeListener(_0x540fx6,_0x540fx7){return function(){DeskAccountEvents[_0x9472[10]](_0x540fx6,_0x540fx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./desk_account.controller');
-var auth = require('../../auth/auth.service');
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19, 13], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.get('/:id/check', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.checkAccount);
-router.get('/:id/fields', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getFields);
-router.post('/validate/:field', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.deskValidation);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xb8db=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xb8db[0];var express=require(_0xb8db[1]);var controller=require(_0xb8db[2]);var auth=require(_0xb8db[3]);var router=express.Router();router[_0xb8db[9]](_0xb8db[4],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19,13],[_0xb8db[6]]),controller[_0xb8db[8]]);router[_0xb8db[9]](_0xb8db[10],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[11]]);router[_0xb8db[9]](_0xb8db[12],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[13]]);router[_0xb8db[9]](_0xb8db[14],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[15]]);router[_0xb8db[18]](_0xb8db[16],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[17]]);router[_0xb8db[18]](_0xb8db[4],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[19]]);router[_0xb8db[21]](_0xb8db[10],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[20]]);router[_0xb8db[23]](_0xb8db[4],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[22]]);router[_0xb8db[23]](_0xb8db[10],auth[_0xb8db[5]](),auth[_0xb8db[7]]([19],[_0xb8db[6]]),controller[_0xb8db[24]]);module[_0xb8db[25]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/desk/configurations -> index
- * POST /api/desk/configurations -> create
- * GET /api/desk/configurations/:id -> show
- * PUT /api/desk/configurations/:id -> update
- * DELETE /api/desk/configurations/:id -> destroy
- */
-
-'use strict';
-
-var _ = require('lodash');
-
-var DeskConfiguration = require('../../models').DeskConfiguration;
-var DeskField = require('../../models').DeskField;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of DeskConfigurations
-exports.index = function(req, res) {
- DeskConfiguration.findAll({
- where: req.query
- })
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single DeskConfiguration from the DB
-exports.show = function(req, res) {
- DeskConfiguration.find({
- where: {
- id: req.params.id
- },
- include: [{
- model: DeskField,
- as: 'Subject'
- }, {
- model: DeskField,
- as: 'Description'
- }, {
- model: DeskField,
- as: 'Field'
- }]
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new DeskConfiguration in the DB
-exports.create = function(req, res) {
- DeskConfiguration.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing DeskConfiguration in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- DeskConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a DeskConfiguration from the DB
-exports.destroy = function(req, res) {
- DeskConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.addConfigurationField = function(req, res, next) {
- // console.log(req.params);
- var deskConfiguration;
- DeskConfiguration
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(desk_configuration) {
- deskConfiguration = desk_configuration;
- return DeskField.create(req.body)
- })
- .then(function(deskField) {
- switch (req.params.type) {
- case 'subject':
- return [deskConfiguration.addSubject(deskField), deskField];
- case 'description':
- return [deskConfiguration.addDescription(deskField), deskField];
- case 'field':
- return [deskConfiguration.addField(deskField), deskField];
- }
- })
- .spread(function(data, deskField) {
- return res.status(201).json(deskField);
- })
- .catch(handleError(res));
-};
+var _0xcd64=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xcd64[0];var _=require(_0xcd64[1]);var DeskConfiguration=require(_0xcd64[3])[_0xcd64[2]];var DeskField=require(_0xcd64[3])[_0xcd64[4]];function handleError(_0xc6ddx5,_0xc6ddx6){_0xc6ddx6= _0xc6ddx6|| 500;return function(_0xc6ddx7){_0xc6ddx5[_0xcd64[6]](_0xc6ddx6)[_0xcd64[5]](_0xc6ddx7)}}function responseWithResult(_0xc6ddx5,_0xc6ddx6){_0xc6ddx6= _0xc6ddx6|| 200;return function(_0xc6ddx9){if(_0xc6ddx9){_0xc6ddx5[_0xcd64[6]](_0xc6ddx6)[_0xcd64[7]](_0xc6ddx9)}}}function handleEntityNotFound(_0xc6ddx5){return function(_0xc6ddx9){if(!_0xc6ddx9){_0xc6ddx5[_0xcd64[6]](404)[_0xcd64[8]]();return null};return _0xc6ddx9}}function saveUpdates(_0xc6ddxc){return function(_0xc6ddx9){return _0xc6ddx9[_0xcd64[10]](_0xc6ddxc)[_0xcd64[9]](function(_0xc6ddxd){return _0xc6ddxd})}}function removeEntity(_0xc6ddx5){return function(_0xc6ddx9){if(_0xc6ddx9){return _0xc6ddx9[_0xcd64[11]]()[_0xcd64[9]](function(){_0xc6ddx5[_0xcd64[6]](204)[_0xcd64[8]]()})}}}exports[_0xcd64[12]]= function(_0xc6ddxf,_0xc6ddx5){DeskConfiguration[_0xcd64[15]]({where:_0xc6ddxf[_0xcd64[14]]})[_0xcd64[9]](responseWithResult(_0xc6ddx5))[_0xcd64[13]](handleError(_0xc6ddx5))};exports[_0xcd64[16]]= function(_0xc6ddxf,_0xc6ddx5){DeskConfiguration[_0xcd64[22]]({where:{id:_0xc6ddxf[_0xcd64[18]][_0xcd64[17]]},include:[{model:DeskField,as:_0xcd64[19]},{model:DeskField,as:_0xcd64[20]},{model:DeskField,as:_0xcd64[21]}]})[_0xcd64[9]](handleEntityNotFound(_0xc6ddx5))[_0xcd64[9]](responseWithResult(_0xc6ddx5))[_0xcd64[13]](handleError(_0xc6ddx5))};exports[_0xcd64[23]]= function(_0xc6ddxf,_0xc6ddx5){DeskConfiguration[_0xcd64[23]](_0xc6ddxf[_0xcd64[24]])[_0xcd64[9]](responseWithResult(_0xc6ddx5,201))[_0xcd64[13]](handleError(_0xc6ddx5))};exports[_0xcd64[25]]= function(_0xc6ddxf,_0xc6ddx5){if(_0xc6ddxf[_0xcd64[24]][_0xcd64[17]]){delete _0xc6ddxf[_0xcd64[24]][_0xcd64[17]]};DeskConfiguration[_0xcd64[26]](_0xc6ddxf[_0xcd64[18]][_0xcd64[17]])[_0xcd64[9]](handleEntityNotFound(_0xc6ddx5))[_0xcd64[9]](saveUpdates(_0xc6ddxf[_0xcd64[24]]))[_0xcd64[9]](responseWithResult(_0xc6ddx5))[_0xcd64[13]](handleError(_0xc6ddx5))};exports[_0xcd64[11]]= function(_0xc6ddxf,_0xc6ddx5){DeskConfiguration[_0xcd64[26]](_0xc6ddxf[_0xcd64[18]][_0xcd64[17]])[_0xcd64[9]](handleEntityNotFound(_0xc6ddx5))[_0xcd64[9]](removeEntity(_0xc6ddx5))[_0xcd64[13]](handleError(_0xc6ddx5))};exports[_0xcd64[27]]= function(_0xc6ddxf,_0xc6ddx5,_0xc6ddx10){var _0xc6ddx11;DeskConfiguration[_0xcd64[26]](_0xc6ddxf[_0xcd64[18]][_0xcd64[17]])[_0xcd64[9]](handleEntityNotFound(_0xc6ddx5))[_0xcd64[9]](function(_0xc6ddx14){_0xc6ddx11= _0xc6ddx14;return DeskField[_0xcd64[23]](_0xc6ddxf[_0xcd64[24]])})[_0xcd64[9]](function(_0xc6ddx13){switch(_0xc6ddxf[_0xcd64[18]][_0xcd64[35]]){case _0xcd64[30]:return [_0xc6ddx11[_0xcd64[29]](_0xc6ddx13),_0xc6ddx13];case _0xcd64[32]:return [_0xc6ddx11[_0xcd64[31]](_0xc6ddx13),_0xc6ddx13];case _0xcd64[34]:return [_0xc6ddx11[_0xcd64[33]](_0xc6ddx13),_0xc6ddx13]}})[_0xcd64[28]](function(_0xc6ddx12,_0xc6ddx13){return _0xc6ddx5[_0xcd64[6]](201)[_0xcd64[7]](_0xc6ddx13)})[_0xcd64[13]](handleError(_0xc6ddx5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const DeskConfiguration = require('../../models').DeskConfiguration;
-
-var DeskConfigurationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-DeskConfigurationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- DeskConfiguration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- DeskConfigurationEvents.emit(event + ':' + doc._id, doc);
- DeskConfigurationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = DeskConfigurationEvents;
+var _0xaed0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x44\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xaed0[0];const EventEmitter=require(_0xaed0[1]);const DeskConfiguration=require(_0xaed0[3])[_0xaed0[2]];var DeskConfigurationEvents= new EventEmitter();DeskConfigurationEvents[_0xaed0[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xaed0[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xaed0[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xaed0[6]};for(var e in events){var event=events[e];DeskConfiguration[_0xaed0[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xed23x8,_0xed23x9,_0xed23xa){DeskConfigurationEvents[_0xaed0[10]](event+ _0xaed0[8]+ _0xed23x8[_0xaed0[9]],_0xed23x8);DeskConfigurationEvents[_0xaed0[10]](event,_0xed23x8);_0xed23xa(null)}}module[_0xaed0[11]]= DeskConfigurationEvents
\ No newline at end of file
-'use strict';
-
-const DeskConfigurationEvents = require('./desk_configuration.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('desk_configuration:' + event, socket);
-
- DeskConfigurationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- DeskConfigurationEvents.removeListener(event, listener);
- };
-}
+var _0xff7a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xff7a[0];const DeskConfigurationEvents=require(_0xff7a[1]);var events=[_0xff7a[2],_0xff7a[3]];exports[_0xff7a[4]]= function(_0xbb86x3){for(var _0xbb86x4=0,_0xbb86x5=events[_0xff7a[5]];_0xbb86x4< _0xbb86x5;_0xbb86x4++){var _0xbb86x6=events[_0xbb86x4];var _0xbb86x7=createListener(_0xff7a[6]+ _0xbb86x6,_0xbb86x3);DeskConfigurationEvents[_0xff7a[7]](_0xbb86x6,_0xbb86x7);_0xbb86x3[_0xff7a[7]](_0xff7a[8],removeListener(_0xbb86x6,_0xbb86x7))}};function createListener(_0xbb86x6,_0xbb86x3){return function(_0xbb86x9){_0xbb86x3[_0xff7a[9]](_0xbb86x6,_0xbb86x9)}}function removeListener(_0xbb86x6,_0xbb86x7){return function(){DeskConfigurationEvents[_0xff7a[10]](_0xbb86x6,_0xbb86x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./desk_configuration.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.post('/:id/:type', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.addConfigurationField);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0xa26a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xa26a[0];var express=require(_0xa26a[1]);var auth=require(_0xa26a[2]);var controller=require(_0xa26a[3]);var router=express.Router();router[_0xa26a[7]](_0xa26a[4],auth[_0xa26a[5]](),controller[_0xa26a[6]]);router[_0xa26a[7]](_0xa26a[8],auth[_0xa26a[5]](),auth[_0xa26a[10]]([19],[_0xa26a[9]]),controller[_0xa26a[11]]);router[_0xa26a[13]](_0xa26a[4],auth[_0xa26a[5]](),auth[_0xa26a[10]]([19],[_0xa26a[9]]),controller[_0xa26a[12]]);router[_0xa26a[15]](_0xa26a[8],auth[_0xa26a[5]](),auth[_0xa26a[10]]([19],[_0xa26a[9]]),controller[_0xa26a[14]]);router[_0xa26a[13]](_0xa26a[16],auth[_0xa26a[5]](),auth[_0xa26a[10]]([19],[_0xa26a[9]]),controller[_0xa26a[17]]);router[_0xa26a[19]](_0xa26a[8],auth[_0xa26a[5]](),auth[_0xa26a[10]]([19],[_0xa26a[9]]),controller[_0xa26a[18]]);module[_0xa26a[20]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/desk/fields -> index
- * POST /api/desk/fields -> create
- * GET /api/desk/fields/:id -> show
- * PUT /api/desk/fields/:id -> update
- * DELETE /api/desk/fields/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var DeskField = require('../../models').DeskField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of DeskFields
-exports.index = function(req, res) {
- DeskField.findAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single DeskField from the DB
-exports.show = function(req, res) {
- DeskField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new DeskField in the DB
-exports.create = function(req, res) {
- DeskField.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing DeskField in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- DeskField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a DeskField from the DB
-exports.destroy = function(req, res) {
- DeskField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x6f38=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x6f38[0];var _=require(_0x6f38[1]);var DeskField=require(_0x6f38[3])[_0x6f38[2]];function handleError(_0x12aax4,_0x12aax5){_0x12aax5= _0x12aax5|| 500;return function(_0x12aax6){_0x12aax4[_0x6f38[5]](_0x12aax5)[_0x6f38[4]](_0x12aax6)}}function responseWithResult(_0x12aax4,_0x12aax5){_0x12aax5= _0x12aax5|| 200;return function(_0x12aax8){if(_0x12aax8){_0x12aax4[_0x6f38[5]](_0x12aax5)[_0x6f38[6]](_0x12aax8)}}}function handleEntityNotFound(_0x12aax4){return function(_0x12aax8){if(!_0x12aax8){_0x12aax4[_0x6f38[5]](404)[_0x6f38[7]]();return null};return _0x12aax8}}function saveUpdates(_0x12aaxb){return function(_0x12aax8){return _0x12aax8[_0x6f38[9]](_0x12aaxb)[_0x6f38[8]](function(_0x12aaxc){return _0x12aaxc})}}function removeEntity(_0x12aax4){return function(_0x12aax8){if(_0x12aax8){return _0x12aax8[_0x6f38[10]]()[_0x6f38[8]](function(){_0x12aax4[_0x6f38[5]](204)[_0x6f38[7]]()})}}}exports[_0x6f38[11]]= function(_0x12aaxe,_0x12aax4){DeskField[_0x6f38[13]]()[_0x6f38[8]](responseWithResult(_0x12aax4))[_0x6f38[12]](handleError(_0x12aax4))};exports[_0x6f38[14]]= function(_0x12aaxe,_0x12aax4){DeskField[_0x6f38[17]](_0x12aaxe[_0x6f38[16]][_0x6f38[15]])[_0x6f38[8]](handleEntityNotFound(_0x12aax4))[_0x6f38[8]](responseWithResult(_0x12aax4))[_0x6f38[12]](handleError(_0x12aax4))};exports[_0x6f38[18]]= function(_0x12aaxe,_0x12aax4){DeskField[_0x6f38[18]](_0x12aaxe[_0x6f38[19]])[_0x6f38[8]](responseWithResult(_0x12aax4,201))[_0x6f38[12]](handleError(_0x12aax4))};exports[_0x6f38[20]]= function(_0x12aaxe,_0x12aax4){if(_0x12aaxe[_0x6f38[19]][_0x6f38[15]]){delete _0x12aaxe[_0x6f38[19]][_0x6f38[15]]};DeskField[_0x6f38[17]](_0x12aaxe[_0x6f38[16]][_0x6f38[15]])[_0x6f38[8]](handleEntityNotFound(_0x12aax4))[_0x6f38[8]](saveUpdates(_0x12aaxe[_0x6f38[19]]))[_0x6f38[8]](responseWithResult(_0x12aax4))[_0x6f38[12]](handleError(_0x12aax4))};exports[_0x6f38[10]]= function(_0x12aaxe,_0x12aax4){DeskField[_0x6f38[17]](_0x12aaxe[_0x6f38[16]][_0x6f38[15]])[_0x6f38[8]](handleEntityNotFound(_0x12aax4))[_0x6f38[8]](removeEntity(_0x12aax4))[_0x6f38[12]](handleError(_0x12aax4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const DeskField = require('../../models').DeskField;
-
-var DeskFieldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-DeskFieldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- DeskField.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- DeskFieldEvents.emit(event + ':' + doc._id, doc);
- DeskFieldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = DeskFieldEvents;
+var _0xeeb3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xeeb3[0];const EventEmitter=require(_0xeeb3[1]);const DeskField=require(_0xeeb3[3])[_0xeeb3[2]];var DeskFieldEvents= new EventEmitter();DeskFieldEvents[_0xeeb3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xeeb3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xeeb3[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xeeb3[6]};for(var e in events){var event=events[e];DeskField[_0xeeb3[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xf151x8,_0xf151x9,_0xf151xa){DeskFieldEvents[_0xeeb3[10]](event+ _0xeeb3[8]+ _0xf151x8[_0xeeb3[9]],_0xf151x8);DeskFieldEvents[_0xeeb3[10]](event,_0xf151x8);_0xf151xa(null)}}module[_0xeeb3[11]]= DeskFieldEvents
\ No newline at end of file
-'use strict';
-
-const DeskFieldEvents = require('./desk_field.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('desk_field:' + event, socket);
-
- DeskFieldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- DeskFieldEvents.removeListener(event, listener);
- };
-}
+var _0x8b03=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x8b03[0];const DeskFieldEvents=require(_0x8b03[1]);var events=[_0x8b03[2],_0x8b03[3]];exports[_0x8b03[4]]= function(_0x2e9ex3){for(var _0x2e9ex4=0,_0x2e9ex5=events[_0x8b03[5]];_0x2e9ex4< _0x2e9ex5;_0x2e9ex4++){var _0x2e9ex6=events[_0x2e9ex4];var _0x2e9ex7=createListener(_0x8b03[6]+ _0x2e9ex6,_0x2e9ex3);DeskFieldEvents[_0x8b03[7]](_0x2e9ex6,_0x2e9ex7);_0x2e9ex3[_0x8b03[7]](_0x8b03[8],removeListener(_0x2e9ex6,_0x2e9ex7))}};function createListener(_0x2e9ex6,_0x2e9ex3){return function(_0x2e9ex9){_0x2e9ex3[_0x8b03[9]](_0x2e9ex6,_0x2e9ex9)}}function removeListener(_0x2e9ex6,_0x2e9ex7){return function(){DeskFieldEvents[_0x8b03[10]](_0x2e9ex6,_0x2e9ex7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./desk_field.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0x5505=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5505[0];var express=require(_0x5505[1]);var auth=require(_0x5505[2]);var controller=require(_0x5505[3]);var router=express.Router();router[_0x5505[9]](_0x5505[4],auth[_0x5505[5]](),auth[_0x5505[7]]([19],[_0x5505[6]]),controller[_0x5505[8]]);router[_0x5505[9]](_0x5505[10],auth[_0x5505[5]](),auth[_0x5505[7]]([19],[_0x5505[6]]),controller[_0x5505[11]]);router[_0x5505[13]](_0x5505[4],auth[_0x5505[5]](),auth[_0x5505[7]]([19],[_0x5505[6]]),controller[_0x5505[12]]);router[_0x5505[15]](_0x5505[10],auth[_0x5505[5]](),auth[_0x5505[7]]([19],[_0x5505[6]]),controller[_0x5505[14]]);router[_0x5505[17]](_0x5505[10],auth[_0x5505[5]](),auth[_0x5505[7]]([19],[_0x5505[6]]),controller[_0x5505[16]]);module[_0x5505[18]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ExtractedReport = require('../../models').ExtractedReport;
-var util = require('util');
-var path = require('path');
-var moment = require('moment');
-var config = require('../../config/environment');
-var base64 = require('file-base64');
-var fs = require('fs');
-var Util = require('../../config/util');
-
-// Get list of extracted_reports
-exports.index = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- return ExtractedReport
- .findAndCountAll(Util.getQuery(req.query, {
- UserId: req.user.id
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- default:
- return ExtractedReport
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get a single extracted_reports
-exports.show = function(req, res) {
- return ExtractedReport
- .findById(req.params.id)
- .then(function(extracted) {
- if (!extracted) {
- return res.sendStatus(404);
- }
- return res.send(extracted);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.download = function(req, res) {
- return ExtractedReport
- .findById(req.params.id)
- .then(function(extract) {
- if (!extract) {
- return res.status(404).send(extract);
- }
- var filepath = path.join(config.root, 'server', 'files', 'reports', extract.savename);
- base64.encode(filepath, function(err, base64String) {
- if (err) {
- return handleError(res, err);
- } else {
- return res.status(200).send({
- downloadString: base64String
- });
- }
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new extracted_report in the DB.
-exports.create = function(req, res) {
- return ExtractedReport
- .create(req.body)
- .then(function(extracted) {
- return res.status(201).send(extracted);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing extracted_report in the DB.
-exports.update = function(req, res) {
- return ExtractedReport
- .findAll({
- where: {
- name: req.body.name,
- id: {
- $ne: req.body.id
- }
- }
- })
- .then(function(extracted_reports) {
- if (!extracted_reports) {
- return res.sendStatus(404);
- }
- if (req.body.id) {
- delete req.body.id;
- }
- return ExtractedReport
- .findById(req.params.id);
- })
- .then(function(extracted) {
- if (!extracted) {
- return res.sendStatus(404);
- }
- var updated = _.merge(extracted, req.body);
- return updated.save();
- })
- .then(function(extracted) {
- return res.status(200).send(extracted);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes an extracted_report from the DB.
-exports.destroy = function(req, res) {
- var _extracted;
- return ExtractedReport
- .findById(req.params.id)
- .then(function(extracted) {
- _extracted = extracted;
- if (!extracted) {
- return res.sendStatus(404);
- }
- return extracted.destroy();
- })
- .then(function() {
- if (_extracted.savename) {
- var filepath = path.join(config.root, 'server', 'files', 'reports', _extracted.savename);
- fs.access(filepath, fs.R_OK | fs.W_OK, function(err) {
- if (err) {
- console.error('File does not exist or operation not permitted');
- } else {
- fs.unlink(filepath, function(err) {
- if (err) {
- console.error('error deleting file :', err);
- } else {
- console.log('file deleted');
- }
- })
- }
- });
- }
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- var _extracts;
- return ExtractedReport
- .findAll({
- where: {
- id: req.query.ids
- }
- })
- .then(function(extracts) {
- _extracts = extracts;
- var bulkDelete = [];
- extracts.forEach(function(extracted) {
- bulkDelete.push(extracted.destroy());
- });
- return bulkDelete;
- })
- .all()
- .then(function() {
- _extracts.forEach(function(extracted) {
- if (extracted.savename) {
- var filepath = path.join(config.root, 'server', 'files', 'reports', extracted.savename);
- fs.access(filepath, fs.R_OK | fs.W_OK, function(err) {
- if (err) {
- console.error('File does not exist or operation not permitted');
- } else {
- fs.unlink(filepath, function(err) {
- if (err) {
- console.error('error deleting file :', err);
- } else {
- console.log('file deleted');
- }
- })
- }
- });
- }
- });
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- console.log(err);
- return res.status(500).send(err);
-}
+var _0x3776=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x66\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x69\x64","\x75\x73\x65\x72","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x72\x65\x70\x6F\x72\x74\x73","\x73\x61\x76\x65\x6E\x61\x6D\x65","\x6A\x6F\x69\x6E","\x65\x6E\x63\x6F\x64\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x74\x72\x6F\x79","\x52\x5F\x4F\x4B","\x57\x5F\x4F\x4B","\x46\x69\x6C\x65\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x20\x6F\x72\x20\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E\x20\x6E\x6F\x74\x20\x70\x65\x72\x6D\x69\x74\x74\x65\x64","\x65\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x20\x64\x65\x6C\x65\x74\x69\x6E\x67\x20\x66\x69\x6C\x65\x20\x3A","\x66\x69\x6C\x65\x20\x64\x65\x6C\x65\x74\x65\x64","\x6C\x6F\x67","\x75\x6E\x6C\x69\x6E\x6B","\x61\x63\x63\x65\x73\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x70\x75\x73\x68","\x69\x64\x73"];_0x3776[0];var _=require(_0x3776[1]);var ExtractedReport=require(_0x3776[3])[_0x3776[2]];var util=require(_0x3776[4]);var path=require(_0x3776[5]);var moment=require(_0x3776[6]);var config=require(_0x3776[7]);var base64=require(_0x3776[8]);var fs=require(_0x3776[9]);var Util=require(_0x3776[10]);exports[_0x3776[11]]= function(_0x34e6xa,_0x34e6xb,_0x34e6xc){switch(_0x34e6xa[_0x3776[18]][_0x3776[21]]){case _0x3776[18]:return ExtractedReport[_0x3776[20]](Util[_0x3776[19]](_0x34e6xa[_0x3776[16]],{UserId:_0x34e6xa[_0x3776[18]][_0x3776[17]]}))[_0x3776[15]](function(_0x34e6xe){_0x34e6xb[_0x3776[14]](200)[_0x3776[13]](_0x34e6xe)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)});default:return ExtractedReport[_0x3776[20]](Util[_0x3776[19]](_0x34e6xa[_0x3776[16]]))[_0x3776[15]](function(_0x34e6xe){_0x34e6xb[_0x3776[14]](200)[_0x3776[13]](_0x34e6xe)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})}};exports[_0x3776[22]]= function(_0x34e6xa,_0x34e6xb){return ExtractedReport[_0x3776[25]](_0x34e6xa[_0x3776[24]][_0x3776[17]])[_0x3776[15]](function(_0x34e6xf){if(!_0x34e6xf){return _0x34e6xb[_0x3776[23]](404)};return _0x34e6xb[_0x3776[13]](_0x34e6xf)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})};exports[_0x3776[26]]= function(_0x34e6xa,_0x34e6xb){return ExtractedReport[_0x3776[25]](_0x34e6xa[_0x3776[24]][_0x3776[17]])[_0x3776[15]](function(_0x34e6x10){if(!_0x34e6x10){return _0x34e6xb[_0x3776[14]](404)[_0x3776[13]](_0x34e6x10)};var _0x34e6x11=path[_0x3776[32]](config[_0x3776[27]],_0x3776[28],_0x3776[29],_0x3776[30],_0x34e6x10[_0x3776[31]]);base64[_0x3776[33]](_0x34e6x11,function(_0x34e6xd,_0x34e6x12){if(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)}else {return _0x34e6xb[_0x3776[14]](200)[_0x3776[13]]({downloadString:_0x34e6x12})}})})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})};exports[_0x3776[34]]= function(_0x34e6xa,_0x34e6xb){return ExtractedReport[_0x3776[34]](_0x34e6xa[_0x3776[35]])[_0x3776[15]](function(_0x34e6xf){return _0x34e6xb[_0x3776[14]](201)[_0x3776[13]](_0x34e6xf)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})};exports[_0x3776[36]]= function(_0x34e6xa,_0x34e6xb){return ExtractedReport[_0x3776[40]]({where:{name:_0x34e6xa[_0x3776[35]][_0x3776[39]],id:{$ne:_0x34e6xa[_0x3776[35]][_0x3776[17]]}}})[_0x3776[15]](function(_0x34e6x14){if(!_0x34e6x14){return _0x34e6xb[_0x3776[23]](404)};if(_0x34e6xa[_0x3776[35]][_0x3776[17]]){delete _0x34e6xa[_0x3776[35]][_0x3776[17]]};return ExtractedReport[_0x3776[25]](_0x34e6xa[_0x3776[24]][_0x3776[17]])})[_0x3776[15]](function(_0x34e6xf){if(!_0x34e6xf){return _0x34e6xb[_0x3776[23]](404)};var _0x34e6x13=_[_0x3776[37]](_0x34e6xf,_0x34e6xa[_0x3776[35]]);return _0x34e6x13[_0x3776[38]]()})[_0x3776[15]](function(_0x34e6xf){return _0x34e6xb[_0x3776[14]](200)[_0x3776[13]](_0x34e6xf)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})};exports[_0x3776[41]]= function(_0x34e6xa,_0x34e6xb){var _0x34e6x15;return ExtractedReport[_0x3776[25]](_0x34e6xa[_0x3776[24]][_0x3776[17]])[_0x3776[15]](function(_0x34e6xf){_0x34e6x15= _0x34e6xf;if(!_0x34e6xf){return _0x34e6xb[_0x3776[23]](404)};return _0x34e6xf[_0x3776[41]]()})[_0x3776[15]](function(){if(_0x34e6x15[_0x3776[31]]){var _0x34e6x11=path[_0x3776[32]](config[_0x3776[27]],_0x3776[28],_0x3776[29],_0x3776[30],_0x34e6x15[_0x3776[31]]);fs[_0x3776[50]](_0x34e6x11,fs[_0x3776[42]]| fs[_0x3776[43]],function(_0x34e6xd){if(_0x34e6xd){console[_0x3776[45]](_0x3776[44])}else {fs[_0x3776[49]](_0x34e6x11,function(_0x34e6xd){if(_0x34e6xd){console[_0x3776[45]](_0x3776[46],_0x34e6xd)}else {console[_0x3776[48]](_0x3776[47])}})}})};return _0x34e6xb[_0x3776[23]](204)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})};exports[_0x3776[51]]= function(_0x34e6xa,_0x34e6xb){var _0x34e6x16;return ExtractedReport[_0x3776[40]]({where:{id:_0x34e6xa[_0x3776[16]][_0x3776[55]]}})[_0x3776[15]](function(_0x34e6x17){_0x34e6x16= _0x34e6x17;var _0x34e6x18=[];_0x34e6x17[_0x3776[52]](function(_0x34e6xf){_0x34e6x18[_0x3776[54]](_0x34e6xf[_0x3776[41]]())});return _0x34e6x18})[_0x3776[53]]()[_0x3776[15]](function(){_0x34e6x16[_0x3776[52]](function(_0x34e6xf){if(_0x34e6xf[_0x3776[31]]){var _0x34e6x11=path[_0x3776[32]](config[_0x3776[27]],_0x3776[28],_0x3776[29],_0x3776[30],_0x34e6xf[_0x3776[31]]);fs[_0x3776[50]](_0x34e6x11,fs[_0x3776[42]]| fs[_0x3776[43]],function(_0x34e6xd){if(_0x34e6xd){console[_0x3776[45]](_0x3776[44])}else {fs[_0x3776[49]](_0x34e6x11,function(_0x34e6xd){if(_0x34e6xd){console[_0x3776[45]](_0x3776[46],_0x34e6xd)}else {console[_0x3776[48]](_0x3776[47])}})}})}});return _0x34e6xb[_0x3776[23]](204)})[_0x3776[12]](function(_0x34e6xd){return handleError(_0x34e6xb,_0x34e6xd)})};function handleError(_0x34e6xb,_0x34e6xd){console[_0x3776[48]](_0x34e6xd);return _0x34e6xb[_0x3776[14]](500)[_0x3776[13]](_0x34e6xd)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ExtractedReport = require('../../models').ExtractedReport;
-
-var ExtractedReportEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ExtractedReportEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ExtractedReport.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ExtractedReportEvents.emit(event + ':' + doc._id, doc);
- ExtractedReportEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ExtractedReportEvents;
+var _0x603d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x603d[0];const EventEmitter=require(_0x603d[1]);const ExtractedReport=require(_0x603d[3])[_0x603d[2]];var ExtractedReportEvents= new EventEmitter();ExtractedReportEvents[_0x603d[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x603d[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x603d[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x603d[6]};for(var e in events){var event=events[e];ExtractedReport[_0x603d[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7944x8,_0x7944x9,_0x7944xa){ExtractedReportEvents[_0x603d[10]](event+ _0x603d[8]+ _0x7944x8[_0x603d[9]],_0x7944x8);ExtractedReportEvents[_0x603d[10]](event,_0x7944x8);_0x7944xa(null)}}module[_0x603d[11]]= ExtractedReportEvents
\ No newline at end of file
-'use strict';
-
-const ExtractedReportEvents = require('./extracted_report.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('extracted_report:' + event, socket);
-
- ExtractedReportEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ExtractedReportEvents.removeListener(event, listener);
- };
-}
+var _0xdf67=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x65\x78\x74\x72\x61\x63\x74\x65\x64\x5F\x72\x65\x70\x6F\x72\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x65\x78\x74\x72\x61\x63\x74\x65\x64\x5F\x72\x65\x70\x6F\x72\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xdf67[0];const ExtractedReportEvents=require(_0xdf67[1]);var events=[_0xdf67[2],_0xdf67[3]];exports[_0xdf67[4]]= function(_0xc0a4x3){for(var _0xc0a4x4=0,_0xc0a4x5=events[_0xdf67[5]];_0xc0a4x4< _0xc0a4x5;_0xc0a4x4++){var _0xc0a4x6=events[_0xc0a4x4];var _0xc0a4x7=createListener(_0xdf67[6]+ _0xc0a4x6,_0xc0a4x3);ExtractedReportEvents[_0xdf67[7]](_0xc0a4x6,_0xc0a4x7);_0xc0a4x3[_0xdf67[7]](_0xdf67[8],removeListener(_0xc0a4x6,_0xc0a4x7))}};function createListener(_0xc0a4x6,_0xc0a4x3){return function(_0xc0a4x9){_0xc0a4x3[_0xdf67[9]](_0xc0a4x6,_0xc0a4x9)}}function removeListener(_0xc0a4x6,_0xc0a4x7){return function(){ExtractedReportEvents[_0xdf67[10]](_0xc0a4x6,_0xc0a4x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./extracted_report.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/:id/download', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.download);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x81a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x65\x78\x74\x72\x61\x63\x74\x65\x64\x5F\x72\x65\x70\x6F\x72\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x81a2[0];var express=require(_0x81a2[1]);var controller=require(_0x81a2[2]);var auth=require(_0x81a2[3]);var router=express.Router();router[_0x81a2[9]](_0x81a2[4],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[8]]);router[_0x81a2[9]](_0x81a2[10],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[11]]);router[_0x81a2[9]](_0x81a2[12],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[13]]);router[_0x81a2[15]](_0x81a2[4],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[14]]);router[_0x81a2[17]](_0x81a2[12],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[16]]);router[_0x81a2[19]](_0x81a2[4],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[18]]);router[_0x81a2[19]](_0x81a2[12],auth[_0x81a2[5]](),auth[_0x81a2[7]]([17],[_0x81a2[6]]),controller[_0x81a2[20]]);module[_0x81a2[21]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/fax/accounts -> index
- * POST /api/fax/accounts -> create
- * GET /api/fax/accounts/:id -> show
- * PUT /api/fax/accounts/:id -> update
- * DELETE /api/fax/accounts/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-
-var FaxAccount = require('../../models').FaxAccount;
-var FaxRoom = require('../../models').FaxRoom;
-var FaxApplication = require('../../models').FaxApplication;
-var FaxQueue = require('../../models').FaxQueue;
-var FaxDisposition = require('../../models').FaxDisposition;
-var FaxMessage = require('../../models').FaxMessage;
-var FaxAttachment = require('../../models').FaxAttachment;
-var User = require('../../models').User;
-var Interval = require('../../models').Interval;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of FaxAccounts
-exports.index = function(req, res) {
- return FaxAccount
- .findAndCountAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single FaxAccount from the DB
-exports.show = function(req, res) {
- return FaxAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new FaxAccount in the DB
-exports.create = function(req, res) {
- return sequelize.transaction(function(t) {
- return FaxAccount.create(req.body, {
- transaction: t
- });
- })
- .then(responseWithoutResult(res, 201))
- .catch(sequelize.ValidationError, function(err) {
- err.message = 'Extension/context combination already exist';
- err.translatedMessage = 'MESSAGE_EXIST_ROUTE'
- return res.status(500).send(err);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(handleError(res));
-}
-
-// Updates an existing FaxAccount in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return sequelize.transaction(function(t) {
- return FaxAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(faxAccount) {
- return faxAccount.updateAttributes(req.body, {
- transaction: t
- })
- })
- })
- .then(responseWithoutResult(res))
- .catch(sequelize.ValidationError, function(err) {
- err.message = 'Extension/context combination already exist';
- err.translatedMessage = 'MESSAGE_EXIST_ROUTE'
- return res.status(500).send(err);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(handleError(res));
-}
-
-// Deletes a FaxAccount from the DB
-exports.destroy = function(req, res) {
- return sequelize.transaction(function(t) {
- return FaxAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(faxAccount) {
- return faxAccount.destroy();
- });
- })
- .then(function() {
- res.status(204).end();
- })
- .catch(handleError(res));
-}
-
-exports.bulkDestroy = function(req, res) {
- return FaxAccount
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithoutResult(res))
- .catch(handleError(res));
-};
-
-exports.showApplications = function(req, res, next) {
- return FaxAccount
- .scope('default')
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(faxAccount) {
- return faxAccount
- .getFaxApplications(_.merge(Util.getQuery(req.query), {
- include: [{
- model: FaxQueue,
- attributes: ['id', 'name']
- }, {
- model: User,
- attributes: ['id', 'name', 'online']
- }, {
- model: Interval,
- attributes: ['id', 'name']
- }]
- }));
- })
- .then(function(faxApplications) {
- return res.send({
- count: faxApplications.length,
- rows: faxApplications
- });
- })
- .catch(handleError(res));
-};
-
-exports.createApplication = function(req, res, next) {
- return FaxApplication
- .max('priority', {
- where: {
- FaxAccountId: req.params.id
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- req.body.FaxAccountId = req.params.id;
- return FaxApplication
- .create(req.body);
- })
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-exports.bulkDestroyApplications = function(req, res) {
- return FaxApplication
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithoutResult(res))
- .catch(handleError(res));
-};
-
-exports.destroyApplication = function(req, res, next) {
- return FaxApplication
- .findById(req.params.appId)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-};
-
-exports.updateApplications = function(req, res) {
-
- var priority = 0;
- var apps = req.body;
-
- apps.forEach(function(app) {
- delete app.id;
- delete app.createdAt;
- delete app.updatedAt;
-
- app.priority = ++priority;
- });
-
- return sequelize.transaction(function(t) {
- return FaxApplication
- .destroy({
- where: {
- FaxAccountId: req.params.id
- },
- individualHooks: true,
- transaction: t
- })
- .then(function(faxApplication) {
- return FaxApplication
- .bulkCreate(apps, {
- individualHooks: true,
- transaction: t
- });
- });
- })
- .then(function(faxApplications) {
- return res.status(200).send({
- count: faxApplications.length,
- rows: faxApplications
- });
- })
- .catch(handleError(res));
-};
-
-exports.updateApplication = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return FaxApplication.findById(req.params.appId)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-exports.showApplication = function(req, res) {
- return FaxApplication
- .findById(req.params.appId, {
- include: [{
- all: true
- }]
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-exports.getFaxRooms = function(req, res, next) {
- var _query = {
- where: {
- FaxAccountId: req.params.id,
- $and: []
- },
- include: [],
- attributes: ['id', 'contact', 'disposition', 'tags', 'lastEvent', 'updatedAt']
- };
-
- // TO MOVE SOON INTO AN EXTENAL UTIL FILE
- if (req.query) {
- if (req.query.tags) {
- if (_.isArray(req.query.tags)) {
- for (var i = 0; i < req.query.tags.length; i++) {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags[i] + '%'
- }
- });
- }
- } else {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags + '%'
- }
- });
- }
-
- delete req.query.tags;
- }
-
- _.merge(_query.where, req.query);
- }
-
- switch (req.user.role) {
- case 'agent':
- _query.include.push({
- model: User,
- attributes: ['id']
- });
-
- var _agents;
- var _agentQueues;
- var _accountQueues;
-
- return User
- .findById(req.user.id)
- .then(function(user) {
- if (user) {
- return user
- .getFaxQueues();
- } else {
- return [];
- }
- })
- .then(function(queues) {
- _agentQueues = _.map(queues, 'id');
- return FaxAccount
- .findById(req.params.id);
- })
- .then(function(account) {
- return account
- .getFaxApplications({
- where: {
- $or: [{
- app: 'queue'
- }, {
- app: 'agent'
- }]
- }
- });
- })
- .then(function(apps) {
-
- _agents = _.map(_.find(apps, {
- 'app': 'agent'
- }), 'UserId');
-
- _accountQueues = _.map(_.find(apps, {
- 'app': 'queue'
- }), 'FaxQueueId');
-
- if (_.intersection(_agentQueues, _accountQueues).length || _.intersection(_agents, [req.user.id]).length) {
- return FaxRoom
- .findAll(_query)
- .then(function(faxRooms) {
- return res.status(200).send(faxRooms);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
- } else {
-
- return res.status(200).send([]);
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-
- default:
- return FaxRoom
- .findAll(_query)
- .then(function(faxRooms) {
- return res.status(200).send(faxRooms);
- })
- .catch(handleError(res));
- }
-};
-
-exports.getDispositions = function(req, res, next) {
- return FaxAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(faxAccount) {
- return faxAccount.getFaxDispositions();
- })
- .then(function(faxDispositions) {
- return res.status(200).send({
- rows: faxDispositions,
- count: faxDispositions.length
- });
- })
- .catch(handleError(res));
-};
-
-exports.createDisposition = function(req, res, next) {
- req.body.FaxAccountId = req.params.id;
-
- return FaxDisposition
- .create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-exports.updateDisposition = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return FaxDisposition
- .findById(req.params.dispId)
- .then(handleEntityNotFound(res))
- .then(function(faxDisposition) {
- var updated = _.merge(faxDisposition, req.body);
- return updated.save();
- })
- .then(responseWithResult(res, 200))
- .catch(handleError(res));
-};
-
-exports.destroyDisposition = function(req, res, next) {
- return FaxDisposition
- .findById(req.params.dispId)
- .then(handleEntityNotFound(res))
- .then(function(faxDiposition) {
- return faxDiposition.destroy();
- })
- .then(responseWithoutResult(res, 204))
- .catch(handleError(res));
-};
-
-exports.sendMessage = function(req, res, next) {
- req.body.UserId = req.user.id;
-
- return FaxMessage
- .create(req.body, {
- include: [{
- model: FaxAttachment
- }],
- user: req.user
- })
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
+var _0x38f1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x46\x61\x78\x51\x75\x65\x75\x65","\x46\x61\x78\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x6D\x65\x73\x73\x61\x67\x65","\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2F\x63\x6F\x6E\x74\x65\x78\x74\x20\x63\x6F\x6D\x62\x69\x6E\x61\x74\x69\x6F\x6E\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x62\x6F\x64\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x6E\x61\x6D\x65","\x6F\x6E\x6C\x69\x6E\x65","\x6D\x65\x72\x67\x65","\x67\x65\x74\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x70\x72\x69\x6F\x72\x69\x74\x79","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x61\x70\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x66\x6F\x72\x45\x61\x63\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x67\x65\x74\x46\x61\x78\x52\x6F\x6F\x6D\x73","\x63\x6F\x6E\x74\x61\x63\x74","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x74\x61\x67\x73","\x6C\x61\x73\x74\x45\x76\x65\x6E\x74","\x69\x73\x41\x72\x72\x61\x79","\x25","\x70\x75\x73\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x69\x6E\x63\x6C\x75\x64\x65","\x65\x72\x72\x6F\x72","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64","\x55\x73\x65\x72\x49\x64","\x6D\x61\x70","\x71\x75\x65\x75\x65","\x46\x61\x78\x51\x75\x65\x75\x65\x49\x64","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x69\x6F\x6E","\x75\x73\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x72\x6F\x6C\x65","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74\x46\x61\x78\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x73\x61\x76\x65","\x64\x69\x73\x70\x49\x64","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65"];_0x38f1[0];var _=require(_0x38f1[1]);var Util=require(_0x38f1[2]);var sequelize=require(_0x38f1[4])[_0x38f1[3]];var FaxAccount=require(_0x38f1[4])[_0x38f1[5]];var FaxRoom=require(_0x38f1[4])[_0x38f1[6]];var FaxApplication=require(_0x38f1[4])[_0x38f1[7]];var FaxQueue=require(_0x38f1[4])[_0x38f1[8]];var FaxDisposition=require(_0x38f1[4])[_0x38f1[9]];var FaxMessage=require(_0x38f1[4])[_0x38f1[10]];var FaxAttachment=require(_0x38f1[4])[_0x38f1[11]];var User=require(_0x38f1[4])[_0x38f1[12]];var Interval=require(_0x38f1[4])[_0x38f1[13]];function handleError(_0xc304xe,_0xc304xf){_0xc304xf= _0xc304xf|| 500;return function(_0xc304x10){_0xc304xe[_0x38f1[15]](_0xc304xf)[_0x38f1[14]](_0xc304x10)}}function responseWithResult(_0xc304xe,_0xc304xf){_0xc304xf= _0xc304xf|| 200;return function(_0xc304x12){if(_0xc304x12){_0xc304xe[_0x38f1[15]](_0xc304xf)[_0x38f1[16]](_0xc304x12)}}}function responseWithoutResult(_0xc304xe,_0xc304xf){_0xc304xf= _0xc304xf|| 204;return function(){_0xc304xe[_0x38f1[17]](_0xc304xf)}}function handleEntityNotFound(_0xc304xe){return function(_0xc304x12){if(!_0xc304x12){_0xc304xe[_0x38f1[15]](404)[_0x38f1[18]]();return null};return _0xc304x12}}function saveUpdates(_0xc304x16){return function(_0xc304x12){return _0xc304x12[_0x38f1[20]](_0xc304x16)[_0x38f1[19]](function(_0xc304x17){return _0xc304x17})}}function removeEntity(_0xc304xe){return function(_0xc304x12){if(_0xc304x12){return _0xc304x12[_0x38f1[21]]()[_0x38f1[19]](function(){_0xc304xe[_0x38f1[15]](204)[_0x38f1[18]]()})}}}exports[_0x38f1[22]]= function(_0xc304x19,_0xc304xe){return FaxAccount[_0x38f1[26]](Util[_0x38f1[25]](_0xc304x19[_0x38f1[24]]))[_0x38f1[19]](responseWithResult(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[27]]= function(_0xc304x19,_0xc304xe){return FaxAccount[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[28]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](responseWithResult(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[31]]= function(_0xc304x19,_0xc304xe){return sequelize[_0x38f1[39]](function(_0xc304x1a){return FaxAccount[_0x38f1[31]](_0xc304x19[_0x38f1[38]],{transaction:_0xc304x1a})})[_0x38f1[19]](responseWithoutResult(_0xc304xe,201))[_0x38f1[23]](sequelize.ValidationError,function(_0xc304x10){_0xc304x10[_0x38f1[34]]= _0x38f1[35];_0xc304x10[_0x38f1[36]]= _0x38f1[37];return _0xc304xe[_0x38f1[15]](500)[_0x38f1[14]](_0xc304x10)})[_0x38f1[23]](sequelize.UniqueConstraintError,function(_0xc304x10){return Util[_0x38f1[33]][_0x38f1[32]](_0xc304xe,_0xc304x10)})[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[40]]= function(_0xc304x19,_0xc304xe){if(_0xc304x19[_0x38f1[38]][_0x38f1[28]]){delete _0xc304x19[_0x38f1[38]][_0x38f1[28]]};return sequelize[_0x38f1[39]](function(_0xc304x1a){return FaxAccount[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[28]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](function(_0xc304x1b){return _0xc304x1b[_0x38f1[20]](_0xc304x19[_0x38f1[38]],{transaction:_0xc304x1a})})})[_0x38f1[19]](responseWithoutResult(_0xc304xe))[_0x38f1[23]](sequelize.ValidationError,function(_0xc304x10){_0xc304x10[_0x38f1[34]]= _0x38f1[35];_0xc304x10[_0x38f1[36]]= _0x38f1[37];return _0xc304xe[_0x38f1[15]](500)[_0x38f1[14]](_0xc304x10)})[_0x38f1[23]](sequelize.UniqueConstraintError,function(_0xc304x10){return Util[_0x38f1[33]][_0x38f1[32]](_0xc304xe,_0xc304x10)})[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[21]]= function(_0xc304x19,_0xc304xe){return sequelize[_0x38f1[39]](function(_0xc304x1a){return FaxAccount[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[28]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](function(_0xc304x1b){return _0xc304x1b[_0x38f1[21]]()})})[_0x38f1[19]](function(){_0xc304xe[_0x38f1[15]](204)[_0x38f1[18]]()})[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[41]]= function(_0xc304x19,_0xc304xe){return FaxAccount[_0x38f1[21]]({where:{id:_0xc304x19[_0x38f1[24]][_0x38f1[42]]},individualHooks:true})[_0x38f1[19]](responseWithoutResult(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[43]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){return FaxAccount[_0x38f1[50]](_0x38f1[49])[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[28]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](function(_0xc304x1b){return _0xc304x1b[_0x38f1[48]](_[_0x38f1[47]](Util[_0x38f1[25]](_0xc304x19[_0x38f1[24]]),{include:[{model:FaxQueue,attributes:[_0x38f1[28],_0x38f1[45]]},{model:User,attributes:[_0x38f1[28],_0x38f1[45],_0x38f1[46]]},{model:Interval,attributes:[_0x38f1[28],_0x38f1[45]]}]}))})[_0x38f1[19]](function(_0xc304x1d){return _0xc304xe[_0x38f1[14]]({count:_0xc304x1d[_0x38f1[44]],rows:_0xc304x1d})})[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[51]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){return FaxApplication[_0x38f1[54]](_0x38f1[52],{where:{FaxAccountId:_0xc304x19[_0x38f1[29]][_0x38f1[28]]}})[_0x38f1[19]](function(_0xc304x1e){_0xc304x19[_0x38f1[38]][_0x38f1[52]]= _0xc304x1e?++_0xc304x1e:1;_0xc304x19[_0x38f1[38]][_0x38f1[53]]= _0xc304x19[_0x38f1[29]][_0x38f1[28]];return FaxApplication[_0x38f1[31]](_0xc304x19[_0x38f1[38]])})[_0x38f1[19]](responseWithResult(_0xc304xe,201))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[55]]= function(_0xc304x19,_0xc304xe){return FaxApplication[_0x38f1[21]]({where:{id:_0xc304x19[_0x38f1[24]][_0x38f1[42]]},individualHooks:true})[_0x38f1[19]](responseWithoutResult(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[56]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){return FaxApplication[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[57]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](removeEntity(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[58]]= function(_0xc304x19,_0xc304xe){var _0xc304x1f=0;var _0xc304x20=_0xc304x19[_0x38f1[38]];_0xc304x20[_0x38f1[61]](function(_0xc304x21){delete _0xc304x21[_0x38f1[28]];delete _0xc304x21[_0x38f1[59]];delete _0xc304x21[_0x38f1[60]];_0xc304x21[_0x38f1[52]]= ++_0xc304x1f});return sequelize[_0x38f1[39]](function(_0xc304x1a){return FaxApplication[_0x38f1[21]]({where:{FaxAccountId:_0xc304x19[_0x38f1[29]][_0x38f1[28]]},individualHooks:true,transaction:_0xc304x1a})[_0x38f1[19]](function(_0xc304x22){return FaxApplication[_0x38f1[62]](_0xc304x20,{individualHooks:true,transaction:_0xc304x1a})})})[_0x38f1[19]](function(_0xc304x1d){return _0xc304xe[_0x38f1[15]](200)[_0x38f1[14]]({count:_0xc304x1d[_0x38f1[44]],rows:_0xc304x1d})})[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[63]]= function(_0xc304x19,_0xc304xe){if(_0xc304x19[_0x38f1[38]][_0x38f1[28]]){delete _0xc304x19[_0x38f1[38]][_0x38f1[28]]};return FaxApplication[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[57]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](saveUpdates(_0xc304x19[_0x38f1[38]]))[_0x38f1[19]](responseWithResult(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[64]]= function(_0xc304x19,_0xc304xe){return FaxApplication[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[57]],{include:[{all:true}]})[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](responseWithResult(_0xc304xe))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[65]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){var _0xc304x23={where:{FaxAccountId:_0xc304x19[_0x38f1[29]][_0x38f1[28]],$and:[]},include:[],attributes:[_0x38f1[28],_0x38f1[66],_0x38f1[67],_0x38f1[68],_0x38f1[69],_0x38f1[60]]};if(_0xc304x19[_0x38f1[24]]){if(_0xc304x19[_0x38f1[24]][_0x38f1[68]]){if(_[_0x38f1[70]](_0xc304x19[_0x38f1[24]][_0x38f1[68]])){for(var _0xc304x24=0;_0xc304x24< _0xc304x19[_0x38f1[24]][_0x38f1[68]][_0x38f1[44]];_0xc304x24++){_0xc304x23[_0x38f1[74]][_0x38f1[73]][_0x38f1[72]]({tags:{$like:_0x38f1[71]+ _0xc304x19[_0x38f1[24]][_0x38f1[68]][_0xc304x24]+ _0x38f1[71]}})}}else {_0xc304x23[_0x38f1[74]][_0x38f1[73]][_0x38f1[72]]({tags:{$like:_0x38f1[71]+ _0xc304x19[_0x38f1[24]][_0x38f1[68]]+ _0x38f1[71]}})};delete _0xc304x19[_0x38f1[24]][_0x38f1[68]]};_[_0x38f1[47]](_0xc304x23[_0x38f1[74]],_0xc304x19[_0x38f1[24]])};switch(_0xc304x19[_0x38f1[84]][_0x38f1[87]]){case _0x38f1[77]:_0xc304x23[_0x38f1[75]][_0x38f1[72]]({model:User,attributes:[_0x38f1[28]]});var _0xc304x25;var _0xc304x26;var _0xc304x27;return User[_0x38f1[30]](_0xc304x19[_0x38f1[84]][_0x38f1[28]])[_0x38f1[19]](function(_0xc304x2b){if(_0xc304x2b){return _0xc304x2b[_0x38f1[86]]()}else {return []}})[_0x38f1[19]](function(_0xc304x2a){_0xc304x26= _[_0x38f1[80]](_0xc304x2a,_0x38f1[28]);return FaxAccount[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[28]])})[_0x38f1[19]](function(_0xc304x29){return _0xc304x29[_0x38f1[48]]({where:{$or:[{app:_0x38f1[81]},{app:_0x38f1[77]}]}})})[_0x38f1[19]](function(_0xc304x20){_0xc304x25= _[_0x38f1[80]](_[_0x38f1[78]](_0xc304x20,{"\x61\x70\x70":_0x38f1[77]}),_0x38f1[79]);_0xc304x27= _[_0x38f1[80]](_[_0x38f1[78]](_0xc304x20,{"\x61\x70\x70":_0x38f1[81]}),_0x38f1[82]);if(_[_0x38f1[83]](_0xc304x26,_0xc304x27)[_0x38f1[44]]|| _[_0x38f1[83]](_0xc304x25,[_0xc304x19[_0x38f1[84]][_0x38f1[28]]])[_0x38f1[44]]){return FaxRoom[_0x38f1[85]](_0xc304x23)[_0x38f1[19]](function(_0xc304x28){return _0xc304xe[_0x38f1[15]](200)[_0x38f1[14]](_0xc304x28)})[_0x38f1[23]](function(_0xc304x10){console[_0x38f1[76]](_0xc304x10);return handleError(_0xc304xe,_0xc304x10)})}else {return _0xc304xe[_0x38f1[15]](200)[_0x38f1[14]]([])}})[_0x38f1[23]](function(_0xc304x10){console[_0x38f1[76]](_0xc304x10)});default:return FaxRoom[_0x38f1[85]](_0xc304x23)[_0x38f1[19]](function(_0xc304x28){return _0xc304xe[_0x38f1[15]](200)[_0x38f1[14]](_0xc304x28)})[_0x38f1[23]](handleError(_0xc304xe))}};exports[_0x38f1[88]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){return FaxAccount[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[28]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](function(_0xc304x1b){return _0xc304x1b[_0x38f1[89]]()})[_0x38f1[19]](function(_0xc304x2c){return _0xc304xe[_0x38f1[15]](200)[_0x38f1[14]]({rows:_0xc304x2c,count:_0xc304x2c[_0x38f1[44]]})})[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[90]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){_0xc304x19[_0x38f1[38]][_0x38f1[53]]= _0xc304x19[_0x38f1[29]][_0x38f1[28]];return FaxDisposition[_0x38f1[31]](_0xc304x19[_0x38f1[38]])[_0x38f1[19]](responseWithResult(_0xc304xe,201))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[91]]= function(_0xc304x19,_0xc304xe){if(_0xc304x19[_0x38f1[38]][_0x38f1[28]]){delete _0xc304x19[_0x38f1[38]][_0x38f1[28]]};return FaxDisposition[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[93]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](function(_0xc304x2d){var _0xc304x17=_[_0x38f1[47]](_0xc304x2d,_0xc304x19[_0x38f1[38]]);return _0xc304x17[_0x38f1[92]]()})[_0x38f1[19]](responseWithResult(_0xc304xe,200))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[94]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){return FaxDisposition[_0x38f1[30]](_0xc304x19[_0x38f1[29]][_0x38f1[93]])[_0x38f1[19]](handleEntityNotFound(_0xc304xe))[_0x38f1[19]](function(_0xc304x2e){return _0xc304x2e[_0x38f1[21]]()})[_0x38f1[19]](responseWithoutResult(_0xc304xe,204))[_0x38f1[23]](handleError(_0xc304xe))};exports[_0x38f1[95]]= function(_0xc304x19,_0xc304xe,_0xc304x1c){_0xc304x19[_0x38f1[38]][_0x38f1[79]]= _0xc304x19[_0x38f1[84]][_0x38f1[28]];return FaxMessage[_0x38f1[31]](_0xc304x19[_0x38f1[38]],{include:[{model:FaxAttachment}],user:_0xc304x19[_0x38f1[84]]})[_0x38f1[19]](responseWithResult(_0xc304xe,201))[_0x38f1[23]](handleError(_0xc304xe))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxAccount = require('../../models').FaxAccount;
-
-var FaxAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxAccountEvents.emit(event + ':' + doc._id, doc);
- FaxAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxAccountEvents;
+var _0xfeb5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xfeb5[0];const EventEmitter=require(_0xfeb5[1]);const FaxAccount=require(_0xfeb5[3])[_0xfeb5[2]];var FaxAccountEvents= new EventEmitter();FaxAccountEvents[_0xfeb5[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xfeb5[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xfeb5[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xfeb5[6]};for(var e in events){var event=events[e];FaxAccount[_0xfeb5[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x6b6ax8,_0x6b6ax9,_0x6b6axa){FaxAccountEvents[_0xfeb5[10]](event+ _0xfeb5[8]+ _0x6b6ax8[_0xfeb5[9]],_0x6b6ax8);FaxAccountEvents[_0xfeb5[10]](event,_0x6b6ax8);_0x6b6axa(null)}}module[_0xfeb5[11]]= FaxAccountEvents
\ No newline at end of file
-'use strict';
-
-const FaxAccountEvents = require('./fax_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_account:' + event, socket);
-
- FaxAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxAccountEvents.removeListener(event, listener);
- };
-}
+var _0xc532=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc532[0];const FaxAccountEvents=require(_0xc532[1]);var events=[_0xc532[2],_0xc532[3]];exports[_0xc532[4]]= function(_0xf2cdx3){for(var _0xf2cdx4=0,_0xf2cdx5=events[_0xc532[5]];_0xf2cdx4< _0xf2cdx5;_0xf2cdx4++){var _0xf2cdx6=events[_0xf2cdx4];var _0xf2cdx7=createListener(_0xc532[6]+ _0xf2cdx6,_0xf2cdx3);FaxAccountEvents[_0xc532[7]](_0xf2cdx6,_0xf2cdx7);_0xf2cdx3[_0xc532[7]](_0xc532[8],removeListener(_0xf2cdx6,_0xf2cdx7))}};function createListener(_0xf2cdx6,_0xf2cdx3){return function(_0xf2cdx9){_0xf2cdx3[_0xc532[9]](_0xf2cdx6,_0xf2cdx9)}}function removeListener(_0xf2cdx6,_0xf2cdx7){return function(){FaxAccountEvents[_0xc532[10]](_0xf2cdx6,_0xf2cdx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var auth = require('../../auth/auth.service');
-var controller = require('./fax_account.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.show);
-router.get('/:id/applications', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.showApplications);
-router.get('/:id/applications/:appId', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.showApplication);
-router.get('/:id/rooms', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.getFaxRooms);
-router.get('/:id/dispositions', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.getDispositions);
-router.post('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.create);
-router.post('/:id/applications', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.createApplication);
-router.post('/:id/dispositions', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.createDisposition);
-router.post('/:id/send', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.sendMessage);
-router.put('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.update);
-router.put('/:id/applications', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.updateApplications);
-router.put('/:id/applications/:appId', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.updateApplication);
-router.put('/:id/dispositions/:dispId', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.updateDisposition);
-router.delete('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.destroy);
-router.delete('/:id/applications', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.bulkDestroyApplications);
-router.delete('/:id/applications/:appId', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.destroyApplication);
-router.delete('/:id/dispositions/:dispId', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.destroyDisposition);
-
-module.exports = router;
+var _0x67bd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x61\x70\x70\x49\x64","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74\x46\x61\x78\x52\x6F\x6F\x6D\x73","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73\x2F\x3A\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0x67bd[0];var express=require(_0x67bd[1]);var auth=require(_0x67bd[2]);var controller=require(_0x67bd[3]);var license=require(_0x67bd[4]);var router=express.Router();router[_0x67bd[13]](_0x67bd[5],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9],_0x67bd[10]]),controller[_0x67bd[12]]);router[_0x67bd[13]](_0x67bd[14],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9],_0x67bd[10]]),controller[_0x67bd[15]]);router[_0x67bd[13]](_0x67bd[16],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[17]]);router[_0x67bd[13]](_0x67bd[18],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[19]]);router[_0x67bd[13]](_0x67bd[20],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9],_0x67bd[10]]),controller[_0x67bd[21]]);router[_0x67bd[13]](_0x67bd[22],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9],_0x67bd[10]]),controller[_0x67bd[23]]);router[_0x67bd[25]](_0x67bd[5],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[24]]);router[_0x67bd[25]](_0x67bd[16],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[26]]);router[_0x67bd[25]](_0x67bd[22],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[27]]);router[_0x67bd[25]](_0x67bd[28],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9],_0x67bd[10]]),controller[_0x67bd[29]]);router[_0x67bd[31]](_0x67bd[14],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[30]]);router[_0x67bd[31]](_0x67bd[16],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[32]]);router[_0x67bd[31]](_0x67bd[18],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[33]]);router[_0x67bd[31]](_0x67bd[34],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[35]]);router[_0x67bd[37]](_0x67bd[5],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[36]]);router[_0x67bd[37]](_0x67bd[14],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[38]]);router[_0x67bd[37]](_0x67bd[16],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[39]]);router[_0x67bd[37]](_0x67bd[18],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[40]]);router[_0x67bd[37]](_0x67bd[34],license[_0x67bd[6]](),license[_0x67bd[7]](),auth[_0x67bd[8]](),auth[_0x67bd[11]]([10],[_0x67bd[9]]),controller[_0x67bd[41]]);module[_0x67bd[42]]= router
\ No newline at end of file
-'use strict';
-var _ = require('lodash');
-var FaxApplication = require('../../models').FaxApplication;
-// Get list of fax_applications
-exports.index = function(req, res) {
- FaxApplication.findAll({
- where: req.query
- }).then(function(fax_applications) {
- return res.status(200).send(fax_applications);
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get a single fax_application
-exports.show = function(req, res) {
- FaxApplication.findById(req.params.id).then(function(fax_application) {
- if (!fax_application) {
- return res.sendStatus(404);
- }
- return res.send(fax_application);
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new fax_application in the DB.
-exports.create = function(req, res, next) {
- console.log(req.body);
- FaxApplication.max('priority', {
- where: {
- FaxAccountId: req.body.FaxAccountId
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- FaxApplication.create(req.body).then(function(faxApplication) {
- return res.status(201).send(faxApplication);
- }).catch(function(err) {
- return next(err);
- });
- console.log(max);
- }).catch(function(err) {
- next(err);
- });
- // FaxApplication
- // .create(req.body)
- // .then(function(fax_application) {
- // return res.status(201).send(fax_application);
- // })
- // .catch(function(err) {
- // return handleError(res, err);
- // });
-};
-// Updates an existing fax_application in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- FaxApplication.findById(req.params.id).then(function(fax_application) {
- if (!fax_application) {
- return res.sendStatus(404);
- }
- var updated = _.merge(fax_application, req.body);
- updated.save().then(function() {
- return res.status(200).send(fax_application);
- }).catch(function(err) {
- return handleError(res, err);
- });
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-// Deletes a fax_application from the DB.
-exports.destroy = function(req, res) {
- FaxApplication.find({
- where: {
- id: req.params.id
- }
- }).then(function(fax_application) {
- if (!fax_application) {
- return res.sendStatus(404);
- }
- fax_application.destroy().then(function() {
- return res.sendStatus(204);
- }).catch(function(err) {
- return handleError(res, err);
- });
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xa688=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x70\x72\x69\x6F\x72\x69\x74\x79","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0xa688[0];var _=require(_0xa688[1]);var FaxApplication=require(_0xa688[3])[_0xa688[2]];exports[_0xa688[4]]= function(_0x180cx3,_0x180cx4){FaxApplication[_0xa688[10]]({where:_0x180cx3[_0xa688[9]]})[_0xa688[8]](function(_0x180cx6){return _0x180cx4[_0xa688[7]](200)[_0xa688[6]](_0x180cx6)})[_0xa688[5]](function(_0x180cx5){return handleError(_0x180cx4,_0x180cx5)})};exports[_0xa688[11]]= function(_0x180cx3,_0x180cx4){FaxApplication[_0xa688[15]](_0x180cx3[_0xa688[14]][_0xa688[13]])[_0xa688[8]](function(_0x180cx7){if(!_0x180cx7){return _0x180cx4[_0xa688[12]](404)};return _0x180cx4[_0xa688[6]](_0x180cx7)})[_0xa688[5]](function(_0x180cx5){return handleError(_0x180cx4,_0x180cx5)})};exports[_0xa688[16]]= function(_0x180cx3,_0x180cx4,_0x180cx8){console[_0xa688[18]](_0x180cx3[_0xa688[17]]);FaxApplication[_0xa688[21]](_0xa688[19],{where:{FaxAccountId:_0x180cx3[_0xa688[17]][_0xa688[20]]}})[_0xa688[8]](function(_0x180cx9){_0x180cx3[_0xa688[17]][_0xa688[19]]= _0x180cx9?++_0x180cx9:1;FaxApplication[_0xa688[16]](_0x180cx3[_0xa688[17]])[_0xa688[8]](function(_0x180cxa){return _0x180cx4[_0xa688[7]](201)[_0xa688[6]](_0x180cxa)})[_0xa688[5]](function(_0x180cx5){return _0x180cx8(_0x180cx5)});console[_0xa688[18]](_0x180cx9)})[_0xa688[5]](function(_0x180cx5){_0x180cx8(_0x180cx5)})};exports[_0xa688[22]]= function(_0x180cx3,_0x180cx4){if(_0x180cx3[_0xa688[17]][_0xa688[13]]){delete _0x180cx3[_0xa688[17]][_0xa688[13]]};FaxApplication[_0xa688[15]](_0x180cx3[_0xa688[14]][_0xa688[13]])[_0xa688[8]](function(_0x180cx7){if(!_0x180cx7){return _0x180cx4[_0xa688[12]](404)};var _0x180cxb=_[_0xa688[23]](_0x180cx7,_0x180cx3[_0xa688[17]]);_0x180cxb[_0xa688[24]]()[_0xa688[8]](function(){return _0x180cx4[_0xa688[7]](200)[_0xa688[6]](_0x180cx7)})[_0xa688[5]](function(_0x180cx5){return handleError(_0x180cx4,_0x180cx5)})})[_0xa688[5]](function(_0x180cx5){return handleError(_0x180cx4,_0x180cx5)})};exports[_0xa688[25]]= function(_0x180cx3,_0x180cx4){FaxApplication[_0xa688[26]]({where:{id:_0x180cx3[_0xa688[14]][_0xa688[13]]}})[_0xa688[8]](function(_0x180cx7){if(!_0x180cx7){return _0x180cx4[_0xa688[12]](404)};_0x180cx7[_0xa688[25]]()[_0xa688[8]](function(){return _0x180cx4[_0xa688[12]](204)})[_0xa688[5]](function(_0x180cx5){return handleError(_0x180cx4,_0x180cx5)})})[_0xa688[5]](function(_0x180cx5){return handleError(_0x180cx4,_0x180cx5)})};function handleError(_0x180cx4,_0x180cx5){return _0x180cx4[_0xa688[7]](500)[_0xa688[6]](_0x180cx5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxApplication = require('../../models').FaxApplication;
-
-var FaxApplicationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxApplicationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxApplication.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxApplicationEvents.emit(event + ':' + doc._id, doc);
- FaxApplicationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxApplicationEvents;
+var _0x2428=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x2428[0];const EventEmitter=require(_0x2428[1]);const FaxApplication=require(_0x2428[3])[_0x2428[2]];var FaxApplicationEvents= new EventEmitter();FaxApplicationEvents[_0x2428[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x2428[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x2428[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x2428[6]};for(var e in events){var event=events[e];FaxApplication[_0x2428[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xab76x8,_0xab76x9,_0xab76xa){FaxApplicationEvents[_0x2428[10]](event+ _0x2428[8]+ _0xab76x8[_0x2428[9]],_0xab76x8);FaxApplicationEvents[_0x2428[10]](event,_0xab76x8);_0xab76xa(null)}}module[_0x2428[11]]= FaxApplicationEvents
\ No newline at end of file
-'use strict';
-
-const FaxApplicationEvents = require('./fax_application.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_application:' + event, socket);
-
- FaxApplicationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxApplicationEvents.removeListener(event, listener);
- };
-}
+var _0xcada=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xcada[0];const FaxApplicationEvents=require(_0xcada[1]);var events=[_0xcada[2],_0xcada[3]];exports[_0xcada[4]]= function(_0xa16ax3){for(var _0xa16ax4=0,_0xa16ax5=events[_0xcada[5]];_0xa16ax4< _0xa16ax5;_0xa16ax4++){var _0xa16ax6=events[_0xa16ax4];var _0xa16ax7=createListener(_0xcada[6]+ _0xa16ax6,_0xa16ax3);FaxApplicationEvents[_0xcada[7]](_0xa16ax6,_0xa16ax7);_0xa16ax3[_0xcada[7]](_0xcada[8],removeListener(_0xa16ax6,_0xa16ax7))}};function createListener(_0xa16ax6,_0xa16ax3){return function(_0xa16ax9){_0xa16ax3[_0xcada[9]](_0xa16ax6,_0xa16ax9)}}function removeListener(_0xa16ax6,_0xa16ax7){return function(){FaxApplicationEvents[_0xcada[10]](_0xa16ax6,_0xa16ax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./fax_application.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.destroy);
-module.exports = router;
+var _0x88fe=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x88fe[0];var express=require(_0x88fe[1]);var controller=require(_0x88fe[2]);var auth=require(_0x88fe[3]);var license=require(_0x88fe[4]);var router=express.Router();router[_0x88fe[12]](_0x88fe[5],license[_0x88fe[6]](),license[_0x88fe[7]](),auth[_0x88fe[8]](),auth[_0x88fe[10]]([10],[_0x88fe[9]]),controller[_0x88fe[11]]);router[_0x88fe[12]](_0x88fe[13],license[_0x88fe[6]](),license[_0x88fe[7]](),auth[_0x88fe[8]](),auth[_0x88fe[10]]([10],[_0x88fe[9]]),controller[_0x88fe[14]]);router[_0x88fe[16]](_0x88fe[5],license[_0x88fe[6]](),license[_0x88fe[7]](),auth[_0x88fe[8]](),auth[_0x88fe[10]]([10],[_0x88fe[9]]),controller[_0x88fe[15]]);router[_0x88fe[18]](_0x88fe[13],license[_0x88fe[6]](),license[_0x88fe[7]](),auth[_0x88fe[8]](),auth[_0x88fe[10]]([10],[_0x88fe[9]]),controller[_0x88fe[17]]);router[_0x88fe[20]](_0x88fe[13],license[_0x88fe[6]](),license[_0x88fe[7]](),auth[_0x88fe[8]](),auth[_0x88fe[10]]([10],[_0x88fe[9]]),controller[_0x88fe[19]]);module[_0x88fe[21]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/fax/attachments -> index
- * POST /api/fax/attachments -> create
- * GET /api/fax/attachments/:id -> show
- * PUT /api/fax/attachments/:id -> update
- * DELETE /api/fax/attachments/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var path = require('path');
-var Util = require('../../config/util');
-var formidable = require('formidable');
-var Promise = require('bluebird');
-
-var config = require('../../config/environment');
-var FaxAttachment = require('../../models').FaxAttachment;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of FaxAttachments
-exports.index = function(req, res) {
- return FaxAttachment.findAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single FaxAttachment from the DB
-exports.show = function(req, res) {
- return FaxAttachment.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(faxAttachment) {
- return res.sendFile(faxAttachment.path);
- })
- .catch(handleError(res));
-}
-
-// Creates a new FaxAttachment in the DB
-exports.create = function(req, res) {
-
- var form = new formidable.IncomingForm();
- form.uploadDir = path.join(config.root, 'server', 'files', 'fax', 'outbound', 'original');
- form.keepExtensions = true;
- form.multiples = true;
- form.hash = true;
-
- form.parse(req, function(err, form, wrap) {
- if (err) {
- return res.status(500).send(err);
- }
- return res.status(201).send({
- path: wrap.file.path,
- name: wrap.file.name,
- basename: path.basename(wrap.file.path),
- type: wrap.file.type
- });
- });
-
-}
-
-// Updates an existing FaxAttachment in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return FaxAttachment.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a FaxAttachment from the DB
-exports.destroy = function(req, res) {
- var unlink = Promise.promisify(require("fs").unlink);
- var _path = path.join(config.root, 'server', 'files', 'fax', 'outbound', 'original', req.params.id);
-
- return unlink(_path)
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
+var _0xcc21=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x68\x61\x73\x68","\x66\x69\x6C\x65","\x6E\x61\x6D\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x74\x79\x70\x65","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x75\x6E\x6C\x69\x6E\x6B","\x66\x73","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79"];_0xcc21[0];var _=require(_0xcc21[1]);var path=require(_0xcc21[2]);var Util=require(_0xcc21[3]);var formidable=require(_0xcc21[4]);var Promise=require(_0xcc21[5]);var config=require(_0xcc21[6]);var FaxAttachment=require(_0xcc21[8])[_0xcc21[7]];function handleError(_0xb596x9,_0xb596xa){_0xb596xa= _0xb596xa|| 500;return function(_0xb596xb){_0xb596x9[_0xcc21[10]](_0xb596xa)[_0xcc21[9]](_0xb596xb)}}function responseWithResult(_0xb596x9,_0xb596xa){_0xb596xa= _0xb596xa|| 200;return function(_0xb596xd){if(_0xb596xd){_0xb596x9[_0xcc21[10]](_0xb596xa)[_0xcc21[11]](_0xb596xd)}}}function responseWithoutResult(_0xb596x9,_0xb596xa){_0xb596xa= _0xb596xa|| 204;return function(){_0xb596x9[_0xcc21[12]](_0xb596xa)}}function handleEntityNotFound(_0xb596x9){return function(_0xb596xd){if(!_0xb596xd){_0xb596x9[_0xcc21[10]](404)[_0xcc21[13]]();return null};return _0xb596xd}}function saveUpdates(_0xb596x11){return function(_0xb596xd){return _0xb596xd[_0xcc21[15]](_0xb596x11)[_0xcc21[14]](function(_0xb596x12){return _0xb596x12})}}function removeEntity(_0xb596x9){return function(_0xb596xd){if(_0xb596xd){return _0xb596xd[_0xcc21[16]]()[_0xcc21[14]](function(){_0xb596x9[_0xcc21[10]](204)[_0xcc21[13]]()})}}}exports[_0xcc21[17]]= function(_0xb596x14,_0xb596x9){return FaxAttachment[_0xcc21[21]](Util[_0xcc21[20]](_0xb596x14[_0xcc21[19]]))[_0xcc21[14]](responseWithResult(_0xb596x9))[_0xcc21[18]](handleError(_0xb596x9))};exports[_0xcc21[22]]= function(_0xb596x14,_0xb596x9){return FaxAttachment[_0xcc21[26]](_0xb596x14[_0xcc21[25]][_0xcc21[24]])[_0xcc21[14]](handleEntityNotFound(_0xb596x9))[_0xcc21[14]](function(_0xb596x15){return _0xb596x9[_0xcc21[23]](_0xb596x15[_0xcc21[2]])})[_0xcc21[18]](handleError(_0xb596x9))};exports[_0xcc21[27]]= function(_0xb596x14,_0xb596x9){var _0xb596x16= new formidable.IncomingForm();_0xb596x16[_0xcc21[28]]= path[_0xcc21[35]](config[_0xcc21[29]],_0xcc21[30],_0xcc21[31],_0xcc21[32],_0xcc21[33],_0xcc21[34]);_0xb596x16[_0xcc21[36]]= true;_0xb596x16[_0xcc21[37]]= true;_0xb596x16[_0xcc21[38]]= true;_0xb596x16[_0xcc21[43]](_0xb596x14,function(_0xb596xb,_0xb596x16,_0xb596x17){if(_0xb596xb){return _0xb596x9[_0xcc21[10]](500)[_0xcc21[9]](_0xb596xb)};return _0xb596x9[_0xcc21[10]](201)[_0xcc21[9]]({path:_0xb596x17[_0xcc21[39]][_0xcc21[2]],name:_0xb596x17[_0xcc21[39]][_0xcc21[40]],basename:path[_0xcc21[41]](_0xb596x17[_0xcc21[39]][_0xcc21[2]]),type:_0xb596x17[_0xcc21[39]][_0xcc21[42]]})})};exports[_0xcc21[44]]= function(_0xb596x14,_0xb596x9){if(_0xb596x14[_0xcc21[45]][_0xcc21[24]]){delete _0xb596x14[_0xcc21[45]][_0xcc21[24]]};return FaxAttachment[_0xcc21[26]](_0xb596x14[_0xcc21[25]][_0xcc21[24]])[_0xcc21[14]](handleEntityNotFound(_0xb596x9))[_0xcc21[14]](saveUpdates(_0xb596x14[_0xcc21[45]]))[_0xcc21[14]](responseWithResult(_0xb596x9))[_0xcc21[18]](handleError(_0xb596x9))};exports[_0xcc21[16]]= function(_0xb596x14,_0xb596x9){var _0xb596x18=Promise[_0xcc21[48]](require(_0xcc21[47])[_0xcc21[46]]);var _0xb596x19=path[_0xcc21[35]](config[_0xcc21[29]],_0xcc21[30],_0xcc21[31],_0xcc21[32],_0xcc21[33],_0xcc21[34],_0xb596x14[_0xcc21[25]][_0xcc21[24]]);return _0xb596x18(_0xb596x19)[_0xcc21[14]](function(){return _0xb596x9[_0xcc21[12]](204)})[_0xcc21[18]](function(_0xb596xb){return handleError(_0xb596x9,_0xb596xb)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxAttachment = require('../../models').FaxAttachment;
-
-var FaxAttachmentEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxAttachmentEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxAttachment.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxAttachmentEvents.emit(event + ':' + doc._id, doc);
- FaxAttachmentEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxAttachmentEvents;
+var _0xa228=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xa228[0];const EventEmitter=require(_0xa228[1]);const FaxAttachment=require(_0xa228[3])[_0xa228[2]];var FaxAttachmentEvents= new EventEmitter();FaxAttachmentEvents[_0xa228[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xa228[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xa228[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xa228[6]};for(var e in events){var event=events[e];FaxAttachment[_0xa228[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x1d74x8,_0x1d74x9,_0x1d74xa){FaxAttachmentEvents[_0xa228[10]](event+ _0xa228[8]+ _0x1d74x8[_0xa228[9]],_0x1d74x8);FaxAttachmentEvents[_0xa228[10]](event,_0x1d74x8);_0x1d74xa(null)}}module[_0xa228[11]]= FaxAttachmentEvents
\ No newline at end of file
-'use strict';
-
-const FaxAttachmentEvents = require('./fax_attachment.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_attachment:' + event, socket);
-
- FaxAttachmentEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxAttachmentEvents.removeListener(event, listener);
- };
-}
+var _0xcc9d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xcc9d[0];const FaxAttachmentEvents=require(_0xcc9d[1]);var events=[_0xcc9d[2],_0xcc9d[3]];exports[_0xcc9d[4]]= function(_0x9473x3){for(var _0x9473x4=0,_0x9473x5=events[_0xcc9d[5]];_0x9473x4< _0x9473x5;_0x9473x4++){var _0x9473x6=events[_0x9473x4];var _0x9473x7=createListener(_0xcc9d[6]+ _0x9473x6,_0x9473x3);FaxAttachmentEvents[_0xcc9d[7]](_0x9473x6,_0x9473x7);_0x9473x3[_0xcc9d[7]](_0xcc9d[8],removeListener(_0x9473x6,_0x9473x7))}};function createListener(_0x9473x6,_0x9473x3){return function(_0x9473x9){_0x9473x3[_0xcc9d[9]](_0x9473x6,_0x9473x9)}}function removeListener(_0x9473x6,_0x9473x7){return function(){FaxAttachmentEvents[_0xcc9d[10]](_0x9473x6,_0x9473x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var auth = require('../../auth/auth.service');
-var controller = require('./fax_attachment.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasFax(), controller.show);
-router.post('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.destroy);
-module.exports = router;
+var _0xac04=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x61\x78\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xac04[0];var express=require(_0xac04[1]);var auth=require(_0xac04[2]);var controller=require(_0xac04[3]);var license=require(_0xac04[4]);var router=express.Router();router[_0xac04[13]](_0xac04[5],license[_0xac04[6]](),license[_0xac04[7]](),auth[_0xac04[8]](),auth[_0xac04[11]]([10],[_0xac04[9],_0xac04[10]]),controller[_0xac04[12]]);router[_0xac04[13]](_0xac04[14],license[_0xac04[6]](),license[_0xac04[7]](),controller[_0xac04[15]]);router[_0xac04[17]](_0xac04[5],license[_0xac04[6]](),license[_0xac04[7]](),auth[_0xac04[8]](),auth[_0xac04[11]]([10],[_0xac04[9],_0xac04[10]]),controller[_0xac04[16]]);router[_0xac04[19]](_0xac04[14],license[_0xac04[6]](),license[_0xac04[7]](),auth[_0xac04[8]](),auth[_0xac04[11]]([10],[_0xac04[9],_0xac04[10]]),controller[_0xac04[18]]);router[_0xac04[21]](_0xac04[14],license[_0xac04[6]](),license[_0xac04[7]](),auth[_0xac04[8]](),auth[_0xac04[11]]([10],[_0xac04[9],_0xac04[10]]),controller[_0xac04[20]]);module[_0xac04[22]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/fax/dispositions -> index
- * POST /api/fax/dispositions -> create
- * GET /api/fax/dispositions/:id -> show
- * PUT /api/fax/dispositions/:id -> update
- * DELETE /api/fax/dispositions/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var FaxDisposition = require('../../models').FaxDisposition;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of FaxDispositions
-exports.index = function(req, res) {
- return FaxDisposition.findAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single FaxDisposition from the DB
-exports.show = function(req, res) {
- return FaxDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new FaxDisposition in the DB
-exports.create = function(req, res) {
- return FaxDisposition.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing FaxDisposition in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return FaxDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a FaxDisposition from the DB
-exports.destroy = function(req, res) {
- return FaxDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x9cd8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x46\x61\x78\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x9cd8[0];var _=require(_0x9cd8[1]);var Util=require(_0x9cd8[2]);var FaxDisposition=require(_0x9cd8[4])[_0x9cd8[3]];function handleError(_0x6c08x5,_0x6c08x6){_0x6c08x6= _0x6c08x6|| 500;return function(_0x6c08x7){_0x6c08x5[_0x9cd8[6]](_0x6c08x6)[_0x9cd8[5]](_0x6c08x7)}}function responseWithResult(_0x6c08x5,_0x6c08x6){_0x6c08x6= _0x6c08x6|| 200;return function(_0x6c08x9){if(_0x6c08x9){_0x6c08x5[_0x9cd8[6]](_0x6c08x6)[_0x9cd8[7]](_0x6c08x9)}}}function responseWithoutResult(_0x6c08x5,_0x6c08x6){_0x6c08x6= _0x6c08x6|| 204;return function(){_0x6c08x5[_0x9cd8[8]](_0x6c08x6)}}function handleEntityNotFound(_0x6c08x5){return function(_0x6c08x9){if(!_0x6c08x9){_0x6c08x5[_0x9cd8[6]](404)[_0x9cd8[9]]();return null};return _0x6c08x9}}function saveUpdates(_0x6c08xd){return function(_0x6c08x9){return _0x6c08x9[_0x9cd8[11]](_0x6c08xd)[_0x9cd8[10]](function(_0x6c08xe){return _0x6c08xe})}}function removeEntity(_0x6c08x5){return function(_0x6c08x9){if(_0x6c08x9){return _0x6c08x9[_0x9cd8[12]]()[_0x9cd8[10]](function(){_0x6c08x5[_0x9cd8[6]](204)[_0x9cd8[9]]()})}}}exports[_0x9cd8[13]]= function(_0x6c08x10,_0x6c08x5){return FaxDisposition[_0x9cd8[17]](Util[_0x9cd8[16]](_0x6c08x10[_0x9cd8[15]]))[_0x9cd8[10]](responseWithResult(_0x6c08x5))[_0x9cd8[14]](handleError(_0x6c08x5))};exports[_0x9cd8[18]]= function(_0x6c08x10,_0x6c08x5){return FaxDisposition[_0x9cd8[21]](_0x6c08x10[_0x9cd8[20]][_0x9cd8[19]])[_0x9cd8[10]](handleEntityNotFound(_0x6c08x5))[_0x9cd8[10]](responseWithResult(_0x6c08x5))[_0x9cd8[14]](handleError(_0x6c08x5))};exports[_0x9cd8[22]]= function(_0x6c08x10,_0x6c08x5){return FaxDisposition[_0x9cd8[22]](_0x6c08x10[_0x9cd8[23]])[_0x9cd8[10]](responseWithResult(_0x6c08x5,201))[_0x9cd8[14]](handleError(_0x6c08x5))};exports[_0x9cd8[24]]= function(_0x6c08x10,_0x6c08x5){if(_0x6c08x10[_0x9cd8[23]][_0x9cd8[19]]){delete _0x6c08x10[_0x9cd8[23]][_0x9cd8[19]]};return FaxDisposition[_0x9cd8[21]](_0x6c08x10[_0x9cd8[20]][_0x9cd8[19]])[_0x9cd8[10]](handleEntityNotFound(_0x6c08x5))[_0x9cd8[10]](saveUpdates(_0x6c08x10[_0x9cd8[23]]))[_0x9cd8[10]](responseWithResult(_0x6c08x5))[_0x9cd8[14]](handleError(_0x6c08x5))};exports[_0x9cd8[12]]= function(_0x6c08x10,_0x6c08x5){return FaxDisposition[_0x9cd8[21]](_0x6c08x10[_0x9cd8[20]][_0x9cd8[19]])[_0x9cd8[10]](handleEntityNotFound(_0x6c08x5))[_0x9cd8[10]](removeEntity(_0x6c08x5))[_0x9cd8[14]](handleError(_0x6c08x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxDisposition = require('../../models').FaxDisposition;
-
-var FaxDispositionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxDispositionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxDisposition.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxDispositionEvents.emit(event + ':' + doc._id, doc);
- FaxDispositionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxDispositionEvents;
+var _0xdaf6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xdaf6[0];const EventEmitter=require(_0xdaf6[1]);const FaxDisposition=require(_0xdaf6[3])[_0xdaf6[2]];var FaxDispositionEvents= new EventEmitter();FaxDispositionEvents[_0xdaf6[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xdaf6[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xdaf6[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xdaf6[6]};for(var e in events){var event=events[e];FaxDisposition[_0xdaf6[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x42c5x8,_0x42c5x9,_0x42c5xa){FaxDispositionEvents[_0xdaf6[10]](event+ _0xdaf6[8]+ _0x42c5x8[_0xdaf6[9]],_0x42c5x8);FaxDispositionEvents[_0xdaf6[10]](event,_0x42c5x8);_0x42c5xa(null)}}module[_0xdaf6[11]]= FaxDispositionEvents
\ No newline at end of file
-'use strict';
-
-const FaxDispositionEvents = require('./fax_disposition.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_disposition:' + event, socket);
-
- FaxDispositionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxDispositionEvents.removeListener(event, listener);
- };
-}
+var _0x64a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x64a7[0];const FaxDispositionEvents=require(_0x64a7[1]);var events=[_0x64a7[2],_0x64a7[3]];exports[_0x64a7[4]]= function(_0x6ccbx3){for(var _0x6ccbx4=0,_0x6ccbx5=events[_0x64a7[5]];_0x6ccbx4< _0x6ccbx5;_0x6ccbx4++){var _0x6ccbx6=events[_0x6ccbx4];var _0x6ccbx7=createListener(_0x64a7[6]+ _0x6ccbx6,_0x6ccbx3);FaxDispositionEvents[_0x64a7[7]](_0x6ccbx6,_0x6ccbx7);_0x6ccbx3[_0x64a7[7]](_0x64a7[8],removeListener(_0x6ccbx6,_0x6ccbx7))}};function createListener(_0x6ccbx6,_0x6ccbx3){return function(_0x6ccbx9){_0x6ccbx3[_0x64a7[9]](_0x6ccbx6,_0x6ccbx9)}}function removeListener(_0x6ccbx6,_0x6ccbx7){return function(){FaxDispositionEvents[_0x64a7[10]](_0x6ccbx6,_0x6ccbx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./fax_disposition.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-module.exports = router;
+var _0x2d41=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x61\x78\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2d41[0];var express=require(_0x2d41[1]);var auth=require(_0x2d41[2]);var controller=require(_0x2d41[3]);var router=express.Router();router[_0x2d41[7]](_0x2d41[4],auth[_0x2d41[5]](),controller[_0x2d41[6]]);router[_0x2d41[7]](_0x2d41[8],auth[_0x2d41[5]](),controller[_0x2d41[9]]);router[_0x2d41[11]](_0x2d41[4],auth[_0x2d41[5]](),controller[_0x2d41[10]]);router[_0x2d41[13]](_0x2d41[8],auth[_0x2d41[5]](),controller[_0x2d41[12]]);router[_0x2d41[14]](_0x2d41[8],auth[_0x2d41[5]](),controller[_0x2d41[12]]);router[_0x2d41[16]](_0x2d41[8],auth[_0x2d41[5]](),controller[_0x2d41[15]]);module[_0x2d41[17]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-
-var FaxMessage = require('../../models').FaxMessage;
-var Trunk = require('../../models').User;
-
-exports.register = function(ami) {
-
- FaxMessage.afterCreate(function(doc) {
- console.log('FaxMessage afterCreate');
- // onSave(ami, doc);
- });
-};
-
-function onSave(ami, doc, cb) {
- if (doc.status === 'NOT SENT' && !doc.actionid) {
- // I have to send the fax with the Originate
- var faxBody = JSON.parse(doc.body);
- console.log('faxBody', faxBody);
-
- Trunk
- .findById(faxBody.trunk.id)
- .then(function(trunk) {
- var action = {
- Action: 'originate',
- CallerID: faxBody.from,
- Channel: util.format('%s/%s@%s', faxBody.technology, faxBody.to, trunk.name),
- Context: 'outbound-fax',
- Exten: 's',
- Priority: 1,
- Async: 'true',
- Variable: {
- MAXRATE: faxBody.maxrate,
- MINRATE: faxBody.minrate,
- ECM: faxBody.ecm ? 'yes' : 'no',
- LOCALID: faxBody.fax_localid,
- FAXFILE: faxBody.fax_file,
- // 'FAXFILE': 'test.tiff', // Scommentare se si fanno prove in locale!
- FAXHEADER: faxBody.fax_header,
- FAXUUID: faxBody.uuid
- }
- };
-
- ami.action(action, function(err, res) {
- if (err) {
- doc.updateAttributes({
- status: 'FAILED'
- });
- } else {
- if (res.response && res.actionid) {
- doc.updateAttributes({
- actionid: res.actionid
- });
- }
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
- }
-}
+var _0x37c4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x72\x65\x67\x69\x73\x74\x65\x72","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65\x20\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x4E\x4F\x54\x20\x53\x45\x4E\x54","\x61\x63\x74\x69\x6F\x6E\x69\x64","\x62\x6F\x64\x79","\x70\x61\x72\x73\x65","\x66\x61\x78\x42\x6F\x64\x79","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x66\x72\x6F\x6D","\x25\x73\x2F\x25\x73\x40\x25\x73","\x74\x65\x63\x68\x6E\x6F\x6C\x6F\x67\x79","\x74\x6F","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x73","\x74\x72\x75\x65","\x6D\x61\x78\x72\x61\x74\x65","\x6D\x69\x6E\x72\x61\x74\x65","\x65\x63\x6D","\x79\x65\x73","\x6E\x6F","\x66\x61\x78\x5F\x6C\x6F\x63\x61\x6C\x69\x64","\x66\x61\x78\x5F\x66\x69\x6C\x65","\x66\x61\x78\x5F\x68\x65\x61\x64\x65\x72","\x75\x75\x69\x64","\x46\x41\x49\x4C\x45\x44","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x61\x63\x74\x69\x6F\x6E","\x74\x68\x65\x6E","\x69\x64","\x74\x72\x75\x6E\x6B","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0x37c4[0];var _=require(_0x37c4[1]);var util=require(_0x37c4[2]);var FaxMessage=require(_0x37c4[4])[_0x37c4[3]];var Trunk=require(_0x37c4[4])[_0x37c4[5]];exports[_0x37c4[6]]= function(_0xbc4dx5){FaxMessage[_0x37c4[9]](function(_0xbc4dx6){console[_0x37c4[8]](_0x37c4[7])})};function onSave(_0xbc4dx5,_0xbc4dx6,_0xbc4dx8){if(_0xbc4dx6[_0x37c4[10]]=== _0x37c4[11]&& !_0xbc4dx6[_0x37c4[12]]){var _0xbc4dx9=JSON[_0x37c4[14]](_0xbc4dx6[_0x37c4[13]]);console[_0x37c4[8]](_0x37c4[15],_0xbc4dx9);Trunk[_0x37c4[44]](_0xbc4dx9[_0x37c4[43]][_0x37c4[42]])[_0x37c4[41]](function(_0xbc4dxb){var _0xbc4dxc={Action:_0x37c4[18],CallerID:_0xbc4dx9[_0x37c4[19]],Channel:util[_0x37c4[24]](_0x37c4[20],_0xbc4dx9[_0x37c4[21]],_0xbc4dx9[_0x37c4[22]],_0xbc4dxb[_0x37c4[23]]),Context:_0x37c4[25],Exten:_0x37c4[26],Priority:1,Async:_0x37c4[27],Variable:{MAXRATE:_0xbc4dx9[_0x37c4[28]],MINRATE:_0xbc4dx9[_0x37c4[29]],ECM:_0xbc4dx9[_0x37c4[30]]?_0x37c4[31]:_0x37c4[32],LOCALID:_0xbc4dx9[_0x37c4[33]],FAXFILE:_0xbc4dx9[_0x37c4[34]],FAXHEADER:_0xbc4dx9[_0x37c4[35]],FAXUUID:_0xbc4dx9[_0x37c4[36]]}};_0xbc4dx5[_0x37c4[40]](_0xbc4dxc,function(_0xbc4dxa,_0xbc4dxd){if(_0xbc4dxa){_0xbc4dx6[_0x37c4[38]]({status:_0x37c4[37]})}else {if(_0xbc4dxd[_0x37c4[39]]&& _0xbc4dxd[_0x37c4[12]]){_0xbc4dx6[_0x37c4[38]]({actionid:_0xbc4dxd[_0x37c4[12]]})}}})})[_0x37c4[17]](function(_0xbc4dxa){console[_0x37c4[16]](_0xbc4dxa)})}}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var fs = require('fs');
-var path = require('path');
-var uploadFile = require('upload-file');
-var uuidLib = require('node-uuid');
-var pdf = require('html-pdf');
-// var spindrift = require('spindrift');
-var formidable = require('formidable');
-var exec = require('child_process').exec;
-var config = require('../../config/environment');
-
-var FaxMessage = require('../../models').FaxMessage;
-var FaxAttachment = require('../../models').FaxAttachment;
-var FaxRoom = require('../../models').FaxRoom;
-var FaxAccount = require('../../models').FaxAccount;
-var FaxAttachment = require('../../models').FaxAttachment;
-var User = require('../../models').User;
-
-// Get list of fax_message
-exports.index = function(req, res, next) {
- var params = {
- order: 'createdAt DESC',
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- };
-
- switch (req.user.role) {
- case 'admin':
- params.where = req.query;
- break;
- case 'agent':
- break;
- default:
- }
-
- return FaxMessage
- .findAll(params)
- .then(function(fax_message) {
- return res.status(200).send(fax_message);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-exports.describe = function(req, res) {
- return FaxMessage
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single faxMessage
-exports.show = function(req, res, next) {
- return FaxMessage
- .findById(req.params.id, {
- include: [{
- model: FaxAttachment
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- })
- .then(function(faxMessage) {
- if (!faxMessage) {
- return res.sendStatus(404);
- }
- return res.send(faxMessage);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-// Creates a new faxMessage in the DB.
-exports.create = function(req, res, next) {
- req.body.UserId = req.user.id;
- req.body.text = req.body.text;
-
- return FaxMessage
- .create(req.body, {
- include: [{
- model: FaxAttachment
- }]
- })
- .then(function(faxMessage) {
- return res.status(201).send(faxMessage);
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing faxMessage in the DB.
-exports.update = function(req, res, next) {
- return FaxMessage
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(faxMessage) {
- if (!faxMessage) {
- return res.sendStatus(404);
- }
- return faxMessage.updateAttributes(req.body, {
- user: req.user
- });
- })
- .then(function(updated) {
- return res.status(200).send(updated);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-// Deletes a faxMessage from the DB.
-exports.destroy = function(req, res, next) {
- return FaxMessage
- .findById(req.params.id)
- .then(function(faxMessage) {
- if (!faxMessage) {
- return res.sendStatus(404);
- }
- return faxMessage
- .destroy();
- }).then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-// Deletes a faxMessage from the DB.
-exports.bulkDelete = function(req, res, next) {
- return FaxMessage
- .bulkUpdate({
- where: {
- id: {
- $in: req.body.id
- }
- },
- attributes: {
- directory: 'TRASH'
- }
- })
- .then(function(faxMessage) {
- if (!faxMessage) {
- return res.sendStatus(404);
- }
- return faxMessage
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-function handleError(res, err, next) {
- return res.status(500).send(err);
-}
+var _0x6ca9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x66\x73","\x70\x61\x74\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x6E\x6F\x64\x65\x2D\x75\x75\x69\x64","\x68\x74\x6D\x6C\x2D\x70\x64\x66","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x74\x65\x78\x74","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0x6ca9[0];var _=require(_0x6ca9[1]);var fs=require(_0x6ca9[2]);var path=require(_0x6ca9[3]);var uploadFile=require(_0x6ca9[4]);var uuidLib=require(_0x6ca9[5]);var pdf=require(_0x6ca9[6]);var formidable=require(_0x6ca9[7]);var exec=require(_0x6ca9[9])[_0x6ca9[8]];var config=require(_0x6ca9[10]);var FaxMessage=require(_0x6ca9[12])[_0x6ca9[11]];var FaxAttachment=require(_0x6ca9[12])[_0x6ca9[13]];var FaxRoom=require(_0x6ca9[12])[_0x6ca9[14]];var FaxAccount=require(_0x6ca9[12])[_0x6ca9[15]];var FaxAttachment=require(_0x6ca9[12])[_0x6ca9[13]];var User=require(_0x6ca9[12])[_0x6ca9[16]];exports[_0x6ca9[17]]= function(_0x122fxf,_0x122fx10,_0x122fx11){var _0x122fx12={order:_0x6ca9[18],include:[{all:true,include:[{all:true}]}]};switch(_0x122fxf[_0x6ca9[24]][_0x6ca9[23]]){case _0x6ca9[21]:_0x122fx12[_0x6ca9[19]]= _0x122fxf[_0x6ca9[20]];break;case _0x6ca9[22]:break;default:};return FaxMessage[_0x6ca9[29]](_0x122fx12)[_0x6ca9[28]](function(_0x122fx14){return _0x122fx10[_0x6ca9[27]](200)[_0x6ca9[26]](_0x122fx14)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13,_0x122fx11)})};exports[_0x6ca9[30]]= function(_0x122fxf,_0x122fx10){return FaxMessage[_0x6ca9[30]]()[_0x6ca9[28]](function(_0x122fx15){return _0x122fx10[_0x6ca9[27]](200)[_0x6ca9[26]](_0x122fx15)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13)})};exports[_0x6ca9[31]]= function(_0x122fxf,_0x122fx10,_0x122fx11){return FaxMessage[_0x6ca9[38]](_0x122fxf[_0x6ca9[34]][_0x6ca9[33]],{include:[{model:FaxAttachment},{model:User,attributes:[_0x6ca9[33],_0x6ca9[35],_0x6ca9[36],_0x6ca9[37]]}]})[_0x6ca9[28]](function(_0x122fx16){if(!_0x122fx16){return _0x122fx10[_0x6ca9[32]](404)};return _0x122fx10[_0x6ca9[26]](_0x122fx16)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13,_0x122fx11)})};exports[_0x6ca9[39]]= function(_0x122fxf,_0x122fx10,_0x122fx11){_0x122fxf[_0x6ca9[41]][_0x6ca9[40]]= _0x122fxf[_0x6ca9[24]][_0x6ca9[33]];_0x122fxf[_0x6ca9[41]][_0x6ca9[42]]= _0x122fxf[_0x6ca9[41]][_0x6ca9[42]];return FaxMessage[_0x6ca9[39]](_0x122fxf[_0x6ca9[41]],{include:[{model:FaxAttachment}]})[_0x6ca9[28]](function(_0x122fx16){return _0x122fx10[_0x6ca9[27]](201)[_0x6ca9[26]](_0x122fx16)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13)})};exports[_0x6ca9[43]]= function(_0x122fxf,_0x122fx10,_0x122fx11){return FaxMessage[_0x6ca9[38]](_0x122fxf[_0x6ca9[34]][_0x6ca9[33]],{include:[{all:true}]})[_0x6ca9[28]](function(_0x122fx16){if(!_0x122fx16){return _0x122fx10[_0x6ca9[32]](404)};return _0x122fx16[_0x6ca9[44]](_0x122fxf[_0x6ca9[41]],{user:_0x122fxf[_0x6ca9[24]]})})[_0x6ca9[28]](function(_0x122fx17){return _0x122fx10[_0x6ca9[27]](200)[_0x6ca9[26]](_0x122fx17)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13,_0x122fx11)})};exports[_0x6ca9[45]]= function(_0x122fxf,_0x122fx10,_0x122fx11){return FaxMessage[_0x6ca9[38]](_0x122fxf[_0x6ca9[34]][_0x6ca9[33]])[_0x6ca9[28]](function(_0x122fx16){if(!_0x122fx16){return _0x122fx10[_0x6ca9[32]](404)};return _0x122fx16[_0x6ca9[45]]()})[_0x6ca9[28]](function(){return _0x122fx10[_0x6ca9[32]](204)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13,_0x122fx11)})};exports[_0x6ca9[46]]= function(_0x122fxf,_0x122fx10,_0x122fx11){return FaxMessage[_0x6ca9[48]]({where:{id:{$in:_0x122fxf[_0x6ca9[41]][_0x6ca9[33]]}},attributes:{directory:_0x6ca9[47]}})[_0x6ca9[28]](function(_0x122fx16){if(!_0x122fx16){return _0x122fx10[_0x6ca9[32]](404)};return _0x122fx16[_0x6ca9[45]]()})[_0x6ca9[28]](function(){return _0x122fx10[_0x6ca9[32]](204)})[_0x6ca9[25]](function(_0x122fx13){return handleError(_0x122fx10,_0x122fx13,_0x122fx11)})};function handleError(_0x122fx10,_0x122fx13,_0x122fx11){return _0x122fx10[_0x6ca9[27]](500)[_0x6ca9[26]](_0x122fx13)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxMessage = require('../../models').FaxMessage;
-
-var FaxMessageEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxMessageEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxMessage.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxMessageEvents.emit(event + ':' + doc._id, doc);
- FaxMessageEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxMessageEvents;
+var _0xbf57=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xbf57[0];const EventEmitter=require(_0xbf57[1]);const FaxMessage=require(_0xbf57[3])[_0xbf57[2]];var FaxMessageEvents= new EventEmitter();FaxMessageEvents[_0xbf57[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xbf57[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xbf57[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xbf57[6]};for(var e in events){var event=events[e];FaxMessage[_0xbf57[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3677x8,_0x3677x9,_0x3677xa){FaxMessageEvents[_0xbf57[10]](event+ _0xbf57[8]+ _0x3677x8[_0xbf57[9]],_0x3677x8);FaxMessageEvents[_0xbf57[10]](event,_0x3677x8);_0x3677xa(null)}}module[_0xbf57[11]]= FaxMessageEvents
\ No newline at end of file
-'use strict';
-
-const FaxMessageEvents = require('./fax_message.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_message:' + event, socket);
-
- FaxMessageEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxMessageEvents.removeListener(event, listener);
- };
-}
+var _0x45bf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x45bf[0];const FaxMessageEvents=require(_0x45bf[1]);var events=[_0x45bf[2],_0x45bf[3]];exports[_0x45bf[4]]= function(_0x2287x3){for(var _0x2287x4=0,_0x2287x5=events[_0x45bf[5]];_0x2287x4< _0x2287x5;_0x2287x4++){var _0x2287x6=events[_0x2287x4];var _0x2287x7=createListener(_0x45bf[6]+ _0x2287x6,_0x2287x3);FaxMessageEvents[_0x45bf[7]](_0x2287x6,_0x2287x7);_0x2287x3[_0x45bf[7]](_0x45bf[8],removeListener(_0x2287x6,_0x2287x7))}};function createListener(_0x2287x6,_0x2287x3){return function(_0x2287x9){_0x2287x3[_0x45bf[9]](_0x2287x6,_0x2287x9)}}function removeListener(_0x2287x6,_0x2287x7){return function(){FaxMessageEvents[_0x45bf[10]](_0x2287x6,_0x2287x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./fax_message.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-// router.get('/', controller.index);
-// router.get('/:id/content', controller.getContentFromMessage);
-// router.get('/:id', controller.show);
-// router.post('/', controller.create);
-// router.put('/:id', controller.update);
-// router.patch('/:id', controller.update);
-// router.delete('/:id', controller.destroy);
-
-router.get('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.index);
-router.get('/describe', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.describe);
-router.get('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.show);
-router.post('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.create);
-router.put('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.update);
-router.put('/delete/bulk', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.bulkDelete);
-router.put('/delete/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.update);
-router.put('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0xc84c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x62\x75\x6C\x6B","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x3A\x69\x64","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc84c[0];var express=require(_0xc84c[1]);var controller=require(_0xc84c[2]);var auth=require(_0xc84c[3]);var license=require(_0xc84c[4]);var router=express.Router();router[_0xc84c[13]](_0xc84c[5],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9],_0xc84c[10]]),controller[_0xc84c[12]]);router[_0xc84c[13]](_0xc84c[14],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9]]),controller[_0xc84c[15]]);router[_0xc84c[13]](_0xc84c[16],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9],_0xc84c[10]]),controller[_0xc84c[17]]);router[_0xc84c[19]](_0xc84c[5],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9],_0xc84c[10]]),controller[_0xc84c[18]]);router[_0xc84c[21]](_0xc84c[5],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9],_0xc84c[10]]),controller[_0xc84c[20]]);router[_0xc84c[21]](_0xc84c[22],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9]]),controller[_0xc84c[23]]);router[_0xc84c[21]](_0xc84c[24],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9]]),controller[_0xc84c[20]]);router[_0xc84c[21]](_0xc84c[16],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9],_0xc84c[10]]),controller[_0xc84c[20]]);router[_0xc84c[26]](_0xc84c[16],license[_0xc84c[6]](),license[_0xc84c[7]](),auth[_0xc84c[8]](),auth[_0xc84c[11]]([10],[_0xc84c[9]]),controller[_0xc84c[25]]);module[_0xc84c[27]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var User = require('../../models').User;
-var FaxQueue = require('../../models').FaxQueue;
-var UserHasFaxQueue = require('../../models').UserHasFaxQueue;
-
-// Get list of fax_queues
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return FaxQueue
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get a single fax_queue
-exports.show = function(req, res) {
- return FaxQueue
- .findById(req.params.id)
- .then(function(fax_queue) {
- if (!fax_queue) {
- return res.sendStatus(404);
- }
- return res.send(fax_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new fax_queue in the DB.
-exports.create = function(req, res) {
- var _faxQueue;
-
- return FaxQueue
- .create(req.body)
- .then(function(faxQueue) {
- _faxQueue = faxQueue;
-
- if (req.body.agents) {
- return _faxQueue
- .addUsers(req.body.agents, {
- penalty: req.body.penalty || 0,
- queue: _faxQueue.name
- });
- }
- })
- .then(function() {
- return res.status(201).send(_faxQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing fax_queue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return FaxQueue
- .findById(req.params.id)
- .then(function(fax_queue) {
- if (!fax_queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(fax_queue, req.body);
- return updated.save();
- })
- .then(function(fax_queue) {
- return res.status(200).send(fax_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a fax_queue from the DB.
-exports.destroy = function(req, res) {
- return FaxQueue
- .findById(req.params.id)
- .then(function(fax_queue) {
- if (!fax_queue) {
- return res.sendStatus(404);
- }
- return fax_queue.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.addAgents = function(req, res, next) {
-
- return FaxQueue
- .findById(req.params.id)
- .then(function(faxQueue) {
- if (!faxQueue) {
- return res.sendStatus(404);
- }
- var userHasFaxQueues = _.map(req.body.agents, function(agent) {
- return {
- UserId: agent,
- penalty: req.body.penalty,
- FaxQueueId: faxQueue.id,
- queue: faxQueue.name
- };
- });
-
- return UserHasFaxQueue
- .bulkCreate(userHasFaxQueues, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showAgents = function(req, res) {
- return FaxQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.removeAgents = function(req, res, next) {
- return FaxQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .removeUsers(req.query.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(202);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return FaxQueue
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x50c9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x63\x72\x65\x61\x74\x65","\x61\x67\x65\x6E\x74\x73","\x62\x6F\x64\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x6E\x61\x6D\x65","\x61\x64\x64\x55\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x50c9[0];var _=require(_0x50c9[1]);var Util=require(_0x50c9[2]);var User=require(_0x50c9[4])[_0x50c9[3]];var FaxQueue=require(_0x50c9[4])[_0x50c9[5]];var UserHasFaxQueue=require(_0x50c9[4])[_0x50c9[6]];exports[_0x50c9[7]]= function(_0xe0a3x6,_0xe0a3x7){switch(_0xe0a3x6[_0x50c9[15]][_0x50c9[19]]){case _0x50c9[15]:return User[_0x50c9[16]](_0xe0a3x6[_0x50c9[15]][_0x50c9[14]],{attributes:[_0x50c9[14]]})[_0x50c9[11]](Util[_0x50c9[13]](_0xe0a3x6[_0x50c9[12]]))[_0x50c9[11]](function(_0xe0a3x9){_0xe0a3x7[_0x50c9[10]](200)[_0x50c9[9]](_0xe0a3x9)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)});default:return FaxQueue[_0x50c9[18]](Util[_0x50c9[17]](_0xe0a3x6[_0x50c9[12]]))[_0x50c9[11]](function(_0xe0a3x9){_0xe0a3x7[_0x50c9[10]](200)[_0x50c9[9]](_0xe0a3x9)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})}};exports[_0x50c9[20]]= function(_0xe0a3x6,_0xe0a3x7){return FaxQueue[_0x50c9[16]](_0xe0a3x6[_0x50c9[22]][_0x50c9[14]])[_0x50c9[11]](function(_0xe0a3xa){if(!_0xe0a3xa){return _0xe0a3x7[_0x50c9[21]](404)};return _0xe0a3x7[_0x50c9[9]](_0xe0a3xa)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};exports[_0x50c9[23]]= function(_0xe0a3x6,_0xe0a3x7){var _0xe0a3xb;return FaxQueue[_0x50c9[23]](_0xe0a3x6[_0x50c9[25]])[_0x50c9[11]](function(_0xe0a3xc){_0xe0a3xb= _0xe0a3xc;if(_0xe0a3x6[_0x50c9[25]][_0x50c9[24]]){return _0xe0a3xb[_0x50c9[28]](_0xe0a3x6[_0x50c9[25]][_0x50c9[24]],{penalty:_0xe0a3x6[_0x50c9[25]][_0x50c9[26]]|| 0,queue:_0xe0a3xb[_0x50c9[27]]})}})[_0x50c9[11]](function(){return _0xe0a3x7[_0x50c9[10]](201)[_0x50c9[9]](_0xe0a3xb)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};exports[_0x50c9[29]]= function(_0xe0a3x6,_0xe0a3x7){if(_0xe0a3x6[_0x50c9[25]][_0x50c9[14]]){delete _0xe0a3x6[_0x50c9[25]][_0x50c9[14]]};return FaxQueue[_0x50c9[16]](_0xe0a3x6[_0x50c9[22]][_0x50c9[14]])[_0x50c9[11]](function(_0xe0a3xa){if(!_0xe0a3xa){return _0xe0a3x7[_0x50c9[21]](404)};var _0xe0a3xd=_[_0x50c9[30]](_0xe0a3xa,_0xe0a3x6[_0x50c9[25]]);return _0xe0a3xd[_0x50c9[31]]()})[_0x50c9[11]](function(_0xe0a3xa){return _0xe0a3x7[_0x50c9[10]](200)[_0x50c9[9]](_0xe0a3xa)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};exports[_0x50c9[32]]= function(_0xe0a3x6,_0xe0a3x7){return FaxQueue[_0x50c9[16]](_0xe0a3x6[_0x50c9[22]][_0x50c9[14]])[_0x50c9[11]](function(_0xe0a3xa){if(!_0xe0a3xa){return _0xe0a3x7[_0x50c9[21]](404)};return _0xe0a3xa[_0x50c9[32]]()})[_0x50c9[11]](function(){return _0xe0a3x7[_0x50c9[21]](204)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};exports[_0x50c9[33]]= function(_0xe0a3x6,_0xe0a3x7,_0xe0a3xe){return FaxQueue[_0x50c9[16]](_0xe0a3x6[_0x50c9[22]][_0x50c9[14]])[_0x50c9[11]](function(_0xe0a3xc){if(!_0xe0a3xc){return _0xe0a3x7[_0x50c9[21]](404)};var _0xe0a3xf=_[_0x50c9[34]](_0xe0a3x6[_0x50c9[25]][_0x50c9[24]],function(_0xe0a3x10){return {UserId:_0xe0a3x10,penalty:_0xe0a3x6[_0x50c9[25]][_0x50c9[26]],FaxQueueId:_0xe0a3xc[_0x50c9[14]],queue:_0xe0a3xc[_0x50c9[27]]}});return UserHasFaxQueue[_0x50c9[35]](_0xe0a3xf,{individualHooks:true})})[_0x50c9[11]](function(){return _0xe0a3x7[_0x50c9[21]](200)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};exports[_0x50c9[36]]= function(_0xe0a3x6,_0xe0a3x7){return FaxQueue[_0x50c9[16]](_0xe0a3x6[_0x50c9[22]][_0x50c9[14]])[_0x50c9[11]](function(_0xe0a3x12){if(!_0xe0a3x12){return _0xe0a3x7[_0x50c9[21]](404)};return _0xe0a3x12[_0x50c9[41]]({where:{role:_0x50c9[38]},attributes:[_0x50c9[14],_0x50c9[27],_0x50c9[39],_0x50c9[40]]})})[_0x50c9[11]](function(_0xe0a3x11){return _0xe0a3x7[_0x50c9[10]](200)[_0x50c9[9]]({rows:_0xe0a3x11,count:_0xe0a3x11[_0x50c9[37]]})})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};exports[_0x50c9[42]]= function(_0xe0a3x6,_0xe0a3x7,_0xe0a3xe){return FaxQueue[_0x50c9[16]](_0xe0a3x6[_0x50c9[22]][_0x50c9[14]])[_0x50c9[11]](function(_0xe0a3x12){if(!_0xe0a3x12){return _0xe0a3x7[_0x50c9[21]](404)};return _0xe0a3x12[_0x50c9[43]](_0xe0a3x6[_0x50c9[12]][_0x50c9[24]],{individualHooks:true})})[_0x50c9[11]](function(){return _0xe0a3x7[_0x50c9[21]](202)})[_0x50c9[8]](function(_0xe0a3x8){return _0xe0a3xe(_0xe0a3x8)})};exports[_0x50c9[44]]= function(_0xe0a3x6,_0xe0a3x7){return FaxQueue[_0x50c9[32]]({where:{id:_0xe0a3x6[_0x50c9[12]][_0x50c9[45]]},individualHooks:true})[_0x50c9[11]](function(){return _0xe0a3x7[_0x50c9[21]](204)})[_0x50c9[8]](function(_0xe0a3x8){return handleError(_0xe0a3x7,_0xe0a3x8)})};function handleError(_0xe0a3x7,_0xe0a3x8){return _0xe0a3x7[_0x50c9[10]](500)[_0x50c9[9]](_0xe0a3x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxQueue = require('../../models').FaxQueue;
-
-var FaxQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxQueueEvents.emit(event + ':' + doc._id, doc);
- FaxQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxQueueEvents;
+var _0xfa4f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xfa4f[0];const EventEmitter=require(_0xfa4f[1]);const FaxQueue=require(_0xfa4f[3])[_0xfa4f[2]];var FaxQueueEvents= new EventEmitter();FaxQueueEvents[_0xfa4f[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xfa4f[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xfa4f[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xfa4f[6]};for(var e in events){var event=events[e];FaxQueue[_0xfa4f[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xcbf5x8,_0xcbf5x9,_0xcbf5xa){FaxQueueEvents[_0xfa4f[10]](event+ _0xfa4f[8]+ _0xcbf5x8[_0xfa4f[9]],_0xcbf5x8);FaxQueueEvents[_0xfa4f[10]](event,_0xcbf5x8);_0xcbf5xa(null)}}module[_0xfa4f[11]]= FaxQueueEvents
\ No newline at end of file
-'use strict';
-
-const FaxQueueEvents = require('./fax_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_queue:' + event, socket);
-
- FaxQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxQueueEvents.removeListener(event, listener);
- };
-}
+var _0xc7af=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc7af[0];const FaxQueueEvents=require(_0xc7af[1]);var events=[_0xc7af[2],_0xc7af[3]];exports[_0xc7af[4]]= function(_0x1649x3){for(var _0x1649x4=0,_0x1649x5=events[_0xc7af[5]];_0x1649x4< _0x1649x5;_0x1649x4++){var _0x1649x6=events[_0x1649x4];var _0x1649x7=createListener(_0xc7af[6]+ _0x1649x6,_0x1649x3);FaxQueueEvents[_0xc7af[7]](_0x1649x6,_0x1649x7);_0x1649x3[_0xc7af[7]](_0xc7af[8],removeListener(_0x1649x6,_0x1649x7))}};function createListener(_0x1649x6,_0x1649x3){return function(_0x1649x9){_0x1649x3[_0xc7af[9]](_0x1649x6,_0x1649x9)}}function removeListener(_0x1649x6,_0x1649x7){return function(){FaxQueueEvents[_0xc7af[10]](_0x1649x6,_0x1649x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./fax_queue.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.get('/:id/agents', auth.isAuthenticated(), controller.showAgents);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.post('/:id/agents', auth.isAuthenticated(), controller.addAgents);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/', auth.isAuthenticated(), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-router.delete('/:id/agents', auth.isAuthenticated(), controller.removeAgents);
-
-module.exports = router;
+var _0x6b2b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x6b2b[0];var express=require(_0x6b2b[1]);var controller=require(_0x6b2b[2]);var auth=require(_0x6b2b[3]);var router=express.Router();router[_0x6b2b[7]](_0x6b2b[4],auth[_0x6b2b[5]](),controller[_0x6b2b[6]]);router[_0x6b2b[7]](_0x6b2b[8],auth[_0x6b2b[5]](),controller[_0x6b2b[9]]);router[_0x6b2b[7]](_0x6b2b[10],auth[_0x6b2b[5]](),controller[_0x6b2b[11]]);router[_0x6b2b[13]](_0x6b2b[4],auth[_0x6b2b[5]](),controller[_0x6b2b[12]]);router[_0x6b2b[13]](_0x6b2b[10],auth[_0x6b2b[5]](),controller[_0x6b2b[14]]);router[_0x6b2b[16]](_0x6b2b[8],auth[_0x6b2b[5]](),controller[_0x6b2b[15]]);router[_0x6b2b[17]](_0x6b2b[8],auth[_0x6b2b[5]](),controller[_0x6b2b[15]]);router[_0x6b2b[19]](_0x6b2b[4],auth[_0x6b2b[5]](),controller[_0x6b2b[18]]);router[_0x6b2b[19]](_0x6b2b[8],auth[_0x6b2b[5]](),controller[_0x6b2b[20]]);router[_0x6b2b[19]](_0x6b2b[10],auth[_0x6b2b[5]](),controller[_0x6b2b[21]]);module[_0x6b2b[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-
-var Util = require('../../config/util');
-var moment = require('moment');
-
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var Agent = require('../../models').User;
-var Contact = require('../../models').Contact;
-var FaxRoom = require('../../models').FaxRoom;
-var FaxMessage = require('../../models').FaxMessage;
-var FaxAccount = require('../../models').FaxAccount;
-var FaxApplication = require('../../models').FaxApplication;
-var FaxQueue = require('../../models').FaxQueue;
-var FaxAttachment = require('../../models').FaxAttachment;
-
-// Get list of faxRooms
-exports.index = function(req, res, next) {
- return FaxRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return FaxRoom
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getFaxQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser({}, {
- attributes: ['id']
- }))
- .then(function(userQueues) {
- return {
- include: {
- model: FaxAccount,
- include: {
- model: FaxApplication,
- include: {
- model: FaxQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-exports.pending = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return FaxRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.new = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return FaxRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.open = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return FaxRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.closed = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return FaxRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.inbox = function(req, res, next) {
- switch (req.user.role) {
- case 'agent':
-
- return sequelize.query(
- 'SELECT `FaxRoom`.`id`, `FaxRoom`.`from`, `FaxRoom`.`account`, `FaxRoom`.`status`, `FaxRoom`.`lastEvent`, `FaxRoom`.`updatedAt` FROM `fax_rooms` AS `FaxRoom` LEFT OUTER JOIN (`user_has_fax_rooms` AS `Users.user_has_fax_rooms` INNER JOIN `users` AS `Users` ON `Users`.`id` = `Users.user_has_fax_rooms`.`UserId`) ON `FaxRoom`.`id` = `Users.user_has_fax_rooms`.`FaxRoomId` WHERE (`FaxRoom`.`deletedAt` IS NULL AND (`FaxRoom`.`status` = :status OR `Users`.`id` = :id))', {
- replacements: {
- status: 'UNMANAGED',
- id: req.user.id
- },
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-
- default:
-
- return sequelize.query(
- 'SELECT `id`, `from`, `account`, `status`, `lastEvent` ,`updatedAt` FROM `fax_rooms` WHERE `fax_rooms`.`deletedAt` IS NULL', {
- replacements: {
- status: 'UNMANAGED',
- id: req.user.id
- },
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get list of agent faxRooms
-exports.agentIndex = function(req, res, next) {
- return FaxRoom
- .findAll({
- where: {
- UserId: req.params.id
- },
- include: [{
- all: true
- }]
- })
- .then(function(faxRooms) {
- return res.status(200).send(faxRooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of agent faxRooms
-exports.openRoom = function(req, res, next) {
- var _faxRoom;
-
- if (req.user.role === 'agent') {
- return FaxRoom
- .findById(req.params.id)
- .then(function(faxRoom) {
- _faxRoom = faxRoom;
- if (!_faxRoom) {
- return res.sendStatus(404);
- }
-
- return _faxRoom
- .update({
- status: 'OPEN'
- }, {
- userId: req.user.id
- });
- })
- .then(function() {
- return _faxRoom
- .addUser(req.user.id);
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get a single faxRoom
-exports.show = function(req, res, next) {
- return FaxRoom
- .scope('default')
- .findById(req.params.id)
- .then(function(faxRoom) {
- if (!faxRoom) {
- return res.sendStatus(404);
- }
- return res.send(faxRoom);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-// Get a single faxRoom
-exports.showAgents = function(req, res, next) {
- return FaxRoom
- .findById(req.params.id)
- .then(function(faxRoom) {
- if (!faxRoom) {
- return res.sendStatus(404);
- }
-
- return faxRoom
- .getUsers({
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- });
- })
- .then(function(users) {
- return res.send(users);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new faxRoom in the DB.
-exports.create = function(req, res, next) {
- return FaxRoom
- .create(req.body)
- .then(function(faxRoom) {
- return res.status(201).send(faxRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailMessage in the DB.
-exports.createMessage = function(req, res, next) {
- req.body.UserId = req.user.id;
- req.body.FaxRoomId = req.params.id;
- req.body.text = req.body.text;
-
- return FaxMessage
- .create(req.body, {
- include: [{
- model: FaxAttachment
- }],
- user: req.user
- }).then(function(faxMessage) {
- return res.status(201).send(faxMessage);
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing faxRoom in the DB.
-exports.update = function(req, res, next) {
- return FaxRoom
- .findById(req.params.id)
- .then(function(faxRoom) {
- if (!faxRoom) {
- return res.sendStatus(404);
- }
- // CHECK IF FAX IS ALREADY ASSIGNED
- if (faxRoom.jobId) {
- throw new Error('Fax already assigned');
- }
- var updated = _.merge(faxRoom, req.body);
-
- return updated
- .save();
- })
- .then(function(faxRoom) {
- return res.status(200).send(faxRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single faxRoom
-exports.updateAgents = function(req, res, next) {
- return FaxRoom
- .findById(req.params.id)
- .then(function(faxRoom) {
- if (!faxRoom) {
- return res.sendStatus(404);
- }
-
- return faxRoom
- .setUsers(req.body.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a faxRoom from the DB.
-exports.destroy = function(req, res, next) {
- return FaxRoom
- .findById(req.params.id)
- .then(function(faxRoom) {
- if (!faxRoom) {
- return res.sendStatus(404);
- }
- return faxRoom.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return FaxRoom
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-exports.updatePatch = function(req, res, next) {
- var _options = {
- where: {
- id: req.params.id.split(',')
- },
- user: req.user,
- individualHooks: true
- };
-
- return FaxRoom
- .update(req.body, _options)
- .then(function(mailRooms) {
- if (!mailRooms) {
- return res.sendStatus(404);
- }
- return mailRooms
- })
- .then(function(mailRooms) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getRoomByMessage = function(req, res, next) {
- return FaxMessage
- .findById(req.params.id)
- .then(function(faxMessage) {
- return faxMessage
- .getFaxRoom({
- include: [{
- model: FaxAccount
- }, {
- model: FaxMessage,
- include: [{
- model: FaxAttachment
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- });
- })
- .then(function(faxRoom) {
- return res.send(faxRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0xb7be=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x43\x6F\x6E\x74\x61\x63\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x46\x61\x78\x51\x75\x65\x75\x65","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x72\x6F\x6C\x65","\x70\x65\x6E\x64\x69\x6E\x67","\x6C\x6F\x67","\x50\x45\x4E\x44\x49\x4E\x47","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x6E\x65\x77","\x4E\x45\x57","\x6F\x70\x65\x6E","\x4F\x50\x45\x4E","\x63\x6C\x6F\x73\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x69\x6E\x62\x6F\x78","\x65\x72\x72\x6F\x72","\x53\x45\x4C\x45\x43\x54\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x2C\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x2C\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x20\x4C\x45\x46\x54\x20\x4F\x55\x54\x45\x52\x20\x4A\x4F\x49\x4E\x20\x28\x60\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x49\x4E\x4E\x45\x52\x20\x4A\x4F\x49\x4E\x20\x60\x75\x73\x65\x72\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x60\x20\x4F\x4E\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x55\x73\x65\x72\x49\x64\x60\x29\x20\x4F\x4E\x20\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x46\x61\x78\x52\x6F\x6F\x6D\x49\x64\x60\x20\x57\x48\x45\x52\x45\x20\x28\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C\x20\x41\x4E\x44\x20\x28\x60\x46\x61\x78\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x20\x3D\x20\x3A\x73\x74\x61\x74\x75\x73\x20\x4F\x52\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x3A\x69\x64\x29\x29","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x61\x67\x65\x6E\x74","\x53\x45\x4C\x45\x43\x54\x20\x60\x69\x64\x60\x2C\x20\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x20\x2C\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x57\x48\x45\x52\x45\x20\x60\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x6F\x70\x65\x6E\x52\x6F\x6F\x6D","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x61\x64\x64\x55\x73\x65\x72","\x75\x70\x64\x61\x74\x65","\x73\x68\x6F\x77","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x46\x61\x78\x52\x6F\x6F\x6D\x49\x64","\x74\x65\x78\x74","\x6A\x6F\x62\x49\x64","\x46\x61\x78\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x61\x73\x73\x69\x67\x6E\x65\x64","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x2C","\x73\x70\x6C\x69\x74","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x67\x65\x74\x46\x61\x78\x52\x6F\x6F\x6D"];_0xb7be[0];var _=require(_0xb7be[1]);var util=require(_0xb7be[2]);var Util=require(_0xb7be[3]);var moment=require(_0xb7be[4]);var sequelize=require(_0xb7be[6])[_0xb7be[5]];var User=require(_0xb7be[6])[_0xb7be[7]];var Agent=require(_0xb7be[6])[_0xb7be[7]];var Contact=require(_0xb7be[6])[_0xb7be[8]];var FaxRoom=require(_0xb7be[6])[_0xb7be[9]];var FaxMessage=require(_0xb7be[6])[_0xb7be[10]];var FaxAccount=require(_0xb7be[6])[_0xb7be[11]];var FaxApplication=require(_0xb7be[6])[_0xb7be[12]];var FaxQueue=require(_0xb7be[6])[_0xb7be[13]];var FaxAttachment=require(_0xb7be[6])[_0xb7be[14]];exports[_0xb7be[15]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[24]](_0xb7be[23])[_0xb7be[22]](Util[_0xb7be[21]](_0x2479xf[_0xb7be[20]]))[_0xb7be[19]](function(_0x2479x13){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]](_0x2479x13)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[25]]= function(_0x2479xf,_0x2479x10){return FaxRoom[_0xb7be[25]]()[_0xb7be[19]](function(_0x2479x14){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]](_0x2479x14)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};function getFaxQueues(_0x2479x16){return function(){switch(_0x2479x16[_0xb7be[31]]){case _0xb7be[30]:return User[_0xb7be[29]](_0x2479x16[_0xb7be[26]],{attributes:[_0xb7be[26]]})[_0xb7be[19]](Util[_0xb7be[28]]({},{attributes:[_0xb7be[26]]}))[_0xb7be[19]](function(_0x2479x17){return {include:{model:FaxAccount,include:{model:FaxApplication,include:{model:FaxQueue,where:{id:_[_0xb7be[27]](_0x2479x17,_0xb7be[26])}}}}}});default:return {}}}}exports[_0xb7be[32]]= function(_0x2479xf,_0x2479x10){return Promise[_0xb7be[39]]([])[_0xb7be[19]](getFaxQueues(_0x2479xf[_0xb7be[30]]))[_0xb7be[19]](function(_0x2479x19){return FaxRoom[_0xb7be[38]](_[_0xb7be[37]](Util[_0xb7be[21]](_0x2479xf[_0xb7be[20]],{status:_0xb7be[34],updatedAt:{$gte:moment()[_0xb7be[36]](_0xb7be[35])}}),_0x2479x19))})[_0xb7be[19]](function(_0x2479x18){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]]({value:_0x2479x18})})[_0xb7be[16]](function(_0x2479x12){console[_0xb7be[33]](_0x2479x12);return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[40]]= function(_0x2479xf,_0x2479x10){return Promise[_0xb7be[39]]([])[_0xb7be[19]](getFaxQueues(_0x2479xf[_0xb7be[30]]))[_0xb7be[19]](function(_0x2479x19){return FaxRoom[_0xb7be[38]](_[_0xb7be[37]](Util[_0xb7be[21]](_0x2479xf[_0xb7be[20]],{status:_0xb7be[41],updatedAt:{$gte:moment()[_0xb7be[36]](_0xb7be[35])}}),_0x2479x19))})[_0xb7be[19]](function(_0x2479x18){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]]({value:_0x2479x18})})[_0xb7be[16]](function(_0x2479x12){console[_0xb7be[33]](_0x2479x12);return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[42]]= function(_0x2479xf,_0x2479x10){return Promise[_0xb7be[39]]([])[_0xb7be[19]](getFaxQueues(_0x2479xf[_0xb7be[30]]))[_0xb7be[19]](function(_0x2479x19){return FaxRoom[_0xb7be[38]](_[_0xb7be[37]](Util[_0xb7be[21]](_0x2479xf[_0xb7be[20]],{status:_0xb7be[43],updatedAt:{$gte:moment()[_0xb7be[36]](_0xb7be[35])}}),_0x2479x19))})[_0xb7be[19]](function(_0x2479x18){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]]({value:_0x2479x18})})[_0xb7be[16]](function(_0x2479x12){console[_0xb7be[33]](_0x2479x12);return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[44]]= function(_0x2479xf,_0x2479x10){return Promise[_0xb7be[39]]([])[_0xb7be[19]](getFaxQueues(_0x2479xf[_0xb7be[30]]))[_0xb7be[19]](function(_0x2479x19){return FaxRoom[_0xb7be[38]](_[_0xb7be[37]](Util[_0xb7be[21]](_0x2479xf[_0xb7be[20]],{status:_0xb7be[45],updatedAt:{$gte:moment()[_0xb7be[36]](_0xb7be[35])}}),_0x2479x19))})[_0xb7be[19]](function(_0x2479x18){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]]({value:_0x2479x18})})[_0xb7be[16]](function(_0x2479x12){console[_0xb7be[33]](_0x2479x12);return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[46]]= function(_0x2479xf,_0x2479x10,_0x2479x11){switch(_0x2479xf[_0xb7be[30]][_0xb7be[31]]){case _0xb7be[52]:return sequelize[_0xb7be[20]](_0xb7be[48],{replacements:{status:_0xb7be[49],id:_0x2479xf[_0xb7be[30]][_0xb7be[26]]},type:sequelize[_0xb7be[51]][_0xb7be[50]]})[_0xb7be[19]](function(_0x2479x13){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]](_0x2479x13)})[_0xb7be[16]](function(_0x2479x12){console[_0xb7be[47]](_0x2479x12);return handleError(_0x2479x10,_0x2479x12)});default:return sequelize[_0xb7be[20]](_0xb7be[53],{replacements:{status:_0xb7be[49],id:_0x2479xf[_0xb7be[30]][_0xb7be[26]]},type:sequelize[_0xb7be[51]][_0xb7be[50]]})[_0xb7be[19]](function(_0x2479x13){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]](_0x2479x13)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})}};exports[_0xb7be[54]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[56]]({where:{UserId:_0x2479xf[_0xb7be[55]][_0xb7be[26]]},include:[{all:true}]})[_0xb7be[19]](function(_0x2479x1a){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]](_0x2479x1a)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[57]]= function(_0x2479xf,_0x2479x10,_0x2479x11){var _0x2479x1b;if(_0x2479xf[_0xb7be[30]][_0xb7be[31]]=== _0xb7be[52]){return FaxRoom[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1c){_0x2479x1b= _0x2479x1c;if(!_0x2479x1b){return _0x2479x10[_0xb7be[58]](404)};return _0x2479x1b[_0xb7be[60]]({status:_0xb7be[43]},{userId:_0x2479xf[_0xb7be[30]][_0xb7be[26]]})})[_0xb7be[19]](function(){return _0x2479x1b[_0xb7be[59]](_0x2479xf[_0xb7be[30]][_0xb7be[26]])})[_0xb7be[19]](function(){return _0x2479x10[_0xb7be[58]](200)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})}};exports[_0xb7be[61]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[24]](_0xb7be[23])[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1c){if(!_0x2479x1c){return _0x2479x10[_0xb7be[58]](404)};return _0x2479x10[_0xb7be[17]](_0x2479x1c)})[_0xb7be[16]](function(_0x2479x12){console[_0xb7be[47]](_0x2479x12);return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[62]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1c){if(!_0x2479x1c){return _0x2479x10[_0xb7be[58]](404)};return _0x2479x1c[_0xb7be[67]]({attributes:[_0xb7be[26],_0xb7be[63],_0xb7be[64],_0xb7be[65],_0xb7be[31],_0xb7be[66]]})})[_0xb7be[19]](function(_0x2479x1d){return _0x2479x10[_0xb7be[17]](_0x2479x1d)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[68]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[68]](_0x2479xf[_0xb7be[69]])[_0xb7be[19]](function(_0x2479x1c){return _0x2479x10[_0xb7be[18]](201)[_0xb7be[17]](_0x2479x1c)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[70]]= function(_0x2479xf,_0x2479x10,_0x2479x11){_0x2479xf[_0xb7be[69]][_0xb7be[71]]= _0x2479xf[_0xb7be[30]][_0xb7be[26]];_0x2479xf[_0xb7be[69]][_0xb7be[72]]= _0x2479xf[_0xb7be[55]][_0xb7be[26]];_0x2479xf[_0xb7be[69]][_0xb7be[73]]= _0x2479xf[_0xb7be[69]][_0xb7be[73]];return FaxMessage[_0xb7be[68]](_0x2479xf[_0xb7be[69]],{include:[{model:FaxAttachment}],user:_0x2479xf[_0xb7be[30]]})[_0xb7be[19]](function(_0x2479x1e){return _0x2479x10[_0xb7be[18]](201)[_0xb7be[17]](_0x2479x1e)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[60]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1c){if(!_0x2479x1c){return _0x2479x10[_0xb7be[58]](404)};if(_0x2479x1c[_0xb7be[74]]){throw new Error(_0xb7be[75])};var _0x2479x1f=_[_0xb7be[37]](_0x2479x1c,_0x2479xf[_0xb7be[69]]);return _0x2479x1f[_0xb7be[76]]()})[_0xb7be[19]](function(_0x2479x1c){return _0x2479x10[_0xb7be[18]](200)[_0xb7be[17]](_0x2479x1c)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[77]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1c){if(!_0x2479x1c){return _0x2479x10[_0xb7be[58]](404)};return _0x2479x1c[_0xb7be[79]](_0x2479xf[_0xb7be[69]][_0xb7be[78]],{individualHooks:true})})[_0xb7be[19]](function(){return _0x2479x10[_0xb7be[58]](200)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[80]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxRoom[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1c){if(!_0x2479x1c){return _0x2479x10[_0xb7be[58]](404)};return _0x2479x1c[_0xb7be[80]]()})[_0xb7be[19]](function(){return _0x2479x10[_0xb7be[58]](204)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[81]]= function(_0x2479xf,_0x2479x10){return FaxRoom[_0xb7be[80]]({where:{id:_0x2479xf[_0xb7be[20]][_0xb7be[82]]},individualHooks:true})[_0xb7be[19]](function(){return _0x2479x10[_0xb7be[58]](200)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};function handleError(_0x2479x10,_0x2479x12){return _0x2479x10[_0xb7be[18]](500)[_0xb7be[17]](_0x2479x12)}exports[_0xb7be[83]]= function(_0x2479xf,_0x2479x10,_0x2479x11){var _0x2479x21={where:{id:_0x2479xf[_0xb7be[55]][_0xb7be[26]][_0xb7be[85]](_0xb7be[84])},user:_0x2479xf[_0xb7be[30]],individualHooks:true};return FaxRoom[_0xb7be[60]](_0x2479xf[_0xb7be[69]],_0x2479x21)[_0xb7be[19]](function(_0x2479x22){if(!_0x2479x22){return _0x2479x10[_0xb7be[58]](404)};return _0x2479x22})[_0xb7be[19]](function(_0x2479x22){return _0x2479x10[_0xb7be[58]](200)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})};exports[_0xb7be[86]]= function(_0x2479xf,_0x2479x10,_0x2479x11){return FaxMessage[_0xb7be[29]](_0x2479xf[_0xb7be[55]][_0xb7be[26]])[_0xb7be[19]](function(_0x2479x1e){return _0x2479x1e[_0xb7be[87]]({include:[{model:FaxAccount},{model:FaxMessage,include:[{model:FaxAttachment},{model:User,attributes:[_0xb7be[26],_0xb7be[63],_0xb7be[64],_0xb7be[65]]}]},{model:User,attributes:[_0xb7be[26],_0xb7be[63],_0xb7be[64],_0xb7be[65]]}]})})[_0xb7be[19]](function(_0x2479x1c){return _0x2479x10[_0xb7be[17]](_0x2479x1c)})[_0xb7be[16]](function(_0x2479x12){return handleError(_0x2479x10,_0x2479x12)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FaxRoom = require('../../models').FaxRoom;
-
-var FaxRoomEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FaxRoomEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FaxRoom.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FaxRoomEvents.emit(event + ':' + doc._id, doc);
- FaxRoomEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FaxRoomEvents;
+var _0x64a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x64a2[0];const EventEmitter=require(_0x64a2[1]);const FaxRoom=require(_0x64a2[3])[_0x64a2[2]];var FaxRoomEvents= new EventEmitter();FaxRoomEvents[_0x64a2[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x64a2[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x64a2[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x64a2[6]};for(var e in events){var event=events[e];FaxRoom[_0x64a2[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x2b6bx8,_0x2b6bx9,_0x2b6bxa){FaxRoomEvents[_0x64a2[10]](event+ _0x64a2[8]+ _0x2b6bx8[_0x64a2[9]],_0x2b6bx8);FaxRoomEvents[_0x64a2[10]](event,_0x2b6bx8);_0x2b6bxa(null)}}module[_0x64a2[11]]= FaxRoomEvents
\ No newline at end of file
-// /**
-// * Broadcast updates to client when the model changes
-// */
-//
-// 'use strict';
-//
-// var FaxRoom = require('../../models').FaxRoom;
-//
-// exports.register = function(socket) {
-// FaxRoom.afterCreate(function(doc, options) {
-// if (socket.role !== 'agent') {
-// // ADMIN OR USER
-// onSave(socket, doc.dataValues);
-// } else {
-// // AGENT
-// switch (doc.status) {
-// case 'OPEN':
-// if (socket.userId == options.userId)
-// onSave(socket, doc.dataValues);
-// break;
-//
-// default:
-// }
-// }
-// });
-// FaxRoom.afterUpdate(function(doc, options) {
-// onSave(socket, doc.dataValues);
-// });
-// FaxRoom.afterDestroy(function(doc) {
-// onRemove(socket, doc);
-// });
-// }
-//
-// function onSave(socket, doc, cb) {
-// socket.emit('fax_room:save', doc);
-// }
-//
-// function onRemove(socket, doc, cb) {
-// socket.emit('fax_room:remove', doc);
-// }
-
-'use strict';
-
-const FaxRoomEvents = require('./fax_room.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('fax_room:' + event, socket);
-
- FaxRoomEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc, options) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FaxRoomEvents.removeListener(event, listener);
- };
-}
+var _0x80d7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x80d7[0];const FaxRoomEvents=require(_0x80d7[1]);var events=[_0x80d7[2],_0x80d7[3]];exports[_0x80d7[4]]= function(_0xfc4fx3){for(var _0xfc4fx4=0,_0xfc4fx5=events[_0x80d7[5]];_0xfc4fx4< _0xfc4fx5;_0xfc4fx4++){var _0xfc4fx6=events[_0xfc4fx4];var _0xfc4fx7=createListener(_0x80d7[6]+ _0xfc4fx6,_0xfc4fx3);FaxRoomEvents[_0x80d7[7]](_0xfc4fx6,_0xfc4fx7);_0xfc4fx3[_0x80d7[7]](_0x80d7[8],removeListener(_0xfc4fx6,_0xfc4fx7))}};function createListener(_0xfc4fx6,_0xfc4fx3){return function(_0xfc4fx9,_0xfc4fxa){_0xfc4fx3[_0x80d7[9]](_0xfc4fx6,_0xfc4fx9)}}function removeListener(_0xfc4fx6,_0xfc4fx7){return function(){FaxRoomEvents[_0x80d7[10]](_0xfc4fx6,_0xfc4fx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./fax_room.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.index);
-router.get('/inbox', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.inbox);
-router.get('/describe', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.describe);
-router.get('/pending', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10, 17], ['admin']), controller.pending);
-router.get('/new', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10, 17], ['admin']), controller.new);
-router.get('/open', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10, 17], ['admin']), controller.open);
-router.get('/closed', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10, 17], ['admin']), controller.closed);
-router.get('/agent/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.agentIndex);
-router.get('/messages/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.getRoomByMessage);
-router.get('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'user', 'agent']), controller.show);
-router.get('/:id/agents', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.showAgents);
-router.post('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.create);
-router.post('/:id/messages', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'user', 'agent']), controller.createMessage);
-router.put('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.updatePatch);
-router.put('/:id/agents', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin', 'agent']), controller.updateAgents);
-router.put('/:id/open', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['agent']), controller.openRoom);
-router.delete('/', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasFax(), auth.isAuthenticated(), auth.hasModule([10], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x1920=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x46\x61\x78","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x69\x6E\x62\x6F\x78","\x61\x67\x65\x6E\x74","\x69\x6E\x62\x6F\x78","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x70\x65\x6E\x64\x69\x6E\x67","\x70\x65\x6E\x64\x69\x6E\x67","\x2F\x6E\x65\x77","\x6E\x65\x77","\x2F\x6F\x70\x65\x6E","\x6F\x70\x65\x6E","\x2F\x63\x6C\x6F\x73\x65\x64","\x63\x6C\x6F\x73\x65\x64","\x2F\x61\x67\x65\x6E\x74\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64","\x75\x73\x65\x72","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x70\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x2F\x3A\x69\x64\x2F\x6F\x70\x65\x6E","\x6F\x70\x65\x6E\x52\x6F\x6F\x6D","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x1920[0];var express=require(_0x1920[1]);var controller=require(_0x1920[2]);var auth=require(_0x1920[3]);var license=require(_0x1920[4]);var router=express.Router();router[_0x1920[12]](_0x1920[5],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9]]),controller[_0x1920[11]]);router[_0x1920[12]](_0x1920[13],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[14]]),controller[_0x1920[15]]);router[_0x1920[12]](_0x1920[16],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9]]),controller[_0x1920[17]]);router[_0x1920[12]](_0x1920[18],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10,17],[_0x1920[9]]),controller[_0x1920[19]]);router[_0x1920[12]](_0x1920[20],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10,17],[_0x1920[9]]),controller[_0x1920[21]]);router[_0x1920[12]](_0x1920[22],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10,17],[_0x1920[9]]),controller[_0x1920[23]]);router[_0x1920[12]](_0x1920[24],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10,17],[_0x1920[9]]),controller[_0x1920[25]]);router[_0x1920[12]](_0x1920[26],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9]]),controller[_0x1920[27]]);router[_0x1920[12]](_0x1920[28],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[14]]),controller[_0x1920[29]]);router[_0x1920[12]](_0x1920[30],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[31],_0x1920[14]]),controller[_0x1920[32]]);router[_0x1920[12]](_0x1920[33],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[14]]),controller[_0x1920[34]]);router[_0x1920[36]](_0x1920[5],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9]]),controller[_0x1920[35]]);router[_0x1920[36]](_0x1920[37],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[31],_0x1920[14]]),controller[_0x1920[38]]);router[_0x1920[40]](_0x1920[30],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[14]]),controller[_0x1920[39]]);router[_0x1920[42]](_0x1920[30],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[14]]),controller[_0x1920[41]]);router[_0x1920[40]](_0x1920[33],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9],_0x1920[14]]),controller[_0x1920[43]]);router[_0x1920[40]](_0x1920[44],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[14]]),controller[_0x1920[45]]);router[_0x1920[47]](_0x1920[5],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9]]),controller[_0x1920[46]]);router[_0x1920[47]](_0x1920[30],license[_0x1920[6]](),license[_0x1920[7]](),auth[_0x1920[8]](),auth[_0x1920[10]]([10],[_0x1920[9]]),controller[_0x1920[48]]);module[_0x1920[49]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/freshdesk/accounts -> index
- * POST /api/freshdesk/accounts -> create
- * GET /api/freshdesk/accounts/:id -> show
- * PUT /api/freshdesk/accounts/:id -> update
- * DELETE /api/freshdesk/accounts/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var util = require('util');
-var _fd = require('freshdesk');
-
-var FreshdeskAccount = require('../../models').FreshdeskAccount;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of FreshdeskAccounts
-exports.index = function(req, res) {
- var attributes = ['description', 'name', 'username', 'remoteUri'];
- var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
- var page = req.query.page ? parseInt(req.query.page, 10) : 0;
-
- var query = {
- where: {},
- limit: per_page,
- offset: page * per_page
- };
-
- _.forIn(req.query, function(value, key) {
- switch (key) {
- case 'per_page':
- case 'page':
- break;
- case 'sort_by':
- query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
- break;
- case 'sort_order':
- break;
- case '$':
- query.where.$or = [];
- attributes.forEach(function(attribute) {
- var tmp = {};
- tmp[attribute] = {
- $like: '%' + value + '%'
- };
-
- query.where.$or.push(tmp);
- });
- break;
- default:
- query.where[key] = {
- $like: {}
- };
- query.where[key].$like = '%' + value + '%';
- }
- });
-
- FreshdeskAccount
- .findAndCountAll(query)
- .then(function(result) {
-
- var total_pages = Math.ceil(result.count / per_page);
- var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
- var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
-
- return res.status(200).send({
- count: result.count,
- rows: result.rows,
- next_page: next_page,
- previous_page: previous_page,
- total_pages: total_pages
- });
-
- })
- .catch(function(err) {
- return res.status(500).send({
- error: 'Something blew up!'
- });
- });
-}
-
-// Gets a single FreshdeskAccount from the DB
-exports.show = function(req, res) {
- FreshdeskAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new FreshdeskAccount in the DB
-exports.create = function(req, res) {
- FreshdeskAccount.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing FreshdeskAccount in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- FreshdeskAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a FreshdeskAccount from the DB
-exports.destroy = function(req, res) {
- FreshdeskAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.bulkDestroy = function(req, res) {
- FreshdeskAccount
- .destroy({
- where: {
- id: req.query.id
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.checkAccount = function(req, res) {
- FreshdeskAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(account) {
- var freshdesk = new _fd(account.remoteUri, account.apiKey);
- freshdesk.listTickets(function(err, response, body) {
- if (err) {
- return res.sendStatus(400);
- }
- body = JSON.parse(body);
- if (body.require_login) {
- return res.sendStatus(400);
- }
- return res.sendStatus(200);
- })
- })
- .catch(handleError(res));
-}
-
-exports.accountValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
- FreshdeskAccount
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getFields = function(req, res, next) {
- FreshdeskAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(account) {
- var Freshdesk = new _fd(account.remoteUri, account.apiKey);
- Freshdesk.get('/ticket_fields.json', function(err, response, body) {
- if (err) {
- return next(err);
- }
- body = JSON.parse(body);
- return res.status(200).send(body);
- });
- })
- .catch(handleError(res));
-};
+var _0xc184=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x61\x70\x69\x4B\x65\x79","\x70\x61\x72\x73\x65","\x72\x65\x71\x75\x69\x72\x65\x5F\x6C\x6F\x67\x69\x6E","\x6C\x69\x73\x74\x54\x69\x63\x6B\x65\x74\x73","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x74\x69\x63\x6B\x65\x74\x5F\x66\x69\x65\x6C\x64\x73\x2E\x6A\x73\x6F\x6E","\x67\x65\x74"];_0xc184[0];var _=require(_0xc184[1]);var util=require(_0xc184[2]);var _fd=require(_0xc184[3]);var FreshdeskAccount=require(_0xc184[5])[_0xc184[4]];function handleError(_0x5b9dx6,_0x5b9dx7){_0x5b9dx7= _0x5b9dx7|| 500;return function(_0x5b9dx8){_0x5b9dx6[_0xc184[7]](_0x5b9dx7)[_0xc184[6]](_0x5b9dx8)}}function responseWithResult(_0x5b9dx6,_0x5b9dx7){_0x5b9dx7= _0x5b9dx7|| 200;return function(_0x5b9dxa){if(_0x5b9dxa){_0x5b9dx6[_0xc184[7]](_0x5b9dx7)[_0xc184[8]](_0x5b9dxa)}}}function handleEntityNotFound(_0x5b9dx6){return function(_0x5b9dxa){if(!_0x5b9dxa){_0x5b9dx6[_0xc184[7]](404)[_0xc184[9]]();return null};return _0x5b9dxa}}function saveUpdates(_0x5b9dxd){return function(_0x5b9dxa){return _0x5b9dxa[_0xc184[11]](_0x5b9dxd)[_0xc184[10]](function(_0x5b9dxe){return _0x5b9dxe})}}function removeEntity(_0x5b9dx6){return function(_0x5b9dxa){if(_0x5b9dxa){return _0x5b9dxa[_0xc184[12]]()[_0xc184[10]](function(){_0x5b9dx6[_0xc184[7]](204)[_0xc184[9]]()})}}}exports[_0xc184[13]]= function(_0x5b9dx10,_0x5b9dx6){var _0x5b9dx11=[_0xc184[14],_0xc184[15],_0xc184[16],_0xc184[17]];var _0x5b9dx12=_0x5b9dx10[_0xc184[19]][_0xc184[18]]?parseInt(_0x5b9dx10[_0xc184[19]][_0xc184[18]],10):100;var _0x5b9dx13=_0x5b9dx10[_0xc184[19]][_0xc184[20]]?parseInt(_0x5b9dx10[_0xc184[19]][_0xc184[20]],10):0;var _0x5b9dx14={where:{},limit:_0x5b9dx12,offset:_0x5b9dx13* _0x5b9dx12};_[_0xc184[34]](_0x5b9dx10[_0xc184[19]],function(_0x5b9dx15,_0x5b9dx16){switch(_0x5b9dx16){case _0xc184[18]:;case _0xc184[20]:break;case _0xc184[23]:_0x5b9dx14[_0xc184[21]]= util[_0xc184[26]](_0xc184[22],_0x5b9dx10[_0xc184[19]][_0xc184[23]],_0x5b9dx10[_0xc184[19]][_0xc184[24]]|| _0xc184[25])|| null;break;case _0xc184[24]:break;case _0xc184[32]:_0x5b9dx14[_0xc184[28]][_0xc184[27]]= [];_0x5b9dx11[_0xc184[31]](function(_0x5b9dx17){var _0x5b9dx18={};_0x5b9dx18[_0x5b9dx17]= {$like:_0xc184[29]+ _0x5b9dx15+ _0xc184[29]};_0x5b9dx14[_0xc184[28]][_0xc184[27]][_0xc184[30]](_0x5b9dx18)});break;default:_0x5b9dx14[_0xc184[28]][_0x5b9dx16]= {$like:{}};_0x5b9dx14[_0xc184[28]][_0x5b9dx16][_0xc184[33]]= _0xc184[29]+ _0x5b9dx15+ _0xc184[29]}});FreshdeskAccount[_0xc184[46]](_0x5b9dx14)[_0xc184[10]](function(_0x5b9dx19){var _0x5b9dx1a=Math[_0xc184[38]](_0x5b9dx19[_0xc184[37]]/ _0x5b9dx12);var _0x5b9dx1b=_0x5b9dx1a> (_0x5b9dx14[_0xc184[39]]+ 1)?util[_0xc184[26]](_0xc184[40],_0x5b9dx10[_0xc184[41]],_0x5b9dx10[_0xc184[43]][_0xc184[42]],_0x5b9dx10[_0xc184[44]],_0x5b9dx13+ 1):null;var _0x5b9dx1c=_0x5b9dx13> 0?util[_0xc184[26]](_0xc184[40],_0x5b9dx10[_0xc184[41]],_0x5b9dx10[_0xc184[43]][_0xc184[42]],_0x5b9dx10[_0xc184[44]],_0x5b9dx13- 1):null;return _0x5b9dx6[_0xc184[7]](200)[_0xc184[6]]({count:_0x5b9dx19[_0xc184[37]],rows:_0x5b9dx19[_0xc184[45]],next_page:_0x5b9dx1b,previous_page:_0x5b9dx1c,total_pages:_0x5b9dx1a})})[_0xc184[36]](function(_0x5b9dx8){return _0x5b9dx6[_0xc184[7]](500)[_0xc184[6]]({error:_0xc184[35]})})};exports[_0xc184[47]]= function(_0x5b9dx10,_0x5b9dx6){FreshdeskAccount[_0xc184[50]](_0x5b9dx10[_0xc184[49]][_0xc184[48]])[_0xc184[10]](handleEntityNotFound(_0x5b9dx6))[_0xc184[10]](responseWithResult(_0x5b9dx6))[_0xc184[36]](handleError(_0x5b9dx6))};exports[_0xc184[51]]= function(_0x5b9dx10,_0x5b9dx6){FreshdeskAccount[_0xc184[51]](_0x5b9dx10[_0xc184[52]])[_0xc184[10]](responseWithResult(_0x5b9dx6,201))[_0xc184[36]](handleError(_0x5b9dx6))};exports[_0xc184[53]]= function(_0x5b9dx10,_0x5b9dx6){if(_0x5b9dx10[_0xc184[52]][_0xc184[48]]){delete _0x5b9dx10[_0xc184[52]][_0xc184[48]]};FreshdeskAccount[_0xc184[50]](_0x5b9dx10[_0xc184[49]][_0xc184[48]])[_0xc184[10]](handleEntityNotFound(_0x5b9dx6))[_0xc184[10]](saveUpdates(_0x5b9dx10[_0xc184[52]]))[_0xc184[10]](responseWithResult(_0x5b9dx6))[_0xc184[36]](handleError(_0x5b9dx6))};exports[_0xc184[12]]= function(_0x5b9dx10,_0x5b9dx6){FreshdeskAccount[_0xc184[50]](_0x5b9dx10[_0xc184[49]][_0xc184[48]])[_0xc184[10]](handleEntityNotFound(_0x5b9dx6))[_0xc184[10]](removeEntity(_0x5b9dx6))[_0xc184[36]](handleError(_0x5b9dx6))};exports[_0xc184[54]]= function(_0x5b9dx10,_0x5b9dx6){FreshdeskAccount[_0xc184[12]]({where:{id:_0x5b9dx10[_0xc184[19]][_0xc184[48]]},individualHooks:true})[_0xc184[10]](function(){return _0x5b9dx6[_0xc184[55]](204)})[_0xc184[36]](function(_0x5b9dx8){return handleError(_0x5b9dx6,_0x5b9dx8)})};exports[_0xc184[56]]= function(_0x5b9dx10,_0x5b9dx6){FreshdeskAccount[_0xc184[50]](_0x5b9dx10[_0xc184[49]][_0xc184[48]])[_0xc184[10]](handleEntityNotFound(_0x5b9dx6))[_0xc184[10]](function(_0x5b9dx1d){var _0x5b9dx1e= new _fd(_0x5b9dx1d[_0xc184[17]],_0x5b9dx1d[_0xc184[57]]);_0x5b9dx1e[_0xc184[60]](function(_0x5b9dx8,_0x5b9dx1f,_0x5b9dx20){if(_0x5b9dx8){return _0x5b9dx6[_0xc184[55]](400)};_0x5b9dx20= JSON[_0xc184[58]](_0x5b9dx20);if(_0x5b9dx20[_0xc184[59]]){return _0x5b9dx6[_0xc184[55]](400)};return _0x5b9dx6[_0xc184[55]](200)})})[_0xc184[36]](handleError(_0x5b9dx6))};exports[_0xc184[61]]= function(_0x5b9dx10,_0x5b9dx6){var _0x5b9dx21={};_0x5b9dx21[_0x5b9dx10[_0xc184[49]][_0xc184[62]]]= _0x5b9dx10[_0xc184[52]][_0xc184[63]];FreshdeskAccount[_0xc184[46]]({where:_0x5b9dx21})[_0xc184[10]](function(_0x5b9dx19){if(_0x5b9dx19[_0xc184[37]]){return _0x5b9dx6[_0xc184[7]](200)[_0xc184[6]]({isValid:false,value:_0x5b9dx10[_0xc184[52]][_0xc184[63]]})};return _0x5b9dx6[_0xc184[7]](200)[_0xc184[6]]({isValid:true,value:_0x5b9dx10[_0xc184[52]][_0xc184[63]]})})[_0xc184[36]](function(_0x5b9dx8){return handleError(_0x5b9dx6,_0x5b9dx8)})};exports[_0xc184[64]]= function(_0x5b9dx10,_0x5b9dx6,_0x5b9dx22){FreshdeskAccount[_0xc184[50]](_0x5b9dx10[_0xc184[49]][_0xc184[48]])[_0xc184[10]](handleEntityNotFound(_0x5b9dx6))[_0xc184[10]](function(_0x5b9dx1d){var _0x5b9dx23= new _fd(_0x5b9dx1d[_0xc184[17]],_0x5b9dx1d[_0xc184[57]]);_0x5b9dx23[_0xc184[66]](_0xc184[65],function(_0x5b9dx8,_0x5b9dx1f,_0x5b9dx20){if(_0x5b9dx8){return _0x5b9dx22(_0x5b9dx8)};_0x5b9dx20= JSON[_0xc184[58]](_0x5b9dx20);return _0x5b9dx6[_0xc184[7]](200)[_0xc184[6]](_0x5b9dx20)})})[_0xc184[36]](handleError(_0x5b9dx6))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FreshdeskAccount = require('../../models').FreshdeskAccount;
-
-var FreshdeskAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FreshdeskAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FreshdeskAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FreshdeskAccountEvents.emit(event + ':' + doc._id, doc);
- FreshdeskAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FreshdeskAccountEvents;
+var _0xd306=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xd306[0];const EventEmitter=require(_0xd306[1]);const FreshdeskAccount=require(_0xd306[3])[_0xd306[2]];var FreshdeskAccountEvents= new EventEmitter();FreshdeskAccountEvents[_0xd306[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xd306[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xd306[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xd306[6]};for(var e in events){var event=events[e];FreshdeskAccount[_0xd306[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x287cx8,_0x287cx9,_0x287cxa){FreshdeskAccountEvents[_0xd306[10]](event+ _0xd306[8]+ _0x287cx8[_0xd306[9]],_0x287cx8);FreshdeskAccountEvents[_0xd306[10]](event,_0x287cx8);_0x287cxa(null)}}module[_0xd306[11]]= FreshdeskAccountEvents
\ No newline at end of file
-'use strict';
-
-const FreshdeskAccountEvents = require('./freshdesk_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('freshdesk_account:' + event, socket);
-
- FreshdeskAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FreshdeskAccountEvents.removeListener(event, listener);
- };
-}
+var _0xc298=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc298[0];const FreshdeskAccountEvents=require(_0xc298[1]);var events=[_0xc298[2],_0xc298[3]];exports[_0xc298[4]]= function(_0x10dax3){for(var _0x10dax4=0,_0x10dax5=events[_0xc298[5]];_0x10dax4< _0x10dax5;_0x10dax4++){var _0x10dax6=events[_0x10dax4];var _0x10dax7=createListener(_0xc298[6]+ _0x10dax6,_0x10dax3);FreshdeskAccountEvents[_0xc298[7]](_0x10dax6,_0x10dax7);_0x10dax3[_0xc298[7]](_0xc298[8],removeListener(_0x10dax6,_0x10dax7))}};function createListener(_0x10dax6,_0x10dax3){return function(_0x10dax9){_0x10dax3[_0xc298[9]](_0x10dax6,_0x10dax9)}}function removeListener(_0x10dax6,_0x10dax7){return function(){FreshdeskAccountEvents[_0xc298[10]](_0x10dax6,_0x10dax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./freshdesk_account.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.get('/:id/fields', auth.isAuthenticated(), controller.getFields);
-router.get('/:id/check', auth.isAuthenticated(), controller.checkAccount);
-router.post('/validate/:field', auth.isAuthenticated(), controller.accountValidation);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/', auth.isAuthenticated(), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0x9646=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x9646[0];var express=require(_0x9646[1]);var auth=require(_0x9646[2]);var controller=require(_0x9646[3]);var router=express.Router();router[_0x9646[7]](_0x9646[4],auth[_0x9646[5]](),controller[_0x9646[6]]);router[_0x9646[7]](_0x9646[8],auth[_0x9646[5]](),controller[_0x9646[9]]);router[_0x9646[7]](_0x9646[10],auth[_0x9646[5]](),controller[_0x9646[11]]);router[_0x9646[7]](_0x9646[12],auth[_0x9646[5]](),controller[_0x9646[13]]);router[_0x9646[16]](_0x9646[14],auth[_0x9646[5]](),controller[_0x9646[15]]);router[_0x9646[16]](_0x9646[4],auth[_0x9646[5]](),controller[_0x9646[17]]);router[_0x9646[19]](_0x9646[8],auth[_0x9646[5]](),controller[_0x9646[18]]);router[_0x9646[20]](_0x9646[8],auth[_0x9646[5]](),controller[_0x9646[18]]);router[_0x9646[22]](_0x9646[4],auth[_0x9646[5]](),controller[_0x9646[21]]);router[_0x9646[22]](_0x9646[8],auth[_0x9646[5]](),controller[_0x9646[23]]);module[_0x9646[24]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/freshdesk/configurations -> index
- * POST /api/freshdesk/configurations -> create
- * GET /api/freshdesk/configurations/:id -> show
- * PUT /api/freshdesk/configurations/:id -> update
- * DELETE /api/freshdesk/configurations/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var FreshdeskConfiguration = require('../../models').FreshdeskConfiguration;
-var FreshdeskField = require('../../models').FreshdeskField;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of FreshdeskConfigurations
-exports.index = function(req, res) {
- FreshdeskConfiguration.findAll({
- where: req.query
- })
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single FreshdeskConfiguration from the DB
-exports.show = function(req, res) {
- FreshdeskConfiguration.find({
- where: {
- id: req.params.id
- },
- include: [{
- model: FreshdeskField,
- as: 'Subject'
- }, {
- model: FreshdeskField,
- as: 'Description'
- }, {
- model: FreshdeskField,
- as: 'Field'
- }]
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new FreshdeskConfiguration in the DB
-exports.create = function(req, res) {
- FreshdeskConfiguration.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing FreshdeskConfiguration in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- FreshdeskConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a FreshdeskConfiguration from the DB
-exports.destroy = function(req, res) {
- FreshdeskConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.addConfigurationField = function(req, res, next) {
- // console.log(req.params);
- var freshdeskConfiguration;
- FreshdeskConfiguration
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(salesforce_configuration) {
- freshdeskConfiguration = salesforce_configuration;
- return FreshdeskField.create(req.body)
- })
- .then(function(freshdeskField) {
- switch (req.params.type) {
- case 'subject':
- return [freshdeskConfiguration.addSubject(freshdeskField), freshdeskField];
- case 'description':
- return [freshdeskConfiguration.addDescription(freshdeskField), freshdeskField];
- case 'field':
- return [freshdeskConfiguration.addField(freshdeskField), freshdeskField];
- }
- })
- .spread(function(data, freshdeskField) {
- return res.status(201).json(freshdeskField);
- })
- .catch(handleError(res));
-};
+var _0xe76a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xe76a[0];var _=require(_0xe76a[1]);var FreshdeskConfiguration=require(_0xe76a[3])[_0xe76a[2]];var FreshdeskField=require(_0xe76a[3])[_0xe76a[4]];function handleError(_0x42d4x5,_0x42d4x6){_0x42d4x6= _0x42d4x6|| 500;return function(_0x42d4x7){_0x42d4x5[_0xe76a[6]](_0x42d4x6)[_0xe76a[5]](_0x42d4x7)}}function responseWithResult(_0x42d4x5,_0x42d4x6){_0x42d4x6= _0x42d4x6|| 200;return function(_0x42d4x9){if(_0x42d4x9){_0x42d4x5[_0xe76a[6]](_0x42d4x6)[_0xe76a[7]](_0x42d4x9)}}}function handleEntityNotFound(_0x42d4x5){return function(_0x42d4x9){if(!_0x42d4x9){_0x42d4x5[_0xe76a[6]](404)[_0xe76a[8]]();return null};return _0x42d4x9}}function saveUpdates(_0x42d4xc){return function(_0x42d4x9){return _0x42d4x9[_0xe76a[10]](_0x42d4xc)[_0xe76a[9]](function(_0x42d4xd){return _0x42d4xd})}}function removeEntity(_0x42d4x5){return function(_0x42d4x9){if(_0x42d4x9){return _0x42d4x9[_0xe76a[11]]()[_0xe76a[9]](function(){_0x42d4x5[_0xe76a[6]](204)[_0xe76a[8]]()})}}}exports[_0xe76a[12]]= function(_0x42d4xf,_0x42d4x5){FreshdeskConfiguration[_0xe76a[15]]({where:_0x42d4xf[_0xe76a[14]]})[_0xe76a[9]](responseWithResult(_0x42d4x5))[_0xe76a[13]](handleError(_0x42d4x5))};exports[_0xe76a[16]]= function(_0x42d4xf,_0x42d4x5){FreshdeskConfiguration[_0xe76a[22]]({where:{id:_0x42d4xf[_0xe76a[18]][_0xe76a[17]]},include:[{model:FreshdeskField,as:_0xe76a[19]},{model:FreshdeskField,as:_0xe76a[20]},{model:FreshdeskField,as:_0xe76a[21]}]})[_0xe76a[9]](handleEntityNotFound(_0x42d4x5))[_0xe76a[9]](responseWithResult(_0x42d4x5))[_0xe76a[13]](handleError(_0x42d4x5))};exports[_0xe76a[23]]= function(_0x42d4xf,_0x42d4x5){FreshdeskConfiguration[_0xe76a[23]](_0x42d4xf[_0xe76a[24]])[_0xe76a[9]](responseWithResult(_0x42d4x5,201))[_0xe76a[13]](handleError(_0x42d4x5))};exports[_0xe76a[25]]= function(_0x42d4xf,_0x42d4x5){if(_0x42d4xf[_0xe76a[24]][_0xe76a[17]]){delete _0x42d4xf[_0xe76a[24]][_0xe76a[17]]};FreshdeskConfiguration[_0xe76a[26]](_0x42d4xf[_0xe76a[18]][_0xe76a[17]])[_0xe76a[9]](handleEntityNotFound(_0x42d4x5))[_0xe76a[9]](saveUpdates(_0x42d4xf[_0xe76a[24]]))[_0xe76a[9]](responseWithResult(_0x42d4x5))[_0xe76a[13]](handleError(_0x42d4x5))};exports[_0xe76a[11]]= function(_0x42d4xf,_0x42d4x5){FreshdeskConfiguration[_0xe76a[26]](_0x42d4xf[_0xe76a[18]][_0xe76a[17]])[_0xe76a[9]](handleEntityNotFound(_0x42d4x5))[_0xe76a[9]](removeEntity(_0x42d4x5))[_0xe76a[13]](handleError(_0x42d4x5))};exports[_0xe76a[27]]= function(_0x42d4xf,_0x42d4x5,_0x42d4x10){var _0x42d4x11;FreshdeskConfiguration[_0xe76a[26]](_0x42d4xf[_0xe76a[18]][_0xe76a[17]])[_0xe76a[9]](handleEntityNotFound(_0x42d4x5))[_0xe76a[9]](function(_0x42d4x14){_0x42d4x11= _0x42d4x14;return FreshdeskField[_0xe76a[23]](_0x42d4xf[_0xe76a[24]])})[_0xe76a[9]](function(_0x42d4x13){switch(_0x42d4xf[_0xe76a[18]][_0xe76a[35]]){case _0xe76a[30]:return [_0x42d4x11[_0xe76a[29]](_0x42d4x13),_0x42d4x13];case _0xe76a[32]:return [_0x42d4x11[_0xe76a[31]](_0x42d4x13),_0x42d4x13];case _0xe76a[34]:return [_0x42d4x11[_0xe76a[33]](_0x42d4x13),_0x42d4x13]}})[_0xe76a[28]](function(_0x42d4x12,_0x42d4x13){return _0x42d4x5[_0xe76a[6]](201)[_0xe76a[7]](_0x42d4x13)})[_0xe76a[13]](handleError(_0x42d4x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FreshdeskConfiguration = require('../../models').FreshdeskConfiguration;
-
-var FreshdeskConfigurationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FreshdeskConfigurationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FreshdeskConfiguration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FreshdeskConfigurationEvents.emit(event + ':' + doc._id, doc);
- FreshdeskConfigurationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FreshdeskConfigurationEvents;
+var _0x7a9b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7a9b[0];const EventEmitter=require(_0x7a9b[1]);const FreshdeskConfiguration=require(_0x7a9b[3])[_0x7a9b[2]];var FreshdeskConfigurationEvents= new EventEmitter();FreshdeskConfigurationEvents[_0x7a9b[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7a9b[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7a9b[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7a9b[6]};for(var e in events){var event=events[e];FreshdeskConfiguration[_0x7a9b[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xa444x8,_0xa444x9,_0xa444xa){FreshdeskConfigurationEvents[_0x7a9b[10]](event+ _0x7a9b[8]+ _0xa444x8[_0x7a9b[9]],_0xa444x8);FreshdeskConfigurationEvents[_0x7a9b[10]](event,_0xa444x8);_0xa444xa(null)}}module[_0x7a9b[11]]= FreshdeskConfigurationEvents
\ No newline at end of file
-'use strict';
-
-const FreshdeskConfigurationEvents = require('./freshdesk_configuration.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('freshdesk_configuration:' + event, socket);
-
- FreshdeskConfigurationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FreshdeskConfigurationEvents.removeListener(event, listener);
- };
-}
+var _0x8a89=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x8a89[0];const FreshdeskConfigurationEvents=require(_0x8a89[1]);var events=[_0x8a89[2],_0x8a89[3]];exports[_0x8a89[4]]= function(_0x31c1x3){for(var _0x31c1x4=0,_0x31c1x5=events[_0x8a89[5]];_0x31c1x4< _0x31c1x5;_0x31c1x4++){var _0x31c1x6=events[_0x31c1x4];var _0x31c1x7=createListener(_0x8a89[6]+ _0x31c1x6,_0x31c1x3);FreshdeskConfigurationEvents[_0x8a89[7]](_0x31c1x6,_0x31c1x7);_0x31c1x3[_0x8a89[7]](_0x8a89[8],removeListener(_0x31c1x6,_0x31c1x7))}};function createListener(_0x31c1x6,_0x31c1x3){return function(_0x31c1x9){_0x31c1x3[_0x8a89[9]](_0x31c1x6,_0x31c1x9)}}function removeListener(_0x31c1x6,_0x31c1x7){return function(){FreshdeskConfigurationEvents[_0x8a89[10]](_0x31c1x6,_0x31c1x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./freshdesk_configuration.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.post('/:id/:type', auth.isAuthenticated(), controller.addConfigurationField);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0xf5df=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf5df[0];var express=require(_0xf5df[1]);var auth=require(_0xf5df[2]);var controller=require(_0xf5df[3]);var router=express.Router();router[_0xf5df[7]](_0xf5df[4],auth[_0xf5df[5]](),controller[_0xf5df[6]]);router[_0xf5df[7]](_0xf5df[8],auth[_0xf5df[5]](),controller[_0xf5df[9]]);router[_0xf5df[11]](_0xf5df[4],auth[_0xf5df[5]](),controller[_0xf5df[10]]);router[_0xf5df[13]](_0xf5df[8],auth[_0xf5df[5]](),controller[_0xf5df[12]]);router[_0xf5df[11]](_0xf5df[14],auth[_0xf5df[5]](),controller[_0xf5df[15]]);router[_0xf5df[16]](_0xf5df[8],auth[_0xf5df[5]](),controller[_0xf5df[12]]);router[_0xf5df[18]](_0xf5df[8],auth[_0xf5df[5]](),controller[_0xf5df[17]]);module[_0xf5df[19]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/freshdesk/fields -> index
- * POST /api/freshdesk/fields -> create
- * GET /api/freshdesk/fields/:id -> show
- * PUT /api/freshdesk/fields/:id -> update
- * DELETE /api/freshdesk/fields/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var FreshdeskField = require('../../models').FreshdeskField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of FreshdeskFields
-exports.index = function(req, res) {
- FreshdeskField.findAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single FreshdeskField from the DB
-exports.show = function(req, res) {
- FreshdeskField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new FreshdeskField in the DB
-exports.create = function(req, res) {
- FreshdeskField.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing FreshdeskField in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- FreshdeskField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a FreshdeskField from the DB
-exports.destroy = function(req, res) {
- FreshdeskField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x50b9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x50b9[0];var _=require(_0x50b9[1]);var FreshdeskField=require(_0x50b9[3])[_0x50b9[2]];function handleError(_0xf719x4,_0xf719x5){_0xf719x5= _0xf719x5|| 500;return function(_0xf719x6){_0xf719x4[_0x50b9[5]](_0xf719x5)[_0x50b9[4]](_0xf719x6)}}function responseWithResult(_0xf719x4,_0xf719x5){_0xf719x5= _0xf719x5|| 200;return function(_0xf719x8){if(_0xf719x8){_0xf719x4[_0x50b9[5]](_0xf719x5)[_0x50b9[6]](_0xf719x8)}}}function handleEntityNotFound(_0xf719x4){return function(_0xf719x8){if(!_0xf719x8){_0xf719x4[_0x50b9[5]](404)[_0x50b9[7]]();return null};return _0xf719x8}}function saveUpdates(_0xf719xb){return function(_0xf719x8){return _0xf719x8[_0x50b9[9]](_0xf719xb)[_0x50b9[8]](function(_0xf719xc){return _0xf719xc})}}function removeEntity(_0xf719x4){return function(_0xf719x8){if(_0xf719x8){return _0xf719x8[_0x50b9[10]]()[_0x50b9[8]](function(){_0xf719x4[_0x50b9[5]](204)[_0x50b9[7]]()})}}}exports[_0x50b9[11]]= function(_0xf719xe,_0xf719x4){FreshdeskField[_0x50b9[13]]()[_0x50b9[8]](responseWithResult(_0xf719x4))[_0x50b9[12]](handleError(_0xf719x4))};exports[_0x50b9[14]]= function(_0xf719xe,_0xf719x4){FreshdeskField[_0x50b9[17]](_0xf719xe[_0x50b9[16]][_0x50b9[15]])[_0x50b9[8]](handleEntityNotFound(_0xf719x4))[_0x50b9[8]](responseWithResult(_0xf719x4))[_0x50b9[12]](handleError(_0xf719x4))};exports[_0x50b9[18]]= function(_0xf719xe,_0xf719x4){FreshdeskField[_0x50b9[18]](_0xf719xe[_0x50b9[19]])[_0x50b9[8]](responseWithResult(_0xf719x4,201))[_0x50b9[12]](handleError(_0xf719x4))};exports[_0x50b9[20]]= function(_0xf719xe,_0xf719x4){if(_0xf719xe[_0x50b9[19]][_0x50b9[15]]){delete _0xf719xe[_0x50b9[19]][_0x50b9[15]]};FreshdeskField[_0x50b9[17]](_0xf719xe[_0x50b9[16]][_0x50b9[15]])[_0x50b9[8]](handleEntityNotFound(_0xf719x4))[_0x50b9[8]](saveUpdates(_0xf719xe[_0x50b9[19]]))[_0x50b9[8]](responseWithResult(_0xf719x4))[_0x50b9[12]](handleError(_0xf719x4))};exports[_0x50b9[10]]= function(_0xf719xe,_0xf719x4){FreshdeskField[_0x50b9[17]](_0xf719xe[_0x50b9[16]][_0x50b9[15]])[_0x50b9[8]](handleEntityNotFound(_0xf719x4))[_0x50b9[8]](removeEntity(_0xf719x4))[_0x50b9[12]](handleError(_0xf719x4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const FreshdeskField = require('../../models').FreshdeskField;
-
-var FreshdeskFieldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-FreshdeskFieldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- FreshdeskField.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- FreshdeskFieldEvents.emit(event + ':' + doc._id, doc);
- FreshdeskFieldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = FreshdeskFieldEvents;
+var _0x4c30=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4c30[0];const EventEmitter=require(_0x4c30[1]);const FreshdeskField=require(_0x4c30[3])[_0x4c30[2]];var FreshdeskFieldEvents= new EventEmitter();FreshdeskFieldEvents[_0x4c30[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x4c30[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x4c30[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x4c30[6]};for(var e in events){var event=events[e];FreshdeskField[_0x4c30[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3a75x8,_0x3a75x9,_0x3a75xa){FreshdeskFieldEvents[_0x4c30[10]](event+ _0x4c30[8]+ _0x3a75x8[_0x4c30[9]],_0x3a75x8);FreshdeskFieldEvents[_0x4c30[10]](event,_0x3a75x8);_0x3a75xa(null)}}module[_0x4c30[11]]= FreshdeskFieldEvents
\ No newline at end of file
-'use strict';
-
-const FreshdeskFieldEvents = require('./freshdesk_field.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('freshdesk_field:' + event, socket);
-
- FreshdeskFieldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- FreshdeskFieldEvents.removeListener(event, listener);
- };
-}
+var _0xa78b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xa78b[0];const FreshdeskFieldEvents=require(_0xa78b[1]);var events=[_0xa78b[2],_0xa78b[3]];exports[_0xa78b[4]]= function(_0xa14bx3){for(var _0xa14bx4=0,_0xa14bx5=events[_0xa78b[5]];_0xa14bx4< _0xa14bx5;_0xa14bx4++){var _0xa14bx6=events[_0xa14bx4];var _0xa14bx7=createListener(_0xa78b[6]+ _0xa14bx6,_0xa14bx3);FreshdeskFieldEvents[_0xa78b[7]](_0xa14bx6,_0xa14bx7);_0xa14bx3[_0xa78b[7]](_0xa78b[8],removeListener(_0xa14bx6,_0xa14bx7))}};function createListener(_0xa14bx6,_0xa14bx3){return function(_0xa14bx9){_0xa14bx3[_0xa78b[9]](_0xa14bx6,_0xa14bx9)}}function removeListener(_0xa14bx6,_0xa14bx7){return function(){FreshdeskFieldEvents[_0xa78b[10]](_0xa14bx6,_0xa14bx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./freshdesk_field.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0x9acc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9acc[0];var express=require(_0x9acc[1]);var auth=require(_0x9acc[2]);var controller=require(_0x9acc[3]);var router=express.Router();router[_0x9acc[7]](_0x9acc[4],auth[_0x9acc[5]](),controller[_0x9acc[6]]);router[_0x9acc[7]](_0x9acc[8],auth[_0x9acc[5]](),controller[_0x9acc[9]]);router[_0x9acc[11]](_0x9acc[4],auth[_0x9acc[5]](),controller[_0x9acc[10]]);router[_0x9acc[13]](_0x9acc[8],auth[_0x9acc[5]](),controller[_0x9acc[12]]);router[_0x9acc[14]](_0x9acc[8],auth[_0x9acc[5]](),controller[_0x9acc[12]]);router[_0x9acc[16]](_0x9acc[8],auth[_0x9acc[5]](),controller[_0x9acc[15]]);module[_0x9acc[17]]= router
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./integration.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19], ['admin', 'agent']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-
-module.exports = router;
+var _0x8010=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8010[0];var express=require(_0x8010[1]);var controller=require(_0x8010[2]);var auth=require(_0x8010[3]);var router=express.Router();router[_0x8010[10]](_0x8010[4],auth[_0x8010[5]](),auth[_0x8010[8]]([19],[_0x8010[6],_0x8010[7]]),controller[_0x8010[9]]);router[_0x8010[10]](_0x8010[11],auth[_0x8010[5]](),auth[_0x8010[12]](_0x8010[6]),controller[_0x8010[13]]);router[_0x8010[15]](_0x8010[4],auth[_0x8010[5]](),auth[_0x8010[12]](_0x8010[6]),controller[_0x8010[14]]);router[_0x8010[17]](_0x8010[11],auth[_0x8010[5]](),auth[_0x8010[12]](_0x8010[6]),controller[_0x8010[16]]);router[_0x8010[19]](_0x8010[11],auth[_0x8010[5]](),auth[_0x8010[12]](_0x8010[6]),controller[_0x8010[18]]);module[_0x8010[20]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var uploadFile = require('upload-file');
-var config = require('../../config/environment');
-var path = require('path');
-var sr = require('simple-random');
-var admZip = require('adm-zip');
-var str2json = require('string-to-json');
-var fs = require('fs');
-var Util = require('../../config/util');
-
-var Integration = require('../../models').Integration;
-
-// Get list of Integration
-exports.index = function(req, res, next) {
- return Integration
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single integration
-exports.show = function(req, res) {
- return Integration
- .findById(req.params.id)
- .then(function(integration) {
- if (!integration) {
- return res.sendStatus(404);
- }
- return res.send(integration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new integration in the DB.
-exports.create = function(req, res) {
- var upload = new uploadFile({
- dest: path.join(config.root, 'server/files/integrations'),
- maxFileSize: 5 * 1000000,
- maxNumberOfFiles: 1,
- minNumberOfFiles: 1,
- acceptFileTypes: /(\.|\/)(zip)$/i,
- messages: {
- maxNumberOfFiles: "Max number of files upload exceeded",
- acceptFileTypes: "Only zip format accepted",
- maxFileSize: "The maximum file size is 5 Mb",
- invalidRequest: "Invalid request"
- }
- });
-
- upload.on('end', function(fields, files) {
- var zip = new admZip(files.file.path);
-
- var manifest = false;
- var zipEntries = zip.getEntries();
- zipEntries.forEach(function(zipEntry) {
- if (zipEntry.name === 'manifest.json') {
- var str = zipEntry.getData().toString('utf8');
- console.log('uploadZip', str);
- try {
- manifest = JSON.parse(str);
- console.log('uploadZip', manifest);
- Integration
- .create(_.merge(files.file, manifest))
- .then(function(integration) {
-
- // Extract All Zip and overwrite old directory
- zip.extractAllTo(path.join(config.root,
- 'server/files/integrations'), true);
-
- return res.status(201).send(integration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- } catch (e) {
- console.log(e);
- var err = {
- errors: [{
- type: 'json',
- message: e
- }]
- };
- return handleError(res, err);
- }
- }
- });
-
- fs.unlinkSync(files.file.path);
-
- if (!manifest) {
- var err = {
- errors: [{
- type: 'manifest',
- message: 'manifest.json not found'
- }]
- };
- return handleError(res, err);
- }
- });
-
- upload.on('error', function(e) {
- var err = {
- errors: [{
- type: 'upload',
- message: e
- }]
- };
- return handleError(res, err);
- });
-
- upload.parse(req);
-};
-
-// Updates an existing integration in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Integration
- .findById(req.params.id)
- .then(function(integration) {
- if (!integration) {
- return res.sendStatus(404);
- }
- var updated = _.merge(integration, req.body);
- return updated.save();
- })
- .then(function(integration) {
- return res.status(200).send(integration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a integration from the DB.
-exports.destroy = function(req, res) {
- return Integration
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(integration) {
- if (!integration) {
- return res.sendStatus(404);
- }
- return integration.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xeeb2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x61\x64\x6D\x2D\x7A\x69\x70","\x73\x74\x72\x69\x6E\x67\x2D\x74\x6F\x2D\x6A\x73\x6F\x6E","\x66\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x6A\x6F\x69\x6E","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x7A\x69\x70\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x67\x65\x74\x45\x6E\x74\x72\x69\x65\x73","\x6E\x61\x6D\x65","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E","\x75\x74\x66\x38","\x67\x65\x74\x44\x61\x74\x61","\x75\x70\x6C\x6F\x61\x64\x5A\x69\x70","\x6C\x6F\x67","\x70\x61\x72\x73\x65","\x65\x78\x74\x72\x61\x63\x74\x41\x6C\x6C\x54\x6F","\x6D\x65\x72\x67\x65","\x6A\x73\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x75\x6E\x6C\x69\x6E\x6B\x53\x79\x6E\x63","\x6D\x61\x6E\x69\x66\x65\x73\x74","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x6F\x6E","\x65\x72\x72\x6F\x72","\x75\x70\x6C\x6F\x61\x64","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0xeeb2[0];var _=require(_0xeeb2[1]);var uploadFile=require(_0xeeb2[2]);var config=require(_0xeeb2[3]);var path=require(_0xeeb2[4]);var sr=require(_0xeeb2[5]);var admZip=require(_0xeeb2[6]);var str2json=require(_0xeeb2[7]);var fs=require(_0xeeb2[8]);var Util=require(_0xeeb2[9]);var Integration=require(_0xeeb2[11])[_0xeeb2[10]];exports[_0xeeb2[12]]= function(_0x242fxb,_0x242fxc,_0x242fxd){return Integration[_0xeeb2[19]](Util[_0xeeb2[18]](_0x242fxb[_0xeeb2[17]]))[_0xeeb2[16]](function(_0x242fxf){_0x242fxc[_0xeeb2[15]](200)[_0xeeb2[14]](_0x242fxf)})[_0xeeb2[13]](function(_0x242fxe){return handleError(_0x242fxc,_0x242fxe)})};exports[_0xeeb2[20]]= function(_0x242fxb,_0x242fxc){return Integration[_0xeeb2[24]](_0x242fxb[_0xeeb2[23]][_0xeeb2[22]])[_0xeeb2[16]](function(_0x242fx10){if(!_0x242fx10){return _0x242fxc[_0xeeb2[21]](404)};return _0x242fxc[_0xeeb2[14]](_0x242fx10)})[_0xeeb2[13]](function(_0x242fxe){return handleError(_0x242fxc,_0x242fxe)})};exports[_0xeeb2[25]]= function(_0x242fxb,_0x242fxc){var _0x242fx11= new uploadFile({dest:path[_0xeeb2[28]](config[_0xeeb2[26]],_0xeeb2[27]),maxFileSize:5* 1000000,maxNumberOfFiles:1,minNumberOfFiles:1,acceptFileTypes:/(\.|\/)(zip)$/i,messages:{maxNumberOfFiles:_0xeeb2[29],acceptFileTypes:_0xeeb2[30],maxFileSize:_0xeeb2[31],invalidRequest:_0xeeb2[32]}});_0x242fx11[_0xeeb2[50]](_0xeeb2[33],function(_0x242fx12,_0x242fx13){var _0x242fx14= new admZip(_0x242fx13[_0xeeb2[34]][_0xeeb2[4]]);var _0x242fx15=false;var _0x242fx16=_0x242fx14[_0xeeb2[35]]();_0x242fx16[_0xeeb2[46]](function(_0x242fx17){if(_0x242fx17[_0xeeb2[36]]=== _0xeeb2[37]){var _0x242fx18=_0x242fx17[_0xeeb2[39]]().toString(_0xeeb2[38]);console[_0xeeb2[41]](_0xeeb2[40],_0x242fx18);try{_0x242fx15= JSON[_0xeeb2[42]](_0x242fx18);console[_0xeeb2[41]](_0xeeb2[40],_0x242fx15);Integration[_0xeeb2[25]](_[_0xeeb2[44]](_0x242fx13[_0xeeb2[34]],_0x242fx15))[_0xeeb2[16]](function(_0x242fx10){_0x242fx14[_0xeeb2[43]](path[_0xeeb2[28]](config[_0xeeb2[26]],_0xeeb2[27]),true);return _0x242fxc[_0xeeb2[15]](201)[_0xeeb2[14]](_0x242fx10)})[_0xeeb2[13]](function(_0x242fxe){return handleError(_0x242fxc,_0x242fxe)})}catch(e){console[_0xeeb2[41]](e);var _0x242fxe={errors:[{type:_0xeeb2[45],message:e}]};return handleError(_0x242fxc,_0x242fxe)}}});fs[_0xeeb2[47]](_0x242fx13[_0xeeb2[34]][_0xeeb2[4]]);if(!_0x242fx15){var _0x242fxe={errors:[{type:_0xeeb2[48],message:_0xeeb2[49]}]};return handleError(_0x242fxc,_0x242fxe)}});_0x242fx11[_0xeeb2[50]](_0xeeb2[51],function(_0x242fx19){var _0x242fxe={errors:[{type:_0xeeb2[52],message:_0x242fx19}]};return handleError(_0x242fxc,_0x242fxe)});_0x242fx11[_0xeeb2[42]](_0x242fxb)};exports[_0xeeb2[53]]= function(_0x242fxb,_0x242fxc){if(_0x242fxb[_0xeeb2[54]][_0xeeb2[22]]){delete _0x242fxb[_0xeeb2[54]][_0xeeb2[22]]};return Integration[_0xeeb2[24]](_0x242fxb[_0xeeb2[23]][_0xeeb2[22]])[_0xeeb2[16]](function(_0x242fx10){if(!_0x242fx10){return _0x242fxc[_0xeeb2[21]](404)};var _0x242fx1a=_[_0xeeb2[44]](_0x242fx10,_0x242fxb[_0xeeb2[54]]);return _0x242fx1a[_0xeeb2[55]]()})[_0xeeb2[16]](function(_0x242fx10){return _0x242fxc[_0xeeb2[15]](200)[_0xeeb2[14]](_0x242fx10)})[_0xeeb2[13]](function(_0x242fxe){return handleError(_0x242fxc,_0x242fxe)})};exports[_0xeeb2[56]]= function(_0x242fxb,_0x242fxc){return Integration[_0xeeb2[57]]({where:{id:_0x242fxb[_0xeeb2[23]][_0xeeb2[22]]}})[_0xeeb2[16]](function(_0x242fx10){if(!_0x242fx10){return _0x242fxc[_0xeeb2[21]](404)};return _0x242fx10[_0xeeb2[56]]()})[_0xeeb2[16]](function(){return _0x242fxc[_0xeeb2[21]](204)})[_0xeeb2[13]](function(_0x242fxe){return handleError(_0x242fxc,_0x242fxe)})};function handleError(_0x242fxc,_0x242fxe){return _0x242fxc[_0xeeb2[15]](500)[_0xeeb2[14]](_0x242fxe)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Integration = require('../../models').Integration;
-
-var IntegrationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-IntegrationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Integration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- IntegrationEvents.emit(event + ':' + doc._id, doc);
- IntegrationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = IntegrationEvents;
+var _0x31f6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x31f6[0];const EventEmitter=require(_0x31f6[1]);const Integration=require(_0x31f6[3])[_0x31f6[2]];var IntegrationEvents= new EventEmitter();IntegrationEvents[_0x31f6[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x31f6[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x31f6[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x31f6[6]};for(var e in events){var event=events[e];Integration[_0x31f6[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x9a0cx8,_0x9a0cx9,_0x9a0cxa){IntegrationEvents[_0x31f6[10]](event+ _0x31f6[8]+ _0x9a0cx8[_0x31f6[9]],_0x9a0cx8);IntegrationEvents[_0x31f6[10]](event,_0x9a0cx8);_0x9a0cxa(null)}}module[_0x31f6[11]]= IntegrationEvents
\ No newline at end of file
-'use strict';
-
-const IntegrationEvents = require('./integration.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('integration:' + event, socket);
-
- IntegrationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- IntegrationEvents.removeListener(event, listener);
- };
-}
+var _0xd423=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xd423[0];const IntegrationEvents=require(_0xd423[1]);var events=[_0xd423[2],_0xd423[3]];exports[_0xd423[4]]= function(_0x9aa3x3){for(var _0x9aa3x4=0,_0x9aa3x5=events[_0xd423[5]];_0x9aa3x4< _0x9aa3x5;_0x9aa3x4++){var _0x9aa3x6=events[_0x9aa3x4];var _0x9aa3x7=createListener(_0xd423[6]+ _0x9aa3x6,_0x9aa3x3);IntegrationEvents[_0xd423[7]](_0x9aa3x6,_0x9aa3x7);_0x9aa3x3[_0xd423[7]](_0xd423[8],removeListener(_0x9aa3x6,_0x9aa3x7))}};function createListener(_0x9aa3x6,_0x9aa3x3){return function(_0x9aa3x9){_0x9aa3x3[_0xd423[9]](_0x9aa3x6,_0x9aa3x9)}}function removeListener(_0x9aa3x6,_0x9aa3x7){return function(){IntegrationEvents[_0xd423[10]](_0x9aa3x6,_0x9aa3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./interval.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-/**
- * @api {get} /api/intervals/ Get intervals' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetIntervals
- * @apiGroup Intervals
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of intervals.
- * @apiSuccess {Object[]} rows Get intervals' list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 1,
- * "rows": [{
- * "id": 1
- * "name": "I1",
- * "description": "Interval mon-fri",
- * "SubIntervals": [{
- * "name": "SI1"
- * "interval": "9:00-17:00,mon-fri,*,*"
- * }]
- * }]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([13, 7, 8, 9, 10, 11], ['admin']), controller.index);
-
-/**
- * @api {get} /api/intervals/:id Get interval's details.
- * @apiParam {Number} id Interval's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetInterval
- * @apiGroup Intervals
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Get interval's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "I1",
- * "description": "Interval mon-fri",
- * "SubIntervals": [{
- * "name": "SI1"
- * "interval": "9:00-17:00,mon-fri,*,*"
- * }]
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-
-/**
- * @api {post} /api/intervals/ Create interval.
- *
- * @apiParamExample {json} Request-Example:
- * {
- * "name": "I1",
- * "description": "Interval mon-fri",
- * "SubIntervals": [{
- * "name": "SI1"
- * "interval": "9:00-17:00,mon-fri,*,*"
- * }]
- * }
- *
- * @apiParam (Body) {String} name Interval's name.
- * @apiParam (Body) {Object[]} [SubIntervals] SubIntervals' array.
- * @apiParam (Body) {String} [description] Interval's description.
- *
- * @apiVersion 0.0.140
- * @apiName CreateInterval
- * @apiGroup Intervals
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 1
- * "name": "john.doe",
- * "email": "john.doe@xcally.com",
- * "internal": 1001,
- * "fullname": "John Doe",
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-
-/**
- * @api {put} /api/intervals/:id Update interval.
- *
- * @apiParamExample {json} Request-Example:
- * {
- * "name": "I1",
- * "description": "Interval mon-fri",
- * "SubIntervals": [{
- * "name": "SI1"
- * "interval": "9:00-17:00,mon-fri,*,*"
- * }]
- * }
- *
- * @apiParam (Params) {Number} id Interval's unique ID.
- * @apiParam (Body) {String} name Interval's name.
- * @apiParam (Body) {Object[]} [SubIntervals] SubIntervals' array.
- * @apiParam (Body) {String} [description] Interval's description.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateInterval
- * @apiGroup Intervals
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe",
- * "email": "john.doe@xcally.com",
- * "internal": 1001,
- * "fullname": "John Doe",
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-
-/**
- * @api {delete} /api/intervals/ Bulk Delete intervals' details.
- *
- * @apiParam (Query) {Number[]} ids Intervals' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteIntervals
- * @apiGroup Intervals
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-
-/**
- * @api {delete} /api/intervals/:id Delete interval's details.
- *
- * @apiParam {Number} id Interval's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteInterval
- * @apiGroup Intervals
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x9940=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x9940[0];var express=require(_0x9940[1]);var controller=require(_0x9940[2]);var auth=require(_0x9940[3]);var router=express.Router();router[_0x9940[9]](_0x9940[4],auth[_0x9940[5]](),auth[_0x9940[7]]([13,7,8,9,10,11],[_0x9940[6]]),controller[_0x9940[8]]);router[_0x9940[9]](_0x9940[10],auth[_0x9940[5]](),auth[_0x9940[7]]([13],[_0x9940[6]]),controller[_0x9940[11]]);router[_0x9940[13]](_0x9940[4],auth[_0x9940[5]](),auth[_0x9940[7]]([13],[_0x9940[6]]),controller[_0x9940[12]]);router[_0x9940[15]](_0x9940[10],auth[_0x9940[5]](),auth[_0x9940[7]]([13],[_0x9940[6]]),controller[_0x9940[14]]);router[_0x9940[17]](_0x9940[4],auth[_0x9940[5]](),auth[_0x9940[7]]([13],[_0x9940[6]]),controller[_0x9940[16]]);router[_0x9940[17]](_0x9940[10],auth[_0x9940[5]](),auth[_0x9940[7]]([13],[_0x9940[6]]),controller[_0x9940[18]]);module[_0x9940[19]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Interval = require('../../models').Interval;
-var VoiceExtension = require('../../models').VoiceExtension;
-var sequelize = require('../../models').sequelize;
-var Promise = require('bluebird');
-
-var Util = require('../../config/util');
-
-// Get list of interval
-exports.index = function(req, res, next) {
- return Interval
- .scope('intervals', 'subintervals')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single interval
-exports.show = function(req, res) {
- return Interval
- .scope('subintervals')
- .findById(req.params.id)
- .then(function(interval) {
- if (!interval) {
- return res.sendStatus(404);
- }
- return res.send(interval);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new interval in the DB.
-exports.create = function(req, res) {
- return Interval
- .scope('subintervals')
- .create(req.body)
- .then(function(interval) {
- return res.status(201).send(interval);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Updates an existing interval in the DB.
-exports.update = function(req, res) {
- var _interval;
- return sequelize.transaction(function(t) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Interval
- .scope('subintervals')
- .findById(req.params.id)
- .then(function(interval) {
- if (!interval) {
- return res.sendStatus(404);
- }
- _interval = _.clone(interval);
- return interval
- .updateAttributes(req.body, {
- transaction: t
- });
- })
- .then(function() {
- if (req.body.SubIntervals && !req.body.SubIntervals.length) { //if I pass an empty subintervals object it means I want to delete all the sub-intervals
- return Interval
- .destroy({
- where: {
- IntervalId: req.params.id
- },
- transaction: t
- });
- } else if (req.body.SubIntervals && req.body.SubIntervals.length) { //otherwise i update, add or delete sub-intervals depending on the object content
- return bulkCreateSubIntervals(req.body.SubIntervals, _interval, t)
- }
- })
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function bulkCreateSubIntervals(subIntervals, _interval, t) {
- return Promise
- .all([])
- .then(function() {
- var bulkSubInts = [];
- var oldSubIntervals = _.map(_interval.SubIntervals, 'dataValues');
- var newInterval;
- _.forEach(oldSubIntervals, function(element, index) {
- newInterval = _.find(subIntervals, {
- id: element.id
- });
- if (newInterval) {
- newInterval.IntervalId = _interval.id;
- bulkSubInts.push(Interval.update(_.clone(newInterval), {
- where: {
- id: element.id
- },
- transaction: t,
- individualHooks: true
- }));
- _.remove(subIntervals, {
- id: element.id
- });
- } else {
- bulkSubInts.push(Interval
- .destroy({
- where: {
- id: element.id
- },
- transaction: t
- }));
- }
- });
- _.forEach(subIntervals, function(element) {
- element.IntervalId = _interval.id;
- bulkSubInts.push(Interval.create(element, {
- transaction: t
- }));
- });
- return bulkSubInts;
- })
- .all();
-}
-
-// Deletes a interval from the DB.
-exports.destroy = function(req, res) {
- return sequelize.transaction(function(t) {
- return Interval
- .destroy({
- where: {
- id: req.params.id
- },
- individualHooks: true,
- transaction: t
- });
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- err.message = 'The Interval is associated with one or more routes, delete them first';
- err.translatedMessage = 'MESSAGE_INTERVAL_ROUTE_ASSOCIATED'
- return handleError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes multiple intervals from the DB.
-exports.bulkDestroy = function(req, res) {
- return sequelize.transaction(function(t) {
- return Interval
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true,
- transaction: t
- });
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- err.message = 'The Interval is associated with one or more routes, delete them first';
- err.translatedMessage = 'MESSAGE_INTERVAL_ROUTE_ASSOCIATED'
- return handleError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x4696=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x62\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x73\x74\x72\x6F\x79","\x63\x6C\x6F\x6E\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x61\x6C\x6C","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x61\x70","\x66\x69\x6E\x64","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x70\x75\x73\x68","\x72\x65\x6D\x6F\x76\x65","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x65\x73\x73\x61\x67\x65","\x54\x68\x65\x20\x49\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x6F\x6E\x65\x20\x6F\x72\x20\x6D\x6F\x72\x65\x20\x72\x6F\x75\x74\x65\x73\x2C\x20\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x65\x6D\x20\x66\x69\x72\x73\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x4696[0];var _=require(_0x4696[1]);var Interval=require(_0x4696[3])[_0x4696[2]];var VoiceExtension=require(_0x4696[3])[_0x4696[4]];var sequelize=require(_0x4696[3])[_0x4696[5]];var Promise=require(_0x4696[6]);var Util=require(_0x4696[7]);exports[_0x4696[8]]= function(_0x2354x7,_0x2354x8,_0x2354x9){return Interval[_0x4696[19]](_0x4696[17],_0x4696[18])[_0x4696[16]](_[_0x4696[15]](Util[_0x4696[14]](_0x2354x7[_0x4696[13]]),{distinct:true}))[_0x4696[12]](function(_0x2354xb){_0x2354x8[_0x4696[11]](200)[_0x4696[10]](_0x2354xb)})[_0x4696[9]](function(_0x2354xa){return handleError(_0x2354x8,_0x2354xa)})};exports[_0x4696[20]]= function(_0x2354x7,_0x2354x8){return Interval[_0x4696[19]](_0x4696[18])[_0x4696[24]](_0x2354x7[_0x4696[23]][_0x4696[22]])[_0x4696[12]](function(_0x2354xc){if(!_0x2354xc){return _0x2354x8[_0x4696[21]](404)};return _0x2354x8[_0x4696[10]](_0x2354xc)})[_0x4696[9]](function(_0x2354xa){return handleError(_0x2354x8,_0x2354xa)})};exports[_0x4696[25]]= function(_0x2354x7,_0x2354x8){return Interval[_0x4696[19]](_0x4696[18])[_0x4696[25]](_0x2354x7[_0x4696[27]])[_0x4696[12]](function(_0x2354xc){return _0x2354x8[_0x4696[11]](201)[_0x4696[10]](_0x2354xc)})[_0x4696[9]](function(_0x2354xa){console[_0x4696[26]](_0x2354xa);return handleError(_0x2354x8,_0x2354xa)})};exports[_0x4696[28]]= function(_0x2354x7,_0x2354x8){var _0x2354xd;return sequelize[_0x4696[34]](function(_0x2354xe){if(_0x2354x7[_0x4696[27]][_0x4696[22]]){delete _0x2354x7[_0x4696[27]][_0x4696[22]]};return Interval[_0x4696[19]](_0x4696[18])[_0x4696[24]](_0x2354x7[_0x4696[23]][_0x4696[22]])[_0x4696[12]](function(_0x2354xc){if(!_0x2354xc){return _0x2354x8[_0x4696[21]](404)};_0x2354xd= _[_0x4696[32]](_0x2354xc);return _0x2354xc[_0x4696[33]](_0x2354x7[_0x4696[27]],{transaction:_0x2354xe})})[_0x4696[12]](function(){if(_0x2354x7[_0x4696[27]][_0x4696[29]]&& !_0x2354x7[_0x4696[27]][_0x4696[29]][_0x4696[30]]){return Interval[_0x4696[31]]({where:{IntervalId:_0x2354x7[_0x4696[23]][_0x4696[22]]},transaction:_0x2354xe})}else {if(_0x2354x7[_0x4696[27]][_0x4696[29]]&& _0x2354x7[_0x4696[27]][_0x4696[29]][_0x4696[30]]){return bulkCreateSubIntervals(_0x2354x7[_0x4696[27]].SubIntervals,_0x2354xd,_0x2354xe)}}})})[_0x4696[12]](function(){return _0x2354x8[_0x4696[21]](200)})[_0x4696[9]](function(_0x2354xa){console[_0x4696[26]](_0x2354xa);return handleError(_0x2354x8,_0x2354xa)})};function bulkCreateSubIntervals(_0x2354x10,_0x2354xd,_0x2354xe){return Promise[_0x4696[35]]([])[_0x4696[12]](function(){var _0x2354x11=[];var _0x2354x12=_[_0x4696[37]](_0x2354xd.SubIntervals,_0x4696[36]);var _0x2354x13;_[_0x4696[42]](_0x2354x12,function(_0x2354x14,_0x2354x15){_0x2354x13= _[_0x4696[38]](_0x2354x10,{id:_0x2354x14[_0x4696[22]]});if(_0x2354x13){_0x2354x13[_0x4696[39]]= _0x2354xd[_0x4696[22]];_0x2354x11[_0x4696[40]](Interval[_0x4696[28]](_[_0x4696[32]](_0x2354x13),{where:{id:_0x2354x14[_0x4696[22]]},transaction:_0x2354xe,individualHooks:true}));_[_0x4696[41]](_0x2354x10,{id:_0x2354x14[_0x4696[22]]})}else {_0x2354x11[_0x4696[40]](Interval[_0x4696[31]]({where:{id:_0x2354x14[_0x4696[22]]},transaction:_0x2354xe}))}});_[_0x4696[42]](_0x2354x10,function(_0x2354x14){_0x2354x14[_0x4696[39]]= _0x2354xd[_0x4696[22]];_0x2354x11[_0x4696[40]](Interval[_0x4696[25]](_0x2354x14,{transaction:_0x2354xe}))});return _0x2354x11})[_0x4696[35]]()}exports[_0x4696[31]]= function(_0x2354x7,_0x2354x8){return sequelize[_0x4696[34]](function(_0x2354xe){return Interval[_0x4696[31]]({where:{id:_0x2354x7[_0x4696[23]][_0x4696[22]]},individualHooks:true,transaction:_0x2354xe})})[_0x4696[12]](function(){return _0x2354x8[_0x4696[21]](204)})[_0x4696[9]](sequelize.ForeignKeyConstraintError,function(_0x2354xa){_0x2354xa[_0x4696[43]]= _0x4696[44];_0x2354xa[_0x4696[45]]= _0x4696[46];return handleError(_0x2354x8,_0x2354xa)})[_0x4696[9]](function(_0x2354xa){return handleError(_0x2354x8,_0x2354xa)})};exports[_0x4696[47]]= function(_0x2354x7,_0x2354x8){return sequelize[_0x4696[34]](function(_0x2354xe){return Interval[_0x4696[31]]({where:{id:_0x2354x7[_0x4696[13]][_0x4696[48]]},individualHooks:true,transaction:_0x2354xe})})[_0x4696[12]](function(){return _0x2354x8[_0x4696[21]](204)})[_0x4696[9]](sequelize.ForeignKeyConstraintError,function(_0x2354xa){_0x2354xa[_0x4696[43]]= _0x4696[44];_0x2354xa[_0x4696[45]]= _0x4696[46];return handleError(_0x2354x8,_0x2354xa)})[_0x4696[9]](function(_0x2354xa){return handleError(_0x2354x8,_0x2354xa)})};function handleError(_0x2354x8,_0x2354xa){return _0x2354x8[_0x4696[11]](500)[_0x4696[10]](_0x2354xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Interval = require('../../models').Interval;
-
-var IntervalEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-IntervalEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Interval.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- IntervalEvents.emit(event + ':' + doc._id, doc);
- IntervalEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = IntervalEvents;
+var _0x6995=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x6995[0];const EventEmitter=require(_0x6995[1]);const Interval=require(_0x6995[3])[_0x6995[2]];var IntervalEvents= new EventEmitter();IntervalEvents[_0x6995[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x6995[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x6995[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x6995[6]};for(var e in events){var event=events[e];Interval[_0x6995[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x8c7fx8,_0x8c7fx9,_0x8c7fxa){IntervalEvents[_0x6995[10]](event+ _0x6995[8]+ _0x8c7fx8[_0x6995[9]],_0x8c7fx8);IntervalEvents[_0x6995[10]](event,_0x8c7fx8);_0x8c7fxa(null)}}module[_0x6995[11]]= IntervalEvents
\ No newline at end of file
-'use strict';
-
-const IntervalEvents = require('./interval.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('interval:' + event, socket);
-
- IntervalEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- IntervalEvents.removeListener(event, listener);
- };
-}
+var _0x61ff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x69\x6E\x74\x65\x72\x76\x61\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x61ff[0];const IntervalEvents=require(_0x61ff[1]);var events=[_0x61ff[2],_0x61ff[3]];exports[_0x61ff[4]]= function(_0x97a5x3){for(var _0x97a5x4=0,_0x97a5x5=events[_0x61ff[5]];_0x97a5x4< _0x97a5x5;_0x97a5x4++){var _0x97a5x6=events[_0x97a5x4];var _0x97a5x7=createListener(_0x61ff[6]+ _0x97a5x6,_0x97a5x3);IntervalEvents[_0x61ff[7]](_0x97a5x6,_0x97a5x7);_0x97a5x3[_0x61ff[7]](_0x61ff[8],removeListener(_0x97a5x6,_0x97a5x7))}};function createListener(_0x97a5x6,_0x97a5x3){return function(_0x97a5x9){_0x97a5x3[_0x61ff[9]](_0x97a5x6,_0x97a5x9)}}function removeListener(_0x97a5x6,_0x97a5x7){return function(){IntervalEvents[_0x61ff[10]](_0x97a5x6,_0x97a5x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./jscripty_project.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-
-router.get('/', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.show);
-router.get('/:id/download', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin', 'agent']), controller.download);
-router.get('/:id/sessions', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showSessions);
-router.get('/:id/sessions/:sessionId', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showSession);
-router.get('/:id/questions/:questionId/detail', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showQuestionDetail);
-router.get('/:id/questions', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showQuestions);
-router.get('/:id/questions/summary', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showSummary);
-router.get('/:id/inputs', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showInputs);
-// router.get('/:id/questions/:questionId/otherOption', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showOther);
-router.get('/:id/questions/detail', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.showDetail);
-router.post('/', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.create);
-router.post('/:id/sessions', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin', 'agent']), controller.createSession);
-router.post('/:id/sessions/:sessionId/questions', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin', 'agent']), controller.createQuestions);
-router.put('/:id', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.update);
-router.put('/:id/sessions/:sessionId', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin', 'agent']), controller.updateSession);
-router.delete('/:id/sessions/:sessionId', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.destroySession);
-router.delete('/', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasJscripty(), auth.isAuthenticated(), auth.hasModule([15], ['admin']), controller.destroy);
-
-
-
-module.exports = router;
+var _0x9ea9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4A\x73\x63\x72\x69\x70\x74\x79","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x2F\x3A\x69\x64\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x53\x65\x73\x73\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73\x2F\x3A\x73\x65\x73\x73\x69\x6F\x6E\x49\x64","\x73\x68\x6F\x77\x53\x65\x73\x73\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x71\x75\x65\x73\x74\x69\x6F\x6E\x73\x2F\x3A\x71\x75\x65\x73\x74\x69\x6F\x6E\x49\x64\x2F\x64\x65\x74\x61\x69\x6C","\x73\x68\x6F\x77\x51\x75\x65\x73\x74\x69\x6F\x6E\x44\x65\x74\x61\x69\x6C","\x2F\x3A\x69\x64\x2F\x71\x75\x65\x73\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x51\x75\x65\x73\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x71\x75\x65\x73\x74\x69\x6F\x6E\x73\x2F\x73\x75\x6D\x6D\x61\x72\x79","\x73\x68\x6F\x77\x53\x75\x6D\x6D\x61\x72\x79","\x2F\x3A\x69\x64\x2F\x69\x6E\x70\x75\x74\x73","\x73\x68\x6F\x77\x49\x6E\x70\x75\x74\x73","\x2F\x3A\x69\x64\x2F\x71\x75\x65\x73\x74\x69\x6F\x6E\x73\x2F\x64\x65\x74\x61\x69\x6C","\x73\x68\x6F\x77\x44\x65\x74\x61\x69\x6C","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65\x53\x65\x73\x73\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73\x2F\x3A\x73\x65\x73\x73\x69\x6F\x6E\x49\x64\x2F\x71\x75\x65\x73\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x73\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x53\x65\x73\x73\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x53\x65\x73\x73\x69\x6F\x6E","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x9ea9[0];var express=require(_0x9ea9[1]);var auth=require(_0x9ea9[2]);var controller=require(_0x9ea9[3]);var license=require(_0x9ea9[4]);var router=express.Router();router[_0x9ea9[13]](_0x9ea9[5],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9],_0x9ea9[10]]),controller[_0x9ea9[12]]);router[_0x9ea9[13]](_0x9ea9[14],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[15]]);router[_0x9ea9[13]](_0x9ea9[16],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9],_0x9ea9[10]]),controller[_0x9ea9[17]]);router[_0x9ea9[13]](_0x9ea9[18],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[19]]);router[_0x9ea9[13]](_0x9ea9[20],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[21]]);router[_0x9ea9[13]](_0x9ea9[22],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[23]]);router[_0x9ea9[13]](_0x9ea9[24],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[25]]);router[_0x9ea9[13]](_0x9ea9[26],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[27]]);router[_0x9ea9[13]](_0x9ea9[28],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[29]]);router[_0x9ea9[13]](_0x9ea9[30],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[31]]);router[_0x9ea9[33]](_0x9ea9[5],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[32]]);router[_0x9ea9[33]](_0x9ea9[18],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9],_0x9ea9[10]]),controller[_0x9ea9[34]]);router[_0x9ea9[33]](_0x9ea9[35],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9],_0x9ea9[10]]),controller[_0x9ea9[36]]);router[_0x9ea9[38]](_0x9ea9[14],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[37]]);router[_0x9ea9[38]](_0x9ea9[20],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9],_0x9ea9[10]]),controller[_0x9ea9[39]]);router[_0x9ea9[41]](_0x9ea9[20],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[40]]);router[_0x9ea9[41]](_0x9ea9[5],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[42]]);router[_0x9ea9[41]](_0x9ea9[14],license[_0x9ea9[6]](),license[_0x9ea9[7]](),auth[_0x9ea9[8]](),auth[_0x9ea9[11]]([15],[_0x9ea9[9]]),controller[_0x9ea9[43]]);module[_0x9ea9[44]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/jscripty/projects -> index
- * POST /api/jscripty/projects -> create
- * GET /api/jscripty/projects/:id -> show
- * PUT /api/jscripty/projects/:id -> update
- * DELETE /api/jscripty/projects/:id -> destroy
- */
-
-'use strict';
-var xml = require('xml2js');
-
-var _ = require('lodash');
-
-var JscriptyProject = require('../../models').JscriptyProject;
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-var ReportJscriptySession = require('../../models').ReportJscriptySession;
-var ReportJscriptyQuestion = require('../../models').ReportJscriptyQuestion;
-var ReportJscriptyInput = require('../../models').ReportJscriptyInput;
-var Promise = require('bluebird');
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of JscriptyProjects
-
-exports.index = function(req, res, next) {
- return JscriptyProject
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.show = function(req, res) {
- return JscriptyProject
- .findById(req.params.id)
- .then(function(jscripty_project) {
- if (!jscripty_project) {
- return res.sendStatus(404);
- }
- return res.send(jscripty_project);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Gets a all ReportJscriptySession from the DB
-exports.showSessions = function(req, res) {
- return ReportJscriptySession
- .scope({
- method: ['sessions', req.params.id]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
- // Gets a one ReportJscriptySession from the DB
-exports.showSession = function(req, res) {
- return ReportJscriptySession
- .find({
- where: {
- projectId: req.params.id,
- session_id: req.params.sessionId
- },
- include: [{
- model: ReportJscriptyQuestion,
- include: [{
- model: ReportJscriptyInput
- }]
- }]
-
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
- // exports.showOther = function(req, res) {
- // return ReportJscriptyQuestion
- // .scope({
- // method: ['otherOption', req.params.id, req.params.questionId]
- // })
- // .findAndCountAll(Util.getQuery(req.query))
- // .then(handleEntityNotFound(res))
- // .then(responseWithResult(res))
- // .catch(function(err) {
- // console.log(err);
- // return handleError(res, err);
- // });
- // }
-exports.showInputs = function(req, res) {
- var inputs = {
- count: 0,
- rows: []
- };
- return ReportJscriptySession
- .scope({
- method: ['inputs', req.params.id]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(response) {
- _.forEach(response.rows, function(session) {
- var session_id = session.session_id;
- _.forEach(session.ReportJscriptyQuestions, function(question) {
- var question_id = question.question_id;
- var question_type = question.question_type;
- var question_label = question.question_label;
- var question_text = question.question_text;
- _.forEach(question.ReportJscriptyInputs, function(input) {
- inputs.rows.push({
- session_id: session_id,
- question_type: question_type,
- question_id: question_id,
- question_label: question_label,
- question_text: question_text,
- input_label: input.input_label,
- input_value: input.input_value
- })
- })
- })
- })
- inputs.count = inputs.rows.length;
- return inputs;
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-// Gets a all ReportJscriptyQuestion from the DB
-exports.showQuestions = function(req, res) {
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id
- },
- include: [{
- model: ReportJscriptyInput
- }],
-
- })
- .then(function(jscripty_questions) {
- if (!jscripty_questions) {
- return res.sendStatus(404);
- }
- return res.status(200).send(jscripty_questions);
- })
- .then(handleEntityNotFound(res))
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-
-// Gets summary of ReportJscriptyQuestion from the DB
-
-exports.showSummary = function(req, res) {
- return ReportJscriptyQuestion
- .scope({
- method: ['summary', req.params.id]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(handleEntityNotFound(res))
- .then(function(jscripty_summary) {
- return res.status(200).send(jscripty_summary);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-
-}
-
-exports.showQuestionDetail = function(req, res) {
- var temp = {};
- var jscripty_questions;
- var total = 0;
- return ReportJscriptyQuestion
- .find({
- where: {
- projectId: req.params.id,
- question_id: req.params.questionId
- },
- attributes: ['question_type']
- })
- .then(function(jscripty_question) {
- if (!jscripty_question) {
- return res.sendStatus(404);
- }
- // jscripty_questions = jscripty_question;
- if (jscripty_question.dataValues.question_type == 'input') {
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_id: req.params.questionId
- },
- attributes: ['question_type', 'question_id', 'question_label', 'question_text'],
- include: [{
- model: ReportJscriptyInput,
- where: {
- $or: [{
- input_type: 'checkbox',
- input_value: '1'
- }, {
- input_type: {
- $ne: 'checkbox'
- },
- input_value: {
- $ne: null
- }
- }]
- },
- attributes: ['input_label', 'input_value', 'input_type', [sequelize.fn('count', sequelize.col('input_label')),
- 'count'
- ]]
- }],
- group: ['question_id', 'input_label']
-
- })
- .then(function(jscripty_question) {
- jscripty_questions = jscripty_question;
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_id: req.params.questionId,
- question_type: 'input'
- },
- attributes: ['question_id', [sequelize.fn('count', sequelize.col('question_id')),
- 'count'
- ]],
- group: ['question_id']
- })
- })
-
- .then(function(question_count) {
- total = question_count[0].dataValues.count;
-
- if (jscripty_questions) {
- var grouped = _.groupBy(jscripty_questions, 'question_id');
- _.forEach(grouped, function(value, id) {
- var answers_count = [];
- var graphData = [];
- var graphLabels = [];
- var graphType = 'bar';
- _.forEach(value, function(element) {
- if (element.ReportJscriptyInputs) {
- _.forEach(element.ReportJscriptyInputs, function(input) {
- answers_count.push({
- checkbox: true,
- value: input.input_label,
- count: input.dataValues.count
- })
-
- })
- }
- });
- var tempGraphdata = [];
- for (var i = 0; i < answers_count.length; i++) {
- tempGraphdata[i] = answers_count[i].count;
- graphLabels[i] = answers_count[i].value;
- answers_count[i].percentage = total ? (answers_count[i].count / total) * 100 : 0;
- }
- graphData[0] = tempGraphdata;
- temp = {
- total: total,
- question_type: _.last(value).question_type,
- question_id: _.last(value).question_id,
- question_label: _.last(value).question_label,
- question_text: _.last(value).question_text,
- choices: answers_count,
- graphData: graphData,
- graphLabels: graphLabels,
- graphType: graphType
- };
- });
- }
-
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_id: req.params.questionId,
- question_type: 'input'
- },
- attributes: ['question_type', 'question_id', 'question_label', 'question_text'],
- include: [{
- model: ReportJscriptyInput,
- attributes: ['input_label']
- }]
- })
-
- })
- .then(function(inputs) {
- var input_labels = [];
- if (inputs) {
- var grouped = _.groupBy(inputs, 'question_id');
- _.forEach(grouped, function(question, id) {
- var allLabels = [];
- _.forEach(question, function(item) {
- allLabels = _.union(allLabels, _.map(item.ReportJscriptyInputs, 'input_label'));
- });
- input_labels.push({
- question_id: _.last(question).question_id,
- labels: allLabels
- });
- })
- _.forEach(input_labels, function(element) {
- if (Object.keys(temp).length) {
- _.forEach(element.labels, function(label) {
- var input_label = _.find(temp.choices, {
- value: label
- });
- if (!input_label) {
- temp.choices.push({
- value: label,
- count: 0,
- percentage: 0
- })
- temp.graphData[0].push(0);
- temp.graphLabels.push(label);
- }
- });
- } else {
- var answers_count = [];
- var graphData = [];
- var tempGraphdata = [];
- var graphLabels = [];
- _.forEach(element.labels, function(label) {
- answers_count.push({
- value: label,
- count: 0,
- percentage: 0
- })
- tempGraphdata.push(0);
- graphLabels.push(label);
-
- });
- graphData.push(tempGraphdata);
- var input = inputs[0];
- temp = {
- total: total,
- question_type: input.question_type,
- question_id: input.question_id,
- question_label: input.question_label,
- question_text: input.question_text,
- choices: answers_count,
- graphType: 'bar',
- graphData: graphData,
- graphLabels: graphLabels
-
- };
- }
- })
- }
- return res.status(201).send(temp);
-
- })
-
- } else if (jscripty_question.dataValues.question_type == 'question') {
-
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_id: req.params.questionId
- },
- attributes: ['question_type', 'question_id', 'question_label', 'question_text', 'question_options', 'question_answer', [sequelize.fn('count', sequelize.col('question_answer')),
- 'count'
- ]],
- group: ['question_id', 'question_answer']
-
- })
- .then(function(jscripty_question) {
-
- jscripty_questions = jscripty_question;
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_id: req.params.questionId,
- question_type: 'question',
- question_other_answer: {
- $ne: null
- }
- },
- attributes: ['question_type', 'question_id', 'question_label', 'question_options', 'question_text', 'question_other_answer', 'question_other_label', [sequelize.fn('count',
- sequelize.col(
- 'question_other_label')),
- 'count'
- ]],
- group: ['question_id', 'question_other_label']
-
- })
- })
- .then(function(response) {
- if (response) {
- _.forEach(response, function(element) {
- jscripty_questions.push(element);
- })
- }
-
- var grouped = _.groupBy(jscripty_questions, 'question_id');
- _.forEach(grouped, function(value, id) {
- var answers_count = [];
- var total = 0;
- var graphData = [];
- var graphLabels = [];
- var graphType = 'pie';
- _.forEach(value, function(element) {
-
- if (element.question_answer) {
- answers_count.push({
- value: element.question_answer,
- count: element.dataValues.count
- })
- total = total + element.dataValues.count;
-
- }
- if (element.question_other_answer) {
- answers_count.push({
- other_option: true,
- value: element.question_other_label,
- count: element.dataValues.count
- })
- }
-
- });
- var question_options = _.last(value).question_options ? JSON.parse(_.last(value).question_options) : null;
- if (question_options) {
- _.forEach(question_options.options, function(option) {
- var edge_label = _.find(answers_count, {
- value: option
- });
-
- if (!edge_label) {
- answers_count.push({
- value: option,
- count: 0,
- percentage: 0
- });
-
- }
- });
- }
- var tempGraphdata = [];
- var input_type = false
- for (var i = 0; i < answers_count.length; i++) {
- if (!answers_count[i].other_option) {
- graphData[i] = answers_count[i].count;
- graphLabels[i] = answers_count[i].value;
- answers_count[i].percentage = total ? (answers_count[i].count / total) * 100 : 0;
- }
- }
-
- temp = {
- total: total,
- question_type: _.last(value).question_type,
- question_id: _.last(value).question_id,
- question_label: _.last(value).question_label,
- question_text: _.last(value).question_text,
- choices: answers_count,
- graphData: graphData,
- graphLabels: graphLabels,
- graphType: graphType
- };
- });
- return res.status(201).send(temp);
- })
- } else {
- console.log('question type not recognized');
- return res.sendStatus(404);
- }
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-// Gets detail of ReportJscriptyQuestion from the DB
-exports.showDetail = function(req, res) {
- var temp_questions;
- var jscripty_questions;
- var temp_inputs;
- var question_count;
-
- return ReportJscriptyQuestion
- .findAll({
-
- where: {
- projectId: req.params.id,
- question_type: 'question'
- },
- attributes: ['question_type', 'question_id', 'question_label', 'question_text', 'question_answer', 'question_options', 'question_other_label', [sequelize.fn('count', sequelize.col(
- 'question_answer')),
- 'count'
- ]],
- group: ['question_id', 'question_answer']
-
- })
- .then(function(response) {
- jscripty_questions = response;
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_type: 'question',
- question_other_answer: {
- $ne: null
- }
- },
- attributes: ['question_type', 'question_id', 'question_label', 'question_text', 'question_other_answer', 'question_other_label', 'question_options', [sequelize.fn('count', sequelize.col(
- 'question_other_answer')),
- 'count'
- ]],
- group: ['question_id', 'question_other_answer']
-
- // attributes: ['question_type', 'question_id', 'question_label', 'question_text', 'question_other_answer', 'question_other_label', 'question_options', [sequelize.fn('count', sequelize.col(
- // 'question_other_label')),
- // 'count'
- // ]],
- // group: ['question_id', 'question_other_label']
-
- })
- })
- .then(function(response) {
- _.forEach(response, function(element) {
- jscripty_questions.push(element);
- })
- var temp = [];
- var graphType = 'pie';
-
- var grouped = _.groupBy(jscripty_questions, 'question_id');
- _.forEach(grouped, function(value, id) {
- var total = 0;
- var graphData = [];
- var graphLabels = [];
- var answers_count = [];
-
- _.forEach(value, function(element) {
- if (element.question_answer) {
- answers_count.push({
- value: element.question_answer,
- count: element.dataValues.count
- })
- total = total + element.dataValues.count;
- }
- if (element.question_other_answer) {
- answers_count.push({
- other_option: true,
- value: element.question_other_answer,
- count: element.dataValues.count
- })
- }
-
- });
- var question_options = JSON.parse(_.last(value).question_options);
- if (question_options) {
- _.forEach(question_options.options, function(option) {
- var edge_label = _.find(answers_count, {
- value: option
- });
- if (!edge_label) {
- answers_count.push({
- value: option,
- count: 0,
- percentage: 0
- });
- }
- });
- }
- for (var i = 0; i < answers_count.length; i++) {
-
- if (!answers_count[i].other_option && (total != 0)) {
- answers_count[i].percentage = (answers_count[i].count / total) * 100;
- graphData.push(answers_count[i].count);
- graphLabels.push(answers_count[i].value);
- }
-
- }
-
- temp.push({
- total: total,
- question_type: _.last(value).question_type,
- question_id: _.last(value).question_id,
- question_label: _.last(value).question_label,
- question_other_label: _.last(value).question_other_label,
- question_text: _.last(value).question_text,
- choices: answers_count,
- graphData: graphData,
- graphLabels: graphLabels,
- graphType: graphType
- })
-
- });
- temp_questions = temp;
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_type: 'input'
- },
- attributes: ['id', 'question_type', 'question_id', 'question_label', 'question_text', 'question_answer'],
- include: [{
- model: ReportJscriptyInput,
- where: {
- $or: [{
- input_type: 'checkbox',
- input_value: '1'
- }, {
- input_type: {
- $ne: 'checkbox'
- },
- input_value: {
- $ne: null
- }
- }]
-
- },
- attributes: ['input_label', 'input_value', 'input_type', [sequelize.fn('count', sequelize.col('input_label')),
- 'count'
- ]]
- }],
- group: ['question_id', 'input_label']
- })
-
- })
- .then(function(jscripty_question) {
- jscripty_questions = jscripty_question;
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_type: 'input'
- },
- attributes: ['question_id', [sequelize.fn('count', sequelize.col('question_id')),
- 'count'
- ]],
- group: ['question_id']
- })
- })
- .then(function(question) {
- question_count = question;
- var temp = [];
- var grouped = _.groupBy(jscripty_questions, 'question_id');
- _.forEach(grouped, function(value, id) {
- var answers_count = [];
- var total = 0;
- total = _.find(question_count, function(question) {
- return question.question_id == _.last(value).question_id;
- }).dataValues.count;
- var graphData = [];
- var graphData2 = [];
- var graphLabels = [];
- var graphType = 'bar';
- _.forEach(value, function(element) {
- var elemt = element;
- _.forEach(elemt.ReportJscriptyInputs, function(input) {
- answers_count.push({
- checkbox: true,
- value: input.input_label,
- count: input.dataValues.count
- })
- })
- });
- var tempGraphdata = [];
- for (var i = 0; i < answers_count.length; i++) {
- tempGraphdata[i] = answers_count[i].count;
- answers_count[i].percentage = (answers_count[i].count / total) * 100;
- graphLabels[i] = answers_count[i].value;
- }
- graphData[0] = tempGraphdata;
- temp_questions.push({
- total: total,
- question_type: _.last(value).question_type,
- question_id: _.last(value).question_id,
- question_label: _.last(value).question_label,
- question_text: _.last(value).question_text,
- choices: answers_count,
- graphData: graphData,
- graphLabels: graphLabels,
- graphType: graphType
- })
- });
- return ReportJscriptyQuestion
- .findAll({
- where: {
- projectId: req.params.id,
- question_type: 'input'
- },
- attributes: ['id', 'question_id', 'question_label', 'question_text', 'question_type'],
- include: [{
- model: ReportJscriptyInput,
- attributes: ['input_label']
- }],
- })
- })
- .then(function(inputs) {
- var grouped = _.groupBy(inputs, 'question_id');
- var labels = [];
- _.forEach(grouped, function(question, id) {
- var allLabels = [];
- _.forEach(question, function(item) {
- allLabels = _.union(allLabels, _.map(item.ReportJscriptyInputs, 'input_label'));
- });
- labels.push({
- question_text: _.last(question).question_text,
- question_type: _.last(question).question_type,
- question_label: _.last(question).question_label,
- question_id: _.last(question).question_id,
- labels: allLabels
- });
- })
-
- _.forEach(labels, function(element) {
- var question = _.find(temp_questions, {
- 'question_id': element.question_id
- });
- if (question) {
- _.forEach(element.labels, function(label) {
- var input_label = _.find(question.choices, {
- value: label
- });
- if (!input_label) {
- question.choices.push({
- value: label,
- count: 0,
- percentage: 0
- });
- question.graphData[0].push(0);
- question.graphLabels.push(label);
- }
- });
- } else {
- var answers_count = [];
- var graphData = [];
- var tempGraphdata = [];
- var graphLabels = [];
- _.forEach(element.labels, function(label) {
- answers_count.push({
- value: label,
- count: 0,
- percentage: 0
- })
- // tempGraphdata.push(0);
- // graphLabels.push(label);
- });
- // graphData.push(tempGraphdata);
- var total = _.find(question_count, function(question) {
- return question.question_id == element.question_id;
- }).dataValues.count;
- temp_questions.push({
- total: total,
- question_type: element.question_type,
- question_id: element.question_id,
- question_label: element.question_label,
- question_text: element.question_text,
- choices: answers_count,
- graphType: 'bar',
- graphData: graphData,
- graphLabels: graphLabels
- })
- }
- })
- return res.status(201).send(temp_questions);
- })
-
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- // })
-
- }
- // Creates a new JscriptyProject in the DB
-exports.create = function(req, res) {
- return JscriptyProject
- .create(req.body)
- .then(function(jscripty_project) {
- return res.status(201).send(jscripty_project);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- if (err.fields.name) {
- err.message = 'Project name already exists';
- err.translatedMessage = 'MESSAGE_EXIST_PROJECT'
- }
- return handleError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new ReportJscriptySession in the DB
-exports.createSession = function(req, res) {
- return ReportJscriptySession
- .create(req.body)
- .then(function(jscripty_session) {
- return res.status(201).send(jscripty_session);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- }
- // Creates a new ReportJscriptyQuestions in the DB
-exports.createQuestions = function(req, res) {
- return ReportJscriptyQuestion
- .destroy({
- where: {
- sessionId: req.params.sessionId
- }
- })
- .then(function() {
- var _promises = [];
- for (var i = 0; i < req.body.length; i++) {
- _promises[i] = ReportJscriptyQuestion.create(req.body[i], {
- include: [{
- model: ReportJscriptyInput
- }]
- })
- }
- return Promise
- .all(_promises);
- })
- .then(function(jscripty_question) {
- return res.sendStatus(201);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
- // Updates an existing JscriptyProject in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return JscriptyProject
- .findById(req.params.id)
- .then(function(jscripty_project) {
- if (!jscripty_project) {
- return res.sendStatus(404);
- }
- var updated = _.merge(jscripty_project, req.body);
- return updated.save();
- })
- .then(function(jscripty_project) {
- return res.status(200).send(jscripty_project);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Updates an existing ReportJscriptySession in the DB
-exports.updateSession = function(req, res) {
- return ReportJscriptySession
- .findById(req.params.sessionId)
- .then(function(session) {
- if (!session) {
- return res.sendStatus(404);
- }
- var updated = _.merge(session, req.body);
- return updated.save();
- })
- .then(function(jscripty_session) {
- return res.status(200).send(jscripty_session);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Deletes a JscriptyProject from the DB
-exports.destroy = function(req, res) {
- return JscriptyProject
- .findById(req.params.id)
- .then(function(jscripty_project) {
- if (!jscripty_project) {
- return res.sendStatus(404);
- }
- return jscripty_project.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.destroySession = function(req, res) {
- return ReportJscriptySession
- .find({
- where: {
- session_id: req.params.sessionId
- }
- })
- .then(function(session) {
- if (!session) {
- return res.sendStatus(404);
- }
- return session.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a jscripty_project from the DB.
-exports.bulkDestroy = function(req, res) {
- return JscriptyProject
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.download = function(req, res, next) {
- return JscriptyProject
- .findById(req.params.id)
- .then(function(jscripty_project) {
- if (!jscripty_project) {
- return res.sendStatus(404);
- }
- // console.log(req.query.filename);
- res.set({
- "Content-Disposition": "attachment; filename=\"" + req.query.filename +
- ".xml\"",
- "Content-Type": "txt/xml"
- });
- return res.send(jscripty_project.production);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// exports.projectJson = function(req, res, next) {
-// JscriptyProject
-// .findById(req.params.id)
-// .then(function(jscripty_project) {
-// if (!jscripty_project) {
-// return res.sendStatus(404);
-// }
-//
-// xml.parseString(jscripty_project.production, {
-// normalizeTags: true,
-// explicitArray: false
-// }, function(err, result) {
-// console.log(result);
-// return res.status(200).send(result);
-//
-// });
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// };
+var _0xbd6a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x78\x6D\x6C\x32\x6A\x73","\x6C\x6F\x64\x61\x73\x68","\x4A\x73\x63\x72\x69\x70\x74\x79\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x52\x65\x70\x6F\x72\x74\x4A\x73\x63\x72\x69\x70\x74\x79\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4A\x73\x63\x72\x69\x70\x74\x79\x51\x75\x65\x73\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4A\x73\x63\x72\x69\x70\x74\x79\x49\x6E\x70\x75\x74","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77\x53\x65\x73\x73\x69\x6F\x6E\x73","\x6C\x6F\x67","\x73\x65\x73\x73\x69\x6F\x6E\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77\x53\x65\x73\x73\x69\x6F\x6E","\x73\x65\x73\x73\x69\x6F\x6E\x49\x64","\x66\x69\x6E\x64","\x73\x68\x6F\x77\x49\x6E\x70\x75\x74\x73","\x72\x6F\x77\x73","\x73\x65\x73\x73\x69\x6F\x6E\x5F\x69\x64","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x69\x64","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x74\x79\x70\x65","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x6C\x61\x62\x65\x6C","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x74\x65\x78\x74","\x69\x6E\x70\x75\x74\x5F\x6C\x61\x62\x65\x6C","\x69\x6E\x70\x75\x74\x5F\x76\x61\x6C\x75\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x63\x6F\x75\x6E\x74","\x6C\x65\x6E\x67\x74\x68","\x69\x6E\x70\x75\x74\x73","\x73\x68\x6F\x77\x51\x75\x65\x73\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x53\x75\x6D\x6D\x61\x72\x79","\x73\x75\x6D\x6D\x61\x72\x79","\x73\x68\x6F\x77\x51\x75\x65\x73\x74\x69\x6F\x6E\x44\x65\x74\x61\x69\x6C","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x69\x6E\x70\x75\x74","\x67\x72\x6F\x75\x70\x42\x79","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x6C\x61\x73\x74","\x6B\x65\x79\x73","\x6C\x61\x62\x65\x6C\x73","\x63\x68\x6F\x69\x63\x65\x73","\x67\x72\x61\x70\x68\x44\x61\x74\x61","\x67\x72\x61\x70\x68\x4C\x61\x62\x65\x6C\x73","\x62\x61\x72","\x52\x65\x70\x6F\x72\x74\x4A\x73\x63\x72\x69\x70\x74\x79\x49\x6E\x70\x75\x74\x73","\x76\x61\x6C\x75\x65","\x70\x65\x72\x63\x65\x6E\x74\x61\x67\x65","\x71\x75\x65\x73\x74\x69\x6F\x6E\x49\x64","\x63\x6F\x6C","\x66\x6E","\x63\x68\x65\x63\x6B\x62\x6F\x78","\x31","\x69\x6E\x70\x75\x74\x5F\x74\x79\x70\x65","\x71\x75\x65\x73\x74\x69\x6F\x6E","\x70\x69\x65","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x61\x6E\x73\x77\x65\x72","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x6F\x74\x68\x65\x72\x5F\x61\x6E\x73\x77\x65\x72","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x6F\x74\x68\x65\x72\x5F\x6C\x61\x62\x65\x6C","\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x6F\x70\x74\x69\x6F\x6E\x73","\x70\x61\x72\x73\x65","\x6F\x70\x74\x69\x6F\x6E\x73","\x6F\x74\x68\x65\x72\x5F\x6F\x70\x74\x69\x6F\x6E","\x71\x75\x65\x73\x74\x69\x6F\x6E\x20\x74\x79\x70\x65\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64","\x73\x68\x6F\x77\x44\x65\x74\x61\x69\x6C","\x63\x72\x65\x61\x74\x65","\x6E\x61\x6D\x65","\x66\x69\x65\x6C\x64\x73","\x6D\x65\x73\x73\x61\x67\x65","\x50\x72\x6F\x6A\x65\x63\x74\x20\x6E\x61\x6D\x65\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74\x73","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x50\x52\x4F\x4A\x45\x43\x54","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x53\x65\x73\x73\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x51\x75\x65\x73\x74\x69\x6F\x6E\x73","\x61\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x53\x65\x73\x73\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x53\x65\x73\x73\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3B\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D\x22","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x2E\x78\x6D\x6C\x22","\x74\x78\x74\x2F\x78\x6D\x6C","\x73\x65\x74","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E"];_0xbd6a[0];var xml=require(_0xbd6a[1]);var _=require(_0xbd6a[2]);var JscriptyProject=require(_0xbd6a[4])[_0xbd6a[3]];var Util=require(_0xbd6a[5]);var sequelize=require(_0xbd6a[4])[_0xbd6a[6]];var ReportJscriptySession=require(_0xbd6a[4])[_0xbd6a[7]];var ReportJscriptyQuestion=require(_0xbd6a[4])[_0xbd6a[8]];var ReportJscriptyInput=require(_0xbd6a[4])[_0xbd6a[9]];var Promise=require(_0xbd6a[10]);function handleError(_0xe3f3xb,_0xe3f3xc){return _0xe3f3xb[_0xbd6a[12]](500)[_0xbd6a[11]](_0xe3f3xc)}function responseWithResult(_0xe3f3xb,_0xe3f3xe){_0xe3f3xe= _0xe3f3xe|| 200;return function(_0xe3f3xf){if(_0xe3f3xf){_0xe3f3xb[_0xbd6a[12]](_0xe3f3xe)[_0xbd6a[13]](_0xe3f3xf)}}}function handleEntityNotFound(_0xe3f3xb){return function(_0xe3f3xf){if(!_0xe3f3xf){_0xe3f3xb[_0xbd6a[12]](404)[_0xbd6a[14]]();return null};return _0xe3f3xf}}function saveUpdates(_0xe3f3x12){return function(_0xe3f3xf){return _0xe3f3xf[_0xbd6a[16]](_0xe3f3x12)[_0xbd6a[15]](function(_0xe3f3x13){return _0xe3f3x13})}}function removeEntity(_0xe3f3xb){return function(_0xe3f3xf){if(_0xe3f3xf){return _0xe3f3xf[_0xbd6a[17]]()[_0xbd6a[15]](function(){_0xe3f3xb[_0xbd6a[12]](204)[_0xbd6a[14]]()})}}}exports[_0xbd6a[18]]= function(_0xe3f3x15,_0xe3f3xb,_0xe3f3x16){return JscriptyProject[_0xbd6a[22]](Util[_0xbd6a[21]](_0xe3f3x15[_0xbd6a[20]]))[_0xbd6a[15]](function(_0xe3f3x17){_0xe3f3xb[_0xbd6a[12]](200)[_0xbd6a[11]](_0xe3f3x17)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[23]]= function(_0xe3f3x15,_0xe3f3xb){return JscriptyProject[_0xbd6a[27]](_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]])[_0xbd6a[15]](function(_0xe3f3x18){if(!_0xe3f3x18){return _0xe3f3xb[_0xbd6a[24]](404)};return _0xe3f3xb[_0xbd6a[11]](_0xe3f3x18)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[28]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptySession[_0xbd6a[31]]({method:[_0xbd6a[30],_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]]]})[_0xbd6a[22]](Util[_0xbd6a[21]](_0xe3f3x15[_0xbd6a[20]]))[_0xbd6a[15]](handleEntityNotFound(_0xe3f3xb))[_0xbd6a[15]](responseWithResult(_0xe3f3xb))[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[32]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptySession[_0xbd6a[34]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],session_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[33]]},include:[{model:ReportJscriptyQuestion,include:[{model:ReportJscriptyInput}]}]})[_0xbd6a[15]](handleEntityNotFound(_0xe3f3xb))[_0xbd6a[15]](responseWithResult(_0xe3f3xb))[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[35]]= function(_0xe3f3x15,_0xe3f3xb){var _0xe3f3x19={count:0,rows:[]};return ReportJscriptySession[_0xbd6a[31]]({method:[_0xbd6a[48],_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]]]})[_0xbd6a[22]](Util[_0xbd6a[21]](_0xe3f3x15[_0xbd6a[20]]))[_0xbd6a[15]](function(_0xe3f3x1a){_[_0xbd6a[45]](_0xe3f3x1a[_0xbd6a[36]],function(_0xe3f3x1b){var _0xe3f3x1c=_0xe3f3x1b[_0xbd6a[37]];_[_0xbd6a[45]](_0xe3f3x1b.ReportJscriptyQuestions,function(_0xe3f3x1d){var _0xe3f3x1e=_0xe3f3x1d[_0xbd6a[38]];var _0xe3f3x1f=_0xe3f3x1d[_0xbd6a[39]];var _0xe3f3x20=_0xe3f3x1d[_0xbd6a[40]];var _0xe3f3x21=_0xe3f3x1d[_0xbd6a[41]];_[_0xbd6a[45]](_0xe3f3x1d.ReportJscriptyInputs,function(_0xe3f3x22){_0xe3f3x19[_0xbd6a[36]][_0xbd6a[44]]({session_id:_0xe3f3x1c,question_type:_0xe3f3x1f,question_id:_0xe3f3x1e,question_label:_0xe3f3x20,question_text:_0xe3f3x21,input_label:_0xe3f3x22[_0xbd6a[42]],input_value:_0xe3f3x22[_0xbd6a[43]]})})})});_0xe3f3x19[_0xbd6a[46]]= _0xe3f3x19[_0xbd6a[36]][_0xbd6a[47]];return _0xe3f3x19})[_0xbd6a[15]](handleEntityNotFound(_0xe3f3xb))[_0xbd6a[15]](responseWithResult(_0xe3f3xb))[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[49]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]]},include:[{model:ReportJscriptyInput}]})[_0xbd6a[15]](function(_0xe3f3x23){if(!_0xe3f3x23){return _0xe3f3xb[_0xbd6a[24]](404)};return _0xe3f3xb[_0xbd6a[12]](200)[_0xbd6a[11]](_0xe3f3x23)})[_0xbd6a[15]](handleEntityNotFound(_0xe3f3xb))[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[51]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptyQuestion[_0xbd6a[31]]({method:[_0xbd6a[52],_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]]]})[_0xbd6a[22]](Util[_0xbd6a[21]](_0xe3f3x15[_0xbd6a[20]]))[_0xbd6a[15]](handleEntityNotFound(_0xe3f3xb))[_0xbd6a[15]](function(_0xe3f3x24){return _0xe3f3xb[_0xbd6a[12]](200)[_0xbd6a[11]](_0xe3f3x24)})[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[53]]= function(_0xe3f3x15,_0xe3f3xb){var _0xe3f3x25={};var _0xe3f3x23;var _0xe3f3x26=0;return ReportJscriptyQuestion[_0xbd6a[34]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[69]]},attributes:[_0xbd6a[39]]})[_0xbd6a[15]](function(_0xe3f3x27){if(!_0xe3f3x27){return _0xe3f3xb[_0xbd6a[24]](404)};if(_0xe3f3x27[_0xbd6a[54]][_0xbd6a[39]]== _0xbd6a[55]){return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[69]]},attributes:[_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41]],include:[{model:ReportJscriptyInput,where:{$or:[{input_type:_0xbd6a[72],input_value:_0xbd6a[73]},{input_type:{$ne:_0xbd6a[72]},input_value:{$ne:null}}]},attributes:[_0xbd6a[42],_0xbd6a[43],_0xbd6a[74],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[42])),_0xbd6a[46]]]}],group:[_0xbd6a[38],_0xbd6a[42]]})[_0xbd6a[15]](function(_0xe3f3x27){_0xe3f3x23= _0xe3f3x27;return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[69]],question_type:_0xbd6a[55]},attributes:[_0xbd6a[38],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[38])),_0xbd6a[46]]],group:[_0xbd6a[38]]})})[_0xbd6a[15]](function(_0xe3f3x34){_0xe3f3x26= _0xe3f3x34[0][_0xbd6a[54]][_0xbd6a[46]];if(_0xe3f3x23){var _0xe3f3x29=_[_0xbd6a[56]](_0xe3f3x23,_0xbd6a[38]);_[_0xbd6a[45]](_0xe3f3x29,function(_0xe3f3x35,_0xe3f3x2a){var _0xe3f3x30=[];var _0xe3f3x31=[];var _0xe3f3x33=[];var _0xe3f3x36=_0xbd6a[65];_[_0xbd6a[45]](_0xe3f3x35,function(_0xe3f3x2d){if(_0xe3f3x2d[_0xbd6a[66]]){_[_0xbd6a[45]](_0xe3f3x2d.ReportJscriptyInputs,function(_0xe3f3x22){_0xe3f3x30[_0xbd6a[44]]({checkbox:true,value:_0xe3f3x22[_0xbd6a[42]],count:_0xe3f3x22[_0xbd6a[54]][_0xbd6a[46]]})})}});var _0xe3f3x32=[];for(var _0xe3f3x37=0;_0xe3f3x37< _0xe3f3x30[_0xbd6a[47]];_0xe3f3x37++){_0xe3f3x32[_0xe3f3x37]= _0xe3f3x30[_0xe3f3x37][_0xbd6a[46]];_0xe3f3x33[_0xe3f3x37]= _0xe3f3x30[_0xe3f3x37][_0xbd6a[67]];_0xe3f3x30[_0xe3f3x37][_0xbd6a[68]]= _0xe3f3x26?(_0xe3f3x30[_0xe3f3x37][_0xbd6a[46]]/ _0xe3f3x26)* 100:0};_0xe3f3x31[0]= _0xe3f3x32;_0xe3f3x25= {total:_0xe3f3x26,question_type:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[39]],question_id:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[38]],question_label:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[40]],question_text:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[41]],choices:_0xe3f3x30,graphData:_0xe3f3x31,graphLabels:_0xe3f3x33,graphType:_0xe3f3x36}})};return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[69]],question_type:_0xbd6a[55]},attributes:[_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41]],include:[{model:ReportJscriptyInput,attributes:[_0xbd6a[42]]}]})})[_0xbd6a[15]](function(_0xe3f3x19){var _0xe3f3x28=[];if(_0xe3f3x19){var _0xe3f3x29=_[_0xbd6a[56]](_0xe3f3x19,_0xbd6a[38]);_[_0xbd6a[45]](_0xe3f3x29,function(_0xe3f3x1d,_0xe3f3x2a){var _0xe3f3x2b=[];_[_0xbd6a[45]](_0xe3f3x1d,function(_0xe3f3x2c){_0xe3f3x2b= _[_0xbd6a[58]](_0xe3f3x2b,_[_0xbd6a[57]](_0xe3f3x2c.ReportJscriptyInputs,_0xbd6a[42]))});_0xe3f3x28[_0xbd6a[44]]({question_id:_[_0xbd6a[59]](_0xe3f3x1d)[_0xbd6a[38]],labels:_0xe3f3x2b})});_[_0xbd6a[45]](_0xe3f3x28,function(_0xe3f3x2d){if(Object[_0xbd6a[60]](_0xe3f3x25)[_0xbd6a[47]]){_[_0xbd6a[45]](_0xe3f3x2d[_0xbd6a[61]],function(_0xe3f3x2e){var _0xe3f3x2f=_[_0xbd6a[34]](_0xe3f3x25[_0xbd6a[62]],{value:_0xe3f3x2e});if(!_0xe3f3x2f){_0xe3f3x25[_0xbd6a[62]][_0xbd6a[44]]({value:_0xe3f3x2e,count:0,percentage:0});_0xe3f3x25[_0xbd6a[63]][0][_0xbd6a[44]](0);_0xe3f3x25[_0xbd6a[64]][_0xbd6a[44]](_0xe3f3x2e)}})}else {var _0xe3f3x30=[];var _0xe3f3x31=[];var _0xe3f3x32=[];var _0xe3f3x33=[];_[_0xbd6a[45]](_0xe3f3x2d[_0xbd6a[61]],function(_0xe3f3x2e){_0xe3f3x30[_0xbd6a[44]]({value:_0xe3f3x2e,count:0,percentage:0});_0xe3f3x32[_0xbd6a[44]](0);_0xe3f3x33[_0xbd6a[44]](_0xe3f3x2e)});_0xe3f3x31[_0xbd6a[44]](_0xe3f3x32);var _0xe3f3x22=_0xe3f3x19[0];_0xe3f3x25= {total:_0xe3f3x26,question_type:_0xe3f3x22[_0xbd6a[39]],question_id:_0xe3f3x22[_0xbd6a[38]],question_label:_0xe3f3x22[_0xbd6a[40]],question_text:_0xe3f3x22[_0xbd6a[41]],choices:_0xe3f3x30,graphType:_0xbd6a[65],graphData:_0xe3f3x31,graphLabels:_0xe3f3x33}}})};return _0xe3f3xb[_0xbd6a[12]](201)[_0xbd6a[11]](_0xe3f3x25)})}else {if(_0xe3f3x27[_0xbd6a[54]][_0xbd6a[39]]== _0xbd6a[75]){return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[69]]},attributes:[_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41],_0xbd6a[80],_0xbd6a[77],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[77])),_0xbd6a[46]]],group:[_0xbd6a[38],_0xbd6a[77]]})[_0xbd6a[15]](function(_0xe3f3x27){_0xe3f3x23= _0xe3f3x27;return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[69]],question_type:_0xbd6a[75],question_other_answer:{$ne:null}},attributes:[_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[80],_0xbd6a[41],_0xbd6a[78],_0xbd6a[79],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[79])),_0xbd6a[46]]],group:[_0xbd6a[38],_0xbd6a[79]]})})[_0xbd6a[15]](function(_0xe3f3x1a){if(_0xe3f3x1a){_[_0xbd6a[45]](_0xe3f3x1a,function(_0xe3f3x2d){_0xe3f3x23[_0xbd6a[44]](_0xe3f3x2d)})};var _0xe3f3x29=_[_0xbd6a[56]](_0xe3f3x23,_0xbd6a[38]);_[_0xbd6a[45]](_0xe3f3x29,function(_0xe3f3x35,_0xe3f3x2a){var _0xe3f3x30=[];var _0xe3f3x26=0;var _0xe3f3x31=[];var _0xe3f3x33=[];var _0xe3f3x36=_0xbd6a[76];_[_0xbd6a[45]](_0xe3f3x35,function(_0xe3f3x2d){if(_0xe3f3x2d[_0xbd6a[77]]){_0xe3f3x30[_0xbd6a[44]]({value:_0xe3f3x2d[_0xbd6a[77]],count:_0xe3f3x2d[_0xbd6a[54]][_0xbd6a[46]]});_0xe3f3x26= _0xe3f3x26+ _0xe3f3x2d[_0xbd6a[54]][_0xbd6a[46]]};if(_0xe3f3x2d[_0xbd6a[78]]){_0xe3f3x30[_0xbd6a[44]]({other_option:true,value:_0xe3f3x2d[_0xbd6a[79]],count:_0xe3f3x2d[_0xbd6a[54]][_0xbd6a[46]]})}});var _0xe3f3x38=_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[80]]?JSON[_0xbd6a[81]](_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[80]]):null;if(_0xe3f3x38){_[_0xbd6a[45]](_0xe3f3x38[_0xbd6a[82]],function(_0xe3f3x39){var _0xe3f3x3a=_[_0xbd6a[34]](_0xe3f3x30,{value:_0xe3f3x39});if(!_0xe3f3x3a){_0xe3f3x30[_0xbd6a[44]]({value:_0xe3f3x39,count:0,percentage:0})}})};var _0xe3f3x32=[];var _0xe3f3x3b=false;for(var _0xe3f3x37=0;_0xe3f3x37< _0xe3f3x30[_0xbd6a[47]];_0xe3f3x37++){if(!_0xe3f3x30[_0xe3f3x37][_0xbd6a[83]]){_0xe3f3x31[_0xe3f3x37]= _0xe3f3x30[_0xe3f3x37][_0xbd6a[46]];_0xe3f3x33[_0xe3f3x37]= _0xe3f3x30[_0xe3f3x37][_0xbd6a[67]];_0xe3f3x30[_0xe3f3x37][_0xbd6a[68]]= _0xe3f3x26?(_0xe3f3x30[_0xe3f3x37][_0xbd6a[46]]/ _0xe3f3x26)* 100:0}};_0xe3f3x25= {total:_0xe3f3x26,question_type:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[39]],question_id:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[38]],question_label:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[40]],question_text:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[41]],choices:_0xe3f3x30,graphData:_0xe3f3x31,graphLabels:_0xe3f3x33,graphType:_0xe3f3x36}});return _0xe3f3xb[_0xbd6a[12]](201)[_0xbd6a[11]](_0xe3f3x25)})}else {console[_0xbd6a[29]](_0xbd6a[84]);return _0xe3f3xb[_0xbd6a[24]](404)}}})[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[85]]= function(_0xe3f3x15,_0xe3f3xb){var _0xe3f3x3c;var _0xe3f3x23;var _0xe3f3x3d;var _0xe3f3x34;return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_type:_0xbd6a[75]},attributes:[_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41],_0xbd6a[77],_0xbd6a[80],_0xbd6a[79],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[77])),_0xbd6a[46]]],group:[_0xbd6a[38],_0xbd6a[77]]})[_0xbd6a[15]](function(_0xe3f3x1a){_0xe3f3x23= _0xe3f3x1a;return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_type:_0xbd6a[75],question_other_answer:{$ne:null}},attributes:[_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41],_0xbd6a[78],_0xbd6a[79],_0xbd6a[80],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[78])),_0xbd6a[46]]],group:[_0xbd6a[38],_0xbd6a[78]]})})[_0xbd6a[15]](function(_0xe3f3x1a){_[_0xbd6a[45]](_0xe3f3x1a,function(_0xe3f3x2d){_0xe3f3x23[_0xbd6a[44]](_0xe3f3x2d)});var _0xe3f3x25=[];var _0xe3f3x36=_0xbd6a[76];var _0xe3f3x29=_[_0xbd6a[56]](_0xe3f3x23,_0xbd6a[38]);_[_0xbd6a[45]](_0xe3f3x29,function(_0xe3f3x35,_0xe3f3x2a){var _0xe3f3x26=0;var _0xe3f3x31=[];var _0xe3f3x33=[];var _0xe3f3x30=[];_[_0xbd6a[45]](_0xe3f3x35,function(_0xe3f3x2d){if(_0xe3f3x2d[_0xbd6a[77]]){_0xe3f3x30[_0xbd6a[44]]({value:_0xe3f3x2d[_0xbd6a[77]],count:_0xe3f3x2d[_0xbd6a[54]][_0xbd6a[46]]});_0xe3f3x26= _0xe3f3x26+ _0xe3f3x2d[_0xbd6a[54]][_0xbd6a[46]]};if(_0xe3f3x2d[_0xbd6a[78]]){_0xe3f3x30[_0xbd6a[44]]({other_option:true,value:_0xe3f3x2d[_0xbd6a[78]],count:_0xe3f3x2d[_0xbd6a[54]][_0xbd6a[46]]})}});var _0xe3f3x38=JSON[_0xbd6a[81]](_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[80]]);if(_0xe3f3x38){_[_0xbd6a[45]](_0xe3f3x38[_0xbd6a[82]],function(_0xe3f3x39){var _0xe3f3x3a=_[_0xbd6a[34]](_0xe3f3x30,{value:_0xe3f3x39});if(!_0xe3f3x3a){_0xe3f3x30[_0xbd6a[44]]({value:_0xe3f3x39,count:0,percentage:0})}})};for(var _0xe3f3x37=0;_0xe3f3x37< _0xe3f3x30[_0xbd6a[47]];_0xe3f3x37++){if(!_0xe3f3x30[_0xe3f3x37][_0xbd6a[83]]&& (_0xe3f3x26!= 0)){_0xe3f3x30[_0xe3f3x37][_0xbd6a[68]]= (_0xe3f3x30[_0xe3f3x37][_0xbd6a[46]]/ _0xe3f3x26)* 100;_0xe3f3x31[_0xbd6a[44]](_0xe3f3x30[_0xe3f3x37][_0xbd6a[46]]);_0xe3f3x33[_0xbd6a[44]](_0xe3f3x30[_0xe3f3x37][_0xbd6a[67]])}};_0xe3f3x25[_0xbd6a[44]]({total:_0xe3f3x26,question_type:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[39]],question_id:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[38]],question_label:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[40]],question_other_label:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[79]],question_text:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[41]],choices:_0xe3f3x30,graphData:_0xe3f3x31,graphLabels:_0xe3f3x33,graphType:_0xe3f3x36})});_0xe3f3x3c= _0xe3f3x25;return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_type:_0xbd6a[55]},attributes:[_0xbd6a[25],_0xbd6a[39],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41],_0xbd6a[77]],include:[{model:ReportJscriptyInput,where:{$or:[{input_type:_0xbd6a[72],input_value:_0xbd6a[73]},{input_type:{$ne:_0xbd6a[72]},input_value:{$ne:null}}]},attributes:[_0xbd6a[42],_0xbd6a[43],_0xbd6a[74],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[42])),_0xbd6a[46]]]}],group:[_0xbd6a[38],_0xbd6a[42]]})})[_0xbd6a[15]](function(_0xe3f3x27){_0xe3f3x23= _0xe3f3x27;return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_type:_0xbd6a[55]},attributes:[_0xbd6a[38],[sequelize[_0xbd6a[71]](_0xbd6a[46],sequelize[_0xbd6a[70]](_0xbd6a[38])),_0xbd6a[46]]],group:[_0xbd6a[38]]})})[_0xbd6a[15]](function(_0xe3f3x1d){_0xe3f3x34= _0xe3f3x1d;var _0xe3f3x25=[];var _0xe3f3x29=_[_0xbd6a[56]](_0xe3f3x23,_0xbd6a[38]);_[_0xbd6a[45]](_0xe3f3x29,function(_0xe3f3x35,_0xe3f3x2a){var _0xe3f3x30=[];var _0xe3f3x26=0;_0xe3f3x26= _[_0xbd6a[34]](_0xe3f3x34,function(_0xe3f3x1d){return _0xe3f3x1d[_0xbd6a[38]]== _[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[38]]})[_0xbd6a[54]][_0xbd6a[46]];var _0xe3f3x31=[];var _0xe3f3x3f=[];var _0xe3f3x33=[];var _0xe3f3x36=_0xbd6a[65];_[_0xbd6a[45]](_0xe3f3x35,function(_0xe3f3x2d){var _0xe3f3x40=_0xe3f3x2d;_[_0xbd6a[45]](_0xe3f3x40.ReportJscriptyInputs,function(_0xe3f3x22){_0xe3f3x30[_0xbd6a[44]]({checkbox:true,value:_0xe3f3x22[_0xbd6a[42]],count:_0xe3f3x22[_0xbd6a[54]][_0xbd6a[46]]})})});var _0xe3f3x32=[];for(var _0xe3f3x37=0;_0xe3f3x37< _0xe3f3x30[_0xbd6a[47]];_0xe3f3x37++){_0xe3f3x32[_0xe3f3x37]= _0xe3f3x30[_0xe3f3x37][_0xbd6a[46]];_0xe3f3x30[_0xe3f3x37][_0xbd6a[68]]= (_0xe3f3x30[_0xe3f3x37][_0xbd6a[46]]/ _0xe3f3x26)* 100;_0xe3f3x33[_0xe3f3x37]= _0xe3f3x30[_0xe3f3x37][_0xbd6a[67]]};_0xe3f3x31[0]= _0xe3f3x32;_0xe3f3x3c[_0xbd6a[44]]({total:_0xe3f3x26,question_type:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[39]],question_id:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[38]],question_label:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[40]],question_text:_[_0xbd6a[59]](_0xe3f3x35)[_0xbd6a[41]],choices:_0xe3f3x30,graphData:_0xe3f3x31,graphLabels:_0xe3f3x33,graphType:_0xe3f3x36})});return ReportJscriptyQuestion[_0xbd6a[50]]({where:{projectId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]],question_type:_0xbd6a[55]},attributes:[_0xbd6a[25],_0xbd6a[38],_0xbd6a[40],_0xbd6a[41],_0xbd6a[39]],include:[{model:ReportJscriptyInput,attributes:[_0xbd6a[42]]}]})})[_0xbd6a[15]](function(_0xe3f3x19){var _0xe3f3x29=_[_0xbd6a[56]](_0xe3f3x19,_0xbd6a[38]);var _0xe3f3x3e=[];_[_0xbd6a[45]](_0xe3f3x29,function(_0xe3f3x1d,_0xe3f3x2a){var _0xe3f3x2b=[];_[_0xbd6a[45]](_0xe3f3x1d,function(_0xe3f3x2c){_0xe3f3x2b= _[_0xbd6a[58]](_0xe3f3x2b,_[_0xbd6a[57]](_0xe3f3x2c.ReportJscriptyInputs,_0xbd6a[42]))});_0xe3f3x3e[_0xbd6a[44]]({question_text:_[_0xbd6a[59]](_0xe3f3x1d)[_0xbd6a[41]],question_type:_[_0xbd6a[59]](_0xe3f3x1d)[_0xbd6a[39]],question_label:_[_0xbd6a[59]](_0xe3f3x1d)[_0xbd6a[40]],question_id:_[_0xbd6a[59]](_0xe3f3x1d)[_0xbd6a[38]],labels:_0xe3f3x2b})});_[_0xbd6a[45]](_0xe3f3x3e,function(_0xe3f3x2d){var _0xe3f3x1d=_[_0xbd6a[34]](_0xe3f3x3c,{"\x71\x75\x65\x73\x74\x69\x6F\x6E\x5F\x69\x64":_0xe3f3x2d[_0xbd6a[38]]});if(_0xe3f3x1d){_[_0xbd6a[45]](_0xe3f3x2d[_0xbd6a[61]],function(_0xe3f3x2e){var _0xe3f3x2f=_[_0xbd6a[34]](_0xe3f3x1d[_0xbd6a[62]],{value:_0xe3f3x2e});if(!_0xe3f3x2f){_0xe3f3x1d[_0xbd6a[62]][_0xbd6a[44]]({value:_0xe3f3x2e,count:0,percentage:0});_0xe3f3x1d[_0xbd6a[63]][0][_0xbd6a[44]](0);_0xe3f3x1d[_0xbd6a[64]][_0xbd6a[44]](_0xe3f3x2e)}})}else {var _0xe3f3x30=[];var _0xe3f3x31=[];var _0xe3f3x32=[];var _0xe3f3x33=[];_[_0xbd6a[45]](_0xe3f3x2d[_0xbd6a[61]],function(_0xe3f3x2e){_0xe3f3x30[_0xbd6a[44]]({value:_0xe3f3x2e,count:0,percentage:0})});var _0xe3f3x26=_[_0xbd6a[34]](_0xe3f3x34,function(_0xe3f3x1d){return _0xe3f3x1d[_0xbd6a[38]]== _0xe3f3x2d[_0xbd6a[38]]})[_0xbd6a[54]][_0xbd6a[46]];_0xe3f3x3c[_0xbd6a[44]]({total:_0xe3f3x26,question_type:_0xe3f3x2d[_0xbd6a[39]],question_id:_0xe3f3x2d[_0xbd6a[38]],question_label:_0xe3f3x2d[_0xbd6a[40]],question_text:_0xe3f3x2d[_0xbd6a[41]],choices:_0xe3f3x30,graphType:_0xbd6a[65],graphData:_0xe3f3x31,graphLabels:_0xe3f3x33})}});return _0xe3f3xb[_0xbd6a[12]](201)[_0xbd6a[11]](_0xe3f3x3c)})[_0xbd6a[19]](function(_0xe3f3xc){console[_0xbd6a[29]](_0xe3f3xc);return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[86]]= function(_0xe3f3x15,_0xe3f3xb){return JscriptyProject[_0xbd6a[86]](_0xe3f3x15[_0xbd6a[93]])[_0xbd6a[15]](function(_0xe3f3x18){return _0xe3f3xb[_0xbd6a[12]](201)[_0xbd6a[11]](_0xe3f3x18)})[_0xbd6a[19]](sequelize.UniqueConstraintError,function(_0xe3f3xc){if(_0xe3f3xc[_0xbd6a[88]][_0xbd6a[87]]){_0xe3f3xc[_0xbd6a[89]]= _0xbd6a[90];_0xe3f3xc[_0xbd6a[91]]= _0xbd6a[92]};return handleError(_0xe3f3xb,_0xe3f3xc)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[94]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptySession[_0xbd6a[86]](_0xe3f3x15[_0xbd6a[93]])[_0xbd6a[15]](function(_0xe3f3x41){return _0xe3f3xb[_0xbd6a[12]](201)[_0xbd6a[11]](_0xe3f3x41)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[95]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptyQuestion[_0xbd6a[17]]({where:{sessionId:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[33]]}})[_0xbd6a[15]](function(){var _0xe3f3x42=[];for(var _0xe3f3x37=0;_0xe3f3x37< _0xe3f3x15[_0xbd6a[93]][_0xbd6a[47]];_0xe3f3x37++){_0xe3f3x42[_0xe3f3x37]= ReportJscriptyQuestion[_0xbd6a[86]](_0xe3f3x15[_0xbd6a[93]][_0xe3f3x37],{include:[{model:ReportJscriptyInput}]})};return Promise[_0xbd6a[96]](_0xe3f3x42)})[_0xbd6a[15]](function(_0xe3f3x27){return _0xe3f3xb[_0xbd6a[24]](201)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[97]]= function(_0xe3f3x15,_0xe3f3xb){if(_0xe3f3x15[_0xbd6a[93]][_0xbd6a[25]]){delete _0xe3f3x15[_0xbd6a[93]][_0xbd6a[25]]};return JscriptyProject[_0xbd6a[27]](_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]])[_0xbd6a[15]](function(_0xe3f3x18){if(!_0xe3f3x18){return _0xe3f3xb[_0xbd6a[24]](404)};var _0xe3f3x13=_[_0xbd6a[98]](_0xe3f3x18,_0xe3f3x15[_0xbd6a[93]]);return _0xe3f3x13[_0xbd6a[99]]()})[_0xbd6a[15]](function(_0xe3f3x18){return _0xe3f3xb[_0xbd6a[12]](200)[_0xbd6a[11]](_0xe3f3x18)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[100]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptySession[_0xbd6a[27]](_0xe3f3x15[_0xbd6a[26]][_0xbd6a[33]])[_0xbd6a[15]](function(_0xe3f3x1b){if(!_0xe3f3x1b){return _0xe3f3xb[_0xbd6a[24]](404)};var _0xe3f3x13=_[_0xbd6a[98]](_0xe3f3x1b,_0xe3f3x15[_0xbd6a[93]]);return _0xe3f3x13[_0xbd6a[99]]()})[_0xbd6a[15]](function(_0xe3f3x41){return _0xe3f3xb[_0xbd6a[12]](200)[_0xbd6a[11]](_0xe3f3x41)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[17]]= function(_0xe3f3x15,_0xe3f3xb){return JscriptyProject[_0xbd6a[27]](_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]])[_0xbd6a[15]](function(_0xe3f3x18){if(!_0xe3f3x18){return _0xe3f3xb[_0xbd6a[24]](404)};return _0xe3f3x18[_0xbd6a[17]]()})[_0xbd6a[15]](function(){return _0xe3f3xb[_0xbd6a[24]](204)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[101]]= function(_0xe3f3x15,_0xe3f3xb){return ReportJscriptySession[_0xbd6a[34]]({where:{session_id:_0xe3f3x15[_0xbd6a[26]][_0xbd6a[33]]}})[_0xbd6a[15]](function(_0xe3f3x1b){if(!_0xe3f3x1b){return _0xe3f3xb[_0xbd6a[24]](404)};return _0xe3f3x1b[_0xbd6a[17]]()})[_0xbd6a[15]](function(){return _0xe3f3xb[_0xbd6a[24]](204)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[102]]= function(_0xe3f3x15,_0xe3f3xb){return JscriptyProject[_0xbd6a[17]]({where:{id:_0xe3f3x15[_0xbd6a[20]][_0xbd6a[103]]},individualHooks:true})[_0xbd6a[15]](function(){return _0xe3f3xb[_0xbd6a[24]](204)})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})};exports[_0xbd6a[104]]= function(_0xe3f3x15,_0xe3f3xb,_0xe3f3x16){return JscriptyProject[_0xbd6a[27]](_0xe3f3x15[_0xbd6a[26]][_0xbd6a[25]])[_0xbd6a[15]](function(_0xe3f3x18){if(!_0xe3f3x18){return _0xe3f3xb[_0xbd6a[24]](404)};_0xe3f3xb[_0xbd6a[109]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E":_0xbd6a[105]+ _0xe3f3x15[_0xbd6a[20]][_0xbd6a[106]]+ _0xbd6a[107],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xbd6a[108]});return _0xe3f3xb[_0xbd6a[11]](_0xe3f3x18[_0xbd6a[110]])})[_0xbd6a[19]](function(_0xe3f3xc){return handleError(_0xe3f3xb,_0xe3f3xc)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const JscriptyProject = require('../../models').JscriptyProject;
-
-var JscriptyProjectEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-JscriptyProjectEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- JscriptyProject.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- JscriptyProjectEvents.emit(event + ':' + doc._id, doc);
- JscriptyProjectEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = JscriptyProjectEvents;
+var _0x76ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4A\x73\x63\x72\x69\x70\x74\x79\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x76ef[0];const EventEmitter=require(_0x76ef[1]);const JscriptyProject=require(_0x76ef[3])[_0x76ef[2]];var JscriptyProjectEvents= new EventEmitter();JscriptyProjectEvents[_0x76ef[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x76ef[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x76ef[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x76ef[6]};for(var e in events){var event=events[e];JscriptyProject[_0x76ef[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x5c0cx8,_0x5c0cx9,_0x5c0cxa){JscriptyProjectEvents[_0x76ef[10]](event+ _0x76ef[8]+ _0x5c0cx8[_0x76ef[9]],_0x5c0cx8);JscriptyProjectEvents[_0x76ef[10]](event,_0x5c0cx8);_0x5c0cxa(null)}}module[_0x76ef[11]]= JscriptyProjectEvents
\ No newline at end of file
-'use strict';
-
-const JscriptyProjectEvents = require('./jscripty_project.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('jscripty_project:' + event, socket);
-
- JscriptyProjectEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- JscriptyProjectEvents.removeListener(event, listener);
- };
-}
+var _0x699a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6A\x73\x63\x72\x69\x70\x74\x79\x5F\x70\x72\x6F\x6A\x65\x63\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x699a[0];const JscriptyProjectEvents=require(_0x699a[1]);var events=[_0x699a[2],_0x699a[3]];exports[_0x699a[4]]= function(_0x9547x3){for(var _0x9547x4=0,_0x9547x5=events[_0x699a[5]];_0x9547x4< _0x9547x5;_0x9547x4++){var _0x9547x6=events[_0x9547x4];var _0x9547x7=createListener(_0x699a[6]+ _0x9547x6,_0x9547x3);JscriptyProjectEvents[_0x699a[7]](_0x9547x6,_0x9547x7);_0x9547x3[_0x699a[7]](_0x699a[8],removeListener(_0x9547x6,_0x9547x7))}};function createListener(_0x9547x6,_0x9547x3){return function(_0x9547x9){_0x9547x3[_0x699a[9]](_0x9547x6,_0x9547x9)}}function removeListener(_0x9547x6,_0x9547x7){return function(){JscriptyProjectEvents[_0x699a[10]](_0x9547x6,_0x9547x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./license.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.post('/request', auth.isAuthenticated(), controller.request);
-
-module.exports = router;
+var _0x50f4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x72\x65\x71\x75\x65\x73\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x72\x65\x71\x75\x65\x73\x74","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x50f4[0];var express=require(_0x50f4[1]);var auth=require(_0x50f4[2]);var controller=require(_0x50f4[3]);var router=express.Router();router[_0x50f4[6]](_0x50f4[4],controller[_0x50f4[5]]);router[_0x50f4[10]](_0x50f4[7],auth[_0x50f4[8]](),controller[_0x50f4[9]]);module[_0x50f4[11]]= router
\ No newline at end of file
-'use strict';
-
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/licenses -> index
- * POST /api/licenses -> create
- * GET /api/licenses/:id -> show
- * PUT /api/licenses/:id -> update
- * DELETE /api/licenses/:id -> destroy
- */
-
-var _ = require('lodash');
-var crypto = require('crypto');
-var moment = require('moment');
-var rp = require('request-promise');
-
-var config = require('../../config/environment');
-var license = require('../../config/license/license.service');
-var License = require('../../models').License;
-var Setting = require('../../models').Setting;
-
-const expirationTh = 7;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- console.log(err);
- res.status(statusCode).send(err);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- entity = {
- dataValues: {
- license: license.demoLicense
- }
- };
-
- entity.dataValues.license.token = license.getUuid();
- res.status(201).json(entity);
- return null;
- }
-
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity
- .updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity
- .destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of Licenses
-exports.index = function(req, res, next) {
- var _settings;
- var _license;
-
- return Setting
- .findById(1)
- .then(function(settings) {
- _settings = settings;
- return License
- .findById(1);
- })
- .then(handleEntityNotFound(res))
- .then(function(_license) {
-
- if (!_license) {
- _license = {};
- }
-
- try {
- if (_license.license) {
- _license.license = license.decrypt(_license.license, _license.data1);
- _license.license = JSON.parse(_license.license);
- } else {
- _license.license = license.demoLicense;
- }
- } catch (err) {
- console.log('decrypt error', err);
- _license.license = license.demoLicense;
- }
-
- if (_license.data2) {
- var decipher = crypto.createDecipher('aes-256-ctr', config.session.secret);
- var dec = decipher.update(_license.data2, 'base64', 'utf8')
- dec += decipher.final('utf8');
-
- _license.license.expirationTime = expirationTh - moment().diff(dec, 'days');
- }
-
- _license.license.token = _license.data1;
- _license.license.token2 = license.getUuid();
- _.merge(_license.dataValues, _settings.dataValues);
-
- res.status(200).json(_license.dataValues);
- })
- .catch(handleError(res));
-}
-
-// Creates a new License in the DB
-exports.request = function(req, res) {
- return rp({
- method: 'POST',
- uri: config.provisioning + '/servers/' + license.getUuid() + '/request',
- body: req.body,
- json: true // Automatically stringifies the body to JSON
- })
- .then(function(data) {
- res.status(201).send(data);
- })
- .catch(function(err) {
- console.log(err);
- return res.status(err.statusCode || 500).send(err);
- });
-}
+var _0x7201=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x63\x72\x79\x70\x74\x6F","\x6D\x6F\x6D\x65\x6E\x74","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x4C\x69\x63\x65\x6E\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x65\x74\x74\x69\x6E\x67","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x64\x65\x6D\x6F\x4C\x69\x63\x65\x6E\x73\x65","\x74\x6F\x6B\x65\x6E","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x67\x65\x74\x55\x75\x69\x64","\x6A\x73\x6F\x6E","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x65\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x64\x61\x74\x61\x31","\x64\x65\x63\x72\x79\x70\x74","\x70\x61\x72\x73\x65","\x64\x65\x63\x72\x79\x70\x74\x20\x65\x72\x72\x6F\x72","\x64\x61\x74\x61\x32","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x62\x61\x73\x65\x36\x34","\x75\x74\x66\x38","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x61\x6C","\x65\x78\x70\x69\x72\x61\x74\x69\x6F\x6E\x54\x69\x6D\x65","\x64\x61\x79\x73","\x64\x69\x66\x66","\x74\x6F\x6B\x65\x6E\x32","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x65\x71\x75\x65\x73\x74","\x73\x74\x61\x74\x75\x73\x43\x6F\x64\x65","\x50\x4F\x53\x54","\x70\x72\x6F\x76\x69\x73\x69\x6F\x6E\x69\x6E\x67","\x2F\x73\x65\x72\x76\x65\x72\x73\x2F","\x2F\x72\x65\x71\x75\x65\x73\x74","\x62\x6F\x64\x79"];_0x7201[0];var _=require(_0x7201[1]);var crypto=require(_0x7201[2]);var moment=require(_0x7201[3]);var rp=require(_0x7201[4]);var config=require(_0x7201[5]);var license=require(_0x7201[6]);var License=require(_0x7201[8])[_0x7201[7]];var Setting=require(_0x7201[8])[_0x7201[9]];const expirationTh=7;function handleError(_0x7b2exb,_0x7b2exc){_0x7b2exc= _0x7b2exc|| 500;return function(_0x7b2exd){console[_0x7201[10]](_0x7b2exd);_0x7b2exb[_0x7201[12]](_0x7b2exc)[_0x7201[11]](_0x7b2exd)}}function handleEntityNotFound(_0x7b2exb){return function(_0x7b2exf){if(!_0x7b2exf){_0x7b2exf= {dataValues:{license:license[_0x7201[13]]}};_0x7b2exf[_0x7201[16]][_0x7201[15]][_0x7201[14]]= license[_0x7201[17]]();_0x7b2exb[_0x7201[12]](201)[_0x7201[18]](_0x7b2exf);return null};return _0x7b2exf}}function saveUpdates(_0x7b2ex11){return function(_0x7b2exf){return _0x7b2exf[_0x7201[20]](_0x7b2ex11)[_0x7201[19]](function(_0x7b2ex12){return _0x7b2ex12})}}function removeEntity(_0x7b2exb){return function(_0x7b2exf){if(_0x7b2exf){return _0x7b2exf[_0x7201[22]]()[_0x7201[19]](function(){_0x7b2exb[_0x7201[12]](204)[_0x7201[21]]()})}}}exports[_0x7201[23]]= function(_0x7b2ex14,_0x7b2exb,_0x7b2ex15){var _0x7b2ex16;var _0x7b2ex17;return Setting[_0x7201[43]](1)[_0x7201[19]](function(_0x7b2ex1a){_0x7b2ex16= _0x7b2ex1a;return License[_0x7201[43]](1)})[_0x7201[19]](handleEntityNotFound(_0x7b2exb))[_0x7201[19]](function(_0x7b2ex17){if(!_0x7b2ex17){_0x7b2ex17= {}};try{if(_0x7b2ex17[_0x7201[15]]){_0x7b2ex17[_0x7201[15]]= license[_0x7201[26]](_0x7b2ex17[_0x7201[15]],_0x7b2ex17[_0x7201[25]]);_0x7b2ex17[_0x7201[15]]= JSON[_0x7201[27]](_0x7b2ex17[_0x7201[15]])}else {_0x7b2ex17[_0x7201[15]]= license[_0x7201[13]]}}catch(err){console[_0x7201[10]](_0x7201[28],err);_0x7b2ex17[_0x7201[15]]= license[_0x7201[13]]};if(_0x7b2ex17[_0x7201[29]]){var _0x7b2ex18=crypto[_0x7201[33]](_0x7201[30],config[_0x7201[32]][_0x7201[31]]);var _0x7b2ex19=_0x7b2ex18[_0x7201[36]](_0x7b2ex17[_0x7201[29]],_0x7201[34],_0x7201[35]);_0x7b2ex19+= _0x7b2ex18[_0x7201[37]](_0x7201[35]);_0x7b2ex17[_0x7201[15]][_0x7201[38]]= expirationTh- moment()[_0x7201[40]](_0x7b2ex19,_0x7201[39])};_0x7b2ex17[_0x7201[15]][_0x7201[14]]= _0x7b2ex17[_0x7201[25]];_0x7b2ex17[_0x7201[15]][_0x7201[41]]= license[_0x7201[17]]();_[_0x7201[42]](_0x7b2ex17[_0x7201[16]],_0x7b2ex16[_0x7201[16]]);_0x7b2exb[_0x7201[12]](200)[_0x7201[18]](_0x7b2ex17[_0x7201[16]])})[_0x7201[24]](handleError(_0x7b2exb))};exports[_0x7201[44]]= function(_0x7b2ex14,_0x7b2exb){return rp({method:_0x7201[46],uri:config[_0x7201[47]]+ _0x7201[48]+ license[_0x7201[17]]()+ _0x7201[49],body:_0x7b2ex14[_0x7201[50]],json:true})[_0x7201[19]](function(_0x7b2ex1b){_0x7b2exb[_0x7201[12]](201)[_0x7201[11]](_0x7b2ex1b)})[_0x7201[24]](function(_0x7b2exd){console[_0x7201[10]](_0x7b2exd);return _0x7b2exb[_0x7201[12]](_0x7b2exd[_0x7201[45]]|| 500)[_0x7201[11]](_0x7b2exd)})}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./list.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.index);
-router.get('/:listId/customfields/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.showCustomField);
-router.get('/:id/customfields', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.getCustomFields);
-router.get('/:id/agents', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.showAgents);
-router.get('/:id/contacts', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.getContacts);
-router.get('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.show);
-router.post('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.create);
-router.post('/:id/agents', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.addAgents);
-router.post('/:id/contacts', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin', 'agent']), controller.getContact);
-router.post('/:id/customfields', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.createCustomField);
-router.put('/:listId/customfields/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.updateCustomField);
-router.put('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.update);
-router.delete('/:id/agents', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.removeAgents);
-router.delete('/', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.destroy);
-router.delete('/:listId/customfields/:id', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.removeCustomField);
-router.delete('/:listId/customfields', auth.isAuthenticated(), license.hasCm(), auth.hasModule([5], ['admin']), controller.removeAllCustomFields);
-
-module.exports = router;
+var _0x973a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6C\x69\x73\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x43\x6D","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x6C\x69\x73\x74\x49\x64\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73\x2F\x3A\x69\x64","\x73\x68\x6F\x77\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x2F\x3A\x69\x64\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x67\x65\x74\x43\x6F\x6E\x74\x61\x63\x74\x73","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x67\x65\x74\x43\x6F\x6E\x74\x61\x63\x74","\x63\x72\x65\x61\x74\x65\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x75\x70\x64\x61\x74\x65\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x70\x75\x74","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x2F\x3A\x6C\x69\x73\x74\x49\x64\x2F\x63\x75\x73\x74\x6F\x6D\x66\x69\x65\x6C\x64\x73","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x973a[0];var express=require(_0x973a[1]);var controller=require(_0x973a[2]);var auth=require(_0x973a[3]);var license=require(_0x973a[4]);var router=express.Router();router[_0x973a[12]](_0x973a[5],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[11]]);router[_0x973a[12]](_0x973a[13],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[14]]);router[_0x973a[12]](_0x973a[15],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[16]]);router[_0x973a[12]](_0x973a[17],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[18]]);router[_0x973a[12]](_0x973a[19],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[20]]);router[_0x973a[12]](_0x973a[21],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[22]]);router[_0x973a[24]](_0x973a[5],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[23]]);router[_0x973a[24]](_0x973a[17],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[25]]);router[_0x973a[24]](_0x973a[19],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8],_0x973a[9]]),controller[_0x973a[26]]);router[_0x973a[24]](_0x973a[15],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[27]]);router[_0x973a[29]](_0x973a[13],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[28]]);router[_0x973a[29]](_0x973a[21],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[30]]);router[_0x973a[32]](_0x973a[17],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[31]]);router[_0x973a[32]](_0x973a[5],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[33]]);router[_0x973a[32]](_0x973a[21],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[34]]);router[_0x973a[32]](_0x973a[13],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[35]]);router[_0x973a[32]](_0x973a[36],auth[_0x973a[6]](),license[_0x973a[7]](),auth[_0x973a[10]]([5],[_0x973a[8]]),controller[_0x973a[37]]);module[_0x973a[38]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-
-var User = require('../../models').User;
-var List = require('../../models').List;
-var UserHasList = require('../../models').UserHasList;
-var CustomField = require('../../models').CustomField;
-var Contact = require('../../models').Contact;
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-
-// Get list of lists
-exports.index = function(req, res, next) {
- switch (req.user.role) {
- case 'agent':
- return User
- .findById(req.user.id)
- .then(function(agent) {
- return agent.getLists();
- })
- .then(function(lists) {
- var agentLists = _.map(lists, 'id');
- return List
- .scope('customFields')
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- $or: [{
- defaultEntry: true
- }, {
- id: agentLists
- }]
- }), {
- distinct: true
- }));
- })
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- default:
- return List
- .scope('customFields')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-
-};
-
-// Get all custom_fields
-exports.getCustomFields = function(req, res) {
- return CustomField
- .findAndCountAll({
- where: {
- ListId: req.params.id
- }
- })
- .then(function(customFields) {
- return res.status(200).send(customFields);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get all custom_fields
-exports.getContact = function(req, res) {
- var where = _.merge(req.body, {
- ListId: req.params.id
- });
-
- return Contact
- .findOrCreate({
- where: where,
- default: req.body
- })
- .spread(function(contact) {
- return res.status(200).send(contact);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getContacts = function(req, res) {
- var _baseQuery = {
- where: {
- ListId: req.params.id,
- },
- attributes: ['phone', 'mobile', 'fax', 'email']
- };
-
- _.forIn(req.query, function(value, key) {
- _baseQuery.where[key] = {
- $like: '%' + value + '%'
- };
- });
-
- return Contact
- .findAll(_baseQuery)
- .then(function(contacts) {
- return res.status(200).send({
- rows: contacts,
- length: contacts.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showCustomField = function(req, res) {
- return CustomField
- .findById(req.params.id)
- .then(function(customField) {
- if (!customField) {
- return res.sendStatus(404);
- }
- return res.status(200).send(customField);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.updateCustomField = function(req, res) {
- return CustomField
- .findById(req.params.id)
- .then(function(customField) {
- if (!customField) {
- return res.sendStatus(404);
- }
- var updated = _.merge(customField, req.body);
- return updated.save();
- })
- .then(function(customField) {
- return res.status(200).send(customField);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.createCustomField = function(req, res) {
- var _customField;
- req.body.ListId = req.params.id;
- return sequelize.transaction(function(t) {
- return CustomField
- .create(req.body)
- .then(function(customField) {
- _customField = customField;
- customField.name = 'cf_' + customField.id;
- return customField.save();
- })
- .then(function() {
- return sequelize.query(util.format('ALTER TABLE cm_contacts ADD COLUMN %s VARCHAR(255)', _customField.name));
- })
- .then(function() {
- return res.sendStatus(201);
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single list
-exports.show = function(req, res) {
- return List
- .findById(req.params.id)
- .then(function(list) {
- if (!list) {
- return res.sendStatus(404);
- }
- return res.send(list);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new list in the DB.
-exports.create = function(req, res) {
- return sequelize.transaction(function(t) {
- return List
- .create(req.body)
- .then(function(list) {
- return res.status(201).send(list);
- })
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.translatedMessage = 'MESSAGE_EXIST_LIST';
- err.message = 'The list name already exists';
- return res.status(500).send(err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing list in the DB.
-exports.update = function(req, res) {
- return List
- .findById(req.params.id)
- .then(function(list) {
- if (!list) {
- return res.sendStatus(404);
- }
- if (req.body.id) {
- delete req.body.id;
- }
- var updated = _.merge(list, req.body);
- return updated.save();
- })
- .then(function(list) {
- return res.status(200).send(list);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.translatedMessage = 'MESSAGE_EXIST_LIST';
- err.message = 'The list name already exists';
- return res.status(500).send(err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showAgents = function(req, res) {
- return List
- .findById(req.params.id)
- .then(function(list) {
- if (!list) {
- return res.sendStatus(404);
- }
- return list
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_list in the DB.
-exports.addAgents = function(req, res, next) {
- return User
- .findAll({
- where: {
- id: req.body.agents
- }
- })
- .then(function(users) {
- var userHasLists = _.map(users, function(user) {
- return {
- list: req.params.id,
- membername: user.name,
- UserId: user.id
- };
- });
-
- return UserHasList
- .bulkCreate(userHasLists, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return next(err);
- });
-};
-
-exports.removeAgents = function(req, res, next) {
- return UserHasList
- .destroy({
- where: {
- UserId: req.query.agents,
- list: req.params.id
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(202);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-// Deletes a list from the DB.
-exports.destroy = function(req, res) {
- return destroyList(req.params.id, res);
-};
-
-// Deletes multiple lists from the DB.
-exports.bulkDestroy = function(req, res) { //add the check for associated contacts
- return destroyList(req.query.id, res);
-};
-
-function destroyList(id, res) {
- return delCf(id, res)
- .all()
- .then(function() {
- return List.destroy({
- where: {
- id: id
- },
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-function delCf(id, res) {
- var _cfs;
- return CustomField.findAll({
- where: {
- ListId: id
- }
- })
- .then(function(cfs) {
- if (!cfs) {
- return res.sendStatus(404);
- }
- _cfs = cfs;
- return CustomField
- .destroy({
- where: {
- id: id
- }
- });
- })
- .then(function() {
- return Contact
- .describe();
- })
- .then(function(tableFields) {
- return _.keys(tableFields);
- })
- .then(function(fields) {
- var bulkDel = [];
- _.forEach(_cfs, function(elem) {
- if (_.includes(fields, elem.name)) {
- bulkDel.push(sequelize.query(util.format('ALTER TABLE cm_contacts DROP COLUMN %s', elem.name)));
- }
- });
- return bulkDel;
- })
-}
-
-exports.removeCustomField = function(req, res) {
- var _cf;
- return CustomField
- .findById(req.params.id)
- .then(function(cf) {
- if (!cf) {
- return res.sendStatus(404);
- }
- _cf = cf;
- return CustomField
- .destroy({
- where: {
- id: req.params.id
- }
- });
- })
- .then(function() {
- return Contact
- .describe();
- })
- .then(function(tableFields) {
- return _.keys(tableFields);
- })
- .then(function(fields) {
- if (_.includes(fields, _cf.name)) {
- return sequelize.query(util.format('ALTER TABLE cm_contacts DROP COLUMN %s', _cf.name));
- }
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.removeAllCustomFields = function(req, res) {
- var _cfs;
- return CustomField
- .findAll({
- where: {
- id: req.query.ids
- }
- })
- .then(function(cfs) {
- if (!cfs) {
- return res.sendStatus(404);
- }
- _cfs = cfs;
- return CustomField
- .destroy({
- where: {
- id: req.query.ids
- }
- });
- })
- .then(function() {
- return Contact
- .describe();
- })
- .then(function(tableFields) {
- return _.keys(tableFields);
- })
- .then(function(fields) {
- var bulkDel = [];
- _cfs.forEach(function(elem) {
- if (_.includes(fields, elem.name)) {
- bulkDel.push(sequelize.query(util.format('ALTER TABLE cm_contacts DROP COLUMN %s', elem.name)));
- }
- });
- return bulkDel;
- })
- .all()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x8f52=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4C\x69\x73\x74","\x55\x73\x65\x72\x48\x61\x73\x4C\x69\x73\x74","\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x69\x64","\x6D\x61\x70","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x73\x63\x6F\x70\x65","\x67\x65\x74\x4C\x69\x73\x74\x73","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x67\x65\x74\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x6C\x6F\x67","\x70\x61\x72\x61\x6D\x73","\x67\x65\x74\x43\x6F\x6E\x74\x61\x63\x74","\x62\x6F\x64\x79","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x67\x65\x74\x43\x6F\x6E\x74\x61\x63\x74\x73","\x70\x68\x6F\x6E\x65","\x6D\x6F\x62\x69\x6C\x65","\x66\x61\x78","\x65\x6D\x61\x69\x6C","\x77\x68\x65\x72\x65","\x25","\x66\x6F\x72\x49\x6E","\x6C\x65\x6E\x67\x74\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x73\x61\x76\x65","\x63\x72\x65\x61\x74\x65\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x4C\x69\x73\x74\x49\x64","\x41\x4C\x54\x45\x52\x20\x54\x41\x42\x4C\x45\x20\x63\x6D\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73\x20\x41\x44\x44\x20\x43\x4F\x4C\x55\x4D\x4E\x20\x25\x73\x20\x56\x41\x52\x43\x48\x41\x52\x28\x32\x35\x35\x29","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x63\x66\x5F","\x63\x72\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x73\x68\x6F\x77","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4C\x49\x53\x54","\x6D\x65\x73\x73\x61\x67\x65","\x54\x68\x65\x20\x6C\x69\x73\x74\x20\x6E\x61\x6D\x65\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74\x73","\x75\x70\x64\x61\x74\x65","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x67\x65\x74\x55\x73\x65\x72\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x6C\x6C","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x41\x4C\x54\x45\x52\x20\x54\x41\x42\x4C\x45\x20\x63\x6D\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73\x20\x44\x52\x4F\x50\x20\x43\x4F\x4C\x55\x4D\x4E\x20\x25\x73","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x6B\x65\x79\x73","\x64\x65\x73\x63\x72\x69\x62\x65","\x72\x65\x6D\x6F\x76\x65\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x43\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64\x73","\x69\x64\x73"];_0x8f52[0];var _=require(_0x8f52[1]);var util=require(_0x8f52[2]);var User=require(_0x8f52[4])[_0x8f52[3]];var List=require(_0x8f52[4])[_0x8f52[5]];var UserHasList=require(_0x8f52[4])[_0x8f52[6]];var CustomField=require(_0x8f52[4])[_0x8f52[7]];var Contact=require(_0x8f52[4])[_0x8f52[8]];var Util=require(_0x8f52[9]);var sequelize=require(_0x8f52[4])[_0x8f52[10]];exports[_0x8f52[11]]= function(_0x9a98xa,_0x9a98xb,_0x9a98xc){switch(_0x9a98xa[_0x8f52[25]][_0x8f52[28]]){case _0x8f52[27]:return User[_0x8f52[26]](_0x9a98xa[_0x8f52[25]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x11){return _0x9a98x11[_0x8f52[24]]()})[_0x8f52[15]](function(_0x9a98xf){var _0x9a98x10=_[_0x8f52[17]](_0x9a98xf,_0x8f52[16]);return List[_0x8f52[23]](_0x8f52[22])[_0x8f52[21]](_[_0x8f52[20]](Util[_0x8f52[19]](_0x9a98xa[_0x8f52[18]],{$or:[{defaultEntry:true},{id:_0x9a98x10}]}),{distinct:true}))})[_0x8f52[15]](function(_0x9a98xe){_0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98xe)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)});default:return List[_0x8f52[23]](_0x8f52[22])[_0x8f52[21]](_[_0x8f52[20]](Util[_0x8f52[19]](_0x9a98xa[_0x8f52[18]]),{distinct:true}))[_0x8f52[15]](function(_0x9a98xe){_0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98xe)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})}};exports[_0x8f52[29]]= function(_0x9a98xa,_0x9a98xb){return CustomField[_0x8f52[21]]({where:{ListId:_0x9a98xa[_0x8f52[31]][_0x8f52[16]]}})[_0x8f52[15]](function(_0x9a98x12){return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98x12)})[_0x8f52[12]](function(_0x9a98xd){console[_0x8f52[30]](_0x9a98xd);return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[32]]= function(_0x9a98xa,_0x9a98xb){var _0x9a98x13=_[_0x8f52[20]](_0x9a98xa[_0x8f52[33]],{ListId:_0x9a98xa[_0x8f52[31]][_0x8f52[16]]});return Contact[_0x8f52[35]]({where:_0x9a98x13,default:_0x9a98xa[_0x8f52[33]]})[_0x8f52[34]](function(_0x9a98x14){return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98x14)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[36]]= function(_0x9a98xa,_0x9a98xb){var _0x9a98x15={where:{ListId:_0x9a98xa[_0x8f52[31]][_0x8f52[16]]},attributes:[_0x8f52[37],_0x8f52[38],_0x8f52[39],_0x8f52[40]]};_[_0x8f52[43]](_0x9a98xa[_0x8f52[18]],function(_0x9a98x16,_0x9a98x17){_0x9a98x15[_0x8f52[41]][_0x9a98x17]= {$like:_0x8f52[42]+ _0x9a98x16+ _0x8f52[42]}});return Contact[_0x8f52[45]](_0x9a98x15)[_0x8f52[15]](function(_0x9a98x18){return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]]({rows:_0x9a98x18,length:_0x9a98x18[_0x8f52[44]]})})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[46]]= function(_0x9a98xa,_0x9a98xb){return CustomField[_0x8f52[26]](_0x9a98xa[_0x8f52[31]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x19){if(!_0x9a98x19){return _0x9a98xb[_0x8f52[47]](404)};return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98x19)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[48]]= function(_0x9a98xa,_0x9a98xb){return CustomField[_0x8f52[26]](_0x9a98xa[_0x8f52[31]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x19){if(!_0x9a98x19){return _0x9a98xb[_0x8f52[47]](404)};var _0x9a98x1a=_[_0x8f52[20]](_0x9a98x19,_0x9a98xa[_0x8f52[33]]);return _0x9a98x1a[_0x8f52[49]]()})[_0x8f52[15]](function(_0x9a98x19){return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98x19)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[50]]= function(_0x9a98xa,_0x9a98xb){var _0x9a98x1b;_0x9a98xa[_0x8f52[33]][_0x8f52[51]]= _0x9a98xa[_0x8f52[31]][_0x8f52[16]];return sequelize[_0x8f52[57]](function(_0x9a98x1c){return CustomField[_0x8f52[56]](_0x9a98xa[_0x8f52[33]])[_0x8f52[15]](function(_0x9a98x19){_0x9a98x1b= _0x9a98x19;_0x9a98x19[_0x8f52[53]]= _0x8f52[55]+ _0x9a98x19[_0x8f52[16]];return _0x9a98x19[_0x8f52[49]]()})[_0x8f52[15]](function(){return sequelize[_0x8f52[18]](util[_0x8f52[54]](_0x8f52[52],_0x9a98x1b[_0x8f52[53]]))})[_0x8f52[15]](function(){return _0x9a98xb[_0x8f52[47]](201)})})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[58]]= function(_0x9a98xa,_0x9a98xb){return List[_0x8f52[26]](_0x9a98xa[_0x8f52[31]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x1d){if(!_0x9a98x1d){return _0x9a98xb[_0x8f52[47]](404)};return _0x9a98xb[_0x8f52[13]](_0x9a98x1d)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[56]]= function(_0x9a98xa,_0x9a98xb){return sequelize[_0x8f52[57]](function(_0x9a98x1c){return List[_0x8f52[56]](_0x9a98xa[_0x8f52[33]])[_0x8f52[15]](function(_0x9a98x1d){return _0x9a98xb[_0x8f52[14]](201)[_0x8f52[13]](_0x9a98x1d)})})[_0x8f52[12]](sequelize.UniqueConstraintError,function(_0x9a98xd){_0x9a98xd[_0x8f52[59]]= _0x8f52[60];_0x9a98xd[_0x8f52[61]]= _0x8f52[62];return _0x9a98xb[_0x8f52[14]](500)[_0x8f52[13]](_0x9a98xd)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[63]]= function(_0x9a98xa,_0x9a98xb){return List[_0x8f52[26]](_0x9a98xa[_0x8f52[31]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x1d){if(!_0x9a98x1d){return _0x9a98xb[_0x8f52[47]](404)};if(_0x9a98xa[_0x8f52[33]][_0x8f52[16]]){delete _0x9a98xa[_0x8f52[33]][_0x8f52[16]]};var _0x9a98x1a=_[_0x8f52[20]](_0x9a98x1d,_0x9a98xa[_0x8f52[33]]);return _0x9a98x1a[_0x8f52[49]]()})[_0x8f52[15]](function(_0x9a98x1d){return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]](_0x9a98x1d)})[_0x8f52[12]](sequelize.UniqueConstraintError,function(_0x9a98xd){_0x9a98xd[_0x8f52[59]]= _0x8f52[60];_0x9a98xd[_0x8f52[61]]= _0x8f52[62];return _0x9a98xb[_0x8f52[14]](500)[_0x8f52[13]](_0x9a98xd)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[64]]= function(_0x9a98xa,_0x9a98xb){return List[_0x8f52[26]](_0x9a98xa[_0x8f52[31]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x1d){if(!_0x9a98x1d){return _0x9a98xb[_0x8f52[47]](404)};return _0x9a98x1d[_0x8f52[66]]({where:{role:_0x8f52[27]},attributes:[_0x8f52[16],_0x8f52[53],_0x8f52[65],_0x8f52[40]]})})[_0x8f52[15]](function(_0x9a98x1e){return _0x9a98xb[_0x8f52[14]](200)[_0x8f52[13]]({rows:_0x9a98x1e,count:_0x9a98x1e[_0x8f52[44]]})})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[67]]= function(_0x9a98xa,_0x9a98xb,_0x9a98xc){return User[_0x8f52[45]]({where:{id:_0x9a98xa[_0x8f52[33]][_0x8f52[69]]}})[_0x8f52[15]](function(_0x9a98x1f){var _0x9a98x20=_[_0x8f52[17]](_0x9a98x1f,function(_0x9a98x21){return {list:_0x9a98xa[_0x8f52[31]][_0x8f52[16]],membername:_0x9a98x21[_0x8f52[53]],UserId:_0x9a98x21[_0x8f52[16]]}});return UserHasList[_0x8f52[68]](_0x9a98x20,{individualHooks:true})})[_0x8f52[15]](function(){return _0x9a98xb[_0x8f52[47]](200)})[_0x8f52[12]](function(_0x9a98xd){console[_0x8f52[30]](_0x9a98xd);return _0x9a98xc(_0x9a98xd)})};exports[_0x8f52[70]]= function(_0x9a98xa,_0x9a98xb,_0x9a98xc){return UserHasList[_0x8f52[71]]({where:{UserId:_0x9a98xa[_0x8f52[18]][_0x8f52[69]],list:_0x9a98xa[_0x8f52[31]][_0x8f52[16]]},individualHooks:true})[_0x8f52[15]](function(){return _0x9a98xb[_0x8f52[47]](202)})[_0x8f52[12]](function(_0x9a98xd){return _0x9a98xc(_0x9a98xd)})};exports[_0x8f52[71]]= function(_0x9a98xa,_0x9a98xb){return destroyList(_0x9a98xa[_0x8f52[31]][_0x8f52[16]],_0x9a98xb)};exports[_0x8f52[72]]= function(_0x9a98xa,_0x9a98xb){return destroyList(_0x9a98xa[_0x8f52[18]][_0x8f52[16]],_0x9a98xb)};function destroyList(_0x9a98x23,_0x9a98xb){return delCf(_0x9a98x23,_0x9a98xb)[_0x8f52[73]]()[_0x8f52[15]](function(){return List[_0x8f52[71]]({where:{id:_0x9a98x23},individualHooks:true})})[_0x8f52[15]](function(){return _0x9a98xb[_0x8f52[47]](204)})[_0x8f52[12]](function(_0x9a98xd){console[_0x8f52[30]](_0x9a98xd);return handleError(_0x9a98xb,_0x9a98xd)})}function delCf(_0x9a98x23,_0x9a98xb){var _0x9a98x25;return CustomField[_0x8f52[45]]({where:{ListId:_0x9a98x23}})[_0x8f52[15]](function(_0x9a98x2a){if(!_0x9a98x2a){return _0x9a98xb[_0x8f52[47]](404)};_0x9a98x25= _0x9a98x2a;return CustomField[_0x8f52[71]]({where:{id:_0x9a98x23}})})[_0x8f52[15]](function(){return Contact[_0x8f52[79]]()})[_0x8f52[15]](function(_0x9a98x29){return _[_0x8f52[78]](_0x9a98x29)})[_0x8f52[15]](function(_0x9a98x26){var _0x9a98x27=[];_[_0x8f52[77]](_0x9a98x25,function(_0x9a98x28){if(_[_0x8f52[74]](_0x9a98x26,_0x9a98x28[_0x8f52[53]])){_0x9a98x27[_0x8f52[76]](sequelize[_0x8f52[18]](util[_0x8f52[54]](_0x8f52[75],_0x9a98x28[_0x8f52[53]])))}});return _0x9a98x27})}exports[_0x8f52[80]]= function(_0x9a98xa,_0x9a98xb){var _0x9a98x2b;return CustomField[_0x8f52[26]](_0x9a98xa[_0x8f52[31]][_0x8f52[16]])[_0x8f52[15]](function(_0x9a98x2c){if(!_0x9a98x2c){return _0x9a98xb[_0x8f52[47]](404)};_0x9a98x2b= _0x9a98x2c;return CustomField[_0x8f52[71]]({where:{id:_0x9a98xa[_0x8f52[31]][_0x8f52[16]]}})})[_0x8f52[15]](function(){return Contact[_0x8f52[79]]()})[_0x8f52[15]](function(_0x9a98x29){return _[_0x8f52[78]](_0x9a98x29)})[_0x8f52[15]](function(_0x9a98x26){if(_[_0x8f52[74]](_0x9a98x26,_0x9a98x2b[_0x8f52[53]])){return sequelize[_0x8f52[18]](util[_0x8f52[54]](_0x8f52[75],_0x9a98x2b[_0x8f52[53]]))}})[_0x8f52[15]](function(){return _0x9a98xb[_0x8f52[47]](204)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};exports[_0x8f52[81]]= function(_0x9a98xa,_0x9a98xb){var _0x9a98x25;return CustomField[_0x8f52[45]]({where:{id:_0x9a98xa[_0x8f52[18]][_0x8f52[82]]}})[_0x8f52[15]](function(_0x9a98x2a){if(!_0x9a98x2a){return _0x9a98xb[_0x8f52[47]](404)};_0x9a98x25= _0x9a98x2a;return CustomField[_0x8f52[71]]({where:{id:_0x9a98xa[_0x8f52[18]][_0x8f52[82]]}})})[_0x8f52[15]](function(){return Contact[_0x8f52[79]]()})[_0x8f52[15]](function(_0x9a98x29){return _[_0x8f52[78]](_0x9a98x29)})[_0x8f52[15]](function(_0x9a98x26){var _0x9a98x27=[];_0x9a98x25[_0x8f52[77]](function(_0x9a98x28){if(_[_0x8f52[74]](_0x9a98x26,_0x9a98x28[_0x8f52[53]])){_0x9a98x27[_0x8f52[76]](sequelize[_0x8f52[18]](util[_0x8f52[54]](_0x8f52[75],_0x9a98x28[_0x8f52[53]])))}});return _0x9a98x27})[_0x8f52[73]]()[_0x8f52[15]](function(){return _0x9a98xb[_0x8f52[47]](204)})[_0x8f52[12]](function(_0x9a98xd){return handleError(_0x9a98xb,_0x9a98xd)})};function handleError(_0x9a98xb,_0x9a98xd){return _0x9a98xb[_0x8f52[14]](500)[_0x8f52[13]](_0x9a98xd)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const List = require('../../models').List;
-
-var ListEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ListEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- List.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ListEvents.emit(event + ':' + doc._id, doc);
- ListEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ListEvents;
+var _0x4519=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4C\x69\x73\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4519[0];const EventEmitter=require(_0x4519[1]);const List=require(_0x4519[3])[_0x4519[2]];var ListEvents= new EventEmitter();ListEvents[_0x4519[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x4519[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x4519[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x4519[6]};for(var e in events){var event=events[e];List[_0x4519[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xb060x8,_0xb060x9,_0xb060xa){ListEvents[_0x4519[10]](event+ _0x4519[8]+ _0xb060x8[_0x4519[9]],_0xb060x8);ListEvents[_0x4519[10]](event,_0xb060x8);_0xb060xa(null)}}module[_0x4519[11]]= ListEvents
\ No newline at end of file
-'use strict';
-
-const ListEvents = require('./list.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('list:' + event, socket);
-
- ListEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ListEvents.removeListener(event, listener);
- };
-}
+var _0x260a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6C\x69\x73\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6C\x69\x73\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x260a[0];const ListEvents=require(_0x260a[1]);var events=[_0x260a[2],_0x260a[3]];exports[_0x260a[4]]= function(_0xbd17x3){for(var _0xbd17x4=0,_0xbd17x5=events[_0x260a[5]];_0xbd17x4< _0xbd17x5;_0xbd17x4++){var _0xbd17x6=events[_0xbd17x4];var _0xbd17x7=createListener(_0x260a[6]+ _0xbd17x6,_0xbd17x3);ListEvents[_0x260a[7]](_0xbd17x6,_0xbd17x7);_0xbd17x3[_0x260a[7]](_0x260a[8],removeListener(_0xbd17x6,_0xbd17x7))}};function createListener(_0xbd17x6,_0xbd17x3){return function(_0xbd17x9){_0xbd17x3[_0x260a[9]](_0xbd17x6,_0xbd17x9)}}function removeListener(_0xbd17x6,_0xbd17x7){return function(){ListEvents[_0x260a[10]](_0xbd17x6,_0xbd17x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_account.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.show);
-router.get('/account/:address', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.showFromAddress);
-router.get('/:id/applications', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.showApplications);
-router.get('/:id/rooms', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.getMailRooms);
-router.get('/:id/dispositions', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.getDispositions);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.create);
-router.post('/:id/applications', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.createApplication);
-router.post('/:id/dispositions', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.createDisposition);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.update);
-router.put('/:id/applications', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.updateApplications);
-router.put('/:id/dispositions/:dispId', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.updateDisposition);
-router.delete('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroy);
-router.delete('/:id/applications', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.bulkDestroyApplications);
-router.delete('/:id/applications/:appId', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroyApplication);
-router.delete('/:id/dispositions/:dispId', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroyDisposition);
-
-module.exports = router;
+var _0x2291=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x3A\x61\x64\x64\x72\x65\x73\x73","\x73\x68\x6F\x77\x46\x72\x6F\x6D\x41\x64\x64\x72\x65\x73\x73","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x73","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73\x2F\x3A\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x61\x70\x70\x49\x64","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0x2291[0];var express=require(_0x2291[1]);var controller=require(_0x2291[2]);var auth=require(_0x2291[3]);var license=require(_0x2291[4]);var router=express.Router();router[_0x2291[13]](_0x2291[5],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9],_0x2291[10]]),controller[_0x2291[12]]);router[_0x2291[13]](_0x2291[14],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9],_0x2291[10]]),controller[_0x2291[15]]);router[_0x2291[13]](_0x2291[16],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9],_0x2291[10]]),controller[_0x2291[17]]);router[_0x2291[13]](_0x2291[18],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[19]]);router[_0x2291[13]](_0x2291[20],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9],_0x2291[10]]),controller[_0x2291[21]]);router[_0x2291[13]](_0x2291[22],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9],_0x2291[10]]),controller[_0x2291[23]]);router[_0x2291[25]](_0x2291[5],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[24]]);router[_0x2291[25]](_0x2291[18],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[26]]);router[_0x2291[25]](_0x2291[22],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[27]]);router[_0x2291[29]](_0x2291[14],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[28]]);router[_0x2291[29]](_0x2291[18],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[30]]);router[_0x2291[29]](_0x2291[31],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[32]]);router[_0x2291[34]](_0x2291[5],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[33]]);router[_0x2291[34]](_0x2291[14],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[35]]);router[_0x2291[34]](_0x2291[18],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[36]]);router[_0x2291[34]](_0x2291[37],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[38]]);router[_0x2291[34]](_0x2291[31],license[_0x2291[6]](),license[_0x2291[7]](),auth[_0x2291[8]](),auth[_0x2291[11]]([9],[_0x2291[9]]),controller[_0x2291[39]]);module[_0x2291[40]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var async = require('async');
-
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var MailAttachment = require('../../models').MailAttachment;
-var MailQueue = require('../../models').MailQueue;
-var MailRoom = require('../../models').MailRoom;
-var MailAccount = require('../../models').MailAccount;
-var MailServerIn = require('../../models').MailServerIn;
-var MailServerOut = require('../../models').MailServerOut;
-var MailApplication = require('../../models').MailApplication;
-var MailDisposition = require('../../models').MailDisposition;
-var Interval = require('../../models').Interval;
-
-// Get list of mailAccounts
-exports.index = function(req, res) {
- return MailAccount
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getMailRooms = function(req, res, next) {
- var _query = {
- include: [],
- where: {
- MailAccountId: req.params.id,
- $and: []
- },
- attributes: ['id', 'subject', 'from', 'attachment', 'disposition', 'tags', 'waiting', 'lastEvent', 'updatedAt']
- };
-
- // TO MOVE SOON INTO AN EXTENAL UTIL FILE
- if (req.query) {
- if (req.query.tags) {
- if (_.isArray(req.query.tags)) {
- for (var i = 0; i < req.query.tags.length; i++) {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags[i] + ';%'
- }
- });
- }
- } else {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags + ';%'
- }
- });
- }
- delete req.query.tags;
- }
- _.merge(_query.where, req.query);
- }
-
- switch (req.user.role) {
- case 'agent':
- _query.include.push({
- model: User,
- attributes: ['id']
- });
-
- var _agents;
- var _agentQueues;
- var _accountQueues;
-
- return User
- .findById(req.user.id)
- .then(function(user) {
- if (user) {
- return user
- .getMailQueues();
- } else {
- return [];
- }
- })
- .then(function(queues) {
- _agentQueues = _.map(queues, 'id');
-
- return MailAccount
- .findById(req.params.id);
- })
- .then(function(account) {
- return account
- .getMailApplications({
- where: {
- $or: [{
- app: 'queue'
- }, {
- app: 'agent'
- }]
- }
- });
- })
- .then(function(apps) {
- _agents = _.map(_.find(apps, {
- 'app': 'agent'
- }), 'UserId');
-
- _accountQueues = _.map(_.find(apps, {
- 'app': 'queue'
- }), 'MailQueueId');
-
- if (_.intersection(_agentQueues, _accountQueues).length || _.intersection(_agents, [req.user.id]).length) {
- return MailRoom
- .findAll(_query)
- .then(function(mailRooms) {
- return res.status(200).send(mailRooms);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
- } else {
-
- return res.status(200).send([]);
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-
- default:
-
- return MailRoom
- .findAll(_query)
- .then(function(mailRooms) {
- return res.status(200).send(mailRooms);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.getDispositions = function(req, res, next) {
- return MailAccount
- .findById(req.params.id)
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
-
- return mailAccount
- .getMailDispositions();
- })
- .then(function(mailDispositions) {
- return res.status(200).send({
- rows: mailDispositions,
- count: mailDispositions.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailAccount
-exports.show = function(req, res, next) {
- return MailAccount
- .scope('default')
- .findById(req.params.id)
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
- return res.send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showFromAddress = function(req, res, next) {
- return MailAccount
- .findOne({
- where: {
- address: req.params.address
- }
- })
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
- return res.send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailAccount
-exports.showApplications = function(req, res, next) {
- return MailAccount
- .scope('default')
- .findById(req.params.id)
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
- return mailAccount
- .getMailApplications(_.merge(Util.getQuery(req.query), {
- include: [{
- model: MailQueue,
- attributes: ['id', 'name']
- }, {
- model: User,
- attributes: ['id', 'name', 'online']
- }, {
- model: Interval,
- attributes: ['id', 'name']
- }]
- }));
- })
- .then(function(mailApplications) {
- return res.send({
- count: mailApplications.length,
- rows: mailApplications
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailAccount in the DB.
-exports.create = function(req, res, next) {
- return sequelize.transaction(function(t) {
- return MailAccount
- .create(req.body, {
- include: [{
- model: MailServerIn
- }, {
- model: MailServerOut
- }],
- transaction: t
- });
- }).then(function(mailAccount) {
- return res.status(201).send(mailAccount);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailApplication in the DB.
-exports.createApplication = function(req, res, next) {
-
- return MailApplication
- .max('priority', {
- where: {
- MailAccountId: req.params.id
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- req.body.MailAccountId = req.params.id;
-
- return MailApplication
- .create(req.body);
- })
- .then(function(mailApplication) {
- return res.status(201).send(mailApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailAccount in the DB.
-exports.createDisposition = function(req, res, next) {
- req.body.MailAccountId = req.params.id;
-
- return MailDisposition
- .create(req.body)
- .then(function(mailDiposition) {
- return res.status(201).send(mailDiposition);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-// Updates an existing mailAccount in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return MailAccount
- .findById(req.params.id)
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailAccount, req.body);
- return updated
- .save();
- })
- .then(function(mailAccount) {
- return res.status(200).send(mailAccount);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailAccount in the DB.
-exports.updateDisposition = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return MailDisposition
- .findById(req.params.dispId)
- .then(function(mailDisposition) {
- if (!mailDisposition) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailDisposition, req.body);
- return updated
- .save();
- })
- .then(function(mailAccount) {
- return res.status(200).send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailAccount in the DB.
-exports.updateApplications = function(req, res) {
-
- var priority = 0;
- var apps = req.body;
-
- apps.forEach(function(app) {
- delete app.id;
- delete app.createdAt;
- delete app.updatedAt;
-
- app.priority = ++priority;
- });
-
- return sequelize.transaction(function(t) {
- return MailApplication
- .destroy({
- where: {
- MailAccountId: req.params.id
- },
- individualHooks: true,
- transaction: t
- }).then(function(mailApplication) {
- return MailApplication
- .bulkCreate(apps, {
- individualHooks: true,
- transaction: t
- });
- });
- }).then(function(mailAccounts) {
- return res.status(200).send({
- count: mailAccounts.length,
- rows: mailAccounts
- });
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailAccount from the DB.
-exports.destroy = function(req, res, next) {
- return MailAccount
- .findById(req.params.id)
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
-
- return mailAccount
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailAccount from the DB.
-exports.destroyApplication = function(req, res, next) {
- return MailApplication
- .findById(req.params.appId)
- .then(function(mailApplication) {
- if (!mailApplication) {
- return res.sendStatus(404);
- }
-
- return mailApplication
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailAccount from the DB.
-exports.destroyDisposition = function(req, res, next) {
- return MailDisposition
- .findById(req.params.dispId)
- .then(function(mailDiposition) {
- if (!mailDiposition) {
- return res.sendStatus(404);
- }
-
- return mailDiposition
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return MailAccount
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroyApplications = function(req, res) {
- return MailApplication
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- console.log(err);
- return res.status(500).send(err);
-}
+var _0xfe03=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x74\x61\x67\x73","\x77\x61\x69\x74\x69\x6E\x67","\x6C\x61\x73\x74\x45\x76\x65\x6E\x74","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x25","\x3B\x25","\x70\x75\x73\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x6D\x65\x72\x67\x65","\x69\x6E\x63\x6C\x75\x64\x65","\x65\x72\x72\x6F\x72","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64","\x55\x73\x65\x72\x49\x64","\x6D\x61\x70","\x71\x75\x65\x75\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x49\x64","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x69\x6F\x6E","\x75\x73\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x72\x6F\x6C\x65","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x67\x65\x74\x4D\x61\x69\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77","\x73\x68\x6F\x77\x46\x72\x6F\x6D\x41\x64\x64\x72\x65\x73\x73","\x61\x64\x64\x72\x65\x73\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6E\x61\x6D\x65","\x6F\x6E\x6C\x69\x6E\x65","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x62\x6F\x64\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x70\x72\x69\x6F\x72\x69\x74\x79","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x66\x6F\x72\x45\x61\x63\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x61\x70\x70\x49\x64","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x6F\x67"];_0xfe03[0];var _=require(_0xfe03[1]);var util=require(_0xfe03[2]);var async=require(_0xfe03[3]);var Util=require(_0xfe03[4]);var sequelize=require(_0xfe03[6])[_0xfe03[5]];var User=require(_0xfe03[6])[_0xfe03[7]];var MailAttachment=require(_0xfe03[6])[_0xfe03[8]];var MailQueue=require(_0xfe03[6])[_0xfe03[9]];var MailRoom=require(_0xfe03[6])[_0xfe03[10]];var MailAccount=require(_0xfe03[6])[_0xfe03[11]];var MailServerIn=require(_0xfe03[6])[_0xfe03[12]];var MailServerOut=require(_0xfe03[6])[_0xfe03[13]];var MailApplication=require(_0xfe03[6])[_0xfe03[14]];var MailDisposition=require(_0xfe03[6])[_0xfe03[15]];var Interval=require(_0xfe03[6])[_0xfe03[16]];exports[_0xfe03[17]]= function(_0xfd85x10,_0xfd85x11){return MailAccount[_0xfe03[26]](_0xfe03[25])[_0xfe03[24]](Util[_0xfe03[23]](_0xfd85x10[_0xfe03[22]]))[_0xfe03[21]](function(_0xfd85x13){_0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]](_0xfd85x13)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[27]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){var _0xfd85x15={include:[],where:{MailAccountId:_0xfd85x10[_0xfe03[29]][_0xfe03[28]],$and:[]},attributes:[_0xfe03[28],_0xfe03[30],_0xfe03[31],_0xfe03[32],_0xfe03[33],_0xfe03[34],_0xfe03[35],_0xfe03[36],_0xfe03[37]]};if(_0xfd85x10[_0xfe03[22]]){if(_0xfd85x10[_0xfe03[22]][_0xfe03[34]]){if(_[_0xfe03[38]](_0xfd85x10[_0xfe03[22]][_0xfe03[34]])){for(var _0xfd85x16=0;_0xfd85x16< _0xfd85x10[_0xfe03[22]][_0xfe03[34]][_0xfe03[39]];_0xfd85x16++){_0xfd85x15[_0xfe03[44]][_0xfe03[43]][_0xfe03[42]]({tags:{$like:_0xfe03[40]+ _0xfd85x10[_0xfe03[22]][_0xfe03[34]][_0xfd85x16]+ _0xfe03[41]}})}}else {_0xfd85x15[_0xfe03[44]][_0xfe03[43]][_0xfe03[42]]({tags:{$like:_0xfe03[40]+ _0xfd85x10[_0xfe03[22]][_0xfe03[34]]+ _0xfe03[41]}})};delete _0xfd85x10[_0xfe03[22]][_0xfe03[34]]};_[_0xfe03[45]](_0xfd85x15[_0xfe03[44]],_0xfd85x10[_0xfe03[22]])};switch(_0xfd85x10[_0xfe03[55]][_0xfe03[60]]){case _0xfe03[48]:_0xfd85x15[_0xfe03[46]][_0xfe03[42]]({model:User,attributes:[_0xfe03[28]]});var _0xfd85x17;var _0xfd85x18;var _0xfd85x19;return User[_0xfe03[58]](_0xfd85x10[_0xfe03[55]][_0xfe03[28]])[_0xfe03[21]](function(_0xfd85x1e){if(_0xfd85x1e){return _0xfd85x1e[_0xfe03[59]]()}else {return []}})[_0xfe03[21]](function(_0xfd85x1d){_0xfd85x18= _[_0xfe03[51]](_0xfd85x1d,_0xfe03[28]);return MailAccount[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[28]])})[_0xfe03[21]](function(_0xfd85x1c){return _0xfd85x1c[_0xfe03[57]]({where:{$or:[{app:_0xfe03[52]},{app:_0xfe03[48]}]}})})[_0xfe03[21]](function(_0xfd85x1a){_0xfd85x17= _[_0xfe03[51]](_[_0xfe03[49]](_0xfd85x1a,{"\x61\x70\x70":_0xfe03[48]}),_0xfe03[50]);_0xfd85x19= _[_0xfe03[51]](_[_0xfe03[49]](_0xfd85x1a,{"\x61\x70\x70":_0xfe03[52]}),_0xfe03[53]);if(_[_0xfe03[54]](_0xfd85x18,_0xfd85x19)[_0xfe03[39]]|| _[_0xfe03[54]](_0xfd85x17,[_0xfd85x10[_0xfe03[55]][_0xfe03[28]]])[_0xfe03[39]]){return MailRoom[_0xfe03[56]](_0xfd85x15)[_0xfe03[21]](function(_0xfd85x1b){return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]](_0xfd85x1b)})[_0xfe03[18]](function(_0xfd85x12){console[_0xfe03[47]](_0xfd85x12);return handleError(_0xfd85x11,_0xfd85x12)})}else {return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]]([])}})[_0xfe03[18]](function(_0xfd85x12){console[_0xfe03[47]](_0xfd85x12)});default:return MailRoom[_0xfe03[56]](_0xfd85x15)[_0xfe03[21]](function(_0xfd85x1b){return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]](_0xfd85x1b)})[_0xfe03[18]](function(_0xfd85x12){console[_0xfe03[47]](_0xfd85x12);return handleError(_0xfd85x11,_0xfd85x12)})}};exports[_0xfe03[61]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailAccount[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[28]])[_0xfe03[21]](function(_0xfd85x20){if(!_0xfd85x20){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x20[_0xfe03[63]]()})[_0xfe03[21]](function(_0xfd85x1f){return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]]({rows:_0xfd85x1f,count:_0xfd85x1f[_0xfe03[39]]})})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[64]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailAccount[_0xfe03[26]](_0xfe03[25])[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[28]])[_0xfe03[21]](function(_0xfd85x20){if(!_0xfd85x20){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x11[_0xfe03[19]](_0xfd85x20)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[65]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailAccount[_0xfe03[67]]({where:{address:_0xfd85x10[_0xfe03[29]][_0xfe03[66]]}})[_0xfe03[21]](function(_0xfd85x20){if(!_0xfd85x20){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x11[_0xfe03[19]](_0xfd85x20)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[68]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailAccount[_0xfe03[26]](_0xfe03[25])[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[28]])[_0xfe03[21]](function(_0xfd85x20){if(!_0xfd85x20){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x20[_0xfe03[57]](_[_0xfe03[45]](Util[_0xfe03[23]](_0xfd85x10[_0xfe03[22]]),{include:[{model:MailQueue,attributes:[_0xfe03[28],_0xfe03[69]]},{model:User,attributes:[_0xfe03[28],_0xfe03[69],_0xfe03[70]]},{model:Interval,attributes:[_0xfe03[28],_0xfe03[69]]}]}))})[_0xfe03[21]](function(_0xfd85x21){return _0xfd85x11[_0xfe03[19]]({count:_0xfd85x21[_0xfe03[39]],rows:_0xfd85x21})})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[71]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return sequelize[_0xfe03[75]](function(_0xfd85x22){return MailAccount[_0xfe03[71]](_0xfd85x10[_0xfe03[74]],{include:[{model:MailServerIn},{model:MailServerOut}],transaction:_0xfd85x22})})[_0xfe03[21]](function(_0xfd85x20){return _0xfd85x11[_0xfe03[20]](201)[_0xfe03[19]](_0xfd85x20)})[_0xfe03[18]](sequelize.UniqueConstraintError,function(_0xfd85x12){return Util[_0xfe03[73]][_0xfe03[72]](_0xfd85x11,_0xfd85x12)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[76]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailApplication[_0xfe03[79]](_0xfe03[77],{where:{MailAccountId:_0xfd85x10[_0xfe03[29]][_0xfe03[28]]}})[_0xfe03[21]](function(_0xfd85x24){_0xfd85x10[_0xfe03[74]][_0xfe03[77]]= _0xfd85x24?++_0xfd85x24:1;_0xfd85x10[_0xfe03[74]][_0xfe03[78]]= _0xfd85x10[_0xfe03[29]][_0xfe03[28]];return MailApplication[_0xfe03[71]](_0xfd85x10[_0xfe03[74]])})[_0xfe03[21]](function(_0xfd85x23){return _0xfd85x11[_0xfe03[20]](201)[_0xfe03[19]](_0xfd85x23)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[80]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){_0xfd85x10[_0xfe03[74]][_0xfe03[78]]= _0xfd85x10[_0xfe03[29]][_0xfe03[28]];return MailDisposition[_0xfe03[71]](_0xfd85x10[_0xfe03[74]])[_0xfe03[21]](function(_0xfd85x25){return _0xfd85x11[_0xfe03[20]](201)[_0xfe03[19]](_0xfd85x25)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[81]]= function(_0xfd85x10,_0xfd85x11){if(_0xfd85x10[_0xfe03[74]][_0xfe03[28]]){delete _0xfd85x10[_0xfe03[74]][_0xfe03[28]]};return MailAccount[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[28]])[_0xfe03[21]](function(_0xfd85x20){if(!_0xfd85x20){return _0xfd85x11[_0xfe03[62]](404)};var _0xfd85x26=_[_0xfe03[45]](_0xfd85x20,_0xfd85x10[_0xfe03[74]]);return _0xfd85x26[_0xfe03[82]]()})[_0xfe03[21]](function(_0xfd85x20){return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]](_0xfd85x20)})[_0xfe03[18]](sequelize.UniqueConstraintError,function(_0xfd85x12){return Util[_0xfe03[73]][_0xfe03[72]](_0xfd85x11,_0xfd85x12)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[83]]= function(_0xfd85x10,_0xfd85x11){if(_0xfd85x10[_0xfe03[74]][_0xfe03[28]]){delete _0xfd85x10[_0xfe03[74]][_0xfe03[28]]};return MailDisposition[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[84]])[_0xfe03[21]](function(_0xfd85x27){if(!_0xfd85x27){return _0xfd85x11[_0xfe03[62]](404)};var _0xfd85x26=_[_0xfe03[45]](_0xfd85x27,_0xfd85x10[_0xfe03[74]]);return _0xfd85x26[_0xfe03[82]]()})[_0xfe03[21]](function(_0xfd85x20){return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]](_0xfd85x20)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[85]]= function(_0xfd85x10,_0xfd85x11){var _0xfd85x28=0;var _0xfd85x1a=_0xfd85x10[_0xfe03[74]];_0xfd85x1a[_0xfe03[87]](function(_0xfd85x29){delete _0xfd85x29[_0xfe03[28]];delete _0xfd85x29[_0xfe03[86]];delete _0xfd85x29[_0xfe03[37]];_0xfd85x29[_0xfe03[77]]= ++_0xfd85x28});return sequelize[_0xfe03[75]](function(_0xfd85x22){return MailApplication[_0xfe03[89]]({where:{MailAccountId:_0xfd85x10[_0xfe03[29]][_0xfe03[28]]},individualHooks:true,transaction:_0xfd85x22})[_0xfe03[21]](function(_0xfd85x23){return MailApplication[_0xfe03[88]](_0xfd85x1a,{individualHooks:true,transaction:_0xfd85x22})})})[_0xfe03[21]](function(_0xfd85x2a){return _0xfd85x11[_0xfe03[20]](200)[_0xfe03[19]]({count:_0xfd85x2a[_0xfe03[39]],rows:_0xfd85x2a})})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[89]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailAccount[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[28]])[_0xfe03[21]](function(_0xfd85x20){if(!_0xfd85x20){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x20[_0xfe03[89]]()})[_0xfe03[21]](function(){return _0xfd85x11[_0xfe03[62]](204)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[90]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailApplication[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[91]])[_0xfe03[21]](function(_0xfd85x23){if(!_0xfd85x23){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x23[_0xfe03[89]]()})[_0xfe03[21]](function(){return _0xfd85x11[_0xfe03[62]](204)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[92]]= function(_0xfd85x10,_0xfd85x11,_0xfd85x14){return MailDisposition[_0xfe03[58]](_0xfd85x10[_0xfe03[29]][_0xfe03[84]])[_0xfe03[21]](function(_0xfd85x25){if(!_0xfd85x25){return _0xfd85x11[_0xfe03[62]](404)};return _0xfd85x25[_0xfe03[89]]()})[_0xfe03[21]](function(){return _0xfd85x11[_0xfe03[62]](204)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[93]]= function(_0xfd85x10,_0xfd85x11){return MailAccount[_0xfe03[89]]({where:{id:_0xfd85x10[_0xfe03[22]][_0xfe03[94]]},individualHooks:true})[_0xfe03[21]](function(){return _0xfd85x11[_0xfe03[62]](204)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};exports[_0xfe03[95]]= function(_0xfd85x10,_0xfd85x11){return MailApplication[_0xfe03[89]]({where:{id:_0xfd85x10[_0xfe03[22]][_0xfe03[94]]},individualHooks:true})[_0xfe03[21]](function(){return _0xfd85x11[_0xfe03[62]](204)})[_0xfe03[18]](function(_0xfd85x12){return handleError(_0xfd85x11,_0xfd85x12)})};function handleError(_0xfd85x11,_0xfd85x12){console[_0xfe03[96]](_0xfd85x12);return _0xfd85x11[_0xfe03[20]](500)[_0xfe03[19]](_0xfd85x12)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailAccount = require('../../models').MailAccount;
-
-var MailAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailAccountEvents.emit(event + ':' + doc._id, doc);
- MailAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailAccountEvents;
+var _0x90dd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x90dd[0];const EventEmitter=require(_0x90dd[1]);const MailAccount=require(_0x90dd[3])[_0x90dd[2]];var MailAccountEvents= new EventEmitter();MailAccountEvents[_0x90dd[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x90dd[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x90dd[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x90dd[6]};for(var e in events){var event=events[e];MailAccount[_0x90dd[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x1461x8,_0x1461x9,_0x1461xa){MailAccountEvents[_0x90dd[10]](event+ _0x90dd[8]+ _0x1461x8[_0x90dd[9]],_0x1461x8);MailAccountEvents[_0x90dd[10]](event,_0x1461x8);_0x1461xa(null)}}module[_0x90dd[11]]= MailAccountEvents
\ No newline at end of file
-'use strict';
-
-const MailAccountEvents = require('./mail_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_account:' + event, socket);
-
- MailAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailAccountEvents.removeListener(event, listener);
- };
-}
+var _0x1626=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x1626[0];const MailAccountEvents=require(_0x1626[1]);var events=[_0x1626[2],_0x1626[3]];exports[_0x1626[4]]= function(_0x3ba7x3){for(var _0x3ba7x4=0,_0x3ba7x5=events[_0x1626[5]];_0x3ba7x4< _0x3ba7x5;_0x3ba7x4++){var _0x3ba7x6=events[_0x3ba7x4];var _0x3ba7x7=createListener(_0x1626[6]+ _0x3ba7x6,_0x3ba7x3);MailAccountEvents[_0x1626[7]](_0x3ba7x6,_0x3ba7x7);_0x3ba7x3[_0x1626[7]](_0x1626[8],removeListener(_0x3ba7x6,_0x3ba7x7))}};function createListener(_0x3ba7x6,_0x3ba7x3){return function(_0x3ba7x9){_0x3ba7x3[_0x1626[9]](_0x3ba7x6,_0x3ba7x9)}}function removeListener(_0x3ba7x6,_0x3ba7x7){return function(){MailAccountEvents[_0x1626[10]](_0x3ba7x6,_0x3ba7x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_application.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xed23=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xed23[0];var express=require(_0xed23[1]);var controller=require(_0xed23[2]);var auth=require(_0xed23[3]);var license=require(_0xed23[4]);var router=express.Router();router[_0xed23[12]](_0xed23[5],license[_0xed23[6]](),license[_0xed23[7]](),auth[_0xed23[8]](),auth[_0xed23[10]]([9],[_0xed23[9]]),controller[_0xed23[11]]);router[_0xed23[12]](_0xed23[13],license[_0xed23[6]](),license[_0xed23[7]](),auth[_0xed23[8]](),auth[_0xed23[10]]([9],[_0xed23[9]]),controller[_0xed23[14]]);router[_0xed23[16]](_0xed23[5],license[_0xed23[6]](),license[_0xed23[7]](),auth[_0xed23[8]](),auth[_0xed23[10]]([9],[_0xed23[9]]),controller[_0xed23[15]]);router[_0xed23[18]](_0xed23[13],license[_0xed23[6]](),license[_0xed23[7]](),auth[_0xed23[8]](),auth[_0xed23[10]]([9],[_0xed23[9]]),controller[_0xed23[17]]);router[_0xed23[20]](_0xed23[13],license[_0xed23[6]](),license[_0xed23[7]](),auth[_0xed23[8]](),auth[_0xed23[10]]([9],[_0xed23[9]]),controller[_0xed23[19]]);module[_0xed23[21]]= router
\ No newline at end of file
-'use strict';
-var _ = require('lodash');
-var MailApplication = require('../../models').MailApplication;
-// Get list of mailApplications
-exports.index = function(req, res, next) {
- return MailApplication
- .findAll({
- where: req.query,
- order: 'priority',
- include: [{
- all: true
- }]
- })
- .then(function(mailApplications) {
- return res.status(200).send(mailApplications);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get a single mailApplication
-exports.show = function(req, res, next) {
- return MailApplication
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(mailApplication) {
- if (!mailApplication) {
- return res.sendStatus(404);
- }
- return res.send(mailApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new mailApplication in the DB.
-exports.create = function(req, res, next) {
- return MailApplication
- .max('priority', {
- where: {
- MailAccountId: req.body.MailAccountId
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- return MailApplication
- .create(req.body);
- })
- .then(function(mailApplication) {
- return res.status(201).send(mailApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Updates an existing mailApplication in the DB.
-exports.update = function(req, res, next) {
- if (req.body.id) {
- delete req.body.id;
- }
- return MailApplication
- .findById(req.params.id)
- .then(function(mailApplication) {
- if (!mailApplication) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailApplication, req.body);
- return updated
- .save();
- })
- .then(function(mailApplication) {
- return res.status(200).send(mailApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Deletes a mailApplication from the DB.
-exports.destroy = function(req, res, next) {
- return MailApplication
- .findById(req.params.id)
- .then(function(mailApplication) {
- if (!mailApplication) {
- return res.sendStatus(404);
- }
- return mailApplication
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xe407=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xe407[0];var _=require(_0xe407[1]);var MailApplication=require(_0xe407[3])[_0xe407[2]];exports[_0xe407[4]]= function(_0xe883x3,_0xe883x4,_0xe883x5){return MailApplication[_0xe407[11]]({where:_0xe883x3[_0xe407[9]],order:_0xe407[10],include:[{all:true}]})[_0xe407[8]](function(_0xe883x7){return _0xe883x4[_0xe407[7]](200)[_0xe407[6]](_0xe883x7)})[_0xe407[5]](function(_0xe883x6){return handleError(_0xe883x4,_0xe883x6)})};exports[_0xe407[12]]= function(_0xe883x3,_0xe883x4,_0xe883x5){return MailApplication[_0xe407[16]](_0xe883x3[_0xe407[15]][_0xe407[14]],{include:[{all:true}]})[_0xe407[8]](function(_0xe883x8){if(!_0xe883x8){return _0xe883x4[_0xe407[13]](404)};return _0xe883x4[_0xe407[6]](_0xe883x8)})[_0xe407[5]](function(_0xe883x6){return handleError(_0xe883x4,_0xe883x6)})};exports[_0xe407[17]]= function(_0xe883x3,_0xe883x4,_0xe883x5){return MailApplication[_0xe407[20]](_0xe407[10],{where:{MailAccountId:_0xe883x3[_0xe407[18]][_0xe407[19]]}})[_0xe407[8]](function(_0xe883x9){_0xe883x3[_0xe407[18]][_0xe407[10]]= _0xe883x9?++_0xe883x9:1;return MailApplication[_0xe407[17]](_0xe883x3[_0xe407[18]])})[_0xe407[8]](function(_0xe883x8){return _0xe883x4[_0xe407[7]](201)[_0xe407[6]](_0xe883x8)})[_0xe407[5]](function(_0xe883x6){return handleError(_0xe883x4,_0xe883x6)})};exports[_0xe407[21]]= function(_0xe883x3,_0xe883x4,_0xe883x5){if(_0xe883x3[_0xe407[18]][_0xe407[14]]){delete _0xe883x3[_0xe407[18]][_0xe407[14]]};return MailApplication[_0xe407[16]](_0xe883x3[_0xe407[15]][_0xe407[14]])[_0xe407[8]](function(_0xe883x8){if(!_0xe883x8){return _0xe883x4[_0xe407[13]](404)};var _0xe883xa=_[_0xe407[22]](_0xe883x8,_0xe883x3[_0xe407[18]]);return _0xe883xa[_0xe407[23]]()})[_0xe407[8]](function(_0xe883x8){return _0xe883x4[_0xe407[7]](200)[_0xe407[6]](_0xe883x8)})[_0xe407[5]](function(_0xe883x6){return handleError(_0xe883x4,_0xe883x6)})};exports[_0xe407[24]]= function(_0xe883x3,_0xe883x4,_0xe883x5){return MailApplication[_0xe407[16]](_0xe883x3[_0xe407[15]][_0xe407[14]])[_0xe407[8]](function(_0xe883x8){if(!_0xe883x8){return _0xe883x4[_0xe407[13]](404)};return _0xe883x8[_0xe407[24]]()})[_0xe407[8]](function(){return _0xe883x4[_0xe407[13]](204)})[_0xe407[5]](function(_0xe883x6){return handleError(_0xe883x4,_0xe883x6)})};function handleError(_0xe883x4,_0xe883x6){return _0xe883x4[_0xe407[7]](500)[_0xe407[6]](_0xe883x6)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailApplication = require('../../models').MailApplication;
-
-var MailApplicationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailApplicationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailApplication.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailApplicationEvents.emit(event + ':' + doc._id, doc);
- MailApplicationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailApplicationEvents;
+var _0xea40=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xea40[0];const EventEmitter=require(_0xea40[1]);const MailApplication=require(_0xea40[3])[_0xea40[2]];var MailApplicationEvents= new EventEmitter();MailApplicationEvents[_0xea40[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xea40[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xea40[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xea40[6]};for(var e in events){var event=events[e];MailApplication[_0xea40[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xfa1ex8,_0xfa1ex9,_0xfa1exa){MailApplicationEvents[_0xea40[10]](event+ _0xea40[8]+ _0xfa1ex8[_0xea40[9]],_0xfa1ex8);MailApplicationEvents[_0xea40[10]](event,_0xfa1ex8);_0xfa1exa(null)}}module[_0xea40[11]]= MailApplicationEvents
\ No newline at end of file
-'use strict';
-
-const MailApplicationEvents = require('./mail_application.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_application:' + event, socket);
-
- MailApplicationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailApplicationEvents.removeListener(event, listener);
- };
-}
+var _0x19fe=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x19fe[0];const MailApplicationEvents=require(_0x19fe[1]);var events=[_0x19fe[2],_0x19fe[3]];exports[_0x19fe[4]]= function(_0xe409x3){for(var _0xe409x4=0,_0xe409x5=events[_0x19fe[5]];_0xe409x4< _0xe409x5;_0xe409x4++){var _0xe409x6=events[_0xe409x4];var _0xe409x7=createListener(_0x19fe[6]+ _0xe409x6,_0xe409x3);MailApplicationEvents[_0x19fe[7]](_0xe409x6,_0xe409x7);_0xe409x3[_0x19fe[7]](_0x19fe[8],removeListener(_0xe409x6,_0xe409x7))}};function createListener(_0xe409x6,_0xe409x3){return function(_0xe409x9){_0xe409x3[_0x19fe[9]](_0xe409x6,_0xe409x9)}}function removeListener(_0xe409x6,_0xe409x7){return function(){MailApplicationEvents[_0x19fe[10]](_0xe409x6,_0xe409x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_attachment.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasMail(), controller.show);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.destroy);
-
-module.exports = router;
+var _0x7e0b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x7e0b[0];var express=require(_0x7e0b[1]);var controller=require(_0x7e0b[2]);var auth=require(_0x7e0b[3]);var license=require(_0x7e0b[4]);var router=express.Router();router[_0x7e0b[13]](_0x7e0b[5],license[_0x7e0b[6]](),license[_0x7e0b[7]](),auth[_0x7e0b[8]](),auth[_0x7e0b[11]]([9],[_0x7e0b[9],_0x7e0b[10]]),controller[_0x7e0b[12]]);router[_0x7e0b[13]](_0x7e0b[14],license[_0x7e0b[6]](),license[_0x7e0b[7]](),controller[_0x7e0b[15]]);router[_0x7e0b[17]](_0x7e0b[5],license[_0x7e0b[6]](),license[_0x7e0b[7]](),auth[_0x7e0b[8]](),auth[_0x7e0b[11]]([9],[_0x7e0b[9],_0x7e0b[10]]),controller[_0x7e0b[16]]);router[_0x7e0b[19]](_0x7e0b[14],license[_0x7e0b[6]](),license[_0x7e0b[7]](),auth[_0x7e0b[8]](),auth[_0x7e0b[11]]([9],[_0x7e0b[9],_0x7e0b[10]]),controller[_0x7e0b[18]]);router[_0x7e0b[21]](_0x7e0b[14],license[_0x7e0b[6]](),license[_0x7e0b[7]](),auth[_0x7e0b[8]](),auth[_0x7e0b[11]]([9],[_0x7e0b[9],_0x7e0b[10]]),controller[_0x7e0b[20]]);module[_0x7e0b[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var path = require('path');
-var fs = require('fs');
-var formidable = require('formidable');
-var Promise = require('bluebird');
-
-var config = require('../../config/environment');
-var MailAttachment = require('../../models').MailAttachment;
-
-// Get list of mailAttachments
-exports.index = function(req, res, next) {
- return MailAttachment
- .findAll()
- .then(function(mailAttachments) {
- return res.status(200).send(mailAttachments);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailAttachment
-exports.show = function(req, res, next) {
- return MailAttachment
- .findById(req.params.id)
- .then(function(mailAttachment) {
- return res.sendFile(mailAttachment.path);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailAttachment in the DB.
-exports.create = function(req, res, next) {
- console.log(req);
- var form = new formidable.IncomingForm();
- form.uploadDir = path.join(config.root, 'server', 'files', 'attachments');
- form.keepExtensions = true;
- form.multiples = true;
- form.hash = true;
-
- form.parse(req, function(err, form, wrap) {
- if (err) {
- return res.status(500).send(err);
- }
- return res.status(201).send({
- size: wrap.file.size,
- path: wrap.file.path,
- name: wrap.file.name,
- type: wrap.file.type,
- basename: path.basename(wrap.file.path)
- });
- });
-};
-
-// Updates an existing mailAttachment in the DB.
-exports.update = function(req, res, next) {
- if (req.body.id) {
- delete req.body.id;
- }
- return MailAttachment
- .findById(req.params.id)
- .then(function(mailAttachment) {
- if (!mailAttachment) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailAttachment, req.body);
- return updated.save();
- })
- .then(function(mailAttachment) {
- return res.status(200).send(mailAttachment);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailAttachment from the DB.
-exports.destroy = function(req, res, next) {
- var unlink = Promise.promisify(require("fs").unlink);
- var _path = path.join(config.root, 'server', 'files', 'attachments', req.params.id);
-
- return unlink(_path)
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xa6dd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x66\x73","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6C\x6F\x67","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x68\x61\x73\x68","\x73\x69\x7A\x65","\x66\x69\x6C\x65","\x6E\x61\x6D\x65","\x74\x79\x70\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x75\x6E\x6C\x69\x6E\x6B","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79"];_0xa6dd[0];var _=require(_0xa6dd[1]);var path=require(_0xa6dd[2]);var fs=require(_0xa6dd[3]);var formidable=require(_0xa6dd[4]);var Promise=require(_0xa6dd[5]);var config=require(_0xa6dd[6]);var MailAttachment=require(_0xa6dd[8])[_0xa6dd[7]];exports[_0xa6dd[9]]= function(_0x638fx8,_0x638fx9,_0x638fxa){return MailAttachment[_0xa6dd[14]]()[_0xa6dd[13]](function(_0x638fxc){return _0x638fx9[_0xa6dd[12]](200)[_0xa6dd[11]](_0x638fxc)})[_0xa6dd[10]](function(_0x638fxb){return handleError(_0x638fx9,_0x638fxb)})};exports[_0xa6dd[15]]= function(_0x638fx8,_0x638fx9,_0x638fxa){return MailAttachment[_0xa6dd[19]](_0x638fx8[_0xa6dd[18]][_0xa6dd[17]])[_0xa6dd[13]](function(_0x638fxd){return _0x638fx9[_0xa6dd[16]](_0x638fxd[_0xa6dd[2]])})[_0xa6dd[10]](function(_0x638fxb){return handleError(_0x638fx9,_0x638fxb)})};exports[_0xa6dd[20]]= function(_0x638fx8,_0x638fx9,_0x638fxa){console[_0xa6dd[21]](_0x638fx8);var _0x638fxe= new formidable.IncomingForm();_0x638fxe[_0xa6dd[22]]= path[_0xa6dd[27]](config[_0xa6dd[23]],_0xa6dd[24],_0xa6dd[25],_0xa6dd[26]);_0x638fxe[_0xa6dd[28]]= true;_0x638fxe[_0xa6dd[29]]= true;_0x638fxe[_0xa6dd[30]]= true;_0x638fxe[_0xa6dd[36]](_0x638fx8,function(_0x638fxb,_0x638fxe,_0x638fxf){if(_0x638fxb){return _0x638fx9[_0xa6dd[12]](500)[_0xa6dd[11]](_0x638fxb)};return _0x638fx9[_0xa6dd[12]](201)[_0xa6dd[11]]({size:_0x638fxf[_0xa6dd[32]][_0xa6dd[31]],path:_0x638fxf[_0xa6dd[32]][_0xa6dd[2]],name:_0x638fxf[_0xa6dd[32]][_0xa6dd[33]],type:_0x638fxf[_0xa6dd[32]][_0xa6dd[34]],basename:path[_0xa6dd[35]](_0x638fxf[_0xa6dd[32]][_0xa6dd[2]])})})};exports[_0xa6dd[37]]= function(_0x638fx8,_0x638fx9,_0x638fxa){if(_0x638fx8[_0xa6dd[38]][_0xa6dd[17]]){delete _0x638fx8[_0xa6dd[38]][_0xa6dd[17]]};return MailAttachment[_0xa6dd[19]](_0x638fx8[_0xa6dd[18]][_0xa6dd[17]])[_0xa6dd[13]](function(_0x638fxd){if(!_0x638fxd){return _0x638fx9[_0xa6dd[39]](404)};var _0x638fx10=_[_0xa6dd[40]](_0x638fxd,_0x638fx8[_0xa6dd[38]]);return _0x638fx10[_0xa6dd[41]]()})[_0xa6dd[13]](function(_0x638fxd){return _0x638fx9[_0xa6dd[12]](200)[_0xa6dd[11]](_0x638fxd)})[_0xa6dd[10]](function(_0x638fxb){return handleError(_0x638fx9,_0x638fxb)})};exports[_0xa6dd[42]]= function(_0x638fx8,_0x638fx9,_0x638fxa){var _0x638fx11=Promise[_0xa6dd[44]](require(_0xa6dd[3])[_0xa6dd[43]]);var _0x638fx12=path[_0xa6dd[27]](config[_0xa6dd[23]],_0xa6dd[24],_0xa6dd[25],_0xa6dd[26],_0x638fx8[_0xa6dd[18]][_0xa6dd[17]]);return _0x638fx11(_0x638fx12)[_0xa6dd[13]](function(){return _0x638fx9[_0xa6dd[39]](204)})[_0xa6dd[10]](function(_0x638fxb){return handleError(_0x638fx9,_0x638fxb)})};function handleError(_0x638fx9,_0x638fxb){return _0x638fx9[_0xa6dd[12]](500)[_0xa6dd[11]](_0x638fxb)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailAttachment = require('../../models').MailAttachment;
-
-var MailAttachmentEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailAttachmentEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailAttachment.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailAttachmentEvents.emit(event + ':' + doc._id, doc);
- MailAttachmentEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailAttachmentEvents;
+var _0x35ca=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x35ca[0];const EventEmitter=require(_0x35ca[1]);const MailAttachment=require(_0x35ca[3])[_0x35ca[2]];var MailAttachmentEvents= new EventEmitter();MailAttachmentEvents[_0x35ca[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x35ca[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x35ca[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x35ca[6]};for(var e in events){var event=events[e];MailAttachment[_0x35ca[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x6b3ax8,_0x6b3ax9,_0x6b3axa){MailAttachmentEvents[_0x35ca[10]](event+ _0x35ca[8]+ _0x6b3ax8[_0x35ca[9]],_0x6b3ax8);MailAttachmentEvents[_0x35ca[10]](event,_0x6b3ax8);_0x6b3axa(null)}}module[_0x35ca[11]]= MailAttachmentEvents
\ No newline at end of file
-'use strict';
-
-const MailAttachmentEvents = require('./mail_attachment.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_attachment:' + event, socket);
-
- MailAttachmentEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailAttachmentEvents.removeListener(event, listener);
- };
-}
+var _0x87fb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x87fb[0];const MailAttachmentEvents=require(_0x87fb[1]);var events=[_0x87fb[2],_0x87fb[3]];exports[_0x87fb[4]]= function(_0x2552x3){for(var _0x2552x4=0,_0x2552x5=events[_0x87fb[5]];_0x2552x4< _0x2552x5;_0x2552x4++){var _0x2552x6=events[_0x2552x4];var _0x2552x7=createListener(_0x87fb[6]+ _0x2552x6,_0x2552x3);MailAttachmentEvents[_0x87fb[7]](_0x2552x6,_0x2552x7);_0x2552x3[_0x87fb[7]](_0x87fb[8],removeListener(_0x2552x6,_0x2552x7))}};function createListener(_0x2552x6,_0x2552x3){return function(_0x2552x9){_0x2552x3[_0x87fb[9]](_0x2552x6,_0x2552x9)}}function removeListener(_0x2552x6,_0x2552x7){return function(){MailAttachmentEvents[_0x87fb[10]](_0x2552x6,_0x2552x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./mail_disposition.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0xc426=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6D\x61\x69\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc426[0];var express=require(_0xc426[1]);var auth=require(_0xc426[2]);var controller=require(_0xc426[3]);var router=express.Router();router[_0xc426[7]](_0xc426[4],auth[_0xc426[5]](),controller[_0xc426[6]]);router[_0xc426[7]](_0xc426[8],auth[_0xc426[5]](),controller[_0xc426[9]]);router[_0xc426[11]](_0xc426[4],auth[_0xc426[5]](),controller[_0xc426[10]]);router[_0xc426[13]](_0xc426[8],auth[_0xc426[5]](),controller[_0xc426[12]]);router[_0xc426[14]](_0xc426[8],auth[_0xc426[5]](),controller[_0xc426[12]]);router[_0xc426[16]](_0xc426[8],auth[_0xc426[5]](),controller[_0xc426[15]]);module[_0xc426[17]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/mail/dispositions -> index
- * POST /api/mail/dispositions -> create
- * GET /api/mail/dispositions/:id -> show
- * PUT /api/mail/dispositions/:id -> update
- * DELETE /api/mail/dispositions/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var MailDisposition = require('../../models').MailDisposition;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of MailDispositions
-exports.index = function(req, res) {
- MailDisposition.findAndCountAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single MailDisposition from the DB
-exports.show = function(req, res) {
- MailDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new MailDisposition in the DB
-exports.create = function(req, res) {
- MailDisposition.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing MailDisposition in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- MailDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a MailDisposition from the DB
-exports.destroy = function(req, res) {
- MailDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0xc900=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0xc900[0];var _=require(_0xc900[1]);var MailDisposition=require(_0xc900[3])[_0xc900[2]];function handleError(_0xae8ax4,_0xae8ax5){_0xae8ax5= _0xae8ax5|| 500;return function(_0xae8ax6){_0xae8ax4[_0xc900[5]](_0xae8ax5)[_0xc900[4]](_0xae8ax6)}}function responseWithResult(_0xae8ax4,_0xae8ax5){_0xae8ax5= _0xae8ax5|| 200;return function(_0xae8ax8){if(_0xae8ax8){_0xae8ax4[_0xc900[5]](_0xae8ax5)[_0xc900[6]](_0xae8ax8)}}}function responseWithoutResult(_0xae8ax4,_0xae8ax5){_0xae8ax5= _0xae8ax5|| 200;return function(){_0xae8ax4[_0xc900[7]](_0xae8ax5)}}function handleEntityNotFound(_0xae8ax4){return function(_0xae8ax8){if(!_0xae8ax8){_0xae8ax4[_0xc900[5]](404)[_0xc900[8]]();return null};return _0xae8ax8}}function saveUpdates(_0xae8axc){return function(_0xae8ax8){return _0xae8ax8[_0xc900[10]](_0xae8axc)[_0xc900[9]](function(_0xae8axd){return _0xae8axd})}}function removeEntity(_0xae8ax4){return function(_0xae8ax8){if(_0xae8ax8){return _0xae8ax8[_0xc900[11]]()[_0xc900[9]](function(){_0xae8ax4[_0xc900[5]](204)[_0xc900[8]]()})}}}exports[_0xc900[12]]= function(_0xae8axf,_0xae8ax4){MailDisposition[_0xc900[14]]()[_0xc900[9]](responseWithResult(_0xae8ax4))[_0xc900[13]](handleError(_0xae8ax4))};exports[_0xc900[15]]= function(_0xae8axf,_0xae8ax4){MailDisposition[_0xc900[18]](_0xae8axf[_0xc900[17]][_0xc900[16]])[_0xc900[9]](handleEntityNotFound(_0xae8ax4))[_0xc900[9]](responseWithResult(_0xae8ax4))[_0xc900[13]](handleError(_0xae8ax4))};exports[_0xc900[19]]= function(_0xae8axf,_0xae8ax4){MailDisposition[_0xc900[19]](_0xae8axf[_0xc900[20]])[_0xc900[9]](responseWithResult(_0xae8ax4,201))[_0xc900[13]](handleError(_0xae8ax4))};exports[_0xc900[21]]= function(_0xae8axf,_0xae8ax4){if(_0xae8axf[_0xc900[20]][_0xc900[16]]){delete _0xae8axf[_0xc900[20]][_0xc900[16]]};MailDisposition[_0xc900[18]](_0xae8axf[_0xc900[17]][_0xc900[16]])[_0xc900[9]](handleEntityNotFound(_0xae8ax4))[_0xc900[9]](saveUpdates(_0xae8axf[_0xc900[20]]))[_0xc900[9]](responseWithResult(_0xae8ax4))[_0xc900[13]](handleError(_0xae8ax4))};exports[_0xc900[11]]= function(_0xae8axf,_0xae8ax4){MailDisposition[_0xc900[18]](_0xae8axf[_0xc900[17]][_0xc900[16]])[_0xc900[9]](handleEntityNotFound(_0xae8ax4))[_0xc900[9]](removeEntity(_0xae8ax4))[_0xc900[13]](handleError(_0xae8ax4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailDisposition = require('../../models').MailDisposition;
-
-var MailDispositionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailDispositionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailDisposition.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailDispositionEvents.emit(event + ':' + doc._id, doc);
- MailDispositionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailDispositionEvents;
+var _0xbd00=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xbd00[0];const EventEmitter=require(_0xbd00[1]);const MailDisposition=require(_0xbd00[3])[_0xbd00[2]];var MailDispositionEvents= new EventEmitter();MailDispositionEvents[_0xbd00[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xbd00[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xbd00[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xbd00[6]};for(var e in events){var event=events[e];MailDisposition[_0xbd00[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x6f51x8,_0x6f51x9,_0x6f51xa){MailDispositionEvents[_0xbd00[10]](event+ _0xbd00[8]+ _0x6f51x8[_0xbd00[9]],_0x6f51x8);MailDispositionEvents[_0xbd00[10]](event,_0x6f51x8);_0x6f51xa(null)}}module[_0xbd00[11]]= MailDispositionEvents
\ No newline at end of file
-'use strict';
-
-const MailDispositionEvents = require('./mail_disposition.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_disposition:' + event, socket);
-
- MailDispositionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailDispositionEvents.removeListener(event, listener);
- };
-}
+var _0xdf63=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xdf63[0];const MailDispositionEvents=require(_0xdf63[1]);var events=[_0xdf63[2],_0xdf63[3]];exports[_0xdf63[4]]= function(_0xa6dfx3){for(var _0xa6dfx4=0,_0xa6dfx5=events[_0xdf63[5]];_0xa6dfx4< _0xa6dfx5;_0xa6dfx4++){var _0xa6dfx6=events[_0xa6dfx4];var _0xa6dfx7=createListener(_0xdf63[6]+ _0xa6dfx6,_0xa6dfx3);MailDispositionEvents[_0xdf63[7]](_0xa6dfx6,_0xa6dfx7);_0xa6dfx3[_0xdf63[7]](_0xdf63[8],removeListener(_0xa6dfx6,_0xa6dfx7))}};function createListener(_0xa6dfx6,_0xa6dfx3){return function(_0xa6dfx9){_0xa6dfx3[_0xdf63[9]](_0xa6dfx6,_0xa6dfx9)}}function removeListener(_0xa6dfx6,_0xa6dfx7){return function(){MailDispositionEvents[_0xdf63[10]](_0xa6dfx6,_0xa6dfx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_message.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.index);
-router.get('/describe', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.describe);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.show);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.create);
-router.put('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.update);
-router.put('/delete/bulk', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.bulkDelete);
-router.put('/delete/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.update);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.destroy);
-
-module.exports = router;
+var _0x315e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x62\x75\x6C\x6B","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x2F\x64\x65\x6C\x65\x74\x65\x2F\x3A\x69\x64","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x315e[0];var express=require(_0x315e[1]);var controller=require(_0x315e[2]);var auth=require(_0x315e[3]);var license=require(_0x315e[4]);var router=express.Router();router[_0x315e[13]](_0x315e[5],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9],_0x315e[10]]),controller[_0x315e[12]]);router[_0x315e[13]](_0x315e[14],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9]]),controller[_0x315e[15]]);router[_0x315e[13]](_0x315e[16],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9],_0x315e[10]]),controller[_0x315e[17]]);router[_0x315e[19]](_0x315e[5],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9],_0x315e[10]]),controller[_0x315e[18]]);router[_0x315e[21]](_0x315e[5],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9],_0x315e[10]]),controller[_0x315e[20]]);router[_0x315e[21]](_0x315e[22],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9]]),controller[_0x315e[23]]);router[_0x315e[21]](_0x315e[24],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9]]),controller[_0x315e[20]]);router[_0x315e[21]](_0x315e[16],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9],_0x315e[10]]),controller[_0x315e[20]]);router[_0x315e[26]](_0x315e[16],license[_0x315e[6]](),license[_0x315e[7]](),auth[_0x315e[8]](),auth[_0x315e[11]]([9],[_0x315e[9],_0x315e[10]]),controller[_0x315e[25]]);module[_0x315e[27]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var async = require('async');
-
-var htmlToText = require('html-to-text');
-var formidable = require('formidable');
-var moment = require('moment');
-var path = require('path');
-
-var config = require('../../config/environment');
-var sequelize = require('../../models').sequelize;
-var MailMessage = require('../../models').MailMessage;
-var MailAttachment = require('../../models').MailAttachment;
-var MailRoom = require('../../models').MailRoom;
-var MailAccount = require('../../models').MailAccount;
-var ContactEmail = require('../../models').ContactEmail;
-var Contact = require('../../models').Contact;
-var User = require('../../models').User;
-
-// Get list of mail_messages
-exports.index = function(req, res, next) {
- var params = {
- order: 'createdAt DESC',
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- };
-
- switch (req.user.role) {
- case 'admin':
- params.where = req.query;
- break;
- case 'agent':
- break;
- default:
- }
-
- return MailMessage
- .findAll(params)
- .then(function(mail_messages) {
- return res.status(200).send(mail_messages);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-exports.describe = function(req, res) {
- return MailMessage
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailMessage
-exports.show = function(req, res, next) {
- return MailMessage
- .findById(req.params.id, {
- include: [{
- model: MailAttachment
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- })
- .then(function(mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- return res.send(mailMessage);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-// Creates a new mailMessage in the DB.
-exports.create = function(req, res, next) {
- req.body.UserId = req.user.id;
- req.body.userName = req.user.name;
- req.body.userFullname = req.user.fullname;
- req.body.text = req.body.text || htmlToText.fromString(req.body.html, {
- wordwrap: false
- });
-
- return MailAccount
- .findOne({
- where: {
- address: req.body.from[0]
- }
- })
- .then(function(account) {
- req.body.accountId = account.id;
- req.body.accountName = account.name;
-
- return MailRoom
- .create({
- from: req.body.from[0],
- subject: req.body.subject,
- account: account.name,
- mailIn: 0,
- mailOut: 1,
- status: 'PENDING',
- openReason: 'agent',
- lastEvent: 'SENDING',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- MailAccountId: account.id,
- MailMessages: [req.body]
- }, {
- include: [{
- model: MailMessage,
- include: [{
- model: MailAttachment
- }]
- }]
- });
- })
- .then(function(mailRoom) {
- return res.status(201).send(mailRoom);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailMessage in the DB.
-exports.update = function(req, res, next) {
- return MailMessage
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailMessage, req.body);
- return updated
- .save();
- })
- .then(function(updated) {
- return res.status(200).send(updated);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-// Deletes a mailMessage from the DB.
-exports.destroy = function(req, res, next) {
- return MailMessage
- .findById(req.params.id)
- .then(function(mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- return mailMessage
- .destroy();
- }).then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-// Deletes a mailMessage from the DB.
-exports.bulkDelete = function(req, res, next) {
- return MailMessage
- .bulkUpdate({
- where: {
- id: {
- $in: req.body.id
- }
- },
- attributes: {
- directory: 'TRASH'
- }
- })
- .then(function(mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- return mailMessage
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err, next);
- });
-};
-
-function handleError(res, err, next) {
- return res.status(500).send(err);
-}
+var _0x9099=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x73\x79\x6E\x63","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x6D\x6F\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x43\x6F\x6E\x74\x61\x63\x74","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x75\x73\x65\x72\x4E\x61\x6D\x65","\x75\x73\x65\x72\x46\x75\x6C\x6C\x6E\x61\x6D\x65","\x74\x65\x78\x74","\x68\x74\x6D\x6C","\x66\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x65\x72\x72\x6F\x72","\x61\x63\x63\x6F\x75\x6E\x74\x49\x64","\x61\x63\x63\x6F\x75\x6E\x74\x4E\x61\x6D\x65","\x66\x72\x6F\x6D","\x73\x75\x62\x6A\x65\x63\x74","\x50\x45\x4E\x44\x49\x4E\x47","\x53\x45\x4E\x44\x49\x4E\x47","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0x9099[0];var _=require(_0x9099[1]);var async=require(_0x9099[2]);var htmlToText=require(_0x9099[3]);var formidable=require(_0x9099[4]);var moment=require(_0x9099[5]);var path=require(_0x9099[6]);var config=require(_0x9099[7]);var sequelize=require(_0x9099[9])[_0x9099[8]];var MailMessage=require(_0x9099[9])[_0x9099[10]];var MailAttachment=require(_0x9099[9])[_0x9099[11]];var MailRoom=require(_0x9099[9])[_0x9099[12]];var MailAccount=require(_0x9099[9])[_0x9099[13]];var ContactEmail=require(_0x9099[9])[_0x9099[14]];var Contact=require(_0x9099[9])[_0x9099[15]];var User=require(_0x9099[9])[_0x9099[16]];exports[_0x9099[17]]= function(_0x316bx10,_0x316bx11,_0x316bx12){var _0x316bx13={order:_0x9099[18],include:[{all:true,include:[{all:true}]}]};switch(_0x316bx10[_0x9099[24]][_0x9099[23]]){case _0x9099[21]:_0x316bx13[_0x9099[19]]= _0x316bx10[_0x9099[20]];break;case _0x9099[22]:break;default:};return MailMessage[_0x9099[29]](_0x316bx13)[_0x9099[28]](function(_0x316bx15){return _0x316bx11[_0x9099[27]](200)[_0x9099[26]](_0x316bx15)})[_0x9099[25]](function(_0x316bx14){return handleError(_0x316bx11,_0x316bx14,_0x316bx12)})};exports[_0x9099[30]]= function(_0x316bx10,_0x316bx11){return MailMessage[_0x9099[30]]()[_0x9099[28]](function(_0x316bx16){return _0x316bx11[_0x9099[27]](200)[_0x9099[26]](_0x316bx16)})[_0x9099[25]](function(_0x316bx14){return handleError(_0x316bx11,_0x316bx14)})};exports[_0x9099[31]]= function(_0x316bx10,_0x316bx11,_0x316bx12){return MailMessage[_0x9099[38]](_0x316bx10[_0x9099[34]][_0x9099[33]],{include:[{model:MailAttachment},{model:User,attributes:[_0x9099[33],_0x9099[35],_0x9099[36],_0x9099[37]]}]})[_0x9099[28]](function(_0x316bx17){if(!_0x316bx17){return _0x316bx11[_0x9099[32]](404)};return _0x316bx11[_0x9099[26]](_0x316bx17)})[_0x9099[25]](function(_0x316bx14){return handleError(_0x316bx11,_0x316bx14,_0x316bx12)})};exports[_0x9099[39]]= function(_0x316bx10,_0x316bx11,_0x316bx12){_0x316bx10[_0x9099[41]][_0x9099[40]]= _0x316bx10[_0x9099[24]][_0x9099[33]];_0x316bx10[_0x9099[41]][_0x9099[42]]= _0x316bx10[_0x9099[24]][_0x9099[35]];_0x316bx10[_0x9099[41]][_0x9099[43]]= _0x316bx10[_0x9099[24]][_0x9099[36]];_0x316bx10[_0x9099[41]][_0x9099[44]]= _0x316bx10[_0x9099[41]][_0x9099[44]]|| htmlToText[_0x9099[46]](_0x316bx10[_0x9099[41]][_0x9099[45]],{wordwrap:false});return MailAccount[_0x9099[56]]({where:{address:_0x316bx10[_0x9099[41]][_0x9099[50]][0]}})[_0x9099[28]](function(_0x316bx19){_0x316bx10[_0x9099[41]][_0x9099[48]]= _0x316bx19[_0x9099[33]];_0x316bx10[_0x9099[41]][_0x9099[49]]= _0x316bx19[_0x9099[35]];return MailRoom[_0x9099[39]]({from:_0x316bx10[_0x9099[41]][_0x9099[50]][0],subject:_0x316bx10[_0x9099[41]][_0x9099[51]],account:_0x316bx19[_0x9099[35]],mailIn:0,mailOut:1,status:_0x9099[52],openReason:_0x9099[22],lastEvent:_0x9099[53],lastEventAt:moment()[_0x9099[55]](_0x9099[54]),MailAccountId:_0x316bx19[_0x9099[33]],MailMessages:[_0x316bx10[_0x9099[41]]]},{include:[{model:MailMessage,include:[{model:MailAttachment}]}]})})[_0x9099[28]](function(_0x316bx18){return _0x316bx11[_0x9099[27]](201)[_0x9099[26]](_0x316bx18)})[_0x9099[25]](function(_0x316bx14){console[_0x9099[47]](_0x316bx14);return handleError(_0x316bx11,_0x316bx14)})};exports[_0x9099[57]]= function(_0x316bx10,_0x316bx11,_0x316bx12){return MailMessage[_0x9099[38]](_0x316bx10[_0x9099[34]][_0x9099[33]],{include:[{all:true}]})[_0x9099[28]](function(_0x316bx17){if(!_0x316bx17){return _0x316bx11[_0x9099[32]](404)};var _0x316bx1a=_[_0x9099[58]](_0x316bx17,_0x316bx10[_0x9099[41]]);return _0x316bx1a[_0x9099[59]]()})[_0x9099[28]](function(_0x316bx1a){return _0x316bx11[_0x9099[27]](200)[_0x9099[26]](_0x316bx1a)})[_0x9099[25]](function(_0x316bx14){return handleError(_0x316bx11,_0x316bx14,_0x316bx12)})};exports[_0x9099[60]]= function(_0x316bx10,_0x316bx11,_0x316bx12){return MailMessage[_0x9099[38]](_0x316bx10[_0x9099[34]][_0x9099[33]])[_0x9099[28]](function(_0x316bx17){if(!_0x316bx17){return _0x316bx11[_0x9099[32]](404)};return _0x316bx17[_0x9099[60]]()})[_0x9099[28]](function(){return _0x316bx11[_0x9099[32]](204)})[_0x9099[25]](function(_0x316bx14){return handleError(_0x316bx11,_0x316bx14,_0x316bx12)})};exports[_0x9099[61]]= function(_0x316bx10,_0x316bx11,_0x316bx12){return MailMessage[_0x9099[63]]({where:{id:{$in:_0x316bx10[_0x9099[41]][_0x9099[33]]}},attributes:{directory:_0x9099[62]}})[_0x9099[28]](function(_0x316bx17){if(!_0x316bx17){return _0x316bx11[_0x9099[32]](404)};return _0x316bx17[_0x9099[60]]()})[_0x9099[28]](function(){return _0x316bx11[_0x9099[32]](204)})[_0x9099[25]](function(_0x316bx14){return handleError(_0x316bx11,_0x316bx14,_0x316bx12)})};function handleError(_0x316bx11,_0x316bx14,_0x316bx12){return _0x316bx11[_0x9099[27]](500)[_0x9099[26]](_0x316bx14)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailMessage = require('../../models').MailMessage;
-
-var MailMessageEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailMessageEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailMessage.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailMessageEvents.emit(event + ':' + doc._id, doc);
- MailMessageEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailMessageEvents;
+var _0xb1de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb1de[0];const EventEmitter=require(_0xb1de[1]);const MailMessage=require(_0xb1de[3])[_0xb1de[2]];var MailMessageEvents= new EventEmitter();MailMessageEvents[_0xb1de[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xb1de[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xb1de[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xb1de[6]};for(var e in events){var event=events[e];MailMessage[_0xb1de[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x4388x8,_0x4388x9,_0x4388xa){MailMessageEvents[_0xb1de[10]](event+ _0xb1de[8]+ _0x4388x8[_0xb1de[9]],_0x4388x8);MailMessageEvents[_0xb1de[10]](event,_0x4388x8);_0x4388xa(null)}}module[_0xb1de[11]]= MailMessageEvents
\ No newline at end of file
-'use strict';
-
-const MailMessageEvents = require('./mail_message.events');
-
-// Model events to emit
-var events = ['save', 'save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_message:' + event, socket);
-
- MailMessageEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailMessageEvents.removeListener(event, listener);
- };
-}
+var _0x1113=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x1113[0];const MailMessageEvents=require(_0x1113[1]);var events=[_0x1113[2],_0x1113[2],_0x1113[3]];exports[_0x1113[4]]= function(_0x74fdx3){for(var _0x74fdx4=0,_0x74fdx5=events[_0x1113[5]];_0x74fdx4< _0x74fdx5;_0x74fdx4++){var _0x74fdx6=events[_0x74fdx4];var _0x74fdx7=createListener(_0x1113[6]+ _0x74fdx6,_0x74fdx3);MailMessageEvents[_0x1113[7]](_0x74fdx6,_0x74fdx7);_0x74fdx3[_0x1113[7]](_0x1113[8],removeListener(_0x74fdx6,_0x74fdx7))}};function createListener(_0x74fdx6,_0x74fdx3){return function(_0x74fdx9){_0x74fdx3[_0x1113[9]](_0x74fdx6,_0x74fdx9)}}function removeListener(_0x74fdx6,_0x74fdx7){return function(){MailMessageEvents[_0x1113[10]](_0x74fdx6,_0x74fdx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_queue.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.show);
-router.get('/:id/agents', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.showAgents);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.create);
-router.post('/:id/agents', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.addAgents);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.update);
-router.delete('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroy);
-router.delete('/:id/agents', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.removeAgents);
-
-module.exports = router;
+var _0xa8ee=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0xa8ee[0];var express=require(_0xa8ee[1]);var controller=require(_0xa8ee[2]);var auth=require(_0xa8ee[3]);var license=require(_0xa8ee[4]);var router=express.Router();router[_0xa8ee[12]](_0xa8ee[5],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[11]]);router[_0xa8ee[12]](_0xa8ee[13],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[14]]);router[_0xa8ee[12]](_0xa8ee[15],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[16]]);router[_0xa8ee[18]](_0xa8ee[5],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[17]]);router[_0xa8ee[18]](_0xa8ee[15],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[19]]);router[_0xa8ee[21]](_0xa8ee[13],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[20]]);router[_0xa8ee[23]](_0xa8ee[5],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[22]]);router[_0xa8ee[23]](_0xa8ee[13],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[24]]);router[_0xa8ee[23]](_0xa8ee[15],license[_0xa8ee[6]](),license[_0xa8ee[7]](),auth[_0xa8ee[8]](),auth[_0xa8ee[10]]([9],[_0xa8ee[9]]),controller[_0xa8ee[25]]);module[_0xa8ee[26]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-
-var MailQueue = require('../../models').MailQueue;
-var User = require('../../models').User;
-var UserHasMailQueue = require('../../models').UserHasMailQueue;
-
-// Get list of mailQueues
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return MailQueue
- .scope('default')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get a single mailQueue
-exports.show = function(req, res) {
- return MailQueue
- .scope('default')
- .findById(req.params.id)
- .then(function(mailQueue) {
- if (!mailQueue) {
- return res.sendStatus(404);
- }
- return res.send(mailQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailQueue in the DB.
-exports.create = function(req, res) {
- var _mailQueue;
-
- return MailQueue
- .create(req.body)
- .then(function(mailQueue) {
- _mailQueue = mailQueue;
-
- if (req.body.agents) {
- return _mailQueue
- .addUsers(req.body.agents, {
- penalty: req.body.penalty || 0,
- queue: _mailQueue.name
- });
- }
- })
- .then(function() {
- return res.status(201).send(_mailQueue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailQueue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return MailQueue
- .findById(req.params.id)
- .then(function(mailQueue) {
- if (!mailQueue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailQueue, req.body);
- return updated
- .save();
- })
- .then(function(mailQueue) {
- return res.status(200).send(mailQueue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_mailQueue in the DB.
-exports.addAgents = function(req, res, next) {
- return MailQueue
- .findById(req.params.id)
- .then(function(mailQueue) {
- if (!mailQueue) {
- return res.sendStatus(404);
- }
- var userHasMailQueues = _.map(req.body.agents, function(agent) {
- return {
- UserId: agent,
- penalty: req.body.penalty,
- MailQueueId: mailQueue.id,
- queue: mailQueue.name
- };
- });
-
- return UserHasMailQueue
- .bulkCreate(userHasMailQueues, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.removeAgents = function(req, res) {
- return MailQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .removeUsers(req.query.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailQueue from the DB.
-exports.destroy = function(req, res) {
- var _mailQueue;
-
- return MailQueue
- .findById(req.params.id)
- .then(function(mailQueue) {
- _mailQueue = mailQueue;
- if (!mailQueue) {
- return res.sendStatus(404);
- }
- return mailQueue
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- return Util.errorManager.handleForeignKeyConstraintError(res, 'queue', _mailQueue.name, err);
- })
- .catch(function(err) {
- console.error('err', err);
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return MailQueue
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showAgents = function(req, res) {
- return MailQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x1d07=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x55\x73\x65\x72","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x61\x67\x65\x6E\x74\x73","\x62\x6F\x64\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x6E\x61\x6D\x65","\x61\x64\x64\x55\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x65\x72\x72","\x65\x72\x72\x6F\x72","\x71\x75\x65\x75\x65","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73"];_0x1d07[0];var _=require(_0x1d07[1]);var util=require(_0x1d07[2]);var Util=require(_0x1d07[3]);var sequelize=require(_0x1d07[5])[_0x1d07[4]];var MailQueue=require(_0x1d07[5])[_0x1d07[6]];var User=require(_0x1d07[5])[_0x1d07[7]];var UserHasMailQueue=require(_0x1d07[5])[_0x1d07[8]];exports[_0x1d07[9]]= function(_0xffa0x8,_0xffa0x9){switch(_0xffa0x8[_0x1d07[17]][_0x1d07[24]]){case _0x1d07[17]:return User[_0x1d07[18]](_0xffa0x8[_0x1d07[17]][_0x1d07[16]],{attributes:[_0x1d07[16]]})[_0x1d07[13]](Util[_0x1d07[15]](_0xffa0x8[_0x1d07[14]]))[_0x1d07[13]](function(_0xffa0xb){_0xffa0x9[_0x1d07[12]](200)[_0x1d07[11]](_0xffa0xb)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)});default:return MailQueue[_0x1d07[23]](_0x1d07[22])[_0x1d07[21]](_[_0x1d07[20]](Util[_0x1d07[19]](_0xffa0x8[_0x1d07[14]]),{distinct:true}))[_0x1d07[13]](function(_0xffa0xb){_0xffa0x9[_0x1d07[12]](200)[_0x1d07[11]](_0xffa0xb)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})}};exports[_0x1d07[25]]= function(_0xffa0x8,_0xffa0x9){return MailQueue[_0x1d07[23]](_0x1d07[22])[_0x1d07[18]](_0xffa0x8[_0x1d07[27]][_0x1d07[16]])[_0x1d07[13]](function(_0xffa0xc){if(!_0xffa0xc){return _0xffa0x9[_0x1d07[26]](404)};return _0xffa0x9[_0x1d07[11]](_0xffa0xc)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[28]]= function(_0xffa0x8,_0xffa0x9){var _0xffa0xd;return MailQueue[_0x1d07[28]](_0xffa0x8[_0x1d07[32]])[_0x1d07[13]](function(_0xffa0xc){_0xffa0xd= _0xffa0xc;if(_0xffa0x8[_0x1d07[32]][_0x1d07[31]]){return _0xffa0xd[_0x1d07[35]](_0xffa0x8[_0x1d07[32]][_0x1d07[31]],{penalty:_0xffa0x8[_0x1d07[32]][_0x1d07[33]]|| 0,queue:_0xffa0xd[_0x1d07[34]]})}})[_0x1d07[13]](function(){return _0xffa0x9[_0x1d07[12]](201)[_0x1d07[11]](_0xffa0xd)})[_0x1d07[10]](sequelize.UniqueConstraintError,function(_0xffa0xa){return Util[_0x1d07[30]][_0x1d07[29]](_0xffa0x9,_0xffa0xa)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[36]]= function(_0xffa0x8,_0xffa0x9){if(_0xffa0x8[_0x1d07[32]][_0x1d07[16]]){delete _0xffa0x8[_0x1d07[32]][_0x1d07[16]]};return MailQueue[_0x1d07[18]](_0xffa0x8[_0x1d07[27]][_0x1d07[16]])[_0x1d07[13]](function(_0xffa0xc){if(!_0xffa0xc){return _0xffa0x9[_0x1d07[26]](404)};var _0xffa0xe=_[_0x1d07[20]](_0xffa0xc,_0xffa0x8[_0x1d07[32]]);return _0xffa0xe[_0x1d07[37]]()})[_0x1d07[13]](function(_0xffa0xc){return _0xffa0x9[_0x1d07[12]](200)[_0x1d07[11]](_0xffa0xc)})[_0x1d07[10]](sequelize.UniqueConstraintError,function(_0xffa0xa){return Util[_0x1d07[30]][_0x1d07[29]](_0xffa0x9,_0xffa0xa)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[38]]= function(_0xffa0x8,_0xffa0x9,_0xffa0xf){return MailQueue[_0x1d07[18]](_0xffa0x8[_0x1d07[27]][_0x1d07[16]])[_0x1d07[13]](function(_0xffa0xc){if(!_0xffa0xc){return _0xffa0x9[_0x1d07[26]](404)};var _0xffa0x10=_[_0x1d07[39]](_0xffa0x8[_0x1d07[32]][_0x1d07[31]],function(_0xffa0x11){return {UserId:_0xffa0x11,penalty:_0xffa0x8[_0x1d07[32]][_0x1d07[33]],MailQueueId:_0xffa0xc[_0x1d07[16]],queue:_0xffa0xc[_0x1d07[34]]}});return UserHasMailQueue[_0x1d07[40]](_0xffa0x10,{individualHooks:true})})[_0x1d07[13]](function(){return _0xffa0x9[_0x1d07[26]](200)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[41]]= function(_0xffa0x8,_0xffa0x9){return MailQueue[_0x1d07[18]](_0xffa0x8[_0x1d07[27]][_0x1d07[16]])[_0x1d07[13]](function(_0xffa0x12){if(!_0xffa0x12){return _0xffa0x9[_0x1d07[26]](404)};return _0xffa0x12[_0x1d07[42]](_0xffa0x8[_0x1d07[14]][_0x1d07[31]],{individualHooks:true})})[_0x1d07[13]](function(){return _0xffa0x9[_0x1d07[26]](200)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[43]]= function(_0xffa0x8,_0xffa0x9){var _0xffa0xd;return MailQueue[_0x1d07[18]](_0xffa0x8[_0x1d07[27]][_0x1d07[16]])[_0x1d07[13]](function(_0xffa0xc){_0xffa0xd= _0xffa0xc;if(!_0xffa0xc){return _0xffa0x9[_0x1d07[26]](404)};return _0xffa0xc[_0x1d07[43]]()})[_0x1d07[13]](function(){return _0xffa0x9[_0x1d07[26]](204)})[_0x1d07[10]](sequelize.ForeignKeyConstraintError,function(_0xffa0xa){return Util[_0x1d07[30]][_0x1d07[47]](_0xffa0x9,_0x1d07[46],_0xffa0xd[_0x1d07[34]],_0xffa0xa)})[_0x1d07[10]](function(_0xffa0xa){console[_0x1d07[45]](_0x1d07[44],_0xffa0xa);return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[48]]= function(_0xffa0x8,_0xffa0x9){return MailQueue[_0x1d07[43]]({where:{id:_0xffa0x8[_0x1d07[14]][_0x1d07[49]]},individualHooks:true})[_0x1d07[13]](function(){return _0xffa0x9[_0x1d07[26]](204)})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};exports[_0x1d07[50]]= function(_0xffa0x8,_0xffa0x9){return MailQueue[_0x1d07[18]](_0xffa0x8[_0x1d07[27]][_0x1d07[16]])[_0x1d07[13]](function(_0xffa0x12){if(!_0xffa0x12){return _0xffa0x9[_0x1d07[26]](404)};return _0xffa0x12[_0x1d07[55]]({where:{role:_0x1d07[52]},attributes:[_0x1d07[16],_0x1d07[34],_0x1d07[53],_0x1d07[54]]})})[_0x1d07[13]](function(_0xffa0x13){return _0xffa0x9[_0x1d07[12]](200)[_0x1d07[11]]({rows:_0xffa0x13,count:_0xffa0x13[_0x1d07[51]]})})[_0x1d07[10]](function(_0xffa0xa){return handleError(_0xffa0x9,_0xffa0xa)})};function handleError(_0xffa0x9,_0xffa0xa){return _0xffa0x9[_0x1d07[12]](500)[_0x1d07[11]](_0xffa0xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailQueue = require('../../models').MailQueue;
-
-var MailQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailQueueEvents.emit(event + ':' + doc._id, doc);
- MailQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailQueueEvents;
+var _0x7a9c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7a9c[0];const EventEmitter=require(_0x7a9c[1]);const MailQueue=require(_0x7a9c[3])[_0x7a9c[2]];var MailQueueEvents= new EventEmitter();MailQueueEvents[_0x7a9c[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7a9c[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7a9c[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7a9c[6]};for(var e in events){var event=events[e];MailQueue[_0x7a9c[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x6bf8x8,_0x6bf8x9,_0x6bf8xa){MailQueueEvents[_0x7a9c[10]](event+ _0x7a9c[8]+ _0x6bf8x8[_0x7a9c[9]],_0x6bf8x8);MailQueueEvents[_0x7a9c[10]](event,_0x6bf8x8);_0x6bf8xa(null)}}module[_0x7a9c[11]]= MailQueueEvents
\ No newline at end of file
-'use strict';
-
-const MailQueueEvents = require('./mail_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_queue:' + event, socket);
-
- MailQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailQueueEvents.removeListener(event, listener);
- };
-}
+var _0xca4d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xca4d[0];const MailQueueEvents=require(_0xca4d[1]);var events=[_0xca4d[2],_0xca4d[3]];exports[_0xca4d[4]]= function(_0xd7c3x3){for(var _0xd7c3x4=0,_0xd7c3x5=events[_0xca4d[5]];_0xd7c3x4< _0xd7c3x5;_0xd7c3x4++){var _0xd7c3x6=events[_0xd7c3x4];var _0xd7c3x7=createListener(_0xca4d[6]+ _0xd7c3x6,_0xd7c3x3);MailQueueEvents[_0xca4d[7]](_0xd7c3x6,_0xd7c3x7);_0xd7c3x3[_0xca4d[7]](_0xca4d[8],removeListener(_0xd7c3x6,_0xd7c3x7))}};function createListener(_0xd7c3x6,_0xd7c3x3){return function(_0xd7c3x9){_0xd7c3x3[_0xca4d[9]](_0xd7c3x6,_0xd7c3x9)}}function removeListener(_0xd7c3x6,_0xd7c3x7){return function(){MailQueueEvents[_0xca4d[10]](_0xd7c3x6,_0xd7c3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_room.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-// TODO endpoint to filter just NEW/OPEN
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.index);
-router.get('/inbox', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.inbox);
-router.get('/describe', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.describe);
-router.get('/pending', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9, 17], ['admin']), controller.pending);
-router.get('/new', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9, 17], ['admin']), controller.new);
-router.get('/open', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9, 17], ['admin']), controller.open);
-router.get('/closed', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9, 17], ['admin']), controller.closed);
-router.get('/agent/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.agentIndex);
-router.get('/messages/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.getRoomByMessage);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'user', 'agent']), controller.show);
-router.get('/:id/agents', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.showAgents);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.create);
-router.post('/:id/messages/send', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.sendMessage);
-// router.post('/:id/messages/receive', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.receiveMessage);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.update);
-router.patch('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.updatePatch);
-router.put('/:id/agents', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.updateAgents);
-router.delete('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.bulkDestroy);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x15ff=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x69\x6E\x62\x6F\x78","\x61\x67\x65\x6E\x74","\x69\x6E\x62\x6F\x78","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x70\x65\x6E\x64\x69\x6E\x67","\x70\x65\x6E\x64\x69\x6E\x67","\x2F\x6E\x65\x77","\x6E\x65\x77","\x2F\x6F\x70\x65\x6E","\x6F\x70\x65\x6E","\x2F\x63\x6C\x6F\x73\x65\x64","\x63\x6C\x6F\x73\x65\x64","\x2F\x61\x67\x65\x6E\x74\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64","\x75\x73\x65\x72","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x70\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x15ff[0];var express=require(_0x15ff[1]);var controller=require(_0x15ff[2]);var auth=require(_0x15ff[3]);var license=require(_0x15ff[4]);var router=express.Router();router[_0x15ff[12]](_0x15ff[5],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9]]),controller[_0x15ff[11]]);router[_0x15ff[12]](_0x15ff[13],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[15]]);router[_0x15ff[12]](_0x15ff[16],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9]]),controller[_0x15ff[17]]);router[_0x15ff[12]](_0x15ff[18],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9,17],[_0x15ff[9]]),controller[_0x15ff[19]]);router[_0x15ff[12]](_0x15ff[20],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9,17],[_0x15ff[9]]),controller[_0x15ff[21]]);router[_0x15ff[12]](_0x15ff[22],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9,17],[_0x15ff[9]]),controller[_0x15ff[23]]);router[_0x15ff[12]](_0x15ff[24],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9,17],[_0x15ff[9]]),controller[_0x15ff[25]]);router[_0x15ff[12]](_0x15ff[26],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9]]),controller[_0x15ff[27]]);router[_0x15ff[12]](_0x15ff[28],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[29]]);router[_0x15ff[12]](_0x15ff[30],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[31],_0x15ff[14]]),controller[_0x15ff[32]]);router[_0x15ff[12]](_0x15ff[33],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[34]]);router[_0x15ff[36]](_0x15ff[5],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9]]),controller[_0x15ff[35]]);router[_0x15ff[36]](_0x15ff[37],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[38]]);router[_0x15ff[40]](_0x15ff[30],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[39]]);router[_0x15ff[42]](_0x15ff[30],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[41]]);router[_0x15ff[40]](_0x15ff[33],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9],_0x15ff[14]]),controller[_0x15ff[43]]);router[_0x15ff[45]](_0x15ff[5],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9]]),controller[_0x15ff[44]]);router[_0x15ff[45]](_0x15ff[30],license[_0x15ff[6]](),license[_0x15ff[7]](),auth[_0x15ff[8]](),auth[_0x15ff[10]]([9],[_0x15ff[9]]),controller[_0x15ff[46]]);module[_0x15ff[47]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var htmlToText = require('html-to-text');
-
-var Util = require('../../config/util');
-var moment = require('moment');
-
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var Agent = require('../../models').User;
-var Contact = require('../../models').Contact;
-var Status = require('../../models').MailRoomStatus;
-var MailRoom = require('../../models').MailRoom;
-var MailMessage = require('../../models').MailMessage;
-var MailAccount = require('../../models').MailAccount;
-var MailApplication = require('../../models').MailApplication;
-var MailQueue = require('../../models').MailQueue;
-var MailAttachment = require('../../models').MailAttachment;
-
-// Get list of mailRooms
-exports.index = function(req, res, next) {
- return MailRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return MailRoom
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getMailQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser({}, {
- attributes: ['id']
- }))
- .then(function(userQueues) {
- return {
- include: {
- model: MailAccount,
- include: {
- model: MailApplication,
- include: {
- model: MailQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-exports.pending = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return MailRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.new = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return MailRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.open = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return MailRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.closed = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return MailRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.inbox = function(req, res, next) {
- switch (req.user.role) {
- case 'agent':
-
- return sequelize.query(
- 'SELECT `MailRoom`.`id`, `MailRoom`.`subject`, `MailRoom`.`from`, `MailRoom`.`account`, `MailRoom`.`status`, `MailRoom`.`lastEvent`, `MailRoom`.`updatedAt` FROM `mail_rooms` AS `MailRoom` LEFT OUTER JOIN (`user_has_mail_rooms` AS `Users.user_has_mail_rooms` INNER JOIN `users` AS `Users` ON `Users`.`id` = `Users.user_has_mail_rooms`.`UserId`) ON `MailRoom`.`id` = `Users.user_has_mail_rooms`.`MailRoomId` WHERE (`MailRoom`.`deletedAt` IS NULL AND (`MailRoom`.`status` = :status OR `Users`.`id` = :id))', {
- replacements: {
- status: 'UNMANAGED',
- id: req.user.id
- },
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-
- default:
-
- return sequelize.query(
- 'SELECT `id`, `subject`, `from`, `account`, `status`, `lastEvent` ,`updatedAt` FROM `mail_rooms` WHERE `mail_rooms`.`deletedAt` IS NULL', {
- replacements: {
- status: 'UNMANAGED',
- id: req.user.id
- },
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get list of agent mailRooms
-exports.agentIndex = function(req, res, next) {
- return MailRoom
- .findAll({
- where: {
- UserId: req.params.id
- },
- include: [{
- all: true
- }]
- })
- .then(function(mailRooms) {
- return res.status(200).send(mailRooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of agent mailRooms
-exports.updateRoomStatus = function(req, res, next) {
- var _mailRoom;
- var _promises = [];
-
- console.log(req.body);
- console.log(req.params);
-
- return MailRoom
- .update(req.body, {
- where: {
- id: req.params.id.split(',')
- },
- individualHooks: true
- })
- .then(function() {
- return Status
- .bulkCreate(_.map(req.params.id.split(','), function(id) {
- return {
- status: req.body.status,
- data1: req.user.name,
- data2: req.user.fullname,
- MailRoomId: id,
- UserId: req.user.id
- }
- }));
- })
- .then(function(mailRooms) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getRoomByMessage = function(req, res, next) {
- return MailMessage
- .findById(req.params.id)
- .then(function(mailMessage) {
- return mailMessage
- .getMailRoom({
- include: [{
- model: MailAccount
- }, {
- model: MailMessage,
- include: [{
- model: MailAttachment
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- });
- })
- .then(function(mailRoom) {
- return res.send(mailRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailRoom
-exports.show = function(req, res, next) {
- return MailRoom
- .scope('default')
- .findById(req.params.id)
- .then(function(mailRoom) {
- if (!mailRoom) {
- return res.sendStatus(404);
- }
- return res.send(mailRoom);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-// Get a single mailRoom
-exports.showAgents = function(req, res, next) {
- return MailRoom
- .findById(req.params.id)
- .then(function(mailRoom) {
- if (!mailRoom) {
- return res.sendStatus(404);
- }
-
- return mailRoom
- .getUsers({
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- });
- })
- .then(function(users) {
- return res.send(users);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailRoom in the DB.
-exports.create = function(req, res, next) {
- return MailRoom
- .create(req.body)
- .then(function(mailRoom) {
- return res.status(201).send(mailRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailMessage in the DB.
-exports.sendMessage = function(req, res, next) {
- req.body.UserId = req.user.id;
- req.body.MailRoomId = req.params.id;
- req.body.attachment = (req.body.MailAttachments && req.body.MailAttachments.length) ? true : false;
- req.body.text = req.body.text || htmlToText.fromString(req.body.html, {
- wordwrap: false
- });
- return MailMessage
- .create(req.body, {
- include: [{
- model: MailAttachment
- }],
- user: req.user
- })
- .then(function(mailMessage) {
- return res.status(201).send(mailMessage);
-
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailRoom in the DB.
-exports.update = function(req, res, next) {
- return MailRoom
- .findById(req.params.id)
- .then(function(mailRoom) {
- if (!mailRoom) {
- return res.sendStatus(404);
- }
-
- return mailRoom
- .update(req.body);
- })
- .then(function(mailRoom) {
- return res.status(200).send(mailRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailRoom in the DB.
-exports.updatePatch = function(req, res, next) {
- var _options = {
- where: {
- id: req.params.id.split(',')
- },
- user: req.user,
- individualHooks: true
- };
-
- return MailRoom
- .update(req.body, _options)
- .then(function(mailRooms) {
- if (!mailRooms) {
- return res.sendStatus(404);
- }
- return mailRooms
- })
- .then(function(mailRooms) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailRoom
-exports.updateAgents = function(req, res, next) {
- return MailRoom
- .findById(req.params.id)
- .then(function(mailRoom) {
- if (!mailRoom) {
- return res.sendStatus(404);
- }
-
- return mailRoom
- .setUsers(req.body.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailRoom from the DB.
-exports.destroy = function(req, res, next) {
- return MailRoom
- .findById(req.params.id)
- .then(function(mailRoom) {
- if (!mailRoom) {
- return res.sendStatus(404);
- }
- return mailRoom.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return MailRoom
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xd8a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x43\x6F\x6E\x74\x61\x63\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x72\x6F\x6C\x65","\x70\x65\x6E\x64\x69\x6E\x67","\x6C\x6F\x67","\x50\x45\x4E\x44\x49\x4E\x47","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x6E\x65\x77","\x4E\x45\x57","\x6F\x70\x65\x6E","\x4F\x50\x45\x4E","\x63\x6C\x6F\x73\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x69\x6E\x62\x6F\x78","\x65\x72\x72\x6F\x72","\x53\x45\x4C\x45\x43\x54\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x75\x62\x6A\x65\x63\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x2C\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x20\x4C\x45\x46\x54\x20\x4F\x55\x54\x45\x52\x20\x4A\x4F\x49\x4E\x20\x28\x60\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x49\x4E\x4E\x45\x52\x20\x4A\x4F\x49\x4E\x20\x60\x75\x73\x65\x72\x73\x60\x20\x41\x53\x20\x60\x55\x73\x65\x72\x73\x60\x20\x4F\x4E\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x55\x73\x65\x72\x49\x64\x60\x29\x20\x4F\x4E\x20\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x60\x55\x73\x65\x72\x73\x2E\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64\x60\x20\x57\x48\x45\x52\x45\x20\x28\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C\x20\x41\x4E\x44\x20\x28\x60\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x60\x2E\x60\x73\x74\x61\x74\x75\x73\x60\x20\x3D\x20\x3A\x73\x74\x61\x74\x75\x73\x20\x4F\x52\x20\x60\x55\x73\x65\x72\x73\x60\x2E\x60\x69\x64\x60\x20\x3D\x20\x3A\x69\x64\x29\x29","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x61\x67\x65\x6E\x74","\x53\x45\x4C\x45\x43\x54\x20\x60\x69\x64\x60\x2C\x20\x60\x73\x75\x62\x6A\x65\x63\x74\x60\x2C\x20\x60\x66\x72\x6F\x6D\x60\x2C\x20\x60\x61\x63\x63\x6F\x75\x6E\x74\x60\x2C\x20\x60\x73\x74\x61\x74\x75\x73\x60\x2C\x20\x60\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x60\x20\x2C\x60\x75\x70\x64\x61\x74\x65\x64\x41\x74\x60\x20\x46\x52\x4F\x4D\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x20\x57\x48\x45\x52\x45\x20\x60\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73\x60\x2E\x60\x64\x65\x6C\x65\x74\x65\x64\x41\x74\x60\x20\x49\x53\x20\x4E\x55\x4C\x4C","\x61\x67\x65\x6E\x74\x49\x6E\x64\x65\x78","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x2C","\x73\x70\x6C\x69\x74","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x73\x68\x6F\x77","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x74\x65\x78\x74","\x68\x74\x6D\x6C","\x66\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0xd8a7[0];var _=require(_0xd8a7[1]);var util=require(_0xd8a7[2]);var htmlToText=require(_0xd8a7[3]);var Util=require(_0xd8a7[4]);var moment=require(_0xd8a7[5]);var sequelize=require(_0xd8a7[7])[_0xd8a7[6]];var User=require(_0xd8a7[7])[_0xd8a7[8]];var Agent=require(_0xd8a7[7])[_0xd8a7[8]];var Contact=require(_0xd8a7[7])[_0xd8a7[9]];var Status=require(_0xd8a7[7])[_0xd8a7[10]];var MailRoom=require(_0xd8a7[7])[_0xd8a7[11]];var MailMessage=require(_0xd8a7[7])[_0xd8a7[12]];var MailAccount=require(_0xd8a7[7])[_0xd8a7[13]];var MailApplication=require(_0xd8a7[7])[_0xd8a7[14]];var MailQueue=require(_0xd8a7[7])[_0xd8a7[15]];var MailAttachment=require(_0xd8a7[7])[_0xd8a7[16]];exports[_0xd8a7[17]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[26]](_0xd8a7[25])[_0xd8a7[24]](Util[_0xd8a7[23]](_0x9da1x11[_0xd8a7[22]]))[_0xd8a7[21]](function(_0x9da1x15){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]](_0x9da1x15)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[27]]= function(_0x9da1x11,_0x9da1x12){return MailRoom[_0xd8a7[27]]()[_0xd8a7[21]](function(_0x9da1x16){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]](_0x9da1x16)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};function getMailQueues(_0x9da1x18){return function(){switch(_0x9da1x18[_0xd8a7[33]]){case _0xd8a7[32]:return User[_0xd8a7[31]](_0x9da1x18[_0xd8a7[28]],{attributes:[_0xd8a7[28]]})[_0xd8a7[21]](Util[_0xd8a7[30]]({},{attributes:[_0xd8a7[28]]}))[_0xd8a7[21]](function(_0x9da1x19){return {include:{model:MailAccount,include:{model:MailApplication,include:{model:MailQueue,where:{id:_[_0xd8a7[29]](_0x9da1x19,_0xd8a7[28])}}}}}});default:return {}}}}exports[_0xd8a7[34]]= function(_0x9da1x11,_0x9da1x12){return Promise[_0xd8a7[41]]([])[_0xd8a7[21]](getMailQueues(_0x9da1x11[_0xd8a7[32]]))[_0xd8a7[21]](function(_0x9da1x1b){return MailRoom[_0xd8a7[40]](_[_0xd8a7[39]](Util[_0xd8a7[23]](_0x9da1x11[_0xd8a7[22]],{status:_0xd8a7[36],updatedAt:{$gte:moment()[_0xd8a7[38]](_0xd8a7[37])}}),_0x9da1x1b))})[_0xd8a7[21]](function(_0x9da1x1a){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]]({value:_0x9da1x1a})})[_0xd8a7[18]](function(_0x9da1x14){console[_0xd8a7[35]](_0x9da1x14);return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[42]]= function(_0x9da1x11,_0x9da1x12){return Promise[_0xd8a7[41]]([])[_0xd8a7[21]](getMailQueues(_0x9da1x11[_0xd8a7[32]]))[_0xd8a7[21]](function(_0x9da1x1b){return MailRoom[_0xd8a7[40]](_[_0xd8a7[39]](Util[_0xd8a7[23]](_0x9da1x11[_0xd8a7[22]],{status:_0xd8a7[43],updatedAt:{$gte:moment()[_0xd8a7[38]](_0xd8a7[37])}}),_0x9da1x1b))})[_0xd8a7[21]](function(_0x9da1x1a){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]]({value:_0x9da1x1a})})[_0xd8a7[18]](function(_0x9da1x14){console[_0xd8a7[35]](_0x9da1x14);return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[44]]= function(_0x9da1x11,_0x9da1x12){return Promise[_0xd8a7[41]]([])[_0xd8a7[21]](getMailQueues(_0x9da1x11[_0xd8a7[32]]))[_0xd8a7[21]](function(_0x9da1x1b){return MailRoom[_0xd8a7[40]](_[_0xd8a7[39]](Util[_0xd8a7[23]](_0x9da1x11[_0xd8a7[22]],{status:_0xd8a7[45],updatedAt:{$gte:moment()[_0xd8a7[38]](_0xd8a7[37])}}),_0x9da1x1b))})[_0xd8a7[21]](function(_0x9da1x1a){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]]({value:_0x9da1x1a})})[_0xd8a7[18]](function(_0x9da1x14){console[_0xd8a7[35]](_0x9da1x14);return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[46]]= function(_0x9da1x11,_0x9da1x12){return Promise[_0xd8a7[41]]([])[_0xd8a7[21]](getMailQueues(_0x9da1x11[_0xd8a7[32]]))[_0xd8a7[21]](function(_0x9da1x1b){return MailRoom[_0xd8a7[40]](_[_0xd8a7[39]](Util[_0xd8a7[23]](_0x9da1x11[_0xd8a7[22]],{status:_0xd8a7[47],updatedAt:{$gte:moment()[_0xd8a7[38]](_0xd8a7[37])}}),_0x9da1x1b))})[_0xd8a7[21]](function(_0x9da1x1a){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]]({value:_0x9da1x1a})})[_0xd8a7[18]](function(_0x9da1x14){console[_0xd8a7[35]](_0x9da1x14);return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[48]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){switch(_0x9da1x11[_0xd8a7[32]][_0xd8a7[33]]){case _0xd8a7[54]:return sequelize[_0xd8a7[22]](_0xd8a7[50],{replacements:{status:_0xd8a7[51],id:_0x9da1x11[_0xd8a7[32]][_0xd8a7[28]]},type:sequelize[_0xd8a7[53]][_0xd8a7[52]]})[_0xd8a7[21]](function(_0x9da1x15){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]](_0x9da1x15)})[_0xd8a7[18]](function(_0x9da1x14){console[_0xd8a7[49]](_0x9da1x14);return handleError(_0x9da1x12,_0x9da1x14)});default:return sequelize[_0xd8a7[22]](_0xd8a7[55],{replacements:{status:_0xd8a7[51],id:_0x9da1x11[_0xd8a7[32]][_0xd8a7[28]]},type:sequelize[_0xd8a7[53]][_0xd8a7[52]]})[_0xd8a7[21]](function(_0x9da1x15){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]](_0x9da1x15)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})}};exports[_0xd8a7[56]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[58]]({where:{UserId:_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]]},include:[{all:true}]})[_0xd8a7[21]](function(_0x9da1x1c){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]](_0x9da1x1c)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[59]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){var _0x9da1x1d;var _0x9da1x1e=[];console[_0xd8a7[35]](_0x9da1x11[_0xd8a7[60]]);console[_0xd8a7[35]](_0x9da1x11[_0xd8a7[57]]);return MailRoom[_0xd8a7[67]](_0x9da1x11[_0xd8a7[60]],{where:{id:_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]][_0xd8a7[63]](_0xd8a7[62])},individualHooks:true})[_0xd8a7[21]](function(){return Status[_0xd8a7[66]](_[_0xd8a7[29]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]][_0xd8a7[63]](_0xd8a7[62]),function(_0x9da1x1f){return {status:_0x9da1x11[_0xd8a7[60]][_0xd8a7[20]],data1:_0x9da1x11[_0xd8a7[32]][_0xd8a7[64]],data2:_0x9da1x11[_0xd8a7[32]][_0xd8a7[65]],MailRoomId:_0x9da1x1f,UserId:_0x9da1x11[_0xd8a7[32]][_0xd8a7[28]]}}))})[_0xd8a7[21]](function(_0x9da1x1c){return _0x9da1x12[_0xd8a7[61]](200)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[68]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailMessage[_0xd8a7[31]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]])[_0xd8a7[21]](function(_0x9da1x21){return _0x9da1x21[_0xd8a7[70]]({include:[{model:MailAccount},{model:MailMessage,include:[{model:MailAttachment},{model:User,attributes:[_0xd8a7[28],_0xd8a7[64],_0xd8a7[65],_0xd8a7[69]]}]},{model:User,attributes:[_0xd8a7[28],_0xd8a7[64],_0xd8a7[65],_0xd8a7[69]]}]})})[_0xd8a7[21]](function(_0x9da1x20){return _0x9da1x12[_0xd8a7[19]](_0x9da1x20)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[71]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[26]](_0xd8a7[25])[_0xd8a7[31]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]])[_0xd8a7[21]](function(_0x9da1x20){if(!_0x9da1x20){return _0x9da1x12[_0xd8a7[61]](404)};return _0x9da1x12[_0xd8a7[19]](_0x9da1x20)})[_0xd8a7[18]](function(_0x9da1x14){console[_0xd8a7[49]](_0x9da1x14);return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[72]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[31]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]])[_0xd8a7[21]](function(_0x9da1x20){if(!_0x9da1x20){return _0x9da1x12[_0xd8a7[61]](404)};return _0x9da1x20[_0xd8a7[74]]({attributes:[_0xd8a7[28],_0xd8a7[64],_0xd8a7[65],_0xd8a7[69],_0xd8a7[33],_0xd8a7[73]]})})[_0xd8a7[21]](function(_0x9da1x22){return _0x9da1x12[_0xd8a7[19]](_0x9da1x22)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[75]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[75]](_0x9da1x11[_0xd8a7[60]])[_0xd8a7[21]](function(_0x9da1x20){return _0x9da1x12[_0xd8a7[20]](201)[_0xd8a7[19]](_0x9da1x20)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[76]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){_0x9da1x11[_0xd8a7[60]][_0xd8a7[77]]= _0x9da1x11[_0xd8a7[32]][_0xd8a7[28]];_0x9da1x11[_0xd8a7[60]][_0xd8a7[78]]= _0x9da1x11[_0xd8a7[57]][_0xd8a7[28]];_0x9da1x11[_0xd8a7[60]][_0xd8a7[79]]= (_0x9da1x11[_0xd8a7[60]][_0xd8a7[80]]&& _0x9da1x11[_0xd8a7[60]][_0xd8a7[80]][_0xd8a7[81]])?true:false;_0x9da1x11[_0xd8a7[60]][_0xd8a7[82]]= _0x9da1x11[_0xd8a7[60]][_0xd8a7[82]]|| htmlToText[_0xd8a7[84]](_0x9da1x11[_0xd8a7[60]][_0xd8a7[83]],{wordwrap:false});return MailMessage[_0xd8a7[75]](_0x9da1x11[_0xd8a7[60]],{include:[{model:MailAttachment}],user:_0x9da1x11[_0xd8a7[32]]})[_0xd8a7[21]](function(_0x9da1x21){return _0x9da1x12[_0xd8a7[20]](201)[_0xd8a7[19]](_0x9da1x21)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[67]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[31]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]])[_0xd8a7[21]](function(_0x9da1x20){if(!_0x9da1x20){return _0x9da1x12[_0xd8a7[61]](404)};return _0x9da1x20[_0xd8a7[67]](_0x9da1x11[_0xd8a7[60]])})[_0xd8a7[21]](function(_0x9da1x20){return _0x9da1x12[_0xd8a7[20]](200)[_0xd8a7[19]](_0x9da1x20)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[85]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){var _0x9da1x23={where:{id:_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]][_0xd8a7[63]](_0xd8a7[62])},user:_0x9da1x11[_0xd8a7[32]],individualHooks:true};return MailRoom[_0xd8a7[67]](_0x9da1x11[_0xd8a7[60]],_0x9da1x23)[_0xd8a7[21]](function(_0x9da1x1c){if(!_0x9da1x1c){return _0x9da1x12[_0xd8a7[61]](404)};return _0x9da1x1c})[_0xd8a7[21]](function(_0x9da1x1c){return _0x9da1x12[_0xd8a7[61]](200)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[86]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[31]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]])[_0xd8a7[21]](function(_0x9da1x20){if(!_0x9da1x20){return _0x9da1x12[_0xd8a7[61]](404)};return _0x9da1x20[_0xd8a7[88]](_0x9da1x11[_0xd8a7[60]][_0xd8a7[87]],{individualHooks:true})})[_0xd8a7[21]](function(){return _0x9da1x12[_0xd8a7[61]](200)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[89]]= function(_0x9da1x11,_0x9da1x12,_0x9da1x13){return MailRoom[_0xd8a7[31]](_0x9da1x11[_0xd8a7[57]][_0xd8a7[28]])[_0xd8a7[21]](function(_0x9da1x20){if(!_0x9da1x20){return _0x9da1x12[_0xd8a7[61]](404)};return _0x9da1x20[_0xd8a7[89]]()})[_0xd8a7[21]](function(){return _0x9da1x12[_0xd8a7[61]](204)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};exports[_0xd8a7[90]]= function(_0x9da1x11,_0x9da1x12){return MailRoom[_0xd8a7[89]]({where:{id:_0x9da1x11[_0xd8a7[22]][_0xd8a7[91]]},individualHooks:true})[_0xd8a7[21]](function(){return _0x9da1x12[_0xd8a7[61]](200)})[_0xd8a7[18]](function(_0x9da1x14){return handleError(_0x9da1x12,_0x9da1x14)})};function handleError(_0x9da1x12,_0x9da1x14){return _0x9da1x12[_0xd8a7[20]](500)[_0xd8a7[19]](_0x9da1x14)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailRoom = require('../../models').MailRoom;
-
-var MailRoomEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailRoomEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailRoom.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailRoomEvents.emit(event + ':' + doc._id, doc);
- MailRoomEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailRoomEvents;
+var _0x7676=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7676[0];const EventEmitter=require(_0x7676[1]);const MailRoom=require(_0x7676[3])[_0x7676[2]];var MailRoomEvents= new EventEmitter();MailRoomEvents[_0x7676[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7676[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7676[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7676[6]};for(var e in events){var event=events[e];MailRoom[_0x7676[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x89fax8,_0x89fax9,_0x89faxa){MailRoomEvents[_0x7676[10]](event+ _0x7676[8]+ _0x89fax8[_0x7676[9]],_0x89fax8);MailRoomEvents[_0x7676[10]](event,_0x89fax8);_0x89faxa(null)}}module[_0x7676[11]]= MailRoomEvents
\ No newline at end of file
-'use strict';
-
-const MailRoomEvents = require('./mail_room.events');
-
-// Model events to emit
-var events = ['save', 'save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_room:' + event, socket);
-
- MailRoomEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailRoomEvents.removeListener(event, listener);
- };
-}
+var _0x7be0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7be0[0];const MailRoomEvents=require(_0x7be0[1]);var events=[_0x7be0[2],_0x7be0[2],_0x7be0[3]];exports[_0x7be0[4]]= function(_0xd4dcx3){for(var _0xd4dcx4=0,_0xd4dcx5=events[_0x7be0[5]];_0xd4dcx4< _0xd4dcx5;_0xd4dcx4++){var _0xd4dcx6=events[_0xd4dcx4];var _0xd4dcx7=createListener(_0x7be0[6]+ _0xd4dcx6,_0xd4dcx3);MailRoomEvents[_0x7be0[7]](_0xd4dcx6,_0xd4dcx7);_0xd4dcx3[_0x7be0[7]](_0x7be0[8],removeListener(_0xd4dcx6,_0xd4dcx7))}};function createListener(_0xd4dcx6,_0xd4dcx3){return function(_0xd4dcx9){_0xd4dcx3[_0x7be0[9]](_0xd4dcx6,_0xd4dcx9)}}function removeListener(_0xd4dcx6,_0xd4dcx7){return function(){MailRoomEvents[_0x7be0[10]](_0xd4dcx6,_0xd4dcx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_server_in.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.show);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x9522=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9522[0];var express=require(_0x9522[1]);var controller=require(_0x9522[2]);var auth=require(_0x9522[3]);var license=require(_0x9522[4]);var router=express.Router();router[_0x9522[12]](_0x9522[5],license[_0x9522[6]](),license[_0x9522[7]](),auth[_0x9522[8]](),auth[_0x9522[10]]([9],[_0x9522[9]]),controller[_0x9522[11]]);router[_0x9522[12]](_0x9522[13],license[_0x9522[6]](),license[_0x9522[7]](),auth[_0x9522[8]](),auth[_0x9522[10]]([9],[_0x9522[9]]),controller[_0x9522[14]]);router[_0x9522[16]](_0x9522[5],license[_0x9522[6]](),license[_0x9522[7]](),auth[_0x9522[8]](),auth[_0x9522[10]]([9],[_0x9522[9]]),controller[_0x9522[15]]);router[_0x9522[18]](_0x9522[13],license[_0x9522[6]](),license[_0x9522[7]](),auth[_0x9522[8]](),auth[_0x9522[10]]([9],[_0x9522[9]]),controller[_0x9522[17]]);router[_0x9522[20]](_0x9522[13],license[_0x9522[6]](),license[_0x9522[7]](),auth[_0x9522[8]](),auth[_0x9522[10]]([9],[_0x9522[9]]),controller[_0x9522[19]]);module[_0x9522[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-var MailServerIn = require('../../models').MailServerIn;
-
-// Get list of mail_server_ins
-exports.index = function(req, res) {
- return MailServerIn
- .findAll()
- .then(function(mail_server_ins) {
- return res.status(200).send(mail_server_ins);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailServerIn
-exports.show = function(req, res) {
- return MailServerIn
- .findById(req.params.id)
- .then(function(mailServerIn) {
- if (!mailServerIn) {
- return res.sendStatus(404);
- }
- return res.send(mailServerIn);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailServerIn in the DB.
-exports.create = function(req, res) {
- return MailServerIn
- .create(req.body)
- .then(function(mailServerIn) {
- return res.status(201).send(mailServerIn);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailServerIn in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return MailServerIn
- .findById(req.params.id)
- .then(function(mailServerIn) {
- if (!mailServerIn) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailServerIn, req.body);
- return updated
- .save();
- })
- .then(function(mailServerIn) {
- return res.status(200).send(mailServerIn);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailServerIn from the DB.
-exports.destroy = function(req, res) {
- return MailServerIn
- .findById(req.params.id)
- .then(function(mailServerIn) {
- if (!mailServerIn) {
- return res.sendStatus(404);
- }
- return mailServerIn
- .destroy();
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x41d7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x41d7[0];var _=require(_0x41d7[1]);var Util=require(_0x41d7[2]);var sequelize=require(_0x41d7[4])[_0x41d7[3]];var MailServerIn=require(_0x41d7[4])[_0x41d7[5]];exports[_0x41d7[6]]= function(_0xe50ax5,_0xe50ax6){return MailServerIn[_0x41d7[11]]()[_0x41d7[10]](function(_0xe50ax8){return _0xe50ax6[_0x41d7[9]](200)[_0x41d7[8]](_0xe50ax8)})[_0x41d7[7]](function(_0xe50ax7){return handleError(_0xe50ax6,_0xe50ax7)})};exports[_0x41d7[12]]= function(_0xe50ax5,_0xe50ax6){return MailServerIn[_0x41d7[16]](_0xe50ax5[_0x41d7[15]][_0x41d7[14]])[_0x41d7[10]](function(_0xe50ax9){if(!_0xe50ax9){return _0xe50ax6[_0x41d7[13]](404)};return _0xe50ax6[_0x41d7[8]](_0xe50ax9)})[_0x41d7[7]](function(_0xe50ax7){return handleError(_0xe50ax6,_0xe50ax7)})};exports[_0x41d7[17]]= function(_0xe50ax5,_0xe50ax6){return MailServerIn[_0x41d7[17]](_0xe50ax5[_0x41d7[20]])[_0x41d7[10]](function(_0xe50ax9){return _0xe50ax6[_0x41d7[9]](201)[_0x41d7[8]](_0xe50ax9)})[_0x41d7[7]](sequelize.UniqueConstraintError,function(_0xe50ax7){return Util[_0x41d7[19]][_0x41d7[18]](_0xe50ax6,_0xe50ax7)})[_0x41d7[7]](function(_0xe50ax7){return handleError(_0xe50ax6,_0xe50ax7)})};exports[_0x41d7[21]]= function(_0xe50ax5,_0xe50ax6){if(_0xe50ax5[_0x41d7[20]][_0x41d7[14]]){delete _0xe50ax5[_0x41d7[20]][_0x41d7[14]]};return MailServerIn[_0x41d7[16]](_0xe50ax5[_0x41d7[15]][_0x41d7[14]])[_0x41d7[10]](function(_0xe50ax9){if(!_0xe50ax9){return _0xe50ax6[_0x41d7[13]](404)};var _0xe50axa=_[_0x41d7[22]](_0xe50ax9,_0xe50ax5[_0x41d7[20]]);return _0xe50axa[_0x41d7[23]]()})[_0x41d7[10]](function(_0xe50ax9){return _0xe50ax6[_0x41d7[9]](200)[_0x41d7[8]](_0xe50ax9)})[_0x41d7[7]](sequelize.UniqueConstraintError,function(_0xe50ax7){return Util[_0x41d7[19]][_0x41d7[18]](_0xe50ax6,_0xe50ax7)})[_0x41d7[7]](function(_0xe50ax7){return handleError(_0xe50ax6,_0xe50ax7)})};exports[_0x41d7[24]]= function(_0xe50ax5,_0xe50ax6){return MailServerIn[_0x41d7[16]](_0xe50ax5[_0x41d7[15]][_0x41d7[14]])[_0x41d7[10]](function(_0xe50ax9){if(!_0xe50ax9){return _0xe50ax6[_0x41d7[13]](404)};return _0xe50ax9[_0x41d7[24]]()})[_0x41d7[7]](function(_0xe50ax7){return handleError(_0xe50ax6,_0xe50ax7)})};function handleError(_0xe50ax6,_0xe50ax7){return _0xe50ax6[_0x41d7[9]](500)[_0x41d7[8]](_0xe50ax7)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailServerIn = require('../../models').MailServerIn;
-
-var MailServerInEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailServerInEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailServerIn.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailServerInEvents.emit(event + ':' + doc._id, doc);
- MailServerInEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailServerInEvents;
+var _0x384e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x384e[0];const EventEmitter=require(_0x384e[1]);const MailServerIn=require(_0x384e[3])[_0x384e[2]];var MailServerInEvents= new EventEmitter();MailServerInEvents[_0x384e[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x384e[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x384e[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x384e[6]};for(var e in events){var event=events[e];MailServerIn[_0x384e[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x79d8x8,_0x79d8x9,_0x79d8xa){MailServerInEvents[_0x384e[10]](event+ _0x384e[8]+ _0x79d8x8[_0x384e[9]],_0x79d8x8);MailServerInEvents[_0x384e[10]](event,_0x79d8x8);_0x79d8xa(null)}}module[_0x384e[11]]= MailServerInEvents
\ No newline at end of file
-'use strict';
-
-const MailServerInEvents = require('./mail_server_in.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_server_in:' + event, socket);
-
- MailServerInEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'mail_server_in:save':
- if (doc.changed('state')) {
- socket.emit('mail_server_in:state', doc);
- } else {
- socket.emit('mail_server_in:save', doc);
- }
- break;
-
- case 'mail_server_in:remove':
- socket.emit(event, doc);
- break;
-
- default:
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailServerInEvents.removeListener(event, listener);
- };
-}
+var _0xb4e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x73\x74\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x73\x74\x61\x74\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x73\x61\x76\x65","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xb4e0[0];const MailServerInEvents=require(_0xb4e0[1]);var events=[_0xb4e0[2],_0xb4e0[3]];exports[_0xb4e0[4]]= function(_0xb96ex3){for(var _0xb96ex4=0,_0xb96ex5=events[_0xb4e0[5]];_0xb96ex4< _0xb96ex5;_0xb96ex4++){var _0xb96ex6=events[_0xb96ex4];var _0xb96ex7=createListener(_0xb4e0[6]+ _0xb96ex6,_0xb96ex3);MailServerInEvents[_0xb4e0[7]](_0xb96ex6,_0xb96ex7);_0xb96ex3[_0xb4e0[7]](_0xb4e0[8],removeListener(_0xb96ex6,_0xb96ex7))}};function createListener(_0xb96ex6,_0xb96ex3){return function(_0xb96ex9){switch(_0xb96ex6){case _0xb4e0[13]:if(_0xb96ex9[_0xb4e0[10]](_0xb4e0[9])){_0xb96ex3[_0xb4e0[12]](_0xb4e0[11],_0xb96ex9)}else {_0xb96ex3[_0xb4e0[12]](_0xb4e0[13],_0xb96ex9)};break;case _0xb4e0[14]:_0xb96ex3[_0xb4e0[12]](_0xb96ex6,_0xb96ex9);break;default:}}}function removeListener(_0xb96ex6,_0xb96ex7){return function(){MailServerInEvents[_0xb4e0[15]](_0xb96ex6,_0xb96ex7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-
-var controller = require('./mail_server_out.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.index);
-router.get('/service', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.indexService);
-router.get('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.show);
-router.get('/:id/test', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.test);
-router.post('/', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.create);
-router.put('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.update);
-router.delete('/:id', license.isValidDate(), license.hasMail(), auth.isAuthenticated(), auth.hasModule([9], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xa0e2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4D\x61\x69\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x65\x72\x76\x69\x63\x65","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x74\x65\x73\x74","\x74\x65\x73\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xa0e2[0];var express=require(_0xa0e2[1]);var controller=require(_0xa0e2[2]);var auth=require(_0xa0e2[3]);var license=require(_0xa0e2[4]);var router=express.Router();router[_0xa0e2[12]](_0xa0e2[5],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[11]]);router[_0xa0e2[12]](_0xa0e2[13],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[14]]);router[_0xa0e2[12]](_0xa0e2[15],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[16]]);router[_0xa0e2[12]](_0xa0e2[17],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[18]]);router[_0xa0e2[20]](_0xa0e2[5],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[19]]);router[_0xa0e2[22]](_0xa0e2[15],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[21]]);router[_0xa0e2[24]](_0xa0e2[15],license[_0xa0e2[6]](),license[_0xa0e2[7]](),auth[_0xa0e2[8]](),auth[_0xa0e2[10]]([9],[_0xa0e2[9]]),controller[_0xa0e2[23]]);module[_0xa0e2[25]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var MailServerOut = require('../../models').MailServerOut;
-var MailMessage = require('../../models').MailMessage;
-var MailAccount = require('../../models').MailAccount;
-var sequelize = require('../../models').sequelize;
-var Util = require('../../config/util');
-
-// Get list of mailServerOuts
-exports.index = function(req, res, next) {
- return MailServerOut
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.indexService = function(req, res) {
- return MailServerOut
- .findOne({
- where: {
- service: true
- }
- })
- .then(function(mailServerOut) {
- if (!mailServerOut) {
- throw new Error("Mail service account not found.");
- }
-
- return res.status(200).send(mailServerOut);
- })
- .catch(function(err) {
- return handleError(res, {
- message: err.message
- });
- });
-};
-
-// Get a single mailServerOut
-exports.show = function(req, res) {
- return MailServerOut
- .findById(req.params.id)
- .then(function(mailServerOut) {
- if (!mailServerOut) {
- return res.sendStatus(404);
- }
- return res.send(mailServerOut);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailAccount
-exports.showCustom = function(req, res, next) {
- return MailAccount
- .findOne({
- where: {
- custom: true
- }
- })
- .then(function(mailAccount) {
- if (!mailAccount) {
- return res.sendStatus(404);
- }
- return res.send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailServerOut in the DB.
-exports.create = function(req, res) {
- return MailServerOut
- .create(req.body)
- .then(function(mailServerOut) {
- return res.status(201).send(mailServerOut);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing mailServerOut in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- req.body.state = 'CONNECTING';
-
- return MailServerOut
- .findById(req.params.id)
- .then(function(mailServerOut) {
- if (!mailServerOut) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailServerOut, req.body);
- return updated
- .save();
- })
- .then(function(mailServerOut) {
- return res.status(200).send(mailServerOut);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a mailServerOut from the DB.
-exports.destroy = function(req, res) {
- return MailServerOut
- .findById(req.params.id)
- .then(function(mailServerOut) {
- if (!mailServerOut) {
- return res.sendStatus(404);
- }
-
- return mailServerOut
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.test = function(req, res) {
- var _mailServerOut;
- var _mailMessage;
-
- return MailServerOut
- .findById(req.params.id)
- .then(function(mailServerOut) {
- if (!mailServerOut) {
- return res.sendStatus(404);
- }
- return mailServerOut
- .update({
- state: 'CONNECTING',
- });
- })
- .then(function() {
- return res.status(201).send(_mailMessage);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x5341=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x6D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x20\x73\x65\x72\x76\x69\x63\x65\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E","\x66\x69\x6E\x64\x4F\x6E\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x73\x68\x6F\x77\x43\x75\x73\x74\x6F\x6D","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x73\x74\x61\x74\x65","\x43\x4F\x4E\x4E\x45\x43\x54\x49\x4E\x47","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x65\x73\x74"];_0x5341[0];var _=require(_0x5341[1]);var MailServerOut=require(_0x5341[3])[_0x5341[2]];var MailMessage=require(_0x5341[3])[_0x5341[4]];var MailAccount=require(_0x5341[3])[_0x5341[5]];var sequelize=require(_0x5341[3])[_0x5341[6]];var Util=require(_0x5341[7]);exports[_0x5341[8]]= function(_0x2e50x7,_0x2e50x8,_0x2e50x9){return MailServerOut[_0x5341[15]](Util[_0x5341[14]](_0x2e50x7[_0x5341[13]]))[_0x5341[12]](function(_0x2e50xb){return _0x2e50x8[_0x5341[11]](200)[_0x5341[10]](_0x2e50xb)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,_0x2e50xa)})};exports[_0x5341[16]]= function(_0x2e50x7,_0x2e50x8){return MailServerOut[_0x5341[19]]({where:{service:true}})[_0x5341[12]](function(_0x2e50xc){if(!_0x2e50xc){throw new Error(_0x5341[18])};return _0x2e50x8[_0x5341[11]](200)[_0x5341[10]](_0x2e50xc)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,{message:_0x2e50xa[_0x5341[17]]})})};exports[_0x5341[20]]= function(_0x2e50x7,_0x2e50x8){return MailServerOut[_0x5341[24]](_0x2e50x7[_0x5341[23]][_0x5341[22]])[_0x5341[12]](function(_0x2e50xc){if(!_0x2e50xc){return _0x2e50x8[_0x5341[21]](404)};return _0x2e50x8[_0x5341[10]](_0x2e50xc)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,_0x2e50xa)})};exports[_0x5341[25]]= function(_0x2e50x7,_0x2e50x8,_0x2e50x9){return MailAccount[_0x5341[19]]({where:{custom:true}})[_0x5341[12]](function(_0x2e50xd){if(!_0x2e50xd){return _0x2e50x8[_0x5341[21]](404)};return _0x2e50x8[_0x5341[10]](_0x2e50xd)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,_0x2e50xa)})};exports[_0x5341[26]]= function(_0x2e50x7,_0x2e50x8){return MailServerOut[_0x5341[26]](_0x2e50x7[_0x5341[27]])[_0x5341[12]](function(_0x2e50xc){return _0x2e50x8[_0x5341[11]](201)[_0x5341[10]](_0x2e50xc)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,_0x2e50xa)})};exports[_0x5341[28]]= function(_0x2e50x7,_0x2e50x8){if(_0x2e50x7[_0x5341[27]][_0x5341[22]]){delete _0x2e50x7[_0x5341[27]][_0x5341[22]]};_0x2e50x7[_0x5341[27]][_0x5341[29]]= _0x5341[30];return MailServerOut[_0x5341[24]](_0x2e50x7[_0x5341[23]][_0x5341[22]])[_0x5341[12]](function(_0x2e50xc){if(!_0x2e50xc){return _0x2e50x8[_0x5341[21]](404)};var _0x2e50xe=_[_0x5341[31]](_0x2e50xc,_0x2e50x7[_0x5341[27]]);return _0x2e50xe[_0x5341[32]]()})[_0x5341[12]](function(_0x2e50xc){return _0x2e50x8[_0x5341[11]](200)[_0x5341[10]](_0x2e50xc)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,_0x2e50xa)})};exports[_0x5341[33]]= function(_0x2e50x7,_0x2e50x8){return MailServerOut[_0x5341[24]](_0x2e50x7[_0x5341[23]][_0x5341[22]])[_0x5341[12]](function(_0x2e50xc){if(!_0x2e50xc){return _0x2e50x8[_0x5341[21]](404)};return _0x2e50xc[_0x5341[33]]()})[_0x5341[12]](function(){return _0x2e50x8[_0x5341[21]](204)})[_0x5341[9]](function(_0x2e50xa){return handleError(_0x2e50x8,_0x2e50xa)})};exports[_0x5341[34]]= function(_0x2e50x7,_0x2e50x8){var _0x2e50xf;var _0x2e50x10;return MailServerOut[_0x5341[24]](_0x2e50x7[_0x5341[23]][_0x5341[22]])[_0x5341[12]](function(_0x2e50xc){if(!_0x2e50xc){return _0x2e50x8[_0x5341[21]](404)};return _0x2e50xc[_0x5341[28]]({state:_0x5341[30]})})[_0x5341[12]](function(){return _0x2e50x8[_0x5341[11]](201)[_0x5341[10]](_0x2e50x10)})};function handleError(_0x2e50x8,_0x2e50xa){return _0x2e50x8[_0x5341[11]](500)[_0x5341[10]](_0x2e50xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const MailServerOut = require('../../models').MailServerOut;
-
-var MailServerOutEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MailServerOutEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- MailServerOut.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MailServerOutEvents.emit(event + ':' + doc._id, doc);
- MailServerOutEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MailServerOutEvents;
+var _0xcf35=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xcf35[0];const EventEmitter=require(_0xcf35[1]);const MailServerOut=require(_0xcf35[3])[_0xcf35[2]];var MailServerOutEvents= new EventEmitter();MailServerOutEvents[_0xcf35[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xcf35[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xcf35[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xcf35[6]};for(var e in events){var event=events[e];MailServerOut[_0xcf35[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7182x8,_0x7182x9,_0x7182xa){MailServerOutEvents[_0xcf35[10]](event+ _0xcf35[8]+ _0x7182x8[_0xcf35[9]],_0x7182x8);MailServerOutEvents[_0xcf35[10]](event,_0x7182x8);_0x7182xa(null)}}module[_0xcf35[11]]= MailServerOutEvents
\ No newline at end of file
-'use strict';
-
-const MailServerOutEvents = require('./mail_server_out.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('mail_server_out:' + event, socket);
-
- MailServerOutEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'mail_server_out:save':
- if (doc.changed('state')) {
- socket.emit('mail_server_out:state', doc);
- } else {
- socket.emit('mail_server_out:save', doc);
- }
- break;
-
- case 'mail_server_out:remove':
- socket.emit(event, doc);
- break;
-
- default:
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MailServerOutEvents.removeListener(event, listener);
- };
-}
+var _0xfbf0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x73\x74\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x73\x74\x61\x74\x65","\x65\x6D\x69\x74","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x73\x61\x76\x65","\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xfbf0[0];const MailServerOutEvents=require(_0xfbf0[1]);var events=[_0xfbf0[2],_0xfbf0[3]];exports[_0xfbf0[4]]= function(_0xf418x3){for(var _0xf418x4=0,_0xf418x5=events[_0xfbf0[5]];_0xf418x4< _0xf418x5;_0xf418x4++){var _0xf418x6=events[_0xf418x4];var _0xf418x7=createListener(_0xfbf0[6]+ _0xf418x6,_0xf418x3);MailServerOutEvents[_0xfbf0[7]](_0xf418x6,_0xf418x7);_0xf418x3[_0xfbf0[7]](_0xfbf0[8],removeListener(_0xf418x6,_0xf418x7))}};function createListener(_0xf418x6,_0xf418x3){return function(_0xf418x9){switch(_0xf418x6){case _0xfbf0[13]:if(_0xf418x9[_0xfbf0[10]](_0xfbf0[9])){_0xf418x3[_0xfbf0[12]](_0xfbf0[11],_0xf418x9)}else {_0xf418x3[_0xfbf0[12]](_0xfbf0[13],_0xf418x9)};break;case _0xfbf0[14]:_0xf418x3[_0xfbf0[12]](_0xf418x6,_0xf418x9);break;default:}}}function removeListener(_0xf418x6,_0xf418x7){return function(){MailServerOutEvents[_0xfbf0[15]](_0xf418x6,_0xf418x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./metric.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/table', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.getMetricsByTable);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-router.patch('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xe8b6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x65\x74\x72\x69\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xe8b6[0];var express=require(_0xe8b6[1]);var controller=require(_0xe8b6[2]);var auth=require(_0xe8b6[3]);var router=express.Router();router[_0xe8b6[9]](_0xe8b6[4],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[8]]);router[_0xe8b6[9]](_0xe8b6[10],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[11]]);router[_0xe8b6[9]](_0xe8b6[12],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[13]]);router[_0xe8b6[15]](_0xe8b6[4],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[14]]);router[_0xe8b6[17]](_0xe8b6[12],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[16]]);router[_0xe8b6[18]](_0xe8b6[12],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[16]]);router[_0xe8b6[20]](_0xe8b6[4],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[19]]);router[_0xe8b6[20]](_0xe8b6[12],auth[_0xe8b6[5]](),auth[_0xe8b6[7]]([17],[_0xe8b6[6]]),controller[_0xe8b6[21]]);module[_0xe8b6[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Metric = require('../../models').Metric;
-var util = require('util');
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-
-// Get list of metrics
-exports.index = function(req, res, next) {
- return Metric
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getMetricsByTable = function(req, res) {
- return Metric
- .findAll({
- where: {
- table: req.query.table
- }
- })
- .then(function(metrics) {
- if (!metrics) {
- return res.sendStatus(404);
- }
- return res.status(200).send({
- count: metrics.length,
- rows: metrics
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single metric
-exports.show = function(req, res) {
- return Metric
- .findById(req.params.id)
- .then(function(metric) {
- if (!metric) {
- return res.sendStatus(404);
- }
- return res.send(metric);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new metric in the DB.
-exports.create = function(req, res) {
- return Metric
- .create(req.body)
- .then(function(metric) {
- return res.status(201).send(metric);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.translatedMessage = 'MESSAGE_EXIST_METRIC';
- err.message = 'A Metric with that name already exists';
- return res.status(500).send(err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing metric in the DB.
-exports.update = function(req, res) {
- return Metric
- .findById(req.params.id)
- .then(function(metric) {
- if (!metric) {
- return res.sendStatus(404);
- }
- var updated = _.merge(metric, req.body);
- return updated.save();
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.translatedMessage = 'MESSAGE_EXIST_METRIC';
- err.message = 'A Metric with that name already exists';
- return res.status(500).send(err);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Deletes a metric from the DB.
-exports.destroy = function(req, res) {
- return Metric
- .findById(req.params.id)
- .then(function(metric) {
- if (!metric) {
- return res.sendStatus(404);
- }
- return metric.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Metric
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x5f8b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x4D\x65\x74\x72\x69\x63\x73\x42\x79\x54\x61\x62\x6C\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6C\x65\x6E\x67\x74\x68","\x74\x61\x62\x6C\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x45\x54\x52\x49\x43","\x6D\x65\x73\x73\x61\x67\x65","\x41\x20\x4D\x65\x74\x72\x69\x63\x20\x77\x69\x74\x68\x20\x74\x68\x61\x74\x20\x6E\x61\x6D\x65\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74\x73","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x5f8b[0];var _=require(_0x5f8b[1]);var Metric=require(_0x5f8b[3])[_0x5f8b[2]];var util=require(_0x5f8b[4]);var Util=require(_0x5f8b[5]);var sequelize=require(_0x5f8b[3])[_0x5f8b[6]];exports[_0x5f8b[7]]= function(_0xfa20x6,_0xfa20x7,_0xfa20x8){return Metric[_0x5f8b[14]](Util[_0x5f8b[13]](_0xfa20x6[_0x5f8b[12]]))[_0x5f8b[11]](function(_0xfa20xa){return _0xfa20x7[_0x5f8b[10]](200)[_0x5f8b[9]](_0xfa20xa)})[_0x5f8b[8]](function(_0xfa20x9){return handleError(_0xfa20x7,_0xfa20x9)})};exports[_0x5f8b[15]]= function(_0xfa20x6,_0xfa20x7){return Metric[_0x5f8b[19]]({where:{table:_0xfa20x6[_0x5f8b[12]][_0x5f8b[18]]}})[_0x5f8b[11]](function(_0xfa20xb){if(!_0xfa20xb){return _0xfa20x7[_0x5f8b[16]](404)};return _0xfa20x7[_0x5f8b[10]](200)[_0x5f8b[9]]({count:_0xfa20xb[_0x5f8b[17]],rows:_0xfa20xb})})[_0x5f8b[8]](function(_0xfa20x9){return handleError(_0xfa20x7,_0xfa20x9)})};exports[_0x5f8b[20]]= function(_0xfa20x6,_0xfa20x7){return Metric[_0x5f8b[23]](_0xfa20x6[_0x5f8b[22]][_0x5f8b[21]])[_0x5f8b[11]](function(_0xfa20xc){if(!_0xfa20xc){return _0xfa20x7[_0x5f8b[16]](404)};return _0xfa20x7[_0x5f8b[9]](_0xfa20xc)})[_0x5f8b[8]](function(_0xfa20x9){return handleError(_0xfa20x7,_0xfa20x9)})};exports[_0x5f8b[24]]= function(_0xfa20x6,_0xfa20x7){return Metric[_0x5f8b[24]](_0xfa20x6[_0x5f8b[29]])[_0x5f8b[11]](function(_0xfa20xc){return _0xfa20x7[_0x5f8b[10]](201)[_0x5f8b[9]](_0xfa20xc)})[_0x5f8b[8]](sequelize.UniqueConstraintError,function(_0xfa20x9){_0xfa20x9[_0x5f8b[25]]= _0x5f8b[26];_0xfa20x9[_0x5f8b[27]]= _0x5f8b[28];return _0xfa20x7[_0x5f8b[10]](500)[_0x5f8b[9]](_0xfa20x9)})[_0x5f8b[8]](function(_0xfa20x9){return handleError(_0xfa20x7,_0xfa20x9)})};exports[_0x5f8b[30]]= function(_0xfa20x6,_0xfa20x7){return Metric[_0x5f8b[23]](_0xfa20x6[_0x5f8b[22]][_0x5f8b[21]])[_0x5f8b[11]](function(_0xfa20xc){if(!_0xfa20xc){return _0xfa20x7[_0x5f8b[16]](404)};var _0xfa20xd=_[_0x5f8b[32]](_0xfa20xc,_0xfa20x6[_0x5f8b[29]]);return _0xfa20xd[_0x5f8b[33]]()})[_0x5f8b[11]](function(){return _0xfa20x7[_0x5f8b[16]](200)})[_0x5f8b[8]](sequelize.UniqueConstraintError,function(_0xfa20x9){_0xfa20x9[_0x5f8b[25]]= _0x5f8b[26];_0xfa20x9[_0x5f8b[27]]= _0x5f8b[28];return _0xfa20x7[_0x5f8b[10]](500)[_0x5f8b[9]](_0xfa20x9)})[_0x5f8b[8]](function(_0xfa20x9){console[_0x5f8b[31]](_0xfa20x9);return handleError(_0xfa20x7,_0xfa20x9)})};exports[_0x5f8b[34]]= function(_0xfa20x6,_0xfa20x7){return Metric[_0x5f8b[23]](_0xfa20x6[_0x5f8b[22]][_0x5f8b[21]])[_0x5f8b[11]](function(_0xfa20xc){if(!_0xfa20xc){return _0xfa20x7[_0x5f8b[16]](404)};return _0xfa20xc[_0x5f8b[34]]()})[_0x5f8b[11]](function(){return _0xfa20x7[_0x5f8b[16]](204)})[_0x5f8b[8]](function(_0xfa20x9){return handleError(_0xfa20x7,_0xfa20x9)})};exports[_0x5f8b[35]]= function(_0xfa20x6,_0xfa20x7){return Metric[_0x5f8b[34]]({where:{id:_0xfa20x6[_0x5f8b[12]][_0x5f8b[36]]},individualHooks:true})[_0x5f8b[11]](function(){return _0xfa20x7[_0x5f8b[16]](204)})[_0x5f8b[8]](function(_0xfa20x9){return handleError(_0xfa20x7,_0xfa20x9)})};function handleError(_0xfa20x7,_0xfa20x9){return _0xfa20x7[_0x5f8b[10]](500)[_0x5f8b[9]](_0xfa20x9)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Metric = require('../../models').Metric;
-
-var MetricEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MetricEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Metric.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MetricEvents.emit(event + ':' + doc._id, doc);
- MetricEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MetricEvents;
+var _0xfc1b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x65\x74\x72\x69\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xfc1b[0];const EventEmitter=require(_0xfc1b[1]);const Metric=require(_0xfc1b[3])[_0xfc1b[2]];var MetricEvents= new EventEmitter();MetricEvents[_0xfc1b[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xfc1b[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xfc1b[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xfc1b[7]};for(var e in events){var event=events[e];Metric[_0xfc1b[8]](e,emitEvent(event))};function emitEvent(event){return function(_0x1a11x8,_0x1a11x9,_0x1a11xa){MetricEvents[_0xfc1b[11]](event+ _0xfc1b[9]+ _0x1a11x8[_0xfc1b[10]],_0x1a11x8);MetricEvents[_0xfc1b[11]](event,_0x1a11x8);_0x1a11xa(null)}}module[_0xfc1b[12]]= MetricEvents
\ No newline at end of file
-'use strict';
-
-const MetricEvents = require('./metric.events');
-const ReportField = require('../../models').ReportField;
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('metric:' + event, socket);
-
- MetricEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'metric:save':
- socket.emit(event, doc);
- break;
- case 'metric:update':
- updateFields(doc);
- break;
- case 'metric:remove':
- socket.emit(event, doc);
- break;
-
- default:
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MetricEvents.removeListener(event, listener);
- };
-}
-
-function updateFields(doc) {
- return ReportField.update({
- field: doc.metric
- }, {
- where: {
- MetricId: doc.id
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
+var _0x1409=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x65\x74\x72\x69\x63\x2E\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x65\x74\x72\x69\x63\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x6D\x65\x74\x72\x69\x63\x3A\x73\x61\x76\x65","\x6D\x65\x74\x72\x69\x63\x3A\x75\x70\x64\x61\x74\x65","\x6D\x65\x74\x72\x69\x63\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x6D\x65\x74\x72\x69\x63","\x69\x64","\x75\x70\x64\x61\x74\x65"];_0x1409[0];const MetricEvents=require(_0x1409[1]);const ReportField=require(_0x1409[3])[_0x1409[2]];var events=[_0x1409[4],_0x1409[5]];exports[_0x1409[6]]= function(_0xb2aex4){for(var _0xb2aex5=0,_0xb2aex6=events[_0x1409[7]];_0xb2aex5< _0xb2aex6;_0xb2aex5++){var _0xb2aex7=events[_0xb2aex5];var _0xb2aex8=createListener(_0x1409[8]+ _0xb2aex7,_0xb2aex4);MetricEvents[_0x1409[9]](_0xb2aex7,_0xb2aex8);_0xb2aex4[_0x1409[9]](_0x1409[10],removeListener(_0xb2aex7,_0xb2aex8))}};function createListener(_0xb2aex7,_0xb2aex4){return function(_0xb2aexa){switch(_0xb2aex7){case _0x1409[12]:_0xb2aex4[_0x1409[11]](_0xb2aex7,_0xb2aexa);break;case _0x1409[13]:updateFields(_0xb2aexa);break;case _0x1409[14]:_0xb2aex4[_0x1409[11]](_0xb2aex7,_0xb2aexa);break;default:}}}function removeListener(_0xb2aex7,_0xb2aex8){return function(){MetricEvents[_0x1409[15]](_0xb2aex7,_0xb2aex8)}}function updateFields(_0xb2aexa){return ReportField[_0x1409[20]]({field:_0xb2aexa[_0x1409[18]]},{where:{MetricId:_0xb2aexa[_0x1409[19]]}})[_0x1409[17]](function(_0xb2aexd){console[_0x1409[16]](_0xb2aexd)})}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./module.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.index);
-
-module.exports = router;
+var _0x17da=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x17da[0];var express=require(_0x17da[1]);var controller=require(_0x17da[2]);var auth=require(_0x17da[3]);var router=express.Router();router[_0x17da[9]](_0x17da[4],auth[_0x17da[5]](),auth[_0x17da[7]](_0x17da[6]),controller[_0x17da[8]]);module[_0x17da[10]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Module = require('../../models').Module;
-var util = require('util');
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-
-// Get list of modules
-exports.index = function(req, res, next) {
- return Module
- // .findAndCountAll(Util.getQuery(req.query))
- .findAndCountAll({
- include: [{
- all: true
- }]
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x27cb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C"];_0x27cb[0];var _=require(_0x27cb[1]);var Module=require(_0x27cb[3])[_0x27cb[2]];var util=require(_0x27cb[4]);var Util=require(_0x27cb[5]);var sequelize=require(_0x27cb[3])[_0x27cb[6]];exports[_0x27cb[7]]= function(_0x7032x6,_0x7032x7,_0x7032x8){return Module[_0x27cb[12]]({include:[{all:true}]})[_0x27cb[11]](function(_0x7032xa){return _0x7032x7[_0x27cb[10]](200)[_0x27cb[9]](_0x7032xa)})[_0x27cb[8]](function(_0x7032x9){return handleError(_0x7032x7,_0x7032x9)})};function handleError(_0x7032x7,_0x7032x9){return _0x7032x7[_0x27cb[10]](500)[_0x27cb[9]](_0x7032x9)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Module = require('../../models').Module;
-
-var ModuleEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ModuleEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Module.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ModuleEvents.emit(event + ':' + doc._id, doc);
- ModuleEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ModuleEvents;
+var _0x692a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x6F\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x692a[0];const EventEmitter=require(_0x692a[1]);const Module=require(_0x692a[3])[_0x692a[2]];var ModuleEvents= new EventEmitter();ModuleEvents[_0x692a[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x692a[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x692a[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x692a[6]};for(var e in events){var event=events[e];Module[_0x692a[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc46bx8,_0xc46bx9,_0xc46bxa){ModuleEvents[_0x692a[10]](event+ _0x692a[8]+ _0xc46bx8[_0x692a[9]],_0xc46bx8);ModuleEvents[_0x692a[10]](event,_0xc46bx8);_0xc46bxa(null)}}module[_0x692a[11]]= ModuleEvents
\ No newline at end of file
-'use strict';
-
-const ModuleEvents = require('./module.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('module:' + event, socket);
-
- ModuleEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ModuleEvents.removeListener(event, listener);
- };
-}
+var _0x10f6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x6F\x64\x75\x6C\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x10f6[0];const ModuleEvents=require(_0x10f6[1]);var events=[_0x10f6[2],_0x10f6[3]];exports[_0x10f6[4]]= function(_0x9981x3){for(var _0x9981x4=0,_0x9981x5=events[_0x10f6[5]];_0x9981x4< _0x9981x5;_0x9981x4++){var _0x9981x6=events[_0x9981x4];var _0x9981x7=createListener(_0x10f6[6]+ _0x9981x6,_0x9981x3);ModuleEvents[_0x10f6[7]](_0x9981x6,_0x9981x7);_0x9981x3[_0x10f6[7]](_0x10f6[8],removeListener(_0x9981x6,_0x9981x7))}};function createListener(_0x9981x6,_0x9981x3){return function(_0x9981x9){_0x9981x3[_0x10f6[9]](_0x9981x6,_0x9981x9)}}function removeListener(_0x9981x6,_0x9981x7){return function(){ModuleEvents[_0x10f6[10]](_0x9981x6,_0x9981x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./motionbar.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/:action/:state', auth.isAuthenticated(), controller.action);
-
-module.exports = router;
+var _0x9e10=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x3A\x61\x63\x74\x69\x6F\x6E\x2F\x3A\x73\x74\x61\x74\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9e10[0];var express=require(_0x9e10[1]);var controller=require(_0x9e10[2]);var auth=require(_0x9e10[3]);var router=express.Router();router[_0x9e10[7]](_0x9e10[4],auth[_0x9e10[5]](),controller[_0x9e10[6]]);module[_0x9e10[8]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Motionbar = require('../../models').Motionbar;
-
-// Get list of motionbars
-exports.action = function(req, res) {
-
- if (!req.query.userId) {
- return handleError(res, {
- message: 'Use userId'
- });
- }
-
- req.body.UserId = parseInt(req.query.userId, 10);
- req.body.action = req.params.action;
- req.body.state = req.params.state;
- req.body.AdminId = req.user.id;
-
- return Motionbar
- .create(req.body)
- .then(function(action) {
- return res.status(201).send(action);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x3e36=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x63\x74\x69\x6F\x6E","\x75\x73\x65\x72\x49\x64","\x71\x75\x65\x72\x79","\x55\x73\x65\x20\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x70\x61\x72\x61\x6D\x73","\x73\x74\x61\x74\x65","\x41\x64\x6D\x69\x6E\x49\x64","\x69\x64","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65"];_0x3e36[0];var _=require(_0x3e36[1]);var Motionbar=require(_0x3e36[3])[_0x3e36[2]];exports[_0x3e36[4]]= function(_0x895fx3,_0x895fx4){if(!_0x895fx3[_0x3e36[6]][_0x3e36[5]]){return handleError(_0x895fx4,{message:_0x3e36[7]})};_0x895fx3[_0x3e36[9]][_0x3e36[8]]= parseInt(_0x895fx3[_0x3e36[6]][_0x3e36[5]],10);_0x895fx3[_0x3e36[9]][_0x3e36[4]]= _0x895fx3[_0x3e36[10]][_0x3e36[4]];_0x895fx3[_0x3e36[9]][_0x3e36[11]]= _0x895fx3[_0x3e36[10]][_0x3e36[11]];_0x895fx3[_0x3e36[9]][_0x3e36[12]]= _0x895fx3[_0x3e36[14]][_0x3e36[13]];return Motionbar[_0x3e36[19]](_0x895fx3[_0x3e36[9]])[_0x3e36[18]](function(_0x895fx6){return _0x895fx4[_0x3e36[17]](201)[_0x3e36[16]](_0x895fx6)})[_0x3e36[15]](function(_0x895fx5){return handleError(_0x895fx4,_0x895fx5)})};function handleError(_0x895fx4,_0x895fx5){return _0x895fx4[_0x3e36[17]](500)[_0x3e36[16]](_0x895fx5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Motionbar = require('../../models').Motionbar;
-
-var MotionbarEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-MotionbarEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Motionbar.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- MotionbarEvents.emit(event + ':' + doc._id, doc);
- MotionbarEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = MotionbarEvents;
+var _0xa5c3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xa5c3[0];const EventEmitter=require(_0xa5c3[1]);const Motionbar=require(_0xa5c3[3])[_0xa5c3[2]];var MotionbarEvents= new EventEmitter();MotionbarEvents[_0xa5c3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xa5c3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xa5c3[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xa5c3[6]};for(var e in events){var event=events[e];Motionbar[_0xa5c3[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc4fax8,_0xc4fax9,_0xc4faxa){MotionbarEvents[_0xa5c3[10]](event+ _0xa5c3[8]+ _0xc4fax8[_0xa5c3[9]],_0xc4fax8);MotionbarEvents[_0xa5c3[10]](event,_0xc4fax8);_0xc4faxa(null)}}module[_0xa5c3[11]]= MotionbarEvents
\ No newline at end of file
-'use strict';
-
-const MotionbarEvents = require('./motionbar.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('motionbar:' + event, socket);
-
- MotionbarEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId == doc.UserId) {
- socket.emit(event, doc);
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- MotionbarEvents.removeListener(event, listener);
- };
-}
+var _0x5958=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x49\x64","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5958[0];const MotionbarEvents=require(_0x5958[1]);var events=[_0x5958[2],_0x5958[3]];exports[_0x5958[4]]= function(_0xc636x3){for(var _0xc636x4=0,_0xc636x5=events[_0x5958[5]];_0xc636x4< _0xc636x5;_0xc636x4++){var _0xc636x6=events[_0xc636x4];var _0xc636x7=createListener(_0x5958[6]+ _0xc636x6,_0xc636x3);MotionbarEvents[_0x5958[7]](_0xc636x6,_0xc636x7);_0xc636x3[_0x5958[7]](_0x5958[8],removeListener(_0xc636x6,_0xc636x7))}};function createListener(_0xc636x6,_0xc636x3){return function(_0xc636x9){if(_0xc636x3[_0x5958[9]]== _0xc636x9[_0x5958[10]]){_0xc636x3[_0x5958[11]](_0xc636x6,_0xc636x9)}}}function removeListener(_0xc636x6,_0xc636x7){return function(){MotionbarEvents[_0x5958[12]](_0xc636x6,_0xc636x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./network_externip.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-
-module.exports = router;
+var _0x1c25=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x65\x78\x74\x65\x72\x6E\x69\x70\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x1c25[0];var express=require(_0x1c25[1]);var auth=require(_0x1c25[2]);var controller=require(_0x1c25[3]);var router=express.Router();router[_0x1c25[9]](_0x1c25[4],auth[_0x1c25[5]](),auth[_0x1c25[7]](_0x1c25[6]),controller[_0x1c25[8]]);router[_0x1c25[9]](_0x1c25[10],auth[_0x1c25[5]](),auth[_0x1c25[7]](_0x1c25[6]),controller[_0x1c25[11]]);router[_0x1c25[13]](_0x1c25[4],auth[_0x1c25[5]](),auth[_0x1c25[7]](_0x1c25[6]),controller[_0x1c25[12]]);router[_0x1c25[15]](_0x1c25[10],auth[_0x1c25[5]](),auth[_0x1c25[7]](_0x1c25[6]),controller[_0x1c25[14]]);router[_0x1c25[17]](_0x1c25[4],auth[_0x1c25[5]](),auth[_0x1c25[7]](_0x1c25[6]),controller[_0x1c25[16]]);router[_0x1c25[17]](_0x1c25[10],auth[_0x1c25[5]](),auth[_0x1c25[7]](_0x1c25[6]),controller[_0x1c25[18]]);module[_0x1c25[19]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/network/externips -> index
- * POST /api/network/externips -> create
- * GET /api/network/externips/:id -> show
- * PUT /api/network/externips/:id -> update
- * DELETE /api/network/externips/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var NetworkExternip = require('../../models').Network;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of NetworkExternips
-exports.index = function(req, res) {
- return NetworkExternip
- .scope('externip')
- .findAndCountAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single NetworkExternip from the DB
-exports.show = function(req, res) {
- return NetworkExternip
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new NetworkExternip in the DB
-exports.create = function(req, res) {
- req.body.type = 'externip';
- return NetworkExternip
- .create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing NetworkExternip in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return NetworkExternip
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a NetworkExternip from the DB
-exports.destroy = function(req, res) {
- return NetworkExternip
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.bulkDestroy = function(req, res) {
- return NetworkExternip
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithoutResult(res))
- .catch(handleError(res));
-};
+var _0x711d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4E\x65\x74\x77\x6F\x72\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x65\x78\x74\x65\x72\x6E\x69\x70","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x74\x79\x70\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x711d[0];var _=require(_0x711d[1]);var Util=require(_0x711d[2]);var NetworkExternip=require(_0x711d[4])[_0x711d[3]];function handleError(_0xec1ex5,_0xec1ex6){_0xec1ex6= _0xec1ex6|| 500;return function(_0xec1ex7){_0xec1ex5[_0x711d[6]](_0xec1ex6)[_0x711d[5]](_0xec1ex7)}}function responseWithResult(_0xec1ex5,_0xec1ex6){_0xec1ex6= _0xec1ex6|| 200;return function(_0xec1ex9){if(_0xec1ex9){_0xec1ex5[_0x711d[6]](_0xec1ex6)[_0x711d[7]](_0xec1ex9)}}}function responseWithoutResult(_0xec1ex5,_0xec1ex6){_0xec1ex6= _0xec1ex6|| 204;return function(){_0xec1ex5[_0x711d[8]](_0xec1ex6)}}function handleEntityNotFound(_0xec1ex5){return function(_0xec1ex9){if(!_0xec1ex9){_0xec1ex5[_0x711d[6]](404)[_0x711d[9]]();return null};return _0xec1ex9}}function saveUpdates(_0xec1exd){return function(_0xec1ex9){return _0xec1ex9[_0x711d[11]](_0xec1exd)[_0x711d[10]](function(_0xec1exe){return _0xec1exe})}}function removeEntity(_0xec1ex5){return function(_0xec1ex9){if(_0xec1ex9){return _0xec1ex9[_0x711d[12]]()[_0x711d[10]](function(){_0xec1ex5[_0x711d[6]](204)[_0x711d[9]]()})}}}exports[_0x711d[13]]= function(_0xec1ex10,_0xec1ex5){return NetworkExternip[_0x711d[19]](_0x711d[18])[_0x711d[17]](Util[_0x711d[16]](_0xec1ex10[_0x711d[15]]))[_0x711d[10]](responseWithResult(_0xec1ex5))[_0x711d[14]](handleError(_0xec1ex5))};exports[_0x711d[20]]= function(_0xec1ex10,_0xec1ex5){return NetworkExternip[_0x711d[23]](_0xec1ex10[_0x711d[22]][_0x711d[21]])[_0x711d[10]](handleEntityNotFound(_0xec1ex5))[_0x711d[10]](responseWithResult(_0xec1ex5))[_0x711d[14]](handleError(_0xec1ex5))};exports[_0x711d[24]]= function(_0xec1ex10,_0xec1ex5){_0xec1ex10[_0x711d[26]][_0x711d[25]]= _0x711d[18];return NetworkExternip[_0x711d[24]](_0xec1ex10[_0x711d[26]])[_0x711d[10]](responseWithResult(_0xec1ex5,201))[_0x711d[14]](handleError(_0xec1ex5))};exports[_0x711d[27]]= function(_0xec1ex10,_0xec1ex5){if(_0xec1ex10[_0x711d[26]][_0x711d[21]]){delete _0xec1ex10[_0x711d[26]][_0x711d[21]]};return NetworkExternip[_0x711d[23]](_0xec1ex10[_0x711d[22]][_0x711d[21]])[_0x711d[10]](handleEntityNotFound(_0xec1ex5))[_0x711d[10]](saveUpdates(_0xec1ex10[_0x711d[26]]))[_0x711d[10]](responseWithResult(_0xec1ex5))[_0x711d[14]](handleError(_0xec1ex5))};exports[_0x711d[12]]= function(_0xec1ex10,_0xec1ex5){return NetworkExternip[_0x711d[23]](_0xec1ex10[_0x711d[22]][_0x711d[21]])[_0x711d[10]](handleEntityNotFound(_0xec1ex5))[_0x711d[10]](removeEntity(_0xec1ex5))[_0x711d[14]](handleError(_0xec1ex5))};exports[_0x711d[28]]= function(_0xec1ex10,_0xec1ex5){return NetworkExternip[_0x711d[12]]({where:{id:_0xec1ex10[_0x711d[15]][_0x711d[29]]},individualHooks:true})[_0x711d[10]](responseWithoutResult(_0xec1ex5))[_0x711d[14]](handleError(_0xec1ex5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Network = require('../../models').Network;
-
-var NetworkEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-NetworkEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Network.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- NetworkEvents.emit(event + ':' + doc._id, doc);
- NetworkEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = NetworkEvents;
+var _0x9dcd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4E\x65\x74\x77\x6F\x72\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9dcd[0];const EventEmitter=require(_0x9dcd[1]);const Network=require(_0x9dcd[3])[_0x9dcd[2]];var NetworkEvents= new EventEmitter();NetworkEvents[_0x9dcd[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x9dcd[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x9dcd[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x9dcd[6]};for(var e in events){var event=events[e];Network[_0x9dcd[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xd428x8,_0xd428x9,_0xd428xa){NetworkEvents[_0x9dcd[10]](event+ _0x9dcd[8]+ _0xd428x8[_0x9dcd[9]],_0xd428x8);NetworkEvents[_0x9dcd[10]](event,_0xd428x8);_0xd428xa(null)}}module[_0x9dcd[11]]= NetworkEvents
\ No newline at end of file
-'use strict';
-
-const NetworkExternipEvents = require('./network_externip.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('network_externip:' + event, socket);
-
- NetworkExternipEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- NetworkExternipEvents.removeListener(event, listener);
- };
-}
+var _0xc62a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x65\x78\x74\x65\x72\x6E\x69\x70\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x65\x78\x74\x65\x72\x6E\x69\x70\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc62a[0];const NetworkExternipEvents=require(_0xc62a[1]);var events=[_0xc62a[2],_0xc62a[3]];exports[_0xc62a[4]]= function(_0xed56x3){for(var _0xed56x4=0,_0xed56x5=events[_0xc62a[5]];_0xed56x4< _0xed56x5;_0xed56x4++){var _0xed56x6=events[_0xed56x4];var _0xed56x7=createListener(_0xc62a[6]+ _0xed56x6,_0xed56x3);NetworkExternipEvents[_0xc62a[7]](_0xed56x6,_0xed56x7);_0xed56x3[_0xc62a[7]](_0xc62a[8],removeListener(_0xed56x6,_0xed56x7))}};function createListener(_0xed56x6,_0xed56x3){return function(_0xed56x9){_0xed56x3[_0xc62a[9]](_0xed56x6,_0xed56x9)}}function removeListener(_0xed56x6,_0xed56x7){return function(){NetworkExternipEvents[_0xc62a[10]](_0xed56x6,_0xed56x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./network_localnet.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-
-module.exports = router;
+var _0x6d2a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x6d2a[0];var express=require(_0x6d2a[1]);var auth=require(_0x6d2a[2]);var controller=require(_0x6d2a[3]);var router=express.Router();router[_0x6d2a[9]](_0x6d2a[4],auth[_0x6d2a[5]](),auth[_0x6d2a[7]](_0x6d2a[6]),controller[_0x6d2a[8]]);router[_0x6d2a[9]](_0x6d2a[10],auth[_0x6d2a[5]](),auth[_0x6d2a[7]](_0x6d2a[6]),controller[_0x6d2a[11]]);router[_0x6d2a[13]](_0x6d2a[4],auth[_0x6d2a[5]](),auth[_0x6d2a[7]](_0x6d2a[6]),controller[_0x6d2a[12]]);router[_0x6d2a[15]](_0x6d2a[10],auth[_0x6d2a[5]](),auth[_0x6d2a[7]](_0x6d2a[6]),controller[_0x6d2a[14]]);router[_0x6d2a[17]](_0x6d2a[4],auth[_0x6d2a[5]](),auth[_0x6d2a[7]](_0x6d2a[6]),controller[_0x6d2a[16]]);router[_0x6d2a[17]](_0x6d2a[10],auth[_0x6d2a[5]](),auth[_0x6d2a[7]](_0x6d2a[6]),controller[_0x6d2a[18]]);module[_0x6d2a[19]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/network/localnets -> index
- * POST /api/network/localnets -> create
- * GET /api/network/localnets/:id -> show
- * PUT /api/network/localnets/:id -> update
- * DELETE /api/network/localnets/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var NetworkLocalnet = require('../../models').Network;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of NetworkLocalnets
-exports.index = function(req, res) {
- return NetworkLocalnet
- .scope('localnet')
- .findAndCountAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single NetworkLocalnet from the DB
-exports.show = function(req, res) {
- return NetworkLocalnet.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new NetworkLocalnet in the DB
-exports.create = function(req, res) {
- req.body.type = 'localnet';
- return NetworkLocalnet.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing NetworkLocalnet in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return NetworkLocalnet.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a NetworkLocalnet from the DB
-exports.destroy = function(req, res) {
- return NetworkLocalnet
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.bulkDestroy = function(req, res) {
- return NetworkLocalnet
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithoutResult(res))
- .catch(handleError(res));
-};
+var _0xe941=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4E\x65\x74\x77\x6F\x72\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6C\x6F\x63\x61\x6C\x6E\x65\x74","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x74\x79\x70\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0xe941[0];var _=require(_0xe941[1]);var Util=require(_0xe941[2]);var NetworkLocalnet=require(_0xe941[4])[_0xe941[3]];function handleError(_0x2964x5,_0x2964x6){_0x2964x6= _0x2964x6|| 500;return function(_0x2964x7){_0x2964x5[_0xe941[6]](_0x2964x6)[_0xe941[5]](_0x2964x7)}}function responseWithResult(_0x2964x5,_0x2964x6){_0x2964x6= _0x2964x6|| 200;return function(_0x2964x9){if(_0x2964x9){_0x2964x5[_0xe941[6]](_0x2964x6)[_0xe941[7]](_0x2964x9)}}}function responseWithoutResult(_0x2964x5,_0x2964x6){_0x2964x6= _0x2964x6|| 204;return function(){_0x2964x5[_0xe941[8]](_0x2964x6)}}function handleEntityNotFound(_0x2964x5){return function(_0x2964x9){if(!_0x2964x9){_0x2964x5[_0xe941[6]](404)[_0xe941[9]]();return null};return _0x2964x9}}function saveUpdates(_0x2964xd){return function(_0x2964x9){return _0x2964x9[_0xe941[11]](_0x2964xd)[_0xe941[10]](function(_0x2964xe){return _0x2964xe})}}function removeEntity(_0x2964x5){return function(_0x2964x9){if(_0x2964x9){return _0x2964x9[_0xe941[12]]()[_0xe941[10]](function(){_0x2964x5[_0xe941[6]](204)[_0xe941[9]]()})}}}exports[_0xe941[13]]= function(_0x2964x10,_0x2964x5){return NetworkLocalnet[_0xe941[19]](_0xe941[18])[_0xe941[17]](Util[_0xe941[16]](_0x2964x10[_0xe941[15]]))[_0xe941[10]](responseWithResult(_0x2964x5))[_0xe941[14]](handleError(_0x2964x5))};exports[_0xe941[20]]= function(_0x2964x10,_0x2964x5){return NetworkLocalnet[_0xe941[23]](_0x2964x10[_0xe941[22]][_0xe941[21]])[_0xe941[10]](handleEntityNotFound(_0x2964x5))[_0xe941[10]](responseWithResult(_0x2964x5))[_0xe941[14]](handleError(_0x2964x5))};exports[_0xe941[24]]= function(_0x2964x10,_0x2964x5){_0x2964x10[_0xe941[26]][_0xe941[25]]= _0xe941[18];return NetworkLocalnet[_0xe941[24]](_0x2964x10[_0xe941[26]])[_0xe941[10]](responseWithResult(_0x2964x5,201))[_0xe941[14]](handleError(_0x2964x5))};exports[_0xe941[27]]= function(_0x2964x10,_0x2964x5){if(_0x2964x10[_0xe941[26]][_0xe941[21]]){delete _0x2964x10[_0xe941[26]][_0xe941[21]]};return NetworkLocalnet[_0xe941[23]](_0x2964x10[_0xe941[22]][_0xe941[21]])[_0xe941[10]](handleEntityNotFound(_0x2964x5))[_0xe941[10]](saveUpdates(_0x2964x10[_0xe941[26]]))[_0xe941[10]](responseWithResult(_0x2964x5))[_0xe941[14]](handleError(_0x2964x5))};exports[_0xe941[12]]= function(_0x2964x10,_0x2964x5){return NetworkLocalnet[_0xe941[23]](_0x2964x10[_0xe941[22]][_0xe941[21]])[_0xe941[10]](handleEntityNotFound(_0x2964x5))[_0xe941[10]](removeEntity(_0x2964x5))[_0xe941[14]](handleError(_0x2964x5))};exports[_0xe941[28]]= function(_0x2964x10,_0x2964x5){return NetworkLocalnet[_0xe941[12]]({where:{id:_0x2964x10[_0xe941[15]][_0xe941[29]]},individualHooks:true})[_0xe941[10]](responseWithoutResult(_0x2964x5))[_0xe941[14]](handleError(_0x2964x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Network = require('../../models').Network;
-
-var NetworkEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-NetworkEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Network.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- NetworkEvents.emit(event + ':' + doc._id, doc);
- NetworkEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = NetworkEvents;
+var _0x6d5d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4E\x65\x74\x77\x6F\x72\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x6d5d[0];const EventEmitter=require(_0x6d5d[1]);const Network=require(_0x6d5d[3])[_0x6d5d[2]];var NetworkEvents= new EventEmitter();NetworkEvents[_0x6d5d[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x6d5d[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x6d5d[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x6d5d[6]};for(var e in events){var event=events[e];Network[_0x6d5d[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xa7c4x8,_0xa7c4x9,_0xa7c4xa){NetworkEvents[_0x6d5d[10]](event+ _0x6d5d[8]+ _0xa7c4x8[_0x6d5d[9]],_0xa7c4x8);NetworkEvents[_0x6d5d[10]](event,_0xa7c4x8);_0xa7c4xa(null)}}module[_0x6d5d[11]]= NetworkEvents
\ No newline at end of file
-'use strict';
-
-const NetworkLocalnetEvents = require('./network_localnet.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('network_localnet:' + event, socket);
-
- NetworkLocalnetEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- NetworkLocalnetEvents.removeListener(event, listener);
- };
-}
+var _0xccf5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xccf5[0];const NetworkLocalnetEvents=require(_0xccf5[1]);var events=[_0xccf5[2],_0xccf5[3]];exports[_0xccf5[4]]= function(_0xacaax3){for(var _0xacaax4=0,_0xacaax5=events[_0xccf5[5]];_0xacaax4< _0xacaax5;_0xacaax4++){var _0xacaax6=events[_0xacaax4];var _0xacaax7=createListener(_0xccf5[6]+ _0xacaax6,_0xacaax3);NetworkLocalnetEvents[_0xccf5[7]](_0xacaax6,_0xacaax7);_0xacaax3[_0xccf5[7]](_0xccf5[8],removeListener(_0xacaax6,_0xacaax7))}};function createListener(_0xacaax6,_0xacaax3){return function(_0xacaax9){_0xacaax3[_0xccf5[9]](_0xacaax6,_0xacaax9)}}function removeListener(_0xacaax6,_0xacaax7){return function(){NetworkLocalnetEvents[_0xccf5[10]](_0xacaax6,_0xacaax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./openchannel_account.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-
-router.get('/', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.show);
-router.get('/:id/applications', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.showApplications);
-router.get('/:id/rooms', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.getOpenchannelRooms);
-router.get('/:id/dispositions', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.getDispositions);
-router.post('/', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.create);
-router.post('/:id/dispositions', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.createDisposition);
-router.post('/:id/send', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.sendMessage);
-router.post('/:id/receive', license.isValidDate(), controller.receiveMessage);
-router.put('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.update);
-router.put('/:id/applications', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.updateApplications);
-router.put('/:id/applications/:appId', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.updateApplication);
-router.put('/:id/dispositions/:dispId', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.updateDisposition);
-router.delete('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), auth.hasModule([20], ['admin']), controller.destroy);
-router.delete('/:id/applications', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.bulkDestroyApplications);
-router.delete('/:id/applications/:appId', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.destroyApplication);
-router.delete('/:id/dispositions/:dispId', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.destroyDisposition);
-
-module.exports = router;
+var _0xa96d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x73","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64\x2F\x72\x65\x63\x65\x69\x76\x65","\x72\x65\x63\x65\x69\x76\x65\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x61\x70\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73\x2F\x3A\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0xa96d[0];var express=require(_0xa96d[1]);var auth=require(_0xa96d[2]);var controller=require(_0xa96d[3]);var license=require(_0xa96d[4]);var router=express.Router();router[_0xa96d[13]](_0xa96d[5],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9],_0xa96d[10]]),controller[_0xa96d[12]]);router[_0xa96d[13]](_0xa96d[14],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[15]]);router[_0xa96d[13]](_0xa96d[16],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[17]]);router[_0xa96d[13]](_0xa96d[18],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9],_0xa96d[10]]),controller[_0xa96d[19]]);router[_0xa96d[13]](_0xa96d[20],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9],_0xa96d[10]]),controller[_0xa96d[21]]);router[_0xa96d[23]](_0xa96d[5],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[22]]);router[_0xa96d[23]](_0xa96d[16],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[24]]);router[_0xa96d[23]](_0xa96d[20],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[25]]);router[_0xa96d[23]](_0xa96d[26],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9],_0xa96d[10]]),controller[_0xa96d[27]]);router[_0xa96d[23]](_0xa96d[28],license[_0xa96d[6]](),controller[_0xa96d[29]]);router[_0xa96d[31]](_0xa96d[14],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[30]]);router[_0xa96d[31]](_0xa96d[16],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[32]]);router[_0xa96d[31]](_0xa96d[33],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[34]]);router[_0xa96d[31]](_0xa96d[35],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[36]]);router[_0xa96d[38]](_0xa96d[14],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[37]]);router[_0xa96d[38]](_0xa96d[16],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[39]]);router[_0xa96d[38]](_0xa96d[33],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[40]]);router[_0xa96d[38]](_0xa96d[35],license[_0xa96d[6]](),license[_0xa96d[7]](),auth[_0xa96d[8]](),auth[_0xa96d[11]]([20],[_0xa96d[9]]),controller[_0xa96d[41]]);module[_0xa96d[42]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/accounts -> index
- * POST /api/openchannel/accounts -> create
- * GET /api/openchannel/accounts/:id -> show
- * PUT /api/openchannel/accounts/:id -> update
- * DELETE /api/openchannel/accounts/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var OpenchannelAccount = require('../../models').OpenchannelAccount;
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var OpenchannelQueue = require('../../models').OpenchannelQueue;
-var OpenchannelApplication = require('../../models').OpenchannelApplication;
-var OpenchannelMessage = require('../../models').OpenchannelMessage;
-var OpenchannelRoom = require('../../models').OpenchannelRoom;
-var OpenchannelDisposition = require('../../models').OpenchannelDisposition;
-var Contact = require('../../models').Contact;
-var Interval = require('../../models').Interval;
-var Promise = require('bluebird');
-var moment = require('moment');
-
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of OpenchannelAccount
-exports.index = function(req, res) {
- return OpenchannelAccount
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(account) {
- res.status(200).send(account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-// Gets a single OpenchannelAccount from the DB
-exports.show = function(req, res) {
- return OpenchannelAccount
- .findById(req.params.id)
- .then(function(Account) {
- if (!Account) {
- return res.sendStatus(404);
- }
- return res.send(Account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.getDispositions = function(req, res, next) {
- return OpenchannelAccount
- .findById(req.params.id)
- .then(function(Account) {
- if (!Account) {
- return res.sendStatus(404);
- }
-
- return Account
- .getOpenchannelDispositions();
- })
- .then(function(Dispositions) {
- return res.status(200).send({
- rows: Dispositions,
- count: Dispositions.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get Applications
-exports.showApplications = function(req, res, next) {
- return OpenchannelAccount
- .scope('default')
- .findById(req.params.id)
- .then(function(Account) {
- if (!Account) {
- return res.sendStatus(404);
- }
-
- return Account
- .getOpenchannelApplications(_.merge(Util.getQuery(req.query), {
- include: [{
- model: OpenchannelQueue,
- attributes: ['id', 'name']
- }, {
- model: User,
- attributes: ['id', 'name', 'online']
- }, {
- model: Interval,
- attributes: ['id', 'name']
- }]
- }));
- })
- .then(function(Applications) {
- return res.send({
- count: Applications.length,
- rows: Applications
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new OpenchannelAccount in the DB
-exports.create = function(req, res) {
- return OpenchannelAccount
- .create(req.body)
- .then(function(Account) {
- return res.status(201).send(Account);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-exports.createDisposition = function(req, res, next) {
- req.body.OpenchannelAccountId = req.params.id;
-
- return OpenchannelDisposition
- .create(req.body)
- .then(function(Diposition) {
- return res.status(201).send(Diposition);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a send Message in the DB.
-exports.sendMessage = function(req, res, next) {
- req.body.OpenchannelAccountId = req.params.id;
- req.body.UserId = req.user.id;
- return OpenchannelMessage
- .create(req.body, {
- user: req.user
- })
- .then(function(message) {
- return res.status(201).send(message);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a receive Message in the DB.
-exports.receiveMessage = function(req, res, next) {
- if (req.body.id) {
- delete req.body.id;
- }
- var _message = req.body;
- var _account;
-
- return OpenchannelAccount
- .findById(req.params.id)
- .then(function(Account) {
- if (!Account) {
- throw new Error('Account not found');
- }
- _account = Account
- console.log(_message);
- if (!_message.from) {
- throw new Error('Received message does not contain sender Id');
- }
- return OpenchannelRoom
- .findAll({
- limit: 1,
- where: {
- contact: _message.from,
- OpenchannelAccountId: _account.id
- },
- order: [
- ['createdAt', 'DESC']
- ]
- })
- })
- .then(function(smsroom) {
- var room = smsroom[0];
- if (!room || room.status == 'CLOSED') {
- var parentID = room ? room.id : null;
- return OpenchannelRoom
- .create({
- contact: _message.from,
- OpenchannelAccountId: _account.id,
- status: 'NEW',
- ParentId: parentID,
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- openchannelIn: 1
- })
- } else {
- return room
- .updateAttributes({
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- status: 'OPEN',
- openReason: 'system',
- openchannelIn: ++room.openchannelIn
- });
- }
-
- })
- .then(function(room) {
- _message.OpenchannelAccountId = _account.id;
- _message.OpenchannelRoomId = room.id;
- _message.status = 'RECEIVED';
- return OpenchannelMessage
- .create(_message)
-
- })
- .then(function(Message) {
- return res.status(201).send(Message);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-// Updates an existing OpenchannelAccount in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return OpenchannelAccount.findById(req.params.id)
- .then(function(Account) {
- if (!Account) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(Account, req.body);
- return updated
- .save();
- })
- .then(function(Account) {
- return res.status(200).send(Account);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- console.log(' err', err);
- return handleError(res, err);
- });
-
-}
-
-exports.updateDisposition = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return OpenchannelDisposition
- .findById(req.params.dispId)
- .then(function(Disposition) {
- if (!Disposition) {
- return res.sendStatus(404);
- }
- var updated = _.merge(Disposition, req.body);
- return updated
- .save();
- })
- .then(function(Disposition) {
- return res.status(200).send(Disposition);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-// Updates aapplications
-exports.updateApplications = function(req, res) {
-
- var priority = 0;
- var apps = req.body;
- apps.forEach(function(app) {
- delete app.id;
- delete app.createdAt;
- delete app.updatedAt;
-
- app.priority = ++priority;
- });
- console.log('req app', req.body);
- return sequelize.transaction(function(t) {
- return OpenchannelApplication
- .destroy({
- where: {
- OpenchannelAccountId: req.params.id
- },
- individualHooks: true,
- transaction: t
- }).then(function(Application) {
- return OpenchannelApplication
- .bulkCreate(apps, {
- individualHooks: true,
- transaction: t
- });
- });
- }).then(function(Accounts) {
- return res.status(200).send({
- count: Accounts.length,
- rows: Accounts
- });
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.updateApplication = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return OpenchannelApplication
- .findById(req.params.appId)
- .then(function(Application) {
- if (!Application) {
- return res.sendStatus(404);
- }
- var updated = _.merge(Application, req.body);
- return updated.save();
- })
- .then(function(Application) {
- return res.status(200).send(Application);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
- // Deletes a OpenchannelAccount from the DB
-exports.destroy = function(req, res) {
- return OpenchannelAccount.findById(req.params.id)
- .then(function(Account) {
- if (!Account) {
- return res.sendStatus(404);
- }
-
- return Account
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-exports.destroyApplication = function(req, res, next) {
- return OpenchannelApplication
- .findById(req.params.appId)
- .then(function(Application) {
- if (!Application) {
- return res.sendStatus(404);
- }
-
- return Application
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.destroyDisposition = function(req, res, next) {
- return OpenchannelDisposition
- .findById(req.params.dispId)
- .then(function(Diposition) {
- if (!Diposition) {
- return res.sendStatus(404);
- }
- return Diposition
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroyApplications = function(req, res) {
- return OpenchannelApplication
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-exports.getOpenchannelRooms = function(req, res, next) {
- var _query = {
- where: {
- OpenchannelAccountId: req.params.id,
- $and: []
- },
- attributes: ['id', 'contact', 'updatedAt', 'tags', 'disposition', 'lastEvent'],
- include: []
- };
-
- // TO MOVE SOON INTO AN EXTENAL UTIL FILE
- if (req.query) {
- if (req.query.tags) {
- if (_.isArray(req.query.tags)) {
- for (var i = 0; i < req.query.tags.length; i++) {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags[i] + '%'
- }
- });
- }
- } else {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags + '%'
- }
- });
- }
-
- delete req.query.tags;
- }
-
- _.merge(_query.where, req.query);
- }
-
- switch (req.user.role) {
- case 'agent':
- _query.include.push({
- model: User,
- attributes: ['id']
- });
- var _agents;
- var _agentQueues;
- var _accountQueues;
-
- return User
- .findById(req.user.id)
- .then(function(user) {
- // console.log('user');
- if (user) {
- return user
- .getOpenchannelQueues();
- } else {
- return [];
- }
- })
- .then(function(queues) {
- // console.log(queues);
- _agentQueues = _.map(queues, 'id');
- return OpenchannelAccount
- .findById(req.params.id);
- })
- .then(function(account) {
- return account
- .getOpenchannelApplications({
- where: {
- $or: [{
- app: 'queue'
- }, {
- app: 'agent'
- }]
- }
- });
- })
- .then(function(apps) {
- _agents = _.map(_.find(apps, {
- 'app': 'agent'
- }), 'UserId');
- _accountQueues = _.map(_.find(apps, {
- 'app': 'queue'
- }), 'OpenchannelQueueId');
- if (_.intersection(_agentQueues, _accountQueues).length || _.intersection(_agents, [req.user.id]).length) {
- return OpenchannelRoom
- .findAll(_query)
- .then(function(Rooms) {
- return res.status(200).send(Rooms);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
- } else {
- return res.status(200).send([]);
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-
- default:
-
- return OpenchannelRoom
- .findAll(_query)
- .then(function(Rooms) {
- return res.status(200).send(Rooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-
-};
+var _0xa633=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x43\x6F\x6E\x74\x61\x63\x74","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6E\x61\x6D\x65","\x6F\x6E\x6C\x69\x6E\x65","\x6D\x65\x72\x67\x65","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x75\x73\x65\x72","\x72\x65\x63\x65\x69\x76\x65\x4D\x65\x73\x73\x61\x67\x65","\x6C\x6F\x67","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x49\x64","\x52\x45\x43\x45\x49\x56\x45\x44","\x43\x4C\x4F\x53\x45\x44","\x66\x72\x6F\x6D","\x4E\x45\x57","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x4F\x50\x45\x4E","\x73\x79\x73\x74\x65\x6D","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x49\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x41\x63\x63\x6F\x75\x6E\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x63\x6F\x6E\x74\x61\x69\x6E\x20\x73\x65\x6E\x64\x65\x72\x20\x49\x64","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x20\x20\x20\x65\x72\x72","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x6F\x72\x45\x61\x63\x68","\x72\x65\x71\x20\x61\x70\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x61\x70\x70\x49\x64","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x69\x64\x73","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x73","\x63\x6F\x6E\x74\x61\x63\x74","\x74\x61\x67\x73","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x6C\x61\x73\x74\x45\x76\x65\x6E\x74","\x69\x73\x41\x72\x72\x61\x79","\x25","\x70\x75\x73\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x69\x6E\x63\x6C\x75\x64\x65","\x65\x72\x72\x6F\x72","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64","\x6D\x61\x70","\x71\x75\x65\x75\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x49\x64","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x69\x6F\x6E","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x72\x6F\x6C\x65","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x65\x72\x72","\x6D\x61\x78"];_0xa633[0];var _=require(_0xa633[1]);var Util=require(_0xa633[2]);var OpenchannelAccount=require(_0xa633[4])[_0xa633[3]];var sequelize=require(_0xa633[4])[_0xa633[5]];var User=require(_0xa633[4])[_0xa633[6]];var OpenchannelQueue=require(_0xa633[4])[_0xa633[7]];var OpenchannelApplication=require(_0xa633[4])[_0xa633[8]];var OpenchannelMessage=require(_0xa633[4])[_0xa633[9]];var OpenchannelRoom=require(_0xa633[4])[_0xa633[10]];var OpenchannelDisposition=require(_0xa633[4])[_0xa633[11]];var OpenchannelAccount=require(_0xa633[4])[_0xa633[3]];var Contact=require(_0xa633[4])[_0xa633[12]];var Interval=require(_0xa633[4])[_0xa633[13]];var Promise=require(_0xa633[14]);var moment=require(_0xa633[15]);function handleError(_0xe848x10,_0xe848x11){return _0xe848x10[_0xa633[17]](500)[_0xa633[16]](_0xe848x11)}exports[_0xa633[18]]= function(_0xe848x12,_0xe848x10){return OpenchannelAccount[_0xa633[23]](Util[_0xa633[22]](_0xe848x12[_0xa633[21]]))[_0xa633[20]](function(_0xe848x13){_0xe848x10[_0xa633[17]](200)[_0xa633[16]](_0xe848x13)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[24]]= function(_0xe848x12,_0xe848x10){return OpenchannelAccount[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])[_0xa633[20]](function(_0xe848x14){if(!_0xe848x14){return _0xe848x10[_0xa633[25]](404)};return _0xe848x10[_0xa633[16]](_0xe848x14)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[29]]= function(_0xe848x12,_0xe848x10,_0xe848x15){return OpenchannelAccount[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])[_0xa633[20]](function(_0xe848x14){if(!_0xe848x14){return _0xe848x10[_0xa633[25]](404)};return _0xe848x14[_0xa633[31]]()})[_0xa633[20]](function(_0xe848x16){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]]({rows:_0xe848x16,count:_0xe848x16[_0xa633[30]]})})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[32]]= function(_0xe848x12,_0xe848x10,_0xe848x15){return OpenchannelAccount[_0xa633[38]](_0xa633[37])[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])[_0xa633[20]](function(_0xe848x14){if(!_0xe848x14){return _0xe848x10[_0xa633[25]](404)};return _0xe848x14[_0xa633[36]](_[_0xa633[35]](Util[_0xa633[22]](_0xe848x12[_0xa633[21]]),{include:[{model:OpenchannelQueue,attributes:[_0xa633[26],_0xa633[33]]},{model:User,attributes:[_0xa633[26],_0xa633[33],_0xa633[34]]},{model:Interval,attributes:[_0xa633[26],_0xa633[33]]}]}))})[_0xa633[20]](function(_0xe848x17){return _0xe848x10[_0xa633[16]]({count:_0xe848x17[_0xa633[30]],rows:_0xe848x17})})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[39]]= function(_0xe848x12,_0xe848x10){return OpenchannelAccount[_0xa633[39]](_0xe848x12[_0xa633[42]])[_0xa633[20]](function(_0xe848x14){return _0xe848x10[_0xa633[17]](201)[_0xa633[16]](_0xe848x14)})[_0xa633[19]](sequelize.UniqueConstraintError,function(_0xe848x11){return Util[_0xa633[41]][_0xa633[40]](_0xe848x10,_0xe848x11)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[43]]= function(_0xe848x12,_0xe848x10,_0xe848x15){_0xe848x12[_0xa633[42]][_0xa633[44]]= _0xe848x12[_0xa633[27]][_0xa633[26]];return OpenchannelDisposition[_0xa633[39]](_0xe848x12[_0xa633[42]])[_0xa633[20]](function(_0xe848x18){return _0xe848x10[_0xa633[17]](201)[_0xa633[16]](_0xe848x18)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[45]]= function(_0xe848x12,_0xe848x10,_0xe848x15){_0xe848x12[_0xa633[42]][_0xa633[44]]= _0xe848x12[_0xa633[27]][_0xa633[26]];_0xe848x12[_0xa633[42]][_0xa633[46]]= _0xe848x12[_0xa633[47]][_0xa633[26]];return OpenchannelMessage[_0xa633[39]](_0xe848x12[_0xa633[42]],{user:_0xe848x12[_0xa633[47]]})[_0xa633[20]](function(_0xe848x19){return _0xe848x10[_0xa633[17]](201)[_0xa633[16]](_0xe848x19)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[48]]= function(_0xe848x12,_0xe848x10,_0xe848x15){if(_0xe848x12[_0xa633[42]][_0xa633[26]]){delete _0xe848x12[_0xa633[42]][_0xa633[26]]};var _0xe848x1a=_0xe848x12[_0xa633[42]];var _0xe848x1b;return OpenchannelAccount[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])[_0xa633[20]](function(_0xe848x14){if(!_0xe848x14){throw new Error(_0xa633[61])};_0xe848x1b= _0xe848x14;console[_0xa633[49]](_0xe848x1a);if(!_0xe848x1a[_0xa633[53]]){throw new Error(_0xa633[62])};return OpenchannelRoom[_0xa633[65]]({limit:1,where:{contact:_0xe848x1a[_0xa633[53]],OpenchannelAccountId:_0xe848x1b[_0xa633[26]]},order:[[_0xa633[63],_0xa633[64]]]})})[_0xa633[20]](function(_0xe848x1e){var _0xe848x1d=_0xe848x1e[0];if(!_0xe848x1d|| _0xe848x1d[_0xa633[17]]== _0xa633[52]){var _0xe848x1f=_0xe848x1d?_0xe848x1d[_0xa633[26]]:null;return OpenchannelRoom[_0xa633[39]]({contact:_0xe848x1a[_0xa633[53]],OpenchannelAccountId:_0xe848x1b[_0xa633[26]],status:_0xa633[54],ParentId:_0xe848x1f,lastEvent:_0xa633[51],lastEventAt:moment()[_0xa633[56]](_0xa633[55]),openchannelIn:1})}else {return _0xe848x1d[_0xa633[60]]({lastEvent:_0xa633[51],lastEventAt:moment()[_0xa633[56]](_0xa633[55]),status:_0xa633[57],openReason:_0xa633[58],openchannelIn:++_0xe848x1d[_0xa633[59]]})}})[_0xa633[20]](function(_0xe848x1d){_0xe848x1a[_0xa633[44]]= _0xe848x1b[_0xa633[26]];_0xe848x1a[_0xa633[50]]= _0xe848x1d[_0xa633[26]];_0xe848x1a[_0xa633[17]]= _0xa633[51];return OpenchannelMessage[_0xa633[39]](_0xe848x1a)})[_0xa633[20]](function(_0xe848x1c){return _0xe848x10[_0xa633[17]](201)[_0xa633[16]](_0xe848x1c)})[_0xa633[19]](function(_0xe848x11){console[_0xa633[49]](_0xe848x11);return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[66]]= function(_0xe848x12,_0xe848x10){if(_0xe848x12[_0xa633[42]][_0xa633[26]]){delete _0xe848x12[_0xa633[42]][_0xa633[26]]};return OpenchannelAccount[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])[_0xa633[20]](function(_0xe848x14){if(!_0xe848x14){return _0xe848x10[_0xa633[25]](404)};var _0xe848x20=_[_0xa633[35]](_0xe848x14,_0xe848x12[_0xa633[42]]);return _0xe848x20[_0xa633[68]]()})[_0xa633[20]](function(_0xe848x14){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]](_0xe848x14)})[_0xa633[19]](sequelize.UniqueConstraintError,function(_0xe848x11){return Util[_0xa633[41]][_0xa633[40]](_0xe848x10,_0xe848x11)})[_0xa633[19]](function(_0xe848x11){console[_0xa633[49]](_0xa633[67],_0xe848x11);return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[69]]= function(_0xe848x12,_0xe848x10){if(_0xe848x12[_0xa633[42]][_0xa633[26]]){delete _0xe848x12[_0xa633[42]][_0xa633[26]]};return OpenchannelDisposition[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[70]])[_0xa633[20]](function(_0xe848x21){if(!_0xe848x21){return _0xe848x10[_0xa633[25]](404)};var _0xe848x20=_[_0xa633[35]](_0xe848x21,_0xe848x12[_0xa633[42]]);return _0xe848x20[_0xa633[68]]()})[_0xa633[20]](function(_0xe848x21){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]](_0xe848x21)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[71]]= function(_0xe848x12,_0xe848x10){var _0xe848x22=0;var _0xe848x23=_0xe848x12[_0xa633[42]];_0xe848x23[_0xa633[74]](function(_0xe848x24){delete _0xe848x24[_0xa633[26]];delete _0xe848x24[_0xa633[63]];delete _0xe848x24[_0xa633[72]];_0xe848x24[_0xa633[73]]= ++_0xe848x22});console[_0xa633[49]](_0xa633[75],_0xe848x12[_0xa633[42]]);return sequelize[_0xa633[78]](function(_0xe848x26){return OpenchannelApplication[_0xa633[77]]({where:{OpenchannelAccountId:_0xe848x12[_0xa633[27]][_0xa633[26]]},individualHooks:true,transaction:_0xe848x26})[_0xa633[20]](function(_0xe848x27){return OpenchannelApplication[_0xa633[76]](_0xe848x23,{individualHooks:true,transaction:_0xe848x26})})})[_0xa633[20]](function(_0xe848x25){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]]({count:_0xe848x25[_0xa633[30]],rows:_0xe848x25})})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[79]]= function(_0xe848x12,_0xe848x10){if(_0xe848x12[_0xa633[42]][_0xa633[26]]){delete _0xe848x12[_0xa633[42]][_0xa633[26]]};return OpenchannelApplication[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[80]])[_0xa633[20]](function(_0xe848x27){if(!_0xe848x27){return _0xe848x10[_0xa633[25]](404)};var _0xe848x20=_[_0xa633[35]](_0xe848x27,_0xe848x12[_0xa633[42]]);return _0xe848x20[_0xa633[68]]()})[_0xa633[20]](function(_0xe848x27){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]](_0xe848x27)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[77]]= function(_0xe848x12,_0xe848x10){return OpenchannelAccount[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])[_0xa633[20]](function(_0xe848x14){if(!_0xe848x14){return _0xe848x10[_0xa633[25]](404)};return _0xe848x14[_0xa633[77]]()})[_0xa633[20]](function(){return _0xe848x10[_0xa633[25]](204)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[81]]= function(_0xe848x12,_0xe848x10,_0xe848x15){return OpenchannelApplication[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[80]])[_0xa633[20]](function(_0xe848x27){if(!_0xe848x27){return _0xe848x10[_0xa633[25]](404)};return _0xe848x27[_0xa633[77]]()})[_0xa633[20]](function(){return _0xe848x10[_0xa633[25]](204)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[82]]= function(_0xe848x12,_0xe848x10,_0xe848x15){return OpenchannelDisposition[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[70]])[_0xa633[20]](function(_0xe848x18){if(!_0xe848x18){return _0xe848x10[_0xa633[25]](404)};return _0xe848x18[_0xa633[77]]()})[_0xa633[20]](function(){return _0xe848x10[_0xa633[25]](204)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[83]]= function(_0xe848x12,_0xe848x10){return OpenchannelApplication[_0xa633[77]]({where:{id:_0xe848x12[_0xa633[21]][_0xa633[84]]},individualHooks:true})[_0xa633[20]](function(){return _0xe848x10[_0xa633[25]](204)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})};exports[_0xa633[85]]= function(_0xe848x12,_0xe848x10,_0xe848x15){var _0xe848x28={where:{OpenchannelAccountId:_0xe848x12[_0xa633[27]][_0xa633[26]],$and:[]},attributes:[_0xa633[26],_0xa633[86],_0xa633[72],_0xa633[87],_0xa633[88],_0xa633[89]],include:[]};if(_0xe848x12[_0xa633[21]]){if(_0xe848x12[_0xa633[21]][_0xa633[87]]){if(_[_0xa633[90]](_0xe848x12[_0xa633[21]][_0xa633[87]])){for(var _0xe848x29=0;_0xe848x29< _0xe848x12[_0xa633[21]][_0xa633[87]][_0xa633[30]];_0xe848x29++){_0xe848x28[_0xa633[94]][_0xa633[93]][_0xa633[92]]({tags:{$like:_0xa633[91]+ _0xe848x12[_0xa633[21]][_0xa633[87]][_0xe848x29]+ _0xa633[91]}})}}else {_0xe848x28[_0xa633[94]][_0xa633[93]][_0xa633[92]]({tags:{$like:_0xa633[91]+ _0xe848x12[_0xa633[21]][_0xa633[87]]+ _0xa633[91]}})};delete _0xe848x12[_0xa633[21]][_0xa633[87]]};_[_0xa633[35]](_0xe848x28[_0xa633[94]],_0xe848x12[_0xa633[21]])};switch(_0xe848x12[_0xa633[47]][_0xa633[104]]){case _0xa633[97]:_0xe848x28[_0xa633[95]][_0xa633[92]]({model:User,attributes:[_0xa633[26]]});var _0xe848x2a;var _0xe848x2b;var _0xe848x2c;return User[_0xa633[28]](_0xe848x12[_0xa633[47]][_0xa633[26]])[_0xa633[20]](function(_0xe848x2f){if(_0xe848x2f){return _0xe848x2f[_0xa633[103]]()}else {return []}})[_0xa633[20]](function(_0xe848x2e){_0xe848x2b= _[_0xa633[99]](_0xe848x2e,_0xa633[26]);return OpenchannelAccount[_0xa633[28]](_0xe848x12[_0xa633[27]][_0xa633[26]])})[_0xa633[20]](function(_0xe848x13){return _0xe848x13[_0xa633[36]]({where:{$or:[{app:_0xa633[100]},{app:_0xa633[97]}]}})})[_0xa633[20]](function(_0xe848x23){_0xe848x2a= _[_0xa633[99]](_[_0xa633[98]](_0xe848x23,{"\x61\x70\x70":_0xa633[97]}),_0xa633[46]);_0xe848x2c= _[_0xa633[99]](_[_0xa633[98]](_0xe848x23,{"\x61\x70\x70":_0xa633[100]}),_0xa633[101]);if(_[_0xa633[102]](_0xe848x2b,_0xe848x2c)[_0xa633[30]]|| _[_0xa633[102]](_0xe848x2a,[_0xe848x12[_0xa633[47]][_0xa633[26]]])[_0xa633[30]]){return OpenchannelRoom[_0xa633[65]](_0xe848x28)[_0xa633[20]](function(_0xe848x2d){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]](_0xe848x2d)})[_0xa633[19]](function(_0xe848x11){console[_0xa633[96]](_0xe848x11);return handleError(_0xe848x10,_0xe848x11)})}else {return _0xe848x10[_0xa633[17]](200)[_0xa633[16]]([])}})[_0xa633[19]](function(_0xe848x11){console[_0xa633[96]](_0xe848x11)});default:return OpenchannelRoom[_0xa633[65]](_0xe848x28)[_0xa633[20]](function(_0xe848x2d){return _0xe848x10[_0xa633[17]](200)[_0xa633[16]](_0xe848x2d)})[_0xa633[19]](function(_0xe848x11){return handleError(_0xe848x10,_0xe848x11)})}};exports[_0xa633[105]]= function(_0xe848x12,_0xe848x10,_0xe848x15){return OpenchannelApplication[_0xa633[107]](_0xa633[73],{where:{OpenchannelAccountId:_0xe848x12[_0xa633[27]][_0xa633[26]]}})[_0xa633[20]](function(_0xe848x31){_0xe848x12[_0xa633[42]][_0xa633[73]]= _0xe848x31?++_0xe848x31:1;_0xe848x12[_0xa633[42]][_0xa633[44]]= _0xe848x12[_0xa633[27]][_0xa633[26]];return OpenchannelApplication[_0xa633[39]](_0xe848x12[_0xa633[42]])})[_0xa633[20]](function(_0xe848x30){return _0xe848x10[_0xa633[17]](201)[_0xa633[16]](_0xe848x30)})[_0xa633[19]](function(_0xe848x11){console[_0xa633[49]](_0xa633[106],_0xe848x11);return handleError(_0xe848x10,_0xe848x11)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const OpenchannelAccount = require('../../models').OpenchannelAccount;
-
-var OpenchannelAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-OpenchannelAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- OpenchannelAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- OpenchannelAccountEvents.emit(event + ':' + doc._id, doc);
- OpenchannelAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = OpenchannelAccountEvents;
+var _0xc723=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc723[0];const EventEmitter=require(_0xc723[1]);const OpenchannelAccount=require(_0xc723[3])[_0xc723[2]];var OpenchannelAccountEvents= new EventEmitter();OpenchannelAccountEvents[_0xc723[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc723[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xc723[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc723[6]};for(var e in events){var event=events[e];OpenchannelAccount[_0xc723[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xb4d7x8,_0xb4d7x9,_0xb4d7xa){OpenchannelAccountEvents[_0xc723[10]](event+ _0xc723[8]+ _0xb4d7x8[_0xc723[9]],_0xb4d7x8);OpenchannelAccountEvents[_0xc723[10]](event,_0xb4d7x8);_0xb4d7xa(null)}}module[_0xc723[11]]= OpenchannelAccountEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const OpenchannelAccountEvents = require('./openchannel_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('openchannel_account:' + event, socket);
-
- OpenchannelAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- OpenchannelAccountEvents.removeListener(event, listener);
- };
-}
+var _0xb496=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xb496[0];const OpenchannelAccountEvents=require(_0xb496[1]);var events=[_0xb496[2],_0xb496[3]];exports[_0xb496[4]]= function(_0x55c9x3){for(var _0x55c9x4=0,_0x55c9x5=events[_0xb496[5]];_0x55c9x4< _0x55c9x5;_0x55c9x4++){var _0x55c9x6=events[_0x55c9x4];var _0x55c9x7=createListener(_0xb496[6]+ _0x55c9x6,_0x55c9x3);OpenchannelAccountEvents[_0xb496[7]](_0x55c9x6,_0x55c9x7);_0x55c9x3[_0xb496[7]](_0xb496[8],removeListener(_0x55c9x6,_0x55c9x7))}};function createListener(_0x55c9x6,_0x55c9x3){return function(_0x55c9x9){_0x55c9x3[_0xb496[9]](_0x55c9x6,_0x55c9x9)}}function removeListener(_0x55c9x6,_0x55c9x7){return function(){OpenchannelAccountEvents[_0xb496[10]](_0x55c9x6,_0x55c9x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./openchannel_application.controller');
-var license = require('../../config/license/license.service');
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x1098=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1098[0];var express=require(_0x1098[1]);var auth=require(_0x1098[2]);var controller=require(_0x1098[3]);var license=require(_0x1098[4]);var router=express.Router();router[_0x1098[11]](_0x1098[5],auth[_0x1098[6]](),license[_0x1098[7]](),auth[_0x1098[9]]([20],[_0x1098[8]]),controller[_0x1098[10]]);router[_0x1098[11]](_0x1098[12],auth[_0x1098[6]](),license[_0x1098[7]](),auth[_0x1098[9]]([20],[_0x1098[8]]),controller[_0x1098[13]]);router[_0x1098[15]](_0x1098[5],auth[_0x1098[6]](),license[_0x1098[7]](),auth[_0x1098[9]]([20],[_0x1098[8]]),controller[_0x1098[14]]);router[_0x1098[17]](_0x1098[12],auth[_0x1098[6]](),license[_0x1098[7]](),auth[_0x1098[9]]([20],[_0x1098[8]]),controller[_0x1098[16]]);router[_0x1098[19]](_0x1098[12],auth[_0x1098[6]](),license[_0x1098[7]](),auth[_0x1098[9]]([20],[_0x1098[8]]),controller[_0x1098[18]]);module[_0x1098[20]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/applications -> index
- * POST /api/openchannel/applications -> create
- * GET /api/openchannel/applications/:id -> show
- * PUT /api/openchannel/applications/:id -> update
- * DELETE /api/openchannel/applications/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var OpenchannelApplication = require('../../models').OpenchannelApplication;
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of OpenchannelApplication
-exports.index = function(req, res) {
- return OpenchannelApplication
- .findAll({
- where: req.query,
- order: 'priority',
- include: [{
- all: true
- }]
- })
- .then(function(Applications) {
- return res.status(200).send(Applications);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Gets a single OpenchannelApplication from the DB
-exports.show = function(req, res) {
- return OpenchannelApplication
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(Application) {
- if (!Application) {
- return res.sendStatus(404);
- }
- return res.send(Application);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-// Creates a new OpenchannelApplication in the DB
-exports.create = function(req, res) {
-
- return OpenchannelApplication
- .max('priority', {
- where: {
- OpenchannelAccountId: req.body.OpenchannelAccountId
- }
- })
- .then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- return OpenchannelApplication
- .create(req.body)
- })
- .then(function(Application) {
- return res.status(201).send(Application);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-
-}
-
-// Updates an existing OpenchannelApplication in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return OpenchannelApplication
- .findById(req.params.id)
- .then(function(Application) {
- if (!Application) {
- return res.sendStatus(404);
- }
- var updated = _.merge(Application, req.body);
- return updated
- .save()
-
- })
- .then(function(Application) {
- return res.status(200).send(Application);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-
-// Deletes a OpenchannelApplication from the DB
-exports.destroy = function(req, res) {
- return OpenchannelApplication
- .findById(req.params.id)
- .then(function(Application) {
- if (!Application) {
- return res.sendStatus(404);
- }
- return Application
- .destroy()
-
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
+var _0x7f15=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x7f15[0];var _=require(_0x7f15[1]);var Util=require(_0x7f15[2]);var OpenchannelApplication=require(_0x7f15[4])[_0x7f15[3]];function handleError(_0xc240x5,_0xc240x6){return _0xc240x5[_0x7f15[6]](500)[_0x7f15[5]](_0xc240x6)}exports[_0x7f15[7]]= function(_0xc240x7,_0xc240x5){return OpenchannelApplication[_0x7f15[12]]({where:_0xc240x7[_0x7f15[10]],order:_0x7f15[11],include:[{all:true}]})[_0x7f15[9]](function(_0xc240x8){return _0xc240x5[_0x7f15[6]](200)[_0x7f15[5]](_0xc240x8)})[_0x7f15[8]](function(_0xc240x6){return handleError(_0xc240x5,_0xc240x6)})};exports[_0x7f15[13]]= function(_0xc240x7,_0xc240x5){return OpenchannelApplication[_0x7f15[17]](_0xc240x7[_0x7f15[16]][_0x7f15[15]],{include:[{all:true}]})[_0x7f15[9]](function(_0xc240x9){if(!_0xc240x9){return _0xc240x5[_0x7f15[14]](404)};return _0xc240x5[_0x7f15[5]](_0xc240x9)})[_0x7f15[8]](function(_0xc240x6){return handleError(_0xc240x5,_0xc240x6)})};exports[_0x7f15[18]]= function(_0xc240x7,_0xc240x5){return OpenchannelApplication[_0x7f15[21]](_0x7f15[11],{where:{OpenchannelAccountId:_0xc240x7[_0x7f15[19]][_0x7f15[20]]}})[_0x7f15[9]](function(_0xc240xa){_0xc240x7[_0x7f15[19]][_0x7f15[11]]= _0xc240xa?++_0xc240xa:1;return OpenchannelApplication[_0x7f15[18]](_0xc240x7[_0x7f15[19]])})[_0x7f15[9]](function(_0xc240x9){return _0xc240x5[_0x7f15[6]](201)[_0x7f15[5]](_0xc240x9)})[_0x7f15[8]](function(_0xc240x6){return handleError(_0xc240x5,_0xc240x6)})};exports[_0x7f15[22]]= function(_0xc240x7,_0xc240x5){if(_0xc240x7[_0x7f15[19]][_0x7f15[15]]){delete _0xc240x7[_0x7f15[19]][_0x7f15[15]]};return OpenchannelApplication[_0x7f15[17]](_0xc240x7[_0x7f15[16]][_0x7f15[15]])[_0x7f15[9]](function(_0xc240x9){if(!_0xc240x9){return _0xc240x5[_0x7f15[14]](404)};var _0xc240xb=_[_0x7f15[23]](_0xc240x9,_0xc240x7[_0x7f15[19]]);return _0xc240xb[_0x7f15[24]]()})[_0x7f15[9]](function(_0xc240x9){return _0xc240x5[_0x7f15[6]](200)[_0x7f15[5]](_0xc240x9)})[_0x7f15[8]](function(_0xc240x6){return handleError(_0xc240x5,_0xc240x6)})};exports[_0x7f15[25]]= function(_0xc240x7,_0xc240x5){return OpenchannelApplication[_0x7f15[17]](_0xc240x7[_0x7f15[16]][_0x7f15[15]])[_0x7f15[9]](function(_0xc240x9){if(!_0xc240x9){return _0xc240x5[_0x7f15[14]](404)};return _0xc240x9[_0x7f15[25]]()})[_0x7f15[9]](function(){return _0xc240x5[_0x7f15[14]](204)})[_0x7f15[8]](function(_0xc240x6){return handleError(_0xc240x5,_0xc240x6)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const OpenchannelApplication = require('../../models').OpenchannelApplication;
-
-var OpenchannelApplicationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-OpenchannelApplicationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- OpenchannelApplication.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- OpenchannelApplicationEvents.emit(event + ':' + doc._id, doc);
- OpenchannelApplicationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = OpenchannelApplicationEvents;
+var _0x21b4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x21b4[0];const EventEmitter=require(_0x21b4[1]);const OpenchannelApplication=require(_0x21b4[3])[_0x21b4[2]];var OpenchannelApplicationEvents= new EventEmitter();OpenchannelApplicationEvents[_0x21b4[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x21b4[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x21b4[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x21b4[6]};for(var e in events){var event=events[e];OpenchannelApplication[_0x21b4[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x8b2dx8,_0x8b2dx9,_0x8b2dxa){OpenchannelApplicationEvents[_0x21b4[10]](event+ _0x21b4[8]+ _0x8b2dx8[_0x21b4[9]],_0x8b2dx8);OpenchannelApplicationEvents[_0x21b4[10]](event,_0x8b2dx8);_0x8b2dxa(null)}}module[_0x21b4[11]]= OpenchannelApplicationEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const OpenchannelApplicationEvents = require('./openchannel_application.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('openchannel_application:' + event, socket);
-
- OpenchannelApplicationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- OpenchannelApplicationEvents.removeListener(event, listener);
- };
-}
+var _0x5652=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5652[0];const OpenchannelApplicationEvents=require(_0x5652[1]);var events=[_0x5652[2],_0x5652[3]];exports[_0x5652[4]]= function(_0x66d5x3){for(var _0x66d5x4=0,_0x66d5x5=events[_0x5652[5]];_0x66d5x4< _0x66d5x5;_0x66d5x4++){var _0x66d5x6=events[_0x66d5x4];var _0x66d5x7=createListener(_0x5652[6]+ _0x66d5x6,_0x66d5x3);OpenchannelApplicationEvents[_0x5652[7]](_0x66d5x6,_0x66d5x7);_0x66d5x3[_0x5652[7]](_0x5652[8],removeListener(_0x66d5x6,_0x66d5x7))}};function createListener(_0x66d5x6,_0x66d5x3){return function(_0x66d5x9){_0x66d5x3[_0x5652[9]](_0x66d5x6,_0x66d5x9)}}function removeListener(_0x66d5x6,_0x66d5x7){return function(){OpenchannelApplicationEvents[_0x5652[10]](_0x66d5x6,_0x66d5x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./openchannel_disposition.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-module.exports = router;
+var _0x17e1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x17e1[0];var express=require(_0x17e1[1]);var controller=require(_0x17e1[2]);var auth=require(_0x17e1[3]);var router=express.Router();router[_0x17e1[7]](_0x17e1[4],auth[_0x17e1[5]](),controller[_0x17e1[6]]);router[_0x17e1[7]](_0x17e1[8],auth[_0x17e1[5]](),controller[_0x17e1[9]]);router[_0x17e1[11]](_0x17e1[4],auth[_0x17e1[5]](),controller[_0x17e1[10]]);router[_0x17e1[13]](_0x17e1[8],auth[_0x17e1[5]](),controller[_0x17e1[12]]);router[_0x17e1[14]](_0x17e1[8],auth[_0x17e1[5]](),controller[_0x17e1[12]]);router[_0x17e1[16]](_0x17e1[8],auth[_0x17e1[5]](),controller[_0x17e1[15]]);module[_0x17e1[17]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/disposition -> index
- * POST /api/openchannel/disposition -> create
- * GET /api/openchannel/disposition/:id -> show
- * PUT /api/openchannel/disposition/:id -> update
- * DELETE /api/openchannel/disposition/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var OpenchannelDisposition = require('../../models').OpenchannelDisposition;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- })
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- })
- }
- };
-}
-
-// Gets a list of OpenchannelDisposition
-exports.index = function(req, res) {
- OpenchannelDisposition
- .findAndCountAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single OpenchannelDisposition from the DB
-exports.show = function(req, res) {
- OpenchannelDisposition
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new OpenchannelDisposition in the DB
-exports.create = function(req, res) {
- OpenchannelDisposition
- .create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing OpenchannelDisposition in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- OpenchannelDisposition
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a OpenchannelDisposition from the DB
-exports.destroy = function(req, res) {
- OpenchannelDisposition
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x5b68=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x5b68[0];var _=require(_0x5b68[1]);var Util=require(_0x5b68[2]);var OpenchannelDisposition=require(_0x5b68[4])[_0x5b68[3]];function handleError(_0x971bx5,_0x971bx6){_0x971bx6= _0x971bx6|| 500;return function(_0x971bx7){_0x971bx5[_0x5b68[6]](_0x971bx6)[_0x5b68[5]](_0x971bx7)}}function responseWithResult(_0x971bx5,_0x971bx6){_0x971bx6= _0x971bx6|| 200;return function(_0x971bx9){if(_0x971bx9){_0x971bx5[_0x5b68[6]](_0x971bx6)[_0x5b68[7]](_0x971bx9)}}}function handleEntityNotFound(_0x971bx5){return function(_0x971bx9){if(!_0x971bx9){_0x971bx5[_0x5b68[6]](404)[_0x5b68[8]]();return null};return _0x971bx9}}function saveUpdates(_0x971bxc){return function(_0x971bx9){return _0x971bx9[_0x5b68[10]](_0x971bxc)[_0x5b68[9]](function(_0x971bxd){return _0x971bxd})}}function removeEntity(_0x971bx5){return function(_0x971bx9){if(_0x971bx9){return _0x971bx9[_0x5b68[11]]()[_0x5b68[9]](function(){_0x971bx5[_0x5b68[6]](204)[_0x5b68[8]]()})}}}exports[_0x5b68[12]]= function(_0x971bxf,_0x971bx5){OpenchannelDisposition[_0x5b68[14]]()[_0x5b68[9]](responseWithResult(_0x971bx5))[_0x5b68[13]](handleError(_0x971bx5))};exports[_0x5b68[15]]= function(_0x971bxf,_0x971bx5){OpenchannelDisposition[_0x5b68[18]](_0x971bxf[_0x5b68[17]][_0x5b68[16]])[_0x5b68[9]](handleEntityNotFound(_0x971bx5))[_0x5b68[9]](responseWithResult(_0x971bx5))[_0x5b68[13]](handleError(_0x971bx5))};exports[_0x5b68[19]]= function(_0x971bxf,_0x971bx5){OpenchannelDisposition[_0x5b68[19]](_0x971bxf[_0x5b68[20]])[_0x5b68[9]](responseWithResult(_0x971bx5,201))[_0x5b68[13]](handleError(_0x971bx5))};exports[_0x5b68[21]]= function(_0x971bxf,_0x971bx5){if(_0x971bxf[_0x5b68[20]][_0x5b68[16]]){delete _0x971bxf[_0x5b68[20]][_0x5b68[16]]};OpenchannelDisposition[_0x5b68[18]](_0x971bxf[_0x5b68[17]][_0x5b68[16]])[_0x5b68[9]](handleEntityNotFound(_0x971bx5))[_0x5b68[9]](saveUpdates(_0x971bxf[_0x5b68[20]]))[_0x5b68[9]](responseWithResult(_0x971bx5))[_0x5b68[13]](handleError(_0x971bx5))};exports[_0x5b68[11]]= function(_0x971bxf,_0x971bx5){OpenchannelDisposition[_0x5b68[18]](_0x971bxf[_0x5b68[17]][_0x5b68[16]])[_0x5b68[9]](handleEntityNotFound(_0x971bx5))[_0x5b68[9]](removeEntity(_0x971bx5))[_0x5b68[13]](handleError(_0x971bx5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const OpenchannelDisposition = require('../../models').OpenchannelDisposition;
-
-var OpenchannelDispositionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-OpenchannelDispositionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- OpenchannelDisposition.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- OpenchannelDispositionEvents.emit(event + ':' + doc._id, doc);
- OpenchannelDispositionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = OpenchannelDispositionEvents;
+var _0xfd76=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xfd76[0];const EventEmitter=require(_0xfd76[1]);const OpenchannelDisposition=require(_0xfd76[3])[_0xfd76[2]];var OpenchannelDispositionEvents= new EventEmitter();OpenchannelDispositionEvents[_0xfd76[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xfd76[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xfd76[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xfd76[6]};for(var e in events){var event=events[e];OpenchannelDisposition[_0xfd76[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xcfbdx8,_0xcfbdx9,_0xcfbdxa){OpenchannelDispositionEvents[_0xfd76[10]](event+ _0xfd76[8]+ _0xcfbdx8[_0xfd76[9]],_0xcfbdx8);OpenchannelDispositionEvents[_0xfd76[10]](event,_0xcfbdx8);_0xcfbdxa(null)}}module[_0xfd76[11]]= OpenchannelDispositionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const OpenchannelDispositionEvents = require('./openchannel_disposition.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('openchannel_disposition:' + event, socket);
-
- OpenchannelDispositionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- OpenchannelDispositionEvents.removeListener(event, listener);
- };
-}
+var _0x2ff4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x2ff4[0];const OpenchannelDispositionEvents=require(_0x2ff4[1]);var events=[_0x2ff4[2],_0x2ff4[3]];exports[_0x2ff4[4]]= function(_0x91a4x3){for(var _0x91a4x4=0,_0x91a4x5=events[_0x2ff4[5]];_0x91a4x4< _0x91a4x5;_0x91a4x4++){var _0x91a4x6=events[_0x91a4x4];var _0x91a4x7=createListener(_0x2ff4[6]+ _0x91a4x6,_0x91a4x3);OpenchannelDispositionEvents[_0x2ff4[7]](_0x91a4x6,_0x91a4x7);_0x91a4x3[_0x2ff4[7]](_0x2ff4[8],removeListener(_0x91a4x6,_0x91a4x7))}};function createListener(_0x91a4x6,_0x91a4x3){return function(_0x91a4x9){_0x91a4x3[_0x2ff4[9]](_0x91a4x6,_0x91a4x9)}}function removeListener(_0x91a4x6,_0x91a4x7){return function(){OpenchannelDispositionEvents[_0x2ff4[10]](_0x91a4x6,_0x91a4x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./openchannel_message.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.describe);
-router.get('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin', 'agent']), controller.show);
-router.post('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.destroy);
-router.delete('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.bulkDelete);
-
-module.exports = router;
+var _0x9d84=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9d84[0];var express=require(_0x9d84[1]);var auth=require(_0x9d84[2]);var controller=require(_0x9d84[3]);var license=require(_0x9d84[4]);var router=express.Router();router[_0x9d84[11]](_0x9d84[5],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8]]),controller[_0x9d84[10]]);router[_0x9d84[11]](_0x9d84[12],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8]]),controller[_0x9d84[13]]);router[_0x9d84[11]](_0x9d84[14],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8],_0x9d84[15]]),controller[_0x9d84[16]]);router[_0x9d84[18]](_0x9d84[5],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8]]),controller[_0x9d84[17]]);router[_0x9d84[20]](_0x9d84[14],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8]]),controller[_0x9d84[19]]);router[_0x9d84[22]](_0x9d84[14],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8]]),controller[_0x9d84[21]]);router[_0x9d84[22]](_0x9d84[5],auth[_0x9d84[6]](),license[_0x9d84[7]](),auth[_0x9d84[9]]([20],[_0x9d84[8]]),controller[_0x9d84[23]]);module[_0x9d84[24]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/messages -> index
- * POST /api/openchannel/messages -> create
- * GET /api/openchannel/messages/:id -> show
- * PUT /api/openchannel/messages/:id -> update
- * DELETE /api/openchannel/messages/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var OpenchannelMessage = require('../../models').OpenchannelMessage;
-var OpenchannelRoom = require('../../models').OpenchannelRoom;
-var User = require('../../models').User;
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of OpenchannelMessage
-exports.index = function(req, res) {
- var params = {
- order: 'createdAt DESC',
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- };
-
- switch (req.user.role) {
- case 'admin':
- params.where = req.query;
- break;
- case 'agent':
- break;
- default:
- }
-
- return OpenchannelMessage
- .findAll(params)
- .then(function(messages) {
- return res.status(200).send(messages);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.describe = function(req, res) {
- return OpenchannelMessage
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Gets a single OpenchannelMessage from the DB
-exports.show = function(req, res) {
- return OpenchannelMessage
- .findById(req.params.id, {
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- })
- .then(function(Message) {
- if (!Message) {
- return res.sendStatus(404);
- }
- return res.send(Message);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Creates a new OpenchannelMessage in the DB
-exports.create = function(req, res) {
- req.body.UserId = req.user.id;
- return OpenchannelMessage
- .create(req.body)
- .then(function(Message) {
- return res.status(201).send(Message);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Updates an existing OpenchannelMessage in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return OpenchannelMessage
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(Message) {
- if (!Message) {
- return res.sendStatus(404);
- }
- var updated = _.merge(Message, req.body);
- return updated
- .save();
- })
- .then(function(updated) {
- return res.status(200).send(updated);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Deletes a OpenchannelMessage from the DB
-exports.destroy = function(req, res) {
- return OpenchannelMessage
- .findById(req.params.id)
- .then(function(Message) {
- if (!Message) {
- return res.sendStatus(404);
- }
- return Message
- .destroy();
- }).then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDelete = function(req, res) {
- return OpenchannelMessage
- .bulkUpdate({
- where: {
- id: {
- $in: req.body.id
- }
- },
- attributes: {
- directory: 'TRASH'
- }
- })
- .then(function(Message) {
- if (!Message) {
- return res.sendStatus(404);
- }
- return Message
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0xb357=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x55\x73\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0xb357[0];var _=require(_0xb357[1]);var Util=require(_0xb357[2]);var OpenchannelMessage=require(_0xb357[4])[_0xb357[3]];var OpenchannelRoom=require(_0xb357[4])[_0xb357[5]];var User=require(_0xb357[4])[_0xb357[6]];function handleError(_0x27c1x7,_0x27c1x8){return _0x27c1x7[_0xb357[8]](500)[_0xb357[7]](_0x27c1x8)}exports[_0xb357[9]]= function(_0x27c1x9,_0x27c1x7){var _0x27c1xa={order:_0xb357[10],include:[{all:true,include:[{all:true}]}]};switch(_0x27c1x9[_0xb357[16]][_0xb357[15]]){case _0xb357[13]:_0x27c1xa[_0xb357[11]]= _0x27c1x9[_0xb357[12]];break;case _0xb357[14]:break;default:};return OpenchannelMessage[_0xb357[19]](_0x27c1xa)[_0xb357[18]](function(_0x27c1xb){return _0x27c1x7[_0xb357[8]](200)[_0xb357[7]](_0x27c1xb)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})};exports[_0xb357[20]]= function(_0x27c1x9,_0x27c1x7){return OpenchannelMessage[_0xb357[20]]()[_0xb357[18]](function(_0x27c1xc){return _0x27c1x7[_0xb357[8]](200)[_0xb357[7]](_0x27c1xc)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})};exports[_0xb357[21]]= function(_0x27c1x9,_0x27c1x7){return OpenchannelMessage[_0xb357[28]](_0x27c1x9[_0xb357[24]][_0xb357[23]],{include:[{model:User,attributes:[_0xb357[23],_0xb357[25],_0xb357[26],_0xb357[27]]}]})[_0xb357[18]](function(_0x27c1xd){if(!_0x27c1xd){return _0x27c1x7[_0xb357[22]](404)};return _0x27c1x7[_0xb357[7]](_0x27c1xd)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})};exports[_0xb357[29]]= function(_0x27c1x9,_0x27c1x7){_0x27c1x9[_0xb357[31]][_0xb357[30]]= _0x27c1x9[_0xb357[16]][_0xb357[23]];return OpenchannelMessage[_0xb357[29]](_0x27c1x9[_0xb357[31]])[_0xb357[18]](function(_0x27c1xd){return _0x27c1x7[_0xb357[8]](201)[_0xb357[7]](_0x27c1xd)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})};exports[_0xb357[32]]= function(_0x27c1x9,_0x27c1x7){if(_0x27c1x9[_0xb357[31]][_0xb357[23]]){delete _0x27c1x9[_0xb357[31]][_0xb357[23]]};return OpenchannelMessage[_0xb357[28]](_0x27c1x9[_0xb357[24]][_0xb357[23]],{include:[{all:true}]})[_0xb357[18]](function(_0x27c1xd){if(!_0x27c1xd){return _0x27c1x7[_0xb357[22]](404)};var _0x27c1xe=_[_0xb357[33]](_0x27c1xd,_0x27c1x9[_0xb357[31]]);return _0x27c1xe[_0xb357[34]]()})[_0xb357[18]](function(_0x27c1xe){return _0x27c1x7[_0xb357[8]](200)[_0xb357[7]](_0x27c1xe)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})};exports[_0xb357[35]]= function(_0x27c1x9,_0x27c1x7){return OpenchannelMessage[_0xb357[28]](_0x27c1x9[_0xb357[24]][_0xb357[23]])[_0xb357[18]](function(_0x27c1xd){if(!_0x27c1xd){return _0x27c1x7[_0xb357[22]](404)};return _0x27c1xd[_0xb357[35]]()})[_0xb357[18]](function(){return _0x27c1x7[_0xb357[22]](204)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})};exports[_0xb357[36]]= function(_0x27c1x9,_0x27c1x7){return OpenchannelMessage[_0xb357[38]]({where:{id:{$in:_0x27c1x9[_0xb357[31]][_0xb357[23]]}},attributes:{directory:_0xb357[37]}})[_0xb357[18]](function(_0x27c1xd){if(!_0x27c1xd){return _0x27c1x7[_0xb357[22]](404)};return _0x27c1xd[_0xb357[35]]()})[_0xb357[18]](function(){return _0x27c1x7[_0xb357[22]](204)})[_0xb357[17]](function(_0x27c1x8){return handleError(_0x27c1x7,_0x27c1x8)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const OpenchannelMessage = require('../../models').OpenchannelMessage;
-
-var OpenchannelMessageEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-OpenchannelMessageEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- OpenchannelMessage.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- OpenchannelMessageEvents.emit(event + ':' + doc._id, doc);
- OpenchannelMessageEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = OpenchannelMessageEvents;
+var _0xcc49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xcc49[0];const EventEmitter=require(_0xcc49[1]);const OpenchannelMessage=require(_0xcc49[3])[_0xcc49[2]];var OpenchannelMessageEvents= new EventEmitter();OpenchannelMessageEvents[_0xcc49[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xcc49[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xcc49[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xcc49[7]};for(var e in events){var event=events[e];OpenchannelMessage[_0xcc49[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xd05fx8,_0xd05fx9,_0xd05fxa){OpenchannelMessageEvents[_0xcc49[11]](event+ _0xcc49[9]+ _0xd05fx8[_0xcc49[10]],_0xd05fx8);OpenchannelMessageEvents[_0xcc49[11]](event,_0xd05fx8);_0xd05fxa(null)}}module[_0xcc49[12]]= OpenchannelMessageEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const OpenchannelMessageEvents = require('./openchannel_message.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('openchannel_message:' + event, socket);
-
- OpenchannelMessageEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'openchannel_message:save':
- socket.emit(event, doc);
- break;
- case 'openchannel_message:update':
- if (doc.changed('status')) {
- socket.emit(event, doc);
- }
- break;
- case 'openchannel_message:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- OpenchannelMessageEvents.removeListener(event, listener);
- };
-}
+var _0x75e5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x75\x70\x64\x61\x74\x65","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x75e5[0];const OpenchannelMessageEvents=require(_0x75e5[1]);var events=[_0x75e5[2],_0x75e5[3],_0x75e5[4]];exports[_0x75e5[5]]= function(_0xfc27x3){for(var _0xfc27x4=0,_0xfc27x5=events[_0x75e5[6]];_0xfc27x4< _0xfc27x5;_0xfc27x4++){var _0xfc27x6=events[_0xfc27x4];var _0xfc27x7=createListener(_0x75e5[7]+ _0xfc27x6,_0xfc27x3);OpenchannelMessageEvents[_0x75e5[8]](_0xfc27x6,_0xfc27x7);_0xfc27x3[_0x75e5[8]](_0x75e5[9],removeListener(_0xfc27x6,_0xfc27x7))}};function createListener(_0xfc27x6,_0xfc27x3){return function(_0xfc27x9){switch(_0xfc27x6){case _0x75e5[11]:_0xfc27x3[_0x75e5[10]](_0xfc27x6,_0xfc27x9);break;case _0x75e5[14]:if(_0xfc27x9[_0x75e5[13]](_0x75e5[12])){_0xfc27x3[_0x75e5[10]](_0xfc27x6,_0xfc27x9)};break;case _0x75e5[15]:_0xfc27x3[_0x75e5[10]](_0xfc27x6,_0xfc27x9);break;default:}}}function removeListener(_0xfc27x6,_0xfc27x7){return function(){OpenchannelMessageEvents[_0x75e5[16]](_0xfc27x6,_0xfc27x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./openchannel_queue.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-// router.get('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.index);
-router.get('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.show);
-router.get('/:id/agents', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.showAgents);
-router.post('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.create);
-router.post('/:id/agents', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.addAgents);
-router.put('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.update);
-router.patch('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.destroy);
-router.delete('/:id/agents', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.removeAgents);
-router.delete('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.bulkDestroy);
-
-module.exports = router;
+var _0xe436=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xe436[0];var express=require(_0xe436[1]);var auth=require(_0xe436[2]);var controller=require(_0xe436[3]);var license=require(_0xe436[4]);var router=express.Router();router[_0xe436[11]](_0xe436[5],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[10]]);router[_0xe436[11]](_0xe436[12],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[13]]);router[_0xe436[11]](_0xe436[14],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[15]]);router[_0xe436[17]](_0xe436[5],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[16]]);router[_0xe436[17]](_0xe436[14],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[18]]);router[_0xe436[20]](_0xe436[12],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[19]]);router[_0xe436[21]](_0xe436[12],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[19]]);router[_0xe436[23]](_0xe436[12],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[22]]);router[_0xe436[23]](_0xe436[14],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[24]]);router[_0xe436[23]](_0xe436[5],auth[_0xe436[6]](),license[_0xe436[7]](),auth[_0xe436[9]]([20],[_0xe436[8]]),controller[_0xe436[25]]);module[_0xe436[26]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/queues -> index
- * POST /api/openchannel/queues -> create
- * GET /api/openchannel/queues/:id -> show
- * PUT /api/openchannel/queues/:id -> update
- * DELETE /api/openchannel/queues/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var OpenchannelQueue = require('../../models').OpenchannelQueue;
-var User = require('../../models').User;
-var sequelize = require('../../models').sequelize;
-var UserHasOpenchannelQueue = require('../../models').UserHasOpenchannelQueue;
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-
-// Gets a list of openchannelQueues
-exports.index = function(req, res) {
-
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return OpenchannelQueue
- .scope('default')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-
-
-
-}
-
-// Gets a single OpenchannelQueue from the DB
-exports.show = function(req, res) {
- return OpenchannelQueue
- .scope('default')
- .findById(req.params.id)
- .then(function(Queue) {
- if (!Queue) {
- return res.sendStatus(404);
- }
- return res.send(Queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.showAgents = function(req, res) {
- return OpenchannelQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- // console.log(agents);
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new OpenchannelQueue in the DB
-exports.create = function(req, res) {
- var _openchannelQueue;
-
- return OpenchannelQueue
- .create(req.body)
- .then(function(openchannelQueue) {
- _openchannelQueue = openchannelQueue;
-
- if (req.body.agents) {
- return _openchannelQueue
- .addUsers(req.body.agents, {
- penalty: req.body.penalty || 0,
- queue: _openchannelQueue.name
- });
- }
- })
- .then(function() {
- return res.status(201).send(_openchannelQueue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Updates an existing OpenchannelQueue in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return OpenchannelQueue
- .findById(req.params.id)
- .then(function(Queue) {
- if (!Queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(Queue, req.body);
- return updated
- .save();
- })
- .then(function(Queue) {
- return res.status(200).send(Queue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
- // Updates an existing OpenchannelQueue in the DB.
-exports.addAgents = function(req, res, next) {
- return OpenchannelQueue
- .findById(req.params.id)
- .then(function(Queue) {
- if (!Queue) {
- return res.sendStatus(404);
- }
- var userHasOpenchannelQueues = _.map(req.body.agents, function(agent) {
- return {
- UserId: agent,
- penalty: req.body.penalty,
- OpenchannelQueueId: Queue.id,
- queue: Queue.name
- };
- });
-
- return UserHasOpenchannelQueue
- .bulkCreate(userHasOpenchannelQueues, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.removeAgents = function(req, res) {
- return OpenchannelQueue
- .findById(req.params.id)
- .then(function(Queue) {
- if (Queue) {
- return Queue
- .removeUsers(req.query.agents, {
- individualHooks: true
- });
- } else {
- throw new Error('Openchannel Queue not found');
- }
- })
- .then(function() {
- return res.sendStatus(202);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Deletes a OpenchannelQueue from the DB
-exports.destroy = function(req, res) {
- var _OpenchannelQueue;
- return OpenchannelQueue
- .findById(req.params.id)
- .then(function(Queue) {
- _OpenchannelQueue = Queue;
- if (!Queue) {
- return res.sendStatus(404);
- }
- return Queue
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- return Util.errorManager.handleForeignKeyConstraintError(res, 'queue', _OpenchannelQueue.name, err);
- })
- .catch(function(err) {
- console.error('err', err);
- return handleError(res, err);
- });
-}
-exports.bulkDestroy = function(req, res) {
- return OpenchannelQueue
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0x5bee=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72\x48\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x61\x67\x65\x6E\x74\x73","\x62\x6F\x64\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x61\x64\x64\x55\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x20\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x65\x72\x72","\x65\x72\x72\x6F\x72","\x71\x75\x65\x75\x65","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x5bee[0];var _=require(_0x5bee[1]);var Util=require(_0x5bee[2]);var OpenchannelQueue=require(_0x5bee[4])[_0x5bee[3]];var User=require(_0x5bee[4])[_0x5bee[5]];var sequelize=require(_0x5bee[4])[_0x5bee[6]];var UserHasOpenchannelQueue=require(_0x5bee[4])[_0x5bee[7]];function handleError(_0x5205x8,_0x5205x9){return _0x5205x8[_0x5bee[9]](500)[_0x5bee[8]](_0x5205x9)}exports[_0x5bee[10]]= function(_0x5205xa,_0x5205x8){switch(_0x5205xa[_0x5bee[16]][_0x5bee[23]]){case _0x5bee[16]:return User[_0x5bee[17]](_0x5205xa[_0x5bee[16]][_0x5bee[15]],{attributes:[_0x5bee[15]]})[_0x5bee[12]](Util[_0x5bee[14]](_0x5205xa[_0x5bee[13]]))[_0x5bee[12]](function(_0x5205xb){_0x5205x8[_0x5bee[9]](200)[_0x5bee[8]](_0x5205xb)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)});default:return OpenchannelQueue[_0x5bee[22]](_0x5bee[21])[_0x5bee[20]](_[_0x5bee[19]](Util[_0x5bee[18]](_0x5205xa[_0x5bee[13]]),{distinct:true}))[_0x5bee[12]](function(_0x5205xb){_0x5205x8[_0x5bee[9]](200)[_0x5bee[8]](_0x5205xb)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})}};exports[_0x5bee[24]]= function(_0x5205xa,_0x5205x8){return OpenchannelQueue[_0x5bee[22]](_0x5bee[21])[_0x5bee[17]](_0x5205xa[_0x5bee[26]][_0x5bee[15]])[_0x5bee[12]](function(_0x5205xc){if(!_0x5205xc){return _0x5205x8[_0x5bee[25]](404)};return _0x5205x8[_0x5bee[8]](_0x5205xc)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[27]]= function(_0x5205xa,_0x5205x8){return OpenchannelQueue[_0x5bee[17]](_0x5205xa[_0x5bee[26]][_0x5bee[15]])[_0x5bee[12]](function(_0x5205xe){if(!_0x5205xe){return _0x5205x8[_0x5bee[25]](404)};return _0x5205xe[_0x5bee[33]]({where:{role:_0x5bee[29]},attributes:[_0x5bee[15],_0x5bee[30],_0x5bee[31],_0x5bee[32]]})})[_0x5bee[12]](function(_0x5205xd){return _0x5205x8[_0x5bee[9]](200)[_0x5bee[8]]({rows:_0x5205xd,count:_0x5205xd[_0x5bee[28]]})})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[34]]= function(_0x5205xa,_0x5205x8){var _0x5205xf;return OpenchannelQueue[_0x5bee[34]](_0x5205xa[_0x5bee[38]])[_0x5bee[12]](function(_0x5205x10){_0x5205xf= _0x5205x10;if(_0x5205xa[_0x5bee[38]][_0x5bee[37]]){return _0x5205xf[_0x5bee[40]](_0x5205xa[_0x5bee[38]][_0x5bee[37]],{penalty:_0x5205xa[_0x5bee[38]][_0x5bee[39]]|| 0,queue:_0x5205xf[_0x5bee[30]]})}})[_0x5bee[12]](function(){return _0x5205x8[_0x5bee[9]](201)[_0x5bee[8]](_0x5205xf)})[_0x5bee[11]](sequelize.UniqueConstraintError,function(_0x5205x9){return Util[_0x5bee[36]][_0x5bee[35]](_0x5205x8,_0x5205x9)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[41]]= function(_0x5205xa,_0x5205x8){if(_0x5205xa[_0x5bee[38]][_0x5bee[15]]){delete _0x5205xa[_0x5bee[38]][_0x5bee[15]]};return OpenchannelQueue[_0x5bee[17]](_0x5205xa[_0x5bee[26]][_0x5bee[15]])[_0x5bee[12]](function(_0x5205xc){if(!_0x5205xc){return _0x5205x8[_0x5bee[25]](404)};var _0x5205x11=_[_0x5bee[19]](_0x5205xc,_0x5205xa[_0x5bee[38]]);return _0x5205x11[_0x5bee[42]]()})[_0x5bee[12]](function(_0x5205xc){return _0x5205x8[_0x5bee[9]](200)[_0x5bee[8]](_0x5205xc)})[_0x5bee[11]](sequelize.UniqueConstraintError,function(_0x5205x9){return Util[_0x5bee[36]][_0x5bee[35]](_0x5205x8,_0x5205x9)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[43]]= function(_0x5205xa,_0x5205x8,_0x5205x12){return OpenchannelQueue[_0x5bee[17]](_0x5205xa[_0x5bee[26]][_0x5bee[15]])[_0x5bee[12]](function(_0x5205xc){if(!_0x5205xc){return _0x5205x8[_0x5bee[25]](404)};var _0x5205x13=_[_0x5bee[44]](_0x5205xa[_0x5bee[38]][_0x5bee[37]],function(_0x5205x14){return {UserId:_0x5205x14,penalty:_0x5205xa[_0x5bee[38]][_0x5bee[39]],OpenchannelQueueId:_0x5205xc[_0x5bee[15]],queue:_0x5205xc[_0x5bee[30]]}});return UserHasOpenchannelQueue[_0x5bee[45]](_0x5205x13,{individualHooks:true})})[_0x5bee[12]](function(){return _0x5205x8[_0x5bee[25]](200)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[46]]= function(_0x5205xa,_0x5205x8){return OpenchannelQueue[_0x5bee[17]](_0x5205xa[_0x5bee[26]][_0x5bee[15]])[_0x5bee[12]](function(_0x5205xc){if(_0x5205xc){return _0x5205xc[_0x5bee[47]](_0x5205xa[_0x5bee[13]][_0x5bee[37]],{individualHooks:true})}else {throw new Error(_0x5bee[48])}})[_0x5bee[12]](function(){return _0x5205x8[_0x5bee[25]](202)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[49]]= function(_0x5205xa,_0x5205x8){var _0x5205x15;return OpenchannelQueue[_0x5bee[17]](_0x5205xa[_0x5bee[26]][_0x5bee[15]])[_0x5bee[12]](function(_0x5205xc){_0x5205x15= _0x5205xc;if(!_0x5205xc){return _0x5205x8[_0x5bee[25]](404)};return _0x5205xc[_0x5bee[49]]()})[_0x5bee[12]](function(){return _0x5205x8[_0x5bee[25]](204)})[_0x5bee[11]](sequelize.ForeignKeyConstraintError,function(_0x5205x9){return Util[_0x5bee[36]][_0x5bee[53]](_0x5205x8,_0x5bee[52],_0x5205x15[_0x5bee[30]],_0x5205x9)})[_0x5bee[11]](function(_0x5205x9){console[_0x5bee[51]](_0x5bee[50],_0x5205x9);return handleError(_0x5205x8,_0x5205x9)})};exports[_0x5bee[54]]= function(_0x5205xa,_0x5205x8){return OpenchannelQueue[_0x5bee[49]]({where:{id:_0x5205xa[_0x5bee[13]][_0x5bee[55]]},individualHooks:true})[_0x5bee[12]](function(){return _0x5205x8[_0x5bee[25]](204)})[_0x5bee[11]](function(_0x5205x9){return handleError(_0x5205x8,_0x5205x9)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const OpenchannelQueue = require('../../models').OpenchannelQueue;
-
-var OpenchannelQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-OpenchannelQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- OpenchannelQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- OpenchannelQueueEvents.emit(event + ':' + doc._id, doc);
- OpenchannelQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = OpenchannelQueueEvents;
+var _0x947f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x947f[0];const EventEmitter=require(_0x947f[1]);const OpenchannelQueue=require(_0x947f[3])[_0x947f[2]];var OpenchannelQueueEvents= new EventEmitter();OpenchannelQueueEvents[_0x947f[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x947f[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x947f[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x947f[6]};for(var e in events){var event=events[e];OpenchannelQueue[_0x947f[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xf8c1x8,_0xf8c1x9,_0xf8c1xa){OpenchannelQueueEvents[_0x947f[10]](event+ _0x947f[8]+ _0xf8c1x8[_0x947f[9]],_0xf8c1x8);OpenchannelQueueEvents[_0x947f[10]](event,_0xf8c1x8);_0xf8c1xa(null)}}module[_0x947f[11]]= OpenchannelQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const OpenchannelQueueEvents = require('./openchannel_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('openchannel_queue:' + event, socket);
-
- OpenchannelQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- OpenchannelQueueEvents.removeListener(event, listener);
- };
-}
+var _0xacd6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xacd6[0];const OpenchannelQueueEvents=require(_0xacd6[1]);var events=[_0xacd6[2],_0xacd6[3]];exports[_0xacd6[4]]= function(_0x32bax3){for(var _0x32bax4=0,_0x32bax5=events[_0xacd6[5]];_0x32bax4< _0x32bax5;_0x32bax4++){var _0x32bax6=events[_0x32bax4];var _0x32bax7=createListener(_0xacd6[6]+ _0x32bax6,_0x32bax3);OpenchannelQueueEvents[_0xacd6[7]](_0x32bax6,_0x32bax7);_0x32bax3[_0xacd6[7]](_0xacd6[8],removeListener(_0x32bax6,_0x32bax7))}};function createListener(_0x32bax6,_0x32bax3){return function(_0x32bax9){_0x32bax3[_0xacd6[9]](_0x32bax6,_0x32bax9)}}function removeListener(_0x32bax6,_0x32bax7){return function(){OpenchannelQueueEvents[_0xacd6[10]](_0x32bax6,_0x32bax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./openchannel_room.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-router.get('/', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.index);
-router.get('/pending', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([20, 17], ['admin']), controller.pending);
-router.get('/new', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([20, 17], ['admin']), controller.new);
-router.get('/open', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([20, 17], ['admin']), controller.open);
-router.get('/closed', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([20, 17], ['admin']), controller.closed);
-router.get('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.show);
-router.get('/describe', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.describe);
-router.get('/:id/agents', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.showAgents);
-router.get('/messages/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.getRoomByMessage);
-router.post('/', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.create);
-router.post('/:id/messages', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.createMessage);
-router.put('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.update);
-router.put('/:id/agents', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.updateAgents);
-router.patch('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin', 'agent']), controller.updatePatch);
-router.delete('/:id', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.destroy);
-router.delete('/', license.isValidDate(), license.hasOpenchannel(), auth.isAuthenticated(), auth.hasModule([20], ['admin']), controller.bulkDestroy);
-module.exports = router;
+var _0xdf27=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x70\x65\x6E\x64\x69\x6E\x67","\x68\x61\x73\x53\x6D\x73","\x70\x65\x6E\x64\x69\x6E\x67","\x2F\x6E\x65\x77","\x6E\x65\x77","\x2F\x6F\x70\x65\x6E","\x6F\x70\x65\x6E","\x2F\x63\x6C\x6F\x73\x65\x64","\x63\x6C\x6F\x73\x65\x64","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xdf27[0];var express=require(_0xdf27[1]);var auth=require(_0xdf27[2]);var controller=require(_0xdf27[3]);var license=require(_0xdf27[4]);var router=express.Router();router[_0xdf27[13]](_0xdf27[5],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[12]]);router[_0xdf27[13]](_0xdf27[14],auth[_0xdf27[8]](),license[_0xdf27[6]](),license[_0xdf27[15]](),auth[_0xdf27[11]]([20,17],[_0xdf27[9]]),controller[_0xdf27[16]]);router[_0xdf27[13]](_0xdf27[17],auth[_0xdf27[8]](),license[_0xdf27[6]](),license[_0xdf27[15]](),auth[_0xdf27[11]]([20,17],[_0xdf27[9]]),controller[_0xdf27[18]]);router[_0xdf27[13]](_0xdf27[19],auth[_0xdf27[8]](),license[_0xdf27[6]](),license[_0xdf27[15]](),auth[_0xdf27[11]]([20,17],[_0xdf27[9]]),controller[_0xdf27[20]]);router[_0xdf27[13]](_0xdf27[21],auth[_0xdf27[8]](),license[_0xdf27[6]](),license[_0xdf27[15]](),auth[_0xdf27[11]]([20,17],[_0xdf27[9]]),controller[_0xdf27[22]]);router[_0xdf27[13]](_0xdf27[23],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[24]]);router[_0xdf27[13]](_0xdf27[25],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9]]),controller[_0xdf27[26]]);router[_0xdf27[13]](_0xdf27[27],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[28]]);router[_0xdf27[13]](_0xdf27[29],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[30]]);router[_0xdf27[32]](_0xdf27[5],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9]]),controller[_0xdf27[31]]);router[_0xdf27[32]](_0xdf27[33],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9]]),controller[_0xdf27[34]]);router[_0xdf27[36]](_0xdf27[23],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[35]]);router[_0xdf27[36]](_0xdf27[27],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[37]]);router[_0xdf27[39]](_0xdf27[23],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9],_0xdf27[10]]),controller[_0xdf27[38]]);router[_0xdf27[41]](_0xdf27[23],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9]]),controller[_0xdf27[40]]);router[_0xdf27[41]](_0xdf27[5],license[_0xdf27[6]](),license[_0xdf27[7]](),auth[_0xdf27[8]](),auth[_0xdf27[11]]([20],[_0xdf27[9]]),controller[_0xdf27[42]]);module[_0xdf27[43]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/rooms -> index
- * POST /api/openchannel/rooms -> create
- * GET /api/openchannel/rooms/:id -> show
- * PUT /api/openchannel/rooms/:id -> update
- * DELETE /api/openchannel/rooms/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-var moment = require('moment');
-
-var OpenchannelRoom = require('../../models').OpenchannelRoom;
-var OpenchannelMessage = require('../../models').OpenchannelMessage;
-var OpenchannelAccount = require('../../models').OpenchannelAccount;
-var OpenchannelQueue = require('../../models').OpenchannelQueue;
-var OpenchannelApplication = require('../../models').OpenchannelApplication;
-var User = require('../../models').User;
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-
-
-// Gets a list of OpenchannelRooms
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'agent':
- return OpenchannelRoom
- .scope('default', {
- method: ['agent', req.user.id]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return OpenchannelRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-
-}
-
-// Get list of fields
-exports.describe = function(req, res) {
- return OpenchannelRoom
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getOpenchannelQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- return {
- include: {
- model: OpenchannelAccount,
- include: {
- model: OpenchannelApplication,
- include: {
- model: OpenchannelQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-exports.pending = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return OpenchannelRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.new = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return OpenchannelRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.open = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return OpenchannelRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.closed = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return OpenchannelRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-
-
-// Gets a single OpenchannelRoom from the DB
-exports.show = function(req, res) {
- return OpenchannelRoom
- .scope('default')
- .findById(req.params.id)
- .then(function(Room) {
- if (!Room) {
- return res.sendStatus(404);
- }
- return res.send(Room);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.showAgents = function(req, res, next) {
- return OpenchannelRoom
- .findById(req.params.id)
- .then(function(Room) {
- if (!Room) {
- return res.sendStatus(404);
- }
- return Room
- .getUsers({
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- });
- })
- .then(function(users) {
- return res.send(users);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getRoomByMessage = function(req, res, next) {
- return OpenchannelMessage
- .findById(req.params.id)
- .then(function(Message) {
- return Message
- .getOpenchannelRoom({
- include: [{
- model: OpenchannelAccount
- }, {
- model: OpenchannelMessage,
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- });
- })
- .then(function(Room) {
- return res.send(Room);
- })
- .catch(function(err) {
- console.log('err', err);
- return handleError(res, err);
- });
-};
-// Creates a new OpenchannelRoom in the DB
-exports.create = function(req, res) {
-
- return OpenchannelRoom
- .create(req.body)
- .then(function(Message) {
- return res.status(201).send(Message);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-
-// Creates a new Message in the DB.
-exports.createMessage = function(req, res, next) {
- req.body.UserId = req.user.id;
- req.body.OpenchannelRoomId = req.params.id;
- return OpenchannelMessage
- .create(req.body)
- .then(function(Message) {
- return res.status(201).send(Message);
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-// Updates an existing OpenchannelRoom in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return OpenchannelRoom
- .findById(req.params.id)
- .then(function(Room) {
- if (!Room) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(Room, req.body);
-
- return updated
- .save();
- })
- .then(function(Room) {
- return res.status(200).send(Room);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-exports.updateAgents = function(req, res, next) {
- return OpenchannelRoom
- .findById(req.params.id)
- .then(function(Room) {
- if (!Room) {
- return res.sendStatus(404);
- }
-
- return Room
- .setUsers(req.body.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a OpenchannelRoom from the DB
-exports.destroy = function(req, res) {
- return OpenchannelRoom
- .findById(req.params.id)
- .then(function(Room) {
- if (!Room) {
- return res.sendStatus(404);
- }
- return Room.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDestroy = function(req, res) {
- return OpenchannelRoom
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.updatePatch = function(req, res, next) {
-
- var _options = {
- where: {
- id: req.params.id.split(',')
- },
- user: req.user,
- individualHooks: true
- };
- return OpenchannelRoom
- .update(req.body, _options)
- .then(function(Rooms) {
- if (!Rooms) {
- return res.sendStatus(404);
- }
- return Rooms
- })
- .then(function(Rooms) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0x79c0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x55\x73\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x61\x67\x65\x6E\x74","\x69\x64","\x75\x73\x65\x72","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x6D\x61\x70","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x70\x65\x6E\x64\x69\x6E\x67","\x6C\x6F\x67","\x50\x45\x4E\x44\x49\x4E\x47","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x6E\x65\x77","\x4E\x45\x57","\x6F\x70\x65\x6E","\x4F\x50\x45\x4E","\x63\x6C\x6F\x73\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x65\x72\x72","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x2C","\x73\x70\x6C\x69\x74"];_0x79c0[0];var _=require(_0x79c0[1]);var Util=require(_0x79c0[2]);var moment=require(_0x79c0[3]);var OpenchannelRoom=require(_0x79c0[5])[_0x79c0[4]];var OpenchannelMessage=require(_0x79c0[5])[_0x79c0[6]];var OpenchannelAccount=require(_0x79c0[5])[_0x79c0[7]];var OpenchannelQueue=require(_0x79c0[5])[_0x79c0[8]];var OpenchannelApplication=require(_0x79c0[5])[_0x79c0[9]];var User=require(_0x79c0[5])[_0x79c0[10]];function handleError(_0x79e2xb,_0x79e2xc){return _0x79e2xb[_0x79c0[12]](500)[_0x79c0[11]](_0x79e2xc)}exports[_0x79c0[13]]= function(_0x79e2xd,_0x79e2xb){switch(_0x79e2xd[_0x79c0[22]][_0x79c0[24]]){case _0x79c0[20]:return OpenchannelRoom[_0x79c0[23]](_0x79c0[19],{method:[_0x79c0[20],_0x79e2xd[_0x79c0[22]][_0x79c0[21]]]})[_0x79c0[18]](Util[_0x79c0[17]](_0x79e2xd[_0x79c0[16]]))[_0x79c0[15]](function(_0x79e2xe){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]](_0x79e2xe)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)});default:return OpenchannelRoom[_0x79c0[23]](_0x79c0[19])[_0x79c0[18]](Util[_0x79c0[17]](_0x79e2xd[_0x79c0[16]]))[_0x79c0[15]](function(_0x79e2xe){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]](_0x79e2xe)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})}};exports[_0x79c0[25]]= function(_0x79e2xd,_0x79e2xb){return OpenchannelRoom[_0x79c0[25]]()[_0x79c0[15]](function(_0x79e2xf){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]](_0x79e2xf)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};function getOpenchannelQueues(_0x79e2x11){return function(){switch(_0x79e2x11[_0x79c0[24]]){case _0x79c0[22]:return User[_0x79c0[28]](_0x79e2x11[_0x79c0[21]],{attributes:[_0x79c0[21]]})[_0x79c0[15]](Util[_0x79c0[27]]({},{attributes:[_0x79c0[21]],include:[{raw:true,model:User,attributes:[_0x79c0[21]]}]}))[_0x79c0[15]](function(_0x79e2x12){return {include:{model:OpenchannelAccount,include:{model:OpenchannelApplication,include:{model:OpenchannelQueue,where:{id:_[_0x79c0[26]](_0x79e2x12,_0x79c0[21])}}}}}});default:return {}}}}exports[_0x79c0[29]]= function(_0x79e2xd,_0x79e2xb){return Promise[_0x79c0[36]]([])[_0x79c0[15]](getOpenchannelQueues(_0x79e2xd[_0x79c0[22]]))[_0x79c0[15]](function(_0x79e2x14){return OpenchannelRoom[_0x79c0[35]](_[_0x79c0[34]](Util[_0x79c0[17]](_0x79e2xd[_0x79c0[16]],{status:_0x79c0[31],updatedAt:{$gte:moment()[_0x79c0[33]](_0x79c0[32])}}),_0x79e2x14))})[_0x79c0[15]](function(_0x79e2x13){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]]({value:_0x79e2x13})})[_0x79c0[14]](function(_0x79e2xc){console[_0x79c0[30]](_0x79e2xc);return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[37]]= function(_0x79e2xd,_0x79e2xb){return Promise[_0x79c0[36]]([])[_0x79c0[15]](getOpenchannelQueues(_0x79e2xd[_0x79c0[22]]))[_0x79c0[15]](function(_0x79e2x14){return OpenchannelRoom[_0x79c0[35]](_[_0x79c0[34]](Util[_0x79c0[17]](_0x79e2xd[_0x79c0[16]],{status:_0x79c0[38],updatedAt:{$gte:moment()[_0x79c0[33]](_0x79c0[32])}}),_0x79e2x14))})[_0x79c0[15]](function(_0x79e2x13){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]]({value:_0x79e2x13})})[_0x79c0[14]](function(_0x79e2xc){console[_0x79c0[30]](_0x79e2xc);return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[39]]= function(_0x79e2xd,_0x79e2xb){return Promise[_0x79c0[36]]([])[_0x79c0[15]](getOpenchannelQueues(_0x79e2xd[_0x79c0[22]]))[_0x79c0[15]](function(_0x79e2x14){return OpenchannelRoom[_0x79c0[35]](_[_0x79c0[34]](Util[_0x79c0[17]](_0x79e2xd[_0x79c0[16]],{status:_0x79c0[40],updatedAt:{$gte:moment()[_0x79c0[33]](_0x79c0[32])}}),_0x79e2x14))})[_0x79c0[15]](function(_0x79e2x13){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]]({value:_0x79e2x13})})[_0x79c0[14]](function(_0x79e2xc){console[_0x79c0[30]](_0x79e2xc);return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[41]]= function(_0x79e2xd,_0x79e2xb){return Promise[_0x79c0[36]]([])[_0x79c0[15]](getOpenchannelQueues(_0x79e2xd[_0x79c0[22]]))[_0x79c0[15]](function(_0x79e2x14){return OpenchannelRoom[_0x79c0[35]](_[_0x79c0[34]](Util[_0x79c0[17]](_0x79e2xd[_0x79c0[16]],{status:_0x79c0[42],updatedAt:{$gte:moment()[_0x79c0[33]](_0x79c0[32])}}),_0x79e2x14))})[_0x79c0[15]](function(_0x79e2x13){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]]({value:_0x79e2x13})})[_0x79c0[14]](function(_0x79e2xc){console[_0x79c0[30]](_0x79e2xc);return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[43]]= function(_0x79e2xd,_0x79e2xb){return OpenchannelRoom[_0x79c0[23]](_0x79c0[19])[_0x79c0[28]](_0x79e2xd[_0x79c0[45]][_0x79c0[21]])[_0x79c0[15]](function(_0x79e2x15){if(!_0x79e2x15){return _0x79e2xb[_0x79c0[44]](404)};return _0x79e2xb[_0x79c0[11]](_0x79e2x15)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[46]]= function(_0x79e2xd,_0x79e2xb,_0x79e2x16){return OpenchannelRoom[_0x79c0[28]](_0x79e2xd[_0x79c0[45]][_0x79c0[21]])[_0x79c0[15]](function(_0x79e2x15){if(!_0x79e2x15){return _0x79e2xb[_0x79c0[44]](404)};return _0x79e2x15[_0x79c0[51]]({attributes:[_0x79c0[21],_0x79c0[47],_0x79c0[48],_0x79c0[49],_0x79c0[24],_0x79c0[50]]})})[_0x79c0[15]](function(_0x79e2x17){return _0x79e2xb[_0x79c0[11]](_0x79e2x17)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[52]]= function(_0x79e2xd,_0x79e2xb,_0x79e2x16){return OpenchannelMessage[_0x79c0[28]](_0x79e2xd[_0x79c0[45]][_0x79c0[21]])[_0x79c0[15]](function(_0x79e2x18){return _0x79e2x18[_0x79c0[54]]({include:[{model:OpenchannelAccount},{model:OpenchannelMessage,include:[{model:User,attributes:[_0x79c0[21],_0x79c0[47],_0x79c0[48],_0x79c0[49]]}]},{model:User,attributes:[_0x79c0[21],_0x79c0[47],_0x79c0[48],_0x79c0[49]]}]})})[_0x79c0[15]](function(_0x79e2x15){return _0x79e2xb[_0x79c0[11]](_0x79e2x15)})[_0x79c0[14]](function(_0x79e2xc){console[_0x79c0[30]](_0x79c0[53],_0x79e2xc);return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[55]]= function(_0x79e2xd,_0x79e2xb){return OpenchannelRoom[_0x79c0[55]](_0x79e2xd[_0x79c0[56]])[_0x79c0[15]](function(_0x79e2x18){return _0x79e2xb[_0x79c0[12]](201)[_0x79c0[11]](_0x79e2x18)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[57]]= function(_0x79e2xd,_0x79e2xb,_0x79e2x16){_0x79e2xd[_0x79c0[56]][_0x79c0[58]]= _0x79e2xd[_0x79c0[22]][_0x79c0[21]];_0x79e2xd[_0x79c0[56]][_0x79c0[59]]= _0x79e2xd[_0x79c0[45]][_0x79c0[21]];return OpenchannelMessage[_0x79c0[55]](_0x79e2xd[_0x79c0[56]])[_0x79c0[15]](function(_0x79e2x18){return _0x79e2xb[_0x79c0[12]](201)[_0x79c0[11]](_0x79e2x18)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[60]]= function(_0x79e2xd,_0x79e2xb){if(_0x79e2xd[_0x79c0[56]][_0x79c0[21]]){delete _0x79e2xd[_0x79c0[56]][_0x79c0[21]]};return OpenchannelRoom[_0x79c0[28]](_0x79e2xd[_0x79c0[45]][_0x79c0[21]])[_0x79c0[15]](function(_0x79e2x15){if(!_0x79e2x15){return _0x79e2xb[_0x79c0[44]](404)};var _0x79e2x19=_[_0x79c0[34]](_0x79e2x15,_0x79e2xd[_0x79c0[56]]);return _0x79e2x19[_0x79c0[61]]()})[_0x79c0[15]](function(_0x79e2x15){return _0x79e2xb[_0x79c0[12]](200)[_0x79c0[11]](_0x79e2x15)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[62]]= function(_0x79e2xd,_0x79e2xb,_0x79e2x16){return OpenchannelRoom[_0x79c0[28]](_0x79e2xd[_0x79c0[45]][_0x79c0[21]])[_0x79c0[15]](function(_0x79e2x15){if(!_0x79e2x15){return _0x79e2xb[_0x79c0[44]](404)};return _0x79e2x15[_0x79c0[64]](_0x79e2xd[_0x79c0[56]][_0x79c0[63]],{individualHooks:true})})[_0x79c0[15]](function(){return _0x79e2xb[_0x79c0[44]](200)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[65]]= function(_0x79e2xd,_0x79e2xb){return OpenchannelRoom[_0x79c0[28]](_0x79e2xd[_0x79c0[45]][_0x79c0[21]])[_0x79c0[15]](function(_0x79e2x15){if(!_0x79e2x15){return _0x79e2xb[_0x79c0[44]](404)};return _0x79e2x15[_0x79c0[65]]()})[_0x79c0[15]](function(){return _0x79e2xb[_0x79c0[44]](204)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[66]]= function(_0x79e2xd,_0x79e2xb){return OpenchannelRoom[_0x79c0[65]]({where:{id:_0x79e2xd[_0x79c0[16]][_0x79c0[67]]},individualHooks:true})[_0x79c0[15]](function(){return _0x79e2xb[_0x79c0[44]](200)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})};exports[_0x79c0[68]]= function(_0x79e2xd,_0x79e2xb,_0x79e2x16){var _0x79e2x1a={where:{id:_0x79e2xd[_0x79c0[45]][_0x79c0[21]][_0x79c0[70]](_0x79c0[69])},user:_0x79e2xd[_0x79c0[22]],individualHooks:true};return OpenchannelRoom[_0x79c0[60]](_0x79e2xd[_0x79c0[56]],_0x79e2x1a)[_0x79c0[15]](function(_0x79e2x1b){if(!_0x79e2x1b){return _0x79e2xb[_0x79c0[44]](404)};return _0x79e2x1b})[_0x79c0[15]](function(_0x79e2x1b){return _0x79e2xb[_0x79c0[44]](200)})[_0x79c0[14]](function(_0x79e2xc){return handleError(_0x79e2xb,_0x79e2xc)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const OpenchannelRoom = require('../../models').OpenchannelRoom;
-
-var OpenchannelRoomEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-OpenchannelRoomEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- OpenchannelRoom.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- OpenchannelRoomEvents.emit(event + ':' + doc._id, doc);
- OpenchannelRoomEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = OpenchannelRoomEvents;
+var _0xf392=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf392[0];const EventEmitter=require(_0xf392[1]);const OpenchannelRoom=require(_0xf392[3])[_0xf392[2]];var OpenchannelRoomEvents= new EventEmitter();OpenchannelRoomEvents[_0xf392[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xf392[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xf392[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xf392[6]};for(var e in events){var event=events[e];OpenchannelRoom[_0xf392[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xa978x8,_0xa978x9,_0xa978xa){OpenchannelRoomEvents[_0xf392[10]](event+ _0xf392[8]+ _0xa978x8[_0xf392[9]],_0xa978x8);OpenchannelRoomEvents[_0xf392[10]](event,_0xa978x8);_0xa978xa(null)}}module[_0xf392[11]]= OpenchannelRoomEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const OpenchannelRoomEvents = require('./openchannel_room.events');
-
-// Model events to emit
-var events = ['save', 'save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('openchannel_room:' + event, socket);
-
- OpenchannelRoomEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-
-function removeListener(event, listener) {
- return function() {
- OpenchannelRoomEvents.removeListener(event, listener);
- };
-}
+var _0x667d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x667d[0];const OpenchannelRoomEvents=require(_0x667d[1]);var events=[_0x667d[2],_0x667d[2],_0x667d[3]];exports[_0x667d[4]]= function(_0xc333x3){for(var _0xc333x4=0,_0xc333x5=events[_0x667d[5]];_0xc333x4< _0xc333x5;_0xc333x4++){var _0xc333x6=events[_0xc333x4];var _0xc333x7=createListener(_0x667d[6]+ _0xc333x6,_0xc333x3);OpenchannelRoomEvents[_0x667d[7]](_0xc333x6,_0xc333x7);_0xc333x3[_0x667d[7]](_0x667d[8],removeListener(_0xc333x6,_0xc333x7))}};function createListener(_0xc333x6,_0xc333x3){return function(_0xc333x9){_0xc333x3[_0x667d[9]](_0xc333x6,_0xc333x9)}}function removeListener(_0xc333x6,_0xc333x7){return function(){OpenchannelRoomEvents[_0x667d[10]](_0xc333x6,_0xc333x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./pause.controller');
-
-var router = express.Router();
-
-/**
- * @api {get} /api/pauses/ Get pauses list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetPauses
- * @apiGroup Pauses
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of pauses.
- * @apiSuccess {Object[]} rows Pauses list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 1,
- * "rows": [{
- * "id": 1
- * "name": "BACKOFFICE"
- * "description": "BACKOFFICE Pause"
- * }]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([6, 13], ['admin', 'agent']), controller.index);
-
-/**
- * @api {get} /api/pauses/:id Get pause.
- * @apiParam {Number} id Pause unique ID.
- * @apiVersion 0.0.140
- * @apiName GetPause
- * @apiGroup Pauses
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "BACKOFFICE"
- * "description": "BACKOFFICE Pause"
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-
-/**
- * @api {post} /api/users/ Create pause.
- * @apiParam (Body) {String} name Pause name.
- * @apiParam (Body) {String} [description] Pause description.
- *
- * @apiVersion 0.0.140
- * @apiName CreatePause
- * @apiGroup Pauses
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 1
- * "name": "BACKOFFICE"
- * "description": "BACKOFFICE Pause"
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-
-/**
- * @api {delete} /api/users/:id Update pause details.
- *
- * @apiParam (Params) {Number} id Pause unique ID.
- * @apiParam (Body) {String} name Pause name.
- * @apiParam (Body) {String} [description] Pause description.
- *
- * @apiVersion 0.0.140
- * @apiName UpdatePause
- * @apiGroup Pauses
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "BACKOFFICE"
- * "description": "BACKOFFICE Pause"
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-
-/**
- * @api {delete} /api/pauses/ Bulk Delete pauses.
- *
- * @apiParam (Query) {Number[]} ids Pauses unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeletePauses
- * @apiGroup Pauses
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-
-/**
- * @api {delete} /api/telephones/:id Delete pause.
- *
- * @apiParam {Number} id Pause unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeletePause
- * @apiGroup Pauses
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x5fac=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x70\x61\x75\x73\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x5fac[0];var express=require(_0x5fac[1]);var auth=require(_0x5fac[2]);var controller=require(_0x5fac[3]);var router=express.Router();router[_0x5fac[10]](_0x5fac[4],auth[_0x5fac[5]](),auth[_0x5fac[8]]([6,13],[_0x5fac[6],_0x5fac[7]]),controller[_0x5fac[9]]);router[_0x5fac[10]](_0x5fac[11],auth[_0x5fac[5]](),auth[_0x5fac[8]]([13],[_0x5fac[6]]),controller[_0x5fac[12]]);router[_0x5fac[14]](_0x5fac[4],auth[_0x5fac[5]](),auth[_0x5fac[8]]([13],[_0x5fac[6]]),controller[_0x5fac[13]]);router[_0x5fac[16]](_0x5fac[11],auth[_0x5fac[5]](),auth[_0x5fac[8]]([13],[_0x5fac[6]]),controller[_0x5fac[15]]);router[_0x5fac[18]](_0x5fac[4],auth[_0x5fac[5]](),auth[_0x5fac[8]]([13],[_0x5fac[6]]),controller[_0x5fac[17]]);router[_0x5fac[18]](_0x5fac[11],auth[_0x5fac[5]](),auth[_0x5fac[8]]([13],[_0x5fac[6]]),controller[_0x5fac[19]]);module[_0x5fac[20]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/pauses -> index
- * POST /api/pauses -> create
- * GET /api/pauses/:id -> show
- * PUT /api/pauses/:id -> update
- * DELETE /api/pauses/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var Pause = require('../../models').Pause;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of Pauses
-exports.index = function(req, res) {
- return Pause
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Gets a single Pause from the DB
-exports.show = function(req, res) {
- return Pause.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new Pause in the DB
-exports.create = function(req, res) {
- return Pause.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing Pause in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Pause.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a Pause from the DB
-exports.destroy = function(req, res) {
- return Pause.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
-
- return Pause
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getQuery(query) {
- var _query = {
- where: {}
- };
-
- _.forEach(query, function(value, key) {
- switch (key) {
- case 'limit':
- case 'offset':
- case 'order':
- _query[key] = value;
- break;
- default:
- _query.where[key] = {
- $like: '%' + value + '%'
- };
- }
- });
-
- return _query;
-}
+var _0xa247=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x50\x61\x75\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64\x73","\x6C\x69\x6D\x69\x74","\x6F\x66\x66\x73\x65\x74","\x6F\x72\x64\x65\x72","\x77\x68\x65\x72\x65","\x25","\x66\x6F\x72\x45\x61\x63\x68"];_0xa247[0];var _=require(_0xa247[1]);var Util=require(_0xa247[2]);var Pause=require(_0xa247[4])[_0xa247[3]];function handleError(_0xf32ax5,_0xf32ax6){_0xf32ax6= _0xf32ax6|| 500;return function(_0xf32ax7){_0xf32ax5[_0xa247[6]](_0xf32ax6)[_0xa247[5]](_0xf32ax7)}}function responseWithResult(_0xf32ax5,_0xf32ax6){_0xf32ax6= _0xf32ax6|| 200;return function(_0xf32ax9){if(_0xf32ax9){_0xf32ax5[_0xa247[6]](_0xf32ax6)[_0xa247[7]](_0xf32ax9)}}}function handleEntityNotFound(_0xf32ax5){return function(_0xf32ax9){if(!_0xf32ax9){_0xf32ax5[_0xa247[6]](404)[_0xa247[8]]();return null};return _0xf32ax9}}function saveUpdates(_0xf32axc){return function(_0xf32ax9){return _0xf32ax9[_0xa247[10]](_0xf32axc)[_0xa247[9]](function(_0xf32axd){return _0xf32axd})}}function removeEntity(_0xf32ax5){return function(_0xf32ax9){if(_0xf32ax9){return _0xf32ax9[_0xa247[11]]()[_0xa247[9]](function(){_0xf32ax5[_0xa247[6]](204)[_0xa247[8]]()})}}}exports[_0xa247[12]]= function(_0xf32axf,_0xf32ax5){return Pause[_0xa247[16]](Util[_0xa247[15]](_0xf32axf[_0xa247[14]]))[_0xa247[9]](function(_0xf32ax10){_0xf32ax5[_0xa247[6]](200)[_0xa247[5]](_0xf32ax10)})[_0xa247[13]](function(_0xf32ax7){return handleError(_0xf32ax5,_0xf32ax7)})};exports[_0xa247[17]]= function(_0xf32axf,_0xf32ax5){return Pause[_0xa247[20]](_0xf32axf[_0xa247[19]][_0xa247[18]])[_0xa247[9]](handleEntityNotFound(_0xf32ax5))[_0xa247[9]](responseWithResult(_0xf32ax5))[_0xa247[13]](handleError(_0xf32ax5))};exports[_0xa247[21]]= function(_0xf32axf,_0xf32ax5){return Pause[_0xa247[21]](_0xf32axf[_0xa247[22]])[_0xa247[9]](responseWithResult(_0xf32ax5,201))[_0xa247[13]](handleError(_0xf32ax5))};exports[_0xa247[23]]= function(_0xf32axf,_0xf32ax5){if(_0xf32axf[_0xa247[22]][_0xa247[18]]){delete _0xf32axf[_0xa247[22]][_0xa247[18]]};return Pause[_0xa247[20]](_0xf32axf[_0xa247[19]][_0xa247[18]])[_0xa247[9]](handleEntityNotFound(_0xf32ax5))[_0xa247[9]](saveUpdates(_0xf32axf[_0xa247[22]]))[_0xa247[9]](responseWithResult(_0xf32ax5))[_0xa247[13]](handleError(_0xf32ax5))};exports[_0xa247[11]]= function(_0xf32axf,_0xf32ax5){return Pause[_0xa247[20]](_0xf32axf[_0xa247[19]][_0xa247[18]])[_0xa247[9]](handleEntityNotFound(_0xf32ax5))[_0xa247[9]](removeEntity(_0xf32ax5))[_0xa247[13]](handleError(_0xf32ax5))};exports[_0xa247[24]]= function(_0xf32axf,_0xf32ax5){return Pause[_0xa247[11]]({where:{id:_0xf32axf[_0xa247[14]][_0xa247[26]]},individualHooks:true})[_0xa247[9]](function(){return _0xf32ax5[_0xa247[25]](204)})[_0xa247[13]](function(_0xf32ax7){return handleError(_0xf32ax5,_0xf32ax7)})};function getQuery(_0xf32ax12){var _0xf32ax13={where:{}};_[_0xa247[32]](_0xf32ax12,function(_0xf32ax14,_0xf32ax15){switch(_0xf32ax15){case _0xa247[27]:;case _0xa247[28]:;case _0xa247[29]:_0xf32ax13[_0xf32ax15]= _0xf32ax14;break;default:_0xf32ax13[_0xa247[30]][_0xf32ax15]= {$like:_0xa247[31]+ _0xf32ax14+ _0xa247[31]}}});return _0xf32ax13}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Pause = require('../../models').Pause;
-
-var PauseEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-PauseEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Pause.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- PauseEvents.emit(event + ':' + doc._id, doc);
- PauseEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = PauseEvents;
+var _0xee22=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x50\x61\x75\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xee22[0];const EventEmitter=require(_0xee22[1]);const Pause=require(_0xee22[3])[_0xee22[2]];var PauseEvents= new EventEmitter();PauseEvents[_0xee22[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xee22[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xee22[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xee22[6]};for(var e in events){var event=events[e];Pause[_0xee22[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7cc8x8,_0x7cc8x9,_0x7cc8xa){PauseEvents[_0xee22[10]](event+ _0xee22[8]+ _0x7cc8x8[_0xee22[9]],_0x7cc8x8);PauseEvents[_0xee22[10]](event,_0x7cc8x8);_0x7cc8xa(null)}}module[_0xee22[11]]= PauseEvents
\ No newline at end of file
-'use strict';
-
-const PauseEvents = require('./pause.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('pause:' + event, socket);
-
- PauseEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- PauseEvents.removeListener(event, listener);
- };
-}
+var _0xf970=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x70\x61\x75\x73\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x70\x61\x75\x73\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xf970[0];const PauseEvents=require(_0xf970[1]);var events=[_0xf970[2],_0xf970[3]];exports[_0xf970[4]]= function(_0x7550x3){for(var _0x7550x4=0,_0x7550x5=events[_0xf970[5]];_0x7550x4< _0x7550x5;_0x7550x4++){var _0x7550x6=events[_0x7550x4];var _0x7550x7=createListener(_0xf970[6]+ _0x7550x6,_0x7550x3);PauseEvents[_0xf970[7]](_0x7550x6,_0x7550x7);_0x7550x3[_0xf970[7]](_0xf970[8],removeListener(_0x7550x6,_0x7550x7))}};function createListener(_0x7550x6,_0x7550x3){return function(_0x7550x9){_0x7550x3[_0xf970[9]](_0x7550x6,_0x7550x9)}}function removeListener(_0x7550x6,_0x7550x7){return function(){PauseEvents[_0xf970[10]](_0x7550x6,_0x7550x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_agent.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/active/calls', auth.isAuthenticated(), auth.hasModule([17], ['admin', 'agent']), controller.activeCalls);
-
-module.exports = router;
+var _0x3080=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x61\x63\x74\x69\x76\x65\x2F\x63\x61\x6C\x6C\x73","\x61\x63\x74\x69\x76\x65\x43\x61\x6C\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x3080[0];var express=require(_0x3080[1]);var controller=require(_0x3080[2]);var auth=require(_0x3080[3]);var router=express.Router();router[_0x3080[10]](_0x3080[4],auth[_0x3080[5]](),auth[_0x3080[8]]([17],[_0x3080[6],_0x3080[7]]),controller[_0x3080[9]]);router[_0x3080[10]](_0x3080[11],auth[_0x3080[5]](),auth[_0x3080[8]]([17],[_0x3080[6]]),controller[_0x3080[12]]);router[_0x3080[10]](_0x3080[13],auth[_0x3080[5]](),auth[_0x3080[8]]([17],[_0x3080[6],_0x3080[7]]),controller[_0x3080[14]]);module[_0x3080[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportAgent = require('../../models').ReportAgent;
-var User = require('../../models').User;
-var VoiceQueue = require('../../models').VoiceQueue;
-var ReportAgentHistory = require('../../models').history.ReportAgentHistory;
-var Util = require('../../config/util');
-
-// Get list of report_agents
-exports.index = function(req, res, next) {
- var where = {};
- if (req.user.role === 'agent') {
- where.membername = req.user.name;
- }
- return ReportAgent
- .findAndCountAll(Util.getQuery(req.query, where))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getVoiceQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser())
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- case 'agent':
- return User
- .findById(user.id)
- .then(function(agent) {
- return agent
- .getVoiceQueues({
- attributes: ['name']
- });
- })
- .then(function(userQueues) {
- return _.map(userQueues, 'name');
- });
- default:
- return VoiceQueue
- .findAll()
- .then(function(queues) {
- return {
- rows: queues
- };
- })
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- }
- }
-}
-
-// Get active Calls
-exports.activeCalls = function(req, res) {
- var where = {};
- if (req.user.role === 'agent') {
- where.membername = req.user.fullname;
- }
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportAgent
- .findAll(Util.getQuery(req.query, _.merge(where, {
- agentcomplete: false,
- agentringnoanswer: false,
- agentdump: false
- })));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data,
- count: data.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportAgentHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x89a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x72\x6F\x77\x73","\x6D\x61\x70","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x63\x74\x69\x76\x65\x43\x61\x6C\x6C\x73","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6C\x65\x6E\x67\x74\x68","\x6D\x65\x72\x67\x65","\x61\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65"];_0x89a7[0];var _=require(_0x89a7[1]);var ReportAgent=require(_0x89a7[3])[_0x89a7[2]];var User=require(_0x89a7[3])[_0x89a7[4]];var VoiceQueue=require(_0x89a7[3])[_0x89a7[5]];var ReportAgentHistory=require(_0x89a7[3])[_0x89a7[7]][_0x89a7[6]];var Util=require(_0x89a7[8]);exports[_0x89a7[9]]= function(_0x20f2x7,_0x20f2x8,_0x20f2x9){var _0x20f2xa={};if(_0x20f2x7[_0x89a7[11]][_0x89a7[10]]=== _0x89a7[12]){_0x20f2xa[_0x89a7[13]]= _0x20f2x7[_0x89a7[11]][_0x89a7[14]]};return ReportAgent[_0x89a7[21]](Util[_0x89a7[20]](_0x20f2x7[_0x89a7[19]],_0x20f2xa))[_0x89a7[18]](function(_0x20f2xc){return _0x20f2x8[_0x89a7[17]](200)[_0x89a7[16]](_0x20f2xc)})[_0x89a7[15]](function(_0x20f2xb){return handleError(_0x20f2x8,_0x20f2xb)})};function getVoiceQueues(_0x20f2xe){return function(){switch(_0x20f2xe[_0x89a7[10]]){case _0x89a7[11]:return User[_0x89a7[26]](_0x20f2xe[_0x89a7[25]],{attributes:[_0x89a7[25]]})[_0x89a7[18]](Util[_0x89a7[24]]())[_0x89a7[18]](function(_0x20f2xf){return _[_0x89a7[23]](_0x20f2xf[_0x89a7[22]],_0x89a7[14])});case _0x89a7[12]:return User[_0x89a7[26]](_0x20f2xe[_0x89a7[25]])[_0x89a7[18]](function(_0x20f2x10){return _0x20f2x10[_0x89a7[27]]({attributes:[_0x89a7[14]]})})[_0x89a7[18]](function(_0x20f2xf){return _[_0x89a7[23]](_0x20f2xf,_0x89a7[14])});default:return VoiceQueue[_0x89a7[28]]()[_0x89a7[18]](function(_0x20f2x11){return {rows:_0x20f2x11}})[_0x89a7[18]](function(_0x20f2xf){return _[_0x89a7[23]](_0x20f2xf[_0x89a7[22]],_0x89a7[14])})}}}exports[_0x89a7[29]]= function(_0x20f2x7,_0x20f2x8){var _0x20f2xa={};if(_0x20f2x7[_0x89a7[11]][_0x89a7[10]]=== _0x89a7[12]){_0x20f2xa[_0x89a7[13]]= _0x20f2x7[_0x89a7[11]][_0x89a7[30]]};return Promise[_0x89a7[33]]([])[_0x89a7[18]](getVoiceQueues(_0x20f2x7[_0x89a7[11]]))[_0x89a7[18]](function(_0x20f2xf){return ReportAgent[_0x89a7[28]](Util[_0x89a7[20]](_0x20f2x7[_0x89a7[19]],_[_0x89a7[32]](_0x20f2xa,{agentcomplete:false,agentringnoanswer:false,agentdump:false})))})[_0x89a7[18]](function(_0x20f2x12){return _0x20f2x8[_0x89a7[17]](200)[_0x89a7[16]]({rows:_0x20f2x12,count:_0x20f2x12[_0x89a7[31]]})})[_0x89a7[15]](function(_0x20f2xb){return handleError(_0x20f2x8,_0x20f2xb)})};exports[_0x89a7[34]]= function(_0x20f2x7,_0x20f2x8){return ReportAgentHistory[_0x89a7[34]]()[_0x89a7[18]](function(_0x20f2x13){return _0x20f2x8[_0x89a7[17]](200)[_0x89a7[16]](_0x20f2x13)})[_0x89a7[15]](function(_0x20f2xb){return handleError(_0x20f2x8,_0x20f2xb)})};function handleError(_0x20f2x8,_0x20f2xb){return _0x20f2x8[_0x89a7[17]](500)[_0x89a7[16]](_0x20f2xb)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportAgent = require('../../models').ReportAgent;
-
-var ReportAgentEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportAgentEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportAgent.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportAgentEvents.emit(event + ':' + doc._id, doc);
- ReportAgentEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportAgentEvents;
+var _0x6d3f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x6d3f[0];const EventEmitter=require(_0x6d3f[1]);const ReportAgent=require(_0x6d3f[3])[_0x6d3f[2]];var ReportAgentEvents= new EventEmitter();ReportAgentEvents[_0x6d3f[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x6d3f[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x6d3f[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x6d3f[7]};for(var e in events){var event=events[e];ReportAgent[_0x6d3f[8]](e,emitEvent(event))};function emitEvent(event){return function(_0x410cx8,_0x410cx9,_0x410cxa){ReportAgentEvents[_0x6d3f[11]](event+ _0x6d3f[9]+ _0x410cx8[_0x6d3f[10]],_0x410cx8);ReportAgentEvents[_0x6d3f[11]](event,_0x410cx8);_0x410cxa(null)}}module[_0x6d3f[12]]= ReportAgentEvents
\ No newline at end of file
-'use strict';
-
-const ReportAgentEvents = require('./report_agent.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_agent:' + event, socket);
-
- ReportAgentEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportAgentEvents.removeListener(event, listener);
- };
-}
+var _0x921b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x921b[0];const ReportAgentEvents=require(_0x921b[1]);var events=[_0x921b[2],_0x921b[3],_0x921b[4]];exports[_0x921b[5]]= function(_0x6059x3){for(var _0x6059x4=0,_0x6059x5=events[_0x921b[6]];_0x6059x4< _0x6059x5;_0x6059x4++){var _0x6059x6=events[_0x6059x4];var _0x6059x7=createListener(_0x921b[7]+ _0x6059x6,_0x6059x3);ReportAgentEvents[_0x921b[8]](_0x6059x6,_0x6059x7);_0x6059x3[_0x921b[8]](_0x921b[9],removeListener(_0x6059x6,_0x6059x7))}};function createListener(_0x6059x6,_0x6059x3){return function(_0x6059x9){if(_0x6059x3[_0x921b[10]]=== _0x6059x9[_0x921b[11]]|| _0x6059x3[_0x921b[12]]=== _0x921b[13]){_0x6059x3[_0x921b[14]](_0x6059x6,_0x6059x9)}}}function removeListener(_0x6059x6,_0x6059x7){return function(){ReportAgentEvents[_0x921b[15]](_0x6059x6,_0x6059x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./report_call.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/manualoutbound', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.manualOutbound);
-router.get('/manualoutboundglobalduration', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.manualOutboundGlobalDuration);
-router.get('/manualoutboundavgduration', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.manualOutboundAvgDuration);
-router.get('/manualoutboundanswered', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.manualOutboundAnswered);
-router.get('/manualoutboundanswerrate', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.manualOutboundAnswerRate);
-router.put('/:uniqueid', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.update);
-
-
-module.exports = router;
+var _0x9d5f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x6D\x61\x6E\x75\x61\x6C\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x61\x67\x65\x6E\x74","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x2F\x6D\x61\x6E\x75\x61\x6C\x6F\x75\x74\x62\x6F\x75\x6E\x64\x67\x6C\x6F\x62\x61\x6C\x64\x75\x72\x61\x74\x69\x6F\x6E","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x47\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x6D\x61\x6E\x75\x61\x6C\x6F\x75\x74\x62\x6F\x75\x6E\x64\x61\x76\x67\x64\x75\x72\x61\x74\x69\x6F\x6E","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x41\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x6D\x61\x6E\x75\x61\x6C\x6F\x75\x74\x62\x6F\x75\x6E\x64\x61\x6E\x73\x77\x65\x72\x65\x64","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x41\x6E\x73\x77\x65\x72\x65\x64","\x2F\x6D\x61\x6E\x75\x61\x6C\x6F\x75\x74\x62\x6F\x75\x6E\x64\x61\x6E\x73\x77\x65\x72\x72\x61\x74\x65","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x41\x6E\x73\x77\x65\x72\x52\x61\x74\x65","\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9d5f[0];var express=require(_0x9d5f[1]);var auth=require(_0x9d5f[2]);var controller=require(_0x9d5f[3]);var router=express.Router();router[_0x9d5f[9]](_0x9d5f[4],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([17],[_0x9d5f[6]]),controller[_0x9d5f[8]]);router[_0x9d5f[9]](_0x9d5f[10],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([17],[_0x9d5f[6]]),controller[_0x9d5f[11]]);router[_0x9d5f[9]](_0x9d5f[12],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([1],[_0x9d5f[6],_0x9d5f[13]]),controller[_0x9d5f[14]]);router[_0x9d5f[9]](_0x9d5f[15],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([1],[_0x9d5f[6],_0x9d5f[13]]),controller[_0x9d5f[16]]);router[_0x9d5f[9]](_0x9d5f[17],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([1],[_0x9d5f[6],_0x9d5f[13]]),controller[_0x9d5f[18]]);router[_0x9d5f[9]](_0x9d5f[19],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([1],[_0x9d5f[6],_0x9d5f[13]]),controller[_0x9d5f[20]]);router[_0x9d5f[9]](_0x9d5f[21],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([1],[_0x9d5f[6],_0x9d5f[13]]),controller[_0x9d5f[22]]);router[_0x9d5f[25]](_0x9d5f[23],auth[_0x9d5f[5]](),auth[_0x9d5f[7]]([1],[_0x9d5f[6],_0x9d5f[13]]),controller[_0x9d5f[24]]);module[_0x9d5f[26]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/report/calls -> index
- * POST /api/report/calls -> create
- * GET /api/report/calls/:id -> show
- * PUT /api/report/calls/:id -> update
- * DELETE /api/report/calls/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var sequelize = require('../../models').sequelize;
-var ReportCall = require('../../models').ReportCall;
-var ReportCallHistory = require('../../models').history.ReportCallHistory;
-var Util = require('../../config/util');
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- console.log(err);
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity
- .destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of ReportCalls
-exports.index = function(req, res, next) {
- return ReportCall
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(handleError(res));
-};
-
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ReportCall.findOne({
- where: {
- uniqueid: req.params.uniqueid
- }
- })
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Get Answered Calls
-exports.manualOutbound = function(req, res) {
- return ReportCall
- .count({
- where: {
- type: 'outbound'
- }
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(handleError(res));
-};
-
-// Get Answered Calls
-exports.manualOutboundGlobalDuration = function(req, res) {
- return sequelize
- .query('SELECT SEC_TO_TIME(SUM(duration)) as value FROM report_call WHERE type=\"outbound\"', {
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(handleError(res));
-};
-
-// Get Answered Calls
-exports.manualOutboundAvgDuration = function(req, res) {
- return sequelize
- .query('SELECT SEC_TO_TIME(ROUND(AVG(duration), 0)) as value FROM report_call WHERE type=\"outbound\"', {
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(handleError(res));
-};
-
-// Get Answered Calls
-exports.manualOutboundAnswered = function(req, res) {
- return ReportCall
- .count({
- where: {
- disposition: 'ANSWERED',
- type: 'outbound'
- }
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(handleError(res));
-};
-
-// Get Answered Calls
-exports.manualOutboundAnswerRate = function(req, res) {
- return sequelize
- .query('SELECT ROUND(SUM(IF(disposition=\"ANSWERED\", 1, 0)) / COUNT(*) * 100, 1) as value FROM report_call WHERE type=\"outbound\"', {
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(handleError(res));
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportCallHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(handleError(res));
-};
+var _0xaa74=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x69\x64","\x62\x6F\x64\x79","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x63\x6F\x75\x6E\x74","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x47\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E","\x76\x61\x6C\x75\x65","\x53\x45\x4C\x45\x43\x54\x20\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x53\x55\x4D\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x3D\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x41\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E","\x53\x45\x4C\x45\x43\x54\x20\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x3D\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x41\x6E\x73\x77\x65\x72\x65\x64","\x41\x4E\x53\x57\x45\x52\x45\x44","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x41\x6E\x73\x77\x65\x72\x52\x61\x74\x65","\x53\x45\x4C\x45\x43\x54\x20\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x49\x46\x28\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3D\x22\x41\x4E\x53\x57\x45\x52\x45\x44\x22\x2C\x20\x31\x2C\x20\x30\x29\x29\x20\x2F\x20\x43\x4F\x55\x4E\x54\x28\x2A\x29\x20\x2A\x20\x31\x30\x30\x2C\x20\x31\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x3D\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22","\x64\x65\x73\x63\x72\x69\x62\x65"];_0xaa74[0];var _=require(_0xaa74[1]);var sequelize=require(_0xaa74[3])[_0xaa74[2]];var ReportCall=require(_0xaa74[3])[_0xaa74[4]];var ReportCallHistory=require(_0xaa74[3])[_0xaa74[6]][_0xaa74[5]];var Util=require(_0xaa74[7]);function handleError(_0xfdcfx7,_0xfdcfx8){_0xfdcfx8= _0xfdcfx8|| 500;return function(_0xfdcfx9){console[_0xaa74[8]](_0xfdcfx9);_0xfdcfx7[_0xaa74[10]](_0xfdcfx8)[_0xaa74[9]](_0xfdcfx9)}}function responseWithResult(_0xfdcfx7,_0xfdcfx8){_0xfdcfx8= _0xfdcfx8|| 200;return function(_0xfdcfxb){if(_0xfdcfxb){_0xfdcfx7[_0xaa74[10]](_0xfdcfx8)[_0xaa74[11]](_0xfdcfxb)}}}function handleEntityNotFound(_0xfdcfx7){return function(_0xfdcfxb){if(!_0xfdcfxb){_0xfdcfx7[_0xaa74[10]](404)[_0xaa74[12]]();return null};return _0xfdcfxb}}function saveUpdates(_0xfdcfxe){return function(_0xfdcfxb){return _0xfdcfxb[_0xaa74[14]](_0xfdcfxe)[_0xaa74[13]](function(_0xfdcfxf){return _0xfdcfxf})}}function removeEntity(_0xfdcfx7){return function(_0xfdcfxb){if(_0xfdcfxb){return _0xfdcfxb[_0xaa74[15]]()[_0xaa74[13]](function(){_0xfdcfx7[_0xaa74[10]](204)[_0xaa74[12]]()})}}}exports[_0xaa74[16]]= function(_0xfdcfx11,_0xfdcfx7,_0xfdcfx12){return ReportCall[_0xaa74[20]](Util[_0xaa74[19]](_0xfdcfx11[_0xaa74[18]]))[_0xaa74[13]](function(_0xfdcfx13){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]](_0xfdcfx13)})[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[21]]= function(_0xfdcfx11,_0xfdcfx7){if(_0xfdcfx11[_0xaa74[23]][_0xaa74[22]]){delete _0xfdcfx11[_0xaa74[23]][_0xaa74[22]]};return ReportCall[_0xaa74[26]]({where:{uniqueid:_0xfdcfx11[_0xaa74[25]][_0xaa74[24]]}})[_0xaa74[13]](handleEntityNotFound(_0xfdcfx7))[_0xaa74[13]](saveUpdates(_0xfdcfx11[_0xaa74[23]]))[_0xaa74[13]](responseWithResult(_0xfdcfx7))[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[27]]= function(_0xfdcfx11,_0xfdcfx7){return ReportCall[_0xaa74[29]]({where:{type:_0xaa74[28]}})[_0xaa74[13]](function(_0xfdcfx14){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]]({value:_0xfdcfx14})})[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[30]]= function(_0xfdcfx11,_0xfdcfx7){return sequelize[_0xaa74[18]](_0xaa74[32],{type:sequelize[_0xaa74[34]][_0xaa74[33]]})[_0xaa74[13]](function(_0xfdcfx14){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]]({value:_0xfdcfx14[0][_0xaa74[31]]})})[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[35]]= function(_0xfdcfx11,_0xfdcfx7){return sequelize[_0xaa74[18]](_0xaa74[36],{type:sequelize[_0xaa74[34]][_0xaa74[33]]})[_0xaa74[13]](function(_0xfdcfx14){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]]({value:_0xfdcfx14[0][_0xaa74[31]]})})[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[37]]= function(_0xfdcfx11,_0xfdcfx7){return ReportCall[_0xaa74[29]]({where:{disposition:_0xaa74[38],type:_0xaa74[28]}})[_0xaa74[13]](function(_0xfdcfx14){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]]({value:_0xfdcfx14})})[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[39]]= function(_0xfdcfx11,_0xfdcfx7){return sequelize[_0xaa74[18]](_0xaa74[40],{type:sequelize[_0xaa74[34]][_0xaa74[33]]})[_0xaa74[13]](function(_0xfdcfx14){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]]({value:_0xfdcfx14[0][_0xaa74[31]]})})[_0xaa74[17]](handleError(_0xfdcfx7))};exports[_0xaa74[41]]= function(_0xfdcfx11,_0xfdcfx7){return ReportCallHistory[_0xaa74[41]]()[_0xaa74[13]](function(_0xfdcfx15){return _0xfdcfx7[_0xaa74[10]](200)[_0xaa74[9]](_0xfdcfx15)})[_0xaa74[17]](handleError(_0xfdcfx7))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportCall = require('../../models').ReportCall;
-
-var ReportCallEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportCallEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportCall.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportCallEvents.emit(event + ':' + doc._id, doc);
- ReportCallEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportCallEvents;
+var _0x35f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x35f0[0];const EventEmitter=require(_0x35f0[1]);const ReportCall=require(_0x35f0[3])[_0x35f0[2]];var ReportCallEvents= new EventEmitter();ReportCallEvents[_0x35f0[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x35f0[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x35f0[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x35f0[6]};for(var e in events){var event=events[e];ReportCall[_0x35f0[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x6566x8,_0x6566x9,_0x6566xa){ReportCallEvents[_0x35f0[10]](event+ _0x35f0[8]+ _0x6566x8[_0x35f0[9]],_0x6566x8);ReportCallEvents[_0x35f0[10]](event,_0x6566x8);_0x6566xa(null)}}module[_0x35f0[11]]= ReportCallEvents
\ No newline at end of file
-'use strict';
-
-const ReportCallEvents = require('./report_call.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_call:' + event, socket);
-
- ReportCallEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportCallEvents.removeListener(event, listener);
- };
-}
+var _0xde18=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xde18[0];const ReportCallEvents=require(_0xde18[1]);var events=[_0xde18[2],_0xde18[3]];exports[_0xde18[4]]= function(_0xfc80x3){for(var _0xfc80x4=0,_0xfc80x5=events[_0xde18[5]];_0xfc80x4< _0xfc80x5;_0xfc80x4++){var _0xfc80x6=events[_0xfc80x4];var _0xfc80x7=createListener(_0xde18[6]+ _0xfc80x6,_0xfc80x3);ReportCallEvents[_0xde18[7]](_0xfc80x6,_0xfc80x7);_0xfc80x3[_0xde18[7]](_0xde18[8],removeListener(_0xfc80x6,_0xfc80x7))}};function createListener(_0xfc80x6,_0xfc80x3){return function(_0xfc80x9){_0xfc80x3[_0xde18[9]](_0xfc80x6,_0xfc80x9)}}function removeListener(_0xfc80x6,_0xfc80x7){return function(){ReportCallEvents[_0xde18[10]](_0xfc80x6,_0xfc80x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_chat.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/:id/accept/:uniqueid', auth.isAuthenticated(), license.hasChat(), auth.hasRole('agent'), controller.accept);
-router.get('/:id/reject', auth.isAuthenticated(), license.hasChat(), auth.hasRole('agent'), controller.reject);
-
-module.exports = router;
+var _0xb55b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x43\x68\x61\x74","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x61\x63\x63\x65\x70\x74\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x61\x63\x63\x65\x70\x74","\x2F\x3A\x69\x64\x2F\x72\x65\x6A\x65\x63\x74","\x72\x65\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb55b[0];var express=require(_0xb55b[1]);var controller=require(_0xb55b[2]);var auth=require(_0xb55b[3]);var license=require(_0xb55b[4]);var router=express.Router();router[_0xb55b[12]](_0xb55b[5],auth[_0xb55b[6]](),license[_0xb55b[7]](),auth[_0xb55b[10]]([17],[_0xb55b[8],_0xb55b[9]]),controller[_0xb55b[11]]);router[_0xb55b[12]](_0xb55b[13],auth[_0xb55b[6]](),license[_0xb55b[7]](),auth[_0xb55b[14]](_0xb55b[9]),controller[_0xb55b[15]]);router[_0xb55b[12]](_0xb55b[16],auth[_0xb55b[6]](),license[_0xb55b[7]](),auth[_0xb55b[14]](_0xb55b[9]),controller[_0xb55b[17]]);module[_0xb55b[18]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var md5 = require('md5');
-var moment = require('moment');
-
-var ReportChat = require('../../models').ReportChat;
-var ChatRoom = require('../../models').ChatRoom;
-var ChatVisitor = require('../../models').ChatVisitor;
-var Agent = require('../../models').User;
-var sequelize = require('../../models').sequelize;
-
-var Util = require('../../config/util');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ReportChat
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single reportMail
-exports.accept = function(req, res) {
- var _roomid = req.params.uniqueid.split('.')[1];
- var _chatRoom;
-
- return ReportChat
- .findById(req.params.id)
- .then(function(reportChat) {
- if (!reportChat) {
- return res.sendStatus(404);
- }
- var updated = _.merge(reportChat, {
- connectid: req.params.uniqueid
- });
- return updated.save();
- })
- .then(function() {
- return ChatRoom
- .findById(_roomid);
- })
- .then(function(chatRoom) {
- _chatRoom = chatRoom;
- return _chatRoom
- .addUser(req.user.id, {
- individualHooks: true
- });
- })
- .then(function() {
- return _chatRoom
- .update({
- token: md5(JSON.stringify([req.user.id])).toString('base64'),
- status: 'OPEN'
- })
- })
- .then(function() {
- return ChatVisitor.findById(_chatRoom.ChatVisitorId);
- })
- .then(function(chatVisitor) {
- if (!chatVisitor) {
- return res.sendStatus(404);
- }
- var updated = _.merge(chatVisitor, {
- status: 'accepted'
- });
- return updated.save();
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return res.sendStatus(504);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new reportChat in the DB.
-exports.create = function(req, res) {
- return ReportChat
- .create(req.body)
- .then(function(reportChat) {
- return res.status(201).send(reportChat);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing reportChat in the DB.
-exports.update = function(req, res, next) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ReportChat
- .findById(req.params.id)
- .then(function(reportChat) {
- if (!reportChat) {
- return res.sendStatus(404);
- }
- var updated = _.merge(reportChat, req.body);
- return updated
- .save();
- })
- .then(function(reportChat) {
- return res.status(200).send(reportChat);
- })
- .catch(sequelize.ValidationError, function(err) {
- return handleError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a reportChat from the DB.
-exports.destroy = function(req, res) {
- return ReportChat
- .findById(req.params.id)
- .then(function(reportChat) {
- if (!reportChat) {
- return res.sendStatus(404);
- }
- return reportChat.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.reject = function(req, res) {
- return ReportChat
- .findById(req.params.id)
- .then(function(reportChat) {
- if (!reportChat) {
- return res.sendStatus(404);
- }
- var updated = _.merge(reportChat, {
- rejectedAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- return updated.save();
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xb061=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x64\x35","\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x55\x73\x65\x72","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x63\x63\x65\x70\x74","\x2E","\x73\x70\x6C\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x61\x63\x63\x65\x70\x74\x65\x64","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x62\x61\x73\x65\x36\x34","\x69\x64","\x75\x73\x65\x72","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x4F\x50\x45\x4E","\x75\x70\x64\x61\x74\x65","\x61\x64\x64\x55\x73\x65\x72","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6A\x65\x63\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74"];_0xb061[0];var _=require(_0xb061[1]);var md5=require(_0xb061[2]);var moment=require(_0xb061[3]);var ReportChat=require(_0xb061[5])[_0xb061[4]];var ChatRoom=require(_0xb061[5])[_0xb061[6]];var ChatVisitor=require(_0xb061[5])[_0xb061[7]];var Agent=require(_0xb061[5])[_0xb061[8]];var sequelize=require(_0xb061[5])[_0xb061[9]];var Util=require(_0xb061[10]);exports[_0xb061[11]]= function(_0x6342xa,_0x6342xb,_0x6342xc){return ReportChat[_0xb061[18]](Util[_0xb061[17]](_0x6342xa[_0xb061[16]]))[_0xb061[15]](function(_0x6342xe){_0x6342xb[_0xb061[14]](200)[_0xb061[13]](_0x6342xe)})[_0xb061[12]](function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})};exports[_0xb061[19]]= function(_0x6342xa,_0x6342xb){var _0x6342xf=_0x6342xa[_0xb061[23]][_0xb061[22]][_0xb061[21]](_0xb061[20])[1];var _0x6342x10;return ReportChat[_0xb061[28]](_0x6342xa[_0xb061[23]][_0xb061[30]])[_0xb061[15]](function(_0x6342x14){if(!_0x6342x14){return _0x6342xb[_0xb061[24]](404)};var _0x6342x12=_[_0xb061[26]](_0x6342x14,{connectid:_0x6342xa[_0xb061[23]][_0xb061[22]]});return _0x6342x12[_0xb061[27]]()})[_0xb061[15]](function(){return ChatRoom[_0xb061[28]](_0x6342xf)})[_0xb061[15]](function(_0x6342x13){_0x6342x10= _0x6342x13;return _0x6342x10[_0xb061[35]](_0x6342xa[_0xb061[31]][_0xb061[30]],{individualHooks:true})})[_0xb061[15]](function(){return _0x6342x10[_0xb061[34]]({token:md5(JSON[_0xb061[32]]([_0x6342xa[_0xb061[31]][_0xb061[30]]])).toString(_0xb061[29]),status:_0xb061[33]})})[_0xb061[15]](function(){return ChatVisitor[_0xb061[28]](_0x6342x10.ChatVisitorId)})[_0xb061[15]](function(_0x6342x11){if(!_0x6342x11){return _0x6342xb[_0xb061[24]](404)};var _0x6342x12=_[_0xb061[26]](_0x6342x11,{status:_0xb061[25]});return _0x6342x12[_0xb061[27]]()})[_0xb061[15]](function(){return _0x6342xb[_0xb061[24]](200)})[_0xb061[12]](sequelize.UniqueConstraintError,function(_0x6342xd){return _0x6342xb[_0xb061[24]](504)})[_0xb061[12]](function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})};exports[_0xb061[36]]= function(_0x6342xa,_0x6342xb){return ReportChat[_0xb061[36]](_0x6342xa[_0xb061[37]])[_0xb061[15]](function(_0x6342x14){return _0x6342xb[_0xb061[14]](201)[_0xb061[13]](_0x6342x14)})[_0xb061[12]](function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})};exports[_0xb061[34]]= function(_0x6342xa,_0x6342xb,_0x6342xc){if(_0x6342xa[_0xb061[37]][_0xb061[30]]){delete _0x6342xa[_0xb061[37]][_0xb061[30]]};return ReportChat[_0xb061[28]](_0x6342xa[_0xb061[23]][_0xb061[30]])[_0xb061[15]](function(_0x6342x14){if(!_0x6342x14){return _0x6342xb[_0xb061[24]](404)};var _0x6342x12=_[_0xb061[26]](_0x6342x14,_0x6342xa[_0xb061[37]]);return _0x6342x12[_0xb061[27]]()})[_0xb061[15]](function(_0x6342x14){return _0x6342xb[_0xb061[14]](200)[_0xb061[13]](_0x6342x14)})[_0xb061[12]](sequelize.ValidationError,function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})[_0xb061[12]](function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})};exports[_0xb061[38]]= function(_0x6342xa,_0x6342xb){return ReportChat[_0xb061[28]](_0x6342xa[_0xb061[23]][_0xb061[30]])[_0xb061[15]](function(_0x6342x14){if(!_0x6342x14){return _0x6342xb[_0xb061[24]](404)};return _0x6342x14[_0xb061[38]]()})[_0xb061[15]](function(){return _0x6342xb[_0xb061[24]](204)})[_0xb061[12]](function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})};exports[_0xb061[39]]= function(_0x6342xa,_0x6342xb){return ReportChat[_0xb061[28]](_0x6342xa[_0xb061[23]][_0xb061[30]])[_0xb061[15]](function(_0x6342x14){if(!_0x6342x14){return _0x6342xb[_0xb061[24]](404)};var _0x6342x12=_[_0xb061[26]](_0x6342x14,{rejectedAt:moment()[_0xb061[41]](_0xb061[40])});return _0x6342x12[_0xb061[27]]()})[_0xb061[15]](function(){return _0x6342xb[_0xb061[24]](200)})[_0xb061[12]](function(_0x6342xd){return handleError(_0x6342xb,_0x6342xd)})};function handleError(_0x6342xb,_0x6342xd){return _0x6342xb[_0xb061[14]](500)[_0xb061[13]](_0x6342xd)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportChat = require('../../models').ReportChat;
-
-var ReportChatEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportChatEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportChat.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportChatEvents.emit(event + ':' + doc._id, doc);
- ReportChatEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportChatEvents;
+var _0xa68f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xa68f[0];const EventEmitter=require(_0xa68f[1]);const ReportChat=require(_0xa68f[3])[_0xa68f[2]];var ReportChatEvents= new EventEmitter();ReportChatEvents[_0xa68f[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xa68f[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xa68f[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xa68f[7]};for(var e in events){var event=events[e];ReportChat[_0xa68f[8]](e,emitEvent(event))};function emitEvent(event){return function(_0x359cx8,_0x359cx9,_0x359cxa){ReportChatEvents[_0xa68f[11]](event+ _0xa68f[9]+ _0x359cx8[_0xa68f[10]],_0x359cx8);ReportChatEvents[_0xa68f[11]](event,_0x359cx8);_0x359cxa(null)}}module[_0xa68f[12]]= ReportChatEvents
\ No newline at end of file
-'use strict';
-
-const ReportChatEvents = require('./report_chat.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_chat:' + event, socket);
-
- ReportChatEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_chat:save':
- case 'report_chat:update':
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- break;
-
- case 'report_chat:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportChatEvents.removeListener(event, listener);
- };
-}
+var _0x1f62=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x73\x61\x76\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x1f62[0];const ReportChatEvents=require(_0x1f62[1]);var events=[_0x1f62[2],_0x1f62[3]];exports[_0x1f62[4]]= function(_0x7c61x3){for(var _0x7c61x4=0,_0x7c61x5=events[_0x1f62[5]];_0x7c61x4< _0x7c61x5;_0x7c61x4++){var _0x7c61x6=events[_0x7c61x4];var _0x7c61x7=createListener(_0x1f62[6]+ _0x7c61x6,_0x7c61x3);ReportChatEvents[_0x1f62[7]](_0x7c61x6,_0x7c61x7);_0x7c61x3[_0x1f62[7]](_0x1f62[8],removeListener(_0x7c61x6,_0x7c61x7))}};function createListener(_0x7c61x6,_0x7c61x3){return function(_0x7c61x9){switch(_0x7c61x6){case _0x1f62[9]:;case _0x1f62[15]:if(_0x7c61x3[_0x1f62[10]]=== _0x7c61x9[_0x1f62[11]]|| _0x7c61x3[_0x1f62[12]]=== _0x1f62[13]){_0x7c61x3[_0x1f62[14]](_0x7c61x6,_0x7c61x9)};break;case _0x1f62[16]:_0x7c61x3[_0x1f62[14]](_0x7c61x6,_0x7c61x9);break;default:}}}function removeListener(_0x7c61x6,_0x7c61x7){return function(){ReportChatEvents[_0x1f62[17]](_0x7c61x6,_0x7c61x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_chat_session.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/open', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.open);
-router.get('/closed', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.closed);
-router.get('/timeout', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.timeout);
-router.get('/waiting', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.waiting);
-router.get('/abandoned', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([17], ['admin']), controller.abandoned);
-router.get('/waiting/applications', license.isValidDate(), auth.isAuthenticated(), license.hasChat(), auth.hasModule([8], ['admin', 'agent']), controller.waitingApplications);
-
-module.exports = router;
+var _0x9515=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x43\x68\x61\x74","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x6F\x70\x65\x6E","\x6F\x70\x65\x6E","\x2F\x63\x6C\x6F\x73\x65\x64","\x63\x6C\x6F\x73\x65\x64","\x2F\x74\x69\x6D\x65\x6F\x75\x74","\x74\x69\x6D\x65\x6F\x75\x74","\x2F\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67","\x2F\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x2F\x77\x61\x69\x74\x69\x6E\x67\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x67\x65\x6E\x74","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x9515[0];var express=require(_0x9515[1]);var controller=require(_0x9515[2]);var auth=require(_0x9515[3]);var license=require(_0x9515[4]);var router=express.Router();router[_0x9515[12]](_0x9515[5],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[11]]);router[_0x9515[12]](_0x9515[13],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[14]]);router[_0x9515[12]](_0x9515[15],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[16]]);router[_0x9515[12]](_0x9515[17],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[18]]);router[_0x9515[12]](_0x9515[19],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[20]]);router[_0x9515[12]](_0x9515[21],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[22]]);router[_0x9515[12]](_0x9515[23],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([17],[_0x9515[9]]),controller[_0x9515[24]]);router[_0x9515[12]](_0x9515[25],license[_0x9515[6]](),auth[_0x9515[7]](),license[_0x9515[8]](),auth[_0x9515[10]]([8],[_0x9515[9],_0x9515[26]]),controller[_0x9515[27]]);module[_0x9515[28]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportChatSession = require('../../models').ReportChatSession;
-var User = require('../../models').User;
-var ReportChatSessionHistory = require('../../models').history.ReportChatSessionHistory;
-var Promise = require('bluebird');
-
-var Util = require('../../config/util');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ReportChatSession
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportChatSessionHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getChatQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- };
- });
- case 'agent':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getChatQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-// Get Waiting apps
-exports.waitingApplications = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ReportChatSession
- .findAll(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get open apps
-exports.open = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ReportChatSession
- .count(Util.getQuery(req.query, _.merge({
- leaveAt: {
- $ne: null
- },
- complete: null,
- abandon: null,
- timeout: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.waiting = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ReportChatSession
- .count(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get closed apps
-exports.closed = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ReportChatSession
- .count(Util.getQuery(req.query, _.merge({
- complete: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get timeout apps
-exports.timeout = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ReportChatSession
- .count(Util.getQuery(req.query, _.merge({
- timeout: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get abandoned apps
-exports.abandoned = function(req, res) {
- return Promise
- .all([])
- .then(getChatQueues(req.user))
- .then(function(condition) {
- return ReportChatSession
- .count(Util.getQuery(req.query, _.merge({
- abandon: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x8945=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x6C\x6C","\x6F\x70\x65\x6E","\x63\x6F\x75\x6E\x74","\x77\x61\x69\x74\x69\x6E\x67","\x63\x6C\x6F\x73\x65\x64","\x74\x69\x6D\x65\x6F\x75\x74","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64"];_0x8945[0];var _=require(_0x8945[1]);var ReportChatSession=require(_0x8945[3])[_0x8945[2]];var User=require(_0x8945[3])[_0x8945[4]];var ReportChatSessionHistory=require(_0x8945[3])[_0x8945[6]][_0x8945[5]];var Promise=require(_0x8945[7]);var Util=require(_0x8945[8]);exports[_0x8945[9]]= function(_0xae1bx7,_0xae1bx8,_0xae1bx9){return ReportChatSession[_0x8945[16]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]]))[_0x8945[13]](function(_0xae1bxb){_0xae1bx8[_0x8945[12]](200)[_0x8945[11]](_0xae1bxb)})[_0x8945[10]](function(_0xae1bxa){return handleError(_0xae1bx8,_0xae1bxa)})};exports[_0x8945[17]]= function(_0xae1bx7,_0xae1bx8){return ReportChatSessionHistory[_0x8945[17]]()[_0x8945[13]](function(_0xae1bxc){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]](_0xae1bxc)})[_0x8945[10]](function(_0xae1bxa){return handleError(_0xae1bx8,_0xae1bxa)})};function getChatQueues(_0xae1bxe){return function(){switch(_0xae1bxe[_0x8945[28]]){case _0x8945[25]:return User[_0x8945[24]](_0xae1bxe[_0x8945[18]],{attributes:[_0x8945[18]]})[_0x8945[13]](Util[_0x8945[23]]({},{attributes:[_0x8945[18]],include:[{raw:true,model:User,attributes:[_0x8945[18]]}]}))[_0x8945[13]](function(_0xae1bxf){var _0xae1bx10=[];_0xae1bxf[_0x8945[22]][_0x8945[21]](function(_0xae1bx11){_0xae1bx10= _[_0x8945[20]](_0xae1bx10,_[_0x8945[19]](_0xae1bx11.Users,_0x8945[18]))});return {$or:{queue:_[_0x8945[19]](_0xae1bxf[_0x8945[22]],_0x8945[18]),memberid:_0xae1bx10}}});case _0x8945[27]:return User[_0x8945[24]](_0xae1bxe[_0x8945[18]],{attributes:[_0x8945[18]]})[_0x8945[13]](function(_0xae1bx12){return _0xae1bx12[_0x8945[26]]({attributes:[_0x8945[18]]})})[_0x8945[13]](function(_0xae1bxf){return {$or:{queue:_[_0x8945[19]](_0xae1bxf,_0x8945[18]),memberid:_0xae1bxe[_0x8945[18]]}}});default:return {}}}}exports[_0x8945[29]]= function(_0xae1bx7,_0xae1bx8){return Promise[_0x8945[33]]([])[_0x8945[13]](getChatQueues(_0xae1bx7[_0x8945[25]]))[_0x8945[13]](function(_0xae1bx14){return ReportChatSession[_0x8945[32]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]],_[_0x8945[31]]({leaveAt:null},_0xae1bx14)))})[_0x8945[13]](function(_0xae1bx13){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]]({rows:_0xae1bx13})})[_0x8945[10]](function(_0xae1bxa){console[_0x8945[30]](_0xae1bxa);return handleError(_0xae1bx8,_0xae1bxa)})};exports[_0x8945[34]]= function(_0xae1bx7,_0xae1bx8){return Promise[_0x8945[33]]([])[_0x8945[13]](getChatQueues(_0xae1bx7[_0x8945[25]]))[_0x8945[13]](function(_0xae1bx14){return ReportChatSession[_0x8945[35]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]],_[_0x8945[31]]({leaveAt:{$ne:null},complete:null,abandon:null,timeout:null},_0xae1bx14)))})[_0x8945[13]](function(_0xae1bx13){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]]({value:_0xae1bx13})})[_0x8945[10]](function(_0xae1bxa){console[_0x8945[30]](_0xae1bxa);return handleError(_0xae1bx8,_0xae1bxa)})};exports[_0x8945[36]]= function(_0xae1bx7,_0xae1bx8){return Promise[_0x8945[33]]([])[_0x8945[13]](getChatQueues(_0xae1bx7[_0x8945[25]]))[_0x8945[13]](function(_0xae1bx14){return ReportChatSession[_0x8945[35]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]],_[_0x8945[31]]({leaveAt:null},_0xae1bx14)))})[_0x8945[13]](function(_0xae1bx13){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]]({value:_0xae1bx13})})[_0x8945[10]](function(_0xae1bxa){console[_0x8945[30]](_0xae1bxa);return handleError(_0xae1bx8,_0xae1bxa)})};exports[_0x8945[37]]= function(_0xae1bx7,_0xae1bx8){return Promise[_0x8945[33]]([])[_0x8945[13]](getChatQueues(_0xae1bx7[_0x8945[25]]))[_0x8945[13]](function(_0xae1bx14){return ReportChatSession[_0x8945[35]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]],_[_0x8945[31]]({complete:true},_0xae1bx14)))})[_0x8945[13]](function(_0xae1bx13){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]]({value:_0xae1bx13})})[_0x8945[10]](function(_0xae1bxa){console[_0x8945[30]](_0xae1bxa);return handleError(_0xae1bx8,_0xae1bxa)})};exports[_0x8945[38]]= function(_0xae1bx7,_0xae1bx8){return Promise[_0x8945[33]]([])[_0x8945[13]](getChatQueues(_0xae1bx7[_0x8945[25]]))[_0x8945[13]](function(_0xae1bx14){return ReportChatSession[_0x8945[35]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]],_[_0x8945[31]]({timeout:true},_0xae1bx14)))})[_0x8945[13]](function(_0xae1bx13){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]]({value:_0xae1bx13})})[_0x8945[10]](function(_0xae1bxa){console[_0x8945[30]](_0xae1bxa);return handleError(_0xae1bx8,_0xae1bxa)})};exports[_0x8945[39]]= function(_0xae1bx7,_0xae1bx8){return Promise[_0x8945[33]]([])[_0x8945[13]](getChatQueues(_0xae1bx7[_0x8945[25]]))[_0x8945[13]](function(_0xae1bx14){return ReportChatSession[_0x8945[35]](Util[_0x8945[15]](_0xae1bx7[_0x8945[14]],_[_0x8945[31]]({abandon:true},_0xae1bx14)))})[_0x8945[13]](function(_0xae1bx13){return _0xae1bx8[_0x8945[12]](200)[_0x8945[11]]({value:_0xae1bx13})})[_0x8945[10]](function(_0xae1bxa){console[_0x8945[30]](_0xae1bxa);return handleError(_0xae1bx8,_0xae1bxa)})};function handleError(_0xae1bx8,_0xae1bxa){return _0xae1bx8[_0x8945[12]](500)[_0x8945[11]](_0xae1bxa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportChatSession = require('../../models').ReportChatSession;
-
-var ReportChatSessionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportChatSessionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportChatSession.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportChatSessionEvents.emit(event + ':' + doc._id, doc);
- ReportChatSessionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportChatSessionEvents;
+var _0x1862=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1862[0];const EventEmitter=require(_0x1862[1]);const ReportChatSession=require(_0x1862[3])[_0x1862[2]];var ReportChatSessionEvents= new EventEmitter();ReportChatSessionEvents[_0x1862[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x1862[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x1862[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x1862[6]};for(var e in events){var event=events[e];ReportChatSession[_0x1862[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x1bb4x8,_0x1bb4x9,_0x1bb4xa){ReportChatSessionEvents[_0x1862[10]](event+ _0x1862[8]+ _0x1bb4x8[_0x1862[9]],_0x1bb4x8);ReportChatSessionEvents[_0x1862[10]](event,_0x1bb4x8);_0x1bb4xa(null)}}module[_0x1862[11]]= ReportChatSessionEvents
\ No newline at end of file
-'use strict';
-
-const ReportChatSessionEvents = require('./report_chat_session.events');
-const ReportChatSession = require('../../models').ReportChatSession;
-const User = require('../../models').User;
-const Util = require('../../config/util');
-
-const _ = require('lodash');
-const Promise = require('bluebird');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_chat_session:' + event, socket);
-
- ReportChatSessionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- onSave(socket, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportChatSessionEvents.removeListener(event, listener);
- };
-}
-
-
-function getChatQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- };
- });
- case 'agent':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getChatQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- queue: _.map(userQueues, 'id'),
- memberid: user.userId
- };
- });
- default:
- return {};
- }
- }
-}
-
-function onSave(socket, doc, cb) {
- return Promise
- .all([])
- .then(getChatQueues(socket))
- .then(function(condition) {
- if (socket.role === 'admin' || _.includes(condition.memberid, doc.memberid) || _.includes(condition.queue, doc.queue)) {
- socket.emit('report_chat_session:save', doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering report chat sessions after save', err);
- });
-}
-
-function onRemove(socket, doc, cb) {
- socket.emit('report_chat_session:remove', doc);
-}
+var _0x3eb9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x20\x63\x68\x61\x74\x20\x73\x65\x73\x73\x69\x6F\x6E\x73\x20\x61\x66\x74\x65\x72\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x61\x64\x6D\x69\x6E","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x71\x75\x65\x75\x65","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x3eb9[0];const ReportChatSessionEvents=require(_0x3eb9[1]);const ReportChatSession=require(_0x3eb9[3])[_0x3eb9[2]];const User=require(_0x3eb9[3])[_0x3eb9[4]];const Util=require(_0x3eb9[5]);const _=require(_0x3eb9[6]);const Promise=require(_0x3eb9[7]);var events=[_0x3eb9[8],_0x3eb9[9]];exports[_0x3eb9[10]]= function(_0xafc2x8){for(var _0xafc2x9=0,_0xafc2xa=events[_0x3eb9[11]];_0xafc2x9< _0xafc2xa;_0xafc2x9++){var _0xafc2xb=events[_0xafc2x9];var _0xafc2xc=createListener(_0x3eb9[12]+ _0xafc2xb,_0xafc2x8);ReportChatSessionEvents[_0x3eb9[13]](_0xafc2xb,_0xafc2xc);_0xafc2x8[_0x3eb9[13]](_0x3eb9[14],removeListener(_0xafc2xb,_0xafc2xc))}};function createListener(_0xafc2xb,_0xafc2x8){return function(_0xafc2xe){onSave(_0xafc2x8,_0xafc2xe)}}function removeListener(_0xafc2xb,_0xafc2xc){return function(){ReportChatSessionEvents[_0x3eb9[15]](_0xafc2xb,_0xafc2xc)}}function getChatQueues(_0xafc2x11){return function(){switch(_0xafc2x11[_0x3eb9[28]]){case _0x3eb9[25]:return User[_0x3eb9[24]](_0xafc2x11[_0x3eb9[23]],{attributes:[_0x3eb9[16]]})[_0x3eb9[21]](Util[_0x3eb9[22]]({},{attributes:[_0x3eb9[16]],include:[{raw:true,model:User,attributes:[_0x3eb9[16]]}]}))[_0x3eb9[21]](function(_0xafc2x12){var _0xafc2x13=[];_0xafc2x12[_0x3eb9[20]][_0x3eb9[19]](function(_0xafc2x14){_0xafc2x13= _[_0x3eb9[18]](_0xafc2x13,_[_0x3eb9[17]](_0xafc2x14.Users,_0x3eb9[16]))});return {queue:_[_0x3eb9[17]](_0xafc2x12[_0x3eb9[20]],_0x3eb9[16]),memberid:_0xafc2x13}});case _0x3eb9[27]:return User[_0x3eb9[24]](_0xafc2x11[_0x3eb9[23]],{attributes:[_0x3eb9[16]]})[_0x3eb9[21]](function(_0xafc2x15){return _0xafc2x15[_0x3eb9[26]]({attributes:[_0x3eb9[16]]})})[_0x3eb9[21]](function(_0xafc2x12){return {queue:_[_0x3eb9[17]](_0xafc2x12,_0x3eb9[16]),memberid:_0xafc2x11[_0x3eb9[23]]}});default:return {}}}}function onSave(_0xafc2x8,_0xafc2xe,_0xafc2x17){return Promise[_0x3eb9[38]]([])[_0x3eb9[21]](getChatQueues(_0xafc2x8))[_0x3eb9[21]](function(_0xafc2x19){if(_0xafc2x8[_0x3eb9[28]]=== _0x3eb9[32]|| _[_0x3eb9[34]](_0xafc2x19[_0x3eb9[33]],_0xafc2xe[_0x3eb9[33]])|| _[_0x3eb9[34]](_0xafc2x19[_0x3eb9[35]],_0xafc2xe[_0x3eb9[35]])){_0xafc2x8[_0x3eb9[37]](_0x3eb9[36],_0xafc2xe)}})[_0x3eb9[31]](function(_0xafc2x18){console[_0x3eb9[30]](_0x3eb9[29],_0xafc2x18)})}function onRemove(_0xafc2x8,_0xafc2xe,_0xafc2x17){_0xafc2x8[_0x3eb9[37]](_0x3eb9[39],_0xafc2xe)}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./report_dial.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/active/calls', auth.isAuthenticated(), auth.hasModule([7], ['admin', 'agent']), controller.activeCalls);
-
-
-module.exports = router;
+var _0x5a1e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x61\x63\x74\x69\x76\x65\x2F\x63\x61\x6C\x6C\x73","\x61\x63\x74\x69\x76\x65\x43\x61\x6C\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x5a1e[0];var express=require(_0x5a1e[1]);var auth=require(_0x5a1e[2]);var controller=require(_0x5a1e[3]);var router=express.Router();router[_0x5a1e[10]](_0x5a1e[4],auth[_0x5a1e[5]](),auth[_0x5a1e[8]]([17],[_0x5a1e[6],_0x5a1e[7]]),controller[_0x5a1e[9]]);router[_0x5a1e[10]](_0x5a1e[11],auth[_0x5a1e[5]](),auth[_0x5a1e[8]]([17],[_0x5a1e[6]]),controller[_0x5a1e[12]]);router[_0x5a1e[10]](_0x5a1e[13],auth[_0x5a1e[5]](),auth[_0x5a1e[8]]([7],[_0x5a1e[6],_0x5a1e[7]]),controller[_0x5a1e[14]]);module[_0x5a1e[15]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/report/dials -> index
- * POST /api/report/dials -> create
- * GET /api/report/dials/:id -> show
- * PUT /api/report/dials/:id -> update
- * DELETE /api/report/dials/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var sequelize = require('../../models').sequelize;
-var ReportDial = require('../../models').ReportDial;
-var ReportDialHistory = require('../../models').history.ReportDialHistory;
-var Util = require('../../config/util');
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- console.log(err);
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity
- .destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of ReportDials
-exports.index = function(req, res, next) {
- return ReportDial
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(data) {
- if (req.user.role === 'agent') {
- var filteredData = [];
- _.forEach(data.rows, function(elem) {
- if (elem.channel && elem.channel.split(/\/|-/)[1] === req.user.name) {
- filteredData.push(elem);
- }
- });
- return {
- rows: filteredData,
- count: filteredData.length
- };
- }
- return data;
- })
- .then(function(data) {
- return res.status(200).send(data);
- })
- .catch(handleError(res));
-};
-
-// Get Active Calls
-exports.activeCalls = function(req, res) {
- return ReportDial
- .findAll(Util.getQuery(req.query, {
- endtime: null
- }))
- .then(function(data) {
- return res.status(200).send({
- rows: data,
- count: data.length
- });
- })
- .catch(handleError(res));
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportDialHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(handleError(res));
-};
+var _0xec5d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x72\x6F\x77\x73","\x63\x68\x61\x6E\x6E\x65\x6C","\x73\x70\x6C\x69\x74","\x6E\x61\x6D\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x63\x74\x69\x76\x65\x43\x61\x6C\x6C\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65"];_0xec5d[0];var _=require(_0xec5d[1]);var sequelize=require(_0xec5d[3])[_0xec5d[2]];var ReportDial=require(_0xec5d[3])[_0xec5d[4]];var ReportDialHistory=require(_0xec5d[3])[_0xec5d[6]][_0xec5d[5]];var Util=require(_0xec5d[7]);function handleError(_0x5891x7,_0x5891x8){_0x5891x8= _0x5891x8|| 500;return function(_0x5891x9){console[_0xec5d[8]](_0x5891x9);_0x5891x7[_0xec5d[10]](_0x5891x8)[_0xec5d[9]](_0x5891x9)}}function responseWithResult(_0x5891x7,_0x5891x8){_0x5891x8= _0x5891x8|| 200;return function(_0x5891xb){if(_0x5891xb){_0x5891x7[_0xec5d[10]](_0x5891x8)[_0xec5d[11]](_0x5891xb)}}}function handleEntityNotFound(_0x5891x7){return function(_0x5891xb){if(!_0x5891xb){_0x5891x7[_0xec5d[10]](404)[_0xec5d[12]]();return null};return _0x5891xb}}function saveUpdates(_0x5891xe){return function(_0x5891xb){return _0x5891xb[_0xec5d[14]](_0x5891xe)[_0xec5d[13]](function(_0x5891xf){return _0x5891xf})}}function removeEntity(_0x5891x7){return function(_0x5891xb){if(_0x5891xb){return _0x5891xb[_0xec5d[15]]()[_0xec5d[13]](function(){_0x5891x7[_0xec5d[10]](204)[_0xec5d[12]]()})}}}exports[_0xec5d[16]]= function(_0x5891x11,_0x5891x7,_0x5891x12){return ReportDial[_0xec5d[30]](Util[_0xec5d[29]](_0x5891x11[_0xec5d[28]]))[_0xec5d[13]](function(_0x5891x13){if(_0x5891x11[_0xec5d[19]][_0xec5d[18]]=== _0xec5d[20]){var _0x5891x14=[];_[_0xec5d[26]](_0x5891x13[_0xec5d[21]],function(_0x5891x15){if(_0x5891x15[_0xec5d[22]]&& _0x5891x15[_0xec5d[22]][_0xec5d[23]](/\/|-/)[1]=== _0x5891x11[_0xec5d[19]][_0xec5d[24]]){_0x5891x14[_0xec5d[25]](_0x5891x15)}});return {rows:_0x5891x14,count:_0x5891x14[_0xec5d[27]]}};return _0x5891x13})[_0xec5d[13]](function(_0x5891x13){return _0x5891x7[_0xec5d[10]](200)[_0xec5d[9]](_0x5891x13)})[_0xec5d[17]](handleError(_0x5891x7))};exports[_0xec5d[31]]= function(_0x5891x11,_0x5891x7){return ReportDial[_0xec5d[32]](Util[_0xec5d[29]](_0x5891x11[_0xec5d[28]],{endtime:null}))[_0xec5d[13]](function(_0x5891x13){return _0x5891x7[_0xec5d[10]](200)[_0xec5d[9]]({rows:_0x5891x13,count:_0x5891x13[_0xec5d[27]]})})[_0xec5d[17]](handleError(_0x5891x7))};exports[_0xec5d[33]]= function(_0x5891x11,_0x5891x7){return ReportDialHistory[_0xec5d[33]]()[_0xec5d[13]](function(_0x5891x16){return _0x5891x7[_0xec5d[10]](200)[_0xec5d[9]](_0x5891x16)})[_0xec5d[17]](handleError(_0x5891x7))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportDial = require('../../models').ReportDial;
-
-var ReportDialEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportDialEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportDial.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportDialEvents.emit(event + ':' + doc._id, doc);
- ReportDialEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportDialEvents;
+var _0x83bc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x83bc[0];const EventEmitter=require(_0x83bc[1]);const ReportDial=require(_0x83bc[3])[_0x83bc[2]];var ReportDialEvents= new EventEmitter();ReportDialEvents[_0x83bc[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x83bc[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x83bc[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x83bc[7]};for(var e in events){var event=events[e];ReportDial[_0x83bc[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xe3c7x8,_0xe3c7x9,_0xe3c7xa){ReportDialEvents[_0x83bc[11]](event+ _0x83bc[9]+ _0xe3c7x8[_0x83bc[10]],_0xe3c7x8);ReportDialEvents[_0x83bc[11]](event,_0xe3c7x8);_0xe3c7xa(null)}}module[_0x83bc[12]]= ReportDialEvents
\ No newline at end of file
-'use strict';
-
-const ReportDialEvents = require('./report_dial.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_dial:' + event, socket);
-
- ReportDialEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.role === 'admin' || (doc.channel && doc.channel.split(/\/|-/)[1] === socket.name)) {
- socket.emit(event, doc);
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportDialEvents.removeListener(event, listener);
- };
-}
+var _0xeb27=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x63\x68\x61\x6E\x6E\x65\x6C","\x73\x70\x6C\x69\x74","\x6E\x61\x6D\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xeb27[0];const ReportDialEvents=require(_0xeb27[1]);var events=[_0xeb27[2],_0xeb27[3],_0xeb27[4]];exports[_0xeb27[5]]= function(_0xd1c6x3){for(var _0xd1c6x4=0,_0xd1c6x5=events[_0xeb27[6]];_0xd1c6x4< _0xd1c6x5;_0xd1c6x4++){var _0xd1c6x6=events[_0xd1c6x4];var _0xd1c6x7=createListener(_0xeb27[7]+ _0xd1c6x6,_0xd1c6x3);ReportDialEvents[_0xeb27[8]](_0xd1c6x6,_0xd1c6x7);_0xd1c6x3[_0xeb27[8]](_0xeb27[9],removeListener(_0xd1c6x6,_0xd1c6x7))}};function createListener(_0xd1c6x6,_0xd1c6x3){return function(_0xd1c6x9){if(_0xd1c6x3[_0xeb27[10]]=== _0xeb27[11]|| (_0xd1c6x9[_0xeb27[12]]&& _0xd1c6x9[_0xeb27[12]][_0xeb27[13]](/\/|-/)[1]=== _0xd1c6x3[_0xeb27[14]])){_0xd1c6x3[_0xeb27[15]](_0xd1c6x6,_0xd1c6x9)}}}function removeListener(_0xd1c6x6,_0xd1c6x7){return function(){ReportDialEvents[_0xeb27[16]](_0xd1c6x6,_0xd1c6x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_fax.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasFax(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/:id/accept/:uniqueid', auth.isAuthenticated(), license.hasFax(), auth.hasRole('agent'), controller.accept);
-router.get('/:id/reject', auth.isAuthenticated(), license.hasFax(), auth.hasRole('agent'), controller.reject);
-module.exports = router;
+var _0xdcdd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x46\x61\x78","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x61\x63\x63\x65\x70\x74\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x61\x63\x63\x65\x70\x74","\x2F\x3A\x69\x64\x2F\x72\x65\x6A\x65\x63\x74","\x72\x65\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xdcdd[0];var express=require(_0xdcdd[1]);var controller=require(_0xdcdd[2]);var auth=require(_0xdcdd[3]);var license=require(_0xdcdd[4]);var router=express.Router();router[_0xdcdd[12]](_0xdcdd[5],auth[_0xdcdd[6]](),license[_0xdcdd[7]](),auth[_0xdcdd[10]]([17],[_0xdcdd[8],_0xdcdd[9]]),controller[_0xdcdd[11]]);router[_0xdcdd[12]](_0xdcdd[13],auth[_0xdcdd[6]](),license[_0xdcdd[7]](),auth[_0xdcdd[14]](_0xdcdd[9]),controller[_0xdcdd[15]]);router[_0xdcdd[12]](_0xdcdd[16],auth[_0xdcdd[6]](),license[_0xdcdd[7]](),auth[_0xdcdd[14]](_0xdcdd[9]),controller[_0xdcdd[17]]);module[_0xdcdd[18]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-
-var FaxRoom = require('../../models').FaxRoom;
-var FaxRoomStatus = require('../../models').FaxRoomStatus;
-var ReportFax = require('../../models').ReportFax;
-var sequelize = require('../../models').sequelize;
-var Agent = require('../../models').User;
-
-var Util = require('../../config/util');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ReportFax
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single reportMail
-exports.accept = function(req, res) {
- var _agent;
- var _roomid = req.params.uniqueid.split('.')[1];
-
- return Agent
- .findById(req.user.id, {
- attributes: ['id', 'faxCapacity']
- })
- .then(function(agent) {
- _agent = agent;
- return agent
- .getFaxRooms({
- where: {
- status: {
- $ne: 'CLOSED'
- },
- id: {
- $ne: _roomid
- }
- },
- attributes: ['id']
- });
- })
- .then(function(faxRooms) {
- return ReportFax
- .findById(req.params.id);
- })
- .then(function(reportFax) {
- if (!reportFax) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(reportFax, {
- connectid: req.params.uniqueid
- });
-
- return updated
- .save();
- })
- .then(function() {
- return FaxRoom
- .update({
- status: 'OPEN',
- openReason: 'agent'
- }, {
- where: {
- id: _roomid
- },
- user: req.user,
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return res.sendStatus(504);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single reportMail
-exports.reject = function(req, res) {
- var _report;
-
- return ReportFax
- .findById(req.params.id)
- .then(function(reportFax) {
- _report = reportFax;
- if (!reportFax) {
- return res.sendStatus(404);
- }
- var updated = _.merge(reportFax, {
- rejectedAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- return updated
- .save();
- })
- .then(function() {
- return FaxRoomStatus
- .create({
- status: 'REJECT',
- data1: req.user.name,
- data2: req.user.fullname,
- UserId: req.user.id,
- MailRoomId: _report.roomid
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x3a65=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x52\x65\x70\x6F\x72\x74\x46\x61\x78","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x63\x63\x65\x70\x74","\x2E","\x73\x70\x6C\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x4F\x50\x45\x4E","\x61\x67\x65\x6E\x74","\x75\x73\x65\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x43\x4C\x4F\x53\x45\x44","\x67\x65\x74\x46\x61\x78\x52\x6F\x6F\x6D\x73","\x66\x61\x78\x43\x61\x70\x61\x63\x69\x74\x79","\x72\x65\x6A\x65\x63\x74","\x52\x45\x4A\x45\x43\x54","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x72\x6F\x6F\x6D\x69\x64","\x63\x72\x65\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74"];_0x3a65[0];var _=require(_0x3a65[1]);var moment=require(_0x3a65[2]);var FaxRoom=require(_0x3a65[4])[_0x3a65[3]];var FaxRoomStatus=require(_0x3a65[4])[_0x3a65[5]];var ReportFax=require(_0x3a65[4])[_0x3a65[6]];var sequelize=require(_0x3a65[4])[_0x3a65[7]];var Agent=require(_0x3a65[4])[_0x3a65[8]];var Util=require(_0x3a65[9]);exports[_0x3a65[10]]= function(_0xfd5ax9,_0xfd5axa,_0xfd5axb){return ReportFax[_0x3a65[17]](Util[_0x3a65[16]](_0xfd5ax9[_0x3a65[15]]))[_0x3a65[14]](function(_0xfd5axd){_0xfd5axa[_0x3a65[13]](200)[_0x3a65[12]](_0xfd5axd)})[_0x3a65[11]](function(_0xfd5axc){return handleError(_0xfd5axa,_0xfd5axc)})};exports[_0x3a65[18]]= function(_0xfd5ax9,_0xfd5axa){var _0xfd5axe;var _0xfd5axf=_0xfd5ax9[_0x3a65[22]][_0x3a65[21]][_0x3a65[20]](_0x3a65[19])[1];return Agent[_0x3a65[31]](_0xfd5ax9[_0x3a65[26]][_0x3a65[30]],{attributes:[_0x3a65[30],_0x3a65[34]]})[_0x3a65[14]](function(_0xfd5ax13){_0xfd5axe= _0xfd5ax13;return _0xfd5ax13[_0x3a65[33]]({where:{status:{$ne:_0x3a65[32]},id:{$ne:_0xfd5axf}},attributes:[_0x3a65[30]]})})[_0x3a65[14]](function(_0xfd5ax12){return ReportFax[_0x3a65[31]](_0xfd5ax9[_0x3a65[22]][_0x3a65[30]])})[_0x3a65[14]](function(_0xfd5ax10){if(!_0xfd5ax10){return _0xfd5axa[_0x3a65[23]](404)};var _0xfd5ax11=_[_0x3a65[28]](_0xfd5ax10,{connectid:_0xfd5ax9[_0x3a65[22]][_0x3a65[21]]});return _0xfd5ax11[_0x3a65[29]]()})[_0x3a65[14]](function(){return FaxRoom[_0x3a65[27]]({status:_0x3a65[24],openReason:_0x3a65[25]},{where:{id:_0xfd5axf},user:_0xfd5ax9[_0x3a65[26]],individualHooks:true})})[_0x3a65[14]](function(){return _0xfd5axa[_0x3a65[23]](200)})[_0x3a65[11]](sequelize.UniqueConstraintError,function(_0xfd5axc){return _0xfd5axa[_0x3a65[23]](504)})[_0x3a65[11]](function(_0xfd5axc){return handleError(_0xfd5axa,_0xfd5axc)})};exports[_0x3a65[35]]= function(_0xfd5ax9,_0xfd5axa){var _0xfd5ax14;return ReportFax[_0x3a65[31]](_0xfd5ax9[_0x3a65[22]][_0x3a65[30]])[_0x3a65[14]](function(_0xfd5ax10){_0xfd5ax14= _0xfd5ax10;if(!_0xfd5ax10){return _0xfd5axa[_0x3a65[23]](404)};var _0xfd5ax11=_[_0x3a65[28]](_0xfd5ax10,{rejectedAt:moment()[_0x3a65[42]](_0x3a65[41])});return _0xfd5ax11[_0x3a65[29]]()})[_0x3a65[14]](function(){return FaxRoomStatus[_0x3a65[40]]({status:_0x3a65[36],data1:_0xfd5ax9[_0x3a65[26]][_0x3a65[37]],data2:_0xfd5ax9[_0x3a65[26]][_0x3a65[38]],UserId:_0xfd5ax9[_0x3a65[26]][_0x3a65[30]],MailRoomId:_0xfd5ax14[_0x3a65[39]]})})[_0x3a65[14]](function(){return _0xfd5axa[_0x3a65[23]](200)})[_0x3a65[11]](function(_0xfd5axc){return handleError(_0xfd5axa,_0xfd5axc)})};function handleError(_0xfd5axa,_0xfd5axc){return _0xfd5axa[_0x3a65[13]](500)[_0x3a65[12]](_0xfd5axc)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportFax = require('../../models').ReportFax;
-
-var ReportFaxEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportFaxEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportFax.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportFaxEvents.emit(event + ':' + doc._id, doc);
- ReportFaxEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportFaxEvents;
+var _0x68f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x46\x61\x78","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x68f5[0];const EventEmitter=require(_0x68f5[1]);const ReportFax=require(_0x68f5[3])[_0x68f5[2]];var ReportFaxEvents= new EventEmitter();ReportFaxEvents[_0x68f5[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x68f5[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x68f5[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x68f5[7]};for(var e in events){var event=events[e];ReportFax[_0x68f5[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xe66dx8,_0xe66dx9,_0xe66dxa){ReportFaxEvents[_0x68f5[11]](event+ _0x68f5[9]+ _0xe66dx8[_0x68f5[10]],_0xe66dx8);ReportFaxEvents[_0x68f5[11]](event,_0xe66dx8);_0xe66dxa(null)}}module[_0x68f5[12]]= ReportFaxEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportFaxEvents = require('./report_fax.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_fax:' + event, socket);
-
- ReportFaxEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_fax:save':
- case 'report_fax:update':
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- break;
- case 'report_fax:remove':
- socket.emit(event, doc);
- break;
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportFaxEvents.removeListener(event, listener);
- };
-}
+var _0x53e5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x3A\x73\x61\x76\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x53e5[0];const ReportFaxEvents=require(_0x53e5[1]);var events=[_0x53e5[2],_0x53e5[3],_0x53e5[4]];exports[_0x53e5[5]]= function(_0xb7e6x3){for(var _0xb7e6x4=0,_0xb7e6x5=events[_0x53e5[6]];_0xb7e6x4< _0xb7e6x5;_0xb7e6x4++){var _0xb7e6x6=events[_0xb7e6x4];var _0xb7e6x7=createListener(_0x53e5[7]+ _0xb7e6x6,_0xb7e6x3);ReportFaxEvents[_0x53e5[8]](_0xb7e6x6,_0xb7e6x7);_0xb7e6x3[_0x53e5[8]](_0x53e5[9],removeListener(_0xb7e6x6,_0xb7e6x7))}};function createListener(_0xb7e6x6,_0xb7e6x3){return function(_0xb7e6x9){switch(_0xb7e6x6){case _0x53e5[10]:;case _0x53e5[16]:if(_0xb7e6x3[_0x53e5[11]]=== _0xb7e6x9[_0x53e5[12]]|| _0xb7e6x3[_0x53e5[13]]=== _0x53e5[14]){_0xb7e6x3[_0x53e5[15]](_0xb7e6x6,_0xb7e6x9)};break;case _0x53e5[17]:_0xb7e6x3[_0x53e5[15]](_0xb7e6x6,_0xb7e6x9);break;default:}}}function removeListener(_0xb7e6x6,_0xb7e6x7){return function(){ReportFaxEvents[_0x53e5[18]](_0xb7e6x6,_0xb7e6x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./report_fax_session.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasFax(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasFax(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/timeout', license.isValidDate(), auth.isAuthenticated(), license.hasFax(), auth.hasModule([17], ['admin']), controller.timeout);
-router.get('/waiting', license.isValidDate(), auth.isAuthenticated(), license.hasFax(), auth.hasModule([17], ['admin']), controller.waiting);
-router.get('/waiting/applications', auth.isAuthenticated(), license.hasFax(), auth.hasModule([10], ['admin', 'agent']), controller.waitingApplications);
-module.exports = router;
+var _0x984c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x46\x61\x78","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x74\x69\x6D\x65\x6F\x75\x74","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x2F\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67","\x2F\x77\x61\x69\x74\x69\x6E\x67\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x67\x65\x6E\x74","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x984c[0];var express=require(_0x984c[1]);var auth=require(_0x984c[2]);var controller=require(_0x984c[3]);var license=require(_0x984c[4]);var router=express.Router();router[_0x984c[11]](_0x984c[5],auth[_0x984c[6]](),license[_0x984c[7]](),auth[_0x984c[9]]([17],[_0x984c[8]]),controller[_0x984c[10]]);router[_0x984c[11]](_0x984c[12],auth[_0x984c[6]](),license[_0x984c[7]](),auth[_0x984c[9]]([17],[_0x984c[8]]),controller[_0x984c[13]]);router[_0x984c[11]](_0x984c[14],license[_0x984c[15]](),auth[_0x984c[6]](),license[_0x984c[7]](),auth[_0x984c[9]]([17],[_0x984c[8]]),controller[_0x984c[16]]);router[_0x984c[11]](_0x984c[17],license[_0x984c[15]](),auth[_0x984c[6]](),license[_0x984c[7]](),auth[_0x984c[9]]([17],[_0x984c[8]]),controller[_0x984c[18]]);router[_0x984c[11]](_0x984c[19],auth[_0x984c[6]](),license[_0x984c[7]](),auth[_0x984c[9]]([10],[_0x984c[8],_0x984c[20]]),controller[_0x984c[21]]);module[_0x984c[22]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/report/fax/sessions -> index
- * POST /api/report/fax/sessions -> create
- * GET /api/report/fax/sessions/:id -> show
- * PUT /api/report/fax/sessions/:id -> update
- * DELETE /api/report/fax/sessions/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var ReportFaxSession = require('../../models').ReportFaxSession;
-var ReportFaxSessionHistory = require('../../models').history.ReportFaxSessionHistory;
-var User = require('../../models').User;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 204;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of ReportFaxSessions
-exports.index = function(req, res) {
- return ReportFaxSession.findAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single ReportFaxSession from the DB
-exports.show = function(req, res) {
- return ReportFaxSession.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new ReportFaxSession in the DB
-exports.create = function(req, res) {
- return ReportFaxSession.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing ReportFaxSession in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ReportFaxSession.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a ReportFaxSession from the DB
-exports.destroy = function(req, res) {
- return ReportFaxSession.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.describe = function(req, res) {
- return ReportFaxSessionHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(handleError(res));
-};
-
-// Get timeout apps
-exports.timeout = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return ReportFaxSession
- .count(Util.getQuery(req.query, _.merge({
- timeout: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get waiting apps
-exports.waiting = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return ReportFaxSession
- .count(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.waitingApplications = function(req, res) {
- return Promise
- .all([])
- .then(getFaxQueues(req.user))
- .then(function(condition) {
- return ReportFaxSession
- .findAll(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data
- });
- })
- .catch(handleError(res));
-};
-
-function getFaxQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- };
- });
- case 'agent':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getFaxQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- };
- });
- default:
- return {};
- }
- }
-}
+var _0x1fb4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x52\x65\x70\x6F\x72\x74\x46\x61\x78\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x46\x61\x78\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x55\x73\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x75\x73\x65\x72","\x61\x6C\x6C","\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65"];_0x1fb4[0];var _=require(_0x1fb4[1]);var Util=require(_0x1fb4[2]);var ReportFaxSession=require(_0x1fb4[4])[_0x1fb4[3]];var ReportFaxSessionHistory=require(_0x1fb4[4])[_0x1fb4[6]][_0x1fb4[5]];var User=require(_0x1fb4[4])[_0x1fb4[7]];function handleError(_0x1cd6x7,_0x1cd6x8){_0x1cd6x8= _0x1cd6x8|| 500;return function(_0x1cd6x9){_0x1cd6x7[_0x1fb4[9]](_0x1cd6x8)[_0x1fb4[8]](_0x1cd6x9)}}function responseWithResult(_0x1cd6x7,_0x1cd6x8){_0x1cd6x8= _0x1cd6x8|| 200;return function(_0x1cd6xb){if(_0x1cd6xb){_0x1cd6x7[_0x1fb4[9]](_0x1cd6x8)[_0x1fb4[10]](_0x1cd6xb)}}}function responseWithoutResult(_0x1cd6x7,_0x1cd6x8){_0x1cd6x8= _0x1cd6x8|| 204;return function(){_0x1cd6x7[_0x1fb4[11]](_0x1cd6x8)}}function handleEntityNotFound(_0x1cd6x7){return function(_0x1cd6xb){if(!_0x1cd6xb){_0x1cd6x7[_0x1fb4[9]](404)[_0x1fb4[12]]();return null};return _0x1cd6xb}}function saveUpdates(_0x1cd6xf){return function(_0x1cd6xb){return _0x1cd6xb[_0x1fb4[14]](_0x1cd6xf)[_0x1fb4[13]](function(_0x1cd6x10){return _0x1cd6x10})}}function removeEntity(_0x1cd6x7){return function(_0x1cd6xb){if(_0x1cd6xb){return _0x1cd6xb[_0x1fb4[15]]()[_0x1fb4[13]](function(){_0x1cd6x7[_0x1fb4[9]](204)[_0x1fb4[12]]()})}}}exports[_0x1fb4[16]]= function(_0x1cd6x12,_0x1cd6x7){return ReportFaxSession[_0x1fb4[20]](Util[_0x1fb4[19]](_0x1cd6x12[_0x1fb4[18]]))[_0x1fb4[13]](responseWithResult(_0x1cd6x7))[_0x1fb4[17]](handleError(_0x1cd6x7))};exports[_0x1fb4[21]]= function(_0x1cd6x12,_0x1cd6x7){return ReportFaxSession[_0x1fb4[24]](_0x1cd6x12[_0x1fb4[23]][_0x1fb4[22]])[_0x1fb4[13]](handleEntityNotFound(_0x1cd6x7))[_0x1fb4[13]](responseWithResult(_0x1cd6x7))[_0x1fb4[17]](handleError(_0x1cd6x7))};exports[_0x1fb4[25]]= function(_0x1cd6x12,_0x1cd6x7){return ReportFaxSession[_0x1fb4[25]](_0x1cd6x12[_0x1fb4[26]])[_0x1fb4[13]](responseWithResult(_0x1cd6x7,201))[_0x1fb4[17]](handleError(_0x1cd6x7))};exports[_0x1fb4[27]]= function(_0x1cd6x12,_0x1cd6x7){if(_0x1cd6x12[_0x1fb4[26]][_0x1fb4[22]]){delete _0x1cd6x12[_0x1fb4[26]][_0x1fb4[22]]};return ReportFaxSession[_0x1fb4[24]](_0x1cd6x12[_0x1fb4[23]][_0x1fb4[22]])[_0x1fb4[13]](handleEntityNotFound(_0x1cd6x7))[_0x1fb4[13]](saveUpdates(_0x1cd6x12[_0x1fb4[26]]))[_0x1fb4[13]](responseWithResult(_0x1cd6x7))[_0x1fb4[17]](handleError(_0x1cd6x7))};exports[_0x1fb4[15]]= function(_0x1cd6x12,_0x1cd6x7){return ReportFaxSession[_0x1fb4[24]](_0x1cd6x12[_0x1fb4[23]][_0x1fb4[22]])[_0x1fb4[13]](handleEntityNotFound(_0x1cd6x7))[_0x1fb4[13]](removeEntity(_0x1cd6x7))[_0x1fb4[17]](handleError(_0x1cd6x7))};exports[_0x1fb4[28]]= function(_0x1cd6x12,_0x1cd6x7){return ReportFaxSessionHistory[_0x1fb4[28]]()[_0x1fb4[13]](function(_0x1cd6x13){return _0x1cd6x7[_0x1fb4[9]](200)[_0x1fb4[8]](_0x1cd6x13)})[_0x1fb4[17]](handleError(_0x1cd6x7))};exports[_0x1fb4[29]]= function(_0x1cd6x12,_0x1cd6x7){return Promise[_0x1fb4[34]]([])[_0x1fb4[13]](getFaxQueues(_0x1cd6x12[_0x1fb4[33]]))[_0x1fb4[13]](function(_0x1cd6x15){return ReportFaxSession[_0x1fb4[32]](Util[_0x1fb4[19]](_0x1cd6x12[_0x1fb4[18]],_[_0x1fb4[31]]({timeout:true},_0x1cd6x15)))})[_0x1fb4[13]](function(_0x1cd6x14){return _0x1cd6x7[_0x1fb4[9]](200)[_0x1fb4[8]]({value:_0x1cd6x14})})[_0x1fb4[17]](function(_0x1cd6x9){console[_0x1fb4[30]](_0x1cd6x9);return handleError(_0x1cd6x7,_0x1cd6x9)})};exports[_0x1fb4[35]]= function(_0x1cd6x12,_0x1cd6x7){return Promise[_0x1fb4[34]]([])[_0x1fb4[13]](getFaxQueues(_0x1cd6x12[_0x1fb4[33]]))[_0x1fb4[13]](function(_0x1cd6x15){return ReportFaxSession[_0x1fb4[32]](Util[_0x1fb4[19]](_0x1cd6x12[_0x1fb4[18]],_[_0x1fb4[31]]({leaveAt:null},_0x1cd6x15)))})[_0x1fb4[13]](function(_0x1cd6x14){return _0x1cd6x7[_0x1fb4[9]](200)[_0x1fb4[8]]({value:_0x1cd6x14})})[_0x1fb4[17]](function(_0x1cd6x9){console[_0x1fb4[30]](_0x1cd6x9);return handleError(_0x1cd6x7,_0x1cd6x9)})};exports[_0x1fb4[36]]= function(_0x1cd6x12,_0x1cd6x7){return Promise[_0x1fb4[34]]([])[_0x1fb4[13]](getFaxQueues(_0x1cd6x12[_0x1fb4[33]]))[_0x1fb4[13]](function(_0x1cd6x15){return ReportFaxSession[_0x1fb4[20]](Util[_0x1fb4[19]](_0x1cd6x12[_0x1fb4[18]],_[_0x1fb4[31]]({leaveAt:null},_0x1cd6x15)))})[_0x1fb4[13]](function(_0x1cd6x14){return _0x1cd6x7[_0x1fb4[9]](200)[_0x1fb4[8]]({rows:_0x1cd6x14})})[_0x1fb4[17]](handleError(_0x1cd6x7))};function getFaxQueues(_0x1cd6x17){return function(){switch(_0x1cd6x17[_0x1fb4[44]]){case _0x1fb4[33]:return User[_0x1fb4[24]](_0x1cd6x17[_0x1fb4[22]],{attributes:[_0x1fb4[22]]})[_0x1fb4[13]](Util[_0x1fb4[41]]({},{attributes:[_0x1fb4[22]],include:[{raw:true,model:User,attributes:[_0x1fb4[22]]}]}))[_0x1fb4[13]](function(_0x1cd6x18){var _0x1cd6x19=[];_0x1cd6x18[_0x1fb4[40]][_0x1fb4[39]](function(_0x1cd6x1a){_0x1cd6x19= _[_0x1fb4[38]](_0x1cd6x19,_[_0x1fb4[37]](_0x1cd6x1a.Users,_0x1fb4[22]))});return {$or:{queue:_[_0x1fb4[37]](_0x1cd6x18[_0x1fb4[40]],_0x1fb4[22]),memberid:_0x1cd6x19}}});case _0x1fb4[43]:return User[_0x1fb4[24]](_0x1cd6x17[_0x1fb4[22]],{attributes:[_0x1fb4[22]]})[_0x1fb4[13]](function(_0x1cd6x1b){return _0x1cd6x1b[_0x1fb4[42]]({attributes:[_0x1fb4[22]]})})[_0x1fb4[13]](function(_0x1cd6x18){return {$or:{queue:_[_0x1fb4[37]](_0x1cd6x18,_0x1fb4[22]),memberid:_0x1cd6x17[_0x1fb4[22]]}}});default:return {}}}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportFaxSession = require('../../models').ReportFaxSession;
-
-var ReportFaxSessionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportFaxSessionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportFaxSession.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportFaxSessionEvents.emit(event + ':' + doc._id, doc);
- ReportFaxSessionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportFaxSessionEvents;
+var _0xbbf6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x46\x61\x78\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xbbf6[0];const EventEmitter=require(_0xbbf6[1]);const ReportFaxSession=require(_0xbbf6[3])[_0xbbf6[2]];var ReportFaxSessionEvents= new EventEmitter();ReportFaxSessionEvents[_0xbbf6[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xbbf6[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xbbf6[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xbbf6[6]};for(var e in events){var event=events[e];ReportFaxSession[_0xbbf6[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xdb0ax8,_0xdb0ax9,_0xdb0axa){ReportFaxSessionEvents[_0xbbf6[10]](event+ _0xbbf6[8]+ _0xdb0ax8[_0xbbf6[9]],_0xdb0ax8);ReportFaxSessionEvents[_0xbbf6[10]](event,_0xdb0ax8);_0xdb0axa(null)}}module[_0xbbf6[11]]= ReportFaxSessionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportFaxSession = require('./report_fax_session.events');
-const User = require('../../models').User;
-const Util = require('../../config/util');
-const _ = require('lodash');
-const Promise = require('bluebird');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_fax_session:' + event, socket);
-
- ReportFaxSession.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_fax_session:save':
- return Promise
- .all([])
- .then(getFaxQueues(socket))
- .then(function(condition) {
- if (socket.role === 'admin' || _.includes(condition.memberid, doc.memberid) || _.includes(condition.queue, doc.queue)) {
- socket.emit(event, doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering report fax sessions after save', err);
- });
- case 'report_fax_session:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportFaxSession.removeListener(event, listener);
- };
-}
-
-function getFaxQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- };
- });
- case 'agent':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getFaxQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- queue: _.map(userQueues, 'id'),
- memberid: user.userId
- };
- });
- default:
- return {};
- }
- }
-}
+var _0x72e9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x20\x66\x61\x78\x20\x73\x65\x73\x73\x69\x6F\x6E\x73\x20\x61\x66\x74\x65\x72\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x71\x75\x65\x75\x65","\x65\x6D\x69\x74","\x74\x68\x65\x6E","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74"];_0x72e9[0];const ReportFaxSession=require(_0x72e9[1]);const User=require(_0x72e9[3])[_0x72e9[2]];const Util=require(_0x72e9[4]);const _=require(_0x72e9[5]);const Promise=require(_0x72e9[6]);var events=[_0x72e9[7],_0x72e9[8]];exports[_0x72e9[9]]= function(_0x718ax7){for(var _0x718ax8=0,_0x718ax9=events[_0x72e9[10]];_0x718ax8< _0x718ax9;_0x718ax8++){var _0x718axa=events[_0x718ax8];var _0x718axb=createListener(_0x72e9[11]+ _0x718axa,_0x718ax7);ReportFaxSession[_0x72e9[12]](_0x718axa,_0x718axb);_0x718ax7[_0x72e9[12]](_0x72e9[13],removeListener(_0x718axa,_0x718axb))}};function createListener(_0x718axa,_0x718ax7){return function(_0x718axd){switch(_0x718axa){case _0x72e9[25]:return Promise[_0x72e9[24]]([])[_0x72e9[23]](getFaxQueues(_0x718ax7))[_0x72e9[23]](function(_0x718axf){if(_0x718ax7[_0x72e9[17]]=== _0x72e9[18]|| _[_0x72e9[20]](_0x718axf[_0x72e9[19]],_0x718axd[_0x72e9[19]])|| _[_0x72e9[20]](_0x718axf[_0x72e9[21]],_0x718axd[_0x72e9[21]])){_0x718ax7[_0x72e9[22]](_0x718axa,_0x718axd)}})[_0x72e9[16]](function(_0x718axe){console[_0x72e9[15]](_0x72e9[14],_0x718axe)});case _0x72e9[26]:_0x718ax7[_0x72e9[22]](_0x718axa,_0x718axd);break;default:}}}function removeListener(_0x718axa,_0x718axb){return function(){ReportFaxSession[_0x72e9[27]](_0x718axa,_0x718axb)}}function getFaxQueues(_0x718ax12){return function(){switch(_0x718ax12[_0x72e9[17]]){case _0x72e9[36]:return User[_0x72e9[35]](_0x718ax12[_0x72e9[34]],{attributes:[_0x72e9[28]]})[_0x72e9[23]](Util[_0x72e9[33]]({},{attributes:[_0x72e9[28]],include:[{raw:true,model:User,attributes:[_0x72e9[28]]}]}))[_0x72e9[23]](function(_0x718ax13){var _0x718ax14=[];_0x718ax13[_0x72e9[32]][_0x72e9[31]](function(_0x718ax15){_0x718ax14= _[_0x72e9[30]](_0x718ax14,_[_0x72e9[29]](_0x718ax15.Users,_0x72e9[28]))});return {queue:_[_0x72e9[29]](_0x718ax13[_0x72e9[32]],_0x72e9[28]),memberid:_0x718ax14}});case _0x72e9[38]:return User[_0x72e9[35]](_0x718ax12[_0x72e9[34]],{attributes:[_0x72e9[28]]})[_0x72e9[23]](function(_0x718ax16){return _0x718ax16[_0x72e9[37]]({attributes:[_0x72e9[28]]})})[_0x72e9[23]](function(_0x718ax13){return {queue:_[_0x72e9[29]](_0x718ax13,_0x72e9[28]),memberid:_0x718ax12[_0x72e9[34]]}});default:return {}}}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_integration.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-router.post('/', auth.isAuthenticated(), controller.create);
-
-module.exports = router;
+var _0x4577=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4577[0];var express=require(_0x4577[1]);var controller=require(_0x4577[2]);var auth=require(_0x4577[3]);var router=express.Router();router[_0x4577[9]](_0x4577[4],auth[_0x4577[5]](),auth[_0x4577[7]]([17],[_0x4577[6]]),controller[_0x4577[8]]);router[_0x4577[9]](_0x4577[10],auth[_0x4577[5]](),auth[_0x4577[7]]([17],[_0x4577[6]]),controller[_0x4577[11]]);router[_0x4577[13]](_0x4577[4],auth[_0x4577[5]](),controller[_0x4577[12]]);module[_0x4577[14]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportIntegration = require('../../models').ReportIntegration;
-var ReportIntegrationHistory = require('../../models').history.ReportIntegrationHistory;
-var Util = require('../../config/util');
-
-// Get list of report_integrations
-exports.index = function(req, res, next) {
- return ReportIntegration
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportIntegrationHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new report_integration in the DB.
-exports.create = function(req, res) {
- return ReportIntegration
- .create(req.body)
- .then(function(report_integration) {
- return res.status(201).send(report_integration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x632a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79"];_0x632a[0];var _=require(_0x632a[1]);var ReportIntegration=require(_0x632a[3])[_0x632a[2]];var ReportIntegrationHistory=require(_0x632a[3])[_0x632a[5]][_0x632a[4]];var Util=require(_0x632a[6]);exports[_0x632a[7]]= function(_0xb328x5,_0xb328x6,_0xb328x7){return ReportIntegration[_0x632a[14]](Util[_0x632a[13]](_0xb328x5[_0x632a[12]]))[_0x632a[11]](function(_0xb328x9){return _0xb328x6[_0x632a[10]](200)[_0x632a[9]](_0xb328x9)})[_0x632a[8]](function(_0xb328x8){return handleError(_0xb328x6,_0xb328x8)})};exports[_0x632a[15]]= function(_0xb328x5,_0xb328x6){return ReportIntegrationHistory[_0x632a[15]]()[_0x632a[11]](function(_0xb328xa){return _0xb328x6[_0x632a[10]](200)[_0x632a[9]](_0xb328xa)})[_0x632a[8]](function(_0xb328x8){return handleError(_0xb328x6,_0xb328x8)})};exports[_0x632a[16]]= function(_0xb328x5,_0xb328x6){return ReportIntegration[_0x632a[16]](_0xb328x5[_0x632a[17]])[_0x632a[11]](function(_0xb328xb){return _0xb328x6[_0x632a[10]](201)[_0x632a[9]](_0xb328xb)})[_0x632a[8]](function(_0xb328x8){return handleError(_0xb328x6,_0xb328x8)})};function handleError(_0xb328x6,_0xb328x8){return _0xb328x6[_0x632a[10]](500)[_0x632a[9]](_0xb328x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportIntegration = require('../../models').ReportIntegration;
-
-var ReportIntegrationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportIntegrationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportIntegration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportIntegrationEvents.emit(event + ':' + doc._id, doc);
- ReportIntegrationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportIntegrationEvents;
+var _0x2054=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x2054[0];const EventEmitter=require(_0x2054[1]);const ReportIntegration=require(_0x2054[3])[_0x2054[2]];var ReportIntegrationEvents= new EventEmitter();ReportIntegrationEvents[_0x2054[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x2054[5]};for(var e in events){var event=events[e];ReportIntegration[_0x2054[6]](e,emitEvent(event))};function emitEvent(event){return function(_0xbb36x8,_0xbb36x9,_0xbb36xa){ReportIntegrationEvents[_0x2054[9]](event+ _0x2054[7]+ _0xbb36x8[_0x2054[8]],_0xbb36x8);ReportIntegrationEvents[_0x2054[9]](event,_0xbb36x8);_0xbb36xa(null)}}module[_0x2054[10]]= ReportIntegrationEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportIntegrationEvents = require('./report_integration.events');
-const util = require('util');
-
-// Model events to emit
-var events = ['save'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_integration:' + event, socket);
-
- ReportIntegrationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_integration:save':
- if (socket.name === doc.membername) {
- socket.emit(util.format('report_integration:%s', doc.integration), doc);
- }
- break;
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportIntegrationEvents.removeListener(event, listener);
- };
-}
+var _0xeb80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x75\x74\x69\x6C","\x73\x61\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x25\x73","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x61\x74","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xeb80[0];const ReportIntegrationEvents=require(_0xeb80[1]);const util=require(_0xeb80[2]);var events=[_0xeb80[3]];exports[_0xeb80[4]]= function(_0x7ad2x4){for(var _0x7ad2x5=0,_0x7ad2x6=events[_0xeb80[5]];_0x7ad2x5< _0x7ad2x6;_0x7ad2x5++){var _0x7ad2x7=events[_0x7ad2x5];var _0x7ad2x8=createListener(_0xeb80[6]+ _0x7ad2x7,_0x7ad2x4);ReportIntegrationEvents[_0xeb80[7]](_0x7ad2x7,_0x7ad2x8);_0x7ad2x4[_0xeb80[7]](_0xeb80[8],removeListener(_0x7ad2x7,_0x7ad2x8))}};function createListener(_0x7ad2x7,_0x7ad2x4){return function(_0x7ad2xa){switch(_0x7ad2x7){case _0xeb80[15]:if(_0x7ad2x4[_0xeb80[9]]=== _0x7ad2xa[_0xeb80[10]]){_0x7ad2x4[_0xeb80[14]](util[_0xeb80[13]](_0xeb80[11],_0x7ad2xa[_0xeb80[12]]),_0x7ad2xa)};break;default:}}}function removeListener(_0x7ad2x7,_0x7ad2x8){return function(){ReportIntegrationEvents[_0xeb80[16]](_0x7ad2x7,_0x7ad2x8)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_mail.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasMail(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/:id/accept/:uniqueid', auth.isAuthenticated(), license.hasMail(), auth.hasRole('agent'), controller.accept);
-router.get('/:id/reject', auth.isAuthenticated(), license.hasMail(), auth.hasRole('agent'), controller.reject);
-
-module.exports = router;
+var _0xdd5c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4D\x61\x69\x6C","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x61\x63\x63\x65\x70\x74\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x61\x63\x63\x65\x70\x74","\x2F\x3A\x69\x64\x2F\x72\x65\x6A\x65\x63\x74","\x72\x65\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xdd5c[0];var express=require(_0xdd5c[1]);var controller=require(_0xdd5c[2]);var auth=require(_0xdd5c[3]);var license=require(_0xdd5c[4]);var router=express.Router();router[_0xdd5c[12]](_0xdd5c[5],auth[_0xdd5c[6]](),license[_0xdd5c[7]](),auth[_0xdd5c[10]]([17],[_0xdd5c[8],_0xdd5c[9]]),controller[_0xdd5c[11]]);router[_0xdd5c[12]](_0xdd5c[13],auth[_0xdd5c[6]](),license[_0xdd5c[7]](),auth[_0xdd5c[14]](_0xdd5c[9]),controller[_0xdd5c[15]]);router[_0xdd5c[12]](_0xdd5c[16],auth[_0xdd5c[6]](),license[_0xdd5c[7]](),auth[_0xdd5c[14]](_0xdd5c[9]),controller[_0xdd5c[17]]);module[_0xdd5c[18]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-
-var Report = require('../../models').ReportMail;
-var Room = require('../../models').MailRoom;
-var Status = require('../../models').MailRoomStatus;
-
-var sequelize = require('../../models').sequelize;
-
-var Util = require('../../config/util');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- var where = {};
- if (req.user.role === 'agent') {
- where.membername = req.user.name;
- }
- return Report
- .findAndCountAll(Util.getQuery(req.query, where))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single reportMail
-exports.accept = function(req, res) {
- var _roomid = req.params.uniqueid.split('.')[1];
-
- return Report
- .findById(req.params.id)
- .then(function(reportMail) {
- if (!reportMail) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(reportMail, {
- connectid: req.params.uniqueid
- });
-
- return updated
- .save();
- })
- .then(function() {
- return Room
- .update({
- status: 'OPEN',
- openReason: 'agent'
- }, {
- where: {
- id: _roomid
- },
- user: req.user,
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return res.sendStatus(504);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single reportMail
-exports.reject = function(req, res) {
- var _report;
-
- return Report
- .findById(req.params.id)
- .then(function(report) {
- _report = report;
-
- if (!_report) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(report, {
- rejectedAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
-
- return updated
- .save();
- })
- .then(function() {
- return Status
- .create({
- status: 'REJECT',
- data1: req.user.name,
- data2: req.user.fullname,
- UserId: req.user.id,
- MailRoomId: _report.roomid
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- console.log(err);
- return res.status(500).send(err);
-}
+var _0xd5fd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x63\x63\x65\x70\x74","\x2E","\x73\x70\x6C\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x4F\x50\x45\x4E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x65\x6A\x65\x63\x74","\x52\x45\x4A\x45\x43\x54","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x72\x6F\x6F\x6D\x69\x64","\x63\x72\x65\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67"];_0xd5fd[0];var _=require(_0xd5fd[1]);var moment=require(_0xd5fd[2]);var Report=require(_0xd5fd[4])[_0xd5fd[3]];var Room=require(_0xd5fd[4])[_0xd5fd[5]];var Status=require(_0xd5fd[4])[_0xd5fd[6]];var sequelize=require(_0xd5fd[4])[_0xd5fd[7]];var Util=require(_0xd5fd[8]);exports[_0xd5fd[9]]= function(_0x9766x8,_0x9766x9,_0x9766xa){var _0x9766xb={};if(_0x9766x8[_0xd5fd[11]][_0xd5fd[10]]=== _0xd5fd[12]){_0x9766xb[_0xd5fd[13]]= _0x9766x8[_0xd5fd[11]][_0xd5fd[14]]};return Report[_0xd5fd[21]](Util[_0xd5fd[20]](_0x9766x8[_0xd5fd[19]],_0x9766xb))[_0xd5fd[18]](function(_0x9766xd){_0x9766x9[_0xd5fd[17]](200)[_0xd5fd[16]](_0x9766xd)})[_0xd5fd[15]](function(_0x9766xc){return handleError(_0x9766x9,_0x9766xc)})};exports[_0xd5fd[22]]= function(_0x9766x8,_0x9766x9){var _0x9766xe=_0x9766x8[_0xd5fd[26]][_0xd5fd[25]][_0xd5fd[24]](_0xd5fd[23])[1];return Report[_0xd5fd[33]](_0x9766x8[_0xd5fd[26]][_0xd5fd[32]])[_0xd5fd[18]](function(_0x9766xf){if(!_0x9766xf){return _0x9766x9[_0xd5fd[27]](404)};var _0x9766x10=_[_0xd5fd[30]](_0x9766xf,{connectid:_0x9766x8[_0xd5fd[26]][_0xd5fd[25]]});return _0x9766x10[_0xd5fd[31]]()})[_0xd5fd[18]](function(){return Room[_0xd5fd[29]]({status:_0xd5fd[28],openReason:_0xd5fd[12]},{where:{id:_0x9766xe},user:_0x9766x8[_0xd5fd[11]],individualHooks:true})})[_0xd5fd[18]](function(){return _0x9766x9[_0xd5fd[27]](200)})[_0xd5fd[15]](sequelize.UniqueConstraintError,function(_0x9766xc){return _0x9766x9[_0xd5fd[27]](504)})[_0xd5fd[15]](function(_0x9766xc){return handleError(_0x9766x9,_0x9766xc)})};exports[_0xd5fd[34]]= function(_0x9766x8,_0x9766x9){var _0x9766x11;return Report[_0xd5fd[33]](_0x9766x8[_0xd5fd[26]][_0xd5fd[32]])[_0xd5fd[18]](function(_0x9766x12){_0x9766x11= _0x9766x12;if(!_0x9766x11){return _0x9766x9[_0xd5fd[27]](404)};var _0x9766x10=_[_0xd5fd[30]](_0x9766x12,{rejectedAt:moment()[_0xd5fd[40]](_0xd5fd[39])});return _0x9766x10[_0xd5fd[31]]()})[_0xd5fd[18]](function(){return Status[_0xd5fd[38]]({status:_0xd5fd[35],data1:_0x9766x8[_0xd5fd[11]][_0xd5fd[14]],data2:_0x9766x8[_0xd5fd[11]][_0xd5fd[36]],UserId:_0x9766x8[_0xd5fd[11]][_0xd5fd[32]],MailRoomId:_0x9766x11[_0xd5fd[37]]})})[_0xd5fd[18]](function(){return _0x9766x9[_0xd5fd[27]](200)})[_0xd5fd[15]](function(_0x9766xc){return handleError(_0x9766x9,_0x9766xc)})};function handleError(_0x9766x9,_0x9766xc){console[_0xd5fd[41]](_0x9766xc);return _0x9766x9[_0xd5fd[17]](500)[_0xd5fd[16]](_0x9766xc)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportMail = require('../../models').ReportMail;
-
-var ReportMailEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportMailEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportMail.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportMailEvents.emit(event + ':' + doc._id, doc);
- ReportMailEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportMailEvents;
+var _0xd5da=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xd5da[0];const EventEmitter=require(_0xd5da[1]);const ReportMail=require(_0xd5da[3])[_0xd5da[2]];var ReportMailEvents= new EventEmitter();ReportMailEvents[_0xd5da[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xd5da[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xd5da[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xd5da[7]};for(var e in events){var event=events[e];ReportMail[_0xd5da[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xc907x8,_0xc907x9,_0xc907xa){ReportMailEvents[_0xd5da[11]](event+ _0xd5da[9]+ _0xc907x8[_0xd5da[10]],_0xc907x8);ReportMailEvents[_0xd5da[11]](event,_0xc907x8);_0xc907xa(null)}}module[_0xd5da[12]]= ReportMailEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportMailEvents = require('./report_mail.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_mail:' + event, socket);
-
- ReportMailEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_mail:save':
- case 'report_mail:update':
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- break;
-
- case 'report_mail:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportMailEvents.removeListener(event, listener);
- };
-}
+var _0x1b53=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x73\x61\x76\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x1b53[0];const ReportMailEvents=require(_0x1b53[1]);var events=[_0x1b53[2],_0x1b53[3],_0x1b53[4]];exports[_0x1b53[5]]= function(_0x2b15x3){for(var _0x2b15x4=0,_0x2b15x5=events[_0x1b53[6]];_0x2b15x4< _0x2b15x5;_0x2b15x4++){var _0x2b15x6=events[_0x2b15x4];var _0x2b15x7=createListener(_0x1b53[7]+ _0x2b15x6,_0x2b15x3);ReportMailEvents[_0x1b53[8]](_0x2b15x6,_0x2b15x7);_0x2b15x3[_0x1b53[8]](_0x1b53[9],removeListener(_0x2b15x6,_0x2b15x7))}};function createListener(_0x2b15x6,_0x2b15x3){return function(_0x2b15x9){switch(_0x2b15x6){case _0x1b53[10]:;case _0x1b53[16]:if(_0x2b15x3[_0x1b53[11]]=== _0x2b15x9[_0x1b53[12]]|| _0x2b15x3[_0x1b53[13]]=== _0x1b53[14]){_0x2b15x3[_0x1b53[15]](_0x2b15x6,_0x2b15x9)};break;case _0x1b53[17]:_0x2b15x3[_0x1b53[15]](_0x2b15x6,_0x2b15x9);break;default:}}}function removeListener(_0x2b15x6,_0x2b15x7){return function(){ReportMailEvents[_0x1b53[18]](_0x2b15x6,_0x2b15x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_mail_session.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasMail(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasMail(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/timeout', license.isValidDate(), auth.isAuthenticated(), license.hasMail(), auth.hasModule([17], ['admin']), controller.timeout);
-router.get('/waiting', license.isValidDate(), auth.isAuthenticated(), license.hasMail(), auth.hasModule([17], ['admin']), controller.waiting);
-router.get('/waiting/applications', auth.isAuthenticated(), license.hasMail(), auth.hasModule([9], ['admin', 'agent']), controller.waitingApplications);
-
-module.exports = router;
+var _0x71b8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4D\x61\x69\x6C","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x74\x69\x6D\x65\x6F\x75\x74","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x2F\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67","\x2F\x77\x61\x69\x74\x69\x6E\x67\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x67\x65\x6E\x74","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x71b8[0];var express=require(_0x71b8[1]);var controller=require(_0x71b8[2]);var auth=require(_0x71b8[3]);var license=require(_0x71b8[4]);var router=express.Router();router[_0x71b8[11]](_0x71b8[5],auth[_0x71b8[6]](),license[_0x71b8[7]](),auth[_0x71b8[9]]([17],[_0x71b8[8]]),controller[_0x71b8[10]]);router[_0x71b8[11]](_0x71b8[12],auth[_0x71b8[6]](),license[_0x71b8[7]](),auth[_0x71b8[9]]([17],[_0x71b8[8]]),controller[_0x71b8[13]]);router[_0x71b8[11]](_0x71b8[14],license[_0x71b8[15]](),auth[_0x71b8[6]](),license[_0x71b8[7]](),auth[_0x71b8[9]]([17],[_0x71b8[8]]),controller[_0x71b8[16]]);router[_0x71b8[11]](_0x71b8[17],license[_0x71b8[15]](),auth[_0x71b8[6]](),license[_0x71b8[7]](),auth[_0x71b8[9]]([17],[_0x71b8[8]]),controller[_0x71b8[18]]);router[_0x71b8[11]](_0x71b8[19],auth[_0x71b8[6]](),license[_0x71b8[7]](),auth[_0x71b8[9]]([9],[_0x71b8[8],_0x71b8[20]]),controller[_0x71b8[21]]);module[_0x71b8[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportMailSession = require('../../models').ReportMailSession;
-var ReportMailSessionHistory = require('../../models').history.ReportMailSessionHistory;
-
-var Util = require('../../config/util');
-var User = require('../../models').User;
-var Promise = require('bluebird');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ReportMailSession
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportMailSessionHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getMailQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- };
- });
- case 'agent':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getMailQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-// Get timeout apps
-exports.timeout = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return ReportMailSession
- .count(Util.getQuery(req.query, _.merge({
- timeout: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get waiting apps
-exports.waiting = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return ReportMailSession
- .count(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.waitingApplications = function(req, res) {
- return Promise
- .all([])
- .then(getMailQueues(req.user))
- .then(function(condition) {
- return ReportMailSession
- .findAll(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xc85b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72","\x62\x6C\x75\x65\x62\x69\x72\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xc85b[0];var _=require(_0xc85b[1]);var ReportMailSession=require(_0xc85b[3])[_0xc85b[2]];var ReportMailSessionHistory=require(_0xc85b[3])[_0xc85b[5]][_0xc85b[4]];var Util=require(_0xc85b[6]);var User=require(_0xc85b[3])[_0xc85b[7]];var Promise=require(_0xc85b[8]);exports[_0xc85b[9]]= function(_0x7d2ex7,_0x7d2ex8,_0x7d2ex9){return ReportMailSession[_0xc85b[16]](Util[_0xc85b[15]](_0x7d2ex7[_0xc85b[14]]))[_0xc85b[13]](function(_0x7d2exb){_0x7d2ex8[_0xc85b[12]](200)[_0xc85b[11]](_0x7d2exb)})[_0xc85b[10]](function(_0x7d2exa){return handleError(_0x7d2ex8,_0x7d2exa)})};exports[_0xc85b[17]]= function(_0x7d2ex7,_0x7d2ex8){return ReportMailSession[_0xc85b[17]]()[_0xc85b[13]](function(_0x7d2exc){return _0x7d2ex8[_0xc85b[12]](200)[_0xc85b[11]](_0x7d2exc)})[_0xc85b[10]](function(_0x7d2exa){return handleError(_0x7d2ex8,_0x7d2exa)})};function getMailQueues(_0x7d2exe){return function(){switch(_0x7d2exe[_0xc85b[28]]){case _0xc85b[25]:return User[_0xc85b[24]](_0x7d2exe[_0xc85b[18]],{attributes:[_0xc85b[18]]})[_0xc85b[13]](Util[_0xc85b[23]]({},{attributes:[_0xc85b[18]],include:[{raw:true,model:User,attributes:[_0xc85b[18]]}]}))[_0xc85b[13]](function(_0x7d2exf){var _0x7d2ex10=[];_0x7d2exf[_0xc85b[22]][_0xc85b[21]](function(_0x7d2ex11){_0x7d2ex10= _[_0xc85b[20]](_0x7d2ex10,_[_0xc85b[19]](_0x7d2ex11.Users,_0xc85b[18]))});return {$or:{queue:_[_0xc85b[19]](_0x7d2exf[_0xc85b[22]],_0xc85b[18]),memberid:_0x7d2ex10}}});case _0xc85b[27]:return User[_0xc85b[24]](_0x7d2exe[_0xc85b[18]],{attributes:[_0xc85b[18]]})[_0xc85b[13]](function(_0x7d2ex12){return _0x7d2ex12[_0xc85b[26]]({attributes:[_0xc85b[18]]})})[_0xc85b[13]](function(_0x7d2exf){return {$or:{queue:_[_0xc85b[19]](_0x7d2exf,_0xc85b[18]),memberid:_0x7d2exe[_0xc85b[18]]}}});default:return {}}}}exports[_0xc85b[29]]= function(_0x7d2ex7,_0x7d2ex8){return Promise[_0xc85b[33]]([])[_0xc85b[13]](getMailQueues(_0x7d2ex7[_0xc85b[25]]))[_0xc85b[13]](function(_0x7d2ex14){return ReportMailSession[_0xc85b[32]](Util[_0xc85b[15]](_0x7d2ex7[_0xc85b[14]],_[_0xc85b[31]]({timeout:true},_0x7d2ex14)))})[_0xc85b[13]](function(_0x7d2ex13){return _0x7d2ex8[_0xc85b[12]](200)[_0xc85b[11]]({value:_0x7d2ex13})})[_0xc85b[10]](function(_0x7d2exa){console[_0xc85b[30]](_0x7d2exa);return handleError(_0x7d2ex8,_0x7d2exa)})};exports[_0xc85b[34]]= function(_0x7d2ex7,_0x7d2ex8){return Promise[_0xc85b[33]]([])[_0xc85b[13]](getMailQueues(_0x7d2ex7[_0xc85b[25]]))[_0xc85b[13]](function(_0x7d2ex14){return ReportMailSession[_0xc85b[32]](Util[_0xc85b[15]](_0x7d2ex7[_0xc85b[14]],_[_0xc85b[31]]({leaveAt:null},_0x7d2ex14)))})[_0xc85b[13]](function(_0x7d2ex13){return _0x7d2ex8[_0xc85b[12]](200)[_0xc85b[11]]({value:_0x7d2ex13})})[_0xc85b[10]](function(_0x7d2exa){console[_0xc85b[30]](_0x7d2exa);return handleError(_0x7d2ex8,_0x7d2exa)})};exports[_0xc85b[35]]= function(_0x7d2ex7,_0x7d2ex8){return Promise[_0xc85b[33]]([])[_0xc85b[13]](getMailQueues(_0x7d2ex7[_0xc85b[25]]))[_0xc85b[13]](function(_0x7d2ex14){return ReportMailSession[_0xc85b[36]](Util[_0xc85b[15]](_0x7d2ex7[_0xc85b[14]],_[_0xc85b[31]]({leaveAt:null},_0x7d2ex14)))})[_0xc85b[13]](function(_0x7d2ex13){return _0x7d2ex8[_0xc85b[12]](200)[_0xc85b[11]]({rows:_0x7d2ex13})})[_0xc85b[10]](function(_0x7d2exa){console[_0xc85b[30]](_0x7d2exa);return handleError(_0x7d2ex8,_0x7d2exa)})};function handleError(_0x7d2ex8,_0x7d2exa){return _0x7d2ex8[_0xc85b[12]](500)[_0xc85b[11]](_0x7d2exa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportMailSession = require('../../models').ReportMailSession;
-
-var ReportMailSessionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportMailSessionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportMailSession.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportMailSessionEvents.emit(event + ':' + doc._id, doc);
- ReportMailSessionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportMailSessionEvents;
+var _0x61b0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x61b0[0];const EventEmitter=require(_0x61b0[1]);const ReportMailSession=require(_0x61b0[3])[_0x61b0[2]];var ReportMailSessionEvents= new EventEmitter();ReportMailSessionEvents[_0x61b0[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x61b0[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x61b0[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x61b0[6]};for(var e in events){var event=events[e];ReportMailSession[_0x61b0[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xb787x8,_0xb787x9,_0xb787xa){ReportMailSessionEvents[_0x61b0[10]](event+ _0x61b0[8]+ _0xb787x8[_0x61b0[9]],_0xb787x8);ReportMailSessionEvents[_0x61b0[10]](event,_0xb787x8);_0xb787xa(null)}}module[_0x61b0[11]]= ReportMailSessionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportMailSessionEvents = require('./report_mail_session.events');
-const User = require('../../models').User;
-const Util = require('../../config/util');
-const _ = require('lodash');
-const Promise = require('bluebird');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_mail_session:' + event, socket);
-
- ReportMailSessionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_mail_session:save':
- return Promise
- .all([])
- .then(getMailQueues(socket))
- .then(function(condition) {
- if (socket.role === 'admin' || _.includes(condition.memberid, doc.memberid) || _.includes(condition.queue, doc.queue)) {
- socket.emit(event, doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering report mail sessions after save', err);
- });
- case 'report_mail_session:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportMailSessionEvents.removeListener(event, listener);
- };
-}
-
-function getMailQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- };
- });
- case 'agent':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getMailQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- queue: _.map(userQueues, 'id'),
- memberid: user.userId
- };
- });
- default:
- return {};
- }
- }
-}
+var _0xcddc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x20\x6D\x61\x69\x6C\x20\x73\x65\x73\x73\x69\x6F\x6E\x73\x20\x61\x66\x74\x65\x72\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x71\x75\x65\x75\x65","\x65\x6D\x69\x74","\x74\x68\x65\x6E","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74"];_0xcddc[0];const ReportMailSessionEvents=require(_0xcddc[1]);const User=require(_0xcddc[3])[_0xcddc[2]];const Util=require(_0xcddc[4]);const _=require(_0xcddc[5]);const Promise=require(_0xcddc[6]);var events=[_0xcddc[7],_0xcddc[8]];exports[_0xcddc[9]]= function(_0x9814x7){for(var _0x9814x8=0,_0x9814x9=events[_0xcddc[10]];_0x9814x8< _0x9814x9;_0x9814x8++){var _0x9814xa=events[_0x9814x8];var _0x9814xb=createListener(_0xcddc[11]+ _0x9814xa,_0x9814x7);ReportMailSessionEvents[_0xcddc[12]](_0x9814xa,_0x9814xb);_0x9814x7[_0xcddc[12]](_0xcddc[13],removeListener(_0x9814xa,_0x9814xb))}};function createListener(_0x9814xa,_0x9814x7){return function(_0x9814xd){switch(_0x9814xa){case _0xcddc[25]:return Promise[_0xcddc[24]]([])[_0xcddc[23]](getMailQueues(_0x9814x7))[_0xcddc[23]](function(_0x9814xf){if(_0x9814x7[_0xcddc[17]]=== _0xcddc[18]|| _[_0xcddc[20]](_0x9814xf[_0xcddc[19]],_0x9814xd[_0xcddc[19]])|| _[_0xcddc[20]](_0x9814xf[_0xcddc[21]],_0x9814xd[_0xcddc[21]])){_0x9814x7[_0xcddc[22]](_0x9814xa,_0x9814xd)}})[_0xcddc[16]](function(_0x9814xe){console[_0xcddc[15]](_0xcddc[14],_0x9814xe)});case _0xcddc[26]:_0x9814x7[_0xcddc[22]](_0x9814xa,_0x9814xd);break;default:}}}function removeListener(_0x9814xa,_0x9814xb){return function(){ReportMailSessionEvents[_0xcddc[27]](_0x9814xa,_0x9814xb)}}function getMailQueues(_0x9814x12){return function(){switch(_0x9814x12[_0xcddc[17]]){case _0xcddc[36]:return User[_0xcddc[35]](_0x9814x12[_0xcddc[34]],{attributes:[_0xcddc[28]]})[_0xcddc[23]](Util[_0xcddc[33]]({},{attributes:[_0xcddc[28]],include:[{raw:true,model:User,attributes:[_0xcddc[28]]}]}))[_0xcddc[23]](function(_0x9814x13){var _0x9814x14=[];_0x9814x13[_0xcddc[32]][_0xcddc[31]](function(_0x9814x15){_0x9814x14= _[_0xcddc[30]](_0x9814x14,_[_0xcddc[29]](_0x9814x15.Users,_0xcddc[28]))});return {queue:_[_0xcddc[29]](_0x9814x13[_0xcddc[32]],_0xcddc[28]),memberid:_0x9814x14}});case _0xcddc[38]:return User[_0xcddc[35]](_0x9814x12[_0xcddc[34]],{attributes:[_0xcddc[28]]})[_0xcddc[23]](function(_0x9814x16){return _0x9814x16[_0xcddc[37]]({attributes:[_0xcddc[28]]})})[_0xcddc[23]](function(_0x9814x13){return {queue:_[_0xcddc[29]](_0x9814x13,_0xcddc[28]),memberid:_0x9814x12[_0xcddc[34]]}});default:return {}}}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_member.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-
-module.exports = router;
+var _0xdc2b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xdc2b[0];var express=require(_0xdc2b[1]);var controller=require(_0xdc2b[2]);var auth=require(_0xdc2b[3]);var router=express.Router();router[_0xdc2b[9]](_0xdc2b[4],auth[_0xdc2b[5]](),auth[_0xdc2b[7]]([17],[_0xdc2b[6]]),controller[_0xdc2b[8]]);router[_0xdc2b[9]](_0xdc2b[10],auth[_0xdc2b[5]](),auth[_0xdc2b[7]]([17],[_0xdc2b[6]]),controller[_0xdc2b[11]]);module[_0xdc2b[12]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportMember = require('../../models').ReportMember;
-var ReportMemberHistory = require('../../models').history.ReportMemberHistory;
-var Util = require('../../config/util');
-
-// Get list of report_members
-exports.index = function(req, res, next) {
- return ReportMember
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportMemberHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x85b7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65"];_0x85b7[0];var _=require(_0x85b7[1]);var ReportMember=require(_0x85b7[3])[_0x85b7[2]];var ReportMemberHistory=require(_0x85b7[3])[_0x85b7[5]][_0x85b7[4]];var Util=require(_0x85b7[6]);exports[_0x85b7[7]]= function(_0xc0ddx5,_0xc0ddx6,_0xc0ddx7){return ReportMember[_0x85b7[14]](Util[_0x85b7[13]](_0xc0ddx5[_0x85b7[12]]))[_0x85b7[11]](function(_0xc0ddx9){return _0xc0ddx6[_0x85b7[10]](200)[_0x85b7[9]](_0xc0ddx9)})[_0x85b7[8]](function(_0xc0ddx8){return handleError(_0xc0ddx6,_0xc0ddx8)})};exports[_0x85b7[15]]= function(_0xc0ddx5,_0xc0ddx6){return ReportMemberHistory[_0x85b7[15]]()[_0x85b7[11]](function(_0xc0ddxa){return _0xc0ddx6[_0x85b7[10]](200)[_0x85b7[9]](_0xc0ddxa)})[_0x85b7[8]](function(_0xc0ddx8){return handleError(_0xc0ddx6,_0xc0ddx8)})};function handleError(_0xc0ddx6,_0xc0ddx8){return _0xc0ddx6[_0x85b7[10]](500)[_0x85b7[9]](_0xc0ddx8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportMember = require('../../models').ReportMember;
-
-var ReportMemberEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportMemberEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportMember.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportMemberEvents.emit(event + ':' + doc._id, doc);
- ReportMemberEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportMemberEvents;
+var _0x9581=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9581[0];const EventEmitter=require(_0x9581[1]);const ReportMember=require(_0x9581[3])[_0x9581[2]];var ReportMemberEvents= new EventEmitter();ReportMemberEvents[_0x9581[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x9581[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x9581[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x9581[6]};for(var e in events){var event=events[e];ReportMember[_0x9581[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x5cf2x8,_0x5cf2x9,_0x5cf2xa){ReportMemberEvents[_0x9581[10]](event+ _0x9581[8]+ _0x5cf2x8[_0x9581[9]],_0x5cf2x8);ReportMemberEvents[_0x9581[10]](event,_0x5cf2x8);_0x5cf2xa(null)}}module[_0x9581[11]]= ReportMemberEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportMemberEvents = require('./report_member.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_member:' + event, socket);
-
- ReportMemberEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_member:save':
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- break;
-
- case 'report_member:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportMemberEvents.removeListener(event, listener);
- };
-}
+var _0x5364=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x3A\x73\x61\x76\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5364[0];const ReportMemberEvents=require(_0x5364[1]);var events=[_0x5364[2],_0x5364[3]];exports[_0x5364[4]]= function(_0xeebax3){for(var _0xeebax4=0,_0xeebax5=events[_0x5364[5]];_0xeebax4< _0xeebax5;_0xeebax4++){var _0xeebax6=events[_0xeebax4];var _0xeebax7=createListener(_0x5364[6]+ _0xeebax6,_0xeebax3);ReportMemberEvents[_0x5364[7]](_0xeebax6,_0xeebax7);_0xeebax3[_0x5364[7]](_0x5364[8],removeListener(_0xeebax6,_0xeebax7))}};function createListener(_0xeebax6,_0xeebax3){return function(_0xeebax9){switch(_0xeebax6){case _0x5364[14]:if(_0xeebax3[_0x5364[9]]=== _0xeebax9[_0x5364[10]]|| _0xeebax3[_0x5364[11]]=== _0x5364[12]){_0xeebax3[_0x5364[13]](_0xeebax6,_0xeebax9)};break;case _0x5364[15]:_0xeebax3[_0x5364[13]](_0xeebax6,_0xeebax9);break;default:}}}function removeListener(_0xeebax6,_0xeebax7){return function(){ReportMemberEvents[_0x5364[16]](_0xeebax6,_0xeebax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_openchannel.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/:id/accept/:uniqueid', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasRole('agent'), controller.accept);
-router.get('/:id/reject', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasRole('agent'), controller.reject);
-
-module.exports = router;
+var _0x6358=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x61\x63\x63\x65\x70\x74\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x61\x63\x63\x65\x70\x74","\x2F\x3A\x69\x64\x2F\x72\x65\x6A\x65\x63\x74","\x72\x65\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x6358[0];var express=require(_0x6358[1]);var controller=require(_0x6358[2]);var auth=require(_0x6358[3]);var license=require(_0x6358[4]);var router=express.Router();router[_0x6358[12]](_0x6358[5],auth[_0x6358[6]](),license[_0x6358[7]](),auth[_0x6358[10]]([17],[_0x6358[8],_0x6358[9]]),controller[_0x6358[11]]);router[_0x6358[12]](_0x6358[13],auth[_0x6358[6]](),license[_0x6358[7]](),auth[_0x6358[14]](_0x6358[9]),controller[_0x6358[15]]);router[_0x6358[12]](_0x6358[16],auth[_0x6358[6]](),license[_0x6358[7]](),auth[_0x6358[14]](_0x6358[9]),controller[_0x6358[17]]);module[_0x6358[18]]= router
\ No newline at end of file
-'use strict';
-var _ = require('lodash');
-var ReportOpenchannel = require('../../models').ReportOpenchannel;
-var OpenchannelRoom = require('../../models').OpenchannelRoom;
-var sequelize = require('../../models').sequelize;
-var Agent = require('../../models').User;
-var Util = require('../../config/util');
-var moment = require('moment');
-
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of Report
-
-
-
-exports.index = function(req, res) {
- return ReportOpenchannel
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-// Get a single report
-exports.accept = function(req, res) {
- var _agent;
- var _roomid = req.params.uniqueid.split('.')[1];
-
- return Agent
- .findById(req.user.id, {
- attributes: ['id', 'openchannelCapacity']
- })
- .then(function(agent) {
- _agent = agent;
- return agent
- .getOpenchannelRooms({
- where: {
- status: {
- $ne: 'CLOSED'
- },
- id: {
- $ne: _roomid
- }
- },
- attributes: ['id']
- });
- })
- .then(function(Rooms) {
- return ReportOpenchannel
- .findById(req.params.id);
- })
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(report, {
- connectid: req.params.uniqueid
- });
-
- return updated
- .save();
- })
- .then(function() {
- return OpenchannelRoom
- .update({
- status: 'OPEN',
- openReason: 'agent'
- }, {
- where: {
- id: _roomid
- },
- user: req.user,
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return res.sendStatus(504);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Get a single report
-exports.reject = function(req, res) {
- return ReportOpenchannel
- .findById(req.params.id)
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- var updated = _.merge(report, {
- rejectedAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- return updated
- .save();
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0x93b3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x63\x63\x65\x70\x74","\x2E","\x73\x70\x6C\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x4F\x50\x45\x4E","\x61\x67\x65\x6E\x74","\x75\x73\x65\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x43\x4C\x4F\x53\x45\x44","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x73","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x43\x61\x70\x61\x63\x69\x74\x79","\x72\x65\x6A\x65\x63\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74"];_0x93b3[0];var _=require(_0x93b3[1]);var ReportOpenchannel=require(_0x93b3[3])[_0x93b3[2]];var OpenchannelRoom=require(_0x93b3[3])[_0x93b3[4]];var sequelize=require(_0x93b3[3])[_0x93b3[5]];var Agent=require(_0x93b3[3])[_0x93b3[6]];var Util=require(_0x93b3[7]);var moment=require(_0x93b3[8]);function handleError(_0x8f6dx9,_0x8f6dxa){return _0x8f6dx9[_0x93b3[10]](500)[_0x93b3[9]](_0x8f6dxa)}exports[_0x93b3[11]]= function(_0x8f6dxb,_0x8f6dx9){return ReportOpenchannel[_0x93b3[16]](Util[_0x93b3[15]](_0x8f6dxb[_0x93b3[14]]))[_0x93b3[13]](function(_0x8f6dxc){_0x8f6dx9[_0x93b3[10]](200)[_0x93b3[9]](_0x8f6dxc)})[_0x93b3[12]](function(_0x8f6dxa){return handleError(_0x8f6dx9,_0x8f6dxa)})};exports[_0x93b3[17]]= function(_0x8f6dxb,_0x8f6dx9){var _0x8f6dxd;var _0x8f6dxe=_0x8f6dxb[_0x93b3[21]][_0x93b3[20]][_0x93b3[19]](_0x93b3[18])[1];return Agent[_0x93b3[30]](_0x8f6dxb[_0x93b3[25]][_0x93b3[29]],{attributes:[_0x93b3[29],_0x93b3[33]]})[_0x93b3[13]](function(_0x8f6dx12){_0x8f6dxd= _0x8f6dx12;return _0x8f6dx12[_0x93b3[32]]({where:{status:{$ne:_0x93b3[31]},id:{$ne:_0x8f6dxe}},attributes:[_0x93b3[29]]})})[_0x93b3[13]](function(_0x8f6dx11){return ReportOpenchannel[_0x93b3[30]](_0x8f6dxb[_0x93b3[21]][_0x93b3[29]])})[_0x93b3[13]](function(_0x8f6dxf){if(!_0x8f6dxf){return _0x8f6dx9[_0x93b3[22]](404)};var _0x8f6dx10=_[_0x93b3[27]](_0x8f6dxf,{connectid:_0x8f6dxb[_0x93b3[21]][_0x93b3[20]]});return _0x8f6dx10[_0x93b3[28]]()})[_0x93b3[13]](function(){return OpenchannelRoom[_0x93b3[26]]({status:_0x93b3[23],openReason:_0x93b3[24]},{where:{id:_0x8f6dxe},user:_0x8f6dxb[_0x93b3[25]],individualHooks:true})})[_0x93b3[13]](function(){return _0x8f6dx9[_0x93b3[22]](200)})[_0x93b3[12]](sequelize.UniqueConstraintError,function(_0x8f6dxa){return _0x8f6dx9[_0x93b3[22]](504)})[_0x93b3[12]](function(_0x8f6dxa){return handleError(_0x8f6dx9,_0x8f6dxa)})};exports[_0x93b3[34]]= function(_0x8f6dxb,_0x8f6dx9){return ReportOpenchannel[_0x93b3[30]](_0x8f6dxb[_0x93b3[21]][_0x93b3[29]])[_0x93b3[13]](function(_0x8f6dxf){if(!_0x8f6dxf){return _0x8f6dx9[_0x93b3[22]](404)};var _0x8f6dx10=_[_0x93b3[27]](_0x8f6dxf,{rejectedAt:moment()[_0x93b3[36]](_0x93b3[35])});return _0x8f6dx10[_0x93b3[28]]()})[_0x93b3[13]](function(){return _0x8f6dx9[_0x93b3[22]](200)})[_0x93b3[12]](function(_0x8f6dxa){return handleError(_0x8f6dx9,_0x8f6dxa)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportOpenchannel = require('../../models').ReportOpenchannel;
-
-var ReportOpenchannelEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportOpenchannelEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportOpenchannel.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportOpenchannelEvents.emit(event + ':' + doc._id, doc);
- ReportOpenchannelEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportOpenchannelEvents;
+var _0xf991=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf991[0];const EventEmitter=require(_0xf991[1]);const ReportOpenchannel=require(_0xf991[3])[_0xf991[2]];var ReportOpenchannelEvents= new EventEmitter();ReportOpenchannelEvents[_0xf991[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xf991[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xf991[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xf991[7]};for(var e in events){var event=events[e];ReportOpenchannel[_0xf991[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xbdd4x8,_0xbdd4x9,_0xbdd4xa){ReportOpenchannelEvents[_0xf991[11]](event+ _0xf991[9]+ _0xbdd4x8[_0xf991[10]],_0xbdd4x8);ReportOpenchannelEvents[_0xf991[11]](event,_0xbdd4x8);_0xbdd4xa(null)}}module[_0xf991[12]]= ReportOpenchannelEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-//
-'use strict';
-//
-const ReportOpenchannelEvents = require('./report_openchannel.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_openchannel:' + event, socket);
-
- ReportOpenchannelEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_openchannel:save':
- case 'report_openchannel:update':
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- break;
- case 'report_openchannel:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportOpenchannelEvents.removeListener(event, listener);
- };
-}
+var _0x8785=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x3A\x73\x61\x76\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x8785[0];const ReportOpenchannelEvents=require(_0x8785[1]);var events=[_0x8785[2],_0x8785[3],_0x8785[4]];exports[_0x8785[5]]= function(_0xbf24x3){for(var _0xbf24x4=0,_0xbf24x5=events[_0x8785[6]];_0xbf24x4< _0xbf24x5;_0xbf24x4++){var _0xbf24x6=events[_0xbf24x4];var _0xbf24x7=createListener(_0x8785[7]+ _0xbf24x6,_0xbf24x3);ReportOpenchannelEvents[_0x8785[8]](_0xbf24x6,_0xbf24x7);_0xbf24x3[_0x8785[8]](_0x8785[9],removeListener(_0xbf24x6,_0xbf24x7))}};function createListener(_0xbf24x6,_0xbf24x3){return function(_0xbf24x9){switch(_0xbf24x6){case _0x8785[10]:;case _0x8785[16]:if(_0xbf24x3[_0x8785[11]]=== _0xbf24x9[_0x8785[12]]|| _0xbf24x3[_0x8785[13]]=== _0x8785[14]){_0xbf24x3[_0x8785[15]](_0xbf24x6,_0xbf24x9)};break;case _0x8785[17]:_0xbf24x3[_0x8785[15]](_0xbf24x6,_0xbf24x9);break;default:}}}function removeListener(_0xbf24x6,_0xbf24x7){return function(){ReportOpenchannelEvents[_0x8785[18]](_0xbf24x6,_0xbf24x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_openchannel_session.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.describe);
-router.get('/timeout', license.isValidDate(), auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.timeout);
-router.get('/waiting', license.isValidDate(), auth.isAuthenticated(), license.hasOpenchannel(), auth.hasModule([20], ['admin']), controller.waiting);
-router.get('/waiting/applications', auth.isAuthenticated(), license.hasOpenchannel(), controller.waitingApplications);
-// , auth.hasModule([11], ['admin', 'agent'])
-module.exports = router;
+var _0xf485=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x74\x69\x6D\x65\x6F\x75\x74","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x2F\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67","\x2F\x77\x61\x69\x74\x69\x6E\x67\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0xf485[0];var express=require(_0xf485[1]);var controller=require(_0xf485[2]);var auth=require(_0xf485[3]);var license=require(_0xf485[4]);var router=express.Router();router[_0xf485[11]](_0xf485[5],auth[_0xf485[6]](),license[_0xf485[7]](),auth[_0xf485[9]]([20],[_0xf485[8]]),controller[_0xf485[10]]);router[_0xf485[11]](_0xf485[12],auth[_0xf485[6]](),license[_0xf485[7]](),auth[_0xf485[9]]([20],[_0xf485[8]]),controller[_0xf485[13]]);router[_0xf485[11]](_0xf485[14],license[_0xf485[15]](),auth[_0xf485[6]](),license[_0xf485[7]](),auth[_0xf485[9]]([20],[_0xf485[8]]),controller[_0xf485[16]]);router[_0xf485[11]](_0xf485[17],license[_0xf485[15]](),auth[_0xf485[6]](),license[_0xf485[7]](),auth[_0xf485[9]]([20],[_0xf485[8]]),controller[_0xf485[18]]);router[_0xf485[11]](_0xf485[19],auth[_0xf485[6]](),license[_0xf485[7]](),controller[_0xf485[20]]);module[_0xf485[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportOpenchannelSession = require('../../models').ReportOpenchannelSession;
-var ReportOpenchannelSessionHistory = require('../../models').history.ReportOpenchannelSessionHistory;
-
-var Util = require('../../config/util');
-var User = require('../../models').User;
-var Promise = require('bluebird');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ReportOpenchannelSession
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportOpenchannelSessionHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getOpenchannelQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- };
- });
- case 'agent':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getOpenchannelQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-// Get timeout apps
-exports.timeout = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return ReportOpenchannelSession
- .count(Util.getQuery(req.query, _.merge({
- timeout: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get waiting apps
-exports.waiting = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return ReportOpenchannelSession
- .count(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.waitingApplications = function(req, res) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(req.user))
- .then(function(condition) {
- return ReportOpenchannelSession
- .findAll(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x5f6a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72","\x62\x6C\x75\x65\x62\x69\x72\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x41\x6C\x6C"];_0x5f6a[0];var _=require(_0x5f6a[1]);var ReportOpenchannelSession=require(_0x5f6a[3])[_0x5f6a[2]];var ReportOpenchannelSessionHistory=require(_0x5f6a[3])[_0x5f6a[5]][_0x5f6a[4]];var Util=require(_0x5f6a[6]);var User=require(_0x5f6a[3])[_0x5f6a[7]];var Promise=require(_0x5f6a[8]);exports[_0x5f6a[9]]= function(_0xae4ex7,_0xae4ex8,_0xae4ex9){return ReportOpenchannelSession[_0x5f6a[16]](Util[_0x5f6a[15]](_0xae4ex7[_0x5f6a[14]]))[_0x5f6a[13]](function(_0xae4exb){_0xae4ex8[_0x5f6a[12]](200)[_0x5f6a[11]](_0xae4exb)})[_0x5f6a[10]](function(_0xae4exa){return handleError(_0xae4ex8,_0xae4exa)})};exports[_0x5f6a[17]]= function(_0xae4ex7,_0xae4ex8){return ReportOpenchannelSessionHistory[_0x5f6a[17]]()[_0x5f6a[13]](function(_0xae4exc){return _0xae4ex8[_0x5f6a[12]](200)[_0x5f6a[11]](_0xae4exc)})[_0x5f6a[10]](function(_0xae4exa){return handleError(_0xae4ex8,_0xae4exa)})};function getOpenchannelQueues(_0xae4exe){return function(){switch(_0xae4exe[_0x5f6a[28]]){case _0x5f6a[25]:return User[_0x5f6a[24]](_0xae4exe[_0x5f6a[18]],{attributes:[_0x5f6a[18]]})[_0x5f6a[13]](Util[_0x5f6a[23]]({},{attributes:[_0x5f6a[18]],include:[{raw:true,model:User,attributes:[_0x5f6a[18]]}]}))[_0x5f6a[13]](function(_0xae4exf){var _0xae4ex10=[];_0xae4exf[_0x5f6a[22]][_0x5f6a[21]](function(_0xae4ex11){_0xae4ex10= _[_0x5f6a[20]](_0xae4ex10,_[_0x5f6a[19]](_0xae4ex11.Users,_0x5f6a[18]))});return {$or:{queue:_[_0x5f6a[19]](_0xae4exf[_0x5f6a[22]],_0x5f6a[18]),memberid:_0xae4ex10}}});case _0x5f6a[27]:return User[_0x5f6a[24]](_0xae4exe[_0x5f6a[18]],{attributes:[_0x5f6a[18]]})[_0x5f6a[13]](function(_0xae4ex12){return _0xae4ex12[_0x5f6a[26]]({attributes:[_0x5f6a[18]]})})[_0x5f6a[13]](function(_0xae4exf){return {$or:{queue:_[_0x5f6a[19]](_0xae4exf,_0x5f6a[18]),memberid:_0xae4exe[_0x5f6a[18]]}}});default:return {}}}}exports[_0x5f6a[29]]= function(_0xae4ex7,_0xae4ex8){return Promise[_0x5f6a[33]]([])[_0x5f6a[13]](getOpenchannelQueues(_0xae4ex7[_0x5f6a[25]]))[_0x5f6a[13]](function(_0xae4ex14){return ReportOpenchannelSession[_0x5f6a[32]](Util[_0x5f6a[15]](_0xae4ex7[_0x5f6a[14]],_[_0x5f6a[31]]({timeout:true},_0xae4ex14)))})[_0x5f6a[13]](function(_0xae4ex13){return _0xae4ex8[_0x5f6a[12]](200)[_0x5f6a[11]]({value:_0xae4ex13})})[_0x5f6a[10]](function(_0xae4exa){console[_0x5f6a[30]](_0xae4exa);return handleError(_0xae4ex8,_0xae4exa)})};exports[_0x5f6a[34]]= function(_0xae4ex7,_0xae4ex8){return Promise[_0x5f6a[33]]([])[_0x5f6a[13]](getOpenchannelQueues(_0xae4ex7[_0x5f6a[25]]))[_0x5f6a[13]](function(_0xae4ex14){return ReportOpenchannelSession[_0x5f6a[32]](Util[_0x5f6a[15]](_0xae4ex7[_0x5f6a[14]],_[_0x5f6a[31]]({leaveAt:null},_0xae4ex14)))})[_0x5f6a[13]](function(_0xae4ex13){return _0xae4ex8[_0x5f6a[12]](200)[_0x5f6a[11]]({value:_0xae4ex13})})[_0x5f6a[10]](function(_0xae4exa){console[_0x5f6a[30]](_0xae4exa);return handleError(_0xae4ex8,_0xae4exa)})};exports[_0x5f6a[35]]= function(_0xae4ex7,_0xae4ex8){return Promise[_0x5f6a[33]]([])[_0x5f6a[13]](getOpenchannelQueues(_0xae4ex7[_0x5f6a[25]]))[_0x5f6a[13]](function(_0xae4ex14){return ReportOpenchannelSession[_0x5f6a[36]](Util[_0x5f6a[15]](_0xae4ex7[_0x5f6a[14]],_[_0x5f6a[31]]({leaveAt:null},_0xae4ex14)))})[_0x5f6a[13]](function(_0xae4ex13){return _0xae4ex8[_0x5f6a[12]](200)[_0x5f6a[11]]({rows:_0xae4ex13})})[_0x5f6a[10]](function(_0xae4exa){console[_0x5f6a[30]](_0xae4exa);return handleError(_0xae4ex8,_0xae4exa)})};function handleError(_0xae4ex8,_0xae4exa){return _0xae4ex8[_0x5f6a[12]](500)[_0x5f6a[11]](_0xae4exa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportOpenchannelSession = require('../../models').ReportOpenchannelSession;
-
-var ReportOpenchannelSessionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportOpenchannelSessionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportOpenchannelSession.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportOpenchannelSessionEvents.emit(event + ':' + doc._id, doc);
- ReportOpenchannelSessionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportOpenchannelSessionEvents;
+var _0x1e14=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1e14[0];const EventEmitter=require(_0x1e14[1]);const ReportOpenchannelSession=require(_0x1e14[3])[_0x1e14[2]];var ReportOpenchannelSessionEvents= new EventEmitter();ReportOpenchannelSessionEvents[_0x1e14[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x1e14[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x1e14[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x1e14[6]};for(var e in events){var event=events[e];ReportOpenchannelSession[_0x1e14[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x2c98x8,_0x2c98x9,_0x2c98xa){ReportOpenchannelSessionEvents[_0x1e14[10]](event+ _0x1e14[8]+ _0x2c98x8[_0x1e14[9]],_0x2c98x8);ReportOpenchannelSessionEvents[_0x1e14[10]](event,_0x2c98x8);_0x2c98xa(null)}}module[_0x1e14[11]]= ReportOpenchannelSessionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-var ReportOpenchannelSession = require('../../models').ReportOpenchannelSession;
-var User = require('../../models').User;
-var Util = require('../../config/util');
-var _ = require('lodash');
-var Promise = require('bluebird');
-
-exports.register = function(socket) {
- ReportOpenchannelSession.afterCreate(function(doc) {
- onSave(socket, doc);
- });
- ReportOpenchannelSession.afterUpdate(function(doc) {
- onSave(socket, doc);
- });
- ReportOpenchannelSession.afterDestroy(function(doc) {
- onRemove(socket, doc);
- });
-}
-
-function getOpenchannelQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- };
- });
- case 'agent':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getOpenchannelQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- queue: _.map(userQueues, 'id'),
- memberid: user.userId
- };
- });
- default:
- return {};
- }
- }
-}
-
-function onSave(socket, doc, cb) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket))
- .then(function(condition) {
- if (socket.role === 'admin' || _.includes(condition.memberid, doc.memberid) || _.includes(condition.queue, doc.queue)) {
- socket.emit('report_openchannel_session:save', doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering report Openchannel sessions after save', err);
- });
-}
-
-function onRemove(socket, doc, cb) {
- socket.emit('report_openchannel_session:remove', doc);
-}
+var _0x862b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x20\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x20\x73\x65\x73\x73\x69\x6F\x6E\x73\x20\x61\x66\x74\x65\x72\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x61\x64\x6D\x69\x6E","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x71\x75\x65\x75\x65","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x65\x6D\x69\x74","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65"];_0x862b[0];var ReportOpenchannelSession=require(_0x862b[2])[_0x862b[1]];var User=require(_0x862b[2])[_0x862b[3]];var Util=require(_0x862b[4]);var _=require(_0x862b[5]);var Promise=require(_0x862b[6]);exports[_0x862b[7]]= function(_0x7cb0x6){ReportOpenchannelSession[_0x862b[8]](function(_0x7cb0x7){onSave(_0x7cb0x6,_0x7cb0x7)});ReportOpenchannelSession[_0x862b[9]](function(_0x7cb0x7){onSave(_0x7cb0x6,_0x7cb0x7)});ReportOpenchannelSession[_0x862b[10]](function(_0x7cb0x7){onRemove(_0x7cb0x6,_0x7cb0x7)})};function getOpenchannelQueues(_0x7cb0x9){return function(){switch(_0x7cb0x9[_0x862b[23]]){case _0x862b[20]:return User[_0x862b[19]](_0x7cb0x9[_0x862b[18]],{attributes:[_0x862b[11]]})[_0x862b[16]](Util[_0x862b[17]]({},{attributes:[_0x862b[11]],include:[{raw:true,model:User,attributes:[_0x862b[11]]}]}))[_0x862b[16]](function(_0x7cb0xa){var _0x7cb0xb=[];_0x7cb0xa[_0x862b[15]][_0x862b[14]](function(_0x7cb0xc){_0x7cb0xb= _[_0x862b[13]](_0x7cb0xb,_[_0x862b[12]](_0x7cb0xc.Users,_0x862b[11]))});return {queue:_[_0x862b[12]](_0x7cb0xa[_0x862b[15]],_0x862b[11]),memberid:_0x7cb0xb}});case _0x862b[22]:return User[_0x862b[19]](_0x7cb0x9[_0x862b[18]],{attributes:[_0x862b[11]]})[_0x862b[16]](function(_0x7cb0xd){return _0x7cb0xd[_0x862b[21]]({attributes:[_0x862b[11]]})})[_0x862b[16]](function(_0x7cb0xa){return {queue:_[_0x862b[12]](_0x7cb0xa,_0x862b[11]),memberid:_0x7cb0x9[_0x862b[18]]}});default:return {}}}}function onSave(_0x7cb0x6,_0x7cb0x7,_0x7cb0xf){return Promise[_0x862b[33]]([])[_0x862b[16]](getOpenchannelQueues(_0x7cb0x6))[_0x862b[16]](function(_0x7cb0x11){if(_0x7cb0x6[_0x862b[23]]=== _0x862b[27]|| _[_0x862b[29]](_0x7cb0x11[_0x862b[28]],_0x7cb0x7[_0x862b[28]])|| _[_0x862b[29]](_0x7cb0x11[_0x862b[30]],_0x7cb0x7[_0x862b[30]])){_0x7cb0x6[_0x862b[32]](_0x862b[31],_0x7cb0x7)}})[_0x862b[26]](function(_0x7cb0x10){console[_0x862b[25]](_0x862b[24],_0x7cb0x10)})}function onRemove(_0x7cb0x6,_0x7cb0x7,_0x7cb0xf){_0x7cb0x6[_0x862b[32]](_0x862b[34],_0x7cb0x7)}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_queue.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/waiting', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.waiting);
-router.get('/parameters', auth.isAuthenticated(), auth.hasModule([1], ['admin']), controller.queueParameters);
-router.get('/waiting/calls', auth.isAuthenticated(), auth.hasModule([7], ['admin', 'agent']), controller.waitingCalls);
-router.get('/active', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.active);
-router.get('/answered', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.answered);
-router.get('/abandoned', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.abandoned);
-router.get('/abandoned/all', auth.isAuthenticated(), auth.hasModule([7], ['admin', 'agent']), controller.abandonedAll);
-router.get('/avganswertime', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.avganswertime);
-router.get('/avgtalktime', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.avgtalktime);
-router.get('/answerrate', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.answerrate);
-router.get('/abandonrate', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.abandonrate);
-router.get('/totaloffered', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.totaloffered);
-router.get('/unmanaged', auth.isAuthenticated(), auth.hasModule([1], ['admin', 'agent']), controller.unmanaged);
-router.get('/:queue', auth.isAuthenticated(), controller.show);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-
-module.exports = router;
+var _0x6c6e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x77\x61\x69\x74\x69\x6E\x67","\x61\x67\x65\x6E\x74","\x77\x61\x69\x74\x69\x6E\x67","\x2F\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x73","\x71\x75\x65\x75\x65\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73","\x2F\x77\x61\x69\x74\x69\x6E\x67\x2F\x63\x61\x6C\x6C\x73","\x77\x61\x69\x74\x69\x6E\x67\x43\x61\x6C\x6C\x73","\x2F\x61\x63\x74\x69\x76\x65","\x61\x63\x74\x69\x76\x65","\x2F\x61\x6E\x73\x77\x65\x72\x65\x64","\x61\x6E\x73\x77\x65\x72\x65\x64","\x2F\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x2F\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x2F\x61\x6C\x6C","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x41\x6C\x6C","\x2F\x61\x76\x67\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x61\x76\x67\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x2F\x61\x76\x67\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x61\x76\x67\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x2F\x61\x6E\x73\x77\x65\x72\x72\x61\x74\x65","\x61\x6E\x73\x77\x65\x72\x72\x61\x74\x65","\x2F\x61\x62\x61\x6E\x64\x6F\x6E\x72\x61\x74\x65","\x61\x62\x61\x6E\x64\x6F\x6E\x72\x61\x74\x65","\x2F\x74\x6F\x74\x61\x6C\x6F\x66\x66\x65\x72\x65\x64","\x74\x6F\x74\x61\x6C\x6F\x66\x66\x65\x72\x65\x64","\x2F\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x2F\x3A\x71\x75\x65\x75\x65","\x73\x68\x6F\x77","\x2F\x3A\x69\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x6c6e[0];var express=require(_0x6c6e[1]);var controller=require(_0x6c6e[2]);var auth=require(_0x6c6e[3]);var router=express.Router();router[_0x6c6e[9]](_0x6c6e[4],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([17],[_0x6c6e[6]]),controller[_0x6c6e[8]]);router[_0x6c6e[9]](_0x6c6e[10],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([17],[_0x6c6e[6]]),controller[_0x6c6e[11]]);router[_0x6c6e[9]](_0x6c6e[12],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[14]]);router[_0x6c6e[9]](_0x6c6e[15],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6]]),controller[_0x6c6e[16]]);router[_0x6c6e[9]](_0x6c6e[17],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([7],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[18]]);router[_0x6c6e[9]](_0x6c6e[19],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[20]]);router[_0x6c6e[9]](_0x6c6e[21],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[22]]);router[_0x6c6e[9]](_0x6c6e[23],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[24]]);router[_0x6c6e[9]](_0x6c6e[25],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([7],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[26]]);router[_0x6c6e[9]](_0x6c6e[27],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[28]]);router[_0x6c6e[9]](_0x6c6e[29],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[30]]);router[_0x6c6e[9]](_0x6c6e[31],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[32]]);router[_0x6c6e[9]](_0x6c6e[33],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[34]]);router[_0x6c6e[9]](_0x6c6e[35],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[36]]);router[_0x6c6e[9]](_0x6c6e[37],auth[_0x6c6e[5]](),auth[_0x6c6e[7]]([1],[_0x6c6e[6],_0x6c6e[13]]),controller[_0x6c6e[38]]);router[_0x6c6e[9]](_0x6c6e[39],auth[_0x6c6e[5]](),controller[_0x6c6e[40]]);router[_0x6c6e[43]](_0x6c6e[41],auth[_0x6c6e[5]](),controller[_0x6c6e[42]]);module[_0x6c6e[44]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var sequelize = require('../../models').sequelize;
-var Agent = require('../../models').User;
-var ReportQueue = require('../../models').ReportQueue;
-var VoiceQueue = require('../../models').VoiceQueue;
-var ReportQueueHistory = require('../../models').history.ReportQueueHistory;
-var Util = require('../../config/util');
-var Promise = require('bluebird');
-
-// Get list of reportQueues
-exports.index = function(req, res, next) {
- return ReportQueue
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.update = function(req, res) {
- return ReportQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(queue, req.body);
- return updated.save();
- })
- .then(function(queue) {
- return res.status(200).send(queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportQueueHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Waiting Calls
-exports.waiting = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .count({
- where: {
- queuecallerleaveAt: null,
- queue: userQueues
- }
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getVoiceQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return Agent //also User model
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser())
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- case 'agent':
- return Agent
- .findById(user.id)
- .then(function(agent) {
- return agent
- .getVoiceQueues({
- attributes: ['name']
- });
- })
- .then(function(userQueues) {
- return _.map(userQueues, 'name');
- });
- default:
- return VoiceQueue
- .findAll()
- .then(function(queues) {
- return {
- rows: queues
- };
- })
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- }
- }
-}
-
-exports.queueParameters = function(req, res) {
- var query = {
- _limit: req.query.limit ? req.query.limit : null,
- _offset: req.query.offset ? req.query.offset : 0,
- _name: req.query.name || undefined,
- _answeredFrom: req.query.answered_uiFrom || req.query.answered_uiFrom === 0 ? req.query.answered_uiFrom : undefined,
- _answeredTo: req.query.answered_uiTo || req.query.answered_uiTo === 0 ? req.query.answered_uiTo : undefined,
- _abandonedFrom: req.query.abandoned_uiFrom || req.query.abandoned_uiFrom === 0 ? req.query.abandoned_uiFrom : undefined,
- _abandonedTo: req.query.abandoned_uiTo || req.query.abandoned_uiTo === 0 ? req.query.abandoned_uiTo : undefined,
- _unmanagedFrom: req.query.unmanaged_uiFrom || req.query.unmanaged_uiFrom === 0 ? req.query.unmanaged_uiFrom : undefined,
- _unmanagedTo: req.query.unmanaged_uiTo || req.query.unmanaged_uiTo === 0 ? req.query.unmanaged_uiTo : undefined,
- }
- console.log(query);
- var _parameters, _userQueues, _limit, _offset;
- delete req.query.limit;
- delete req.query.offset;
- delete req.query.answered_uiFrom;
- delete req.query.answered_uiTo;
- delete req.query.abandoned_uiFrom;
- delete req.query.abandoned_uiTo;
- delete req.query.unmanaged_uiFrom;
- delete req.query.unmanaged_uiTo;
-
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- _userQueues = userQueues;
- _parameters = _.map(userQueues, function(element) {
- return {
- name: element
- };
- });
- //waiting
- return ReportQueue
- .findAll({
- where: {
- queuecallerleaveAt: null,
- queue: _userQueues
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'waiting']
- ]
- });
- })
- .then(function(waiting) {
- waiting = _.map(waiting, 'dataValues');
- _parameters.forEach(function(element, key) {
- var value = _.find(waiting, {
- name: element.name
- });
- element.waiting = value ? value.waiting : 0;
- });
- // console.log('WAITING', _parameters);
- //active
- return ReportQueue
- .findAll({
- where: {
- queuecallerexit: false,
- queuecallerabandon: false,
- queuecallercomplete: false,
- queuecallerleaveAt: {
- $ne: null
- },
- queue: _userQueues
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'active']
- ]
- });
- })
- .then(function(active) {
- active = _.map(active, 'dataValues');
- _parameters.forEach(function(element) {
- var value = _.find(active, {
- name: element.name
- });
- element.active = value ? value.active : 0;
- });
- // console.log('ACTIVE', _parameters);
- //answered
- return ReportQueue
- .findAll({
- where: {
- queuecallercomplete: true,
- queue: _userQueues
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'answered']
- ]
- });
- })
- .then(function(answered) {
- answered = _.map(answered, 'dataValues');
- // console.log('beforeAnswered', _.map(answered, 'dataValues'));
- _parameters.forEach(function(element) {
- var value = _.find(answered, {
- name: element.name
- });
- element.answered = value ? value.answered : 0;
- });
- // console.log('ANSWERED', _parameters);
- //abandoned
- return ReportQueue
- .findAll({
- where: {
- queuecallerabandon: true,
- queue: _userQueues
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'abandoned']
- ]
- });
- })
- .then(function(abandoned) {
- abandoned = _.map(abandoned, 'dataValues');
- _parameters.forEach(function(element) {
- var value = _.find(abandoned, {
- name: element.name
- });
- element.abandoned = value ? value.abandoned : 0;
- });
- // console.log('ABANDONED', _parameters);
- //unmanaged
- return ReportQueue
- .findAll({
- where: {
- queuecallerexit: true,
- queue: _userQueues
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'unmanaged']
- ]
- });
- })
- .then(function(unmanaged) {
- unmanaged = _.map(unmanaged, 'dataValues');
- _parameters.forEach(function(element) {
- var value = _.find(unmanaged, {
- name: element.name
- });
- element.unmanaged = value ? value.unmanaged : 0;
- });
- // console.log('UNMANAGED', _parameters);
- //holdtime
- return sequelize
- .query('SELECT queue AS \'name\',SEC_TO_TIME(ROUND(AVG(holdtime), 0)) as holdtime FROM report_agent WHERE agentcomplete = 1 AND queue IN (\'' + _userQueues.join("','") +
- '\') GROUP BY queue', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(holdtime) {
- _parameters.forEach(function(element) {
- var value = _.find(holdtime, {
- name: element.name
- });
- element.holdtime = value ? value.holdtime : '00:00:00';
- });
- // console.log('HOLDTIME', _parameters);
- //talktime
- return sequelize
- .query('SELECT queue AS \'name\',SEC_TO_TIME(ROUND(AVG(talktime), 0)) as talktime FROM report_agent WHERE agentcomplete = 1 AND queue IN (\'' + _userQueues.join("','") +
- '\') GROUP BY queue', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(talktime) {
- _parameters.forEach(function(element) {
- var value = _.find(talktime, {
- name: element.name
- });
- element.talktime = value ? value.talktime : '00:00:00';
- });
- // console.log('TALKTIME', _parameters);
- //totalcalls
- return sequelize
- .query('SELECT queue AS \'name\',COUNT(distinct uniqueid) as totalcalls FROM report_queue WHERE queue IN (\'' + _userQueues.join("','") + '\') GROUP BY queue', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(totalcalls) {
- _parameters.forEach(function(element) {
- var value = _.find(totalcalls, {
- name: element.name
- });
- element.totalcalls = value ? value.totalcalls : 0;
- });
- // console.log('TOTALCALLS', _parameters);
- var results = _(_.filter(_parameters, function(element) {
- var answeredFrom = query._answeredFrom ? (element.answered >= Number(query._answeredFrom)) : true;
- var answeredTo = query._answeredTo ? (element.answered <= Number(query._answeredTo)) : true;
- var abandonedFrom = query._abandonedFrom ? (element.abandoned >= Number(query._abandonedFrom)) : true;
- var abandonedto = query._abandonedTo ? (element.abandoned <= Number(query._abandonedTo)) : true;
- var unmanagedFrom = query._unmanagedFrom ? (element.unmanaged >= Number(query._unmanagedFrom)) : true;
- var unmanagedTo = query._unmanagedTo ? (element.unmanaged <= Number(query._unmanagedTo)) : true;
- var name = query._name ? _.includes(element.name, query._name) : true;
- return _.reduce([answeredFrom, answeredTo, abandonedFrom, abandonedto, unmanagedFrom, unmanagedTo, name], function(total, n) {
- return total && n;
- });
- }));
- if (query._limit) {
- results = results.slice(query._offset).take(query._limit).value();
- }
- return [_parameters.length, results];
- })
- .spread(function(count, rows) {
- // console.log('RETURN', rows);
- return res.status(200).send({
- rows: rows,
- count: count
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get Waiting Calls
-exports.waitingCalls = function(req, res) {
- var where = {};
- if (req.user.role === 'agent') {
- where.connectedlinename = req.user.fullname;
- }
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .scope('waiting', {
- method: ['queueFilter', userQueues]
- })
- .findAll(Util.getQuery(req.query, where));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data,
- count: data.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Waiting Calls
-exports.active = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .count({
- where: {
- queuecallerexit: false,
- queuecallerabandon: false,
- queuecallercomplete: false,
- queuecallerleaveAt: {
- $ne: null
- },
- queue: userQueues
- }
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Answered Calls
-exports.answered = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .count({
- where: {
- queuecallercomplete: true,
- queue: userQueues
- }
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Abandoned Calls
-exports.abandoned = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .count({
- where: {
- queuecallerabandon: true,
- queue: userQueues
- }
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Answered Calls
-exports.avganswertime = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return sequelize
- .query('SELECT SEC_TO_TIME(ROUND(AVG(holdtime), 0)) as value FROM report_agent WHERE agentcomplete = 1 AND queue IN (\'' + userQueues.join("','") + '\')', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Answered Calls
-exports.avgtalktime = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return sequelize
- .query('SELECT SEC_TO_TIME(ROUND(AVG(talktime), 0)) as value FROM report_agent WHERE agentcomplete = 1 AND queue IN (\'' + userQueues.join("','") + '\')', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Answered Calls
-exports.answerrate = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return sequelize
- .query('SELECT ROUND(SUM(queuecallercomplete) / (SUM(queuecallercomplete) + SUM(queuecallerabandon)) * 100, 1) as value FROM report_queue WHERE queue IN (\'' + userQueues.join("','") +
- '\')', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Answered Calls
-exports.abandonrate = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return sequelize
- .query('SELECT ROUND(SUM(queuecallerabandon) / (SUM(queuecallercomplete) + SUM(queuecallerabandon)) * 100, 1) as value FROM report_queue WHERE queue IN (\'' + userQueues.join("','") +
- '\')', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Answered Calls
-exports.totaloffered = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return sequelize
- .query('SELECT COUNT(distinct uniqueid) as value FROM report_queue WHERE queue IN (\'' + userQueues.join("','") + '\')', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data[0].value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Unmanaged Calls
-exports.unmanaged = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .count({
- where: {
- queuecallerexit: true,
- queue: userQueues
- }
- });
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get Unmanaged Calls
-exports.abandonedAll = function(req, res) {
- return Promise
- .all([])
- .then(getVoiceQueues(req.user))
- .then(function(userQueues) {
- return ReportQueue
- .findAndCountAll({
- where: {
- queuecallerabandon: true,
- queue: userQueues
- }
- });
- })
- .then(function(data) {
- return res.status(200).send(data);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single reportQueue
-exports.show = function(req, res) {
- return ReportQueue
- .findAll({
- where: {
- queue: req.params.queue
- }
- })
- .then(function(reportQueue) {
- if (!reportQueue) {
- return res.sendStatus(404);
- }
- return res.send({
- count: reportQueue.length,
- rows: reportQueue
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x4cf5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x62\x6C\x75\x65\x62\x69\x72\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x63\x72\x69\x62\x65","\x77\x61\x69\x74\x69\x6E\x67","\x63\x6F\x75\x6E\x74","\x75\x73\x65\x72","\x61\x6C\x6C","\x72\x6F\x77\x73","\x6E\x61\x6D\x65","\x6D\x61\x70","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x72\x6F\x6C\x65","\x71\x75\x65\x75\x65\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73","\x6C\x69\x6D\x69\x74","\x6F\x66\x66\x73\x65\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x75\x69\x46\x72\x6F\x6D","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x75\x69\x54\x6F","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x5F\x75\x69\x46\x72\x6F\x6D","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x5F\x75\x69\x54\x6F","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x5F\x75\x69\x46\x72\x6F\x6D","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x5F\x75\x69\x54\x6F","\x6C\x6F\x67","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64","\x74\x6F\x74\x61\x6C\x63\x61\x6C\x6C\x73","\x66\x6F\x72\x45\x61\x63\x68","\x5F\x61\x6E\x73\x77\x65\x72\x65\x64\x46\x72\x6F\x6D","\x61\x6E\x73\x77\x65\x72\x65\x64","\x5F\x61\x6E\x73\x77\x65\x72\x65\x64\x54\x6F","\x5F\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x46\x72\x6F\x6D","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x5F\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x54\x6F","\x5F\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x46\x72\x6F\x6D","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x5F\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x54\x6F","\x5F\x6E\x61\x6D\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x72\x65\x64\x75\x63\x65","\x66\x69\x6C\x74\x65\x72","\x5F\x6C\x69\x6D\x69\x74","\x76\x61\x6C\x75\x65","\x74\x61\x6B\x65","\x73\x6C\x69\x63\x65","\x6C\x65\x6E\x67\x74\x68","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x30\x30\x3A\x30\x30\x3A\x30\x30","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x20\x41\x53\x20\x27\x6E\x61\x6D\x65\x27\x2C\x43\x4F\x55\x4E\x54\x28\x64\x69\x73\x74\x69\x6E\x63\x74\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x20\x61\x73\x20\x74\x6F\x74\x61\x6C\x63\x61\x6C\x6C\x73\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x27\x2C\x27","\x6A\x6F\x69\x6E","\x27\x29\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x20\x41\x53\x20\x27\x6E\x61\x6D\x65\x27\x2C\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x74\x61\x6C\x6B\x74\x69\x6D\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x20\x41\x53\x20\x27\x6E\x61\x6D\x65\x27\x2C\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x71\x75\x65\x75\x65","\x43\x4F\x55\x4E\x54","\x63\x6F\x6C","\x66\x6E","\x61\x63\x74\x69\x76\x65","\x77\x61\x69\x74\x69\x6E\x67\x43\x61\x6C\x6C\x73","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x71\x75\x65\x75\x65\x46\x69\x6C\x74\x65\x72","\x73\x63\x6F\x70\x65","\x61\x76\x67\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x27\x29","\x61\x76\x67\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x61\x6E\x73\x77\x65\x72\x72\x61\x74\x65","\x53\x45\x4C\x45\x43\x54\x20\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2F\x20\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2B\x20\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x29\x20\x2A\x20\x31\x30\x30\x2C\x20\x31\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x61\x62\x61\x6E\x64\x6F\x6E\x72\x61\x74\x65","\x53\x45\x4C\x45\x43\x54\x20\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x20\x2F\x20\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2B\x20\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x29\x20\x2A\x20\x31\x30\x30\x2C\x20\x31\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x74\x6F\x74\x61\x6C\x6F\x66\x66\x65\x72\x65\x64","\x53\x45\x4C\x45\x43\x54\x20\x43\x4F\x55\x4E\x54\x28\x64\x69\x73\x74\x69\x6E\x63\x74\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x20\x61\x73\x20\x76\x61\x6C\x75\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x41\x6C\x6C","\x73\x68\x6F\x77"];_0x4cf5[0];var _=require(_0x4cf5[1]);var sequelize=require(_0x4cf5[3])[_0x4cf5[2]];var Agent=require(_0x4cf5[3])[_0x4cf5[4]];var ReportQueue=require(_0x4cf5[3])[_0x4cf5[5]];var VoiceQueue=require(_0x4cf5[3])[_0x4cf5[6]];var ReportQueueHistory=require(_0x4cf5[3])[_0x4cf5[8]][_0x4cf5[7]];var Util=require(_0x4cf5[9]);var Promise=require(_0x4cf5[10]);exports[_0x4cf5[11]]= function(_0xc4fex9,_0xc4fexa,_0xc4fexb){return ReportQueue[_0x4cf5[18]](Util[_0x4cf5[17]](_0xc4fex9[_0x4cf5[16]]))[_0x4cf5[15]](function(_0xc4fexd){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]](_0xc4fexd)})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[19]]= function(_0xc4fex9,_0xc4fexa){return ReportQueue[_0x4cf5[26]](_0xc4fex9[_0x4cf5[25]][_0x4cf5[24]])[_0x4cf5[15]](function(_0xc4fexe){if(!_0xc4fexe){return _0xc4fexa[_0x4cf5[20]](404)};var _0xc4fexf=_[_0x4cf5[22]](_0xc4fexe,_0xc4fex9[_0x4cf5[21]]);return _0xc4fexf[_0x4cf5[23]]()})[_0x4cf5[15]](function(_0xc4fexe){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]](_0xc4fexe)})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[27]]= function(_0xc4fex9,_0xc4fexa){return ReportQueueHistory[_0x4cf5[27]]()[_0x4cf5[15]](function(_0xc4fex10){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]](_0xc4fex10)})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[28]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[29]]({where:{queuecallerleaveAt:null,queue:_0xc4fex12}})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};function getVoiceQueues(_0xc4fex14){return function(){switch(_0xc4fex14[_0x4cf5[39]]){case _0x4cf5[30]:return Agent[_0x4cf5[26]](_0xc4fex14[_0x4cf5[24]],{attributes:[_0x4cf5[24]]})[_0x4cf5[15]](Util[_0x4cf5[35]]())[_0x4cf5[15]](function(_0xc4fex12){return _[_0x4cf5[34]](_0xc4fex12[_0x4cf5[32]],_0x4cf5[33])});case _0x4cf5[37]:return Agent[_0x4cf5[26]](_0xc4fex14[_0x4cf5[24]])[_0x4cf5[15]](function(_0xc4fex15){return _0xc4fex15[_0x4cf5[36]]({attributes:[_0x4cf5[33]]})})[_0x4cf5[15]](function(_0xc4fex12){return _[_0x4cf5[34]](_0xc4fex12,_0x4cf5[33])});default:return VoiceQueue[_0x4cf5[38]]()[_0x4cf5[15]](function(_0xc4fex16){return {rows:_0xc4fex16}})[_0x4cf5[15]](function(_0xc4fex12){return _[_0x4cf5[34]](_0xc4fex12[_0x4cf5[32]],_0x4cf5[33])})}}}exports[_0x4cf5[40]]= function(_0xc4fex9,_0xc4fexa){var _0xc4fex17={_limit:_0xc4fex9[_0x4cf5[16]][_0x4cf5[41]]?_0xc4fex9[_0x4cf5[16]][_0x4cf5[41]]:null,_offset:_0xc4fex9[_0x4cf5[16]][_0x4cf5[42]]?_0xc4fex9[_0x4cf5[16]][_0x4cf5[42]]:0,_name:_0xc4fex9[_0x4cf5[16]][_0x4cf5[33]]|| undefined,_answeredFrom:_0xc4fex9[_0x4cf5[16]][_0x4cf5[43]]|| _0xc4fex9[_0x4cf5[16]][_0x4cf5[43]]=== 0?_0xc4fex9[_0x4cf5[16]][_0x4cf5[43]]:undefined,_answeredTo:_0xc4fex9[_0x4cf5[16]][_0x4cf5[44]]|| _0xc4fex9[_0x4cf5[16]][_0x4cf5[44]]=== 0?_0xc4fex9[_0x4cf5[16]][_0x4cf5[44]]:undefined,_abandonedFrom:_0xc4fex9[_0x4cf5[16]][_0x4cf5[45]]|| _0xc4fex9[_0x4cf5[16]][_0x4cf5[45]]=== 0?_0xc4fex9[_0x4cf5[16]][_0x4cf5[45]]:undefined,_abandonedTo:_0xc4fex9[_0x4cf5[16]][_0x4cf5[46]]|| _0xc4fex9[_0x4cf5[16]][_0x4cf5[46]]=== 0?_0xc4fex9[_0x4cf5[16]][_0x4cf5[46]]:undefined,_unmanagedFrom:_0xc4fex9[_0x4cf5[16]][_0x4cf5[47]]|| _0xc4fex9[_0x4cf5[16]][_0x4cf5[47]]=== 0?_0xc4fex9[_0x4cf5[16]][_0x4cf5[47]]:undefined,_unmanagedTo:_0xc4fex9[_0x4cf5[16]][_0x4cf5[48]]|| _0xc4fex9[_0x4cf5[16]][_0x4cf5[48]]=== 0?_0xc4fex9[_0x4cf5[16]][_0x4cf5[48]]:undefined};console[_0x4cf5[49]](_0xc4fex17);var _0xc4fex18,_0xc4fex19,_0xc4fex1a,_0xc4fex1b;delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[41]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[42]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[43]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[44]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[45]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[46]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[47]];delete _0xc4fex9[_0x4cf5[16]][_0x4cf5[48]];return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){_0xc4fex19= _0xc4fex12;_0xc4fex18= _[_0x4cf5[34]](_0xc4fex12,function(_0xc4fex1f){return {name:_0xc4fex1f}});return ReportQueue[_0x4cf5[38]]({where:{queuecallerleaveAt:null,queue:_0xc4fex19},group:_0x4cf5[84],attributes:[[_0x4cf5[84],_0x4cf5[33]],[sequelize[_0x4cf5[87]](_0x4cf5[85],sequelize[_0x4cf5[86]](_0x4cf5[24])),_0x4cf5[28]]]})})[_0x4cf5[15]](function(_0xc4fex31){_0xc4fex31= _[_0x4cf5[34]](_0xc4fex31,_0x4cf5[82]);_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f,_0xc4fex32){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex31,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[28]]= _0xc4fex20?_0xc4fex20[_0x4cf5[28]]:0});return ReportQueue[_0x4cf5[38]]({where:{queuecallerexit:false,queuecallerabandon:false,queuecallercomplete:false,queuecallerleaveAt:{$ne:null},queue:_0xc4fex19},group:_0x4cf5[84],attributes:[[_0x4cf5[84],_0x4cf5[33]],[sequelize[_0x4cf5[87]](_0x4cf5[85],sequelize[_0x4cf5[86]](_0x4cf5[24])),_0x4cf5[88]]]})})[_0x4cf5[15]](function(_0xc4fex30){_0xc4fex30= _[_0x4cf5[34]](_0xc4fex30,_0x4cf5[82]);_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex30,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[88]]= _0xc4fex20?_0xc4fex20[_0x4cf5[88]]:0});return ReportQueue[_0x4cf5[38]]({where:{queuecallercomplete:true,queue:_0xc4fex19},group:_0x4cf5[84],attributes:[[_0x4cf5[84],_0x4cf5[33]],[sequelize[_0x4cf5[87]](_0x4cf5[85],sequelize[_0x4cf5[86]](_0x4cf5[24])),_0x4cf5[55]]]})})[_0x4cf5[15]](function(_0xc4fex2f){_0xc4fex2f= _[_0x4cf5[34]](_0xc4fex2f,_0x4cf5[82]);_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex2f,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[55]]= _0xc4fex20?_0xc4fex20[_0x4cf5[55]]:0});return ReportQueue[_0x4cf5[38]]({where:{queuecallerabandon:true,queue:_0xc4fex19},group:_0x4cf5[84],attributes:[[_0x4cf5[84],_0x4cf5[33]],[sequelize[_0x4cf5[87]](_0x4cf5[85],sequelize[_0x4cf5[86]](_0x4cf5[24])),_0x4cf5[58]]]})})[_0x4cf5[15]](function(_0xc4fex2e){_0xc4fex2e= _[_0x4cf5[34]](_0xc4fex2e,_0x4cf5[82]);_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex2e,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[58]]= _0xc4fex20?_0xc4fex20[_0x4cf5[58]]:0});return ReportQueue[_0x4cf5[38]]({where:{queuecallerexit:true,queue:_0xc4fex19},group:_0x4cf5[84],attributes:[[_0x4cf5[84],_0x4cf5[33]],[sequelize[_0x4cf5[87]](_0x4cf5[85],sequelize[_0x4cf5[86]](_0x4cf5[24])),_0x4cf5[61]]]})})[_0x4cf5[15]](function(_0xc4fex2d){_0xc4fex2d= _[_0x4cf5[34]](_0xc4fex2d,_0x4cf5[82]);_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex2d,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[61]]= _0xc4fex20?_0xc4fex20[_0x4cf5[61]]:0});return sequelize[_0x4cf5[16]](_0x4cf5[83]+ _0xc4fex19[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[77],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex2c){_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex2c,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[80]]= _0xc4fex20?_0xc4fex20[_0x4cf5[80]]:_0x4cf5[73]});return sequelize[_0x4cf5[16]](_0x4cf5[81]+ _0xc4fex19[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[77],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex2b){_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex2b,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[72]]= _0xc4fex20?_0xc4fex20[_0x4cf5[72]]:_0x4cf5[73]});return sequelize[_0x4cf5[16]](_0x4cf5[74]+ _0xc4fex19[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[77],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex1e){_0xc4fex18[_0x4cf5[53]](function(_0xc4fex1f){var _0xc4fex20=_[_0x4cf5[51]](_0xc4fex1e,{name:_0xc4fex1f[_0x4cf5[33]]});_0xc4fex1f[_0x4cf5[52]]= _0xc4fex20?_0xc4fex20[_0x4cf5[52]]:0});var _0xc4fex21=_(_[_0x4cf5[66]](_0xc4fex18,function(_0xc4fex1f){var _0xc4fex22=_0xc4fex17[_0x4cf5[54]]?(_0xc4fex1f[_0x4cf5[55]]>= Number(_0xc4fex17._answeredFrom)):true;var _0xc4fex23=_0xc4fex17[_0x4cf5[56]]?(_0xc4fex1f[_0x4cf5[55]]<= Number(_0xc4fex17._answeredTo)):true;var _0xc4fex24=_0xc4fex17[_0x4cf5[57]]?(_0xc4fex1f[_0x4cf5[58]]>= Number(_0xc4fex17._abandonedFrom)):true;var _0xc4fex25=_0xc4fex17[_0x4cf5[59]]?(_0xc4fex1f[_0x4cf5[58]]<= Number(_0xc4fex17._abandonedTo)):true;var _0xc4fex26=_0xc4fex17[_0x4cf5[60]]?(_0xc4fex1f[_0x4cf5[61]]>= Number(_0xc4fex17._unmanagedFrom)):true;var _0xc4fex27=_0xc4fex17[_0x4cf5[62]]?(_0xc4fex1f[_0x4cf5[61]]<= Number(_0xc4fex17._unmanagedTo)):true;var _0xc4fex28=_0xc4fex17[_0x4cf5[63]]?_[_0x4cf5[64]](_0xc4fex1f[_0x4cf5[33]],_0xc4fex17._name):true;return _[_0x4cf5[65]]([_0xc4fex22,_0xc4fex23,_0xc4fex24,_0xc4fex25,_0xc4fex26,_0xc4fex27,_0xc4fex28],function(_0xc4fex29,_0xc4fex2a){return _0xc4fex29&& _0xc4fex2a})}));if(_0xc4fex17[_0x4cf5[67]]){_0xc4fex21= _0xc4fex21[_0x4cf5[70]](_0xc4fex17._offset)[_0x4cf5[69]](_0xc4fex17._limit)[_0x4cf5[68]]()};return [_0xc4fex18[_0x4cf5[71]],_0xc4fex21]})[_0x4cf5[50]](function(_0xc4fex1c,_0xc4fex1d){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({rows:_0xc4fex1d,count:_0xc4fex1c})})[_0x4cf5[12]](function(_0xc4fexc){console[_0x4cf5[49]](_0xc4fexc);return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[89]]= function(_0xc4fex9,_0xc4fexa){var _0xc4fex33={};if(_0xc4fex9[_0x4cf5[30]][_0x4cf5[39]]=== _0x4cf5[37]){_0xc4fex33[_0x4cf5[90]]= _0xc4fex9[_0x4cf5[30]][_0x4cf5[91]]};return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[93]](_0x4cf5[28],{method:[_0x4cf5[92],_0xc4fex12]})[_0x4cf5[38]](Util[_0x4cf5[17]](_0xc4fex9[_0x4cf5[16]],_0xc4fex33))})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({rows:_0xc4fex11,count:_0xc4fex11[_0x4cf5[71]]})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[88]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[29]]({where:{queuecallerexit:false,queuecallerabandon:false,queuecallercomplete:false,queuecallerleaveAt:{$ne:null},queue:_0xc4fex12}})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[55]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[29]]({where:{queuecallercomplete:true,queue:_0xc4fex12}})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[58]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[29]]({where:{queuecallerabandon:true,queue:_0xc4fex12}})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[94]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return sequelize[_0x4cf5[16]](_0x4cf5[95]+ _0xc4fex12[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[96],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11[0][_0x4cf5[68]]})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[97]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return sequelize[_0x4cf5[16]](_0x4cf5[98]+ _0xc4fex12[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[96],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11[0][_0x4cf5[68]]})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[99]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return sequelize[_0x4cf5[16]](_0x4cf5[100]+ _0xc4fex12[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[96],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11[0][_0x4cf5[68]]})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[101]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return sequelize[_0x4cf5[16]](_0x4cf5[102]+ _0xc4fex12[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[96],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11[0][_0x4cf5[68]]})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[103]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return sequelize[_0x4cf5[16]](_0x4cf5[104]+ _0xc4fex12[_0x4cf5[76]](_0x4cf5[75])+ _0x4cf5[96],{type:sequelize[_0x4cf5[79]][_0x4cf5[78]]})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11[0][_0x4cf5[68]]})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[61]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[29]]({where:{queuecallerexit:true,queue:_0xc4fex12}})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]]({value:_0xc4fex11})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[105]]= function(_0xc4fex9,_0xc4fexa){return Promise[_0x4cf5[31]]([])[_0x4cf5[15]](getVoiceQueues(_0xc4fex9[_0x4cf5[30]]))[_0x4cf5[15]](function(_0xc4fex12){return ReportQueue[_0x4cf5[18]]({where:{queuecallerabandon:true,queue:_0xc4fex12}})})[_0x4cf5[15]](function(_0xc4fex11){return _0xc4fexa[_0x4cf5[14]](200)[_0x4cf5[13]](_0xc4fex11)})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};exports[_0x4cf5[106]]= function(_0xc4fex9,_0xc4fexa){return ReportQueue[_0x4cf5[38]]({where:{queue:_0xc4fex9[_0x4cf5[25]][_0x4cf5[84]]}})[_0x4cf5[15]](function(_0xc4fex34){if(!_0xc4fex34){return _0xc4fexa[_0x4cf5[20]](404)};return _0xc4fexa[_0x4cf5[13]]({count:_0xc4fex34[_0x4cf5[71]],rows:_0xc4fex34})})[_0x4cf5[12]](function(_0xc4fexc){return handleError(_0xc4fexa,_0xc4fexc)})};function handleError(_0xc4fexa,_0xc4fexc){return _0xc4fexa[_0x4cf5[14]](500)[_0x4cf5[13]](_0xc4fexc)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportQueue = require('../../models').ReportQueue;
-
-var ReportQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportQueueEvents.emit(event + ':' + doc._id, doc);
- ReportQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportQueueEvents;
+var _0xb070=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb070[0];const EventEmitter=require(_0xb070[1]);const ReportQueue=require(_0xb070[3])[_0xb070[2]];var ReportQueueEvents= new EventEmitter();ReportQueueEvents[_0xb070[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xb070[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xb070[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xb070[7]};for(var e in events){var event=events[e];ReportQueue[_0xb070[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xab16x8,_0xab16x9,_0xab16xa){ReportQueueEvents[_0xb070[11]](event+ _0xb070[9]+ _0xab16x8[_0xb070[10]],_0xab16x8);ReportQueueEvents[_0xb070[11]](event,_0xab16x8);_0xab16xa(null)}}module[_0xb070[12]]= ReportQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportQueueEvents = require('./report_queue.events');
-const VoiceQueue = require('../../models').VoiceQueue;
-const User = require('../../models').User;
-const Util = require('../../config/util');
-const _ = require('lodash');
-const Promise = require('bluebird');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_queue:' + event, socket);
-
- ReportQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_queue:save':
- case 'report_queue:update':
- return Promise
- .all([])
- .then(getVoiceQueues(socket))
- .then(function(userQueues) {
- if (_.includes(userQueues, doc.queue)) {
- socket.emit(event, doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering queues after queue save', err);
- })
-
- case 'report_queue:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportQueueEvents.removeListener(event, listener);
- };
-}
-
-function getVoiceQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser())
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- case 'agent':
- return User
- .scope('agent')
- .findById(user.userId)
- .then(function(agent) {
- return agent
- .getVoiceQueues({
- attributes: ['name']
- });
- })
- .then(function(agentQueues) {
- return _.map(agentQueues, 'name');
- });
- default:
- return VoiceQueue //the queue has to exist in my motion queues, otherwise is not manageable from the interface (prbably an error didn' t delete the queue from asterisk)
- .findAll()
- .then(function(userQueues) {
- return _.map(userQueues, 'name');
- });
- }
- }
-}
+var _0x3795=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x71\x75\x65\x75\x65\x73\x20\x61\x66\x74\x65\x72\x20\x71\x75\x65\x75\x65\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x71\x75\x65\x75\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x65\x6D\x69\x74","\x74\x68\x65\x6E","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x72\x6F\x77\x73","\x6E\x61\x6D\x65","\x6D\x61\x70","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x73\x63\x6F\x70\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x72\x6F\x6C\x65"];_0x3795[0];const ReportQueueEvents=require(_0x3795[1]);const VoiceQueue=require(_0x3795[3])[_0x3795[2]];const User=require(_0x3795[3])[_0x3795[4]];const Util=require(_0x3795[5]);const _=require(_0x3795[6]);const Promise=require(_0x3795[7]);var events=[_0x3795[8],_0x3795[9],_0x3795[10]];exports[_0x3795[11]]= function(_0x404ax8){for(var _0x404ax9=0,_0x404axa=events[_0x3795[12]];_0x404ax9< _0x404axa;_0x404ax9++){var _0x404axb=events[_0x404ax9];var _0x404axc=createListener(_0x3795[13]+ _0x404axb,_0x404ax8);ReportQueueEvents[_0x3795[14]](_0x404axb,_0x404axc);_0x404ax8[_0x3795[14]](_0x3795[15],removeListener(_0x404axb,_0x404axc))}};function createListener(_0x404axb,_0x404ax8){return function(_0x404axe){switch(_0x404axb){case _0x3795[16]:;case _0x3795[25]:return Promise[_0x3795[24]]([])[_0x3795[23]](getVoiceQueues(_0x404ax8))[_0x3795[23]](function(_0x404ax10){if(_[_0x3795[21]](_0x404ax10,_0x404axe[_0x3795[20]])){_0x404ax8[_0x3795[22]](_0x404axb,_0x404axe)}})[_0x3795[19]](function(_0x404axf){console[_0x3795[18]](_0x3795[17],_0x404axf)});case _0x3795[26]:_0x404ax8[_0x3795[22]](_0x404axb,_0x404axe);break;default:}}}function removeListener(_0x404axb,_0x404axc){return function(){ReportQueueEvents[_0x3795[27]](_0x404axb,_0x404axc)}}function getVoiceQueues(_0x404ax13){return function(){switch(_0x404ax13[_0x3795[40]]){case _0x3795[35]:return User[_0x3795[34]](_0x404ax13[_0x3795[32]],{attributes:[_0x3795[33]]})[_0x3795[23]](Util[_0x3795[31]]())[_0x3795[23]](function(_0x404ax10){return _[_0x3795[30]](_0x404ax10[_0x3795[28]],_0x3795[29])});case _0x3795[37]:return User[_0x3795[38]](_0x3795[37])[_0x3795[34]](_0x404ax13[_0x3795[32]])[_0x3795[23]](function(_0x404ax15){return _0x404ax15[_0x3795[36]]({attributes:[_0x3795[29]]})})[_0x3795[23]](function(_0x404ax14){return _[_0x3795[30]](_0x404ax14,_0x3795[29])});default:return VoiceQueue[_0x3795[39]]()[_0x3795[23]](function(_0x404ax10){return _[_0x3795[30]](_0x404ax10,_0x3795[29])})}}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_sms.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([17], ['admin', 'agent']), controller.index);
-router.get('/:id/accept/:uniqueid', auth.isAuthenticated(), license.hasSms(), auth.hasRole('agent'), controller.accept);
-router.get('/:id/reject', auth.isAuthenticated(), license.hasSms(), auth.hasRole('agent'), controller.reject);
-
-
-
-module.exports = router;
+var _0xb255=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x53\x6D\x73","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x61\x63\x63\x65\x70\x74\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x61\x63\x63\x65\x70\x74","\x2F\x3A\x69\x64\x2F\x72\x65\x6A\x65\x63\x74","\x72\x65\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb255[0];var express=require(_0xb255[1]);var controller=require(_0xb255[2]);var auth=require(_0xb255[3]);var license=require(_0xb255[4]);var router=express.Router();router[_0xb255[12]](_0xb255[5],auth[_0xb255[6]](),license[_0xb255[7]](),auth[_0xb255[10]]([17],[_0xb255[8],_0xb255[9]]),controller[_0xb255[11]]);router[_0xb255[12]](_0xb255[13],auth[_0xb255[6]](),license[_0xb255[7]](),auth[_0xb255[14]](_0xb255[9]),controller[_0xb255[15]]);router[_0xb255[12]](_0xb255[16],auth[_0xb255[6]](),license[_0xb255[7]](),auth[_0xb255[14]](_0xb255[9]),controller[_0xb255[17]]);module[_0xb255[18]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/report/sms -> index
- * POST /api/report/sms -> create
- * GET /api/report/sms/:id -> show
- * PUT /api/report/sms/:id -> update
- * DELETE /api/report/sms/:id -> destroy
- */
-
-'use strict';
-var _ = require('lodash');
-var ReportSms = require('../../models').ReportSms;
-var SmsRoom = require('../../models').SmsRoom;
-var sequelize = require('../../models').sequelize;
-var Agent = require('../../models').User;
-var Util = require('../../config/util');
-var moment = require('moment');
-
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of ReportSmss
-
-
-
-exports.index = function(req, res) {
- return ReportSms
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-// Get a single reportSMS
-exports.accept = function(req, res) {
- var _agent;
- var _roomid = req.params.uniqueid.split('.')[1];
-
- return Agent
- .findById(req.user.id, {
- attributes: ['id', 'smsCapacity']
- })
- .then(function(agent) {
- _agent = agent;
- return agent
- .getSmsRooms({
- where: {
- status: {
- $ne: 'CLOSED'
- },
- id: {
- $ne: _roomid
- }
- },
- attributes: ['id']
- });
- })
- .then(function(smsRooms) {
- return ReportSms
- .findById(req.params.id);
- })
- .then(function(reportSms) {
- if (!reportSms) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(reportSms, {
- connectid: req.params.uniqueid
- });
-
- return updated
- .save();
- })
- .then(function() {
- return SmsRoom
- .update({
- status: 'OPEN',
- openReason: 'agent'
- }, {
- where: {
- id: _roomid
- },
- user: req.user,
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return res.sendStatus(504);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Get a single reportMail
-exports.reject = function(req, res) {
- return ReportSms
- .findById(req.params.id)
- .then(function(reportSms) {
- if (!reportSms) {
- return res.sendStatus(404);
- }
- var updated = _.merge(reportSms, {
- rejectedAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- return updated
- .save();
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new ReportSms in the DB
-// exports.create = function(req, res) {
-// return ReportSms
-// .create(req.body)
-// .then(function(reportSms) {
-// return res.status(201).send(reportSms);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// }
-
-// Updates an existing ReportSms in the DB
-// exports.update = function(req, res) {
-// if (req.body._id) {
-// delete req.body._id;
-// }
-// return ReportSms
-// .findById(req.params.id)
-// .then(function(reportSms) {
-// if (!reportSms) {
-// return res.sendStatus(404);
-// }
-// var updated = _.merge(reportSms, req.body);
-// return updated
-// .save();
-// })
-// .then(function(reportSms) {
-// return res.status(200).send(reportSms);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// }
-//
-// Deletes a ReportSms from the DB
-// exports.destroy = function(req, res) {
-// return ReportSms
-// .findById(req.params.id)
-// .then(function(reportSms) {
-// if (!reportSms) {
-// return res.sendStatus(404);
-// }
-// return reportSms
-// .destroy();
-// })
-// .then(function() {
-// return res.sendStatus(204);
-// })
-// .catch(function(err) {
-// return handleError(res, err);
-// });
-// }
+var _0x6888=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x6D\x73\x52\x6F\x6F\x6D","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x63\x63\x65\x70\x74","\x2E","\x73\x70\x6C\x69\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x4F\x50\x45\x4E","\x61\x67\x65\x6E\x74","\x75\x73\x65\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x43\x4C\x4F\x53\x45\x44","\x67\x65\x74\x53\x6D\x73\x52\x6F\x6F\x6D\x73","\x73\x6D\x73\x43\x61\x70\x61\x63\x69\x74\x79","\x72\x65\x6A\x65\x63\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74"];_0x6888[0];var _=require(_0x6888[1]);var ReportSms=require(_0x6888[3])[_0x6888[2]];var SmsRoom=require(_0x6888[3])[_0x6888[4]];var sequelize=require(_0x6888[3])[_0x6888[5]];var Agent=require(_0x6888[3])[_0x6888[6]];var Util=require(_0x6888[7]);var moment=require(_0x6888[8]);function handleError(_0x77e3x9,_0x77e3xa){return _0x77e3x9[_0x6888[10]](500)[_0x6888[9]](_0x77e3xa)}exports[_0x6888[11]]= function(_0x77e3xb,_0x77e3x9){return ReportSms[_0x6888[16]](Util[_0x6888[15]](_0x77e3xb[_0x6888[14]]))[_0x6888[13]](function(_0x77e3xc){_0x77e3x9[_0x6888[10]](200)[_0x6888[9]](_0x77e3xc)})[_0x6888[12]](function(_0x77e3xa){return handleError(_0x77e3x9,_0x77e3xa)})};exports[_0x6888[17]]= function(_0x77e3xb,_0x77e3x9){var _0x77e3xd;var _0x77e3xe=_0x77e3xb[_0x6888[21]][_0x6888[20]][_0x6888[19]](_0x6888[18])[1];return Agent[_0x6888[30]](_0x77e3xb[_0x6888[25]][_0x6888[29]],{attributes:[_0x6888[29],_0x6888[33]]})[_0x6888[13]](function(_0x77e3x12){_0x77e3xd= _0x77e3x12;return _0x77e3x12[_0x6888[32]]({where:{status:{$ne:_0x6888[31]},id:{$ne:_0x77e3xe}},attributes:[_0x6888[29]]})})[_0x6888[13]](function(_0x77e3x11){return ReportSms[_0x6888[30]](_0x77e3xb[_0x6888[21]][_0x6888[29]])})[_0x6888[13]](function(_0x77e3xf){if(!_0x77e3xf){return _0x77e3x9[_0x6888[22]](404)};var _0x77e3x10=_[_0x6888[27]](_0x77e3xf,{connectid:_0x77e3xb[_0x6888[21]][_0x6888[20]]});return _0x77e3x10[_0x6888[28]]()})[_0x6888[13]](function(){return SmsRoom[_0x6888[26]]({status:_0x6888[23],openReason:_0x6888[24]},{where:{id:_0x77e3xe},user:_0x77e3xb[_0x6888[25]],individualHooks:true})})[_0x6888[13]](function(){return _0x77e3x9[_0x6888[22]](200)})[_0x6888[12]](sequelize.UniqueConstraintError,function(_0x77e3xa){return _0x77e3x9[_0x6888[22]](504)})[_0x6888[12]](function(_0x77e3xa){return handleError(_0x77e3x9,_0x77e3xa)})};exports[_0x6888[34]]= function(_0x77e3xb,_0x77e3x9){return ReportSms[_0x6888[30]](_0x77e3xb[_0x6888[21]][_0x6888[29]])[_0x6888[13]](function(_0x77e3xf){if(!_0x77e3xf){return _0x77e3x9[_0x6888[22]](404)};var _0x77e3x10=_[_0x6888[27]](_0x77e3xf,{rejectedAt:moment()[_0x6888[36]](_0x6888[35])});return _0x77e3x10[_0x6888[28]]()})[_0x6888[13]](function(){return _0x77e3x9[_0x6888[22]](200)})[_0x6888[12]](function(_0x77e3xa){return handleError(_0x77e3x9,_0x77e3xa)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportSms = require('../../models').ReportSms;
-
-var ReportSmsEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportSmsEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportSms.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportSmsEvents.emit(event + ':' + doc._id, doc);
- ReportSmsEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportSmsEvents;
+var _0x7ca3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7ca3[0];const EventEmitter=require(_0x7ca3[1]);const ReportSms=require(_0x7ca3[3])[_0x7ca3[2]];var ReportSmsEvents= new EventEmitter();ReportSmsEvents[_0x7ca3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7ca3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7ca3[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7ca3[7]};for(var e in events){var event=events[e];ReportSms[_0x7ca3[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xca2ex8,_0xca2ex9,_0xca2exa){ReportSmsEvents[_0x7ca3[11]](event+ _0x7ca3[9]+ _0xca2ex8[_0x7ca3[10]],_0xca2ex8);ReportSmsEvents[_0x7ca3[11]](event,_0xca2ex8);_0xca2exa(null)}}module[_0x7ca3[12]]= ReportSmsEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportSmsEvents = require('./report_sms.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_sms:' + event, socket);
-
- ReportSmsEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_sms:save':
- case 'report_sms:update':
- if (socket.name === doc.membername || socket.role === 'admin') {
- socket.emit(event, doc);
- }
- break;
-
- case 'report_sms:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportSmsEvents.removeListener(event, listener);
- };
-}
+var _0x527f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x3A\x73\x61\x76\x65","\x6E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x3A\x75\x70\x64\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x527f[0];const ReportSmsEvents=require(_0x527f[1]);var events=[_0x527f[2],_0x527f[3],_0x527f[4]];exports[_0x527f[5]]= function(_0x13eax3){for(var _0x13eax4=0,_0x13eax5=events[_0x527f[6]];_0x13eax4< _0x13eax5;_0x13eax4++){var _0x13eax6=events[_0x13eax4];var _0x13eax7=createListener(_0x527f[7]+ _0x13eax6,_0x13eax3);ReportSmsEvents[_0x527f[8]](_0x13eax6,_0x13eax7);_0x13eax3[_0x527f[8]](_0x527f[9],removeListener(_0x13eax6,_0x13eax7))}};function createListener(_0x13eax6,_0x13eax3){return function(_0x13eax9){switch(_0x13eax6){case _0x527f[10]:;case _0x527f[16]:if(_0x13eax3[_0x527f[11]]=== _0x13eax9[_0x527f[12]]|| _0x13eax3[_0x527f[13]]=== _0x527f[14]){_0x13eax3[_0x527f[15]](_0x13eax6,_0x13eax9)};break;case _0x527f[17]:_0x13eax3[_0x527f[15]](_0x13eax6,_0x13eax9);break;default:}}}function removeListener(_0x13eax6,_0x13eax7){return function(){ReportSmsEvents[_0x527f[18]](_0x13eax6,_0x13eax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_sms_session.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([17], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasSms(), auth.hasModule([17], ['admin']), controller.describe);
-router.get('/timeout', license.isValidDate(), auth.isAuthenticated(), license.hasSms(), auth.hasModule([17], ['admin']), controller.timeout);
-router.get('/waiting', license.isValidDate(), auth.isAuthenticated(), license.hasSms(), auth.hasModule([17], ['admin']), controller.waiting);
-router.get('/waiting/applications', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin', 'agent']), controller.waitingApplications);
-
-module.exports = router;
+var _0x5289=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x53\x6D\x73","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x74\x69\x6D\x65\x6F\x75\x74","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x2F\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67","\x2F\x77\x61\x69\x74\x69\x6E\x67\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x67\x65\x6E\x74","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x5289[0];var express=require(_0x5289[1]);var controller=require(_0x5289[2]);var auth=require(_0x5289[3]);var license=require(_0x5289[4]);var router=express.Router();router[_0x5289[11]](_0x5289[5],auth[_0x5289[6]](),license[_0x5289[7]](),auth[_0x5289[9]]([17],[_0x5289[8]]),controller[_0x5289[10]]);router[_0x5289[11]](_0x5289[12],auth[_0x5289[6]](),license[_0x5289[7]](),auth[_0x5289[9]]([17],[_0x5289[8]]),controller[_0x5289[13]]);router[_0x5289[11]](_0x5289[14],license[_0x5289[15]](),auth[_0x5289[6]](),license[_0x5289[7]](),auth[_0x5289[9]]([17],[_0x5289[8]]),controller[_0x5289[16]]);router[_0x5289[11]](_0x5289[17],license[_0x5289[15]](),auth[_0x5289[6]](),license[_0x5289[7]](),auth[_0x5289[9]]([17],[_0x5289[8]]),controller[_0x5289[18]]);router[_0x5289[11]](_0x5289[19],auth[_0x5289[6]](),license[_0x5289[7]](),auth[_0x5289[9]]([11],[_0x5289[8],_0x5289[20]]),controller[_0x5289[21]]);module[_0x5289[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportSmsSession = require('../../models').ReportSmsSession;
-var ReportSmsSessionHistory = require('../../models').history.ReportSmsSessionHistory;
-
-var Util = require('../../config/util');
-var User = require('../../models').User;
-var Promise = require('bluebird');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return ReportSmsSession
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportSmsSessionHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getSmsQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- };
- });
- case 'agent':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getSmsQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-// Get timeout apps
-exports.timeout = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return ReportSmsSession
- .count(Util.getQuery(req.query, _.merge({
- timeout: true
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get waiting apps
-exports.waiting = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return ReportSmsSession
- .count(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.waitingApplications = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return ReportSmsSession
- .findAll(Util.getQuery(req.query, _.merge({
- leaveAt: null
- }, condition)));
- })
- .then(function(data) {
- return res.status(200).send({
- rows: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xc3ac=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72","\x62\x6C\x75\x65\x62\x69\x72\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x77\x61\x69\x74\x69\x6E\x67","\x77\x61\x69\x74\x69\x6E\x67\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xc3ac[0];var _=require(_0xc3ac[1]);var ReportSmsSession=require(_0xc3ac[3])[_0xc3ac[2]];var ReportSmsSessionHistory=require(_0xc3ac[3])[_0xc3ac[5]][_0xc3ac[4]];var Util=require(_0xc3ac[6]);var User=require(_0xc3ac[3])[_0xc3ac[7]];var Promise=require(_0xc3ac[8]);exports[_0xc3ac[9]]= function(_0x514dx7,_0x514dx8,_0x514dx9){return ReportSmsSession[_0xc3ac[16]](Util[_0xc3ac[15]](_0x514dx7[_0xc3ac[14]]))[_0xc3ac[13]](function(_0x514dxb){_0x514dx8[_0xc3ac[12]](200)[_0xc3ac[11]](_0x514dxb)})[_0xc3ac[10]](function(_0x514dxa){return handleError(_0x514dx8,_0x514dxa)})};exports[_0xc3ac[17]]= function(_0x514dx7,_0x514dx8){return ReportSmsSessionHistory[_0xc3ac[17]]()[_0xc3ac[13]](function(_0x514dxc){return _0x514dx8[_0xc3ac[12]](200)[_0xc3ac[11]](_0x514dxc)})[_0xc3ac[10]](function(_0x514dxa){return handleError(_0x514dx8,_0x514dxa)})};function getSmsQueues(_0x514dxe){return function(){switch(_0x514dxe[_0xc3ac[28]]){case _0xc3ac[25]:return User[_0xc3ac[24]](_0x514dxe[_0xc3ac[18]],{attributes:[_0xc3ac[18]]})[_0xc3ac[13]](Util[_0xc3ac[23]]({},{attributes:[_0xc3ac[18]],include:[{raw:true,model:User,attributes:[_0xc3ac[18]]}]}))[_0xc3ac[13]](function(_0x514dxf){var _0x514dx10=[];_0x514dxf[_0xc3ac[22]][_0xc3ac[21]](function(_0x514dx11){_0x514dx10= _[_0xc3ac[20]](_0x514dx10,_[_0xc3ac[19]](_0x514dx11.Users,_0xc3ac[18]))});return {$or:{queue:_[_0xc3ac[19]](_0x514dxf[_0xc3ac[22]],_0xc3ac[18]),memberid:_0x514dx10}}});case _0xc3ac[27]:return User[_0xc3ac[24]](_0x514dxe[_0xc3ac[18]],{attributes:[_0xc3ac[18]]})[_0xc3ac[13]](function(_0x514dx12){return _0x514dx12[_0xc3ac[26]]({attributes:[_0xc3ac[18]]})})[_0xc3ac[13]](function(_0x514dxf){return {$or:{queue:_[_0xc3ac[19]](_0x514dxf,_0xc3ac[18]),memberid:_0x514dxe[_0xc3ac[18]]}}});default:return {}}}}exports[_0xc3ac[29]]= function(_0x514dx7,_0x514dx8){return Promise[_0xc3ac[33]]([])[_0xc3ac[13]](getSmsQueues(_0x514dx7[_0xc3ac[25]]))[_0xc3ac[13]](function(_0x514dx14){return ReportSmsSession[_0xc3ac[32]](Util[_0xc3ac[15]](_0x514dx7[_0xc3ac[14]],_[_0xc3ac[31]]({timeout:true},_0x514dx14)))})[_0xc3ac[13]](function(_0x514dx13){return _0x514dx8[_0xc3ac[12]](200)[_0xc3ac[11]]({value:_0x514dx13})})[_0xc3ac[10]](function(_0x514dxa){console[_0xc3ac[30]](_0x514dxa);return handleError(_0x514dx8,_0x514dxa)})};exports[_0xc3ac[34]]= function(_0x514dx7,_0x514dx8){return Promise[_0xc3ac[33]]([])[_0xc3ac[13]](getSmsQueues(_0x514dx7[_0xc3ac[25]]))[_0xc3ac[13]](function(_0x514dx14){return ReportSmsSession[_0xc3ac[32]](Util[_0xc3ac[15]](_0x514dx7[_0xc3ac[14]],_[_0xc3ac[31]]({leaveAt:null},_0x514dx14)))})[_0xc3ac[13]](function(_0x514dx13){return _0x514dx8[_0xc3ac[12]](200)[_0xc3ac[11]]({value:_0x514dx13})})[_0xc3ac[10]](function(_0x514dxa){console[_0xc3ac[30]](_0x514dxa);return handleError(_0x514dx8,_0x514dxa)})};exports[_0xc3ac[35]]= function(_0x514dx7,_0x514dx8){return Promise[_0xc3ac[33]]([])[_0xc3ac[13]](getSmsQueues(_0x514dx7[_0xc3ac[25]]))[_0xc3ac[13]](function(_0x514dx14){return ReportSmsSession[_0xc3ac[36]](Util[_0xc3ac[15]](_0x514dx7[_0xc3ac[14]],_[_0xc3ac[31]]({leaveAt:null},_0x514dx14)))})[_0xc3ac[13]](function(_0x514dx13){return _0x514dx8[_0xc3ac[12]](200)[_0xc3ac[11]]({rows:_0x514dx13})})[_0xc3ac[10]](function(_0x514dxa){console[_0xc3ac[30]](_0x514dxa);return handleError(_0x514dx8,_0x514dxa)})};function handleError(_0x514dx8,_0x514dxa){return _0x514dx8[_0xc3ac[12]](500)[_0xc3ac[11]](_0x514dxa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportSmsSession = require('../../models').ReportSmsSession;
-
-var ReportSmsSessionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportSmsSessionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportSmsSession.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportSmsSessionEvents.emit(event + ':' + doc._id, doc);
- ReportSmsSessionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportSmsSessionEvents;
+var _0xcdce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73\x53\x65\x73\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xcdce[0];const EventEmitter=require(_0xcdce[1]);const ReportSmsSession=require(_0xcdce[3])[_0xcdce[2]];var ReportSmsSessionEvents= new EventEmitter();ReportSmsSessionEvents[_0xcdce[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xcdce[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xcdce[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xcdce[6]};for(var e in events){var event=events[e];ReportSmsSession[_0xcdce[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x60c6x8,_0x60c6x9,_0x60c6xa){ReportSmsSessionEvents[_0xcdce[10]](event+ _0xcdce[8]+ _0x60c6x8[_0xcdce[9]],_0x60c6x8);ReportSmsSessionEvents[_0xcdce[10]](event,_0x60c6x8);_0x60c6xa(null)}}module[_0xcdce[11]]= ReportSmsSessionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportSmsSessionEvents = require('./report_sms_session.events');
-const User = require('../../models').User;
-const Util = require('../../config/util');
-const _ = require('lodash');
-const Promise = require('bluebird');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_sms_session:' + event, socket);
-
- ReportSmsSessionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_sms_session:save':
- return Promise
- .all([])
- .then(getSmsQueues(socket))
- .then(function(condition) {
- if (socket.role === 'admin' || _.includes(condition.memberid, doc.memberid) || _.includes(condition.queue, doc.queue)) {
- socket.emit(event, doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering report sms sessions after save', err);
- });
- case 'report_sms_session:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportSmsSessionEvents.removeListener(event, listener);
- };
-}
-
-function getSmsQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- };
- });
- case 'agent':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getSmsQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- queue: _.map(userQueues, 'id'),
- memberid: user.userId
- };
- });
- default:
- return {};
- }
- }
-}
+var _0xf14a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x20\x73\x6D\x73\x20\x73\x65\x73\x73\x69\x6F\x6E\x73\x20\x61\x66\x74\x65\x72\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x72\x6F\x6C\x65","\x61\x64\x6D\x69\x6E","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x71\x75\x65\x75\x65","\x65\x6D\x69\x74","\x74\x68\x65\x6E","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x73\x61\x76\x65","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74"];_0xf14a[0];const ReportSmsSessionEvents=require(_0xf14a[1]);const User=require(_0xf14a[3])[_0xf14a[2]];const Util=require(_0xf14a[4]);const _=require(_0xf14a[5]);const Promise=require(_0xf14a[6]);var events=[_0xf14a[7],_0xf14a[8]];exports[_0xf14a[9]]= function(_0xa769x7){for(var _0xa769x8=0,_0xa769x9=events[_0xf14a[10]];_0xa769x8< _0xa769x9;_0xa769x8++){var _0xa769xa=events[_0xa769x8];var _0xa769xb=createListener(_0xf14a[11]+ _0xa769xa,_0xa769x7);ReportSmsSessionEvents[_0xf14a[12]](_0xa769xa,_0xa769xb);_0xa769x7[_0xf14a[12]](_0xf14a[13],removeListener(_0xa769xa,_0xa769xb))}};function createListener(_0xa769xa,_0xa769x7){return function(_0xa769xd){switch(_0xa769xa){case _0xf14a[25]:return Promise[_0xf14a[24]]([])[_0xf14a[23]](getSmsQueues(_0xa769x7))[_0xf14a[23]](function(_0xa769xf){if(_0xa769x7[_0xf14a[17]]=== _0xf14a[18]|| _[_0xf14a[20]](_0xa769xf[_0xf14a[19]],_0xa769xd[_0xf14a[19]])|| _[_0xf14a[20]](_0xa769xf[_0xf14a[21]],_0xa769xd[_0xf14a[21]])){_0xa769x7[_0xf14a[22]](_0xa769xa,_0xa769xd)}})[_0xf14a[16]](function(_0xa769xe){console[_0xf14a[15]](_0xf14a[14],_0xa769xe)});case _0xf14a[26]:_0xa769x7[_0xf14a[22]](_0xa769xa,_0xa769xd);break;default:}}}function removeListener(_0xa769xa,_0xa769xb){return function(){ReportSmsSessionEvents[_0xf14a[27]](_0xa769xa,_0xa769xb)}}function getSmsQueues(_0xa769x12){return function(){switch(_0xa769x12[_0xf14a[17]]){case _0xf14a[36]:return User[_0xf14a[35]](_0xa769x12[_0xf14a[34]],{attributes:[_0xf14a[28]]})[_0xf14a[23]](Util[_0xf14a[33]]({},{attributes:[_0xf14a[28]],include:[{raw:true,model:User,attributes:[_0xf14a[28]]}]}))[_0xf14a[23]](function(_0xa769x13){var _0xa769x14=[];_0xa769x13[_0xf14a[32]][_0xf14a[31]](function(_0xa769x15){_0xa769x14= _[_0xf14a[30]](_0xa769x14,_[_0xf14a[29]](_0xa769x15.Users,_0xf14a[28]))});return {queue:_[_0xf14a[29]](_0xa769x13[_0xf14a[32]],_0xf14a[28]),memberid:_0xa769x14}});case _0xf14a[38]:return User[_0xf14a[35]](_0xa769x12[_0xf14a[34]],{attributes:[_0xf14a[28]]})[_0xf14a[23]](function(_0xa769x16){return _0xa769x16[_0xf14a[37]]({attributes:[_0xf14a[28]]})})[_0xf14a[23]](function(_0xa769x13){return {queue:_[_0xf14a[29]](_0xa769x13,_0xf14a[28]),memberid:_0xa769x12[_0xf14a[34]]}});default:return {}}}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_square.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.describe);
-router.get('/realtime', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.realtime);
-router.get('/show', auth.isAuthenticated(), auth.hasModule([14], ['admin', 'agent']), controller.show);
-
-module.exports = router;
+var _0x7fbb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x2F\x73\x68\x6F\x77","\x61\x67\x65\x6E\x74","\x73\x68\x6F\x77","\x65\x78\x70\x6F\x72\x74\x73"];_0x7fbb[0];var express=require(_0x7fbb[1]);var controller=require(_0x7fbb[2]);var auth=require(_0x7fbb[3]);var router=express.Router();router[_0x7fbb[9]](_0x7fbb[4],auth[_0x7fbb[5]](),auth[_0x7fbb[7]]([14],[_0x7fbb[6]]),controller[_0x7fbb[8]]);router[_0x7fbb[9]](_0x7fbb[10],auth[_0x7fbb[5]](),auth[_0x7fbb[7]]([14],[_0x7fbb[6]]),controller[_0x7fbb[11]]);router[_0x7fbb[9]](_0x7fbb[12],auth[_0x7fbb[5]](),auth[_0x7fbb[7]]([14],[_0x7fbb[6]]),controller[_0x7fbb[13]]);router[_0x7fbb[9]](_0x7fbb[14],auth[_0x7fbb[5]](),auth[_0x7fbb[7]]([14],[_0x7fbb[6],_0x7fbb[15]]),controller[_0x7fbb[16]]);module[_0x7fbb[17]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportSquare = require('../../models').ReportSquare;
-var ReportSquareHistory = require('../../models').history.ReportSquareHistory;
-var Util = require('../../config/util');
-
-// Get list of report_square
-exports.index = function(req, res, next) {
- return generalIndex(req, res, next);
-};
-
-exports.realtime = function(req, res, next) {
- return generalIndex(req, res, next, {
- leaveAt: null
- });
-};
-
-function generalIndex(req, res, next, extraWhere) {
- return ReportSquare
- .findAndCountAll(Util.getQuery(req.query, extraWhere || {}))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportSquareHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.show = function(req, res) {
- return ReportSquare
- .findOne({
- where: {
- uniqueid: req.query.uniqueid
- }
- })
- .then(function(report) {
- if (report) {
- return report;
- }
- return ReportSquareHistory
- .findOne({
- where: {
- uniqueid: req.query.uniqueid
- }
- })
- })
- .then(function(report) {
- if (!report) {
- return res.sendStatus(404);
- }
- return res.status(200).send(report);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x4491=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65"];_0x4491[0];var _=require(_0x4491[1]);var ReportSquare=require(_0x4491[3])[_0x4491[2]];var ReportSquareHistory=require(_0x4491[3])[_0x4491[5]][_0x4491[4]];var Util=require(_0x4491[6]);exports[_0x4491[7]]= function(_0xaa34x5,_0xaa34x6,_0xaa34x7){return generalIndex(_0xaa34x5,_0xaa34x6,_0xaa34x7)};exports[_0x4491[8]]= function(_0xaa34x5,_0xaa34x6,_0xaa34x7){return generalIndex(_0xaa34x5,_0xaa34x6,_0xaa34x7,{leaveAt:null})};function generalIndex(_0xaa34x5,_0xaa34x6,_0xaa34x7,_0xaa34x9){return ReportSquare[_0x4491[15]](Util[_0x4491[14]](_0xaa34x5[_0x4491[13]],_0xaa34x9|| {}))[_0x4491[12]](function(_0xaa34xb){return _0xaa34x6[_0x4491[11]](200)[_0x4491[10]](_0xaa34xb)})[_0x4491[9]](function(_0xaa34xa){return handleError(_0xaa34x6,_0xaa34xa)})}exports[_0x4491[16]]= function(_0xaa34x5,_0xaa34x6){return ReportSquareHistory[_0x4491[16]]()[_0x4491[12]](function(_0xaa34xc){return _0xaa34x6[_0x4491[11]](200)[_0x4491[10]](_0xaa34xc)})[_0x4491[9]](function(_0xaa34xa){return handleError(_0xaa34x6,_0xaa34xa)})};exports[_0x4491[17]]= function(_0xaa34x5,_0xaa34x6){return ReportSquare[_0x4491[20]]({where:{uniqueid:_0xaa34x5[_0x4491[13]][_0x4491[19]]}})[_0x4491[12]](function(_0xaa34xd){if(_0xaa34xd){return _0xaa34xd};return ReportSquareHistory[_0x4491[20]]({where:{uniqueid:_0xaa34x5[_0x4491[13]][_0x4491[19]]}})})[_0x4491[12]](function(_0xaa34xd){if(!_0xaa34xd){return _0xaa34x6[_0x4491[18]](404)};return _0xaa34x6[_0x4491[11]](200)[_0x4491[10]](_0xaa34xd)})[_0x4491[9]](function(_0xaa34xa){return handleError(_0xaa34x6,_0xaa34xa)})};function handleError(_0xaa34x6,_0xaa34xa){return _0xaa34x6[_0x4491[11]](500)[_0x4491[10]](_0xaa34xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportSquare = require('../../models').ReportSquare;
-
-var ReportSquareEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportSquareEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportSquare.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportSquareEvents.emit(event + ':' + doc._id, doc);
- ReportSquareEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportSquareEvents;
+var _0xa56d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xa56d[0];const EventEmitter=require(_0xa56d[1]);const ReportSquare=require(_0xa56d[3])[_0xa56d[2]];var ReportSquareEvents= new EventEmitter();ReportSquareEvents[_0xa56d[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xa56d[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xa56d[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xa56d[6]};for(var e in events){var event=events[e];ReportSquare[_0xa56d[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc442x8,_0xc442x9,_0xc442xa){ReportSquareEvents[_0xa56d[10]](event+ _0xa56d[8]+ _0xc442x8[_0xa56d[9]],_0xc442x8);ReportSquareEvents[_0xa56d[10]](event,_0xc442x8);_0xc442xa(null)}}module[_0xa56d[11]]= ReportSquareEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportSquareEvents = require('./report_square.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_square:' + event, socket);
-
- ReportSquareEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_square:save':
- if (socket.role !== 'agent') {
- socket.emit(event, doc);
- }
- break;
- case 'report_square:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportSquareEvents.removeListener(event, listener);
- };
-}
+var _0xcacb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x3A\x73\x61\x76\x65","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xcacb[0];const ReportSquareEvents=require(_0xcacb[1]);var events=[_0xcacb[2],_0xcacb[3]];exports[_0xcacb[4]]= function(_0xb5cbx3){for(var _0xb5cbx4=0,_0xb5cbx5=events[_0xcacb[5]];_0xb5cbx4< _0xb5cbx5;_0xb5cbx4++){var _0xb5cbx6=events[_0xb5cbx4];var _0xb5cbx7=createListener(_0xcacb[6]+ _0xb5cbx6,_0xb5cbx3);ReportSquareEvents[_0xcacb[7]](_0xb5cbx6,_0xb5cbx7);_0xb5cbx3[_0xcacb[7]](_0xcacb[8],removeListener(_0xb5cbx6,_0xb5cbx7))}};function createListener(_0xb5cbx6,_0xb5cbx3){return function(_0xb5cbx9){switch(_0xb5cbx6){case _0xcacb[12]:if(_0xb5cbx3[_0xcacb[9]]!== _0xcacb[10]){_0xb5cbx3[_0xcacb[11]](_0xb5cbx6,_0xb5cbx9)};break;case _0xcacb[13]:_0xb5cbx3[_0xcacb[11]](_0xb5cbx6,_0xb5cbx9);break;default:}}}function removeListener(_0xb5cbx6,_0xb5cbx7){return function(){ReportSquareEvents[_0xcacb[14]](_0xb5cbx6,_0xb5cbx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_square_detail.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.describe);
-router.get('/realtime', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.realtime);
-
-module.exports = router;
+var _0x8acd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8acd[0];var express=require(_0x8acd[1]);var controller=require(_0x8acd[2]);var auth=require(_0x8acd[3]);var router=express.Router();router[_0x8acd[9]](_0x8acd[4],auth[_0x8acd[5]](),auth[_0x8acd[7]]([14],[_0x8acd[6]]),controller[_0x8acd[8]]);router[_0x8acd[9]](_0x8acd[10],auth[_0x8acd[5]](),auth[_0x8acd[7]]([14],[_0x8acd[6]]),controller[_0x8acd[11]]);router[_0x8acd[9]](_0x8acd[12],auth[_0x8acd[5]](),auth[_0x8acd[7]]([14],[_0x8acd[6]]),controller[_0x8acd[13]]);module[_0x8acd[14]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ReportSquareDetail = require('../../models').ReportSquareDetail;
-var ReportSquareDetailHistory = require('../../models').history.ReportSquareDetailHistory;
-var Util = require('../../config/util');
-
-// Get list of report_square
-exports.index = function(req, res, next) {
- return generalIndex(req, res, next);
-};
-
-exports.realtime = function(req, res, next) {
- return generalIndex(req, res, next, {
- leaveAt: null
- });
-};
-
-function generalIndex(req, res, next, extraWhere) {
- return ReportSquareDetail
- .findAndCountAll(Util.getQuery(req.query, extraWhere || {}))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Get list of fields
-exports.describe = function(req, res) {
- return ReportSquareDetailHistory
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xf756=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65"];_0xf756[0];var _=require(_0xf756[1]);var ReportSquareDetail=require(_0xf756[3])[_0xf756[2]];var ReportSquareDetailHistory=require(_0xf756[3])[_0xf756[5]][_0xf756[4]];var Util=require(_0xf756[6]);exports[_0xf756[7]]= function(_0x56d1x5,_0x56d1x6,_0x56d1x7){return generalIndex(_0x56d1x5,_0x56d1x6,_0x56d1x7)};exports[_0xf756[8]]= function(_0x56d1x5,_0x56d1x6,_0x56d1x7){return generalIndex(_0x56d1x5,_0x56d1x6,_0x56d1x7,{leaveAt:null})};function generalIndex(_0x56d1x5,_0x56d1x6,_0x56d1x7,_0x56d1x9){return ReportSquareDetail[_0xf756[15]](Util[_0xf756[14]](_0x56d1x5[_0xf756[13]],_0x56d1x9|| {}))[_0xf756[12]](function(_0x56d1xb){return _0x56d1x6[_0xf756[11]](200)[_0xf756[10]](_0x56d1xb)})[_0xf756[9]](function(_0x56d1xa){return handleError(_0x56d1x6,_0x56d1xa)})}exports[_0xf756[16]]= function(_0x56d1x5,_0x56d1x6){return ReportSquareDetailHistory[_0xf756[16]]()[_0xf756[12]](function(_0x56d1xc){return _0x56d1x6[_0xf756[11]](200)[_0xf756[10]](_0x56d1xc)})[_0xf756[9]](function(_0x56d1xa){return handleError(_0x56d1x6,_0x56d1xa)})};function handleError(_0x56d1x6,_0x56d1xa){return _0x56d1x6[_0xf756[11]](500)[_0xf756[10]](_0x56d1xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportSquareDetail = require('../../models').ReportSquareDetail;
-
-var ReportSquareDetailEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportSquareDetailEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportSquareDetail.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportSquareDetailEvents.emit(event + ':' + doc._id, doc);
- ReportSquareDetailEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportSquareDetailEvents;
+var _0x10c8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x10c8[0];const EventEmitter=require(_0x10c8[1]);const ReportSquareDetail=require(_0x10c8[3])[_0x10c8[2]];var ReportSquareDetailEvents= new EventEmitter();ReportSquareDetailEvents[_0x10c8[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x10c8[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x10c8[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x10c8[6]};for(var e in events){var event=events[e];ReportSquareDetail[_0x10c8[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x2d0fx8,_0x2d0fx9,_0x2d0fxa){ReportSquareDetailEvents[_0x10c8[10]](event+ _0x10c8[8]+ _0x2d0fx8[_0x10c8[9]],_0x2d0fx8);ReportSquareDetailEvents[_0x10c8[10]](event,_0x2d0fx8);_0x2d0fxa(null)}}module[_0x10c8[11]]= ReportSquareDetailEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportSquareDetailEvents = require('./report_square_detail.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_square_detail:' + event, socket);
-
- ReportSquareDetailEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'report_square_detail:save':
- if (socket.role !== 'agent') {
- socket.emit(event, doc);
- }
- break;
-
- case 'report_square_detail:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportSquareDetailEvents.removeListener(event, listener);
- };
-}
+var _0x5dc6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x65\x6D\x69\x74","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x3A\x73\x61\x76\x65","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5dc6[0];const ReportSquareDetailEvents=require(_0x5dc6[1]);var events=[_0x5dc6[2],_0x5dc6[3]];exports[_0x5dc6[4]]= function(_0x2233x3){for(var _0x2233x4=0,_0x2233x5=events[_0x5dc6[5]];_0x2233x4< _0x2233x5;_0x2233x4++){var _0x2233x6=events[_0x2233x4];var _0x2233x7=createListener(_0x5dc6[6]+ _0x2233x6,_0x2233x3);ReportSquareDetailEvents[_0x5dc6[7]](_0x2233x6,_0x2233x7);_0x2233x3[_0x5dc6[7]](_0x5dc6[8],removeListener(_0x2233x6,_0x2233x7))}};function createListener(_0x2233x6,_0x2233x3){return function(_0x2233x9){switch(_0x2233x6){case _0x5dc6[12]:if(_0x2233x3[_0x5dc6[9]]!== _0x5dc6[10]){_0x2233x3[_0x5dc6[11]](_0x2233x6,_0x2233x9)};break;case _0x5dc6[13]:_0x2233x3[_0x5dc6[11]](_0x2233x6,_0x2233x9);break;default:}}}function removeListener(_0x2233x6,_0x2233x7){return function(){ReportSquareDetailEvents[_0x5dc6[14]](_0x2233x6,_0x2233x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./report_tree.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.index);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.update);
-
-module.exports = router;
+var _0x4feb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4feb[0];var express=require(_0x4feb[1]);var controller=require(_0x4feb[2]);var auth=require(_0x4feb[3]);var router=express.Router();router[_0x4feb[9]](_0x4feb[4],auth[_0x4feb[5]](),auth[_0x4feb[7]]([17],[_0x4feb[6]]),controller[_0x4feb[8]]);router[_0x4feb[12]](_0x4feb[10],auth[_0x4feb[5]](),auth[_0x4feb[7]]([17],[_0x4feb[6]]),controller[_0x4feb[11]]);module[_0x4feb[13]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var ReportTree = require('../../models').ReportTree;
-
-// Get the reports trees
-exports.index = function(req, res) {
- return ReportTree
- .findAll()
- .then(function(trees) {
- if (!trees) {
- return res.sendStatus(404);
- }
- return res.status(200).send(trees);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing report in the DB.
-exports.update = function(req, res) {
- return ReportTree
- .findById(req.params.id)
- .then(function(tree) {
- if (!tree) {
- return res.sendStatus(404);
- }
- var updated = _.merge(tree, req.body);
- return updated.save();
- })
- .then(function(tree) {
- return res.status(200).send(tree);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xeb78=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0xeb78[0];var _=require(_0xeb78[1]);var util=require(_0xeb78[2]);var ReportTree=require(_0xeb78[4])[_0xeb78[3]];exports[_0xeb78[5]]= function(_0x8d84x4,_0x8d84x5){return ReportTree[_0xeb78[11]]()[_0xeb78[10]](function(_0x8d84x7){if(!_0x8d84x7){return _0x8d84x5[_0xeb78[7]](404)};return _0x8d84x5[_0xeb78[9]](200)[_0xeb78[8]](_0x8d84x7)})[_0xeb78[6]](function(_0x8d84x6){return handleError(_0x8d84x5,_0x8d84x6)})};exports[_0xeb78[12]]= function(_0x8d84x4,_0x8d84x5){return ReportTree[_0xeb78[18]](_0x8d84x4[_0xeb78[17]][_0xeb78[16]])[_0xeb78[10]](function(_0x8d84x8){if(!_0x8d84x8){return _0x8d84x5[_0xeb78[7]](404)};var _0x8d84x9=_[_0xeb78[14]](_0x8d84x8,_0x8d84x4[_0xeb78[13]]);return _0x8d84x9[_0xeb78[15]]()})[_0xeb78[10]](function(_0x8d84x8){return _0x8d84x5[_0xeb78[9]](200)[_0xeb78[8]](_0x8d84x8)})[_0xeb78[6]](function(_0x8d84x6){return handleError(_0x8d84x5,_0x8d84x6)})};function handleError(_0x8d84x5,_0x8d84x6){return _0x8d84x5[_0xeb78[9]](500)[_0xeb78[8]](_0x8d84x6)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ReportTree = require('../../models').ReportTree;
-
-var ReportTreeEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ReportTreeEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ReportTree.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ReportTreeEvents.emit(event + ':' + doc._id, doc);
- ReportTreeEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ReportTreeEvents;
+var _0x9031=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9031[0];const EventEmitter=require(_0x9031[1]);const ReportTree=require(_0x9031[3])[_0x9031[2]];var ReportTreeEvents= new EventEmitter();ReportTreeEvents[_0x9031[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x9031[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x9031[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x9031[6]};for(var e in events){var event=events[e];ReportTree[_0x9031[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x75a7x8,_0x75a7x9,_0x75a7xa){ReportTreeEvents[_0x9031[10]](event+ _0x9031[8]+ _0x75a7x8[_0x9031[9]],_0x75a7x8);ReportTreeEvents[_0x9031[10]](event,_0x75a7x8);_0x75a7xa(null)}}module[_0x9031[11]]= ReportTreeEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ReportTreeEvents = require('./report_tree.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('report_tree:' + event, socket);
-
- ReportTreeEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ReportTreeEvents.removeListener(event, listener);
- };
-}
+var _0x5e0c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5e0c[0];const ReportTreeEvents=require(_0x5e0c[1]);var events=[_0x5e0c[2],_0x5e0c[3]];exports[_0x5e0c[4]]= function(_0x3de0x3){for(var _0x3de0x4=0,_0x3de0x5=events[_0x5e0c[5]];_0x3de0x4< _0x3de0x5;_0x3de0x4++){var _0x3de0x6=events[_0x3de0x4];var _0x3de0x7=createListener(_0x5e0c[6]+ _0x3de0x6,_0x3de0x3);ReportTreeEvents[_0x5e0c[7]](_0x3de0x6,_0x3de0x7);_0x3de0x3[_0x5e0c[7]](_0x5e0c[8],removeListener(_0x3de0x6,_0x3de0x7))}};function createListener(_0x3de0x6,_0x3de0x3){return function(_0x3de0x9){_0x3de0x3[_0x5e0c[9]](_0x3de0x6,_0x3de0x9)}}function removeListener(_0x3de0x6,_0x3de0x7){return function(){ReportTreeEvents[_0x5e0c[10]](_0x3de0x6,_0x3de0x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./salesforce_account.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19, 13], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.get('/:id/check', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.checkAccount);
-router.get('/:id/fields', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getFields);
-router.get('/:id/configurations', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getAccountConfigurations);
-router.get('/:id/configurations/:cid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getConfiguration);
-router.post('/validate/:field', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.accountValidation);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.post('/:id/configurations', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.createConfiguration);
-router.post('/:id/configurations/:cid/:type', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.createField);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.put('/:id/configurations/:cid/fields/:fid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.updateField);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-router.delete('/:id/configurations', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.bulkDestroyConfigurations);
-router.delete('/:id/configurations/:cid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroyConfiguration);
-router.delete('/:id/configurations/:cid/fields/:fid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroyField);
-
-
-module.exports = router;
+var _0xd1c0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74\x41\x63\x63\x6F\x75\x6E\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64","\x67\x65\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64\x2F\x3A\x74\x79\x70\x65","\x63\x72\x65\x61\x74\x65\x46\x69\x65\x6C\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x66\x69\x64","\x75\x70\x64\x61\x74\x65\x46\x69\x65\x6C\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x46\x69\x65\x6C\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0xd1c0[0];var express=require(_0xd1c0[1]);var auth=require(_0xd1c0[2]);var controller=require(_0xd1c0[3]);var router=express.Router();router[_0xd1c0[9]](_0xd1c0[4],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19,13],[_0xd1c0[6]]),controller[_0xd1c0[8]]);router[_0xd1c0[9]](_0xd1c0[10],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[11]]);router[_0xd1c0[9]](_0xd1c0[12],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[13]]);router[_0xd1c0[9]](_0xd1c0[14],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[15]]);router[_0xd1c0[9]](_0xd1c0[16],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[17]]);router[_0xd1c0[9]](_0xd1c0[18],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[19]]);router[_0xd1c0[22]](_0xd1c0[20],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[21]]);router[_0xd1c0[22]](_0xd1c0[4],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[23]]);router[_0xd1c0[22]](_0xd1c0[16],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[24]]);router[_0xd1c0[22]](_0xd1c0[25],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[26]]);router[_0xd1c0[28]](_0xd1c0[10],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[27]]);router[_0xd1c0[28]](_0xd1c0[29],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[30]]);router[_0xd1c0[32]](_0xd1c0[4],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[31]]);router[_0xd1c0[32]](_0xd1c0[10],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[33]]);router[_0xd1c0[32]](_0xd1c0[16],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[34]]);router[_0xd1c0[32]](_0xd1c0[18],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[35]]);router[_0xd1c0[32]](_0xd1c0[29],auth[_0xd1c0[5]](),auth[_0xd1c0[7]]([19],[_0xd1c0[6]]),controller[_0xd1c0[36]]);module[_0xd1c0[37]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/salesforce/accounts -> index
- * POST /api/salesforce/accounts -> create
- * GET /api/salesforce/accounts/:id -> show
- * PUT /api/salesforce/accounts/:id -> update
- * DELETE /api/salesforce/accounts/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var util = require('util');
-var jsforce = require('jsforce');
-var Util = require('../../config/util');
-
-var SalesforceAccount = require('../../models').SalesforceAccount;
-var SalesforceConfiguration = require('../../models').SalesforceConfiguration;
-var SalesforceField = require('../../models').SalesforceField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of SalesforceAccounts
-exports.index = function(req, res, next) {
- return SalesforceAccount
- .scope('configurations')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(responseWithResult(res))
- .catch(handleError(res));
-};
-
-// Gets a single SalesforceAccount from the DB
-exports.show = function(req, res) {
- return SalesforceAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SalesforceAccount in the DB
-exports.create = function(req, res) {
- return SalesforceAccount
- .create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SalesforceAccount in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SalesforceAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SalesforceAccount from the DB
-exports.destroy = function(req, res) {
- return SalesforceAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.bulkDestroy = function(req, res) {
- return SalesforceAccount
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithResult(res, 204))
- .catch(handleError(res));
-};
-
-exports.checkAccount = function(req, res) {
- return SalesforceAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(account) {
- var conn = new jsforce.Connection({
- oauth2: {
- loginUrl: account.remoteUri,
- clientId: account.clientId,
- clientSecret: account.clientSecret,
- }
- });
- var pwd = account.password.concat(account.securityToken);
- conn.login(account.username, pwd, function(err, userInfo) {
- if (err) {
- return res.status(400).send(err);
- }
- return res.sendStatus(200);
- });
- })
- .catch(handleError(res));
-}
-
-exports.accountValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
- return SalesforceAccount
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getFields = function(req, res) {
- return SalesforceAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(account) {
- var conn = new jsforce.Connection({
- oauth2: {
- loginUrl: account.remoteUri,
- clientId: account.clientId,
- clientSecret: account.clientSecret,
- }
- });
- var pwd = account.password.concat(account.securityToken);
- conn.login(account.username, pwd, function(err, userInfo) {
- if (err) {
- return res.status(400).send(err);
- }
- conn.sobject("Task").describe(function(err, meta) {
- if (err) {
- return res.status(400).send(err);
- }
- return res.status(200).send(meta.fields);
- });
- });
- })
- .catch(handleError(res));
-};
-
-exports.getAccountConfigurations = function(req, res) {
- return SalesforceConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-exports.getConfiguration = function(req, res) {
-
- return SalesforceConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-exports.destroyConfiguration = function(req, res) {
- return SalesforceConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-};
-
-exports.bulkDestroyConfigurations = function(req, res) {
- return SalesforceConfiguration
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithResult(res, 204))
- .catch(handleError(res));
-};
-
-exports.createConfiguration = function(req, res) {
- req.body['AccountId'] = req.params.id;
-
- switch (req.body.channel) {
- case 'voice':
-
- if (req.body.type === 'Queue') {
- req.body.Subject = [{
- "type": "string",
- "content": "[xCALLY Ticket]",
- "variableName": null
- }, {
- "type": "variable",
- "content": "",
- "variableName": "queue"
- }, {
- "type": "variable",
- "content": "",
- "variableName": "calleridnum"
- }];
- req.body.Description = [{
- "type": "string",
- "content": "*** Call Info ***",
- "key": null,
- "keyType": null,
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Caller Number",
- "keyType": "variable",
- "variableName": "calleridnum"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Caller Name",
- "keyType": "variable",
- "variableName": "calleridname"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Call To",
- "keyType": "variable",
- "variableName": "destexten"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Queue",
- "keyType": "variable",
- "variableName": "queue"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "UniqueId",
- "keyType": "variable",
- "variableName": "uniqueid"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Date",
- "keyType": "variable",
- "variableName": "agentcalledAt"
- }, {
- "type": "string",
- "content": "*** Agent Info ***",
- "key": null,
- "keyType": null,
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Name",
- "keyType": "variable",
- "variableName": "destcalleridname"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Number",
- "keyType": "variable",
- "variableName": "destcalleridnum"
- }, {
- "type": "string",
- "content": "*** Time Info ***",
- "key": null,
- "keyType": null,
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Ring",
- "keyType": "variable",
- "variableName": "agentcalledAt"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Connect",
- "keyType": "variable",
- "variableName": "agentconnectAt"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Complete",
- "keyType": "variable",
- "variableName": "agentcompleteAt"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Hold Time",
- "keyType": "variable",
- "variableName": "holdtime"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Talk Time",
- "keyType": "variable",
- "variableName": "talktime"
- }];
- } else if (req.body.type === 'Outbound') {
- req.body.Subject = [{
- "type": "string",
- "content": "[xCALLY Ticket]",
- "variableName": null
- }, {
- "type": "string",
- "content": "Outbound Call",
- "variableName": null
- }, {
- "type": "variable",
- "content": "",
- "variableName": "destcalleridnum"
- }];
- req.body.Description = [{
- "type": "string",
- "content": "*** Call Info ***",
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Called Number",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "destcalleridnum"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Member Name",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "membername"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "UniqueId",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "uniqueid"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Date",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "starttime"
- }, {
- "type": "string",
- "content": "*** Time Info ***",
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Answer Time",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "answertime"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Complete Time",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "endtime"
- }];
- }
- break;
- default:
- console.log('Channel not available:', req.body.channel);
- }
-
- delete req.body.channel;
- delete req.body.type;
-
- return SalesforceConfiguration
- .create(req.body, {
- include: [{
- model: SalesforceField,
- as: 'Subject'
- }, {
- model: SalesforceField,
- as: 'Description'
- }]
- })
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-exports.createField = function(req, res) {
- return SalesforceConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(function(configuration) {
- switch (req.params.type) {
- case 'subject':
- req.body['SubjectId'] = req.params.cid;
- break;
- case 'description':
- req.body['DescriptionId'] = req.params.cid;
- break;
- case 'field':
- req.body['FieldId'] = req.params.cid;
- break;
- }
- return SalesforceField.create(req.body);
- })
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-exports.updateField = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SalesforceField
- .findById(req.params.fid)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-};
-
-exports.destroyField = function(req, res) {
- return SalesforceField
- .findById(req.params.fid)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-};
-
-exports.addConfigurationTags = function(req, res, next) {
- return SalesforceConfiguration
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(function(configuration) {
- return configuration.setTags(req.body);
- })
- .then(responseWithoutResult(res, 200))
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
+var _0x752a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6A\x73\x66\x6F\x72\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x63\x6C\x69\x65\x6E\x74\x49\x64","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x73\x65\x63\x75\x72\x69\x74\x79\x54\x6F\x6B\x65\x6E","\x63\x6F\x6E\x63\x61\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x6C\x6F\x67\x69\x6E","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x6F\x75\x6E\x74","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x66\x69\x65\x6C\x64\x73","\x64\x65\x73\x63\x72\x69\x62\x65","\x54\x61\x73\x6B","\x73\x6F\x62\x6A\x65\x63\x74","\x67\x65\x74\x41\x63\x63\x6F\x75\x6E\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x61\x63\x63\x6F\x75\x6E\x74","\x67\x65\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x63\x69\x64","\x64\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x74\x79\x70\x65","\x51\x75\x65\x75\x65","\x53\x75\x62\x6A\x65\x63\x74","\x73\x74\x72\x69\x6E\x67","\x5B\x78\x43\x41\x4C\x4C\x59\x20\x54\x69\x63\x6B\x65\x74\x5D","\x76\x61\x72\x69\x61\x62\x6C\x65","","\x71\x75\x65\x75\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x2A\x2A\x2A\x20\x43\x61\x6C\x6C\x20\x49\x6E\x66\x6F\x20\x2A\x2A\x2A","\x6B\x65\x79\x56\x61\x6C\x75\x65","\x43\x61\x6C\x6C\x65\x72\x20\x4E\x75\x6D\x62\x65\x72","\x43\x61\x6C\x6C\x65\x72\x20\x4E\x61\x6D\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x43\x61\x6C\x6C\x20\x54\x6F","\x64\x65\x73\x74\x65\x78\x74\x65\x6E","\x55\x6E\x69\x71\x75\x65\x49\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x44\x61\x74\x65","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x2A\x2A\x2A\x20\x41\x67\x65\x6E\x74\x20\x49\x6E\x66\x6F\x20\x2A\x2A\x2A","\x41\x67\x65\x6E\x74\x20\x4E\x61\x6D\x65","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x41\x67\x65\x6E\x74\x20\x4E\x75\x6D\x62\x65\x72","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x2A\x2A\x2A\x20\x54\x69\x6D\x65\x20\x49\x6E\x66\x6F\x20\x2A\x2A\x2A","\x41\x67\x65\x6E\x74\x20\x52\x69\x6E\x67","\x41\x67\x65\x6E\x74\x20\x43\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x41\x67\x65\x6E\x74\x20\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x48\x6F\x6C\x64\x20\x54\x69\x6D\x65","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x54\x61\x6C\x6B\x20\x54\x69\x6D\x65","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C","\x43\x61\x6C\x6C\x65\x64\x20\x4E\x75\x6D\x62\x65\x72","\x4D\x65\x6D\x62\x65\x72\x20\x4E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x73\x74\x61\x72\x74\x74\x69\x6D\x65","\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x20\x54\x69\x6D\x65","\x65\x6E\x64\x74\x69\x6D\x65","\x76\x6F\x69\x63\x65","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x6E\x6F\x74\x20\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3A","\x63\x68\x61\x6E\x6E\x65\x6C","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65\x46\x69\x65\x6C\x64","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x73\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64\x49\x64","\x75\x70\x64\x61\x74\x65\x46\x69\x65\x6C\x64","\x66\x69\x64","\x64\x65\x73\x74\x72\x6F\x79\x46\x69\x65\x6C\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x54\x61\x67\x73","\x65\x72\x72\x6F\x72","\x73\x65\x74\x54\x61\x67\x73"];_0x752a[0];var _=require(_0x752a[1]);var util=require(_0x752a[2]);var jsforce=require(_0x752a[3]);var Util=require(_0x752a[4]);var SalesforceAccount=require(_0x752a[6])[_0x752a[5]];var SalesforceConfiguration=require(_0x752a[6])[_0x752a[7]];var SalesforceField=require(_0x752a[6])[_0x752a[8]];function handleError(_0x81e6x9,_0x81e6xa){_0x81e6xa= _0x81e6xa|| 500;return function(_0x81e6xb){_0x81e6x9[_0x752a[10]](_0x81e6xa)[_0x752a[9]](_0x81e6xb)}}function responseWithResult(_0x81e6x9,_0x81e6xa){_0x81e6xa= _0x81e6xa|| 200;return function(_0x81e6xd){if(_0x81e6xd){_0x81e6x9[_0x752a[10]](_0x81e6xa)[_0x752a[11]](_0x81e6xd)}}}function responseWithoutResult(_0x81e6x9,_0x81e6xa){_0x81e6xa= _0x81e6xa|| 200;return function(){_0x81e6x9[_0x752a[12]](_0x81e6xa)}}function handleEntityNotFound(_0x81e6x9){return function(_0x81e6xd){if(!_0x81e6xd){_0x81e6x9[_0x752a[10]](404)[_0x752a[13]]();return null};return _0x81e6xd}}function saveUpdates(_0x81e6x11){return function(_0x81e6xd){return _0x81e6xd[_0x752a[15]](_0x81e6x11)[_0x752a[14]](function(_0x81e6x12){return _0x81e6x12})}}function removeEntity(_0x81e6x9){return function(_0x81e6xd){if(_0x81e6xd){return _0x81e6xd[_0x752a[16]]()[_0x752a[14]](function(){_0x81e6x9[_0x752a[10]](204)[_0x752a[13]]()})}}}exports[_0x752a[17]]= function(_0x81e6x14,_0x81e6x9,_0x81e6x15){return SalesforceAccount[_0x752a[24]](_0x752a[23])[_0x752a[22]](_[_0x752a[21]](Util[_0x752a[20]](_0x81e6x14[_0x752a[19]]),{distinct:true}))[_0x752a[14]](responseWithResult(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[25]]= function(_0x81e6x14,_0x81e6x9){return SalesforceAccount[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[26]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](responseWithResult(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[29]]= function(_0x81e6x14,_0x81e6x9){return SalesforceAccount[_0x752a[29]](_0x81e6x14[_0x752a[30]])[_0x752a[14]](responseWithResult(_0x81e6x9,201))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[31]]= function(_0x81e6x14,_0x81e6x9){if(_0x81e6x14[_0x752a[30]][_0x752a[26]]){delete _0x81e6x14[_0x752a[30]][_0x752a[26]]};return SalesforceAccount[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[26]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](saveUpdates(_0x81e6x14[_0x752a[30]]))[_0x752a[14]](responseWithResult(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[16]]= function(_0x81e6x14,_0x81e6x9){return SalesforceAccount[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[26]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](removeEntity(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[32]]= function(_0x81e6x14,_0x81e6x9){return SalesforceAccount[_0x752a[16]]({where:{id:_0x81e6x14[_0x752a[19]][_0x752a[33]]},individualHooks:true})[_0x752a[14]](responseWithResult(_0x81e6x9,204))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[34]]= function(_0x81e6x14,_0x81e6x9){return SalesforceAccount[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[26]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](function(_0x81e6x16){var _0x81e6x17= new jsforce.Connection({oauth2:{loginUrl:_0x81e6x16[_0x752a[35]],clientId:_0x81e6x16[_0x752a[36]],clientSecret:_0x81e6x16[_0x752a[37]]}});var _0x81e6x18=_0x81e6x16[_0x752a[40]][_0x752a[39]](_0x81e6x16[_0x752a[38]]);_0x81e6x17[_0x752a[42]](_0x81e6x16[_0x752a[41]],_0x81e6x18,function(_0x81e6xb,_0x81e6x19){if(_0x81e6xb){return _0x81e6x9[_0x752a[10]](400)[_0x752a[9]](_0x81e6xb)};return _0x81e6x9[_0x752a[12]](200)})})[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[43]]= function(_0x81e6x14,_0x81e6x9){var _0x81e6x1a={};_0x81e6x1a[_0x81e6x14[_0x752a[27]][_0x752a[44]]]= _0x81e6x14[_0x752a[30]][_0x752a[45]];return SalesforceAccount[_0x752a[22]]({where:_0x81e6x1a})[_0x752a[14]](function(_0x81e6x1b){if(_0x81e6x1b[_0x752a[46]]){return _0x81e6x9[_0x752a[10]](200)[_0x752a[9]]({isValid:false,value:_0x81e6x14[_0x752a[30]][_0x752a[45]]})};return _0x81e6x9[_0x752a[10]](200)[_0x752a[9]]({isValid:true,value:_0x81e6x14[_0x752a[30]][_0x752a[45]]})})[_0x752a[18]](function(_0x81e6xb){return handleError(_0x81e6x9,_0x81e6xb)})};exports[_0x752a[47]]= function(_0x81e6x14,_0x81e6x9){return SalesforceAccount[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[26]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](function(_0x81e6x16){var _0x81e6x17= new jsforce.Connection({oauth2:{loginUrl:_0x81e6x16[_0x752a[35]],clientId:_0x81e6x16[_0x752a[36]],clientSecret:_0x81e6x16[_0x752a[37]]}});var _0x81e6x18=_0x81e6x16[_0x752a[40]][_0x752a[39]](_0x81e6x16[_0x752a[38]]);_0x81e6x17[_0x752a[42]](_0x81e6x16[_0x752a[41]],_0x81e6x18,function(_0x81e6xb,_0x81e6x19){if(_0x81e6xb){return _0x81e6x9[_0x752a[10]](400)[_0x752a[9]](_0x81e6xb)};_0x81e6x17[_0x752a[51]](_0x752a[50])[_0x752a[49]](function(_0x81e6xb,_0x81e6x1c){if(_0x81e6xb){return _0x81e6x9[_0x752a[10]](400)[_0x752a[9]](_0x81e6xb)};return _0x81e6x9[_0x752a[10]](200)[_0x752a[9]](_0x81e6x1c[_0x752a[48]])})})})[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[52]]= function(_0x81e6x14,_0x81e6x9){return SalesforceConfiguration[_0x752a[24]]({method:[_0x752a[53],_0x81e6x14[_0x752a[27]][_0x752a[26]]]})[_0x752a[22]](_[_0x752a[21]](Util[_0x752a[20]](_0x81e6x14[_0x752a[19]]),{distinct:true}))[_0x752a[14]](responseWithResult(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[54]]= function(_0x81e6x14,_0x81e6x9){return SalesforceConfiguration[_0x752a[24]]({method:[_0x752a[53],_0x81e6x14[_0x752a[27]][_0x752a[26]]]})[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[55]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](responseWithResult(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[56]]= function(_0x81e6x14,_0x81e6x9){return SalesforceConfiguration[_0x752a[24]]({method:[_0x752a[53],_0x81e6x14[_0x752a[27]][_0x752a[26]]]})[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[55]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](removeEntity(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[57]]= function(_0x81e6x14,_0x81e6x9){return SalesforceConfiguration[_0x752a[16]]({where:{id:_0x81e6x14[_0x752a[19]][_0x752a[33]]},individualHooks:true})[_0x752a[14]](responseWithResult(_0x81e6x9,204))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[58]]= function(_0x81e6x14,_0x81e6x9){_0x81e6x14[_0x752a[30]][_0x752a[59]]= _0x81e6x14[_0x752a[27]][_0x752a[26]];switch(_0x81e6x14[_0x752a[30]][_0x752a[108]]){case _0x752a[106]:if(_0x81e6x14[_0x752a[30]][_0x752a[60]]=== _0x752a[61]){_0x81e6x14[_0x752a[30]][_0x752a[62]]= [{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[65],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[67]},{"\x74\x79\x70\x65":_0x752a[65],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[68]}];_0x81e6x14[_0x752a[30]][_0x752a[69]]= [{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[70],"\x6B\x65\x79":null,"\x6B\x65\x79\x54\x79\x70\x65":null,"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[72],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[68]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[73],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[74]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[75],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[76]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[61],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[67]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[77],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[78]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[79],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[80]},{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[81],"\x6B\x65\x79":null,"\x6B\x65\x79\x54\x79\x70\x65":null,"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[82],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[83]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[84],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[85]},{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[86],"\x6B\x65\x79":null,"\x6B\x65\x79\x54\x79\x70\x65":null,"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[87],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[80]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[88],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[89]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[90],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[91]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[92],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[93]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[94],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[95]}]}else {if(_0x81e6x14[_0x752a[30]][_0x752a[60]]=== _0x752a[96]){_0x81e6x14[_0x752a[30]][_0x752a[62]]= [{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[97],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[65],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[85]}];_0x81e6x14[_0x752a[30]][_0x752a[69]]= [{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[70],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[98],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[85]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[99],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[100]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[77],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[78]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[79],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[101]},{"\x74\x79\x70\x65":_0x752a[63],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[86]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[102],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[103]},{"\x74\x79\x70\x65":_0x752a[71],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x6B\x65\x79":_0x752a[104],"\x6B\x65\x79\x54\x79\x70\x65":_0x752a[65],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x752a[66],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x752a[105]}]}};break;default:console[_0x752a[109]](_0x752a[107],_0x81e6x14[_0x752a[30]][_0x752a[108]])};delete _0x81e6x14[_0x752a[30]][_0x752a[108]];delete _0x81e6x14[_0x752a[30]][_0x752a[60]];return SalesforceConfiguration[_0x752a[29]](_0x81e6x14[_0x752a[30]],{include:[{model:SalesforceField,as:_0x752a[62]},{model:SalesforceField,as:_0x752a[69]}]})[_0x752a[14]](responseWithResult(_0x81e6x9,201))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[110]]= function(_0x81e6x14,_0x81e6x9){return SalesforceConfiguration[_0x752a[24]]({method:[_0x752a[53],_0x81e6x14[_0x752a[27]][_0x752a[26]]]})[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[55]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](function(_0x81e6x1d){switch(_0x81e6x14[_0x752a[27]][_0x752a[60]]){case _0x752a[112]:_0x81e6x14[_0x752a[30]][_0x752a[111]]= _0x81e6x14[_0x752a[27]][_0x752a[55]];break;case _0x752a[114]:_0x81e6x14[_0x752a[30]][_0x752a[113]]= _0x81e6x14[_0x752a[27]][_0x752a[55]];break;case _0x752a[44]:_0x81e6x14[_0x752a[30]][_0x752a[115]]= _0x81e6x14[_0x752a[27]][_0x752a[55]];break};return SalesforceField[_0x752a[29]](_0x81e6x14[_0x752a[30]])})[_0x752a[14]](responseWithResult(_0x81e6x9,201))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[116]]= function(_0x81e6x14,_0x81e6x9){if(_0x81e6x14[_0x752a[30]][_0x752a[26]]){delete _0x81e6x14[_0x752a[30]][_0x752a[26]]};return SalesforceField[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[117]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](saveUpdates(_0x81e6x14[_0x752a[30]]))[_0x752a[14]](responseWithResult(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[118]]= function(_0x81e6x14,_0x81e6x9){return SalesforceField[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[117]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](removeEntity(_0x81e6x9))[_0x752a[18]](handleError(_0x81e6x9))};exports[_0x752a[119]]= function(_0x81e6x14,_0x81e6x9,_0x81e6x15){return SalesforceConfiguration[_0x752a[28]](_0x81e6x14[_0x752a[27]][_0x752a[55]])[_0x752a[14]](handleEntityNotFound(_0x81e6x9))[_0x752a[14]](function(_0x81e6x1d){return _0x81e6x1d[_0x752a[121]](_0x81e6x14[_0x752a[30]])})[_0x752a[14]](responseWithoutResult(_0x81e6x9,200))[_0x752a[18]](function(_0x81e6xb){console[_0x752a[120]](_0x81e6xb);return handleError(_0x81e6x9,_0x81e6xb)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SalesforceAccount = require('../../models').SalesforceAccount;
-
-var SalesforceAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SalesforceAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SalesforceAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SalesforceAccountEvents.emit(event + ':' + doc._id, doc);
- SalesforceAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SalesforceAccountEvents;
+var _0xc335=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc335[0];const EventEmitter=require(_0xc335[1]);const SalesforceAccount=require(_0xc335[3])[_0xc335[2]];var SalesforceAccountEvents= new EventEmitter();SalesforceAccountEvents[_0xc335[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc335[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xc335[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc335[6]};for(var e in events){var event=events[e];SalesforceAccount[_0xc335[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc9b8x8,_0xc9b8x9,_0xc9b8xa){SalesforceAccountEvents[_0xc335[10]](event+ _0xc335[8]+ _0xc9b8x8[_0xc335[9]],_0xc9b8x8);SalesforceAccountEvents[_0xc335[10]](event,_0xc9b8x8);_0xc9b8xa(null)}}module[_0xc335[11]]= SalesforceAccountEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SalesforceAccountEvents = require('./salesforce_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('salesforce_account:' + event, socket);
-
- SalesforceAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SalesforceAccountEvents.removeListener(event, listener);
- };
-}
+var _0xebb1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xebb1[0];const SalesforceAccountEvents=require(_0xebb1[1]);var events=[_0xebb1[2],_0xebb1[3]];exports[_0xebb1[4]]= function(_0xb5cdx3){for(var _0xb5cdx4=0,_0xb5cdx5=events[_0xebb1[5]];_0xb5cdx4< _0xb5cdx5;_0xb5cdx4++){var _0xb5cdx6=events[_0xb5cdx4];var _0xb5cdx7=createListener(_0xebb1[6]+ _0xb5cdx6,_0xb5cdx3);SalesforceAccountEvents[_0xebb1[7]](_0xb5cdx6,_0xb5cdx7);_0xb5cdx3[_0xebb1[7]](_0xebb1[8],removeListener(_0xb5cdx6,_0xb5cdx7))}};function createListener(_0xb5cdx6,_0xb5cdx3){return function(_0xb5cdx9){_0xb5cdx3[_0xebb1[9]](_0xb5cdx6,_0xb5cdx9)}}function removeListener(_0xb5cdx6,_0xb5cdx7){return function(){SalesforceAccountEvents[_0xebb1[10]](_0xb5cdx6,_0xb5cdx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./salesforce_configuration.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.post('/:id/:type', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.addConfigurationField);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x3118=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3118[0];var express=require(_0x3118[1]);var auth=require(_0x3118[2]);var controller=require(_0x3118[3]);var router=express.Router();router[_0x3118[7]](_0x3118[4],auth[_0x3118[5]](),controller[_0x3118[6]]);router[_0x3118[7]](_0x3118[8],auth[_0x3118[5]](),auth[_0x3118[10]]([19],[_0x3118[9]]),controller[_0x3118[11]]);router[_0x3118[13]](_0x3118[4],auth[_0x3118[5]](),auth[_0x3118[10]]([19],[_0x3118[9]]),controller[_0x3118[12]]);router[_0x3118[15]](_0x3118[8],auth[_0x3118[5]](),auth[_0x3118[10]]([19],[_0x3118[9]]),controller[_0x3118[14]]);router[_0x3118[13]](_0x3118[16],auth[_0x3118[5]](),auth[_0x3118[10]]([19],[_0x3118[9]]),controller[_0x3118[17]]);router[_0x3118[19]](_0x3118[8],auth[_0x3118[5]](),auth[_0x3118[10]]([19],[_0x3118[9]]),controller[_0x3118[18]]);module[_0x3118[20]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/salesforce/configurations -> index
- * POST /api/salesforce/configurations -> create
- * GET /api/salesforce/configurations/:id -> show
- * PUT /api/salesforce/configurations/:id -> update
- * DELETE /api/salesforce/configurations/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var SalesforceConfiguration = require('../../models').SalesforceConfiguration;
-var SalesforceField = require('../../models').SalesforceField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of SalesforceConfigurations
-exports.index = function(req, res) {
- SalesforceConfiguration.findAll({
- where: req.query
- })
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SalesforceConfiguration from the DB
-exports.show = function(req, res) {
- SalesforceConfiguration.find({
- where: {
- id: req.params.id
- },
- include: [{
- model: SalesforceField,
- as: 'Subject'
- }, {
- model: SalesforceField,
- as: 'Description'
- }, {
- model: SalesforceField,
- as: 'Field'
- }]
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SalesforceConfiguration in the DB
-exports.create = function(req, res) {
- SalesforceConfiguration.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SalesforceConfiguration in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- SalesforceConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SalesforceConfiguration from the DB
-exports.destroy = function(req, res) {
- SalesforceConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.addConfigurationField = function(req, res, next) {
- // console.log(req.params);
- var salesforceConfiguration;
- SalesforceConfiguration
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(salesforce_configuration) {
- salesforceConfiguration = salesforce_configuration;
- return SalesforceField.create(req.body)
- })
- .then(function(salesforceField) {
- switch (req.params.type) {
- case 'subject':
- return [salesforceConfiguration.addSubject(salesforceField), salesforceField];
- case 'description':
- return [salesforceConfiguration.addDescription(salesforceField), salesforceField];
- case 'field':
- return [salesforceConfiguration.addField(salesforceField), salesforceField];
- }
- })
- .spread(function(data, salesforceField) {
- return res.status(201).json(salesforceField);
- })
- .catch(handleError(res));
-};
+var _0x2a1c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0x2a1c[0];var _=require(_0x2a1c[1]);var SalesforceConfiguration=require(_0x2a1c[3])[_0x2a1c[2]];var SalesforceField=require(_0x2a1c[3])[_0x2a1c[4]];function handleError(_0x7a57x5,_0x7a57x6){_0x7a57x6= _0x7a57x6|| 500;return function(_0x7a57x7){_0x7a57x5[_0x2a1c[6]](_0x7a57x6)[_0x2a1c[5]](_0x7a57x7)}}function responseWithResult(_0x7a57x5,_0x7a57x6){_0x7a57x6= _0x7a57x6|| 200;return function(_0x7a57x9){if(_0x7a57x9){_0x7a57x5[_0x2a1c[6]](_0x7a57x6)[_0x2a1c[7]](_0x7a57x9)}}}function handleEntityNotFound(_0x7a57x5){return function(_0x7a57x9){if(!_0x7a57x9){_0x7a57x5[_0x2a1c[6]](404)[_0x2a1c[8]]();return null};return _0x7a57x9}}function saveUpdates(_0x7a57xc){return function(_0x7a57x9){return _0x7a57x9[_0x2a1c[10]](_0x7a57xc)[_0x2a1c[9]](function(_0x7a57xd){return _0x7a57xd})}}function removeEntity(_0x7a57x5){return function(_0x7a57x9){if(_0x7a57x9){return _0x7a57x9[_0x2a1c[11]]()[_0x2a1c[9]](function(){_0x7a57x5[_0x2a1c[6]](204)[_0x2a1c[8]]()})}}}exports[_0x2a1c[12]]= function(_0x7a57xf,_0x7a57x5){SalesforceConfiguration[_0x2a1c[15]]({where:_0x7a57xf[_0x2a1c[14]]})[_0x2a1c[9]](responseWithResult(_0x7a57x5))[_0x2a1c[13]](handleError(_0x7a57x5))};exports[_0x2a1c[16]]= function(_0x7a57xf,_0x7a57x5){SalesforceConfiguration[_0x2a1c[22]]({where:{id:_0x7a57xf[_0x2a1c[18]][_0x2a1c[17]]},include:[{model:SalesforceField,as:_0x2a1c[19]},{model:SalesforceField,as:_0x2a1c[20]},{model:SalesforceField,as:_0x2a1c[21]}]})[_0x2a1c[9]](handleEntityNotFound(_0x7a57x5))[_0x2a1c[9]](responseWithResult(_0x7a57x5))[_0x2a1c[13]](handleError(_0x7a57x5))};exports[_0x2a1c[23]]= function(_0x7a57xf,_0x7a57x5){SalesforceConfiguration[_0x2a1c[23]](_0x7a57xf[_0x2a1c[24]])[_0x2a1c[9]](responseWithResult(_0x7a57x5,201))[_0x2a1c[13]](handleError(_0x7a57x5))};exports[_0x2a1c[25]]= function(_0x7a57xf,_0x7a57x5){if(_0x7a57xf[_0x2a1c[24]][_0x2a1c[17]]){delete _0x7a57xf[_0x2a1c[24]][_0x2a1c[17]]};SalesforceConfiguration[_0x2a1c[26]](_0x7a57xf[_0x2a1c[18]][_0x2a1c[17]])[_0x2a1c[9]](handleEntityNotFound(_0x7a57x5))[_0x2a1c[9]](saveUpdates(_0x7a57xf[_0x2a1c[24]]))[_0x2a1c[9]](responseWithResult(_0x7a57x5))[_0x2a1c[13]](handleError(_0x7a57x5))};exports[_0x2a1c[11]]= function(_0x7a57xf,_0x7a57x5){SalesforceConfiguration[_0x2a1c[26]](_0x7a57xf[_0x2a1c[18]][_0x2a1c[17]])[_0x2a1c[9]](handleEntityNotFound(_0x7a57x5))[_0x2a1c[9]](removeEntity(_0x7a57x5))[_0x2a1c[13]](handleError(_0x7a57x5))};exports[_0x2a1c[27]]= function(_0x7a57xf,_0x7a57x5,_0x7a57x10){var _0x7a57x11;SalesforceConfiguration[_0x2a1c[26]](_0x7a57xf[_0x2a1c[18]][_0x2a1c[17]])[_0x2a1c[9]](handleEntityNotFound(_0x7a57x5))[_0x2a1c[9]](function(_0x7a57x14){_0x7a57x11= _0x7a57x14;return SalesforceField[_0x2a1c[23]](_0x7a57xf[_0x2a1c[24]])})[_0x2a1c[9]](function(_0x7a57x13){switch(_0x7a57xf[_0x2a1c[18]][_0x2a1c[35]]){case _0x2a1c[30]:return [_0x7a57x11[_0x2a1c[29]](_0x7a57x13),_0x7a57x13];case _0x2a1c[32]:return [_0x7a57x11[_0x2a1c[31]](_0x7a57x13),_0x7a57x13];case _0x2a1c[34]:return [_0x7a57x11[_0x2a1c[33]](_0x7a57x13),_0x7a57x13]}})[_0x2a1c[28]](function(_0x7a57x12,_0x7a57x13){return _0x7a57x5[_0x2a1c[6]](201)[_0x2a1c[7]](_0x7a57x13)})[_0x2a1c[13]](handleError(_0x7a57x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SalesforceConfiguration = require('../../models').SalesforceConfiguration;
-
-var SalesforceConfigurationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SalesforceConfigurationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SalesforceConfiguration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SalesforceConfigurationEvents.emit(event + ':' + doc._id, doc);
- SalesforceConfigurationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SalesforceConfigurationEvents;
+var _0xf81c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf81c[0];const EventEmitter=require(_0xf81c[1]);const SalesforceConfiguration=require(_0xf81c[3])[_0xf81c[2]];var SalesforceConfigurationEvents= new EventEmitter();SalesforceConfigurationEvents[_0xf81c[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xf81c[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xf81c[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xf81c[6]};for(var e in events){var event=events[e];SalesforceConfiguration[_0xf81c[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x2178x8,_0x2178x9,_0x2178xa){SalesforceConfigurationEvents[_0xf81c[10]](event+ _0xf81c[8]+ _0x2178x8[_0xf81c[9]],_0x2178x8);SalesforceConfigurationEvents[_0xf81c[10]](event,_0x2178x8);_0x2178xa(null)}}module[_0xf81c[11]]= SalesforceConfigurationEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SalesforceConfigurationEvents = require('./salesforce_configuration.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('salesforce_configuration:' + event, socket);
-
- SalesforceConfigurationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SalesforceConfigurationEvents.removeListener(event, listener);
- };
-}
+var _0x42b3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x42b3[0];const SalesforceConfigurationEvents=require(_0x42b3[1]);var events=[_0x42b3[2],_0x42b3[3]];exports[_0x42b3[4]]= function(_0x450dx3){for(var _0x450dx4=0,_0x450dx5=events[_0x42b3[5]];_0x450dx4< _0x450dx5;_0x450dx4++){var _0x450dx6=events[_0x450dx4];var _0x450dx7=createListener(_0x42b3[6]+ _0x450dx6,_0x450dx3);SalesforceConfigurationEvents[_0x42b3[7]](_0x450dx6,_0x450dx7);_0x450dx3[_0x42b3[7]](_0x42b3[8],removeListener(_0x450dx6,_0x450dx7))}};function createListener(_0x450dx6,_0x450dx3){return function(_0x450dx9){_0x450dx3[_0x42b3[9]](_0x450dx6,_0x450dx9)}}function removeListener(_0x450dx6,_0x450dx7){return function(){SalesforceConfigurationEvents[_0x42b3[10]](_0x450dx6,_0x450dx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./salesforce_field.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0xfa2d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xfa2d[0];var express=require(_0xfa2d[1]);var auth=require(_0xfa2d[2]);var controller=require(_0xfa2d[3]);var router=express.Router();router[_0xfa2d[7]](_0xfa2d[4],auth[_0xfa2d[5]](),controller[_0xfa2d[6]]);router[_0xfa2d[7]](_0xfa2d[8],auth[_0xfa2d[5]](),auth[_0xfa2d[10]]([19],[_0xfa2d[9]]),controller[_0xfa2d[11]]);router[_0xfa2d[13]](_0xfa2d[4],auth[_0xfa2d[5]](),auth[_0xfa2d[10]]([19],[_0xfa2d[9]]),controller[_0xfa2d[12]]);router[_0xfa2d[15]](_0xfa2d[8],auth[_0xfa2d[5]](),auth[_0xfa2d[10]]([19],[_0xfa2d[9]]),controller[_0xfa2d[14]]);router[_0xfa2d[17]](_0xfa2d[8],auth[_0xfa2d[5]](),auth[_0xfa2d[10]]([19],[_0xfa2d[9]]),controller[_0xfa2d[16]]);module[_0xfa2d[18]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/salesforce/fields -> index
- * POST /api/salesforce/fields -> create
- * GET /api/salesforce/fields/:id -> show
- * PUT /api/salesforce/fields/:id -> update
- * DELETE /api/salesforce/fields/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var SalesforceField = require('../../models').SalesforceField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of SalesforceFields
-exports.index = function(req, res) {
- SalesforceField.findAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SalesforceField from the DB
-exports.show = function(req, res) {
- SalesforceField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SalesforceField in the DB
-exports.create = function(req, res) {
- SalesforceField.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SalesforceField in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- SalesforceField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SalesforceField from the DB
-exports.destroy = function(req, res) {
- SalesforceField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0xf6d0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0xf6d0[0];var _=require(_0xf6d0[1]);var SalesforceField=require(_0xf6d0[3])[_0xf6d0[2]];function handleError(_0x6b45x4,_0x6b45x5){_0x6b45x5= _0x6b45x5|| 500;return function(_0x6b45x6){_0x6b45x4[_0xf6d0[5]](_0x6b45x5)[_0xf6d0[4]](_0x6b45x6)}}function responseWithResult(_0x6b45x4,_0x6b45x5){_0x6b45x5= _0x6b45x5|| 200;return function(_0x6b45x8){if(_0x6b45x8){_0x6b45x4[_0xf6d0[5]](_0x6b45x5)[_0xf6d0[6]](_0x6b45x8)}}}function handleEntityNotFound(_0x6b45x4){return function(_0x6b45x8){if(!_0x6b45x8){_0x6b45x4[_0xf6d0[5]](404)[_0xf6d0[7]]();return null};return _0x6b45x8}}function saveUpdates(_0x6b45xb){return function(_0x6b45x8){return _0x6b45x8[_0xf6d0[9]](_0x6b45xb)[_0xf6d0[8]](function(_0x6b45xc){return _0x6b45xc})}}function removeEntity(_0x6b45x4){return function(_0x6b45x8){if(_0x6b45x8){return _0x6b45x8[_0xf6d0[10]]()[_0xf6d0[8]](function(){_0x6b45x4[_0xf6d0[5]](204)[_0xf6d0[7]]()})}}}exports[_0xf6d0[11]]= function(_0x6b45xe,_0x6b45x4){SalesforceField[_0xf6d0[13]]()[_0xf6d0[8]](responseWithResult(_0x6b45x4))[_0xf6d0[12]](handleError(_0x6b45x4))};exports[_0xf6d0[14]]= function(_0x6b45xe,_0x6b45x4){SalesforceField[_0xf6d0[17]](_0x6b45xe[_0xf6d0[16]][_0xf6d0[15]])[_0xf6d0[8]](handleEntityNotFound(_0x6b45x4))[_0xf6d0[8]](responseWithResult(_0x6b45x4))[_0xf6d0[12]](handleError(_0x6b45x4))};exports[_0xf6d0[18]]= function(_0x6b45xe,_0x6b45x4){SalesforceField[_0xf6d0[18]](_0x6b45xe[_0xf6d0[19]])[_0xf6d0[8]](responseWithResult(_0x6b45x4,201))[_0xf6d0[12]](handleError(_0x6b45x4))};exports[_0xf6d0[20]]= function(_0x6b45xe,_0x6b45x4){if(_0x6b45xe[_0xf6d0[19]][_0xf6d0[15]]){delete _0x6b45xe[_0xf6d0[19]][_0xf6d0[15]]};SalesforceField[_0xf6d0[17]](_0x6b45xe[_0xf6d0[16]][_0xf6d0[15]])[_0xf6d0[8]](handleEntityNotFound(_0x6b45x4))[_0xf6d0[8]](saveUpdates(_0x6b45xe[_0xf6d0[19]]))[_0xf6d0[8]](responseWithResult(_0x6b45x4))[_0xf6d0[12]](handleError(_0x6b45x4))};exports[_0xf6d0[10]]= function(_0x6b45xe,_0x6b45x4){SalesforceField[_0xf6d0[17]](_0x6b45xe[_0xf6d0[16]][_0xf6d0[15]])[_0xf6d0[8]](handleEntityNotFound(_0x6b45x4))[_0xf6d0[8]](removeEntity(_0x6b45x4))[_0xf6d0[12]](handleError(_0x6b45x4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SalesforceField = require('../../models').SalesforceField;
-
-var SalesforceFieldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SalesforceFieldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SalesforceField.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SalesforceFieldEvents.emit(event + ':' + doc._id, doc);
- SalesforceFieldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SalesforceFieldEvents;
+var _0x9f26=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9f26[0];const EventEmitter=require(_0x9f26[1]);const SalesforceField=require(_0x9f26[3])[_0x9f26[2]];var SalesforceFieldEvents= new EventEmitter();SalesforceFieldEvents[_0x9f26[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x9f26[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x9f26[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x9f26[6]};for(var e in events){var event=events[e];SalesforceField[_0x9f26[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc284x8,_0xc284x9,_0xc284xa){SalesforceFieldEvents[_0x9f26[10]](event+ _0x9f26[8]+ _0xc284x8[_0x9f26[9]],_0xc284x8);SalesforceFieldEvents[_0x9f26[10]](event,_0xc284x8);_0xc284xa(null)}}module[_0x9f26[11]]= SalesforceFieldEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SalesforceFieldEvents = require('./salesforce_field.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('salesforce_field:' + event, socket);
-
- SalesforceFieldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SalesforceFieldEvents.removeListener(event, listener);
- };
-}
+var _0x4671=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x4671[0];const SalesforceFieldEvents=require(_0x4671[1]);var events=[_0x4671[2],_0x4671[3]];exports[_0x4671[4]]= function(_0x63c6x3){for(var _0x63c6x4=0,_0x63c6x5=events[_0x4671[5]];_0x63c6x4< _0x63c6x5;_0x63c6x4++){var _0x63c6x6=events[_0x63c6x4];var _0x63c6x7=createListener(_0x4671[6]+ _0x63c6x6,_0x63c6x3);SalesforceFieldEvents[_0x4671[7]](_0x63c6x6,_0x63c6x7);_0x63c6x3[_0x4671[7]](_0x4671[8],removeListener(_0x63c6x6,_0x63c6x7))}};function createListener(_0x63c6x6,_0x63c6x3){return function(_0x63c6x9){_0x63c6x3[_0x4671[9]](_0x63c6x6,_0x63c6x9)}}function removeListener(_0x63c6x6,_0x63c6x7){return function(){SalesforceFieldEvents[_0x4671[10]](_0x63c6x6,_0x63c6x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./scheduler.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.get('/:id/run', auth.isAuthenticated(), controller.runSchedule);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0x1559=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x72\x75\x6E","\x72\x75\x6E\x53\x63\x68\x65\x64\x75\x6C\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1559[0];var express=require(_0x1559[1]);var auth=require(_0x1559[2]);var controller=require(_0x1559[3]);var router=express.Router();router[_0x1559[7]](_0x1559[4],auth[_0x1559[5]](),controller[_0x1559[6]]);router[_0x1559[7]](_0x1559[8],auth[_0x1559[5]](),controller[_0x1559[9]]);router[_0x1559[7]](_0x1559[10],auth[_0x1559[5]](),controller[_0x1559[11]]);router[_0x1559[13]](_0x1559[4],auth[_0x1559[5]](),controller[_0x1559[12]]);router[_0x1559[15]](_0x1559[8],auth[_0x1559[5]](),controller[_0x1559[14]]);router[_0x1559[16]](_0x1559[8],auth[_0x1559[5]](),controller[_0x1559[14]]);router[_0x1559[18]](_0x1559[8],auth[_0x1559[5]](),controller[_0x1559[17]]);module[_0x1559[19]]= router
\ No newline at end of file
-'use strict';
-
-
-var _ = require('lodash');
-
-var Schedule = require('../../models').Schedule;
-var MailServerOut = require('../../models').MailServerOut;
-var Reports = require('../../config/scheduler/reports');
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- console.log(err);
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-function runSchedule(req) {
- return function(entity) {
- if (entity) {
- switch (entity.type) {
- case 'report':
- var scheduler = new Reports();
- scheduler.extractReport(entity, req.user)
- break;
- default:
- }
- }
- }
-}
-
-// Gets a list of Schedules
-exports.index = function(req, res) {
- Schedule.findAndCountAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single Schedule from the DB
-exports.show = function(req, res) {
- Schedule.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Execute single Schedule from the DB
-exports.runSchedule = function(req, res) {
- Schedule.findById(req.params.id, {
- include: [MailServerOut]
- })
- .then(handleEntityNotFound(res))
- .then(runSchedule(req))
- .then(responseWithoutResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new Schedule in the DB
-exports.create = function(req, res) {
- Schedule.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing Schedule in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- Schedule.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a Schedule from the DB
-exports.destroy = function(req, res) {
- Schedule.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x5807=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x63\x68\x65\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72\x2F\x72\x65\x70\x6F\x72\x74\x73","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x75\x73\x65\x72","\x65\x78\x74\x72\x61\x63\x74\x52\x65\x70\x6F\x72\x74","\x72\x65\x70\x6F\x72\x74","\x74\x79\x70\x65","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x75\x6E\x53\x63\x68\x65\x64\x75\x6C\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x5807[0];var _=require(_0x5807[1]);var Schedule=require(_0x5807[3])[_0x5807[2]];var MailServerOut=require(_0x5807[3])[_0x5807[4]];var Reports=require(_0x5807[5]);function handleError(_0xe178x6,_0xe178x7){_0xe178x7= _0xe178x7|| 500;return function(_0xe178x8){console[_0x5807[6]](_0xe178x8);_0xe178x6[_0x5807[8]](_0xe178x7)[_0x5807[7]](_0xe178x8)}}function responseWithResult(_0xe178x6,_0xe178x7){_0xe178x7= _0xe178x7|| 200;return function(_0xe178xa){if(_0xe178xa){_0xe178x6[_0x5807[8]](_0xe178x7)[_0x5807[9]](_0xe178xa)}}}function responseWithoutResult(_0xe178x6,_0xe178x7){_0xe178x7= _0xe178x7|| 200;return function(){_0xe178x6[_0x5807[10]](_0xe178x7)}}function handleEntityNotFound(_0xe178x6){return function(_0xe178xa){if(!_0xe178xa){_0xe178x6[_0x5807[8]](404)[_0x5807[11]]();return null};return _0xe178xa}}function saveUpdates(_0xe178xe){return function(_0xe178xa){return _0xe178xa[_0x5807[13]](_0xe178xe)[_0x5807[12]](function(_0xe178xf){return _0xe178xf})}}function removeEntity(_0xe178x6){return function(_0xe178xa){if(_0xe178xa){return _0xe178xa[_0x5807[14]]()[_0x5807[12]](function(){_0xe178x6[_0x5807[8]](204)[_0x5807[11]]()})}}}function runSchedule(_0xe178x12){return function(_0xe178xa){if(_0xe178xa){switch(_0xe178xa[_0x5807[18]]){case _0x5807[17]:var _0xe178x13= new Reports();_0xe178x13[_0x5807[16]](_0xe178xa,_0xe178x12[_0x5807[15]]);break;default:}}}}exports[_0x5807[19]]= function(_0xe178x12,_0xe178x6){Schedule[_0x5807[21]]()[_0x5807[12]](responseWithResult(_0xe178x6))[_0x5807[20]](handleError(_0xe178x6))};exports[_0x5807[22]]= function(_0xe178x12,_0xe178x6){Schedule[_0x5807[25]](_0xe178x12[_0x5807[24]][_0x5807[23]])[_0x5807[12]](handleEntityNotFound(_0xe178x6))[_0x5807[12]](responseWithResult(_0xe178x6))[_0x5807[20]](handleError(_0xe178x6))};exports[_0x5807[26]]= function(_0xe178x12,_0xe178x6){Schedule[_0x5807[25]](_0xe178x12[_0x5807[24]][_0x5807[23]],{include:[MailServerOut]})[_0x5807[12]](handleEntityNotFound(_0xe178x6))[_0x5807[12]](runSchedule(_0xe178x12))[_0x5807[12]](responseWithoutResult(_0xe178x6))[_0x5807[20]](handleError(_0xe178x6))};exports[_0x5807[27]]= function(_0xe178x12,_0xe178x6){Schedule[_0x5807[27]](_0xe178x12[_0x5807[28]])[_0x5807[12]](responseWithResult(_0xe178x6,201))[_0x5807[20]](handleError(_0xe178x6))};exports[_0x5807[29]]= function(_0xe178x12,_0xe178x6){if(_0xe178x12[_0x5807[28]][_0x5807[23]]){delete _0xe178x12[_0x5807[28]][_0x5807[23]]};Schedule[_0x5807[25]](_0xe178x12[_0x5807[24]][_0x5807[23]])[_0x5807[12]](handleEntityNotFound(_0xe178x6))[_0x5807[12]](saveUpdates(_0xe178x12[_0x5807[28]]))[_0x5807[12]](responseWithResult(_0xe178x6))[_0x5807[20]](handleError(_0xe178x6))};exports[_0x5807[14]]= function(_0xe178x12,_0xe178x6){Schedule[_0x5807[25]](_0xe178x12[_0x5807[24]][_0x5807[23]])[_0x5807[12]](handleEntityNotFound(_0xe178x6))[_0x5807[12]](removeEntity(_0xe178x6))[_0x5807[20]](handleError(_0xe178x6))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Schedule = require('../../models').Schedule;
-
-var SchedulerEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SchedulerEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Schedule.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SchedulerEvents.emit(event + ':' + doc._id, doc);
- SchedulerEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SchedulerEvents;
+var _0xeece=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x63\x68\x65\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xeece[0];const EventEmitter=require(_0xeece[1]);const Schedule=require(_0xeece[3])[_0xeece[2]];var SchedulerEvents= new EventEmitter();SchedulerEvents[_0xeece[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xeece[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xeece[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xeece[6]};for(var e in events){var event=events[e];Schedule[_0xeece[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xfa64x8,_0xfa64x9,_0xfa64xa){SchedulerEvents[_0xeece[10]](event+ _0xeece[8]+ _0xfa64x8[_0xeece[9]],_0xfa64x8);SchedulerEvents[_0xeece[10]](event,_0xfa64x8);_0xfa64xa(null)}}module[_0xeece[11]]= SchedulerEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SchedulerEvents = require('./scheduler.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('schedule:' + event, socket);
-
- SchedulerEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SchedulerEvents.removeListener(event, listener);
- };
-}
+var _0x43f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x63\x68\x65\x64\x75\x6C\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x43f0[0];const SchedulerEvents=require(_0x43f0[1]);var events=[_0x43f0[2],_0x43f0[3],_0x43f0[4]];exports[_0x43f0[5]]= function(_0xddf5x3){for(var _0xddf5x4=0,_0xddf5x5=events[_0x43f0[6]];_0xddf5x4< _0xddf5x5;_0xddf5x4++){var _0xddf5x6=events[_0xddf5x4];var _0xddf5x7=createListener(_0x43f0[7]+ _0xddf5x6,_0xddf5x3);SchedulerEvents[_0x43f0[8]](_0xddf5x6,_0xddf5x7);_0xddf5x3[_0x43f0[8]](_0x43f0[9],removeListener(_0xddf5x6,_0xddf5x7))}};function createListener(_0xddf5x6,_0xddf5x3){return function(_0xddf5x9){_0xddf5x3[_0x43f0[10]](_0xddf5x6,_0xddf5x9)}}function removeListener(_0xddf5x6,_0xddf5x7){return function(){SchedulerEvents[_0x43f0[11]](_0xddf5x6,_0xddf5x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./setting.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.index);
-router.get('/smtp', auth.isAuthenticated(), auth.hasModule([9], ['admin', 'agent']), controller.showCustom);
-router.get('/internal', auth.isAuthenticated(), auth.hasRole('admin'), controller.getInternal);
-router.get('/mailbox', auth.isAuthenticated(), auth.hasRole('admin'), controller.getMailbox);
-router.get('/logo/main/:filename', controller.getLogo);
-router.get('/logo/login/:filename', controller.getLoginLogo);
-router.get('/system', auth.isAuthenticated(), auth.hasRole('admin'), controller.stats);
-router.get('/logs', auth.isAuthenticated(), auth.hasRole('admin'), controller.logs);
-router.get('/info', controller.getInfo);
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.create);
-router.post('/asterisk', auth.isAuthenticated(), auth.hasRole('admin'), controller.asteriskCommand);
-router.post('/logo/main', auth.isAuthenticated(), auth.hasRole('admin'), controller.changeLogo);
-router.post('/logo/login', auth.isAuthenticated(), auth.hasRole('admin'), controller.changeLoginLogo);
-router.post('/smtp', auth.isAuthenticated(), auth.hasRole('admin'), controller.createSmtp);
-router.put('/smtp/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.updateSmtp);
-router.put('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-
-module.exports = router;
+var _0xecb6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x6D\x74\x70","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x73\x68\x6F\x77\x43\x75\x73\x74\x6F\x6D","\x2F\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x2F\x6D\x61\x69\x6C\x62\x6F\x78","\x67\x65\x74\x4D\x61\x69\x6C\x62\x6F\x78","\x2F\x6C\x6F\x67\x6F\x2F\x6D\x61\x69\x6E\x2F\x3A\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x4C\x6F\x67\x6F","\x2F\x6C\x6F\x67\x6F\x2F\x6C\x6F\x67\x69\x6E\x2F\x3A\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x4C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x2F\x73\x79\x73\x74\x65\x6D","\x73\x74\x61\x74\x73","\x2F\x6C\x6F\x67\x73","\x6C\x6F\x67\x73","\x2F\x69\x6E\x66\x6F","\x67\x65\x74\x49\x6E\x66\x6F","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x61\x73\x74\x65\x72\x69\x73\x6B","\x61\x73\x74\x65\x72\x69\x73\x6B\x43\x6F\x6D\x6D\x61\x6E\x64","\x2F\x6C\x6F\x67\x6F\x2F\x6D\x61\x69\x6E","\x63\x68\x61\x6E\x67\x65\x4C\x6F\x67\x6F","\x2F\x6C\x6F\x67\x6F\x2F\x6C\x6F\x67\x69\x6E","\x63\x68\x61\x6E\x67\x65\x4C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x63\x72\x65\x61\x74\x65\x53\x6D\x74\x70","\x2F\x73\x6D\x74\x70\x2F\x3A\x69\x64","\x75\x70\x64\x61\x74\x65\x53\x6D\x74\x70","\x70\x75\x74","\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xecb6[0];var express=require(_0xecb6[1]);var controller=require(_0xecb6[2]);var auth=require(_0xecb6[3]);var router=express.Router();router[_0xecb6[9]](_0xecb6[4],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[8]]);router[_0xecb6[9]](_0xecb6[10],auth[_0xecb6[5]](),auth[_0xecb6[12]]([9],[_0xecb6[6],_0xecb6[11]]),controller[_0xecb6[13]]);router[_0xecb6[9]](_0xecb6[14],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[15]]);router[_0xecb6[9]](_0xecb6[16],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[17]]);router[_0xecb6[9]](_0xecb6[18],controller[_0xecb6[19]]);router[_0xecb6[9]](_0xecb6[20],controller[_0xecb6[21]]);router[_0xecb6[9]](_0xecb6[22],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[23]]);router[_0xecb6[9]](_0xecb6[24],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[25]]);router[_0xecb6[9]](_0xecb6[26],controller[_0xecb6[27]]);router[_0xecb6[9]](_0xecb6[28],auth[_0xecb6[5]](),controller[_0xecb6[29]]);router[_0xecb6[31]](_0xecb6[4],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[30]]);router[_0xecb6[31]](_0xecb6[32],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[33]]);router[_0xecb6[31]](_0xecb6[34],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[35]]);router[_0xecb6[31]](_0xecb6[36],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[37]]);router[_0xecb6[31]](_0xecb6[10],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[38]]);router[_0xecb6[41]](_0xecb6[39],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[40]]);router[_0xecb6[41]](_0xecb6[28],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[42]]);router[_0xecb6[44]](_0xecb6[28],auth[_0xecb6[5]](),auth[_0xecb6[7]](_0xecb6[6]),controller[_0xecb6[43]]);module[_0xecb6[45]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Setting = require('../../models').Setting;
-var system = require('../../config/tools/system');
-var Agent = require('../../models').User;
-var VoiceMail = require('../../models').VoiceVoicemail;
-var MailAccount = require('../../models').MailAccount;
-var MailServerOut = require('../../models').MailServerOut;
-var Promise = require('bluebird');
-var UploadFile = require('upload-file');
-var path = require('path');
-var sequelize = require('../../models').sequelize;
-var config = require('../../config/environment');
-var sr = require('simple-random');
-var fs = require('fs');
-
-// Get list of settings
-exports.index = function(req, res) {
- return Setting
- .findAll()
- .then(function(settings) {
- return res.status(200).send(settings);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.stats = function(req, res) {
- return Promise
- .all([])
- .then(system.checkStatus())
- .then(function(stats) {
- return res.status(200).send(stats);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-exports.asteriskCommand = function(req, res) {
- return Promise
- .promisify(req.app.locals.ami.action)({
- action: 'Command',
- command: req.body.command.trim(),
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.logs = function(req, res) {
- var logs = {
- output: '',
- errors: ''
- };
- var readFile = Promise.promisify(fs.readFile);
- var exists = Promise.promisify(fs.exists);
- return readFile('/var/log/xcally/motion-err.log', 'utf8')
- .then(function(errs) {
- logs.errors = errs;
- })
- .catch(function(err) {
- logs.errors = 'No error log file found!';
- })
- .then(function() {
- return readFile('/var/log/xcally/motion-out.log', 'utf8');
- })
- .then(function(out) {
- logs.output = out;
- })
- .catch(function(err) {
- logs.output = 'No output log file found!';
- })
- .then(function(result) {
- return res.status(200).send(logs);
- })
- .catch(function(err) {
- console.log('logs error:', err.message);
- return handleError(res, err);
- });
-}
-
-exports.changeLogo = function(req, res) {
- changeLogo(req, res, 'logo');
-}
-
-exports.changeLoginLogo = function(req, res) {
- changeLogo(req, res, 'loginLogo');
-}
-
-function changeLogo(req, res, field) {
-
- var upload = new UploadFile({
- dest: path.join(config.root, 'server', 'files', 'images'),
- maxNumberOfFiles: 1,
- minNumberOfFiles: 0,
- acceptFileTypes: /(\.|\/)(jpeg|png)$/i,
- rename: function(name, file) {
- return sr() + path.extname(file.filename);
- },
- messages: {
- maxNumberOfFiles: "Max number of files upload exceeded",
- acceptFileTypes: "Only jpeg and png format accepted",
- invalidRequest: "Invalid request"
- }
- });
-
- upload.on('end', function(fields, files) {
- if (!files.file.filename) {
- return res.status(500).send(upload);
- }
- return sequelize.transaction(function(t) {
- return Setting
- .findById(1)
- .then(function(settings) {
- if (!settings) {
- return res.sendStatus(404);
- }
- var body = {};
- body[field] = files.file.filename;
- return settings
- .update(body, {
- transaction: t
- });
- })
- .then(function(user) {
- return res.status(200).send(user);
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- });
-
- upload.on('error', function(err) {
- console.log('********** Upload error :', err)
- return handleError(res, err);
- });
-
- upload.parse(req);
-}
-
-
-exports.getLogo = function(req, res) {
- getLogo(req, res, 'logo.png');
-}
-
-exports.getLoginLogo = function(req, res) {
- getLogo(req, res, 'logo-big.png');
-}
-
-function getLogo(req, res, image) {
- var imgPath = path.join(config.root, 'server', 'files', 'images', req.params.filename);
-
- fs.exists(imgPath, function(exists) {
- if (!exists) {
- imgPath = path.join(config.root, 'server', 'files', 'images', 'default', image);
- }
-
- return res.sendFile(imgPath);
- });
-}
-
-// Get internal
-exports.getInternal = function(req, res) {
- var _settings;
- return Setting
- .findById(1)
- .then(function(settings) {
- _settings = settings;
- return Agent
- .findAll({
- attributes: ['internal']
- });
- })
- .then(function(internals) {
- var _internals = _.map(internals, 'internal');
- var _internal = {
- value: 0,
- range: 0 //maximum number of internals before an occupied one, 0 is unlimited
- };
- var nextUsed;
- if (req.query.internal) {
- _internal.value = Number(req.query.internal);
- while (_.includes(_internals, _internal.value)) {
- _internal.value++;
- }
- nextUsed = _.filter(_internals, function(elem) {
- return elem > _internal.value;
- }).shift();
- _internal.range = nextUsed - _internal.value;
- } else {
- var maxInternal = _.max(_internals);
- _internal.value = _settings.min_internal; //if the max internal is lower than my lower limit, i just set the limit as the internal
- if (maxInternal && maxInternal >= _settings.min_internal) { //otherwise i get the first of the used internals and then I increment the value until I find an empty one
- while (_.includes(_internals, _internal.value)) {
- _internal.value++;
- }
- //then I find the next used internal and calculate the maximum number of free internals before a used one
- nextUsed = _.filter(_internals, function(elem) {
- return elem > _internal.value;
- }).shift();
- _internal.range = nextUsed - _internal.value;
- }
- }
- return res.status(200).send(_internal);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get mailbox
-exports.getMailbox = function(req, res) {
- var _settings;
- return Setting
- .findById(1)
- .then(function(settings) {
- _settings = settings;
- return VoiceMail
- .findAll({
- attributes: ['mailbox']
- });
- })
- .then(function(mailboxes) {
- var _mailboxes = _.map(mailboxes, function(elem) {
- return Number(elem.mailbox);
- });
- var _mailbox = {
- value: 0,
- range: 0 //maximum number of mailboxs before an occupied one, 0 is unlimited
- };
- var nextUsed;
- var maxMailbox = _.max(_mailboxes);
- _mailbox.value = _settings.min_mailbox; //if the max mailbox is lower than my lower limit, i just set the limit as the mailbox
- if (maxMailbox && maxMailbox >= _settings.min_mailbox) { //otherwise i get the first of the used mailboxes and then I increment the value until I find an empty one
- while (_.includes(_mailboxes, _mailbox.value)) {
- _mailbox.value++;
- }
- //then I find the next used mailbox and calculate the maximum number of free mailboxes before a used one
- nextUsed = _.filter(_mailboxes, function(elem) {
- return elem > _mailbox.value;
- }).shift();
- _mailbox.range = nextUsed - _mailbox.value;
- }
-
- return res.status(200).send(_mailbox);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get list of settings
-exports.getInfo = function(req, res) {
-
- var info = require('../../../package.json');
-
- return res.status(200).send({
- name: info.name,
- version: info.version,
- engines: info.engines
- });
-};
-
-// Get a single setting
-exports.show = function(req, res) {
- return Setting
- .findById(req.params.id)
- .then(function(setting) {
- if (!setting) {
- return res.sendStatus(404);
- }
- return res.send(setting);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single mailAccount
-exports.showCustom = function(req, res, next) {
- return MailAccount
- .findOne({
- where: {
- service: true
- },
- include: [{
- model: MailServerOut,
- attributes: ['id', 'host', 'port', 'username', 'password', 'ssl', 'state', 'source', 'description']
- }]
- })
- .then(function(mailAccount) {
- console.log('mailAccount', mailAccount);
- if (!mailAccount) {
- return res.sendStatus(404);
- }
- return res.send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new setting in the DB.
-exports.create = function(req, res) {
- return Setting
- .create(req.body)
- .then(function(setting) {
- return res.status(201).send(setting);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new mailAccount in the DB.
-exports.createSmtp = function(req, res, next) {
- return MailAccount
- .create(req.body, {
- include: [{
- model: MailServerOut
- }]
- }).then(function(mailAccount) {
- return res.status(201).send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new setting in the DB.
-exports.updateSmtp = function(req, res) {
- var _mailAccount;
-
- return MailAccount
- .findById(req.params.id)
- .then(function(mailAccount) {
- _mailAccount = mailAccount;
-
- return _mailAccount
- .update({
- name: req.body.name,
- address: req.body.address,
- service: req.body.service,
- signature: req.body.signature,
- ListId: req.body.ListId,
- TemplateId: req.body.TemplateId
- });
- })
- .then(function(mailAccount) {
- if (req.body.MailServerOut) {
- req.body.MailServerOut.state = 'CONNECTING';
- req.body.MailServerOut.source = null;
-
- return MailServerOut
- .update(req.body.MailServerOut, {
- where: {
- id: req.body.MailServerOut.id
- },
- individualHooks: true
- });
- }
- })
- .then(function(smtp) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing setting in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Setting
- .findById(req.params.id)
- .then(function(setting) {
- if (!setting) {
- return res.sendStatus(404);
- }
- var updated = _.merge(setting, req.body);
- return updated.save();
- })
- .then(function(setting) {
- return res.status(200).send(setting);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a setting from the DB.
-exports.destroy = function(req, res) {
- return Setting
- .findById(req.params.id)
- .then(function(setting) {
- if (!setting) {
- return res.sendStatus(404);
- }
- return setting.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xfcf9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x65\x74\x74\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x74\x6F\x6F\x6C\x73\x2F\x73\x79\x73\x74\x65\x6D","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x62\x6C\x75\x65\x62\x69\x72\x64","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x70\x61\x74\x68","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x66\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x74\x61\x74\x73","\x6C\x6F\x67","\x63\x68\x65\x63\x6B\x53\x74\x61\x74\x75\x73","\x61\x6C\x6C","\x61\x73\x74\x65\x72\x69\x73\x6B\x43\x6F\x6D\x6D\x61\x6E\x64","\x43\x6F\x6D\x6D\x61\x6E\x64","\x74\x72\x69\x6D","\x63\x6F\x6D\x6D\x61\x6E\x64","\x62\x6F\x64\x79","\x61\x63\x74\x69\x6F\x6E","\x61\x6D\x69","\x6C\x6F\x63\x61\x6C\x73","\x61\x70\x70","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x6C\x6F\x67\x73","","\x72\x65\x61\x64\x46\x69\x6C\x65","\x65\x78\x69\x73\x74\x73","\x6C\x6F\x67\x73\x20\x65\x72\x72\x6F\x72\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x6F\x75\x74\x70\x75\x74","\x4E\x6F\x20\x6F\x75\x74\x70\x75\x74\x20\x6C\x6F\x67\x20\x66\x69\x6C\x65\x20\x66\x6F\x75\x6E\x64\x21","\x2F\x76\x61\x72\x2F\x6C\x6F\x67\x2F\x78\x63\x61\x6C\x6C\x79\x2F\x6D\x6F\x74\x69\x6F\x6E\x2D\x6F\x75\x74\x2E\x6C\x6F\x67","\x75\x74\x66\x38","\x65\x72\x72\x6F\x72\x73","\x4E\x6F\x20\x65\x72\x72\x6F\x72\x20\x6C\x6F\x67\x20\x66\x69\x6C\x65\x20\x66\x6F\x75\x6E\x64\x21","\x2F\x76\x61\x72\x2F\x6C\x6F\x67\x2F\x78\x63\x61\x6C\x6C\x79\x2F\x6D\x6F\x74\x69\x6F\x6E\x2D\x65\x72\x72\x2E\x6C\x6F\x67","\x63\x68\x61\x6E\x67\x65\x4C\x6F\x67\x6F","\x6C\x6F\x67\x6F","\x63\x68\x61\x6E\x67\x65\x4C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x6C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x6A\x70\x65\x67\x20\x61\x6E\x64\x20\x70\x6E\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x6F\x6E","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x67\x65\x74\x4C\x6F\x67\x6F","\x6C\x6F\x67\x6F\x2E\x70\x6E\x67","\x67\x65\x74\x4C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x6C\x6F\x67\x6F\x2D\x62\x69\x67\x2E\x70\x6E\x67","\x70\x61\x72\x61\x6D\x73","\x64\x65\x66\x61\x75\x6C\x74","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x61\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x6D\x61\x70","\x71\x75\x65\x72\x79","\x76\x61\x6C\x75\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x73\x68\x69\x66\x74","\x66\x69\x6C\x74\x65\x72","\x72\x61\x6E\x67\x65","\x6D\x61\x78","\x6D\x69\x6E\x5F\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x4D\x61\x69\x6C\x62\x6F\x78","\x6D\x61\x69\x6C\x62\x6F\x78","\x6D\x69\x6E\x5F\x6D\x61\x69\x6C\x62\x6F\x78","\x67\x65\x74\x49\x6E\x66\x6F","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x70\x61\x63\x6B\x61\x67\x65\x2E\x6A\x73\x6F\x6E","\x6E\x61\x6D\x65","\x76\x65\x72\x73\x69\x6F\x6E","\x65\x6E\x67\x69\x6E\x65\x73","\x73\x68\x6F\x77","\x69\x64","\x73\x68\x6F\x77\x43\x75\x73\x74\x6F\x6D","\x6D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x73\x6C","\x73\x74\x61\x74\x65","\x73\x6F\x75\x72\x63\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x53\x6D\x74\x70","\x75\x70\x64\x61\x74\x65\x53\x6D\x74\x70","\x43\x4F\x4E\x4E\x45\x43\x54\x49\x4E\x47","\x61\x64\x64\x72\x65\x73\x73","\x73\x65\x72\x76\x69\x63\x65","\x73\x69\x67\x6E\x61\x74\x75\x72\x65","\x4C\x69\x73\x74\x49\x64","\x54\x65\x6D\x70\x6C\x61\x74\x65\x49\x64","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xfcf9[0];var _=require(_0xfcf9[1]);var Setting=require(_0xfcf9[3])[_0xfcf9[2]];var system=require(_0xfcf9[4]);var Agent=require(_0xfcf9[3])[_0xfcf9[5]];var VoiceMail=require(_0xfcf9[3])[_0xfcf9[6]];var MailAccount=require(_0xfcf9[3])[_0xfcf9[7]];var MailServerOut=require(_0xfcf9[3])[_0xfcf9[8]];var Promise=require(_0xfcf9[9]);var UploadFile=require(_0xfcf9[10]);var path=require(_0xfcf9[11]);var sequelize=require(_0xfcf9[3])[_0xfcf9[12]];var config=require(_0xfcf9[13]);var sr=require(_0xfcf9[14]);var fs=require(_0xfcf9[15]);exports[_0xfcf9[16]]= function(_0xdcd1xf,_0xdcd1x10){return Setting[_0xfcf9[21]]()[_0xfcf9[20]](function(_0xdcd1x12){return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x12)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[22]]= function(_0xdcd1xf,_0xdcd1x10){return Promise[_0xfcf9[25]]([])[_0xfcf9[20]](system[_0xfcf9[24]]())[_0xfcf9[20]](function(_0xdcd1x13){return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x13)})[_0xfcf9[17]](function(_0xdcd1x11){console[_0xfcf9[23]](_0xdcd1x11);return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[26]]= function(_0xdcd1xf,_0xdcd1x10){return Promise[_0xfcf9[35]](_0xdcd1xf[_0xfcf9[34]][_0xfcf9[33]][_0xfcf9[32]][_0xfcf9[31]])({action:_0xfcf9[27],command:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[29]][_0xfcf9[28]]()})[_0xfcf9[20]](function(_0xdcd1x14){return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x14)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[36]]= function(_0xdcd1xf,_0xdcd1x10){var _0xdcd1x15={output:_0xfcf9[37],errors:_0xfcf9[37]};var _0xdcd1x16=Promise[_0xfcf9[35]](fs[_0xfcf9[38]]);var _0xdcd1x17=Promise[_0xfcf9[35]](fs[_0xfcf9[39]]);return _0xdcd1x16(_0xfcf9[48],_0xfcf9[45])[_0xfcf9[20]](function(_0xdcd1x19){_0xdcd1x15[_0xfcf9[46]]= _0xdcd1x19})[_0xfcf9[17]](function(_0xdcd1x11){_0xdcd1x15[_0xfcf9[46]]= _0xfcf9[47]})[_0xfcf9[20]](function(){return _0xdcd1x16(_0xfcf9[44],_0xfcf9[45])})[_0xfcf9[20]](function(_0xdcd1x18){_0xdcd1x15[_0xfcf9[42]]= _0xdcd1x18})[_0xfcf9[17]](function(_0xdcd1x11){_0xdcd1x15[_0xfcf9[42]]= _0xfcf9[43]})[_0xfcf9[20]](function(_0xdcd1x14){return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x15)})[_0xfcf9[17]](function(_0xdcd1x11){console[_0xfcf9[23]](_0xfcf9[40],_0xdcd1x11[_0xfcf9[41]]);return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[49]]= function(_0xdcd1xf,_0xdcd1x10){changeLogo(_0xdcd1xf,_0xdcd1x10,_0xfcf9[50])};exports[_0xfcf9[51]]= function(_0xdcd1xf,_0xdcd1x10){changeLogo(_0xdcd1xf,_0xdcd1x10,_0xfcf9[52])};function changeLogo(_0xdcd1xf,_0xdcd1x10,_0xdcd1x1b){var _0xdcd1x1c= new UploadFile({dest:path[_0xfcf9[57]](config[_0xfcf9[53]],_0xfcf9[54],_0xfcf9[55],_0xfcf9[56]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0xdcd1x1d,_0xdcd1x1e){return sr()+ path[_0xfcf9[59]](_0xdcd1x1e[_0xfcf9[58]])},messages:{maxNumberOfFiles:_0xfcf9[60],acceptFileTypes:_0xfcf9[61],invalidRequest:_0xfcf9[62]}});_0xdcd1x1c[_0xfcf9[69]](_0xfcf9[63],function(_0xdcd1x1f,_0xdcd1x20){if(!_0xdcd1x20[_0xfcf9[64]][_0xfcf9[58]]){return _0xdcd1x10[_0xfcf9[19]](500)[_0xfcf9[18]](_0xdcd1x1c)};return sequelize[_0xfcf9[68]](function(_0xdcd1x21){return Setting[_0xfcf9[67]](1)[_0xfcf9[20]](function(_0xdcd1x12){if(!_0xdcd1x12){return _0xdcd1x10[_0xfcf9[65]](404)};var _0xdcd1x23={};_0xdcd1x23[_0xdcd1x1b]= _0xdcd1x20[_0xfcf9[64]][_0xfcf9[58]];return _0xdcd1x12[_0xfcf9[66]](_0xdcd1x23,{transaction:_0xdcd1x21})})[_0xfcf9[20]](function(_0xdcd1x22){return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x22)})})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})});_0xdcd1x1c[_0xfcf9[69]](_0xfcf9[70],function(_0xdcd1x11){console[_0xfcf9[23]](_0xfcf9[71],_0xdcd1x11);return handleError(_0xdcd1x10,_0xdcd1x11)});_0xdcd1x1c[_0xfcf9[72]](_0xdcd1xf)}exports[_0xfcf9[73]]= function(_0xdcd1xf,_0xdcd1x10){getLogo(_0xdcd1xf,_0xdcd1x10,_0xfcf9[74])};exports[_0xfcf9[75]]= function(_0xdcd1xf,_0xdcd1x10){getLogo(_0xdcd1xf,_0xdcd1x10,_0xfcf9[76])};function getLogo(_0xdcd1xf,_0xdcd1x10,_0xdcd1x25){var _0xdcd1x26=path[_0xfcf9[57]](config[_0xfcf9[53]],_0xfcf9[54],_0xfcf9[55],_0xfcf9[56],_0xdcd1xf[_0xfcf9[77]][_0xfcf9[58]]);fs[_0xfcf9[39]](_0xdcd1x26,function(_0xdcd1x17){if(!_0xdcd1x17){_0xdcd1x26= path[_0xfcf9[57]](config[_0xfcf9[53]],_0xfcf9[54],_0xfcf9[55],_0xfcf9[56],_0xfcf9[78],_0xdcd1x25)};return _0xdcd1x10[_0xfcf9[79]](_0xdcd1x26)})}exports[_0xfcf9[80]]= function(_0xdcd1xf,_0xdcd1x10){var _0xdcd1x27;return Setting[_0xfcf9[67]](1)[_0xfcf9[20]](function(_0xdcd1x12){_0xdcd1x27= _0xdcd1x12;return Agent[_0xfcf9[21]]({attributes:[_0xfcf9[81]]})})[_0xfcf9[20]](function(_0xdcd1x28){var _0xdcd1x29=_[_0xfcf9[82]](_0xdcd1x28,_0xfcf9[81]);var _0xdcd1x2a={value:0,range:0};var _0xdcd1x2b;if(_0xdcd1xf[_0xfcf9[83]][_0xfcf9[81]]){_0xdcd1x2a[_0xfcf9[84]]= Number(_0xdcd1xf[_0xfcf9[83]][_0xfcf9[81]]);while(_[_0xfcf9[85]](_0xdcd1x29,_0xdcd1x2a[_0xfcf9[84]])){_0xdcd1x2a[_0xfcf9[84]]++};_0xdcd1x2b= _[_0xfcf9[87]](_0xdcd1x29,function(_0xdcd1x2c){return _0xdcd1x2c> _0xdcd1x2a[_0xfcf9[84]]})[_0xfcf9[86]]();_0xdcd1x2a[_0xfcf9[88]]= _0xdcd1x2b- _0xdcd1x2a[_0xfcf9[84]]}else {var _0xdcd1x2d=_[_0xfcf9[89]](_0xdcd1x29);_0xdcd1x2a[_0xfcf9[84]]= _0xdcd1x27[_0xfcf9[90]];if(_0xdcd1x2d&& _0xdcd1x2d>= _0xdcd1x27[_0xfcf9[90]]){while(_[_0xfcf9[85]](_0xdcd1x29,_0xdcd1x2a[_0xfcf9[84]])){_0xdcd1x2a[_0xfcf9[84]]++};_0xdcd1x2b= _[_0xfcf9[87]](_0xdcd1x29,function(_0xdcd1x2c){return _0xdcd1x2c> _0xdcd1x2a[_0xfcf9[84]]})[_0xfcf9[86]]();_0xdcd1x2a[_0xfcf9[88]]= _0xdcd1x2b- _0xdcd1x2a[_0xfcf9[84]]}};return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x2a)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[91]]= function(_0xdcd1xf,_0xdcd1x10){var _0xdcd1x27;return Setting[_0xfcf9[67]](1)[_0xfcf9[20]](function(_0xdcd1x12){_0xdcd1x27= _0xdcd1x12;return VoiceMail[_0xfcf9[21]]({attributes:[_0xfcf9[92]]})})[_0xfcf9[20]](function(_0xdcd1x2e){var _0xdcd1x2f=_[_0xfcf9[82]](_0xdcd1x2e,function(_0xdcd1x2c){return Number(_0xdcd1x2c[_0xfcf9[92]])});var _0xdcd1x30={value:0,range:0};var _0xdcd1x2b;var _0xdcd1x31=_[_0xfcf9[89]](_0xdcd1x2f);_0xdcd1x30[_0xfcf9[84]]= _0xdcd1x27[_0xfcf9[93]];if(_0xdcd1x31&& _0xdcd1x31>= _0xdcd1x27[_0xfcf9[93]]){while(_[_0xfcf9[85]](_0xdcd1x2f,_0xdcd1x30[_0xfcf9[84]])){_0xdcd1x30[_0xfcf9[84]]++};_0xdcd1x2b= _[_0xfcf9[87]](_0xdcd1x2f,function(_0xdcd1x2c){return _0xdcd1x2c> _0xdcd1x30[_0xfcf9[84]]})[_0xfcf9[86]]();_0xdcd1x30[_0xfcf9[88]]= _0xdcd1x2b- _0xdcd1x30[_0xfcf9[84]]};return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x30)})[_0xfcf9[17]](function(_0xdcd1x11){console[_0xfcf9[23]](_0xdcd1x11);return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[94]]= function(_0xdcd1xf,_0xdcd1x10){var _0xdcd1x32=require(_0xfcf9[95]);return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]]({name:_0xdcd1x32[_0xfcf9[96]],version:_0xdcd1x32[_0xfcf9[97]],engines:_0xdcd1x32[_0xfcf9[98]]})};exports[_0xfcf9[99]]= function(_0xdcd1xf,_0xdcd1x10){return Setting[_0xfcf9[67]](_0xdcd1xf[_0xfcf9[77]][_0xfcf9[100]])[_0xfcf9[20]](function(_0xdcd1x33){if(!_0xdcd1x33){return _0xdcd1x10[_0xfcf9[65]](404)};return _0xdcd1x10[_0xfcf9[18]](_0xdcd1x33)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[101]]= function(_0xdcd1xf,_0xdcd1x10,_0xdcd1x34){return MailAccount[_0xfcf9[111]]({where:{service:true},include:[{model:MailServerOut,attributes:[_0xfcf9[100],_0xfcf9[103],_0xfcf9[104],_0xfcf9[105],_0xfcf9[106],_0xfcf9[107],_0xfcf9[108],_0xfcf9[109],_0xfcf9[110]]}]})[_0xfcf9[20]](function(_0xdcd1x35){console[_0xfcf9[23]](_0xfcf9[102],_0xdcd1x35);if(!_0xdcd1x35){return _0xdcd1x10[_0xfcf9[65]](404)};return _0xdcd1x10[_0xfcf9[18]](_0xdcd1x35)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[112]]= function(_0xdcd1xf,_0xdcd1x10){return Setting[_0xfcf9[112]](_0xdcd1xf[_0xfcf9[30]])[_0xfcf9[20]](function(_0xdcd1x33){return _0xdcd1x10[_0xfcf9[19]](201)[_0xfcf9[18]](_0xdcd1x33)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[113]]= function(_0xdcd1xf,_0xdcd1x10,_0xdcd1x34){return MailAccount[_0xfcf9[112]](_0xdcd1xf[_0xfcf9[30]],{include:[{model:MailServerOut}]})[_0xfcf9[20]](function(_0xdcd1x35){return _0xdcd1x10[_0xfcf9[19]](201)[_0xfcf9[18]](_0xdcd1x35)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[114]]= function(_0xdcd1xf,_0xdcd1x10){var _0xdcd1x36;return MailAccount[_0xfcf9[67]](_0xdcd1xf[_0xfcf9[77]][_0xfcf9[100]])[_0xfcf9[20]](function(_0xdcd1x35){_0xdcd1x36= _0xdcd1x35;return _0xdcd1x36[_0xfcf9[66]]({name:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[96]],address:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[116]],service:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[117]],signature:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[118]],ListId:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[119]],TemplateId:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[120]]})})[_0xfcf9[20]](function(_0xdcd1x35){if(_0xdcd1xf[_0xfcf9[30]][_0xfcf9[8]]){_0xdcd1xf[_0xfcf9[30]][_0xfcf9[8]][_0xfcf9[108]]= _0xfcf9[115];_0xdcd1xf[_0xfcf9[30]][_0xfcf9[8]][_0xfcf9[109]]= null;return MailServerOut[_0xfcf9[66]](_0xdcd1xf[_0xfcf9[30]].MailServerOut,{where:{id:_0xdcd1xf[_0xfcf9[30]][_0xfcf9[8]][_0xfcf9[100]]},individualHooks:true})}})[_0xfcf9[20]](function(_0xdcd1x37){return _0xdcd1x10[_0xfcf9[65]](200)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[66]]= function(_0xdcd1xf,_0xdcd1x10){if(_0xdcd1xf[_0xfcf9[30]][_0xfcf9[100]]){delete _0xdcd1xf[_0xfcf9[30]][_0xfcf9[100]]};return Setting[_0xfcf9[67]](_0xdcd1xf[_0xfcf9[77]][_0xfcf9[100]])[_0xfcf9[20]](function(_0xdcd1x33){if(!_0xdcd1x33){return _0xdcd1x10[_0xfcf9[65]](404)};var _0xdcd1x38=_[_0xfcf9[121]](_0xdcd1x33,_0xdcd1xf[_0xfcf9[30]]);return _0xdcd1x38[_0xfcf9[122]]()})[_0xfcf9[20]](function(_0xdcd1x33){return _0xdcd1x10[_0xfcf9[19]](200)[_0xfcf9[18]](_0xdcd1x33)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};exports[_0xfcf9[123]]= function(_0xdcd1xf,_0xdcd1x10){return Setting[_0xfcf9[67]](_0xdcd1xf[_0xfcf9[77]][_0xfcf9[100]])[_0xfcf9[20]](function(_0xdcd1x33){if(!_0xdcd1x33){return _0xdcd1x10[_0xfcf9[65]](404)};return _0xdcd1x33[_0xfcf9[123]]()})[_0xfcf9[20]](function(){return _0xdcd1x10[_0xfcf9[65]](204)})[_0xfcf9[17]](function(_0xdcd1x11){return handleError(_0xdcd1x10,_0xdcd1x11)})};function handleError(_0xdcd1x10,_0xdcd1x11){return _0xdcd1x10[_0xfcf9[19]](500)[_0xfcf9[18]](_0xdcd1x11)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Setting = require('../../models').Setting;
-
-var SettingEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SettingEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Setting.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SettingEvents.emit(event + ':' + doc._id, doc);
- SettingEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SettingEvents;
+var _0x57ad=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x65\x74\x74\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x57ad[0];const EventEmitter=require(_0x57ad[1]);const Setting=require(_0x57ad[3])[_0x57ad[2]];var SettingEvents= new EventEmitter();SettingEvents[_0x57ad[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x57ad[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x57ad[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x57ad[6]};for(var e in events){var event=events[e];Setting[_0x57ad[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xb9c4x8,_0xb9c4x9,_0xb9c4xa){SettingEvents[_0x57ad[10]](event+ _0x57ad[8]+ _0xb9c4x8[_0x57ad[9]],_0xb9c4x8);SettingEvents[_0x57ad[10]](event,_0xb9c4x8);_0xb9c4xa(null)}}module[_0x57ad[11]]= SettingEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SettingEvents = require('./setting.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('setting:' + event, socket);
-
- SettingEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SettingEvents.removeListener(event, listener);
- };
-}
+var _0x2ee3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x65\x74\x74\x69\x6E\x67\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x2ee3[0];const SettingEvents=require(_0x2ee3[1]);var events=[_0x2ee3[2],_0x2ee3[3]];exports[_0x2ee3[4]]= function(_0x6204x3){for(var _0x6204x4=0,_0x6204x5=events[_0x2ee3[5]];_0x6204x4< _0x6204x5;_0x6204x4++){var _0x6204x6=events[_0x6204x4];var _0x6204x7=createListener(_0x2ee3[6]+ _0x6204x6,_0x6204x3);SettingEvents[_0x2ee3[7]](_0x6204x6,_0x6204x7);_0x6204x3[_0x2ee3[7]](_0x2ee3[8],removeListener(_0x6204x6,_0x6204x7))}};function createListener(_0x6204x6,_0x6204x3){return function(_0x6204x9){_0x6204x3[_0x2ee3[9]](_0x6204x6,_0x6204x9)}}function removeListener(_0x6204x6,_0x6204x7){return function(){SettingEvents[_0x2ee3[10]](_0x6204x6,_0x6204x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sms_account.controller');
-var license = require('../../config/license/license.service');
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.index);
-router.get('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.show);
-router.get('/:id/applications', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.showApplications);
-router.get('/:id/check', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.checkAccount);
-router.get('/:id/rooms', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.getSmsRooms);
-router.get('/:id/dispositions', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.getDispositions);
-router.post('/', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.create);
-router.post('/:id/dispositions', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.createDisposition);
-router.post('/:id/applications', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.createApplication);
-router.post('/:id/send', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.sendMessage);
-router.post('/:id/receive', license.isValidDate(), license.hasSms(), controller.receiveMessage);
-router.post('/:id/message/:msgId/update', license.isValidDate(), license.hasSms(), controller.updateStatus);
-router.post('/:id/messageStatus', license.isValidDate(), license.hasSms(), controller.messageStatus);
-router.put('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.update);
-router.put('/:id/applications', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.updateApplications);
-router.put('/:id/applications/:appId', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.updateApplication);
-router.put('/:id/dispositions/:dispId', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.updateDisposition);
-router.delete('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.destroy);
-router.delete('/:id/applications', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.bulkDestroyApplications);
-router.delete('/:id/applications/:appId', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.destroyApplication);
-router.delete('/:id/dispositions/:dispId', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.destroyDisposition);
-
-module.exports = router;
+var _0x60a2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x6D\x73\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x53\x6D\x73","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x72\x6F\x6F\x6D\x73","\x67\x65\x74\x53\x6D\x73\x52\x6F\x6F\x6D\x73","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64\x2F\x72\x65\x63\x65\x69\x76\x65","\x72\x65\x63\x65\x69\x76\x65\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x2F\x3A\x6D\x73\x67\x49\x64\x2F\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x53\x74\x61\x74\x75\x73","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x53\x74\x61\x74\x75\x73","\x6D\x65\x73\x73\x61\x67\x65\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x61\x70\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73\x2F\x3A\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0x60a2[0];var express=require(_0x60a2[1]);var auth=require(_0x60a2[2]);var controller=require(_0x60a2[3]);var license=require(_0x60a2[4]);var router=express.Router();router[_0x60a2[13]](_0x60a2[5],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9],_0x60a2[10]]),controller[_0x60a2[12]]);router[_0x60a2[13]](_0x60a2[14],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[15]]);router[_0x60a2[13]](_0x60a2[16],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[17]]);router[_0x60a2[13]](_0x60a2[18],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[19]]);router[_0x60a2[13]](_0x60a2[20],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9],_0x60a2[10]]),controller[_0x60a2[21]]);router[_0x60a2[13]](_0x60a2[22],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9],_0x60a2[10]]),controller[_0x60a2[23]]);router[_0x60a2[25]](_0x60a2[5],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[24]]);router[_0x60a2[25]](_0x60a2[22],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[26]]);router[_0x60a2[25]](_0x60a2[16],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[27]]);router[_0x60a2[25]](_0x60a2[28],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9],_0x60a2[10]]),controller[_0x60a2[29]]);router[_0x60a2[25]](_0x60a2[30],license[_0x60a2[6]](),license[_0x60a2[7]](),controller[_0x60a2[31]]);router[_0x60a2[25]](_0x60a2[32],license[_0x60a2[6]](),license[_0x60a2[7]](),controller[_0x60a2[33]]);router[_0x60a2[25]](_0x60a2[34],license[_0x60a2[6]](),license[_0x60a2[7]](),controller[_0x60a2[35]]);router[_0x60a2[37]](_0x60a2[14],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[36]]);router[_0x60a2[37]](_0x60a2[16],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[38]]);router[_0x60a2[37]](_0x60a2[39],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[40]]);router[_0x60a2[37]](_0x60a2[41],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[42]]);router[_0x60a2[44]](_0x60a2[14],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[43]]);router[_0x60a2[44]](_0x60a2[16],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[45]]);router[_0x60a2[44]](_0x60a2[39],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[46]]);router[_0x60a2[44]](_0x60a2[41],license[_0x60a2[6]](),license[_0x60a2[7]](),auth[_0x60a2[8]](),auth[_0x60a2[11]]([11],[_0x60a2[9]]),controller[_0x60a2[47]]);module[_0x60a2[48]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sms_accounts -> index
- * POST /api/sms_accounts -> create
- * GET /api/sms_accounts/:id -> show
- * PUT /api/sms_accounts/:id -> update
- * DELETE /api/sms_accounts/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-var skebby = require('../../config/sms/skebby');
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var SmsAccount = require('../../models').SmsAccount;
-var SmsQueue = require('../../models').SmsQueue;
-var SmsApplication = require('../../models').SmsApplication;
-var SmsMessage = require('../../models').SmsMessage;
-var SmsRoom = require('../../models').SmsRoom;
-var SmsDisposition = require('../../models').SmsDisposition;
-var Contact = require('../../models').Contact;
-var Interval = require('../../models').Interval;
-var Promise = require('bluebird');
-var moment = require('moment');
-
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of SmsAccounts
-exports.index = function(req, res) {
- return SmsAccount
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(sms_account) {
- res.status(200).send(sms_account);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-// Gets a single SmsAccount from the DB
-exports.show = function(req, res) {
- return SmsAccount
- .findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- return res.sendStatus(404);
- }
- return res.send(smsAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-exports.checkAccount = function(req, res) {
- return SmsAccount
- .findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- return res.sendStatus(404);
- }
- switch (smsAccount.type) {
- case 'twilio':
- var client = require('twilio')(smsAccount.sid, smsAccount.token);
- var getList = Promise.promisify(client.accounts.list);
- return getList();
- break;
- case 'skebby':
- var _mMessage = {
- from: 'Test',
- to: 'Test',
- body: 'Test'
- };
- smsAccount.smstype = 'test';
- return skebby.sendMessage(_mMessage, smsAccount)
- break;
- default:
- throw new Error('There is no authentication for this account');
-
- }
- })
- .then(function(response) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-exports.getDispositions = function(req, res, next) {
- return SmsAccount
- .findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- return res.sendStatus(404);
- }
-
- return smsAccount
- .getSmsDispositions();
- })
- .then(function(smsDispositions) {
- return res.status(200).send({
- rows: smsDispositions,
- count: smsDispositions.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Get Applications
-exports.showApplications = function(req, res, next) {
- return SmsAccount
- .scope('default')
- .findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- return res.sendStatus(404);
- }
- return smsAccount
- .getSmsApplications(_.merge(Util.getQuery(req.query), {
- include: [{
- model: SmsQueue,
- attributes: ['id', 'name']
- }, {
- model: User,
- attributes: ['id', 'name', 'online']
- }, {
- model: Interval,
- attributes: ['id', 'name']
- }]
- }));
- })
- .then(function(smsApplications) {
- return res.send({
- count: smsApplications.length,
- rows: smsApplications
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new SmsAccount in the DB
-exports.create = function(req, res) {
- return SmsAccount
- .create(req.body)
- .then(function(smsAccount) {
- console.log(smsAccount);
- return res.status(201).send(smsAccount);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-exports.createDisposition = function(req, res, next) {
- req.body.SmsAccountId = req.params.id;
-
- return SmsDisposition
- .create(req.body)
- .then(function(smsDiposition) {
- return res.status(201).send(smsDiposition);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a send Message in the DB.
-exports.sendMessage = function(req, res, next) {
- req.body.SmsAccountId = req.params.id;
- req.body.UserId = req.user.id;
-
- return SmsMessage
- .create(req.body, {
- user: req.user
- })
- .then(function(sms_message) {
- return res.status(201).send(sms_message);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a receive Message in the DB.
-function getMessage(message) {
- var _message;
- console.log(message);
- switch (message.accountType) {
- case 'twilio':
- if (message.From && message.To && message.Body) {
- _message = {
- from: message.From,
- to: message.To,
- body: message.Body
- };
- }
- break;
- case 'skebby':
- if ((message.sender && message.receiver && message.text)) {
- _message = {
- from: message.sender,
- to: message.receiver,
- body: message.text
- };
- }
- break;
- default:
- }
- return _message;
-}
-
-exports.receiveMessage = function(req, res, next) {
- var _message;
- var _account;
-
- return SmsAccount
- .findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- throw new Error('SMS account not found');
- }
- _account = smsAccount;
- req.body.accountType = _account.type;
-
- _message = getMessage(req.body);
- if (!_message) {
- throw new Error('SMS message format is not known');
- }
- // console.log(_message);
- if (_account.ListId) {
- return Contact
- .findOrCreate({
- where: {
- ListId: _account.ListId,
- mobile: _message.from
- },
- defaults: {
- ListId: _account.ListId,
- mobile: _message.from
- }
- });
- } else {
- return [];
- }
-
- })
- .then(function(contact) {
- return SmsRoom
- .findAll({
- limit: 1,
- where: {
- contact: _message.from,
- SmsAccountId: _account.id
- },
- order: [
- ['createdAt', 'DESC']
- ]
- })
- })
- .then(function(smsroom) {
- var room = smsroom[0];
- if (!room || room.status === 'CLOSED') {
- var parentID = room ? room.id : null;
- return SmsRoom
- .create({
- contact: _message.from,
- SmsAccountId: _account.id,
- status: 'NEW',
- ParentId: parentID,
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- smsIn: 1
- })
- } else {
- return room
- .updateAttributes({
- status: 'OPEN',
- openReason: 'system',
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- smsIn: ++room.smsIn
- });
- }
- })
- .then(function(room) {
- // console.log(room);
- _message.SmsAccountId = _account.id;
- _message.SmsRoomId = room.id;
- _message.status = 'RECEIVED';
-
- return SmsMessage
- .create(_message)
- })
- .then(function(smsMessage) {
- return res.status(201).send(smsMessage);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-// Updates an existing SmsAccount in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SmsAccount.findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(smsAccount, req.body);
- return updated
- .save();
- })
- .then(function(smsAccount) {
- return res.status(200).send(smsAccount);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- console.log(' err', err);
- return handleError(res, err);
- });
-
-}
-
-exports.updateDisposition = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return SmsDisposition
- .findById(req.params.dispId)
- .then(function(smsDisposition) {
- if (!smsDisposition) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsDisposition, req.body);
- return updated
- .save();
- })
- .then(function(mailAccount) {
- return res.status(200).send(mailAccount);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Updates message status in the DB for TWILIO account
-exports.updateStatus = function(req, res) {
-
- return SmsMessage
- .findById(req.params.msgId)
- .then(function(smsMessage) {
- if (!smsMessage) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsMessage, {
- status: _.toUpper(req.body.MessageStatus),
- errorcode: req.body.ErrorCode
- });
- return updated
- .save();
- })
- .then(function(smsMessage) {
- return res.status(200).send(smsMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-exports.messageStatus = function(req, res) {
-
- return SmsMessage
- .findOne({
- where: {
- skebby_message_id: req.body.skebby_dispatch_id
- }
- })
- .then(function(smsMessage) {
- if (!smsMessage) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsMessage, {
- status: req.body.status,
- errorcode: req.body.error_code
- });
- return updated
- .save();
- })
- .then(function(smsMessage) {
- return res.status(200).send(smsMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- }
- // Updates aapplications
-exports.updateApplications = function(req, res) {
-
- var priority = 0;
- var apps = req.body;
-
- apps.forEach(function(app) {
- delete app.id;
- delete app.createdAt;
- delete app.updatedAt;
-
- app.priority = ++priority;
- });
-
- return sequelize.transaction(function(t) {
- return SmsApplication
- .destroy({
- where: {
- SmsAccountId: req.params.id
- },
- individualHooks: true,
- transaction: t
- }).then(function(smsApplication) {
- return SmsApplication
- .bulkCreate(apps, {
- individualHooks: true,
- transaction: t
- });
- });
- }).then(function(smsAccounts) {
- return res.status(200).send({
- count: smsAccounts.length,
- rows: smsAccounts
- });
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-// Deletes a SmsAccount from the DB
-exports.destroy = function(req, res) {
- return SmsAccount.findById(req.params.id)
- .then(function(smsAccount) {
- if (!smsAccount) {
- return res.sendStatus(404);
- }
-
- return smsAccount
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-exports.destroyApplication = function(req, res, next) {
- return SmsApplication
- .findById(req.params.appId)
- .then(function(smsApplication) {
- if (!smsApplication) {
- return res.sendStatus(404);
- }
-
- return smsApplication
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.destroyDisposition = function(req, res, next) {
- return SmsDisposition
- .findById(req.params.dispId)
- .then(function(smsDiposition) {
- if (!smsDiposition) {
- return res.sendStatus(404);
- }
- return smsDiposition
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroyApplications = function(req, res) {
- return SmsApplication
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-exports.getSmsRooms = function(req, res, next) {
- var _query = {
- where: {
- SmsAccountId: req.params.id,
- $and: []
- },
- attributes: ['id', 'contact', 'updatedAt', 'tags', 'disposition', 'voiceSource', 'lastEvent'],
- include: []
- };
-
- // TO MOVE SOON INTO AN EXTENAL UTIL FILE
- if (req.query) {
- if (req.query.tags) {
- if (_.isArray(req.query.tags)) {
- for (var i = 0; i < req.query.tags.length; i++) {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags[i] + '%'
- }
- });
- }
- } else {
- _query.where.$and.push({
- tags: {
- $like: '%' + req.query.tags + '%'
- }
- });
- }
-
- delete req.query.tags;
- }
-
- _.merge(_query.where, req.query);
- }
-
- switch (req.user.role) {
- case 'agent':
- _query.include.push({
- model: User,
- attributes: ['id']
- });
- var _agents;
- var _agentQueues;
- var _accountQueues;
-
- return User
- .findById(req.user.id)
- .then(function(user) {
- if (user) {
- return user
- .getSmsQueues();
- } else {
- return [];
- }
- })
- .then(function(queues) {
- _agentQueues = _.map(queues, 'id');
- return SmsAccount
- .findById(req.params.id);
- })
- .then(function(account) {
- return account
- .getSmsApplications({
- where: {
- $or: [{
- app: 'queue'
- }, {
- app: 'agent'
- }]
- }
- });
- })
- .then(function(apps) {
- _agents = _.map(_.find(apps, {
- 'app': 'agent'
- }), 'UserId');
- _accountQueues = _.map(_.find(apps, {
- 'app': 'queue'
- }), 'SmsQueueId');
- // _accountQueues = _.map(queues, 'SmsQueueId');
- if (_.intersection(_agentQueues, _accountQueues).length || _.intersection(_agents, [req.user.id]).length) {
- return SmsRoom
- .findAll(_query)
- .then(function(smsRooms) {
- return res.status(200).send(smsRooms);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
- } else {
- return res.status(200).send([]);
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-
- default:
-
- return SmsRoom
- .findAll(_query)
- .then(function(smsRooms) {
- return res.status(200).send(smsRooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-exports.createApplication = function(req, res, next) {
-
- return SmsApplication
- .max('priority', {
- where: {
- SmsAccountId: req.params.id
- }
- }).then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- req.body.SmsAccountId = req.params.id;
-
- return SmsApplication.create(req.body);
- })
- .then(function(smsApplication) {
- return res.status(201).send(smsApplication);
- })
- .catch(function(err) {
- console.log('err', err);
- return handleError(res, err);
- });
-};
-
-exports.updateApplication = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SmsApplication.findById(req.params.appId)
- .then(function(smsApplication) {
- if (!smsApplication) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsApplication, req.body);
- return updated.save();
- })
- .then(function(smsApplication) {
- return res.status(200).send(smsApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
+var _0xe510=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6D\x73\x2F\x73\x6B\x65\x62\x62\x79","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x53\x6D\x73\x51\x75\x65\x75\x65","\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x53\x6D\x73\x52\x6F\x6F\x6D","\x53\x6D\x73\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x43\x6F\x6E\x74\x61\x63\x74","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x73\x69\x64","\x74\x6F\x6B\x65\x6E","\x74\x77\x69\x6C\x69\x6F","\x6C\x69\x73\x74","\x61\x63\x63\x6F\x75\x6E\x74\x73","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x54\x65\x73\x74","\x73\x6D\x73\x74\x79\x70\x65","\x74\x65\x73\x74","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x73\x6B\x65\x62\x62\x79","\x54\x68\x65\x72\x65\x20\x69\x73\x20\x6E\x6F\x20\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x74\x68\x69\x73\x20\x61\x63\x63\x6F\x75\x6E\x74","\x74\x79\x70\x65","\x67\x65\x74\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x53\x6D\x73\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x73\x68\x6F\x77\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6E\x61\x6D\x65","\x6F\x6E\x6C\x69\x6E\x65","\x6D\x65\x72\x67\x65","\x67\x65\x74\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x6C\x6F\x67","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x55\x73\x65\x72\x49\x64","\x75\x73\x65\x72","\x46\x72\x6F\x6D","\x54\x6F","\x42\x6F\x64\x79","\x73\x65\x6E\x64\x65\x72","\x72\x65\x63\x65\x69\x76\x65\x72","\x74\x65\x78\x74","\x61\x63\x63\x6F\x75\x6E\x74\x54\x79\x70\x65","\x72\x65\x63\x65\x69\x76\x65\x4D\x65\x73\x73\x61\x67\x65","\x65\x72\x72\x6F\x72","\x53\x6D\x73\x52\x6F\x6F\x6D\x49\x64","\x52\x45\x43\x45\x49\x56\x45\x44","\x43\x4C\x4F\x53\x45\x44","\x66\x72\x6F\x6D","\x4E\x45\x57","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x4F\x50\x45\x4E","\x73\x79\x73\x74\x65\x6D","\x73\x6D\x73\x49\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x66\x69\x6E\x64\x41\x6C\x6C","\x53\x4D\x53\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x53\x4D\x53\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x66\x6F\x72\x6D\x61\x74\x20\x69\x73\x20\x6E\x6F\x74\x20\x6B\x6E\x6F\x77\x6E","\x4C\x69\x73\x74\x49\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x20\x20\x20\x65\x72\x72","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x69\x73\x70\x49\x64","\x75\x70\x64\x61\x74\x65\x53\x74\x61\x74\x75\x73","\x74\x6F\x55\x70\x70\x65\x72","\x45\x72\x72\x6F\x72\x43\x6F\x64\x65","\x6D\x73\x67\x49\x64","\x6D\x65\x73\x73\x61\x67\x65\x53\x74\x61\x74\x75\x73","\x65\x72\x72\x6F\x72\x5F\x63\x6F\x64\x65","\x73\x6B\x65\x62\x62\x79\x5F\x64\x69\x73\x70\x61\x74\x63\x68\x5F\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x6F\x72\x45\x61\x63\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x61\x70\x70\x49\x64","\x64\x65\x73\x74\x72\x6F\x79\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x69\x64\x73","\x67\x65\x74\x53\x6D\x73\x52\x6F\x6F\x6D\x73","\x63\x6F\x6E\x74\x61\x63\x74","\x74\x61\x67\x73","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x76\x6F\x69\x63\x65\x53\x6F\x75\x72\x63\x65","\x6C\x61\x73\x74\x45\x76\x65\x6E\x74","\x69\x73\x41\x72\x72\x61\x79","\x25","\x70\x75\x73\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x69\x6E\x63\x6C\x75\x64\x65","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64","\x6D\x61\x70","\x71\x75\x65\x75\x65","\x53\x6D\x73\x51\x75\x65\x75\x65\x49\x64","\x69\x6E\x74\x65\x72\x73\x65\x63\x74\x69\x6F\x6E","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x72\x6F\x6C\x65","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x65\x72\x72","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E"];_0xe510[0];var _=require(_0xe510[1]);var Util=require(_0xe510[2]);var skebby=require(_0xe510[3]);var sequelize=require(_0xe510[5])[_0xe510[4]];var User=require(_0xe510[5])[_0xe510[6]];var SmsAccount=require(_0xe510[5])[_0xe510[7]];var SmsQueue=require(_0xe510[5])[_0xe510[8]];var SmsApplication=require(_0xe510[5])[_0xe510[9]];var SmsMessage=require(_0xe510[5])[_0xe510[10]];var SmsRoom=require(_0xe510[5])[_0xe510[11]];var SmsDisposition=require(_0xe510[5])[_0xe510[12]];var Contact=require(_0xe510[5])[_0xe510[13]];var Interval=require(_0xe510[5])[_0xe510[14]];var Promise=require(_0xe510[15]);var moment=require(_0xe510[16]);function handleError(_0x3b88x11,_0x3b88x12){return _0x3b88x11[_0xe510[18]](500)[_0xe510[17]](_0x3b88x12)}exports[_0xe510[19]]= function(_0x3b88x13,_0x3b88x11){return SmsAccount[_0xe510[24]](Util[_0xe510[23]](_0x3b88x13[_0xe510[22]]))[_0xe510[21]](function(_0x3b88x14){_0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x14)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[25]]= function(_0x3b88x13,_0x3b88x11){return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){return _0x3b88x11[_0xe510[26]](404)};return _0x3b88x11[_0xe510[17]](_0x3b88x15)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[30]]= function(_0x3b88x13,_0x3b88x11){return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){return _0x3b88x11[_0xe510[26]](404)};switch(_0x3b88x15[_0xe510[43]]){case _0xe510[33]:var _0x3b88x17=require(_0xe510[33])(_0x3b88x15[_0xe510[31]],_0x3b88x15[_0xe510[32]]);var _0x3b88x18=Promise[_0xe510[36]](_0x3b88x17[_0xe510[35]][_0xe510[34]]);return _0x3b88x18();break;case _0xe510[41]:var _0x3b88x19={from:_0xe510[37],to:_0xe510[37],body:_0xe510[37]};_0x3b88x15[_0xe510[38]]= _0xe510[39];return skebby[_0xe510[40]](_0x3b88x19,_0x3b88x15);break;default:throw new Error(_0xe510[42])}})[_0xe510[21]](function(_0x3b88x16){return _0x3b88x11[_0xe510[26]](200)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[44]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){return _0x3b88x11[_0xe510[26]](404)};return _0x3b88x15[_0xe510[46]]()})[_0xe510[21]](function(_0x3b88x1b){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]]({rows:_0x3b88x1b,count:_0x3b88x1b[_0xe510[45]]})})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[47]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){return SmsAccount[_0xe510[53]](_0xe510[52])[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){return _0x3b88x11[_0xe510[26]](404)};return _0x3b88x15[_0xe510[51]](_[_0xe510[50]](Util[_0xe510[23]](_0x3b88x13[_0xe510[22]]),{include:[{model:SmsQueue,attributes:[_0xe510[27],_0xe510[48]]},{model:User,attributes:[_0xe510[27],_0xe510[48],_0xe510[49]]},{model:Interval,attributes:[_0xe510[27],_0xe510[48]]}]}))})[_0xe510[21]](function(_0x3b88x1c){return _0x3b88x11[_0xe510[17]]({count:_0x3b88x1c[_0xe510[45]],rows:_0x3b88x1c})})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[54]]= function(_0x3b88x13,_0x3b88x11){return SmsAccount[_0xe510[54]](_0x3b88x13[_0xe510[58]])[_0xe510[21]](function(_0x3b88x15){console[_0xe510[57]](_0x3b88x15);return _0x3b88x11[_0xe510[18]](201)[_0xe510[17]](_0x3b88x15)})[_0xe510[20]](sequelize.UniqueConstraintError,function(_0x3b88x12){return Util[_0xe510[56]][_0xe510[55]](_0x3b88x11,_0x3b88x12)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[59]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){_0x3b88x13[_0xe510[58]][_0xe510[60]]= _0x3b88x13[_0xe510[28]][_0xe510[27]];return SmsDisposition[_0xe510[54]](_0x3b88x13[_0xe510[58]])[_0xe510[21]](function(_0x3b88x1d){return _0x3b88x11[_0xe510[18]](201)[_0xe510[17]](_0x3b88x1d)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[40]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){_0x3b88x13[_0xe510[58]][_0xe510[60]]= _0x3b88x13[_0xe510[28]][_0xe510[27]];_0x3b88x13[_0xe510[58]][_0xe510[61]]= _0x3b88x13[_0xe510[62]][_0xe510[27]];return SmsMessage[_0xe510[54]](_0x3b88x13[_0xe510[58]],{user:_0x3b88x13[_0xe510[62]]})[_0xe510[21]](function(_0x3b88x1e){return _0x3b88x11[_0xe510[18]](201)[_0xe510[17]](_0x3b88x1e)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};function getMessage(_0x3b88x20){var _0x3b88x21;console[_0xe510[57]](_0x3b88x20);switch(_0x3b88x20[_0xe510[69]]){case _0xe510[33]:if(_0x3b88x20[_0xe510[63]]&& _0x3b88x20[_0xe510[64]]&& _0x3b88x20[_0xe510[65]]){_0x3b88x21= {from:_0x3b88x20[_0xe510[63]],to:_0x3b88x20[_0xe510[64]],body:_0x3b88x20[_0xe510[65]]}};break;case _0xe510[41]:if((_0x3b88x20[_0xe510[66]]&& _0x3b88x20[_0xe510[67]]&& _0x3b88x20[_0xe510[68]])){_0x3b88x21= {from:_0x3b88x20[_0xe510[66]],to:_0x3b88x20[_0xe510[67]],body:_0x3b88x20[_0xe510[68]]}};break;default:};return _0x3b88x21}exports[_0xe510[70]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){var _0x3b88x21;var _0x3b88x22;return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){throw new Error(_0xe510[86])};_0x3b88x22= _0x3b88x15;_0x3b88x13[_0xe510[58]][_0xe510[69]]= _0x3b88x22[_0xe510[43]];_0x3b88x21= getMessage(_0x3b88x13[_0xe510[58]]);if(!_0x3b88x21){throw new Error(_0xe510[87])};if(_0x3b88x22[_0xe510[88]]){return Contact[_0xe510[89]]({where:{ListId:_0x3b88x22[_0xe510[88]],mobile:_0x3b88x21[_0xe510[75]]},defaults:{ListId:_0x3b88x22[_0xe510[88]],mobile:_0x3b88x21[_0xe510[75]]}})}else {return []}})[_0xe510[21]](function(_0x3b88x27){return SmsRoom[_0xe510[85]]({limit:1,where:{contact:_0x3b88x21[_0xe510[75]],SmsAccountId:_0x3b88x22[_0xe510[27]]},order:[[_0xe510[83],_0xe510[84]]]})})[_0xe510[21]](function(_0x3b88x25){var _0x3b88x24=_0x3b88x25[0];if(!_0x3b88x24|| _0x3b88x24[_0xe510[18]]=== _0xe510[74]){var _0x3b88x26=_0x3b88x24?_0x3b88x24[_0xe510[27]]:null;return SmsRoom[_0xe510[54]]({contact:_0x3b88x21[_0xe510[75]],SmsAccountId:_0x3b88x22[_0xe510[27]],status:_0xe510[76],ParentId:_0x3b88x26,lastEvent:_0xe510[73],lastEventAt:moment()[_0xe510[78]](_0xe510[77]),smsIn:1})}else {return _0x3b88x24[_0xe510[82]]({status:_0xe510[79],openReason:_0xe510[80],lastEvent:_0xe510[73],lastEventAt:moment()[_0xe510[78]](_0xe510[77]),smsIn:++_0x3b88x24[_0xe510[81]]})}})[_0xe510[21]](function(_0x3b88x24){_0x3b88x21[_0xe510[60]]= _0x3b88x22[_0xe510[27]];_0x3b88x21[_0xe510[72]]= _0x3b88x24[_0xe510[27]];_0x3b88x21[_0xe510[18]]= _0xe510[73];return SmsMessage[_0xe510[54]](_0x3b88x21)})[_0xe510[21]](function(_0x3b88x23){return _0x3b88x11[_0xe510[18]](201)[_0xe510[17]](_0x3b88x23)})[_0xe510[20]](function(_0x3b88x12){console[_0xe510[71]](_0x3b88x12);return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[90]]= function(_0x3b88x13,_0x3b88x11){if(_0x3b88x13[_0xe510[58]][_0xe510[27]]){delete _0x3b88x13[_0xe510[58]][_0xe510[27]]};return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){return _0x3b88x11[_0xe510[26]](404)};var _0x3b88x28=_[_0xe510[50]](_0x3b88x15,_0x3b88x13[_0xe510[58]]);return _0x3b88x28[_0xe510[92]]()})[_0xe510[21]](function(_0x3b88x15){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x15)})[_0xe510[20]](sequelize.UniqueConstraintError,function(_0x3b88x12){return Util[_0xe510[56]][_0xe510[55]](_0x3b88x11,_0x3b88x12)})[_0xe510[20]](function(_0x3b88x12){console[_0xe510[57]](_0xe510[91],_0x3b88x12);return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[93]]= function(_0x3b88x13,_0x3b88x11){if(_0x3b88x13[_0xe510[58]][_0xe510[27]]){delete _0x3b88x13[_0xe510[58]][_0xe510[27]]};return SmsDisposition[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[94]])[_0xe510[21]](function(_0x3b88x2a){if(!_0x3b88x2a){return _0x3b88x11[_0xe510[26]](404)};var _0x3b88x28=_[_0xe510[50]](_0x3b88x2a,_0x3b88x13[_0xe510[58]]);return _0x3b88x28[_0xe510[92]]()})[_0xe510[21]](function(_0x3b88x29){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x29)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[95]]= function(_0x3b88x13,_0x3b88x11){return SmsMessage[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[98]])[_0xe510[21]](function(_0x3b88x23){if(!_0x3b88x23){return _0x3b88x11[_0xe510[26]](404)};var _0x3b88x28=_[_0xe510[50]](_0x3b88x23,{status:_[_0xe510[96]](_0x3b88x13[_0xe510[58]].MessageStatus),errorcode:_0x3b88x13[_0xe510[58]][_0xe510[97]]});return _0x3b88x28[_0xe510[92]]()})[_0xe510[21]](function(_0x3b88x23){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x23)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[99]]= function(_0x3b88x13,_0x3b88x11){return SmsMessage[_0xe510[102]]({where:{skebby_message_id:_0x3b88x13[_0xe510[58]][_0xe510[101]]}})[_0xe510[21]](function(_0x3b88x23){if(!_0x3b88x23){return _0x3b88x11[_0xe510[26]](404)};var _0x3b88x28=_[_0xe510[50]](_0x3b88x23,{status:_0x3b88x13[_0xe510[58]][_0xe510[18]],errorcode:_0x3b88x13[_0xe510[58]][_0xe510[100]]});return _0x3b88x28[_0xe510[92]]()})[_0xe510[21]](function(_0x3b88x23){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x23)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[103]]= function(_0x3b88x13,_0x3b88x11){var _0x3b88x2b=0;var _0x3b88x2c=_0x3b88x13[_0xe510[58]];_0x3b88x2c[_0xe510[106]](function(_0x3b88x2d){delete _0x3b88x2d[_0xe510[27]];delete _0x3b88x2d[_0xe510[83]];delete _0x3b88x2d[_0xe510[104]];_0x3b88x2d[_0xe510[105]]= ++_0x3b88x2b});return sequelize[_0xe510[109]](function(_0x3b88x2f){return SmsApplication[_0xe510[108]]({where:{SmsAccountId:_0x3b88x13[_0xe510[28]][_0xe510[27]]},individualHooks:true,transaction:_0x3b88x2f})[_0xe510[21]](function(_0x3b88x30){return SmsApplication[_0xe510[107]](_0x3b88x2c,{individualHooks:true,transaction:_0x3b88x2f})})})[_0xe510[21]](function(_0x3b88x2e){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]]({count:_0x3b88x2e[_0xe510[45]],rows:_0x3b88x2e})})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[108]]= function(_0x3b88x13,_0x3b88x11){return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x15){if(!_0x3b88x15){return _0x3b88x11[_0xe510[26]](404)};return _0x3b88x15[_0xe510[108]]()})[_0xe510[21]](function(){return _0x3b88x11[_0xe510[26]](204)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[110]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){return SmsApplication[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[111]])[_0xe510[21]](function(_0x3b88x30){if(!_0x3b88x30){return _0x3b88x11[_0xe510[26]](404)};return _0x3b88x30[_0xe510[108]]()})[_0xe510[21]](function(){return _0x3b88x11[_0xe510[26]](204)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[112]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){return SmsDisposition[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[94]])[_0xe510[21]](function(_0x3b88x1d){if(!_0x3b88x1d){return _0x3b88x11[_0xe510[26]](404)};return _0x3b88x1d[_0xe510[108]]()})[_0xe510[21]](function(){return _0x3b88x11[_0xe510[26]](204)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[113]]= function(_0x3b88x13,_0x3b88x11){return SmsApplication[_0xe510[108]]({where:{id:_0x3b88x13[_0xe510[22]][_0xe510[114]]},individualHooks:true})[_0xe510[21]](function(){return _0x3b88x11[_0xe510[26]](204)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[115]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){var _0x3b88x31={where:{SmsAccountId:_0x3b88x13[_0xe510[28]][_0xe510[27]],$and:[]},attributes:[_0xe510[27],_0xe510[116],_0xe510[104],_0xe510[117],_0xe510[118],_0xe510[119],_0xe510[120]],include:[]};if(_0x3b88x13[_0xe510[22]]){if(_0x3b88x13[_0xe510[22]][_0xe510[117]]){if(_[_0xe510[121]](_0x3b88x13[_0xe510[22]][_0xe510[117]])){for(var _0x3b88x32=0;_0x3b88x32< _0x3b88x13[_0xe510[22]][_0xe510[117]][_0xe510[45]];_0x3b88x32++){_0x3b88x31[_0xe510[125]][_0xe510[124]][_0xe510[123]]({tags:{$like:_0xe510[122]+ _0x3b88x13[_0xe510[22]][_0xe510[117]][_0x3b88x32]+ _0xe510[122]}})}}else {_0x3b88x31[_0xe510[125]][_0xe510[124]][_0xe510[123]]({tags:{$like:_0xe510[122]+ _0x3b88x13[_0xe510[22]][_0xe510[117]]+ _0xe510[122]}})};delete _0x3b88x13[_0xe510[22]][_0xe510[117]]};_[_0xe510[50]](_0x3b88x31[_0xe510[125]],_0x3b88x13[_0xe510[22]])};switch(_0x3b88x13[_0xe510[62]][_0xe510[134]]){case _0xe510[127]:_0x3b88x31[_0xe510[126]][_0xe510[123]]({model:User,attributes:[_0xe510[27]]});var _0x3b88x33;var _0x3b88x34;var _0x3b88x35;return User[_0xe510[29]](_0x3b88x13[_0xe510[62]][_0xe510[27]])[_0xe510[21]](function(_0x3b88x39){if(_0x3b88x39){return _0x3b88x39[_0xe510[133]]()}else {return []}})[_0xe510[21]](function(_0x3b88x38){_0x3b88x34= _[_0xe510[129]](_0x3b88x38,_0xe510[27]);return SmsAccount[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[27]])})[_0xe510[21]](function(_0x3b88x37){return _0x3b88x37[_0xe510[51]]({where:{$or:[{app:_0xe510[130]},{app:_0xe510[127]}]}})})[_0xe510[21]](function(_0x3b88x2c){_0x3b88x33= _[_0xe510[129]](_[_0xe510[128]](_0x3b88x2c,{"\x61\x70\x70":_0xe510[127]}),_0xe510[61]);_0x3b88x35= _[_0xe510[129]](_[_0xe510[128]](_0x3b88x2c,{"\x61\x70\x70":_0xe510[130]}),_0xe510[131]);if(_[_0xe510[132]](_0x3b88x34,_0x3b88x35)[_0xe510[45]]|| _[_0xe510[132]](_0x3b88x33,[_0x3b88x13[_0xe510[62]][_0xe510[27]]])[_0xe510[45]]){return SmsRoom[_0xe510[85]](_0x3b88x31)[_0xe510[21]](function(_0x3b88x36){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x36)})[_0xe510[20]](function(_0x3b88x12){console[_0xe510[71]](_0x3b88x12);return handleError(_0x3b88x11,_0x3b88x12)})}else {return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]]([])}})[_0xe510[20]](function(_0x3b88x12){console[_0xe510[71]](_0x3b88x12)});default:return SmsRoom[_0xe510[85]](_0x3b88x31)[_0xe510[21]](function(_0x3b88x36){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x36)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})}};exports[_0xe510[135]]= function(_0x3b88x13,_0x3b88x11,_0x3b88x1a){return SmsApplication[_0xe510[137]](_0xe510[105],{where:{SmsAccountId:_0x3b88x13[_0xe510[28]][_0xe510[27]]}})[_0xe510[21]](function(_0x3b88x3a){_0x3b88x13[_0xe510[58]][_0xe510[105]]= _0x3b88x3a?++_0x3b88x3a:1;_0x3b88x13[_0xe510[58]][_0xe510[60]]= _0x3b88x13[_0xe510[28]][_0xe510[27]];return SmsApplication[_0xe510[54]](_0x3b88x13[_0xe510[58]])})[_0xe510[21]](function(_0x3b88x30){return _0x3b88x11[_0xe510[18]](201)[_0xe510[17]](_0x3b88x30)})[_0xe510[20]](function(_0x3b88x12){console[_0xe510[57]](_0xe510[136],_0x3b88x12);return handleError(_0x3b88x11,_0x3b88x12)})};exports[_0xe510[138]]= function(_0x3b88x13,_0x3b88x11){if(_0x3b88x13[_0xe510[58]][_0xe510[27]]){delete _0x3b88x13[_0xe510[58]][_0xe510[27]]};return SmsApplication[_0xe510[29]](_0x3b88x13[_0xe510[28]][_0xe510[111]])[_0xe510[21]](function(_0x3b88x30){if(!_0x3b88x30){return _0x3b88x11[_0xe510[26]](404)};var _0x3b88x28=_[_0xe510[50]](_0x3b88x30,_0x3b88x13[_0xe510[58]]);return _0x3b88x28[_0xe510[92]]()})[_0xe510[21]](function(_0x3b88x30){return _0x3b88x11[_0xe510[18]](200)[_0xe510[17]](_0x3b88x30)})[_0xe510[20]](function(_0x3b88x12){return handleError(_0x3b88x11,_0x3b88x12)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SmsAccount = require('../../models').SmsAccount;
-
-var SmsAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SmsAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SmsAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SmsAccountEvents.emit(event + ':' + doc._id, doc);
- SmsAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SmsAccountEvents;
+var _0xe6ab=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xe6ab[0];const EventEmitter=require(_0xe6ab[1]);const SmsAccount=require(_0xe6ab[3])[_0xe6ab[2]];var SmsAccountEvents= new EventEmitter();SmsAccountEvents[_0xe6ab[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xe6ab[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xe6ab[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xe6ab[6]};for(var e in events){var event=events[e];SmsAccount[_0xe6ab[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xa90bx8,_0xa90bx9,_0xa90bxa){SmsAccountEvents[_0xe6ab[10]](event+ _0xe6ab[8]+ _0xa90bx8[_0xe6ab[9]],_0xa90bx8);SmsAccountEvents[_0xe6ab[10]](event,_0xa90bx8);_0xa90bxa(null)}}module[_0xe6ab[11]]= SmsAccountEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SmsAccountEvents = require('./sms_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sms_account:' + event, socket);
-
- SmsAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SmsAccountEvents.removeListener(event, listener);
- };
-}
+var _0x8276=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6D\x73\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6D\x73\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x8276[0];const SmsAccountEvents=require(_0x8276[1]);var events=[_0x8276[2],_0x8276[3]];exports[_0x8276[4]]= function(_0x1984x3){for(var _0x1984x4=0,_0x1984x5=events[_0x8276[5]];_0x1984x4< _0x1984x5;_0x1984x4++){var _0x1984x6=events[_0x1984x4];var _0x1984x7=createListener(_0x8276[6]+ _0x1984x6,_0x1984x3);SmsAccountEvents[_0x8276[7]](_0x1984x6,_0x1984x7);_0x1984x3[_0x8276[7]](_0x8276[8],removeListener(_0x1984x6,_0x1984x7))}};function createListener(_0x1984x6,_0x1984x3){return function(_0x1984x9){_0x1984x3[_0x8276[9]](_0x1984x6,_0x1984x9)}}function removeListener(_0x1984x6,_0x1984x7){return function(){SmsAccountEvents[_0x8276[10]](_0x1984x6,_0x1984x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sms_application.controller');
-var license = require('../../config/license/license.service');
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x8bfb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x6D\x73\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x53\x6D\x73","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x8bfb[0];var express=require(_0x8bfb[1]);var auth=require(_0x8bfb[2]);var controller=require(_0x8bfb[3]);var license=require(_0x8bfb[4]);var router=express.Router();router[_0x8bfb[11]](_0x8bfb[5],auth[_0x8bfb[6]](),license[_0x8bfb[7]](),auth[_0x8bfb[9]]([11],[_0x8bfb[8]]),controller[_0x8bfb[10]]);router[_0x8bfb[11]](_0x8bfb[12],auth[_0x8bfb[6]](),license[_0x8bfb[7]](),auth[_0x8bfb[9]]([11],[_0x8bfb[8]]),controller[_0x8bfb[13]]);router[_0x8bfb[15]](_0x8bfb[5],auth[_0x8bfb[6]](),license[_0x8bfb[7]](),auth[_0x8bfb[9]]([11],[_0x8bfb[8]]),controller[_0x8bfb[14]]);router[_0x8bfb[17]](_0x8bfb[12],auth[_0x8bfb[6]](),license[_0x8bfb[7]](),auth[_0x8bfb[9]]([11],[_0x8bfb[8]]),controller[_0x8bfb[16]]);router[_0x8bfb[19]](_0x8bfb[12],auth[_0x8bfb[6]](),license[_0x8bfb[7]](),auth[_0x8bfb[9]]([11],[_0x8bfb[8]]),controller[_0x8bfb[18]]);module[_0x8bfb[20]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sms/applications -> index
- * POST /api/sms/applications -> create
- * GET /api/sms/applications/:id -> show
- * PUT /api/sms/applications/:id -> update
- * DELETE /api/sms/applications/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var SmsApplication = require('../../models').SmsApplication;
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of SmsApplications
-exports.index = function(req, res) {
- return SmsApplication
- .findAll({
- where: req.query,
- order: 'priority',
- include: [{
- all: true
- }]
- })
- .then(function(smsApplications) {
- return res.status(200).send(smsApplications);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Gets a single SmsApplication from the DB
-exports.show = function(req, res) {
- return SmsApplication
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(smsApplication) {
- if (!smsApplication) {
- return res.sendStatus(404);
- }
- return res.send(smsApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-// Creates a new SmsApplication in the DB
-exports.create = function(req, res) {
-
- return SmsApplication
- .max('priority', {
- where: {
- SmsAccountId: req.body.SmsAccountId
- }
- })
- .then(function(max) {
- // SET PRIORITY
- req.body.priority = max ? ++max : 1;
- return SmsApplication
- .create(req.body)
- })
- .then(function(smsApplication) {
- return res.status(201).send(smsApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-
-}
-
-// Updates an existing SmsApplication in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SmsApplication
- .findById(req.params.id)
- .then(function(smsApplication) {
- if (!smsApplication) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsApplication, req.body);
- return updated
- .save()
-
- })
- .then(function(smsApplication) {
- return res.status(200).send(smsApplication);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-}
-
-
-// Deletes a SmsApplication from the DB
-exports.destroy = function(req, res) {
- return SmsApplication
- .findById(req.params.id)
- .then(function(smsApplication) {
- if (!smsApplication) {
- return res.sendStatus(404);
- }
- return smsApplication
- .destroy()
-
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
+var _0x8750=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x70\x72\x69\x6F\x72\x69\x74\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x78","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x8750[0];var _=require(_0x8750[1]);var Util=require(_0x8750[2]);var SmsApplication=require(_0x8750[4])[_0x8750[3]];function handleError(_0x42d9x5,_0x42d9x6){return _0x42d9x5[_0x8750[6]](500)[_0x8750[5]](_0x42d9x6)}exports[_0x8750[7]]= function(_0x42d9x7,_0x42d9x5){return SmsApplication[_0x8750[12]]({where:_0x42d9x7[_0x8750[10]],order:_0x8750[11],include:[{all:true}]})[_0x8750[9]](function(_0x42d9x8){return _0x42d9x5[_0x8750[6]](200)[_0x8750[5]](_0x42d9x8)})[_0x8750[8]](function(_0x42d9x6){return handleError(_0x42d9x5,_0x42d9x6)})};exports[_0x8750[13]]= function(_0x42d9x7,_0x42d9x5){return SmsApplication[_0x8750[17]](_0x42d9x7[_0x8750[16]][_0x8750[15]],{include:[{all:true}]})[_0x8750[9]](function(_0x42d9x9){if(!_0x42d9x9){return _0x42d9x5[_0x8750[14]](404)};return _0x42d9x5[_0x8750[5]](_0x42d9x9)})[_0x8750[8]](function(_0x42d9x6){return handleError(_0x42d9x5,_0x42d9x6)})};exports[_0x8750[18]]= function(_0x42d9x7,_0x42d9x5){return SmsApplication[_0x8750[21]](_0x8750[11],{where:{SmsAccountId:_0x42d9x7[_0x8750[19]][_0x8750[20]]}})[_0x8750[9]](function(_0x42d9xa){_0x42d9x7[_0x8750[19]][_0x8750[11]]= _0x42d9xa?++_0x42d9xa:1;return SmsApplication[_0x8750[18]](_0x42d9x7[_0x8750[19]])})[_0x8750[9]](function(_0x42d9x9){return _0x42d9x5[_0x8750[6]](201)[_0x8750[5]](_0x42d9x9)})[_0x8750[8]](function(_0x42d9x6){return handleError(_0x42d9x5,_0x42d9x6)})};exports[_0x8750[22]]= function(_0x42d9x7,_0x42d9x5){if(_0x42d9x7[_0x8750[19]][_0x8750[15]]){delete _0x42d9x7[_0x8750[19]][_0x8750[15]]};return SmsApplication[_0x8750[17]](_0x42d9x7[_0x8750[16]][_0x8750[15]])[_0x8750[9]](function(_0x42d9x9){if(!_0x42d9x9){return _0x42d9x5[_0x8750[14]](404)};var _0x42d9xb=_[_0x8750[23]](_0x42d9x9,_0x42d9x7[_0x8750[19]]);return _0x42d9xb[_0x8750[24]]()})[_0x8750[9]](function(_0x42d9x9){return _0x42d9x5[_0x8750[6]](200)[_0x8750[5]](_0x42d9x9)})[_0x8750[8]](function(_0x42d9x6){return handleError(_0x42d9x5,_0x42d9x6)})};exports[_0x8750[25]]= function(_0x42d9x7,_0x42d9x5){return SmsApplication[_0x8750[17]](_0x42d9x7[_0x8750[16]][_0x8750[15]])[_0x8750[9]](function(_0x42d9x9){if(!_0x42d9x9){return _0x42d9x5[_0x8750[14]](404)};return _0x42d9x9[_0x8750[25]]()})[_0x8750[9]](function(){return _0x42d9x5[_0x8750[14]](204)})[_0x8750[8]](function(_0x42d9x6){return handleError(_0x42d9x5,_0x42d9x6)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SmsApplication = require('../../models').SmsApplication;
-
-var SmsApplicationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SmsApplicationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SmsApplication.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SmsApplicationEvents.emit(event + ':' + doc._id, doc);
- SmsApplicationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SmsApplicationEvents;
+var _0x31a3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x31a3[0];const EventEmitter=require(_0x31a3[1]);const SmsApplication=require(_0x31a3[3])[_0x31a3[2]];var SmsApplicationEvents= new EventEmitter();SmsApplicationEvents[_0x31a3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x31a3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x31a3[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x31a3[6]};for(var e in events){var event=events[e];SmsApplication[_0x31a3[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xb8bex8,_0xb8bex9,_0xb8bexa){SmsApplicationEvents[_0x31a3[10]](event+ _0x31a3[8]+ _0xb8bex8[_0x31a3[9]],_0xb8bex8);SmsApplicationEvents[_0x31a3[10]](event,_0xb8bex8);_0xb8bexa(null)}}module[_0x31a3[11]]= SmsApplicationEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SmsApplicationEvents = require('./sms_application.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sms_application:' + event, socket);
-
- SmsApplicationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SmsApplicationEvents.removeListener(event, listener);
- };
-}
+var _0xda47=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6D\x73\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6D\x73\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xda47[0];const SmsApplicationEvents=require(_0xda47[1]);var events=[_0xda47[2],_0xda47[3]];exports[_0xda47[4]]= function(_0x5242x3){for(var _0x5242x4=0,_0x5242x5=events[_0xda47[5]];_0x5242x4< _0x5242x5;_0x5242x4++){var _0x5242x6=events[_0x5242x4];var _0x5242x7=createListener(_0xda47[6]+ _0x5242x6,_0x5242x3);SmsApplicationEvents[_0xda47[7]](_0x5242x6,_0x5242x7);_0x5242x3[_0xda47[7]](_0xda47[8],removeListener(_0x5242x6,_0x5242x7))}};function createListener(_0x5242x6,_0x5242x3){return function(_0x5242x9){_0x5242x3[_0xda47[9]](_0x5242x6,_0x5242x9)}}function removeListener(_0x5242x6,_0x5242x7){return function(){SmsApplicationEvents[_0xda47[10]](_0x5242x6,_0x5242x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./sms_disposition.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-module.exports = router;
+var _0x48f9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x6D\x73\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x48f9[0];var express=require(_0x48f9[1]);var controller=require(_0x48f9[2]);var auth=require(_0x48f9[3]);var router=express.Router();router[_0x48f9[7]](_0x48f9[4],auth[_0x48f9[5]](),controller[_0x48f9[6]]);router[_0x48f9[7]](_0x48f9[8],auth[_0x48f9[5]](),controller[_0x48f9[9]]);router[_0x48f9[11]](_0x48f9[4],auth[_0x48f9[5]](),controller[_0x48f9[10]]);router[_0x48f9[13]](_0x48f9[8],auth[_0x48f9[5]](),controller[_0x48f9[12]]);router[_0x48f9[14]](_0x48f9[8],auth[_0x48f9[5]](),controller[_0x48f9[12]]);router[_0x48f9[16]](_0x48f9[8],auth[_0x48f9[5]](),controller[_0x48f9[15]]);module[_0x48f9[17]]= router
\ No newline at end of file
-'use strict';
-
-
-var _ = require('lodash');
-
-var SmsDisposition = require('../../models').SmsDisposition;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- })
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- })
- }
- };
-}
-
-// Gets a list of SmsDispositions
-exports.index = function(req, res) {
- SmsDisposition.findAndCountAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SmsDisposition from the DB
-exports.show = function(req, res) {
- SmsDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SmsDisposition in the DB
-exports.create = function(req, res) {
- SmsDisposition.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SmsDisposition in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- SmsDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SmsDisposition from the DB
-exports.destroy = function(req, res) {
- SmsDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x4e20=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x6D\x73\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x4e20[0];var _=require(_0x4e20[1]);var SmsDisposition=require(_0x4e20[3])[_0x4e20[2]];function handleError(_0xdccex4,_0xdccex5){_0xdccex5= _0xdccex5|| 500;return function(_0xdccex6){_0xdccex4[_0x4e20[5]](_0xdccex5)[_0x4e20[4]](_0xdccex6)}}function responseWithResult(_0xdccex4,_0xdccex5){_0xdccex5= _0xdccex5|| 200;return function(_0xdccex8){if(_0xdccex8){_0xdccex4[_0x4e20[5]](_0xdccex5)[_0x4e20[6]](_0xdccex8)}}}function handleEntityNotFound(_0xdccex4){return function(_0xdccex8){if(!_0xdccex8){_0xdccex4[_0x4e20[5]](404)[_0x4e20[7]]();return null};return _0xdccex8}}function saveUpdates(_0xdccexb){return function(_0xdccex8){return _0xdccex8[_0x4e20[9]](_0xdccexb)[_0x4e20[8]](function(_0xdccexc){return _0xdccexc})}}function removeEntity(_0xdccex4){return function(_0xdccex8){if(_0xdccex8){return _0xdccex8[_0x4e20[10]]()[_0x4e20[8]](function(){_0xdccex4[_0x4e20[5]](204)[_0x4e20[7]]()})}}}exports[_0x4e20[11]]= function(_0xdccexe,_0xdccex4){SmsDisposition[_0x4e20[13]]()[_0x4e20[8]](responseWithResult(_0xdccex4))[_0x4e20[12]](handleError(_0xdccex4))};exports[_0x4e20[14]]= function(_0xdccexe,_0xdccex4){SmsDisposition[_0x4e20[17]](_0xdccexe[_0x4e20[16]][_0x4e20[15]])[_0x4e20[8]](handleEntityNotFound(_0xdccex4))[_0x4e20[8]](responseWithResult(_0xdccex4))[_0x4e20[12]](handleError(_0xdccex4))};exports[_0x4e20[18]]= function(_0xdccexe,_0xdccex4){SmsDisposition[_0x4e20[18]](_0xdccexe[_0x4e20[19]])[_0x4e20[8]](responseWithResult(_0xdccex4,201))[_0x4e20[12]](handleError(_0xdccex4))};exports[_0x4e20[20]]= function(_0xdccexe,_0xdccex4){if(_0xdccexe[_0x4e20[19]][_0x4e20[15]]){delete _0xdccexe[_0x4e20[19]][_0x4e20[15]]};SmsDisposition[_0x4e20[17]](_0xdccexe[_0x4e20[16]][_0x4e20[15]])[_0x4e20[8]](handleEntityNotFound(_0xdccex4))[_0x4e20[8]](saveUpdates(_0xdccexe[_0x4e20[19]]))[_0x4e20[8]](responseWithResult(_0xdccex4))[_0x4e20[12]](handleError(_0xdccex4))};exports[_0x4e20[10]]= function(_0xdccexe,_0xdccex4){SmsDisposition[_0x4e20[17]](_0xdccexe[_0x4e20[16]][_0x4e20[15]])[_0x4e20[8]](handleEntityNotFound(_0xdccex4))[_0x4e20[8]](removeEntity(_0xdccex4))[_0x4e20[12]](handleError(_0xdccex4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SmsDisposition = require('../../models').SmsDisposition;
-
-var SmsDispositionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SmsDispositionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SmsDisposition.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SmsDispositionEvents.emit(event + ':' + doc._id, doc);
- SmsDispositionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SmsDispositionEvents;
+var _0xa9f3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6D\x73\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xa9f3[0];const EventEmitter=require(_0xa9f3[1]);const SmsDisposition=require(_0xa9f3[3])[_0xa9f3[2]];var SmsDispositionEvents= new EventEmitter();SmsDispositionEvents[_0xa9f3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xa9f3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xa9f3[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xa9f3[6]};for(var e in events){var event=events[e];SmsDisposition[_0xa9f3[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x83d5x8,_0x83d5x9,_0x83d5xa){SmsDispositionEvents[_0xa9f3[10]](event+ _0xa9f3[8]+ _0x83d5x8[_0xa9f3[9]],_0x83d5x8);SmsDispositionEvents[_0xa9f3[10]](event,_0x83d5x8);_0x83d5xa(null)}}module[_0xa9f3[11]]= SmsDispositionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SmsDispositionEvents = require('./sms_disposition.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sms_disposition:' + event, socket);
-
- SmsDispositionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SmsDispositionEvents.removeListener(event, listener);
- };
-}
+var _0x996d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6D\x73\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6D\x73\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x996d[0];const SmsDispositionEvents=require(_0x996d[1]);var events=[_0x996d[2],_0x996d[3]];exports[_0x996d[4]]= function(_0x5dbcx3){for(var _0x5dbcx4=0,_0x5dbcx5=events[_0x996d[5]];_0x5dbcx4< _0x5dbcx5;_0x5dbcx4++){var _0x5dbcx6=events[_0x5dbcx4];var _0x5dbcx7=createListener(_0x996d[6]+ _0x5dbcx6,_0x5dbcx3);SmsDispositionEvents[_0x996d[7]](_0x5dbcx6,_0x5dbcx7);_0x5dbcx3[_0x996d[7]](_0x996d[8],removeListener(_0x5dbcx6,_0x5dbcx7))}};function createListener(_0x5dbcx6,_0x5dbcx3){return function(_0x5dbcx9){_0x5dbcx3[_0x996d[9]](_0x5dbcx6,_0x5dbcx9)}}function removeListener(_0x5dbcx6,_0x5dbcx7){return function(){SmsDispositionEvents[_0x996d[10]](_0x5dbcx6,_0x5dbcx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sms_message.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.describe);
-router.get('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin', 'agent']), controller.show);
-router.post('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.destroy);
-router.delete('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.bulkDelete);
-
-module.exports = router;
+var _0x6e7d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x53\x6D\x73","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x61\x67\x65\x6E\x74","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x6e7d[0];var express=require(_0x6e7d[1]);var auth=require(_0x6e7d[2]);var controller=require(_0x6e7d[3]);var license=require(_0x6e7d[4]);var router=express.Router();router[_0x6e7d[11]](_0x6e7d[5],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8]]),controller[_0x6e7d[10]]);router[_0x6e7d[11]](_0x6e7d[12],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8]]),controller[_0x6e7d[13]]);router[_0x6e7d[11]](_0x6e7d[14],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8],_0x6e7d[15]]),controller[_0x6e7d[16]]);router[_0x6e7d[18]](_0x6e7d[5],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8]]),controller[_0x6e7d[17]]);router[_0x6e7d[20]](_0x6e7d[14],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8]]),controller[_0x6e7d[19]]);router[_0x6e7d[22]](_0x6e7d[14],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8]]),controller[_0x6e7d[21]]);router[_0x6e7d[22]](_0x6e7d[5],auth[_0x6e7d[6]](),license[_0x6e7d[7]](),auth[_0x6e7d[9]]([11],[_0x6e7d[8]]),controller[_0x6e7d[23]]);module[_0x6e7d[24]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sms/messages -> index
- * POST /api/sms/messages -> create
- * GET /api/sms/messages/:id -> show
- * PUT /api/sms/messages/:id -> update
- * DELETE /api/sms/messages/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var SmsMessage = require('../../models').SmsMessage;
-var SmsRoom = require('../../models').SmsRoom;
-var User = require('../../models').User;
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of SmsMessages
-exports.index = function(req, res) {
- var params = {
- order: 'createdAt DESC',
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- };
-
- switch (req.user.role) {
- case 'admin':
- params.where = req.query;
- break;
- case 'agent':
- break;
- default:
- }
-
- return SmsMessage
- .findAll(params)
- .then(function(sms_messages) {
- return res.status(200).send(sms_messages);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.describe = function(req, res) {
- return SmsMessage
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Gets a single SmsMessage from the DB
-exports.show = function(req, res) {
- return SmsMessage
- .findById(req.params.id, {
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- })
- .then(function(smsMessage) {
- if (!smsMessage) {
- return res.sendStatus(404);
- }
- return res.send(smsMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Creates a new SmsMessage in the DB
-exports.create = function(req, res) {
- req.body.UserId = req.user.id;
- return SmsMessage
- .create(req.body)
- .then(function(smsMessage) {
- return res.status(201).send(smsMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Updates an existing SmsMessage in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SmsMessage
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(smsMessage) {
- if (!smsMessage) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsMessage, req.body);
- return updated
- .save();
- })
- .then(function(updated) {
- return res.status(200).send(updated);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Deletes a SmsMessage from the DB
-exports.destroy = function(req, res) {
- return SmsMessage
- .findById(req.params.id)
- .then(function(smsMessage) {
- if (!smsMessage) {
- return res.sendStatus(404);
- }
- return smsMessage
- .destroy();
- }).then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDelete = function(req, res) {
- return SmsMessage
- .bulkUpdate({
- where: {
- id: {
- $in: req.body.id
- }
- },
- attributes: {
- directory: 'TRASH'
- }
- })
- .then(function(smsMessage) {
- if (!smsMessage) {
- return res.sendStatus(404);
- }
- return smsMessage
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0xd5b3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x6D\x73\x52\x6F\x6F\x6D","\x55\x73\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x65\x73\x63\x72\x69\x62\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0xd5b3[0];var _=require(_0xd5b3[1]);var Util=require(_0xd5b3[2]);var SmsMessage=require(_0xd5b3[4])[_0xd5b3[3]];var SmsRoom=require(_0xd5b3[4])[_0xd5b3[5]];var User=require(_0xd5b3[4])[_0xd5b3[6]];function handleError(_0xbd16x7,_0xbd16x8){return _0xbd16x7[_0xd5b3[8]](500)[_0xd5b3[7]](_0xbd16x8)}exports[_0xd5b3[9]]= function(_0xbd16x9,_0xbd16x7){var _0xbd16xa={order:_0xd5b3[10],include:[{all:true,include:[{all:true}]}]};switch(_0xbd16x9[_0xd5b3[16]][_0xd5b3[15]]){case _0xd5b3[13]:_0xbd16xa[_0xd5b3[11]]= _0xbd16x9[_0xd5b3[12]];break;case _0xd5b3[14]:break;default:};return SmsMessage[_0xd5b3[19]](_0xbd16xa)[_0xd5b3[18]](function(_0xbd16xb){return _0xbd16x7[_0xd5b3[8]](200)[_0xd5b3[7]](_0xbd16xb)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})};exports[_0xd5b3[20]]= function(_0xbd16x9,_0xbd16x7){return SmsMessage[_0xd5b3[20]]()[_0xd5b3[18]](function(_0xbd16xc){return _0xbd16x7[_0xd5b3[8]](200)[_0xd5b3[7]](_0xbd16xc)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})};exports[_0xd5b3[21]]= function(_0xbd16x9,_0xbd16x7){return SmsMessage[_0xd5b3[28]](_0xbd16x9[_0xd5b3[24]][_0xd5b3[23]],{include:[{model:User,attributes:[_0xd5b3[23],_0xd5b3[25],_0xd5b3[26],_0xd5b3[27]]}]})[_0xd5b3[18]](function(_0xbd16xd){if(!_0xbd16xd){return _0xbd16x7[_0xd5b3[22]](404)};return _0xbd16x7[_0xd5b3[7]](_0xbd16xd)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})};exports[_0xd5b3[29]]= function(_0xbd16x9,_0xbd16x7){_0xbd16x9[_0xd5b3[31]][_0xd5b3[30]]= _0xbd16x9[_0xd5b3[16]][_0xd5b3[23]];return SmsMessage[_0xd5b3[29]](_0xbd16x9[_0xd5b3[31]])[_0xd5b3[18]](function(_0xbd16xd){return _0xbd16x7[_0xd5b3[8]](201)[_0xd5b3[7]](_0xbd16xd)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})};exports[_0xd5b3[32]]= function(_0xbd16x9,_0xbd16x7){if(_0xbd16x9[_0xd5b3[31]][_0xd5b3[23]]){delete _0xbd16x9[_0xd5b3[31]][_0xd5b3[23]]};return SmsMessage[_0xd5b3[28]](_0xbd16x9[_0xd5b3[24]][_0xd5b3[23]],{include:[{all:true}]})[_0xd5b3[18]](function(_0xbd16xd){if(!_0xbd16xd){return _0xbd16x7[_0xd5b3[22]](404)};var _0xbd16xe=_[_0xd5b3[33]](_0xbd16xd,_0xbd16x9[_0xd5b3[31]]);return _0xbd16xe[_0xd5b3[34]]()})[_0xd5b3[18]](function(_0xbd16xe){return _0xbd16x7[_0xd5b3[8]](200)[_0xd5b3[7]](_0xbd16xe)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})};exports[_0xd5b3[35]]= function(_0xbd16x9,_0xbd16x7){return SmsMessage[_0xd5b3[28]](_0xbd16x9[_0xd5b3[24]][_0xd5b3[23]])[_0xd5b3[18]](function(_0xbd16xd){if(!_0xbd16xd){return _0xbd16x7[_0xd5b3[22]](404)};return _0xbd16xd[_0xd5b3[35]]()})[_0xd5b3[18]](function(){return _0xbd16x7[_0xd5b3[22]](204)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})};exports[_0xd5b3[36]]= function(_0xbd16x9,_0xbd16x7){return SmsMessage[_0xd5b3[38]]({where:{id:{$in:_0xbd16x9[_0xd5b3[31]][_0xd5b3[23]]}},attributes:{directory:_0xd5b3[37]}})[_0xd5b3[18]](function(_0xbd16xd){if(!_0xbd16xd){return _0xbd16x7[_0xd5b3[22]](404)};return _0xbd16xd[_0xd5b3[35]]()})[_0xd5b3[18]](function(){return _0xbd16x7[_0xd5b3[22]](204)})[_0xd5b3[17]](function(_0xbd16x8){return handleError(_0xbd16x7,_0xbd16x8)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SmsMessage = require('../../models').SmsMessage;
-
-var SmsMessageEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SmsMessageEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SmsMessage.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SmsMessageEvents.emit(event + ':' + doc._id, doc);
- SmsMessageEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SmsMessageEvents;
+var _0xe1c6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xe1c6[0];const EventEmitter=require(_0xe1c6[1]);const SmsMessage=require(_0xe1c6[3])[_0xe1c6[2]];var SmsMessageEvents= new EventEmitter();SmsMessageEvents[_0xe1c6[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xe1c6[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xe1c6[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xe1c6[7]};for(var e in events){var event=events[e];SmsMessage[_0xe1c6[8]](e,emitEvent(event))};function emitEvent(event){return function(_0x8436x8,_0x8436x9,_0x8436xa){SmsMessageEvents[_0xe1c6[11]](event+ _0xe1c6[9]+ _0x8436x8[_0xe1c6[10]],_0x8436x8);SmsMessageEvents[_0xe1c6[11]](event,_0x8436x8);_0x8436xa(null)}}module[_0xe1c6[12]]= SmsMessageEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SmsMessageEvents = require('./sms_message.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sms_message:' + event, socket);
-
- SmsMessageEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'sms_message:save':
- socket.emit(event, doc);
- break;
- case 'sms_message:update':
- if (doc.changed('status')) {
- socket.emit(event, doc);
- }
- break;
- case 'sms_message:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SmsMessageEvents.removeListener(event, listener);
- };
-}
+var _0x36e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x73\x61\x76\x65","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x75\x70\x64\x61\x74\x65","\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x36e0[0];const SmsMessageEvents=require(_0x36e0[1]);var events=[_0x36e0[2],_0x36e0[3],_0x36e0[4]];exports[_0x36e0[5]]= function(_0x43b3x3){for(var _0x43b3x4=0,_0x43b3x5=events[_0x36e0[6]];_0x43b3x4< _0x43b3x5;_0x43b3x4++){var _0x43b3x6=events[_0x43b3x4];var _0x43b3x7=createListener(_0x36e0[7]+ _0x43b3x6,_0x43b3x3);SmsMessageEvents[_0x36e0[8]](_0x43b3x6,_0x43b3x7);_0x43b3x3[_0x36e0[8]](_0x36e0[9],removeListener(_0x43b3x6,_0x43b3x7))}};function createListener(_0x43b3x6,_0x43b3x3){return function(_0x43b3x9){switch(_0x43b3x6){case _0x36e0[11]:_0x43b3x3[_0x36e0[10]](_0x43b3x6,_0x43b3x9);break;case _0x36e0[14]:if(_0x43b3x9[_0x36e0[13]](_0x36e0[12])){_0x43b3x3[_0x36e0[10]](_0x43b3x6,_0x43b3x9)};break;case _0x36e0[15]:_0x43b3x3[_0x36e0[10]](_0x43b3x6,_0x43b3x9);break;default:}}}function removeListener(_0x43b3x6,_0x43b3x7){return function(){SmsMessageEvents[_0x36e0[16]](_0x43b3x6,_0x43b3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sms_queue.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.show);
-router.get('/:id/agents', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.showAgents);
-router.post('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.create);
-router.post('/:id/agents', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.addAgents);
-router.put('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.update);
-router.patch('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.destroy);
-router.delete('/:id/agents', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.removeAgents);
-router.delete('/', auth.isAuthenticated(), license.hasSms(), auth.hasModule([11], ['admin']), controller.bulkDestroy);
-
-module.exports = router;
+var _0xef92=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x53\x6D\x73","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xef92[0];var express=require(_0xef92[1]);var auth=require(_0xef92[2]);var controller=require(_0xef92[3]);var license=require(_0xef92[4]);var router=express.Router();router[_0xef92[11]](_0xef92[5],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[10]]);router[_0xef92[11]](_0xef92[12],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[13]]);router[_0xef92[11]](_0xef92[14],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[15]]);router[_0xef92[17]](_0xef92[5],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[16]]);router[_0xef92[17]](_0xef92[14],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[18]]);router[_0xef92[20]](_0xef92[12],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[19]]);router[_0xef92[21]](_0xef92[12],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[19]]);router[_0xef92[23]](_0xef92[12],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[22]]);router[_0xef92[23]](_0xef92[14],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[24]]);router[_0xef92[23]](_0xef92[5],auth[_0xef92[6]](),license[_0xef92[7]](),auth[_0xef92[9]]([11],[_0xef92[8]]),controller[_0xef92[25]]);module[_0xef92[26]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sms/queues -> index
- * POST /api/sms/queues -> create
- * GET /api/sms/queues/:id -> show
- * PUT /api/sms/queues/:id -> update
- * DELETE /api/sms/queues/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var SmsQueue = require('../../models').SmsQueue;
-var User = require('../../models').User;
-var sequelize = require('../../models').sequelize;
-var UserHasSmsQueue = require('../../models').UserHasSmsQueue;
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-// Gets a list of SmsQueues
-exports.index = function(req, res) {
-
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return SmsQueue
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-
-
-
-}
-
-// Gets a single SmsQueue from the DB
-exports.show = function(req, res) {
- return SmsQueue
- .scope('default')
- .findById(req.params.id)
- .then(function(smsQueue) {
- if (!smsQueue) {
- return res.sendStatus(404);
- }
- return res.send(smsQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.showAgents = function(req, res) {
- return SmsQueue
- .findById(req.params.id)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new SmsQueue in the DB
-exports.create = function(req, res) {
- var _smsQueue;
-
- return SmsQueue
- .create(req.body)
- .then(function(smsQueue) {
- _smsQueue = smsQueue;
-
- if (req.body.agents) {
- return _smsQueue
- .addUsers(req.body.agents, {
- penalty: req.body.penalty || 0,
- queue: _smsQueue.name
- });
- }
- })
- .then(function() {
- return res.status(201).send(_smsQueue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Updates an existing SmsQueue in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SmsQueue
- .findById(req.params.id)
- .then(function(smsQueue) {
- if (!smsQueue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(smsQueue, req.body);
- return updated
- .save();
- })
- .then(function(smsQueue) {
- return res.status(200).send(smsQueue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
- // Updates an existing user_has_smsQueue in the DB.
-exports.addAgents = function(req, res, next) {
- return SmsQueue
- .findById(req.params.id)
- .then(function(smsQueue) {
- if (!smsQueue) {
- return res.sendStatus(404);
- }
- var userHasSmsQueues = _.map(req.body.agents, function(agent) {
- return {
- UserId: agent,
- penalty: req.body.penalty,
- SmsQueueId: smsQueue.id,
- queue: smsQueue.name
- };
- });
-
- return UserHasSmsQueue
- .bulkCreate(userHasSmsQueues, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.removeAgents = function(req, res) {
- return SmsQueue
- .findById(req.params.id)
- .then(function(smsQueue) {
- if (smsQueue) {
- return smsQueue
- .removeUsers(req.query.agents, {
- individualHooks: true
- });
- } else {
- throw new Error('SmsQueue not found');
- }
- })
- .then(function() {
- return res.sendStatus(202);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Deletes a SmsQueue from the DB
-exports.destroy = function(req, res) {
- var _smsQueue;
- return SmsQueue
- .findById(req.params.id)
- .then(function(smsQueue) {
- _smsQueue = smsQueue;
- if (!smsQueue) {
- return res.sendStatus(404);
- }
- return smsQueue
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- return Util.errorManager.handleForeignKeyConstraintError(res, 'queue', _smsQueue.name, err);
- })
- .catch(function(err) {
- console.error('err', err);
- return handleError(res, err);
- });
-}
-exports.bulkDestroy = function(req, res) {
- return SmsQueue
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0xf255=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x6D\x73\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x55\x73\x65\x72\x48\x61\x73\x53\x6D\x73\x51\x75\x65\x75\x65","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x61\x67\x65\x6E\x74\x73","\x62\x6F\x64\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x61\x64\x64\x55\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72\x73","\x53\x6D\x73\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79","\x65\x72\x72","\x65\x72\x72\x6F\x72","\x71\x75\x65\x75\x65","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0xf255[0];var _=require(_0xf255[1]);var Util=require(_0xf255[2]);var SmsQueue=require(_0xf255[4])[_0xf255[3]];var User=require(_0xf255[4])[_0xf255[5]];var sequelize=require(_0xf255[4])[_0xf255[6]];var UserHasSmsQueue=require(_0xf255[4])[_0xf255[7]];function handleError(_0xbbb4x8,_0xbbb4x9){return _0xbbb4x8[_0xf255[9]](500)[_0xf255[8]](_0xbbb4x9)}exports[_0xf255[10]]= function(_0xbbb4xa,_0xbbb4x8){switch(_0xbbb4xa[_0xf255[16]][_0xf255[22]]){case _0xf255[16]:return User[_0xf255[17]](_0xbbb4xa[_0xf255[16]][_0xf255[15]],{attributes:[_0xf255[15]]})[_0xf255[12]](Util[_0xf255[14]](_0xbbb4xa[_0xf255[13]]))[_0xf255[12]](function(_0xbbb4xb){_0xbbb4x8[_0xf255[9]](200)[_0xf255[8]](_0xbbb4xb)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)});default:return SmsQueue[_0xf255[21]](_0xf255[20])[_0xf255[19]](Util[_0xf255[18]](_0xbbb4xa[_0xf255[13]]))[_0xf255[12]](function(_0xbbb4xb){_0xbbb4x8[_0xf255[9]](200)[_0xf255[8]](_0xbbb4xb)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})}};exports[_0xf255[23]]= function(_0xbbb4xa,_0xbbb4x8){return SmsQueue[_0xf255[21]](_0xf255[20])[_0xf255[17]](_0xbbb4xa[_0xf255[25]][_0xf255[15]])[_0xf255[12]](function(_0xbbb4xc){if(!_0xbbb4xc){return _0xbbb4x8[_0xf255[24]](404)};return _0xbbb4x8[_0xf255[8]](_0xbbb4xc)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[26]]= function(_0xbbb4xa,_0xbbb4x8){return SmsQueue[_0xf255[17]](_0xbbb4xa[_0xf255[25]][_0xf255[15]])[_0xf255[12]](function(_0xbbb4xe){if(!_0xbbb4xe){return _0xbbb4x8[_0xf255[24]](404)};return _0xbbb4xe[_0xf255[32]]({where:{role:_0xf255[28]},attributes:[_0xf255[15],_0xf255[29],_0xf255[30],_0xf255[31]]})})[_0xf255[12]](function(_0xbbb4xd){return _0xbbb4x8[_0xf255[9]](200)[_0xf255[8]]({rows:_0xbbb4xd,count:_0xbbb4xd[_0xf255[27]]})})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[33]]= function(_0xbbb4xa,_0xbbb4x8){var _0xbbb4xf;return SmsQueue[_0xf255[33]](_0xbbb4xa[_0xf255[37]])[_0xf255[12]](function(_0xbbb4xc){_0xbbb4xf= _0xbbb4xc;if(_0xbbb4xa[_0xf255[37]][_0xf255[36]]){return _0xbbb4xf[_0xf255[39]](_0xbbb4xa[_0xf255[37]][_0xf255[36]],{penalty:_0xbbb4xa[_0xf255[37]][_0xf255[38]]|| 0,queue:_0xbbb4xf[_0xf255[29]]})}})[_0xf255[12]](function(){return _0xbbb4x8[_0xf255[9]](201)[_0xf255[8]](_0xbbb4xf)})[_0xf255[11]](sequelize.UniqueConstraintError,function(_0xbbb4x9){return Util[_0xf255[35]][_0xf255[34]](_0xbbb4x8,_0xbbb4x9)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[40]]= function(_0xbbb4xa,_0xbbb4x8){if(_0xbbb4xa[_0xf255[37]][_0xf255[15]]){delete _0xbbb4xa[_0xf255[37]][_0xf255[15]]};return SmsQueue[_0xf255[17]](_0xbbb4xa[_0xf255[25]][_0xf255[15]])[_0xf255[12]](function(_0xbbb4xc){if(!_0xbbb4xc){return _0xbbb4x8[_0xf255[24]](404)};var _0xbbb4x10=_[_0xf255[41]](_0xbbb4xc,_0xbbb4xa[_0xf255[37]]);return _0xbbb4x10[_0xf255[42]]()})[_0xf255[12]](function(_0xbbb4xc){return _0xbbb4x8[_0xf255[9]](200)[_0xf255[8]](_0xbbb4xc)})[_0xf255[11]](sequelize.UniqueConstraintError,function(_0xbbb4x9){return Util[_0xf255[35]][_0xf255[34]](_0xbbb4x8,_0xbbb4x9)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[43]]= function(_0xbbb4xa,_0xbbb4x8,_0xbbb4x11){return SmsQueue[_0xf255[17]](_0xbbb4xa[_0xf255[25]][_0xf255[15]])[_0xf255[12]](function(_0xbbb4xc){if(!_0xbbb4xc){return _0xbbb4x8[_0xf255[24]](404)};var _0xbbb4x12=_[_0xf255[44]](_0xbbb4xa[_0xf255[37]][_0xf255[36]],function(_0xbbb4x13){return {UserId:_0xbbb4x13,penalty:_0xbbb4xa[_0xf255[37]][_0xf255[38]],SmsQueueId:_0xbbb4xc[_0xf255[15]],queue:_0xbbb4xc[_0xf255[29]]}});return UserHasSmsQueue[_0xf255[45]](_0xbbb4x12,{individualHooks:true})})[_0xf255[12]](function(){return _0xbbb4x8[_0xf255[24]](200)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[46]]= function(_0xbbb4xa,_0xbbb4x8){return SmsQueue[_0xf255[17]](_0xbbb4xa[_0xf255[25]][_0xf255[15]])[_0xf255[12]](function(_0xbbb4xc){if(_0xbbb4xc){return _0xbbb4xc[_0xf255[47]](_0xbbb4xa[_0xf255[13]][_0xf255[36]],{individualHooks:true})}else {throw new Error(_0xf255[48])}})[_0xf255[12]](function(){return _0xbbb4x8[_0xf255[24]](202)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[49]]= function(_0xbbb4xa,_0xbbb4x8){var _0xbbb4xf;return SmsQueue[_0xf255[17]](_0xbbb4xa[_0xf255[25]][_0xf255[15]])[_0xf255[12]](function(_0xbbb4xc){_0xbbb4xf= _0xbbb4xc;if(!_0xbbb4xc){return _0xbbb4x8[_0xf255[24]](404)};return _0xbbb4xc[_0xf255[49]]()})[_0xf255[12]](function(){return _0xbbb4x8[_0xf255[24]](204)})[_0xf255[11]](sequelize.ForeignKeyConstraintError,function(_0xbbb4x9){return Util[_0xf255[35]][_0xf255[53]](_0xbbb4x8,_0xf255[52],_0xbbb4xf[_0xf255[29]],_0xbbb4x9)})[_0xf255[11]](function(_0xbbb4x9){console[_0xf255[51]](_0xf255[50],_0xbbb4x9);return handleError(_0xbbb4x8,_0xbbb4x9)})};exports[_0xf255[54]]= function(_0xbbb4xa,_0xbbb4x8){return SmsQueue[_0xf255[49]]({where:{id:_0xbbb4xa[_0xf255[13]][_0xf255[55]]},individualHooks:true})[_0xf255[12]](function(){return _0xbbb4x8[_0xf255[24]](204)})[_0xf255[11]](function(_0xbbb4x9){return handleError(_0xbbb4x8,_0xbbb4x9)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SmsQueue = require('../../models').SmsQueue;
-
-var SmsQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SmsQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SmsQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SmsQueueEvents.emit(event + ':' + doc._id, doc);
- SmsQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SmsQueueEvents;
+var _0xd824=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6D\x73\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xd824[0];const EventEmitter=require(_0xd824[1]);const SmsQueue=require(_0xd824[3])[_0xd824[2]];var SmsQueueEvents= new EventEmitter();SmsQueueEvents[_0xd824[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xd824[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xd824[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xd824[6]};for(var e in events){var event=events[e];SmsQueue[_0xd824[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xbb82x8,_0xbb82x9,_0xbb82xa){SmsQueueEvents[_0xd824[10]](event+ _0xd824[8]+ _0xbb82x8[_0xd824[9]],_0xbb82x8);SmsQueueEvents[_0xd824[10]](event,_0xbb82x8);_0xbb82xa(null)}}module[_0xd824[11]]= SmsQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SmsQueueEvents = require('./sms_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sms_queue:' + event, socket);
-
- SmsQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SmsQueueEvents.removeListener(event, listener);
- };
-}
+var _0x237c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x237c[0];const SmsQueueEvents=require(_0x237c[1]);var events=[_0x237c[2],_0x237c[3]];exports[_0x237c[4]]= function(_0x348ex3){for(var _0x348ex4=0,_0x348ex5=events[_0x237c[5]];_0x348ex4< _0x348ex5;_0x348ex4++){var _0x348ex6=events[_0x348ex4];var _0x348ex7=createListener(_0x237c[6]+ _0x348ex6,_0x348ex3);SmsQueueEvents[_0x237c[7]](_0x348ex6,_0x348ex7);_0x348ex3[_0x237c[7]](_0x237c[8],removeListener(_0x348ex6,_0x348ex7))}};function createListener(_0x348ex6,_0x348ex3){return function(_0x348ex9){_0x348ex3[_0x237c[9]](_0x348ex6,_0x348ex9)}}function removeListener(_0x348ex6,_0x348ex7){return function(){SmsQueueEvents[_0x237c[10]](_0x348ex6,_0x348ex7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sms_room.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.index);
-router.get('/describe', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([1, 11], ['admin']), controller.describe);
-router.get('/pending', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([11, 17], ['admin']), controller.pending);
-router.get('/new', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([11, 17], ['admin']), controller.new);
-router.get('/open', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([11, 17], ['admin']), controller.open);
-router.get('/closed', auth.isAuthenticated(), license.isValidDate(), license.hasSms(), auth.hasModule([11, 17], ['admin']), controller.closed);
-router.get('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.show);
-router.get('/:id/agents', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.showAgents);
-router.get('/messages/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.getRoomByMessage);
-router.post('/', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.create);
-router.post('/:id/messages', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.createMessage);
-router.put('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.update);
-router.put('/:id/agents', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.updateAgents);
-router.patch('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin', 'agent']), controller.updatePatch);
-router.delete('/:id', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.destroy);
-router.delete('/', license.isValidDate(), license.hasSms(), auth.isAuthenticated(), auth.hasModule([11], ['admin']), controller.bulkDestroy);
-module.exports = router;
+var _0x5808=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x6D\x73\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x53\x6D\x73","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x70\x65\x6E\x64\x69\x6E\x67","\x70\x65\x6E\x64\x69\x6E\x67","\x2F\x6E\x65\x77","\x6E\x65\x77","\x2F\x6F\x70\x65\x6E","\x6F\x70\x65\x6E","\x2F\x63\x6C\x6F\x73\x65\x64","\x63\x6C\x6F\x73\x65\x64","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x2F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x3A\x69\x64","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x3A\x69\x64\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x5808[0];var express=require(_0x5808[1]);var auth=require(_0x5808[2]);var controller=require(_0x5808[3]);var license=require(_0x5808[4]);var router=express.Router();router[_0x5808[13]](_0x5808[5],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[12]]);router[_0x5808[13]](_0x5808[14],auth[_0x5808[8]](),license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[11]]([1,11],[_0x5808[9]]),controller[_0x5808[15]]);router[_0x5808[13]](_0x5808[16],auth[_0x5808[8]](),license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[11]]([11,17],[_0x5808[9]]),controller[_0x5808[17]]);router[_0x5808[13]](_0x5808[18],auth[_0x5808[8]](),license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[11]]([11,17],[_0x5808[9]]),controller[_0x5808[19]]);router[_0x5808[13]](_0x5808[20],auth[_0x5808[8]](),license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[11]]([11,17],[_0x5808[9]]),controller[_0x5808[21]]);router[_0x5808[13]](_0x5808[22],auth[_0x5808[8]](),license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[11]]([11,17],[_0x5808[9]]),controller[_0x5808[23]]);router[_0x5808[13]](_0x5808[24],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[25]]);router[_0x5808[13]](_0x5808[26],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[27]]);router[_0x5808[13]](_0x5808[28],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[29]]);router[_0x5808[31]](_0x5808[5],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9]]),controller[_0x5808[30]]);router[_0x5808[31]](_0x5808[32],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9]]),controller[_0x5808[33]]);router[_0x5808[35]](_0x5808[24],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[34]]);router[_0x5808[35]](_0x5808[26],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[36]]);router[_0x5808[38]](_0x5808[24],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9],_0x5808[10]]),controller[_0x5808[37]]);router[_0x5808[40]](_0x5808[24],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9]]),controller[_0x5808[39]]);router[_0x5808[40]](_0x5808[5],license[_0x5808[6]](),license[_0x5808[7]](),auth[_0x5808[8]](),auth[_0x5808[11]]([11],[_0x5808[9]]),controller[_0x5808[41]]);module[_0x5808[42]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sms/rooms -> index
- * POST /api/sms/rooms -> create
- * GET /api/sms/rooms/:id -> show
- * PUT /api/sms/rooms/:id -> update
- * DELETE /api/sms/rooms/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-var moment = require('moment');
-
-var SmsRoom = require('../../models').SmsRoom;
-var User = require('../../models').User;
-var SmsMessage = require('../../models').SmsMessage;
-var SmsAccount = require('../../models').SmsAccount;
-var User = require('../../models').User;
-var SmsApplication = require('../../models').SmsApplication;
-var SmsQueue = require('../../models').SmsQueue;
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-
-
-// Gets a list of SmsRooms
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'agent':
- return SmsRoom
- .scope('default', {
- method: ['agent', req.user.id]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return SmsRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-}
-
-// Get list of fields
-exports.describe = function(req, res) {
- return SmsRoom
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function getSmsQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- return {
- include: {
- model: SmsAccount,
- include: {
- model: SmsApplication,
- include: {
- model: SmsQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-exports.pending = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return SmsRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.new = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return SmsRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.open = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return SmsRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.closed = function(req, res) {
- return Promise
- .all([])
- .then(getSmsQueues(req.user))
- .then(function(condition) {
- return SmsRoom
- .count(_.merge(Util.getQuery(req.query, {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }), condition));
- })
- .then(function(data) {
- return res.status(200).send({
- value: data
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Gets a single SmsRoom from the DB
-exports.show = function(req, res) {
- return SmsRoom
- .scope('default')
- .findById(req.params.id)
- .then(function(smsRoom) {
- if (!smsRoom) {
- return res.sendStatus(404);
- }
- return res.send(smsRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.showAgents = function(req, res, next) {
- return SmsRoom
- .findById(req.params.id)
- .then(function(smsRoom) {
- if (!smsRoom) {
- return res.sendStatus(404);
- }
-
- return smsRoom
- .getUsers({
- attributes: ['id', 'name', 'fullname', 'email', 'role', 'internal']
- });
- })
- .then(function(users) {
- return res.send(users);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.getRoomByMessage = function(req, res, next) {
- return SmsMessage
- .findById(req.params.id)
- .then(function(Message) {
- return Message
- .getSmsRoom({
- include: [{
- model: SmsAccount
- }, {
- model: SmsMessage,
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- }, {
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }]
- });
- })
- .then(function(Room) {
- // console.log('room', Room);
- return res.send(Room);
- })
- .catch(function(err) {
- console.log('err', err);
- return handleError(res, err);
- });
-};
-// Creates a new SmsRoom in the DB
-exports.create = function(req, res) {
-
- return SmsRoom
- .create(req.body)
- .then(function(smsMessage) {
- return res.status(201).send(smsMessage);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-
-// Creates a new mailMessage in the DB.
-exports.createMessage = function(req, res, next) {
- req.body.UserId = req.user.id;
- req.body.SmsRoomId = req.params.id;
- return SmsMessage
- .create(req.body)
- .then(function(smsMessage) {
- return res.status(201).send(smsMessage);
- }).catch(function(err) {
- return handleError(res, err);
- });
-};
-// Updates an existing SmsRoom in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SmsRoom
- .findById(req.params.id)
- .then(function(smsRoom) {
- if (!smsRoom) {
- return res.sendStatus(404);
- }
-
- var updated = _.merge(smsRoom, req.body);
-
- return updated
- .save();
- })
- .then(function(smsRoom) {
- return res.status(200).send(smsRoom);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.updateAgents = function(req, res, next) {
- return SmsRoom
- .findById(req.params.id)
- .then(function(smsRoom) {
- if (!smsRoom) {
- return res.sendStatus(404);
- }
-
- return smsRoom
- .setUsers(req.body.agents, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a SmsRoom from the DB
-exports.destroy = function(req, res) {
- return SmsRoom
- .findById(req.params.id)
- .then(function(smsRoom) {
- if (!smsRoom) {
- return res.sendStatus(404);
- }
- return smsRoom.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-exports.bulkDestroy = function(req, res) {
- return SmsRoom
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-exports.updatePatch = function(req, res, next) {
- var _options = {
- where: {
- id: req.params.id.split(',')
- },
- user: req.user,
- individualHooks: true
- };
-
- return SmsRoom
- .update(req.body, _options)
- .then(function(smsRooms) {
- if (!smsRooms) {
- return res.sendStatus(404);
- }
- return smsRooms
- })
- .then(function(smsRooms) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0xd25a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x53\x6D\x73\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x53\x6D\x73\x51\x75\x65\x75\x65","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x61\x67\x65\x6E\x74","\x69\x64","\x75\x73\x65\x72","\x73\x63\x6F\x70\x65","\x72\x6F\x6C\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x6D\x61\x70","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x70\x65\x6E\x64\x69\x6E\x67","\x6C\x6F\x67","\x50\x45\x4E\x44\x49\x4E\x47","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x6E\x65\x77","\x4E\x45\x57","\x6F\x70\x65\x6E","\x4F\x50\x45\x4E","\x63\x6C\x6F\x73\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x67\x65\x74\x52\x6F\x6F\x6D\x42\x79\x4D\x65\x73\x73\x61\x67\x65","\x65\x72\x72","\x67\x65\x74\x53\x6D\x73\x52\x6F\x6F\x6D","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x55\x73\x65\x72\x49\x64","\x53\x6D\x73\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65\x41\x67\x65\x6E\x74\x73","\x61\x67\x65\x6E\x74\x73","\x73\x65\x74\x55\x73\x65\x72\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x75\x70\x64\x61\x74\x65\x50\x61\x74\x63\x68","\x2C","\x73\x70\x6C\x69\x74"];_0xd25a[0];var _=require(_0xd25a[1]);var Util=require(_0xd25a[2]);var moment=require(_0xd25a[3]);var SmsRoom=require(_0xd25a[5])[_0xd25a[4]];var User=require(_0xd25a[5])[_0xd25a[6]];var SmsMessage=require(_0xd25a[5])[_0xd25a[7]];var SmsAccount=require(_0xd25a[5])[_0xd25a[8]];var User=require(_0xd25a[5])[_0xd25a[6]];var SmsApplication=require(_0xd25a[5])[_0xd25a[9]];var SmsQueue=require(_0xd25a[5])[_0xd25a[10]];function handleError(_0x464cxb,_0x464cxc){return _0x464cxb[_0xd25a[12]](500)[_0xd25a[11]](_0x464cxc)}exports[_0xd25a[13]]= function(_0x464cxd,_0x464cxb){switch(_0x464cxd[_0xd25a[22]][_0xd25a[24]]){case _0xd25a[20]:return SmsRoom[_0xd25a[23]](_0xd25a[19],{method:[_0xd25a[20],_0x464cxd[_0xd25a[22]][_0xd25a[21]]]})[_0xd25a[18]](Util[_0xd25a[17]](_0x464cxd[_0xd25a[16]]))[_0xd25a[15]](function(_0x464cxe){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]](_0x464cxe)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)});default:return SmsRoom[_0xd25a[23]](_0xd25a[19])[_0xd25a[18]](Util[_0xd25a[17]](_0x464cxd[_0xd25a[16]]))[_0xd25a[15]](function(_0x464cxe){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]](_0x464cxe)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})}};exports[_0xd25a[25]]= function(_0x464cxd,_0x464cxb){return SmsRoom[_0xd25a[25]]()[_0xd25a[15]](function(_0x464cxf){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]](_0x464cxf)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};function getSmsQueues(_0x464cx11){return function(){switch(_0x464cx11[_0xd25a[24]]){case _0xd25a[22]:return User[_0xd25a[28]](_0x464cx11[_0xd25a[21]],{attributes:[_0xd25a[21]]})[_0xd25a[15]](Util[_0xd25a[27]]({},{attributes:[_0xd25a[21]],include:[{raw:true,model:User,attributes:[_0xd25a[21]]}]}))[_0xd25a[15]](function(_0x464cx12){return {include:{model:SmsAccount,include:{model:SmsApplication,include:{model:SmsQueue,where:{id:_[_0xd25a[26]](_0x464cx12,_0xd25a[21])}}}}}});default:return {}}}}exports[_0xd25a[29]]= function(_0x464cxd,_0x464cxb){return Promise[_0xd25a[36]]([])[_0xd25a[15]](getSmsQueues(_0x464cxd[_0xd25a[22]]))[_0xd25a[15]](function(_0x464cx14){return SmsRoom[_0xd25a[35]](_[_0xd25a[34]](Util[_0xd25a[17]](_0x464cxd[_0xd25a[16]],{status:_0xd25a[31],updatedAt:{$gte:moment()[_0xd25a[33]](_0xd25a[32])}}),_0x464cx14))})[_0xd25a[15]](function(_0x464cx13){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]]({value:_0x464cx13})})[_0xd25a[14]](function(_0x464cxc){console[_0xd25a[30]](_0x464cxc);return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[37]]= function(_0x464cxd,_0x464cxb){return Promise[_0xd25a[36]]([])[_0xd25a[15]](getSmsQueues(_0x464cxd[_0xd25a[22]]))[_0xd25a[15]](function(_0x464cx14){return SmsRoom[_0xd25a[35]](_[_0xd25a[34]](Util[_0xd25a[17]](_0x464cxd[_0xd25a[16]],{status:_0xd25a[38],updatedAt:{$gte:moment()[_0xd25a[33]](_0xd25a[32])}}),_0x464cx14))})[_0xd25a[15]](function(_0x464cx13){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]]({value:_0x464cx13})})[_0xd25a[14]](function(_0x464cxc){console[_0xd25a[30]](_0x464cxc);return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[39]]= function(_0x464cxd,_0x464cxb){return Promise[_0xd25a[36]]([])[_0xd25a[15]](getSmsQueues(_0x464cxd[_0xd25a[22]]))[_0xd25a[15]](function(_0x464cx14){return SmsRoom[_0xd25a[35]](_[_0xd25a[34]](Util[_0xd25a[17]](_0x464cxd[_0xd25a[16]],{status:_0xd25a[40],updatedAt:{$gte:moment()[_0xd25a[33]](_0xd25a[32])}}),_0x464cx14))})[_0xd25a[15]](function(_0x464cx13){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]]({value:_0x464cx13})})[_0xd25a[14]](function(_0x464cxc){console[_0xd25a[30]](_0x464cxc);return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[41]]= function(_0x464cxd,_0x464cxb){return Promise[_0xd25a[36]]([])[_0xd25a[15]](getSmsQueues(_0x464cxd[_0xd25a[22]]))[_0xd25a[15]](function(_0x464cx14){return SmsRoom[_0xd25a[35]](_[_0xd25a[34]](Util[_0xd25a[17]](_0x464cxd[_0xd25a[16]],{status:_0xd25a[42],updatedAt:{$gte:moment()[_0xd25a[33]](_0xd25a[32])}}),_0x464cx14))})[_0xd25a[15]](function(_0x464cx13){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]]({value:_0x464cx13})})[_0xd25a[14]](function(_0x464cxc){console[_0xd25a[30]](_0x464cxc);return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[43]]= function(_0x464cxd,_0x464cxb){return SmsRoom[_0xd25a[23]](_0xd25a[19])[_0xd25a[28]](_0x464cxd[_0xd25a[45]][_0xd25a[21]])[_0xd25a[15]](function(_0x464cx15){if(!_0x464cx15){return _0x464cxb[_0xd25a[44]](404)};return _0x464cxb[_0xd25a[11]](_0x464cx15)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[46]]= function(_0x464cxd,_0x464cxb,_0x464cx16){return SmsRoom[_0xd25a[28]](_0x464cxd[_0xd25a[45]][_0xd25a[21]])[_0xd25a[15]](function(_0x464cx15){if(!_0x464cx15){return _0x464cxb[_0xd25a[44]](404)};return _0x464cx15[_0xd25a[51]]({attributes:[_0xd25a[21],_0xd25a[47],_0xd25a[48],_0xd25a[49],_0xd25a[24],_0xd25a[50]]})})[_0xd25a[15]](function(_0x464cx17){return _0x464cxb[_0xd25a[11]](_0x464cx17)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[52]]= function(_0x464cxd,_0x464cxb,_0x464cx16){return SmsMessage[_0xd25a[28]](_0x464cxd[_0xd25a[45]][_0xd25a[21]])[_0xd25a[15]](function(_0x464cx19){return _0x464cx19[_0xd25a[54]]({include:[{model:SmsAccount},{model:SmsMessage,include:[{model:User,attributes:[_0xd25a[21],_0xd25a[47],_0xd25a[48],_0xd25a[49]]}]},{model:User,attributes:[_0xd25a[21],_0xd25a[47],_0xd25a[48],_0xd25a[49]]}]})})[_0xd25a[15]](function(_0x464cx18){return _0x464cxb[_0xd25a[11]](_0x464cx18)})[_0xd25a[14]](function(_0x464cxc){console[_0xd25a[30]](_0xd25a[53],_0x464cxc);return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[55]]= function(_0x464cxd,_0x464cxb){return SmsRoom[_0xd25a[55]](_0x464cxd[_0xd25a[56]])[_0xd25a[15]](function(_0x464cx1a){return _0x464cxb[_0xd25a[12]](201)[_0xd25a[11]](_0x464cx1a)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[57]]= function(_0x464cxd,_0x464cxb,_0x464cx16){_0x464cxd[_0xd25a[56]][_0xd25a[58]]= _0x464cxd[_0xd25a[22]][_0xd25a[21]];_0x464cxd[_0xd25a[56]][_0xd25a[59]]= _0x464cxd[_0xd25a[45]][_0xd25a[21]];return SmsMessage[_0xd25a[55]](_0x464cxd[_0xd25a[56]])[_0xd25a[15]](function(_0x464cx1a){return _0x464cxb[_0xd25a[12]](201)[_0xd25a[11]](_0x464cx1a)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[60]]= function(_0x464cxd,_0x464cxb){if(_0x464cxd[_0xd25a[56]][_0xd25a[21]]){delete _0x464cxd[_0xd25a[56]][_0xd25a[21]]};return SmsRoom[_0xd25a[28]](_0x464cxd[_0xd25a[45]][_0xd25a[21]])[_0xd25a[15]](function(_0x464cx15){if(!_0x464cx15){return _0x464cxb[_0xd25a[44]](404)};var _0x464cx1b=_[_0xd25a[34]](_0x464cx15,_0x464cxd[_0xd25a[56]]);return _0x464cx1b[_0xd25a[61]]()})[_0xd25a[15]](function(_0x464cx15){return _0x464cxb[_0xd25a[12]](200)[_0xd25a[11]](_0x464cx15)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[62]]= function(_0x464cxd,_0x464cxb,_0x464cx16){return SmsRoom[_0xd25a[28]](_0x464cxd[_0xd25a[45]][_0xd25a[21]])[_0xd25a[15]](function(_0x464cx15){if(!_0x464cx15){return _0x464cxb[_0xd25a[44]](404)};return _0x464cx15[_0xd25a[64]](_0x464cxd[_0xd25a[56]][_0xd25a[63]],{individualHooks:true})})[_0xd25a[15]](function(){return _0x464cxb[_0xd25a[44]](200)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[65]]= function(_0x464cxd,_0x464cxb){return SmsRoom[_0xd25a[28]](_0x464cxd[_0xd25a[45]][_0xd25a[21]])[_0xd25a[15]](function(_0x464cx15){if(!_0x464cx15){return _0x464cxb[_0xd25a[44]](404)};return _0x464cx15[_0xd25a[65]]()})[_0xd25a[15]](function(){return _0x464cxb[_0xd25a[44]](204)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[66]]= function(_0x464cxd,_0x464cxb){return SmsRoom[_0xd25a[65]]({where:{id:_0x464cxd[_0xd25a[16]][_0xd25a[67]]},individualHooks:true})[_0xd25a[15]](function(){return _0x464cxb[_0xd25a[44]](200)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})};exports[_0xd25a[68]]= function(_0x464cxd,_0x464cxb,_0x464cx16){var _0x464cx1c={where:{id:_0x464cxd[_0xd25a[45]][_0xd25a[21]][_0xd25a[70]](_0xd25a[69])},user:_0x464cxd[_0xd25a[22]],individualHooks:true};return SmsRoom[_0xd25a[60]](_0x464cxd[_0xd25a[56]],_0x464cx1c)[_0xd25a[15]](function(_0x464cx1d){if(!_0x464cx1d){return _0x464cxb[_0xd25a[44]](404)};return _0x464cx1d})[_0xd25a[15]](function(_0x464cx1d){return _0x464cxb[_0xd25a[44]](200)})[_0xd25a[14]](function(_0x464cxc){return handleError(_0x464cxb,_0x464cxc)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SmsRoom = require('../../models').SmsRoom;
-
-var SmsRoomEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SmsRoomEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SmsRoom.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SmsRoomEvents.emit(event + ':' + doc._id, doc);
- SmsRoomEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SmsRoomEvents;
+var _0xef37=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6D\x73\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xef37[0];const EventEmitter=require(_0xef37[1]);const SmsRoom=require(_0xef37[3])[_0xef37[2]];var SmsRoomEvents= new EventEmitter();SmsRoomEvents[_0xef37[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xef37[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xef37[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xef37[6]};for(var e in events){var event=events[e];SmsRoom[_0xef37[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x575dx8,_0x575dx9,_0x575dxa){SmsRoomEvents[_0xef37[10]](event+ _0xef37[8]+ _0x575dx8[_0xef37[9]],_0x575dx8);SmsRoomEvents[_0xef37[10]](event,_0x575dx8);_0x575dxa(null)}}module[_0xef37[11]]= SmsRoomEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SmsRoomEvents = require('./sms_room.events');
-
-// Model events to emit
-var events = ['save', 'save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sms_room:' + event, socket);
-
- SmsRoomEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-
-function removeListener(event, listener) {
- return function() {
- SmsRoomEvents.removeListener(event, listener);
- };
-}
+var _0x84f0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6D\x73\x5F\x72\x6F\x6F\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6D\x73\x5F\x72\x6F\x6F\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x84f0[0];const SmsRoomEvents=require(_0x84f0[1]);var events=[_0x84f0[2],_0x84f0[2],_0x84f0[3]];exports[_0x84f0[4]]= function(_0x7db6x3){for(var _0x7db6x4=0,_0x7db6x5=events[_0x84f0[5]];_0x7db6x4< _0x7db6x5;_0x7db6x4++){var _0x7db6x6=events[_0x7db6x4];var _0x7db6x7=createListener(_0x84f0[6]+ _0x7db6x6,_0x7db6x3);SmsRoomEvents[_0x84f0[7]](_0x7db6x6,_0x7db6x7);_0x7db6x3[_0x84f0[7]](_0x84f0[8],removeListener(_0x7db6x6,_0x7db6x7))}};function createListener(_0x7db6x6,_0x7db6x3){return function(_0x7db6x9){_0x7db6x3[_0x84f0[9]](_0x7db6x6,_0x7db6x9)}}function removeListener(_0x7db6x6,_0x7db6x7){return function(){SmsRoomEvents[_0x84f0[10]](_0x7db6x6,_0x7db6x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./sound.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([13, 7], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-router.get('/:id/download', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.download);
-router.get('/:id/stream', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.stream);
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x6a0d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x6F\x75\x6E\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x2F\x3A\x69\x64\x2F\x73\x74\x72\x65\x61\x6D","\x73\x74\x72\x65\x61\x6D","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x6a0d[0];var express=require(_0x6a0d[1]);var controller=require(_0x6a0d[2]);var auth=require(_0x6a0d[3]);var router=express.Router();router[_0x6a0d[9]](_0x6a0d[4],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13,7],[_0x6a0d[6]]),controller[_0x6a0d[8]]);router[_0x6a0d[9]](_0x6a0d[10],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13],[_0x6a0d[6]]),controller[_0x6a0d[11]]);router[_0x6a0d[9]](_0x6a0d[12],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13],[_0x6a0d[6]]),controller[_0x6a0d[13]]);router[_0x6a0d[9]](_0x6a0d[14],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13],[_0x6a0d[6]]),controller[_0x6a0d[15]]);router[_0x6a0d[17]](_0x6a0d[4],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13],[_0x6a0d[6]]),controller[_0x6a0d[16]]);router[_0x6a0d[19]](_0x6a0d[10],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13],[_0x6a0d[6]]),controller[_0x6a0d[18]]);router[_0x6a0d[21]](_0x6a0d[10],auth[_0x6a0d[5]](),auth[_0x6a0d[7]]([13],[_0x6a0d[6]]),controller[_0x6a0d[20]]);module[_0x6a0d[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Sound = require('../../models').Sound;
-var uploadFile = require('upload-file');
-var sr = require('simple-random');
-var sox = require('sox');
-var path = require('path');
-var config = require('../../config/environment');
-var fs = require('fs');
-var sequelize = require('../../models').sequelize;
-var base64 = require('file-base64');
-var Promise = require('bluebird');
-var Setting = require('../../models').Setting;
-
-// Get list of Sounds
-exports.index = function(req, res) {
- return Sound
- .findAndCountAll()
- .then(function(Sounds) {
- return res.status(200).send(Sounds);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single Sound
-exports.show = function(req, res) {
- return Sound
- .findById(req.params.id)
- .then(function(Sound) {
- if (!Sound) {
- return res.sendStatus(404);
- }
- return res.send(Sound);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new Sound in the DB.
-exports.create = function(req, res) {
- var upload = new uploadFile({
- dest: path.join(config.originalSounds),
- maxFileSize: 15 * 1000000,
- maxNumberOfFiles: 10,
- minNumberOfFiles: 0,
- acceptFileTypes: /(\.|\/)(wav|mp3|gsm|ogg)$/i,
- rename: function(name, file) {
- return sr() + path.extname(file.filename);
- },
- messages: {
- maxNumberOfFiles: "Max number of files upload exceeded",
- acceptFileTypes: "Only wav,mp3,gsm, and ogg format accepted",
- maxFileSize: "The maximum file size is 15 Mb",
- invalidRequest: "Invalid request"
- }
- });
-
- upload.on('end', function(fields, files) {
- if (!files.file.filename) {
- return res.status(500).send(upload);
- }
-
- return Setting
- .findById(1)
- .then(function(settings) {
- var job_details = {};
- var original_format = path.extname(files.file.filename);
- job_details.description = "";
- job_details.original_format = path.extname(files.file.filename).substring(1);
- job_details.converted_format = 'wav';
- job_details.name = job_details.display_name = path.basename(files.file.path, original_format);
- job_details.save_name = path.basename(files.file.filename, original_format);
-
-
-
- var filepath = path.join(config.originalSounds, job_details.save_name + original_format);
- var destination = path.join(settings.soundPath || '/var/opt/motion/server/files/sounds/converted', job_details.save_name + '.' + job_details.converted_format);
- //
-
- fs.chmodSync(filepath, parseInt('0777', 8));
- sox.identify(filepath, function(err, result) {
- // console.log('************** Result: ', result);
- });
-
- var job = sox.transcode(filepath, destination, {
- sampleRate: 8000,
- format: 'wav',
- channelCount: 1,
- bitRate: 192 * 1024,
- compressionQuality: 5,
- });
-
-
-
- job.on('error', function(err) {
- console.error('********** Conversion Error: ', err);
- fs.unlink(filepath, function(err) {
- if (err)
- return handleError(res, err);
- });
- return handleError(res, err);
- });
-
- job.on('progress', function(amountDone, amountTotal) {
- // console.log("*********** Progress", amountDone, amountTotal);
- });
-
- job.on('src', function(info) {
- // console.log('********** src: ', info);
- /* info looks like:
- {
- format: 'wav',
- duration: 1.5,
- sampleCount: 66150,
- channelCount: 1,
- bitRate: 722944,
- sampleRate: 44100,
- }
- */
- job_details.original_duration = isNaN(info.duration) ? null : info.duration * 1000;
- job_details.original_sampleCount = isNaN(info.sampleCount) ? null : info.sampleCount;
- job_details.original_channelCount = isNaN(info.channelCount) ? null : info.channelCount;
- job_details.original_bitRate = isNaN(info.bitRate) ? null : info.bitRate;
- job_details.original_sampleRate = isNaN(info.sampleRate) ? null : info.sampleRate;
- });
-
- job.on('dest', function(info) {
- // console.log('********** dest: ', info);
- /* info looks like:
- {
- sampleRate: 44100,
- format: 'mp3',
- channelCount: 2,
- sampleCount: 67958,
- duration: 1.540998,
- bitRate: 196608,
- }
- */
- job_details.converted_duration = isNaN(info.duration) ? null : info.duration * 1000;
- job_details.converted_sampleCount = isNaN(info.sampleCount) ? null : info.sampleCount;
- job_details.converted_channelCount = isNaN(info.channelCount) ? null : info.channelCount;
- job_details.converted_bitRate = isNaN(info.bitRate) ? null : info.bitRate;
- job_details.converted_sampleRate = isNaN(info.sampleRate) ? null : info.sampleRate;
- });
-
- job.on('end', function() {
- console.log("Conversion completed");
- fs.chmodSync(destination, parseInt('0777', 8));
- return Sound
- .create(job_details)
- .then(function(sound) {
- return res.status(201).send(sound);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- });
-
- job.start();
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-
- });
-
- upload.on('error', function(err) {
- console.log('********** Upload error :', err)
- return handleError(res, err);
- });
-
- upload.parse(req);
-};
-
-// Updates an existing upload in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Sound
- .findById(req.params.id)
- .then(function(sound) {
- if (!sound) {
- return res.sendStatus(404);
- }
- var updated = _.merge(sound, req.body);
- return updated.save();
- })
- .then(function(sound) {
- return res.status(200).send(sound);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a Sound from the DB.
-exports.destroy = function(req, res) {
- var _settings;
- return Setting
- .findById(1)
- .then(function(settings) {
- _settings = settings;
- return Sound
- .findById(req.params.id);
- })
- .then(function(sound) {
- if (!sound) {
- return res.sendStatus(404);
- }
- var original_filepath = path.join(config.originalSounds, sound.save_name + '.' + sound.original_format);
- var converted_filepath = path.join(_settings.soundPath || '/var/opt/motion/server/files/sounds/converted', sound.save_name + '.' + sound.converted_format);
- return sequelize.transaction(function(t) {
- return sound.destroy({
- transaction: t
- })
- .then(function() {
- fs.unlink(original_filepath, function(err) {
- if (err)
- return handleError(res, err);
- });
- fs.unlink(converted_filepath, function(err) {
- if (err)
- return handleError(res, err);
- });
- return res.status(200).send(sound);
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-//Download an uploaded file
-exports.download = function(req, res) {
- getStream(req, res, 'original');
-};
-
-//Stream an uploaded file
-exports.stream = function(req, res) {
- getStream(req, res, 'converted');
-}
-
-
-function getStream(req, res, value) {
- return Sound
- .findById(req.params.id)
- .then(function(sound) {
- var readFile = Promise.promisify(fs.readFile);
- return readFile(path.join(config[value + 'Sounds'], sound.save_name + '.' + sound[value + '_format']));
- })
- .then(function(result) {
- var base64String = new Buffer(result, 'binary').toString('base64');
- return base64String;
- })
- .then(function(base64String) {
- return res.status(200).send({
- downloadString: base64String
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x18b8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x6F\x75\x6E\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x73\x6F\x78","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x66\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x62\x6C\x75\x65\x62\x69\x72\x64","\x53\x65\x74\x74\x69\x6E\x67","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x53\x6F\x75\x6E\x64\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x77\x61\x76\x2C\x6D\x70\x33\x2C\x67\x73\x6D\x2C\x20\x61\x6E\x64\x20\x6F\x67\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x31\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x66\x6F\x72\x6D\x61\x74","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x66\x6F\x72\x6D\x61\x74","\x77\x61\x76","\x6E\x61\x6D\x65","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x73\x6F\x75\x6E\x64\x50\x61\x74\x68","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x2E","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x69\x64\x65\x6E\x74\x69\x66\x79","\x74\x72\x61\x6E\x73\x63\x6F\x64\x65","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x45\x72\x72\x6F\x72\x3A\x20","\x75\x6E\x6C\x69\x6E\x6B","\x6F\x6E","\x70\x72\x6F\x67\x72\x65\x73\x73","\x73\x72\x63","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x62\x69\x74\x52\x61\x74\x65","\x62\x69\x74\x52\x61\x74\x65","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x5F\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x64\x65\x73\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x73\x61\x6D\x70\x6C\x65\x43\x6F\x75\x6E\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x63\x68\x61\x6E\x6E\x65\x6C\x43\x6F\x75\x6E\x74","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x62\x69\x74\x52\x61\x74\x65","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x5F\x73\x61\x6D\x70\x6C\x65\x52\x61\x74\x65","\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x6C\x6F\x67","\x73\x74\x61\x72\x74","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x6F\x72\x69\x67\x69\x6E\x61\x6C","\x73\x74\x72\x65\x61\x6D","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x62\x61\x73\x65\x36\x34","\x62\x69\x6E\x61\x72\x79","\x72\x65\x61\x64\x46\x69\x6C\x65","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x53\x6F\x75\x6E\x64\x73","\x5F\x66\x6F\x72\x6D\x61\x74"];_0x18b8[0];var _=require(_0x18b8[1]);var Sound=require(_0x18b8[3])[_0x18b8[2]];var uploadFile=require(_0x18b8[4]);var sr=require(_0x18b8[5]);var sox=require(_0x18b8[6]);var path=require(_0x18b8[7]);var config=require(_0x18b8[8]);var fs=require(_0x18b8[9]);var sequelize=require(_0x18b8[3])[_0x18b8[10]];var base64=require(_0x18b8[11]);var Promise=require(_0x18b8[12]);var Setting=require(_0x18b8[3])[_0x18b8[13]];exports[_0x18b8[14]]= function(_0xac2fxd,_0xac2fxe){return Sound[_0x18b8[19]]()[_0x18b8[18]](function(_0xac2fx10){return _0xac2fxe[_0x18b8[17]](200)[_0x18b8[16]](_0xac2fx10)})[_0x18b8[15]](function(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)})};exports[_0x18b8[20]]= function(_0xac2fxd,_0xac2fxe){return Sound[_0x18b8[24]](_0xac2fxd[_0x18b8[23]][_0x18b8[22]])[_0x18b8[18]](function(Sound){if(!Sound){return _0xac2fxe[_0x18b8[21]](404)};return _0xac2fxe[_0x18b8[16]](Sound)})[_0x18b8[15]](function(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)})};exports[_0x18b8[25]]= function(_0xac2fxd,_0xac2fxe){var _0xac2fx11= new uploadFile({dest:path[_0x18b8[27]](config[_0x18b8[26]]),maxFileSize:15* 1000000,maxNumberOfFiles:10,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(wav|mp3|gsm|ogg)$/i,rename:function(_0xac2fx12,_0xac2fx13){return sr()+ path[_0x18b8[29]](_0xac2fx13[_0x18b8[28]])},messages:{maxNumberOfFiles:_0x18b8[30],acceptFileTypes:_0x18b8[31],maxFileSize:_0x18b8[32],invalidRequest:_0x18b8[33]}});_0xac2fx11[_0x18b8[56]](_0x18b8[34],function(_0xac2fx14,_0xac2fx15){if(!_0xac2fx15[_0x18b8[35]][_0x18b8[28]]){return _0xac2fxe[_0x18b8[17]](500)[_0x18b8[16]](_0xac2fx11)};return Setting[_0x18b8[24]](1)[_0x18b8[18]](function(_0xac2fx16){var _0xac2fx17={};var _0xac2fx18=path[_0x18b8[29]](_0xac2fx15[_0x18b8[35]][_0x18b8[28]]);_0xac2fx17[_0x18b8[36]]= _0x18b8[37];_0xac2fx17[_0x18b8[38]]= path[_0x18b8[29]](_0xac2fx15[_0x18b8[35]][_0x18b8[28]])[_0x18b8[39]](1);_0xac2fx17[_0x18b8[40]]= _0x18b8[41];_0xac2fx17[_0x18b8[42]]= _0xac2fx17[_0x18b8[43]]= path[_0x18b8[44]](_0xac2fx15[_0x18b8[35]][_0x18b8[7]],_0xac2fx18);_0xac2fx17[_0x18b8[45]]= path[_0x18b8[44]](_0xac2fx15[_0x18b8[35]][_0x18b8[28]],_0xac2fx18);var _0xac2fx19=path[_0x18b8[27]](config[_0x18b8[26]],_0xac2fx17[_0x18b8[45]]+ _0xac2fx18);var _0xac2fx1a=path[_0x18b8[27]](_0xac2fx16[_0x18b8[46]]|| _0x18b8[47],_0xac2fx17[_0x18b8[45]]+ _0x18b8[48]+ _0xac2fx17[_0x18b8[40]]);fs[_0x18b8[50]](_0xac2fx19,parseInt(_0x18b8[49],8));sox[_0x18b8[51]](_0xac2fx19,function(_0xac2fxf,_0xac2fx1b){});var _0xac2fx1c=sox[_0x18b8[52]](_0xac2fx19,_0xac2fx1a,{sampleRate:8000,format:_0x18b8[41],channelCount:1,bitRate:192* 1024,compressionQuality:5});_0xac2fx1c[_0x18b8[56]](_0x18b8[53],function(_0xac2fxf){console[_0x18b8[53]](_0x18b8[54],_0xac2fxf);fs[_0x18b8[55]](_0xac2fx19,function(_0xac2fxf){if(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)}});return handleError(_0xac2fxe,_0xac2fxf)});_0xac2fx1c[_0x18b8[56]](_0x18b8[57],function(_0xac2fx1d,_0xac2fx1e){});_0xac2fx1c[_0x18b8[56]](_0x18b8[58],function(_0xac2fx1f){_0xac2fx17[_0x18b8[59]]= isNaN(_0xac2fx1f[_0x18b8[60]])?null:_0xac2fx1f[_0x18b8[60]]* 1000;_0xac2fx17[_0x18b8[61]]= isNaN(_0xac2fx1f[_0x18b8[62]])?null:_0xac2fx1f[_0x18b8[62]];_0xac2fx17[_0x18b8[63]]= isNaN(_0xac2fx1f[_0x18b8[64]])?null:_0xac2fx1f[_0x18b8[64]];_0xac2fx17[_0x18b8[65]]= isNaN(_0xac2fx1f[_0x18b8[66]])?null:_0xac2fx1f[_0x18b8[66]];_0xac2fx17[_0x18b8[67]]= isNaN(_0xac2fx1f[_0x18b8[68]])?null:_0xac2fx1f[_0x18b8[68]]});_0xac2fx1c[_0x18b8[56]](_0x18b8[69],function(_0xac2fx1f){_0xac2fx17[_0x18b8[70]]= isNaN(_0xac2fx1f[_0x18b8[60]])?null:_0xac2fx1f[_0x18b8[60]]* 1000;_0xac2fx17[_0x18b8[71]]= isNaN(_0xac2fx1f[_0x18b8[62]])?null:_0xac2fx1f[_0x18b8[62]];_0xac2fx17[_0x18b8[72]]= isNaN(_0xac2fx1f[_0x18b8[64]])?null:_0xac2fx1f[_0x18b8[64]];_0xac2fx17[_0x18b8[73]]= isNaN(_0xac2fx1f[_0x18b8[66]])?null:_0xac2fx1f[_0x18b8[66]];_0xac2fx17[_0x18b8[74]]= isNaN(_0xac2fx1f[_0x18b8[68]])?null:_0xac2fx1f[_0x18b8[68]]});_0xac2fx1c[_0x18b8[56]](_0x18b8[34],function(){console[_0x18b8[76]](_0x18b8[75]);fs[_0x18b8[50]](_0xac2fx1a,parseInt(_0x18b8[49],8));return Sound[_0x18b8[25]](_0xac2fx17)[_0x18b8[18]](function(_0xac2fx20){return _0xac2fxe[_0x18b8[17]](201)[_0x18b8[16]](_0xac2fx20)})[_0x18b8[15]](function(_0xac2fxf){console[_0x18b8[76]](_0xac2fxf);return handleError(_0xac2fxe,_0xac2fxf)})});_0xac2fx1c[_0x18b8[77]]()})[_0x18b8[15]](function(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)})});_0xac2fx11[_0x18b8[56]](_0x18b8[53],function(_0xac2fxf){console[_0x18b8[76]](_0x18b8[78],_0xac2fxf);return handleError(_0xac2fxe,_0xac2fxf)});_0xac2fx11[_0x18b8[79]](_0xac2fxd)};exports[_0x18b8[80]]= function(_0xac2fxd,_0xac2fxe){if(_0xac2fxd[_0x18b8[81]][_0x18b8[22]]){delete _0xac2fxd[_0x18b8[81]][_0x18b8[22]]};return Sound[_0x18b8[24]](_0xac2fxd[_0x18b8[23]][_0x18b8[22]])[_0x18b8[18]](function(_0xac2fx20){if(!_0xac2fx20){return _0xac2fxe[_0x18b8[21]](404)};var _0xac2fx21=_[_0x18b8[82]](_0xac2fx20,_0xac2fxd[_0x18b8[81]]);return _0xac2fx21[_0x18b8[83]]()})[_0x18b8[18]](function(_0xac2fx20){return _0xac2fxe[_0x18b8[17]](200)[_0x18b8[16]](_0xac2fx20)})[_0x18b8[15]](function(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)})};exports[_0x18b8[84]]= function(_0xac2fxd,_0xac2fxe){var _0xac2fx22;return Setting[_0x18b8[24]](1)[_0x18b8[18]](function(_0xac2fx16){_0xac2fx22= _0xac2fx16;return Sound[_0x18b8[24]](_0xac2fxd[_0x18b8[23]][_0x18b8[22]])})[_0x18b8[18]](function(_0xac2fx20){if(!_0xac2fx20){return _0xac2fxe[_0x18b8[21]](404)};var _0xac2fx23=path[_0x18b8[27]](config[_0x18b8[26]],_0xac2fx20[_0x18b8[45]]+ _0x18b8[48]+ _0xac2fx20[_0x18b8[38]]);var _0xac2fx24=path[_0x18b8[27]](_0xac2fx22[_0x18b8[46]]|| _0x18b8[47],_0xac2fx20[_0x18b8[45]]+ _0x18b8[48]+ _0xac2fx20[_0x18b8[40]]);return sequelize[_0x18b8[85]](function(_0xac2fx25){return _0xac2fx20[_0x18b8[84]]({transaction:_0xac2fx25})[_0x18b8[18]](function(){fs[_0x18b8[55]](_0xac2fx23,function(_0xac2fxf){if(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)}});fs[_0x18b8[55]](_0xac2fx24,function(_0xac2fxf){if(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)}});return _0xac2fxe[_0x18b8[17]](200)[_0x18b8[16]](_0xac2fx20)})})[_0x18b8[15]](function(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)})})[_0x18b8[15]](function(_0xac2fxf){return handleError(_0xac2fxe,_0xac2fxf)})};exports[_0x18b8[86]]= function(_0xac2fxd,_0xac2fxe){getStream(_0xac2fxd,_0xac2fxe,_0x18b8[87])};exports[_0x18b8[88]]= function(_0xac2fxd,_0xac2fxe){getStream(_0xac2fxd,_0xac2fxe,_0x18b8[89])};function getStream(_0xac2fxd,_0xac2fxe,_0xac2fx27){return Sound[_0x18b8[24]](_0xac2fxd[_0x18b8[23]][_0x18b8[22]])[_0x18b8[18]](function(_0xac2fx20){var _0xac2fx29=Promise[_0x18b8[93]](fs[_0x18b8[92]]);return _0xac2fx29(path[_0x18b8[27]](config[_0xac2fx27+ _0x18b8[94]],_0xac2fx20[_0x18b8[45]]+ _0x18b8[48]+ _0xac2fx20[_0xac2fx27+ _0x18b8[95]]))})[_0x18b8[18]](function(_0xac2fx1b){var _0xac2fx28= new Buffer(_0xac2fx1b,_0x18b8[91]).toString(_0x18b8[90]);return _0xac2fx28})[_0x18b8[18]](function(_0xac2fx28){return _0xac2fxe[_0x18b8[17]](200)[_0x18b8[16]]({downloadString:_0xac2fx28})})[_0x18b8[15]](function(_0xac2fxf){console[_0x18b8[76]](_0xac2fxf);return handleError(_0xac2fxe,_0xac2fxf)})}function handleError(_0xac2fxe,_0xac2fxf){return _0xac2fxe[_0x18b8[17]](500)[_0x18b8[16]](_0xac2fxf)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Sound = require('../../models').Sound;
-
-var SoundEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SoundEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Sound.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SoundEvents.emit(event + ':' + doc._id, doc);
- SoundEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SoundEvents;
+var _0xcf72=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x6F\x75\x6E\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xcf72[0];const EventEmitter=require(_0xcf72[1]);const Sound=require(_0xcf72[3])[_0xcf72[2]];var SoundEvents= new EventEmitter();SoundEvents[_0xcf72[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xcf72[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xcf72[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xcf72[6]};for(var e in events){var event=events[e];Sound[_0xcf72[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x8e9bx8,_0x8e9bx9,_0x8e9bxa){SoundEvents[_0xcf72[10]](event+ _0xcf72[8]+ _0x8e9bx8[_0xcf72[9]],_0x8e9bx8);SoundEvents[_0xcf72[10]](event,_0x8e9bx8);_0x8e9bxa(null)}}module[_0xcf72[11]]= SoundEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SoundEvents = require('./sound.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sound:' + event, socket);
-
- SoundEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SoundEvents.removeListener(event, listener);
- };
-}
+var _0xcb01=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x6F\x75\x6E\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x6F\x75\x6E\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xcb01[0];const SoundEvents=require(_0xcb01[1]);var events=[_0xcb01[2],_0xcb01[3]];exports[_0xcb01[4]]= function(_0xd324x3){for(var _0xd324x4=0,_0xd324x5=events[_0xcb01[5]];_0xd324x4< _0xd324x5;_0xd324x4++){var _0xd324x6=events[_0xd324x4];var _0xd324x7=createListener(_0xcb01[6]+ _0xd324x6,_0xd324x3);SoundEvents[_0xcb01[7]](_0xd324x6,_0xd324x7);_0xd324x3[_0xcb01[7]](_0xcb01[8],removeListener(_0xd324x6,_0xd324x7))}};function createListener(_0xd324x6,_0xd324x3){return function(_0xd324x9){_0xd324x3[_0xcb01[9]](_0xd324x6,_0xd324x9)}}function removeListener(_0xd324x6,_0xd324x7){return function(){SoundEvents[_0xcb01[10]](_0xd324x6,_0xd324x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./square_odbc.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.index);
-router.get('/:id/check', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.checkConnection);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xe47a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xe47a[0];var express=require(_0xe47a[1]);var controller=require(_0xe47a[2]);var auth=require(_0xe47a[3]);var router=express.Router();router[_0xe47a[9]](_0xe47a[4],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[8]]);router[_0xe47a[9]](_0xe47a[10],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[11]]);router[_0xe47a[9]](_0xe47a[12],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[13]]);router[_0xe47a[15]](_0xe47a[4],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[14]]);router[_0xe47a[17]](_0xe47a[12],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[16]]);router[_0xe47a[19]](_0xe47a[4],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[18]]);router[_0xe47a[19]](_0xe47a[12],auth[_0xe47a[5]](),auth[_0xe47a[7]]([14],[_0xe47a[6]]),controller[_0xe47a[20]]);module[_0xe47a[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var db = require("odbc")();
-
-var SquareOdbc = require('../../models').SquareOdbc;
-var Util = require('../../config/util');
-
-// Get list of square_odbcs
-exports.index = function(req, res) {
- return SquareOdbc
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single square_odbc
-exports.show = function(req, res) {
- return SquareOdbc
- .findById(req.params.id)
- .then(function(square_odbc) {
- if (!square_odbc) {
- return res.sendStatus(404);
- }
- return res.send(square_odbc);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new square_odbc in the DB.
-exports.create = function(req, res) {
- return SquareOdbc
- .create(req.body)
- .then(function(square_odbc) {
- return res.status(201).send(square_odbc);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing square_odbc in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SquareOdbc
- .findById(req.params.id)
- .then(function(square_odbc) {
- if (!square_odbc) {
- return res.sendStatus(404);
- }
- var updated = _.merge(square_odbc, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(square_odbc);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a square_odbc from the DB.
-exports.destroy = function(req, res) {
- return SquareOdbc
- .findById(req.params.id)
- .then(function(odbc) {
- if (!odbc) {
- return res.sendStatus(404);
- }
- return odbc
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a square_project from the DB.
-exports.bulkDestroy = function(req, res) {
- return SquareOdbc
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.checkConnection = function(req, res) {
- return SquareOdbc
- .findById(req.params.id)
- .then(function(square_odbc) {
- if (!square_odbc) {
- return res.sendStatus(404);
- }
- db.open(square_odbc.dsn, function(err) {
- if (err) {
- return handleError(res, err);
- }
- db.close(function(err) {
- if (err) {
- return handleError(res, err);
- }
- return res.sendStatus(200);
- })
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x213e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6F\x64\x62\x63","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x63\x68\x65\x63\x6B\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x64\x73\x6E","\x63\x6C\x6F\x73\x65","\x6F\x70\x65\x6E"];_0x213e[0];var _=require(_0x213e[1]);var db=require(_0x213e[2])();var SquareOdbc=require(_0x213e[4])[_0x213e[3]];var Util=require(_0x213e[5]);exports[_0x213e[6]]= function(_0x2697x5,_0x2697x6){return SquareOdbc[_0x213e[13]](Util[_0x213e[12]](_0x2697x5[_0x213e[11]]))[_0x213e[10]](function(_0x2697x8){_0x2697x6[_0x213e[9]](200)[_0x213e[8]](_0x2697x8)})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};exports[_0x213e[14]]= function(_0x2697x5,_0x2697x6){return SquareOdbc[_0x213e[18]](_0x2697x5[_0x213e[17]][_0x213e[16]])[_0x213e[10]](function(_0x2697x9){if(!_0x2697x9){return _0x2697x6[_0x213e[15]](404)};return _0x2697x6[_0x213e[8]](_0x2697x9)})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};exports[_0x213e[19]]= function(_0x2697x5,_0x2697x6){return SquareOdbc[_0x213e[19]](_0x2697x5[_0x213e[20]])[_0x213e[10]](function(_0x2697x9){return _0x2697x6[_0x213e[9]](201)[_0x213e[8]](_0x2697x9)})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};exports[_0x213e[21]]= function(_0x2697x5,_0x2697x6){if(_0x2697x5[_0x213e[20]][_0x213e[16]]){delete _0x2697x5[_0x213e[20]][_0x213e[16]]};return SquareOdbc[_0x213e[18]](_0x2697x5[_0x213e[17]][_0x213e[16]])[_0x213e[10]](function(_0x2697x9){if(!_0x2697x9){return _0x2697x6[_0x213e[15]](404)};var _0x2697xa=_[_0x213e[22]](_0x2697x9,_0x2697x5[_0x213e[20]]);_0x2697xa[_0x213e[23]]()[_0x213e[10]](function(){return _0x2697x6[_0x213e[9]](200)[_0x213e[8]](_0x2697x9)})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};exports[_0x213e[24]]= function(_0x2697x5,_0x2697x6){return SquareOdbc[_0x213e[18]](_0x2697x5[_0x213e[17]][_0x213e[16]])[_0x213e[10]](function(_0x2697xb){if(!_0x2697xb){return _0x2697x6[_0x213e[15]](404)};return _0x2697xb[_0x213e[24]]()})[_0x213e[10]](function(){return _0x2697x6[_0x213e[15]](204)})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};exports[_0x213e[25]]= function(_0x2697x5,_0x2697x6){return SquareOdbc[_0x213e[24]]({where:{id:_0x2697x5[_0x213e[11]][_0x213e[26]]},individualHooks:true})[_0x213e[10]](function(){return _0x2697x6[_0x213e[15]](204)})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};exports[_0x213e[27]]= function(_0x2697x5,_0x2697x6){return SquareOdbc[_0x213e[18]](_0x2697x5[_0x213e[17]][_0x213e[16]])[_0x213e[10]](function(_0x2697x9){if(!_0x2697x9){return _0x2697x6[_0x213e[15]](404)};db[_0x213e[30]](_0x2697x9[_0x213e[28]],function(_0x2697x7){if(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)};db[_0x213e[29]](function(_0x2697x7){if(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)};return _0x2697x6[_0x213e[15]](200)})})})[_0x213e[7]](function(_0x2697x7){return handleError(_0x2697x6,_0x2697x7)})};function handleError(_0x2697x6,_0x2697x7){return _0x2697x6[_0x213e[9]](500)[_0x213e[8]](_0x2697x7)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SquareOdbc = require('../../models').SquareOdbc;
-
-var SquareOdbcEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SquareOdbcEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SquareOdbc.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SquareOdbcEvents.emit(event + ':' + doc._id, doc);
- SquareOdbcEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SquareOdbcEvents;
+var _0xee49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xee49[0];const EventEmitter=require(_0xee49[1]);const SquareOdbc=require(_0xee49[3])[_0xee49[2]];var SquareOdbcEvents= new EventEmitter();SquareOdbcEvents[_0xee49[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xee49[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xee49[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xee49[6]};for(var e in events){var event=events[e];SquareOdbc[_0xee49[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x9ab1x8,_0x9ab1x9,_0x9ab1xa){SquareOdbcEvents[_0xee49[10]](event+ _0xee49[8]+ _0x9ab1x8[_0xee49[9]],_0x9ab1x8);SquareOdbcEvents[_0xee49[10]](event,_0x9ab1x8);_0x9ab1xa(null)}}module[_0xee49[11]]= SquareOdbcEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SquareOdbcEvents = require('./square_odbc.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('square_odbc:' + event, socket);
-
- SquareOdbcEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SquareOdbcEvents.removeListener(event, listener);
- };
-}
+var _0x331c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x331c[0];const SquareOdbcEvents=require(_0x331c[1]);var events=[_0x331c[2],_0x331c[3]];exports[_0x331c[4]]= function(_0x1288x3){for(var _0x1288x4=0,_0x1288x5=events[_0x331c[5]];_0x1288x4< _0x1288x5;_0x1288x4++){var _0x1288x6=events[_0x1288x4];var _0x1288x7=createListener(_0x331c[6]+ _0x1288x6,_0x1288x3);SquareOdbcEvents[_0x331c[7]](_0x1288x6,_0x1288x7);_0x1288x3[_0x331c[7]](_0x331c[8],removeListener(_0x1288x6,_0x1288x7))}};function createListener(_0x1288x6,_0x1288x3){return function(_0x1288x9){_0x1288x3[_0x331c[9]](_0x1288x6,_0x1288x9)}}function removeListener(_0x1288x6,_0x1288x7){return function(){SquareOdbcEvents[_0x331c[10]](_0x1288x6,_0x1288x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./square_project.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([14, 7], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.show);
-router.get('/:id/download', controller.download);
-router.post('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x45bd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x45bd[0];var express=require(_0x45bd[1]);var controller=require(_0x45bd[2]);var auth=require(_0x45bd[3]);var router=express.Router();router[_0x45bd[9]](_0x45bd[4],auth[_0x45bd[5]](),auth[_0x45bd[7]]([14,7],[_0x45bd[6]]),controller[_0x45bd[8]]);router[_0x45bd[9]](_0x45bd[10],auth[_0x45bd[5]](),auth[_0x45bd[7]]([14],[_0x45bd[6]]),controller[_0x45bd[11]]);router[_0x45bd[9]](_0x45bd[12],controller[_0x45bd[13]]);router[_0x45bd[15]](_0x45bd[4],auth[_0x45bd[5]](),auth[_0x45bd[7]]([14],[_0x45bd[6]]),controller[_0x45bd[14]]);router[_0x45bd[17]](_0x45bd[10],auth[_0x45bd[5]](),auth[_0x45bd[7]]([14],[_0x45bd[6]]),controller[_0x45bd[16]]);router[_0x45bd[19]](_0x45bd[4],auth[_0x45bd[5]](),auth[_0x45bd[7]]([14],[_0x45bd[6]]),controller[_0x45bd[18]]);router[_0x45bd[19]](_0x45bd[10],auth[_0x45bd[5]](),auth[_0x45bd[7]]([14],[_0x45bd[6]]),controller[_0x45bd[20]]);module[_0x45bd[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var path = require('path');
-var config = require('../../config/environment');
-var Util = require('../../config/util');
-
-var SquareProject = require('../../models').SquareProject;
-
-// Get list of square_projects
-exports.index = function(req, res) {
- return SquareProject
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single square_project
-exports.show = function(req, res) {
- return SquareProject
- .findById(req.params.id)
- .then(function(square_project) {
- if (!square_project) {
- return res.sendStatus(404);
- }
- return res.send(square_project);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new square_project in the DB.
-exports.create = function(req, res) {
- return SquareProject
- .create(req.body)
- .then(function(square_project) {
- return res.status(201).send(square_project);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing square_project in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- delete req.body.name;
- return SquareProject
- .findById(req.params.id)
- .then(function(square_project) {
- if (!square_project) {
- return res.sendStatus(404);
- }
- var updated = _.merge(square_project, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(square_project);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a square_project from the DB.
-exports.destroy = function(req, res) {
- return SquareProject
- .findById(req.params.id)
- .then(function(project) {
- if (!project) {
- return res.sendStatus(404);
- }
- return project
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a square_project from the DB.
-exports.bulkDestroy = function(req, res) {
- return SquareProject
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.download = function(req, res, next) {
- SquareProject
- .findById(req.params.id)
- .then(function(square_project) {
- if (!square_project) {
- return res.sendStatus(404);
- }
- console.log(req.query.filename);
- res.set({
- "Content-Disposition": "attachment; filename=\"" + req.query.filename +
- ".xml\"",
- "Content-Type": "txt/xml"
- });
- return res.send(square_project.preproduction);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x6c00=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6E\x61\x6D\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x6C\x6F\x67","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x3B\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x3D\x22","\x2E\x78\x6D\x6C\x22","\x74\x78\x74\x2F\x78\x6D\x6C","\x73\x65\x74","\x70\x72\x65\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E"];_0x6c00[0];var _=require(_0x6c00[1]);var path=require(_0x6c00[2]);var config=require(_0x6c00[3]);var Util=require(_0x6c00[4]);var SquareProject=require(_0x6c00[6])[_0x6c00[5]];exports[_0x6c00[7]]= function(_0x9db2x6,_0x9db2x7){return SquareProject[_0x6c00[14]](Util[_0x6c00[13]](_0x9db2x6[_0x6c00[12]]))[_0x6c00[11]](function(_0x9db2x9){_0x9db2x7[_0x6c00[10]](200)[_0x6c00[9]](_0x9db2x9)})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};exports[_0x6c00[15]]= function(_0x9db2x6,_0x9db2x7){return SquareProject[_0x6c00[19]](_0x9db2x6[_0x6c00[18]][_0x6c00[17]])[_0x6c00[11]](function(_0x9db2xa){if(!_0x9db2xa){return _0x9db2x7[_0x6c00[16]](404)};return _0x9db2x7[_0x6c00[9]](_0x9db2xa)})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};exports[_0x6c00[20]]= function(_0x9db2x6,_0x9db2x7){return SquareProject[_0x6c00[20]](_0x9db2x6[_0x6c00[21]])[_0x6c00[11]](function(_0x9db2xa){return _0x9db2x7[_0x6c00[10]](201)[_0x6c00[9]](_0x9db2xa)})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};exports[_0x6c00[22]]= function(_0x9db2x6,_0x9db2x7){if(_0x9db2x6[_0x6c00[21]][_0x6c00[17]]){delete _0x9db2x6[_0x6c00[21]][_0x6c00[17]]};delete _0x9db2x6[_0x6c00[21]][_0x6c00[23]];return SquareProject[_0x6c00[19]](_0x9db2x6[_0x6c00[18]][_0x6c00[17]])[_0x6c00[11]](function(_0x9db2xa){if(!_0x9db2xa){return _0x9db2x7[_0x6c00[16]](404)};var _0x9db2xb=_[_0x6c00[24]](_0x9db2xa,_0x9db2x6[_0x6c00[21]]);_0x9db2xb[_0x6c00[25]]()[_0x6c00[11]](function(){return _0x9db2x7[_0x6c00[10]](200)[_0x6c00[9]](_0x9db2xa)})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};exports[_0x6c00[26]]= function(_0x9db2x6,_0x9db2x7){return SquareProject[_0x6c00[19]](_0x9db2x6[_0x6c00[18]][_0x6c00[17]])[_0x6c00[11]](function(_0x9db2xc){if(!_0x9db2xc){return _0x9db2x7[_0x6c00[16]](404)};return _0x9db2xc[_0x6c00[26]]()})[_0x6c00[11]](function(){return _0x9db2x7[_0x6c00[16]](204)})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};exports[_0x6c00[27]]= function(_0x9db2x6,_0x9db2x7){return SquareProject[_0x6c00[26]]({where:{id:_0x9db2x6[_0x6c00[12]][_0x6c00[28]]},individualHooks:true})[_0x6c00[11]](function(){return _0x9db2x7[_0x6c00[16]](204)})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};exports[_0x6c00[29]]= function(_0x9db2x6,_0x9db2x7,_0x9db2xd){SquareProject[_0x6c00[19]](_0x9db2x6[_0x6c00[18]][_0x6c00[17]])[_0x6c00[11]](function(_0x9db2xa){if(!_0x9db2xa){return _0x9db2x7[_0x6c00[16]](404)};console[_0x6c00[31]](_0x9db2x6[_0x6c00[12]][_0x6c00[30]]);_0x9db2x7[_0x6c00[35]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E":_0x6c00[32]+ _0x9db2x6[_0x6c00[12]][_0x6c00[30]]+ _0x6c00[33],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x6c00[34]});return _0x9db2x7[_0x6c00[9]](_0x9db2xa[_0x6c00[36]])})[_0x6c00[8]](function(_0x9db2x8){return handleError(_0x9db2x7,_0x9db2x8)})};function handleError(_0x9db2x7,_0x9db2x8){return _0x9db2x7[_0x6c00[10]](500)[_0x6c00[9]](_0x9db2x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SquareProject = require('../../models').SquareProject;
-
-var SquareProjectEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SquareProjectEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SquareProject.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SquareProjectEvents.emit(event + ':' + doc._id, doc);
- SquareProjectEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SquareProjectEvents;
+var _0x7f04=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7f04[0];const EventEmitter=require(_0x7f04[1]);const SquareProject=require(_0x7f04[3])[_0x7f04[2]];var SquareProjectEvents= new EventEmitter();SquareProjectEvents[_0x7f04[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7f04[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7f04[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7f04[6]};for(var e in events){var event=events[e];SquareProject[_0x7f04[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x921dx8,_0x921dx9,_0x921dxa){SquareProjectEvents[_0x7f04[10]](event+ _0x7f04[8]+ _0x921dx8[_0x7f04[9]],_0x921dx8);SquareProjectEvents[_0x7f04[10]](event,_0x921dx8);_0x921dxa(null)}}module[_0x7f04[11]]= SquareProjectEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SquareProjectEvents = require('./square_project.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('square_project:' + event, socket);
-
- SquareProjectEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SquareProjectEvents.removeListener(event, listener);
- };
-}
+var _0xc016=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xc016[0];const SquareProjectEvents=require(_0xc016[1]);var events=[_0xc016[2],_0xc016[3]];exports[_0xc016[4]]= function(_0x457bx3){for(var _0x457bx4=0,_0x457bx5=events[_0xc016[5]];_0x457bx4< _0x457bx5;_0x457bx4++){var _0x457bx6=events[_0x457bx4];var _0x457bx7=createListener(_0xc016[6]+ _0x457bx6,_0x457bx3);SquareProjectEvents[_0xc016[7]](_0x457bx6,_0x457bx7);_0x457bx3[_0xc016[7]](_0xc016[8],removeListener(_0x457bx6,_0x457bx7))}};function createListener(_0x457bx6,_0x457bx3){return function(_0x457bx9){_0x457bx3[_0xc016[9]](_0x457bx6,_0x457bx9)}}function removeListener(_0x457bx6,_0x457bx7){return function(){SquareProjectEvents[_0xc016[10]](_0x457bx6,_0x457bx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./square_recording.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.show);
-router.get('/:id/stream', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.getStream);
-router.post('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([14], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xcb4b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x73\x74\x72\x65\x61\x6D","\x67\x65\x74\x53\x74\x72\x65\x61\x6D","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xcb4b[0];var express=require(_0xcb4b[1]);var auth=require(_0xcb4b[2]);var controller=require(_0xcb4b[3]);var router=express.Router();router[_0xcb4b[9]](_0xcb4b[4],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[8]]);router[_0xcb4b[9]](_0xcb4b[10],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[11]]);router[_0xcb4b[9]](_0xcb4b[12],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[13]]);router[_0xcb4b[15]](_0xcb4b[4],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[14]]);router[_0xcb4b[17]](_0xcb4b[10],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[16]]);router[_0xcb4b[19]](_0xcb4b[4],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[18]]);router[_0xcb4b[19]](_0xcb4b[10],auth[_0xcb4b[5]](),auth[_0xcb4b[7]]([14],[_0xcb4b[6]]),controller[_0xcb4b[20]]);module[_0xcb4b[21]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/square/recordings -> index
- * POST /api/square/recordings -> create
- * GET /api/square/recordings/:id -> show
- * PUT /api/square/recordings/:id -> update
- * DELETE /api/square/recordings/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var util = require('util');
-
-var SquareRecording = require('../../models').SquareRecording;
-var Promise = require('bluebird');
-// var base64 = Promise.promisifyAll(require('file-base64'));
-var base64 = require('file-base64');
-var fs = require('fs');
-
-function handleError(res) {
- return function(err) {
- if (err.cause && err.cause.code === 'ENOENT') {
- err = {
- message: 'No file or directory',
- translatedMessage: 'MESSAGE_NO_FILE_OR_DIRECTORY'
- };
- }
- return res.status(500).send(err);
- }
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(body) {
- return function(entity) {
- return entity
- .updateAttributes(body);
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-function getQuery(query) {
- var _query = {};
- _query.where = {};
-
- _.forEach(query, function(value, key) {
- switch (key) {
- case 'limit':
- case 'offset':
- _query[key] = Number(value);
- break;
- case 'order':
- _query[key] = value;
- break;
- default:
- _query.where[key] = {
- $like: '%' + value + '%'
- };
- }
- });
-
- return _query;
-}
-
-// Gets a list of SquareRecordings
-exports.index = function(req, res) {
- var _query = getQuery(req.query);
- return SquareRecording
- .findAndCountAll(_query)
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SquareRecording from the DB
-exports.show = function(req, res) {
- return SquareRecording.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SquareRecording from the DB
-exports.getStream = function(req, res) {
- return SquareRecording
- .findById(req.params.id)
- .then(function(recording) {
- var readFile = Promise.promisify(fs.readFile);
- return readFile(recording.savePath);
- })
- .then(function(result) {
- var base64String = new Buffer(result, 'binary').toString('base64');
- return base64String;
- })
- .then(function(base64String) {
- return res.status(200).send({
- downloadString: base64String
- });
- })
- .catch(handleError(res));
-}
-
-
-// Creates a new SquareRecording in the DB
-exports.create = function(req, res) {
- return SquareRecording.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SquareRecording in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SquareRecording.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SquareRecording from the DB
-exports.destroy = function(req, res) {
- return SquareRecording.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-// Deletes a recording from the DB.
-exports.bulkDestroy = function(req, res) {
- return SquareRecording
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(handleError(res));
-};
+var _0xb747=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x53\x71\x75\x61\x72\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x62\x6C\x75\x65\x62\x69\x72\x64","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x66\x73","\x63\x61\x75\x73\x65","\x63\x6F\x64\x65","\x45\x4E\x4F\x45\x4E\x54","\x4E\x6F\x20\x66\x69\x6C\x65\x20\x6F\x72\x20\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x4E\x4F\x5F\x46\x49\x4C\x45\x5F\x4F\x52\x5F\x44\x49\x52\x45\x43\x54\x4F\x52\x59","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x74\x68\x65\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x77\x68\x65\x72\x65","\x6C\x69\x6D\x69\x74","\x6F\x66\x66\x73\x65\x74","\x6F\x72\x64\x65\x72","\x25","\x66\x6F\x72\x45\x61\x63\x68","\x69\x6E\x64\x65\x78","\x71\x75\x65\x72\x79","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x74\x72\x65\x61\x6D","\x62\x61\x73\x65\x36\x34","\x62\x69\x6E\x61\x72\x79","\x72\x65\x61\x64\x46\x69\x6C\x65","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x73\x61\x76\x65\x50\x61\x74\x68","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64\x73"];_0xb747[0];var _=require(_0xb747[1]);var util=require(_0xb747[2]);var SquareRecording=require(_0xb747[4])[_0xb747[3]];var Promise=require(_0xb747[5]);var base64=require(_0xb747[6]);var fs=require(_0xb747[7]);function handleError(_0xfb6ex8){return function(_0xfb6ex9){if(_0xfb6ex9[_0xb747[8]]&& _0xfb6ex9[_0xb747[8]][_0xb747[9]]=== _0xb747[10]){_0xfb6ex9= {message:_0xb747[11],translatedMessage:_0xb747[12]}};return _0xfb6ex8[_0xb747[14]](500)[_0xb747[13]](_0xfb6ex9)}}function responseWithResult(_0xfb6ex8,_0xfb6exb){_0xfb6exb= _0xfb6exb|| 200;return function(_0xfb6exc){if(_0xfb6exc){_0xfb6ex8[_0xb747[14]](_0xfb6exb)[_0xb747[15]](_0xfb6exc)}}}function handleEntityNotFound(_0xfb6ex8){return function(_0xfb6exc){if(!_0xfb6exc){_0xfb6ex8[_0xb747[14]](404)[_0xb747[16]]();return null};return _0xfb6exc}}function saveUpdates(_0xfb6exf){return function(_0xfb6exc){return _0xfb6exc[_0xb747[17]](_0xfb6exf)}}function removeEntity(_0xfb6ex8){return function(_0xfb6exc){if(_0xfb6exc){return _0xfb6exc[_0xb747[19]]()[_0xb747[18]](function(){_0xfb6ex8[_0xb747[14]](204)[_0xb747[16]]()})}}}function getQuery(_0xfb6ex12){var _0xfb6ex13={};_0xfb6ex13[_0xb747[20]]= {};_[_0xb747[25]](_0xfb6ex12,function(_0xfb6ex14,_0xfb6ex15){switch(_0xfb6ex15){case _0xb747[21]:;case _0xb747[22]:_0xfb6ex13[_0xfb6ex15]= Number(_0xfb6ex14);break;case _0xb747[23]:_0xfb6ex13[_0xfb6ex15]= _0xfb6ex14;break;default:_0xfb6ex13[_0xb747[20]][_0xfb6ex15]= {$like:_0xb747[24]+ _0xfb6ex14+ _0xb747[24]}}});return _0xfb6ex13}exports[_0xb747[26]]= function(_0xfb6ex16,_0xfb6ex8){var _0xfb6ex13=getQuery(_0xfb6ex16[_0xb747[27]]);return SquareRecording[_0xb747[29]](_0xfb6ex13)[_0xb747[18]](responseWithResult(_0xfb6ex8))[_0xb747[28]](handleError(_0xfb6ex8))};exports[_0xb747[30]]= function(_0xfb6ex16,_0xfb6ex8){return SquareRecording[_0xb747[33]](_0xfb6ex16[_0xb747[32]][_0xb747[31]])[_0xb747[18]](handleEntityNotFound(_0xfb6ex8))[_0xb747[18]](responseWithResult(_0xfb6ex8))[_0xb747[28]](handleError(_0xfb6ex8))};exports[_0xb747[34]]= function(_0xfb6ex16,_0xfb6ex8){return SquareRecording[_0xb747[33]](_0xfb6ex16[_0xb747[32]][_0xb747[31]])[_0xb747[18]](function(_0xfb6ex19){var _0xfb6ex1a=Promise[_0xb747[38]](fs[_0xb747[37]]);return _0xfb6ex1a(_0xfb6ex19[_0xb747[39]])})[_0xb747[18]](function(_0xfb6ex18){var _0xfb6ex17= new Buffer(_0xfb6ex18,_0xb747[36]).toString(_0xb747[35]);return _0xfb6ex17})[_0xb747[18]](function(_0xfb6ex17){return _0xfb6ex8[_0xb747[14]](200)[_0xb747[13]]({downloadString:_0xfb6ex17})})[_0xb747[28]](handleError(_0xfb6ex8))};exports[_0xb747[40]]= function(_0xfb6ex16,_0xfb6ex8){return SquareRecording[_0xb747[40]](_0xfb6ex16[_0xb747[41]])[_0xb747[18]](responseWithResult(_0xfb6ex8,201))[_0xb747[28]](handleError(_0xfb6ex8))};exports[_0xb747[42]]= function(_0xfb6ex16,_0xfb6ex8){if(_0xfb6ex16[_0xb747[41]][_0xb747[31]]){delete _0xfb6ex16[_0xb747[41]][_0xb747[31]]};return SquareRecording[_0xb747[33]](_0xfb6ex16[_0xb747[32]][_0xb747[31]])[_0xb747[18]](handleEntityNotFound(_0xfb6ex8))[_0xb747[18]](saveUpdates(_0xfb6ex16[_0xb747[41]]))[_0xb747[18]](responseWithResult(_0xfb6ex8))[_0xb747[28]](handleError(_0xfb6ex8))};exports[_0xb747[19]]= function(_0xfb6ex16,_0xfb6ex8){return SquareRecording[_0xb747[33]](_0xfb6ex16[_0xb747[32]][_0xb747[31]])[_0xb747[18]](handleEntityNotFound(_0xfb6ex8))[_0xb747[18]](removeEntity(_0xfb6ex8))[_0xb747[28]](handleError(_0xfb6ex8))};exports[_0xb747[43]]= function(_0xfb6ex16,_0xfb6ex8){return SquareRecording[_0xb747[19]]({where:{id:_0xfb6ex16[_0xb747[27]][_0xb747[45]]},individualHooks:true})[_0xb747[18]](function(){return _0xfb6ex8[_0xb747[44]](204)})[_0xb747[28]](handleError(_0xfb6ex8))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SquareRecording = require('../../models').SquareRecording;
-
-var SquareRecordingEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SquareRecordingEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SquareRecording.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SquareRecordingEvents.emit(event + ':' + doc._id, doc);
- SquareRecordingEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SquareRecordingEvents;
+var _0x4289=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x71\x75\x61\x72\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4289[0];const EventEmitter=require(_0x4289[1]);const SquareRecording=require(_0x4289[3])[_0x4289[2]];var SquareRecordingEvents= new EventEmitter();SquareRecordingEvents[_0x4289[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x4289[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x4289[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x4289[6]};for(var e in events){var event=events[e];SquareRecording[_0x4289[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3158x8,_0x3158x9,_0x3158xa){SquareRecordingEvents[_0x4289[10]](event+ _0x4289[8]+ _0x3158x8[_0x4289[9]],_0x3158x8);SquareRecordingEvents[_0x4289[10]](event,_0x3158x8);_0x3158xa(null)}}module[_0x4289[11]]= SquareRecordingEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SquareRecordingEvents = require('./square_recording.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('square_recording:' + event, socket);
-
- SquareRecordingEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SquareRecordingEvents.removeListener(event, listener);
- };
-}
+var _0x7932=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x71\x75\x61\x72\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x71\x75\x61\x72\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7932[0];const SquareRecordingEvents=require(_0x7932[1]);var events=[_0x7932[2],_0x7932[3]];exports[_0x7932[4]]= function(_0xc60cx3){for(var _0xc60cx4=0,_0xc60cx5=events[_0x7932[5]];_0xc60cx4< _0xc60cx5;_0xc60cx4++){var _0xc60cx6=events[_0xc60cx4];var _0xc60cx7=createListener(_0x7932[6]+ _0xc60cx6,_0xc60cx3);SquareRecordingEvents[_0x7932[7]](_0xc60cx6,_0xc60cx7);_0xc60cx3[_0x7932[7]](_0x7932[8],removeListener(_0xc60cx6,_0xc60cx7))}};function createListener(_0xc60cx6,_0xc60cx3){return function(_0xc60cx9){_0xc60cx3[_0x7932[9]](_0xc60cx6,_0xc60cx9)}}function removeListener(_0xc60cx6,_0xc60cx7){return function(){SquareRecordingEvents[_0x7932[10]](_0xc60cx6,_0xc60cx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sugarcrm_account.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19, 13], ['admin']), controller.index);
-router.get('/:id/check', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.checkAccount);
-router.get('/:id/fields', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getFields);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/validate/:field', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.accountValidation);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0x68ad=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x68ad[0];var express=require(_0x68ad[1]);var auth=require(_0x68ad[2]);var controller=require(_0x68ad[3]);var router=express.Router();router[_0x68ad[9]](_0x68ad[4],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19,13],[_0x68ad[6]]),controller[_0x68ad[8]]);router[_0x68ad[9]](_0x68ad[10],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[11]]);router[_0x68ad[9]](_0x68ad[12],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[13]]);router[_0x68ad[9]](_0x68ad[14],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[15]]);router[_0x68ad[18]](_0x68ad[16],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[17]]);router[_0x68ad[18]](_0x68ad[4],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[19]]);router[_0x68ad[21]](_0x68ad[14],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[20]]);router[_0x68ad[23]](_0x68ad[4],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[22]]);router[_0x68ad[23]](_0x68ad[14],auth[_0x68ad[5]](),auth[_0x68ad[7]]([19],[_0x68ad[6]]),controller[_0x68ad[24]]);module[_0x68ad[25]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sugarcrm/accounts -> index
- * POST /api/sugarcrm/accounts -> create
- * GET /api/sugarcrm/accounts/:id -> show
- * PUT /api/sugarcrm/accounts/:id -> update
- * DELETE /api/sugarcrm/accounts/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var SugarcrmAccount = require('../../models').SugarcrmAccount;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of SugarcrmAccounts
-exports.index = function(req, res) {
- return SugarcrmAccount
- .scope('configurations')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SugarcrmAccount from the DB
-exports.show = function(req, res) {
- return SugarcrmAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SugarcrmAccount in the DB
-exports.create = function(req, res) {
- return SugarcrmAccount.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SugarcrmAccount in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return SugarcrmAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SugarcrmAccount from the DB
-exports.destroy = function(req, res) {
- return SugarcrmAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.checkAccount = function(req, res) {
- return SugarcrmAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(account) {
- var sugar = require('node-sugarcrm-client');
- sugar.init({
- apiURL: Util.stripTrailingSlash(account.remoteUri) + "/service/v4_1/rest.php",
- login: account.username,
- passwd: account.password
- });
- sugar.login(function(sessionId) {
- if (!sessionId) {
- return res.sendStatus(400);
- }
- return res.sendStatus(200);
- });
- })
- .catch(handleError(res));
-}
-
-exports.bulkDestroy = function(req, res) {
- SugarcrmAccount
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(handleError(res));
-};
-
-exports.accountValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
- return SugarcrmAccount
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getFields = function(req, res) {
- var sugar = require('node-sugarcrm-client');
- return SugarcrmAccount.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(account) {
- sugar.init({
- apiURL: Util.stripTrailingSlash(account.remoteUri) + "/service/v4_1/rest.php",
- login: account.username,
- passwd: account.password
- });
- sugar.login(function(sessionId) {
- if (!sessionId) {
- return res.sendStatus(400);
- }
- var params = {
- session: sessionId,
- module_name: "Cases"
- };
- sugar.call("get_module_fields", params, function(result, err) {
- if (err) {
- return res.sendStatus(400);
- }
- return res.status(200).send(result.module_fields);
- });
- });
- })
- .catch(handleError(res));
-};
+var _0x4420=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x6E\x6F\x64\x65\x2D\x73\x75\x67\x61\x72\x63\x72\x6D\x2D\x63\x6C\x69\x65\x6E\x74","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x73\x74\x72\x69\x70\x54\x72\x61\x69\x6C\x69\x6E\x67\x53\x6C\x61\x73\x68","\x2F\x73\x65\x72\x76\x69\x63\x65\x2F\x76\x34\x5F\x31\x2F\x72\x65\x73\x74\x2E\x70\x68\x70","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x69\x6E\x69\x74","\x6C\x6F\x67\x69\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x61\x63\x63\x6F\x75\x6E\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x6F\x75\x6E\x74","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x43\x61\x73\x65\x73","\x67\x65\x74\x5F\x6D\x6F\x64\x75\x6C\x65\x5F\x66\x69\x65\x6C\x64\x73","\x6D\x6F\x64\x75\x6C\x65\x5F\x66\x69\x65\x6C\x64\x73","\x63\x61\x6C\x6C"];_0x4420[0];var _=require(_0x4420[1]);var Util=require(_0x4420[2]);var SugarcrmAccount=require(_0x4420[4])[_0x4420[3]];function handleError(_0xb5d3x5,_0xb5d3x6){_0xb5d3x6= _0xb5d3x6|| 500;return function(_0xb5d3x7){_0xb5d3x5[_0x4420[6]](_0xb5d3x6)[_0x4420[5]](_0xb5d3x7)}}function responseWithResult(_0xb5d3x5,_0xb5d3x6){_0xb5d3x6= _0xb5d3x6|| 200;return function(_0xb5d3x9){if(_0xb5d3x9){_0xb5d3x5[_0x4420[6]](_0xb5d3x6)[_0x4420[7]](_0xb5d3x9)}}}function responseWithoutResult(_0xb5d3x5,_0xb5d3x6){_0xb5d3x6= _0xb5d3x6|| 200;return function(){_0xb5d3x5[_0x4420[8]](_0xb5d3x6)}}function handleEntityNotFound(_0xb5d3x5){return function(_0xb5d3x9){if(!_0xb5d3x9){_0xb5d3x5[_0x4420[6]](404)[_0x4420[9]]();return null};return _0xb5d3x9}}function saveUpdates(_0xb5d3xd){return function(_0xb5d3x9){return _0xb5d3x9[_0x4420[11]](_0xb5d3xd)[_0x4420[10]](function(_0xb5d3xe){return _0xb5d3xe})}}function removeEntity(_0xb5d3x5){return function(_0xb5d3x9){if(_0xb5d3x9){return _0xb5d3x9[_0x4420[12]]()[_0x4420[10]](function(){_0xb5d3x5[_0x4420[6]](204)[_0x4420[9]]()})}}}exports[_0x4420[13]]= function(_0xb5d3x10,_0xb5d3x5){return SugarcrmAccount[_0x4420[20]](_0x4420[19])[_0x4420[18]](_[_0x4420[17]](Util[_0x4420[16]](_0xb5d3x10[_0x4420[15]]),{distinct:true}))[_0x4420[10]](responseWithResult(_0xb5d3x5))[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[21]]= function(_0xb5d3x10,_0xb5d3x5){return SugarcrmAccount[_0x4420[24]](_0xb5d3x10[_0x4420[23]][_0x4420[22]])[_0x4420[10]](handleEntityNotFound(_0xb5d3x5))[_0x4420[10]](responseWithResult(_0xb5d3x5))[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[25]]= function(_0xb5d3x10,_0xb5d3x5){return SugarcrmAccount[_0x4420[25]](_0xb5d3x10[_0x4420[26]])[_0x4420[10]](responseWithResult(_0xb5d3x5,201))[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[27]]= function(_0xb5d3x10,_0xb5d3x5){if(_0xb5d3x10[_0x4420[26]][_0x4420[22]]){delete _0xb5d3x10[_0x4420[26]][_0x4420[22]]};return SugarcrmAccount[_0x4420[24]](_0xb5d3x10[_0x4420[23]][_0x4420[22]])[_0x4420[10]](handleEntityNotFound(_0xb5d3x5))[_0x4420[10]](saveUpdates(_0xb5d3x10[_0x4420[26]]))[_0x4420[10]](responseWithResult(_0xb5d3x5))[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[12]]= function(_0xb5d3x10,_0xb5d3x5){return SugarcrmAccount[_0x4420[24]](_0xb5d3x10[_0x4420[23]][_0x4420[22]])[_0x4420[10]](handleEntityNotFound(_0xb5d3x5))[_0x4420[10]](removeEntity(_0xb5d3x5))[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[28]]= function(_0xb5d3x10,_0xb5d3x5){return SugarcrmAccount[_0x4420[24]](_0xb5d3x10[_0x4420[23]][_0x4420[22]])[_0x4420[10]](handleEntityNotFound(_0xb5d3x5))[_0x4420[10]](function(_0xb5d3x11){var _0xb5d3x12=require(_0x4420[29]);_0xb5d3x12[_0x4420[35]]({apiURL:Util[_0x4420[31]](_0xb5d3x11[_0x4420[30]])+ _0x4420[32],login:_0xb5d3x11[_0x4420[33]],passwd:_0xb5d3x11[_0x4420[34]]});_0xb5d3x12[_0x4420[36]](function(_0xb5d3x13){if(!_0xb5d3x13){return _0xb5d3x5[_0x4420[8]](400)};return _0xb5d3x5[_0x4420[8]](200)})})[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[37]]= function(_0xb5d3x10,_0xb5d3x5){SugarcrmAccount[_0x4420[12]]({where:{id:_0xb5d3x10[_0x4420[15]][_0x4420[38]]},individualHooks:true})[_0x4420[10]](function(){return _0xb5d3x5[_0x4420[8]](204)})[_0x4420[14]](handleError(_0xb5d3x5))};exports[_0x4420[39]]= function(_0xb5d3x10,_0xb5d3x5){var _0xb5d3x14={};_0xb5d3x14[_0xb5d3x10[_0x4420[23]][_0x4420[40]]]= _0xb5d3x10[_0x4420[26]][_0x4420[41]];return SugarcrmAccount[_0x4420[18]]({where:_0xb5d3x14})[_0x4420[10]](function(_0xb5d3x15){if(_0xb5d3x15[_0x4420[42]]){return _0xb5d3x5[_0x4420[6]](200)[_0x4420[5]]({isValid:false,value:_0xb5d3x10[_0x4420[26]][_0x4420[41]]})};return _0xb5d3x5[_0x4420[6]](200)[_0x4420[5]]({isValid:true,value:_0xb5d3x10[_0x4420[26]][_0x4420[41]]})})[_0x4420[14]](function(_0xb5d3x7){return handleError(_0xb5d3x5,_0xb5d3x7)})};exports[_0x4420[43]]= function(_0xb5d3x10,_0xb5d3x5){var _0xb5d3x12=require(_0x4420[29]);return SugarcrmAccount[_0x4420[24]](_0xb5d3x10[_0x4420[23]][_0x4420[22]])[_0x4420[10]](handleEntityNotFound(_0xb5d3x5))[_0x4420[10]](function(_0xb5d3x11){_0xb5d3x12[_0x4420[35]]({apiURL:Util[_0x4420[31]](_0xb5d3x11[_0x4420[30]])+ _0x4420[32],login:_0xb5d3x11[_0x4420[33]],passwd:_0xb5d3x11[_0x4420[34]]});_0xb5d3x12[_0x4420[36]](function(_0xb5d3x13){if(!_0xb5d3x13){return _0xb5d3x5[_0x4420[8]](400)};var _0xb5d3x16={session:_0xb5d3x13,module_name:_0x4420[44]};_0xb5d3x12[_0x4420[47]](_0x4420[45],_0xb5d3x16,function(_0xb5d3x15,_0xb5d3x7){if(_0xb5d3x7){return _0xb5d3x5[_0x4420[8]](400)};return _0xb5d3x5[_0x4420[6]](200)[_0x4420[5]](_0xb5d3x15[_0x4420[46]])})})})[_0x4420[14]](handleError(_0xb5d3x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SugarcrmAccount = require('../../models').SugarcrmAccount;
-
-var SugarcrmAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SugarcrmAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SugarcrmAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SugarcrmAccountEvents.emit(event + ':' + doc._id, doc);
- SugarcrmAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SugarcrmAccountEvents;
+var _0xb32a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb32a[0];const EventEmitter=require(_0xb32a[1]);const SugarcrmAccount=require(_0xb32a[3])[_0xb32a[2]];var SugarcrmAccountEvents= new EventEmitter();SugarcrmAccountEvents[_0xb32a[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xb32a[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xb32a[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xb32a[6]};for(var e in events){var event=events[e];SugarcrmAccount[_0xb32a[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x12f1x8,_0x12f1x9,_0x12f1xa){SugarcrmAccountEvents[_0xb32a[10]](event+ _0xb32a[8]+ _0x12f1x8[_0xb32a[9]],_0x12f1x8);SugarcrmAccountEvents[_0xb32a[10]](event,_0x12f1x8);_0x12f1xa(null)}}module[_0xb32a[11]]= SugarcrmAccountEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SugarcrmAccountEvents = require('./sugarcrm_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sugarcrm_account:' + event, socket);
-
- SugarcrmAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SugarcrmAccountEvents.removeListener(event, listener);
- };
-}
+var _0x1ed2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x1ed2[0];const SugarcrmAccountEvents=require(_0x1ed2[1]);var events=[_0x1ed2[2],_0x1ed2[3]];exports[_0x1ed2[4]]= function(_0x99e6x3){for(var _0x99e6x4=0,_0x99e6x5=events[_0x1ed2[5]];_0x99e6x4< _0x99e6x5;_0x99e6x4++){var _0x99e6x6=events[_0x99e6x4];var _0x99e6x7=createListener(_0x1ed2[6]+ _0x99e6x6,_0x99e6x3);SugarcrmAccountEvents[_0x1ed2[7]](_0x99e6x6,_0x99e6x7);_0x99e6x3[_0x1ed2[7]](_0x1ed2[8],removeListener(_0x99e6x6,_0x99e6x7))}};function createListener(_0x99e6x6,_0x99e6x3){return function(_0x99e6x9){_0x99e6x3[_0x1ed2[9]](_0x99e6x6,_0x99e6x9)}}function removeListener(_0x99e6x6,_0x99e6x7){return function(){SugarcrmAccountEvents[_0x1ed2[10]](_0x99e6x6,_0x99e6x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sugarcrm_configuration.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.post('/:id/:type', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.addConfigurationField);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0xb54f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb54f[0];var express=require(_0xb54f[1]);var auth=require(_0xb54f[2]);var controller=require(_0xb54f[3]);var router=express.Router();router[_0xb54f[9]](_0xb54f[4],auth[_0xb54f[5]](),auth[_0xb54f[7]]([19],[_0xb54f[6]]),controller[_0xb54f[8]]);router[_0xb54f[9]](_0xb54f[10],auth[_0xb54f[5]](),auth[_0xb54f[7]]([19],[_0xb54f[6]]),controller[_0xb54f[11]]);router[_0xb54f[13]](_0xb54f[4],auth[_0xb54f[5]](),auth[_0xb54f[7]]([19],[_0xb54f[6]]),controller[_0xb54f[12]]);router[_0xb54f[15]](_0xb54f[10],auth[_0xb54f[5]](),auth[_0xb54f[7]]([19],[_0xb54f[6]]),controller[_0xb54f[14]]);router[_0xb54f[13]](_0xb54f[16],auth[_0xb54f[5]](),auth[_0xb54f[7]]([19],[_0xb54f[6]]),controller[_0xb54f[17]]);router[_0xb54f[19]](_0xb54f[10],auth[_0xb54f[5]](),auth[_0xb54f[7]]([19],[_0xb54f[6]]),controller[_0xb54f[18]]);module[_0xb54f[20]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sugarcrm/configurations -> index
- * POST /api/sugarcrm/configurations -> create
- * GET /api/sugarcrm/configurations/:id -> show
- * PUT /api/sugarcrm/configurations/:id -> update
- * DELETE /api/sugarcrm/configurations/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var SugarcrmConfiguration = require('../../models').SugarcrmConfiguration;
-var SugarcrmField = require('../../models').SugarcrmField;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of SugarcrmConfigurations
-exports.index = function(req, res) {
- SugarcrmConfiguration.findAll({
- where: req.query
- })
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SugarcrmConfiguration from the DB
-exports.show = function(req, res) {
- SugarcrmConfiguration.find({
- where: {
- id: req.params.id
- },
- include: [{
- model: SugarcrmField,
- as: 'Subject'
- }, {
- model: SugarcrmField,
- as: 'Description'
- }, {
- model: SugarcrmField,
- as: 'Field'
- }]
- })
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SugarcrmConfiguration in the DB
-exports.create = function(req, res) {
- SugarcrmConfiguration.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SugarcrmConfiguration in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- SugarcrmConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SugarcrmConfiguration from the DB
-exports.destroy = function(req, res) {
- SugarcrmConfiguration.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-exports.addConfigurationField = function(req, res, next) {
- var sugarcrmConfiguration;
- SugarcrmConfiguration
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(sugarcrm_configuration) {
- sugarcrmConfiguration = sugarcrm_configuration;
- return SugarcrmField.create(req.body)
- })
- .then(function(sugarcrmField) {
- switch (req.params.type) {
- case 'subject':
- return [sugarcrmConfiguration.addSubject(sugarcrmField), sugarcrmField];
- case 'description':
- return [sugarcrmConfiguration.addDescription(sugarcrmField), sugarcrmField];
- case 'field':
- return [sugarcrmConfiguration.addField(sugarcrmField), sugarcrmField];
- }
- })
- .spread(function(data, sugarcrmField) {
- return res.status(201).json(sugarcrmField);
- })
- .catch(handleError(res));
-};
+var _0xc4af=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0xc4af[0];var _=require(_0xc4af[1]);var SugarcrmConfiguration=require(_0xc4af[3])[_0xc4af[2]];var SugarcrmField=require(_0xc4af[3])[_0xc4af[4]];function handleError(_0xea88x5,_0xea88x6){_0xea88x6= _0xea88x6|| 500;return function(_0xea88x7){_0xea88x5[_0xc4af[6]](_0xea88x6)[_0xc4af[5]](_0xea88x7)}}function responseWithResult(_0xea88x5,_0xea88x6){_0xea88x6= _0xea88x6|| 200;return function(_0xea88x9){if(_0xea88x9){_0xea88x5[_0xc4af[6]](_0xea88x6)[_0xc4af[7]](_0xea88x9)}}}function handleEntityNotFound(_0xea88x5){return function(_0xea88x9){if(!_0xea88x9){_0xea88x5[_0xc4af[6]](404)[_0xc4af[8]]();return null};return _0xea88x9}}function saveUpdates(_0xea88xc){return function(_0xea88x9){return _0xea88x9[_0xc4af[10]](_0xea88xc)[_0xc4af[9]](function(_0xea88xd){return _0xea88xd})}}function removeEntity(_0xea88x5){return function(_0xea88x9){if(_0xea88x9){return _0xea88x9[_0xc4af[11]]()[_0xc4af[9]](function(){_0xea88x5[_0xc4af[6]](204)[_0xc4af[8]]()})}}}exports[_0xc4af[12]]= function(_0xea88xf,_0xea88x5){SugarcrmConfiguration[_0xc4af[15]]({where:_0xea88xf[_0xc4af[14]]})[_0xc4af[9]](responseWithResult(_0xea88x5))[_0xc4af[13]](handleError(_0xea88x5))};exports[_0xc4af[16]]= function(_0xea88xf,_0xea88x5){SugarcrmConfiguration[_0xc4af[22]]({where:{id:_0xea88xf[_0xc4af[18]][_0xc4af[17]]},include:[{model:SugarcrmField,as:_0xc4af[19]},{model:SugarcrmField,as:_0xc4af[20]},{model:SugarcrmField,as:_0xc4af[21]}]})[_0xc4af[9]](handleEntityNotFound(_0xea88x5))[_0xc4af[9]](responseWithResult(_0xea88x5))[_0xc4af[13]](handleError(_0xea88x5))};exports[_0xc4af[23]]= function(_0xea88xf,_0xea88x5){SugarcrmConfiguration[_0xc4af[23]](_0xea88xf[_0xc4af[24]])[_0xc4af[9]](responseWithResult(_0xea88x5,201))[_0xc4af[13]](handleError(_0xea88x5))};exports[_0xc4af[25]]= function(_0xea88xf,_0xea88x5){if(_0xea88xf[_0xc4af[24]][_0xc4af[17]]){delete _0xea88xf[_0xc4af[24]][_0xc4af[17]]};SugarcrmConfiguration[_0xc4af[26]](_0xea88xf[_0xc4af[18]][_0xc4af[17]])[_0xc4af[9]](handleEntityNotFound(_0xea88x5))[_0xc4af[9]](saveUpdates(_0xea88xf[_0xc4af[24]]))[_0xc4af[9]](responseWithResult(_0xea88x5))[_0xc4af[13]](handleError(_0xea88x5))};exports[_0xc4af[11]]= function(_0xea88xf,_0xea88x5){SugarcrmConfiguration[_0xc4af[26]](_0xea88xf[_0xc4af[18]][_0xc4af[17]])[_0xc4af[9]](handleEntityNotFound(_0xea88x5))[_0xc4af[9]](removeEntity(_0xea88x5))[_0xc4af[13]](handleError(_0xea88x5))};exports[_0xc4af[27]]= function(_0xea88xf,_0xea88x5,_0xea88x10){var _0xea88x11;SugarcrmConfiguration[_0xc4af[26]](_0xea88xf[_0xc4af[18]][_0xc4af[17]])[_0xc4af[9]](handleEntityNotFound(_0xea88x5))[_0xc4af[9]](function(_0xea88x14){_0xea88x11= _0xea88x14;return SugarcrmField[_0xc4af[23]](_0xea88xf[_0xc4af[24]])})[_0xc4af[9]](function(_0xea88x13){switch(_0xea88xf[_0xc4af[18]][_0xc4af[35]]){case _0xc4af[30]:return [_0xea88x11[_0xc4af[29]](_0xea88x13),_0xea88x13];case _0xc4af[32]:return [_0xea88x11[_0xc4af[31]](_0xea88x13),_0xea88x13];case _0xc4af[34]:return [_0xea88x11[_0xc4af[33]](_0xea88x13),_0xea88x13]}})[_0xc4af[28]](function(_0xea88x12,_0xea88x13){return _0xea88x5[_0xc4af[6]](201)[_0xc4af[7]](_0xea88x13)})[_0xc4af[13]](handleError(_0xea88x5))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SugarcrmConfiguration = require('../../models').SugarcrmConfiguration;
-
-var SugarcrmConfigurationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SugarcrmConfigurationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SugarcrmConfiguration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SugarcrmConfigurationEvents.emit(event + ':' + doc._id, doc);
- SugarcrmConfigurationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SugarcrmConfigurationEvents;
+var _0x2802=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x2802[0];const EventEmitter=require(_0x2802[1]);const SugarcrmConfiguration=require(_0x2802[3])[_0x2802[2]];var SugarcrmConfigurationEvents= new EventEmitter();SugarcrmConfigurationEvents[_0x2802[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x2802[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x2802[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x2802[6]};for(var e in events){var event=events[e];SugarcrmConfiguration[_0x2802[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x11edx8,_0x11edx9,_0x11edxa){SugarcrmConfigurationEvents[_0x2802[10]](event+ _0x2802[8]+ _0x11edx8[_0x2802[9]],_0x11edx8);SugarcrmConfigurationEvents[_0x2802[10]](event,_0x11edx8);_0x11edxa(null)}}module[_0x2802[11]]= SugarcrmConfigurationEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SugarcrmConfigurationEvents = require('./sugarcrm_configuration.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sugarcrm_configuration:' + event, socket);
-
- SugarcrmConfigurationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SugarcrmConfigurationEvents.removeListener(event, listener);
- };
-}
+var _0x3188=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x3188[0];const SugarcrmConfigurationEvents=require(_0x3188[1]);var events=[_0x3188[2],_0x3188[3]];exports[_0x3188[4]]= function(_0xb7c9x3){for(var _0xb7c9x4=0,_0xb7c9x5=events[_0x3188[5]];_0xb7c9x4< _0xb7c9x5;_0xb7c9x4++){var _0xb7c9x6=events[_0xb7c9x4];var _0xb7c9x7=createListener(_0x3188[6]+ _0xb7c9x6,_0xb7c9x3);SugarcrmConfigurationEvents[_0x3188[7]](_0xb7c9x6,_0xb7c9x7);_0xb7c9x3[_0x3188[7]](_0x3188[8],removeListener(_0xb7c9x6,_0xb7c9x7))}};function createListener(_0xb7c9x6,_0xb7c9x3){return function(_0xb7c9x9){_0xb7c9x3[_0x3188[9]](_0xb7c9x6,_0xb7c9x9)}}function removeListener(_0xb7c9x6,_0xb7c9x7){return function(){SugarcrmConfigurationEvents[_0x3188[10]](_0xb7c9x6,_0xb7c9x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./sugarcrm_field.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-
-module.exports = router;
+var _0x7cc2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x7cc2[0];var express=require(_0x7cc2[1]);var auth=require(_0x7cc2[2]);var controller=require(_0x7cc2[3]);var router=express.Router();router[_0x7cc2[7]](_0x7cc2[4],auth[_0x7cc2[5]](),controller[_0x7cc2[6]]);router[_0x7cc2[7]](_0x7cc2[8],auth[_0x7cc2[5]](),auth[_0x7cc2[10]]([19],[_0x7cc2[9]]),controller[_0x7cc2[11]]);router[_0x7cc2[13]](_0x7cc2[4],auth[_0x7cc2[5]](),auth[_0x7cc2[10]]([19],[_0x7cc2[9]]),controller[_0x7cc2[12]]);router[_0x7cc2[15]](_0x7cc2[8],auth[_0x7cc2[5]](),auth[_0x7cc2[10]]([19],[_0x7cc2[9]]),controller[_0x7cc2[14]]);router[_0x7cc2[17]](_0x7cc2[8],auth[_0x7cc2[5]](),auth[_0x7cc2[10]]([19],[_0x7cc2[9]]),controller[_0x7cc2[16]]);module[_0x7cc2[18]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/sugarcrm/fields -> index
- * POST /api/sugarcrm/fields -> create
- * GET /api/sugarcrm/fields/:id -> show
- * PUT /api/sugarcrm/fields/:id -> update
- * DELETE /api/sugarcrm/fields/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var SugarcrmField = require('../../models').SugarcrmField;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of SugarcrmFields
-exports.index = function(req, res) {
- SugarcrmField.findAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single SugarcrmField from the DB
-exports.show = function(req, res) {
- SugarcrmField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new SugarcrmField in the DB
-exports.create = function(req, res) {
- SugarcrmField.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing SugarcrmField in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- SugarcrmField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a SugarcrmField from the DB
-exports.destroy = function(req, res) {
- SugarcrmField.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0xbbfc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0xbbfc[0];var _=require(_0xbbfc[1]);var SugarcrmField=require(_0xbbfc[3])[_0xbbfc[2]];function handleError(_0xe9f2x4,_0xe9f2x5){_0xe9f2x5= _0xe9f2x5|| 500;return function(_0xe9f2x6){_0xe9f2x4[_0xbbfc[5]](_0xe9f2x5)[_0xbbfc[4]](_0xe9f2x6)}}function responseWithResult(_0xe9f2x4,_0xe9f2x5){_0xe9f2x5= _0xe9f2x5|| 200;return function(_0xe9f2x8){if(_0xe9f2x8){_0xe9f2x4[_0xbbfc[5]](_0xe9f2x5)[_0xbbfc[6]](_0xe9f2x8)}}}function handleEntityNotFound(_0xe9f2x4){return function(_0xe9f2x8){if(!_0xe9f2x8){_0xe9f2x4[_0xbbfc[5]](404)[_0xbbfc[7]]();return null};return _0xe9f2x8}}function saveUpdates(_0xe9f2xb){return function(_0xe9f2x8){return _0xe9f2x8[_0xbbfc[9]](_0xe9f2xb)[_0xbbfc[8]](function(_0xe9f2xc){return _0xe9f2xc})}}function removeEntity(_0xe9f2x4){return function(_0xe9f2x8){if(_0xe9f2x8){return _0xe9f2x8[_0xbbfc[10]]()[_0xbbfc[8]](function(){_0xe9f2x4[_0xbbfc[5]](204)[_0xbbfc[7]]()})}}}exports[_0xbbfc[11]]= function(_0xe9f2xe,_0xe9f2x4){SugarcrmField[_0xbbfc[13]]()[_0xbbfc[8]](responseWithResult(_0xe9f2x4))[_0xbbfc[12]](handleError(_0xe9f2x4))};exports[_0xbbfc[14]]= function(_0xe9f2xe,_0xe9f2x4){SugarcrmField[_0xbbfc[17]](_0xe9f2xe[_0xbbfc[16]][_0xbbfc[15]])[_0xbbfc[8]](handleEntityNotFound(_0xe9f2x4))[_0xbbfc[8]](responseWithResult(_0xe9f2x4))[_0xbbfc[12]](handleError(_0xe9f2x4))};exports[_0xbbfc[18]]= function(_0xe9f2xe,_0xe9f2x4){SugarcrmField[_0xbbfc[18]](_0xe9f2xe[_0xbbfc[19]])[_0xbbfc[8]](responseWithResult(_0xe9f2x4,201))[_0xbbfc[12]](handleError(_0xe9f2x4))};exports[_0xbbfc[20]]= function(_0xe9f2xe,_0xe9f2x4){if(_0xe9f2xe[_0xbbfc[19]][_0xbbfc[15]]){delete _0xe9f2xe[_0xbbfc[19]][_0xbbfc[15]]};SugarcrmField[_0xbbfc[17]](_0xe9f2xe[_0xbbfc[16]][_0xbbfc[15]])[_0xbbfc[8]](handleEntityNotFound(_0xe9f2x4))[_0xbbfc[8]](saveUpdates(_0xe9f2xe[_0xbbfc[19]]))[_0xbbfc[8]](responseWithResult(_0xe9f2x4))[_0xbbfc[12]](handleError(_0xe9f2x4))};exports[_0xbbfc[10]]= function(_0xe9f2xe,_0xe9f2x4){SugarcrmField[_0xbbfc[17]](_0xe9f2xe[_0xbbfc[16]][_0xbbfc[15]])[_0xbbfc[8]](handleEntityNotFound(_0xe9f2x4))[_0xbbfc[8]](removeEntity(_0xe9f2x4))[_0xbbfc[12]](handleError(_0xe9f2x4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const SugarcrmField = require('../../models').SugarcrmField;
-
-var SugarcrmFieldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-SugarcrmFieldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- SugarcrmField.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- SugarcrmFieldEvents.emit(event + ':' + doc._id, doc);
- SugarcrmFieldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = SugarcrmFieldEvents;
+var _0x3279=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x3279[0];const EventEmitter=require(_0x3279[1]);const SugarcrmField=require(_0x3279[3])[_0x3279[2]];var SugarcrmFieldEvents= new EventEmitter();SugarcrmFieldEvents[_0x3279[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x3279[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x3279[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x3279[6]};for(var e in events){var event=events[e];SugarcrmField[_0x3279[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x55cdx8,_0x55cdx9,_0x55cdxa){SugarcrmFieldEvents[_0x3279[10]](event+ _0x3279[8]+ _0x55cdx8[_0x3279[9]],_0x55cdx8);SugarcrmFieldEvents[_0x3279[10]](event,_0x55cdx8);_0x55cdxa(null)}}module[_0x3279[11]]= SugarcrmFieldEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const SugarcrmFieldEvents = require('./sugarcrm_field.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('sugarcrm_field:' + event, socket);
-
- SugarcrmFieldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- SugarcrmFieldEvents.removeListener(event, listener);
- };
-}
+var _0x30d4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x30d4[0];const SugarcrmFieldEvents=require(_0x30d4[1]);var events=[_0x30d4[2],_0x30d4[3]];exports[_0x30d4[4]]= function(_0xacdcx3){for(var _0xacdcx4=0,_0xacdcx5=events[_0x30d4[5]];_0xacdcx4< _0xacdcx5;_0xacdcx4++){var _0xacdcx6=events[_0xacdcx4];var _0xacdcx7=createListener(_0x30d4[6]+ _0xacdcx6,_0xacdcx3);SugarcrmFieldEvents[_0x30d4[7]](_0xacdcx6,_0xacdcx7);_0xacdcx3[_0x30d4[7]](_0x30d4[8],removeListener(_0xacdcx6,_0xacdcx7))}};function createListener(_0xacdcx6,_0xacdcx3){return function(_0xacdcx9){_0xacdcx3[_0x30d4[9]](_0xacdcx6,_0xacdcx9)}}function removeListener(_0xacdcx6,_0xacdcx7){return function(){SugarcrmFieldEvents[_0x30d4[10]](_0xacdcx6,_0xacdcx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./tag.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-/**
- * @api {get} /api/tags/ Get Tags' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetTags
- * @apiGroup Tags
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of tags.
- * @apiSuccess {Object[]} rows Tags' list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 2,
- * "rows": [{
- * "id": 1
- * "name": "tag1"
- * "description": "my tag description"
- * ...
- * },{
- * "id": 2
- * "name": "newtag"
- * "description": null
- * ...
- * },...]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([5, 9, 13], ['admin', 'agent']), controller.index);
-/**
- * @api {get} /api/tags/:id Get Tag's details.
- * @apiParam {Number} id Tag's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetTag
- * @apiGroup Tags
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Tag's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "tag1"
- * "description": "my tag description"
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-router.get('/chat/:tag', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.getChatByTag);
-router.get('/mail/:tag', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.getMailByTag);
-router.get('/fax/:tag', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.getFaxByTag);
-router.get('/sms/:tag', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.getSmsByTag);
-router.get('/contacts/:tag', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.getContactsByTag);
-/**
- * @api {post} /api/tags/ Create a new tag.
- * @apiParam (body) {String} name Tag's name.
- * @apiParam (body) {String} [description] Tag's description.
- *
- * @apiVersion 0.0.140
- * @apiName CreateTag
- * @apiGroup Tags
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 3
- * "name": "Tag3"
- * "description": "my tag"
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([5, 13], ['admin', 'agent']), controller.create);
-/**
- * @api {put} /api/tags/:id Update tag's details.
- * @apiParam {Number} id Tag's unique ID.
- * @apiParam (body) {String} name Tag's name.
- * @apiParam (body) {String} [description] Tag's description.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateTag
- * @apiGroup Tags
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 3
- * "name": "Tag 3"
- * "description": "My new description"
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-/**
- * @api {delete} /api/tags/ Bulk Delete tags.
- *
- * @apiParam (Query) {Number[]} ids Tags' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteTags
- * @apiGroup Tags
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-/**
- * @api {delete} /api/tags/:id Delete a tag.
- *
- * @apiParam {Number} id Tag's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteTag
- * @apiGroup Tags
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xf1c9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x61\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x63\x68\x61\x74\x2F\x3A\x74\x61\x67","\x67\x65\x74\x43\x68\x61\x74\x42\x79\x54\x61\x67","\x2F\x6D\x61\x69\x6C\x2F\x3A\x74\x61\x67","\x67\x65\x74\x4D\x61\x69\x6C\x42\x79\x54\x61\x67","\x2F\x66\x61\x78\x2F\x3A\x74\x61\x67","\x67\x65\x74\x46\x61\x78\x42\x79\x54\x61\x67","\x2F\x73\x6D\x73\x2F\x3A\x74\x61\x67","\x67\x65\x74\x53\x6D\x73\x42\x79\x54\x61\x67","\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73\x2F\x3A\x74\x61\x67","\x67\x65\x74\x43\x6F\x6E\x74\x61\x63\x74\x73\x42\x79\x54\x61\x67","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xf1c9[0];var express=require(_0xf1c9[1]);var controller=require(_0xf1c9[2]);var auth=require(_0xf1c9[3]);var router=express.Router();router[_0xf1c9[10]](_0xf1c9[4],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([5,9,13],[_0xf1c9[6],_0xf1c9[7]]),controller[_0xf1c9[9]]);router[_0xf1c9[10]](_0xf1c9[11],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[12]]);router[_0xf1c9[10]](_0xf1c9[13],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[14]]);router[_0xf1c9[10]](_0xf1c9[15],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[16]]);router[_0xf1c9[10]](_0xf1c9[17],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[18]]);router[_0xf1c9[10]](_0xf1c9[19],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[20]]);router[_0xf1c9[10]](_0xf1c9[21],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[22]]);router[_0xf1c9[24]](_0xf1c9[4],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([5,13],[_0xf1c9[6],_0xf1c9[7]]),controller[_0xf1c9[23]]);router[_0xf1c9[26]](_0xf1c9[11],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[25]]);router[_0xf1c9[28]](_0xf1c9[4],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[27]]);router[_0xf1c9[28]](_0xf1c9[11],auth[_0xf1c9[5]](),auth[_0xf1c9[8]]([13],[_0xf1c9[6]]),controller[_0xf1c9[29]]);module[_0xf1c9[30]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Tag = require('../../models').Tag;
-var ChatRoom = require('../../models').ChatRoom;
-var ChatWebsite = require('../../models').ChatWebsite;
-var ChatVisitor = require('../../models').ChatVisitor;
-var MailRoom = require('../../models').MailRoom;
-var FaxRoom = require('../../models').FaxRoom;
-var SmsRoom = require('../../models').SmsRoom;
-var Contact = require('../../models').Contact;
-var Util = require('../../config/util');
-
-// Get list of tags
-exports.index = function(req, res, next) {
- return Tag
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single tag
-exports.show = function(req, res) {
- return Tag
- .findById(req.params.id)
- .then(function(tag) {
- if (!tag) {
- return res.sendStatus(404);
- }
- return res.send(tag);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-exports.getChatByTag = function(req, res) {
- return ChatRoom
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- tags: {
- $like: '%' + req.params.tag + ';%'
- }
- }), {
- include: [ChatWebsite, ChatVisitor]
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getMailByTag = function(req, res) {
- return MailRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query, {
- tags: {
- $like: '%' + req.params.tag + ';%'
- }
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getFaxByTag = function(req, res) {
- return FaxRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query, {
- tags: {
- $like: '%' + req.params.tag + ';%'
- }
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getSmsByTag = function(req, res) {
- return SmsRoom
- .scope('default')
- .findAndCountAll(Util.getQuery(req.query, {
- tags: {
- $like: '%' + req.params.tag + ';%'
- }
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.getContactsByTag = function(req, res) {
- return Contact
- .scope('list', 'company', {
- method: ['company_list_filter', req.query]
- })
- .findAndCountAll(Util.getQuery(req.query, {
- tags: {
- $like: '%' + req.params.tag + ';%'
- }
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-
-// Creates a new tag in the DB.
-exports.create = function(req, res) {
- return Tag
- .create(req.body)
- .then(function(tag) {
- return res.status(201).send(tag);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing tag in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return Tag
- .findById(req.params.id)
- .then(function(tag) {
- if (!tag) {
- return res.sendStatus(404);
- }
- var updated = _.merge(tag, req.body);
- return updated
- .save();
- })
- .then(function(tag) {
- return res.status(200).send(tag);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a tag from the DB.
-exports.destroy = function(req, res) {
- return Tag
- .scope('configuration')
- .findById(req.params.id)
- .then(function(tag) {
- if (!tag) {
- return res.sendStatus(404);
- }
- if (tagHasAssociation(tag)) {
- var err = new Error();
- err.message = 'Tag is associated with an integration\'s configuration';
- throw err;
- }
- return tag.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Tag
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-function tagHasAssociation(tag) {
- return ((tag.ZendeskConfigurations && tag.ZendeskConfigurations.length > 0));
-}
+var _0x6830=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x61\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x6D\x73\x52\x6F\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x43\x68\x61\x74\x42\x79\x54\x61\x67","\x25","\x74\x61\x67","\x3B\x25","\x6D\x65\x72\x67\x65","\x67\x65\x74\x4D\x61\x69\x6C\x42\x79\x54\x61\x67","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x67\x65\x74\x46\x61\x78\x42\x79\x54\x61\x67","\x67\x65\x74\x53\x6D\x73\x42\x79\x54\x61\x67","\x67\x65\x74\x43\x6F\x6E\x74\x61\x63\x74\x73\x42\x79\x54\x61\x67","\x6C\x6F\x67","\x6C\x69\x73\x74","\x63\x6F\x6D\x70\x61\x6E\x79","\x63\x6F\x6D\x70\x61\x6E\x79\x5F\x6C\x69\x73\x74\x5F\x66\x69\x6C\x74\x65\x72","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x6D\x65\x73\x73\x61\x67\x65","\x54\x61\x67\x20\x69\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x61\x6E\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x27\x73\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68"];_0x6830[0];var _=require(_0x6830[1]);var Tag=require(_0x6830[3])[_0x6830[2]];var ChatRoom=require(_0x6830[3])[_0x6830[4]];var ChatWebsite=require(_0x6830[3])[_0x6830[5]];var ChatVisitor=require(_0x6830[3])[_0x6830[6]];var MailRoom=require(_0x6830[3])[_0x6830[7]];var FaxRoom=require(_0x6830[3])[_0x6830[8]];var SmsRoom=require(_0x6830[3])[_0x6830[9]];var Contact=require(_0x6830[3])[_0x6830[10]];var Util=require(_0x6830[11]);exports[_0x6830[12]]= function(_0xfce7xb,_0xfce7xc,_0xfce7xd){return Tag[_0x6830[19]](Util[_0x6830[18]](_0xfce7xb[_0x6830[17]]))[_0x6830[16]](function(_0xfce7xf){_0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7xf)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[20]]= function(_0xfce7xb,_0xfce7xc){return Tag[_0x6830[24]](_0xfce7xb[_0x6830[23]][_0x6830[22]])[_0x6830[16]](function(_0xfce7x10){if(!_0xfce7x10){return _0xfce7xc[_0x6830[21]](404)};return _0xfce7xc[_0x6830[14]](_0xfce7x10)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[25]]= function(_0xfce7xb,_0xfce7xc){return ChatRoom[_0x6830[19]](_[_0x6830[29]](Util[_0x6830[18]](_0xfce7xb[_0x6830[17]],{tags:{$like:_0x6830[26]+ _0xfce7xb[_0x6830[23]][_0x6830[27]]+ _0x6830[28]}}),{include:[ChatWebsite,ChatVisitor]}))[_0x6830[16]](function(_0xfce7xf){_0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7xf)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[30]]= function(_0xfce7xb,_0xfce7xc){return MailRoom[_0x6830[32]](_0x6830[31])[_0x6830[19]](Util[_0x6830[18]](_0xfce7xb[_0x6830[17]],{tags:{$like:_0x6830[26]+ _0xfce7xb[_0x6830[23]][_0x6830[27]]+ _0x6830[28]}}))[_0x6830[16]](function(_0xfce7xf){_0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7xf)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[33]]= function(_0xfce7xb,_0xfce7xc){return FaxRoom[_0x6830[32]](_0x6830[31])[_0x6830[19]](Util[_0x6830[18]](_0xfce7xb[_0x6830[17]],{tags:{$like:_0x6830[26]+ _0xfce7xb[_0x6830[23]][_0x6830[27]]+ _0x6830[28]}}))[_0x6830[16]](function(_0xfce7xf){_0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7xf)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[34]]= function(_0xfce7xb,_0xfce7xc){return SmsRoom[_0x6830[32]](_0x6830[31])[_0x6830[19]](Util[_0x6830[18]](_0xfce7xb[_0x6830[17]],{tags:{$like:_0x6830[26]+ _0xfce7xb[_0x6830[23]][_0x6830[27]]+ _0x6830[28]}}))[_0x6830[16]](function(_0xfce7xf){_0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7xf)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[35]]= function(_0xfce7xb,_0xfce7xc){return Contact[_0x6830[32]](_0x6830[37],_0x6830[38],{method:[_0x6830[39],_0xfce7xb[_0x6830[17]]]})[_0x6830[19]](Util[_0x6830[18]](_0xfce7xb[_0x6830[17]],{tags:{$like:_0x6830[26]+ _0xfce7xb[_0x6830[23]][_0x6830[27]]+ _0x6830[28]}}))[_0x6830[16]](function(_0xfce7xf){_0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7xf)})[_0x6830[13]](function(_0xfce7xe){console[_0x6830[36]](_0xfce7xe);return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[40]]= function(_0xfce7xb,_0xfce7xc){return Tag[_0x6830[40]](_0xfce7xb[_0x6830[41]])[_0x6830[16]](function(_0xfce7x10){return _0xfce7xc[_0x6830[15]](201)[_0x6830[14]](_0xfce7x10)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[42]]= function(_0xfce7xb,_0xfce7xc){if(_0xfce7xb[_0x6830[41]][_0x6830[22]]){delete _0xfce7xb[_0x6830[41]][_0x6830[22]]};return Tag[_0x6830[24]](_0xfce7xb[_0x6830[23]][_0x6830[22]])[_0x6830[16]](function(_0xfce7x10){if(!_0xfce7x10){return _0xfce7xc[_0x6830[21]](404)};var _0xfce7x11=_[_0x6830[29]](_0xfce7x10,_0xfce7xb[_0x6830[41]]);return _0xfce7x11[_0x6830[43]]()})[_0x6830[16]](function(_0xfce7x10){return _0xfce7xc[_0x6830[15]](200)[_0x6830[14]](_0xfce7x10)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[44]]= function(_0xfce7xb,_0xfce7xc){return Tag[_0x6830[32]](_0x6830[47])[_0x6830[24]](_0xfce7xb[_0x6830[23]][_0x6830[22]])[_0x6830[16]](function(_0xfce7x10){if(!_0xfce7x10){return _0xfce7xc[_0x6830[21]](404)};if(tagHasAssociation(_0xfce7x10)){var _0xfce7xe= new Error();_0xfce7xe[_0x6830[45]]= _0x6830[46];throw _0xfce7xe};return _0xfce7x10[_0x6830[44]]()})[_0x6830[16]](function(){return _0xfce7xc[_0x6830[21]](204)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};exports[_0x6830[48]]= function(_0xfce7xb,_0xfce7xc){return Tag[_0x6830[44]]({where:{id:_0xfce7xb[_0x6830[17]][_0x6830[49]]},individualHooks:true})[_0x6830[16]](function(){return _0xfce7xc[_0x6830[21]](204)})[_0x6830[13]](function(_0xfce7xe){return handleError(_0xfce7xc,_0xfce7xe)})};function handleError(_0xfce7xc,_0xfce7xe){return _0xfce7xc[_0x6830[15]](500)[_0x6830[14]](_0xfce7xe)}function tagHasAssociation(_0xfce7x10){return ((_0xfce7x10[_0x6830[50]]&& _0xfce7x10[_0x6830[50]][_0x6830[51]]> 0))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Tag = require('../../models').Tag;
-
-var TagEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-TagEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Tag.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- TagEvents.emit(event + ':' + doc._id, doc);
- TagEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = TagEvents;
+var _0x6a9b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x54\x61\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x6a9b[0];const EventEmitter=require(_0x6a9b[1]);const Tag=require(_0x6a9b[3])[_0x6a9b[2]];var TagEvents= new EventEmitter();TagEvents[_0x6a9b[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x6a9b[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x6a9b[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x6a9b[6]};for(var e in events){var event=events[e];Tag[_0x6a9b[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x16b9x8,_0x16b9x9,_0x16b9xa){TagEvents[_0x6a9b[10]](event+ _0x6a9b[8]+ _0x16b9x8[_0x6a9b[9]],_0x16b9x8);TagEvents[_0x6a9b[10]](event,_0x16b9x8);_0x16b9xa(null)}}module[_0x6a9b[11]]= TagEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const TagEvents = require('./tag.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('tag:' + event, socket);
-
- TagEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- TagEvents.removeListener(event, listener);
- };
-}
+var _0x4737=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x74\x61\x67\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x74\x61\x67\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x4737[0];const TagEvents=require(_0x4737[1]);var events=[_0x4737[2],_0x4737[3]];exports[_0x4737[4]]= function(_0xc486x3){for(var _0xc486x4=0,_0xc486x5=events[_0x4737[5]];_0xc486x4< _0xc486x5;_0xc486x4++){var _0xc486x6=events[_0xc486x4];var _0xc486x7=createListener(_0x4737[6]+ _0xc486x6,_0xc486x3);TagEvents[_0x4737[7]](_0xc486x6,_0xc486x7);_0xc486x3[_0x4737[7]](_0x4737[8],removeListener(_0xc486x6,_0xc486x7))}};function createListener(_0xc486x6,_0xc486x3){return function(_0xc486x9){_0xc486x3[_0x4737[9]](_0xc486x6,_0xc486x9)}}function removeListener(_0xc486x6,_0xc486x7){return function(){TagEvents[_0x4737[10]](_0xc486x6,_0xc486x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./team.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-/**
- * @api {get} /api/teams/ Get Teams' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetTeams
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of teams.
- * @apiSuccess {Object[]} rows Teams' list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 2,
- * "rows": [{
- * "id": 1
- * "name": "T1"
- * "description": "Default Team",
- * ...
- * },{
- * "id": 2
- * "name": "T2"
- * "description": null
- * ...
- * },...]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.index);
-router.get('/associations', auth.isAuthenticated(), auth.hasModule([5], ['admin']), controller.associationsIndex);
-/**
- * @api {get} /api/teams/:id Get Team's details.
- * @apiParam {Number} id Team's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetTeam
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Team's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "T1"
- * "description": "Default Team"
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.show);
-/**
- * @api {get} /api/teams/:id/agents Get Team's agents
- * @apiParam {Number} id Team's unique ID.
- * @apiVersion 0.0.140
- * @apiName showAgents
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of agents.
- * @apiSuccess {Object[]} rows Agents list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 2,
- * "rows": [{
- * "id": 1
- * "name": "John Doe"
- * "fullname": "john.doe"
- * "email": "johndoe@test.com"
- * "internal": 1000,
- * ...
- * },{
- * "id": 2
- * "name": "Jane Miller"
- * "fullname": "jane.miller",
- * "email": "janemiller@test.com"
- * "internal": 1001,
- * ...
- * },...]
- * }
- */
-router.get('/:id/agents', auth.isAuthenticated(), auth.hasRole('admin'), controller.showAgents);
-/**
- * @api {post} /api/teams/ Create a new team.
- * @apiParam (body) {String} name Team's name.
- * @apiParam (body) {String} [description] Team's description.
- *
- * @apiVersion 0.0.140
- * @apiName CreateTeam
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 3
- * "name": "My Team"
- * "description": "New Team"
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.create);
-/**
- * @api {post} /api/teams/:id/agents Add agents to a team.
- * @apiParam {Number} id Team's unique ID.
- * @apiParam (body) {Number[]} agents Array of agents' ID
- *
- * @apiVersion 0.0.140
- * @apiName AddAgents
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.post('/:id/agents', auth.isAuthenticated(), auth.hasRole('admin'), controller.addAgents);
-/**
- * @api {put} /api/teams/:id Update team's details.
- * @apiParam {Number} id Team's unique ID.
- * @apiParam (body) {String} name Team's name.
- * @apiParam (body) {String} [description] Team's description.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateTeam
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 3
- * "name": "Team 3"
- * "description": "My description"
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.update);
-/**
- * @api {delete} /api/teams/ Bulk Delete teams.
- *
- * @apiParam (Query) {Number[]} ids Teams' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteTeams
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.bulkDestroy);
-/**
- * @api {delete} /api/teams/:id Delete a team.
- *
- * @apiParam {Number} id Team's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteTeam
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-/**
- * @api {delete} /api/teams/:id/agents Remove agents from a team.
- * @apiParam {Number} id Team's unique ID.
- * @apiParam (Query) {Number[]} ids Agents' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName RemoveAgents
- * @apiGroup Teams
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id/agents', auth.isAuthenticated(), auth.hasRole('admin'), controller.removeAgents);
-
-module.exports = router;
+var _0xaa4b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x65\x61\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x61\x73\x73\x6F\x63\x69\x61\x74\x69\x6F\x6E\x73","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x61\x73\x73\x6F\x63\x69\x61\x74\x69\x6F\x6E\x73\x49\x6E\x64\x65\x78","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0xaa4b[0];var express=require(_0xaa4b[1]);var controller=require(_0xaa4b[2]);var auth=require(_0xaa4b[3]);var router=express.Router();router[_0xaa4b[9]](_0xaa4b[4],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[8]]);router[_0xaa4b[9]](_0xaa4b[10],auth[_0xaa4b[5]](),auth[_0xaa4b[11]]([5],[_0xaa4b[6]]),controller[_0xaa4b[12]]);router[_0xaa4b[9]](_0xaa4b[13],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[14]]);router[_0xaa4b[9]](_0xaa4b[15],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[16]]);router[_0xaa4b[18]](_0xaa4b[4],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[17]]);router[_0xaa4b[18]](_0xaa4b[15],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[19]]);router[_0xaa4b[21]](_0xaa4b[13],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[20]]);router[_0xaa4b[23]](_0xaa4b[4],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[22]]);router[_0xaa4b[23]](_0xaa4b[13],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[24]]);router[_0xaa4b[23]](_0xaa4b[15],auth[_0xaa4b[5]](),auth[_0xaa4b[7]](_0xaa4b[6]),controller[_0xaa4b[25]]);module[_0xaa4b[26]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-var Team = require('../../models').Team;
-var Agent = require('../../models').User;
-var User = require('../../models').User;
-
-// Get list of teams
-exports.index = function(req, res) {
- return Team
- .scope('default')
- .findAndCountAll(_.merge(Util.getQuery(req.query)))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.associationsIndex = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(404);
- }
-
- return user;
- })
- .then(Util.getAgentsIdByUser(req.query))
- .then(function(data) {
- return Team
- .scope({
- method: ['agents', _.map(data.rows, 'id')]
- })
- .findAll(_.merge(Util.getQuery(req.query)));
- })
- .then(function(result) {
- res.status(200).send({
- rows: result,
- count: result.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return Team
- .scope('agents')
- .findAll(_.merge(Util.getQuery(req.query)))
- .then(function(result) {
- res.status(200).send({
- rows: result,
- count: result.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Get a single team
-exports.show = function(req, res) {
- return Team
- // .scope('default')
- .findById(req.params.id)
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- return res.send(team);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single team
-exports.showAgents = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(404);
- }
- return user;
- })
- .then(Util.getAgentsIdByUser(req.query))
- .then(function(data) {
- return Team
- .scope({
- method: ['agents', _.map(data.rows, 'id')]
- })
- .findById(req.params.id);
- })
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- return res.status(200).send({
- count: team.Users.length,
- rows: team.Users
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- default:
- return Team
- .scope('agents')
- .findById(req.params.id)
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- return res.status(200).send({
- count: team.Users.length,
- rows: team.Users
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-// Creates a new team in the DB.
-exports.create = function(req, res) {
- return Team
- // .scope('default')
- .create(req.body)
- .then(function(team) {
- return res.status(201).send(team);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing team in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return Team
- .findById(req.params.id)
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- var updated = _.merge(team, req.body);
- return updated
- .save();
- })
- .then(function(team) {
- return res.status(200).send(team);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a team from the DB.
-exports.destroy = function(req, res) {
- return Team
- .findById(req.params.id)
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- return team.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return Team
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_mail_queue in the DB.
-exports.addAgents = function(req, res, next) {
- return Team
- .findById(req.params.id)
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- return team
- .addUsers(req.body.agents);
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-exports.removeAgents = function(req, res, next) {
- return Team
- .findById(req.params.id)
- .then(function(team) {
- if (!team) {
- return res.sendStatus(404);
- }
- return team
- .removeUser(req.query.agents);
- })
- .then(function() {
- return res.sendStatus(202);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xef17=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x61\x6D","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x61\x73\x73\x6F\x63\x69\x61\x74\x69\x6F\x6E\x73\x49\x6E\x64\x65\x78","\x6C\x65\x6E\x67\x74\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74\x73","\x72\x6F\x77\x73","\x69\x64","\x6D\x61\x70","\x67\x65\x74\x41\x67\x65\x6E\x74\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x61\x64\x64\x55\x73\x65\x72\x73","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x72\x65\x6D\x6F\x76\x65\x55\x73\x65\x72"];_0xef17[0];var _=require(_0xef17[1]);var util=require(_0xef17[2]);var Util=require(_0xef17[3]);var sequelize=require(_0xef17[5])[_0xef17[4]];var Team=require(_0xef17[5])[_0xef17[6]];var Agent=require(_0xef17[5])[_0xef17[7]];var User=require(_0xef17[5])[_0xef17[7]];exports[_0xef17[8]]= function(_0x9e52x8,_0x9e52x9){return Team[_0xef17[18]](_0xef17[17])[_0xef17[16]](_[_0xef17[15]](Util[_0xef17[14]](_0x9e52x8[_0xef17[13]])))[_0xef17[12]](function(_0x9e52xb){_0x9e52x9[_0xef17[11]](200)[_0xef17[10]](_0x9e52xb)})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})};exports[_0xef17[19]]= function(_0x9e52x8,_0x9e52x9){switch(_0x9e52x8[_0xef17[28]][_0xef17[30]]){case _0xef17[28]:return User[_0xef17[29]](_0x9e52x8[_0xef17[28]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xd){if(!_0x9e52xd){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52xd})[_0xef17[12]](Util[_0xef17[26]](_0x9e52x8[_0xef17[13]]))[_0xef17[12]](function(_0x9e52xc){return Team[_0xef17[18]]({method:[_0xef17[22],_[_0xef17[25]](_0x9e52xc[_0xef17[23]],_0xef17[24])]})[_0xef17[21]](_[_0xef17[15]](Util[_0xef17[14]](_0x9e52x8[_0xef17[13]])))})[_0xef17[12]](function(_0x9e52xb){_0x9e52x9[_0xef17[11]](200)[_0xef17[10]]({rows:_0x9e52xb,count:_0x9e52xb[_0xef17[20]]})})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)});default:return Team[_0xef17[18]](_0xef17[22])[_0xef17[21]](_[_0xef17[15]](Util[_0xef17[14]](_0x9e52x8[_0xef17[13]])))[_0xef17[12]](function(_0x9e52xb){_0x9e52x9[_0xef17[11]](200)[_0xef17[10]]({rows:_0x9e52xb,count:_0x9e52xb[_0xef17[20]]})})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})}};exports[_0xef17[31]]= function(_0x9e52x8,_0x9e52x9){return Team[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52x9[_0xef17[10]](_0x9e52xe)})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})};exports[_0xef17[33]]= function(_0x9e52x8,_0x9e52x9){switch(_0x9e52x8[_0xef17[28]][_0xef17[30]]){case _0xef17[28]:return User[_0xef17[29]](_0x9e52x8[_0xef17[28]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xd){if(!_0x9e52xd){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52xd})[_0xef17[12]](Util[_0xef17[26]](_0x9e52x8[_0xef17[13]]))[_0xef17[12]](function(_0x9e52xc){return Team[_0xef17[18]]({method:[_0xef17[22],_[_0xef17[25]](_0x9e52xc[_0xef17[23]],_0xef17[24])]})[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])})[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52x9[_0xef17[11]](200)[_0xef17[10]]({count:_0x9e52xe[_0xef17[34]][_0xef17[20]],rows:_0x9e52xe[_0xef17[34]]})})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)});default:return Team[_0xef17[18]](_0xef17[22])[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52x9[_0xef17[11]](200)[_0xef17[10]]({count:_0x9e52xe[_0xef17[34]][_0xef17[20]],rows:_0x9e52xe[_0xef17[34]]})})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})}};exports[_0xef17[35]]= function(_0x9e52x8,_0x9e52x9){return Team[_0xef17[35]](_0x9e52x8[_0xef17[38]])[_0xef17[12]](function(_0x9e52xe){return _0x9e52x9[_0xef17[11]](201)[_0xef17[10]](_0x9e52xe)})[_0xef17[9]](sequelize.UniqueConstraintError,function(_0x9e52xa){return Util[_0xef17[37]][_0xef17[36]](_0x9e52x9,_0x9e52xa)})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})};exports[_0xef17[39]]= function(_0x9e52x8,_0x9e52x9){if(_0x9e52x8[_0xef17[38]][_0xef17[24]]){delete _0x9e52x8[_0xef17[38]][_0xef17[24]]};return Team[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};var _0x9e52xf=_[_0xef17[15]](_0x9e52xe,_0x9e52x8[_0xef17[38]]);return _0x9e52xf[_0xef17[40]]()})[_0xef17[12]](function(_0x9e52xe){return _0x9e52x9[_0xef17[11]](200)[_0xef17[10]](_0x9e52xe)})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})};exports[_0xef17[41]]= function(_0x9e52x8,_0x9e52x9){return Team[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52xe[_0xef17[41]]()})[_0xef17[12]](function(){return _0x9e52x9[_0xef17[27]](204)})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})};exports[_0xef17[42]]= function(_0x9e52x8,_0x9e52x9){return Team[_0xef17[41]]({where:{id:_0x9e52x8[_0xef17[13]][_0xef17[43]]},individualHooks:true})[_0xef17[12]](function(){return _0x9e52x9[_0xef17[27]](204)})[_0xef17[9]](function(_0x9e52xa){return handleError(_0x9e52x9,_0x9e52xa)})};exports[_0xef17[44]]= function(_0x9e52x8,_0x9e52x9,_0x9e52x10){return Team[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52xe[_0xef17[45]](_0x9e52x8[_0xef17[38]][_0xef17[22]])})[_0xef17[12]](function(){return _0x9e52x9[_0xef17[27]](204)})[_0xef17[9]](function(_0x9e52xa){return _0x9e52x10(_0x9e52xa)})};exports[_0xef17[46]]= function(_0x9e52x8,_0x9e52x9,_0x9e52x10){return Team[_0xef17[29]](_0x9e52x8[_0xef17[32]][_0xef17[24]])[_0xef17[12]](function(_0x9e52xe){if(!_0x9e52xe){return _0x9e52x9[_0xef17[27]](404)};return _0x9e52xe[_0xef17[47]](_0x9e52x8[_0xef17[13]][_0xef17[22]])})[_0xef17[12]](function(){return _0x9e52x9[_0xef17[27]](202)})[_0xef17[9]](function(_0x9e52xa){return _0x9e52x10(_0x9e52xa)})};function handleError(_0x9e52x9,_0x9e52xa){return _0x9e52x9[_0xef17[11]](500)[_0xef17[10]](_0x9e52xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Team = require('../../models').Team;
-
-var TeamEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-TeamEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Team.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- TeamEvents.emit(event + ':' + doc._id, doc);
- TeamEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = TeamEvents;
+var _0x823c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x823c[0];const EventEmitter=require(_0x823c[1]);const Team=require(_0x823c[3])[_0x823c[2]];var TeamEvents= new EventEmitter();TeamEvents[_0x823c[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x823c[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x823c[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x823c[6]};for(var e in events){var event=events[e];Team[_0x823c[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7ed0x8,_0x7ed0x9,_0x7ed0xa){TeamEvents[_0x823c[10]](event+ _0x823c[8]+ _0x7ed0x8[_0x823c[9]],_0x7ed0x8);TeamEvents[_0x823c[10]](event,_0x7ed0x8);_0x7ed0xa(null)}}module[_0x823c[11]]= TeamEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const TeamEvents = require('./team.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('team:' + event, socket);
-
- TeamEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- TeamEvents.removeListener(event, listener);
- };
-}
+var _0x704b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x74\x65\x61\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x74\x65\x61\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x704b[0];const TeamEvents=require(_0x704b[1]);var events=[_0x704b[2],_0x704b[3]];exports[_0x704b[4]]= function(_0x65a4x3){for(var _0x65a4x4=0,_0x65a4x5=events[_0x704b[5]];_0x65a4x4< _0x65a4x5;_0x65a4x4++){var _0x65a4x6=events[_0x65a4x4];var _0x65a4x7=createListener(_0x704b[6]+ _0x65a4x6,_0x65a4x3);TeamEvents[_0x704b[7]](_0x65a4x6,_0x65a4x7);_0x65a4x3[_0x704b[7]](_0x704b[8],removeListener(_0x65a4x6,_0x65a4x7))}};function createListener(_0x65a4x6,_0x65a4x3){return function(_0x65a4x9){_0x65a4x3[_0x704b[9]](_0x65a4x6,_0x65a4x9)}}function removeListener(_0x65a4x6,_0x65a4x7){return function(){TeamEvents[_0x704b[10]](_0x65a4x6,_0x65a4x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./telephone.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-/**
- * @api {get} /api/telephones/ Get telephones list.
- * @apiVersion 0.0.140
- * @apiName GetTelephones
- * @apiGroup Telephones
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of telephones.
- * @apiSuccess {Object[]} rows Get list of agent detailss.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 1,
- * "rows": [{
- * "id": 1
- * "name": "john.doe"
- * "internal": 1001
- * ...
- * }]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.index);
-
-/**
- * @api {get} /api/telephones/:id Get telephone details.
- * @apiParam {Number} id Telephone's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetTelephone
- * @apiGroup Telephones
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Telephone's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe"
- * "internal": 1001
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.show);
-
-/**
- * @api {post} /api/telephones/ Create telephone.
- * @apiParam (Body) {String} name Telephone's name.
- * @apiParam (Body) {String} context="from-sip" Telephone's SIP context.
- * @apiParam (Body) {String} password Telephone's password.
- * @apiParam (Body) {Number} internal Telephone's internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" Telephone's SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" Telephone's SIP codecs.
- * @apiParam (Body) {Number} internal Telephone's internal number.
- *
- * @apiVersion 0.0.140
- * @apiName CreateTelephone
- * @apiGroup Telephones
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 1
- * "name": "john.doe"
- * "internal": 1001
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), license.isValidDate(), license.isTelephonesLimit(), auth.hasRole('admin'), controller.create);
-
-/**
- * @api {update} /api/telephones/:id Update telephone details.
- *
- * @apiParam (Params) {Number} id Telephone's unique ID.
- * @apiParam (Body) {String} email Telephone's email.
- * @apiParam (Body) {String} context="from-sip" Telephone's SIP context.
- * @apiParam (Body) {String} password Telephone's password.
- * @apiParam (Body) {Number} internal Telephone's internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" Telephone's SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" Telephone's SIP codecs.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateTelephone
- * @apiGroup Telephones
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe"
- * "internal": 1001
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.update);
-
-/**
- * @api {delete} /api/telephones/ Bulk Delete telephones.
- *
- * @apiParam (Query) {Number[]} ids Telephones' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteTelephones
- * @apiGroup Telephones
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.bulkDestroy);
-
-/**
- * @api {delete} /api/telephones/:id Delete telephone.
- *
- * @apiParam {Number} id Telephone's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteTelephone
- * @apiGroup Telephones
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-
-module.exports = router;
+var _0x6f80=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x4C\x69\x6D\x69\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x6f80[0];var express=require(_0x6f80[1]);var auth=require(_0x6f80[2]);var controller=require(_0x6f80[3]);var license=require(_0x6f80[4]);var router=express.Router();router[_0x6f80[10]](_0x6f80[5],auth[_0x6f80[6]](),auth[_0x6f80[8]](_0x6f80[7]),controller[_0x6f80[9]]);router[_0x6f80[10]](_0x6f80[11],auth[_0x6f80[6]](),auth[_0x6f80[8]](_0x6f80[7]),controller[_0x6f80[12]]);router[_0x6f80[16]](_0x6f80[5],auth[_0x6f80[6]](),license[_0x6f80[13]](),license[_0x6f80[14]](),auth[_0x6f80[8]](_0x6f80[7]),controller[_0x6f80[15]]);router[_0x6f80[18]](_0x6f80[11],auth[_0x6f80[6]](),auth[_0x6f80[8]](_0x6f80[7]),controller[_0x6f80[17]]);router[_0x6f80[20]](_0x6f80[5],auth[_0x6f80[6]](),auth[_0x6f80[8]](_0x6f80[7]),controller[_0x6f80[19]]);router[_0x6f80[20]](_0x6f80[11],auth[_0x6f80[6]](),auth[_0x6f80[8]](_0x6f80[7]),controller[_0x6f80[21]]);module[_0x6f80[22]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/telephones -> index
- * POST /api/telephones -> create
- * GET /api/telephones/:id -> show
- * PUT /api/telephones/:id -> update
- * DELETE /api/telephones/:id -> destroy
- */
-
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-var Telephone = require('../../models').User;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates, t) {
- return function(entity) {
- return entity.updateAttributes(updates, {
- transaction: t
- })
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of Telephones
-exports.index = function(req, res) {
- return Telephone
- .scope('telephone')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-}
-
-// Gets a single Telephone from the DB
-exports.show = function(req, res) {
- Telephone.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new Telephone in the DB
-exports.create = function(req, res) {
- var password = String(req.body.password);
- if (!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/.test(password))) {
- throw new Error('Wrong password format!');
- }
- // Set default role
- req.body.role = 'telephone';
- return sequelize.transaction(function(t) {
- return Telephone
- .create(req.body, {
- transaction: t
- })
- .then(responseWithResult(res, 201))
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(handleError(res));
-}
-
-// Updates an existing Telephone in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- if (req.body.password) {
- var password = String(req.body.password);
- if (!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/.test(password))) {
- throw new Error('Wrong password format!');
- }
- }
-
- delete req.body.name;
-
- return sequelize.transaction(function(t) {
- return Telephone.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body, t))
- .then(responseWithResult(res))
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(handleError(res));
-}
-
-// Deletes a Telephone from the DB
-exports.destroy = function(req, res) {
- return Telephone.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return Telephone
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
+var _0x5ca9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x62\x6F\x64\x79","\x74\x65\x73\x74","\x57\x72\x6F\x6E\x67\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x6F\x72\x6D\x61\x74\x21","\x72\x6F\x6C\x65","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6E\x61\x6D\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64\x73"];_0x5ca9[0];var _=require(_0x5ca9[1]);var Util=require(_0x5ca9[2]);var sequelize=require(_0x5ca9[4])[_0x5ca9[3]];var Telephone=require(_0x5ca9[4])[_0x5ca9[5]];function handleError(_0xdbd0x6,_0xdbd0x7){_0xdbd0x7= _0xdbd0x7|| 500;return function(_0xdbd0x8){_0xdbd0x6[_0x5ca9[7]](_0xdbd0x7)[_0x5ca9[6]](_0xdbd0x8)}}function responseWithResult(_0xdbd0x6,_0xdbd0x7){_0xdbd0x7= _0xdbd0x7|| 200;return function(_0xdbd0xa){if(_0xdbd0xa){_0xdbd0x6[_0x5ca9[7]](_0xdbd0x7)[_0x5ca9[8]](_0xdbd0xa)}}}function handleEntityNotFound(_0xdbd0x6){return function(_0xdbd0xa){if(!_0xdbd0xa){_0xdbd0x6[_0x5ca9[7]](404)[_0x5ca9[9]]();return null};return _0xdbd0xa}}function saveUpdates(_0xdbd0xd,_0xdbd0xe){return function(_0xdbd0xa){return _0xdbd0xa[_0x5ca9[11]](_0xdbd0xd,{transaction:_0xdbd0xe})[_0x5ca9[10]](function(_0xdbd0xf){return _0xdbd0xf})}}function removeEntity(_0xdbd0x6){return function(_0xdbd0xa){if(_0xdbd0xa){return _0xdbd0xa[_0x5ca9[12]]()[_0x5ca9[10]](function(){_0xdbd0x6[_0x5ca9[7]](204)[_0x5ca9[9]]()})}}}exports[_0x5ca9[13]]= function(_0xdbd0x11,_0xdbd0x6){return Telephone[_0x5ca9[19]](_0x5ca9[18])[_0x5ca9[17]](Util[_0x5ca9[16]](_0xdbd0x11[_0x5ca9[15]]))[_0x5ca9[10]](function(_0xdbd0x12){_0xdbd0x6[_0x5ca9[7]](200)[_0x5ca9[6]](_0xdbd0x12)})[_0x5ca9[14]](function(_0xdbd0x8){return handleError(_0xdbd0x6,_0xdbd0x8)})};exports[_0x5ca9[20]]= function(_0xdbd0x11,_0xdbd0x6){Telephone[_0x5ca9[23]](_0xdbd0x11[_0x5ca9[22]][_0x5ca9[21]])[_0x5ca9[10]](handleEntityNotFound(_0xdbd0x6))[_0x5ca9[10]](responseWithResult(_0xdbd0x6))[_0x5ca9[14]](handleError(_0xdbd0x6))};exports[_0x5ca9[24]]= function(_0xdbd0x11,_0xdbd0x6){var _0xdbd0x13=String(_0xdbd0x11[_0x5ca9[26]][_0x5ca9[25]]);if(!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/[_0x5ca9[27]](_0xdbd0x13))){throw new Error(_0x5ca9[28])};_0xdbd0x11[_0x5ca9[26]][_0x5ca9[29]]= _0x5ca9[18];return sequelize[_0x5ca9[32]](function(_0xdbd0xe){return Telephone[_0x5ca9[24]](_0xdbd0x11[_0x5ca9[26]],{transaction:_0xdbd0xe})[_0x5ca9[10]](responseWithResult(_0xdbd0x6,201))})[_0x5ca9[14]](sequelize.UniqueConstraintError,function(_0xdbd0x8){return Util[_0x5ca9[31]][_0x5ca9[30]](_0xdbd0x6,_0xdbd0x8)})[_0x5ca9[14]](handleError(_0xdbd0x6))};exports[_0x5ca9[33]]= function(_0xdbd0x11,_0xdbd0x6){if(_0xdbd0x11[_0x5ca9[26]][_0x5ca9[21]]){delete _0xdbd0x11[_0x5ca9[26]][_0x5ca9[21]]};if(_0xdbd0x11[_0x5ca9[26]][_0x5ca9[25]]){var _0xdbd0x13=String(_0xdbd0x11[_0x5ca9[26]][_0x5ca9[25]]);if(!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/[_0x5ca9[27]](_0xdbd0x13))){throw new Error(_0x5ca9[28])}};delete _0xdbd0x11[_0x5ca9[26]][_0x5ca9[34]];return sequelize[_0x5ca9[32]](function(_0xdbd0xe){return Telephone[_0x5ca9[23]](_0xdbd0x11[_0x5ca9[22]][_0x5ca9[21]])[_0x5ca9[10]](handleEntityNotFound(_0xdbd0x6))[_0x5ca9[10]](saveUpdates(_0xdbd0x11[_0x5ca9[26]],_0xdbd0xe))[_0x5ca9[10]](responseWithResult(_0xdbd0x6))})[_0x5ca9[14]](sequelize.UniqueConstraintError,function(_0xdbd0x8){return Util[_0x5ca9[31]][_0x5ca9[30]](_0xdbd0x6,_0xdbd0x8)})[_0x5ca9[14]](handleError(_0xdbd0x6))};exports[_0x5ca9[12]]= function(_0xdbd0x11,_0xdbd0x6){return Telephone[_0x5ca9[23]](_0xdbd0x11[_0x5ca9[22]][_0x5ca9[21]])[_0x5ca9[10]](handleEntityNotFound(_0xdbd0x6))[_0x5ca9[10]](removeEntity(_0xdbd0x6))[_0x5ca9[14]](handleError(_0xdbd0x6))};exports[_0x5ca9[35]]= function(_0xdbd0x11,_0xdbd0x6){return Telephone[_0x5ca9[12]]({where:{id:_0xdbd0x11[_0x5ca9[15]][_0x5ca9[37]]},individualHooks:true})[_0x5ca9[10]](function(){return _0xdbd0x6[_0x5ca9[36]](204)})[_0x5ca9[14]](function(_0xdbd0x8){return handleError(_0xdbd0x6,_0xdbd0x8)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Telephone = require('../../models').Telephone;
-
-var TelephoneEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-TelephoneEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Telephone.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- TelephoneEvents.emit(event + ':' + doc._id, doc);
- TelephoneEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = TelephoneEvents;
+var _0x9095=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x9095[0];const EventEmitter=require(_0x9095[1]);const Telephone=require(_0x9095[3])[_0x9095[2]];var TelephoneEvents= new EventEmitter();TelephoneEvents[_0x9095[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x9095[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x9095[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x9095[6]};for(var e in events){var event=events[e];Telephone[_0x9095[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x5aa8x8,_0x5aa8x9,_0x5aa8xa){TelephoneEvents[_0x9095[10]](event+ _0x9095[8]+ _0x5aa8x8[_0x9095[9]],_0x5aa8x8);TelephoneEvents[_0x9095[10]](event,_0x5aa8x8);_0x5aa8xa(null)}}module[_0x9095[11]]= TelephoneEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const TelephoneEvents = require('./telephone.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('telephone:' + event, socket);
-
- TelephoneEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- TelephoneEvents.removeListener(event, listener);
- };
-}
+var _0x2b16=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x2b16[0];const TelephoneEvents=require(_0x2b16[1]);var events=[_0x2b16[2],_0x2b16[3]];exports[_0x2b16[4]]= function(_0x92eax3){for(var _0x92eax4=0,_0x92eax5=events[_0x2b16[5]];_0x92eax4< _0x92eax5;_0x92eax4++){var _0x92eax6=events[_0x92eax4];var _0x92eax7=createListener(_0x2b16[6]+ _0x92eax6,_0x92eax3);TelephoneEvents[_0x2b16[7]](_0x92eax6,_0x92eax7);_0x92eax3[_0x2b16[7]](_0x2b16[8],removeListener(_0x92eax6,_0x92eax7))}};function createListener(_0x92eax6,_0x92eax3){return function(_0x92eax9){_0x92eax3[_0x2b16[9]](_0x92eax6,_0x92eax9)}}function removeListener(_0x92eax6,_0x92eax7){return function(){TelephoneEvents[_0x2b16[10]](_0x92eax6,_0x92eax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./template.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-/**
- * @api {get} /api/template/ Get Templates' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetTemplates
- * @apiGroup Templates
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of templates.
- * @apiSuccess {Object[]} rows Templates list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 2,
- * "rows": [{
- * "id": 1
- * "name": "Template 1"
- * "description": "Auto Response"
- * "subject": "My subject"
- * "attachment": null
- * "html": null
- * "text": "Hi, nice to meet you"
- * ...
- * },{
- * "id": 2
- * "name": "Template abc"
- * "description": null
- * ...
- * },...]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([13], ['admin', 'user', 'agent']), controller.index);
-/**
- * @api {get} /api/templates/:id Get Template's details.
- * @apiParam {Number} id Template's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetTemplate
- * @apiGroup Templates
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Template's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "Template 1"
- * "description": "Auto Response"
- * "subject": "My subject"
- * "attachment": null
- * "html": null
- * "text": "Hi, nice to meet you"
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-/**
- * @api {post} /api/templates/ Create a new template.
- * @apiParam (body) {String} name Template's name.
- * @apiParam (body) {String} [description] Template's description.
- * @apiParam (body) {String} [subject] Template's subject.
- * @apiParam (body) {String} [html] Template's content.
- *
- * @apiVersion 0.0.140
- * @apiName CreateTemplate
- * @apiGroup Templates
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * id": 2
- * "name": "Template 2"
- * "description": "My Response",
- * "subject": "My subject",
- * "html": null
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-/**
- * @api {put} /api/templates/:id Update template's details.
- * @apiParam {Number} id Template's unique ID.
- * @apiParam (body) {String} name Template's name.
- * @apiParam (body) {String} [description] Template's description.
- * @apiParam (body) {String} [subject] Template's subject.
- * @apiParam (body) {String} [html] Template's content.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateTemplate
- * @apiGroup Templates
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * id": 2
- * "name": "Template 2"
- * "description": "My Response",
- * "subject": "My subject",
- * "html": "Hi, nice to meet you"
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-/**
- * @api {delete} /api/templates/:id Delete a template.
- *
- * @apiParam {Number} id Template's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteTemplate
- * @apiGroup Templates
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-/**
- * @api {delete} /api/templates/ Bulk Delete templates.
- *
- * @apiParam (Query) {Number[]} ids Templates' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteTemplates
- * @apiGroup Templates
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-
-module.exports = router;
+var _0x3d31=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x3d31[0];var express=require(_0x3d31[1]);var controller=require(_0x3d31[2]);var auth=require(_0x3d31[3]);var router=express.Router();router[_0x3d31[11]](_0x3d31[4],auth[_0x3d31[5]](),auth[_0x3d31[9]]([13],[_0x3d31[6],_0x3d31[7],_0x3d31[8]]),controller[_0x3d31[10]]);router[_0x3d31[11]](_0x3d31[12],auth[_0x3d31[5]](),auth[_0x3d31[9]]([13],[_0x3d31[6]]),controller[_0x3d31[13]]);router[_0x3d31[15]](_0x3d31[4],auth[_0x3d31[5]](),auth[_0x3d31[9]]([13],[_0x3d31[6]]),controller[_0x3d31[14]]);router[_0x3d31[17]](_0x3d31[12],auth[_0x3d31[5]](),auth[_0x3d31[9]]([13],[_0x3d31[6]]),controller[_0x3d31[16]]);router[_0x3d31[19]](_0x3d31[12],auth[_0x3d31[5]](),auth[_0x3d31[9]]([13],[_0x3d31[6]]),controller[_0x3d31[18]]);router[_0x3d31[19]](_0x3d31[4],auth[_0x3d31[5]](),auth[_0x3d31[9]]([13],[_0x3d31[6]]),controller[_0x3d31[20]]);module[_0x3d31[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-
-var Template = require('../../models').Template;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return Template
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single template
-exports.show = function(req, res) {
- return Template
- .findById(req.params.id)
- .then(function(template) {
- if (!template) {
- return res.sendStatus(404);
- }
- return res.send(template);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new template in the DB.
-exports.create = function(req, res) {
- return Template
- .create(req.body)
- .then(function(template) {
- return res.status(201).send(template);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing template in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return Template
- .findById(req.params.id)
- .then(function(template) {
- if (!template) {
- return res.sendStatus(404);
- }
- var updated = _.merge(template, req.body);
- return updated
- .save();
- })
- .then(function(template) {
- return res.status(200).send(template);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a template from the DB.
-exports.destroy = function(req, res) {
- return Template
- .findById(req.params.id)
- .then(function(template) {
- if (!template) {
- return res.sendStatus(404);
- }
- return template
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Template
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x59e0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x59e0[0];var _=require(_0x59e0[1]);var util=require(_0x59e0[2]);var Util=require(_0x59e0[3]);var Template=require(_0x59e0[5])[_0x59e0[4]];exports[_0x59e0[6]]= function(_0x1756x5,_0x1756x6,_0x1756x7){return Template[_0x59e0[13]](Util[_0x59e0[12]](_0x1756x5[_0x59e0[11]]))[_0x59e0[10]](function(_0x1756x9){_0x1756x6[_0x59e0[9]](200)[_0x59e0[8]](_0x1756x9)})[_0x59e0[7]](function(_0x1756x8){return handleError(_0x1756x6,_0x1756x8)})};exports[_0x59e0[14]]= function(_0x1756x5,_0x1756x6){return Template[_0x59e0[18]](_0x1756x5[_0x59e0[17]][_0x59e0[16]])[_0x59e0[10]](function(_0x1756xa){if(!_0x1756xa){return _0x1756x6[_0x59e0[15]](404)};return _0x1756x6[_0x59e0[8]](_0x1756xa)})[_0x59e0[7]](function(_0x1756x8){return handleError(_0x1756x6,_0x1756x8)})};exports[_0x59e0[19]]= function(_0x1756x5,_0x1756x6){return Template[_0x59e0[19]](_0x1756x5[_0x59e0[20]])[_0x59e0[10]](function(_0x1756xa){return _0x1756x6[_0x59e0[9]](201)[_0x59e0[8]](_0x1756xa)})[_0x59e0[7]](function(_0x1756x8){return handleError(_0x1756x6,_0x1756x8)})};exports[_0x59e0[21]]= function(_0x1756x5,_0x1756x6){if(_0x1756x5[_0x59e0[20]][_0x59e0[16]]){delete _0x1756x5[_0x59e0[20]][_0x59e0[16]]};return Template[_0x59e0[18]](_0x1756x5[_0x59e0[17]][_0x59e0[16]])[_0x59e0[10]](function(_0x1756xa){if(!_0x1756xa){return _0x1756x6[_0x59e0[15]](404)};var _0x1756xb=_[_0x59e0[22]](_0x1756xa,_0x1756x5[_0x59e0[20]]);return _0x1756xb[_0x59e0[23]]()})[_0x59e0[10]](function(_0x1756xa){return _0x1756x6[_0x59e0[9]](200)[_0x59e0[8]](_0x1756xa)})[_0x59e0[7]](function(_0x1756x8){return handleError(_0x1756x6,_0x1756x8)})};exports[_0x59e0[24]]= function(_0x1756x5,_0x1756x6){return Template[_0x59e0[18]](_0x1756x5[_0x59e0[17]][_0x59e0[16]])[_0x59e0[10]](function(_0x1756xa){if(!_0x1756xa){return _0x1756x6[_0x59e0[15]](404)};return _0x1756xa[_0x59e0[24]]()})[_0x59e0[10]](function(){return _0x1756x6[_0x59e0[15]](204)})[_0x59e0[7]](function(_0x1756x8){return handleError(_0x1756x6,_0x1756x8)})};exports[_0x59e0[25]]= function(_0x1756x5,_0x1756x6){return Template[_0x59e0[24]]({where:{id:_0x1756x5[_0x59e0[11]][_0x59e0[26]]},individualHooks:true})[_0x59e0[10]](function(){return _0x1756x6[_0x59e0[15]](204)})[_0x59e0[7]](function(_0x1756x8){return handleError(_0x1756x6,_0x1756x8)})};function handleError(_0x1756x6,_0x1756x8){return _0x1756x6[_0x59e0[9]](500)[_0x59e0[8]](_0x1756x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Template = require('../../models').Template;
-
-var TemplateEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-TemplateEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Template.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- TemplateEvents.emit(event + ':' + doc._id, doc);
- TemplateEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = TemplateEvents;
+var _0xc4be=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc4be[0];const EventEmitter=require(_0xc4be[1]);const Template=require(_0xc4be[3])[_0xc4be[2]];var TemplateEvents= new EventEmitter();TemplateEvents[_0xc4be[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc4be[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xc4be[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc4be[6]};for(var e in events){var event=events[e];Template[_0xc4be[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x4516x8,_0x4516x9,_0x4516xa){TemplateEvents[_0xc4be[10]](event+ _0xc4be[8]+ _0x4516x8[_0xc4be[9]],_0x4516x8);TemplateEvents[_0xc4be[10]](event,_0x4516x8);_0x4516xa(null)}}module[_0xc4be[11]]= TemplateEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const TemplateEvents = require('./template.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('template:' + event, socket);
-
- TemplateEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- TemplateEvents.removeListener(event, listener);
- };
-}
+var _0x5039=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x74\x65\x6D\x70\x6C\x61\x74\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5039[0];const TemplateEvents=require(_0x5039[1]);var events=[_0x5039[2],_0x5039[3]];exports[_0x5039[4]]= function(_0x31d7x3){for(var _0x31d7x4=0,_0x31d7x5=events[_0x5039[5]];_0x31d7x4< _0x31d7x5;_0x31d7x4++){var _0x31d7x6=events[_0x31d7x4];var _0x31d7x7=createListener(_0x5039[6]+ _0x31d7x6,_0x31d7x3);TemplateEvents[_0x5039[7]](_0x31d7x6,_0x31d7x7);_0x31d7x3[_0x5039[7]](_0x5039[8],removeListener(_0x31d7x6,_0x31d7x7))}};function createListener(_0x31d7x6,_0x31d7x3){return function(_0x31d7x9){_0x31d7x3[_0x5039[9]](_0x31d7x6,_0x31d7x9)}}function removeListener(_0x31d7x6,_0x31d7x7){return function(){TemplateEvents[_0x5039[10]](_0x31d7x6,_0x31d7x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./trigger.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-/**
- * @api {get} /api/triggers/ Get Triggers' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetTriggers
- * @apiGroup Triggers
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of triggers.
- * @apiSuccess {Object[]} rows Triggers' list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 2,
- * "rows": [{
- * "id": 1
- * "name": "trigger1"
- * "description": "my trigger description"
- * ...
- * },{
- * "id": 2
- * "name": "newtrigger"
- * "description": null
- * ...
- * },...]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.index);
-/**
- * @api {get} /api/triggers/:id Get Trigger's details.
- * @apiParam {Number} id Trigger's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetTrigger
- * @apiGroup Triggers
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Trigger's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id":1,
- * "All": [
- * {
- * "field": "queue",
- * "operator": "equals",
- * "value": "Support"
- * },
- * ...
- * ],
- * "Any": [
- * {
- * "field": "lastevent",
- * "operator": "equals",
- * "value": "complete"
- * },
- * {
- * "field": "lastevent",
- * "operator": "equals",
- * "value": "abandoned"
- * },
- * ...
- * ],
- * "Actions": [
- * {
- * "action": "contactManager",
- * "data1": "",
- * "data2": "",
- * "data3": "",
- * "data4": "",
- * "data5": ""
- * },
- * ...
- * ],
- * "channel": "voice",
- * "status": false,
- * "name": "my trigger",
- * "description": "my demo trigger",
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-/**
- * @api {post} /api/triggers/ Create a new trigger.
- * @apiParam (body) {String} name Trigger's name.
- * @apiParam (body) {String} [description] Trigger's description.
- * @apiParam (body) {Boolean} status Trigger's status (active/inactive).
- * @apiParam (body) {String} channel Trigger's channel.
- * @apiParam (body) {conditions[]} All Trigger's conditions, all of them must be met.
- * @apiParam (body) {conditions[]} Any Trigger's conditions, at least one of them must be met.
- * @apiParam (body) {actions[]} Actions Trigger's actions.
- *
- * @apiParam (Conditions) {string} field Condition field.
- * @apiParam (Conditions) {string} operator Condition operator, to compare field and value.
- * @apiParam (Conditions) {string} value The value to compare the condition field with.
- *
- * @apiParam (Actions) {string} action Trigger action.
- * @apiParam (Actions) {string} data1 Action data.
- * @apiParam (Actions) {string} data2 Action data.
- * @apiParam (Actions) {string} data3 Action data.
- * @apiParam (Actions) {string} data4 Action data.
- * @apiParam (Actions) {string} data5 Action data.
- *
- * @apiVersion 0.0.140
- * @apiName CreateTrigger
- * @apiGroup Triggers
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id":1,
- * "All": [
- * {
- * "field": "queue",
- * "operator": "equals",
- * "value": "Support"
- * },
- * ...
- * ],
- * "Any": [
- * {
- * "field": "lastevent",
- * "operator": "equals",
- * "value": "complete"
- * },
- * {
- * "field": "lastevent",
- * "operator": "equals",
- * "value": "abandoned"
- * },
- * ...
- * ],
- * "Actions": [
- * {
- * "action": "contactManager",
- * "data1": "",
- * "data2": "",
- * "data3": "",
- * "data4": "",
- * "data5": ""
- * },
- * ...
- * ],
- * "channel": "voice",
- * "status": false,
- * "name": "my trigger",
- * "description": "my demo trigger",
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-/**
- * @api {put} /api/triggers/:id Update an existing trigger.
- * @apiParam {Number} id Trigger's unique ID.
- *
- * @apiParam (body) {String} name Trigger's name.
- * @apiParam (body) {String} [description] Trigger's description.
- * @apiParam (body) {Boolean} status Trigger's status (active/inactive).
- * @apiParam (body) {String} channel Trigger's channel.
- * @apiParam (body) {conditions[]} All Trigger's conditions, all of them must be met.
- * @apiParam (body) {conditions[]} Any Trigger's conditions, at least one of them must be met.
- * @apiParam (body) {actions[]} Actions Trigger's actions.
- *
- * @apiParam (Conditions) {string} field Condition field.
- * @apiParam (Conditions) {string} operator Condition operator, to compare field and value.
- * @apiParam (Conditions) {string} value The value to compare the condition field with.
- *
- * @apiParam (Actions) {string} action Trigger action.
- * @apiParam (Actions) {string} data1 Action data.
- * @apiParam (Actions) {string} data2 Action data.
- * @apiParam (Actions) {string} data3 Action data.
- * @apiParam (Actions) {string} data4 Action data.
- * @apiParam (Actions) {string} data5 Action data.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateTrigger
- * @apiGroup Triggers
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-/**
- * @api {delete} /api/triggers/:id Delete a trigger.
- *
- * @apiParam {Number} id Trigger's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteTrigger
- * @apiGroup Triggers
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-/**
- * @api {delete} /api/triggers/ Bulk Delete triggers.
- *
- * @apiParam (Query) {Number[]} ids Triggers' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteTriggers
- * @apiGroup Triggers
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-
-module.exports = router;
+var _0x9f57=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x9f57[0];var express=require(_0x9f57[1]);var controller=require(_0x9f57[2]);var auth=require(_0x9f57[3]);var router=express.Router();router[_0x9f57[9]](_0x9f57[4],auth[_0x9f57[5]](),auth[_0x9f57[7]]([13],[_0x9f57[6]]),controller[_0x9f57[8]]);router[_0x9f57[9]](_0x9f57[10],auth[_0x9f57[5]](),auth[_0x9f57[7]]([13],[_0x9f57[6]]),controller[_0x9f57[11]]);router[_0x9f57[13]](_0x9f57[4],auth[_0x9f57[5]](),auth[_0x9f57[7]]([13],[_0x9f57[6]]),controller[_0x9f57[12]]);router[_0x9f57[15]](_0x9f57[10],auth[_0x9f57[5]](),auth[_0x9f57[7]]([13],[_0x9f57[6]]),controller[_0x9f57[14]]);router[_0x9f57[17]](_0x9f57[10],auth[_0x9f57[5]](),auth[_0x9f57[7]]([13],[_0x9f57[6]]),controller[_0x9f57[16]]);router[_0x9f57[17]](_0x9f57[4],auth[_0x9f57[5]](),auth[_0x9f57[7]]([13],[_0x9f57[6]]),controller[_0x9f57[18]]);module[_0x9f57[19]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-
-var Trigger = require('../../models').Trigger;
-var ToolsCondition = require('../../models').ToolsCondition;
-var ToolsAction = require('../../models').ToolsAction;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return Trigger
- .scope('all')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single Trigger
-exports.show = function(req, res) {
- return Trigger
- .scope('all')
- .findById(req.params.id)
- .then(function(trigger) {
- if (!trigger) {
- return res.sendStatus(404);
- }
- return res.status(200).send(trigger);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new Trigger in the DB.
-exports.create = function(req, res) {
- return Trigger
- .create(req.body, {
- include: [{
- model: ToolsCondition,
- as: 'All'
- }, {
- model: ToolsCondition,
- as: 'Any'
- }, {
- model: ToolsAction,
- as: 'Actions'
- }],
- newTrigger: req.body
- })
- .then(function(trigger) {
- return res.status(201).send(trigger);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing Trigger in the DB.
-exports.update = function(req, res, next) {
- var _trigger;
- if (req.body.id) {
- delete req.body.id;
- }
- return sequelize.transaction(function(t) {
- return Trigger
- .findById(req.params.id)
- .then(function(trigger) {
- _trigger = trigger;
- if (req.body.Any) {
- return ToolsCondition
- .destroy({
- where: {
- TriggerAnyId: req.params.id
- },
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.Any && Array.isArray(req.body.Any) && req.body.Any.length) {
- _.forEach(req.body.Any, function(elem) {
- elem.TriggerAnyId = req.params.id;
- });
- return ToolsCondition
- .bulkCreate(req.body.Any, {
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.All) {
- return ToolsCondition
- .destroy({
- where: {
- TriggerAllId: req.params.id
- },
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.All && Array.isArray(req.body.All) && req.body.All.length) {
- _.forEach(req.body.All, function(elem) {
- elem.TriggerAllId = req.params.id;
- });
- return ToolsCondition
- .bulkCreate(req.body.All, {
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.Actions) {
- return ToolsAction
- .destroy({
- where: {
- TriggerId: req.params.id
- },
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- if (req.body.Actions && Array.isArray(req.body.Actions) && req.body.Actions.length) {
- _.forEach(req.body.Actions, function(elem) {
- elem.TriggerId = req.params.id;
- });
- return ToolsAction
- .bulkCreate(req.body.Actions, {
- transaction: t
- });
- }
- return;
- })
- .then(function() {
- var updated = _.merge(_trigger, req.body);
- return updated
- .save({
- transaction: t
- });
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Deletes a Trigger from the DB.
-exports.destroy = function(req, res) {
- return Trigger
- .findById(req.params.id)
- .then(function(Trigger) {
- if (!Trigger) {
- return res.sendStatus(404);
- }
- Trigger.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Trigger
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x5b4c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x72\x69\x67\x67\x65\x72","\x54\x6F\x6F\x6C\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x54\x6F\x6F\x6C\x73\x41\x63\x74\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x41\x6C\x6C","\x41\x6E\x79","\x41\x63\x74\x69\x6F\x6E\x73","\x75\x70\x64\x61\x74\x65","\x6C\x6F\x67","\x73\x61\x76\x65","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x54\x72\x69\x67\x67\x65\x72\x49\x64","\x66\x6F\x72\x45\x61\x63\x68","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x54\x72\x69\x67\x67\x65\x72\x41\x6C\x6C\x49\x64","\x54\x72\x69\x67\x67\x65\x72\x41\x6E\x79\x49\x64","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x5b4c[0];var _=require(_0x5b4c[1]);var util=require(_0x5b4c[2]);var Util=require(_0x5b4c[3]);var sequelize=require(_0x5b4c[5])[_0x5b4c[4]];var Trigger=require(_0x5b4c[5])[_0x5b4c[6]];var ToolsCondition=require(_0x5b4c[5])[_0x5b4c[7]];var ToolsAction=require(_0x5b4c[5])[_0x5b4c[8]];exports[_0x5b4c[9]]= function(_0x49a1x8,_0x49a1x9,_0x49a1xa){return Trigger[_0x5b4c[19]](_0x5b4c[18])[_0x5b4c[17]](_[_0x5b4c[16]](Util[_0x5b4c[15]](_0x49a1x8[_0x5b4c[14]]),{distinct:true}))[_0x5b4c[13]](function(_0x49a1xc){return _0x49a1x9[_0x5b4c[12]](200)[_0x5b4c[11]](_0x49a1xc)})[_0x5b4c[10]](function(_0x49a1xb){return handleError(_0x49a1x9,_0x49a1xb)})};exports[_0x5b4c[20]]= function(_0x49a1x8,_0x49a1x9){return Trigger[_0x5b4c[19]](_0x5b4c[18])[_0x5b4c[24]](_0x49a1x8[_0x5b4c[23]][_0x5b4c[22]])[_0x5b4c[13]](function(_0x49a1xd){if(!_0x49a1xd){return _0x49a1x9[_0x5b4c[21]](404)};return _0x49a1x9[_0x5b4c[12]](200)[_0x5b4c[11]](_0x49a1xd)})[_0x5b4c[10]](function(_0x49a1xb){return handleError(_0x49a1x9,_0x49a1xb)})};exports[_0x5b4c[25]]= function(_0x49a1x8,_0x49a1x9){return Trigger[_0x5b4c[25]](_0x49a1x8[_0x5b4c[26]],{include:[{model:ToolsCondition,as:_0x5b4c[27]},{model:ToolsCondition,as:_0x5b4c[28]},{model:ToolsAction,as:_0x5b4c[29]}],newTrigger:_0x49a1x8[_0x5b4c[26]]})[_0x5b4c[13]](function(_0x49a1xd){return _0x49a1x9[_0x5b4c[12]](201)[_0x5b4c[11]](_0x49a1xd)})[_0x5b4c[10]](function(_0x49a1xb){return handleError(_0x49a1x9,_0x49a1xb)})};exports[_0x5b4c[30]]= function(_0x49a1x8,_0x49a1x9,_0x49a1xa){var _0x49a1xe;if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[22]]){delete _0x49a1x8[_0x5b4c[26]][_0x5b4c[22]]};return sequelize[_0x5b4c[41]](function(_0x49a1xf){return Trigger[_0x5b4c[24]](_0x49a1x8[_0x5b4c[23]][_0x5b4c[22]])[_0x5b4c[13]](function(_0x49a1xd){_0x49a1xe= _0x49a1xd;if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[28]]){return ToolsCondition[_0x5b4c[38]]({where:{TriggerAnyId:_0x49a1x8[_0x5b4c[23]][_0x5b4c[22]]},transaction:_0x49a1xf})};return})[_0x5b4c[13]](function(){if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[28]]&& Array[_0x5b4c[33]](_0x49a1x8[_0x5b4c[26]].Any)&& _0x49a1x8[_0x5b4c[26]][_0x5b4c[28]][_0x5b4c[34]]){_[_0x5b4c[36]](_0x49a1x8[_0x5b4c[26]].Any,function(_0x49a1x11){_0x49a1x11[_0x5b4c[40]]= _0x49a1x8[_0x5b4c[23]][_0x5b4c[22]]});return ToolsCondition[_0x5b4c[37]](_0x49a1x8[_0x5b4c[26]].Any,{transaction:_0x49a1xf})};return})[_0x5b4c[13]](function(){if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[27]]){return ToolsCondition[_0x5b4c[38]]({where:{TriggerAllId:_0x49a1x8[_0x5b4c[23]][_0x5b4c[22]]},transaction:_0x49a1xf})};return})[_0x5b4c[13]](function(){if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[27]]&& Array[_0x5b4c[33]](_0x49a1x8[_0x5b4c[26]].All)&& _0x49a1x8[_0x5b4c[26]][_0x5b4c[27]][_0x5b4c[34]]){_[_0x5b4c[36]](_0x49a1x8[_0x5b4c[26]].All,function(_0x49a1x11){_0x49a1x11[_0x5b4c[39]]= _0x49a1x8[_0x5b4c[23]][_0x5b4c[22]]});return ToolsCondition[_0x5b4c[37]](_0x49a1x8[_0x5b4c[26]].All,{transaction:_0x49a1xf})};return})[_0x5b4c[13]](function(){if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[29]]){return ToolsAction[_0x5b4c[38]]({where:{TriggerId:_0x49a1x8[_0x5b4c[23]][_0x5b4c[22]]},transaction:_0x49a1xf})};return})[_0x5b4c[13]](function(){if(_0x49a1x8[_0x5b4c[26]][_0x5b4c[29]]&& Array[_0x5b4c[33]](_0x49a1x8[_0x5b4c[26]].Actions)&& _0x49a1x8[_0x5b4c[26]][_0x5b4c[29]][_0x5b4c[34]]){_[_0x5b4c[36]](_0x49a1x8[_0x5b4c[26]].Actions,function(_0x49a1x11){_0x49a1x11[_0x5b4c[35]]= _0x49a1x8[_0x5b4c[23]][_0x5b4c[22]]});return ToolsAction[_0x5b4c[37]](_0x49a1x8[_0x5b4c[26]].Actions,{transaction:_0x49a1xf})};return})[_0x5b4c[13]](function(){var _0x49a1x10=_[_0x5b4c[16]](_0x49a1xe,_0x49a1x8[_0x5b4c[26]]);return _0x49a1x10[_0x5b4c[32]]({transaction:_0x49a1xf})})})[_0x5b4c[13]](function(){return _0x49a1x9[_0x5b4c[21]](200)})[_0x5b4c[10]](function(_0x49a1xb){console[_0x5b4c[31]](_0x49a1xb);return handleError(_0x49a1x9,_0x49a1xb)})};exports[_0x5b4c[38]]= function(_0x49a1x8,_0x49a1x9){return Trigger[_0x5b4c[24]](_0x49a1x8[_0x5b4c[23]][_0x5b4c[22]])[_0x5b4c[13]](function(Trigger){if(!Trigger){return _0x49a1x9[_0x5b4c[21]](404)};Trigger[_0x5b4c[38]]()[_0x5b4c[13]](function(){return _0x49a1x9[_0x5b4c[21]](204)})[_0x5b4c[10]](function(_0x49a1xb){return handleError(_0x49a1x9,_0x49a1xb)})})[_0x5b4c[10]](function(_0x49a1xb){return handleError(_0x49a1x9,_0x49a1xb)})};exports[_0x5b4c[42]]= function(_0x49a1x8,_0x49a1x9){return Trigger[_0x5b4c[38]]({where:{id:_0x49a1x8[_0x5b4c[14]][_0x5b4c[43]]},individualHooks:true})[_0x5b4c[13]](function(){return _0x49a1x9[_0x5b4c[21]](204)})[_0x5b4c[10]](function(_0x49a1xb){return handleError(_0x49a1x9,_0x49a1xb)})};function handleError(_0x49a1x9,_0x49a1xb){return _0x49a1x9[_0x5b4c[12]](500)[_0x5b4c[11]](_0x49a1xb)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Trigger = require('../../models').Trigger;
-
-var TriggerEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-TriggerEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Trigger.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- TriggerEvents.emit(event + ':' + doc._id, doc);
- TriggerEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = TriggerEvents;
+var _0x4094=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x4094[0];const EventEmitter=require(_0x4094[1]);const Trigger=require(_0x4094[3])[_0x4094[2]];var TriggerEvents= new EventEmitter();TriggerEvents[_0x4094[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x4094[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x4094[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x4094[6]};for(var e in events){var event=events[e];Trigger[_0x4094[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xa5d1x8,_0xa5d1x9,_0xa5d1xa){TriggerEvents[_0x4094[10]](event+ _0x4094[8]+ _0xa5d1x8[_0x4094[9]],_0xa5d1x8);TriggerEvents[_0x4094[10]](event,_0xa5d1x8);_0xa5d1xa(null)}}module[_0x4094[11]]= TriggerEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const TriggerEvents = require('./trigger.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('trigger:' + event, socket);
-
- TriggerEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- TriggerEvents.removeListener(event, listener);
- };
-}
+var _0x66da=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x74\x72\x69\x67\x67\x65\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x66da[0];const TriggerEvents=require(_0x66da[1]);var events=[_0x66da[2],_0x66da[3]];exports[_0x66da[4]]= function(_0x7d27x3){for(var _0x7d27x4=0,_0x7d27x5=events[_0x66da[5]];_0x7d27x4< _0x7d27x5;_0x7d27x4++){var _0x7d27x6=events[_0x7d27x4];var _0x7d27x7=createListener(_0x66da[6]+ _0x7d27x6,_0x7d27x3);TriggerEvents[_0x66da[7]](_0x7d27x6,_0x7d27x7);_0x7d27x3[_0x66da[7]](_0x66da[8],removeListener(_0x7d27x6,_0x7d27x7))}};function createListener(_0x7d27x6,_0x7d27x3){return function(_0x7d27x9){_0x7d27x3[_0x66da[9]](_0x7d27x6,_0x7d27x9)}}function removeListener(_0x7d27x6,_0x7d27x7){return function(){TriggerEvents[_0x66da[10]](_0x7d27x6,_0x7d27x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./trunk.controller');
-var config = require('../../config/environment');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-/**
- * @api {get} /api/trunks/ Get trunks' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetTrunks
- * @apiGroup Trunks
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of trunks.
- * @apiSuccess {Object[]} rows Get trunks list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 1,
- * "rows": [{
- * "name": "DemoTrunk"
- * "type": "friend"
- * "context": "from-sip"
- * "callingpres": "ALLOWED_NOT_SCREENED"
- * "permit": "0.0.0.0/0.0.0.0"
- * "deny": "0.0.0.0/0.0.0.0"
- * ...
- * }]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([13, 7, 10], ['admin']), controller.index);
-
-/**
- * @api {get} /api/trunks/:id Get trunk's details.
- * @apiParam {Number} id Trunk unique ID.
- * @apiVersion 0.0.140
- * @apiName GetTrunk
- * @apiGroup Trunks
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "name": "DemoTrunk"
- * "type": "friend"
- * "context": "from-sip"
- * "callingpres": "ALLOWED_NOT_SCREENED"
- * "permit": "0.0.0.0/0.0.0.0"
- * "deny": "0.0.0.0/0.0.0.0"
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-
-/**
- * @api {post} /api/trunks/ Create trunk.
- *
- * @apiParam (Body) {String} name Trunk name.
- * @apiParam (Body) {String="friend", "user", "peer"} [type="friend"] Trunk type.
- * @apiParam (Body) {String} [context="from-sip"] Trunk context.
- * @apiParam (Body) {String="ALLOWED_NOT_SCREENED", "ALLOWED_PASSED_SCREEN", "ALLOWED_FAILED_SCREEN", "ALLOWED", "PROHIB_NOT_SCREENED", "PROHIB_PASSED_SCREEN", "PROHIB_FAILED_SCREEN", "PROHIB"} [callinprogress="ALLOWED_NOT_SCREENED"] Trunk context.
- * @apiParam (Body) {String} [permit] Trunk permit.
- * @apiParam (Body) {String} [deny] Trunk deny.
- * @apiParam (Body) {String} secret Trunk secret.
- * @apiParam (Body) {String="rfc2833", "info", "shortinfo", "inband", "auto"} [dtmfmode="rfc2833"] Trunk internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} [transport="udp"] Trunk SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} [allow="alaw;ulaw;gsm"] Trunk SIP codecs.
- * @apiParam (Body) {String="yes", "no", "nonat", "update", "outgoing"} [directmedia="no"] Trunk directmedia.
- * @apiParam (Body) {String="yes", "no"} [directrtpsetup="no"] Trunk directrtpsetup.
- * @apiParam (Body) {String} [nat="force_rport,comedia"] Trunk mobile phone.
- * @apiParam (Body) {String} [disallow="all"] Trunk address.
- * @apiParam (Body) {String} [allow="alaw;ulaw;gsm"] Trunk allow codecs.
- * @apiParam (Body) {String} [callerid='"" <>'] Trunk callerid.
- * @apiParam (Body) {String="yes"} [callcounter="yes, no"] Trunk callcounter.
- * @apiParam (Body) {String="no"} [videosupport="yes, no"] Trunk video support.
- * @apiParam (Body) {String="uas"} [session_refresher="uas, uac"] Trunk session refresher.
- * @apiParam (Body) {String} [host="dynamic"] Trunk host.
- * @apiParam (Body) {String="yes"} [qualify="yes,no"] Trunk qualify.
- * @apiParam (Body) {String} [insecure="port,invite"] Trunk insicure.
- * @apiParam (Body) {String="no"} [sendrpid="yes,no"] Trunk sendrpid.
- * @apiParam (Body) {String="no"} [encryption="yes,no"] Trunk encryption.
- * @apiParam (Body) {String="no"} [usereqphone="yes,no"] Trunk usereqphone.
- * @apiParam (Body) {String="no"} [canreinvite="yes,no"] Trunk can reinvite.
- *
- * @apiVersion 0.0.140
- * @apiName CreateTrunk
- * @apiGroup Trunks
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com"
- * "internal": 1001
- * "fullname": "John Doe"
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-
-/**
- * @api {delete} /api/trunks/:id Update trunk's details.
- *
- * @apiParam (Params) {Number} id Trunk unique ID.
- * @apiParam (Body) {String} name Trunk name.
- * @apiParam (Body) {String="friend", "user", "peer"} [type="friend"] Trunk type.
- * @apiParam (Body) {String} [context="from-sip"] Trunk context.
- * @apiParam (Body) {String="ALLOWED_NOT_SCREENED", "ALLOWED_PASSED_SCREEN", "ALLOWED_FAILED_SCREEN", "ALLOWED", "PROHIB_NOT_SCREENED", "PROHIB_PASSED_SCREEN", "PROHIB_FAILED_SCREEN", "PROHIB"} [callinprogress="ALLOWED_NOT_SCREENED"] Trunk context.
- * @apiParam (Body) {String} [permit] Trunk permit.
- * @apiParam (Body) {String} [deny] Trunk deny.
- * @apiParam (Body) {String} secret Trunk secret.
- * @apiParam (Body) {String="rfc2833", "info", "shortinfo", "inband", "auto"} [dtmfmode="rfc2833"] Trunk internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} [transport="udp"] Trunk SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} [allow="alaw;ulaw;gsm"] Trunk SIP codecs.
- * @apiParam (Body) {String="yes", "no", "nonat", "update", "outgoing"} [directmedia="no"] Trunk directmedia.
- * @apiParam (Body) {String="yes", "no"} [directrtpsetup="no"] Trunk directrtpsetup.
- * @apiParam (Body) {String} [nat="force_rport,comedia"] Trunk mobile phone.
- * @apiParam (Body) {String} [disallow="all"] Trunk address.
- * @apiParam (Body) {String} [allow="alaw;ulaw;gsm"] Trunk allow codecs.
- * @apiParam (Body) {String} [callerid='"" <>'] Trunk callerid.
- * @apiParam (Body) {String="yes"} [callcounter="yes, no"] Trunk callcounter.
- * @apiParam (Body) {String="no"} [videosupport="yes, no"] Trunk video support.
- * @apiParam (Body) {String="uas"} [session_refresher="uas, uac"] Trunk session refresher.
- * @apiParam (Body) {String} [host="dynamic"] Trunk host.
- * @apiParam (Body) {String="yes"} [qualify="yes,no"] Trunk qualify.
- * @apiParam (Body) {String} [insecure="port,invite"] Trunk insicure.
- * @apiParam (Body) {String="no"} [sendrpid="yes,no"] Trunk sendrpid.
- * @apiParam (Body) {String="no"} [encryption="yes,no"] Trunk encryption.
- * @apiParam (Body) {String="no"} [usereqphone="yes,no"] Trunk usereqphone.
- * @apiParam (Body) {String="no"} [canreinvite="yes,no"] Trunk can reinvite.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateTrunk
- * @apiGroup Trunks
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com"
- * "internal": 1001
- * "fullname": "John Doe"
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-
-/**
- * @api {delete} /api/trunks/ Bulk Delete trunks.
- *
- * @apiParam (Query) {Number[]} ids Trunks unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteTrunks
- * @apiGroup Trunks
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-
-/**
- * @api {delete} /api/trunks/:id Delete a trunk.
- *
- * @apiParam {Number} id Trunk unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteTrunk
- * @apiGroup Trunks
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0xb7c4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x74\x72\x75\x6E\x6B\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0xb7c4[0];var express=require(_0xb7c4[1]);var controller=require(_0xb7c4[2]);var config=require(_0xb7c4[3]);var auth=require(_0xb7c4[4]);var router=express.Router();router[_0xb7c4[10]](_0xb7c4[5],auth[_0xb7c4[6]](),auth[_0xb7c4[8]]([13,7,10],[_0xb7c4[7]]),controller[_0xb7c4[9]]);router[_0xb7c4[10]](_0xb7c4[11],auth[_0xb7c4[6]](),auth[_0xb7c4[8]]([13],[_0xb7c4[7]]),controller[_0xb7c4[12]]);router[_0xb7c4[14]](_0xb7c4[5],auth[_0xb7c4[6]](),auth[_0xb7c4[8]]([13],[_0xb7c4[7]]),controller[_0xb7c4[13]]);router[_0xb7c4[16]](_0xb7c4[11],auth[_0xb7c4[6]](),auth[_0xb7c4[8]]([13],[_0xb7c4[7]]),controller[_0xb7c4[15]]);router[_0xb7c4[18]](_0xb7c4[5],auth[_0xb7c4[6]](),auth[_0xb7c4[8]]([13],[_0xb7c4[7]]),controller[_0xb7c4[17]]);router[_0xb7c4[18]](_0xb7c4[11],auth[_0xb7c4[6]](),auth[_0xb7c4[8]]([13],[_0xb7c4[7]]),controller[_0xb7c4[19]]);module[_0xb7c4[20]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Trunk = require('../../models').Trunk;
-var VoiceExtension = require('../../models').VoiceExtension;
-var sequelize = require('../../models').sequelize;
-var util = require('util');
-var Util = require('../../config/util');
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return Trunk
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single trunk
-exports.show = function(req, res) {
- return Trunk
- .findById(req.params.id)
- .then(function(trunk) {
- if (!trunk) {
- return res.sendStatus(404);
- }
- return res.send(trunk);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new trunk in the DB.
-exports.create = function(req, res) {
- return Trunk
- .create(req.body)
- .then(function(trunk) {
- return res.status(201).send(trunk);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return Trunk
- .findById(req.params.id)
- .then(function(trunk) {
- if (!trunk) {
- return res.sendStatus(404);
- }
- var updated = _.merge(trunk, req.body);
- return updated
- .save();
- })
- .then(function(trunk) {
- return res.status(200).send(trunk);
- })
- .catch(function(err) {
- console.log('trunk update error', err);
- return handleError(res, err);
- });
-};
-
-// Deletes a trunk from the DB.
-exports.destroy = function(req, res) {
- return Trunk
- .findById(req.params.id)
- .then(function(trunk) {
- if (!trunk) {
- return res.sendStatus(404);
- }
- return trunk
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes multiple trunk from the DB.
-exports.bulkDestroy = function(req, res) {
- return Trunk
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x3ad1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x74\x72\x75\x6E\x6B\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72","\x6C\x6F\x67","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x3ad1[0];var _=require(_0x3ad1[1]);var Trunk=require(_0x3ad1[3])[_0x3ad1[2]];var VoiceExtension=require(_0x3ad1[3])[_0x3ad1[4]];var sequelize=require(_0x3ad1[3])[_0x3ad1[5]];var util=require(_0x3ad1[6]);var Util=require(_0x3ad1[7]);exports[_0x3ad1[8]]= function(_0x7ba0x7,_0x7ba0x8,_0x7ba0x9){return Trunk[_0x3ad1[15]](Util[_0x3ad1[14]](_0x7ba0x7[_0x3ad1[13]]))[_0x3ad1[12]](function(_0x7ba0xb){_0x7ba0x8[_0x3ad1[11]](200)[_0x3ad1[10]](_0x7ba0xb)})[_0x3ad1[9]](function(_0x7ba0xa){return handleError(_0x7ba0x8,_0x7ba0xa)})};exports[_0x3ad1[16]]= function(_0x7ba0x7,_0x7ba0x8){return Trunk[_0x3ad1[20]](_0x7ba0x7[_0x3ad1[19]][_0x3ad1[18]])[_0x3ad1[12]](function(_0x7ba0xc){if(!_0x7ba0xc){return _0x7ba0x8[_0x3ad1[17]](404)};return _0x7ba0x8[_0x3ad1[10]](_0x7ba0xc)})[_0x3ad1[9]](function(_0x7ba0xa){return handleError(_0x7ba0x8,_0x7ba0xa)})};exports[_0x3ad1[21]]= function(_0x7ba0x7,_0x7ba0x8){return Trunk[_0x3ad1[21]](_0x7ba0x7[_0x3ad1[22]])[_0x3ad1[12]](function(_0x7ba0xc){return _0x7ba0x8[_0x3ad1[11]](201)[_0x3ad1[10]](_0x7ba0xc)})[_0x3ad1[9]](function(_0x7ba0xa){return handleError(_0x7ba0x8,_0x7ba0xa)})};exports[_0x3ad1[23]]= function(_0x7ba0x7,_0x7ba0x8){if(_0x7ba0x7[_0x3ad1[22]][_0x3ad1[18]]){delete _0x7ba0x7[_0x3ad1[22]][_0x3ad1[18]]};return Trunk[_0x3ad1[20]](_0x7ba0x7[_0x3ad1[19]][_0x3ad1[18]])[_0x3ad1[12]](function(_0x7ba0xc){if(!_0x7ba0xc){return _0x7ba0x8[_0x3ad1[17]](404)};var _0x7ba0xd=_[_0x3ad1[26]](_0x7ba0xc,_0x7ba0x7[_0x3ad1[22]]);return _0x7ba0xd[_0x3ad1[27]]()})[_0x3ad1[12]](function(_0x7ba0xc){return _0x7ba0x8[_0x3ad1[11]](200)[_0x3ad1[10]](_0x7ba0xc)})[_0x3ad1[9]](function(_0x7ba0xa){console[_0x3ad1[25]](_0x3ad1[24],_0x7ba0xa);return handleError(_0x7ba0x8,_0x7ba0xa)})};exports[_0x3ad1[28]]= function(_0x7ba0x7,_0x7ba0x8){return Trunk[_0x3ad1[20]](_0x7ba0x7[_0x3ad1[19]][_0x3ad1[18]])[_0x3ad1[12]](function(_0x7ba0xc){if(!_0x7ba0xc){return _0x7ba0x8[_0x3ad1[17]](404)};return _0x7ba0xc[_0x3ad1[28]]()})[_0x3ad1[12]](function(){return _0x7ba0x8[_0x3ad1[17]](204)})[_0x3ad1[9]](function(_0x7ba0xa){return handleError(_0x7ba0x8,_0x7ba0xa)})};exports[_0x3ad1[29]]= function(_0x7ba0x7,_0x7ba0x8){return Trunk[_0x3ad1[28]]({where:{id:_0x7ba0x7[_0x3ad1[13]][_0x3ad1[30]]},individualHooks:true})[_0x3ad1[12]](function(){return _0x7ba0x8[_0x3ad1[17]](204)})[_0x3ad1[9]](function(_0x7ba0xa){return handleError(_0x7ba0x8,_0x7ba0xa)})};function handleError(_0x7ba0x8,_0x7ba0xa){return _0x7ba0x8[_0x3ad1[11]](500)[_0x3ad1[10]](_0x7ba0xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Trunk = require('../../models').Trunk;
-
-var TrunkEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-TrunkEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Trunk.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- TrunkEvents.emit(event + ':' + doc._id, doc);
- TrunkEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = TrunkEvents;
+var _0x1685=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1685[0];const EventEmitter=require(_0x1685[1]);const Trunk=require(_0x1685[3])[_0x1685[2]];var TrunkEvents= new EventEmitter();TrunkEvents[_0x1685[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x1685[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x1685[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x1685[7]};for(var e in events){var event=events[e];Trunk[_0x1685[8]](e,emitEvent(event))};function emitEvent(event){return function(_0xab74x8,_0xab74x9,_0xab74xa){TrunkEvents[_0x1685[11]](event+ _0x1685[9]+ _0xab74x8[_0x1685[10]],_0xab74x8);TrunkEvents[_0x1685[11]](event,_0xab74x8);_0xab74xa(null)}}module[_0x1685[12]]= TrunkEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const TrunkEvents = require('./trunk.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('trunk:' + event, socket);
-
- TrunkEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'trunk:save':
- socket.emit(event, doc);
- break;
- case 'trunk:update':
- if (socket.role !== 'trunk' && (doc.changed('status') || doc.changed('peerstatus'))) {
- socket.emit(event, doc);
- }
- break;
- case 'trunk:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- TrunkEvents.removeListener(event, listener);
- };
-}
+var _0x7a0e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x74\x72\x75\x6E\x6B\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x74\x72\x75\x6E\x6B\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x74\x72\x75\x6E\x6B\x3A\x73\x61\x76\x65","\x72\x6F\x6C\x65","\x74\x72\x75\x6E\x6B","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x70\x65\x65\x72\x73\x74\x61\x74\x75\x73","\x74\x72\x75\x6E\x6B\x3A\x75\x70\x64\x61\x74\x65","\x74\x72\x75\x6E\x6B\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7a0e[0];const TrunkEvents=require(_0x7a0e[1]);var events=[_0x7a0e[2],_0x7a0e[3],_0x7a0e[4]];exports[_0x7a0e[5]]= function(_0xf3cax3){for(var _0xf3cax4=0,_0xf3cax5=events[_0x7a0e[6]];_0xf3cax4< _0xf3cax5;_0xf3cax4++){var _0xf3cax6=events[_0xf3cax4];var _0xf3cax7=createListener(_0x7a0e[7]+ _0xf3cax6,_0xf3cax3);TrunkEvents[_0x7a0e[8]](_0xf3cax6,_0xf3cax7);_0xf3cax3[_0x7a0e[8]](_0x7a0e[9],removeListener(_0xf3cax6,_0xf3cax7))}};function createListener(_0xf3cax6,_0xf3cax3){return function(_0xf3cax9){switch(_0xf3cax6){case _0x7a0e[11]:_0xf3cax3[_0x7a0e[10]](_0xf3cax6,_0xf3cax9);break;case _0x7a0e[17]:if(_0xf3cax3[_0x7a0e[12]]!== _0x7a0e[13]&& (_0xf3cax9[_0x7a0e[15]](_0x7a0e[14])|| _0xf3cax9[_0x7a0e[15]](_0x7a0e[16]))){_0xf3cax3[_0x7a0e[10]](_0xf3cax6,_0xf3cax9)};break;case _0x7a0e[18]:_0xf3cax3[_0x7a0e[10]](_0xf3cax6,_0xf3cax9);break;default:}}}function removeListener(_0xf3cax6,_0xf3cax7){return function(){TrunkEvents[_0x7a0e[19]](_0xf3cax6,_0xf3cax7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./update.controller');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasRole('admin'), license.hasUpdate(), controller.index);
-router.get('/pull', auth.isAuthenticated(), auth.hasRole('admin'), license.hasUpdate(), controller.pull);
-
-module.exports = router;
+var _0xd8de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x70\x64\x61\x74\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\x68\x61\x73\x55\x70\x64\x61\x74\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x70\x75\x6C\x6C","\x70\x75\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0xd8de[0];var express=require(_0xd8de[1]);var controller=require(_0xd8de[2]);var auth=require(_0xd8de[3]);var license=require(_0xd8de[4]);var router=express.Router();router[_0xd8de[11]](_0xd8de[5],auth[_0xd8de[6]](),auth[_0xd8de[8]](_0xd8de[7]),license[_0xd8de[9]](),controller[_0xd8de[10]]);router[_0xd8de[11]](_0xd8de[12],auth[_0xd8de[6]](),auth[_0xd8de[8]](_0xd8de[7]),license[_0xd8de[9]](),controller[_0xd8de[13]]);module[_0xd8de[14]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var path = require('path');
-var moment = require('moment');
-var config = require('../../config/environment');
-
-var Git = require('simple-git')(path.join(config.root));
-
-// Get list of updates
-exports.index = function(req, res) {
- return Git
- .log(function(err, logs) {
- if (err) {
- return handleError(res, err);
- }
-
- var rows = [];
- for (var i = 0; i < 10 && i < logs.all.length; i++) {
- rows.push({
- version: logs.all[i].message.split('|')[1] || 'unknown',
- message: logs.all[i].message.split('|')[0],
- createdAt: moment(logs.all[i].date).format("YYYY-MM-DD HH:mm:ss")
- });
- }
-
- return res.status(200).send({
- rows: rows,
- count: rows.length
- });
- });
-};
-
-// Get a single update
-exports.pull = function(req, res) {
- Git
- .pull('origin', 'master', function(err, data) {
- if (err) {
- console.error('err', err);
- }
- });
-
- return res.sendStatus(200).send();
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x3a87=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x6F\x6F\x74","\x6A\x6F\x69\x6E","\x73\x69\x6D\x70\x6C\x65\x2D\x67\x69\x74","\x69\x6E\x64\x65\x78","\x6C\x65\x6E\x67\x74\x68","\x61\x6C\x6C","\x7C","\x73\x70\x6C\x69\x74","\x6D\x65\x73\x73\x61\x67\x65","\x75\x6E\x6B\x6E\x6F\x77\x6E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x64\x61\x74\x65","\x70\x75\x73\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6C\x6F\x67","\x70\x75\x6C\x6C","\x6F\x72\x69\x67\x69\x6E","\x6D\x61\x73\x74\x65\x72","\x65\x72\x72","\x65\x72\x72\x6F\x72","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73"];_0x3a87[0];var _=require(_0x3a87[1]);var path=require(_0x3a87[2]);var moment=require(_0x3a87[3]);var config=require(_0x3a87[4]);var Git=require(_0x3a87[7])(path[_0x3a87[6]](config[_0x3a87[5]]));exports[_0x3a87[8]]= function(_0xad9ex6,_0xad9ex7){return Git[_0x3a87[21]](function(_0xad9ex8,_0xad9ex9){if(_0xad9ex8){return handleError(_0xad9ex7,_0xad9ex8)};var _0xad9exa=[];for(var _0xad9exb=0;_0xad9exb< 10&& _0xad9exb< _0xad9ex9[_0x3a87[10]][_0x3a87[9]];_0xad9exb++){_0xad9exa[_0x3a87[18]]({version:_0xad9ex9[_0x3a87[10]][_0xad9exb][_0x3a87[13]][_0x3a87[12]](_0x3a87[11])[1]|| _0x3a87[14],message:_0xad9ex9[_0x3a87[10]][_0xad9exb][_0x3a87[13]][_0x3a87[12]](_0x3a87[11])[0],createdAt:moment(_0xad9ex9[_0x3a87[10]][_0xad9exb][_0x3a87[17]])[_0x3a87[16]](_0x3a87[15])})};return _0xad9ex7[_0x3a87[20]](200)[_0x3a87[19]]({rows:_0xad9exa,count:_0xad9exa[_0x3a87[9]]})})};exports[_0x3a87[22]]= function(_0xad9ex6,_0xad9ex7){Git[_0x3a87[22]](_0x3a87[23],_0x3a87[24],function(_0xad9ex8,_0xad9exc){if(_0xad9ex8){console[_0x3a87[26]](_0x3a87[25],_0xad9ex8)}});return _0xad9ex7[_0x3a87[27]](200)[_0x3a87[19]]()};function handleError(_0xad9ex7,_0xad9ex8){return _0xad9ex7[_0x3a87[20]](500)[_0x3a87[19]](_0xad9ex8)}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user.controller');
-var config = require('../../config/environment');
-var auth = require('../../auth/auth.service');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-/**
- * @api {get} /api/users/ Get users' profile.
- *
- * @api {get} /api/agents/ Get users' profile.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetUsers
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of users.
- * @apiSuccess {Object[]} rows Get list of user profiles.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 1,
- * "rows": [{
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com"
- * "internal": 1001
- * "fullname": "John Doe"
- * ...
- * }]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin', 'user', 'agent']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([17], ['admin']), controller.describe);
-
-router.get('/me', auth.isAuthenticated(), controller.me);
-router.get('/all', auth.isAuthenticated(), controller.getUsers);
-router.get('/avatar/:filename', controller.getAvatar);
-/**
- * @api {get} /api/users/:id Get user's profile.
- * @apiParam {Number} id User's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetUser
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com"
- * "internal": 1001
- * "fullname": "John Doe"
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([], ['admin', 'user']), controller.show);
-router.get('/:id/avatar', auth.isAuthenticated(), controller.getAvatarById);
-router.get('/:id/allowed/modules', auth.isAuthenticated(), auth.hasRole('admin'), controller.getAllowedModules);
-router.get('/:id/allowed/:channel/queues', auth.isAuthenticated(), auth.hasRole('admin'), controller.getAllowedQueues);
-
-/**
- * @api {post} /api/users/ Create user's profile.
- * @apiParam (Body) {String} name User's username.
- * @apiParam (Body) {String} fullname User's fullname.
- * @apiParam (Body) {String} email User's email.
- * @apiParam (Body) {String} context="from-sip" User's SIP context.
- * @apiParam (Body) {String} password User's password.
- * @apiParam (Body) {Number} internal User's internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" User's SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" User's SIP codecs.
- * @apiParam (Body) {Number} internal User's internal number.
- * @apiParam (Body) {String} [phone] User's phone.
- * @apiParam (Body) {String} [mobile] User's mobile phone.
- * @apiParam (Body) {String} [address] User's address.
- * @apiParam (Body) {String} [zipcode] User's zipcode.
- * @apiParam (Body) {String} [city] User's city.
- * @apiParam (Body) {String} [country] User's country.
- *
- * @apiVersion 0.0.140
- * @apiName CreateUser
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com"
- * "internal": 1001
- * "fullname": "John Doe"
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), license.isValidDate(), license.isUsersLimit(), auth.hasRole('admin'), controller.create);
-router.post('/:id/allowed/modules', auth.isAuthenticated(), auth.hasRole('admin'), controller.setAllowedModules);
-router.post('/:id/allowed/:channel/queues', auth.isAuthenticated(), auth.hasRole('admin'), controller.addAllowedQueues);
-/**
- * @api {put} /api/users/password Update user's password.
- *
- * @apiParam (Body) {String} oldPassword Old user's password.
- * @apiParam (Body) {String} newPassword New user's password.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateUserPassword
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- */
-router.put('/password', auth.isAuthenticated(), controller.changePassword);
-/**
- * @api {update} /api/users/:id Update user's profile.
- *
- * @apiParam (Params) {Number} id User's unique ID.
- * @apiParam (Body) {String} fullname User's fullname.
- * @apiParam (Body) {String} email User's email.
- * @apiParam (Body) {String} context="from-sip" User's SIP context.
- * @apiParam (Body) {String} password User's password.
- * @apiParam (Body) {Number} internal User's internal number.
- * @apiParam (Body) {String="tcp", "udp", "tcp,udp"} transport="udp" User's SIP transport.
- * @apiParam (Body) {String="alaw", "ulaw", "gsm"} allow="alaw;ulaw;gsm" User's SIP codecs.
- * @apiParam (Body) {Number} internal User's internal number.
- * @apiParam (Body) {String} [phone] User's phone.
- * @apiParam (Body) {String} [mobile] User's mobile phone.
- * @apiParam (Body) {String} [address] User's address.
- * @apiParam (Body) {String} [zipcode] User's zipcode.
- * @apiParam (Body) {String} [city] User's city.
- * @apiParam (Body) {String} [country] User's country.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateUser
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "john.doe"
- * "email": "john.doe@xcally.com"
- * "internal": 1001
- * "fullname": "John Doe"
- * ...
- * }
- */
-
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([], ['admin', 'user', 'agent']), controller.update);
-
-/**
- * @api {delete} /api/users/ Bulk Delete users' profile.
- *
- * @apiParam (Query) {Number[]} ids Users' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteUsers
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasRole('admin'), controller.bulkDestroy);
-
-/**
- * @api {delete} /api/users/:id Delete user's profile.
- *
- * @apiParam {Number} id User's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteUser
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasRole('admin'), controller.destroy);
-router.delete('/:id/allowed/:channel/queues', auth.isAuthenticated(), auth.hasRole('admin'), controller.removeAllowedQueues);
-
-
-/**
- * @api {put} /api/users/:id/password Reset user's password.
- *
- * @apiParam (Params) {Number} id User's unique ID.
- * @apiParam (Body) {String} newPassword New user's password.
- *
- * @apiPermission admin
- *
- * @apiVersion 0.0.140
- * @apiName ResetUserPassword
- * @apiGroup Users
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- */
-router.put('/:id/password', auth.isAuthenticated(), auth.hasRole('admin'), controller.resetPassword);
-router.post('/validate/:field', auth.isAuthenticated(), auth.hasRole('admin'), controller.userValidation);
-router.post('/:id/avatar', auth.isAuthenticated(), auth.hasRole('admin'), controller.changeAvatar);
-
-module.exports = router;
+var _0x9bf8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x6D\x65","\x6D\x65","\x2F\x61\x6C\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x2F\x61\x76\x61\x74\x61\x72\x2F\x3A\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x61\x76\x61\x74\x61\x72","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x2F\x3A\x69\x64\x2F\x61\x6C\x6C\x6F\x77\x65\x64\x2F\x6D\x6F\x64\x75\x6C\x65\x73","\x68\x61\x73\x52\x6F\x6C\x65","\x67\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x4D\x6F\x64\x75\x6C\x65\x73","\x2F\x3A\x69\x64\x2F\x61\x6C\x6C\x6F\x77\x65\x64\x2F\x3A\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x71\x75\x65\x75\x65\x73","\x67\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x55\x73\x65\x72\x73\x4C\x69\x6D\x69\x74","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x4D\x6F\x64\x75\x6C\x65\x73","\x61\x64\x64\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x2F\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x70\x75\x74","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x2F\x3A\x69\x64\x2F\x70\x61\x73\x73\x77\x6F\x72\x64","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x65\x78\x70\x6F\x72\x74\x73"];_0x9bf8[0];var express=require(_0x9bf8[1]);var controller=require(_0x9bf8[2]);var config=require(_0x9bf8[3]);var auth=require(_0x9bf8[4]);var license=require(_0x9bf8[5]);var router=express.Router();router[_0x9bf8[13]](_0x9bf8[6],auth[_0x9bf8[7]](),auth[_0x9bf8[11]]([7],[_0x9bf8[8],_0x9bf8[9],_0x9bf8[10]]),controller[_0x9bf8[12]]);router[_0x9bf8[13]](_0x9bf8[14],auth[_0x9bf8[7]](),auth[_0x9bf8[11]]([17],[_0x9bf8[8]]),controller[_0x9bf8[15]]);router[_0x9bf8[13]](_0x9bf8[16],auth[_0x9bf8[7]](),controller[_0x9bf8[17]]);router[_0x9bf8[13]](_0x9bf8[18],auth[_0x9bf8[7]](),controller[_0x9bf8[19]]);router[_0x9bf8[13]](_0x9bf8[20],controller[_0x9bf8[21]]);router[_0x9bf8[13]](_0x9bf8[22],auth[_0x9bf8[7]](),auth[_0x9bf8[11]]([],[_0x9bf8[8],_0x9bf8[9]]),controller[_0x9bf8[23]]);router[_0x9bf8[13]](_0x9bf8[24],auth[_0x9bf8[7]](),controller[_0x9bf8[25]]);router[_0x9bf8[13]](_0x9bf8[26],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[28]]);router[_0x9bf8[13]](_0x9bf8[29],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[30]]);router[_0x9bf8[34]](_0x9bf8[6],auth[_0x9bf8[7]](),license[_0x9bf8[31]](),license[_0x9bf8[32]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[33]]);router[_0x9bf8[34]](_0x9bf8[26],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[35]]);router[_0x9bf8[34]](_0x9bf8[29],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[36]]);router[_0x9bf8[39]](_0x9bf8[37],auth[_0x9bf8[7]](),controller[_0x9bf8[38]]);router[_0x9bf8[39]](_0x9bf8[22],auth[_0x9bf8[7]](),auth[_0x9bf8[11]]([],[_0x9bf8[8],_0x9bf8[9],_0x9bf8[10]]),controller[_0x9bf8[40]]);router[_0x9bf8[42]](_0x9bf8[6],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[41]]);router[_0x9bf8[42]](_0x9bf8[22],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[43]]);router[_0x9bf8[42]](_0x9bf8[29],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[44]]);router[_0x9bf8[39]](_0x9bf8[45],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[46]]);router[_0x9bf8[34]](_0x9bf8[47],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[48]]);router[_0x9bf8[34]](_0x9bf8[24],auth[_0x9bf8[7]](),auth[_0x9bf8[27]](_0x9bf8[8]),controller[_0x9bf8[49]]);module[_0x9bf8[50]]= router
\ No newline at end of file
-'use strict';
-
-var User = require('../../models').User;
-var Module = require('../../models').Module;
-var Setting = require('../../models').Setting;
-var VoiceQueue = require('../../models').VoiceQueue;
-var ChatQueue = require('../../models').ChatQueue;
-var MailQueue = require('../../models').MailQueue;
-var FaxQueue = require('../../models').FaxQueue;
-var SmsQueue = require('../../models').SmsQueue;
-var sequelize = require('../../models').sequelize;
-
-var config = require('../../config/environment');
-var Util = require('../../config/util');
-
-var passport = require('passport');
-var moment = require('moment');
-var jwt = require('jsonwebtoken');
-var uploadFile = require('upload-file');
-var path = require('path');
-var fs = require('fs');
-var _ = require('lodash');
-var util = require('util');
-var sr = require('simple-random');
-
-/**
- * Get list of admin/user
- */
-exports.index = function(req, res, next) {
- return User
- .scope('user')
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get list of fields
-exports.describe = function(req, res) {
- return User
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-/**
- * Get list of admin/user/agent/telephone
- */
-exports.getUsers = function(req, res, next) {
- return User
- .findAll()
- .then(function(users) {
- return res.status(200).send({
- rows: users
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Get list of allowed modules
- */
-exports.getAllowedModules = function(req, res, next) {
- return User
- .findById(req.params.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(404);
- }
-
- return user.getModules();
- })
- .then(function(modules) {
- return res.status(200).send(modules);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Creates a new user
- */
-exports.create = function(req, res, next) {
-
- // Set default role
- req.body.role = req.body.role || 'user';
- var password = String(req.body.password);
- if (!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/.test(password))) {
- throw new Error('Wrong password format!');
- }
-
- return sequelize.transaction(function(t) {
- return User
- .create(req.body, {
- transaction: t
- })
- .then(function(user) {
- return res.status(201).send(user);
- })
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- return Util.errorManager.handleUniqueConstraintError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.setAllowedModules = function(req, res, next) {
- return sequelize.transaction(function(t) {
- return User
- .findById(req.params.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(404);
- }
- return user.setModules(req.body.modules);
- })
- .then(function() {
- return res.sendStatus(201);
- })
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-/**
- * Get a single user
- */
-exports.show = function(req, res, next) {
- return User
- .findById(req.params.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(404);
- }
-
- return res.status(200).send(user);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Deletes a user
- */
-exports.destroy = function(req, res, next) {
- var userId = req.params.id;
- var _user;
-
- return User
- .findById(userId)
- .then(function(user) {
- _user = user;
- if (!user) {
- return res.sendStatus(404);
- }
- return user
- .destroy();
- })
- .then(function(user) {
- return res.status(200).send(user);
- })
- .catch(sequelize.ForeignKeyConstraintError, function(err) {
- return Util.errorManager.handleForeignKeyConstraintError(res, 'user', _user.name, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a user from the DB.
-exports.bulkDestroy = function(req, res) {
- return User
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Change a user password
- */
-exports.changePassword = function(req, res, next) {
- var userId = req.user.id;
- var oldPass = String(req.body.oldPassword);
- var newPass = String(req.body.newPassword);
- if (!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/.test(newPass))) {
- throw new Error('Wrong password format!');
- }
- return sequelize.transaction(function(t) {
- return User
- .findById(userId)
- .then(function(user) {
- if (!user.authenticate(oldPass)) {
- return res.sendStatus(403);
- } else {
- user.password = newPass;
- return user.save({
- transaction: t
- }).then(function() {
- return res.sendStatus(200);
- })
- }
- })
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-/**
- * Change a user password by admin
- */
-exports.resetPassword = function(req, res, next) {
- var _setting;
-
- var userId = req.params.id;
- var newPass = String(req.body.newPassword);
-
- return sequelize.transaction(function(t) {
- return Setting
- .findById(1)
- .then(function(setting) {
- _setting = setting;
-
- return User
- .findById(userId);
- })
- .then(function(user) {
- var regEx = _setting.securePassword ? /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/ : /^[a-zA-Z0-9]{6,}$/;
-
- if (!regEx.test(newPass)) {
- throw new Error('Invalid password pattern');
- }
-
- user.password = newPass;
- return user
- .save({
- transaction: t
- });
- })
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-/**
- * Change the avatar of the user
- */
-exports.changeAvatar = function(req, res, next) {
-
- var upload = new uploadFile({
- dest: path.join(config.root, 'server', 'files', 'images'),
- maxNumberOfFiles: 1,
- minNumberOfFiles: 0,
- acceptFileTypes: /(\.|\/)(jpeg|png)$/i,
- rename: function(name, file) {
- return sr() + path.extname(file.filename);
- },
- messages: {
- maxNumberOfFiles: "Max number of files upload exceeded",
- acceptFileTypes: "Only jpeg and png format accepted",
- invalidRequest: "Invalid request"
- }
- });
-
- upload.on('end', function(fields, files) {
- if (!files.file.filename) {
- return res.status(500).send(upload);
- }
- return sequelize.transaction(function(t) {
- return User
- .findById(req.params.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(404);
- }
-
- return user
- .update({
- userpic: files.file.filename
- }, {
- transaction: t
- });
- })
- .then(function(user) {
- return res.status(200).send(user);
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- });
-
- upload.on('error', function(err) {
- console.log('********** Upload error :', err)
- return handleError(res, err);
- });
-
- upload.parse(req);
-};
-
-
-/**
- * Get my info
- */
-exports.me = function(req, res, next) {
- var userId = req.user.id;
-
- return User
- .findOne({
- where: {
- id: userId
- },
- attributes: ['id', 'fullname', 'name', 'email', 'role', 'userpic', 'lastLoginAt', 'voicePause',
- 'mailPause',
- 'chatPause',
- 'faxPause',
- 'smsPause',
- 'openchannelPause',
- 'lastPauseAt',
- 'pauseType',
- 'phoneBarRemoteControl',
- 'phoneBarRemoteControlPort'
- ],
- include: [Module, {
- model: VoiceQueue,
- as: 'PVoiceQueues'
- }, {
- model: ChatQueue,
- as: 'PChatQueues'
- }, {
- model: MailQueue,
- as: 'PMailQueues'
- }, {
- model: FaxQueue,
- as: 'PFaxQueues'
- }, {
- model: SmsQueue,
- as: 'PSmsQueues'
- }]
- })
- .then(function(user) {
- if (!user) {
- return res.sendStatus(401);
- }
- return res.status(200).send(user);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Update my user
- */
-exports.update = function(req, res, next) {
- var userId = req.user.id;
-
- delete req.body.password;
- delete req.body.name;
-
- return sequelize.transaction(function(t) {
- return User
- .findById(req.params.id)
- .then(function(user) {
- if (!user) {
- return res.sendStatus(500);
- }
- return user
- .update(req.body, {
- transaction: t
- });
- })
- .then(function(user) {
- return res.status(200).send(user);
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-/**
- * Get my avatar
- */
-exports.getAvatar = function(req, res, next) {
- var imgPath = path.join(config.root, 'server', 'files', 'images', req.params.filename);
-
- fs.exists(imgPath, function(exists) {
- if (!exists) {
- imgPath = path.join(config.root, 'server', 'files', 'images', 'userpic.png');
- }
-
- return res.sendFile(imgPath);
- });
-};
-
-/**
- * Get my avatar by id
- */
-exports.getAvatarById = function(req, res, next) {
- if (req.params.id === 'visitor') {
- var imgPath = path.join(config.root, 'server', 'files', 'images', 'customer.png');
-
- fs.exists(imgPath, function(exists) {
- return res.sendFile(imgPath);
- });
-
- } else {
- return User
- .findById(req.params.id)
- .then(function(user) {
- if (user) {
- var imgPath = path.join(config.root, 'server', 'files', 'images', user.userpic ? user.userpic : 'userpic.png');
-
- fs.exists(imgPath, function(exists) {
- if (!exists) {
- imgPath = path.join(config.root, 'server', 'files', 'images', 'userpic.png');
- }
-
- return res.sendFile(imgPath);
- });
- } else {
- return res.sendStatus(500);
- }
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- }
-};
-
-/**
- * Get my avatar by id
- */
-// exports.getAllowedQueues = function(req, res, next) {
-// var _user;
-// var _permits = {
-// voice: [],
-// chat: [],
-// mail: [],
-// fax: [],
-// sms: []
-// };
-//
-// return User
-// .findById(req.params.id, {
-// attributes: ['id']
-// })
-// .then(function(user) {
-// _user = user;
-// if (!_user) {
-// return res.sendStatus(401);
-// }
-//
-// return _user
-// .getPVoiceQueues({
-// attributes: ['name']
-// });
-// })
-// .then(function(queues) {
-// _permits.voice = _permits.voice.concat(_.map(queues, 'name'));
-// })
-// .then(function() {
-// return _user
-// .getPChatQueues({
-// attributes: ['name']
-// });
-// })
-// .then(function(queues) {
-// _permits.chat = _permits.chat.concat(_.map(queues, 'name'));
-// })
-// .then(function() {
-// return _user
-// .getPMailQueues({
-// attributes: ['name']
-// });
-// })
-// .then(function(queues) {
-// _permits.mail = _permits.mail.concat(_.map(queues, 'name'));
-// })
-// .then(function() {
-// return _user
-// .getPFaxQueues({
-// attributes: ['name']
-// });
-// })
-// .then(function(queues) {
-// _permits.fax = _permits.fax.concat(_.map(queues, 'name'));
-// })
-// // .then(function() {
-// // return _user
-// // .getPSmsQueues({
-// // attributes: ['name']
-// // });
-// // })
-// // .then(function(queues) {
-// // _permits.sms = _permits.sms.concat(_.map(queues, 'name'));
-// // })
-// .then(function() {
-// return res.status(200).send(_permits);
-// })
-// .catch(function(err) {
-// console.error(err);
-// return handleError(res, err);
-// });
-// };
-
-exports.getAllowedQueues = function(req, res, next) {
- var _user;
-
- return User
- .findById(req.params.id, {
- attributes: ['id']
- })
- .then(function(user) {
- _user = user;
- if (!_user) {
- return res.sendStatus(401);
- }
-
- switch (req.params.channel) {
- case 'voice':
- return _user
- .getPVoiceQueues({
- attributes: ['name']
- });
- case 'chat':
- return _user
- .getPChatQueues({
- attributes: ['id', 'name']
- });
- case 'mail':
- return _user
- .getPMailQueues({
- attributes: ['id', 'name']
- });
- case 'fax':
- return _user
- .getPFaxQueues({
- attributes: ['id', 'name']
- });
- case 'sms':
- return _user
- .getPSmsQueues({
- attributes: ['id', 'name']
- });
- case 'openchannel':
- return _user
- .getPOpenchannelQueues({
- attributes: ['id', 'name']
- });
- default:
- throw new Error('The channel does not exist');
- }
- })
- .then(function(queues) {
- if (queues) {
- return res.status(200).send(_.map(queues, function(queue) {
- var _data = {
- name: queue.name
- };
-
- if (queue.id) {
- _data.id = queue.id;
- }
-
- return _data;
- }));
- }
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-exports.addAllowedQueues = function(req, res, next) {
- var _user;
-
- return User
- .findById(req.params.id, {
- attributes: ['id']
- })
- .then(function(user) {
- _user = user;
- if (!_user) {
- return res.sendStatus(401);
- }
-
- switch (req.params.channel) {
- case 'voice':
- return _user
- .addPVoiceQueues(req.body);
- case 'chat':
- return _user
- .addPChatQueues(req.body);
- case 'mail':
- return _user
- .addPMailQueues(req.body);
- case 'fax':
- return _user
- .addPFaxQueues(req.body);
- case 'sms':
- return _user
- .addPSmsQueues(req.body);
- case 'openchannel':
- return _user
- .addPOpenchannelQueues(req.body);
- default:
- return null;
- }
- })
- .then(function(queues) {
- return res.sendStatus(queues ? 200 : 401);
- })
- .catch(function(err) {
- console.error(err);
- });
-};
-
-exports.removeAllowedQueues = function(req, res, next) {
- var _user;
-
- return User
- .findById(req.params.id, {
- attributes: ['id']
- })
- .then(function(user) {
- _user = user;
- if (!_user) {
- return res.sendStatus(401);
- }
-
- switch (req.params.channel) {
- case 'voice':
- return _user
- .removePVoiceQueues(req.query.ids);
- case 'chat':
- return _user
- .removePChatQueues(req.query.ids);
- case 'mail':
- return _user
- .removePMailQueues(req.query.ids);
- case 'sms':
- return _user
- .removePSmsQueues(req.query.ids);
- case 'fax':
- return _user
- .removePFaxQueues(req.query.ids);
- case 'openchannel':
- return _user
- .removePOpenchannelQueues(req.query.ids);
- default:
- return null;
- }
- })
- .then(function(queues) {
- return res.sendStatus(queues ? 200 : 401);
- })
- .catch(function(err) {
- console.error(err);
- });
-};
-
-exports.userValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
-
- return User
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-/**
- * Authentication callback
- */
-exports.authCallback = function(req, res, next) {
- res.redirect('/');
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x4d73=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x6F\x64\x75\x6C\x65","\x53\x65\x74\x74\x69\x6E\x67","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x61\x78\x51\x75\x65\x75\x65","\x53\x6D\x73\x51\x75\x65\x75\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x70\x61\x73\x73\x70\x6F\x72\x74","\x6D\x6F\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x70\x61\x74\x68","\x66\x73","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x75\x73\x65\x72","\x73\x63\x6F\x70\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x67\x65\x74\x55\x73\x65\x72\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x4D\x6F\x64\x75\x6C\x65\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x67\x65\x74\x4D\x6F\x64\x75\x6C\x65\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6C\x65","\x62\x6F\x64\x79","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x65\x73\x74","\x57\x72\x6F\x6E\x67\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x6F\x72\x6D\x61\x74\x21","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x4D\x6F\x64\x75\x6C\x65\x73","\x6C\x6F\x67","\x6D\x6F\x64\x75\x6C\x65\x73","\x73\x65\x74\x4D\x6F\x64\x75\x6C\x65\x73","\x73\x68\x6F\x77","\x64\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x61\x76\x65","\x73\x65\x63\x75\x72\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x65\x72\x72\x6F\x72","\x49\x6E\x76\x61\x6C\x69\x64\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x70\x61\x74\x74\x65\x72\x6E","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x6A\x70\x65\x67\x20\x61\x6E\x64\x20\x70\x6E\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x75\x70\x64\x61\x74\x65","\x6F\x6E","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x75\x73\x65\x72\x70\x69\x63","\x6C\x61\x73\x74\x4C\x6F\x67\x69\x6E\x41\x74","\x76\x6F\x69\x63\x65\x50\x61\x75\x73\x65","\x6D\x61\x69\x6C\x50\x61\x75\x73\x65","\x63\x68\x61\x74\x50\x61\x75\x73\x65","\x66\x61\x78\x50\x61\x75\x73\x65","\x73\x6D\x73\x50\x61\x75\x73\x65","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x50\x61\x75\x73\x65","\x6C\x61\x73\x74\x50\x61\x75\x73\x65\x41\x74","\x70\x61\x75\x73\x65\x54\x79\x70\x65","\x70\x68\x6F\x6E\x65\x42\x61\x72\x52\x65\x6D\x6F\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C","\x70\x68\x6F\x6E\x65\x42\x61\x72\x52\x65\x6D\x6F\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C\x50\x6F\x72\x74","\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x75\x73\x65\x72\x70\x69\x63\x2E\x70\x6E\x67","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x65\x78\x69\x73\x74\x73","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x76\x69\x73\x69\x74\x6F\x72","\x63\x75\x73\x74\x6F\x6D\x65\x72\x2E\x70\x6E\x67","\x67\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x6D\x61\x70","\x67\x65\x74\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x76\x6F\x69\x63\x65","\x67\x65\x74\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x63\x68\x61\x74","\x67\x65\x74\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x6D\x61\x69\x6C","\x67\x65\x74\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x66\x61\x78","\x67\x65\x74\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x73\x6D\x73","\x67\x65\x74\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x54\x68\x65\x20\x63\x68\x61\x6E\x6E\x65\x6C\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74","\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x64\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74"];_0x4d73[0];var User=require(_0x4d73[2])[_0x4d73[1]];var Module=require(_0x4d73[2])[_0x4d73[3]];var Setting=require(_0x4d73[2])[_0x4d73[4]];var VoiceQueue=require(_0x4d73[2])[_0x4d73[5]];var ChatQueue=require(_0x4d73[2])[_0x4d73[6]];var MailQueue=require(_0x4d73[2])[_0x4d73[7]];var FaxQueue=require(_0x4d73[2])[_0x4d73[8]];var SmsQueue=require(_0x4d73[2])[_0x4d73[9]];var sequelize=require(_0x4d73[2])[_0x4d73[10]];var config=require(_0x4d73[11]);var Util=require(_0x4d73[12]);var passport=require(_0x4d73[13]);var moment=require(_0x4d73[14]);var jwt=require(_0x4d73[15]);var uploadFile=require(_0x4d73[16]);var path=require(_0x4d73[17]);var fs=require(_0x4d73[18]);var _=require(_0x4d73[19]);var util=require(_0x4d73[20]);var sr=require(_0x4d73[21]);exports[_0x4d73[22]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){return User[_0x4d73[31]](_0x4d73[30])[_0x4d73[29]](Util[_0x4d73[28]](_0xbc95x15[_0x4d73[27]]))[_0x4d73[26]](function(_0xbc95x19){_0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x19)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[32]]= function(_0xbc95x15,_0xbc95x16){return User[_0x4d73[32]]()[_0x4d73[26]](function(_0xbc95x1a){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1a)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};function handleError(_0xbc95x16,_0xbc95x18){return _0xbc95x16[_0x4d73[25]](500)[_0x4d73[24]](_0xbc95x18)}exports[_0x4d73[33]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){return User[_0x4d73[34]]()[_0x4d73[26]](function(_0xbc95x1c){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]]({rows:_0xbc95x1c})})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[35]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]])[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](404)};return _0xbc95x1e[_0x4d73[37]]()})[_0x4d73[26]](function(_0xbc95x1d){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1d)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[41]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){_0xbc95x15[_0x4d73[43]][_0x4d73[42]]= _0xbc95x15[_0x4d73[43]][_0x4d73[42]]|| _0x4d73[30];var _0xbc95x1f=String(_0xbc95x15[_0x4d73[43]][_0x4d73[44]]);if(!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/[_0x4d73[45]](_0xbc95x1f))){throw new Error(_0x4d73[46])};return sequelize[_0x4d73[49]](function(_0xbc95x20){return User[_0x4d73[41]](_0xbc95x15[_0x4d73[43]],{transaction:_0xbc95x20})[_0x4d73[26]](function(_0xbc95x1e){return _0xbc95x16[_0x4d73[25]](201)[_0x4d73[24]](_0xbc95x1e)})})[_0x4d73[23]](sequelize.UniqueConstraintError,function(_0xbc95x18){return Util[_0x4d73[48]][_0x4d73[47]](_0xbc95x16,_0xbc95x18)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[50]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){return sequelize[_0x4d73[49]](function(_0xbc95x20){return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]])[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](404)};return _0xbc95x1e[_0x4d73[53]](_0xbc95x15[_0x4d73[43]][_0x4d73[52]])})[_0x4d73[26]](function(){return _0xbc95x16[_0x4d73[36]](201)})})[_0x4d73[23]](function(_0xbc95x18){console[_0x4d73[51]](_0xbc95x18);return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[54]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]])[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](404)};return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1e)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[55]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x21=_0xbc95x15[_0x4d73[39]][_0x4d73[38]];var _0xbc95x22;return User[_0x4d73[40]](_0xbc95x21)[_0x4d73[26]](function(_0xbc95x1e){_0xbc95x22= _0xbc95x1e;if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](404)};return _0xbc95x1e[_0x4d73[55]]()})[_0x4d73[26]](function(_0xbc95x1e){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1e)})[_0x4d73[23]](sequelize.ForeignKeyConstraintError,function(_0xbc95x18){return Util[_0x4d73[48]][_0x4d73[57]](_0xbc95x16,_0x4d73[30],_0xbc95x22[_0x4d73[56]],_0xbc95x18)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[58]]= function(_0xbc95x15,_0xbc95x16){return User[_0x4d73[55]]({where:{id:_0xbc95x15[_0x4d73[27]][_0x4d73[59]]},individualHooks:true})[_0x4d73[26]](function(){return _0xbc95x16[_0x4d73[36]](204)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[60]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x21=_0xbc95x15[_0x4d73[30]][_0x4d73[38]];var _0xbc95x23=String(_0xbc95x15[_0x4d73[43]][_0x4d73[61]]);var _0xbc95x24=String(_0xbc95x15[_0x4d73[43]][_0x4d73[62]]);return sequelize[_0x4d73[49]](function(_0xbc95x20){return Setting[_0x4d73[40]](1)[_0x4d73[26]](function(_0xbc95x25){if(_0xbc95x25[_0x4d73[65]]&& !(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/[_0x4d73[45]](_0xbc95x24))){throw new Error(_0x4d73[46])};return User[_0x4d73[40]](_0xbc95x21)})[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e[_0x4d73[63]](_0xbc95x23)){return _0xbc95x16[_0x4d73[36]](403)}else {_0xbc95x1e[_0x4d73[44]]= _0xbc95x24;return _0xbc95x1e[_0x4d73[64]]({transaction:_0xbc95x20})[_0x4d73[26]](function(){return _0xbc95x16[_0x4d73[36]](200)})}})})[_0x4d73[23]](function(_0xbc95x18){console[_0x4d73[51]](_0xbc95x18);return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[66]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x26;var _0xbc95x21=_0xbc95x15[_0x4d73[39]][_0x4d73[38]];var _0xbc95x24=String(_0xbc95x15[_0x4d73[43]][_0x4d73[62]]);return sequelize[_0x4d73[49]](function(_0xbc95x20){return Setting[_0x4d73[40]](1)[_0x4d73[26]](function(_0xbc95x25){_0xbc95x26= _0xbc95x25;return User[_0x4d73[40]](_0xbc95x21)})[_0x4d73[26]](function(_0xbc95x1e){var _0xbc95x27=_0xbc95x26[_0x4d73[65]]?/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/:/^[a-zA-Z0-9]{6,}$/;if(_0xbc95x26[_0x4d73[65]]&& !_0xbc95x27[_0x4d73[45]](_0xbc95x24)){throw new Error(_0x4d73[68])};_0xbc95x1e[_0x4d73[44]]= _0xbc95x24;return _0xbc95x1e[_0x4d73[64]]({transaction:_0xbc95x20})})})[_0x4d73[26]](function(){return _0xbc95x16[_0x4d73[36]](200)})[_0x4d73[23]](function(_0xbc95x18){console[_0x4d73[67]](_0xbc95x18);return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[69]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x28= new uploadFile({dest:path[_0x4d73[74]](config[_0x4d73[70]],_0x4d73[71],_0x4d73[72],_0x4d73[73]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0xbc95x29,_0xbc95x2a){return sr()+ path[_0x4d73[76]](_0xbc95x2a[_0x4d73[75]])},messages:{maxNumberOfFiles:_0x4d73[77],acceptFileTypes:_0x4d73[78],invalidRequest:_0x4d73[79]}});_0xbc95x28[_0x4d73[83]](_0x4d73[80],function(_0xbc95x1a,_0xbc95x2b){if(!_0xbc95x2b[_0x4d73[81]][_0x4d73[75]]){return _0xbc95x16[_0x4d73[25]](500)[_0x4d73[24]](_0xbc95x28)};return sequelize[_0x4d73[49]](function(_0xbc95x20){return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]])[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](404)};return _0xbc95x1e[_0x4d73[82]]({userpic:_0xbc95x2b[_0x4d73[81]][_0x4d73[75]]},{transaction:_0xbc95x20})})[_0x4d73[26]](function(_0xbc95x1e){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1e)})})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})});_0xbc95x28[_0x4d73[83]](_0x4d73[67],function(_0xbc95x18){console[_0x4d73[51]](_0x4d73[84],_0xbc95x18);return handleError(_0xbc95x16,_0xbc95x18)});_0xbc95x28[_0x4d73[85]](_0xbc95x15)};exports[_0x4d73[86]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x21=_0xbc95x15[_0x4d73[30]][_0x4d73[38]];return User[_0x4d73[106]]({where:{id:_0xbc95x21},attributes:[_0x4d73[38],_0x4d73[87],_0x4d73[56],_0x4d73[88],_0x4d73[42],_0x4d73[89],_0x4d73[90],_0x4d73[91],_0x4d73[92],_0x4d73[93],_0x4d73[94],_0x4d73[95],_0x4d73[96],_0x4d73[97],_0x4d73[98],_0x4d73[99],_0x4d73[100]],include:[Module,{model:VoiceQueue,as:_0x4d73[101]},{model:ChatQueue,as:_0x4d73[102]},{model:MailQueue,as:_0x4d73[103]},{model:FaxQueue,as:_0x4d73[104]},{model:SmsQueue,as:_0x4d73[105]}]})[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](401)};return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1e)})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[82]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x21=_0xbc95x15[_0x4d73[30]][_0x4d73[38]];delete _0xbc95x15[_0x4d73[43]][_0x4d73[44]];delete _0xbc95x15[_0x4d73[43]][_0x4d73[56]];return sequelize[_0x4d73[49]](function(_0xbc95x20){return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]])[_0x4d73[26]](function(_0xbc95x1e){if(!_0xbc95x1e){return _0xbc95x16[_0x4d73[36]](500)};return _0xbc95x1e[_0x4d73[82]](_0xbc95x15[_0x4d73[43]],{transaction:_0xbc95x20})})[_0x4d73[26]](function(_0xbc95x1e){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_0xbc95x1e)})})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[107]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x2c=path[_0x4d73[74]](config[_0x4d73[70]],_0x4d73[71],_0x4d73[72],_0x4d73[73],_0xbc95x15[_0x4d73[39]][_0x4d73[75]]);fs[_0x4d73[110]](_0xbc95x2c,function(_0xbc95x2d){if(!_0xbc95x2d){_0xbc95x2c= path[_0x4d73[74]](config[_0x4d73[70]],_0x4d73[71],_0x4d73[72],_0x4d73[73],_0x4d73[108])};return _0xbc95x16[_0x4d73[109]](_0xbc95x2c)})};exports[_0x4d73[111]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){if(_0xbc95x15[_0x4d73[39]][_0x4d73[38]]=== _0x4d73[112]){var _0xbc95x2c=path[_0x4d73[74]](config[_0x4d73[70]],_0x4d73[71],_0x4d73[72],_0x4d73[73],_0x4d73[113]);fs[_0x4d73[110]](_0xbc95x2c,function(_0xbc95x2d){return _0xbc95x16[_0x4d73[109]](_0xbc95x2c)})}else {return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]])[_0x4d73[26]](function(_0xbc95x1e){if(_0xbc95x1e){var _0xbc95x2c=path[_0x4d73[74]](config[_0x4d73[70]],_0x4d73[71],_0x4d73[72],_0x4d73[73],_0xbc95x1e[_0x4d73[89]]?_0xbc95x1e[_0x4d73[89]]:_0x4d73[108]);fs[_0x4d73[110]](_0xbc95x2c,function(_0xbc95x2d){if(!_0xbc95x2d){_0xbc95x2c= path[_0x4d73[74]](config[_0x4d73[70]],_0x4d73[71],_0x4d73[72],_0x4d73[73],_0x4d73[108])};return _0xbc95x16[_0x4d73[109]](_0xbc95x2c)})}else {return _0xbc95x16[_0x4d73[36]](500)}})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})}};exports[_0x4d73[114]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x22;return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]],{attributes:[_0x4d73[38]]})[_0x4d73[26]](function(_0xbc95x1e){_0xbc95x22= _0xbc95x1e;if(!_0xbc95x22){return _0xbc95x16[_0x4d73[36]](401)};switch(_0xbc95x15[_0x4d73[39]][_0x4d73[129]]){case _0x4d73[117]:return _0xbc95x22[_0x4d73[116]]({attributes:[_0x4d73[56]]});case _0x4d73[119]:return _0xbc95x22[_0x4d73[118]]({attributes:[_0x4d73[38],_0x4d73[56]]});case _0x4d73[121]:return _0xbc95x22[_0x4d73[120]]({attributes:[_0x4d73[38],_0x4d73[56]]});case _0x4d73[123]:return _0xbc95x22[_0x4d73[122]]({attributes:[_0x4d73[38],_0x4d73[56]]});case _0x4d73[125]:return _0xbc95x22[_0x4d73[124]]({attributes:[_0x4d73[38],_0x4d73[56]]});case _0x4d73[127]:return _0xbc95x22[_0x4d73[126]]({attributes:[_0x4d73[38],_0x4d73[56]]});default:throw new Error(_0x4d73[128])}})[_0x4d73[26]](function(_0xbc95x2e){if(_0xbc95x2e){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]](_[_0x4d73[115]](_0xbc95x2e,function(_0xbc95x2f){var _0xbc95x30={name:_0xbc95x2f[_0x4d73[56]]};if(_0xbc95x2f[_0x4d73[38]]){_0xbc95x30[_0x4d73[38]]= _0xbc95x2f[_0x4d73[38]]};return _0xbc95x30}))}})[_0x4d73[23]](function(_0xbc95x18){console[_0x4d73[67]](_0xbc95x18);return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[130]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x22;return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]],{attributes:[_0x4d73[38]]})[_0x4d73[26]](function(_0xbc95x1e){_0xbc95x22= _0xbc95x1e;if(!_0xbc95x22){return _0xbc95x16[_0x4d73[36]](401)};switch(_0xbc95x15[_0x4d73[39]][_0x4d73[129]]){case _0x4d73[117]:return _0xbc95x22[_0x4d73[131]](_0xbc95x15[_0x4d73[43]]);case _0x4d73[119]:return _0xbc95x22[_0x4d73[132]](_0xbc95x15[_0x4d73[43]]);case _0x4d73[121]:return _0xbc95x22[_0x4d73[133]](_0xbc95x15[_0x4d73[43]]);case _0x4d73[123]:return _0xbc95x22[_0x4d73[134]](_0xbc95x15[_0x4d73[43]]);case _0x4d73[125]:return _0xbc95x22[_0x4d73[135]](_0xbc95x15[_0x4d73[43]]);case _0x4d73[127]:return _0xbc95x22[_0x4d73[136]](_0xbc95x15[_0x4d73[43]]);default:return null}})[_0x4d73[26]](function(_0xbc95x2e){return _0xbc95x16[_0x4d73[36]](_0xbc95x2e?200:401)})[_0x4d73[23]](function(_0xbc95x18){console[_0x4d73[67]](_0xbc95x18)})};exports[_0x4d73[137]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){var _0xbc95x22;return User[_0x4d73[40]](_0xbc95x15[_0x4d73[39]][_0x4d73[38]],{attributes:[_0x4d73[38]]})[_0x4d73[26]](function(_0xbc95x1e){_0xbc95x22= _0xbc95x1e;if(!_0xbc95x22){return _0xbc95x16[_0x4d73[36]](401)};switch(_0xbc95x15[_0x4d73[39]][_0x4d73[129]]){case _0x4d73[117]:return _0xbc95x22[_0x4d73[138]](_0xbc95x15[_0x4d73[27]][_0x4d73[59]]);case _0x4d73[119]:return _0xbc95x22[_0x4d73[139]](_0xbc95x15[_0x4d73[27]][_0x4d73[59]]);case _0x4d73[121]:return _0xbc95x22[_0x4d73[140]](_0xbc95x15[_0x4d73[27]][_0x4d73[59]]);case _0x4d73[125]:return _0xbc95x22[_0x4d73[141]](_0xbc95x15[_0x4d73[27]][_0x4d73[59]]);case _0x4d73[123]:return _0xbc95x22[_0x4d73[142]](_0xbc95x15[_0x4d73[27]][_0x4d73[59]]);case _0x4d73[127]:return _0xbc95x22[_0x4d73[143]](_0xbc95x15[_0x4d73[27]][_0x4d73[59]]);default:return null}})[_0x4d73[26]](function(_0xbc95x2e){return _0xbc95x16[_0x4d73[36]](_0xbc95x2e?200:401)})[_0x4d73[23]](function(_0xbc95x18){console[_0x4d73[67]](_0xbc95x18)})};exports[_0x4d73[144]]= function(_0xbc95x15,_0xbc95x16){var _0xbc95x31={};_0xbc95x31[_0xbc95x15[_0x4d73[39]][_0x4d73[145]]]= _0xbc95x15[_0x4d73[43]][_0x4d73[146]];return User[_0x4d73[29]]({where:_0xbc95x31})[_0x4d73[26]](function(_0xbc95x19){if(_0xbc95x19[_0x4d73[147]]){return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]]({isValid:false,value:_0xbc95x15[_0x4d73[43]][_0x4d73[146]]})};return _0xbc95x16[_0x4d73[25]](200)[_0x4d73[24]]({isValid:true,value:_0xbc95x15[_0x4d73[43]][_0x4d73[146]]})})[_0x4d73[23]](function(_0xbc95x18){return handleError(_0xbc95x16,_0xbc95x18)})};exports[_0x4d73[148]]= function(_0xbc95x15,_0xbc95x16,_0xbc95x17){_0xbc95x16[_0x4d73[150]](_0x4d73[149])};function handleError(_0xbc95x16,_0xbc95x18){return _0xbc95x16[_0x4d73[25]](500)[_0x4d73[24]](_0xbc95x18)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const User = require('../../models').User;
-
-var UserEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- User.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserEvents.emit(event + ':' + doc._id, doc);
- UserEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserEvents;
+var _0x8fd3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x8fd3[0];const EventEmitter=require(_0x8fd3[1]);const User=require(_0x8fd3[3])[_0x8fd3[2]];var UserEvents= new EventEmitter();UserEvents[_0x8fd3[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x8fd3[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x8fd3[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x8fd3[6]};for(var e in events){var event=events[e];User[_0x8fd3[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xd92dx8,_0xd92dx9,_0xd92dxa){UserEvents[_0x8fd3[10]](event+ _0x8fd3[8]+ _0xd92dx8[_0x8fd3[9]],_0xd92dx8);UserEvents[_0x8fd3[10]](event,_0xd92dx8);_0xd92dxa(null)}}module[_0x8fd3[11]]= UserEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserEvents = require('./user.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user:' + event, socket);
-
- UserEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (doc.role === 'user' || doc.role === 'admin') {
- socket.emit(event, doc);
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserEvents.removeListener(event, listener);
- };
-}
+var _0x4d71=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x61\x64\x6D\x69\x6E","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x4d71[0];const UserEvents=require(_0x4d71[1]);var events=[_0x4d71[2],_0x4d71[3]];exports[_0x4d71[4]]= function(_0x66bcx3){for(var _0x66bcx4=0,_0x66bcx5=events[_0x4d71[5]];_0x66bcx4< _0x66bcx5;_0x66bcx4++){var _0x66bcx6=events[_0x66bcx4];var _0x66bcx7=createListener(_0x4d71[6]+ _0x66bcx6,_0x66bcx3);UserEvents[_0x4d71[7]](_0x66bcx6,_0x66bcx7);_0x66bcx3[_0x4d71[7]](_0x4d71[8],removeListener(_0x66bcx6,_0x66bcx7))}};function createListener(_0x66bcx6,_0x66bcx3){return function(_0x66bcx9){if(_0x66bcx9[_0x4d71[9]]=== _0x4d71[10]|| _0x66bcx9[_0x4d71[9]]=== _0x4d71[11]){_0x66bcx3[_0x4d71[12]](_0x66bcx6,_0x66bcx9)}}}function removeListener(_0x66bcx6,_0x66bcx7){return function(){UserEvents[_0x4d71[13]](_0x66bcx6,_0x66bcx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_chat_queue.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
\ No newline at end of file
+var _0xb74e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb74e[0];var express=require(_0xb74e[1]);var controller=require(_0xb74e[2]);var router=express.Router();router[_0xb74e[5]](_0xb74e[3],controller[_0xb74e[4]]);router[_0xb74e[5]](_0xb74e[6],controller[_0xb74e[7]]);router[_0xb74e[9]](_0xb74e[3],controller[_0xb74e[8]]);router[_0xb74e[11]](_0xb74e[6],controller[_0xb74e[10]]);router[_0xb74e[12]](_0xb74e[6],controller[_0xb74e[10]]);router[_0xb74e[14]](_0xb74e[6],controller[_0xb74e[13]]);module[_0xb74e[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasChatQueue = require('../../models').UserHasChatQueue;
-
-// Get list of userHasChatQueues
-exports.index = function(req, res) {
- UserHasChatQueue
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(userHasChatQueues) {
- return res.status(200).send(userHasChatQueues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single userHasChatQueue
-exports.show = function(req, res) {
- UserHasChatQueue
- .findById(req.params.id)
- .then(function(userHasChatQueue) {
- if (!userHasChatQueue) {
- return res.sendStatus(404);
- }
- return res.send(userHasChatQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new userHasChatQueue in the DB.
-exports.create = function(req, res) {
- UserHasChatQueue
- .create(req.body)
- .then(function(userHasChatQueue) {
- return res.status(201).send(userHasChatQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing userHasChatQueue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasChatQueue
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(userHasChatQueue) {
- if (!userHasChatQueue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(userHasChatQueue, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(userHasChatQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a userHasChatQueue from the DB.
-exports.destroy = function(req, res) {
- UserHasChatQueue
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(userHasChatQueue) {
- if (!userHasChatQueue) {
- return res.sendStatus(404);
- }
- userHasChatQueue.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x6a49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0x6a49[0];var _=require(_0x6a49[1]);var UserHasChatQueue=require(_0x6a49[3])[_0x6a49[2]];exports[_0x6a49[4]]= function(_0xfa1cx3,_0xfa1cx4){UserHasChatQueue[_0x6a49[10]](_0xfa1cx3[_0x6a49[9]]?{where:_0xfa1cx3[_0x6a49[9]]}:{})[_0x6a49[8]](function(_0xfa1cx6){return _0xfa1cx4[_0x6a49[7]](200)[_0x6a49[6]](_0xfa1cx6)})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})};exports[_0x6a49[11]]= function(_0xfa1cx3,_0xfa1cx4){UserHasChatQueue[_0x6a49[15]](_0xfa1cx3[_0x6a49[14]][_0x6a49[13]])[_0x6a49[8]](function(_0xfa1cx7){if(!_0xfa1cx7){return _0xfa1cx4[_0x6a49[12]](404)};return _0xfa1cx4[_0x6a49[6]](_0xfa1cx7)})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})};exports[_0x6a49[16]]= function(_0xfa1cx3,_0xfa1cx4){UserHasChatQueue[_0x6a49[16]](_0xfa1cx3[_0x6a49[17]])[_0x6a49[8]](function(_0xfa1cx7){return _0xfa1cx4[_0x6a49[7]](201)[_0x6a49[6]](_0xfa1cx7)})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})};exports[_0x6a49[18]]= function(_0xfa1cx3,_0xfa1cx4){if(_0xfa1cx3[_0x6a49[17]][_0x6a49[13]]){delete _0xfa1cx3[_0x6a49[17]][_0x6a49[13]]};UserHasChatQueue[_0x6a49[21]]({where:{id:_0xfa1cx3[_0x6a49[14]][_0x6a49[13]]}})[_0x6a49[8]](function(_0xfa1cx7){if(!_0xfa1cx7){return _0xfa1cx4[_0x6a49[12]](404)};var _0xfa1cx8=_[_0x6a49[19]](_0xfa1cx7,_0xfa1cx3[_0x6a49[17]]);_0xfa1cx8[_0x6a49[20]]()[_0x6a49[8]](function(){return _0xfa1cx4[_0x6a49[7]](200)[_0x6a49[6]](_0xfa1cx7)})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})};exports[_0x6a49[22]]= function(_0xfa1cx3,_0xfa1cx4){UserHasChatQueue[_0x6a49[21]]({where:{id:_0xfa1cx3[_0x6a49[14]][_0x6a49[13]]}})[_0x6a49[8]](function(_0xfa1cx7){if(!_0xfa1cx7){return _0xfa1cx4[_0x6a49[12]](404)};_0xfa1cx7[_0x6a49[22]]()[_0x6a49[8]](function(){return _0xfa1cx4[_0x6a49[12]](204)})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})})[_0x6a49[5]](function(_0xfa1cx5){return handleError(_0xfa1cx4,_0xfa1cx5)})};function handleError(_0xfa1cx4,_0xfa1cx5){return _0xfa1cx4[_0x6a49[7]](500)[_0x6a49[6]](_0xfa1cx5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasChatQueue = require('../../models').UserHasChatQueue;
-
-var UserHasChatQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasChatQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasChatQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasChatQueueEvents.emit(event + ':' + doc._id, doc);
- UserHasChatQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasChatQueueEvents;
+var _0xfb78=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xfb78[0];const EventEmitter=require(_0xfb78[1]);const UserHasChatQueue=require(_0xfb78[3])[_0xfb78[2]];var UserHasChatQueueEvents= new EventEmitter();UserHasChatQueueEvents[_0xfb78[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xfb78[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xfb78[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xfb78[6]};for(var e in events){var event=events[e];UserHasChatQueue[_0xfb78[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x56cfx8,_0x56cfx9,_0x56cfxa){UserHasChatQueueEvents[_0xfb78[10]](event+ _0xfb78[8]+ _0x56cfx8[_0xfb78[9]],_0x56cfx8);UserHasChatQueueEvents[_0xfb78[10]](event,_0x56cfx8);_0x56cfxa(null)}}module[_0xfb78[11]]= UserHasChatQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasChatQueueEvents = require('./user_has_chat_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_chat_queue:' + event, socket);
-
- UserHasChatQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasChatQueueEvents.removeListener(event, listener);
- };
-}
+var _0x85c6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x85c6[0];const UserHasChatQueueEvents=require(_0x85c6[1]);var events=[_0x85c6[2],_0x85c6[3]];exports[_0x85c6[4]]= function(_0x274ex3){for(var _0x274ex4=0,_0x274ex5=events[_0x85c6[5]];_0x274ex4< _0x274ex5;_0x274ex4++){var _0x274ex6=events[_0x274ex4];var _0x274ex7=createListener(_0x85c6[6]+ _0x274ex6,_0x274ex3);UserHasChatQueueEvents[_0x85c6[7]](_0x274ex6,_0x274ex7);_0x274ex3[_0x85c6[7]](_0x85c6[8],removeListener(_0x274ex6,_0x274ex7))}};function createListener(_0x274ex6,_0x274ex3){return function(_0x274ex9){_0x274ex3[_0x85c6[9]](_0x274ex6,_0x274ex9)}}function removeListener(_0x274ex6,_0x274ex7){return function(){UserHasChatQueueEvents[_0x85c6[10]](_0x274ex6,_0x274ex7)}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasChatQueuePermit = require('../../models').UserHasChatQueuePermit;
-
-var UserHasChatQueuePermitEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasChatQueuePermitEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasChatQueuePermit.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasChatQueuePermitEvents.emit(event + ':' + doc._id, doc);
- UserHasChatQueuePermitEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasChatQueuePermitEvents;
+var _0xc0de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65\x50\x65\x72\x6D\x69\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc0de[0];const EventEmitter=require(_0xc0de[1]);const UserHasChatQueuePermit=require(_0xc0de[3])[_0xc0de[2]];var UserHasChatQueuePermitEvents= new EventEmitter();UserHasChatQueuePermitEvents[_0xc0de[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc0de[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc0de[6]};for(var e in events){var event=events[e];UserHasChatQueuePermit[_0xc0de[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x9404x8,_0x9404x9,_0x9404xa){UserHasChatQueuePermitEvents[_0xc0de[10]](event+ _0xc0de[8]+ _0x9404x8[_0xc0de[9]],_0x9404x8);UserHasChatQueuePermitEvents[_0xc0de[10]](event,_0x9404x8);_0x9404xa(null)}}module[_0xc0de[11]]= UserHasChatQueuePermitEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasChatQueuePermitEvents = require('./user_has_chat_queue_permit.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_chat_queue_permit:' + event, socket);
-
- UserHasChatQueuePermitEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId === doc.Userid) {
- socket.emit('user_has_chat_queue_permit:change');
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasChatQueuePermitEvents.removeListener(event, listener);
- };
-}
+var _0x8f68=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x69\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A\x63\x68\x61\x6E\x67\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x8f68[0];const UserHasChatQueuePermitEvents=require(_0x8f68[1]);var events=[_0x8f68[2],_0x8f68[3]];exports[_0x8f68[4]]= function(_0x86c3x3){for(var _0x86c3x4=0,_0x86c3x5=events[_0x8f68[5]];_0x86c3x4< _0x86c3x5;_0x86c3x4++){var _0x86c3x6=events[_0x86c3x4];var _0x86c3x7=createListener(_0x8f68[6]+ _0x86c3x6,_0x86c3x3);UserHasChatQueuePermitEvents[_0x8f68[7]](_0x86c3x6,_0x86c3x7);_0x86c3x3[_0x8f68[7]](_0x8f68[8],removeListener(_0x86c3x6,_0x86c3x7))}};function createListener(_0x86c3x6,_0x86c3x3){return function(_0x86c3x9){if(_0x86c3x3[_0x8f68[9]]=== _0x86c3x9[_0x8f68[10]]){_0x86c3x3[_0x8f68[12]](_0x8f68[11])}}}function removeListener(_0x86c3x6,_0x86c3x7){return function(){UserHasChatQueuePermitEvents[_0x8f68[13]](_0x86c3x6,_0x86c3x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_chat_room.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-// router.get('/', controller.index);
-// router.get('/:id', controller.show);
-// router.post('/', controller.create);
-router.put('/:userId/:chatRoomId', controller.update);
-// router.patch('/:id', controller.update);
-// router.delete('/:id', controller.destroy);
-
-module.exports = router;
+var _0xf99d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x3A\x75\x73\x65\x72\x49\x64\x2F\x3A\x63\x68\x61\x74\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf99d[0];var express=require(_0xf99d[1]);var controller=require(_0xf99d[2]);var auth=require(_0xf99d[3]);var router=express.Router();router[_0xf99d[6]](_0xf99d[4],controller[_0xf99d[5]]);module[_0xf99d[7]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasChatRoom = require('../../models').UserHasChatRoom;
-
-// Get list of user_has_chat_rooms
-exports.index = function(req, res) {
- UserHasChatRoom
- .findAll()
- .then(function (user_has_chat_rooms) {
- return res.status(200).send(user_has_chat_rooms);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single user_has_chat_room
-exports.show = function(req, res) {
- UserHasChatRoom
- .findById(req.params.id)
- .then(function (user_has_chat_room) {
- if(!user_has_chat_room) { return res.sendStatus(404); }
- return res.send(user_has_chat_room);
- })
- .catch(function(err){
- return handleError(res, err);
- });
-};
-
-// Creates a new user_has_chat_room in the DB.
-exports.create = function(req, res) {
-
- UserHasChatRoom
- .create(req.body)
- .then(function(user_has_chat_room) {
- return res.status(201).send(user_has_chat_room);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_chat_room in the DB.
-exports.update = function(req, res) {
-
- UserHasChatRoom
- .findOne({
- where: {
- UserId: req.params.userId,
- ChatRoomId: req.params.chatRoomId
- },
- limit: 1
- })
- .then(function (user_has_chat_room) {
- if (!user_has_chat_room) {
- return res.sendStatus(404);
- }
-
- user_has_chat_room
- .updateAttributes(req.body)
- .then(function () {
- return res.status(200).send(user_has_chat_room);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a user_has_chat_room from the DB.
-exports.destroy = function(req, res) {
-
- UserHasChatRoom
- .findById(req.params.id)
- .then(function (user_has_chat_room) {
- if(!user_has_chat_room) { return res.sendStatus(404); }
- user_has_chat_room.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xdf94=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x75\x73\x65\x72\x49\x64","\x63\x68\x61\x74\x52\x6F\x6F\x6D\x49\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xdf94[0];var _=require(_0xdf94[1]);var UserHasChatRoom=require(_0xdf94[3])[_0xdf94[2]];exports[_0xdf94[4]]= function(_0x51bcx3,_0x51bcx4){UserHasChatRoom[_0xdf94[9]]()[_0xdf94[8]](function(_0x51bcx6){return _0x51bcx4[_0xdf94[7]](200)[_0xdf94[6]](_0x51bcx6)})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})};exports[_0xdf94[10]]= function(_0x51bcx3,_0x51bcx4){UserHasChatRoom[_0xdf94[14]](_0x51bcx3[_0xdf94[13]][_0xdf94[12]])[_0xdf94[8]](function(_0x51bcx7){if(!_0x51bcx7){return _0x51bcx4[_0xdf94[11]](404)};return _0x51bcx4[_0xdf94[6]](_0x51bcx7)})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})};exports[_0xdf94[15]]= function(_0x51bcx3,_0x51bcx4){UserHasChatRoom[_0xdf94[15]](_0x51bcx3[_0xdf94[16]])[_0xdf94[8]](function(_0x51bcx7){return _0x51bcx4[_0xdf94[7]](201)[_0xdf94[6]](_0x51bcx7)})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})};exports[_0xdf94[17]]= function(_0x51bcx3,_0x51bcx4){UserHasChatRoom[_0xdf94[21]]({where:{UserId:_0x51bcx3[_0xdf94[13]][_0xdf94[19]],ChatRoomId:_0x51bcx3[_0xdf94[13]][_0xdf94[20]]},limit:1})[_0xdf94[8]](function(_0x51bcx7){if(!_0x51bcx7){return _0x51bcx4[_0xdf94[11]](404)};_0x51bcx7[_0xdf94[18]](_0x51bcx3[_0xdf94[16]])[_0xdf94[8]](function(){return _0x51bcx4[_0xdf94[7]](200)[_0xdf94[6]](_0x51bcx7)})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})};exports[_0xdf94[22]]= function(_0x51bcx3,_0x51bcx4){UserHasChatRoom[_0xdf94[14]](_0x51bcx3[_0xdf94[13]][_0xdf94[12]])[_0xdf94[8]](function(_0x51bcx7){if(!_0x51bcx7){return _0x51bcx4[_0xdf94[11]](404)};_0x51bcx7[_0xdf94[22]]()[_0xdf94[8]](function(){return _0x51bcx4[_0xdf94[11]](204)})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})})[_0xdf94[5]](function(_0x51bcx5){return handleError(_0x51bcx4,_0x51bcx5)})};function handleError(_0x51bcx4,_0x51bcx5){return _0x51bcx4[_0xdf94[7]](500)[_0xdf94[6]](_0x51bcx5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasChatRoom = require('../../models').UserHasChatRoom;
-
-var UserHasChatRoomEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasChatRoomEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasChatRoom.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasChatRoomEvents.emit(event + ':' + doc._id, doc);
- UserHasChatRoomEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasChatRoomEvents;
+var _0x1fe4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1fe4[0];const EventEmitter=require(_0x1fe4[1]);const UserHasChatRoom=require(_0x1fe4[3])[_0x1fe4[2]];var UserHasChatRoomEvents= new EventEmitter();UserHasChatRoomEvents[_0x1fe4[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x1fe4[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x1fe4[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x1fe4[6]};for(var e in events){var event=events[e];UserHasChatRoom[_0x1fe4[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc53dx8,_0xc53dx9,_0xc53dxa){UserHasChatRoomEvents[_0x1fe4[10]](event+ _0x1fe4[8]+ _0xc53dx8[_0x1fe4[9]],_0xc53dx8);UserHasChatRoomEvents[_0x1fe4[10]](event,_0xc53dx8);_0xc53dxa(null)}}module[_0x1fe4[11]]= UserHasChatRoomEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasChatRoomEvents = require('./user_has_chat_room.events');
-const ChatRoom = require('../../models').ChatRoom;
-const User = require('../../models').User;
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_chat_room:' + event, socket);
-
- UserHasChatRoomEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'user_has_chat_room:save':
- return ChatRoom
- .findById(doc.ChatRoomId, {
- include: [{
- model: User,
- attributes: ['id']
- }]
- })
- .then(function(chatRoom) {
- chatRoom.Users.forEach(function(user) {
- if (socket.userId == user.id) {
- socket.emit(event, doc);
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-
- case 'user_has_chat_room:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasChatRoomEvents.removeListener(event, listener);
- };
-}
+var _0x3f54=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x75\x73\x65\x72\x49\x64","\x69\x64","\x65\x6D\x69\x74","\x66\x6F\x72\x45\x61\x63\x68","\x55\x73\x65\x72\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x73\x61\x76\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x3f54[0];const UserHasChatRoomEvents=require(_0x3f54[1]);const ChatRoom=require(_0x3f54[3])[_0x3f54[2]];const User=require(_0x3f54[3])[_0x3f54[4]];var events=[_0x3f54[5],_0x3f54[6]];exports[_0x3f54[7]]= function(_0xed3ax5){for(var _0xed3ax6=0,_0xed3ax7=events[_0x3f54[8]];_0xed3ax6< _0xed3ax7;_0xed3ax6++){var _0xed3ax8=events[_0xed3ax6];var _0xed3ax9=createListener(_0x3f54[9]+ _0xed3ax8,_0xed3ax5);UserHasChatRoomEvents[_0x3f54[10]](_0xed3ax8,_0xed3ax9);_0xed3ax5[_0x3f54[10]](_0x3f54[11],removeListener(_0xed3ax8,_0xed3ax9))}};function createListener(_0xed3ax8,_0xed3ax5){return function(_0xed3axb){switch(_0xed3ax8){case _0x3f54[21]:return ChatRoom[_0x3f54[20]](_0xed3axb.ChatRoomId,{include:[{model:User,attributes:[_0x3f54[15]]}]})[_0x3f54[19]](function(_0xed3axd){_0xed3axd[_0x3f54[18]][_0x3f54[17]](function(_0xed3axe){if(_0xed3ax5[_0x3f54[14]]== _0xed3axe[_0x3f54[15]]){_0xed3ax5[_0x3f54[16]](_0xed3ax8,_0xed3axb)}})})[_0x3f54[13]](function(_0xed3axc){console[_0x3f54[12]](_0xed3axc)});case _0x3f54[22]:_0xed3ax5[_0x3f54[16]](_0xed3ax8,_0xed3axb);break;default:}}}function removeListener(_0xed3ax8,_0xed3ax9){return function(){UserHasChatRoomEvents[_0x3f54[23]](_0xed3ax8,_0xed3ax9)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_fax_queue.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
\ No newline at end of file
+var _0x35ed=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x35ed[0];var express=require(_0x35ed[1]);var controller=require(_0x35ed[2]);var router=express.Router();router[_0x35ed[5]](_0x35ed[3],controller[_0x35ed[4]]);router[_0x35ed[5]](_0x35ed[6],controller[_0x35ed[7]]);router[_0x35ed[9]](_0x35ed[3],controller[_0x35ed[8]]);router[_0x35ed[11]](_0x35ed[6],controller[_0x35ed[10]]);router[_0x35ed[12]](_0x35ed[6],controller[_0x35ed[10]]);router[_0x35ed[14]](_0x35ed[6],controller[_0x35ed[13]]);module[_0x35ed[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasFaxQueue = require('../../models').UserHasFaxQueue;
-
-// Get list of user_has_fax_queues
-exports.index = function(req, res) {
- UserHasFaxQueue
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(user_has_fax_queues) {
- return res.status(200).send(user_has_fax_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single user_has_fax_queue
-exports.show = function(req, res) {
- UserHasFaxQueue
- .findById(req.params.id)
- .then(function(user_has_fax_queue) {
- if (!user_has_fax_queue) {
- return res.sendStatus(404);
- }
- return res.send(user_has_fax_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new user_has_fax_queue in the DB.
-exports.create = function(req, res) {
- UserHasFaxQueue
- .create(req.body)
- .then(function(user_has_fax_queue) {
- return res.status(201).send(user_has_fax_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_fax_queue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasFaxQueue
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(user_has_fax_queue) {
- if (!user_has_fax_queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(user_has_fax_queue, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(user_has_fax_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a user_has_fax_queue from the DB.
-exports.destroy = function(req, res) {
- UserHasFaxQueue
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(user_has_fax_queue) {
- if (!user_has_fax_queue) {
- return res.sendStatus(404);
- }
- user_has_fax_queue.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xcafc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xcafc[0];var _=require(_0xcafc[1]);var UserHasFaxQueue=require(_0xcafc[3])[_0xcafc[2]];exports[_0xcafc[4]]= function(_0xb180x3,_0xb180x4){UserHasFaxQueue[_0xcafc[10]](_0xb180x3[_0xcafc[9]]?{where:_0xb180x3[_0xcafc[9]]}:{})[_0xcafc[8]](function(_0xb180x6){return _0xb180x4[_0xcafc[7]](200)[_0xcafc[6]](_0xb180x6)})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})};exports[_0xcafc[11]]= function(_0xb180x3,_0xb180x4){UserHasFaxQueue[_0xcafc[15]](_0xb180x3[_0xcafc[14]][_0xcafc[13]])[_0xcafc[8]](function(_0xb180x7){if(!_0xb180x7){return _0xb180x4[_0xcafc[12]](404)};return _0xb180x4[_0xcafc[6]](_0xb180x7)})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})};exports[_0xcafc[16]]= function(_0xb180x3,_0xb180x4){UserHasFaxQueue[_0xcafc[16]](_0xb180x3[_0xcafc[17]])[_0xcafc[8]](function(_0xb180x7){return _0xb180x4[_0xcafc[7]](201)[_0xcafc[6]](_0xb180x7)})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})};exports[_0xcafc[18]]= function(_0xb180x3,_0xb180x4){if(_0xb180x3[_0xcafc[17]][_0xcafc[13]]){delete _0xb180x3[_0xcafc[17]][_0xcafc[13]]};UserHasFaxQueue[_0xcafc[21]]({where:{id:_0xb180x3[_0xcafc[14]][_0xcafc[13]]}})[_0xcafc[8]](function(_0xb180x7){if(!_0xb180x7){return _0xb180x4[_0xcafc[12]](404)};var _0xb180x8=_[_0xcafc[19]](_0xb180x7,_0xb180x3[_0xcafc[17]]);_0xb180x8[_0xcafc[20]]()[_0xcafc[8]](function(){return _0xb180x4[_0xcafc[7]](200)[_0xcafc[6]](_0xb180x7)})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})};exports[_0xcafc[22]]= function(_0xb180x3,_0xb180x4){UserHasFaxQueue[_0xcafc[21]]({where:{id:_0xb180x3[_0xcafc[14]][_0xcafc[13]]}})[_0xcafc[8]](function(_0xb180x7){if(!_0xb180x7){return _0xb180x4[_0xcafc[12]](404)};_0xb180x7[_0xcafc[22]]()[_0xcafc[8]](function(){return _0xb180x4[_0xcafc[12]](204)})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})})[_0xcafc[5]](function(_0xb180x5){return handleError(_0xb180x4,_0xb180x5)})};function handleError(_0xb180x4,_0xb180x5){return _0xb180x4[_0xcafc[7]](500)[_0xcafc[6]](_0xb180x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasFaxQueue = require('../../models').UserHasFaxQueue;
-
-var UserHasFaxQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasFaxQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasFaxQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasFaxQueueEvents.emit(event + ':' + doc._id, doc);
- UserHasFaxQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasFaxQueueEvents;
+var _0xd0a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xd0a7[0];const EventEmitter=require(_0xd0a7[1]);const UserHasFaxQueue=require(_0xd0a7[3])[_0xd0a7[2]];var UserHasFaxQueueEvents= new EventEmitter();UserHasFaxQueueEvents[_0xd0a7[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xd0a7[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xd0a7[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xd0a7[6]};for(var e in events){var event=events[e];UserHasFaxQueue[_0xd0a7[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3113x8,_0x3113x9,_0x3113xa){UserHasFaxQueueEvents[_0xd0a7[10]](event+ _0xd0a7[8]+ _0x3113x8[_0xd0a7[9]],_0x3113x8);UserHasFaxQueueEvents[_0xd0a7[10]](event,_0x3113x8);_0x3113xa(null)}}module[_0xd0a7[11]]= UserHasFaxQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasFaxQueueEvents = require('./user_has_fax_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_fax_queue:' + event, socket);
-
- UserHasFaxQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasFaxQueueEvents.removeListener(event, listener);
- };
-}
+var _0xbb86=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xbb86[0];const UserHasFaxQueueEvents=require(_0xbb86[1]);var events=[_0xbb86[2],_0xbb86[3]];exports[_0xbb86[4]]= function(_0x1aa6x3){for(var _0x1aa6x4=0,_0x1aa6x5=events[_0xbb86[5]];_0x1aa6x4< _0x1aa6x5;_0x1aa6x4++){var _0x1aa6x6=events[_0x1aa6x4];var _0x1aa6x7=createListener(_0xbb86[6]+ _0x1aa6x6,_0x1aa6x3);UserHasFaxQueueEvents[_0xbb86[7]](_0x1aa6x6,_0x1aa6x7);_0x1aa6x3[_0xbb86[7]](_0xbb86[8],removeListener(_0x1aa6x6,_0x1aa6x7))}};function createListener(_0x1aa6x6,_0x1aa6x3){return function(_0x1aa6x9){_0x1aa6x3[_0xbb86[9]](_0x1aa6x6,_0x1aa6x9)}}function removeListener(_0x1aa6x6,_0x1aa6x7){return function(){UserHasFaxQueueEvents[_0xbb86[10]](_0x1aa6x6,_0x1aa6x7)}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasFaxQueuePermit = require('../../models').UserHasFaxQueuePermit;
-
-var UserHasFaxQueuePermitEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasFaxQueuePermitEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasFaxQueuePermit.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasFaxQueuePermitEvents.emit(event + ':' + doc._id, doc);
- UserHasFaxQueuePermitEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasFaxQueuePermitEvents;
+var _0x8b23=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65\x50\x65\x72\x6D\x69\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x8b23[0];const EventEmitter=require(_0x8b23[1]);const UserHasFaxQueuePermit=require(_0x8b23[3])[_0x8b23[2]];var UserHasFaxQueuePermitEvents= new EventEmitter();UserHasFaxQueuePermitEvents[_0x8b23[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x8b23[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x8b23[6]};for(var e in events){var event=events[e];UserHasFaxQueuePermit[_0x8b23[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x37dax8,_0x37dax9,_0x37daxa){UserHasFaxQueuePermitEvents[_0x8b23[10]](event+ _0x8b23[8]+ _0x37dax8[_0x8b23[9]],_0x37dax8);UserHasFaxQueuePermitEvents[_0x8b23[10]](event,_0x37dax8);_0x37daxa(null)}}module[_0x8b23[11]]= UserHasFaxQueuePermitEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasFaxQueuePermitEvents = require('./user_has_fax_queue_permit.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_fax_queue_permit:' + event, socket);
-
- UserHasFaxQueuePermitEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId === doc.Userid) {
- socket.emit('user_has_fax_queue_permit:change');
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasFaxQueuePermitEvents.removeListener(event, listener);
- };
-}
+var _0xe5f2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x69\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A\x63\x68\x61\x6E\x67\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xe5f2[0];const UserHasFaxQueuePermitEvents=require(_0xe5f2[1]);var events=[_0xe5f2[2],_0xe5f2[3]];exports[_0xe5f2[4]]= function(_0x1619x3){for(var _0x1619x4=0,_0x1619x5=events[_0xe5f2[5]];_0x1619x4< _0x1619x5;_0x1619x4++){var _0x1619x6=events[_0x1619x4];var _0x1619x7=createListener(_0xe5f2[6]+ _0x1619x6,_0x1619x3);UserHasFaxQueuePermitEvents[_0xe5f2[7]](_0x1619x6,_0x1619x7);_0x1619x3[_0xe5f2[7]](_0xe5f2[8],removeListener(_0x1619x6,_0x1619x7))}};function createListener(_0x1619x6,_0x1619x3){return function(_0x1619x9){if(_0x1619x3[_0xe5f2[9]]=== _0x1619x9[_0xe5f2[10]]){_0x1619x3[_0xe5f2[12]](_0xe5f2[11])}}}function removeListener(_0x1619x6,_0x1619x7){return function(){UserHasFaxQueuePermitEvents[_0xe5f2[13]](_0x1619x6,_0x1619x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_list.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
+var _0xc820=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc820[0];var express=require(_0xc820[1]);var controller=require(_0xc820[2]);var router=express.Router();router[_0xc820[5]](_0xc820[3],controller[_0xc820[4]]);router[_0xc820[5]](_0xc820[6],controller[_0xc820[7]]);router[_0xc820[9]](_0xc820[3],controller[_0xc820[8]]);router[_0xc820[11]](_0xc820[6],controller[_0xc820[10]]);router[_0xc820[12]](_0xc820[6],controller[_0xc820[10]]);router[_0xc820[14]](_0xc820[6],controller[_0xc820[13]]);module[_0xc820[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasList = require('../../models').UserHasList;
-
-// Get list of user_has_voice_queues
-exports.index = function(req, res) {
- UserHasList
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(user_has_voice_queues) {
- return res.status(200).send(user_has_voice_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single userHasList
-exports.show = function(req, res) {
- UserHasList
- .findById(req.params.id)
- .then(function(userHasList) {
- if (!userHasList) {
- return res.sendStatus(404);
- }
- return res.send(userHasList);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new userHasList in the DB.
-exports.create = function(req, res, next) {
- console.log(req.body);
- UserHasList
- .create(req.body)
- .then(function(userHasList) {
- return res.status(201).send(userHasList);
- })
- .catch(function(err) {
- console.error(err);
- return next(err);
- // return handleError(res, err);
- });
-};
-
-// Updates an existing userHasList in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasList
- .findById(req.params.id)
- .then(function(userHasList) {
- if (!userHasList) {
- return res.sendStatus(404);
- }
- var updated = _.merge(userHasList, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(userHasList);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a userHasList from the DB.
-exports.destroy = function(req, res) {
- UserHasList
- .findById(req.params.id)
- .then(function(userHasList) {
- if (!userHasList) {
- return res.sendStatus(404);
- }
- userHasList.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x1624=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x4C\x69\x73\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x1624[0];var _=require(_0x1624[1]);var UserHasList=require(_0x1624[3])[_0x1624[2]];exports[_0x1624[4]]= function(_0xb5b7x3,_0xb5b7x4){UserHasList[_0x1624[10]](_0xb5b7x3[_0x1624[9]]?{where:_0xb5b7x3[_0x1624[9]]}:{})[_0x1624[8]](function(_0xb5b7x6){return _0xb5b7x4[_0x1624[7]](200)[_0x1624[6]](_0xb5b7x6)})[_0x1624[5]](function(_0xb5b7x5){return handleError(_0xb5b7x4,_0xb5b7x5)})};exports[_0x1624[11]]= function(_0xb5b7x3,_0xb5b7x4){UserHasList[_0x1624[15]](_0xb5b7x3[_0x1624[14]][_0x1624[13]])[_0x1624[8]](function(_0xb5b7x7){if(!_0xb5b7x7){return _0xb5b7x4[_0x1624[12]](404)};return _0xb5b7x4[_0x1624[6]](_0xb5b7x7)})[_0x1624[5]](function(_0xb5b7x5){return handleError(_0xb5b7x4,_0xb5b7x5)})};exports[_0x1624[16]]= function(_0xb5b7x3,_0xb5b7x4,_0xb5b7x8){console[_0x1624[18]](_0xb5b7x3[_0x1624[17]]);UserHasList[_0x1624[16]](_0xb5b7x3[_0x1624[17]])[_0x1624[8]](function(_0xb5b7x7){return _0xb5b7x4[_0x1624[7]](201)[_0x1624[6]](_0xb5b7x7)})[_0x1624[5]](function(_0xb5b7x5){console[_0x1624[19]](_0xb5b7x5);return _0xb5b7x8(_0xb5b7x5)})};exports[_0x1624[20]]= function(_0xb5b7x3,_0xb5b7x4){if(_0xb5b7x3[_0x1624[17]][_0x1624[13]]){delete _0xb5b7x3[_0x1624[17]][_0x1624[13]]};UserHasList[_0x1624[15]](_0xb5b7x3[_0x1624[14]][_0x1624[13]])[_0x1624[8]](function(_0xb5b7x7){if(!_0xb5b7x7){return _0xb5b7x4[_0x1624[12]](404)};var _0xb5b7x9=_[_0x1624[21]](_0xb5b7x7,_0xb5b7x3[_0x1624[17]]);_0xb5b7x9[_0x1624[22]]()[_0x1624[8]](function(){return _0xb5b7x4[_0x1624[7]](200)[_0x1624[6]](_0xb5b7x7)})[_0x1624[5]](function(_0xb5b7x5){return handleError(_0xb5b7x4,_0xb5b7x5)})})[_0x1624[5]](function(_0xb5b7x5){return handleError(_0xb5b7x4,_0xb5b7x5)})};exports[_0x1624[23]]= function(_0xb5b7x3,_0xb5b7x4){UserHasList[_0x1624[15]](_0xb5b7x3[_0x1624[14]][_0x1624[13]])[_0x1624[8]](function(_0xb5b7x7){if(!_0xb5b7x7){return _0xb5b7x4[_0x1624[12]](404)};_0xb5b7x7[_0x1624[23]]()[_0x1624[8]](function(){return _0xb5b7x4[_0x1624[12]](204)})[_0x1624[5]](function(_0xb5b7x5){return handleError(_0xb5b7x4,_0xb5b7x5)})})[_0x1624[5]](function(_0xb5b7x5){return handleError(_0xb5b7x4,_0xb5b7x5)})};function handleError(_0xb5b7x4,_0xb5b7x5){return _0xb5b7x4[_0x1624[7]](500)[_0x1624[6]](_0xb5b7x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasList = require('../../models').UserHasList;
-
-var UserHasListEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasListEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasList.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasListEvents.emit(event + ':' + doc._id, doc);
- UserHasListEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasListEvents;
+var _0xb9c2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4C\x69\x73\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xb9c2[0];const EventEmitter=require(_0xb9c2[1]);const UserHasList=require(_0xb9c2[3])[_0xb9c2[2]];var UserHasListEvents= new EventEmitter();UserHasListEvents[_0xb9c2[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xb9c2[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xb9c2[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xb9c2[6]};for(var e in events){var event=events[e];UserHasList[_0xb9c2[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xdc22x8,_0xdc22x9,_0xdc22xa){UserHasListEvents[_0xb9c2[10]](event+ _0xb9c2[8]+ _0xdc22x8[_0xb9c2[9]],_0xdc22x8);UserHasListEvents[_0xb9c2[10]](event,_0xdc22x8);_0xdc22xa(null)}}module[_0xb9c2[11]]= UserHasListEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasListEvents = require('./user_has_list.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_list:' + event, socket);
-
- UserHasListEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasListEvents.removeListener(event, listener);
- };
-}
+var _0xa732=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xa732[0];const UserHasListEvents=require(_0xa732[1]);var events=[_0xa732[2],_0xa732[3]];exports[_0xa732[4]]= function(_0x6491x3){for(var _0x6491x4=0,_0x6491x5=events[_0xa732[5]];_0x6491x4< _0x6491x5;_0x6491x4++){var _0x6491x6=events[_0x6491x4];var _0x6491x7=createListener(_0xa732[6]+ _0x6491x6,_0x6491x3);UserHasListEvents[_0xa732[7]](_0x6491x6,_0x6491x7);_0x6491x3[_0xa732[7]](_0xa732[8],removeListener(_0x6491x6,_0x6491x7))}};function createListener(_0x6491x6,_0x6491x3){return function(_0x6491x9){_0x6491x3[_0xa732[9]](_0x6491x6,_0x6491x9)}}function removeListener(_0x6491x6,_0x6491x7){return function(){UserHasListEvents[_0xa732[10]](_0x6491x6,_0x6491x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_mail_queue.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
+var _0x2956=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2956[0];var express=require(_0x2956[1]);var controller=require(_0x2956[2]);var router=express.Router();router[_0x2956[5]](_0x2956[3],controller[_0x2956[4]]);router[_0x2956[5]](_0x2956[6],controller[_0x2956[7]]);router[_0x2956[9]](_0x2956[3],controller[_0x2956[8]]);router[_0x2956[11]](_0x2956[6],controller[_0x2956[10]]);router[_0x2956[12]](_0x2956[6],controller[_0x2956[10]]);router[_0x2956[14]](_0x2956[6],controller[_0x2956[13]]);module[_0x2956[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasMailQueue = require('../../models').UserHasMailQueue;
-
-// Get list of user_has_mail_queues
-exports.index = function(req, res) {
- UserHasMailQueue
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(user_has_mail_queues) {
- return res.status(200).send(user_has_mail_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single user_has_mail_queue
-exports.show = function(req, res) {
- UserHasMailQueue
- .findById(req.params.id)
- .then(function(user_has_mail_queue) {
- if (!user_has_mail_queue) {
- return res.sendStatus(404);
- }
- return res.send(user_has_mail_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new user_has_mail_queue in the DB.
-exports.create = function(req, res) {
- UserHasMailQueue
- .create(req.body)
- .then(function(user_has_mail_queue) {
- return res.status(201).send(user_has_mail_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_mail_queue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasMailQueue
- .findById(req.params.id)
- .then(function(user_has_mail_queue) {
- if (!user_has_mail_queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(user_has_mail_queue, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(user_has_mail_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a user_has_mail_queue from the DB.
-exports.destroy = function(req, res) {
- UserHasMailQueue
- .findById(req.params.id)
- .then(function(user_has_mail_queue) {
- if (!user_has_mail_queue) {
- return res.sendStatus(404);
- }
- user_has_mail_queue.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xed95=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xed95[0];var _=require(_0xed95[1]);var UserHasMailQueue=require(_0xed95[3])[_0xed95[2]];exports[_0xed95[4]]= function(_0x1ad3x3,_0x1ad3x4){UserHasMailQueue[_0xed95[10]](_0x1ad3x3[_0xed95[9]]?{where:_0x1ad3x3[_0xed95[9]]}:{})[_0xed95[8]](function(_0x1ad3x6){return _0x1ad3x4[_0xed95[7]](200)[_0xed95[6]](_0x1ad3x6)})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})};exports[_0xed95[11]]= function(_0x1ad3x3,_0x1ad3x4){UserHasMailQueue[_0xed95[15]](_0x1ad3x3[_0xed95[14]][_0xed95[13]])[_0xed95[8]](function(_0x1ad3x7){if(!_0x1ad3x7){return _0x1ad3x4[_0xed95[12]](404)};return _0x1ad3x4[_0xed95[6]](_0x1ad3x7)})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})};exports[_0xed95[16]]= function(_0x1ad3x3,_0x1ad3x4){UserHasMailQueue[_0xed95[16]](_0x1ad3x3[_0xed95[17]])[_0xed95[8]](function(_0x1ad3x7){return _0x1ad3x4[_0xed95[7]](201)[_0xed95[6]](_0x1ad3x7)})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})};exports[_0xed95[18]]= function(_0x1ad3x3,_0x1ad3x4){if(_0x1ad3x3[_0xed95[17]][_0xed95[13]]){delete _0x1ad3x3[_0xed95[17]][_0xed95[13]]};UserHasMailQueue[_0xed95[15]](_0x1ad3x3[_0xed95[14]][_0xed95[13]])[_0xed95[8]](function(_0x1ad3x7){if(!_0x1ad3x7){return _0x1ad3x4[_0xed95[12]](404)};var _0x1ad3x8=_[_0xed95[19]](_0x1ad3x7,_0x1ad3x3[_0xed95[17]]);_0x1ad3x8[_0xed95[20]]()[_0xed95[8]](function(){return _0x1ad3x4[_0xed95[7]](200)[_0xed95[6]](_0x1ad3x7)})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})};exports[_0xed95[21]]= function(_0x1ad3x3,_0x1ad3x4){UserHasMailQueue[_0xed95[15]](_0x1ad3x3[_0xed95[14]][_0xed95[13]])[_0xed95[8]](function(_0x1ad3x7){if(!_0x1ad3x7){return _0x1ad3x4[_0xed95[12]](404)};_0x1ad3x7[_0xed95[21]]()[_0xed95[8]](function(){return _0x1ad3x4[_0xed95[12]](204)})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})})[_0xed95[5]](function(_0x1ad3x5){return handleError(_0x1ad3x4,_0x1ad3x5)})};function handleError(_0x1ad3x4,_0x1ad3x5){return _0x1ad3x4[_0xed95[7]](500)[_0xed95[6]](_0x1ad3x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasMailQueue = require('../../models').UserHasMailQueue;
-
-var UserHasMailQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasMailQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasMailQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasMailQueueEvents.emit(event + ':' + doc._id, doc);
- UserHasMailQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasMailQueueEvents;
+var _0x7e32=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7e32[0];const EventEmitter=require(_0x7e32[1]);const UserHasMailQueue=require(_0x7e32[3])[_0x7e32[2]];var UserHasMailQueueEvents= new EventEmitter();UserHasMailQueueEvents[_0x7e32[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7e32[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7e32[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7e32[6]};for(var e in events){var event=events[e];UserHasMailQueue[_0x7e32[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x5b48x8,_0x5b48x9,_0x5b48xa){UserHasMailQueueEvents[_0x7e32[10]](event+ _0x7e32[8]+ _0x5b48x8[_0x7e32[9]],_0x5b48x8);UserHasMailQueueEvents[_0x7e32[10]](event,_0x5b48x8);_0x5b48xa(null)}}module[_0x7e32[11]]= UserHasMailQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasMailQueueEvents = require('./user_has_mail_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_mail_queue:' + event, socket);
-
- UserHasMailQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasMailQueueEvents.removeListener(event, listener);
- };
-}
+var _0x529a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x529a[0];const UserHasMailQueueEvents=require(_0x529a[1]);var events=[_0x529a[2],_0x529a[3]];exports[_0x529a[4]]= function(_0xb912x3){for(var _0xb912x4=0,_0xb912x5=events[_0x529a[5]];_0xb912x4< _0xb912x5;_0xb912x4++){var _0xb912x6=events[_0xb912x4];var _0xb912x7=createListener(_0x529a[6]+ _0xb912x6,_0xb912x3);UserHasMailQueueEvents[_0x529a[7]](_0xb912x6,_0xb912x7);_0xb912x3[_0x529a[7]](_0x529a[8],removeListener(_0xb912x6,_0xb912x7))}};function createListener(_0xb912x6,_0xb912x3){return function(_0xb912x9){_0xb912x3[_0x529a[9]](_0xb912x6,_0xb912x9)}}function removeListener(_0xb912x6,_0xb912x7){return function(){UserHasMailQueueEvents[_0x529a[10]](_0xb912x6,_0xb912x7)}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasMailQueuePermit = require('../../models').UserHasMailQueuePermit;
-
-var UserHasMailQueuePermitEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasMailQueuePermitEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasMailQueuePermit.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasMailQueuePermitEvents.emit(event + ':' + doc._id, doc);
- UserHasMailQueuePermitEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasMailQueuePermitEvents;
+var _0x25c9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x50\x65\x72\x6D\x69\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x25c9[0];const EventEmitter=require(_0x25c9[1]);const UserHasMailQueuePermit=require(_0x25c9[3])[_0x25c9[2]];var UserHasMailQueuePermitEvents= new EventEmitter();UserHasMailQueuePermitEvents[_0x25c9[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x25c9[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x25c9[6]};for(var e in events){var event=events[e];UserHasMailQueuePermit[_0x25c9[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xef36x8,_0xef36x9,_0xef36xa){UserHasMailQueuePermitEvents[_0x25c9[10]](event+ _0x25c9[8]+ _0xef36x8[_0x25c9[9]],_0xef36x8);UserHasMailQueuePermitEvents[_0x25c9[10]](event,_0xef36x8);_0xef36xa(null)}}module[_0x25c9[11]]= UserHasMailQueuePermitEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasMailQueuePermitEvents = require('./user_has_mail_queue_permit.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_mail_queue_permit:' + event, socket);
-
- UserHasMailQueuePermitEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId === doc.Userid) {
- socket.emit('user_has_mail_queue_permit:change');
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasMailQueuePermitEvents.removeListener(event, listener);
- };
-}
+var _0xac90=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x69\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A\x63\x68\x61\x6E\x67\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xac90[0];const UserHasMailQueuePermitEvents=require(_0xac90[1]);var events=[_0xac90[2],_0xac90[3]];exports[_0xac90[4]]= function(_0x7960x3){for(var _0x7960x4=0,_0x7960x5=events[_0xac90[5]];_0x7960x4< _0x7960x5;_0x7960x4++){var _0x7960x6=events[_0x7960x4];var _0x7960x7=createListener(_0xac90[6]+ _0x7960x6,_0x7960x3);UserHasMailQueuePermitEvents[_0xac90[7]](_0x7960x6,_0x7960x7);_0x7960x3[_0xac90[7]](_0xac90[8],removeListener(_0x7960x6,_0x7960x7))}};function createListener(_0x7960x6,_0x7960x3){return function(_0x7960x9){if(_0x7960x3[_0xac90[9]]=== _0x7960x9[_0xac90[10]]){_0x7960x3[_0xac90[12]](_0xac90[11])}}}function removeListener(_0x7960x6,_0x7960x7){return function(){UserHasMailQueuePermitEvents[_0xac90[13]](_0x7960x6,_0x7960x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./user_has_openchannel_queue.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
+var _0xb81b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb81b[0];var express=require(_0xb81b[1]);var auth=require(_0xb81b[2]);var controller=require(_0xb81b[3]);var router=express.Router();router[_0xb81b[6]](_0xb81b[4],controller[_0xb81b[5]]);router[_0xb81b[6]](_0xb81b[7],controller[_0xb81b[8]]);router[_0xb81b[10]](_0xb81b[4],controller[_0xb81b[9]]);router[_0xb81b[12]](_0xb81b[7],controller[_0xb81b[11]]);router[_0xb81b[13]](_0xb81b[7],controller[_0xb81b[11]]);router[_0xb81b[15]](_0xb81b[7],controller[_0xb81b[14]]);module[_0xb81b[16]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/openchannel/user_has_queues -> index
- * POST /api/openchannel/user_has_queues -> create
- * GET /api/openchannel/user_has_queues/:id -> show
- * PUT /api/openchannel/user_has_queues/:id -> update
- * DELETE /api/openchannel/user_has_queues/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-
-var UserHasOpenchannelQueue = require('../../models').UserHasOpenchannelQueue;
-
-
-
-// Get list of user_has_openchannel_queues
-exports.index = function(req, res) {
- UserHasOpenchannelQueue
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(user_has_openchannel_queues) {
- return res.status(200).send(user_has_openchannel_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single user_has_openchannel_queues
-exports.show = function(req, res) {
- UserHasOpenchannelQueue
- .findById(req.params.id)
- .then(function(user_has_openchannel_queues) {
- if (!user_has_openchannel_queues) {
- return res.sendStatus(404);
- }
- return res.send(user_has_openchannel_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new user_has_openchannel_queues in the DB.
-exports.create = function(req, res) {
- UserHasOpenchannelQueue
- .create(req.body)
- .then(function(user_has_openchannel_queues) {
- return res.status(201).send(user_has_openchannel_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_openchannel_queues in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasOpenchannelQueue
- .findById(req.params.id)
- .then(function(user_has_openchannel_queue) {
- if (!user_has_openchannel_queue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(user_has_openchannel_queue, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(user_has_openchannel_queue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a user_has_openchannel_queues from the DB.
-exports.destroy = function(req, res) {
- UserHasOpenchannelQueue
- .findById(req.params.id)
- .then(function(user_has_openchannel_queue) {
- if (!user_has_openchannel_queue) {
- return res.sendStatus(404);
- }
- user_has_mail_queue.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xab9b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x55\x73\x65\x72\x48\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xab9b[0];var _=require(_0xab9b[1]);var Util=require(_0xab9b[2]);var UserHasOpenchannelQueue=require(_0xab9b[4])[_0xab9b[3]];exports[_0xab9b[5]]= function(_0x4173x4,_0x4173x5){UserHasOpenchannelQueue[_0xab9b[11]](_0x4173x4[_0xab9b[10]]?{where:_0x4173x4[_0xab9b[10]]}:{})[_0xab9b[9]](function(_0x4173x7){return _0x4173x5[_0xab9b[8]](200)[_0xab9b[7]](_0x4173x7)})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})};exports[_0xab9b[12]]= function(_0x4173x4,_0x4173x5){UserHasOpenchannelQueue[_0xab9b[16]](_0x4173x4[_0xab9b[15]][_0xab9b[14]])[_0xab9b[9]](function(_0x4173x7){if(!_0x4173x7){return _0x4173x5[_0xab9b[13]](404)};return _0x4173x5[_0xab9b[7]](_0x4173x7)})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})};exports[_0xab9b[17]]= function(_0x4173x4,_0x4173x5){UserHasOpenchannelQueue[_0xab9b[17]](_0x4173x4[_0xab9b[18]])[_0xab9b[9]](function(_0x4173x7){return _0x4173x5[_0xab9b[8]](201)[_0xab9b[7]](_0x4173x7)})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})};exports[_0xab9b[19]]= function(_0x4173x4,_0x4173x5){if(_0x4173x4[_0xab9b[18]][_0xab9b[14]]){delete _0x4173x4[_0xab9b[18]][_0xab9b[14]]};UserHasOpenchannelQueue[_0xab9b[16]](_0x4173x4[_0xab9b[15]][_0xab9b[14]])[_0xab9b[9]](function(_0x4173x8){if(!_0x4173x8){return _0x4173x5[_0xab9b[13]](404)};var _0x4173x9=_[_0xab9b[20]](_0x4173x8,_0x4173x4[_0xab9b[18]]);_0x4173x9[_0xab9b[21]]()[_0xab9b[9]](function(){return _0x4173x5[_0xab9b[8]](200)[_0xab9b[7]](_0x4173x8)})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})};exports[_0xab9b[22]]= function(_0x4173x4,_0x4173x5){UserHasOpenchannelQueue[_0xab9b[16]](_0x4173x4[_0xab9b[15]][_0xab9b[14]])[_0xab9b[9]](function(_0x4173x8){if(!_0x4173x8){return _0x4173x5[_0xab9b[13]](404)};user_has_mail_queue[_0xab9b[22]]()[_0xab9b[9]](function(){return _0x4173x5[_0xab9b[13]](204)})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})})[_0xab9b[6]](function(_0x4173x6){return handleError(_0x4173x5,_0x4173x6)})};function handleError(_0x4173x5,_0x4173x6){return _0x4173x5[_0xab9b[8]](500)[_0xab9b[7]](_0x4173x6)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasOpenchannelQueue = require('../../models').UserHasOpenchannelQueue;
-
-var UserHasOpenchannelQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasOpenchannelQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasOpenchannelQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasOpenchannelQueueEvents.emit(event + ':' + doc._id, doc);
- UserHasOpenchannelQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasOpenchannelQueueEvents;
+var _0x5878=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5878[0];const EventEmitter=require(_0x5878[1]);const UserHasOpenchannelQueue=require(_0x5878[3])[_0x5878[2]];var UserHasOpenchannelQueueEvents= new EventEmitter();UserHasOpenchannelQueueEvents[_0x5878[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x5878[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x5878[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x5878[6]};for(var e in events){var event=events[e];UserHasOpenchannelQueue[_0x5878[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xad78x8,_0xad78x9,_0xad78xa){UserHasOpenchannelQueueEvents[_0x5878[10]](event+ _0x5878[8]+ _0xad78x8[_0x5878[9]],_0xad78x8);UserHasOpenchannelQueueEvents[_0x5878[10]](event,_0xad78x8);_0xad78xa(null)}}module[_0x5878[11]]= UserHasOpenchannelQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasOpenchannelQueueEvents = require('./user_has_openchannel_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_openchannel_queue:' + event, socket);
-
- UserHasOpenchannelQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasOpenchannelQueueEvents.removeListener(event, listener);
- };
-}
+var _0x9186=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x9186[0];const UserHasOpenchannelQueueEvents=require(_0x9186[1]);var events=[_0x9186[2],_0x9186[3]];exports[_0x9186[4]]= function(_0x51ecx3){for(var _0x51ecx4=0,_0x51ecx5=events[_0x9186[5]];_0x51ecx4< _0x51ecx5;_0x51ecx4++){var _0x51ecx6=events[_0x51ecx4];var _0x51ecx7=createListener(_0x9186[6]+ _0x51ecx6,_0x51ecx3);UserHasOpenchannelQueueEvents[_0x9186[7]](_0x51ecx6,_0x51ecx7);_0x51ecx3[_0x9186[7]](_0x9186[8],removeListener(_0x51ecx6,_0x51ecx7))}};function createListener(_0x51ecx6,_0x51ecx3){return function(_0x51ecx9){_0x51ecx3[_0x9186[9]](_0x51ecx6,_0x51ecx9)}}function removeListener(_0x51ecx6,_0x51ecx7){return function(){UserHasOpenchannelQueueEvents[_0x9186[10]](_0x51ecx6,_0x51ecx7)}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasOpenchannelQueuePermit = require('../../models').UserHasOpenchannelQueuePermit;
-
-var UserHasOpenchannelQueuePermitEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasOpenchannelQueuePermitEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasOpenchannelQueuePermit.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasOpenchannelQueuePermitEvents.emit(event + ':' + doc._id, doc);
- UserHasOpenchannelQueuePermitEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasOpenchannelQueuePermitEvents;
+var _0xaa69=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x50\x65\x72\x6D\x69\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xaa69[0];const EventEmitter=require(_0xaa69[1]);const UserHasOpenchannelQueuePermit=require(_0xaa69[3])[_0xaa69[2]];var UserHasOpenchannelQueuePermitEvents= new EventEmitter();UserHasOpenchannelQueuePermitEvents[_0xaa69[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xaa69[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xaa69[6]};for(var e in events){var event=events[e];UserHasOpenchannelQueuePermit[_0xaa69[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xd71cx8,_0xd71cx9,_0xd71cxa){UserHasOpenchannelQueuePermitEvents[_0xaa69[10]](event+ _0xaa69[8]+ _0xd71cx8[_0xaa69[9]],_0xd71cx8);UserHasOpenchannelQueuePermitEvents[_0xaa69[10]](event,_0xd71cx8);_0xd71cxa(null)}}module[_0xaa69[11]]= UserHasOpenchannelQueuePermitEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasOpenchannelQueuePermitEvents = require('./user_has_openchannel_queue_permit.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_openchannel_queue_permit:' + event, socket);
-
- UserHasOpenchannelQueuePermitEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId === doc.Userid) {
- socket.emit('user_has_openchannel_queue_permit:change');
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasOpenchannelQueuePermitEvents.removeListener(event, listener);
- };
-}
+var _0x77e3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x69\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A\x63\x68\x61\x6E\x67\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x77e3[0];const UserHasOpenchannelQueuePermitEvents=require(_0x77e3[1]);var events=[_0x77e3[2],_0x77e3[3]];exports[_0x77e3[4]]= function(_0xc5d4x3){for(var _0xc5d4x4=0,_0xc5d4x5=events[_0x77e3[5]];_0xc5d4x4< _0xc5d4x5;_0xc5d4x4++){var _0xc5d4x6=events[_0xc5d4x4];var _0xc5d4x7=createListener(_0x77e3[6]+ _0xc5d4x6,_0xc5d4x3);UserHasOpenchannelQueuePermitEvents[_0x77e3[7]](_0xc5d4x6,_0xc5d4x7);_0xc5d4x3[_0x77e3[7]](_0x77e3[8],removeListener(_0xc5d4x6,_0xc5d4x7))}};function createListener(_0xc5d4x6,_0xc5d4x3){return function(_0xc5d4x9){if(_0xc5d4x3[_0x77e3[9]]=== _0xc5d4x9[_0x77e3[10]]){_0xc5d4x3[_0x77e3[12]](_0x77e3[11])}}}function removeListener(_0xc5d4x6,_0xc5d4x7){return function(){UserHasOpenchannelQueuePermitEvents[_0x77e3[13]](_0xc5d4x6,_0xc5d4x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_sms_queue.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
+var _0xc4e3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xc4e3[0];var express=require(_0xc4e3[1]);var controller=require(_0xc4e3[2]);var router=express.Router();router[_0xc4e3[5]](_0xc4e3[3],controller[_0xc4e3[4]]);router[_0xc4e3[5]](_0xc4e3[6],controller[_0xc4e3[7]]);router[_0xc4e3[9]](_0xc4e3[3],controller[_0xc4e3[8]]);router[_0xc4e3[11]](_0xc4e3[6],controller[_0xc4e3[10]]);router[_0xc4e3[12]](_0xc4e3[6],controller[_0xc4e3[10]]);router[_0xc4e3[14]](_0xc4e3[6],controller[_0xc4e3[13]]);module[_0xc4e3[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasSmsQueue = require('../../models').UserHasSmsQueue;
-
-// Get list of UserHasSmsQueues
-exports.index = function(req, res) {
- UserHasSmsQueue
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(UserHasSmsQueues) {
- return res.status(200).send(UserHasSmsQueues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single UserHasSmsQueue
-exports.show = function(req, res) {
- UserHasSmsQueue
- .findById(req.params.id)
- .then(function(UserHasSmsQueue) {
- if (!UserHasSmsQueue) {
- return res.sendStatus(404);
- }
- return res.send(UserHasSmsQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new UserHasSmsQueue in the DB.
-exports.create = function(req, res) {
- UserHasSmsQueue
- .create(req.body)
- .then(function(UserHasSmsQueue) {
- return res.status(201).send(UserHasSmsQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing UserHasSmsQueue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasSmsQueue
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(UserHasSmsQueue) {
- if (!UserHasSmsQueue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(UserHasSmsQueue, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(UserHasSmsQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a UserHasSmsQueue from the DB.
-exports.destroy = function(req, res) {
- UserHasSmsQueue
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function(UserHasSmsQueue) {
- if (!UserHasSmsQueue) {
- return res.sendStatus(404);
- }
- UserHasSmsQueue.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xb623=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x53\x6D\x73\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xb623[0];var _=require(_0xb623[1]);var UserHasSmsQueue=require(_0xb623[3])[_0xb623[2]];exports[_0xb623[4]]= function(_0xb3a9x3,_0xb3a9x4){UserHasSmsQueue[_0xb623[10]](_0xb3a9x3[_0xb623[9]]?{where:_0xb3a9x3[_0xb623[9]]}:{})[_0xb623[8]](function(_0xb3a9x6){return _0xb3a9x4[_0xb623[7]](200)[_0xb623[6]](_0xb3a9x6)})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})};exports[_0xb623[11]]= function(_0xb3a9x3,_0xb3a9x4){UserHasSmsQueue[_0xb623[15]](_0xb3a9x3[_0xb623[14]][_0xb623[13]])[_0xb623[8]](function(UserHasSmsQueue){if(!UserHasSmsQueue){return _0xb3a9x4[_0xb623[12]](404)};return _0xb3a9x4[_0xb623[6]](UserHasSmsQueue)})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})};exports[_0xb623[16]]= function(_0xb3a9x3,_0xb3a9x4){UserHasSmsQueue[_0xb623[16]](_0xb3a9x3[_0xb623[17]])[_0xb623[8]](function(UserHasSmsQueue){return _0xb3a9x4[_0xb623[7]](201)[_0xb623[6]](UserHasSmsQueue)})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})};exports[_0xb623[18]]= function(_0xb3a9x3,_0xb3a9x4){if(_0xb3a9x3[_0xb623[17]][_0xb623[13]]){delete _0xb3a9x3[_0xb623[17]][_0xb623[13]]};UserHasSmsQueue[_0xb623[21]]({where:{id:_0xb3a9x3[_0xb623[14]][_0xb623[13]]}})[_0xb623[8]](function(UserHasSmsQueue){if(!UserHasSmsQueue){return _0xb3a9x4[_0xb623[12]](404)};var _0xb3a9x7=_[_0xb623[19]](UserHasSmsQueue,_0xb3a9x3[_0xb623[17]]);_0xb3a9x7[_0xb623[20]]()[_0xb623[8]](function(){return _0xb3a9x4[_0xb623[7]](200)[_0xb623[6]](UserHasSmsQueue)})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})};exports[_0xb623[22]]= function(_0xb3a9x3,_0xb3a9x4){UserHasSmsQueue[_0xb623[21]]({where:{id:_0xb3a9x3[_0xb623[14]][_0xb623[13]]}})[_0xb623[8]](function(UserHasSmsQueue){if(!UserHasSmsQueue){return _0xb3a9x4[_0xb623[12]](404)};UserHasSmsQueue[_0xb623[22]]()[_0xb623[8]](function(){return _0xb3a9x4[_0xb623[12]](204)})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})})[_0xb623[5]](function(_0xb3a9x5){return handleError(_0xb3a9x4,_0xb3a9x5)})};function handleError(_0xb3a9x4,_0xb3a9x5){return _0xb3a9x4[_0xb623[7]](500)[_0xb623[6]](_0xb3a9x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasSmsQueue = require('../../models').UserHasSmsQueue;
-
-var UserHasSmsQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasSmsQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasSmsQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasSmsQueueEvents.emit(event + ':' + doc._id, doc);
- UserHasSmsQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasSmsQueueEvents;
+var _0xd1aa=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x53\x6D\x73\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xd1aa[0];const EventEmitter=require(_0xd1aa[1]);const UserHasSmsQueue=require(_0xd1aa[3])[_0xd1aa[2]];var UserHasSmsQueueEvents= new EventEmitter();UserHasSmsQueueEvents[_0xd1aa[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xd1aa[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xd1aa[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xd1aa[6]};for(var e in events){var event=events[e];UserHasSmsQueue[_0xd1aa[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xaac6x8,_0xaac6x9,_0xaac6xa){UserHasSmsQueueEvents[_0xd1aa[10]](event+ _0xd1aa[8]+ _0xaac6x8[_0xd1aa[9]],_0xaac6x8);UserHasSmsQueueEvents[_0xd1aa[10]](event,_0xaac6x8);_0xaac6xa(null)}}module[_0xd1aa[11]]= UserHasSmsQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasSmsQueueEvents = require('./user_has_sms_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_sms_queue:' + event, socket);
-
- UserHasSmsQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasSmsQueueEvents.removeListener(event, listener);
- };
-}
+var _0x9b69=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x9b69[0];const UserHasSmsQueueEvents=require(_0x9b69[1]);var events=[_0x9b69[2],_0x9b69[3]];exports[_0x9b69[4]]= function(_0x8aa5x3){for(var _0x8aa5x4=0,_0x8aa5x5=events[_0x9b69[5]];_0x8aa5x4< _0x8aa5x5;_0x8aa5x4++){var _0x8aa5x6=events[_0x8aa5x4];var _0x8aa5x7=createListener(_0x9b69[6]+ _0x8aa5x6,_0x8aa5x3);UserHasSmsQueueEvents[_0x9b69[7]](_0x8aa5x6,_0x8aa5x7);_0x8aa5x3[_0x9b69[7]](_0x9b69[8],removeListener(_0x8aa5x6,_0x8aa5x7))}};function createListener(_0x8aa5x6,_0x8aa5x3){return function(_0x8aa5x9){_0x8aa5x3[_0x9b69[9]](_0x8aa5x6,_0x8aa5x9)}}function removeListener(_0x8aa5x6,_0x8aa5x7){return function(){UserHasSmsQueueEvents[_0x9b69[10]](_0x8aa5x6,_0x8aa5x7)}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasSmsQueuePermit = require('../../models').UserHasSmsQueuePermit;
-
-var UserHasSmsQueuePermitEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasSmsQueuePermitEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasSmsQueuePermit.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasSmsQueuePermitEvents.emit(event + ':' + doc._id, doc);
- UserHasSmsQueuePermitEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasSmsQueuePermitEvents;
+var _0x2908=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x53\x6D\x73\x51\x75\x65\x75\x65\x50\x65\x72\x6D\x69\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x2908[0];const EventEmitter=require(_0x2908[1]);const UserHasSmsQueuePermit=require(_0x2908[3])[_0x2908[2]];var UserHasSmsQueuePermitEvents= new EventEmitter();UserHasSmsQueuePermitEvents[_0x2908[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x2908[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x2908[6]};for(var e in events){var event=events[e];UserHasSmsQueuePermit[_0x2908[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x8f10x8,_0x8f10x9,_0x8f10xa){UserHasSmsQueuePermitEvents[_0x2908[10]](event+ _0x2908[8]+ _0x8f10x8[_0x2908[9]],_0x8f10x8);UserHasSmsQueuePermitEvents[_0x2908[10]](event,_0x8f10x8);_0x8f10xa(null)}}module[_0x2908[11]]= UserHasSmsQueuePermitEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasSmsQueuePermitEvents = require('./user_has_sms_queue_permit.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_sms_queue_permit:' + event, socket);
-
- UserHasSmsQueuePermitEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId === doc.Userid) {
- socket.emit('user_has_sms_queue_permit:change');
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasSmsQueuePermitEvents.removeListener(event, listener);
- };
-}
+var _0x41bd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x69\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A\x63\x68\x61\x6E\x67\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x41bd[0];const UserHasSmsQueuePermitEvents=require(_0x41bd[1]);var events=[_0x41bd[2],_0x41bd[3]];exports[_0x41bd[4]]= function(_0x1500x3){for(var _0x1500x4=0,_0x1500x5=events[_0x41bd[5]];_0x1500x4< _0x1500x5;_0x1500x4++){var _0x1500x6=events[_0x1500x4];var _0x1500x7=createListener(_0x41bd[6]+ _0x1500x6,_0x1500x3);UserHasSmsQueuePermitEvents[_0x41bd[7]](_0x1500x6,_0x1500x7);_0x1500x3[_0x41bd[7]](_0x41bd[8],removeListener(_0x1500x6,_0x1500x7))}};function createListener(_0x1500x6,_0x1500x3){return function(_0x1500x9){if(_0x1500x3[_0x41bd[9]]=== _0x1500x9[_0x41bd[10]]){_0x1500x3[_0x41bd[12]](_0x41bd[11])}}}function removeListener(_0x1500x6,_0x1500x7){return function(){UserHasSmsQueuePermitEvents[_0x41bd[13]](_0x1500x6,_0x1500x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_team.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
\ No newline at end of file
+var _0x5b39=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5b39[0];var express=require(_0x5b39[1]);var controller=require(_0x5b39[2]);var router=express.Router();router[_0x5b39[5]](_0x5b39[3],controller[_0x5b39[4]]);router[_0x5b39[5]](_0x5b39[6],controller[_0x5b39[7]]);router[_0x5b39[9]](_0x5b39[3],controller[_0x5b39[8]]);router[_0x5b39[11]](_0x5b39[6],controller[_0x5b39[10]]);router[_0x5b39[12]](_0x5b39[6],controller[_0x5b39[10]]);router[_0x5b39[14]](_0x5b39[6],controller[_0x5b39[13]]);module[_0x5b39[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasTeam = require('../../models').UserHasTeam;
-
-// Get list of user_has_teams
-exports.index = function(req, res) {
- console.log(req.query);
- UserHasTeam
- .findAll({
- where: req.query
- })
- .then(function(user_has_teams) {
- return res.status(200).send(user_has_teams);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single user_has_team
-exports.show = function(req, res) {
- UserHasTeam
- .findById(req.params.id)
- .then(function(user_has_team) {
- if (!user_has_team) {
- return res.sendStatus(404);
- }
- return res.send(user_has_team);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new user_has_team in the DB.
-exports.create = function(req, res) {
- UserHasTeam
- .create(req.body)
- .then(function(user_has_team) {
- return res.status(201).send(user_has_team);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing user_has_team in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasTeam
- .findById(req.params.id)
- .then(function(user_has_team) {
- if (!user_has_team) {
- return res.sendStatus(404);
- }
- var updated = _.merge(user_has_team, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(user_has_team);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a user_has_team from the DB.
-exports.destroy = function(req, res) {
- UserHasTeam
- .findById(req.params.id)
- .then(function(user_has_team) {
- if (!user_has_team) {
- return res.sendStatus(404);
- }
- user_has_team.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x63c6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x71\x75\x65\x72\x79","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0x63c6[0];var _=require(_0x63c6[1]);var UserHasTeam=require(_0x63c6[3])[_0x63c6[2]];exports[_0x63c6[4]]= function(_0xbbd6x3,_0xbbd6x4){console[_0x63c6[6]](_0xbbd6x3[_0x63c6[5]]);UserHasTeam[_0x63c6[11]]({where:_0xbbd6x3[_0x63c6[5]]})[_0x63c6[10]](function(_0xbbd6x6){return _0xbbd6x4[_0x63c6[9]](200)[_0x63c6[8]](_0xbbd6x6)})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})};exports[_0x63c6[12]]= function(_0xbbd6x3,_0xbbd6x4){UserHasTeam[_0x63c6[16]](_0xbbd6x3[_0x63c6[15]][_0x63c6[14]])[_0x63c6[10]](function(_0xbbd6x7){if(!_0xbbd6x7){return _0xbbd6x4[_0x63c6[13]](404)};return _0xbbd6x4[_0x63c6[8]](_0xbbd6x7)})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})};exports[_0x63c6[17]]= function(_0xbbd6x3,_0xbbd6x4){UserHasTeam[_0x63c6[17]](_0xbbd6x3[_0x63c6[18]])[_0x63c6[10]](function(_0xbbd6x7){return _0xbbd6x4[_0x63c6[9]](201)[_0x63c6[8]](_0xbbd6x7)})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})};exports[_0x63c6[19]]= function(_0xbbd6x3,_0xbbd6x4){if(_0xbbd6x3[_0x63c6[18]][_0x63c6[14]]){delete _0xbbd6x3[_0x63c6[18]][_0x63c6[14]]};UserHasTeam[_0x63c6[16]](_0xbbd6x3[_0x63c6[15]][_0x63c6[14]])[_0x63c6[10]](function(_0xbbd6x7){if(!_0xbbd6x7){return _0xbbd6x4[_0x63c6[13]](404)};var _0xbbd6x8=_[_0x63c6[20]](_0xbbd6x7,_0xbbd6x3[_0x63c6[18]]);_0xbbd6x8[_0x63c6[21]]()[_0x63c6[10]](function(){return _0xbbd6x4[_0x63c6[9]](200)[_0x63c6[8]](_0xbbd6x7)})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})};exports[_0x63c6[22]]= function(_0xbbd6x3,_0xbbd6x4){UserHasTeam[_0x63c6[16]](_0xbbd6x3[_0x63c6[15]][_0x63c6[14]])[_0x63c6[10]](function(_0xbbd6x7){if(!_0xbbd6x7){return _0xbbd6x4[_0x63c6[13]](404)};_0xbbd6x7[_0x63c6[22]]()[_0x63c6[10]](function(){return _0xbbd6x4[_0x63c6[13]](204)})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})})[_0x63c6[7]](function(_0xbbd6x5){return handleError(_0xbbd6x4,_0xbbd6x5)})};function handleError(_0xbbd6x4,_0xbbd6x5){return _0xbbd6x4[_0x63c6[9]](500)[_0x63c6[8]](_0xbbd6x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasTeam = require('../../models').UserHasTeam;
-
-var UserHasTeamEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasTeamEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasTeam.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasTeamEvents.emit(event + ':' + doc._id, doc);
- UserHasTeamEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasTeamEvents;
+var _0xf1e1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x54\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf1e1[0];const EventEmitter=require(_0xf1e1[1]);const UserHasTeam=require(_0xf1e1[3])[_0xf1e1[2]];var UserHasTeamEvents= new EventEmitter();UserHasTeamEvents[_0xf1e1[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xf1e1[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xf1e1[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xf1e1[6]};for(var e in events){var event=events[e];UserHasTeam[_0xf1e1[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x2c09x8,_0x2c09x9,_0x2c09xa){UserHasTeamEvents[_0xf1e1[10]](event+ _0xf1e1[8]+ _0x2c09x8[_0xf1e1[9]],_0x2c09x8);UserHasTeamEvents[_0xf1e1[10]](event,_0x2c09x8);_0x2c09xa(null)}}module[_0xf1e1[11]]= UserHasTeamEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasTeamEvents = require('./user_has_team.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_team:' + event, socket);
-
- UserHasTeamEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasTeamEvents.removeListener(event, listener);
- };
-}
+var _0xd05e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xd05e[0];const UserHasTeamEvents=require(_0xd05e[1]);var events=[_0xd05e[2],_0xd05e[3]];exports[_0xd05e[4]]= function(_0xd5bdx3){for(var _0xd5bdx4=0,_0xd5bdx5=events[_0xd05e[5]];_0xd5bdx4< _0xd5bdx5;_0xd5bdx4++){var _0xd5bdx6=events[_0xd5bdx4];var _0xd5bdx7=createListener(_0xd05e[6]+ _0xd5bdx6,_0xd5bdx3);UserHasTeamEvents[_0xd05e[7]](_0xd5bdx6,_0xd5bdx7);_0xd5bdx3[_0xd05e[7]](_0xd05e[8],removeListener(_0xd5bdx6,_0xd5bdx7))}};function createListener(_0xd5bdx6,_0xd5bdx3){return function(_0xd5bdx9){_0xd5bdx3[_0xd05e[9]](_0xd5bdx6,_0xd5bdx9)}}function removeListener(_0xd5bdx6,_0xd5bdx7){return function(){UserHasTeamEvents[_0xd05e[10]](_0xd5bdx6,_0xd5bdx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./user_has_voice_queue.controller');
-
-var router = express.Router();
-
-router.get('/', controller.index);
-router.get('/:id', controller.show);
-router.post('/', controller.create);
-router.put('/:id', controller.update);
-router.patch('/:id', controller.update);
-router.delete('/:id', controller.destroy);
-
-module.exports = router;
\ No newline at end of file
+var _0xb2b3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xb2b3[0];var express=require(_0xb2b3[1]);var controller=require(_0xb2b3[2]);var router=express.Router();router[_0xb2b3[5]](_0xb2b3[3],controller[_0xb2b3[4]]);router[_0xb2b3[5]](_0xb2b3[6],controller[_0xb2b3[7]]);router[_0xb2b3[9]](_0xb2b3[3],controller[_0xb2b3[8]]);router[_0xb2b3[11]](_0xb2b3[6],controller[_0xb2b3[10]]);router[_0xb2b3[12]](_0xb2b3[6],controller[_0xb2b3[10]]);router[_0xb2b3[14]](_0xb2b3[6],controller[_0xb2b3[13]]);module[_0xb2b3[15]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var UserHasVoiceQueue = require('../../models').UserHasVoiceQueue;
-
-// Get list of user_has_voice_queues
-exports.index = function(req, res) {
- UserHasVoiceQueue
- .findAll(req.query ? {
- where: req.query
- } : {})
- .then(function(user_has_voice_queues) {
- return res.status(200).send(user_has_voice_queues);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single userHasVoiceQueue
-exports.show = function(req, res) {
- UserHasVoiceQueue
- .findById(req.params.id)
- .then(function(userHasVoiceQueue) {
- if (!userHasVoiceQueue) {
- return res.sendStatus(404);
- }
- return res.send(userHasVoiceQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new userHasVoiceQueue in the DB.
-exports.create = function(req, res, next) {
- console.log(req.body);
- UserHasVoiceQueue
- .create(req.body)
- .then(function(userHasVoiceQueue) {
- return res.status(201).send(userHasVoiceQueue);
- })
- .catch(function(err) {
- console.error(err);
- return next(err);
- // return handleError(res, err);
- });
-};
-
-// Updates an existing userHasVoiceQueue in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- UserHasVoiceQueue
- .findById(req.params.id)
- .then(function(userHasVoiceQueue) {
- if (!userHasVoiceQueue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(userHasVoiceQueue, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(userHasVoiceQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a userHasVoiceQueue from the DB.
-exports.destroy = function(req, res) {
- UserHasVoiceQueue
- .findById(req.params.id)
- .then(function(userHasVoiceQueue) {
- if (!userHasVoiceQueue) {
- return res.sendStatus(404);
- }
- userHasVoiceQueue.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xf011=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xf011[0];var _=require(_0xf011[1]);var UserHasVoiceQueue=require(_0xf011[3])[_0xf011[2]];exports[_0xf011[4]]= function(_0x3e73x3,_0x3e73x4){UserHasVoiceQueue[_0xf011[10]](_0x3e73x3[_0xf011[9]]?{where:_0x3e73x3[_0xf011[9]]}:{})[_0xf011[8]](function(_0x3e73x6){return _0x3e73x4[_0xf011[7]](200)[_0xf011[6]](_0x3e73x6)})[_0xf011[5]](function(_0x3e73x5){return handleError(_0x3e73x4,_0x3e73x5)})};exports[_0xf011[11]]= function(_0x3e73x3,_0x3e73x4){UserHasVoiceQueue[_0xf011[15]](_0x3e73x3[_0xf011[14]][_0xf011[13]])[_0xf011[8]](function(_0x3e73x7){if(!_0x3e73x7){return _0x3e73x4[_0xf011[12]](404)};return _0x3e73x4[_0xf011[6]](_0x3e73x7)})[_0xf011[5]](function(_0x3e73x5){return handleError(_0x3e73x4,_0x3e73x5)})};exports[_0xf011[16]]= function(_0x3e73x3,_0x3e73x4,_0x3e73x8){console[_0xf011[18]](_0x3e73x3[_0xf011[17]]);UserHasVoiceQueue[_0xf011[16]](_0x3e73x3[_0xf011[17]])[_0xf011[8]](function(_0x3e73x7){return _0x3e73x4[_0xf011[7]](201)[_0xf011[6]](_0x3e73x7)})[_0xf011[5]](function(_0x3e73x5){console[_0xf011[19]](_0x3e73x5);return _0x3e73x8(_0x3e73x5)})};exports[_0xf011[20]]= function(_0x3e73x3,_0x3e73x4){if(_0x3e73x3[_0xf011[17]][_0xf011[13]]){delete _0x3e73x3[_0xf011[17]][_0xf011[13]]};UserHasVoiceQueue[_0xf011[15]](_0x3e73x3[_0xf011[14]][_0xf011[13]])[_0xf011[8]](function(_0x3e73x7){if(!_0x3e73x7){return _0x3e73x4[_0xf011[12]](404)};var _0x3e73x9=_[_0xf011[21]](_0x3e73x7,_0x3e73x3[_0xf011[17]]);_0x3e73x9[_0xf011[22]]()[_0xf011[8]](function(){return _0x3e73x4[_0xf011[7]](200)[_0xf011[6]](_0x3e73x7)})[_0xf011[5]](function(_0x3e73x5){return handleError(_0x3e73x4,_0x3e73x5)})})[_0xf011[5]](function(_0x3e73x5){return handleError(_0x3e73x4,_0x3e73x5)})};exports[_0xf011[23]]= function(_0x3e73x3,_0x3e73x4){UserHasVoiceQueue[_0xf011[15]](_0x3e73x3[_0xf011[14]][_0xf011[13]])[_0xf011[8]](function(_0x3e73x7){if(!_0x3e73x7){return _0x3e73x4[_0xf011[12]](404)};_0x3e73x7[_0xf011[23]]()[_0xf011[8]](function(){return _0x3e73x4[_0xf011[12]](204)})[_0xf011[5]](function(_0x3e73x5){return handleError(_0x3e73x4,_0x3e73x5)})})[_0xf011[5]](function(_0x3e73x5){return handleError(_0x3e73x4,_0x3e73x5)})};function handleError(_0x3e73x4,_0x3e73x5){return _0x3e73x4[_0xf011[7]](500)[_0xf011[6]](_0x3e73x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasVoiceQueue = require('../../models').UserHasVoiceQueue;
-
-var UserHasVoiceQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasVoiceQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasVoiceQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasVoiceQueueEvents.emit(event + ':' + doc._id, doc);
- UserHasVoiceQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasVoiceQueueEvents;
+var _0xbc70=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xbc70[0];const EventEmitter=require(_0xbc70[1]);const UserHasVoiceQueue=require(_0xbc70[3])[_0xbc70[2]];var UserHasVoiceQueueEvents= new EventEmitter();UserHasVoiceQueueEvents[_0xbc70[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xbc70[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xbc70[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xbc70[6]};for(var e in events){var event=events[e];UserHasVoiceQueue[_0xbc70[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x63d5x8,_0x63d5x9,_0x63d5xa){UserHasVoiceQueueEvents[_0xbc70[10]](event+ _0xbc70[8]+ _0x63d5x8[_0xbc70[9]],_0x63d5x8);UserHasVoiceQueueEvents[_0xbc70[10]](event,_0x63d5x8);_0x63d5xa(null)}}module[_0xbc70[11]]= UserHasVoiceQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasVoiceQueueEvents = require('./user_has_voice_queue.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_voice_queue:' + event, socket);
-
- UserHasVoiceQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'user_has_voice_queue:save':
- socket.emit(event, {
- logged: doc.logged,
- loggedAt: doc.loggedAt,
- queue: doc.queue,
- membername: doc.membername,
- interface: doc.interface,
- callstaken: doc.callstaken,
- lastcall: doc.lastcall,
- status: doc.status,
- statusdesc: doc.statusdesc,
- statusAt: doc.statusAt,
- paused: doc.paused,
- pausedAt: doc.pausedAt,
- reason: doc.reason,
- UserId: doc.UserId
- });
- break;
-
- case 'user_has_voice_queue:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasVoiceQueueEvents.removeListener(event, listener);
- };
-}
+var _0xce42=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x6C\x6F\x67\x67\x65\x64","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x63\x61\x6C\x6C\x73\x74\x61\x6B\x65\x6E","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x73\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73\x64\x65\x73\x63","\x73\x74\x61\x74\x75\x73\x41\x74","\x70\x61\x75\x73\x65\x64","\x70\x61\x75\x73\x65\x64\x41\x74","\x72\x65\x61\x73\x6F\x6E","\x55\x73\x65\x72\x49\x64","\x65\x6D\x69\x74","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xce42[0];const UserHasVoiceQueueEvents=require(_0xce42[1]);var events=[_0xce42[2],_0xce42[3]];exports[_0xce42[4]]= function(_0x5826x3){for(var _0x5826x4=0,_0x5826x5=events[_0xce42[5]];_0x5826x4< _0x5826x5;_0x5826x4++){var _0x5826x6=events[_0x5826x4];var _0x5826x7=createListener(_0xce42[6]+ _0x5826x6,_0x5826x3);UserHasVoiceQueueEvents[_0xce42[7]](_0x5826x6,_0x5826x7);_0x5826x3[_0xce42[7]](_0xce42[8],removeListener(_0x5826x6,_0x5826x7))}};function createListener(_0x5826x6,_0x5826x3){return function(_0x5826x9){switch(_0x5826x6){case _0xce42[24]:_0x5826x3[_0xce42[23]](_0x5826x6,{logged:_0x5826x9[_0xce42[9]],loggedAt:_0x5826x9[_0xce42[10]],queue:_0x5826x9[_0xce42[11]],membername:_0x5826x9[_0xce42[12]],interface:_0x5826x9[_0xce42[13]],callstaken:_0x5826x9[_0xce42[14]],lastcall:_0x5826x9[_0xce42[15]],status:_0x5826x9[_0xce42[16]],statusdesc:_0x5826x9[_0xce42[17]],statusAt:_0x5826x9[_0xce42[18]],paused:_0x5826x9[_0xce42[19]],pausedAt:_0x5826x9[_0xce42[20]],reason:_0x5826x9[_0xce42[21]],UserId:_0x5826x9[_0xce42[22]]});break;case _0xce42[25]:_0x5826x3[_0xce42[23]](_0x5826x6,_0x5826x9);break;default:}}}function removeListener(_0x5826x6,_0x5826x7){return function(){UserHasVoiceQueueEvents[_0xce42[26]](_0x5826x6,_0x5826x7)}}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const UserHasVoiceQueuePermit = require('../../models').UserHasVoiceQueuePermit;
-
-var UserHasVoiceQueuePermitEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-UserHasVoiceQueuePermitEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- UserHasVoiceQueuePermit.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- UserHasVoiceQueuePermitEvents.emit(event + ':' + doc._id, doc);
- UserHasVoiceQueuePermitEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = UserHasVoiceQueuePermitEvents;
+var _0xf395=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x50\x65\x72\x6D\x69\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xf395[0];const EventEmitter=require(_0xf395[1]);const UserHasVoiceQueuePermit=require(_0xf395[3])[_0xf395[2]];var UserHasVoiceQueuePermitEvents= new EventEmitter();UserHasVoiceQueuePermitEvents[_0xf395[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xf395[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xf395[6]};for(var e in events){var event=events[e];UserHasVoiceQueuePermit[_0xf395[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x6cfcx8,_0x6cfcx9,_0x6cfcxa){UserHasVoiceQueuePermitEvents[_0xf395[10]](event+ _0xf395[8]+ _0x6cfcx8[_0xf395[9]],_0x6cfcx8);UserHasVoiceQueuePermitEvents[_0xf395[10]](event,_0x6cfcx8);_0x6cfcxa(null)}}module[_0xf395[11]]= UserHasVoiceQueuePermitEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const UserHasVoiceQueuePermitEvents = require('./user_has_voice_queue_permit.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('user_has_voice_queue_permit:' + event, socket);
-
- UserHasVoiceQueuePermitEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- if (socket.userId === doc.Userid) {
- socket.emit('user_has_voice_queue_permit:change');
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- UserHasVoiceQueuePermitEvents.removeListener(event, listener);
- };
-}
+var _0x2f2e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x75\x73\x65\x72\x49\x64","\x55\x73\x65\x72\x69\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x3A\x63\x68\x61\x6E\x67\x65","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x2f2e[0];const UserHasVoiceQueuePermitEvents=require(_0x2f2e[1]);var events=[_0x2f2e[2],_0x2f2e[3]];exports[_0x2f2e[4]]= function(_0x4722x3){for(var _0x4722x4=0,_0x4722x5=events[_0x2f2e[5]];_0x4722x4< _0x4722x5;_0x4722x4++){var _0x4722x6=events[_0x4722x4];var _0x4722x7=createListener(_0x2f2e[6]+ _0x4722x6,_0x4722x3);UserHasVoiceQueuePermitEvents[_0x2f2e[7]](_0x4722x6,_0x4722x7);_0x4722x3[_0x2f2e[7]](_0x2f2e[8],removeListener(_0x4722x6,_0x4722x7))}};function createListener(_0x4722x6,_0x4722x3){return function(_0x4722x9){if(_0x4722x3[_0x2f2e[9]]=== _0x4722x9[_0x2f2e[10]]){_0x4722x3[_0x2f2e[12]](_0x2f2e[11])}}}function removeListener(_0x4722x6,_0x4722x7){return function(){UserHasVoiceQueuePermitEvents[_0x2f2e[13]](_0x4722x6,_0x4722x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./variable.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-/**
- * @api {get} /api/variables/ Get Variables' list.
- *
- * @apiParam (Query) {Number} [offset] Pagination offset.
- * @apiParam (Query) {Number} [limit] Pagination limit.
- *
- * @apiVersion 0.0.140
- * @apiName GetVariables
- * @apiGroup Variables
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Number} count Number of variables.
- * @apiSuccess {Object[]} rows Variables' list.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "count": 2,
- * "rows": [{
- * "id": 1
- * "name": "variable1"
- * "description": "my variable description"
- * ...
- * },{
- * "id": 2
- * "name": "newvariable"
- * "description": null
- * ...
- * },...]
- * }
- */
-router.get('/', auth.isAuthenticated(), auth.hasModule([13, 14], ['admin']), controller.index);
-/**
- * @api {get} /api/variables/:id Get Variable's details.
- * @apiParam {Number} id Variable's unique ID.
- * @apiVersion 0.0.140
- * @apiName GetVariable
- * @apiGroup Variables
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccess {Object} Variable's details.
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 1
- * "name": "variable1"
- * "description": "my variable description"
- * ...
- * }
- */
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.show);
-/**
- * @api {post} /api/variables/ Create a new variable.
- * @apiParam (body) {String} name Variable's name.
- * @apiParam (body) {String} [description] Variable's description.
- *
- * @apiVersion 0.0.140
- * @apiName CreateVariable
- * @apiGroup Variables
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 201 Created
- * {
- * "id": 3
- * "name": "Variable3"
- * "description": "my variable"
- * ...
- * }
- */
-router.post('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.create);
-/**
- * @api {put} /api/variables/:id Update variable's details.
- * @apiParam {Number} id Variable's unique ID.
- * @apiParam (body) {String} name Variable's name.
- * @apiParam (body) {String} [description] Variable's description.
- *
- * @apiVersion 0.0.140
- * @apiName UpdateVariable
- * @apiGroup Variables
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 200 OK
- * {
- * "id": 3
- * "name": "Variable 3"
- * "description": "My new description"
- * ...
- * }
- */
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.update);
-/**
- * @api {delete} /api/variables/ Bulk Delete variables.
- *
- * @apiParam (Query) {Number[]} ids Variables' unique ID array.
- *
- * @apiVersion 0.0.140
- * @apiName BulkDeleteVariables
- * @apiGroup Variables
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.bulkDestroy);
-/**
- * @api {delete} /api/variables/:id Delete a variable.
- *
- * @apiParam {Number} id Variable's unique ID.
- *
- * @apiVersion 0.0.140
- * @apiName DeleteVariable
- * @apiGroup Variables
- *
- * @apiHeader (Header) {String} Authorization Authorization access token.
- *
- * @apiHeaderExample {json} Header-Example:
- * {
- * "Authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI"
- * }
- *
- * @apiSuccessExample {json} Success-Response:
- * HTTP/1.1 204 No Content
- */
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([13], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x3c60=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x3c60[0];var express=require(_0x3c60[1]);var controller=require(_0x3c60[2]);var auth=require(_0x3c60[3]);var router=express.Router();router[_0x3c60[9]](_0x3c60[4],auth[_0x3c60[5]](),auth[_0x3c60[7]]([13,14],[_0x3c60[6]]),controller[_0x3c60[8]]);router[_0x3c60[9]](_0x3c60[10],auth[_0x3c60[5]](),auth[_0x3c60[7]]([13],[_0x3c60[6]]),controller[_0x3c60[11]]);router[_0x3c60[13]](_0x3c60[4],auth[_0x3c60[5]](),auth[_0x3c60[7]]([13],[_0x3c60[6]]),controller[_0x3c60[12]]);router[_0x3c60[15]](_0x3c60[10],auth[_0x3c60[5]](),auth[_0x3c60[7]]([13],[_0x3c60[6]]),controller[_0x3c60[14]]);router[_0x3c60[17]](_0x3c60[4],auth[_0x3c60[5]](),auth[_0x3c60[7]]([13],[_0x3c60[6]]),controller[_0x3c60[16]]);router[_0x3c60[17]](_0x3c60[10],auth[_0x3c60[5]](),auth[_0x3c60[7]]([13],[_0x3c60[6]]),controller[_0x3c60[18]]);module[_0x3c60[19]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Variable = require('../../models').Variable;
-var Util = require('../../config/util');
-
-// Get list of variables
-exports.index = function(req, res, next) {
- return Variable
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single variable
-exports.show = function(req, res) {
- return Variable
- .findById(req.params.id)
- .then(function(variable) {
- if (!variable) {
- return res.sendStatus(404);
- }
- return res.send(variable);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new variable in the DB.
-exports.create = function(req, res) {
- return Variable
- .create(req.body)
- .then(function(variable) {
- return res.status(201).send(variable);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing variable in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return Variable
- .findById(req.params.id)
- .then(function(variable) {
- if (!variable) {
- return res.sendStatus(404);
- }
- var updated = _.merge(variable, req.body);
- return updated
- .save();
- })
- .then(function(variable) {
- return res.status(200).send(variable);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a variable from the DB.
-exports.destroy = function(req, res) {
- return Variable
- .scope('fields')
- .findById(req.params.id)
- .then(function(variable) {
- if (!variable) {
- return res.sendStatus(404);
- }
- if (variableHasAssociation(variable)) {
- var err = new Error();
- err.message = 'Variable is associated with an integration\'s configuration';
- throw err;
- }
- return variable.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.bulkDestroy = function(req, res) {
- return Variable
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
-
-function variableHasAssociation(variable) {
- return ((variable.ZendeskFields && variable.ZendeskFields.length > 0) || (variable.DeskFields && variable.DeskFields.length > 0) || (variable.SalesforceFields && variable.SalesforceFields.length >
- 0) || (variable.FreshdeskFields && variable.FreshdeskFields.length > 0) || (variable.SugarcrmFields && variable.SugarcrmFields.length > 0));
-}
+var _0x9aa2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x6D\x65\x73\x73\x61\x67\x65","\x56\x61\x72\x69\x61\x62\x6C\x65\x20\x69\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x61\x6E\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x27\x73\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64\x73","\x73\x63\x6F\x70\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x73","\x6C\x65\x6E\x67\x74\x68","\x44\x65\x73\x6B\x46\x69\x65\x6C\x64\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x46\x69\x65\x6C\x64\x73","\x46\x72\x65\x73\x68\x64\x65\x73\x6B\x46\x69\x65\x6C\x64\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64\x73"];_0x9aa2[0];var _=require(_0x9aa2[1]);var Variable=require(_0x9aa2[3])[_0x9aa2[2]];var Util=require(_0x9aa2[4]);exports[_0x9aa2[5]]= function(_0x4ab6x4,_0x4ab6x5,_0x4ab6x6){return Variable[_0x9aa2[12]](Util[_0x9aa2[11]](_0x4ab6x4[_0x9aa2[10]]))[_0x9aa2[9]](function(_0x4ab6x8){_0x4ab6x5[_0x9aa2[8]](200)[_0x9aa2[7]](_0x4ab6x8)})[_0x9aa2[6]](function(_0x4ab6x7){return handleError(_0x4ab6x5,_0x4ab6x7)})};exports[_0x9aa2[13]]= function(_0x4ab6x4,_0x4ab6x5){return Variable[_0x9aa2[17]](_0x4ab6x4[_0x9aa2[16]][_0x9aa2[15]])[_0x9aa2[9]](function(_0x4ab6x9){if(!_0x4ab6x9){return _0x4ab6x5[_0x9aa2[14]](404)};return _0x4ab6x5[_0x9aa2[7]](_0x4ab6x9)})[_0x9aa2[6]](function(_0x4ab6x7){return handleError(_0x4ab6x5,_0x4ab6x7)})};exports[_0x9aa2[18]]= function(_0x4ab6x4,_0x4ab6x5){return Variable[_0x9aa2[18]](_0x4ab6x4[_0x9aa2[19]])[_0x9aa2[9]](function(_0x4ab6x9){return _0x4ab6x5[_0x9aa2[8]](201)[_0x9aa2[7]](_0x4ab6x9)})[_0x9aa2[6]](function(_0x4ab6x7){return handleError(_0x4ab6x5,_0x4ab6x7)})};exports[_0x9aa2[20]]= function(_0x4ab6x4,_0x4ab6x5){if(_0x4ab6x4[_0x9aa2[19]][_0x9aa2[15]]){delete _0x4ab6x4[_0x9aa2[19]][_0x9aa2[15]]};return Variable[_0x9aa2[17]](_0x4ab6x4[_0x9aa2[16]][_0x9aa2[15]])[_0x9aa2[9]](function(_0x4ab6x9){if(!_0x4ab6x9){return _0x4ab6x5[_0x9aa2[14]](404)};var _0x4ab6xa=_[_0x9aa2[21]](_0x4ab6x9,_0x4ab6x4[_0x9aa2[19]]);return _0x4ab6xa[_0x9aa2[22]]()})[_0x9aa2[9]](function(_0x4ab6x9){return _0x4ab6x5[_0x9aa2[8]](200)[_0x9aa2[7]](_0x4ab6x9)})[_0x9aa2[6]](function(_0x4ab6x7){return handleError(_0x4ab6x5,_0x4ab6x7)})};exports[_0x9aa2[23]]= function(_0x4ab6x4,_0x4ab6x5){return Variable[_0x9aa2[27]](_0x9aa2[26])[_0x9aa2[17]](_0x4ab6x4[_0x9aa2[16]][_0x9aa2[15]])[_0x9aa2[9]](function(_0x4ab6x9){if(!_0x4ab6x9){return _0x4ab6x5[_0x9aa2[14]](404)};if(variableHasAssociation(_0x4ab6x9)){var _0x4ab6x7= new Error();_0x4ab6x7[_0x9aa2[24]]= _0x9aa2[25];throw _0x4ab6x7};return _0x4ab6x9[_0x9aa2[23]]()})[_0x9aa2[9]](function(){return _0x4ab6x5[_0x9aa2[14]](204)})[_0x9aa2[6]](function(_0x4ab6x7){return handleError(_0x4ab6x5,_0x4ab6x7)})};exports[_0x9aa2[28]]= function(_0x4ab6x4,_0x4ab6x5){return Variable[_0x9aa2[23]]({where:{id:_0x4ab6x4[_0x9aa2[10]][_0x9aa2[29]]},individualHooks:true})[_0x9aa2[9]](function(){return _0x4ab6x5[_0x9aa2[14]](204)})[_0x9aa2[6]](function(_0x4ab6x7){return handleError(_0x4ab6x5,_0x4ab6x7)})};function handleError(_0x4ab6x5,_0x4ab6x7){return _0x4ab6x5[_0x9aa2[8]](500)[_0x9aa2[7]](_0x4ab6x7)}function variableHasAssociation(_0x4ab6x9){return ((_0x4ab6x9[_0x9aa2[30]]&& _0x4ab6x9[_0x9aa2[30]][_0x9aa2[31]]> 0)|| (_0x4ab6x9[_0x9aa2[32]]&& _0x4ab6x9[_0x9aa2[32]][_0x9aa2[31]]> 0)|| (_0x4ab6x9[_0x9aa2[33]]&& _0x4ab6x9[_0x9aa2[33]][_0x9aa2[31]]> 0)|| (_0x4ab6x9[_0x9aa2[34]]&& _0x4ab6x9[_0x9aa2[34]][_0x9aa2[31]]> 0)|| (_0x4ab6x9[_0x9aa2[35]]&& _0x4ab6x9[_0x9aa2[35]][_0x9aa2[31]]> 0))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const Variable = require('../../models').Variable;
-
-var VariableEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VariableEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- Variable.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VariableEvents.emit(event + ':' + doc._id, doc);
- VariableEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VariableEvents;
+var _0xe35c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xe35c[0];const EventEmitter=require(_0xe35c[1]);const Variable=require(_0xe35c[3])[_0xe35c[2]];var VariableEvents= new EventEmitter();VariableEvents[_0xe35c[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xe35c[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xe35c[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xe35c[6]};for(var e in events){var event=events[e];Variable[_0xe35c[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xb8fdx8,_0xb8fdx9,_0xb8fdxa){VariableEvents[_0xe35c[10]](event+ _0xe35c[8]+ _0xb8fdx8[_0xe35c[9]],_0xb8fdx8);VariableEvents[_0xe35c[10]](event,_0xb8fdx8);_0xb8fdxa(null)}}module[_0xe35c[11]]= VariableEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VariableEvents = require('./variable.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('variable:' + event, socket);
-
- VariableEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VariableEvents.removeListener(event, listener);
- };
-}
+var _0x3cee=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x61\x72\x69\x61\x62\x6C\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x3cee[0];const VariableEvents=require(_0x3cee[1]);var events=[_0x3cee[2],_0x3cee[3]];exports[_0x3cee[4]]= function(_0x20a9x3){for(var _0x20a9x4=0,_0x20a9x5=events[_0x3cee[5]];_0x20a9x4< _0x20a9x5;_0x20a9x4++){var _0x20a9x6=events[_0x20a9x4];var _0x20a9x7=createListener(_0x3cee[6]+ _0x20a9x6,_0x20a9x3);VariableEvents[_0x3cee[7]](_0x20a9x6,_0x20a9x7);_0x20a9x3[_0x3cee[7]](_0x3cee[8],removeListener(_0x20a9x6,_0x20a9x7))}};function createListener(_0x20a9x6,_0x20a9x3){return function(_0x20a9x9){_0x20a9x3[_0x3cee[9]](_0x20a9x6,_0x20a9x9)}}function removeListener(_0x20a9x6,_0x20a9x7){return function(){VariableEvents[_0x3cee[10]](_0x20a9x6,_0x20a9x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./voice_context.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.post('/validate', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.contextValidation);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-module.exports = router;
+var _0x7b5c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x63\x6F\x6E\x74\x65\x78\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7b5c[0];var express=require(_0x7b5c[1]);var controller=require(_0x7b5c[2]);var auth=require(_0x7b5c[3]);var router=express.Router();router[_0x7b5c[9]](_0x7b5c[4],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[8]]);router[_0x7b5c[9]](_0x7b5c[10],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[11]]);router[_0x7b5c[13]](_0x7b5c[4],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[12]]);router[_0x7b5c[13]](_0x7b5c[14],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[15]]);router[_0x7b5c[17]](_0x7b5c[10],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[16]]);router[_0x7b5c[19]](_0x7b5c[4],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[18]]);router[_0x7b5c[19]](_0x7b5c[10],auth[_0x7b5c[5]](),auth[_0x7b5c[7]]([7],[_0x7b5c[6]]),controller[_0x7b5c[20]]);module[_0x7b5c[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-
-var Util = require('../../config/util');
-var sequelize = require('../../models').sequelize;
-
-var VoiceContext = require('../../models').VoiceContext;
-var VoiceExtension = require('../../models').VoiceExtension;
-
-// Get list of agents
-exports.index = function(req, res, next) {
- return VoiceContext
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single voiceContext
-exports.show = function(req, res) {
- return VoiceContext
- .findById(req.params.id)
- .then(function(voiceContext) {
- if (!voiceContext) {
- return res.sendStatus(404);
- }
- return res.send(voiceContext);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Validate the existence of a context
-exports.contextValidation = function(req, res) {
- return VoiceContext
- .findAll({
- where: {
- name: req.body.name
- }
- })
- .then(function(voiceContexts) {
- if (!voiceContexts) {
- return res.sendStatus(404);
- }
- return res.send(voiceContexts);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new voiceContext in the DB.
-exports.create = function(req, res) {
- return VoiceContext
- .create(req.body)
- .then(function(voiceContext) {
- return res.status(201).send(voiceContext);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.message = 'The context name already exists';
- err.translatedMessage = 'MESSAGE_EXIST_CONTEXT'
- return handleError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Updates an existing voiceContext in the DB.
-exports.update = function(req, res) {
- return VoiceContext
- .findAll({
- where: {
- name: req.body.name,
- id: {
- $ne: req.body.id
- }
- }
- })
- .then(function(existingContexts) {
- if (!existingContexts) {
- return res.sendStatus(404);
- }
- if (existingContexts.length > 0) {
- return res.status(500).send({
- message: 'MESSAGE_EXIST_CONTEXT'
- });
- }
- if (req.body.id) {
- delete req.body.id;
- }
- return VoiceContext
- .findById(req.params.id);
- })
- .then(function(voiceContext) {
- if (!voiceContext) {
- return res.sendStatus(404);
- }
- var updated = _.merge(voiceContext, req.body);
- return updated
- .save();
- })
- .then(function(voiceContext) {
- return res.status(200).send(voiceContext);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Deletes a voiceContext from the DB.
-exports.destroy = function(req, res) {
- var _voiceContext;
-
- return VoiceContext
- .findById(req.params.id)
- .then(function(voiceContext) {
- _voiceContext = voiceContext;
- if (!_voiceContext) {
- return res.sendStatus(404);
- }
- if (_voiceContext.defaultEntry) {
- return res.status(500).send({
- message: 'You can\'t delete a default entry!',
- translatedMessage: 'MESSAGE_DEFAULT_ENTRY'
- });
- }
- return VoiceExtension
- .findAll({
- where: {
- context: _voiceContext.name,
- VoiceContextId: null
- }
- });
- })
- .then(function(contextExtensions) {
- console.log(contextExtensions);
- if (contextExtensions.length > 0) {
- return res.status(500).send({
- message: 'The context is associated to a route, delete or change it first',
- translatedMessage: 'MESSAGE_CONTEXT_ROUTE_ASSOCIATED'
- });
- }
- return _voiceContext
- .destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- console.log('err', err);
- return handleError(res, err);
- });
-
-};
-
-// Deletes a context from the DB.
-exports.bulkDestroy = function(req, res) {
-
- var _voiceContexts;
-
- return VoiceContext
- .findAll({
- where: {
- id: req.query.ids
- }
- })
- .then(function(voiceContexts) {
- _voiceContexts = voiceContexts;
- var isDefault = _.find(_voiceContexts, {
- defaultEntry: true
- });
- if (isDefault) {
- return res.status(500).send({
- message: 'You can\'t delete a default entry!',
- translatedMessage: 'MESSAGE_DEFAULT_ENTRY'
- });
- }
- if (!_voiceContexts) {
- return res.sendStatus(404);
- }
- var destroyContextsNames = _.map(_.map(_voiceContexts, 'dataValues'), 'name');
-
- return VoiceExtension
- .findAll({
- where: {
- context: destroyContextsNames,
- VoiceContextId: null
- }
- });
- })
- .then(function(contextExtensions) {
- if (contextExtensions.length > _voiceContexts.length) {
- return res.status(500).send({
- message: 'The context is associated to a route, delete or change it first',
- translatedMessage: 'MESSAGE_CONTEXT_ROUTE_ASSOCIATED'
- });
- }
-
- return VoiceContext
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x124f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x6F\x6E\x74\x65\x78\x74\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x6D\x65\x73\x73\x61\x67\x65","\x54\x68\x65\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x6E\x61\x6D\x65\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74\x73","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x43\x4F\x4E\x54\x45\x58\x54","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x73\x74\x72\x6F\x79","\x65\x72\x72","\x6C\x6F\x67","\x54\x68\x65\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x69\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x74\x6F\x20\x61\x20\x72\x6F\x75\x74\x65\x2C\x20\x64\x65\x6C\x65\x74\x65\x20\x6F\x72\x20\x63\x68\x61\x6E\x67\x65\x20\x69\x74\x20\x66\x69\x72\x73\x74","\x4D\x45\x53\x53\x41\x47\x45\x5F\x43\x4F\x4E\x54\x45\x58\x54\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x64\x65\x6C\x65\x74\x65\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x65\x6E\x74\x72\x79\x21","\x4D\x45\x53\x53\x41\x47\x45\x5F\x44\x45\x46\x41\x55\x4C\x54\x5F\x45\x4E\x54\x52\x59","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x66\x69\x6E\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x61\x70"];_0x124f[0];var _=require(_0x124f[1]);var util=require(_0x124f[2]);var Util=require(_0x124f[3]);var sequelize=require(_0x124f[5])[_0x124f[4]];var VoiceContext=require(_0x124f[5])[_0x124f[6]];var VoiceExtension=require(_0x124f[5])[_0x124f[7]];exports[_0x124f[8]]= function(_0x8ab5x7,_0x8ab5x8,_0x8ab5x9){return VoiceContext[_0x124f[15]](Util[_0x124f[14]](_0x8ab5x7[_0x124f[13]]))[_0x124f[12]](function(_0x8ab5xb){_0x8ab5x8[_0x124f[11]](200)[_0x124f[10]](_0x8ab5xb)})[_0x124f[9]](function(_0x8ab5xa){return handleError(_0x8ab5x8,_0x8ab5xa)})};exports[_0x124f[16]]= function(_0x8ab5x7,_0x8ab5x8){return VoiceContext[_0x124f[20]](_0x8ab5x7[_0x124f[19]][_0x124f[18]])[_0x124f[12]](function(_0x8ab5xc){if(!_0x8ab5xc){return _0x8ab5x8[_0x124f[17]](404)};return _0x8ab5x8[_0x124f[10]](_0x8ab5xc)})[_0x124f[9]](function(_0x8ab5xa){return handleError(_0x8ab5x8,_0x8ab5xa)})};exports[_0x124f[21]]= function(_0x8ab5x7,_0x8ab5x8){return VoiceContext[_0x124f[24]]({where:{name:_0x8ab5x7[_0x124f[23]][_0x124f[22]]}})[_0x124f[12]](function(_0x8ab5xd){if(!_0x8ab5xd){return _0x8ab5x8[_0x124f[17]](404)};return _0x8ab5x8[_0x124f[10]](_0x8ab5xd)})[_0x124f[9]](function(_0x8ab5xa){return handleError(_0x8ab5x8,_0x8ab5xa)})};exports[_0x124f[25]]= function(_0x8ab5x7,_0x8ab5x8){return VoiceContext[_0x124f[25]](_0x8ab5x7[_0x124f[23]])[_0x124f[12]](function(_0x8ab5xc){return _0x8ab5x8[_0x124f[11]](201)[_0x124f[10]](_0x8ab5xc)})[_0x124f[9]](sequelize.UniqueConstraintError,function(_0x8ab5xa){_0x8ab5xa[_0x124f[26]]= _0x124f[27];_0x8ab5xa[_0x124f[28]]= _0x124f[29];return handleError(_0x8ab5x8,_0x8ab5xa)})[_0x124f[9]](function(_0x8ab5xa){return handleError(_0x8ab5x8,_0x8ab5xa)})};exports[_0x124f[30]]= function(_0x8ab5x7,_0x8ab5x8){return VoiceContext[_0x124f[24]]({where:{name:_0x8ab5x7[_0x124f[23]][_0x124f[22]],id:{$ne:_0x8ab5x7[_0x124f[23]][_0x124f[18]]}}})[_0x124f[12]](function(_0x8ab5xf){if(!_0x8ab5xf){return _0x8ab5x8[_0x124f[17]](404)};if(_0x8ab5xf[_0x124f[33]]> 0){return _0x8ab5x8[_0x124f[11]](500)[_0x124f[10]]({message:_0x124f[29]})};if(_0x8ab5x7[_0x124f[23]][_0x124f[18]]){delete _0x8ab5x7[_0x124f[23]][_0x124f[18]]};return VoiceContext[_0x124f[20]](_0x8ab5x7[_0x124f[19]][_0x124f[18]])})[_0x124f[12]](function(_0x8ab5xc){if(!_0x8ab5xc){return _0x8ab5x8[_0x124f[17]](404)};var _0x8ab5xe=_[_0x124f[31]](_0x8ab5xc,_0x8ab5x7[_0x124f[23]]);return _0x8ab5xe[_0x124f[32]]()})[_0x124f[12]](function(_0x8ab5xc){return _0x8ab5x8[_0x124f[11]](200)[_0x124f[10]](_0x8ab5xc)})[_0x124f[9]](function(_0x8ab5xa){return handleError(_0x8ab5x8,_0x8ab5xa)})};exports[_0x124f[34]]= function(_0x8ab5x7,_0x8ab5x8){var _0x8ab5x10;return VoiceContext[_0x124f[20]](_0x8ab5x7[_0x124f[19]][_0x124f[18]])[_0x124f[12]](function(_0x8ab5xc){_0x8ab5x10= _0x8ab5xc;if(!_0x8ab5x10){return _0x8ab5x8[_0x124f[17]](404)};if(_0x8ab5x10[_0x124f[39]]){return _0x8ab5x8[_0x124f[11]](500)[_0x124f[10]]({message:_0x124f[40],translatedMessage:_0x124f[41]})};return VoiceExtension[_0x124f[24]]({where:{context:_0x8ab5x10[_0x124f[22]],VoiceContextId:null}})})[_0x124f[12]](function(_0x8ab5x11){console[_0x124f[36]](_0x8ab5x11);if(_0x8ab5x11[_0x124f[33]]> 0){return _0x8ab5x8[_0x124f[11]](500)[_0x124f[10]]({message:_0x124f[37],translatedMessage:_0x124f[38]})};return _0x8ab5x10[_0x124f[34]]()})[_0x124f[12]](function(){return _0x8ab5x8[_0x124f[17]](204)})[_0x124f[9]](function(_0x8ab5xa){console[_0x124f[36]](_0x124f[35],_0x8ab5xa);return handleError(_0x8ab5x8,_0x8ab5xa)})};exports[_0x124f[42]]= function(_0x8ab5x7,_0x8ab5x8){var _0x8ab5x12;return VoiceContext[_0x124f[24]]({where:{id:_0x8ab5x7[_0x124f[13]][_0x124f[43]]}})[_0x124f[12]](function(_0x8ab5xd){_0x8ab5x12= _0x8ab5xd;var _0x8ab5x13=_[_0x124f[44]](_0x8ab5x12,{defaultEntry:true});if(_0x8ab5x13){return _0x8ab5x8[_0x124f[11]](500)[_0x124f[10]]({message:_0x124f[40],translatedMessage:_0x124f[41]})};if(!_0x8ab5x12){return _0x8ab5x8[_0x124f[17]](404)};var _0x8ab5x14=_[_0x124f[46]](_[_0x124f[46]](_0x8ab5x12,_0x124f[45]),_0x124f[22]);return VoiceExtension[_0x124f[24]]({where:{context:_0x8ab5x14,VoiceContextId:null}})})[_0x124f[12]](function(_0x8ab5x11){if(_0x8ab5x11[_0x124f[33]]> _0x8ab5x12[_0x124f[33]]){return _0x8ab5x8[_0x124f[11]](500)[_0x124f[10]]({message:_0x124f[37],translatedMessage:_0x124f[38]})};return VoiceContext[_0x124f[34]]({where:{id:_0x8ab5x7[_0x124f[13]][_0x124f[43]]},individualHooks:true})})[_0x124f[12]](function(){return _0x8ab5x8[_0x124f[17]](204)})[_0x124f[9]](function(_0x8ab5xa){console[_0x124f[36]](_0x8ab5xa);return handleError(_0x8ab5x8,_0x8ab5xa)})};function handleError(_0x8ab5x8,_0x8ab5xa){return _0x8ab5x8[_0x124f[11]](500)[_0x124f[10]](_0x8ab5xa)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceContext = require('../../models').VoiceContext;
-
-var VoiceContextEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceContextEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceContext.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceContextEvents.emit(event + ':' + doc._id, doc);
- VoiceContextEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceContextEvents;
+var _0xc983=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc983[0];const EventEmitter=require(_0xc983[1]);const VoiceContext=require(_0xc983[3])[_0xc983[2]];var VoiceContextEvents= new EventEmitter();VoiceContextEvents[_0xc983[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xc983[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xc983[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xc983[6]};for(var e in events){var event=events[e];VoiceContext[_0xc983[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3004x8,_0x3004x9,_0x3004xa){VoiceContextEvents[_0xc983[10]](event+ _0xc983[8]+ _0x3004x8[_0xc983[9]],_0x3004x8);VoiceContextEvents[_0xc983[10]](event,_0x3004x8);_0x3004xa(null)}}module[_0xc983[11]]= VoiceContextEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceContextEvents = require('./voice_context.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_context:' + event, socket);
-
- VoiceContextEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceContextEvents.removeListener(event, listener);
- };
-}
+var _0x6c7b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x6c7b[0];const VoiceContextEvents=require(_0x6c7b[1]);var events=[_0x6c7b[2],_0x6c7b[3]];exports[_0x6c7b[4]]= function(_0x6c46x3){for(var _0x6c46x4=0,_0x6c46x5=events[_0x6c7b[5]];_0x6c46x4< _0x6c46x5;_0x6c46x4++){var _0x6c46x6=events[_0x6c46x4];var _0x6c46x7=createListener(_0x6c7b[6]+ _0x6c46x6,_0x6c46x3);VoiceContextEvents[_0x6c7b[7]](_0x6c46x6,_0x6c46x7);_0x6c46x3[_0x6c7b[7]](_0x6c7b[8],removeListener(_0x6c46x6,_0x6c46x7))}};function createListener(_0x6c46x6,_0x6c46x3){return function(_0x6c46x9){_0x6c46x3[_0x6c7b[9]](_0x6c46x6,_0x6c46x9)}}function removeListener(_0x6c46x6,_0x6c46x7){return function(){VoiceContextEvents[_0x6c7b[10]](_0x6c46x6,_0x6c46x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./voice_disposition.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), controller.index);
-
-router.get('/:id', auth.isAuthenticated(), controller.show);
-router.post('/', auth.isAuthenticated(), controller.create);
-router.put('/:id', auth.isAuthenticated(), controller.update);
-router.patch('/:id', auth.isAuthenticated(), controller.update);
-router.delete('/:id', auth.isAuthenticated(), controller.destroy);
-
-
-module.exports = router;
+var _0x59d0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x70\x61\x74\x63\x68","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x59d0[0];var express=require(_0x59d0[1]);var auth=require(_0x59d0[2]);var controller=require(_0x59d0[3]);var router=express.Router();router[_0x59d0[7]](_0x59d0[4],auth[_0x59d0[5]](),controller[_0x59d0[6]]);router[_0x59d0[7]](_0x59d0[8],auth[_0x59d0[5]](),controller[_0x59d0[9]]);router[_0x59d0[11]](_0x59d0[4],auth[_0x59d0[5]](),controller[_0x59d0[10]]);router[_0x59d0[13]](_0x59d0[8],auth[_0x59d0[5]](),controller[_0x59d0[12]]);router[_0x59d0[14]](_0x59d0[8],auth[_0x59d0[5]](),controller[_0x59d0[12]]);router[_0x59d0[16]](_0x59d0[8],auth[_0x59d0[5]](),controller[_0x59d0[15]]);module[_0x59d0[17]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/voice/dispositions -> index
- * POST /api/voice/dispositions -> create
- * GET /api/voice/dispositions/:id -> show
- * PUT /api/voice/dispositions/:id -> update
- * DELETE /api/voice/dispositions/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-
-var VoiceDisposition = require('../../models').VoiceDisposition;
-
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- console.log(err);
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of VoiceDispositions
-exports.index = function(req, res) {
- VoiceDisposition.findAndCountAll()
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Gets a single VoiceDisposition from the DB
-exports.show = function(req, res) {
- VoiceDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Creates a new VoiceDisposition in the DB
-exports.create = function(req, res) {
- VoiceDisposition.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing VoiceDisposition in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- VoiceDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a VoiceDisposition from the DB
-exports.destroy = function(req, res) {
- VoiceDisposition.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
+var _0x5166=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x6C\x6F\x67","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65"];_0x5166[0];var _=require(_0x5166[1]);var VoiceDisposition=require(_0x5166[3])[_0x5166[2]];function handleError(_0xf56ax4,_0xf56ax5){_0xf56ax5= _0xf56ax5|| 500;return function(_0xf56ax6){console[_0x5166[4]](_0xf56ax6);_0xf56ax4[_0x5166[6]](_0xf56ax5)[_0x5166[5]](_0xf56ax6)}}function responseWithResult(_0xf56ax4,_0xf56ax5){_0xf56ax5= _0xf56ax5|| 200;return function(_0xf56ax8){if(_0xf56ax8){_0xf56ax4[_0x5166[6]](_0xf56ax5)[_0x5166[7]](_0xf56ax8)}}}function responseWithoutResult(_0xf56ax4,_0xf56ax5){_0xf56ax5= _0xf56ax5|| 200;return function(){_0xf56ax4[_0x5166[8]](_0xf56ax5)}}function handleEntityNotFound(_0xf56ax4){return function(_0xf56ax8){if(!_0xf56ax8){_0xf56ax4[_0x5166[6]](404)[_0x5166[9]]();return null};return _0xf56ax8}}function saveUpdates(_0xf56axc){return function(_0xf56ax8){return _0xf56ax8[_0x5166[11]](_0xf56axc)[_0x5166[10]](function(_0xf56axd){return _0xf56axd})}}function removeEntity(_0xf56ax4){return function(_0xf56ax8){if(_0xf56ax8){return _0xf56ax8[_0x5166[12]]()[_0x5166[10]](function(){_0xf56ax4[_0x5166[6]](204)[_0x5166[9]]()})}}}exports[_0x5166[13]]= function(_0xf56axf,_0xf56ax4){VoiceDisposition[_0x5166[15]]()[_0x5166[10]](responseWithResult(_0xf56ax4))[_0x5166[14]](handleError(_0xf56ax4))};exports[_0x5166[16]]= function(_0xf56axf,_0xf56ax4){VoiceDisposition[_0x5166[19]](_0xf56axf[_0x5166[18]][_0x5166[17]])[_0x5166[10]](handleEntityNotFound(_0xf56ax4))[_0x5166[10]](responseWithResult(_0xf56ax4))[_0x5166[14]](handleError(_0xf56ax4))};exports[_0x5166[20]]= function(_0xf56axf,_0xf56ax4){VoiceDisposition[_0x5166[20]](_0xf56axf[_0x5166[21]])[_0x5166[10]](responseWithResult(_0xf56ax4,201))[_0x5166[14]](handleError(_0xf56ax4))};exports[_0x5166[22]]= function(_0xf56axf,_0xf56ax4){if(_0xf56axf[_0x5166[21]][_0x5166[17]]){delete _0xf56axf[_0x5166[21]][_0x5166[17]]};VoiceDisposition[_0x5166[19]](_0xf56axf[_0x5166[18]][_0x5166[17]])[_0x5166[10]](handleEntityNotFound(_0xf56ax4))[_0x5166[10]](saveUpdates(_0xf56axf[_0x5166[21]]))[_0x5166[10]](responseWithResult(_0xf56ax4))[_0x5166[14]](handleError(_0xf56ax4))};exports[_0x5166[12]]= function(_0xf56axf,_0xf56ax4){VoiceDisposition[_0x5166[19]](_0xf56axf[_0x5166[18]][_0x5166[17]])[_0x5166[10]](handleEntityNotFound(_0xf56ax4))[_0x5166[10]](removeEntity(_0xf56ax4))[_0x5166[14]](handleError(_0xf56ax4))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceDisposition = require('../../models').VoiceDisposition;
-
-var VoiceDispositionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceDispositionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceDisposition.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceDispositionEvents.emit(event + ':' + doc._id, doc);
- VoiceDispositionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceDispositionEvents;
+var _0xe8f4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xe8f4[0];const EventEmitter=require(_0xe8f4[1]);const VoiceDisposition=require(_0xe8f4[3])[_0xe8f4[2]];var VoiceDispositionEvents= new EventEmitter();VoiceDispositionEvents[_0xe8f4[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xe8f4[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xe8f4[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xe8f4[6]};for(var e in events){var event=events[e];VoiceDisposition[_0xe8f4[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xd3ecx8,_0xd3ecx9,_0xd3ecxa){VoiceDispositionEvents[_0xe8f4[10]](event+ _0xe8f4[8]+ _0xd3ecx8[_0xe8f4[9]],_0xd3ecx8);VoiceDispositionEvents[_0xe8f4[10]](event,_0xd3ecx8);_0xd3ecxa(null)}}module[_0xe8f4[11]]= VoiceDispositionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceDispositionEvents = require('./voice_disposition.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_disposition:' + event, socket);
-
- VoiceDispositionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceDispositionEvents.removeListener(event, listener);
- };
-}
+var _0xa7be=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xa7be[0];const VoiceDispositionEvents=require(_0xa7be[1]);var events=[_0xa7be[2],_0xa7be[3]];exports[_0xa7be[4]]= function(_0x2e0fx3){for(var _0x2e0fx4=0,_0x2e0fx5=events[_0xa7be[5]];_0x2e0fx4< _0x2e0fx5;_0x2e0fx4++){var _0x2e0fx6=events[_0x2e0fx4];var _0x2e0fx7=createListener(_0xa7be[6]+ _0x2e0fx6,_0x2e0fx3);VoiceDispositionEvents[_0xa7be[7]](_0x2e0fx6,_0x2e0fx7);_0x2e0fx3[_0xa7be[7]](_0xa7be[8],removeListener(_0x2e0fx6,_0x2e0fx7))}};function createListener(_0x2e0fx6,_0x2e0fx3){return function(_0x2e0fx9){_0x2e0fx3[_0xa7be[9]](_0x2e0fx6,_0x2e0fx9)}}function removeListener(_0x2e0fx6,_0x2e0fx7){return function(){VoiceDispositionEvents[_0xa7be[10]](_0x2e0fx6,_0x2e0fx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./voice_extension.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy); //check it for apps
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy); //check it for apps
-
-module.exports = router;
+var _0x1f18=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x1f18[0];var express=require(_0x1f18[1]);var controller=require(_0x1f18[2]);var auth=require(_0x1f18[3]);var router=express.Router();router[_0x1f18[9]](_0x1f18[4],auth[_0x1f18[5]](),auth[_0x1f18[7]]([7],[_0x1f18[6]]),controller[_0x1f18[8]]);router[_0x1f18[9]](_0x1f18[10],auth[_0x1f18[5]](),auth[_0x1f18[7]]([7],[_0x1f18[6]]),controller[_0x1f18[11]]);router[_0x1f18[13]](_0x1f18[4],auth[_0x1f18[5]](),auth[_0x1f18[7]]([7],[_0x1f18[6]]),controller[_0x1f18[12]]);router[_0x1f18[15]](_0x1f18[10],auth[_0x1f18[5]](),auth[_0x1f18[7]]([7],[_0x1f18[6]]),controller[_0x1f18[14]]);router[_0x1f18[17]](_0x1f18[4],auth[_0x1f18[5]](),auth[_0x1f18[7]]([7],[_0x1f18[6]]),controller[_0x1f18[16]]);router[_0x1f18[17]](_0x1f18[10],auth[_0x1f18[5]](),auth[_0x1f18[7]]([7],[_0x1f18[6]]),controller[_0x1f18[18]]);module[_0x1f18[19]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var VoiceExtension = require('../../models').VoiceExtension;
-var Interval = require('../../models').Interval;
-var sequelize = require('../../models').sequelize;
-var Sequelize = require('../../models').Sequelize;
-var util = require('util');
-var async = require('async');
-var veUtil = require('../../utils/voice_extension');
-var Util = require('../../config/util');
-
-var Applications = veUtil.Applications;
-
-// Get list of extensions
-exports.index = function(req, res, next) {
- return VoiceExtension
- .scope('routes', 'application')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get a single voice_extension or application
-exports.show = function(req, res) {
- return VoiceExtension
- .scope('application')
- .findOne({
- where: {
- id: req.params.id,
- VoiceExtensionId: null
- }
- })
- .then(function(voice_extension) {
- if (!voice_extension) {
- return res.sendStatus(404);
- }
- return res.send(voice_extension);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.create = function(req, res) {
- var _route;
- return sequelize.transaction(function(t) {
- return VoiceExtension
- .create(req.body, {
- transaction: t
- })
- .then(function(route) {
- _route = route;
- if (req.body.Applications && Array.isArray(req.body.Applications) && req.body.Applications.length) {
- return route;
- }
- })
- .then(veUtil.createApps(req.body.Applications, t, res));
- })
- .then(function() {
- return res.status(201).send(_route);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.message = 'Extension/context combination already exist';
- err.translatedMessage = 'MESSAGE_EXIST_ROUTE'
- return handleError(res, err);
- })
- .catch(sequelize.ValidationError, function(err) {
- err.message = 'Extension/context combination already exist';
- err.translatedMessage = 'MESSAGE_EXIST_ROUTE'
- return handleError(res, err);
- })
- .catch(function(err) {
- console.log('err', err);
- return handleError(res, err);
- });
-}
-
-
-
-// Updates an existing voice_extension in the DB.
-exports.update = function(req, res) {
- return sequelize.transaction(function(t) {
- return veUtil.routeUpdate(req, t);
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- err.message = 'Extension/context combination already exist';
- err.translatedMessage = 'MESSAGE_EXIST_ROUTE'
- console.log(err);
- return handleError(res, err);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-}
-
-// Deletes a voice_extension from the DB.
-exports.destroy = function(req, res, next) {
- return sequelize.transaction(function(t) {
- return VoiceExtension
- .findById(req.params.id)
- .then(function(voice_extension) {
- if (!voice_extension) {
- return res.sendStatus(404);
- }
- return voice_extension.destroy();
- });
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Deletes from the DB.
-exports.bulkDestroy = function(req, res) {
- return VoiceExtension
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x3543=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x53\x65\x71\x75\x65\x6C\x69\x7A\x65","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x72\x6F\x75\x74\x65\x73","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x65\x72\x72","\x6D\x65\x73\x73\x61\x67\x65","\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2F\x63\x6F\x6E\x74\x65\x78\x74\x20\x63\x6F\x6D\x62\x69\x6E\x61\x74\x69\x6F\x6E\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x73","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x72\x6F\x75\x74\x65\x55\x70\x64\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64\x42\x79\x49\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x3543[0];var _=require(_0x3543[1]);var VoiceExtension=require(_0x3543[3])[_0x3543[2]];var Interval=require(_0x3543[3])[_0x3543[4]];var sequelize=require(_0x3543[3])[_0x3543[5]];var Sequelize=require(_0x3543[3])[_0x3543[6]];var util=require(_0x3543[7]);var async=require(_0x3543[8]);var veUtil=require(_0x3543[9]);var Util=require(_0x3543[10]);var Applications=veUtil[_0x3543[11]];exports[_0x3543[12]]= function(_0x96e3xb,_0x96e3xc,_0x96e3xd){return VoiceExtension[_0x3543[24]](_0x3543[22],_0x3543[23])[_0x3543[21]](_[_0x3543[20]](Util[_0x3543[19]](_0x96e3xb[_0x3543[18]]),{distinct:true}))[_0x3543[17]](function(_0x96e3xf){_0x96e3xc[_0x3543[16]](200)[_0x3543[15]](_0x96e3xf)})[_0x3543[14]](function(_0x96e3xe){console[_0x3543[13]](_0x96e3xe);return handleError(_0x96e3xc,_0x96e3xe)})};exports[_0x3543[25]]= function(_0x96e3xb,_0x96e3xc){return VoiceExtension[_0x3543[24]](_0x3543[23])[_0x3543[29]]({where:{id:_0x96e3xb[_0x3543[28]][_0x3543[27]],VoiceExtensionId:null}})[_0x3543[17]](function(_0x96e3x10){if(!_0x96e3x10){return _0x96e3xc[_0x3543[26]](404)};return _0x96e3xc[_0x3543[15]](_0x96e3x10)})[_0x3543[14]](function(_0x96e3xe){return handleError(_0x96e3xc,_0x96e3xe)})};exports[_0x3543[30]]= function(_0x96e3xb,_0x96e3xc){var _0x96e3x11;return sequelize[_0x3543[40]](function(_0x96e3x12){return VoiceExtension[_0x3543[30]](_0x96e3xb[_0x3543[36]],{transaction:_0x96e3x12})[_0x3543[17]](function(_0x96e3x13){_0x96e3x11= _0x96e3x13;if(_0x96e3xb[_0x3543[36]][_0x3543[11]]&& Array[_0x3543[38]](_0x96e3xb[_0x3543[36]].Applications)&& _0x96e3xb[_0x3543[36]][_0x3543[11]][_0x3543[39]]){return _0x96e3x13}})[_0x3543[17]](veUtil[_0x3543[37]](_0x96e3xb[_0x3543[36]].Applications,_0x96e3x12,_0x96e3xc))})[_0x3543[17]](function(){return _0x96e3xc[_0x3543[16]](201)[_0x3543[15]](_0x96e3x11)})[_0x3543[14]](sequelize.UniqueConstraintError,function(_0x96e3xe){_0x96e3xe[_0x3543[32]]= _0x3543[33];_0x96e3xe[_0x3543[34]]= _0x3543[35];return handleError(_0x96e3xc,_0x96e3xe)})[_0x3543[14]](sequelize.ValidationError,function(_0x96e3xe){_0x96e3xe[_0x3543[32]]= _0x3543[33];_0x96e3xe[_0x3543[34]]= _0x3543[35];return handleError(_0x96e3xc,_0x96e3xe)})[_0x3543[14]](function(_0x96e3xe){console[_0x3543[13]](_0x3543[31],_0x96e3xe);return handleError(_0x96e3xc,_0x96e3xe)})};exports[_0x3543[41]]= function(_0x96e3xb,_0x96e3xc){return sequelize[_0x3543[40]](function(_0x96e3x12){return veUtil[_0x3543[42]](_0x96e3xb,_0x96e3x12)})[_0x3543[17]](function(){return _0x96e3xc[_0x3543[26]](200)})[_0x3543[14]](sequelize.UniqueConstraintError,function(_0x96e3xe){_0x96e3xe[_0x3543[32]]= _0x3543[33];_0x96e3xe[_0x3543[34]]= _0x3543[35];console[_0x3543[13]](_0x96e3xe);return handleError(_0x96e3xc,_0x96e3xe)})[_0x3543[14]](function(_0x96e3xe){console[_0x3543[13]](_0x96e3xe);return handleError(_0x96e3xc,_0x96e3xe)})};exports[_0x3543[43]]= function(_0x96e3xb,_0x96e3xc,_0x96e3xd){return sequelize[_0x3543[40]](function(_0x96e3x12){return VoiceExtension[_0x3543[44]](_0x96e3xb[_0x3543[28]][_0x3543[27]])[_0x3543[17]](function(_0x96e3x10){if(!_0x96e3x10){return _0x96e3xc[_0x3543[26]](404)};return _0x96e3x10[_0x3543[43]]()})})[_0x3543[17]](function(){return _0x96e3xc[_0x3543[26]](204)})[_0x3543[14]](function(_0x96e3xe){console[_0x3543[13]](_0x96e3xe);return handleError(_0x96e3xc,_0x96e3xe)})};exports[_0x3543[45]]= function(_0x96e3xb,_0x96e3xc){return VoiceExtension[_0x3543[43]]({where:{id:_0x96e3xb[_0x3543[18]][_0x3543[46]]},individualHooks:true})[_0x3543[17]](function(){return _0x96e3xc[_0x3543[26]](204)})[_0x3543[14]](function(_0x96e3xe){return handleError(_0x96e3xc,_0x96e3xe)})};function handleError(_0x96e3xc,_0x96e3xe){return _0x96e3xc[_0x3543[16]](500)[_0x3543[15]](_0x96e3xe)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceExtension = require('../../models').VoiceExtension;
-
-var VoiceExtensionEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceExtensionEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'update',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceExtension.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceExtensionEvents.emit(event + ':' + doc._id, doc);
- VoiceExtensionEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceExtensionEvents;
+var _0x5ea2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5ea2[0];const EventEmitter=require(_0x5ea2[1]);const VoiceExtension=require(_0x5ea2[3])[_0x5ea2[2]];var VoiceExtensionEvents= new EventEmitter();VoiceExtensionEvents[_0x5ea2[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x5ea2[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x5ea2[6],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x5ea2[7]};for(var e in events){var event=events[e];VoiceExtension[_0x5ea2[8]](e,emitEvent(event))};function emitEvent(event){return function(_0x3fe8x8,_0x3fe8x9,_0x3fe8xa){VoiceExtensionEvents[_0x5ea2[11]](event+ _0x5ea2[9]+ _0x3fe8x8[_0x5ea2[10]],_0x3fe8x8);VoiceExtensionEvents[_0x5ea2[11]](event,_0x3fe8x8);_0x3fe8xa(null)}}module[_0x5ea2[12]]= VoiceExtensionEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceExtensionEvents = require('./voice_extension.events');
-
-// Model events to emit
-var events = ['save', 'update', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_extension:' + event, socket);
-
- VoiceExtensionEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceExtensionEvents.removeListener(event, listener);
- };
-}
+var _0x3837=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x75\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x3837[0];const VoiceExtensionEvents=require(_0x3837[1]);var events=[_0x3837[2],_0x3837[3],_0x3837[4]];exports[_0x3837[5]]= function(_0x1709x3){for(var _0x1709x4=0,_0x1709x5=events[_0x3837[6]];_0x1709x4< _0x1709x5;_0x1709x4++){var _0x1709x6=events[_0x1709x4];var _0x1709x7=createListener(_0x3837[7]+ _0x1709x6,_0x1709x3);VoiceExtensionEvents[_0x3837[8]](_0x1709x6,_0x1709x7);_0x1709x3[_0x3837[8]](_0x3837[9],removeListener(_0x1709x6,_0x1709x7))}};function createListener(_0x1709x6,_0x1709x3){return function(_0x1709x9){_0x1709x3[_0x3837[10]](_0x1709x6,_0x1709x9)}}function removeListener(_0x1709x6,_0x1709x7){return function(){VoiceExtensionEvents[_0x3837[11]](_0x1709x6,_0x1709x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./voice_musiconhold.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.index);
-router.get('/stream', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.stream);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.get('/:id/files', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.showAudioFiles);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.post('/validate', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.mohValidation);
-router.post('/:id/files', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.addFiles);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-router.delete('/:id/files', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.deleteAudioFiles);
-
-module.exports = router;
+var _0x7dd4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x73\x74\x72\x65\x61\x6D","\x73\x74\x72\x65\x61\x6D","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x66\x69\x6C\x65\x73","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x6C\x65\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0x7dd4[0];var express=require(_0x7dd4[1]);var controller=require(_0x7dd4[2]);var auth=require(_0x7dd4[3]);var router=express.Router();router[_0x7dd4[9]](_0x7dd4[4],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[8]]);router[_0x7dd4[9]](_0x7dd4[10],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[11]]);router[_0x7dd4[9]](_0x7dd4[12],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[13]]);router[_0x7dd4[9]](_0x7dd4[14],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[15]]);router[_0x7dd4[17]](_0x7dd4[4],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[16]]);router[_0x7dd4[17]](_0x7dd4[18],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[19]]);router[_0x7dd4[17]](_0x7dd4[14],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[20]]);router[_0x7dd4[22]](_0x7dd4[12],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[21]]);router[_0x7dd4[24]](_0x7dd4[4],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[23]]);router[_0x7dd4[24]](_0x7dd4[12],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[25]]);router[_0x7dd4[24]](_0x7dd4[14],auth[_0x7dd4[5]](),auth[_0x7dd4[7]]([7],[_0x7dd4[6]]),controller[_0x7dd4[26]]);module[_0x7dd4[27]]= router
\ No newline at end of file
-'use strict';
-
-var fs = require('fs');
-var _ = require('lodash');
-var path = require('path');
-var util = require('util');
-var fse = require('fs-extra');
-var remove = require('remove');
-var base64 = require('file-base64');
-
-var config = require('../../config/environment');
-var Util = require('../../config/util');
-
-var Sound = require('../../models').Sound;
-var Setting = require('../../models').Setting;
-var sequelize = require('../../models').sequelize;
-var VoiceMusicOnHold = require('../../models').VoiceMusicOnHold;
-
-
-// Get list of voice_musiconholds
-exports.index = function(req, res) {
- return VoiceMusicOnHold
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single voiceMusiconhold
-exports.show = function(req, res) {
- return VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voiceMusiconhold) {
- if (!voiceMusiconhold) {
- return res.sendStatus(404);
- }
- return res.send(voiceMusiconhold);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Add files to moh class
-exports.addFiles = function(req, res) {
- var _voiceMusiconhold, _soundFiles;
- return VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voiceMusiconhold) {
- if (!voiceMusiconhold) {
- return res.sendStatus(404);
- }
- _voiceMusiconhold = voiceMusiconhold;
-
- return Sound
- .findAll({
- where: {
- id: req.body.sounds
- }
- });
- })
- .then(function(soundFiles) {
- _soundFiles = soundFiles;
-
- return Setting
- .findById(1);
- })
- .then(function(settings) {
-
- var dest;
- _soundFiles.forEach(function(elem) {
- dest = path.join(_voiceMusiconhold.directory, elem.display_name + '.wav');
- fse.copySync(path.join(settings.soundPath || '/var/opt/motion/server/files/sounds/converted', elem.save_name + '.wav'), dest);
- });
- fs.chmodSync(dest, parseInt('0777', 8));
- res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.showAudioFiles = function(req, res) {
- var fileObject = {};
- VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voiceMusiconhold) {
- if (!voiceMusiconhold) {
- return res.sendStatus(404);
- }
- fileObject.path = voiceMusiconhold.directory;
- fs.readdir(voiceMusiconhold.directory, function(err, files) {
- if (!err) {
- fileObject.files = files;
- return res.send(fileObject);
- } else {
- throw err;
- }
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.deleteAudioFiles = function(req, res) {
- return VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voiceMusiconhold) {
- if (!voiceMusiconhold) {
- return res.sendStatus(404);
- }
- var deletePath = voiceMusiconhold.directory + '/' + req.query.filename;
- fs.unlink(deletePath, function(err) {
- if (err) {
- return handleError(res, err);
- } else {
- return res.sendStatus(204);
- }
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Validate the existence of a route
-exports.mohValidation = function(req, res) {
- console.log(req.body);
- return VoiceMusicOnHold
- .findAll({
- where: {
- name: req.body.name,
- }
- })
- .then(function(voice_mohs) {
- if (!voice_mohs) {
- return res.sendStatus(404);
- }
- return res.send(voice_mohs);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new voiceMusiconhold in the DB.
-exports.create = function(req, res) {
- return sequelize.transaction().then(function(t) {
- req.body.directory = path.join(config.root, 'server/files/moh', req.body.name);
- return VoiceMusicOnHold
- .create(req.body, {
- transaction: t
- })
- .then(function(voiceMusiconhold) {
- fs.mkdir(voiceMusiconhold.directory, parseInt('0777', 8), function(err) {
- if (err) {
- console.log('file error');
- t.rollback();
- return res.status(500).send({
- message: 'MESSAGE_FILE_CREATION_ERROR'
- });
- }
- t.commit();
- console.log('file created');
- return res.status(201).send(voiceMusiconhold);
- });
- })
- .catch(function(err) {
- t.rollback();
- });
- })
-};
-
-// Updates an existing voiceMusiconhold in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voiceMusiconhold) {
- if (!voiceMusiconhold) {
- return res.sendStatus(404);
- }
- var updated = _.merge(voiceMusiconhold, req.body);
-
- return updated
- .save();
- })
- .then(function(voiceMusiconhold) {
- return res.status(200).send(voiceMusiconhold);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a voiceMusiconhold from the DB.
-exports.destroy = function(req, res) {
- var _voicemoh;
- return sequelize.transaction(function(t) {
- return VoiceMusicOnHold
- .findById(req.params.id)
- .then(function(voiceMusiconhold) {
- if (!voiceMusiconhold) {
- return res.sendStatus(404);
- }
- _voicemoh = voiceMusiconhold;
- return voiceMusiconhold.destroy({
- transaction: t
- });
- })
- .then(function() {
- remove(_voicemoh.directory, function(err) {
- if (err) {
- console.log(err);
- }
- return res.sendStatus(204);
- });
- })
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes multiple voice_musiconholds from the DB.
-exports.bulkDestroy = function(req, res) {
- var _voicemohs;
- return sequelize.transaction(function(t) {
- return VoiceMusicOnHold
- .findAll({
- where: {
- id: req.query.ids
- }
- })
- .then(function(voice_musiconholds) {
- if (!voice_musiconholds) {
- return res.sendStatus(404);
- }
- _voicemohs = voice_musiconholds;
- var bulkDest = [];
- voice_musiconholds.forEach(function(element) {
- bulkDest.push(element.destroy({
- transaction: t
- }));
- });
- return bulkDest;
- })
- .all()
- .then(function() {
- _voicemohs.forEach(function(element) {
- remove(element.directory, function(err) {
- if (err) {
- console.log(err);
- throw err
- }
- });
- })
- });
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// stream a moh file
-exports.stream = function(req, res) {
- var filepath = decodeURI(req.query.path);
- base64.encode(filepath, function(err, base64String) {
- if (err) {
- return handleError(res, err);
- } else {
- return res.status(200).send(base64String);
- }
- });
-};
-
-function handleError(res, err) {
- console.log(err);
- return res.status(500).send(err);
-}
+var _0xb1d4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x75\x74\x69\x6C","\x66\x73\x2D\x65\x78\x74\x72\x61","\x72\x65\x6D\x6F\x76\x65","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x53\x6F\x75\x6E\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x65\x74\x74\x69\x6E\x67","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x46\x69\x6C\x65\x73","\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x2E\x77\x61\x76","\x6A\x6F\x69\x6E","\x73\x6F\x75\x6E\x64\x50\x61\x74\x68","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x63\x6F\x70\x79\x53\x79\x6E\x63","\x66\x6F\x72\x45\x61\x63\x68","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x73\x6F\x75\x6E\x64\x73","\x62\x6F\x64\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x66\x69\x6C\x65\x73","\x72\x65\x61\x64\x64\x69\x72","\x64\x65\x6C\x65\x74\x65\x41\x75\x64\x69\x6F\x46\x69\x6C\x65\x73","\x2F","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x75\x6E\x6C\x69\x6E\x6B","\x6D\x6F\x68\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x6C\x6F\x67","\x6E\x61\x6D\x65","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x6D\x6F\x68","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x66\x69\x6C\x65\x20\x65\x72\x72\x6F\x72","\x4D\x45\x53\x53\x41\x47\x45\x5F\x46\x49\x4C\x45\x5F\x43\x52\x45\x41\x54\x49\x4F\x4E\x5F\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x66\x69\x6C\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x6D\x6B\x64\x69\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x6C\x6C","\x70\x75\x73\x68","\x69\x64\x73","\x73\x74\x72\x65\x61\x6D","\x65\x6E\x63\x6F\x64\x65"];_0xb1d4[0];var fs=require(_0xb1d4[1]);var _=require(_0xb1d4[2]);var path=require(_0xb1d4[3]);var util=require(_0xb1d4[4]);var fse=require(_0xb1d4[5]);var remove=require(_0xb1d4[6]);var base64=require(_0xb1d4[7]);var config=require(_0xb1d4[8]);var Util=require(_0xb1d4[9]);var Sound=require(_0xb1d4[11])[_0xb1d4[10]];var Setting=require(_0xb1d4[11])[_0xb1d4[12]];var sequelize=require(_0xb1d4[11])[_0xb1d4[13]];var VoiceMusicOnHold=require(_0xb1d4[11])[_0xb1d4[14]];exports[_0xb1d4[15]]= function(_0xa0c6xe,_0xa0c6xf){return VoiceMusicOnHold[_0xb1d4[22]](Util[_0xb1d4[21]](_0xa0c6xe[_0xb1d4[20]]))[_0xb1d4[19]](function(_0xa0c6x11){_0xa0c6xf[_0xb1d4[18]](200)[_0xb1d4[17]](_0xa0c6x11)})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[23]]= function(_0xa0c6xe,_0xa0c6xf){return VoiceMusicOnHold[_0xb1d4[27]](_0xa0c6xe[_0xb1d4[26]][_0xb1d4[25]])[_0xb1d4[19]](function(_0xa0c6x12){if(!_0xa0c6x12){return _0xa0c6xf[_0xb1d4[24]](404)};return _0xa0c6xf[_0xb1d4[17]](_0xa0c6x12)})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[28]]= function(_0xa0c6xe,_0xa0c6xf){var _0xa0c6x13,_0xa0c6x14;return VoiceMusicOnHold[_0xb1d4[27]](_0xa0c6xe[_0xb1d4[26]][_0xb1d4[25]])[_0xb1d4[19]](function(_0xa0c6x12){if(!_0xa0c6x12){return _0xa0c6xf[_0xb1d4[24]](404)};_0xa0c6x13= _0xa0c6x12;return Sound[_0xb1d4[42]]({where:{id:_0xa0c6xe[_0xb1d4[41]][_0xb1d4[40]]}})})[_0xb1d4[19]](function(_0xa0c6x18){_0xa0c6x14= _0xa0c6x18;return Setting[_0xb1d4[27]](1)})[_0xb1d4[19]](function(_0xa0c6x15){var _0xa0c6x16;_0xa0c6x14[_0xb1d4[37]](function(_0xa0c6x17){_0xa0c6x16= path[_0xb1d4[32]](_0xa0c6x13[_0xb1d4[29]],_0xa0c6x17[_0xb1d4[30]]+ _0xb1d4[31]);fse[_0xb1d4[36]](path[_0xb1d4[32]](_0xa0c6x15[_0xb1d4[33]]|| _0xb1d4[34],_0xa0c6x17[_0xb1d4[35]]+ _0xb1d4[31]),_0xa0c6x16)});fs[_0xb1d4[39]](_0xa0c6x16,parseInt(_0xb1d4[38],8));_0xa0c6xf[_0xb1d4[24]](200)})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[43]]= function(_0xa0c6xe,_0xa0c6xf){var _0xa0c6x19={};VoiceMusicOnHold[_0xb1d4[27]](_0xa0c6xe[_0xb1d4[26]][_0xb1d4[25]])[_0xb1d4[19]](function(_0xa0c6x12){if(!_0xa0c6x12){return _0xa0c6xf[_0xb1d4[24]](404)};_0xa0c6x19[_0xb1d4[3]]= _0xa0c6x12[_0xb1d4[29]];fs[_0xb1d4[45]](_0xa0c6x12[_0xb1d4[29]],function(_0xa0c6x10,_0xa0c6x1a){if(!_0xa0c6x10){_0xa0c6x19[_0xb1d4[44]]= _0xa0c6x1a;return _0xa0c6xf[_0xb1d4[17]](_0xa0c6x19)}else {throw _0xa0c6x10}})})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[46]]= function(_0xa0c6xe,_0xa0c6xf){return VoiceMusicOnHold[_0xb1d4[27]](_0xa0c6xe[_0xb1d4[26]][_0xb1d4[25]])[_0xb1d4[19]](function(_0xa0c6x12){if(!_0xa0c6x12){return _0xa0c6xf[_0xb1d4[24]](404)};var _0xa0c6x1b=_0xa0c6x12[_0xb1d4[29]]+ _0xb1d4[47]+ _0xa0c6xe[_0xb1d4[20]][_0xb1d4[48]];fs[_0xb1d4[49]](_0xa0c6x1b,function(_0xa0c6x10){if(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)}else {return _0xa0c6xf[_0xb1d4[24]](204)}})})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[50]]= function(_0xa0c6xe,_0xa0c6xf){console[_0xb1d4[51]](_0xa0c6xe[_0xb1d4[41]]);return VoiceMusicOnHold[_0xb1d4[42]]({where:{name:_0xa0c6xe[_0xb1d4[41]][_0xb1d4[52]]}})[_0xb1d4[19]](function(_0xa0c6x1c){if(!_0xa0c6x1c){return _0xa0c6xf[_0xb1d4[24]](404)};return _0xa0c6xf[_0xb1d4[17]](_0xa0c6x1c)})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[53]]= function(_0xa0c6xe,_0xa0c6xf){return sequelize[_0xb1d4[62]]()[_0xb1d4[19]](function(_0xa0c6x1d){_0xa0c6xe[_0xb1d4[41]][_0xb1d4[29]]= path[_0xb1d4[32]](config[_0xb1d4[54]],_0xb1d4[55],_0xa0c6xe[_0xb1d4[41]][_0xb1d4[52]]);return VoiceMusicOnHold[_0xb1d4[53]](_0xa0c6xe[_0xb1d4[41]],{transaction:_0xa0c6x1d})[_0xb1d4[19]](function(_0xa0c6x12){fs[_0xb1d4[61]](_0xa0c6x12[_0xb1d4[29]],parseInt(_0xb1d4[38],8),function(_0xa0c6x10){if(_0xa0c6x10){console[_0xb1d4[51]](_0xb1d4[57]);_0xa0c6x1d[_0xb1d4[56]]();return _0xa0c6xf[_0xb1d4[18]](500)[_0xb1d4[17]]({message:_0xb1d4[58]})};_0xa0c6x1d[_0xb1d4[59]]();console[_0xb1d4[51]](_0xb1d4[60]);return _0xa0c6xf[_0xb1d4[18]](201)[_0xb1d4[17]](_0xa0c6x12)})})[_0xb1d4[16]](function(_0xa0c6x10){_0xa0c6x1d[_0xb1d4[56]]()})})};exports[_0xb1d4[63]]= function(_0xa0c6xe,_0xa0c6xf){if(_0xa0c6xe[_0xb1d4[41]][_0xb1d4[25]]){delete _0xa0c6xe[_0xb1d4[41]][_0xb1d4[25]]};return VoiceMusicOnHold[_0xb1d4[27]](_0xa0c6xe[_0xb1d4[26]][_0xb1d4[25]])[_0xb1d4[19]](function(_0xa0c6x12){if(!_0xa0c6x12){return _0xa0c6xf[_0xb1d4[24]](404)};var _0xa0c6x1e=_[_0xb1d4[64]](_0xa0c6x12,_0xa0c6xe[_0xb1d4[41]]);return _0xa0c6x1e[_0xb1d4[65]]()})[_0xb1d4[19]](function(_0xa0c6x12){return _0xa0c6xf[_0xb1d4[18]](200)[_0xb1d4[17]](_0xa0c6x12)})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[66]]= function(_0xa0c6xe,_0xa0c6xf){var _0xa0c6x1f;return sequelize[_0xb1d4[62]](function(_0xa0c6x1d){return VoiceMusicOnHold[_0xb1d4[27]](_0xa0c6xe[_0xb1d4[26]][_0xb1d4[25]])[_0xb1d4[19]](function(_0xa0c6x12){if(!_0xa0c6x12){return _0xa0c6xf[_0xb1d4[24]](404)};_0xa0c6x1f= _0xa0c6x12;return _0xa0c6x12[_0xb1d4[66]]({transaction:_0xa0c6x1d})})[_0xb1d4[19]](function(){remove(_0xa0c6x1f[_0xb1d4[29]],function(_0xa0c6x10){if(_0xa0c6x10){console[_0xb1d4[51]](_0xa0c6x10)};return _0xa0c6xf[_0xb1d4[24]](204)})})})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[67]]= function(_0xa0c6xe,_0xa0c6xf){var _0xa0c6x20;return sequelize[_0xb1d4[62]](function(_0xa0c6x1d){return VoiceMusicOnHold[_0xb1d4[42]]({where:{id:_0xa0c6xe[_0xb1d4[20]][_0xb1d4[70]]}})[_0xb1d4[19]](function(_0xa0c6x22){if(!_0xa0c6x22){return _0xa0c6xf[_0xb1d4[24]](404)};_0xa0c6x20= _0xa0c6x22;var _0xa0c6x23=[];_0xa0c6x22[_0xb1d4[37]](function(_0xa0c6x21){_0xa0c6x23[_0xb1d4[69]](_0xa0c6x21[_0xb1d4[66]]({transaction:_0xa0c6x1d}))});return _0xa0c6x23})[_0xb1d4[68]]()[_0xb1d4[19]](function(){_0xa0c6x20[_0xb1d4[37]](function(_0xa0c6x21){remove(_0xa0c6x21[_0xb1d4[29]],function(_0xa0c6x10){if(_0xa0c6x10){console[_0xb1d4[51]](_0xa0c6x10);throw _0xa0c6x10}})})})})[_0xb1d4[19]](function(){return _0xa0c6xf[_0xb1d4[24]](204)})[_0xb1d4[16]](function(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)})};exports[_0xb1d4[71]]= function(_0xa0c6xe,_0xa0c6xf){var _0xa0c6x24=decodeURI(_0xa0c6xe[_0xb1d4[20]][_0xb1d4[3]]);base64[_0xb1d4[72]](_0xa0c6x24,function(_0xa0c6x10,_0xa0c6x25){if(_0xa0c6x10){return handleError(_0xa0c6xf,_0xa0c6x10)}else {return _0xa0c6xf[_0xb1d4[18]](200)[_0xb1d4[17]](_0xa0c6x25)}})};function handleError(_0xa0c6xf,_0xa0c6x10){console[_0xb1d4[51]](_0xa0c6x10);return _0xa0c6xf[_0xb1d4[18]](500)[_0xb1d4[17]](_0xa0c6x10)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceMusicOnHold = require('../../models').VoiceMusicOnHold;
-
-var VoiceMusicOnHoldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceMusicOnHoldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceMusicOnHold.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceMusicOnHoldEvents.emit(event + ':' + doc._id, doc);
- VoiceMusicOnHoldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceMusicOnHoldEvents;
+var _0x44de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x44de[0];const EventEmitter=require(_0x44de[1]);const VoiceMusicOnHold=require(_0x44de[3])[_0x44de[2]];var VoiceMusicOnHoldEvents= new EventEmitter();VoiceMusicOnHoldEvents[_0x44de[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x44de[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x44de[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x44de[6]};for(var e in events){var event=events[e];VoiceMusicOnHold[_0x44de[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc6cex8,_0xc6cex9,_0xc6cexa){VoiceMusicOnHoldEvents[_0x44de[10]](event+ _0x44de[8]+ _0xc6cex8[_0x44de[9]],_0xc6cex8);VoiceMusicOnHoldEvents[_0x44de[10]](event,_0xc6cex8);_0xc6cexa(null)}}module[_0x44de[11]]= VoiceMusicOnHoldEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceMusicOnHoldEvents = require('./voice_musiconhold.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_musiconhold:' + event, socket);
-
- VoiceMusicOnHoldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceMusicOnHoldEvents.removeListener(event, listener);
- };
-}
+var _0x15d4=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x15d4[0];const VoiceMusicOnHoldEvents=require(_0x15d4[1]);var events=[_0x15d4[2],_0x15d4[3]];exports[_0x15d4[4]]= function(_0xf92bx3){for(var _0xf92bx4=0,_0xf92bx5=events[_0x15d4[5]];_0xf92bx4< _0xf92bx5;_0xf92bx4++){var _0xf92bx6=events[_0xf92bx4];var _0xf92bx7=createListener(_0x15d4[6]+ _0xf92bx6,_0xf92bx3);VoiceMusicOnHoldEvents[_0x15d4[7]](_0xf92bx6,_0xf92bx7);_0xf92bx3[_0x15d4[7]](_0x15d4[8],removeListener(_0xf92bx6,_0xf92bx7))}};function createListener(_0xf92bx6,_0xf92bx3){return function(_0xf92bx9){_0xf92bx3[_0x15d4[9]](_0xf92bx6,_0xf92bx9)}}function removeListener(_0xf92bx6,_0xf92bx7){return function(){VoiceMusicOnHoldEvents[_0x15d4[10]](_0xf92bx6,_0xf92bx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./voice_queue.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7, 13], ['admin']), controller.index);
-router.get('/:name', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.get('/realtime/voice', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.getRealtimeQueues);
-router.get('/:name/agents', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.showAgents);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.post('/:name/agents', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.addAgents);
-router.put('/:name', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/:name/agents', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.removeAgents);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:name', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x11f5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x6E\x61\x6D\x65","\x73\x68\x6F\x77","\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x76\x6F\x69\x63\x65","\x67\x65\x74\x52\x65\x61\x6C\x74\x69\x6D\x65\x51\x75\x65\x75\x65\x73","\x2F\x3A\x6E\x61\x6D\x65\x2F\x61\x67\x65\x6E\x74\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x64\x65\x6C\x65\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x11f5[0];var express=require(_0x11f5[1]);var controller=require(_0x11f5[2]);var auth=require(_0x11f5[3]);var router=express.Router();router[_0x11f5[9]](_0x11f5[4],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7,13],[_0x11f5[6]]),controller[_0x11f5[8]]);router[_0x11f5[9]](_0x11f5[10],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[11]]);router[_0x11f5[9]](_0x11f5[12],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[13]]);router[_0x11f5[9]](_0x11f5[14],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[15]]);router[_0x11f5[17]](_0x11f5[4],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[16]]);router[_0x11f5[17]](_0x11f5[14],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[18]]);router[_0x11f5[20]](_0x11f5[10],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[19]]);router[_0x11f5[22]](_0x11f5[14],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[21]]);router[_0x11f5[22]](_0x11f5[4],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[23]]);router[_0x11f5[22]](_0x11f5[10],auth[_0x11f5[5]](),auth[_0x11f5[7]]([7],[_0x11f5[6]]),controller[_0x11f5[24]]);module[_0x11f5[25]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-
-var util = require('util');
-var Util = require('../../config/util');
-
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var VoiceQueue = require('../../models').VoiceQueue;
-var UserHasVoiceQueue = require('../../models').UserHasVoiceQueue;
-var VoiceExtension = require('../../models').VoiceExtension;
-
-// Get list of voiceQueues
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
- default:
- return VoiceQueue
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-exports.getRealtimeQueues = function(req, res, next) {
- switch (req.user.role) {
- case 'user':
- var agents = [];
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser({}, {
- attributes: ['name'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var voiceQueues = _.map(queues.rows, 'name');
- queues.rows.forEach(function(queue) {
- agents = _.union(agents, _.map(queue.Users, 'id'));
- });
- return VoiceQueue
- .findAndCountAll(_.merge(Util.getQuery(req.query, {
- name: voiceQueues
- }), {
- include: [{
- model: User,
- where: {
- id: agents
- },
- required: false
- }]
- }));
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- default:
- return VoiceQueue
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- include: [{
- model: User,
- required: false
- }]
- }))
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
- }
-};
-
-
-// Get a single voiceQueue
-exports.show = function(req, res) {
- return VoiceQueue
- .findById(req.params.name)
- .then(function(voiceQueue) {
- if (!voiceQueue) {
- return res.sendStatus(404);
- }
- return res.send(voiceQueue);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single queue
-exports.showAgents = function(req, res) {
- return VoiceQueue
- .findById(req.params.name)
- .then(function(queue) {
- if (!queue) {
- return res.sendStatus(404);
- }
- return queue
- .getUsers({
- where: {
- role: 'agent'
- },
- attributes: ['id', 'name', 'fullname', 'email']
- });
- })
- .then(function(agents) {
- return res.status(200).send({
- rows: agents,
- count: agents.length
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new voiceQueue in the DB.
-exports.create = function(req, res) {
- var _voiceQueue;
-
- return VoiceQueue
- .create(req.body)
- .then(function(voiceQueue) {
- _voiceQueue = voiceQueue;
-
- if (req.body.agents) {
- return _voiceQueue
- .addUsers(req.body.agents, {
- penalty: req.body.penalty || 0
- });
- }
- })
- .then(function() {
- return res.status(201).send(_voiceQueue);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- var paths = [];
-
- err.errors.forEach(function(error) {
- switch (error.path) {
- case 'PRIMARY':
- paths.push('name');
- break;
- default:
- paths.push(error.path);
- }
- });
-
- paths.push(' must be unique');
- err.message = paths.join();
- err.translatedMessage = 'MESSAGE_EXIST_QUEUE';
-
- return res.status(500).send(err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing voiceQueue in the DB.
-exports.update = function(req, res) {
- if (req.body.name) {
- delete req.body.name;
- }
-
- return VoiceQueue
- .findById(req.params.name)
- .then(function(voiceQueue) {
- if (!voiceQueue) {
- return res.sendStatus(404);
- }
- var updated = _.merge(voiceQueue, req.body);
- return updated
- .save();
- })
- .then(function(voiceQueue) {
- return res.status(200).send(voiceQueue);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-
-// Add agents to voice queues
-exports.addAgents = function(req, res, next) {
- return User
- .findAll({
- where: {
- id: {
- $in: req.body.agents
- }
- }
- })
- .then(function(users) {
- var userHasVoiceQueues = _.map(users, function(user) {
- return {
- queue: req.params.name,
- interface: util.format('SIP/%s', user.name),
- stateinterface: util.format('SIP/%s', user.name),
- membername: user.name,
- UserId: user.id,
- penalty: req.body.penalty
- };
- });
-
- return UserHasVoiceQueue
- .bulkCreate(userHasVoiceQueues, {
- individualHooks: true
- });
- })
- .then(function() {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.log(err);
- return next(err);
- });
-};
-
-exports.removeAgents = function(req, res, next) {
- return UserHasVoiceQueue
- .destroy({
- where: {
- UserId: req.query.agents,
- queue: req.params.name
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(202);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-// Deletes a voiceQueue from the DB.
-exports.destroy = function(req, res) {
- return VoiceQueue
- .destroy({
- where: {
- name: req.params.name
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes multiple voiceQueues from the DB.
-exports.bulkDestroy = function(req, res) {
- return VoiceQueue
- .destroy({
- where: {
- name: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x439a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6C\x6F\x67","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x72\x6F\x6C\x65","\x67\x65\x74\x52\x65\x61\x6C\x74\x69\x6D\x65\x51\x75\x65\x75\x65\x73","\x72\x6F\x77\x73","\x6E\x61\x6D\x65","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x65\x72\x67\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x70\x61\x72\x61\x6D\x73","\x73\x68\x6F\x77\x41\x67\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x67\x65\x74\x55\x73\x65\x72\x73","\x63\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x50\x52\x49\x4D\x41\x52\x59","\x70\x61\x74\x68","\x65\x72\x72\x6F\x72\x73","\x20\x6D\x75\x73\x74\x20\x62\x65\x20\x75\x6E\x69\x71\x75\x65","\x6D\x65\x73\x73\x61\x67\x65","\x6A\x6F\x69\x6E","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x51\x55\x45\x55\x45","\x61\x67\x65\x6E\x74\x73","\x62\x6F\x64\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x61\x64\x64\x55\x73\x65\x72\x73","\x75\x70\x64\x61\x74\x65","\x73\x61\x76\x65","\x61\x64\x64\x41\x67\x65\x6E\x74\x73","\x53\x49\x50\x2F\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x72\x65\x6D\x6F\x76\x65\x41\x67\x65\x6E\x74\x73","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73"];_0x439a[0];var _=require(_0x439a[1]);var util=require(_0x439a[2]);var Util=require(_0x439a[3]);var sequelize=require(_0x439a[5])[_0x439a[4]];var User=require(_0x439a[5])[_0x439a[6]];var VoiceQueue=require(_0x439a[5])[_0x439a[7]];var UserHasVoiceQueue=require(_0x439a[5])[_0x439a[8]];var VoiceExtension=require(_0x439a[5])[_0x439a[9]];exports[_0x439a[10]]= function(_0xa3ccx9,_0xa3ccxa){switch(_0xa3ccx9[_0x439a[18]][_0x439a[23]]){case _0x439a[18]:return User[_0x439a[19]](_0xa3ccx9[_0x439a[18]][_0x439a[17]],{attributes:[_0x439a[17]]})[_0x439a[14]](Util[_0x439a[16]](_0xa3ccx9[_0x439a[15]]))[_0x439a[14]](function(_0xa3ccxc){_0xa3ccxa[_0x439a[13]](200)[_0x439a[12]](_0xa3ccxc)})[_0x439a[11]](function(_0xa3ccxb){return handleError(_0xa3ccxa,_0xa3ccxb)});default:return VoiceQueue[_0x439a[22]](Util[_0x439a[21]](_0xa3ccx9[_0x439a[15]]))[_0x439a[14]](function(_0xa3ccxc){_0xa3ccxa[_0x439a[13]](200)[_0x439a[12]](_0xa3ccxc)})[_0x439a[11]](function(_0xa3ccxb){console[_0x439a[20]](_0xa3ccxb);return handleError(_0xa3ccxa,_0xa3ccxb)})}};exports[_0x439a[24]]= function(_0xa3ccx9,_0xa3ccxa,_0xa3ccxd){switch(_0xa3ccx9[_0x439a[18]][_0x439a[23]]){case _0x439a[18]:var _0xa3ccxe=[];return User[_0x439a[19]](_0xa3ccx9[_0x439a[18]][_0x439a[17]],{attributes:[_0x439a[17]]})[_0x439a[14]](Util[_0x439a[16]]({},{attributes:[_0x439a[26]],include:[{raw:true,model:User,attributes:[_0x439a[17]]}]}))[_0x439a[14]](function(_0xa3ccxf){var _0xa3ccx10=_[_0x439a[27]](_0xa3ccxf[_0x439a[25]],_0x439a[26]);_0xa3ccxf[_0x439a[25]][_0x439a[29]](function(_0xa3ccx11){_0xa3ccxe= _[_0x439a[28]](_0xa3ccxe,_[_0x439a[27]](_0xa3ccx11.Users,_0x439a[17]))});return VoiceQueue[_0x439a[22]](_[_0x439a[30]](Util[_0x439a[21]](_0xa3ccx9[_0x439a[15]],{name:_0xa3ccx10}),{include:[{model:User,where:{id:_0xa3ccxe},required:false}]}))})[_0x439a[14]](function(_0xa3ccxc){return _0xa3ccxa[_0x439a[13]](200)[_0x439a[12]](_0xa3ccxc)})[_0x439a[11]](function(_0xa3ccxb){console[_0x439a[20]](_0xa3ccxb);return handleError(_0xa3ccxa,_0xa3ccxb)});default:return VoiceQueue[_0x439a[22]](_[_0x439a[30]](Util[_0x439a[21]](_0xa3ccx9[_0x439a[15]]),{include:[{model:User,required:false}]}))[_0x439a[14]](function(_0xa3ccxc){return _0xa3ccxa[_0x439a[13]](200)[_0x439a[12]](_0xa3ccxc)})[_0x439a[11]](function(_0xa3ccxb){console[_0x439a[20]](_0xa3ccxb);return handleError(_0xa3ccxa,_0xa3ccxb)})}};exports[_0x439a[31]]= function(_0xa3ccx9,_0xa3ccxa){return VoiceQueue[_0x439a[19]](_0xa3ccx9[_0x439a[33]][_0x439a[26]])[_0x439a[14]](function(_0xa3ccx12){if(!_0xa3ccx12){return _0xa3ccxa[_0x439a[32]](404)};return _0xa3ccxa[_0x439a[12]](_0xa3ccx12)})[_0x439a[11]](function(_0xa3ccxb){return handleError(_0xa3ccxa,_0xa3ccxb)})};exports[_0x439a[34]]= function(_0xa3ccx9,_0xa3ccxa){return VoiceQueue[_0x439a[19]](_0xa3ccx9[_0x439a[33]][_0x439a[26]])[_0x439a[14]](function(_0xa3ccx11){if(!_0xa3ccx11){return _0xa3ccxa[_0x439a[32]](404)};return _0xa3ccx11[_0x439a[39]]({where:{role:_0x439a[36]},attributes:[_0x439a[17],_0x439a[26],_0x439a[37],_0x439a[38]]})})[_0x439a[14]](function(_0xa3ccxe){return _0xa3ccxa[_0x439a[13]](200)[_0x439a[12]]({rows:_0xa3ccxe,count:_0xa3ccxe[_0x439a[35]]})})[_0x439a[11]](function(_0xa3ccxb){return handleError(_0xa3ccxa,_0xa3ccxb)})};exports[_0x439a[40]]= function(_0xa3ccx9,_0xa3ccxa){var _0xa3ccx13;return VoiceQueue[_0x439a[40]](_0xa3ccx9[_0x439a[51]])[_0x439a[14]](function(_0xa3ccx12){_0xa3ccx13= _0xa3ccx12;if(_0xa3ccx9[_0x439a[51]][_0x439a[50]]){return _0xa3ccx13[_0x439a[53]](_0xa3ccx9[_0x439a[51]][_0x439a[50]],{penalty:_0xa3ccx9[_0x439a[51]][_0x439a[52]]|| 0})}})[_0x439a[14]](function(){return _0xa3ccxa[_0x439a[13]](201)[_0x439a[12]](_0xa3ccx13)})[_0x439a[11]](sequelize.UniqueConstraintError,function(_0xa3ccxb){var _0xa3ccx14=[];_0xa3ccxb[_0x439a[44]][_0x439a[29]](function(_0xa3ccx15){switch(_0xa3ccx15[_0x439a[43]]){case _0x439a[42]:_0xa3ccx14[_0x439a[41]](_0x439a[26]);break;default:_0xa3ccx14[_0x439a[41]](_0xa3ccx15[_0x439a[43]])}});_0xa3ccx14[_0x439a[41]](_0x439a[45]);_0xa3ccxb[_0x439a[46]]= _0xa3ccx14[_0x439a[47]]();_0xa3ccxb[_0x439a[48]]= _0x439a[49];return _0xa3ccxa[_0x439a[13]](500)[_0x439a[12]](_0xa3ccxb)})[_0x439a[11]](function(_0xa3ccxb){return handleError(_0xa3ccxa,_0xa3ccxb)})};exports[_0x439a[54]]= function(_0xa3ccx9,_0xa3ccxa){if(_0xa3ccx9[_0x439a[51]][_0x439a[26]]){delete _0xa3ccx9[_0x439a[51]][_0x439a[26]]};return VoiceQueue[_0x439a[19]](_0xa3ccx9[_0x439a[33]][_0x439a[26]])[_0x439a[14]](function(_0xa3ccx12){if(!_0xa3ccx12){return _0xa3ccxa[_0x439a[32]](404)};var _0xa3ccx16=_[_0x439a[30]](_0xa3ccx12,_0xa3ccx9[_0x439a[51]]);return _0xa3ccx16[_0x439a[55]]()})[_0x439a[14]](function(_0xa3ccx12){return _0xa3ccxa[_0x439a[13]](200)[_0x439a[12]](_0xa3ccx12)})[_0x439a[11]](function(_0xa3ccxb){console[_0x439a[20]](_0xa3ccxb);return handleError(_0xa3ccxa,_0xa3ccxb)})};exports[_0x439a[56]]= function(_0xa3ccx9,_0xa3ccxa,_0xa3ccxd){return User[_0x439a[60]]({where:{id:{$in:_0xa3ccx9[_0x439a[51]][_0x439a[50]]}}})[_0x439a[14]](function(_0xa3ccx17){var _0xa3ccx18=_[_0x439a[27]](_0xa3ccx17,function(_0xa3ccx19){return {queue:_0xa3ccx9[_0x439a[33]][_0x439a[26]],interface:util[_0x439a[58]](_0x439a[57],_0xa3ccx19[_0x439a[26]]),stateinterface:util[_0x439a[58]](_0x439a[57],_0xa3ccx19[_0x439a[26]]),membername:_0xa3ccx19[_0x439a[26]],UserId:_0xa3ccx19[_0x439a[17]],penalty:_0xa3ccx9[_0x439a[51]][_0x439a[52]]}});return UserHasVoiceQueue[_0x439a[59]](_0xa3ccx18,{individualHooks:true})})[_0x439a[14]](function(){return _0xa3ccxa[_0x439a[32]](200)})[_0x439a[11]](function(_0xa3ccxb){console[_0x439a[20]](_0xa3ccxb);return _0xa3ccxd(_0xa3ccxb)})};exports[_0x439a[61]]= function(_0xa3ccx9,_0xa3ccxa,_0xa3ccxd){return UserHasVoiceQueue[_0x439a[62]]({where:{UserId:_0xa3ccx9[_0x439a[15]][_0x439a[50]],queue:_0xa3ccx9[_0x439a[33]][_0x439a[26]]},individualHooks:true})[_0x439a[14]](function(){return _0xa3ccxa[_0x439a[32]](202)})[_0x439a[11]](function(_0xa3ccxb){return _0xa3ccxd(_0xa3ccxb)})};exports[_0x439a[62]]= function(_0xa3ccx9,_0xa3ccxa){return VoiceQueue[_0x439a[62]]({where:{name:_0xa3ccx9[_0x439a[33]][_0x439a[26]]},individualHooks:true})[_0x439a[14]](function(){return _0xa3ccxa[_0x439a[32]](204)})[_0x439a[11]](function(_0xa3ccxb){return handleError(_0xa3ccxa,_0xa3ccxb)})};exports[_0x439a[63]]= function(_0xa3ccx9,_0xa3ccxa){return VoiceQueue[_0x439a[62]]({where:{name:_0xa3ccx9[_0x439a[15]][_0x439a[64]]},individualHooks:true})[_0x439a[14]](function(){return _0xa3ccxa[_0x439a[32]](204)})[_0x439a[11]](function(_0xa3ccxb){return handleError(_0xa3ccxa,_0xa3ccxb)})};function handleError(_0xa3ccxa,_0xa3ccxb){return _0xa3ccxa[_0x439a[13]](500)[_0x439a[12]](_0xa3ccxb)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceQueue = require('../../models').VoiceQueue;
-
-var VoiceQueueEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceQueueEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceQueue.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceQueueEvents.emit(event + ':' + doc._id, doc);
- VoiceQueueEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceQueueEvents;
+var _0x8ccb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x8ccb[0];const EventEmitter=require(_0x8ccb[1]);const VoiceQueue=require(_0x8ccb[3])[_0x8ccb[2]];var VoiceQueueEvents= new EventEmitter();VoiceQueueEvents[_0x8ccb[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x8ccb[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x8ccb[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x8ccb[6]};for(var e in events){var event=events[e];VoiceQueue[_0x8ccb[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x3f9dx8,_0x3f9dx9,_0x3f9dxa){VoiceQueueEvents[_0x8ccb[10]](event+ _0x8ccb[8]+ _0x3f9dx8[_0x8ccb[9]],_0x3f9dx8);VoiceQueueEvents[_0x8ccb[10]](event,_0x3f9dx8);_0x3f9dxa(null)}}module[_0x8ccb[11]]= VoiceQueueEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceQueueEvents = require('./voice_queue.events');
-const VoiceQueue = require('../../models').VoiceQueue;
-const User = require('../../models').User;
-const Util = require('../../config/util');
-const _ = require('lodash');
-const Promise = require('bluebird');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_queue:' + event, socket);
-
- VoiceQueueEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- switch (event) {
- case 'voice_queue:save':
- return Promise
- .all([])
- .then(getVoiceQueues(socket))
- .then(function(userQueues) {
- if (_.includes(userQueues, doc.name)) {
- socket.emit(event, doc);
- }
- })
- .catch(function(err) {
- console.log('Error filtering queues after queue save', err);
- })
- break;
- case 'voice_queue:remove':
- socket.emit(event, doc);
- break;
-
- default:
-
- }
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceQueueEvents.removeListener(event, listener);
- };
-}
-
-function getVoiceQueues(user) {
- return function() {
- switch (user.role) {
- case 'user':
- return User
- .findById(user.userId, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser())
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- case 'admin':
- return VoiceQueue
- .findAll()
- .then(function(queues) {
- return {
- rows: queues
- };
- })
- .then(function(userQueues) {
- return _.map(userQueues.rows, 'name');
- });
- default:
- return [];
- }
- }
-}
+var _0xd07e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x45\x72\x72\x6F\x72\x20\x66\x69\x6C\x74\x65\x72\x69\x6E\x67\x20\x71\x75\x65\x75\x65\x73\x20\x61\x66\x74\x65\x72\x20\x71\x75\x65\x75\x65\x20\x73\x61\x76\x65","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x6E\x61\x6D\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x65\x6D\x69\x74","\x74\x68\x65\x6E","\x61\x6C\x6C","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x73\x61\x76\x65","\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x3A\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72","\x72\x6F\x77\x73","\x6D\x61\x70","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x75\x73\x65\x72\x49\x64","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x64\x6D\x69\x6E","\x72\x6F\x6C\x65"];_0xd07e[0];const VoiceQueueEvents=require(_0xd07e[1]);const VoiceQueue=require(_0xd07e[3])[_0xd07e[2]];const User=require(_0xd07e[3])[_0xd07e[4]];const Util=require(_0xd07e[5]);const _=require(_0xd07e[6]);const Promise=require(_0xd07e[7]);var events=[_0xd07e[8],_0xd07e[9]];exports[_0xd07e[10]]= function(_0x7474x8){for(var _0x7474x9=0,_0x7474xa=events[_0xd07e[11]];_0x7474x9< _0x7474xa;_0x7474x9++){var _0x7474xb=events[_0x7474x9];var _0x7474xc=createListener(_0xd07e[12]+ _0x7474xb,_0x7474x8);VoiceQueueEvents[_0xd07e[13]](_0x7474xb,_0x7474xc);_0x7474x8[_0xd07e[13]](_0xd07e[14],removeListener(_0x7474xb,_0x7474xc))}};function createListener(_0x7474xb,_0x7474x8){return function(_0x7474xe){switch(_0x7474xb){case _0xd07e[23]:return Promise[_0xd07e[22]]([])[_0xd07e[21]](getVoiceQueues(_0x7474x8))[_0xd07e[21]](function(_0x7474x10){if(_[_0xd07e[19]](_0x7474x10,_0x7474xe[_0xd07e[18]])){_0x7474x8[_0xd07e[20]](_0x7474xb,_0x7474xe)}})[_0xd07e[17]](function(_0x7474xf){console[_0xd07e[16]](_0xd07e[15],_0x7474xf)});break;case _0xd07e[24]:_0x7474x8[_0xd07e[20]](_0x7474xb,_0x7474xe);break;default:}}}function removeListener(_0x7474xb,_0x7474xc){return function(){VoiceQueueEvents[_0xd07e[25]](_0x7474xb,_0x7474xc)}}function getVoiceQueues(_0x7474x13){return function(){switch(_0x7474x13[_0xd07e[35]]){case _0xd07e[32]:return User[_0xd07e[31]](_0x7474x13[_0xd07e[29]],{attributes:[_0xd07e[30]]})[_0xd07e[21]](Util[_0xd07e[28]]())[_0xd07e[21]](function(_0x7474x10){return _[_0xd07e[27]](_0x7474x10[_0xd07e[26]],_0xd07e[18])});case _0xd07e[34]:return VoiceQueue[_0xd07e[33]]()[_0xd07e[21]](function(_0x7474x14){return {rows:_0x7474x14}})[_0xd07e[21]](function(_0x7474x10){return _[_0xd07e[27]](_0x7474x10[_0xd07e[26]],_0xd07e[18])});default:return []}}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./voice_recording.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin', 'agent']), controller.index);
-router.get('/describe', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.describe);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.get('/:id/download', controller.getStreamById);
-router.get('/:id/stream', auth.isAuthenticated(), auth.hasModule([7], ['admin', 'agent']), controller.getStream);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x7853=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x64\x65\x73\x63\x72\x69\x62\x65","\x64\x65\x73\x63\x72\x69\x62\x65","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x67\x65\x74\x53\x74\x72\x65\x61\x6D\x42\x79\x49\x64","\x2F\x3A\x69\x64\x2F\x73\x74\x72\x65\x61\x6D","\x67\x65\x74\x53\x74\x72\x65\x61\x6D","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x7853[0];var express=require(_0x7853[1]);var auth=require(_0x7853[2]);var controller=require(_0x7853[3]);var router=express.Router();router[_0x7853[10]](_0x7853[4],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6],_0x7853[7]]),controller[_0x7853[9]]);router[_0x7853[10]](_0x7853[11],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6]]),controller[_0x7853[12]]);router[_0x7853[10]](_0x7853[13],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6]]),controller[_0x7853[14]]);router[_0x7853[10]](_0x7853[15],controller[_0x7853[16]]);router[_0x7853[10]](_0x7853[17],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6],_0x7853[7]]),controller[_0x7853[18]]);router[_0x7853[20]](_0x7853[4],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6]]),controller[_0x7853[19]]);router[_0x7853[22]](_0x7853[13],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6]]),controller[_0x7853[21]]);router[_0x7853[24]](_0x7853[4],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6]]),controller[_0x7853[23]]);router[_0x7853[24]](_0x7853[13],auth[_0x7853[5]](),auth[_0x7853[8]]([7],[_0x7853[6]]),controller[_0x7853[25]]);module[_0x7853[26]]= router
\ No newline at end of file
-/**
- * Using Rails-like standard naming convention for endpoints.
- * GET /api/voice/recordings -> index
- * POST /api/voice/recordings -> create
- * GET /api/voice/recordings/:id -> show
- * PUT /api/voice/recordings/:id -> update
- * DELETE /api/voice/recordings/:id -> destroy
- */
-
-'use strict';
-
-
-var _ = require('lodash');
-var util = require('util');
-var Util = require('../../config/util');
-
-var VoiceRecording = require('../../models').VoiceRecording;
-var User = require('../../models').User;
-var Promise = require('bluebird');
-// var base64 = Promise.promisifyAll(require('file-base64'));
-var base64 = require('file-base64');
-var fs = require('fs');
-var path = require('path');
-
-function handleError(res) {
- return function(err) {
- if (err.cause && err.cause.code === 'ENOENT') {
- err = {
- message: 'No file or directory',
- translatedMessage: 'MESSAGE_NO_FILE_OR_DIRECTORY'
- };
- }
- return res.status(500).send(err);
- }
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(body) {
- return function(entity) {
- return entity
- .updateAttributes(body);
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Gets a list of VoiceRecordings
-exports.index = function(req, res) {
- switch (req.user.role) {
- case 'user':
- return User
- .findById(req.user.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser())
- .then(function(userQueues) {
- var users = [];
- var _userQueues = _.map(userQueues.rows, 'name');
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'name'));
- });
- return VoiceRecording
- .findAndCountAll(Util.getQuery(req.query, {
- $or: {
- queue: _userQueues,
- membername: users
- }
- }))
- })
- .then(responseWithResult(res))
- .catch(handleError(res));
- case 'agent':
- return VoiceRecording
- .findAndCountAll(Util.getQuery(req.query, {
- membername: req.user.name
- }))
- .then(responseWithResult(res))
- .catch(handleError(res));
- default:
- return VoiceRecording
- .findAndCountAll(Util.getQuery(req.query))
- .then(responseWithResult(res))
- .catch(handleError(res));
- }
-}
-
-// Gets a single VoiceRecording from the DB
-exports.show = function(req, res) {
- return VoiceRecording.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Get list of fields
-exports.describe = function(req, res) {
- return VoiceRecording
- .describe()
- .then(function(fields) {
- return res.status(200).send(fields);
- })
- .catch(handleError(res));
-};
-
-
-// Gets a single VoiceRecording from the DB
-exports.getStream = function(req, res) {
- return VoiceRecording
- .findById(req.params.id)
- .then(function(recording) {
- var readFile = Promise.promisify(fs.readFile);
- return readFile(recording.value);
- })
- .then(function(result) {
- var base64String = new Buffer(result, 'binary').toString('base64');
- return base64String;
- })
- .then(function(base64String) {
- return res.status(200).send({
- downloadString: base64String
- });
- })
- .catch(handleError(res));
-}
-
-//Download a Vocie Recordings: Not authenticated
-exports.getStreamById = function(req, res) {
- var where = {};
-
- if (req.query && req.query.hasOwnProperty('type') && req.query.type === 'uniqueid') {
- where.uniqueid = req.params.id;
- } else {
- where.id = req.params.id;
- }
-
- return VoiceRecording
- .findOne({
- where: where
- })
- .then(handleEntityNotFound(res))
- .then(function(recording) {
- return res.download(recording.value, path.basename(recording.value));
- })
- .catch(handleError(res));
-}
-
-
-// Creates a new VoiceRecording in the DB
-exports.create = function(req, res) {
- return VoiceRecording.create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-}
-
-// Updates an existing VoiceRecording in the DB
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return VoiceRecording.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-// Deletes a VoiceRecording from the DB
-exports.destroy = function(req, res) {
- return VoiceRecording.findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-}
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
- return VoiceRecording
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(handleError(res));
-};
+var _0x28d1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x56\x6F\x69\x63\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x62\x6C\x75\x65\x62\x69\x72\x64","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x66\x73","\x70\x61\x74\x68","\x63\x61\x75\x73\x65","\x63\x6F\x64\x65","\x45\x4E\x4F\x45\x4E\x54","\x4E\x6F\x20\x66\x69\x6C\x65\x20\x6F\x72\x20\x64\x69\x72\x65\x63\x74\x6F\x72\x79","\x4D\x45\x53\x53\x41\x47\x45\x5F\x4E\x4F\x5F\x46\x49\x4C\x45\x5F\x4F\x52\x5F\x44\x49\x52\x45\x43\x54\x4F\x52\x59","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x74\x68\x65\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x72\x6F\x77\x73","\x6E\x61\x6D\x65","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x69\x64","\x75\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x73\x68\x6F\x77","\x70\x61\x72\x61\x6D\x73","\x64\x65\x73\x63\x72\x69\x62\x65","\x67\x65\x74\x53\x74\x72\x65\x61\x6D","\x62\x61\x73\x65\x36\x34","\x62\x69\x6E\x61\x72\x79","\x72\x65\x61\x64\x46\x69\x6C\x65","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x76\x61\x6C\x75\x65","\x67\x65\x74\x53\x74\x72\x65\x61\x6D\x42\x79\x49\x64","\x74\x79\x70\x65","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x75\x6E\x69\x71\x75\x65\x69\x64","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64\x73"];_0x28d1[0];var _=require(_0x28d1[1]);var util=require(_0x28d1[2]);var Util=require(_0x28d1[3]);var VoiceRecording=require(_0x28d1[5])[_0x28d1[4]];var User=require(_0x28d1[5])[_0x28d1[6]];var Promise=require(_0x28d1[7]);var base64=require(_0x28d1[8]);var fs=require(_0x28d1[9]);var path=require(_0x28d1[10]);function handleError(_0x17bexb){return function(_0x17bexc){if(_0x17bexc[_0x28d1[11]]&& _0x17bexc[_0x28d1[11]][_0x28d1[12]]=== _0x28d1[13]){_0x17bexc= {message:_0x28d1[14],translatedMessage:_0x28d1[15]}};return _0x17bexb[_0x28d1[17]](500)[_0x28d1[16]](_0x17bexc)}}function responseWithResult(_0x17bexb,_0x17bexe){_0x17bexe= _0x17bexe|| 200;return function(_0x17bexf){if(_0x17bexf){_0x17bexb[_0x28d1[17]](_0x17bexe)[_0x28d1[18]](_0x17bexf)}}}function handleEntityNotFound(_0x17bexb){return function(_0x17bexf){if(!_0x17bexf){_0x17bexb[_0x28d1[17]](404)[_0x28d1[19]]();return null};return _0x17bexf}}function saveUpdates(_0x17bex12){return function(_0x17bexf){return _0x17bexf[_0x28d1[20]](_0x17bex12)}}function removeEntity(_0x17bexb){return function(_0x17bexf){if(_0x17bexf){return _0x17bexf[_0x28d1[22]]()[_0x28d1[21]](function(){_0x17bexb[_0x28d1[17]](204)[_0x28d1[19]]()})}}}exports[_0x28d1[23]]= function(_0x17bex14,_0x17bexb){switch(_0x17bex14[_0x28d1[35]][_0x28d1[38]]){case _0x28d1[35]:return User[_0x28d1[36]](_0x17bex14[_0x28d1[35]][_0x28d1[34]],{attributes:[_0x28d1[34]]})[_0x28d1[21]](Util[_0x28d1[33]]())[_0x28d1[21]](function(_0x17bex15){var _0x17bex16=[];var _0x17bex17=_[_0x28d1[27]](_0x17bex15[_0x28d1[25]],_0x28d1[26]);_0x17bex15[_0x28d1[25]][_0x28d1[29]](function(_0x17bex18){_0x17bex16= _[_0x28d1[28]](_0x17bex16,_[_0x28d1[27]](_0x17bex18.Users,_0x28d1[26]))});return VoiceRecording[_0x28d1[32]](Util[_0x28d1[31]](_0x17bex14[_0x28d1[30]],{$or:{queue:_0x17bex17,membername:_0x17bex16}}))})[_0x28d1[21]](responseWithResult(_0x17bexb))[_0x28d1[24]](handleError(_0x17bexb));case _0x28d1[37]:return VoiceRecording[_0x28d1[32]](Util[_0x28d1[31]](_0x17bex14[_0x28d1[30]],{membername:_0x17bex14[_0x28d1[35]][_0x28d1[26]]}))[_0x28d1[21]](responseWithResult(_0x17bexb))[_0x28d1[24]](handleError(_0x17bexb));default:return VoiceRecording[_0x28d1[32]](Util[_0x28d1[31]](_0x17bex14[_0x28d1[30]]))[_0x28d1[21]](responseWithResult(_0x17bexb))[_0x28d1[24]](handleError(_0x17bexb))}};exports[_0x28d1[39]]= function(_0x17bex14,_0x17bexb){return VoiceRecording[_0x28d1[36]](_0x17bex14[_0x28d1[40]][_0x28d1[34]])[_0x28d1[21]](handleEntityNotFound(_0x17bexb))[_0x28d1[21]](responseWithResult(_0x17bexb))[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[41]]= function(_0x17bex14,_0x17bexb){return VoiceRecording[_0x28d1[41]]()[_0x28d1[21]](function(_0x17bex19){return _0x17bexb[_0x28d1[17]](200)[_0x28d1[16]](_0x17bex19)})[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[42]]= function(_0x17bex14,_0x17bexb){return VoiceRecording[_0x28d1[36]](_0x17bex14[_0x28d1[40]][_0x28d1[34]])[_0x28d1[21]](function(_0x17bex1c){var _0x17bex1d=Promise[_0x28d1[46]](fs[_0x28d1[45]]);return _0x17bex1d(_0x17bex1c[_0x28d1[47]])})[_0x28d1[21]](function(_0x17bex1b){var _0x17bex1a= new Buffer(_0x17bex1b,_0x28d1[44]).toString(_0x28d1[43]);return _0x17bex1a})[_0x28d1[21]](function(_0x17bex1a){return _0x17bexb[_0x28d1[17]](200)[_0x28d1[16]]({downloadString:_0x17bex1a})})[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[48]]= function(_0x17bex14,_0x17bexb){var _0x17bex1e={};if(_0x17bex14[_0x28d1[30]]&& _0x17bex14[_0x28d1[30]][_0x28d1[50]](_0x28d1[49])&& _0x17bex14[_0x28d1[30]][_0x28d1[49]]=== _0x28d1[51]){_0x17bex1e[_0x28d1[51]]= _0x17bex14[_0x28d1[40]][_0x28d1[34]]}else {_0x17bex1e[_0x28d1[34]]= _0x17bex14[_0x28d1[40]][_0x28d1[34]]};return VoiceRecording[_0x28d1[54]]({where:_0x17bex1e})[_0x28d1[21]](handleEntityNotFound(_0x17bexb))[_0x28d1[21]](function(_0x17bex1c){return _0x17bexb[_0x28d1[53]](_0x17bex1c[_0x28d1[47]],path[_0x28d1[52]](_0x17bex1c[_0x28d1[47]]))})[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[55]]= function(_0x17bex14,_0x17bexb){return VoiceRecording[_0x28d1[55]](_0x17bex14[_0x28d1[56]])[_0x28d1[21]](responseWithResult(_0x17bexb,201))[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[57]]= function(_0x17bex14,_0x17bexb){if(_0x17bex14[_0x28d1[56]][_0x28d1[34]]){delete _0x17bex14[_0x28d1[56]][_0x28d1[34]]};return VoiceRecording[_0x28d1[36]](_0x17bex14[_0x28d1[40]][_0x28d1[34]])[_0x28d1[21]](handleEntityNotFound(_0x17bexb))[_0x28d1[21]](saveUpdates(_0x17bex14[_0x28d1[56]]))[_0x28d1[21]](responseWithResult(_0x17bexb))[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[22]]= function(_0x17bex14,_0x17bexb){return VoiceRecording[_0x28d1[36]](_0x17bex14[_0x28d1[40]][_0x28d1[34]])[_0x28d1[21]](handleEntityNotFound(_0x17bexb))[_0x28d1[21]](removeEntity(_0x17bexb))[_0x28d1[24]](handleError(_0x17bexb))};exports[_0x28d1[58]]= function(_0x17bex14,_0x17bexb){return VoiceRecording[_0x28d1[22]]({where:{id:_0x17bex14[_0x28d1[30]][_0x28d1[60]]},individualHooks:true})[_0x28d1[21]](function(){return _0x17bexb[_0x28d1[59]](204)})[_0x28d1[24]](handleError(_0x17bexb))}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceRecording = require('../../models').VoiceRecording;
-
-var VoiceRecordingEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceRecordingEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceRecording.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceRecordingEvents.emit(event + ':' + doc._id, doc);
- VoiceRecordingEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceRecordingEvents;
+var _0x7ed8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x7ed8[0];const EventEmitter=require(_0x7ed8[1]);const VoiceRecording=require(_0x7ed8[3])[_0x7ed8[2]];var VoiceRecordingEvents= new EventEmitter();VoiceRecordingEvents[_0x7ed8[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x7ed8[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x7ed8[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x7ed8[6]};for(var e in events){var event=events[e];VoiceRecording[_0x7ed8[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7d6fx8,_0x7d6fx9,_0x7d6fxa){VoiceRecordingEvents[_0x7ed8[10]](event+ _0x7ed8[8]+ _0x7d6fx8[_0x7ed8[9]],_0x7d6fx8);VoiceRecordingEvents[_0x7ed8[10]](event,_0x7d6fx8);_0x7d6fxa(null)}}module[_0x7ed8[11]]= VoiceRecordingEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceRecordingEvents = require('./voice_recording.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_recording:' + event, socket);
-
- VoiceRecordingEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceRecordingEvents.removeListener(event, listener);
- };
-}
+var _0xe4a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xe4a7[0];const VoiceRecordingEvents=require(_0xe4a7[1]);var events=[_0xe4a7[2],_0xe4a7[3]];exports[_0xe4a7[4]]= function(_0x47a8x3){for(var _0x47a8x4=0,_0x47a8x5=events[_0xe4a7[5]];_0x47a8x4< _0x47a8x5;_0x47a8x4++){var _0x47a8x6=events[_0x47a8x4];var _0x47a8x7=createListener(_0xe4a7[6]+ _0x47a8x6,_0x47a8x3);VoiceRecordingEvents[_0xe4a7[7]](_0x47a8x6,_0x47a8x7);_0x47a8x3[_0xe4a7[7]](_0xe4a7[8],removeListener(_0x47a8x6,_0x47a8x7))}};function createListener(_0x47a8x6,_0x47a8x3){return function(_0x47a8x9){_0x47a8x3[_0xe4a7[9]](_0x47a8x6,_0x47a8x9)}}function removeListener(_0x47a8x6,_0x47a8x7){return function(){VoiceRecordingEvents[_0xe4a7[10]](_0x47a8x6,_0x47a8x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./voice_voicemail.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.index);
-router.get('/:uniqueid', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.create);
-router.post('/validate', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.mailboxValidation);
-router.put('/:uniqueid', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.update);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:uniqueid', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x5950=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65","\x6D\x61\x69\x6C\x62\x6F\x78\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x5950[0];var express=require(_0x5950[1]);var controller=require(_0x5950[2]);var auth=require(_0x5950[3]);var router=express.Router();router[_0x5950[9]](_0x5950[4],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[8]]);router[_0x5950[9]](_0x5950[10],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[11]]);router[_0x5950[13]](_0x5950[4],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[12]]);router[_0x5950[13]](_0x5950[14],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[15]]);router[_0x5950[17]](_0x5950[10],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[16]]);router[_0x5950[19]](_0x5950[4],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[18]]);router[_0x5950[19]](_0x5950[10],auth[_0x5950[5]](),auth[_0x5950[7]]([7],[_0x5950[6]]),controller[_0x5950[20]]);module[_0x5950[21]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var stream = require('stream');
-var Util = require('../../config/util');
-
-var VoiceVoicemail = require('../../models').VoiceVoicemail;
-var VoiceVoicemailMessages = require('../../models').VoiceVoicemailMessages;
-
-// Get list of voice_voicemails
-exports.index = function(req, res) {
- return VoiceVoicemail
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single voice_voicemail
-exports.show = function(req, res) {
- VoiceVoicemail
- .find({
- where: {
- uniqueid: req.params.uniqueid
- }
- })
- .then(function(voice_voicemail) {
- if (!voice_voicemail) {
- return res.sendStatus(404);
- }
- return res.send(voice_voicemail);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// validate mailbox uniqueness
-exports.mailboxValidation = function(req, res) {
- console.log(req.body);
- VoiceVoicemail
- .findAll({
- where: {
- mailbox: req.body.mailbox,
- context: req.body.context
- }
- })
- .then(function(voicemails) {
- if (!voicemails) {
- return res.sendStatus(404);
- }
- return res.send(voicemails);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-// Creates a new voice_voicemail in the DB.
-exports.create = function(req, res) {
- VoiceVoicemail
- .findAll({
- where: {
- mailbox: req.body.mailbox,
- context: req.body.context
- }
- })
- .then(function(voicemails) {
- if (!voicemails) {
- return res.sendStatus(404);
- }
- if (voicemails.length > 0) {
- return res.status(500).send({
- message: 'MESSAGE_EXIST_MAILBOX'
- })
- }
- VoiceVoicemail
- .create(req.body)
- .then(function(voice_voicemail) {
- return res.status(201).send(voice_voicemail);
- })
- .catch(function(err) {
- return handleError(res, err);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
-};
-
-// Updates an existing voice_voicemail in the DB.
-exports.update = function(req, res) {
- VoiceVoicemail
- .findAll({
- where: {
- mailbox: req.body.mailbox,
- context: req.body.context,
- uniqueid: {
- $ne: req.body.uniqueid
- }
- }
- })
- .then(function(voicemails) {
- if (!voicemails) {
- return res.sendStatus(404);
- }
- if (voicemails.length > 0) {
- return res.status(500).send({
- message: 'MESSAGE_EXIST_MAILBOX'
- })
- }
- if (req.body.uniqueid) {
- delete req.body.uniqueid;
- }
- VoiceVoicemail
- .find({
- where: {
- uniqueid: req.params.uniqueid
- }
- })
- .then(function(voice_voicemail) {
- if (!voice_voicemail) {
- return res.sendStatus(404);
- }
- var updated = _.merge(voice_voicemail, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(voice_voicemail);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-
-};
-
-// Deletes a voice_voicemail from the DB.
-exports.destroy = function(req, res) {
- VoiceVoicemail
- .find({
- where: {
- uniqueid: req.params.uniqueid
- }
- })
- .then(function(voice_voicemail) {
- if (!voice_voicemail) {
- return res.sendStatus(404);
- }
- voice_voicemail.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a voice_voicemail from the DB.
-exports.bulkDestroy = function(req, res) {
- VoiceVoicemail
- .destroy({
- where: {
- uniqueid: req.query.uniqueid
- },
- individualHooks: true
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xf196=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x73\x74\x72\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64","\x6D\x61\x69\x6C\x62\x6F\x78\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x62\x6F\x64\x79","\x6C\x6F\x67","\x6D\x61\x69\x6C\x62\x6F\x78","\x63\x6F\x6E\x74\x65\x78\x74","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x4D\x41\x49\x4C\x42\x4F\x58","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xf196[0];var _=require(_0xf196[1]);var stream=require(_0xf196[2]);var Util=require(_0xf196[3]);var VoiceVoicemail=require(_0xf196[5])[_0xf196[4]];var VoiceVoicemailMessages=require(_0xf196[5])[_0xf196[6]];exports[_0xf196[7]]= function(_0xa261x6,_0xa261x7){return VoiceVoicemail[_0xf196[14]](Util[_0xf196[13]](_0xa261x6[_0xf196[12]]))[_0xf196[11]](function(_0xa261x9){_0xa261x7[_0xf196[10]](200)[_0xf196[9]](_0xa261x9)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})};exports[_0xf196[15]]= function(_0xa261x6,_0xa261x7){VoiceVoicemail[_0xf196[19]]({where:{uniqueid:_0xa261x6[_0xf196[18]][_0xf196[17]]}})[_0xf196[11]](function(_0xa261xa){if(!_0xa261xa){return _0xa261x7[_0xf196[16]](404)};return _0xa261x7[_0xf196[9]](_0xa261xa)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})};exports[_0xf196[20]]= function(_0xa261x6,_0xa261x7){console[_0xf196[22]](_0xa261x6[_0xf196[21]]);VoiceVoicemail[_0xf196[25]]({where:{mailbox:_0xa261x6[_0xf196[21]][_0xf196[23]],context:_0xa261x6[_0xf196[21]][_0xf196[24]]}})[_0xf196[11]](function(_0xa261xb){if(!_0xa261xb){return _0xa261x7[_0xf196[16]](404)};return _0xa261x7[_0xf196[9]](_0xa261xb)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})};exports[_0xf196[26]]= function(_0xa261x6,_0xa261x7){VoiceVoicemail[_0xf196[25]]({where:{mailbox:_0xa261x6[_0xf196[21]][_0xf196[23]],context:_0xa261x6[_0xf196[21]][_0xf196[24]]}})[_0xf196[11]](function(_0xa261xb){if(!_0xa261xb){return _0xa261x7[_0xf196[16]](404)};if(_0xa261xb[_0xf196[27]]> 0){return _0xa261x7[_0xf196[10]](500)[_0xf196[9]]({message:_0xf196[28]})};VoiceVoicemail[_0xf196[26]](_0xa261x6[_0xf196[21]])[_0xf196[11]](function(_0xa261xa){return _0xa261x7[_0xf196[10]](201)[_0xf196[9]](_0xa261xa)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})})};exports[_0xf196[29]]= function(_0xa261x6,_0xa261x7){VoiceVoicemail[_0xf196[25]]({where:{mailbox:_0xa261x6[_0xf196[21]][_0xf196[23]],context:_0xa261x6[_0xf196[21]][_0xf196[24]],uniqueid:{$ne:_0xa261x6[_0xf196[21]][_0xf196[17]]}}})[_0xf196[11]](function(_0xa261xb){if(!_0xa261xb){return _0xa261x7[_0xf196[16]](404)};if(_0xa261xb[_0xf196[27]]> 0){return _0xa261x7[_0xf196[10]](500)[_0xf196[9]]({message:_0xf196[28]})};if(_0xa261x6[_0xf196[21]][_0xf196[17]]){delete _0xa261x6[_0xf196[21]][_0xf196[17]]};VoiceVoicemail[_0xf196[19]]({where:{uniqueid:_0xa261x6[_0xf196[18]][_0xf196[17]]}})[_0xf196[11]](function(_0xa261xa){if(!_0xa261xa){return _0xa261x7[_0xf196[16]](404)};var _0xa261xc=_[_0xf196[30]](_0xa261xa,_0xa261x6[_0xf196[21]]);_0xa261xc[_0xf196[31]]()[_0xf196[11]](function(){return _0xa261x7[_0xf196[10]](200)[_0xf196[9]](_0xa261xa)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})};exports[_0xf196[32]]= function(_0xa261x6,_0xa261x7){VoiceVoicemail[_0xf196[19]]({where:{uniqueid:_0xa261x6[_0xf196[18]][_0xf196[17]]}})[_0xf196[11]](function(_0xa261xa){if(!_0xa261xa){return _0xa261x7[_0xf196[16]](404)};_0xa261xa[_0xf196[32]]()[_0xf196[11]](function(){return _0xa261x7[_0xf196[16]](204)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})};exports[_0xf196[33]]= function(_0xa261x6,_0xa261x7){VoiceVoicemail[_0xf196[32]]({where:{uniqueid:_0xa261x6[_0xf196[12]][_0xf196[17]]},individualHooks:true})[_0xf196[11]](function(){return _0xa261x7[_0xf196[16]](204)})[_0xf196[8]](function(_0xa261x8){return handleError(_0xa261x7,_0xa261x8)})};function handleError(_0xa261x7,_0xa261x8){return _0xa261x7[_0xf196[10]](500)[_0xf196[9]](_0xa261x8)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceVoicemail = require('../../models').VoiceVoicemail;
-
-var VoiceVoicemailEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceVoicemailEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceVoicemail.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceVoicemailEvents.emit(event + ':' + doc._id, doc);
- VoiceVoicemailEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceVoicemailEvents;
+var _0x1db9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1db9[0];const EventEmitter=require(_0x1db9[1]);const VoiceVoicemail=require(_0x1db9[3])[_0x1db9[2]];var VoiceVoicemailEvents= new EventEmitter();VoiceVoicemailEvents[_0x1db9[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x1db9[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x1db9[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x1db9[6]};for(var e in events){var event=events[e];VoiceVoicemail[_0x1db9[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x28e3x8,_0x28e3x9,_0x28e3xa){VoiceVoicemailEvents[_0x1db9[10]](event+ _0x1db9[8]+ _0x28e3x8[_0x1db9[9]],_0x28e3x8);VoiceVoicemailEvents[_0x1db9[10]](event,_0x28e3x8);_0x28e3xa(null)}}module[_0x1db9[11]]= VoiceVoicemailEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceVoicemailEvents = require('./voice_voicemail.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_voicemail:' + event, socket);
-
- VoiceVoicemailEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceVoicemailEvents.removeListener(event, listener);
- };
-}
+var _0x9685=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x9685[0];const VoiceVoicemailEvents=require(_0x9685[1]);var events=[_0x9685[2],_0x9685[3]];exports[_0x9685[4]]= function(_0x30cbx3){for(var _0x30cbx4=0,_0x30cbx5=events[_0x9685[5]];_0x30cbx4< _0x30cbx5;_0x30cbx4++){var _0x30cbx6=events[_0x30cbx4];var _0x30cbx7=createListener(_0x9685[6]+ _0x30cbx6,_0x30cbx3);VoiceVoicemailEvents[_0x9685[7]](_0x30cbx6,_0x30cbx7);_0x30cbx3[_0x9685[7]](_0x9685[8],removeListener(_0x30cbx6,_0x30cbx7))}};function createListener(_0x30cbx6,_0x30cbx3){return function(_0x30cbx9){_0x30cbx3[_0x9685[9]](_0x30cbx6,_0x30cbx9)}}function removeListener(_0x30cbx6,_0x30cbx7){return function(){VoiceVoicemailEvents[_0x9685[10]](_0x30cbx6,_0x30cbx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./voice_voicemail_messages.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.show);
-router.get('/:id/download', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.download);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([7], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x8e7a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x8e7a[0];var express=require(_0x8e7a[1]);var controller=require(_0x8e7a[2]);var auth=require(_0x8e7a[3]);var router=express.Router();router[_0x8e7a[9]](_0x8e7a[4],auth[_0x8e7a[5]](),auth[_0x8e7a[7]]([7],[_0x8e7a[6]]),controller[_0x8e7a[8]]);router[_0x8e7a[9]](_0x8e7a[10],auth[_0x8e7a[5]](),auth[_0x8e7a[7]]([7],[_0x8e7a[6]]),controller[_0x8e7a[11]]);router[_0x8e7a[9]](_0x8e7a[12],auth[_0x8e7a[5]](),auth[_0x8e7a[7]]([7],[_0x8e7a[6]]),controller[_0x8e7a[13]]);router[_0x8e7a[15]](_0x8e7a[4],auth[_0x8e7a[5]](),auth[_0x8e7a[7]]([7],[_0x8e7a[6]]),controller[_0x8e7a[14]]);router[_0x8e7a[15]](_0x8e7a[10],auth[_0x8e7a[5]](),auth[_0x8e7a[7]]([7],[_0x8e7a[6]]),controller[_0x8e7a[16]]);module[_0x8e7a[17]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var stream = require('stream');
-var Util = require('../../config/util');
-
-var VoiceVoicemailMessages = require('../../models').VoiceVoicemailMessages;
-
-// Get list of voicemail messages
-exports.index = function(req, res) {
- return VoiceVoicemailMessages
- .scope({
- method: ['mailbox', req.query]
- })
- .findAndCountAll(Util.getQuery(req.query))
- .then(function(result) {
- res.status(200).send(result);
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-// Get a single voicemail_message
-exports.show = function(req, res) {
- return VoiceVoicemailMessages
- .findById(req.params.id)
- .then(function(voicemail_message) {
- if (!voicemail_message) {
- return res.sendStatus(404);
- }
- return res.send(voicemail_message);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a voicemail_message from the DB.
-exports.destroy = function(req, res) {
- return VoiceVoicemailMessages
- .findById(req.params.id)
- .then(function(voicemail_message) {
- if (!voicemail_message) {
- return res.sendStatus(404);
- }
- voicemail_message.recording = null;
- voicemail_message.destroy();
- })
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes all voicemail_messages from the DB.
-exports.bulkDestroy = function(req, res) {
- return VoiceVoicemailMessages
- .findAll({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(function(voicemail_messages) {
- var bulkDest = [];
- voicemail_messages.forEach(function(message) {
- message.recording = null;
- bulkDest.push(message.destroy());
- });
- return bulkDest;
- })
- .all()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.download = function(req, res) {
- return VoiceVoicemailMessages
- .findById(req.params.id)
- .then(function(message) {
- var base64String = new Buffer(message.recording, 'binary').toString('base64');
- return base64String;
- })
- .then(function(base64String) {
- return res.status(200).send({
- downloadString: base64String
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xd87b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x73\x74\x72\x65\x61\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x6D\x61\x69\x6C\x62\x6F\x78","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x6C\x6C","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x69\x64\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x62\x61\x73\x65\x36\x34","\x62\x69\x6E\x61\x72\x79"];_0xd87b[0];var _=require(_0xd87b[1]);var stream=require(_0xd87b[2]);var Util=require(_0xd87b[3]);var VoiceVoicemailMessages=require(_0xd87b[5])[_0xd87b[4]];exports[_0xd87b[6]]= function(_0xb246x5,_0xb246x6){return VoiceVoicemailMessages[_0xd87b[16]]({method:[_0xd87b[15],_0xb246x5[_0xd87b[12]]]})[_0xd87b[14]](Util[_0xd87b[13]](_0xb246x5[_0xd87b[12]]))[_0xd87b[11]](function(_0xb246x8){_0xb246x6[_0xd87b[10]](200)[_0xd87b[9]](_0xb246x8)})[_0xd87b[8]](function(_0xb246x7){console[_0xd87b[7]](_0xb246x7);return handleError(_0xb246x6,_0xb246x7)})};exports[_0xd87b[17]]= function(_0xb246x5,_0xb246x6){return VoiceVoicemailMessages[_0xd87b[21]](_0xb246x5[_0xd87b[20]][_0xd87b[19]])[_0xd87b[11]](function(_0xb246x9){if(!_0xb246x9){return _0xb246x6[_0xd87b[18]](404)};return _0xb246x6[_0xd87b[9]](_0xb246x9)})[_0xd87b[8]](function(_0xb246x7){return handleError(_0xb246x6,_0xb246x7)})};exports[_0xd87b[22]]= function(_0xb246x5,_0xb246x6){return VoiceVoicemailMessages[_0xd87b[21]](_0xb246x5[_0xd87b[20]][_0xd87b[19]])[_0xd87b[11]](function(_0xb246x9){if(!_0xb246x9){return _0xb246x6[_0xd87b[18]](404)};_0xb246x9[_0xd87b[23]]= null;_0xb246x9[_0xd87b[22]]()})[_0xd87b[11]](function(){return _0xb246x6[_0xd87b[18]](204)})[_0xd87b[8]](function(_0xb246x7){return handleError(_0xb246x6,_0xb246x7)})};exports[_0xd87b[24]]= function(_0xb246x5,_0xb246x6){return VoiceVoicemailMessages[_0xd87b[29]]({where:{id:_0xb246x5[_0xd87b[12]][_0xd87b[28]]},individualHooks:true})[_0xd87b[11]](function(_0xb246xa){var _0xb246xb=[];_0xb246xa[_0xd87b[27]](function(_0xb246xc){_0xb246xc[_0xd87b[23]]= null;_0xb246xb[_0xd87b[26]](_0xb246xc[_0xd87b[22]]())});return _0xb246xb})[_0xd87b[25]]()[_0xd87b[11]](function(){return _0xb246x6[_0xd87b[18]](204)})[_0xd87b[8]](function(_0xb246x7){return handleError(_0xb246x6,_0xb246x7)})};exports[_0xd87b[30]]= function(_0xb246x5,_0xb246x6){return VoiceVoicemailMessages[_0xd87b[21]](_0xb246x5[_0xd87b[20]][_0xd87b[19]])[_0xd87b[11]](function(_0xb246xc){var _0xb246xd= new Buffer(_0xb246xc[_0xd87b[23]],_0xd87b[32]).toString(_0xd87b[31]);return _0xb246xd})[_0xd87b[11]](function(_0xb246xd){return _0xb246x6[_0xd87b[10]](200)[_0xd87b[9]]({downloadString:_0xb246xd})})[_0xd87b[8]](function(_0xb246x7){console[_0xd87b[7]](_0xb246x7);return handleError(_0xb246x6,_0xb246x7)})};function handleError(_0xb246x6,_0xb246x7){return _0xb246x6[_0xd87b[10]](500)[_0xd87b[9]](_0xb246x7)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const VoiceVoicemailMessages = require('../../models').VoiceVoicemailMessages;
-
-var VoiceVoicemailMessagesEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-VoiceVoicemailMessagesEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- VoiceVoicemailMessages.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- VoiceVoicemailMessagesEvents.emit(event + ':' + doc._id, doc);
- VoiceVoicemailMessagesEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = VoiceVoicemailMessagesEvents;
+var _0x5f13=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x56\x6F\x69\x63\x65\x56\x6F\x69\x63\x65\x6D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5f13[0];const EventEmitter=require(_0x5f13[1]);const VoiceVoicemailMessages=require(_0x5f13[3])[_0x5f13[2]];var VoiceVoicemailMessagesEvents= new EventEmitter();VoiceVoicemailMessagesEvents[_0x5f13[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x5f13[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x5f13[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x5f13[6]};for(var e in events){var event=events[e];VoiceVoicemailMessages[_0x5f13[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x18b4x8,_0x18b4x9,_0x18b4xa){VoiceVoicemailMessagesEvents[_0x5f13[10]](event+ _0x5f13[8]+ _0x18b4x8[_0x5f13[9]],_0x18b4x8);VoiceVoicemailMessagesEvents[_0x5f13[10]](event,_0x18b4x8);_0x18b4xa(null)}}module[_0x5f13[11]]= VoiceVoicemailMessagesEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const VoiceVoicemailMessagesEvents = require('./voice_voicemail_messages.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('voice_voicemail_messages:' + event, socket);
-
- VoiceVoicemailMessagesEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- VoiceVoicemailMessagesEvents.removeListener(event, listener);
- };
-}
+var _0x7a1a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x7a1a[0];const VoiceVoicemailMessagesEvents=require(_0x7a1a[1]);var events=[_0x7a1a[2],_0x7a1a[3]];exports[_0x7a1a[4]]= function(_0xbeb6x3){for(var _0xbeb6x4=0,_0xbeb6x5=events[_0x7a1a[5]];_0xbeb6x4< _0xbeb6x5;_0xbeb6x4++){var _0xbeb6x6=events[_0xbeb6x4];var _0xbeb6x7=createListener(_0x7a1a[6]+ _0xbeb6x6,_0xbeb6x3);VoiceVoicemailMessagesEvents[_0x7a1a[7]](_0xbeb6x6,_0xbeb6x7);_0xbeb6x3[_0x7a1a[7]](_0x7a1a[8],removeListener(_0xbeb6x6,_0xbeb6x7))}};function createListener(_0xbeb6x6,_0xbeb6x3){return function(_0xbeb6x9){_0xbeb6x3[_0x7a1a[9]](_0xbeb6x6,_0xbeb6x9)}}function removeListener(_0xbeb6x6,_0xbeb6x7){return function(){VoiceVoicemailMessagesEvents[_0x7a1a[10]](_0xbeb6x6,_0xbeb6x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./widget.controller');
-var auth = require('../../auth/auth.service');
-
-var router = express.Router();
-
-router.get('/counter', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.counter);
-router.get('/table', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.table);
-router.get('/piechart', auth.isAuthenticated(), auth.hasModule([2], ['admin']), controller.piechart);
-
-module.exports = router;
+var _0x5c44=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x77\x69\x64\x67\x65\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x6F\x75\x6E\x74\x65\x72","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x63\x6F\x75\x6E\x74\x65\x72","\x67\x65\x74","\x2F\x74\x61\x62\x6C\x65","\x74\x61\x62\x6C\x65","\x2F\x70\x69\x65\x63\x68\x61\x72\x74","\x70\x69\x65\x63\x68\x61\x72\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x5c44[0];var express=require(_0x5c44[1]);var controller=require(_0x5c44[2]);var auth=require(_0x5c44[3]);var router=express.Router();router[_0x5c44[9]](_0x5c44[4],auth[_0x5c44[5]](),auth[_0x5c44[7]]([2],[_0x5c44[6]]),controller[_0x5c44[8]]);router[_0x5c44[9]](_0x5c44[10],auth[_0x5c44[5]](),auth[_0x5c44[7]]([2],[_0x5c44[6]]),controller[_0x5c44[11]]);router[_0x5c44[9]](_0x5c44[12],auth[_0x5c44[5]](),auth[_0x5c44[7]]([2],[_0x5c44[6]]),controller[_0x5c44[13]]);module[_0x5c44[14]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var sequelize = require('../../models').sequelize;
-var reportBuildUtils = require('../../utils/report_build');
-var Promise = require('bluebird');
-
-// var ReportAgent = require('../../models').ReportAgent;
-// var ReportCall = require('../../models').ReportCall;
-// var ReportDial = require('../../models').ReportDial;
-// var ReportMember = require('../../models').ReportMember;
-// var ReportQueue = require('../../models').ReportQueue;
-
-
-
-exports.counter = function(req, res) {
- return Promise
- .all([])
- .then(function() {
- return req.query.table;
- })
- .then(reportBuildUtils.buildFilter(req.user))
- .then(function(filter) {
- var query = util.format("SELECT %s FROM %s", req.query.select, req.query.table);
- if (req.query.condition) {
- query += util.format(" WHERE %s", decodeURIComponent(req.query.condition))
- }
- if (!filter || filter !== 'empty') {
- if (filter) {
- query += req.query.condition ? ' AND ' + filter : ' WHERE ' + filter;
- }
- console.log(' ==== RESULTING QUERY ====');
- console.log(query);
- console.log(' =========================');
- return sequelize.query(query, {
- type: sequelize.QueryTypes.SELECT
- });
- } else {
- console.log(' ==== RESULTING QUERY ====');
- console.log('NO SUFFICIENT PERMISSIONS');
- console.log(' =========================');
- return [];
- }
- })
- .then(function(result) {
- return res.status(200).send({
- result: result
- });
- })
- .catch(function(err) {
- console.log(err);
- return handleError(res, err);
- });
-};
-
-exports.table = function(req, res) {
- var columns = [];
- var elem;
- if (req.query.fields) {
- if (_.isArray(req.query.fields)) {
- req.query.fields.forEach(function(element) {
- elem = JSON.parse(element);
- if (elem.column && elem.alias) {
- columns.push(elem.column + ' AS "' + elem.alias + '"');
- }
- });
- } else if (_.isString(req.query.fields)) {
- elem = JSON.parse(req.query.fields);
- if (elem.column && elem.alias) {
- columns.push(elem.column + ' AS "' + elem.alias + '"');
- }
- }
- }
- var select = columns.length ? columns.join(',') : '*';
- sequelize.query(util.format("SELECT %s FROM %s WHERE %s", select, 'report' + req.query.table, decodeURIComponent(req.query.condition)), {
- type: sequelize.QueryTypes.SELECT
- })
- .then(function(result) {
- return res.status(200).send(result);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.piechart = function(req, res) {
- return Promise
- .all([])
- .then(function() {
- return req.query.table;
- })
- .then(reportBuildUtils.buildFilter(req.user))
- .then(function(filter) {
- var columns = [];
- var elem;
- if (req.query.fields) {
- if (_.isArray(req.query.fields)) {
- req.query.fields.forEach(function(element) {
- elem = JSON.parse(element);
- if (elem.column && elem.alias) {
- columns.push(elem.column + ' AS "' + elem.alias + '"');
- }
- });
- } else if (_.isString(req.query.fields)) {
- elem = JSON.parse(req.query.fields);
- if (elem.column && elem.alias) {
- columns.push(elem.column + ' AS "' + elem.alias + '"');
- }
- }
- }
- var select = columns.length ? columns.join(',') : '*';
- var where = '';
- if (req.query.condition !== 'undefined') {
- where = util.format(' WHERE %s', decodeURIComponent(req.query.condition));
- }
- if (!filter || filter !== 'empty') {
- if (filter) {
- where += ' AND ' + filter;
- }
- var query = util.format("SELECT %s FROM %s%s", select, req.query.table, where);
- console.log(' ==== RESULTING QUERY ====');
- console.log(query);
- console.log(' =========================');
- return sequelize.query(query, {
- type: sequelize.QueryTypes.SELECT
- });
- } else {
- console.log(' ==== RESULTING QUERY ====');
- console.log('NO SUFFICIENT PERMISSIONS');
- console.log(' =========================');
- return [];
- }
- })
- .then(function(result) {
- return res.status(200).send({
- result: result
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x272e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x62\x75\x69\x6C\x64","\x62\x6C\x75\x65\x62\x69\x72\x64","\x63\x6F\x75\x6E\x74\x65\x72","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73","\x73\x65\x6C\x65\x63\x74","\x71\x75\x65\x72\x79","\x74\x61\x62\x6C\x65","\x66\x6F\x72\x6D\x61\x74","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x65\x6D\x70\x74\x79","\x20\x41\x4E\x44\x20","\x20\x57\x48\x45\x52\x45\x20","\x20\x3D\x3D\x3D\x3D\x20\x52\x45\x53\x55\x4C\x54\x49\x4E\x47\x20\x51\x55\x45\x52\x59\x20\x3D\x3D\x3D\x3D","\x20\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x4E\x4F\x20\x53\x55\x46\x46\x49\x43\x49\x45\x4E\x54\x20\x50\x45\x52\x4D\x49\x53\x53\x49\x4F\x4E\x53","\x75\x73\x65\x72","\x62\x75\x69\x6C\x64\x46\x69\x6C\x74\x65\x72","\x61\x6C\x6C","\x66\x69\x65\x6C\x64\x73","\x69\x73\x41\x72\x72\x61\x79","\x70\x61\x72\x73\x65","\x63\x6F\x6C\x75\x6D\x6E","\x61\x6C\x69\x61\x73","\x20\x41\x53\x20\x22","\x22","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x69\x73\x53\x74\x72\x69\x6E\x67","\x6C\x65\x6E\x67\x74\x68","\x2C","\x6A\x6F\x69\x6E","\x2A","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73\x20\x57\x48\x45\x52\x45\x20\x25\x73","\x72\x65\x70\x6F\x72\x74","\x70\x69\x65\x63\x68\x61\x72\x74","","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x53\x45\x4C\x45\x43\x54\x20\x25\x73\x20\x46\x52\x4F\x4D\x20\x25\x73\x25\x73"];_0x272e[0];var _=require(_0x272e[1]);var util=require(_0x272e[2]);var sequelize=require(_0x272e[4])[_0x272e[3]];var reportBuildUtils=require(_0x272e[5]);var Promise=require(_0x272e[6]);exports[_0x272e[7]]= function(_0xeb0ex6,_0xeb0ex7){return Promise[_0x272e[30]]([])[_0x272e[12]](function(){return _0xeb0ex6[_0x272e[15]][_0x272e[16]]})[_0x272e[12]](reportBuildUtils[_0x272e[29]](_0xeb0ex6[_0x272e[28]]))[_0x272e[12]](function(_0xeb0exa){var _0xeb0exb=util[_0x272e[17]](_0x272e[13],_0xeb0ex6[_0x272e[15]][_0x272e[14]],_0xeb0ex6[_0x272e[15]][_0x272e[16]]);if(_0xeb0ex6[_0x272e[15]][_0x272e[18]]){_0xeb0exb+= util[_0x272e[17]](_0x272e[19],decodeURIComponent(_0xeb0ex6[_0x272e[15]][_0x272e[18]]))};if(!_0xeb0exa|| _0xeb0exa!== _0x272e[20]){if(_0xeb0exa){_0xeb0exb+= _0xeb0ex6[_0x272e[15]][_0x272e[18]]?_0x272e[21]+ _0xeb0exa:_0x272e[22]+ _0xeb0exa};console[_0x272e[8]](_0x272e[23]);console[_0x272e[8]](_0xeb0exb);console[_0x272e[8]](_0x272e[24]);return sequelize[_0x272e[15]](_0xeb0exb,{type:sequelize[_0x272e[26]][_0x272e[25]]})}else {console[_0x272e[8]](_0x272e[23]);console[_0x272e[8]](_0x272e[27]);console[_0x272e[8]](_0x272e[24]);return []}})[_0x272e[12]](function(_0xeb0ex9){return _0xeb0ex7[_0x272e[11]](200)[_0x272e[10]]({result:_0xeb0ex9})})[_0x272e[9]](function(_0xeb0ex8){console[_0x272e[8]](_0xeb0ex8);return handleError(_0xeb0ex7,_0xeb0ex8)})};exports[_0x272e[16]]= function(_0xeb0ex6,_0xeb0ex7){var _0xeb0exc=[];var _0xeb0exd;if(_0xeb0ex6[_0x272e[15]][_0x272e[31]]){if(_[_0x272e[32]](_0xeb0ex6[_0x272e[15]][_0x272e[31]])){_0xeb0ex6[_0x272e[15]][_0x272e[31]][_0x272e[39]](function(_0xeb0exe){_0xeb0exd= JSON[_0x272e[33]](_0xeb0exe);if(_0xeb0exd[_0x272e[34]]&& _0xeb0exd[_0x272e[35]]){_0xeb0exc[_0x272e[38]](_0xeb0exd[_0x272e[34]]+ _0x272e[36]+ _0xeb0exd[_0x272e[35]]+ _0x272e[37])}})}else {if(_[_0x272e[40]](_0xeb0ex6[_0x272e[15]][_0x272e[31]])){_0xeb0exd= JSON[_0x272e[33]](_0xeb0ex6[_0x272e[15]][_0x272e[31]]);if(_0xeb0exd[_0x272e[34]]&& _0xeb0exd[_0x272e[35]]){_0xeb0exc[_0x272e[38]](_0xeb0exd[_0x272e[34]]+ _0x272e[36]+ _0xeb0exd[_0x272e[35]]+ _0x272e[37])}}}};var _0xeb0exf=_0xeb0exc[_0x272e[41]]?_0xeb0exc[_0x272e[43]](_0x272e[42]):_0x272e[44];sequelize[_0x272e[15]](util[_0x272e[17]](_0x272e[45],_0xeb0exf,_0x272e[46]+ _0xeb0ex6[_0x272e[15]][_0x272e[16]],decodeURIComponent(_0xeb0ex6[_0x272e[15]][_0x272e[18]])),{type:sequelize[_0x272e[26]][_0x272e[25]]})[_0x272e[12]](function(_0xeb0ex9){return _0xeb0ex7[_0x272e[11]](200)[_0x272e[10]](_0xeb0ex9)})[_0x272e[9]](function(_0xeb0ex8){return handleError(_0xeb0ex7,_0xeb0ex8)})};exports[_0x272e[47]]= function(_0xeb0ex6,_0xeb0ex7){return Promise[_0x272e[30]]([])[_0x272e[12]](function(){return _0xeb0ex6[_0x272e[15]][_0x272e[16]]})[_0x272e[12]](reportBuildUtils[_0x272e[29]](_0xeb0ex6[_0x272e[28]]))[_0x272e[12]](function(_0xeb0exa){var _0xeb0exc=[];var _0xeb0exd;if(_0xeb0ex6[_0x272e[15]][_0x272e[31]]){if(_[_0x272e[32]](_0xeb0ex6[_0x272e[15]][_0x272e[31]])){_0xeb0ex6[_0x272e[15]][_0x272e[31]][_0x272e[39]](function(_0xeb0exe){_0xeb0exd= JSON[_0x272e[33]](_0xeb0exe);if(_0xeb0exd[_0x272e[34]]&& _0xeb0exd[_0x272e[35]]){_0xeb0exc[_0x272e[38]](_0xeb0exd[_0x272e[34]]+ _0x272e[36]+ _0xeb0exd[_0x272e[35]]+ _0x272e[37])}})}else {if(_[_0x272e[40]](_0xeb0ex6[_0x272e[15]][_0x272e[31]])){_0xeb0exd= JSON[_0x272e[33]](_0xeb0ex6[_0x272e[15]][_0x272e[31]]);if(_0xeb0exd[_0x272e[34]]&& _0xeb0exd[_0x272e[35]]){_0xeb0exc[_0x272e[38]](_0xeb0exd[_0x272e[34]]+ _0x272e[36]+ _0xeb0exd[_0x272e[35]]+ _0x272e[37])}}}};var _0xeb0exf=_0xeb0exc[_0x272e[41]]?_0xeb0exc[_0x272e[43]](_0x272e[42]):_0x272e[44];var _0xeb0ex10=_0x272e[48];if(_0xeb0ex6[_0x272e[15]][_0x272e[18]]!== _0x272e[49]){_0xeb0ex10= util[_0x272e[17]](_0x272e[19],decodeURIComponent(_0xeb0ex6[_0x272e[15]][_0x272e[18]]))};if(!_0xeb0exa|| _0xeb0exa!== _0x272e[20]){if(_0xeb0exa){_0xeb0ex10+= _0x272e[21]+ _0xeb0exa};var _0xeb0exb=util[_0x272e[17]](_0x272e[50],_0xeb0exf,_0xeb0ex6[_0x272e[15]][_0x272e[16]],_0xeb0ex10);console[_0x272e[8]](_0x272e[23]);console[_0x272e[8]](_0xeb0exb);console[_0x272e[8]](_0x272e[24]);return sequelize[_0x272e[15]](_0xeb0exb,{type:sequelize[_0x272e[26]][_0x272e[25]]})}else {console[_0x272e[8]](_0x272e[23]);console[_0x272e[8]](_0x272e[27]);console[_0x272e[8]](_0x272e[24]);return []}})[_0x272e[12]](function(_0xeb0ex9){return _0xeb0ex7[_0x272e[11]](200)[_0x272e[10]]({result:_0xeb0ex9})})[_0x272e[9]](function(_0xeb0ex8){return handleError(_0xeb0ex7,_0xeb0ex8)})};function handleError(_0xeb0ex7,_0xeb0ex8){return _0xeb0ex7[_0x272e[11]](500)[_0x272e[10]](_0xeb0ex8)}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./xchatty.controller');
-var license = require('../../config/license/license.service');
-
-var router = express.Router();
-
-router.get('/jquery', controller.getJqueryLibrary);
-router.get('/assets', controller.getAssets);
-
-router.get('/submit', controller.submitEnquiry);
-router.get('/rating', controller.setRating);
-
-router.get('/:id', license.isValidDate(), license.hasChat(), controller.getJsByWebsite);
-router.get('/:id/abandon', license.isValidDate(), license.hasChat(), controller.abandonCustomer);
-router.get('/:id/html', license.isValidDate(), license.hasChat(), controller.getHtmlByWebsite);
-router.get('/:id/proactive', license.isValidDate(), license.hasChat(), controller.getProactiveActionsByWebsite);
-router.get('/:id/read', license.isValidDate(), license.hasChat(), controller.getMessages);
-router.get('/:id/send', license.isValidDate(), license.hasChat(), controller.sendMessage);
-router.get('/:id/signout', license.isValidDate(), license.hasChat(), controller.signoutCustomer);
-router.get('/:id/signup', license.isValidDate(), license.hasChat(), controller.signupCustomer);
-router.get('/:id/status', license.isValidDate(), license.hasChat(), controller.getStatusByWebsite);
-router.get('/:id/styles', license.isValidDate(), license.hasChat(), controller.getStyleByWebsite);
-router.get('/:id/transcript', license.isValidDate(), license.hasChat(), controller.getTranscript);
-router.get('/:id/unserved', license.isValidDate(), license.hasChat(), controller.unservedCustomer);
-
-module.exports = router;
+var _0x4121=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x78\x63\x68\x61\x74\x74\x79\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x6A\x71\x75\x65\x72\x79","\x67\x65\x74\x4A\x71\x75\x65\x72\x79\x4C\x69\x62\x72\x61\x72\x79","\x67\x65\x74","\x2F\x61\x73\x73\x65\x74\x73","\x67\x65\x74\x41\x73\x73\x65\x74\x73","\x2F\x73\x75\x62\x6D\x69\x74","\x73\x75\x62\x6D\x69\x74\x45\x6E\x71\x75\x69\x72\x79","\x2F\x72\x61\x74\x69\x6E\x67","\x73\x65\x74\x52\x61\x74\x69\x6E\x67","\x2F\x3A\x69\x64","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x68\x61\x73\x43\x68\x61\x74","\x67\x65\x74\x4A\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x3A\x69\x64\x2F\x68\x74\x6D\x6C","\x67\x65\x74\x48\x74\x6D\x6C\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x70\x72\x6F\x61\x63\x74\x69\x76\x65","\x67\x65\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x72\x65\x61\x64","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x2F\x3A\x69\x64\x2F\x73\x65\x6E\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x2F\x3A\x69\x64\x2F\x73\x69\x67\x6E\x6F\x75\x74","\x73\x69\x67\x6E\x6F\x75\x74\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x3A\x69\x64\x2F\x73\x69\x67\x6E\x75\x70","\x73\x69\x67\x6E\x75\x70\x43\x75\x73\x74\x6F\x6D\x65\x72","\x2F\x3A\x69\x64\x2F\x73\x74\x61\x74\x75\x73","\x67\x65\x74\x53\x74\x61\x74\x75\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x73\x74\x79\x6C\x65\x73","\x67\x65\x74\x53\x74\x79\x6C\x65\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x2F\x3A\x69\x64\x2F\x74\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x67\x65\x74\x54\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x2F\x3A\x69\x64\x2F\x75\x6E\x73\x65\x72\x76\x65\x64","\x75\x6E\x73\x65\x72\x76\x65\x64\x43\x75\x73\x74\x6F\x6D\x65\x72","\x65\x78\x70\x6F\x72\x74\x73"];_0x4121[0];var express=require(_0x4121[1]);var controller=require(_0x4121[2]);var license=require(_0x4121[3]);var router=express.Router();router[_0x4121[6]](_0x4121[4],controller[_0x4121[5]]);router[_0x4121[6]](_0x4121[7],controller[_0x4121[8]]);router[_0x4121[6]](_0x4121[9],controller[_0x4121[10]]);router[_0x4121[6]](_0x4121[11],controller[_0x4121[12]]);router[_0x4121[6]](_0x4121[13],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[16]]);router[_0x4121[6]](_0x4121[17],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[18]]);router[_0x4121[6]](_0x4121[19],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[20]]);router[_0x4121[6]](_0x4121[21],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[22]]);router[_0x4121[6]](_0x4121[23],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[24]]);router[_0x4121[6]](_0x4121[25],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[26]]);router[_0x4121[6]](_0x4121[27],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[28]]);router[_0x4121[6]](_0x4121[29],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[30]]);router[_0x4121[6]](_0x4121[31],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[32]]);router[_0x4121[6]](_0x4121[33],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[34]]);router[_0x4121[6]](_0x4121[35],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[36]]);router[_0x4121[6]](_0x4121[37],license[_0x4121[14]](),license[_0x4121[15]](),controller[_0x4121[38]]);module[_0x4121[39]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var jsmin = require('jsmin').jsmin;
-var Mustache = require('mustache');
-var querystring = require('querystring');
-var path = require('path');
-var md5 = require('md5');
-var fs = require('fs');
-var UAParser = require('ua-parser-js');
-var uaParser = new UAParser();
-var languageParser = require('accept-language-parser');
-var ipaddr = require('ipaddr.js');
-var geoip = require('geoip-lite');
-var csv = require('to-csv');
-var util = require('util');
-var moment = require('moment');
-
-var Scheduler = require('../../config/routing/scheduler');
-var config = require('../../config/environment');
-var xchatty_components = require('../../components/xchatty');
-var Util = require('../../config/util');
-var license = require('../../config/license/license.service');
-var demoLicense = {
- users: 1,
- agents: 1,
- telephones: 0,
- chat: false,
- mail: false,
- fax: false,
- messaging: false,
- cm: false,
- dialer: false,
- jscripty: false,
- update: false,
- custom: false,
- description: 'DEMO LICENSE'
-};
-
-var sequelize = require('../../models').sequelize;
-var User = require('../../models').User;
-var Agent = require('../../models').User;
-var ChatRoom = require('../../models').ChatRoom;
-var ChatEnquiry = require('../../models').ChatEnquiry;
-var ChatVisitor = require('../../models').ChatVisitor;
-var ChatMessage = require('../../models').ChatMessage;
-var ChatWebsite = require('../../models').ChatWebsite;
-var ChatWebsitesField = require('../../models').ChatWebsitesField;
-var ChatProactiveAction = require('../../models').ChatProactiveAction;
-var ReportChatSession = require('../../models').ReportChatSession;
-var ChatQueue = require('../../models').ChatQueue;
-var License = require('../../models').License;
-var Xchatty = require('../../models').Xchatty;
-var Setting = require('../../models').Setting;
-const Contact = require('../../models').Contact;
-
-
-var id = 1;
-
-// Get list of xchattys
-exports.index = function(req, res, next) {
- return Xchatty
- .findAll()
- .then(function(xchattys) {
- return res.status(200).send(xchattys);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-exports.getJsByWebsite = function(req, res, next) {
-
- // TO DO: Find the configuration of the website and replace configuration in the file
- ChatWebsite
- .findById(req.params.id)
- .then(function(chatWebsite) {
- res.set({
- 'Content-Type': 'application/javascript',
- 'x-timestamp': Date.now(),
- 'x-sent': true
- });
-
- var js = xchatty_components.js;
- /*jshint multistr: true */
- var configJS = {
- websiteId: req.params.id,
- // rootPath: path.join(chatWebsite.remote, 'api', 'xchatty/'),
- rootPath: Util.stripTrailingSlash(chatWebsite.remote) + '/api/xchatty/',
- signedUp: 'false',
- windowFocused: 'false',
- isNewPage: 'true',
- processingSignUp: 'false',
- processingEnquiry: 'false',
- processingSend: 'false',
- processingRating: 'false',
- visitorFullname: '""',
- visitorAvatar: '""',
- timerReadMessages: 'null',
- timerCheckStatus: 'null',
- isOnline: 'false',
- decayHistory: 0,
- defaultTimeout: 5000,
- isInitialStatusCheck: 'true',
- muteNotificationSoundOnce: 'false',
- assetBase: Util.stripTrailingSlash(chatWebsite.remote) + '/api/xchatty/assets',
- hasSessionSaf: 'false',
- restoreOpenState: 'false',
- animateHover: chatWebsite.animation,
- hideEmail: 'false',
- hideOffline: 'false',
- headerShape: chatWebsite.header_shape,
- HeaderOnline: chatWebsite.header_online,
- OnlineMessage: chatWebsite.online_message,
- UsernamePlaceholder: chatWebsite.username_placeholder,
- EmailPlaceholder: chatWebsite.email_placeholder,
- StartChatButtonText: chatWebsite.start_chat_button,
- OfflineMessage: chatWebsite.offline_message,
- HeaderOffline: chatWebsite.header_offline,
- EnquiryMessagePlaceholder: chatWebsite.enquiry_message_placeholder,
- EnquiryButtonText: chatWebsite.enquiry_button,
- downloadTranscript: chatWebsite.download_transcript,
- RatingMessage: chatWebsite.rating_message,
- RatingSend: chatWebsite.rating_send,
- RatingSkip: chatWebsite.rating_skip,
- MessageAgentsBusy: chatWebsite.agents_busy,
- NameTitle: chatWebsite.name_title,
- EmailTitle: chatWebsite.email_title,
- MessageTitle: chatWebsite.message_title
- };
-
- js = Mustache.render(js, configJS);
- res.send(js);
-
- })
- .catch(function(err) {
- next(err);
- });
-
-};
-
-exports.getStyleByWebsite = function(req, res, next) {
-
- // TO DO: Find the configuration of the website and replace configuration in the file
- ChatWebsite
- .findById(req.params.id)
- .then(function(chatWebsite) {
-
- res.set({
- 'Content-Type': 'text/css',
- 'x-timestamp': Date.now(),
- 'x-sent': true
- });
-
- var css = xchatty_components.css;
-
- var configCSS = {
- // assetBase: path.join(chatWebsite.remote, 'api', 'xchatty',
- // 'assets'),
- assetBase: Util.stripTrailingSlash(chatWebsite.remote) + '/api/xchatty/assets',
- color: chatWebsite.color,
- colorFocus: chatWebsite.color_focus,
- colorButton: chatWebsite.color_button
- };
-
- css = Mustache.render(css, configCSS);
- res.send(css);
- })
- .catch(function(err) {
- next(err);
- });
-};
-
-exports.getAssets = function(req, res, next) {
- if (req.query.hasOwnProperty('uploaded')) {
- res.download(path.join(config.root, 'server', 'files', req.query.resource));
- } else {
- res.download(path.join(config.root, 'server', 'components', 'xchatty', 'assets', req.query.resource));
- }
-};
-
-exports.getJqueryLibrary = function(req, res, next) {
-
- // TODO: Find the configuration of the website and replace configuration in the file
- res.set({
- 'Content-Type': 'application/javascript',
- 'x-timestamp': Date.now(),
- 'x-sent': true
- });
-
- var jquery = xchatty_components.jquery;
- res.send(jquery);
-
-};
-
-exports.getStatus = function(req, res, next) {
-
- if (!req.session.xchatty) {
- req.session.xchatty = {};
- }
-
- var _jsonResponse = {};
-
- return Agent
- .findAll({
- where: {
- online: true,
- role: 'agent'
- }
- })
- .then(function(agents) {
- if (req.query.data.open_state)
- req.session.xchatty.open_state = req.query.data.open_state === 'true' ? true : false;
- _jsonResponse = {
- success: true,
- has_session_saf: null,
- signed_up: req.session.xchatty.room_id ? true : false,
- fullname: req.session.xchatty.fullname ? req.session.xchatty.fullname : '',
- email: req.session.xchatty.email ? req.session.xchatty.email : '',
- avatar: req.session.xchatty.avatar ? req.session.xchatty.avatar : '',
- open_state: req.session.xchatty.open_state || req.session.xchatty.room_id ? true : false,
- online: agents.length ? true : false,
- is_unserved: false,
- room_id: 0
- };
- return;
- })
- .then(function() {
- if (req.session.xchatty.visitor_id) {
- return ChatRoom
- .findOne({
- where: {
- ChatVisitorId: req.session.xchatty.visitor_id,
- status: 'OPEN',
- token: {
- $ne: ''
- }
- }
- });
- }
- return;
- })
- .then(function(chatRoom) {
- if (chatRoom) {
- req.session.xchatty.room_id = chatRoom.id;
- _jsonResponse.room_id = chatRoom.id;
- _jsonResponse.signed_up = true;
- } else {
- _jsonResponse.signed_up = false;
- }
- return;
- })
- .then(function() {
- if (req.session.xchatty.visitor_id) {
- return ChatVisitor
- .findOne({
- where: {
- id: req.session.xchatty.visitor_id,
- status: 'unserved'
- }
- })
- }
- return;
- })
- .then(function(visitor) {
- if (visitor) {
- _jsonResponse.is_unserved = true;
- }
- return res.send(req.query.callback + '(' + JSON.stringify(_jsonResponse) + ')');
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-exports.getMessages = function(req, res, next) {
-
- var _websiteId = req.params.id;
-
- /*jshint multistr: true */
- var condition = {
- where: {
- ChatRoomId: req.session.xchatty[_websiteId].room_id
- },
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }, {
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }]
- };
-
- if (req.query.data.is_new_page === 'false') {
- condition.where.id = {
- $gt: req.query.data.last_id
- };
- }
-
- ChatMessage
- .findAll(condition)
- .then(function(chatMessages) {
- var json = {
- success: true,
- messages: chatMessages,
- composing: false,
- composing_fullname: null
- };
-
- res.send(req.query.callback + '(' + JSON.stringify(json) + ')');
- })
- .catch(function(err) {
- next(err);
- });
-};
-
-exports.sendMessage = function(req, res, next) {
-
- var _websiteId = req.params.id;
-
- /*jshint multistr: true */
- var condition = {
- where: {
- ChatRoomId: req.session.xchatty[_websiteId].room_id
- },
- include: [{
- model: User,
- attributes: ['id', 'name', 'fullname', 'email']
- }, {
- model: ChatVisitor,
- attributes: ['id', 'fullname', 'email']
- }]
- };
-
- if (req.query.data.is_new_page === 'false') {
- condition.where.id = {
- $gt: req.query.data.last_id
- };
- }
-
- ChatMessage
- .create({
- body: req.query.data.Message.message,
- ChatRoomId: req.session.xchatty[_websiteId].room_id,
- ChatVisitorId: req.session.xchatty[_websiteId].visitor_id
- })
- .then(function(chatMessage) {
- ChatMessage
- .findAll(condition)
- .then(function(chatMessages) {
- var json = {
- errors: [],
- success: true,
- data: chatMessage,
- messages: chatMessages
- };
-
- res.send(req.query.callback + '(' + JSON.stringify(json) + ')');
- })
- .catch(function(err) {
- next(err);
- });
- })
- .catch(function(err) {
- next(err);
- });
-
-};
-
-exports.signoutCustomer = function(req, res, next) {
-
- var _websiteId = req.params.id;
-
- return ChatRoom
- .findById(req.session.xchatty[_websiteId].room_id)
- .then(function(chatRoom) {
- return chatRoom
- .update({
- status: 'CLOSED',
- completeReason: 'requester'
- });
- })
- .then(function() {
- var json = {
- success: true,
- errors: []
- };
- req.session.xchatty[_websiteId] = {};
- res.send(req.query.callback + '(' + JSON.stringify(json) + ')');
- })
- .catch(function(err) {
- next(err);
- });
-};
-
-exports.signupCustomer = function(req, res, next) {
-
- var _websiteId = req.params.id;
-
- var ua = uaParser.setUA(req.headers['user-agent']).getResult();
- var languages = languageParser.parse(req.headers['accept-language']);
- var remoteAddress = req.headers['x-forwarded-for'] ? req.headers['x-forwarded-for'] : req.connection.remoteAddress || req.ip;
-
- var body = {
- fullname: req.query.data.Discussion.fullname,
- email: req.query.data.Discussion.email,
- remote_address: remoteAddress,
- user_agent: req.headers['user-agent'],
- visitor_language: req.headers['accept-language'],
- referer: req.headers.referer,
- origin: 'webchat',
- browser: ua.browser.name + ' ' + ua.browser.version,
- engine: ua.engine.name + ' ' + ua.engine.version,
- os: ua.os.name + ' ' + ua.os.version,
- device: ua.device.model ? ua.device.model + ' ' + ua.device.vendor + ' ' + ua.device.type : null,
- ChatWebsiteId: req.query.chatWebsiteId
- };
-
- if (req.query.data.Discussion.data1 && req.query.data.Discussion.labelData1) {
- body.data1 = req.query.data.Discussion.data1;
- if (_.isArray(body.data1)) {
- body.data1 = _.join(body.data1, ',');
- }
- body.labelData1 = req.query.data.Discussion.labelData1;
- }
- if (req.query.data.Discussion.data2 && req.query.data.Discussion.labelData2) {
- body.data2 = req.query.data.Discussion.data2;
- if (_.isArray(body.data2)) {
- body.data2 = _.join(body.data2, ',');
- }
- body.labelData2 = req.query.data.Discussion.labelData2;
- }
- if (req.query.data.Discussion.data3 && req.query.data.Discussion.labelData3) {
- body.data3 = req.query.data.Discussion.data3;
- if (_.isArray(body.data3)) {
- body.data3 = _.join(body.data3, ',');
- }
- body.labelData3 = req.query.data.Discussion.labelData3;
- }
-
- var _chatVisitor, _chatWebsite, _chatRoom;
-
- return ChatVisitor
- .create(body)
- .then(function(chatVisitor) {
-
- _chatVisitor = chatVisitor;
- return ChatWebsite
- .findById(_chatVisitor.ChatWebsiteId);
- })
- .then(function(website) {
- _chatWebsite = website;
-
- if (_chatWebsite.ListId) {
- return Contact
- .findOrCreate({
- where: {
- email: _chatVisitor.email,
- },
- defaults: {
- email: _chatVisitor.email,
- firstName: _chatVisitor.fullname,
- ListId: _chatWebsite.ListId
- }
- });
- }
- })
- .then(function() {
- return ChatRoom
- .create({
- type: 'external',
- ChatVisitorId: _chatVisitor.id,
- ChatWebsiteId: _chatWebsite.id,
- contact: _chatVisitor.email,
- website: _chatWebsite.name
- });
- })
- .then(function(chatRoom) {
- _chatRoom = chatRoom;
-
- var scheduler = new Scheduler({
- channel: 'chat',
- uniqueid: util.format('%s.%s', moment().unix(), _chatRoom.id),
- roomid: _chatRoom.id,
- websiteid: _chatWebsite.id,
- websitename: _chatWebsite.name,
- websiteaddress: _chatWebsite.address,
- accountid: _chatWebsite.id,
- accountname: _chatWebsite.name,
- accountaddress: _chatWebsite.address,
- visitorid: _chatVisitor.id,
- visitorname: _chatVisitor.fullname,
- visitoremail: _chatVisitor.email
- })
-
- scheduler.init();
-
- req.session.xchatty[_websiteId].fullname = _chatVisitor.fullname;
- req.session.xchatty[_websiteId].email = _chatVisitor.email;
- req.session.xchatty[_websiteId].avatar = md5(_chatVisitor.email).toString('base64');
- req.session.xchatty[_websiteId].visitor_id = _chatVisitor.id;
-
- var json = {
- success: true,
- errors: [],
- chatVisitor: {
- id: _chatVisitor.id
- }
- };
-
- /*jshint multistr: true */
- res.send(req.query.callback + '(' + JSON.stringify(json) + ')');
- })
- .catch(function(err) {
- next(err);
- });
-};
-
-exports.unservedCustomer = function(req, res, next) {
-
- var _websiteId = req.params.id;
-
- return ChatVisitor
- .findById(req.session.xchatty[_websiteId].visitor_id)
- .then(function(chatVisitor) {
- return chatVisitor
- .update({
- status: 'unserved'
- });
- })
- .then(function() {
- var json = {
- success: true,
- errors: []
- };
- req.session.xchatty[_websiteId] = {};
- res.send(req.query.callback + '(' + JSON.stringify(json) + ')');
- })
- .catch(function(err) {
- next(err);
- });
-};
-
-exports.submitEnquiry = function(req, res, next) {
-
- return sequelize.transaction().then(function(t) {
-
- var remoteAddress = req.headers['x-forwarded-for'] ? req.headers['x-forwarded-for'] : req.connection.remoteAddress || req.ip;
-
- var ua = uaParser.setUA(req.headers['user-agent']).getResult();
- var languages = languageParser.parse(req.headers['accept-language']);
- var body = {
- fullname: req.query.data.Enquiry.fullname,
- email: req.query.data.Enquiry.email,
- remote_address: remoteAddress,
- user_agent: req.headers['user-agent'],
- visitor_language: req.headers['accept-language'],
- browser: ua.browser.name + ' ' + ua.browser.version,
- engine: ua.engine.name + ' ' + ua.engine.version,
- os: ua.os.name + ' ' + ua.os.version,
- device: ua.device.model ? ua.device.model + ' ' + ua.device.vendor + ' ' + ua.device.type : null,
- referer: req.headers.referer,
- origin: 'enquiry',
- status: 'unserved',
- ChatWebsiteId: parseInt(req.query.data.Enquiry.websiteId, 10),
- ChatEnquiry: {
- username: req.query.data.Enquiry.fullname,
- email: req.query.data.Enquiry.email,
- text: req.query.data.Enquiry.message,
- ChatWebsiteId: parseInt(req.query.data.Enquiry.websiteId, 10)
- }
- };
-
- if (req.query.data.Enquiry.offlineData1 && req.query.data.Enquiry.labelOfflineData1) {
- body.offlineData1 = req.query.data.Enquiry.offlineData1;
- if (_.isArray(body.offlineData1)) {
- body.offlineData1 = _.join(body.offlineData1, ',');
- }
- body.labelOfflineData1 = req.query.data.Enquiry.labelOfflineData1;
- }
- if (req.query.data.Enquiry.offlineData2 && req.query.data.Enquiry.labelOfflineData2) {
- body.offlineData2 = req.query.data.Enquiry.offlineData2;
- if (_.isArray(body.offlineData2)) {
- body.offlineData2 = _.join(body.offlineData2, ',');
- }
- body.labelOfflineData2 = req.query.data.Enquiry.labelOfflineData2;
- }
- if (req.query.data.Enquiry.offlineData3 && req.query.data.Enquiry.labelOfflineData3) {
- body.offlineData3 = req.query.data.Enquiry.offlineData3;
- if (_.isArray(body.offlineData3)) {
- body.offlineData3 = _.join(body.offlineData3, ',');
- }
- body.labelOfflineData3 = req.query.data.Enquiry.labelOfflineData3;
- }
- var _chatVisitor;
- return ChatVisitor
- .create(body, {
- transaction: t,
- include: [{
- model: ChatEnquiry
- }]
- })
- .then(function(chatVisitor) {
-
- _chatVisitor = chatVisitor;
- return ChatWebsite
- .findById(_chatVisitor.ChatWebsiteId);
- })
- .then(function(website) {
- if (website.ListId) {
- return Contact
- .findOrCreate({
- where: {
- email: _chatVisitor.email,
- },
- defaults: {
- email: _chatVisitor.email,
- firstName: _chatVisitor.fullname,
- ListId: website.ListId
- }
- });
- }
- })
- .then(function() {
- t.commit();
- res.send(req.query.callback + '(' + JSON.stringify({
- success: true,
- errors: []
- }) + ')');
- })
- .catch(function(err) {
- t.rollback();
- next(err);
- });
- });
-};
-
-exports.getTranscript = function(req, res, next) {
-
- var _websiteId = req.params.id;
-
- if (req.session.xchatty[_websiteId] && req.session.xchatty[_websiteId].visitor_id && req.session.xchatty[_websiteId].room_id) {
- ChatMessage
- .findAll({
- where: {
- ChatRoomId: req.session.xchatty[_websiteId].room_id
- },
- include: [{
- model: Agent,
- attributes: ['id', 'fullname']
- }, {
- model: ChatVisitor,
- attributes: ['id', 'fullname']
- }]
- })
- .then(function(chatMessages) {
- var chatMessageForCSV = [];
- chatMessages.forEach(function(chatMessage) {
- var chatMsg = {
- name: chatMessage.UserId ? chatMessage.User.fullname : chatMessage.ChatVisitor.fullname,
- text: chatMessage.body.replace(/(\r\n|\n|\r)/gm, " "),
- date: chatMessage.createdAt
- };
- chatMessageForCSV.push(chatMsg);
- });
- var csv_transcript = csv(chatMessageForCSV);
- res.type('text/csv').status(200).send(csv_transcript);
- })
- .catch(function(err) {
- next(err);
- });
- }
-};
-
-// Get a single xchatty
-exports.show = function(req, res, next) {
- return Xchatty
- .findById(req.params.id)
- .then(function(xchatty) {
- if (!xchatty) {
- return res.sendStatus(404);
- }
- return res.send(xchatty);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-// Creates a new xchatty in the DB.
-exports.create = function(req, res, next) {
- return Xchatty
- .create(req.body)
- .then(function(xchatty) {
- return res.status(201).send(xchatty);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-// Updates an existing xchatty in the DB.
-exports.update = function(req, res, next) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return Xchatty
- .findById(req.params.id)
- .then(function(xchatty) {
- if (!xchatty) {
- return res.sendStatus(404);
- }
- var updated = _.merge(xchatty, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(xchatty);
- })
- .catch(function(err) {
- return next(err);
- });
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-// Deletes a xchatty from the DB.
-exports.destroy = function(req, res, next) {
- return Xchatty
- .findById(req.params.id)
- .then(function(xchatty) {
- if (!xchatty) {
- return res.sendStatus(404);
- }
- xchatty.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return next(err);
- });
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-
-exports.getHtmlByWebsite = function(req, res, next) {
- var chatWebsite, myLicense, _settings;
- var template = xchatty_components.template;
- return ChatWebsite
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function(_chatWebsite) {
- chatWebsite = _chatWebsite;
- return Setting
- .findById(1);
- })
- .then(function(settings) {
- _settings = settings;
- return License
- .findById(1);
- })
- .then(function(_license) {
-
- if (_license) {
- myLicense = JSON.parse(license.decrypt(_license.dataValues.license, _license.data1));
- } else {
- myLicense = demoLicense;
- }
-
- var configWebsite = {
- rootPath: Util.stripTrailingSlash(chatWebsite.remote) + '/api/xchatty/',
- assetBase: Util.stripTrailingSlash(chatWebsite.remote) + '/api/xchatty/assets',
- websiteId: chatWebsite.id,
- headerShape: chatWebsite.header_shape,
- enquiryEnable: chatWebsite.enquiry_enable,
- onlineFields: chatWebsite.Online,
- logo: function() {
- if (myLicense.custom && !chatWebsite.defaultLogo && chatWebsite.logo) {
- return 'images/' + chatWebsite.logo + '&uploaded';
- } else {
- return 'images/motionLogo.png';
- }
- },
- whiteLabel: function() {
- if (myLicense.custom && !chatWebsite.defaultWhiteLabel) {
- return chatWebsite.whiteLabel;
- } else {
- return '<a href="http://www.xcallymotion.com/" target="_blank">Powered by xCALLY</a>';
- }
- },
- renderedOnlineField: function() {
- var renderedElement = '';
- var element = this;
- switch (this.component) {
- case 'textInput':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label" for="%d">%s %s</label>', element.index, element.label, element.required ? '*' : '');
- renderedElement += util.format('<input data-label="%s" type="text" id="%d" name="data[Discussion][data%d]" placeholder="%s" %s/>', element.label, element.index, element.index +
- 1,
- element.placeholder, element.required ?
- 'required' :
- '');
- renderedElement += '</div>';
- break;
- case 'textArea':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label" for="%d">%s %s</label>', element.index, element.label, element.required ? '*' : '');
- renderedElement += util.format('<textarea id="%d" data-label="%s" name="data[Discussion][data%d]" placeholder="%s" %s></textarea>', element.index, element.label, element.index +
- 1,
- element.placeholder, element.required ?
- 'required' :
- '');
- renderedElement += '</div>';
- break;
- case 'checkbox':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label">%s</label>', element.label);
- _.forEach(element.options, function(item) {
- renderedElement += '<label style="display:block;">';
- renderedElement += util.format('<input type="checkbox" name="data[Discussion][data%d]" value="%s"> %s<br>', element.index + 1, item, item);
- renderedElement += '</label>';
- });
- renderedElement += '</div>';
- break;
- case 'radio':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label">%s</label>', element.label);
- _.forEach(element.options, function(item) {
- renderedElement += '<label style="display:block;">';
- renderedElement += util.format('<input type="radio" name="data[Discussion][data%d]" value="%s"> %s<br>', element.index + 1, item, item);
- renderedElement += '</label>';
- });
- renderedElement += '</div>';
- break;
- case 'select':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label" for="%d">%s</label>', element.index, element.label);
- renderedElement += util.format('<select name="data[Discussion][data%d]">', element.index + 1);
- _.forEach(element.options, function(item) {
- renderedElement += util.format('<option value="%s">%s</option>', item, item);
- });
- renderedElement += '</select></div>';
- break;
- }
- renderedElement += '<br>';
- renderedElement += util.format('<input type="hidden" name="data[Discussion][labelData%d]" value="%s">', element.index + 1, element.label);
- return renderedElement;
- },
- offlineFields: chatWebsite.Offline,
- renderedOfflineField: function() {
- var renderedElement = '';
- var element = this;
- switch (this.component) {
- case 'textInput':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label" for="offline%d">%s %s</label>', element.index, element.label, element.required ? '*' : '');
- renderedElement += util.format('<input data-label="%s" type="text" id="offline%d" name="data[Enquiry][offlineData%d]" placeholder="%s" %s/>', element.label, element.index,
- element.index +
- 1,
- element.placeholder, element.required ?
- 'required' :
- '');
- renderedElement += '</div>';
- break;
- case 'textArea':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label" for="offline%d">%s %s</label>', element.index, element.label, element.required ? '*' : '');
- renderedElement += util.format('<textarea id="offline%d" data-label="%s" name="data[Enquiry][offlineData%d]" placeholder="%s" %s></textarea>', element.index, element.label,
- element.index +
- 1,
- element.placeholder, element.required ?
- 'required' :
- '');
- renderedElement += '</div>';
- break;
- case 'checkbox':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label">%s</label>', element.label);
- _.forEach(element.options, function(item) {
- renderedElement += '<label style="display:block;">';
- renderedElement += util.format('<input type="checkbox" name="data[Enquiry][offlineData%d]" value="%s"> %s<br>', element.index + 1, item, item);
- renderedElement += '</label>';
- });
- renderedElement += '</div>';
- break;
- case 'radio':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label">%s</label>', element.label);
- _.forEach(element.options, function(item) {
- renderedElement += '<label style="display:block;">';
- renderedElement += util.format('<input type="radio" name="data[Enquiry][offlineData%d]" value="%s"> %s<br>', element.index + 1, item, item);
- renderedElement += '</label>';
- });
- renderedElement += '</div>';
- break;
- case 'select':
- renderedElement = '<div class="xc_div_group">';
- renderedElement += util.format('<label class="xc_label">%s</label>', element.label);
- renderedElement += util.format('<select name="data[Enquiry][offlineData%d]">', element.index + 1);
- _.forEach(element.options, function(item) {
- renderedElement += util.format('<option value="%s">%s</option>', item, item);
- });
- renderedElement += '</select></div>';
- break;
- }
- renderedElement += '<br>';
- renderedElement += util.format('<input type="hidden" name="data[Enquiry][labelOfflineData%d]" value="%s">', element.index + 1, element.label);
- return renderedElement;
- }
- };
- template = Mustache.render(template, configWebsite);
- return res.status(200).jsonp(template);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-exports.getProactiveActionsByWebsite = function(req, res, next) {
- return ChatWebsite
- .findById(req.params.id, {
- include: [{
- model: ChatProactiveAction
- }]
- })
- .then(function(chatWebsite) {
- if (!chatWebsite) {
- return res.status(400).jsonp({});
- }
- return res.status(200).jsonp(chatWebsite.ChatProactiveActions);
- })
- .catch(function(err) {
- return next(err);
- });
-};
-
-exports.setRating = function(req, res, next) {
- return ChatRoom
- .findById(req.query.data.Rating.room_id)
- .then(function(chatRoom) {
- if (!chatRoom) {
- return res.status(400).jsonp({});
- }
- if (req.query.data.Rating.hasOwnProperty('rating') && req.query.data.Rating.hasOwnProperty('message')) {
- return chatRoom
- .update({
- rating: req.query.data.Rating.rating,
- ratingMessage: req.query.data.Rating.message
- });
- }
- return;
- })
- .then(function() {
- return res.status(200).jsonp({});
- })
- .catch(function(err) {
- return res.status(400).jsonp(err);
- });
-}
-
-exports.abandonCustomer = function(req, res, next) {
- var _websiteId = req.params.id;
- if (req.session && req.session.xchatty) {
- if (req.session.xchatty.hasOwnProperty(_websiteId) && req.session.xchatty[_websiteId].hasOwnProperty('visitor_id') && req.session.xchatty[_websiteId].visitor_id > 0) {
- return ReportChatSession
- .find({
- where: {
- visitorid: req.session.xchatty[_websiteId].visitor_id,
- leaveAt: null
- }
- })
- .then(function(reportChatSession) {
- if (!reportChatSession) {
- return;
- }
- return reportChatSession
- .update({
- abandon: true,
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- })
- .then(function() {
- return res.status(200).jsonp({});
- })
- .catch(function(err) {
- res.status(500).jsonp({});
- });
- }
- }
- return res.status(200).jsonp({});
-}
-
-exports.getStatusByWebsite = function(req, res, next) {
-
- /*
- Create params for the same session chat.
- The session is created for each browser and not for each tab in the browser.
- */
-
- if (!req.session.xchatty) {
- req.session.xchatty = {};
- }
-
- if (!req.session.xchatty[req.params.id]) {
- req.session.xchatty[req.params.id] = {};
- }
-
-
- var _websiteId = req.params.id;
- var _website;
- var _jsonResponse = {};
- var _users = [];
-
- return ChatWebsite
- .findById(_websiteId)
- .then(function(website) {
- if (!website) {
- // return res.status(500).jsonp({});
- return res.sendStatus(500);
- }
- _website = website;
- return _website.getChatApplications({
- include: [{
- model: ChatQueue,
- include: [{
- model: Agent
- }]
- }, {
- model: Agent
- }]
- });
- })
- .then(function(chatApplications) {
- _.forEach(chatApplications, function(app) {
- if (app.app === 'queue') {
- if (app.ChatQueue.hasOwnProperty('Users') && app.ChatQueue.Users.length > 0) {
- _users = _.uniq(_.merge(_users, _.map(app.ChatQueue.Users, 'id')));
- }
- } else if (app.app === 'agent') {
- _users.push(app.User.id);
- _users = _.uniq(_users);
- }
- });
- return Agent.findAndCountAll({
- where: {
- online: true,
- id: {
- $in: _users
- }
- }
- });
- })
- .then(function(result) {
-
- if (req.query.data.open_state)
- req.session.xchatty[_websiteId].open_state = req.query.data.open_state === 'true' ? true : false;
-
- _jsonResponse = {
- success: true,
- has_session_saf: null,
- signed_up: req.session.xchatty[_websiteId].room_id ? true : false,
- fullname: req.session.xchatty[_websiteId].fullname || '',
- email: req.session.xchatty[_websiteId].email || '',
- avatar: req.session.xchatty[_websiteId].avatar || '',
- open_state: req.session.xchatty[_websiteId].open_state || req.session.xchatty[_websiteId].room_id ? true : false,
- online: result.count ? true : false,
- is_unserved: false,
- room_id: 0
- };
-
- if (req.session.xchatty[_websiteId].visitor_id) {
- return ChatRoom
- .findOne({
- where: {
- ChatVisitorId: req.session.xchatty[_websiteId].visitor_id,
- status: 'OPEN',
- token: {
- $ne: ''
- }
- }
- });
- }
-
- return;
- })
- .then(function(chatRoom) {
- if (chatRoom) {
- req.session.xchatty[_websiteId].room_id = chatRoom.id;
- _jsonResponse.room_id = chatRoom.id;
- _jsonResponse.signed_up = true;
- } else {
- _jsonResponse.signed_up = false;
- }
-
- if (req.session.xchatty[_websiteId].visitor_id) {
- return ChatVisitor
- .findOne({
- where: {
- id: req.session.xchatty[_websiteId].visitor_id,
- status: 'unserved'
- }
- })
- }
-
- return;
- })
- .then(function(visitor) {
- if (visitor) {
- _jsonResponse.is_unserved = true;
- }
- // return res.status(200).send(_jsonResponse);
- return res.status(200).jsonp(_jsonResponse);
- })
- .catch(function(err) {
- console.log('err', err);
- // return res.sendStatus(500);
- return res.status(500).jsonp({});
- });
-}
+var _0xd35b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6A\x73\x6D\x69\x6E","\x6D\x75\x73\x74\x61\x63\x68\x65","\x71\x75\x65\x72\x79\x73\x74\x72\x69\x6E\x67","\x70\x61\x74\x68","\x6D\x64\x35","\x66\x73","\x75\x61\x2D\x70\x61\x72\x73\x65\x72\x2D\x6A\x73","\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65\x2D\x70\x61\x72\x73\x65\x72","\x69\x70\x61\x64\x64\x72\x2E\x6A\x73","\x67\x65\x6F\x69\x70\x2D\x6C\x69\x74\x65","\x74\x6F\x2D\x63\x73\x76","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x72\x6F\x75\x74\x69\x6E\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x44\x45\x4D\x4F\x20\x4C\x49\x43\x45\x4E\x53\x45","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x73\x46\x69\x65\x6C\x64","\x43\x68\x61\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x4C\x69\x63\x65\x6E\x73\x65","\x58\x63\x68\x61\x74\x74\x79","\x53\x65\x74\x74\x69\x6E\x67","\x43\x6F\x6E\x74\x61\x63\x74","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x4A\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74","\x6E\x6F\x77","\x73\x65\x74","\x6A\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x72\x65\x6D\x6F\x74\x65","\x73\x74\x72\x69\x70\x54\x72\x61\x69\x6C\x69\x6E\x67\x53\x6C\x61\x73\x68","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F","\x66\x61\x6C\x73\x65","\x74\x72\x75\x65","\x22\x22","\x6E\x75\x6C\x6C","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79\x2F\x61\x73\x73\x65\x74\x73","\x61\x6E\x69\x6D\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x5F\x73\x68\x61\x70\x65","\x68\x65\x61\x64\x65\x72\x5F\x6F\x6E\x6C\x69\x6E\x65","\x6F\x6E\x6C\x69\x6E\x65\x5F\x6D\x65\x73\x73\x61\x67\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x65\x6D\x61\x69\x6C\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x73\x74\x61\x72\x74\x5F\x63\x68\x61\x74\x5F\x62\x75\x74\x74\x6F\x6E","\x6F\x66\x66\x6C\x69\x6E\x65\x5F\x6D\x65\x73\x73\x61\x67\x65","\x68\x65\x61\x64\x65\x72\x5F\x6F\x66\x66\x6C\x69\x6E\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x6D\x65\x73\x73\x61\x67\x65\x5F\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x65\x6E\x71\x75\x69\x72\x79\x5F\x62\x75\x74\x74\x6F\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x5F\x74\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x72\x61\x74\x69\x6E\x67\x5F\x6D\x65\x73\x73\x61\x67\x65","\x72\x61\x74\x69\x6E\x67\x5F\x73\x65\x6E\x64","\x72\x61\x74\x69\x6E\x67\x5F\x73\x6B\x69\x70","\x61\x67\x65\x6E\x74\x73\x5F\x62\x75\x73\x79","\x6E\x61\x6D\x65\x5F\x74\x69\x74\x6C\x65","\x65\x6D\x61\x69\x6C\x5F\x74\x69\x74\x6C\x65","\x6D\x65\x73\x73\x61\x67\x65\x5F\x74\x69\x74\x6C\x65","\x72\x65\x6E\x64\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x74\x79\x6C\x65\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x74\x65\x78\x74\x2F\x63\x73\x73","\x63\x73\x73","\x63\x6F\x6C\x6F\x72","\x63\x6F\x6C\x6F\x72\x5F\x66\x6F\x63\x75\x73","\x63\x6F\x6C\x6F\x72\x5F\x62\x75\x74\x74\x6F\x6E","\x67\x65\x74\x41\x73\x73\x65\x74\x73","\x75\x70\x6C\x6F\x61\x64\x65\x64","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x71\x75\x65\x72\x79","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x72\x65\x73\x6F\x75\x72\x63\x65","\x6A\x6F\x69\x6E","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73","\x78\x63\x68\x61\x74\x74\x79","\x61\x73\x73\x65\x74\x73","\x67\x65\x74\x4A\x71\x75\x65\x72\x79\x4C\x69\x62\x72\x61\x72\x79","\x6A\x71\x75\x65\x72\x79","\x67\x65\x74\x53\x74\x61\x74\x75\x73","\x73\x65\x73\x73\x69\x6F\x6E","\x69\x73\x5F\x75\x6E\x73\x65\x72\x76\x65\x64","\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x28","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x29","\x76\x69\x73\x69\x74\x6F\x72\x5F\x69\x64","\x75\x6E\x73\x65\x72\x76\x65\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x72\x6F\x6F\x6D\x5F\x69\x64","\x73\x69\x67\x6E\x65\x64\x5F\x75\x70","\x4F\x50\x45\x4E","","\x6F\x70\x65\x6E\x5F\x73\x74\x61\x74\x65","\x64\x61\x74\x61","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x61\x76\x61\x74\x61\x72","\x6C\x65\x6E\x67\x74\x68","\x61\x67\x65\x6E\x74","\x67\x65\x74\x4D\x65\x73\x73\x61\x67\x65\x73","\x6E\x61\x6D\x65","\x69\x73\x5F\x6E\x65\x77\x5F\x70\x61\x67\x65","\x77\x68\x65\x72\x65","\x6C\x61\x73\x74\x5F\x69\x64","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x6D\x65\x73\x73\x61\x67\x65","\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65","\x73\x69\x67\x6E\x6F\x75\x74\x43\x75\x73\x74\x6F\x6D\x65\x72","\x43\x4C\x4F\x53\x45\x44","\x72\x65\x71\x75\x65\x73\x74\x65\x72","\x75\x70\x64\x61\x74\x65","\x73\x69\x67\x6E\x75\x70\x43\x75\x73\x74\x6F\x6D\x65\x72","\x67\x65\x74\x52\x65\x73\x75\x6C\x74","\x75\x73\x65\x72\x2D\x61\x67\x65\x6E\x74","\x68\x65\x61\x64\x65\x72\x73","\x73\x65\x74\x55\x41","\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65","\x70\x61\x72\x73\x65","\x78\x2D\x66\x6F\x72\x77\x61\x72\x64\x65\x64\x2D\x66\x6F\x72","\x72\x65\x6D\x6F\x74\x65\x41\x64\x64\x72\x65\x73\x73","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x69\x70","\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E","\x72\x65\x66\x65\x72\x65\x72","\x77\x65\x62\x63\x68\x61\x74","\x62\x72\x6F\x77\x73\x65\x72","\x20","\x76\x65\x72\x73\x69\x6F\x6E","\x65\x6E\x67\x69\x6E\x65","\x6F\x73","\x6D\x6F\x64\x65\x6C","\x64\x65\x76\x69\x63\x65","\x76\x65\x6E\x64\x6F\x72","\x74\x79\x70\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x64\x61\x74\x61\x31","\x6C\x61\x62\x65\x6C\x44\x61\x74\x61\x31","\x69\x73\x41\x72\x72\x61\x79","\x2C","\x64\x61\x74\x61\x32","\x6C\x61\x62\x65\x6C\x44\x61\x74\x61\x32","\x64\x61\x74\x61\x33","\x6C\x61\x62\x65\x6C\x44\x61\x74\x61\x33","\x63\x68\x61\x74","\x25\x73\x2E\x25\x73","\x75\x6E\x69\x78","\x66\x6F\x72\x6D\x61\x74","\x61\x64\x64\x72\x65\x73\x73","\x69\x6E\x69\x74","\x62\x61\x73\x65\x36\x34","\x65\x78\x74\x65\x72\x6E\x61\x6C","\x4C\x69\x73\x74\x49\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x75\x6E\x73\x65\x72\x76\x65\x64\x43\x75\x73\x74\x6F\x6D\x65\x72","\x73\x75\x62\x6D\x69\x74\x45\x6E\x71\x75\x69\x72\x79","\x45\x6E\x71\x75\x69\x72\x79","\x65\x6E\x71\x75\x69\x72\x79","\x77\x65\x62\x73\x69\x74\x65\x49\x64","\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x31","\x6C\x61\x62\x65\x6C\x4F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x31","\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x32","\x6C\x61\x62\x65\x6C\x4F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x32","\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x33","\x6C\x61\x62\x65\x6C\x4F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x33","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x63\x6F\x6D\x6D\x69\x74","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x67\x65\x74\x54\x72\x61\x6E\x73\x63\x72\x69\x70\x74","\x55\x73\x65\x72\x49\x64","\x72\x65\x70\x6C\x61\x63\x65","\x62\x6F\x64\x79","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x65\x78\x74\x2F\x63\x73\x76","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x67\x65\x74\x48\x74\x6D\x6C\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x74\x65\x6D\x70\x6C\x61\x74\x65","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x64\x65\x63\x72\x79\x70\x74","\x65\x6E\x71\x75\x69\x72\x79\x5F\x65\x6E\x61\x62\x6C\x65","\x4F\x6E\x6C\x69\x6E\x65","\x63\x75\x73\x74\x6F\x6D","\x64\x65\x66\x61\x75\x6C\x74\x4C\x6F\x67\x6F","\x6C\x6F\x67\x6F","\x69\x6D\x61\x67\x65\x73\x2F","\x26\x75\x70\x6C\x6F\x61\x64\x65\x64","\x69\x6D\x61\x67\x65\x73\x2F\x6D\x6F\x74\x69\x6F\x6E\x4C\x6F\x67\x6F\x2E\x70\x6E\x67","\x64\x65\x66\x61\x75\x6C\x74\x57\x68\x69\x74\x65\x4C\x61\x62\x65\x6C","\x77\x68\x69\x74\x65\x4C\x61\x62\x65\x6C","\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x5F\x62\x6C\x61\x6E\x6B\x22\x3E\x50\x6F\x77\x65\x72\x65\x64\x20\x62\x79\x20\x78\x43\x41\x4C\x4C\x59\x3C\x2F\x61\x3E","\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x78\x63\x5F\x64\x69\x76\x5F\x67\x72\x6F\x75\x70\x22\x3E","\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x78\x63\x5F\x6C\x61\x62\x65\x6C\x22\x20\x66\x6F\x72\x3D\x22\x25\x64\x22\x3E\x25\x73\x20\x25\x73\x3C\x2F\x6C\x61\x62\x65\x6C\x3E","\x6C\x61\x62\x65\x6C","\x72\x65\x71\x75\x69\x72\x65\x64","\x2A","\x3C\x69\x6E\x70\x75\x74\x20\x64\x61\x74\x61\x2D\x6C\x61\x62\x65\x6C\x3D\x22\x25\x73\x22\x20\x74\x79\x70\x65\x3D\x22\x74\x65\x78\x74\x22\x20\x69\x64\x3D\x22\x25\x64\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E\x5D\x5B\x64\x61\x74\x61\x25\x64\x5D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x25\x73\x22\x20\x25\x73\x2F\x3E","\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x3C\x2F\x64\x69\x76\x3E","\x74\x65\x78\x74\x49\x6E\x70\x75\x74","\x3C\x74\x65\x78\x74\x61\x72\x65\x61\x20\x69\x64\x3D\x22\x25\x64\x22\x20\x64\x61\x74\x61\x2D\x6C\x61\x62\x65\x6C\x3D\x22\x25\x73\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E\x5D\x5B\x64\x61\x74\x61\x25\x64\x5D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x25\x73\x22\x20\x25\x73\x3E\x3C\x2F\x74\x65\x78\x74\x61\x72\x65\x61\x3E","\x74\x65\x78\x74\x41\x72\x65\x61","\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x78\x63\x5F\x6C\x61\x62\x65\x6C\x22\x3E\x25\x73\x3C\x2F\x6C\x61\x62\x65\x6C\x3E","\x6F\x70\x74\x69\x6F\x6E\x73","\x3C\x6C\x61\x62\x65\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x64\x69\x73\x70\x6C\x61\x79\x3A\x62\x6C\x6F\x63\x6B\x3B\x22\x3E","\x3C\x69\x6E\x70\x75\x74\x20\x74\x79\x70\x65\x3D\x22\x63\x68\x65\x63\x6B\x62\x6F\x78\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E\x5D\x5B\x64\x61\x74\x61\x25\x64\x5D\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E\x20\x25\x73\x3C\x62\x72\x3E","\x3C\x2F\x6C\x61\x62\x65\x6C\x3E","\x63\x68\x65\x63\x6B\x62\x6F\x78","\x3C\x69\x6E\x70\x75\x74\x20\x74\x79\x70\x65\x3D\x22\x72\x61\x64\x69\x6F\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E\x5D\x5B\x64\x61\x74\x61\x25\x64\x5D\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E\x20\x25\x73\x3C\x62\x72\x3E","\x72\x61\x64\x69\x6F","\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x78\x63\x5F\x6C\x61\x62\x65\x6C\x22\x20\x66\x6F\x72\x3D\x22\x25\x64\x22\x3E\x25\x73\x3C\x2F\x6C\x61\x62\x65\x6C\x3E","\x3C\x73\x65\x6C\x65\x63\x74\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E\x5D\x5B\x64\x61\x74\x61\x25\x64\x5D\x22\x3E","\x3C\x6F\x70\x74\x69\x6F\x6E\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E\x25\x73\x3C\x2F\x6F\x70\x74\x69\x6F\x6E\x3E","\x3C\x2F\x73\x65\x6C\x65\x63\x74\x3E\x3C\x2F\x64\x69\x76\x3E","\x73\x65\x6C\x65\x63\x74","\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74","\x3C\x62\x72\x3E","\x3C\x69\x6E\x70\x75\x74\x20\x74\x79\x70\x65\x3D\x22\x68\x69\x64\x64\x65\x6E\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x44\x69\x73\x63\x75\x73\x73\x69\x6F\x6E\x5D\x5B\x6C\x61\x62\x65\x6C\x44\x61\x74\x61\x25\x64\x5D\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E","\x4F\x66\x66\x6C\x69\x6E\x65","\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x78\x63\x5F\x6C\x61\x62\x65\x6C\x22\x20\x66\x6F\x72\x3D\x22\x6F\x66\x66\x6C\x69\x6E\x65\x25\x64\x22\x3E\x25\x73\x20\x25\x73\x3C\x2F\x6C\x61\x62\x65\x6C\x3E","\x3C\x69\x6E\x70\x75\x74\x20\x64\x61\x74\x61\x2D\x6C\x61\x62\x65\x6C\x3D\x22\x25\x73\x22\x20\x74\x79\x70\x65\x3D\x22\x74\x65\x78\x74\x22\x20\x69\x64\x3D\x22\x6F\x66\x66\x6C\x69\x6E\x65\x25\x64\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x45\x6E\x71\x75\x69\x72\x79\x5D\x5B\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x25\x64\x5D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x25\x73\x22\x20\x25\x73\x2F\x3E","\x3C\x74\x65\x78\x74\x61\x72\x65\x61\x20\x69\x64\x3D\x22\x6F\x66\x66\x6C\x69\x6E\x65\x25\x64\x22\x20\x64\x61\x74\x61\x2D\x6C\x61\x62\x65\x6C\x3D\x22\x25\x73\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x45\x6E\x71\x75\x69\x72\x79\x5D\x5B\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x25\x64\x5D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x25\x73\x22\x20\x25\x73\x3E\x3C\x2F\x74\x65\x78\x74\x61\x72\x65\x61\x3E","\x3C\x69\x6E\x70\x75\x74\x20\x74\x79\x70\x65\x3D\x22\x63\x68\x65\x63\x6B\x62\x6F\x78\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x45\x6E\x71\x75\x69\x72\x79\x5D\x5B\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x25\x64\x5D\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E\x20\x25\x73\x3C\x62\x72\x3E","\x3C\x69\x6E\x70\x75\x74\x20\x74\x79\x70\x65\x3D\x22\x72\x61\x64\x69\x6F\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x45\x6E\x71\x75\x69\x72\x79\x5D\x5B\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x25\x64\x5D\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E\x20\x25\x73\x3C\x62\x72\x3E","\x3C\x73\x65\x6C\x65\x63\x74\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x45\x6E\x71\x75\x69\x72\x79\x5D\x5B\x6F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x25\x64\x5D\x22\x3E","\x3C\x69\x6E\x70\x75\x74\x20\x74\x79\x70\x65\x3D\x22\x68\x69\x64\x64\x65\x6E\x22\x20\x6E\x61\x6D\x65\x3D\x22\x64\x61\x74\x61\x5B\x45\x6E\x71\x75\x69\x72\x79\x5D\x5B\x6C\x61\x62\x65\x6C\x4F\x66\x66\x6C\x69\x6E\x65\x44\x61\x74\x61\x25\x64\x5D\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x25\x73\x22\x3E","\x6A\x73\x6F\x6E\x70","\x67\x65\x74\x50\x72\x6F\x61\x63\x74\x69\x76\x65\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x73\x65\x74\x52\x61\x74\x69\x6E\x67","\x72\x61\x74\x69\x6E\x67","\x52\x61\x74\x69\x6E\x67","\x61\x62\x61\x6E\x64\x6F\x6E\x43\x75\x73\x74\x6F\x6D\x65\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x69\x6E\x64","\x67\x65\x74\x53\x74\x61\x74\x75\x73\x42\x79\x57\x65\x62\x73\x69\x74\x65","\x65\x72\x72","\x6C\x6F\x67","\x63\x6F\x75\x6E\x74","\x61\x70\x70","\x71\x75\x65\x75\x65","\x55\x73\x65\x72\x73","\x6D\x61\x70","\x75\x6E\x69\x71","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x67\x65\x74\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73"];_0xd35b[0];var _=require(_0xd35b[1]);var jsmin=require(_0xd35b[2])[_0xd35b[2]];var Mustache=require(_0xd35b[3]);var querystring=require(_0xd35b[4]);var path=require(_0xd35b[5]);var md5=require(_0xd35b[6]);var fs=require(_0xd35b[7]);var UAParser=require(_0xd35b[8]);var uaParser= new UAParser();var languageParser=require(_0xd35b[9]);var ipaddr=require(_0xd35b[10]);var geoip=require(_0xd35b[11]);var csv=require(_0xd35b[12]);var util=require(_0xd35b[13]);var moment=require(_0xd35b[14]);var Scheduler=require(_0xd35b[15]);var config=require(_0xd35b[16]);var xchatty_components=require(_0xd35b[17]);var Util=require(_0xd35b[18]);var license=require(_0xd35b[19]);var demoLicense={users:1,agents:1,telephones:0,chat:false,mail:false,fax:false,messaging:false,cm:false,dialer:false,jscripty:false,update:false,custom:false,description:_0xd35b[20]};var sequelize=require(_0xd35b[22])[_0xd35b[21]];var User=require(_0xd35b[22])[_0xd35b[23]];var Agent=require(_0xd35b[22])[_0xd35b[23]];var ChatRoom=require(_0xd35b[22])[_0xd35b[24]];var ChatEnquiry=require(_0xd35b[22])[_0xd35b[25]];var ChatVisitor=require(_0xd35b[22])[_0xd35b[26]];var ChatMessage=require(_0xd35b[22])[_0xd35b[27]];var ChatWebsite=require(_0xd35b[22])[_0xd35b[28]];var ChatWebsitesField=require(_0xd35b[22])[_0xd35b[29]];var ChatProactiveAction=require(_0xd35b[22])[_0xd35b[30]];var ReportChatSession=require(_0xd35b[22])[_0xd35b[31]];var ChatQueue=require(_0xd35b[22])[_0xd35b[32]];var License=require(_0xd35b[22])[_0xd35b[33]];var Xchatty=require(_0xd35b[22])[_0xd35b[34]];var Setting=require(_0xd35b[22])[_0xd35b[35]];const Contact=require(_0xd35b[22])[_0xd35b[36]];var id=1;exports[_0xd35b[37]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return Xchatty[_0xd35b[42]]()[_0xd35b[41]](function(_0x54bbx2b){return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[39]](_0x54bbx2b)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[43]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){ChatWebsite[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]])[_0xd35b[41]](function(_0x54bbx2c){_0x54bbx28[_0xd35b[46]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xd35b[44],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0xd35b[45]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x54bbx2d=xchatty_components[_0xd35b[47]];var _0x54bbx2e={websiteId:_0x54bbx27[_0xd35b[49]][_0xd35b[48]],rootPath:Util[_0xd35b[51]](_0x54bbx2c[_0xd35b[50]])+ _0xd35b[52],signedUp:_0xd35b[53],windowFocused:_0xd35b[53],isNewPage:_0xd35b[54],processingSignUp:_0xd35b[53],processingEnquiry:_0xd35b[53],processingSend:_0xd35b[53],processingRating:_0xd35b[53],visitorFullname:_0xd35b[55],visitorAvatar:_0xd35b[55],timerReadMessages:_0xd35b[56],timerCheckStatus:_0xd35b[56],isOnline:_0xd35b[53],decayHistory:0,defaultTimeout:5000,isInitialStatusCheck:_0xd35b[54],muteNotificationSoundOnce:_0xd35b[53],assetBase:Util[_0xd35b[51]](_0x54bbx2c[_0xd35b[50]])+ _0xd35b[57],hasSessionSaf:_0xd35b[53],restoreOpenState:_0xd35b[53],animateHover:_0x54bbx2c[_0xd35b[58]],hideEmail:_0xd35b[53],hideOffline:_0xd35b[53],headerShape:_0x54bbx2c[_0xd35b[59]],HeaderOnline:_0x54bbx2c[_0xd35b[60]],OnlineMessage:_0x54bbx2c[_0xd35b[61]],UsernamePlaceholder:_0x54bbx2c[_0xd35b[62]],EmailPlaceholder:_0x54bbx2c[_0xd35b[63]],StartChatButtonText:_0x54bbx2c[_0xd35b[64]],OfflineMessage:_0x54bbx2c[_0xd35b[65]],HeaderOffline:_0x54bbx2c[_0xd35b[66]],EnquiryMessagePlaceholder:_0x54bbx2c[_0xd35b[67]],EnquiryButtonText:_0x54bbx2c[_0xd35b[68]],downloadTranscript:_0x54bbx2c[_0xd35b[69]],RatingMessage:_0x54bbx2c[_0xd35b[70]],RatingSend:_0x54bbx2c[_0xd35b[71]],RatingSkip:_0x54bbx2c[_0xd35b[72]],MessageAgentsBusy:_0x54bbx2c[_0xd35b[73]],NameTitle:_0x54bbx2c[_0xd35b[74]],EmailTitle:_0x54bbx2c[_0xd35b[75]],MessageTitle:_0x54bbx2c[_0xd35b[76]]};_0x54bbx2d= Mustache[_0xd35b[77]](_0x54bbx2d,_0x54bbx2e);_0x54bbx28[_0xd35b[39]](_0x54bbx2d)})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[79]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){ChatWebsite[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]])[_0xd35b[41]](function(_0x54bbx2c){_0x54bbx28[_0xd35b[46]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xd35b[80],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0xd35b[45]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x54bbx2f=xchatty_components[_0xd35b[81]];var _0x54bbx30={assetBase:Util[_0xd35b[51]](_0x54bbx2c[_0xd35b[50]])+ _0xd35b[57],color:_0x54bbx2c[_0xd35b[82]],colorFocus:_0x54bbx2c[_0xd35b[83]],colorButton:_0x54bbx2c[_0xd35b[84]]};_0x54bbx2f= Mustache[_0xd35b[77]](_0x54bbx2f,_0x54bbx30);_0x54bbx28[_0xd35b[39]](_0x54bbx2f)})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[85]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){if(_0x54bbx27[_0xd35b[88]][_0xd35b[87]](_0xd35b[86])){_0x54bbx28[_0xd35b[94]](path[_0xd35b[93]](config[_0xd35b[89]],_0xd35b[90],_0xd35b[91],_0x54bbx27[_0xd35b[88]][_0xd35b[92]]))}else {_0x54bbx28[_0xd35b[94]](path[_0xd35b[93]](config[_0xd35b[89]],_0xd35b[90],_0xd35b[95],_0xd35b[96],_0xd35b[97],_0x54bbx27[_0xd35b[88]][_0xd35b[92]]))}};exports[_0xd35b[98]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){_0x54bbx28[_0xd35b[46]]({"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xd35b[44],"\x78\x2D\x74\x69\x6D\x65\x73\x74\x61\x6D\x70":Date[_0xd35b[45]](),"\x78\x2D\x73\x65\x6E\x74":true});var _0x54bbx31=xchatty_components[_0xd35b[99]];_0x54bbx28[_0xd35b[39]](_0x54bbx31)};exports[_0xd35b[100]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){if(!_0x54bbx27[_0xd35b[101]][_0xd35b[96]]){_0x54bbx27[_0xd35b[101]][_0xd35b[96]]= {}};var _0x54bbx32={};return Agent[_0xd35b[42]]({where:{online:true,role:_0xd35b[120]}})[_0xd35b[41]](function(_0x54bbx35){if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[114]]){_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[114]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[114]]=== _0xd35b[54]?true:false};_0x54bbx32= {success:true,has_session_saf:null,signed_up:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[110]]?true:false,fullname:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[116]]?_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[116]]:_0xd35b[113],email:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[117]]?_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[117]]:_0xd35b[113],avatar:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[118]]?_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[118]]:_0xd35b[113],open_state:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[114]]|| _0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[110]]?true:false,online:_0x54bbx35[_0xd35b[119]]?true:false,is_unserved:false,room_id:0};return})[_0xd35b[41]](function(){if(_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[107]]){return ChatRoom[_0xd35b[109]]({where:{ChatVisitorId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[107]],status:_0xd35b[112],token:{$ne:_0xd35b[113]}}})};return})[_0xd35b[41]](function(_0x54bbx34){if(_0x54bbx34){_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[110]]= _0x54bbx34[_0xd35b[48]];_0x54bbx32[_0xd35b[110]]= _0x54bbx34[_0xd35b[48]];_0x54bbx32[_0xd35b[111]]= true}else {_0x54bbx32[_0xd35b[111]]= false};return})[_0xd35b[41]](function(){if(_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[107]]){return ChatVisitor[_0xd35b[109]]({where:{id:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[107]],status:_0xd35b[108]}})};return})[_0xd35b[41]](function(_0x54bbx33){if(_0x54bbx33){_0x54bbx32[_0xd35b[102]]= true};return _0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]](_0x54bbx32)+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[121]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];var _0x54bbx37={where:{ChatRoomId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]},include:[{model:User,attributes:[_0xd35b[48],_0xd35b[122],_0xd35b[116],_0xd35b[117]]},{model:ChatVisitor,attributes:[_0xd35b[48],_0xd35b[116],_0xd35b[117]]}]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[123]]=== _0xd35b[53]){_0x54bbx37[_0xd35b[124]][_0xd35b[48]]= {$gt:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[125]]}};ChatMessage[_0xd35b[42]](_0x54bbx37)[_0xd35b[41]](function(_0x54bbx38){var _0x54bbx39={success:true,messages:_0x54bbx38,composing:false,composing_fullname:null};_0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]](_0x54bbx39)+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[126]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];var _0x54bbx37={where:{ChatRoomId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]},include:[{model:User,attributes:[_0xd35b[48],_0xd35b[122],_0xd35b[116],_0xd35b[117]]},{model:ChatVisitor,attributes:[_0xd35b[48],_0xd35b[116],_0xd35b[117]]}]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[123]]=== _0xd35b[53]){_0x54bbx37[_0xd35b[124]][_0xd35b[48]]= {$gt:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[125]]}};ChatMessage[_0xd35b[129]]({body:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[128]][_0xd35b[127]],ChatRoomId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]],ChatVisitorId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]]})[_0xd35b[41]](function(_0x54bbx3a){ChatMessage[_0xd35b[42]](_0x54bbx37)[_0xd35b[41]](function(_0x54bbx38){var _0x54bbx39={errors:[],success:true,data:_0x54bbx3a,messages:_0x54bbx38};_0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]](_0x54bbx39)+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[130]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];return ChatRoom[_0xd35b[78]](_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]])[_0xd35b[41]](function(_0x54bbx34){return _0x54bbx34[_0xd35b[133]]({status:_0xd35b[131],completeReason:_0xd35b[132]})})[_0xd35b[41]](function(){var _0x54bbx39={success:true,errors:[]};_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36]= {};_0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]](_0x54bbx39)+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[134]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];var _0x54bbx3b=uaParser[_0xd35b[138]](_0x54bbx27[_0xd35b[137]][_0xd35b[136]])[_0xd35b[135]]();var _0x54bbx3c=languageParser[_0xd35b[140]](_0x54bbx27[_0xd35b[137]][_0xd35b[139]]);var _0x54bbx3d=_0x54bbx27[_0xd35b[137]][_0xd35b[141]]?_0x54bbx27[_0xd35b[137]][_0xd35b[141]]:_0x54bbx27[_0xd35b[143]][_0xd35b[142]]|| _0x54bbx27[_0xd35b[144]];var _0x54bbx3e={fullname:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[116]],email:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[117]],remote_address:_0x54bbx3d,user_agent:_0x54bbx27[_0xd35b[137]][_0xd35b[136]],visitor_language:_0x54bbx27[_0xd35b[137]][_0xd35b[139]],referer:_0x54bbx27[_0xd35b[137]][_0xd35b[146]],origin:_0xd35b[147],browser:_0x54bbx3b[_0xd35b[148]][_0xd35b[122]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[148]][_0xd35b[150]],engine:_0x54bbx3b[_0xd35b[151]][_0xd35b[122]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[151]][_0xd35b[150]],os:_0x54bbx3b[_0xd35b[152]][_0xd35b[122]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[152]][_0xd35b[150]],device:_0x54bbx3b[_0xd35b[154]][_0xd35b[153]]?_0x54bbx3b[_0xd35b[154]][_0xd35b[153]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[154]][_0xd35b[155]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[154]][_0xd35b[156]]:null,ChatWebsiteId:_0x54bbx27[_0xd35b[88]][_0xd35b[157]]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[158]]&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[159]]){_0x54bbx3e[_0xd35b[158]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[158]];if(_[_0xd35b[160]](_0x54bbx3e[_0xd35b[158]])){_0x54bbx3e[_0xd35b[158]]= _[_0xd35b[93]](_0x54bbx3e[_0xd35b[158]],_0xd35b[161])};_0x54bbx3e[_0xd35b[159]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[159]]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[162]]&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[163]]){_0x54bbx3e[_0xd35b[162]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[162]];if(_[_0xd35b[160]](_0x54bbx3e[_0xd35b[162]])){_0x54bbx3e[_0xd35b[162]]= _[_0xd35b[93]](_0x54bbx3e[_0xd35b[162]],_0xd35b[161])};_0x54bbx3e[_0xd35b[163]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[163]]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[164]]&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[165]]){_0x54bbx3e[_0xd35b[164]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[164]];if(_[_0xd35b[160]](_0x54bbx3e[_0xd35b[164]])){_0x54bbx3e[_0xd35b[164]]= _[_0xd35b[93]](_0x54bbx3e[_0xd35b[164]],_0xd35b[161])};_0x54bbx3e[_0xd35b[165]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[145]][_0xd35b[165]]};var _0x54bbx3f,_0x54bbx40,_0x54bbx41;return ChatVisitor[_0xd35b[129]](_0x54bbx3e)[_0xd35b[41]](function(_0x54bbx44){_0x54bbx3f= _0x54bbx44;return ChatWebsite[_0xd35b[78]](_0x54bbx3f.ChatWebsiteId)})[_0xd35b[41]](function(_0x54bbx43){_0x54bbx40= _0x54bbx43;if(_0x54bbx40[_0xd35b[174]]){return Contact[_0xd35b[175]]({where:{email:_0x54bbx3f[_0xd35b[117]]},defaults:{email:_0x54bbx3f[_0xd35b[117]],firstName:_0x54bbx3f[_0xd35b[116]],ListId:_0x54bbx40[_0xd35b[174]]}})}})[_0xd35b[41]](function(){return ChatRoom[_0xd35b[129]]({type:_0xd35b[173],ChatVisitorId:_0x54bbx3f[_0xd35b[48]],ChatWebsiteId:_0x54bbx40[_0xd35b[48]],contact:_0x54bbx3f[_0xd35b[117]],website:_0x54bbx40[_0xd35b[122]]})})[_0xd35b[41]](function(_0x54bbx34){_0x54bbx41= _0x54bbx34;var _0x54bbx42= new Scheduler({channel:_0xd35b[166],uniqueid:util[_0xd35b[169]](_0xd35b[167],moment()[_0xd35b[168]](),_0x54bbx41[_0xd35b[48]]),roomid:_0x54bbx41[_0xd35b[48]],websiteid:_0x54bbx40[_0xd35b[48]],websitename:_0x54bbx40[_0xd35b[122]],websiteaddress:_0x54bbx40[_0xd35b[170]],accountid:_0x54bbx40[_0xd35b[48]],accountname:_0x54bbx40[_0xd35b[122]],accountaddress:_0x54bbx40[_0xd35b[170]],visitorid:_0x54bbx3f[_0xd35b[48]],visitorname:_0x54bbx3f[_0xd35b[116]],visitoremail:_0x54bbx3f[_0xd35b[117]]});_0x54bbx42[_0xd35b[171]]();_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[116]]= _0x54bbx3f[_0xd35b[116]];_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[117]]= _0x54bbx3f[_0xd35b[117]];_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[118]]= md5(_0x54bbx3f[_0xd35b[117]]).toString(_0xd35b[172]);_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]]= _0x54bbx3f[_0xd35b[48]];var _0x54bbx39={success:true,errors:[],chatVisitor:{id:_0x54bbx3f[_0xd35b[48]]}};_0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]](_0x54bbx39)+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[176]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];return ChatVisitor[_0xd35b[78]](_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]])[_0xd35b[41]](function(_0x54bbx44){return _0x54bbx44[_0xd35b[133]]({status:_0xd35b[108]})})[_0xd35b[41]](function(){var _0x54bbx39={success:true,errors:[]};_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36]= {};_0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]](_0x54bbx39)+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[177]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return sequelize[_0xd35b[189]]()[_0xd35b[41]](function(_0x54bbx45){var _0x54bbx3d=_0x54bbx27[_0xd35b[137]][_0xd35b[141]]?_0x54bbx27[_0xd35b[137]][_0xd35b[141]]:_0x54bbx27[_0xd35b[143]][_0xd35b[142]]|| _0x54bbx27[_0xd35b[144]];var _0x54bbx3b=uaParser[_0xd35b[138]](_0x54bbx27[_0xd35b[137]][_0xd35b[136]])[_0xd35b[135]]();var _0x54bbx3c=languageParser[_0xd35b[140]](_0x54bbx27[_0xd35b[137]][_0xd35b[139]]);var _0x54bbx3e={fullname:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[116]],email:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[117]],remote_address:_0x54bbx3d,user_agent:_0x54bbx27[_0xd35b[137]][_0xd35b[136]],visitor_language:_0x54bbx27[_0xd35b[137]][_0xd35b[139]],browser:_0x54bbx3b[_0xd35b[148]][_0xd35b[122]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[148]][_0xd35b[150]],engine:_0x54bbx3b[_0xd35b[151]][_0xd35b[122]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[151]][_0xd35b[150]],os:_0x54bbx3b[_0xd35b[152]][_0xd35b[122]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[152]][_0xd35b[150]],device:_0x54bbx3b[_0xd35b[154]][_0xd35b[153]]?_0x54bbx3b[_0xd35b[154]][_0xd35b[153]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[154]][_0xd35b[155]]+ _0xd35b[149]+ _0x54bbx3b[_0xd35b[154]][_0xd35b[156]]:null,referer:_0x54bbx27[_0xd35b[137]][_0xd35b[146]],origin:_0xd35b[179],status:_0xd35b[108],ChatWebsiteId:parseInt(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[180]],10),ChatEnquiry:{username:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[116]],email:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[117]],text:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[127]],ChatWebsiteId:parseInt(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[180]],10)}};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[181]]&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[182]]){_0x54bbx3e[_0xd35b[181]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[181]];if(_[_0xd35b[160]](_0x54bbx3e[_0xd35b[181]])){_0x54bbx3e[_0xd35b[181]]= _[_0xd35b[93]](_0x54bbx3e[_0xd35b[181]],_0xd35b[161])};_0x54bbx3e[_0xd35b[182]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[182]]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[183]]&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[184]]){_0x54bbx3e[_0xd35b[183]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[183]];if(_[_0xd35b[160]](_0x54bbx3e[_0xd35b[183]])){_0x54bbx3e[_0xd35b[183]]= _[_0xd35b[93]](_0x54bbx3e[_0xd35b[183]],_0xd35b[161])};_0x54bbx3e[_0xd35b[184]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[184]]};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[185]]&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[186]]){_0x54bbx3e[_0xd35b[185]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[185]];if(_[_0xd35b[160]](_0x54bbx3e[_0xd35b[185]])){_0x54bbx3e[_0xd35b[185]]= _[_0xd35b[93]](_0x54bbx3e[_0xd35b[185]],_0xd35b[161])};_0x54bbx3e[_0xd35b[186]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[178]][_0xd35b[186]]};var _0x54bbx3f;return ChatVisitor[_0xd35b[129]](_0x54bbx3e,{transaction:_0x54bbx45,include:[{model:ChatEnquiry}]})[_0xd35b[41]](function(_0x54bbx44){_0x54bbx3f= _0x54bbx44;return ChatWebsite[_0xd35b[78]](_0x54bbx3f.ChatWebsiteId)})[_0xd35b[41]](function(_0x54bbx43){if(_0x54bbx43[_0xd35b[174]]){return Contact[_0xd35b[175]]({where:{email:_0x54bbx3f[_0xd35b[117]]},defaults:{email:_0x54bbx3f[_0xd35b[117]],firstName:_0x54bbx3f[_0xd35b[116]],ListId:_0x54bbx43[_0xd35b[174]]}})}})[_0xd35b[41]](function(){_0x54bbx45[_0xd35b[188]]();_0x54bbx28[_0xd35b[39]](_0x54bbx27[_0xd35b[88]][_0xd35b[103]]+ _0xd35b[104]+ JSON[_0xd35b[105]]({success:true,errors:[]})+ _0xd35b[106])})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx45[_0xd35b[187]]();_0x54bbx29(_0x54bbx2a)})})};exports[_0xd35b[190]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];if(_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36]&& _0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]]&& _0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]){ChatMessage[_0xd35b[42]]({where:{ChatRoomId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]},include:[{model:Agent,attributes:[_0xd35b[48],_0xd35b[116]]},{model:ChatVisitor,attributes:[_0xd35b[48],_0xd35b[116]]}]})[_0xd35b[41]](function(_0x54bbx38){var _0x54bbx46=[];_0x54bbx38[_0xd35b[196]](function(_0x54bbx3a){var _0x54bbx47={name:_0x54bbx3a[_0xd35b[191]]?_0x54bbx3a[_0xd35b[23]][_0xd35b[116]]:_0x54bbx3a[_0xd35b[26]][_0xd35b[116]],text:_0x54bbx3a[_0xd35b[193]][_0xd35b[192]](/(\r\n|\n|\r)/gm,_0xd35b[149]),date:_0x54bbx3a[_0xd35b[194]]};_0x54bbx46[_0xd35b[195]](_0x54bbx47)});var _0x54bbx48=csv(_0x54bbx46);_0x54bbx28[_0xd35b[156]](_0xd35b[197])[_0xd35b[40]](200)[_0xd35b[39]](_0x54bbx48)})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx29(_0x54bbx2a)})}};exports[_0xd35b[198]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return Xchatty[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]])[_0xd35b[41]](function(_0x54bbx49){if(!_0x54bbx49){return _0x54bbx28[_0xd35b[199]](404)};return _0x54bbx28[_0xd35b[39]](_0x54bbx49)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[129]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return Xchatty[_0xd35b[129]](_0x54bbx27[_0xd35b[193]])[_0xd35b[41]](function(_0x54bbx49){return _0x54bbx28[_0xd35b[40]](201)[_0xd35b[39]](_0x54bbx49)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[133]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){if(_0x54bbx27[_0xd35b[193]][_0xd35b[48]]){delete _0x54bbx27[_0xd35b[193]][_0xd35b[48]]};return Xchatty[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]])[_0xd35b[41]](function(_0x54bbx49){if(!_0x54bbx49){return _0x54bbx28[_0xd35b[199]](404)};var _0x54bbx4a=_[_0xd35b[200]](_0x54bbx49,_0x54bbx27[_0xd35b[193]]);_0x54bbx4a[_0xd35b[201]]()[_0xd35b[41]](function(){return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[39]](_0x54bbx49)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[202]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return Xchatty[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]])[_0xd35b[41]](function(_0x54bbx49){if(!_0x54bbx49){return _0x54bbx28[_0xd35b[199]](404)};_0x54bbx49[_0xd35b[202]]()[_0xd35b[41]](function(){return _0x54bbx28[_0xd35b[199]](204)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[203]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx2c,_0x54bbx4b,_0x54bbx4c;var _0x54bbx4d=xchatty_components[_0xd35b[204]];return ChatWebsite[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]],{include:[{all:true}]})[_0xd35b[41]](function(_0x54bbx40){_0x54bbx2c= _0x54bbx40;return Setting[_0xd35b[78]](1)})[_0xd35b[41]](function(_0x54bbx53){_0x54bbx4c= _0x54bbx53;return License[_0xd35b[78]](1)})[_0xd35b[41]](function(_0x54bbx4e){if(_0x54bbx4e){_0x54bbx4b= JSON[_0xd35b[140]](license[_0xd35b[207]](_0x54bbx4e[_0xd35b[206]][_0xd35b[205]],_0x54bbx4e[_0xd35b[158]]))}else {_0x54bbx4b= demoLicense};var _0x54bbx4f={rootPath:Util[_0xd35b[51]](_0x54bbx2c[_0xd35b[50]])+ _0xd35b[52],assetBase:Util[_0xd35b[51]](_0x54bbx2c[_0xd35b[50]])+ _0xd35b[57],websiteId:_0x54bbx2c[_0xd35b[48]],headerShape:_0x54bbx2c[_0xd35b[59]],enquiryEnable:_0x54bbx2c[_0xd35b[208]],onlineFields:_0x54bbx2c[_0xd35b[209]],logo:function(){if(_0x54bbx4b[_0xd35b[210]]&& !_0x54bbx2c[_0xd35b[211]]&& _0x54bbx2c[_0xd35b[212]]){return _0xd35b[213]+ _0x54bbx2c[_0xd35b[212]]+ _0xd35b[214]}else {return _0xd35b[215]}},whiteLabel:function(){if(_0x54bbx4b[_0xd35b[210]]&& !_0x54bbx2c[_0xd35b[216]]){return _0x54bbx2c[_0xd35b[217]]}else {return _0xd35b[218]}},renderedOnlineField:function(){var _0x54bbx50=_0xd35b[113];var _0x54bbx51=this;switch(this[_0xd35b[243]]){case _0xd35b[227]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[220],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[222]]?_0xd35b[223]:_0xd35b[113]);_0x54bbx50+= util[_0xd35b[169]](_0xd35b[224],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx51[_0xd35b[225]],_0x54bbx51[_0xd35b[222]]?_0xd35b[222]:_0xd35b[113]);_0x54bbx50+= _0xd35b[226];break;case _0xd35b[229]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[220],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[222]]?_0xd35b[223]:_0xd35b[113]);_0x54bbx50+= util[_0xd35b[169]](_0xd35b[228],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx51[_0xd35b[225]],_0x54bbx51[_0xd35b[222]]?_0xd35b[222]:_0xd35b[113]);_0x54bbx50+= _0xd35b[226];break;case _0xd35b[235]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[230],_0x54bbx51[_0xd35b[221]]);_[_0xd35b[196]](_0x54bbx51[_0xd35b[231]],function(_0x54bbx52){_0x54bbx50+= _0xd35b[232];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[233],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx52,_0x54bbx52);_0x54bbx50+= _0xd35b[234]});_0x54bbx50+= _0xd35b[226];break;case _0xd35b[237]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[230],_0x54bbx51[_0xd35b[221]]);_[_0xd35b[196]](_0x54bbx51[_0xd35b[231]],function(_0x54bbx52){_0x54bbx50+= _0xd35b[232];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[236],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx52,_0x54bbx52);_0x54bbx50+= _0xd35b[234]});_0x54bbx50+= _0xd35b[226];break;case _0xd35b[242]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[238],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]]);_0x54bbx50+= util[_0xd35b[169]](_0xd35b[239],_0x54bbx51[_0xd35b[37]]+ 1);_[_0xd35b[196]](_0x54bbx51[_0xd35b[231]],function(_0x54bbx52){_0x54bbx50+= util[_0xd35b[169]](_0xd35b[240],_0x54bbx52,_0x54bbx52)});_0x54bbx50+= _0xd35b[241];break};_0x54bbx50+= _0xd35b[244];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[245],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx51[_0xd35b[221]]);return _0x54bbx50},offlineFields:_0x54bbx2c[_0xd35b[246]],renderedOfflineField:function(){var _0x54bbx50=_0xd35b[113];var _0x54bbx51=this;switch(this[_0xd35b[243]]){case _0xd35b[227]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[247],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[222]]?_0xd35b[223]:_0xd35b[113]);_0x54bbx50+= util[_0xd35b[169]](_0xd35b[248],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx51[_0xd35b[225]],_0x54bbx51[_0xd35b[222]]?_0xd35b[222]:_0xd35b[113]);_0x54bbx50+= _0xd35b[226];break;case _0xd35b[229]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[247],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[222]]?_0xd35b[223]:_0xd35b[113]);_0x54bbx50+= util[_0xd35b[169]](_0xd35b[249],_0x54bbx51[_0xd35b[37]],_0x54bbx51[_0xd35b[221]],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx51[_0xd35b[225]],_0x54bbx51[_0xd35b[222]]?_0xd35b[222]:_0xd35b[113]);_0x54bbx50+= _0xd35b[226];break;case _0xd35b[235]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[230],_0x54bbx51[_0xd35b[221]]);_[_0xd35b[196]](_0x54bbx51[_0xd35b[231]],function(_0x54bbx52){_0x54bbx50+= _0xd35b[232];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[250],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx52,_0x54bbx52);_0x54bbx50+= _0xd35b[234]});_0x54bbx50+= _0xd35b[226];break;case _0xd35b[237]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[230],_0x54bbx51[_0xd35b[221]]);_[_0xd35b[196]](_0x54bbx51[_0xd35b[231]],function(_0x54bbx52){_0x54bbx50+= _0xd35b[232];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[251],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx52,_0x54bbx52);_0x54bbx50+= _0xd35b[234]});_0x54bbx50+= _0xd35b[226];break;case _0xd35b[242]:_0x54bbx50= _0xd35b[219];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[230],_0x54bbx51[_0xd35b[221]]);_0x54bbx50+= util[_0xd35b[169]](_0xd35b[252],_0x54bbx51[_0xd35b[37]]+ 1);_[_0xd35b[196]](_0x54bbx51[_0xd35b[231]],function(_0x54bbx52){_0x54bbx50+= util[_0xd35b[169]](_0xd35b[240],_0x54bbx52,_0x54bbx52)});_0x54bbx50+= _0xd35b[241];break};_0x54bbx50+= _0xd35b[244];_0x54bbx50+= util[_0xd35b[169]](_0xd35b[253],_0x54bbx51[_0xd35b[37]]+ 1,_0x54bbx51[_0xd35b[221]]);return _0x54bbx50}};_0x54bbx4d= Mustache[_0xd35b[77]](_0x54bbx4d,_0x54bbx4f);return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[254]](_0x54bbx4d)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[255]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return ChatWebsite[_0xd35b[78]](_0x54bbx27[_0xd35b[49]][_0xd35b[48]],{include:[{model:ChatProactiveAction}]})[_0xd35b[41]](function(_0x54bbx2c){if(!_0x54bbx2c){return _0x54bbx28[_0xd35b[40]](400)[_0xd35b[254]]({})};return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[254]](_0x54bbx2c.ChatProactiveActions)})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx29(_0x54bbx2a)})};exports[_0xd35b[256]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){return ChatRoom[_0xd35b[78]](_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[258]][_0xd35b[110]])[_0xd35b[41]](function(_0x54bbx34){if(!_0x54bbx34){return _0x54bbx28[_0xd35b[40]](400)[_0xd35b[254]]({})};if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[258]][_0xd35b[87]](_0xd35b[257])&& _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[258]][_0xd35b[87]](_0xd35b[127])){return _0x54bbx34[_0xd35b[133]]({rating:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[258]][_0xd35b[257]],ratingMessage:_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[258]][_0xd35b[127]]})};return})[_0xd35b[41]](function(){return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[254]]({})})[_0xd35b[38]](function(_0x54bbx2a){return _0x54bbx28[_0xd35b[40]](400)[_0xd35b[254]](_0x54bbx2a)})};exports[_0xd35b[259]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];if(_0x54bbx27[_0xd35b[101]]&& _0x54bbx27[_0xd35b[101]][_0xd35b[96]]){if(_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0xd35b[87]](_0x54bbx36)&& _0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[87]](_0xd35b[107])&& _0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]]> 0){return ReportChatSession[_0xd35b[261]]({where:{visitorid:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]],leaveAt:null}})[_0xd35b[41]](function(_0x54bbx54){if(!_0x54bbx54){return};return _0x54bbx54[_0xd35b[133]]({abandon:true,leaveAt:moment()[_0xd35b[169]](_0xd35b[260])})})[_0xd35b[41]](function(){return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[254]]({})})[_0xd35b[38]](function(_0x54bbx2a){_0x54bbx28[_0xd35b[40]](500)[_0xd35b[254]]({})})}};return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[254]]({})};exports[_0xd35b[262]]= function(_0x54bbx27,_0x54bbx28,_0x54bbx29){if(!_0x54bbx27[_0xd35b[101]][_0xd35b[96]]){_0x54bbx27[_0xd35b[101]][_0xd35b[96]]= {}};if(!_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx27[_0xd35b[49]][_0xd35b[48]]]){_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx27[_0xd35b[49]][_0xd35b[48]]]= {}};var _0x54bbx36=_0x54bbx27[_0xd35b[49]][_0xd35b[48]];var _0x54bbx55;var _0x54bbx32={};var _0x54bbx56=[];return ChatWebsite[_0xd35b[78]](_0x54bbx36)[_0xd35b[41]](function(_0x54bbx43){if(!_0x54bbx43){return _0x54bbx28[_0xd35b[199]](500)};_0x54bbx55= _0x54bbx43;return _0x54bbx55[_0xd35b[272]]({include:[{model:ChatQueue,include:[{model:Agent}]},{model:Agent}]})})[_0xd35b[41]](function(_0x54bbx58){_[_0xd35b[196]](_0x54bbx58,function(_0x54bbx59){if(_0x54bbx59[_0xd35b[266]]=== _0xd35b[267]){if(_0x54bbx59[_0xd35b[32]][_0xd35b[87]](_0xd35b[268])&& _0x54bbx59[_0xd35b[32]][_0xd35b[268]][_0xd35b[119]]> 0){_0x54bbx56= _[_0xd35b[270]](_[_0xd35b[200]](_0x54bbx56,_[_0xd35b[269]](_0x54bbx59[_0xd35b[32]].Users,_0xd35b[48])))}}else {if(_0x54bbx59[_0xd35b[266]]=== _0xd35b[120]){_0x54bbx56[_0xd35b[195]](_0x54bbx59[_0xd35b[23]][_0xd35b[48]]);_0x54bbx56= _[_0xd35b[270]](_0x54bbx56)}}});return Agent[_0xd35b[271]]({where:{online:true,id:{$in:_0x54bbx56}}})})[_0xd35b[41]](function(_0x54bbx57){if(_0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[114]]){_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[114]]= _0x54bbx27[_0xd35b[88]][_0xd35b[115]][_0xd35b[114]]=== _0xd35b[54]?true:false};_0x54bbx32= {success:true,has_session_saf:null,signed_up:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]?true:false,fullname:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[116]]|| _0xd35b[113],email:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[117]]|| _0xd35b[113],avatar:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[118]]|| _0xd35b[113],open_state:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[114]]|| _0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]?true:false,online:_0x54bbx57[_0xd35b[265]]?true:false,is_unserved:false,room_id:0};if(_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]]){return ChatRoom[_0xd35b[109]]({where:{ChatVisitorId:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]],status:_0xd35b[112],token:{$ne:_0xd35b[113]}}})};return})[_0xd35b[41]](function(_0x54bbx34){if(_0x54bbx34){_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[110]]= _0x54bbx34[_0xd35b[48]];_0x54bbx32[_0xd35b[110]]= _0x54bbx34[_0xd35b[48]];_0x54bbx32[_0xd35b[111]]= true}else {_0x54bbx32[_0xd35b[111]]= false};if(_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]]){return ChatVisitor[_0xd35b[109]]({where:{id:_0x54bbx27[_0xd35b[101]][_0xd35b[96]][_0x54bbx36][_0xd35b[107]],status:_0xd35b[108]}})};return})[_0xd35b[41]](function(_0x54bbx33){if(_0x54bbx33){_0x54bbx32[_0xd35b[102]]= true};return _0x54bbx28[_0xd35b[40]](200)[_0xd35b[254]](_0x54bbx32)})[_0xd35b[38]](function(_0x54bbx2a){console[_0xd35b[264]](_0xd35b[263],_0x54bbx2a);return _0x54bbx28[_0xd35b[40]](500)[_0xd35b[254]]({})})}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var auth = require('../../auth/auth.service');
-var controller = require('./zendesk_account.controller');
-
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19, 13], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.get('/:id/check', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.checkAccount);
-router.get('/:id/fields', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getFields);
-router.get('/:id/configurations', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getAccountConfigurations);
-router.get('/:id/configurations/:cid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.getConfiguration);
-router.post('/validate/:field', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.zendeskValidation);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.post('/:id/configurations', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.createConfiguration);
-router.post('/:id/configurations/:cid/:type', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.createField);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.put('/:id/configurations/:cid/tags', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.addConfigurationTags);
-router.put('/:id/configurations/:cid/fields/:fid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.updateField);
-router.delete('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.bulkDestroy);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-router.delete('/:id/configurations', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.bulkDestroyConfigurations);
-router.delete('/:id/configurations/:cid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroyConfiguration);
-router.delete('/:id/configurations/:cid/fields/:fid', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroyField);
-
-module.exports = router;
+var _0xfc3a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x2F\x3A\x69\x64\x2F\x63\x68\x65\x63\x6B","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2F\x3A\x69\x64\x2F\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x67\x65\x74\x41\x63\x63\x6F\x75\x6E\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64","\x67\x65\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x76\x61\x6C\x69\x64\x61\x74\x65\x2F\x3A\x66\x69\x65\x6C\x64","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x70\x6F\x73\x74","\x63\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64\x2F\x3A\x74\x79\x70\x65","\x63\x72\x65\x61\x74\x65\x46\x69\x65\x6C\x64","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64\x2F\x74\x61\x67\x73","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x54\x61\x67\x73","\x2F\x3A\x69\x64\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73\x2F\x3A\x63\x69\x64\x2F\x66\x69\x65\x6C\x64\x73\x2F\x3A\x66\x69\x64","\x75\x70\x64\x61\x74\x65\x46\x69\x65\x6C\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79\x46\x69\x65\x6C\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0xfc3a[0];var express=require(_0xfc3a[1]);var auth=require(_0xfc3a[2]);var controller=require(_0xfc3a[3]);var router=express.Router();router[_0xfc3a[9]](_0xfc3a[4],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19,13],[_0xfc3a[6]]),controller[_0xfc3a[8]]);router[_0xfc3a[9]](_0xfc3a[10],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[11]]);router[_0xfc3a[9]](_0xfc3a[12],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[13]]);router[_0xfc3a[9]](_0xfc3a[14],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[15]]);router[_0xfc3a[9]](_0xfc3a[16],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[17]]);router[_0xfc3a[9]](_0xfc3a[18],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[19]]);router[_0xfc3a[22]](_0xfc3a[20],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[21]]);router[_0xfc3a[22]](_0xfc3a[4],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[23]]);router[_0xfc3a[22]](_0xfc3a[16],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[24]]);router[_0xfc3a[22]](_0xfc3a[25],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[26]]);router[_0xfc3a[28]](_0xfc3a[10],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[27]]);router[_0xfc3a[28]](_0xfc3a[29],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[30]]);router[_0xfc3a[28]](_0xfc3a[31],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[32]]);router[_0xfc3a[34]](_0xfc3a[4],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[33]]);router[_0xfc3a[34]](_0xfc3a[10],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[35]]);router[_0xfc3a[34]](_0xfc3a[16],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[36]]);router[_0xfc3a[34]](_0xfc3a[18],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[37]]);router[_0xfc3a[34]](_0xfc3a[31],auth[_0xfc3a[5]](),auth[_0xfc3a[7]]([19],[_0xfc3a[6]]),controller[_0xfc3a[38]]);module[_0xfc3a[39]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Util = require('../../config/util');
-var zendesk = require('node-zendesk');
-
-var ZendeskAccount = require('../../models').ZendeskAccount;
-var ZendeskConfiguration = require('../../models').ZendeskConfiguration;
-var ZendeskField = require('../../models').ZendeskField;
-
-function handleError(res, statusCode) {
- statusCode = statusCode || 500;
- return function(err) {
- res.status(statusCode).send(err);
- };
-}
-
-function responseWithResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function(entity) {
- if (entity) {
- res.status(statusCode).json(entity);
- }
- };
-}
-
-function responseWithoutResult(res, statusCode) {
- statusCode = statusCode || 200;
- return function() {
- res.sendStatus(statusCode);
- };
-}
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function saveUpdates(updates) {
- return function(entity) {
- return entity.updateAttributes(updates)
- .then(function(updated) {
- return updated;
- });
- };
-}
-
-function removeEntity(res) {
- return function(entity) {
- if (entity) {
- return entity.destroy()
- .then(function() {
- res.status(204).end();
- });
- }
- };
-}
-
-// Get list of zendesk_accounts
-exports.index = function(req, res, next) {
- return ZendeskAccount
- .scope('configurations')
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(responseWithResult(res))
- .catch(handleError(res));
-};
-
-// Get a single zendesk_account
-exports.show = function(req, res) {
- return ZendeskAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-};
-
-// Creates a new zendesk_account in the DB.
-exports.create = function(req, res) {
- return ZendeskAccount
- .create(req.body)
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-// Updates an existing zendesk_account in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ZendeskAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-};
-
-// Deletes a zendesk_account from the DB.
-exports.destroy = function(req, res) {
- return ZendeskAccount
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-};
-
-exports.bulkDestroy = function(req, res) {
- return ZendeskAccount
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithResult(res, 204))
- .catch(handleError(res));
-};
-
-exports.zendeskValidation = function(req, res) {
- var where = {};
- where[req.params.field] = req.body.value;
- return ZendeskAccount
- .findAndCountAll({
- where: where
- })
- .then(function(result) {
- if (result.count) {
- return res.status(200).send({
- isValid: false,
- value: req.body.value
- });
- }
- return res.status(200).send({
- isValid: true,
- value: req.body.value
- });
- })
- .catch(handleError(res));
-
-};
-
-exports.checkAccount = function(req, res) {
- return ZendeskAccount
- .findById(req.params.id)
- .then(function(account) {
- var accountZendesk = {
- username: account.username,
- remoteUri: account.remoteUri,
- // debug: true
- };
- if (account.authType === 'password') {
- accountZendesk.password = account.password;
- } else if (account.authType === 'token') {
- accountZendesk.token = account.token;
- // accountZendesk.oauth = true;
- }
- // console.log(accountZendesk);
- var client = zendesk.createClient(accountZendesk);
- client.users.auth(function(err, res2, result) {
- if (err) {
- console.error(err);
- return handleError(res, err);
- }
- // console.log(result);
- if (!result.verified) {
- return res.sendStatus(500);
- }
- return res.sendStatus(204);
- });
- })
- .catch(handleError(res));
-};
-
-exports.getFields = function(req, res) {
- return ZendeskAccount
- .findById(req.params.id)
- .then(function(account) {
- var accountZendesk = {
- username: account.username,
- remoteUri: account.remoteUri,
- // debug: true
- };
- if (account.authType === 'password') {
- accountZendesk.password = account.password;
- } else if (account.authType === 'token') {
- accountZendesk.token = account.token;
- }
- var client = zendesk.createClient(accountZendesk);
- client.ticketfields.list(function(err, res2, result) {
- if (err) {
- console.error(err);
- return handleError(res, err);
- }
- return res.status(200).send(result);
- });
- })
- .catch(handleError(res));
-}
-
-exports.getAccountConfigurations = function(req, res) {
- return ZendeskConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findAndCountAll(_.merge(Util.getQuery(req.query), {
- distinct: true
- }))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-exports.getConfiguration = function(req, res) {
-
- return ZendeskConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(responseWithResult(res))
- .catch(handleError(res));
-}
-
-exports.destroyConfiguration = function(req, res) {
- return ZendeskConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-};
-
-exports.bulkDestroyConfigurations = function(req, res) {
- return ZendeskConfiguration
- .destroy({
- where: {
- id: req.query.ids
- },
- individualHooks: true
- })
- .then(responseWithResult(res, 204))
- .catch(handleError(res));
-};
-
-exports.createConfiguration = function(req, res) {
- req.body['AccountId'] = req.params.id;
-
- switch (req.body.channel) {
- case 'voice':
-
- if (req.body.type === 'Queue') {
- req.body.Subject = [{
- "type": "string",
- "content": "[xCALLY Ticket]",
- "variableName": null
- }, {
- "type": "variable",
- "content": "",
- "variableName": "queue"
- }, {
- "type": "variable",
- "content": "",
- "variableName": "calleridnum"
- }];
- req.body.Description = [{
- "type": "string",
- "content": "*** Call Info ***",
- "key": null,
- "keyType": null,
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Caller Number",
- "keyType": "variable",
- "variableName": "calleridnum"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Caller Name",
- "keyType": "variable",
- "variableName": "calleridname"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Call To",
- "keyType": "variable",
- "variableName": "destexten"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Queue",
- "keyType": "variable",
- "variableName": "queue"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "UniqueId",
- "keyType": "variable",
- "variableName": "uniqueid"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Date",
- "keyType": "variable",
- "variableName": "agentcalledAt"
- }, {
- "type": "string",
- "content": "*** Agent Info ***",
- "key": null,
- "keyType": null,
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Name",
- "keyType": "variable",
- "variableName": "destcalleridname"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Number",
- "keyType": "variable",
- "variableName": "destcalleridnum"
- }, {
- "type": "string",
- "content": "*** Time Info ***",
- "key": null,
- "keyType": null,
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Ring",
- "keyType": "variable",
- "variableName": "agentcalledAt"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Connect",
- "keyType": "variable",
- "variableName": "agentconnectAt"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Agent Complete",
- "keyType": "variable",
- "variableName": "agentcompleteAt"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Hold Time",
- "keyType": "variable",
- "variableName": "holdtime"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Talk Time",
- "keyType": "variable",
- "variableName": "talktime"
- }];
- } else if (req.body.type === 'Outbound') {
- req.body.Subject = [{
- "type": "string",
- "content": "[xCALLY Ticket]",
- "variableName": null
- }, {
- "type": "string",
- "content": "Outbound Call",
- "variableName": null
- }, {
- "type": "variable",
- "content": "",
- "variableName": "destcalleridnum"
- }];
- req.body.Description = [{
- "type": "string",
- "content": "*** Call Info ***",
- "variableName": null
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Called Number",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "destcalleridnum"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Member Name",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "membername"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "UniqueId",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "uniqueid"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Date",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "starttime"
- }, {
- "type": "string",
- "content": "*** Time Info ***",
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Answer Time",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "answertime"
- }, {
- "type": "keyValue",
- "content": "",
- "key": "Complete Time",
- "keyType": "variable",
- "keyContent": "",
- "variableName": "endtime"
- }];
- }
- break;
- default:
- console.log('Channel not available:', req.body.channel);
- }
-
- delete req.body.channel;
- delete req.body.type;
-
- return ZendeskConfiguration
- .create(req.body, {
- include: [{
- model: ZendeskField,
- as: 'Subject'
- }, {
- model: ZendeskField,
- as: 'Description'
- }]
- })
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-exports.createField = function(req, res) {
- return ZendeskConfiguration
- .scope({
- method: ['account', req.params.id]
- })
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(function(configuration) {
- switch (req.params.type) {
- case 'subject':
- req.body['SubjectId'] = req.params.cid;
- break;
- case 'description':
- req.body['DescriptionId'] = req.params.cid;
- break;
- case 'field':
- req.body['FieldId'] = req.params.cid;
- break;
- }
- return ZendeskField.create(req.body);
- })
- .then(responseWithResult(res, 201))
- .catch(handleError(res));
-};
-
-exports.updateField = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- return ZendeskField
- .findById(req.params.fid)
- .then(handleEntityNotFound(res))
- .then(saveUpdates(req.body))
- .then(responseWithResult(res))
- .catch(handleError(res));
-};
-
-exports.destroyField = function(req, res) {
- return ZendeskField
- .findById(req.params.fid)
- .then(handleEntityNotFound(res))
- .then(removeEntity(res))
- .catch(handleError(res));
-};
-
-exports.addConfigurationTags = function(req, res, next) {
- return ZendeskConfiguration
- .findById(req.params.cid)
- .then(handleEntityNotFound(res))
- .then(function(configuration) {
- return configuration.setTags(req.body);
- })
- .then(responseWithoutResult(res, 200))
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
+var _0x2126=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6E\x6F\x64\x65\x2D\x7A\x65\x6E\x64\x65\x73\x6B","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x7A\x65\x6E\x64\x65\x73\x6B\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x6F\x75\x6E\x74","\x63\x68\x65\x63\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x61\x75\x74\x68\x54\x79\x70\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x74\x6F\x6B\x65\x6E","\x63\x72\x65\x61\x74\x65\x43\x6C\x69\x65\x6E\x74","\x65\x72\x72\x6F\x72","\x76\x65\x72\x69\x66\x69\x65\x64","\x61\x75\x74\x68","\x75\x73\x65\x72\x73","\x67\x65\x74\x46\x69\x65\x6C\x64\x73","\x6C\x69\x73\x74","\x74\x69\x63\x6B\x65\x74\x66\x69\x65\x6C\x64\x73","\x67\x65\x74\x41\x63\x63\x6F\x75\x6E\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x61\x63\x63\x6F\x75\x6E\x74","\x67\x65\x74\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x63\x69\x64","\x64\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x74\x79\x70\x65","\x51\x75\x65\x75\x65","\x53\x75\x62\x6A\x65\x63\x74","\x73\x74\x72\x69\x6E\x67","\x5B\x78\x43\x41\x4C\x4C\x59\x20\x54\x69\x63\x6B\x65\x74\x5D","\x76\x61\x72\x69\x61\x62\x6C\x65","","\x71\x75\x65\x75\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x2A\x2A\x2A\x20\x43\x61\x6C\x6C\x20\x49\x6E\x66\x6F\x20\x2A\x2A\x2A","\x6B\x65\x79\x56\x61\x6C\x75\x65","\x43\x61\x6C\x6C\x65\x72\x20\x4E\x75\x6D\x62\x65\x72","\x43\x61\x6C\x6C\x65\x72\x20\x4E\x61\x6D\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x43\x61\x6C\x6C\x20\x54\x6F","\x64\x65\x73\x74\x65\x78\x74\x65\x6E","\x55\x6E\x69\x71\x75\x65\x49\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x44\x61\x74\x65","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x2A\x2A\x2A\x20\x41\x67\x65\x6E\x74\x20\x49\x6E\x66\x6F\x20\x2A\x2A\x2A","\x41\x67\x65\x6E\x74\x20\x4E\x61\x6D\x65","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x41\x67\x65\x6E\x74\x20\x4E\x75\x6D\x62\x65\x72","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x2A\x2A\x2A\x20\x54\x69\x6D\x65\x20\x49\x6E\x66\x6F\x20\x2A\x2A\x2A","\x41\x67\x65\x6E\x74\x20\x52\x69\x6E\x67","\x41\x67\x65\x6E\x74\x20\x43\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x41\x67\x65\x6E\x74\x20\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x48\x6F\x6C\x64\x20\x54\x69\x6D\x65","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x54\x61\x6C\x6B\x20\x54\x69\x6D\x65","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C","\x43\x61\x6C\x6C\x65\x64\x20\x4E\x75\x6D\x62\x65\x72","\x4D\x65\x6D\x62\x65\x72\x20\x4E\x61\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x73\x74\x61\x72\x74\x74\x69\x6D\x65","\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x20\x54\x69\x6D\x65","\x65\x6E\x64\x74\x69\x6D\x65","\x76\x6F\x69\x63\x65","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x6E\x6F\x74\x20\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3A","\x63\x68\x61\x6E\x6E\x65\x6C","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65\x46\x69\x65\x6C\x64","\x53\x75\x62\x6A\x65\x63\x74\x49\x64","\x73\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x49\x64","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64\x49\x64","\x75\x70\x64\x61\x74\x65\x46\x69\x65\x6C\x64","\x66\x69\x64","\x64\x65\x73\x74\x72\x6F\x79\x46\x69\x65\x6C\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x54\x61\x67\x73","\x73\x65\x74\x54\x61\x67\x73"];_0x2126[0];var _=require(_0x2126[1]);var Util=require(_0x2126[2]);var zendesk=require(_0x2126[3]);var ZendeskAccount=require(_0x2126[5])[_0x2126[4]];var ZendeskConfiguration=require(_0x2126[5])[_0x2126[6]];var ZendeskField=require(_0x2126[5])[_0x2126[7]];function handleError(_0x90fbx8,_0x90fbx9){_0x90fbx9= _0x90fbx9|| 500;return function(_0x90fbxa){_0x90fbx8[_0x2126[9]](_0x90fbx9)[_0x2126[8]](_0x90fbxa)}}function responseWithResult(_0x90fbx8,_0x90fbx9){_0x90fbx9= _0x90fbx9|| 200;return function(_0x90fbxc){if(_0x90fbxc){_0x90fbx8[_0x2126[9]](_0x90fbx9)[_0x2126[10]](_0x90fbxc)}}}function responseWithoutResult(_0x90fbx8,_0x90fbx9){_0x90fbx9= _0x90fbx9|| 200;return function(){_0x90fbx8[_0x2126[11]](_0x90fbx9)}}function handleEntityNotFound(_0x90fbx8){return function(_0x90fbxc){if(!_0x90fbxc){_0x90fbx8[_0x2126[9]](404)[_0x2126[12]]();return null};return _0x90fbxc}}function saveUpdates(_0x90fbx10){return function(_0x90fbxc){return _0x90fbxc[_0x2126[14]](_0x90fbx10)[_0x2126[13]](function(_0x90fbx11){return _0x90fbx11})}}function removeEntity(_0x90fbx8){return function(_0x90fbxc){if(_0x90fbxc){return _0x90fbxc[_0x2126[15]]()[_0x2126[13]](function(){_0x90fbx8[_0x2126[9]](204)[_0x2126[12]]()})}}}exports[_0x2126[16]]= function(_0x90fbx13,_0x90fbx8,_0x90fbx14){return ZendeskAccount[_0x2126[23]](_0x2126[22])[_0x2126[21]](_[_0x2126[20]](Util[_0x2126[19]](_0x90fbx13[_0x2126[18]]),{distinct:true}))[_0x2126[13]](responseWithResult(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[24]]= function(_0x90fbx13,_0x90fbx8){return ZendeskAccount[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[25]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](responseWithResult(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[28]]= function(_0x90fbx13,_0x90fbx8){return ZendeskAccount[_0x2126[28]](_0x90fbx13[_0x2126[29]])[_0x2126[13]](responseWithResult(_0x90fbx8,201))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[30]]= function(_0x90fbx13,_0x90fbx8){if(_0x90fbx13[_0x2126[29]][_0x2126[25]]){delete _0x90fbx13[_0x2126[29]][_0x2126[25]]};return ZendeskAccount[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[25]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](saveUpdates(_0x90fbx13[_0x2126[29]]))[_0x2126[13]](responseWithResult(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[15]]= function(_0x90fbx13,_0x90fbx8){return ZendeskAccount[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[25]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](removeEntity(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[31]]= function(_0x90fbx13,_0x90fbx8){return ZendeskAccount[_0x2126[15]]({where:{id:_0x90fbx13[_0x2126[18]][_0x2126[32]]},individualHooks:true})[_0x2126[13]](responseWithResult(_0x90fbx8,204))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[33]]= function(_0x90fbx13,_0x90fbx8){var _0x90fbx15={};_0x90fbx15[_0x90fbx13[_0x2126[26]][_0x2126[34]]]= _0x90fbx13[_0x2126[29]][_0x2126[35]];return ZendeskAccount[_0x2126[21]]({where:_0x90fbx15})[_0x2126[13]](function(_0x90fbx16){if(_0x90fbx16[_0x2126[36]]){return _0x90fbx8[_0x2126[9]](200)[_0x2126[8]]({isValid:false,value:_0x90fbx13[_0x2126[29]][_0x2126[35]]})};return _0x90fbx8[_0x2126[9]](200)[_0x2126[8]]({isValid:true,value:_0x90fbx13[_0x2126[29]][_0x2126[35]]})})[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[37]]= function(_0x90fbx13,_0x90fbx8){return ZendeskAccount[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[25]])[_0x2126[13]](function(_0x90fbx17){var _0x90fbx18={username:_0x90fbx17[_0x2126[38]],remoteUri:_0x90fbx17[_0x2126[39]]};if(_0x90fbx17[_0x2126[40]]=== _0x2126[41]){_0x90fbx18[_0x2126[41]]= _0x90fbx17[_0x2126[41]]}else {if(_0x90fbx17[_0x2126[40]]=== _0x2126[42]){_0x90fbx18[_0x2126[42]]= _0x90fbx17[_0x2126[42]]}};var _0x90fbx19=zendesk[_0x2126[43]](_0x90fbx18);_0x90fbx19[_0x2126[47]][_0x2126[46]](function(_0x90fbxa,_0x90fbx1a,_0x90fbx16){if(_0x90fbxa){console[_0x2126[44]](_0x90fbxa);return handleError(_0x90fbx8,_0x90fbxa)};if(!_0x90fbx16[_0x2126[45]]){return _0x90fbx8[_0x2126[11]](500)};return _0x90fbx8[_0x2126[11]](204)})})[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[48]]= function(_0x90fbx13,_0x90fbx8){return ZendeskAccount[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[25]])[_0x2126[13]](function(_0x90fbx17){var _0x90fbx18={username:_0x90fbx17[_0x2126[38]],remoteUri:_0x90fbx17[_0x2126[39]]};if(_0x90fbx17[_0x2126[40]]=== _0x2126[41]){_0x90fbx18[_0x2126[41]]= _0x90fbx17[_0x2126[41]]}else {if(_0x90fbx17[_0x2126[40]]=== _0x2126[42]){_0x90fbx18[_0x2126[42]]= _0x90fbx17[_0x2126[42]]}};var _0x90fbx19=zendesk[_0x2126[43]](_0x90fbx18);_0x90fbx19[_0x2126[50]][_0x2126[49]](function(_0x90fbxa,_0x90fbx1a,_0x90fbx16){if(_0x90fbxa){console[_0x2126[44]](_0x90fbxa);return handleError(_0x90fbx8,_0x90fbxa)};return _0x90fbx8[_0x2126[9]](200)[_0x2126[8]](_0x90fbx16)})})[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[51]]= function(_0x90fbx13,_0x90fbx8){return ZendeskConfiguration[_0x2126[23]]({method:[_0x2126[52],_0x90fbx13[_0x2126[26]][_0x2126[25]]]})[_0x2126[21]](_[_0x2126[20]](Util[_0x2126[19]](_0x90fbx13[_0x2126[18]]),{distinct:true}))[_0x2126[13]](responseWithResult(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[53]]= function(_0x90fbx13,_0x90fbx8){return ZendeskConfiguration[_0x2126[23]]({method:[_0x2126[52],_0x90fbx13[_0x2126[26]][_0x2126[25]]]})[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[54]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](responseWithResult(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[55]]= function(_0x90fbx13,_0x90fbx8){return ZendeskConfiguration[_0x2126[23]]({method:[_0x2126[52],_0x90fbx13[_0x2126[26]][_0x2126[25]]]})[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[54]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](removeEntity(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[56]]= function(_0x90fbx13,_0x90fbx8){return ZendeskConfiguration[_0x2126[15]]({where:{id:_0x90fbx13[_0x2126[18]][_0x2126[32]]},individualHooks:true})[_0x2126[13]](responseWithResult(_0x90fbx8,204))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[57]]= function(_0x90fbx13,_0x90fbx8){_0x90fbx13[_0x2126[29]][_0x2126[58]]= _0x90fbx13[_0x2126[26]][_0x2126[25]];switch(_0x90fbx13[_0x2126[29]][_0x2126[107]]){case _0x2126[105]:if(_0x90fbx13[_0x2126[29]][_0x2126[59]]=== _0x2126[60]){_0x90fbx13[_0x2126[29]][_0x2126[61]]= [{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[63],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[64],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[66]},{"\x74\x79\x70\x65":_0x2126[64],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[67]}];_0x90fbx13[_0x2126[29]][_0x2126[68]]= [{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[69],"\x6B\x65\x79":null,"\x6B\x65\x79\x54\x79\x70\x65":null,"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[71],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[67]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[72],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[73]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[74],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[75]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[60],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[66]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[76],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[77]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[78],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[79]},{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[80],"\x6B\x65\x79":null,"\x6B\x65\x79\x54\x79\x70\x65":null,"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[81],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[82]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[83],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[84]},{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[85],"\x6B\x65\x79":null,"\x6B\x65\x79\x54\x79\x70\x65":null,"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[86],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[79]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[87],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[88]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[89],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[90]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[91],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[92]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[93],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[94]}]}else {if(_0x90fbx13[_0x2126[29]][_0x2126[59]]=== _0x2126[95]){_0x90fbx13[_0x2126[29]][_0x2126[61]]= [{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[63],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[96],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[64],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[84]}];_0x90fbx13[_0x2126[29]][_0x2126[68]]= [{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[69],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":null},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[97],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[84]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[98],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[99]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[76],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[77]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[78],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[100]},{"\x74\x79\x70\x65":_0x2126[62],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[85]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[101],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[102]},{"\x74\x79\x70\x65":_0x2126[70],"\x63\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x6B\x65\x79":_0x2126[103],"\x6B\x65\x79\x54\x79\x70\x65":_0x2126[64],"\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74":_0x2126[65],"\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65":_0x2126[104]}]}};break;default:console[_0x2126[108]](_0x2126[106],_0x90fbx13[_0x2126[29]][_0x2126[107]])};delete _0x90fbx13[_0x2126[29]][_0x2126[107]];delete _0x90fbx13[_0x2126[29]][_0x2126[59]];return ZendeskConfiguration[_0x2126[28]](_0x90fbx13[_0x2126[29]],{include:[{model:ZendeskField,as:_0x2126[61]},{model:ZendeskField,as:_0x2126[68]}]})[_0x2126[13]](responseWithResult(_0x90fbx8,201))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[109]]= function(_0x90fbx13,_0x90fbx8){return ZendeskConfiguration[_0x2126[23]]({method:[_0x2126[52],_0x90fbx13[_0x2126[26]][_0x2126[25]]]})[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[54]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](function(_0x90fbx1b){switch(_0x90fbx13[_0x2126[26]][_0x2126[59]]){case _0x2126[111]:_0x90fbx13[_0x2126[29]][_0x2126[110]]= _0x90fbx13[_0x2126[26]][_0x2126[54]];break;case _0x2126[113]:_0x90fbx13[_0x2126[29]][_0x2126[112]]= _0x90fbx13[_0x2126[26]][_0x2126[54]];break;case _0x2126[34]:_0x90fbx13[_0x2126[29]][_0x2126[114]]= _0x90fbx13[_0x2126[26]][_0x2126[54]];break};return ZendeskField[_0x2126[28]](_0x90fbx13[_0x2126[29]])})[_0x2126[13]](responseWithResult(_0x90fbx8,201))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[115]]= function(_0x90fbx13,_0x90fbx8){if(_0x90fbx13[_0x2126[29]][_0x2126[25]]){delete _0x90fbx13[_0x2126[29]][_0x2126[25]]};return ZendeskField[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[116]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](saveUpdates(_0x90fbx13[_0x2126[29]]))[_0x2126[13]](responseWithResult(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[117]]= function(_0x90fbx13,_0x90fbx8){return ZendeskField[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[116]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](removeEntity(_0x90fbx8))[_0x2126[17]](handleError(_0x90fbx8))};exports[_0x2126[118]]= function(_0x90fbx13,_0x90fbx8,_0x90fbx14){return ZendeskConfiguration[_0x2126[27]](_0x90fbx13[_0x2126[26]][_0x2126[54]])[_0x2126[13]](handleEntityNotFound(_0x90fbx8))[_0x2126[13]](function(_0x90fbx1b){return _0x90fbx1b[_0x2126[119]](_0x90fbx13[_0x2126[29]])})[_0x2126[13]](responseWithoutResult(_0x90fbx8,200))[_0x2126[17]](function(_0x90fbxa){console[_0x2126[44]](_0x90fbxa);return handleError(_0x90fbx8,_0x90fbxa)})}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ZendeskAccount = require('../../models').ZendeskAccount;
-
-var ZendeskAccountEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ZendeskAccountEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ZendeskAccount.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ZendeskAccountEvents.emit(event + ':' + doc._id, doc);
- ZendeskAccountEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ZendeskAccountEvents;
+var _0x389d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x389d[0];const EventEmitter=require(_0x389d[1]);const ZendeskAccount=require(_0x389d[3])[_0x389d[2]];var ZendeskAccountEvents= new EventEmitter();ZendeskAccountEvents[_0x389d[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x389d[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x389d[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x389d[6]};for(var e in events){var event=events[e];ZendeskAccount[_0x389d[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x249bx8,_0x249bx9,_0x249bxa){ZendeskAccountEvents[_0x389d[10]](event+ _0x389d[8]+ _0x249bx8[_0x389d[9]],_0x249bx8);ZendeskAccountEvents[_0x389d[10]](event,_0x249bx8);_0x249bxa(null)}}module[_0x389d[11]]= ZendeskAccountEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ZendeskAccountEvents = require('./zendesk_account.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('zendesk_account:' + event, socket);
-
- ZendeskAccountEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ZendeskAccountEvents.removeListener(event, listener);
- };
-}
+var _0x4db1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x4db1[0];const ZendeskAccountEvents=require(_0x4db1[1]);var events=[_0x4db1[2],_0x4db1[3]];exports[_0x4db1[4]]= function(_0x9e5bx3){for(var _0x9e5bx4=0,_0x9e5bx5=events[_0x4db1[5]];_0x9e5bx4< _0x9e5bx5;_0x9e5bx4++){var _0x9e5bx6=events[_0x9e5bx4];var _0x9e5bx7=createListener(_0x4db1[6]+ _0x9e5bx6,_0x9e5bx3);ZendeskAccountEvents[_0x4db1[7]](_0x9e5bx6,_0x9e5bx7);_0x9e5bx3[_0x4db1[7]](_0x4db1[8],removeListener(_0x9e5bx6,_0x9e5bx7))}};function createListener(_0x9e5bx6,_0x9e5bx3){return function(_0x9e5bx9){_0x9e5bx3[_0x4db1[9]](_0x9e5bx6,_0x9e5bx9)}}function removeListener(_0x9e5bx6,_0x9e5bx7){return function(){ZendeskAccountEvents[_0x4db1[10]](_0x9e5bx6,_0x9e5bx7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./zendesk_configuration.controller');
-var auth = require('../../auth/auth.service');
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.post('/:id/tags', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.addConfigurationTags);
-router.post('/:id/:type', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.addConfigurationField);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x5920=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x2F\x3A\x69\x64\x2F\x74\x61\x67\x73","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x54\x61\x67\x73","\x2F\x3A\x69\x64\x2F\x3A\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x5920[0];var express=require(_0x5920[1]);var controller=require(_0x5920[2]);var auth=require(_0x5920[3]);var router=express.Router();router[_0x5920[9]](_0x5920[4],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[8]]);router[_0x5920[9]](_0x5920[10],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[11]]);router[_0x5920[13]](_0x5920[4],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[12]]);router[_0x5920[15]](_0x5920[10],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[14]]);router[_0x5920[13]](_0x5920[16],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[17]]);router[_0x5920[13]](_0x5920[18],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[19]]);router[_0x5920[21]](_0x5920[10],auth[_0x5920[5]](),auth[_0x5920[7]]([19],[_0x5920[6]]),controller[_0x5920[20]]);module[_0x5920[22]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ZendeskConfiguration = require('../../models').ZendeskConfiguration;
-var ZendeskField = require('../../models').ZendeskField;
-
-// Get list of zendesk_configurations
-exports.index = function(req, res) {
- ZendeskConfiguration
- .findAll({
- where: req.query
- })
- .then(function(zendesk_configurations) {
- return res.status(200).send(zendesk_configurations);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single zendesk_configuration
-exports.show = function(req, res) {
- ZendeskConfiguration
- .find({
- where: {
- id: req.params.id
- },
- include: [{
- all: true
- }]
- })
- .then(function(zendesk_configuration) {
- if (!zendesk_configuration) {
- return res.sendStatus(404);
- }
- return res.send(zendesk_configuration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new zendesk_configuration in the DB.
-exports.create = function(req, res) {
- ZendeskConfiguration
- .create(req.body)
- .then(function(zendesk_configuration) {
- return res.status(201).send(zendesk_configuration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing zendesk_configuration in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- ZendeskConfiguration
- .findById(req.params.id)
- .then(function(zendesk_configuration) {
- if (!zendesk_configuration) {
- return res.sendStatus(404);
- }
- var updated = _.merge(zendesk_configuration, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(zendesk_configuration);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a zendesk_configuration from the DB.
-exports.destroy = function(req, res) {
- ZendeskConfiguration
- .findById(req.params.id)
- .then(function(zendesk_configuration) {
- if (!zendesk_configuration) {
- return res.sendStatus(404);
- }
- zendesk_configuration.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-exports.addConfigurationField = function(req, res, next) {
- // console.log(req.params);
- ZendeskConfiguration
- .findById(req.params.id)
- .then(function(configuration) {
- if (!configuration) {
- return res.sendStatus(500);
- }
- ZendeskField
- .create(req.body)
- .then(function(field) {
- switch (req.params.type) {
- case 'subject':
- configuration.addSubject(field)
- .then(function() {
- return res.status(200).send(field);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- break;
- case 'description':
- configuration.addDescription(field)
- .then(function() {
- return res.status(200).send(field);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- break;
- case 'field':
- configuration.addField(field)
- .then(function() {
- return res.status(200).send(field);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- break;
- }
- })
- .catch(function(err) {
- return handleError(res, err);
- // return next(err);
- });
- })
- .catch(function(err) {
- // return next(err);
- return handleError(res, err);
- });
-};
-
-exports.addConfigurationTags = function(req, res, next) {
- ZendeskConfiguration
- .findById(req.params.id)
- .then(handleEntityNotFound(res))
- .then(function(configuration) {
- return configuration.setTags(req.body);
- })
- .then(function(data) {
- return res.sendStatus(200);
- })
- .catch(function(err) {
- console.error(err);
- return handleError(res, err);
- });
-};
-
-function handleEntityNotFound(res) {
- return function(entity) {
- if (!entity) {
- res.status(404).end();
- return null;
- }
- return entity;
- };
-}
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0x3b9d=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x65\x73\x74\x72\x6F\x79","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x54\x61\x67\x73","\x65\x72\x72\x6F\x72","\x73\x65\x74\x54\x61\x67\x73","\x65\x6E\x64"];_0x3b9d[0];var _=require(_0x3b9d[1]);var ZendeskConfiguration=require(_0x3b9d[3])[_0x3b9d[2]];var ZendeskField=require(_0x3b9d[3])[_0x3b9d[4]];exports[_0x3b9d[5]]= function(_0x4ea1x4,_0x4ea1x5){ZendeskConfiguration[_0x3b9d[11]]({where:_0x4ea1x4[_0x3b9d[10]]})[_0x3b9d[9]](function(_0x4ea1x7){return _0x4ea1x5[_0x3b9d[8]](200)[_0x3b9d[7]](_0x4ea1x7)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})};exports[_0x3b9d[12]]= function(_0x4ea1x4,_0x4ea1x5){ZendeskConfiguration[_0x3b9d[16]]({where:{id:_0x4ea1x4[_0x3b9d[15]][_0x3b9d[14]]},include:[{all:true}]})[_0x3b9d[9]](function(_0x4ea1x8){if(!_0x4ea1x8){return _0x4ea1x5[_0x3b9d[13]](404)};return _0x4ea1x5[_0x3b9d[7]](_0x4ea1x8)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})};exports[_0x3b9d[17]]= function(_0x4ea1x4,_0x4ea1x5){ZendeskConfiguration[_0x3b9d[17]](_0x4ea1x4[_0x3b9d[18]])[_0x3b9d[9]](function(_0x4ea1x8){return _0x4ea1x5[_0x3b9d[8]](201)[_0x3b9d[7]](_0x4ea1x8)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})};exports[_0x3b9d[19]]= function(_0x4ea1x4,_0x4ea1x5){if(_0x4ea1x4[_0x3b9d[18]][_0x3b9d[14]]){delete _0x4ea1x4[_0x3b9d[18]][_0x3b9d[14]]};ZendeskConfiguration[_0x3b9d[22]](_0x4ea1x4[_0x3b9d[15]][_0x3b9d[14]])[_0x3b9d[9]](function(_0x4ea1x8){if(!_0x4ea1x8){return _0x4ea1x5[_0x3b9d[13]](404)};var _0x4ea1x9=_[_0x3b9d[20]](_0x4ea1x8,_0x4ea1x4[_0x3b9d[18]]);_0x4ea1x9[_0x3b9d[21]]()[_0x3b9d[9]](function(){return _0x4ea1x5[_0x3b9d[8]](200)[_0x3b9d[7]](_0x4ea1x8)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})};exports[_0x3b9d[23]]= function(_0x4ea1x4,_0x4ea1x5){ZendeskConfiguration[_0x3b9d[22]](_0x4ea1x4[_0x3b9d[15]][_0x3b9d[14]])[_0x3b9d[9]](function(_0x4ea1x8){if(!_0x4ea1x8){return _0x4ea1x5[_0x3b9d[13]](404)};_0x4ea1x8[_0x3b9d[23]]()[_0x3b9d[9]](function(){return _0x4ea1x5[_0x3b9d[13]](204)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})};exports[_0x3b9d[24]]= function(_0x4ea1x4,_0x4ea1x5,_0x4ea1xa){ZendeskConfiguration[_0x3b9d[22]](_0x4ea1x4[_0x3b9d[15]][_0x3b9d[14]])[_0x3b9d[9]](function(_0x4ea1xb){if(!_0x4ea1xb){return _0x4ea1x5[_0x3b9d[13]](500)};ZendeskField[_0x3b9d[17]](_0x4ea1x4[_0x3b9d[18]])[_0x3b9d[9]](function(_0x4ea1xc){switch(_0x4ea1x4[_0x3b9d[15]][_0x3b9d[31]]){case _0x3b9d[26]:_0x4ea1xb[_0x3b9d[25]](_0x4ea1xc)[_0x3b9d[9]](function(){return _0x4ea1x5[_0x3b9d[8]](200)[_0x3b9d[7]](_0x4ea1xc)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)});break;case _0x3b9d[28]:_0x4ea1xb[_0x3b9d[27]](_0x4ea1xc)[_0x3b9d[9]](function(){return _0x4ea1x5[_0x3b9d[8]](200)[_0x3b9d[7]](_0x4ea1xc)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)});break;case _0x3b9d[30]:_0x4ea1xb[_0x3b9d[29]](_0x4ea1xc)[_0x3b9d[9]](function(){return _0x4ea1x5[_0x3b9d[8]](200)[_0x3b9d[7]](_0x4ea1xc)})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)});break}})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})})[_0x3b9d[6]](function(_0x4ea1x6){return handleError(_0x4ea1x5,_0x4ea1x6)})};exports[_0x3b9d[32]]= function(_0x4ea1x4,_0x4ea1x5,_0x4ea1xa){ZendeskConfiguration[_0x3b9d[22]](_0x4ea1x4[_0x3b9d[15]][_0x3b9d[14]])[_0x3b9d[9]](handleEntityNotFound(_0x4ea1x5))[_0x3b9d[9]](function(_0x4ea1xb){return _0x4ea1xb[_0x3b9d[34]](_0x4ea1x4[_0x3b9d[18]])})[_0x3b9d[9]](function(_0x4ea1xd){return _0x4ea1x5[_0x3b9d[13]](200)})[_0x3b9d[6]](function(_0x4ea1x6){console[_0x3b9d[33]](_0x4ea1x6);return handleError(_0x4ea1x5,_0x4ea1x6)})};function handleEntityNotFound(_0x4ea1x5){return function(_0x4ea1xf){if(!_0x4ea1xf){_0x4ea1x5[_0x3b9d[8]](404)[_0x3b9d[35]]();return null};return _0x4ea1xf}}function handleError(_0x4ea1x5,_0x4ea1x6){return _0x4ea1x5[_0x3b9d[8]](500)[_0x3b9d[7]](_0x4ea1x6)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ZendeskConfiguration = require('../../models').ZendeskConfiguration;
-
-var ZendeskConfigurationEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ZendeskConfigurationEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ZendeskConfiguration.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ZendeskConfigurationEvents.emit(event + ':' + doc._id, doc);
- ZendeskConfigurationEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ZendeskConfigurationEvents;
+var _0x1c75=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x1c75[0];const EventEmitter=require(_0x1c75[1]);const ZendeskConfiguration=require(_0x1c75[3])[_0x1c75[2]];var ZendeskConfigurationEvents= new EventEmitter();ZendeskConfigurationEvents[_0x1c75[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0x1c75[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0x1c75[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0x1c75[6]};for(var e in events){var event=events[e];ZendeskConfiguration[_0x1c75[7]](e,emitEvent(event))};function emitEvent(event){return function(_0xc92ax8,_0xc92ax9,_0xc92axa){ZendeskConfigurationEvents[_0x1c75[10]](event+ _0x1c75[8]+ _0xc92ax8[_0x1c75[9]],_0xc92ax8);ZendeskConfigurationEvents[_0x1c75[10]](event,_0xc92ax8);_0xc92axa(null)}}module[_0x1c75[11]]= ZendeskConfigurationEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ZendeskConfigurationEvents = require('./zendesk_configuration.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('zendesk_configuration:' + event, socket);
-
- ZendeskConfigurationEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ZendeskConfigurationEvents.removeListener(event, listener);
- };
-}
+var _0xff83=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0xff83[0];const ZendeskConfigurationEvents=require(_0xff83[1]);var events=[_0xff83[2],_0xff83[3]];exports[_0xff83[4]]= function(_0xe096x3){for(var _0xe096x4=0,_0xe096x5=events[_0xff83[5]];_0xe096x4< _0xe096x5;_0xe096x4++){var _0xe096x6=events[_0xe096x4];var _0xe096x7=createListener(_0xff83[6]+ _0xe096x6,_0xe096x3);ZendeskConfigurationEvents[_0xff83[7]](_0xe096x6,_0xe096x7);_0xe096x3[_0xff83[7]](_0xff83[8],removeListener(_0xe096x6,_0xe096x7))}};function createListener(_0xe096x6,_0xe096x3){return function(_0xe096x9){_0xe096x3[_0xff83[9]](_0xe096x6,_0xe096x9)}}function removeListener(_0xe096x6,_0xe096x7){return function(){ZendeskConfigurationEvents[_0xff83[10]](_0xe096x6,_0xe096x7)}}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var controller = require('./zendesk_field.controller');
-var auth = require('../../auth/auth.service');
-var router = express.Router();
-
-router.get('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.index);
-router.get('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.show);
-router.post('/', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.create);
-router.put('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.update);
-router.delete('/:id', auth.isAuthenticated(), auth.hasModule([19], ['admin']), controller.destroy);
-
-module.exports = router;
+var _0x9b99=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x63\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x75\x74\x68\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x61\x64\x6D\x69\x6E","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x69\x6E\x64\x65\x78","\x67\x65\x74","\x2F\x3A\x69\x64","\x73\x68\x6F\x77","\x63\x72\x65\x61\x74\x65","\x70\x6F\x73\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x74","\x64\x65\x73\x74\x72\x6F\x79","\x64\x65\x6C\x65\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x9b99[0];var express=require(_0x9b99[1]);var controller=require(_0x9b99[2]);var auth=require(_0x9b99[3]);var router=express.Router();router[_0x9b99[9]](_0x9b99[4],auth[_0x9b99[5]](),auth[_0x9b99[7]]([19],[_0x9b99[6]]),controller[_0x9b99[8]]);router[_0x9b99[9]](_0x9b99[10],auth[_0x9b99[5]](),auth[_0x9b99[7]]([19],[_0x9b99[6]]),controller[_0x9b99[11]]);router[_0x9b99[13]](_0x9b99[4],auth[_0x9b99[5]](),auth[_0x9b99[7]]([19],[_0x9b99[6]]),controller[_0x9b99[12]]);router[_0x9b99[15]](_0x9b99[10],auth[_0x9b99[5]](),auth[_0x9b99[7]]([19],[_0x9b99[6]]),controller[_0x9b99[14]]);router[_0x9b99[17]](_0x9b99[10],auth[_0x9b99[5]](),auth[_0x9b99[7]]([19],[_0x9b99[6]]),controller[_0x9b99[16]]);module[_0x9b99[18]]= router
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var ZendeskField = require('../../models').ZendeskField;
-
-// Get list of zendesk_fields
-exports.index = function(req, res) {
- ZendeskField
- .findAll()
- .then(function(zendesk_fields) {
- return res.status(200).send(zendesk_fields);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Get a single zendesk_field
-exports.show = function(req, res) {
- ZendeskField
- .findById(req.params.id)
- .then(function(zendesk_field) {
- if (!zendesk_field) {
- return res.sendStatus(404);
- }
- return res.send(zendesk_field);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new zendesk_field in the DB.
-exports.create = function(req, res) {
- ZendeskField
- .create(req.body)
- .then(function(zendesk_field) {
- return res.status(201).send(zendesk_field);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing zendesk_field in the DB.
-exports.update = function(req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
- ZendeskField
- .findById(req.params.id)
- .then(function(zendesk_field) {
- if (!zendesk_field) {
- return res.sendStatus(404);
- }
- var updated = _.merge(zendesk_field, req.body);
- updated.save()
- .then(function() {
- return res.status(200).send(zendesk_field);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a zendesk_field from the DB.
-exports.destroy = function(req, res) {
- ZendeskField
- .findById(req.params.id)
- .then(function(zendesk_field) {
- if (!zendesk_field) {
- return res.sendStatus(404);
- }
- zendesk_field.destroy()
- .then(function() {
- return res.sendStatus(204);
- })
- .catch(function(err) {
- return handleError(res, err);
- });
- })
- .catch(function(err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xd5ba=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79"];_0xd5ba[0];var _=require(_0xd5ba[1]);var ZendeskField=require(_0xd5ba[3])[_0xd5ba[2]];exports[_0xd5ba[4]]= function(_0x5415x3,_0x5415x4){ZendeskField[_0xd5ba[9]]()[_0xd5ba[8]](function(_0x5415x6){return _0x5415x4[_0xd5ba[7]](200)[_0xd5ba[6]](_0x5415x6)})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})};exports[_0xd5ba[10]]= function(_0x5415x3,_0x5415x4){ZendeskField[_0xd5ba[14]](_0x5415x3[_0xd5ba[13]][_0xd5ba[12]])[_0xd5ba[8]](function(_0x5415x7){if(!_0x5415x7){return _0x5415x4[_0xd5ba[11]](404)};return _0x5415x4[_0xd5ba[6]](_0x5415x7)})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})};exports[_0xd5ba[15]]= function(_0x5415x3,_0x5415x4){ZendeskField[_0xd5ba[15]](_0x5415x3[_0xd5ba[16]])[_0xd5ba[8]](function(_0x5415x7){return _0x5415x4[_0xd5ba[7]](201)[_0xd5ba[6]](_0x5415x7)})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})};exports[_0xd5ba[17]]= function(_0x5415x3,_0x5415x4){if(_0x5415x3[_0xd5ba[16]][_0xd5ba[12]]){delete _0x5415x3[_0xd5ba[16]][_0xd5ba[12]]};ZendeskField[_0xd5ba[14]](_0x5415x3[_0xd5ba[13]][_0xd5ba[12]])[_0xd5ba[8]](function(_0x5415x7){if(!_0x5415x7){return _0x5415x4[_0xd5ba[11]](404)};var _0x5415x8=_[_0xd5ba[18]](_0x5415x7,_0x5415x3[_0xd5ba[16]]);_0x5415x8[_0xd5ba[19]]()[_0xd5ba[8]](function(){return _0x5415x4[_0xd5ba[7]](200)[_0xd5ba[6]](_0x5415x7)})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})};exports[_0xd5ba[20]]= function(_0x5415x3,_0x5415x4){ZendeskField[_0xd5ba[14]](_0x5415x3[_0xd5ba[13]][_0xd5ba[12]])[_0xd5ba[8]](function(_0x5415x7){if(!_0x5415x7){return _0x5415x4[_0xd5ba[11]](404)};_0x5415x7[_0xd5ba[20]]()[_0xd5ba[8]](function(){return _0x5415x4[_0xd5ba[11]](204)})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})})[_0xd5ba[5]](function(_0x5415x5){return handleError(_0x5415x4,_0x5415x5)})};function handleError(_0x5415x4,_0x5415x5){return _0x5415x4[_0xd5ba[7]](500)[_0xd5ba[6]](_0x5415x5)}
\ No newline at end of file
-/**
- * Thing model events
- */
-
-'use strict';
-
-const EventEmitter = require('events');
-const ZendeskField = require('../../models').ZendeskField;
-
-var ZendeskFieldEvents = new EventEmitter();
-
-// Set max event listeners (0 == unlimited)
-ZendeskFieldEvents.setMaxListeners(0);
-
-// Model events
-var events = {
- 'afterCreate': 'save',
- 'afterUpdate': 'save',
- 'afterDestroy': 'remove'
-};
-
-// Register the event emitter to the model events
-for (var e in events) {
- var event = events[e];
- ZendeskField.hook(e, emitEvent(event));
-}
-
-function emitEvent(event) {
- return function(doc, options, done) {
- ZendeskFieldEvents.emit(event + ':' + doc._id, doc);
- ZendeskFieldEvents.emit(event, doc);
- done(null);
- }
-}
-
-module.exports = ZendeskFieldEvents;
+var _0xe1e1=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x76\x65\x6E\x74\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x46\x69\x65\x6C\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x68\x6F\x6F\x6B","\x3A","\x5F\x69\x64","\x65\x6D\x69\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xe1e1[0];const EventEmitter=require(_0xe1e1[1]);const ZendeskField=require(_0xe1e1[3])[_0xe1e1[2]];var ZendeskFieldEvents= new EventEmitter();ZendeskFieldEvents[_0xe1e1[4]](0);var events={"\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65":_0xe1e1[5],"\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65":_0xe1e1[5],"\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79":_0xe1e1[6]};for(var e in events){var event=events[e];ZendeskField[_0xe1e1[7]](e,emitEvent(event))};function emitEvent(event){return function(_0x7b62x8,_0x7b62x9,_0x7b62xa){ZendeskFieldEvents[_0xe1e1[10]](event+ _0xe1e1[8]+ _0x7b62x8[_0xe1e1[9]],_0x7b62x8);ZendeskFieldEvents[_0xe1e1[10]](event,_0x7b62x8);_0x7b62xa(null)}}module[_0xe1e1[11]]= ZendeskFieldEvents
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-const ZendeskFieldEvents = require('./zendesk_field.events');
-
-// Model events to emit
-var events = ['save', 'remove'];
-
-exports.register = function(socket) {
- for (var i = 0, eventsLength = events.length; i < eventsLength; i++) {
- var event = events[i];
- var listener = createListener('zendesk_field:' + event, socket);
-
- ZendeskFieldEvents.on(event, listener);
- socket.on('disconnect', removeListener(event, listener));
- }
-}
-
-function createListener(event, socket) {
- return function(doc) {
- socket.emit(event, doc);
- };
-}
-
-function removeListener(event, listener) {
- return function() {
- ZendeskFieldEvents.removeListener(event, listener);
- };
-}
+var _0x5b30=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x65\x76\x65\x6E\x74\x73","\x73\x61\x76\x65","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x67\x69\x73\x74\x65\x72","\x6C\x65\x6E\x67\x74\x68","\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x3A","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x65\x6D\x69\x74","\x72\x65\x6D\x6F\x76\x65\x4C\x69\x73\x74\x65\x6E\x65\x72"];_0x5b30[0];const ZendeskFieldEvents=require(_0x5b30[1]);var events=[_0x5b30[2],_0x5b30[3]];exports[_0x5b30[4]]= function(_0xdedex3){for(var _0xdedex4=0,_0xdedex5=events[_0x5b30[5]];_0xdedex4< _0xdedex5;_0xdedex4++){var _0xdedex6=events[_0xdedex4];var _0xdedex7=createListener(_0x5b30[6]+ _0xdedex6,_0xdedex3);ZendeskFieldEvents[_0x5b30[7]](_0xdedex6,_0xdedex7);_0xdedex3[_0x5b30[7]](_0x5b30[8],removeListener(_0xdedex6,_0xdedex7))}};function createListener(_0xdedex6,_0xdedex3){return function(_0xdedex9){_0xdedex3[_0x5b30[9]](_0xdedex6,_0xdedex9)}}function removeListener(_0xdedex6,_0xdedex7){return function(){ZendeskFieldEvents[_0x5b30[10]](_0xdedex6,_0xdedex7)}}
\ No newline at end of file
-'use strict';
-
-/**
- * Main application file
- */
-
-// Set default node environment to development
-process.env.NODE_ENV = process.env.NODE_ENV || 'development';
-process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;
-
-process.on('uncaughtException', function(err) {
- if (typeof err === 'object') {
- if (err.message) {
- console.log('\nMessage: ' + err.message)
- }
- if (err.stack) {
- console.log('\nStacktrace:')
- console.log('====================')
- console.log(err.stack);
- }
- } else {
- console.log('dumpError :: argument is not an object');
- }
-});
-
-var os = require('os');
-var http = require('http');
-var util = require('util');
-var crypto = require('crypto');
-var cronjob = require('cron').CronJob;
-var shelljs = require('shelljs/global');
-
-var express = require('express');
-var models = require('./models');
-var config = require('./config/environment');
-
-// Setup server
-var app = express();
-var server = require('http').createServer(app);
-
-var io = require('socket.io')(server, {
- serveClient: (config.env === 'production') ? false : true,
- path: '/socket.io-client'
-});
-var redis = require('socket.io-redis');
-io.adapter(redis({
- host: config.ip,
- port: 6379
-}));
-
-var ami = require('asterisk-manager')(config.asterisk.port,
- config.asterisk.host,
- config.asterisk.username,
- config.asterisk.password,
- true);
-
-ami.keepConnected();
-
-require('./config/express')(app);
-require('./routes')(app, ami);
-
-models
- .sequelize
- .sync()
- .then(function() {
-
- // Populate DB Develop with sample data
-
- if (config.seedDB) {
- require('./config/seed');
- }
- // Populate DB Production with sample data
- if (config.seedPDB) {
- require('./config/seedp');
- }
-
- // Start Cally Square Projects
- require('./config/socketio')(io, require('./services/dashboard')(io));
- require('./config/automations/mail')();
- require('./config/automations/fax')();
- require('./config/automations/chat')();
- require('./config/triggers')(ami);
- require('./config/scheduler')();
- require('./config/imap')();
- require('./config/smtp')()
- require('./config/sms')();
- require('./config/chat')();
- require('./config/openchannel')();
- require('./config/tools')();
- require('./config/ami')(ami);
- require('./config/agi')();
- require('./config/license')();
-
- // Start server
- server.listen(config.port, config.ip, function() {
- console.log('Express server listening on %d, in %s mode', config.port, app.get('env'));
- });
- })
- .then(function() {
- // Connect to database history
- return models
- .sequelize_history
- .sync();
- })
- .then(function() {
- require('./config/history/history')(cronjob);
- })
- .catch(function(err) {
- console.error(err);
- });
-
-// Expose app
-exports = module.exports = app;
+var _0x2bbf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4E\x4F\x44\x45\x5F\x45\x4E\x56","\x65\x6E\x76","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x4E\x4F\x44\x45\x5F\x54\x4C\x53\x5F\x52\x45\x4A\x45\x43\x54\x5F\x55\x4E\x41\x55\x54\x48\x4F\x52\x49\x5A\x45\x44","\x75\x6E\x63\x61\x75\x67\x68\x74\x45\x78\x63\x65\x70\x74\x69\x6F\x6E","\x6F\x62\x6A\x65\x63\x74","\x6D\x65\x73\x73\x61\x67\x65","\x0A\x4D\x65\x73\x73\x61\x67\x65\x3A\x20","\x6C\x6F\x67","\x73\x74\x61\x63\x6B","\x0A\x53\x74\x61\x63\x6B\x74\x72\x61\x63\x65\x3A","\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x64\x75\x6D\x70\x45\x72\x72\x6F\x72\x20\x3A\x3A\x20\x61\x72\x67\x75\x6D\x65\x6E\x74\x20\x69\x73\x20\x6E\x6F\x74\x20\x61\x6E\x20\x6F\x62\x6A\x65\x63\x74","\x6F\x6E","\x6F\x73","\x68\x74\x74\x70","\x75\x74\x69\x6C","\x63\x72\x79\x70\x74\x6F","\x43\x72\x6F\x6E\x4A\x6F\x62","\x63\x72\x6F\x6E","\x73\x68\x65\x6C\x6C\x6A\x73\x2F\x67\x6C\x6F\x62\x61\x6C","\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x63\x72\x65\x61\x74\x65\x53\x65\x72\x76\x65\x72","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x2F\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F\x2D\x63\x6C\x69\x65\x6E\x74","\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F","\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F\x2D\x72\x65\x64\x69\x73","\x69\x70","\x61\x64\x61\x70\x74\x65\x72","\x70\x6F\x72\x74","\x61\x73\x74\x65\x72\x69\x73\x6B","\x68\x6F\x73\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x61\x73\x74\x65\x72\x69\x73\x6B\x2D\x6D\x61\x6E\x61\x67\x65\x72","\x6B\x65\x65\x70\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x78\x70\x72\x65\x73\x73","\x2E\x2F\x72\x6F\x75\x74\x65\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x68\x69\x73\x74\x6F\x72\x79\x2F\x68\x69\x73\x74\x6F\x72\x79","\x74\x68\x65\x6E","\x73\x79\x6E\x63","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x73\x65\x65\x64\x44\x42","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x65\x65\x64","\x73\x65\x65\x64\x50\x44\x42","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x65\x65\x64\x70","\x2E\x2F\x73\x65\x72\x76\x69\x63\x65\x73\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6F\x63\x6B\x65\x74\x69\x6F","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x6D\x61\x69\x6C","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x66\x61\x78","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73\x2F\x63\x68\x61\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x69\x6D\x61\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6D\x74\x70","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x73\x6D\x73","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x63\x68\x61\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x74\x6F\x6F\x6C\x73","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x6D\x69","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x61\x67\x69","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65","\x45\x78\x70\x72\x65\x73\x73\x20\x73\x65\x72\x76\x65\x72\x20\x6C\x69\x73\x74\x65\x6E\x69\x6E\x67\x20\x6F\x6E\x20\x25\x64\x2C\x20\x69\x6E\x20\x25\x73\x20\x6D\x6F\x64\x65","\x67\x65\x74","\x6C\x69\x73\x74\x65\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x2bbf[0];process[_0x2bbf[2]][_0x2bbf[1]]= process[_0x2bbf[2]][_0x2bbf[1]]|| _0x2bbf[3];process[_0x2bbf[2]][_0x2bbf[4]]= 0;process[_0x2bbf[14]](_0x2bbf[5],function(_0x42bex1){if( typeof _0x42bex1=== _0x2bbf[6]){if(_0x42bex1[_0x2bbf[7]]){console[_0x2bbf[9]](_0x2bbf[8]+ _0x42bex1[_0x2bbf[7]])};if(_0x42bex1[_0x2bbf[10]]){console[_0x2bbf[9]](_0x2bbf[11]);console[_0x2bbf[9]](_0x2bbf[12]);console[_0x2bbf[9]](_0x42bex1[_0x2bbf[10]])}}else {console[_0x2bbf[9]](_0x2bbf[13])}});var os=require(_0x2bbf[15]);var http=require(_0x2bbf[16]);var util=require(_0x2bbf[17]);var crypto=require(_0x2bbf[18]);var cronjob=require(_0x2bbf[20])[_0x2bbf[19]];var shelljs=require(_0x2bbf[21]);var express=require(_0x2bbf[22]);var models=require(_0x2bbf[23]);var config=require(_0x2bbf[24]);var app=express();var server=require(_0x2bbf[16])[_0x2bbf[25]](app);var io=require(_0x2bbf[28])(server,{serveClient:(config[_0x2bbf[2]]=== _0x2bbf[26])?false:true,path:_0x2bbf[27]});var redis=require(_0x2bbf[29]);io[_0x2bbf[31]](redis({host:config[_0x2bbf[30]],port:6379}));var ami=require(_0x2bbf[37])(config[_0x2bbf[33]][_0x2bbf[32]],config[_0x2bbf[33]][_0x2bbf[34]],config[_0x2bbf[33]][_0x2bbf[35]],config[_0x2bbf[33]][_0x2bbf[36]],true);ami[_0x2bbf[38]]();require(_0x2bbf[39])(app);require(_0x2bbf[40])(app,ami);models[_0x2bbf[70]][_0x2bbf[45]]()[_0x2bbf[44]](function(){if(config[_0x2bbf[47]]){require(_0x2bbf[48])};if(config[_0x2bbf[49]]){require(_0x2bbf[50])};require(_0x2bbf[52])(io,require(_0x2bbf[51])(io));require(_0x2bbf[53])();require(_0x2bbf[54])();require(_0x2bbf[55])();require(_0x2bbf[56])(ami);require(_0x2bbf[57])();require(_0x2bbf[58])();require(_0x2bbf[59])();require(_0x2bbf[60])();require(_0x2bbf[61])();require(_0x2bbf[62])();require(_0x2bbf[63])();require(_0x2bbf[64])(ami);require(_0x2bbf[65])();require(_0x2bbf[66])();server[_0x2bbf[69]](config[_0x2bbf[32]],config[_0x2bbf[30]],function(){console[_0x2bbf[9]](_0x2bbf[67],config[_0x2bbf[32]],app[_0x2bbf[68]](_0x2bbf[2]))})})[_0x2bbf[44]](function(){return models[_0x2bbf[46]][_0x2bbf[45]]()})[_0x2bbf[44]](function(){require(_0x2bbf[43])(cronjob)})[_0x2bbf[42]](function(_0x42bex1){console[_0x2bbf[41]](_0x42bex1)});exports= module[_0x2bbf[71]]= app
\ No newline at end of file
-'use strict';
-
-//var mongoose = require('mongoose');
-var passport = require('passport');
-var config = require('../config/environment');
-var jwt = require('jsonwebtoken');
-var expressJwt = require('express-jwt');
-var compose = require('composable-middleware');
-// var User = require('../api/user/user.model');
-var User = require('../models').User;
-var List = require('../models').List;
-var validateJwt = expressJwt({
- secret: config.session.secret
-});
-var Promise = require('bluebird');
-var _ = require('lodash');
-
-/**
- * Attaches the user object to the request if authenticated
- * Otherwise returns 403
- */
-function isAuthenticated() {
- return compose()
- // Validate jwt
- .use(function(req, res, next) {
- // allow access_token to be passed through query parameter as well
- if (req.query && req.query.hasOwnProperty('access_token')) {
- req.headers.authorization = 'Bearer ' + req.query.access_token;
- }
- if (req.headers && req.headers.authorization && _.startsWith(req.headers.authorization, 'Basic')) {
- var arrAuth = _.split(req.headers.authorization, ' ');
- var authString = new Buffer(arrAuth[1], 'base64').toString("ascii");
- var username = _.split(authString, ':')[0];
- var pwd = _.split(authString, ':')[1];
- return User.findOne({
- where: {
- name: username
- }
- })
- .then(function(user) {
- if (!user || !user.authenticate(pwd)) {
- next(new Error('Wrong credentials.'));
- }
- req.user = {
- id: user.id
- };
- next();
- })
- } else {
- validateJwt(req, res, next);
- }
- })
- // Attach user to request
- .use(function(req, res, next) {
- User
- .findById(req.user.id, {
- include: [{
- model: List
- }]
- })
- .then(function(user) {
- if (!user) return res.sendStatus(401);
- req.user = user;
- return next();
- })
- .catch(function(err) {
- return next(err);
- });
- });
-}
-
-/**
- * Checks if the module meets the requirements
- */
-function hasModule(modules, roles) {
- return compose()
- .use(function(req, res, next) {
- return User
- .findById(req.user.id)
- .then(function(user) {
- var bulkModule = [];
- modules.forEach(function(element) {
- bulkModule.push(user.hasModule(element));
- });
- return Promise.all(bulkModule);
- })
- .then(function(hasModuleArr) {
- var hasModule = (_.reduce(hasModuleArr, function(total, n) {
- return total || n;
- }));
- if (_.includes(roles, req.user.role) || hasModule) {
- return next();
- } else {
- res.sendStatus(403);
- }
- })
- .catch(function(err) {
- return next(err);
- });
- });
-}
-
-/**
- * Checks if the user role meets the minimum requirements of the route
- */
-function hasRole(roleRequired) {
- if (!roleRequired) throw new Error('Required role needs to be set');
-
- return compose()
- .use(isAuthenticated())
- .use(function meetsRequirements(req, res, next) {
- if (config.userRoles.indexOf(req.user.role) >= config.userRoles.indexOf(roleRequired)) {
- return next();
- } else {
- return res.sendStatus(403);
- }
- });
-}
-
-/**
- * Returns a jwt token signed by the app secret
- */
-function signToken(id, role, remember) {
- var expiresIn = 60 * 24 * 365 * 5; //If remember, it expires in 5 years
- if (!remember)
- expiresIn = "1d"; //Expire in one day
- return jwt.sign({
- id: id
- }, config.session.secret, {
- expiresIn: expiresIn
- });
-}
-
-/**
- * Set token cookie directly for oAuth strategies
- */
-function setTokenCookie(req, res) {
- if (!req.user) return res.json(404, {
- message: 'Something went wrong, please try again.'
- });
- var token = signToken(req.user.id, req.user.role);
- res.cookie('token', JSON.stringify(token));
- res.redirect('/');
-}
-
-exports.isAuthenticated = isAuthenticated;
-exports.hasRole = hasRole;
-exports.hasModule = hasModule;
-exports.signToken = signToken;
-exports.setTokenCookie = setTokenCookie;
+var _0x1ece=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x65\x78\x70\x72\x65\x73\x73\x2D\x6A\x77\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4C\x69\x73\x74","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6C\x6F\x64\x61\x73\x68","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x73\x65\x72","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65","\x71\x75\x65\x72\x79","\x61\x63\x63\x65\x73\x73\x5F\x74\x6F\x6B\x65\x6E","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x73","\x42\x65\x61\x72\x65\x72\x20","\x42\x61\x73\x69\x63","\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68","\x20","\x73\x70\x6C\x69\x74","\x61\x73\x63\x69\x69","\x62\x61\x73\x65\x36\x34","\x3A","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x57\x72\x6F\x6E\x67\x20\x63\x72\x65\x64\x65\x6E\x74\x69\x61\x6C\x73\x2E","\x66\x69\x6E\x64\x4F\x6E\x65","\x72\x65\x64\x75\x63\x65","\x72\x6F\x6C\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x52\x65\x71\x75\x69\x72\x65\x64\x20\x72\x6F\x6C\x65\x20\x6E\x65\x65\x64\x73\x20\x74\x6F\x20\x62\x65\x20\x73\x65\x74","\x69\x6E\x64\x65\x78\x4F\x66","\x75\x73\x65\x72\x52\x6F\x6C\x65\x73","\x31\x64","\x73\x69\x67\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x6A\x73\x6F\x6E","\x74\x6F\x6B\x65\x6E","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x63\x6F\x6F\x6B\x69\x65","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65"];_0x1ece[0];var passport=require(_0x1ece[1]);var config=require(_0x1ece[2]);var jwt=require(_0x1ece[3]);var expressJwt=require(_0x1ece[4]);var compose=require(_0x1ece[5]);var User=require(_0x1ece[7])[_0x1ece[6]];var List=require(_0x1ece[7])[_0x1ece[8]];var validateJwt=expressJwt({secret:config[_0x1ece[10]][_0x1ece[9]]});var Promise=require(_0x1ece[11]);var _=require(_0x1ece[12]);function isAuthenticated(){return compose()[_0x1ece[19]](function(_0xe2d1xc,_0xe2d1xd,_0xe2d1xe){if(_0xe2d1xc[_0x1ece[20]]&& _0xe2d1xc[_0x1ece[20]][_0x1ece[22]](_0x1ece[21])){_0xe2d1xc[_0x1ece[24]][_0x1ece[23]]= _0x1ece[25]+ _0xe2d1xc[_0x1ece[20]][_0x1ece[21]]};if(_0xe2d1xc[_0x1ece[24]]&& _0xe2d1xc[_0x1ece[24]][_0x1ece[23]]&& _[_0x1ece[27]](_0xe2d1xc[_0x1ece[24]][_0x1ece[23]],_0x1ece[26])){var _0xe2d1x11=_[_0x1ece[29]](_0xe2d1xc[_0x1ece[24]][_0x1ece[23]],_0x1ece[28]);var _0xe2d1x12= new Buffer(_0xe2d1x11[1],_0x1ece[31]).toString(_0x1ece[30]);var _0xe2d1x13=_[_0x1ece[29]](_0xe2d1x12,_0x1ece[32])[0];var _0xe2d1x14=_[_0x1ece[29]](_0xe2d1x12,_0x1ece[32])[1];return User[_0x1ece[35]]({where:{name:_0xe2d1x13}})[_0x1ece[16]](function(_0xe2d1x10){if(!_0xe2d1x10|| !_0xe2d1x10[_0x1ece[33]](_0xe2d1x14)){_0xe2d1xe( new Error(_0x1ece[34]))};_0xe2d1xc[_0x1ece[15]]= {id:_0xe2d1x10[_0x1ece[17]]};_0xe2d1xe()})}else {validateJwt(_0xe2d1xc,_0xe2d1xd,_0xe2d1xe)}})[_0x1ece[19]](function(_0xe2d1xc,_0xe2d1xd,_0xe2d1xe){User[_0x1ece[18]](_0xe2d1xc[_0x1ece[15]][_0x1ece[17]],{include:[{model:List}]})[_0x1ece[16]](function(_0xe2d1x10){if(!_0xe2d1x10){return _0xe2d1xd[_0x1ece[14]](401)};_0xe2d1xc[_0x1ece[15]]= _0xe2d1x10;return _0xe2d1xe()})[_0x1ece[13]](function(_0xe2d1xf){return _0xe2d1xe(_0xe2d1xf)})})}function hasModule(_0xe2d1x16,_0xe2d1x17){return compose()[_0x1ece[19]](function(_0xe2d1xc,_0xe2d1xd,_0xe2d1xe){return User[_0x1ece[18]](_0xe2d1xc[_0x1ece[15]][_0x1ece[17]])[_0x1ece[16]](function(_0xe2d1x10){var _0xe2d1x1b=[];_0xe2d1x16[_0x1ece[41]](function(_0xe2d1x1c){_0xe2d1x1b[_0x1ece[40]](_0xe2d1x10[_0x1ece[39]](_0xe2d1x1c))});return Promise[_0x1ece[42]](_0xe2d1x1b)})[_0x1ece[16]](function(_0xe2d1x18){var hasModule=(_[_0x1ece[36]](_0xe2d1x18,function(_0xe2d1x19,_0xe2d1x1a){return _0xe2d1x19|| _0xe2d1x1a}));if(_[_0x1ece[38]](_0xe2d1x17,_0xe2d1xc[_0x1ece[15]][_0x1ece[37]])|| hasModule){return _0xe2d1xe()}else {_0xe2d1xd[_0x1ece[14]](403)}})[_0x1ece[13]](function(_0xe2d1xf){return _0xe2d1xe(_0xe2d1xf)})})}function hasRole(_0xe2d1x1e){if(!_0xe2d1x1e){throw new Error(_0x1ece[43])};return compose()[_0x1ece[19]](isAuthenticated())[_0x1ece[19]](function _0xe2d1x1f(_0xe2d1xc,_0xe2d1xd,_0xe2d1xe){if(config[_0x1ece[45]][_0x1ece[44]](_0xe2d1xc[_0x1ece[15]][_0x1ece[37]])>= config[_0x1ece[45]][_0x1ece[44]](_0xe2d1x1e)){return _0xe2d1xe()}else {return _0xe2d1xd[_0x1ece[14]](403)}})}function signToken(_0xe2d1x21,_0xe2d1x22,_0xe2d1x23){var _0xe2d1x24=60* 24* 365* 5;if(!_0xe2d1x23){_0xe2d1x24= _0x1ece[46]};return jwt[_0x1ece[47]]({id:_0xe2d1x21},config[_0x1ece[10]][_0x1ece[9]],{expiresIn:_0xe2d1x24})}function setTokenCookie(_0xe2d1xc,_0xe2d1xd){if(!_0xe2d1xc[_0x1ece[15]]){return _0xe2d1xd[_0x1ece[49]](404,{message:_0x1ece[48]})};var _0xe2d1x26=signToken(_0xe2d1xc[_0x1ece[15]][_0x1ece[17]],_0xe2d1xc[_0x1ece[15]][_0x1ece[37]]);_0xe2d1xd[_0x1ece[52]](_0x1ece[50],JSON[_0x1ece[51]](_0xe2d1x26));_0xe2d1xd[_0x1ece[54]](_0x1ece[53])}exports[_0x1ece[55]]= isAuthenticated;exports[_0x1ece[56]]= hasRole;exports[_0x1ece[39]]= hasModule;exports[_0x1ece[57]]= signToken;exports[_0x1ece[58]]= setTokenCookie
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var passport = require('passport');
-var auth = require('../auth.service');
-
-var router = express.Router();
-
-router
- .get('/', passport.authenticate('facebook', {
- scope: ['email', 'user_about_me'],
- failureRedirect: '/signup',
- session: false
- }))
-
- .get('/callback', passport.authenticate('facebook', {
- failureRedirect: '/signup',
- session: false
- }), auth.setTokenCookie);
-
-module.exports = router;
\ No newline at end of file
+var _0xe4f7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x65\x6D\x61\x69\x6C","\x75\x73\x65\x72\x5F\x61\x62\x6F\x75\x74\x5F\x6D\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xe4f7[0];var express=require(_0xe4f7[1]);var passport=require(_0xe4f7[2]);var auth=require(_0xe4f7[3]);var router=express.Router();router[_0xe4f7[9]](_0xe4f7[10],passport[_0xe4f7[7]](_0xe4f7[5],{scope:[_0xe4f7[11],_0xe4f7[12]],failureRedirect:_0xe4f7[6],session:false}))[_0xe4f7[9]](_0xe4f7[4],passport[_0xe4f7[7]](_0xe4f7[5],{failureRedirect:_0xe4f7[6],session:false}),auth[_0xe4f7[8]]);module[_0xe4f7[13]]= router
\ No newline at end of file
-var passport = require('passport');
-var FacebookStrategy = require('passport-facebook').Strategy;
-
-exports.setup = function (User, config) {
- passport.use(new FacebookStrategy({
- clientID: config.facebook.clientID,
- clientSecret: config.facebook.clientSecret,
- callbackURL: config.facebook.callbackURL
- },
- function(accessToken, refreshToken, profile, done) {
- User.findOne({
- 'facebook.id': profile.id
- },
- function(err, user) {
- if (err) {
- return done(err);
- }
- if (!user) {
- user = new User({
- name: profile.displayName,
- email: profile.emails[0].value,
- role: 'user',
- username: profile.username,
- provider: 'facebook',
- facebook: profile._json
- });
- user.save(function(err) {
- if (err) done(err);
- return done(err, user);
- });
- } else {
- return done(err, user);
- }
- })
- }
- ));
-};
\ No newline at end of file
+var _0x281e=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x73\x65\x74\x75\x70","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x65\x6D\x61\x69\x6C\x73","\x75\x73\x65\x72","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x281e[0]);var FacebookStrategy=require(_0x281e[2])[_0x281e[1]];exports[_0x281e[3]]= function(_0x76b9x3,_0x76b9x4){passport[_0x281e[17]]( new FacebookStrategy({clientID:_0x76b9x4[_0x281e[5]][_0x281e[4]],clientSecret:_0x76b9x4[_0x281e[5]][_0x281e[6]],callbackURL:_0x76b9x4[_0x281e[5]][_0x281e[7]]},function(_0x76b9x5,_0x76b9x6,_0x76b9x7,_0x76b9x8){_0x76b9x3[_0x281e[16]]({"\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2E\x69\x64":_0x76b9x7[_0x281e[8]]},function(_0x76b9x9,_0x76b9xa){if(_0x76b9x9){return _0x76b9x8(_0x76b9x9)};if(!_0x76b9xa){_0x76b9xa= new _0x76b9x3({name:_0x76b9x7[_0x281e[9]],email:_0x76b9x7[_0x281e[11]][0][_0x281e[10]],role:_0x281e[12],username:_0x76b9x7[_0x281e[13]],provider:_0x281e[5],facebook:_0x76b9x7[_0x281e[14]]});_0x76b9xa[_0x281e[15]](function(_0x76b9x9){if(_0x76b9x9){_0x76b9x8(_0x76b9x9)};return _0x76b9x8(_0x76b9x9,_0x76b9xa)})}else {return _0x76b9x8(_0x76b9x9,_0x76b9xa)}})}))}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var passport = require('passport');
-var auth = require('../auth.service');
-
-var router = express.Router();
-
-router
- .get('/', passport.authenticate('google', {
- failureRedirect: '/signup',
- scope: [
- 'https://www.googleapis.com/auth/userinfo.profile',
- 'https://www.googleapis.com/auth/userinfo.email'
- ],
- session: false
- }))
-
- .get('/callback', passport.authenticate('google', {
- failureRedirect: '/signup',
- session: false
- }), auth.setTokenCookie);
-
-module.exports = router;
\ No newline at end of file
+var _0x78fd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x67\x6F\x6F\x67\x6C\x65","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x70\x69\x73\x2E\x63\x6F\x6D\x2F\x61\x75\x74\x68\x2F\x75\x73\x65\x72\x69\x6E\x66\x6F\x2E\x70\x72\x6F\x66\x69\x6C\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x61\x70\x69\x73\x2E\x63\x6F\x6D\x2F\x61\x75\x74\x68\x2F\x75\x73\x65\x72\x69\x6E\x66\x6F\x2E\x65\x6D\x61\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0x78fd[0];var express=require(_0x78fd[1]);var passport=require(_0x78fd[2]);var auth=require(_0x78fd[3]);var router=express.Router();router[_0x78fd[9]](_0x78fd[10],passport[_0x78fd[7]](_0x78fd[5],{failureRedirect:_0x78fd[6],scope:[_0x78fd[11],_0x78fd[12]],session:false}))[_0x78fd[9]](_0x78fd[4],passport[_0x78fd[7]](_0x78fd[5],{failureRedirect:_0x78fd[6],session:false}),auth[_0x78fd[8]]);module[_0x78fd[13]]= router
\ No newline at end of file
-var passport = require('passport');
-var GoogleStrategy = require('passport-google-oauth').OAuth2Strategy;
-
-exports.setup = function (User, config) {
- passport.use(new GoogleStrategy({
- clientID: config.google.clientID,
- clientSecret: config.google.clientSecret,
- callbackURL: config.google.callbackURL
- },
- function(accessToken, refreshToken, profile, done) {
- User.findOne({
- 'google.id': profile.id
- }, function(err, user) {
- if (!user) {
- user = new User({
- name: profile.displayName,
- email: profile.emails[0].value,
- role: 'user',
- username: profile.username,
- provider: 'google',
- google: profile._json
- });
- user.save(function(err) {
- if (err) done(err);
- return done(err, user);
- });
- } else {
- return done(err, user);
- }
- });
- }
- ));
-};
+var _0x5b95=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x4F\x41\x75\x74\x68\x32\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x67\x6F\x6F\x67\x6C\x65\x2D\x6F\x61\x75\x74\x68","\x73\x65\x74\x75\x70","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x67\x6F\x6F\x67\x6C\x65","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x76\x61\x6C\x75\x65","\x65\x6D\x61\x69\x6C\x73","\x75\x73\x65\x72","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x5b95[0]);var GoogleStrategy=require(_0x5b95[2])[_0x5b95[1]];exports[_0x5b95[3]]= function(_0x176fx3,_0x176fx4){passport[_0x5b95[17]]( new GoogleStrategy({clientID:_0x176fx4[_0x5b95[5]][_0x5b95[4]],clientSecret:_0x176fx4[_0x5b95[5]][_0x5b95[6]],callbackURL:_0x176fx4[_0x5b95[5]][_0x5b95[7]]},function(_0x176fx5,_0x176fx6,_0x176fx7,_0x176fx8){_0x176fx3[_0x5b95[16]]({"\x67\x6F\x6F\x67\x6C\x65\x2E\x69\x64":_0x176fx7[_0x5b95[8]]},function(_0x176fx9,_0x176fxa){if(!_0x176fxa){_0x176fxa= new _0x176fx3({name:_0x176fx7[_0x5b95[9]],email:_0x176fx7[_0x5b95[11]][0][_0x5b95[10]],role:_0x5b95[12],username:_0x176fx7[_0x5b95[13]],provider:_0x5b95[5],google:_0x176fx7[_0x5b95[14]]});_0x176fxa[_0x5b95[15]](function(_0x176fx9){if(_0x176fx9){_0x176fx8(_0x176fx9)};return _0x176fx8(_0x176fx9,_0x176fxa)})}else {return _0x176fx8(_0x176fx9,_0x176fxa)}})}))}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var passport = require('passport');
-var config = require('../config/environment');
-var User = require('../models').User;
-
-
-// Passport Configuration
-require('./local/passport').setup(User, config);
-require('./facebook/passport').setup(User, config);
-require('./google/passport').setup(User, config);
-require('./twitter/passport').setup(User, config);
-
-var router = express.Router();
-
-router.use('/local', require('./local'));
-router.use('/facebook', require('./facebook'));
-router.use('/twitter', require('./twitter'));
-router.use('/google', require('./google'));
-
-module.exports = router;
+var _0x29ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x74\x75\x70","\x2E\x2F\x6C\x6F\x63\x61\x6C\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x67\x6F\x6F\x67\x6C\x65\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2F\x74\x77\x69\x74\x74\x65\x72\x2F\x70\x61\x73\x73\x70\x6F\x72\x74","\x2F\x6C\x6F\x63\x61\x6C","\x2E\x2F\x6C\x6F\x63\x61\x6C","\x75\x73\x65","\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2E\x2F\x66\x61\x63\x65\x62\x6F\x6F\x6B","\x2F\x74\x77\x69\x74\x74\x65\x72","\x2E\x2F\x74\x77\x69\x74\x74\x65\x72","\x2F\x67\x6F\x6F\x67\x6C\x65","\x2E\x2F\x67\x6F\x6F\x67\x6C\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x29ef[0];var express=require(_0x29ef[1]);var passport=require(_0x29ef[2]);var config=require(_0x29ef[3]);var User=require(_0x29ef[5])[_0x29ef[4]];require(_0x29ef[7])[_0x29ef[6]](User,config);require(_0x29ef[8])[_0x29ef[6]](User,config);require(_0x29ef[9])[_0x29ef[6]](User,config);require(_0x29ef[10])[_0x29ef[6]](User,config);var router=express.Router();router[_0x29ef[13]](_0x29ef[11],require(_0x29ef[12]));router[_0x29ef[13]](_0x29ef[14],require(_0x29ef[15]));router[_0x29ef[13]](_0x29ef[16],require(_0x29ef[17]));router[_0x29ef[13]](_0x29ef[18],require(_0x29ef[19]));module[_0x29ef[20]]= router
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var passport = require('passport');
-var async = require('async');
-var Promise = require('bluebird');
-var nodemailer = require('nodemailer');
-var smtpTransport = require('nodemailer-smtp-transport');
-var crypto = require('crypto');
-var moment = require('moment');
-
-var auth = require('../auth.service');
-var User = require('../../models').User;
-var Action = require('../../models').Action;
-var ReportMember = require('../../models').ReportMember;
-var MailServerOut = require('../../models').MailServerOut;
-var license = require('../../config/license/license.service');
-
-var channels = ['voice', 'chat', 'mail', 'fax'];
-var router = express.Router();
-
-router.post('/', function(req, res, next) {
- passport.authenticate('local-login', function(err, user, info) {
- if (err) return res.status(401).json({
- message: err.message
- });
- if (!user) return res.status(404).json(info || {
- message: 'Something went wrong, please try again.'
- });
- return Promise
- .all([])
- .then(function() {
- if (req.body.hasOwnProperty('queueLogin') && req.body.queueLogin === false) {
- return;
- }
- return Action
- .create({
- name: 'login',
- data1: user.id,
- data2: user.name,
- UserId: user.id
- });
- })
- .then(function() {
- return res.json({
- role: user.role,
- token: auth.signToken(user.id, user.role, req.body.remember || false),
- userId: user.id
- });
- })
- .catch(function(err) {
- return next(err);
- });
-
- })(req, res, next)
-});
-
-router.post('/recover', function(req, res, next) {
- var _token, _user, _server;
- return User
- .findOne({
- where: {
- email: req.body.email
- }
- })
- .then(function(user) {
- if (!user) {
- throw new Error('Email not found in database!');
- }
- _user = user;
- return MailServerOut
- .findOne({
- where: {
- service: true
- }
- });
- })
- .then(function(mailServer) {
- if (!mailServer) {
- throw new Error('No SMTP service configured');
- }
- _server = mailServer;
- return Promise
- .promisify(crypto.randomBytes)(20);
- })
- .then(function(buffer) {
- _token = buffer.toString('hex');
- _user.resetPasswordToken = _token;
- _user.resetPasswordExpires = moment().add(1, 'hour');
- return _user.save();
- })
- .then(function() {
- var smtp = nodemailer.createTransport(smtpTransport({
- host: _server.host,
- port: _server.port,
- secure: _server.ssl,
- pool: true,
- auth: {
- user: _server.username,
- pass: _server.password
- }
- }));
- var mailOptions = {
- to: _user.email,
- from: _server.host,
- subject: 'xCALLY Motion Password Reset',
- text: 'You are receiving this because you (or someone else) have requested the reset of the password for your account.\n\n' +
- 'Please click on the following link, or paste this into your browser to complete the process:\n\n' +
- 'http://' + req.headers.host + '/reset/' + _token + '\n\n' +
- 'The link will be valid for the next 60 minutes.' +
- 'If you did not request this, please ignore this email and your password will remain unchanged.\n'
- };
- return smtp
- .sendMail(mailOptions);
- })
- .then(function(info) {
- res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err)
- });
-});
-
-router.post('/reset/:token', function(req, res, next) {
- var _user, _server;
- return User
- .findOne({
- where: {
- resetPasswordToken: req.params.token,
- resetPasswordExpires: {
- $gt: moment()
- }
- },
- })
- .then(function(user) {
- if (!user) {
- throw new Error('Password reset token is invalid or has expired');
- }
- var newPass = String(req.body.password);
- if (!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/.test(newPass))) {
- throw new Error('Wrong password format!');
- }
- user.password = newPass;
- user.resetPasswordToken = null;
- user.resetPasswordExpires = null;
- return user.save();
- })
- .then(function(user) {
- _user = user;
- return MailServerOut
- .findOne({
- where: {
- service: true
- }
- });
- })
- .then(function(mailServer) {
- if (!mailServer) {
- throw new Error('No SMTP service configured');
- }
- var smtp = nodemailer.createTransport(smtpTransport({
- host: mailServer.host,
- port: mailServer.port,
- secure: mailServer.ssl,
- pool: true,
- auth: {
- user: mailServer.username,
- pass: mailServer.password
- }
- }));
- var mailOptions = {
- to: _user.email,
- from: mailServer.host,
- subject: 'Your password has been changed',
- text: 'Hello,\n\n' +
- 'This is a confirmation that the password for your account ' + _user.email + ' has just been changed.\n'
- };
- return smtp
- .sendMail(mailOptions);
- })
- .then(function(info) {
- res.sendStatus(200);
- })
- .catch(function(err) {
- return handleError(res, err)
- });
-});
-
-router
- .get('/logout', auth.isAuthenticated(), function(req, res, next) {
- return Action
- .create({
- name: 'logout',
- data1: req.user.id,
- data2: req.user.name,
- UserId: req.user.id
- })
- .then(function() {
- req.logout();
- res.redirect('/');
- })
- .catch(function(err) {
- return next(err);
- });
- });
-
-function handleError(res, err) {
- return res.status(500).send({
- message: err.message
- });
-}
-
-module.exports = router;
+var _0x2e76=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x61\x73\x79\x6E\x63","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72\x2D\x73\x6D\x74\x70\x2D\x74\x72\x61\x6E\x73\x70\x6F\x72\x74","\x63\x72\x79\x70\x74\x6F","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x63\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x76\x6F\x69\x63\x65","\x63\x68\x61\x74","\x6D\x61\x69\x6C","\x66\x61\x78","\x2F","\x6C\x6F\x63\x61\x6C\x2D\x6C\x6F\x67\x69\x6E","\x6D\x65\x73\x73\x61\x67\x65","\x6A\x73\x6F\x6E","\x73\x74\x61\x74\x75\x73","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x63\x61\x74\x63\x68","\x72\x6F\x6C\x65","\x69\x64","\x72\x65\x6D\x65\x6D\x62\x65\x72","\x62\x6F\x64\x79","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x74\x68\x65\x6E","\x71\x75\x65\x75\x65\x4C\x6F\x67\x69\x6E","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x6C\x6F\x67\x69\x6E","\x6E\x61\x6D\x65","\x63\x72\x65\x61\x74\x65","\x61\x6C\x6C","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x6F\x73\x74","\x2F\x72\x65\x63\x6F\x76\x65\x72","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x72\x65\x61\x74\x65\x54\x72\x61\x6E\x73\x70\x6F\x72\x74","\x65\x6D\x61\x69\x6C","\x78\x43\x41\x4C\x4C\x59\x20\x4D\x6F\x74\x69\x6F\x6E\x20\x50\x61\x73\x73\x77\x6F\x72\x64\x20\x52\x65\x73\x65\x74","\x59\x6F\x75\x20\x61\x72\x65\x20\x72\x65\x63\x65\x69\x76\x69\x6E\x67\x20\x74\x68\x69\x73\x20\x62\x65\x63\x61\x75\x73\x65\x20\x79\x6F\x75\x20\x28\x6F\x72\x20\x73\x6F\x6D\x65\x6F\x6E\x65\x20\x65\x6C\x73\x65\x29\x20\x68\x61\x76\x65\x20\x72\x65\x71\x75\x65\x73\x74\x65\x64\x20\x74\x68\x65\x20\x72\x65\x73\x65\x74\x20\x6F\x66\x20\x74\x68\x65\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x6F\x72\x20\x79\x6F\x75\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x2E\x0A\x0A","\x50\x6C\x65\x61\x73\x65\x20\x63\x6C\x69\x63\x6B\x20\x6F\x6E\x20\x74\x68\x65\x20\x66\x6F\x6C\x6C\x6F\x77\x69\x6E\x67\x20\x6C\x69\x6E\x6B\x2C\x20\x6F\x72\x20\x70\x61\x73\x74\x65\x20\x74\x68\x69\x73\x20\x69\x6E\x74\x6F\x20\x79\x6F\x75\x72\x20\x62\x72\x6F\x77\x73\x65\x72\x20\x74\x6F\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x74\x68\x65\x20\x70\x72\x6F\x63\x65\x73\x73\x3A\x0A\x0A","\x68\x74\x74\x70\x3A\x2F\x2F","\x68\x65\x61\x64\x65\x72\x73","\x2F\x72\x65\x73\x65\x74\x2F","\x0A\x0A","\x54\x68\x65\x20\x6C\x69\x6E\x6B\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x76\x61\x6C\x69\x64\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x6E\x65\x78\x74\x20\x36\x30\x20\x6D\x69\x6E\x75\x74\x65\x73\x2E","\x49\x66\x20\x79\x6F\x75\x20\x64\x69\x64\x20\x6E\x6F\x74\x20\x72\x65\x71\x75\x65\x73\x74\x20\x74\x68\x69\x73\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x69\x67\x6E\x6F\x72\x65\x20\x74\x68\x69\x73\x20\x65\x6D\x61\x69\x6C\x20\x61\x6E\x64\x20\x79\x6F\x75\x72\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x77\x69\x6C\x6C\x20\x72\x65\x6D\x61\x69\x6E\x20\x75\x6E\x63\x68\x61\x6E\x67\x65\x64\x2E\x0A","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x68\x65\x78","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64\x54\x6F\x6B\x65\x6E","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64\x45\x78\x70\x69\x72\x65\x73","\x68\x6F\x75\x72","\x61\x64\x64","\x73\x61\x76\x65","\x4E\x6F\x20\x53\x4D\x54\x50\x20\x73\x65\x72\x76\x69\x63\x65\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x64","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x45\x6D\x61\x69\x6C\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x20\x69\x6E\x20\x64\x61\x74\x61\x62\x61\x73\x65\x21","\x66\x69\x6E\x64\x4F\x6E\x65","\x2F\x72\x65\x73\x65\x74\x2F\x3A\x74\x6F\x6B\x65\x6E","\x59\x6F\x75\x72\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x63\x68\x61\x6E\x67\x65\x64","\x48\x65\x6C\x6C\x6F\x2C\x0A\x0A","\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20\x63\x6F\x6E\x66\x69\x72\x6D\x61\x74\x69\x6F\x6E\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x6F\x72\x20\x79\x6F\x75\x72\x20\x61\x63\x63\x6F\x75\x6E\x74\x20","\x20\x68\x61\x73\x20\x6A\x75\x73\x74\x20\x62\x65\x65\x6E\x20\x63\x68\x61\x6E\x67\x65\x64\x2E\x0A","\x50\x61\x73\x73\x77\x6F\x72\x64\x20\x72\x65\x73\x65\x74\x20\x74\x6F\x6B\x65\x6E\x20\x69\x73\x20\x69\x6E\x76\x61\x6C\x69\x64\x20\x6F\x72\x20\x68\x61\x73\x20\x65\x78\x70\x69\x72\x65\x64","\x74\x65\x73\x74","\x57\x72\x6F\x6E\x67\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x6F\x72\x6D\x61\x74\x21","\x74\x6F\x6B\x65\x6E","\x70\x61\x72\x61\x6D\x73","\x2F\x6C\x6F\x67\x6F\x75\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x6C\x6F\x67\x6F\x75\x74","\x72\x65\x64\x69\x72\x65\x63\x74","\x75\x73\x65\x72","\x67\x65\x74","\x73\x65\x6E\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0x2e76[0];var express=require(_0x2e76[1]);var passport=require(_0x2e76[2]);var async=require(_0x2e76[3]);var Promise=require(_0x2e76[4]);var nodemailer=require(_0x2e76[5]);var smtpTransport=require(_0x2e76[6]);var crypto=require(_0x2e76[7]);var moment=require(_0x2e76[8]);var auth=require(_0x2e76[9]);var User=require(_0x2e76[11])[_0x2e76[10]];var Action=require(_0x2e76[11])[_0x2e76[12]];var ReportMember=require(_0x2e76[11])[_0x2e76[13]];var MailServerOut=require(_0x2e76[11])[_0x2e76[14]];var license=require(_0x2e76[15]);var channels=[_0x2e76[16],_0x2e76[17],_0x2e76[18],_0x2e76[19]];var router=express.Router();router[_0x2e76[40]](_0x2e76[20],function(_0x22dex11,_0x22dex12,_0x22dex13){passport[_0x2e76[39]](_0x2e76[21],function(_0x22dex14,_0x22dex15,_0x22dex16){if(_0x22dex14){return _0x22dex12[_0x2e76[24]](401)[_0x2e76[23]]({message:_0x22dex14[_0x2e76[22]]})};if(!_0x22dex15){return _0x22dex12[_0x2e76[24]](404)[_0x2e76[23]](_0x22dex16|| {message:_0x2e76[25]})};return Promise[_0x2e76[38]]([])[_0x2e76[32]](function(){if(_0x22dex11[_0x2e76[30]][_0x2e76[34]](_0x2e76[33])&& _0x22dex11[_0x2e76[30]][_0x2e76[33]]=== false){return};return Action[_0x2e76[37]]({name:_0x2e76[35],data1:_0x22dex15[_0x2e76[28]],data2:_0x22dex15[_0x2e76[36]],UserId:_0x22dex15[_0x2e76[28]]})})[_0x2e76[32]](function(){return _0x22dex12[_0x2e76[23]]({role:_0x22dex15[_0x2e76[27]],token:auth[_0x2e76[31]](_0x22dex15[_0x2e76[28]],_0x22dex15[_0x2e76[27]],_0x22dex11[_0x2e76[30]][_0x2e76[29]]|| false),userId:_0x22dex15[_0x2e76[28]]})})[_0x2e76[26]](function(_0x22dex14){return _0x22dex13(_0x22dex14)})})(_0x22dex11,_0x22dex12,_0x22dex13)});router[_0x2e76[40]](_0x2e76[41],function(_0x22dex11,_0x22dex12,_0x22dex13){var _0x22dex17,_0x22dex18,_0x22dex19;return User[_0x2e76[70]]({where:{email:_0x22dex11[_0x2e76[30]][_0x2e76[49]]}})[_0x2e76[32]](function(_0x22dex15){if(!_0x22dex15){throw new Error(_0x2e76[69])};_0x22dex18= _0x22dex15;return MailServerOut[_0x2e76[70]]({where:{service:true}})})[_0x2e76[32]](function(_0x22dex1d){if(!_0x22dex1d){throw new Error(_0x2e76[66])};_0x22dex19= _0x22dex1d;return Promise[_0x2e76[68]](crypto[_0x2e76[67]])(20)})[_0x2e76[32]](function(_0x22dex1c){_0x22dex17= _0x22dex1c.toString(_0x2e76[60]);_0x22dex18[_0x2e76[61]]= _0x22dex17;_0x22dex18[_0x2e76[62]]= moment()[_0x2e76[64]](1,_0x2e76[63]);return _0x22dex18[_0x2e76[65]]()})[_0x2e76[32]](function(){var _0x22dex1a=nodemailer[_0x2e76[48]](smtpTransport({host:_0x22dex19[_0x2e76[43]],port:_0x22dex19[_0x2e76[44]],secure:_0x22dex19[_0x2e76[45]],pool:true,auth:{user:_0x22dex19[_0x2e76[46]],pass:_0x22dex19[_0x2e76[47]]}}));var _0x22dex1b={to:_0x22dex18[_0x2e76[49]],from:_0x22dex19[_0x2e76[43]],subject:_0x2e76[50],text:_0x2e76[51]+ _0x2e76[52]+ _0x2e76[53]+ _0x22dex11[_0x2e76[54]][_0x2e76[43]]+ _0x2e76[55]+ _0x22dex17+ _0x2e76[56]+ _0x2e76[57]+ _0x2e76[58]};return _0x22dex1a[_0x2e76[59]](_0x22dex1b)})[_0x2e76[32]](function(_0x22dex16){_0x22dex12[_0x2e76[42]](200)})[_0x2e76[26]](function(_0x22dex14){return handleError(_0x22dex12,_0x22dex14)})});router[_0x2e76[40]](_0x2e76[71],function(_0x22dex11,_0x22dex12,_0x22dex13){var _0x22dex18,_0x22dex19;return User[_0x2e76[70]]({where:{resetPasswordToken:_0x22dex11[_0x2e76[80]][_0x2e76[79]],resetPasswordExpires:{$gt:moment()}}})[_0x2e76[32]](function(_0x22dex15){if(!_0x22dex15){throw new Error(_0x2e76[76])};var _0x22dex1e=String(_0x22dex11[_0x2e76[30]][_0x2e76[47]]);if(!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&\-_=+\[\{\]\}.])[0-9a-zA-Z~!@#$%^&\-_=+\[\{\]\}.]{8,}$/[_0x2e76[77]](_0x22dex1e))){throw new Error(_0x2e76[78])};_0x22dex15[_0x2e76[47]]= _0x22dex1e;_0x22dex15[_0x2e76[61]]= null;_0x22dex15[_0x2e76[62]]= null;return _0x22dex15[_0x2e76[65]]()})[_0x2e76[32]](function(_0x22dex15){_0x22dex18= _0x22dex15;return MailServerOut[_0x2e76[70]]({where:{service:true}})})[_0x2e76[32]](function(_0x22dex1d){if(!_0x22dex1d){throw new Error(_0x2e76[66])};var _0x22dex1a=nodemailer[_0x2e76[48]](smtpTransport({host:_0x22dex1d[_0x2e76[43]],port:_0x22dex1d[_0x2e76[44]],secure:_0x22dex1d[_0x2e76[45]],pool:true,auth:{user:_0x22dex1d[_0x2e76[46]],pass:_0x22dex1d[_0x2e76[47]]}}));var _0x22dex1b={to:_0x22dex18[_0x2e76[49]],from:_0x22dex1d[_0x2e76[43]],subject:_0x2e76[72],text:_0x2e76[73]+ _0x2e76[74]+ _0x22dex18[_0x2e76[49]]+ _0x2e76[75]};return _0x22dex1a[_0x2e76[59]](_0x22dex1b)})[_0x2e76[32]](function(_0x22dex16){_0x22dex12[_0x2e76[42]](200)})[_0x2e76[26]](function(_0x22dex14){return handleError(_0x22dex12,_0x22dex14)})});router[_0x2e76[86]](_0x2e76[81],auth[_0x2e76[82]](),function(_0x22dex11,_0x22dex12,_0x22dex13){return Action[_0x2e76[37]]({name:_0x2e76[83],data1:_0x22dex11[_0x2e76[85]][_0x2e76[28]],data2:_0x22dex11[_0x2e76[85]][_0x2e76[36]],UserId:_0x22dex11[_0x2e76[85]][_0x2e76[28]]})[_0x2e76[32]](function(){_0x22dex11[_0x2e76[83]]();_0x22dex12[_0x2e76[84]](_0x2e76[20])})[_0x2e76[26]](function(_0x22dex14){return _0x22dex13(_0x22dex14)})});function handleError(_0x22dex12,_0x22dex14){return _0x22dex12[_0x2e76[24]](500)[_0x2e76[87]]({message:_0x22dex14[_0x2e76[22]]})}module[_0x2e76[88]]= router
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-var util = require('util');
-var amiController = require('../../api/ami/ami.ami');
-
-exports.logout = function(userid, username, queuename, callback) {
- var body = {
- action: 'QueuePause',
- queue: queuename,
- interface: util.format('SIP/%s', username),
- paused: false
- };
- body.data = JSON.stringify(body);
- body.UserId = userid;
-
- amiController.action(body, function(err, res) {
- if (err) {
- console.log(err);
- }
- var body = {
- action: 'QueueRemove',
- queue: queuename,
- interface: util.format('SIP/%s', username)
- };
- body.data = JSON.stringify(body);
- body.UserId = userid;
-
- amiController.action(body, callback);
- });
-}
-
-exports.login = function(userid, username, queuename, callback) {
-
- var body = {
- action: 'QueueAdd',
- queue: queuename,
- interface: util.format('SIP/%s', username),
- penalty: 0,
- paused: false,
- membername: username
- };
-
- body.data = JSON.stringify(body);
- body.UserId = userid;
-
- amiController.action(body, callback);
-}
+var _0x4432=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x61\x6D\x69","\x6C\x6F\x67\x6F\x75\x74","\x51\x75\x65\x75\x65\x50\x61\x75\x73\x65","\x53\x49\x50\x2F\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x64\x61\x74\x61","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x55\x73\x65\x72\x49\x64","\x6C\x6F\x67","\x51\x75\x65\x75\x65\x52\x65\x6D\x6F\x76\x65","\x61\x63\x74\x69\x6F\x6E","\x6C\x6F\x67\x69\x6E","\x51\x75\x65\x75\x65\x41\x64\x64"];_0x4432[0];var util=require(_0x4432[1]);var amiController=require(_0x4432[2]);exports[_0x4432[3]]= function(_0x7338x3,_0x7338x4,_0x7338x5,_0x7338x6){var _0x7338x7={action:_0x4432[4],queue:_0x7338x5,interface:util[_0x4432[6]](_0x4432[5],_0x7338x4),paused:false};_0x7338x7[_0x4432[7]]= JSON[_0x4432[8]](_0x7338x7);_0x7338x7[_0x4432[9]]= _0x7338x3;amiController[_0x4432[12]](_0x7338x7,function(_0x7338x8,_0x7338x9){if(_0x7338x8){console[_0x4432[10]](_0x7338x8)};var _0x7338x7={action:_0x4432[11],queue:_0x7338x5,interface:util[_0x4432[6]](_0x4432[5],_0x7338x4)};_0x7338x7[_0x4432[7]]= JSON[_0x4432[8]](_0x7338x7);_0x7338x7[_0x4432[9]]= _0x7338x3;amiController[_0x4432[12]](_0x7338x7,_0x7338x6)})};exports[_0x4432[13]]= function(_0x7338x3,_0x7338x4,_0x7338x5,_0x7338x6){var _0x7338x7={action:_0x4432[14],queue:_0x7338x5,interface:util[_0x4432[6]](_0x4432[5],_0x7338x4),penalty:0,paused:false,membername:_0x7338x4};_0x7338x7[_0x4432[7]]= JSON[_0x4432[8]](_0x7338x7);_0x7338x7[_0x4432[9]]= _0x7338x3;amiController[_0x4432[12]](_0x7338x7,_0x7338x6)}
\ No newline at end of file
-var passport = require('passport');
-var LocalStrategy = require('passport-local').Strategy;
-var license = require('../../config/license/license.service');
-
-exports.setup = function(User, config) {
- passport.use('local-login', new LocalStrategy({
- usernameField: 'name',
- passwordField: 'password' // this is the virtual field on the model
- },
- function(name, password, done) {
- var _user;
-
- return User.findOne({
- where: {
- name: name
- }
- })
- .then(function(user) {
- _user = user;
-
- if (!_user || !user.authenticate(password)) {
- throw new Error('Wrong credentials');
- }
-
- return _user;
- })
- .then(license.isValidAgent())
- .then(function(valid) {
- if (valid) {
- return done(null, _user);
- } else {
- return done(null, false, {
- message: 'Maximum login limit has been reached.'
- });
- }
- })
- .catch(function(err) {
- return done(err, false, null);
- });
- }
- ));
-};
+var _0x2ae8=["\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x6C\x6F\x63\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x73\x65\x74\x75\x70","\x6C\x6F\x63\x61\x6C\x2D\x6C\x6F\x67\x69\x6E","\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x61\x74\x63\x68","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x6C\x6F\x67\x69\x6E\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64\x2E","\x74\x68\x65\x6E","\x69\x73\x56\x61\x6C\x69\x64\x41\x67\x65\x6E\x74","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x57\x72\x6F\x6E\x67\x20\x63\x72\x65\x64\x65\x6E\x74\x69\x61\x6C\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];var passport=require(_0x2ae8[0]);var LocalStrategy=require(_0x2ae8[2])[_0x2ae8[1]];var license=require(_0x2ae8[3]);exports[_0x2ae8[4]]= function(_0x3538x4,_0x3538x5){passport[_0x2ae8[15]](_0x2ae8[5], new LocalStrategy({usernameField:_0x2ae8[6],passwordField:_0x2ae8[7]},function(_0x3538x6,_0x3538x7,_0x3538x8){var _0x3538x9;return _0x3538x4[_0x2ae8[14]]({where:{name:_0x3538x6}})[_0x2ae8[10]](function(_0x3538xc){_0x3538x9= _0x3538xc;if(!_0x3538x9|| !_0x3538xc[_0x2ae8[12]](_0x3538x7)){throw new Error(_0x2ae8[13])};return _0x3538x9})[_0x2ae8[10]](license[_0x2ae8[11]]())[_0x2ae8[10]](function(_0x3538xb){if(_0x3538xb){return _0x3538x8(null,_0x3538x9)}else {return _0x3538x8(null,false,{message:_0x2ae8[9]})}})[_0x2ae8[8]](function(_0x3538xa){return _0x3538x8(_0x3538xa,false,null)})}))}
\ No newline at end of file
-'use strict';
-
-var express = require('express');
-var passport = require('passport');
-var auth = require('../auth.service');
-
-var router = express.Router();
-
-router
- .get('/', passport.authenticate('twitter', {
- failureRedirect: '/signup',
- session: false
- }))
-
- .get('/callback', passport.authenticate('twitter', {
- failureRedirect: '/signup',
- session: false
- }), auth.setTokenCookie);
-
-module.exports = router;
\ No newline at end of file
+var _0x8d49=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x61\x75\x74\x68\x2E\x73\x65\x72\x76\x69\x63\x65","\x2F\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x74\x77\x69\x74\x74\x65\x72","\x2F\x73\x69\x67\x6E\x75\x70","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x67\x65\x74","\x2F","\x65\x78\x70\x6F\x72\x74\x73"];_0x8d49[0];var express=require(_0x8d49[1]);var passport=require(_0x8d49[2]);var auth=require(_0x8d49[3]);var router=express.Router();router[_0x8d49[9]](_0x8d49[10],passport[_0x8d49[7]](_0x8d49[5],{failureRedirect:_0x8d49[6],session:false}))[_0x8d49[9]](_0x8d49[4],passport[_0x8d49[7]](_0x8d49[5],{failureRedirect:_0x8d49[6],session:false}),auth[_0x8d49[8]]);module[_0x8d49[11]]= router
\ No newline at end of file
-exports.setup = function (User, config) {
- var passport = require('passport');
- var TwitterStrategy = require('passport-twitter').Strategy;
-
- passport.use(new TwitterStrategy({
- consumerKey: config.twitter.clientID,
- consumerSecret: config.twitter.clientSecret,
- callbackURL: config.twitter.callbackURL
- },
- function(token, tokenSecret, profile, done) {
- User.findOne({
- 'twitter.id_str': profile.id
- }, function(err, user) {
- if (err) {
- return done(err);
- }
- if (!user) {
- user = new User({
- name: profile.displayName,
- username: profile.username,
- role: 'user',
- provider: 'twitter',
- twitter: profile._json
- });
- user.save(function(err) {
- if (err) return done(err);
- return done(err, user);
- });
- } else {
- return done(err, user);
- }
- });
- }
- ));
-};
\ No newline at end of file
+var _0x2d6d=["\x73\x65\x74\x75\x70","\x70\x61\x73\x73\x70\x6F\x72\x74","\x53\x74\x72\x61\x74\x65\x67\x79","\x70\x61\x73\x73\x70\x6F\x72\x74\x2D\x74\x77\x69\x74\x74\x65\x72","\x63\x6C\x69\x65\x6E\x74\x49\x44","\x74\x77\x69\x74\x74\x65\x72","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x63\x61\x6C\x6C\x62\x61\x63\x6B\x55\x52\x4C","\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x4E\x61\x6D\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x75\x73\x65\x72","\x5F\x6A\x73\x6F\x6E","\x73\x61\x76\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x73\x65"];exports[_0x2d6d[0]]= function(_0xff37x1,_0xff37x2){var _0xff37x3=require(_0x2d6d[1]);var _0xff37x4=require(_0x2d6d[3])[_0x2d6d[2]];_0xff37x3[_0x2d6d[15]]( new _0xff37x4({consumerKey:_0xff37x2[_0x2d6d[5]][_0x2d6d[4]],consumerSecret:_0xff37x2[_0x2d6d[5]][_0x2d6d[6]],callbackURL:_0xff37x2[_0x2d6d[5]][_0x2d6d[7]]},function(_0xff37x5,_0xff37x6,_0xff37x7,_0xff37x8){_0xff37x1[_0x2d6d[14]]({"\x74\x77\x69\x74\x74\x65\x72\x2E\x69\x64\x5F\x73\x74\x72":_0xff37x7[_0x2d6d[8]]},function(_0xff37x9,_0xff37xa){if(_0xff37x9){return _0xff37x8(_0xff37x9)};if(!_0xff37xa){_0xff37xa= new _0xff37x1({name:_0xff37x7[_0x2d6d[9]],username:_0xff37x7[_0x2d6d[10]],role:_0x2d6d[11],provider:_0x2d6d[5],twitter:_0xff37x7[_0x2d6d[12]]});_0xff37xa[_0x2d6d[13]](function(_0xff37x9){if(_0xff37x9){return _0xff37x8(_0xff37x9)};return _0xff37x8(_0xff37x9,_0xff37xa)})}else {return _0xff37x8(_0xff37x9,_0xff37xa)}})}))}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-
-var agi = require('agi');
-var util = require('util');
-var moment = require('moment');
-var xml = require('xml2js');
-var wait = require('wait.for');
-var sr = require('simple-random');
-var path = require('path');
-var config = require('../environment');
-var sh = require('shelljs');
-var Promise = require('bluebird');
-var rp = require('request-promise');
-const googleTTS = require('google-tts-api');
-const fs = require('fs');
-const sox = require('sox');
-const request = require('request');
-const base64 = require('file-base64');
-
-var db = require("odbc")();
-
-var SquareProject = require('../../models').SquareProject;
-var Variable = require('../../models').Variable;
-var SquareOdbc = require('../../models').SquareOdbc;
-var Setting = require('../../models').Setting;
-var User = require('../../models').User;
-var VoiceQueue = require('../../models').VoiceQueue;
-var Interval = require('../../models').Interval;
-var Sound = require('../../models').Sound;
-var SquareRecording = require('../../models').SquareRecording;
-var SmsAccount = require('../../models').SmsAccount;
-var MailServerOut = require('../../models').MailServerOut;
-var Mustache = require('mustache');
-var Template = require('../../models').Template;
-
-var collections = {};
-var weekDaysCollection = {
- mon: 1,
- tue: 2,
- wed: 3,
- thu: 4,
- fri: 5,
- sat: 6,
- sun: 7
-};
-var monthsCollection = {
- jan: 1,
- feb: 2,
- mar: 3,
- apr: 4,
- may: 5,
- jun: 6,
- jul: 7,
- aug: 8,
- sep: 9,
- oct: 10,
- nov: 11,
- dec: 12
-};
-
-var methods = {};
-
-process
- .on('close', function(code) {
- console.log(util.format('AGI SERVER EXITED WITH CODE %s, PROCESS ID: %s ', code, process.pid));
- })
- .on('error', function(err) {
- console.error(err);
- });
-
-console.log(util.format('AGI SERVER STARTING, PROCESS ID: %s ', process.pid));
-
-methods.answer = function(context, vertex, callback) {
- console.log('--ANSWER BLOCK--');
- console.log('Answering the call...');
- context.send('ANSWER\n', function(err, res) {
- callback(err, res);
- });
-};
-
-methods.custom_app = function(context, vertex, callback) {
- console.log('--CUSTOM APP BLOCK--');
- console.log('Executing custom app "' + vertex.application + '"...');
- context.exec(vertex.application, vertex.options, function(err, res) {
- if (callback) {
- callback(err, res);
- }
- });
-};
-
-
-methods.dial = function(context, vertex, callback) {
- console.log('--INTERNAL_DIAL BLOCK--');
- if (!collections.users) {
- getUsers(false);
- }
- var sip = _.find(collections.users, {
- id: parseInt(vertex.sip_id)
- });
- console.log('Calling ' + util.format('SIP/%s', sip.name) + '...');
- var parameters = [util.format('SIP/%s', sip.name), vertex.timeout, vertex.opts,
- vertex.url
- ];
- context.exec('DIAL', parameters.join(','),
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.start = function(context, vertex, callback) {
- console.log('--START BLOCK--');
- if (vertex.answer === 'yes') {
- context.send('ANSWER\n', function(err, res) {
- callback(err, res);
- });
- } else {
- callback(null, {
- code: 200,
- result: 1
- });
- }
-};
-
-methods.ext_dial = function(context, vertex, callback) {
- console.log('--EXTERNAL_DIAL BLOCK--');
- console.log('Calling ' + util.format('SIP/%s', vertex.trunk_name) + '...');
- var parameters = [util.format('SIP/%s/%s', vertex.trunk_name, vertex.phone),
- vertex.timeout, vertex.opts, vertex.url
- ];
- context.exec('DIAL', parameters.join(','),
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.queue = function(context, vertex, callback) {
- console.log('--QUEUE BLOCK--');
-
- if (!collections.queues) {
- getQueues(false);
- }
- var queue = _.find(collections.queues, {
- name: vertex.queue_id
- });
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: queue.name,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- getFilePath(vertex.file_id).then(function(announceOverride) {
- var parameters = [queue.name, vertex.opts, vertex.url,
- announceOverride, vertex.timeout, vertex.agi, vertex.macro,
- vertex.gosub, '', vertex.position
- ];
- console.log('Joining ' + queue.name + ' queue...');
- context.exec('QUEUE', parameters.join(','), function(err, res) {
- callback(err, res);
- });
- })
-};
-
-methods.voicemail = function(context, vertex, callback) {
- console.log('--VOICEMAIL BLOCK--');
- var parameters = [vertex.mailbox, vertex.opts];
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: parameters.join(',') || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- console.log('Starting voicemail recording...');
- context.exec('VOICEMAIL', parameters.join(','), function(err, res) {
- callback(err, res);
- });
-};
-
-methods.callback = function(context, vertex, callback) {
- console.log('--CALLBACK BLOCK--');
- var options = {
- method: 'POST',
- uri: 'http://localhost/api/rest/contact/insert',
- body: {
- id_list: parseInt(vertex.list_id),
- name: vertex.name || '',
- phones: vertex.phone.trim().split(','),
- description: vertex.label || '',
- planningtime: moment().add(vertex.delay || 5, 'minutes').format('YYYY-MM-DD HH:mm:ss')
- },
- json: true // Automatically stringifies the body to JSON
- };
-
- rp(options)
- .then(function(parsedBody) {
- if (parsedBody.status > 0) {
- console.log(parsedBody.response.RMI);
- } else {
- console.log(parsedBody.response.RMI.errors);
- }
- })
- .catch(function(err) {
- console.error('TD problem with request:', err.message);
- })
- .finally(function() {
- console.log('TD finally');
- callback(null, {
- code: 200,
- result: 1
- });
- });
-};
-
-methods.math = function(context, vertex, callback) {
- console.log('--MATH BLOCK--');
- console.log('Calculating expression...');
- try {
- var result = eval(vertex.operation);
- console.log('Saving result in variable...');
- var varName = getVariableName(vertex.variable_id);
- if (_.isArray(result)) {
- result.forEach(function(elem, index) {
- wait.for(setVariable, context, varName + '[' + index + ']', '"' + elem + '"');
- });
- } else {
- wait.for(setVariable, context, varName, '"' + result + '"');
- }
- } catch (err) {
- console.log('Error evaluating expression');
- callback(null, {
- code: 200,
- result: 1
- });
- }
-
-}
-
-// methods.background = function(context, vertex, callback) {
-// var parameters = [getFilePath(vertex.file_id), vertex.opts];
-// context.exec('BACKGROUND', parameters.join('|'), function(err, res) {
-// callback(err, res);
-// });
-// };
-
-methods.playback = function(context, vertex, callback) {
- console.log('--PLAYBACK BLOCK--');
- getFilePath(vertex.file_id).then(function(audiofile) {
- // var audiofile = '/var/www/html/files/sounds/d0269ff87187df665ece75538e4cddfd';
- var parameters = [audiofile, vertex.opts];
- console.log('Executing playback...');
- context.exec('PLAYBACK', parameters.join(','), function(err, res) {
- callback(err, res);
- });
- })
-};
-
-methods.menu = function(context, vertex, callback) {
- console.log('--MENU BLOCK--');
- var res = {};
- console.log('There are ' + vertex.retry + ' retries');
- if (vertex.retry > 0) {
- vertex.retry--;
- getFilePath(vertex.file_id).then(function(announce) {
- // var announce = '/var/www/html/files/sounds/b19642d2f71e9cfffbd783fcc79c7415';
- // console.log(announce);
- console.log('Announcing and waiting for user entry...');
- context.send(util.format('GET DATA %s %s %s\n', announce, parseInt(vertex.response) * 1000, vertex.digit),
- function(err, res) {
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: res.result || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- res.result = res.result.replace('(timeout)', '').trim();
- if (res.result.length) {
- if (res.result === '-1') {
- callback(null, res);
- } else {
- res.data = res.result;
- if (vertex.variable_id !== '-1') {
- console.log('Saving user entry in a variable...');
- var varName = getVariableName(vertex.variable_id);
- setVariable(context, varName, '"' + res.data + '"', function() {
- callback(null, res);
- });
- } else {
- callback(null, res);
- }
- }
- } else {
- console.log('Menu timeout!');
- res = {
- code: 200,
- result: '0',
- data: 't'
- };
- callback(null, res);
- }
- });
- });
- } else {
- console.log('Run out of retries!');
- res = {
- code: 200,
- result: '0',
- data: '-'
- };
- callback(null, res);
- }
-};
-
-methods.saynumber = function(context, vertex, callback) {
- console.log('--SAYNUMBER BLOCK--');
- console.log('Saying number...');
- context.send(util.format('SAY NUMBER %s "%s"\n', vertex.number, vertex.escape_digits),
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.sayphonetic = function(context, vertex, callback) {
- console.log('--SAYPHONETIC BLOCK--');
- console.log('Saying phonetic...');
- context.send(util.format('SAY PHONETIC %s "%s"\n', vertex.text, vertex.escape_digits),
- function(err, res) {
- callback(err, res);
- });
-};
-
-// methods.tts = function(context, vertex, callback) {
-// console.log('--GOOGLE_TTS BLOCK--');
-// var parameters = [path.join(config.root, 'server/config/agi_scripts', 'googletts.agi'), encodeURIComponent(vertex.text), vertex.google_tts_language];
-// // var parameters = ['/var/www/html/agisquare/agiscripts/googletts.agi', encodeURIComponent(vertex.text), vertex.google_tts_language];
-// console.log('Calling Google TTS API...');
-// context.exec('AGI', parameters.join(','),
-// function(err, res) {
-// callback(err, res);
-// });
-// };
-
-methods.tts = function(context, vertex, callback) {
- console.log('--GOOGLE_TTS BLOCK--');
- googleTTS(vertex.text, vertex.google_tts_language, 1)
- .then(function(url) {
- // console.log('The google tts url is: ', url);
- console.log('Calling Google TTS API...');
- saveAndPlayTTS(context, vertex, url, 'playback', callback);
- })
- .catch(function(err) {
- console.error('Google TTS error: ', err.message);
- callback(err, {
- code: 200,
- result: '0'
- })
- });
-};
-
-function saveAndPlayTTS(context, vertex, url, asteriskFunction, callback) {
- var item = {
- _saveName: '',
- _savePath: '',
- _convertedPath: ''
- };
-
- var options = {
- url: url,
- };
-
- item._saveName = sr({
- length: 6
- });
-
- item._savePath = util.format("/tmp/%s.mp3", item._saveName);
- var mp3File = fs.createWriteStream(item._savePath);
-
- // Make API request
- request
- .get(options)
- .on('error', function(err) {
- console.log('TTS request error:', err);
- })
- .on('data', function(data) {
- mp3File.write(data);
- })
- .on('end', function() {
- console.log('Got audio buffer!');
- mp3File.end();
-
- console.log('Audio saved to ', item._savePath);
- item._convertedPath = util.format("/tmp/%s.wav", item._saveName);
- console.log('Setting original audio file access permissions!');
- fs.chmodSync(item._savePath, parseInt('0777', 8));
- console.log('Converting original audio file and saving in ', item._convertedPath);
- var job = sox.transcode(item._savePath, item._convertedPath, {
- sampleRate: 8000,
- format: 'wav',
- channelCount: 1,
- bitRate: 192 * 1024,
- compressionQuality: 5,
- });
-
- job.on('error', function(err) {
- console.error('**********TTS audio Conversion Error: ', err);
- deleteTempFile(item._savePath);
- callback(err, {
- code: 200,
- result: '0'
- })
- });
-
- job.on('end', function() {
- console.log("TTS audio conversion completed");
- console.log('Setting converted audio file access permissions!');
- fs.chmodSync(item._convertedPath, parseInt('0777', 8));
- switch (asteriskFunction) {
- case 'playback':
- console.log('Calling asterisk playback...');
- context.exec('PLAYBACK', util.format("/tmp/%s", item._saveName), function(err, res) {
- if (err) {
- console.log('Asterisk playback error: ', err);
- }
- console.log('Deleting temp audio files...');
- deleteTempFile(item._savePath);
- deleteTempFile(item._convertedPath);
- callback(err, {
- code: 200,
- result: '0'
- })
- });
- break;
- case 'stream':
- console.log('Calling asterisk stream file...');
- context.send(util.format('STREAM FILE %s "%s"\n', util.format("/tmp/%s", item._saveName), vertex.intKey), function(err, res) {
- if (err) {
- console.log('Asterisk stream file error: ', err);
- }
- console.log('Deleting temp audio files...');
- deleteTempFile(item._savePath);
- deleteTempFile(item._convertedPath);
- callback(err, {
- code: 200,
- result: '0'
- })
- });
- break;
- default:
- console.log('Calling asterisk playback...');
- context.exec('PLAYBACK', util.format("/tmp/%s", item._saveName), function(err, res) {
- if (err) {
- console.log('Asterisk playback error: ', err);
- }
- console.log('Deleting temp audio files...');
- deleteTempFile(item._savePath);
- deleteTempFile(item._convertedPath);
- callback(err, {
- code: 200,
- result: '0'
- })
- });
- }
- });
- job.start();
- });
-}
-
-function deleteTempFile(file) {
- Promise
- .promisify(fs.unlink)(file)
- .then(function() {
- console.log('Temp audio file ' + file + ' deleted!');
- })
- .catch(function(err) {
- // console.log('Error deleting temp audio file: ', err);
- });
-}
-
-// methods.ispeechtts = function(context, vertex, callback) {
-// console.log('--ISPEECH_TTS BLOCK--');
-// // var parameters = [path.join(config.root, 'server/config/agi_scripts', 'ispeech-tts.agi'), encodeURIComponent(vertex.text), vertex.ispeech_tts_language, '', '', vertex.key];
-// var parameters = ['/var/www/html/agisquare/agiscripts/ispeech-tts.agi', encodeURIComponent(vertex.text), vertex.ispeech_tts_language, vertex.intKey, vertex.speed, vertex.key];
-// console.log('Calling iSpeech TTS API...');
-// context.exec('AGI', parameters.join(','),
-// function(err, res) {
-// callback(err, res);
-// });
-// };
-
-methods.ispeechtts = function(context, vertex, callback) {
- console.log('--ISPEECH_TTS BLOCK--');
- var url = util.format('https://api.ispeech.org/api/rest?apikey=%s&action=convert&text=%s&voice=%s&speed=%s&format=mp3', vertex.key, encodeURIComponent(vertex.text), vertex.ispeech_tts_language,
- vertex.speed);
- try {
- console.log('The ispeech tts url is: ', url);
- console.log('Calling iSpeech TTS API...');
- saveAndPlayTTS(context, vertex, url, 'stream', callback);
- } catch (err) {
- console.error('iSPeech TTS error: ', err);
- callback(err, {
- code: 200,
- result: '0'
- });
- }
-};
-
-methods.getdigits = function(context, vertex, callback) {
- console.log('--GETDIGITS BLOCK--');
- var res = {};
- console.log('There are ' + vertex.retry + ' retries');
- if (vertex.retry > 0) {
- vertex.retry--;
- getFilePath(vertex.file_id).then(function(announce) {
- // var announce = '/var/www/html/files/sounds/b19642d2f71e9cfffbd783fcc79c7415';
- console.log('Announcing and waiting for user entry...');
- context.send(util.format('GET DATA %s %s %s\n', announce, parseInt(vertex.response) * 1000, vertex.maxdigit),
- function(err, res) {
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: res.result || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- res.result = res.result.replace('(timeout)', '').trim();
- if (res.result.length >= parseInt(vertex.mindigit)) {
- if (res.result !== '-1') {
- console.log('There is a result, is over the minimum length and not due to an hangup!');
- if (vertex.variable_id !== '-1') {
- console.log('Saving user entry in a variable...');
- var varName = getVariableName(vertex.variable_id);
- setVariable(context, varName, '"' + res.result + '"', function() {
- res = {
- code: 200,
- result: '0',
- data: 'x'
- };
- callback(null, res);
- });
- } else {
- console.log('Variable not found, unable to save the result!');
- res = {
- code: 200,
- result: '0',
- data: 'i'
- };
- callback(null, res);
- }
- } else {
- console.log('Channel hangup!');
- res = {
- code: 500,
- result: '-1'
- };
- callback(null, res);
- }
- } else {
- console.log('No entry or not long enough!');
- res = {
- code: 200,
- result: '0',
- data: 'i'
- };
- callback(null, res);
- }
- });
- })
- } else {
- console.log('Run out of retries!');
- res = {
- code: 500,
- result: '-1'
- };
- callback(null, res);
- }
-};
-
-methods.getsecretdigits = function(context, vertex, callback) {
- console.log('--GETSECRETDIGITS BLOCK--');
- var res = {};
- console.log('There are ' + vertex.retry + ' retries');
- if (vertex.retry > 0) {
- vertex.retry--;
- getFilePath(vertex.file_id).then(function(announce) {
- // var announce = '/var/www/html/files/sounds/b19642d2f71e9cfffbd783fcc79c7415';
- console.log('Announcing and waiting for user entry...');
- context.send(util.format('GET DATA %s %s %s\n', announce, parseInt(vertex.response) * 1000, vertex.maxdigit),
- function(err, res) {
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: res.result || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- res.result = res.result.replace('(timeout)', '').trim();
- if (res.result.length >= parseInt(vertex.mindigit)) {
- if (res.result !== '-1') {
- console.log('There is a result, is over the minimum length and not due to an hangup!');
- if (vertex.variable_id !== '-1') {
- var stringArray = res.result.split('');
- var length = stringArray.length;
- var i;
- var limit = Number(vertex.hiddendigitsnum);
- if (vertex.hiddendigitspos === 'first') {
- for (i = 0; i < limit && i < length; i++) {
- stringArray[i] = '*';
- }
- } else {
- for (i = length - 1; i >= 0 && limit > 0; i--, limit--) {
- stringArray[i] = '*';
- }
- }
- squareDetail.data = stringArray.join('');
- process.send(squareDetail);
- console.log('Saving user entry in a variable...');
- var varName = getVariableName(vertex.variable_id);
- setVariable(context, varName, '"' + res.result + '"', function() {
- res = {
- code: 200,
- result: '0',
- data: 'x'
- };
- callback(null, res);
- });
- } else {
- process.send(squareDetail);
- console.log('Variable not found, unable to save the result!');
- res = {
- code: 200,
- result: '0'
- };
- callback(null, res);
- }
- } else {
- process.send(squareDetail);
- console.log('Channel hangup!');
- res = {
- code: 500,
- result: '-1'
- };
- callback(null, res);
- }
- } else {
- process.send(squareDetail);
- console.log('No entry or not long enough!');
- res = {
- code: 200,
- result: '0',
- data: 'i'
- };
- callback(null, res);
- }
- });
- })
- } else {
- console.log('Run out of retries!');
- res = {
- code: 500,
- result: '-1'
- };
- callback(null, res);
- }
-};
-
-methods.record = function(context, vertex, callback) {
- console.log('--RECORD BLOCK--');
- var saveName = sr({
- length: 4
- });
- console.log('Starting call recording...');
- context.send(util.format('RECORD FILE %s %s "%s" %s %s %s %s\n', path.join(config.root, 'server/files/recordings', context.uniqueid + '_' + saveName), vertex.recordingFormat || 'wav', vertex.escape_digits, vertex.timeout * 1000, null, true, null),
- function(
- err, res) {
- if (res.code === 200 && res.result !== '-1') {
- SquareRecording
- .create({
- uniqueid: context.uniqueid,
- callerid: context.callerid,
- calleridname: context.calleridname,
- context: context.context,
- extension: context.extension,
- priority: context.priority,
- accountcode: context.accountcode,
- dnid: context.dnid,
- project_name: context.project_name,
- saveName: context.uniqueid + '_' + saveName,
- filename: vertex.file || null,
- savePath: path.join(config.root, 'server/files/recordings', context.uniqueid + '_' + saveName + '.wav')
- })
- .catch(function(err) {
- console.log('Error saving ' + vertex.tag + ':' + vertex.label + ' block log', err);
- });
- console.log('Saving recording filename in RECORDING_SAVENAME variable...');
- context.send(util.format('SET VARIABLE %s %s\n', 'RECORDING_SAVENAME', context.uniqueid + '_' + saveName), function(err, res) {
- callback(err, res);
- });
- } else {
- callback(err, res);
- }
- });
-};
-
-methods.gotoiftime = function(context, vertex, callback) { //single or multiple intervals
- console.log('--GOTOIFTIME BLOCK--');
- var res;
- var valid = 'false';
- var gotoIntervals;
- if (!collections.intervals) {
- getIntervals(false);
- }
- var interval = _.find(collections.intervals, {
- id: parseInt(vertex.interval_id)
- });
- if (!interval.IntervalId) {
- gotoIntervals = _.filter(collections.intervals, {
- IntervalId: parseInt(interval.id)
- });
- }
- if (gotoIntervals) {
- console.log('Is a group of intervals!');
- if (gotoIntervals.length) {
- console.log('There are ' + gotoIntervals.length + ' intervals!');
- var subInterval;
- console.log('Checking if at least one interval is valid...');
- gotoIntervals.forEach(function(elem, index) {
- subInterval = splitInterval(elem.interval);
- if (isIntervalValid(subInterval)) {
- console.log('Interval ' + index + ' is valid!');
- valid = 'true';
- }
- });
- } else {
- console.log('There are no sub intervals, so it will be always true!');
- valid = 'true';
- }
- } else {
- console.log('Is a single interval!');
- var splittedInterval = splitInterval(interval.interval);
- if (isIntervalValid(splittedInterval)) {
- console.log('The interval is valid!');
- valid = 'true';
- }
- }
- console.log('The final result for the intervals is "' + valid + '"!');
- res = {
- code: 200,
- result: '0',
- data: valid
- };
- callback(null, res);
-};
-
-methods.vswitch = function(context, vertex, callback) {
- console.log('--VARIABLE_SWITCH BLOCK--');
- console.log('Getting the variable value and searching the right exit...');
- var varName = getVariableName(vertex.variable_id);
- getVariable(context, varName, function(err, res) {
- if (!res.data) {
- res.data = '-';
- }
- callback(null, res);
- });
-
-};
-
-methods.goal = function(context, vertex, callback) {
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: vertex.goalname || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- var res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
-};
-methods.sendmail = function(context, vertex, callback) {
- console.log('--sendMail BLOCK--');
-
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: vertex.account_id,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
-
- var res;
-
- if (vertex.account_id !== '-1') {
- var server = _.find(collections.mailServerOut, {
- id: Number(vertex.account_id)
- });
- if (server) {
- var _message = {
- from: [server.username],
- to: vertex.to.split(","),
- cc: vertex.cc ? vertex.cc.split(",") : [],
- subject: vertex.subject,
- html: vertex.text,
- voiceSource: context.uniqueid,
- auto: true,
- message: 'createMail'
- };
- if (vertex.template_id !== '-1') {
- var template = _.find(collections.templates, {
- id: Number(vertex.template_id)
- });
- if (template) {
- var msg = {
- from: _message.from,
- to: _message.to,
- cc: _message.cc,
- subject: _message.subject,
- body: _message.html
- };
- _message.subject = template.subject ? Mustache.render(template.subject, msg) : null;
- _message.html = template.html ? Mustache.render(template.html, msg) : null;
- process.send(_message);
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- } else {
- console.log('Error finding template');
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- }
- } else {
-
- process.send(_message);
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- }
-
- } else {
- console.log(vertex.account_id ? 'Error finding mailAccount address' : 'Error finding general SMTP address');
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- }
- } else {
- console.log('The configured account is not valid');
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- }
-
-};
-
-methods.sendsms = function(context, vertex, callback) {
- console.log('--sendSMS BLOCK--');
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: vertex.account_id,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
-
- var _message = {
- body: vertex.sms_text,
- SmsAccountId: vertex.account_id,
- source: context.uniqueid,
- auto: true,
- message: 'createSms'
- }
- var res;
- if (vertex.account_id !== '-1') {
- var server = _.find(collections.smsAccounts, {
- id: Number(vertex.account_id)
- });
- if (server) {
- if (server.type === 'twilio') {
- _message.from = /^[\+][0-9]+$/.test(server.phone) ? server.phone : '+' + server.phone;
- _message.to = /^[\+][0-9]+$/.test(vertex.to) ? vertex.to : '+' + vertex.to;
- } else {
- _message.from = /^[\+][0-9]+$/.test(server.phone) ? server.phone.replace('+', '') : server.phone;
- _message.to = /^[\+][0-9]+$/.test(vertex.to) ? vertex.to.replace('+', '') : vertex.to;
- }
- process.send(_message);
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- } else {
- console.log('Error finding SMS account');
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- }
- } else {
- console.log('The configured account is not valid');
- res = {
- code: 200,
- result: '1'
- };
- callback(null, res);
- }
-
-};
-
-methods.system = function(context, vertex, callback) {
- console.log('--SYSTEM BLOCK--');
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: _.trim(vertex.command) || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- console.log('Executing the system command...');
- sh.exec(_.trim(vertex.command), function(code, output) {
- var formattedOutput = output.replace(/(\r\n|\n|\r)/gm, "");
- console.log('Program output:', formattedOutput);
- console.log('Saving the output in a variable...');
- var varName = getVariableName(vertex.variable_id);
- setVariable(context, varName, '"' + formattedOutput + '"', callback);
- });
-};
-
-methods.agi = function(context, vertex, callback) {
- console.log('--AGI BLOCK--');
- console.log('Executing the AGI command...');
- context.exec('AGI', vertex.command, vertex.args,
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.subproject = function(context, vertex, callback) {
- console.log('--SUBPROJECT BLOCK--');
- if (!collections.projects) {
- getProjects(false);
- }
- var project = _.find(collections.projects, {
- id: parseInt(vertex.project_id)
- });
- console.log('Moving to project ""' + project.name + '"...');
- context.exec('AGI', util.format('"agi://127.0.0.1/square,%s"', project.name),
- function(err, res) {
- callback(err, res);
- });
-};
-
-// methods.ispeechasr = function(context, vertex, callback) {
-// console.log('--ISPEECH_ASR BLOCK--');
-// // var parameters = ['/var/www/html/agisquare/agiscripts/ispeech-asr.agi', vertex.ispeech_asr_language, '', (vertex.model === '0' ? '' : vertex.model), '1', '#', '', vertex.key];
-// var parameters = [path.join(config.root, 'server/config/agi_scripts', 'ispeech-asr.agi'), vertex.ispeech_asr_language, '', (vertex.model === '0' ? '' : vertex.model), vertex.timeout, vertex.intKey,
-// vertex.beep === 'BEEP' ? '' : vertex.beep, vertex.key
-// ];
-// console.log('Calling Ispeech ASR API...');
-// context.exec('AGI', parameters.join(','),
-// function(err, res) {
-// callback(err, res);
-// });
-// };
-
-methods.ispeechasr = function(context, vertex, callback) {
- console.log('--ISPEECH_ASR BLOCK--');
- wait.for(setVariable, context, 'utterance', '"-1"');
- wait.for(setVariable, context, 'status', '"-1"');
- wait.for(setVariable, context, 'confidence', '"-1"');
- var vars = wait.for(asr, context, vertex);
- if (!_.isEmpty(vars)) {
- console.log('Saving server response into variables...');
- _.forOwn(vars, function(value, key) {
- wait.for(setVariable, context, key, '"' + value + '"');
- });
- } else {
- console.log('Error: No response from the server!');
- wait.for(setVariable, context, 'ASR_ERROR', '"No response from the server!"');
- }
-};
-
-function asr(context, vertex, callback) { //wait.for creates automatically a callback that have to be called to exit from the called function
- var item = {
- _saveName: '',
- _savePath: '',
- _convertedPath: ''
- };
- //reinitialize in case of wrong variables format passed from the function
- var vars = {};
-
- item._saveName = sr({
- length: 6
- });
-
- item._savePath = util.format("/tmp/%s.wav", item._saveName);
- // console.log('Temp file is ', item._saveName);
- var recordParams = util.format('%s,%s,,', item._savePath, vertex.timeout ? vertex.timeout : '');
- if (vertex.beep && vertex.beep !== 'BEEP') {
- recordParams += 'q';
- }
- if (vertex.intKey && vertex.intKey !== '#') {
- recordParams += 't';
- }
- context.exec('RECORD', recordParams, function(err, res) {
- if (err) {
- console.log('Asterisk record file error: ', err);
- callback(err, null);
- } else {
- console.log('Getting ASR url...');
- var url = util.format('https://api.ispeech.org/api/rest?apikey=%s&action=recognize&locale=%s', vertex.key, vertex.ispeech_asr_language);
- if (vertex.model && vertex.model !== '0') {
- url += util.format('&model=%s', encodeURIComponent(vertex.model));
- } else {
- url += '&freeform=3';
- }
- console.log('Reading temp ASR audio file...');
- Promise.promisify(fs.readFile)(item._savePath)
- .then(function(result) {
- console.log('Got audio file from filesystem, generating url...');
- var base64audio = new Buffer(result, 'binary').toString('base64');
- url += util.format('&content-type=audio/x-wav&audio=%s', base64audio);
- var options = {
- url: url
- };
- console.log('Calling ASR server...');
- return rp(options);
- })
- .then(function(asrResponse) {
- console.log('Got response from the ASR server, elaborating response...');
- asrResponse = asrResponse.split('&');
- // console.log('The ASR response is ', asrResponse);
- var property, error;
- _.forEach(asrResponse, function(elem) {
- property = elem.split('=');
- if (property.length === 2) {
- switch (property[0]) {
- case 'text':
- vars.utterance = property[1].replace(/\+/g, ' ');
- break;
- case 'result':
- if (property[1] === 'success') {
- vars.status = 0;
- }
- break;
- case 'confidence':
- vars.confidence = decodeURIComponent(property[1]);
- break;
- case 'message':
- vars.ASR_ERROR = decodeURIComponent(property[1].replace(/\+/g, ' '));
- break;
- default:
- }
- }
- });
- })
- .catch(function(err) {
- console.log('ASR request error: ', err);
- })
- .finally(function() {
- console.log('Deleting temp ASR file...');
- deleteTempFile(item._savePath);
- callback(null, vars);
- });
- }
- });
-}
-
-methods.database = function(context, vertex, callback) {
- console.log('--DATABASE BLOCK--');
- if (!collections.dbConnections) {
- getDbConnections(false);
- }
- var connection = _.find(collections.dbConnections, {
- id: parseInt(vertex.odbc_id)
- });
- console.log('Trying to get ODBC connection...');
- var squareDetail = {
- uniqueid: context.uniqueid,
- node: vertex.label,
- application: vertex.tag,
- data: vertex.query || null,
- project_name: context.project_name,
- callerid: context.callerid,
- message: 'detail'
- }
- process.send(squareDetail);
- try {
- db.openSync(connection.dsn);
- var data = db.querySync(vertex.query);
- db.closeSync();
- setVariablesMatrix(context, vertex, callback, data);
- } catch (e) {
- console.log(e.message);
- wait.for(setVariable, context, 'ERROR', 'true');
- wait.for(setVariable, context, 'MESSAGE', '"' + e.message + '"');
- }
-};
-
-methods.gotoc = function(context, vertex, callback) {
- console.log('--GOTO BLOCK--');
- console.log('Going to extension ' + vertex.extension + ' ...');
- context.exec('DIAL', util.format('Local/%s@%s', vertex.extension, vertex.context),
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.gotoif = function(context, vertex, callback) {
- console.log('--GOTOIF BLOCK--');
- var res = {
- code: 200,
- result: '0'
- };
- context.exec('NOOP', '"Condition: ' + vertex.condition + '"',
- function(err, res) {
- console.log('Evaluating condition...');
- try {
- res.data = String(eval(vertex.condition) ? 'true' : 'false');
- } catch (err) {
- console.log('Error evaluating condition, going into the false branch...');
- res.data = 'false';
- }
- console.log('The result is ' + res.data);
- callback(null, res);
- });
-};
-
-methods.hangup = function(context, vertex, callback) {
- console.log('--HANGUP BLOCK--');
- console.log('Hangin up the call...');
- context.hangup();
-};
-
-methods.noop = function(context, vertex, callback) {
- console.log('--NOOP BLOCK--');
- var output = (vertex.output) ? '\"' + vertex.output + '\"' : '\"' +
- vertex.label + '\"';
- console.log('NOOP value is ' + output);
- context.exec('NOOP', output,
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.saydigits = function(context, vertex, callback) {
- console.log('--SAYDIGITS BLOCK--');
- console.log('Saying digits...');
- context.send(util.format('SAY DIGITS %s "%s"\n', vertex.digits, vertex.escape_digits),
- function(err, res) {
- callback(err, res);
- });
-};
-
-methods.set = function(context, vertex, callback) {
- console.log('--SET BLOCK--');
- console.log('Saving value in a variable...');
- var varName = getVariableName(vertex.variable_id);
- wait.for(setVariable, context, varName, '"' + vertex.variable_value + '"');
-};
-
-function getVertices(root) {
- return _.reduce(root, function(result, edge, tag) {
-
- if (tag === 'mxcell') {
- return result;
- }
-
- if (_.isArray(edge)) {
- _.forIn(edge, function(value, key) {
- result[value.$.id] = value.$;
- result[value.$.id].tag = tag;
- });
- return result;
- }
-
- result[edge.$.id] = edge.$;
- result[edge.$.id].tag = tag;
- return result;
-
- }, {});
-}
-
-function getTargetBySource(root, source, value, menu) {
- return _.result(_.find(root.mxcell, function(edge) {
- if (edge.$.edge && edge.$.source) {
- if (edge.$.source === source) {
- if (edge.$.value && edge.$.value !== value) {
- if (menu) {
- var values = edge.$.value.split(',');
- if (_.includes(values, value)) {
- return true;
- }
- }
- return false;
- }
- return true;
- }
- }
- return false;
- }), '$.target');
-}
-
-// function replaceAllVariables(context, vertex, callback) {
-// var obj = vertex;
-// for (var key in obj) {
-// var res = obj[key].match(/{+(.*?)}/gi);
-// if (res) {
-// console.log('res', res);
-// res.forEach(function(variable, index) {
-// console.log('variable', res[index].substring(1, res[index].length - 1));
-// var value = wait.for(getVariable, context, res[index].substring(1, res[index].length - 1));
-// console.log('value', value);
-// if (value.data) {
-// obj[key] = obj[key].replace(res[index], value.data);
-// // console.log('Replace', res[index], string);
-// }
-// })
-// }
-// }
-// obj.replaced = true;
-// return obj;
-// }
-
-function recurReplace(text, context, start) { //the start parameter says that i'm at the first instance of the recursion, so I don' t have to check if the text is an asterisk variable cause I already have the wanted value
- // if (start) {
- // console.log('First call, the text arrived from function call is: ', text);
- // } else {
- // console.log('Recursive Call, the text arrived is: ', text);
- // }
- var a = 0,
- r = {},
- i;
- var count = 0;
- for (i = 0; i < text.length; i++) {
- if (text.charAt(i) === '{') {
- if (count === 0) {
- a = i;
- }
- count++;
- }
- if (text.charAt(i) === '}') {
- count--;
- if (count === 0) {
- r[text.substring(a + 1, i)] = text.substring(a + 1, i);
- }
- }
- }
- if (Object.keys(r).length !== 0) {
- // console.log('Extracted words are: ', r);
- for (var key in r) {
- // console.log('Current text element is: ', key);
- r[key] = recurReplace(key, context);
- // console.log('Replaced text is: ', r[key]);
- }
- for (var key2 in r) {
- text = text.replace(new RegExp('{' + key2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + '}', 'g'), r[key2]);
- }
- }
- if (start) {
- // console.log('Exiting recursive function!');
- return text;
- } else {
- // console.log('Returning single word value: ', text);
- var value = wait.for(getVariable, context, text);
- return value.data || '{' + text + '}';
- }
-}
-
-function replaceAllVariables(context, vertex, callback) {
- var obj = _.clone(vertex);
- for (var key in obj) {
- obj[key] = recurReplace(obj[key], context, true);
- console.log('Text after variables replace: ', obj[key]);
- }
- return obj;
-}
-
-function xstart(context) {
- var root = context.root;
- var vertices = context.vertices;
-
- if (root.start) {
- if (!_.isArray(root.start)) {
- var source = root.start.$.id;
- var res = {};
- do {
- try {
- var vertex = replaceAllVariables(context, vertices[source]);
- if (vertex) {
- if (_.isFunction(methods[vertex.tag])) {
- res = wait.for(methods[vertex.tag], context, vertex);
- } else {
- res = wait.for(methods.noop, context, vertex);
- }
- if (res.code === 200 && res.result !== '-1') {
- if (vertex.tag === 'menu' || vertex.tag === 'getdigits' || vertex.tag === 'getsecretdigits') {
- vertices[source].retry = vertex.retry;
- }
- var target = getTargetBySource(root, source, res.data, vertex.tag === 'menu');
- if (!target) {
- if (vertex.tag === 'menu') {
- if (vertex.retry > 0) {
- target = getTargetBySource(root, source, 'i', true);
- if (!target) {
- target = source;
- }
- } else {
- target = getTargetBySource(root, source, '-', true);
- }
- }
- if ((vertex.tag === 'getdigits' || vertex.tag === 'getsecretdigits') && vertex.retry > 0) {
- target = source;
- }
- if (vertex.tag === 'vswitch' && res.data !== '-') { // if I didn't find the target and I didn't fail to get the variable value I try to go to the minus branch
- target = getTargetBySource(root, source, '-');
- }
- }
- source = target;
- } else {
- source = null;
- }
- } else {
- source = null;
- }
- } catch (err) {
- console.log(err);
- }
- }
- while (source);
- console.log('No target found, hangup!');
- context.hangup();
- }
- }
-}
-
-
-function xfinally(context) {
- var root = context.root;
- var vertices = context.vertices;
-
- if (root.finally) {
- if (!_.isArray(root.finally)) {
- var source = root.finally.$.id;
- var res = {};
- do {
- try {
- var vertex = vertices[source].replaced ? vertices[source] : replaceAllVariables(context, vertices[source]);
- if (vertex) {
- if (_.isFunction(methods[vertex.tag])) {
- res = wait.for(methods[vertex.tag], context, vertex);
- } else {
- res = wait.for(methods.noop, context, vertex);
- }
- if (res.code === 200 && res.result !== '-1') {
- var target = getTargetBySource(root, source, res.data, vertex.tag === 'menu');
- if (!target) {
- if (vertex.tag === 'menu') {
- if (vertex.retry > 0) {
- target = getTargetBySource(root, source, 'i', true);
- if (!target) {
- target = source;
- }
- } else {
- target = getTargetBySource(root, source, '-', true);
- }
- }
- if (vertex.tag === 'getdigits' && vertex.retry > 0) {
- target = source;
- }
- if (vertex.tag === 'vswitch' && res.data !== '-') { // if I didn't find the target and I didn't fail to get the variable value I try to go to the minus branch
- target = getTargetBySource(root, source, '-');
- }
- }
- source = target;
- } else {
- source = null;
- }
- } else {
- source = null;
- }
- } catch (err) {
- console.log(err);
- }
- } while (source);
- context.hangup();
- console.log('No target found, stopping "Finally" branch!');
- }
- }
- context.end();
-}
-
-
-function main(context) {
-
- context.on('error', function(err) {
- console.log('//Error:', err);
- });
-
- context.on('close', function() {
- console.log('//Context close');
- });
-
- context.on('hangup', function() {
- if (context.finally) {
- context.finally = false;
- console.log('//Starting "Finally" branch!');
- wait.launchFiber(xfinally, context);
- } else {
- process.send({
- message: 'update',
- uniqueid: context.uniqueid,
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- console.log('//Context Hangup');
- }
- });
-
- context.on('response', function(res) {
- //console.log('Response:', res);
- });
-
- context.on('variables', function(vars) {
- console.log(vars);
- console.log('Received new call from: ' + vars.agi_callerid +
- ' with uniqueid: ' + vars.agi_uniqueid);
- var squareLog = {
- network: vars.agi_network,
- network_script: vars.agi_network_script,
- request: vars.agi_request,
- channel: vars.agi_channel,
- language: vars.agi_language,
- type: vars.agi_type,
- uniqueid: vars.agi_uniqueid,
- version: vars.agi_version,
- callerid: vars.agi_callerid,
- calleridname: vars.agi_calleridname,
- callingpres: vars.agi_callingpres,
- callingani2: vars.agi_callingani2,
- callington: vars.agi_callington,
- callingtns: vars.agi_callingtns,
- dnid: vars.agi_dnid,
- rdnis: vars.agi_rdnis,
- context: vars.agi_context,
- extension: vars.agi_extension,
- priority: vars.agi_priority,
- enhanced: vars.agi_enhanced,
- accountcode: vars.agi_accountcode,
- threadid: vars.agi_threadid,
- project_name: vars.agi_arg_1,
- joinAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- message: 'create'
- };
-
- process.send(squareLog);
-
- if (vars.agi_arg_1) {
- SquareProject
- .findOne({
- where: {
- name: vars.agi_arg_1
- },
- attributes: ['id', 'production']
- })
- .then(function(project) {
- if (project) {
- if (project.production) {
- xml.parseString(project.production, {
- normalizeTags: true,
- explicitArray: false
- }, function(err, result) {
- var root = result.mxgraphmodel.root;
- if (root) {
- context.root = root;
- context.finally = true;
- context.uniqueid = vars.agi_uniqueid;
- context.callerid = vars.agi_callerid;
- context.calleridname = vars.agi_calleridname;
- context.context = vars.agi_context;
- context.extension = vars.agi_extension;
- context.priority = vars.agi_priority;
- context.accountcode = vars.agi_accountcode;
- context.dnid = vars.agi_dnid;
- context.project_name = vars.agi_arg_1;
- context.vertices = getVertices(root);
- wait.launchFiber(xstart, context);
- } else {
- console.log('No root in project!');
- context.end();
- }
- });
- } else {
- console.log('No project published!');
- context.end();
- }
- } else {
- console.log('No project found!');
- context.end();
- }
- })
- .catch(function(err) {
- console.log('Error:', err);
- context.end();
- });
- } else {
- console.log('No project argument!');
- context.end();
- }
- });
-}
-
-function splitInterval(interval) {
- var finalInterval = {};
- var splittedInterval = interval.split(',');
- var intValues;
- splittedInterval.forEach(function(element, index) {
- switch (index) {
- case 0:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.t_from = moment(intValues[0], 'HH:mm');
- finalInterval.t_to = moment(intValues[1], 'HH:mm');
- } else {
- finalInterval.t_from = null;
- finalInterval.t_to = null;
- }
- break;
- case 1:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.wd_from = weekDaysCollection[intValues[0]];
- finalInterval.wd_to = intValues[1] ? weekDaysCollection[intValues[1]] : null;
- } else {
- finalInterval.wd_from = null;
- finalInterval.wd_to = null;
- }
- break;
- case 2:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.md_from = intValues[0];
- finalInterval.md_to = intValues[1] ? intValues[1] : null;
- } else {
- finalInterval.md_from = null;
- finalInterval.md_to = null;
- }
- break;
- case 3:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.m_from = monthsCollection[intValues[0]];
- finalInterval.m_to = intValues[1] ? monthsCollection[intValues[1]] : null;
- } else {
- finalInterval.m_from = null;
- finalInterval.m_to = null;
- }
- break;
- default:
-
- }
-
-
- });
- return finalInterval;
-}
-
-function isIntervalValid(interval) {
- var hour = moment().format("HH:mm");
- var day = moment().format("E");
- var monthDay = moment().format("D");
- var month = moment().format("M");
- console.log('Now: Hour: ', hour, ', Day: ', day, ', MonthDay: ', monthDay, ', Month: ', month);
- console.log('Interval:');
- console.log(' Hours:', moment(interval.t_from, "HH:mm").format('HH:mm'), ' - ', moment(interval.t_to, "HH:mm").format('HH:mm'));
- console.log(' weekday:', interval.wd_from, ' - ', interval.wd_to);
- console.log(' monthday:', interval.md_from, ' - ', interval.md_to);
- console.log(' month:', interval.m_from, ' - ', interval.m_to);
- var tValid, wdValid, mdValid, mValid;
- var monthsNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
- var weekDaysNumbers = [1, 2, 3, 4, 5, 6, 7];
- var daysOfMonthsNumbers = [];
- for (var i = 1; i <= 31; i++) {
- daysOfMonthsNumbers.push(i);
- }
- tValid = (interval.t_from && interval.t_to) ? moment(hour, "HH:mm").isBetween(moment(interval.t_from, "HH:mm"), moment(interval.t_to, "HH:mm")) : true;
- if (interval.wd_from) {
- if (interval.wd_to) {
- var validWeekdays = _.filter(weekDaysNumbers, function(elem) {
- return (elem >= interval.wd_from) && (elem <= interval.wd_to);
- });
- console.log('valid weekdays', validWeekdays);
- wdValid = (validWeekdays.indexOf(parseInt(day)) !== -1) ? true : false;
- } else {
- wdValid = (parseInt(day) === interval.wd_from) ? true : false;
- }
- } else {
- wdValid = true;
- }
- if (interval.md_from) {
- if (interval.md_to) {
- var validMonthsdays = _.filter(daysOfMonthsNumbers, function(elem) {
- return (elem >= interval.md_from) && (elem <= interval.md_to);
- });
- console.log('valid monthsdays', validMonthsdays);
- mdValid = (validMonthsdays.indexOf(parseInt(monthDay)) !== -1) ? true : false;
- } else {
- mdValid = (parseInt(monthDay) === interval.md_from) ? true : false;
- }
- } else {
- mdValid = true;
- }
- if (interval.m_from) {
- if (interval.m_to) {
- var validMonths = _.filter(monthsNumbers, function(elem) {
- return (elem >= interval.m_from) && (elem <= interval.m_to);
- });
- console.log('valid months', validMonths);
- mValid = (validMonths.indexOf(parseInt(month)) !== -1) ? true : false;
- } else {
- mValid = (parseInt(month) === interval.m_from) ? true : false;
- }
- } else {
- mValid = true;
- }
- console.log('Time is ', tValid, ', WeekDay is ', wdValid, ', MonthDay is ', mdValid, ', Month is ', mValid);
- return tValid && wdValid && mdValid && mValid;
-}
-
-function setVariable(context, name, value, callback) {
- console.log('Setting variable...');
- console.log('Sending set variable,variable is ' + name + ', value is ', value);
- context.send(util.format('SET VARIABLE %s %s\n', name, value), function(err, res) {
- if (callback) {
- callback(err, res);
- }
- });
-}
-
-function getVariableName(id) {
- if (!collections.variables) {
- getVariables(false);
- }
- var variable = {
- name: 'placeholder' //if for any reason i don't receive both the name and the id of the variable, the value will be saved in a placeholder variable
- };
- var searchVar;
- if (id) {
- searchVar = _.find(collections.variables, {
- id: parseInt(id)
- });
- }
- return searchVar ? searchVar.name : variable.name;
-}
-
-function setVariablesMatrix(context, vertex, callback, data) {
- if (data && data.length) {
- var varName = getVariableName(vertex.variable_id);
- _.forEach(data, function(row, index) {
- _.forOwn(row, function(value, key) {
- wait.for(setVariable, context, varName + '[' + index + '][' + key + ']', '"' + value + '"');
- });
- });
- wait.for(setVariable, context, varName + '_ROWS_COUNT', data.length);
- } else {
- callback(null, {
- code: 200,
- result: 0
- });
- }
-}
-
-function getVariable(context, name, callback) {
- context.getVariable(name, function(err, res) {
- if (res.code === 200 && res.result !== '0') {
- res.data = res.result.substring(res.result.lastIndexOf("(") + 1,
- res.result.lastIndexOf(")"));
- } else {
- res.data = '';
- }
- callback(null, res);
- })
-}
-
-function getFilePath(id) {
- if (!collections.sounds) {
- getSounds(false);
- }
- return Setting
- .findOne()
- .then(function(result) {
- if (id !== '-1') {
- if (result) {
- var file = _.find(collections.sounds, {
- id: parseInt(id)
- });
- return util.format('%s/%s', result.soundPath || '/var/opt/motion/server/files/sounds/converted', file.save_name);
- }
- return '';
- } else {
- return '';
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getUsers(synch) {
- return User
- .findAll()
- .then(function(result) {
- collections.users = _.clone(result);
- if (synch) {
- synchUpdates('User', 'users', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getQueues(synch) {
- return VoiceQueue
- .findAll()
- .then(function(result) {
- collections.queues = _.clone(result);
- if (synch) {
- synchUpdates('VoiceQueue', 'queues', 'name');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getVariables(synch) {
- return Variable
- .findAll()
- .then(function(result) {
- collections.variables = _.clone(result);
- if (synch) {
- synchUpdates('Variable', 'variables', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getDbConnections(synch) {
- return SquareOdbc
- .findAll()
- .then(function(result) {
- collections.dbConnections = _.clone(result);
- if (synch) {
- synchUpdates('SquareOdbc', 'dbConnections', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getIntervals(synch) {
- return Interval
- .findAll()
- .then(function(result) {
- collections.intervals = _.clone(result);
- if (synch) {
- synchUpdates('Interval', 'intervals');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getProjects(synch) {
- return SquareProject
- .findAll()
- .then(function(result) {
- collections.projects = _.clone(result);
- if (synch) {
- synchUpdates('SquareProject', 'projects', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getSounds(synch) {
- return Sound
- .findAll()
- .then(function(result) {
- collections.sounds = _.clone(result);
- if (synch) {
- synchUpdates('Sound', 'sounds', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getMailServerOut(synch) {
- return MailServerOut
- .findAll()
- .then(function(result) {
- collections.mailServerOut = _.clone(result);
- if (synch) {
- synchUpdates('MailServerOut', 'mailServerOut', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getTemplates(synch) {
- return Template
- .findAll()
- .then(function(result) {
- collections.templates = _.clone(result);
- if (synch) {
- synchUpdates('Template', 'templates', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function getSmsAccounts(synch) {
- return SmsAccount
- .findAll()
- .then(function(result) {
- collections.smsAccounts = _.clone(result);
- if (synch) {
- synchUpdates('SmsAccount', 'smsAccounts', 'id');
- }
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-
-
-function synchUpdates(model, collection, key) {
- process.send({
- message: key ? 'synch' : 'forceSynch',
- model: model,
- collection: collection,
- key: key
- });
-}
-
-function updateCollection(collection, condition, doc) {
- var oldItem = _.find(collections[collection], condition);
- if (oldItem) {
- _.merge(oldItem, doc);
- } else {
- collections[collection].unshift(doc);
- }
-}
-
-function replaceCollection(collection, doc) {
- collections[collection] = doc;
-}
-
-function getPort() {
- return function() {
- return Setting
- .findOne()
- .then(function(result) {
- if (result) {
- return result.agi_port;
- }
- })
- .catch(function(err) {
- console.log(err);
- });
- }
-}
-
-Promise
- .all([])
- .then(getPort())
- .then(function(agiPort) {
- agi.createServer(main).listen(agiPort || 4573);
- getUsers(true);
- getQueues(true);
- getVariables(true);
- getIntervals(true);
- getProjects(true);
- getSounds(true);
- getDbConnections(true);
- getMailServerOut(true);
- getTemplates(true);
- getSmsAccounts(true);
- process.on('message', function(data) {
- switch (data.message) {
- case 'updateCollection':
- updateCollection(data.collection, data.condition, data.doc);
- break;
- case 'replaceCollection':
- replaceCollection(data.collection, data.doc);
- break;
- case 'removeFromCollection':
- _.remove(collections[data.collection], data.condition);
- break;
- default:
- }
- });
- })
- .catch(function(err) {
- console.error('Failed initializing AGI service', err);
- });
+var _0x791f=["\x75\x73\x65\x20\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x67\x69","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x78\x6D\x6C\x32\x6A\x73","\x77\x61\x69\x74\x2E\x66\x6F\x72","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x70\x61\x74\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x68\x65\x6C\x6C\x6A\x73","\x62\x6C\x75\x65\x62\x69\x72\x64","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x67\x6F\x6F\x67\x6C\x65\x2D\x74\x74\x73\x2D\x61\x70\x69","\x66\x73","\x73\x6F\x78","\x72\x65\x71\x75\x65\x73\x74","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x6F\x64\x62\x63","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x53\x65\x74\x74\x69\x6E\x67","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x53\x6F\x75\x6E\x64","\x53\x71\x75\x61\x72\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x6D\x75\x73\x74\x61\x63\x68\x65","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x41\x47\x49\x20\x53\x45\x52\x56\x45\x52\x20\x45\x58\x49\x54\x45\x44\x20\x57\x49\x54\x48\x20\x43\x4F\x44\x45\x20\x25\x73\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x70\x69\x64","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x41\x47\x49\x20\x53\x45\x52\x56\x45\x52\x20\x53\x54\x41\x52\x54\x49\x4E\x47\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x61\x6E\x73\x77\x65\x72","\x2D\x2D\x41\x4E\x53\x57\x45\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x41\x6E\x73\x77\x65\x72\x69\x6E\x67\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x2E\x2E\x2E","\x41\x4E\x53\x57\x45\x52\x0A","\x73\x65\x6E\x64","\x63\x75\x73\x74\x6F\x6D\x5F\x61\x70\x70","\x2D\x2D\x43\x55\x53\x54\x4F\x4D\x20\x41\x50\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x75\x73\x74\x6F\x6D\x20\x61\x70\x70\x20\x22","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x22\x2E\x2E\x2E","\x6F\x70\x74\x69\x6F\x6E\x73","\x65\x78\x65\x63","\x64\x69\x61\x6C","\x2D\x2D\x49\x4E\x54\x45\x52\x4E\x41\x4C\x5F\x44\x49\x41\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x75\x73\x65\x72\x73","\x73\x69\x70\x5F\x69\x64","\x66\x69\x6E\x64","\x43\x61\x6C\x6C\x69\x6E\x67\x20","\x53\x49\x50\x2F\x25\x73","\x6E\x61\x6D\x65","\x2E\x2E\x2E","\x74\x69\x6D\x65\x6F\x75\x74","\x6F\x70\x74\x73","\x75\x72\x6C","\x44\x49\x41\x4C","\x2C","\x6A\x6F\x69\x6E","\x73\x74\x61\x72\x74","\x2D\x2D\x53\x54\x41\x52\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x79\x65\x73","\x65\x78\x74\x5F\x64\x69\x61\x6C","\x2D\x2D\x45\x58\x54\x45\x52\x4E\x41\x4C\x5F\x44\x49\x41\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x74\x72\x75\x6E\x6B\x5F\x6E\x61\x6D\x65","\x53\x49\x50\x2F\x25\x73\x2F\x25\x73","\x70\x68\x6F\x6E\x65","\x71\x75\x65\x75\x65","\x2D\x2D\x51\x55\x45\x55\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x71\x75\x65\x75\x65\x73","\x71\x75\x65\x75\x65\x5F\x69\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x6C\x61\x62\x65\x6C","\x74\x61\x67","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x6E\x61\x6D\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64","\x64\x65\x74\x61\x69\x6C","\x6D\x61\x63\x72\x6F","\x67\x6F\x73\x75\x62","","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4A\x6F\x69\x6E\x69\x6E\x67\x20","\x20\x71\x75\x65\x75\x65\x2E\x2E\x2E","\x51\x55\x45\x55\x45","\x74\x68\x65\x6E","\x66\x69\x6C\x65\x5F\x69\x64","\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2D\x2D\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6D\x61\x69\x6C\x62\x6F\x78","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x2E\x2E","\x56\x4F\x49\x43\x45\x4D\x41\x49\x4C","\x63\x61\x6C\x6C\x62\x61\x63\x6B","\x2D\x2D\x43\x41\x4C\x4C\x42\x41\x43\x4B\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x50\x4F\x53\x54","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x2F\x61\x70\x69\x2F\x72\x65\x73\x74\x2F\x63\x6F\x6E\x74\x61\x63\x74\x2F\x69\x6E\x73\x65\x72\x74","\x6C\x69\x73\x74\x5F\x69\x64","\x73\x70\x6C\x69\x74","\x74\x72\x69\x6D","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x64\x65\x6C\x61\x79","\x6D\x69\x6E\x75\x74\x65\x73","\x61\x64\x64","\x54\x44\x20\x66\x69\x6E\x61\x6C\x6C\x79","\x66\x69\x6E\x61\x6C\x6C\x79","\x54\x44\x20\x70\x72\x6F\x62\x6C\x65\x6D\x20\x77\x69\x74\x68\x20\x72\x65\x71\x75\x65\x73\x74\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x63\x61\x74\x63\x68","\x73\x74\x61\x74\x75\x73","\x72\x65\x73\x70\x6F\x6E\x73\x65","\x65\x72\x72\x6F\x72\x73","\x52\x4D\x49","\x6D\x61\x74\x68","\x2D\x2D\x4D\x41\x54\x48\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x43\x61\x6C\x63\x75\x6C\x61\x74\x69\x6E\x67\x20\x65\x78\x70\x72\x65\x73\x73\x69\x6F\x6E\x2E\x2E\x2E","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x53\x61\x76\x69\x6E\x67\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x6E\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64","\x69\x73\x41\x72\x72\x61\x79","\x5B","\x5D","\x22","\x66\x6F\x72","\x66\x6F\x72\x45\x61\x63\x68","\x45\x72\x72\x6F\x72\x20\x65\x76\x61\x6C\x75\x61\x74\x69\x6E\x67\x20\x65\x78\x70\x72\x65\x73\x73\x69\x6F\x6E","\x70\x6C\x61\x79\x62\x61\x63\x6B","\x2D\x2D\x50\x4C\x41\x59\x42\x41\x43\x4B\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x70\x6C\x61\x79\x62\x61\x63\x6B\x2E\x2E\x2E","\x50\x4C\x41\x59\x42\x41\x43\x4B","\x6D\x65\x6E\x75","\x2D\x2D\x4D\x45\x4E\x55\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x54\x68\x65\x72\x65\x20\x61\x72\x65\x20","\x72\x65\x74\x72\x79","\x20\x72\x65\x74\x72\x69\x65\x73","\x41\x6E\x6E\x6F\x75\x6E\x63\x69\x6E\x67\x20\x61\x6E\x64\x20\x77\x61\x69\x74\x69\x6E\x67\x20\x66\x6F\x72\x20\x75\x73\x65\x72\x20\x65\x6E\x74\x72\x79\x2E\x2E\x2E","\x47\x45\x54\x20\x44\x41\x54\x41\x20\x25\x73\x20\x25\x73\x20\x25\x73\x0A","\x64\x69\x67\x69\x74","\x72\x65\x73\x75\x6C\x74","\x28\x74\x69\x6D\x65\x6F\x75\x74\x29","\x72\x65\x70\x6C\x61\x63\x65","\x6C\x65\x6E\x67\x74\x68","\x2D\x31","\x64\x61\x74\x61","\x53\x61\x76\x69\x6E\x67\x20\x75\x73\x65\x72\x20\x65\x6E\x74\x72\x79\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x4D\x65\x6E\x75\x20\x74\x69\x6D\x65\x6F\x75\x74\x21","\x30","\x74","\x52\x75\x6E\x20\x6F\x75\x74\x20\x6F\x66\x20\x72\x65\x74\x72\x69\x65\x73\x21","\x2D","\x73\x61\x79\x6E\x75\x6D\x62\x65\x72","\x2D\x2D\x53\x41\x59\x4E\x55\x4D\x42\x45\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x6E\x75\x6D\x62\x65\x72\x2E\x2E\x2E","\x53\x41\x59\x20\x4E\x55\x4D\x42\x45\x52\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x6E\x75\x6D\x62\x65\x72","\x65\x73\x63\x61\x70\x65\x5F\x64\x69\x67\x69\x74\x73","\x73\x61\x79\x70\x68\x6F\x6E\x65\x74\x69\x63","\x2D\x2D\x53\x41\x59\x50\x48\x4F\x4E\x45\x54\x49\x43\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x70\x68\x6F\x6E\x65\x74\x69\x63\x2E\x2E\x2E","\x53\x41\x59\x20\x50\x48\x4F\x4E\x45\x54\x49\x43\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x74\x65\x78\x74","\x74\x74\x73","\x2D\x2D\x47\x4F\x4F\x47\x4C\x45\x5F\x54\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x6F\x6F\x67\x6C\x65\x20\x54\x54\x53\x20\x65\x72\x72\x6F\x72\x3A\x20","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x47\x6F\x6F\x67\x6C\x65\x20\x54\x54\x53\x20\x41\x50\x49\x2E\x2E\x2E","\x67\x6F\x6F\x67\x6C\x65\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x5F\x73\x61\x76\x65\x4E\x61\x6D\x65","\x5F\x73\x61\x76\x65\x50\x61\x74\x68","\x2F\x74\x6D\x70\x2F\x25\x73\x2E\x6D\x70\x33","\x63\x72\x65\x61\x74\x65\x57\x72\x69\x74\x65\x53\x74\x72\x65\x61\x6D","\x65\x6E\x64","\x47\x6F\x74\x20\x61\x75\x64\x69\x6F\x20\x62\x75\x66\x66\x65\x72\x21","\x41\x75\x64\x69\x6F\x20\x73\x61\x76\x65\x64\x20\x74\x6F\x20","\x5F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x50\x61\x74\x68","\x2F\x74\x6D\x70\x2F\x25\x73\x2E\x77\x61\x76","\x53\x65\x74\x74\x69\x6E\x67\x20\x6F\x72\x69\x67\x69\x6E\x61\x6C\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x20\x61\x63\x63\x65\x73\x73\x20\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x73\x21","\x30\x37\x37\x37","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x43\x6F\x6E\x76\x65\x72\x74\x69\x6E\x67\x20\x6F\x72\x69\x67\x69\x6E\x61\x6C\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x20\x61\x6E\x64\x20\x73\x61\x76\x69\x6E\x67\x20\x69\x6E\x20","\x77\x61\x76","\x74\x72\x61\x6E\x73\x63\x6F\x64\x65","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x54\x54\x53\x20\x61\x75\x64\x69\x6F\x20\x43\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x45\x72\x72\x6F\x72\x3A\x20","\x54\x54\x53\x20\x61\x75\x64\x69\x6F\x20\x63\x6F\x6E\x76\x65\x72\x73\x69\x6F\x6E\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x53\x65\x74\x74\x69\x6E\x67\x20\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x20\x61\x63\x63\x65\x73\x73\x20\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x73\x21","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x61\x73\x74\x65\x72\x69\x73\x6B\x20\x70\x6C\x61\x79\x62\x61\x63\x6B\x2E\x2E\x2E","\x2F\x74\x6D\x70\x2F\x25\x73","\x41\x73\x74\x65\x72\x69\x73\x6B\x20\x70\x6C\x61\x79\x62\x61\x63\x6B\x20\x65\x72\x72\x6F\x72\x3A\x20","\x44\x65\x6C\x65\x74\x69\x6E\x67\x20\x74\x65\x6D\x70\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x73\x2E\x2E\x2E","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x61\x73\x74\x65\x72\x69\x73\x6B\x20\x73\x74\x72\x65\x61\x6D\x20\x66\x69\x6C\x65\x2E\x2E\x2E","\x53\x54\x52\x45\x41\x4D\x20\x46\x49\x4C\x45\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x69\x6E\x74\x4B\x65\x79","\x41\x73\x74\x65\x72\x69\x73\x6B\x20\x73\x74\x72\x65\x61\x6D\x20\x66\x69\x6C\x65\x20\x65\x72\x72\x6F\x72\x3A\x20","\x73\x74\x72\x65\x61\x6D","\x77\x72\x69\x74\x65","\x54\x54\x53\x20\x72\x65\x71\x75\x65\x73\x74\x20\x65\x72\x72\x6F\x72\x3A","\x67\x65\x74","\x54\x65\x6D\x70\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x20","\x20\x64\x65\x6C\x65\x74\x65\x64\x21","\x75\x6E\x6C\x69\x6E\x6B","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x69\x73\x70\x65\x65\x63\x68\x74\x74\x73","\x2D\x2D\x49\x53\x50\x45\x45\x43\x48\x5F\x54\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x61\x70\x69\x2E\x69\x73\x70\x65\x65\x63\x68\x2E\x6F\x72\x67\x2F\x61\x70\x69\x2F\x72\x65\x73\x74\x3F\x61\x70\x69\x6B\x65\x79\x3D\x25\x73\x26\x61\x63\x74\x69\x6F\x6E\x3D\x63\x6F\x6E\x76\x65\x72\x74\x26\x74\x65\x78\x74\x3D\x25\x73\x26\x76\x6F\x69\x63\x65\x3D\x25\x73\x26\x73\x70\x65\x65\x64\x3D\x25\x73\x26\x66\x6F\x72\x6D\x61\x74\x3D\x6D\x70\x33","\x6B\x65\x79","\x69\x73\x70\x65\x65\x63\x68\x5F\x74\x74\x73\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x73\x70\x65\x65\x64","\x54\x68\x65\x20\x69\x73\x70\x65\x65\x63\x68\x20\x74\x74\x73\x20\x75\x72\x6C\x20\x69\x73\x3A\x20","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x69\x53\x70\x65\x65\x63\x68\x20\x54\x54\x53\x20\x41\x50\x49\x2E\x2E\x2E","\x69\x53\x50\x65\x65\x63\x68\x20\x54\x54\x53\x20\x65\x72\x72\x6F\x72\x3A\x20","\x67\x65\x74\x64\x69\x67\x69\x74\x73","\x2D\x2D\x47\x45\x54\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6D\x61\x78\x64\x69\x67\x69\x74","\x6D\x69\x6E\x64\x69\x67\x69\x74","\x54\x68\x65\x72\x65\x20\x69\x73\x20\x61\x20\x72\x65\x73\x75\x6C\x74\x2C\x20\x69\x73\x20\x6F\x76\x65\x72\x20\x74\x68\x65\x20\x6D\x69\x6E\x69\x6D\x75\x6D\x20\x6C\x65\x6E\x67\x74\x68\x20\x61\x6E\x64\x20\x6E\x6F\x74\x20\x64\x75\x65\x20\x74\x6F\x20\x61\x6E\x20\x68\x61\x6E\x67\x75\x70\x21","\x78","\x56\x61\x72\x69\x61\x62\x6C\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x75\x6E\x61\x62\x6C\x65\x20\x74\x6F\x20\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6C\x74\x21","\x69","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x68\x61\x6E\x67\x75\x70\x21","\x4E\x6F\x20\x65\x6E\x74\x72\x79\x20\x6F\x72\x20\x6E\x6F\x74\x20\x6C\x6F\x6E\x67\x20\x65\x6E\x6F\x75\x67\x68\x21","\x67\x65\x74\x73\x65\x63\x72\x65\x74\x64\x69\x67\x69\x74\x73","\x2D\x2D\x47\x45\x54\x53\x45\x43\x52\x45\x54\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x68\x69\x64\x64\x65\x6E\x64\x69\x67\x69\x74\x73\x6E\x75\x6D","\x68\x69\x64\x64\x65\x6E\x64\x69\x67\x69\x74\x73\x70\x6F\x73","\x66\x69\x72\x73\x74","\x2A","\x72\x65\x63\x6F\x72\x64","\x2D\x2D\x52\x45\x43\x4F\x52\x44\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x63\x61\x6C\x6C\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x2E\x2E","\x52\x45\x43\x4F\x52\x44\x20\x46\x49\x4C\x45\x20\x25\x73\x20\x25\x73\x20\x22\x25\x73\x22\x20\x25\x73\x20\x25\x73\x20\x25\x73\x20\x25\x73\x0A","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x5F","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x46\x6F\x72\x6D\x61\x74","\x63\x6F\x64\x65","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20","\x3A","\x20\x62\x6C\x6F\x63\x6B\x20\x6C\x6F\x67","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x64\x6E\x69\x64","\x66\x69\x6C\x65","\x2E\x77\x61\x76","\x63\x72\x65\x61\x74\x65","\x53\x61\x76\x69\x6E\x67\x20\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x66\x69\x6C\x65\x6E\x61\x6D\x65\x20\x69\x6E\x20\x52\x45\x43\x4F\x52\x44\x49\x4E\x47\x5F\x53\x41\x56\x45\x4E\x41\x4D\x45\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x53\x45\x54\x20\x56\x41\x52\x49\x41\x42\x4C\x45\x20\x25\x73\x20\x25\x73\x0A","\x52\x45\x43\x4F\x52\x44\x49\x4E\x47\x5F\x53\x41\x56\x45\x4E\x41\x4D\x45","\x67\x6F\x74\x6F\x69\x66\x74\x69\x6D\x65","\x2D\x2D\x47\x4F\x54\x4F\x49\x46\x54\x49\x4D\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x66\x61\x6C\x73\x65","\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C\x5F\x69\x64","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x69\x64","\x66\x69\x6C\x74\x65\x72","\x49\x73\x20\x61\x20\x67\x72\x6F\x75\x70\x20\x6F\x66\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x21","\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x21","\x43\x68\x65\x63\x6B\x69\x6E\x67\x20\x69\x66\x20\x61\x74\x20\x6C\x65\x61\x73\x74\x20\x6F\x6E\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x2E\x2E\x2E","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x49\x6E\x74\x65\x72\x76\x61\x6C\x20","\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x21","\x74\x72\x75\x65","\x54\x68\x65\x72\x65\x20\x61\x72\x65\x20\x6E\x6F\x20\x73\x75\x62\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x2C\x20\x73\x6F\x20\x69\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x61\x6C\x77\x61\x79\x73\x20\x74\x72\x75\x65\x21","\x49\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x21","\x54\x68\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x21","\x54\x68\x65\x20\x66\x69\x6E\x61\x6C\x20\x72\x65\x73\x75\x6C\x74\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x20\x69\x73\x20\x22","\x22\x21","\x76\x73\x77\x69\x74\x63\x68","\x2D\x2D\x56\x41\x52\x49\x41\x42\x4C\x45\x5F\x53\x57\x49\x54\x43\x48\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x65\x74\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x76\x61\x6C\x75\x65\x20\x61\x6E\x64\x20\x73\x65\x61\x72\x63\x68\x69\x6E\x67\x20\x74\x68\x65\x20\x72\x69\x67\x68\x74\x20\x65\x78\x69\x74\x2E\x2E\x2E","\x67\x6F\x61\x6C","\x67\x6F\x61\x6C\x6E\x61\x6D\x65","\x31","\x73\x65\x6E\x64\x6D\x61\x69\x6C","\x2D\x2D\x73\x65\x6E\x64\x4D\x61\x69\x6C\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x61\x63\x63\x6F\x75\x6E\x74\x5F\x69\x64","\x6D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x74\x6F","\x63\x63","\x73\x75\x62\x6A\x65\x63\x74","\x63\x72\x65\x61\x74\x65\x4D\x61\x69\x6C","\x74\x65\x6D\x70\x6C\x61\x74\x65\x5F\x69\x64","\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x66\x72\x6F\x6D","\x68\x74\x6D\x6C","\x72\x65\x6E\x64\x65\x72","\x45\x72\x72\x6F\x72\x20\x66\x69\x6E\x64\x69\x6E\x67\x20\x74\x65\x6D\x70\x6C\x61\x74\x65","\x45\x72\x72\x6F\x72\x20\x66\x69\x6E\x64\x69\x6E\x67\x20\x6D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x20\x61\x64\x64\x72\x65\x73\x73","\x45\x72\x72\x6F\x72\x20\x66\x69\x6E\x64\x69\x6E\x67\x20\x67\x65\x6E\x65\x72\x61\x6C\x20\x53\x4D\x54\x50\x20\x61\x64\x64\x72\x65\x73\x73","\x54\x68\x65\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x64\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x69\x73\x20\x6E\x6F\x74\x20\x76\x61\x6C\x69\x64","\x73\x65\x6E\x64\x73\x6D\x73","\x2D\x2D\x73\x65\x6E\x64\x53\x4D\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x73\x6D\x73\x5F\x74\x65\x78\x74","\x63\x72\x65\x61\x74\x65\x53\x6D\x73","\x73\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74\x73","\x74\x79\x70\x65","\x74\x77\x69\x6C\x69\x6F","\x74\x65\x73\x74","\x2B","\x45\x72\x72\x6F\x72\x20\x66\x69\x6E\x64\x69\x6E\x67\x20\x53\x4D\x53\x20\x61\x63\x63\x6F\x75\x6E\x74","\x73\x79\x73\x74\x65\x6D","\x2D\x2D\x53\x59\x53\x54\x45\x4D\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x63\x6F\x6D\x6D\x61\x6E\x64","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x73\x79\x73\x74\x65\x6D\x20\x63\x6F\x6D\x6D\x61\x6E\x64\x2E\x2E\x2E","\x50\x72\x6F\x67\x72\x61\x6D\x20\x6F\x75\x74\x70\x75\x74\x3A","\x53\x61\x76\x69\x6E\x67\x20\x74\x68\x65\x20\x6F\x75\x74\x70\x75\x74\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x2D\x2D\x41\x47\x49\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x41\x47\x49\x20\x63\x6F\x6D\x6D\x61\x6E\x64\x2E\x2E\x2E","\x41\x47\x49","\x61\x72\x67\x73","\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74","\x2D\x2D\x53\x55\x42\x50\x52\x4F\x4A\x45\x43\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x70\x72\x6F\x6A\x65\x63\x74\x73","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64","\x4D\x6F\x76\x69\x6E\x67\x20\x74\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x22\x22","\x22\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x25\x73\x22","\x69\x73\x70\x65\x65\x63\x68\x61\x73\x72","\x2D\x2D\x49\x53\x50\x45\x45\x43\x48\x5F\x41\x53\x52\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x75\x74\x74\x65\x72\x61\x6E\x63\x65","\x22\x2D\x31\x22","\x63\x6F\x6E\x66\x69\x64\x65\x6E\x63\x65","\x69\x73\x45\x6D\x70\x74\x79","\x53\x61\x76\x69\x6E\x67\x20\x73\x65\x72\x76\x65\x72\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x20\x69\x6E\x74\x6F\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73\x2E\x2E\x2E","\x66\x6F\x72\x4F\x77\x6E","\x45\x72\x72\x6F\x72\x3A\x20\x4E\x6F\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x20\x66\x72\x6F\x6D\x20\x74\x68\x65\x20\x73\x65\x72\x76\x65\x72\x21","\x41\x53\x52\x5F\x45\x52\x52\x4F\x52","\x22\x4E\x6F\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x20\x66\x72\x6F\x6D\x20\x74\x68\x65\x20\x73\x65\x72\x76\x65\x72\x21\x22","\x25\x73\x2C\x25\x73\x2C\x2C","\x62\x65\x65\x70","\x42\x45\x45\x50","\x71","\x23","\x52\x45\x43\x4F\x52\x44","\x41\x73\x74\x65\x72\x69\x73\x6B\x20\x72\x65\x63\x6F\x72\x64\x20\x66\x69\x6C\x65\x20\x65\x72\x72\x6F\x72\x3A\x20","\x47\x65\x74\x74\x69\x6E\x67\x20\x41\x53\x52\x20\x75\x72\x6C\x2E\x2E\x2E","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x61\x70\x69\x2E\x69\x73\x70\x65\x65\x63\x68\x2E\x6F\x72\x67\x2F\x61\x70\x69\x2F\x72\x65\x73\x74\x3F\x61\x70\x69\x6B\x65\x79\x3D\x25\x73\x26\x61\x63\x74\x69\x6F\x6E\x3D\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x26\x6C\x6F\x63\x61\x6C\x65\x3D\x25\x73","\x69\x73\x70\x65\x65\x63\x68\x5F\x61\x73\x72\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x6D\x6F\x64\x65\x6C","\x26\x6D\x6F\x64\x65\x6C\x3D\x25\x73","\x26\x66\x72\x65\x65\x66\x6F\x72\x6D\x3D\x33","\x52\x65\x61\x64\x69\x6E\x67\x20\x74\x65\x6D\x70\x20\x41\x53\x52\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x2E\x2E\x2E","\x44\x65\x6C\x65\x74\x69\x6E\x67\x20\x74\x65\x6D\x70\x20\x41\x53\x52\x20\x66\x69\x6C\x65\x2E\x2E\x2E","\x41\x53\x52\x20\x72\x65\x71\x75\x65\x73\x74\x20\x65\x72\x72\x6F\x72\x3A\x20","\x47\x6F\x74\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x20\x66\x72\x6F\x6D\x20\x74\x68\x65\x20\x41\x53\x52\x20\x73\x65\x72\x76\x65\x72\x2C\x20\x65\x6C\x61\x62\x6F\x72\x61\x74\x69\x6E\x67\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x2E\x2E\x2E","\x26","\x3D","\x20","\x73\x75\x63\x63\x65\x73\x73","\x47\x6F\x74\x20\x61\x75\x64\x69\x6F\x20\x66\x69\x6C\x65\x20\x66\x72\x6F\x6D\x20\x66\x69\x6C\x65\x73\x79\x73\x74\x65\x6D\x2C\x20\x67\x65\x6E\x65\x72\x61\x74\x69\x6E\x67\x20\x75\x72\x6C\x2E\x2E\x2E","\x62\x61\x73\x65\x36\x34","\x62\x69\x6E\x61\x72\x79","\x26\x63\x6F\x6E\x74\x65\x6E\x74\x2D\x74\x79\x70\x65\x3D\x61\x75\x64\x69\x6F\x2F\x78\x2D\x77\x61\x76\x26\x61\x75\x64\x69\x6F\x3D\x25\x73","\x43\x61\x6C\x6C\x69\x6E\x67\x20\x41\x53\x52\x20\x73\x65\x72\x76\x65\x72\x2E\x2E\x2E","\x72\x65\x61\x64\x46\x69\x6C\x65","\x64\x61\x74\x61\x62\x61\x73\x65","\x2D\x2D\x44\x41\x54\x41\x42\x41\x53\x45\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x64\x62\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x73","\x6F\x64\x62\x63\x5F\x69\x64","\x54\x72\x79\x69\x6E\x67\x20\x74\x6F\x20\x67\x65\x74\x20\x4F\x44\x42\x43\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x2E\x2E\x2E","\x71\x75\x65\x72\x79","\x64\x73\x6E","\x6F\x70\x65\x6E\x53\x79\x6E\x63","\x71\x75\x65\x72\x79\x53\x79\x6E\x63","\x63\x6C\x6F\x73\x65\x53\x79\x6E\x63","\x45\x52\x52\x4F\x52","\x4D\x45\x53\x53\x41\x47\x45","\x67\x6F\x74\x6F\x63","\x2D\x2D\x47\x4F\x54\x4F\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x47\x6F\x69\x6E\x67\x20\x74\x6F\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20","\x20\x2E\x2E\x2E","\x4C\x6F\x63\x61\x6C\x2F\x25\x73\x40\x25\x73","\x67\x6F\x74\x6F\x69\x66","\x2D\x2D\x47\x4F\x54\x4F\x49\x46\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x4E\x4F\x4F\x50","\x22\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x3A\x20","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x45\x76\x61\x6C\x75\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2E\x2E\x2E","\x45\x72\x72\x6F\x72\x20\x65\x76\x61\x6C\x75\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x2C\x20\x67\x6F\x69\x6E\x67\x20\x69\x6E\x74\x6F\x20\x74\x68\x65\x20\x66\x61\x6C\x73\x65\x20\x62\x72\x61\x6E\x63\x68\x2E\x2E\x2E","\x54\x68\x65\x20\x72\x65\x73\x75\x6C\x74\x20\x69\x73\x20","\x68\x61\x6E\x67\x75\x70","\x2D\x2D\x48\x41\x4E\x47\x55\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x48\x61\x6E\x67\x69\x6E\x20\x75\x70\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x2E\x2E\x2E","\x6E\x6F\x6F\x70","\x2D\x2D\x4E\x4F\x4F\x50\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x6F\x75\x74\x70\x75\x74","\x4E\x4F\x4F\x50\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20","\x73\x61\x79\x64\x69\x67\x69\x74\x73","\x2D\x2D\x53\x41\x59\x44\x49\x47\x49\x54\x53\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x79\x69\x6E\x67\x20\x64\x69\x67\x69\x74\x73\x2E\x2E\x2E","\x53\x41\x59\x20\x44\x49\x47\x49\x54\x53\x20\x25\x73\x20\x22\x25\x73\x22\x0A","\x64\x69\x67\x69\x74\x73","\x73\x65\x74","\x2D\x2D\x53\x45\x54\x20\x42\x4C\x4F\x43\x4B\x2D\x2D","\x53\x61\x76\x69\x6E\x67\x20\x76\x61\x6C\x75\x65\x20\x69\x6E\x20\x61\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x76\x61\x6C\x75\x65","\x6D\x78\x63\x65\x6C\x6C","\x24","\x66\x6F\x72\x49\x6E","\x72\x65\x64\x75\x63\x65","\x65\x64\x67\x65","\x73\x6F\x75\x72\x63\x65","\x76\x61\x6C\x75\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x24\x2E\x74\x61\x72\x67\x65\x74","\x63\x68\x61\x72\x41\x74","\x7B","\x7D","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x6B\x65\x79\x73","\x5C\x24\x26","\x67","\x63\x6C\x6F\x6E\x65","\x54\x65\x78\x74\x20\x61\x66\x74\x65\x72\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x72\x65\x70\x6C\x61\x63\x65\x3A\x20","\x76\x65\x72\x74\x69\x63\x65\x73","\x69\x73\x46\x75\x6E\x63\x74\x69\x6F\x6E","\x4E\x6F\x20\x74\x61\x72\x67\x65\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x68\x61\x6E\x67\x75\x70\x21","\x72\x65\x70\x6C\x61\x63\x65\x64","\x4E\x6F\x20\x74\x61\x72\x67\x65\x74\x20\x66\x6F\x75\x6E\x64\x2C\x20\x73\x74\x6F\x70\x70\x69\x6E\x67\x20\x22\x46\x69\x6E\x61\x6C\x6C\x79\x22\x20\x62\x72\x61\x6E\x63\x68\x21","\x2F\x2F\x45\x72\x72\x6F\x72\x3A","\x2F\x2F\x43\x6F\x6E\x74\x65\x78\x74\x20\x63\x6C\x6F\x73\x65","\x2F\x2F\x53\x74\x61\x72\x74\x69\x6E\x67\x20\x22\x46\x69\x6E\x61\x6C\x6C\x79\x22\x20\x62\x72\x61\x6E\x63\x68\x21","\x6C\x61\x75\x6E\x63\x68\x46\x69\x62\x65\x72","\x75\x70\x64\x61\x74\x65","\x2F\x2F\x43\x6F\x6E\x74\x65\x78\x74\x20\x48\x61\x6E\x67\x75\x70","\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x6E\x65\x77\x20\x63\x61\x6C\x6C\x20\x66\x72\x6F\x6D\x3A\x20","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x65\x72\x69\x64","\x20\x77\x69\x74\x68\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x3A\x20","\x61\x67\x69\x5F\x75\x6E\x69\x71\x75\x65\x69\x64","\x61\x67\x69\x5F\x6E\x65\x74\x77\x6F\x72\x6B","\x61\x67\x69\x5F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x73\x63\x72\x69\x70\x74","\x61\x67\x69\x5F\x72\x65\x71\x75\x65\x73\x74","\x61\x67\x69\x5F\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x67\x69\x5F\x6C\x61\x6E\x67\x75\x61\x67\x65","\x61\x67\x69\x5F\x74\x79\x70\x65","\x61\x67\x69\x5F\x76\x65\x72\x73\x69\x6F\x6E","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x70\x72\x65\x73","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x61\x6E\x69\x32","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x74\x6F\x6E","\x61\x67\x69\x5F\x63\x61\x6C\x6C\x69\x6E\x67\x74\x6E\x73","\x61\x67\x69\x5F\x64\x6E\x69\x64","\x61\x67\x69\x5F\x72\x64\x6E\x69\x73","\x61\x67\x69\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x61\x67\x69\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x61\x67\x69\x5F\x70\x72\x69\x6F\x72\x69\x74\x79","\x61\x67\x69\x5F\x65\x6E\x68\x61\x6E\x63\x65\x64","\x61\x67\x69\x5F\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x61\x67\x69\x5F\x74\x68\x72\x65\x61\x64\x69\x64","\x61\x67\x69\x5F\x61\x72\x67\x5F\x31","\x45\x72\x72\x6F\x72\x3A","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x6D\x78\x67\x72\x61\x70\x68\x6D\x6F\x64\x65\x6C","\x4E\x6F\x20\x72\x6F\x6F\x74\x20\x69\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74\x21","\x70\x61\x72\x73\x65\x53\x74\x72\x69\x6E\x67","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x70\x75\x62\x6C\x69\x73\x68\x65\x64\x21","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x66\x6F\x75\x6E\x64\x21","\x66\x69\x6E\x64\x4F\x6E\x65","\x4E\x6F\x20\x70\x72\x6F\x6A\x65\x63\x74\x20\x61\x72\x67\x75\x6D\x65\x6E\x74\x21","\x74\x5F\x66\x72\x6F\x6D","\x48\x48\x3A\x6D\x6D","\x74\x5F\x74\x6F","\x77\x64\x5F\x66\x72\x6F\x6D","\x77\x64\x5F\x74\x6F","\x6D\x64\x5F\x66\x72\x6F\x6D","\x6D\x64\x5F\x74\x6F","\x6D\x5F\x66\x72\x6F\x6D","\x6D\x5F\x74\x6F","\x45","\x44","\x4D","\x4E\x6F\x77\x3A\x20\x48\x6F\x75\x72\x3A\x20","\x2C\x20\x44\x61\x79\x3A\x20","\x2C\x20\x4D\x6F\x6E\x74\x68\x44\x61\x79\x3A\x20","\x2C\x20\x4D\x6F\x6E\x74\x68\x3A\x20","\x49\x6E\x74\x65\x72\x76\x61\x6C\x3A","\x20\x48\x6F\x75\x72\x73\x3A","\x20\x2D\x20","\x20\x77\x65\x65\x6B\x64\x61\x79\x3A","\x20\x6D\x6F\x6E\x74\x68\x64\x61\x79\x3A","\x20\x6D\x6F\x6E\x74\x68\x3A","\x70\x75\x73\x68","\x69\x73\x42\x65\x74\x77\x65\x65\x6E","\x76\x61\x6C\x69\x64\x20\x77\x65\x65\x6B\x64\x61\x79\x73","\x69\x6E\x64\x65\x78\x4F\x66","\x76\x61\x6C\x69\x64\x20\x6D\x6F\x6E\x74\x68\x73\x64\x61\x79\x73","\x76\x61\x6C\x69\x64\x20\x6D\x6F\x6E\x74\x68\x73","\x54\x69\x6D\x65\x20\x69\x73\x20","\x2C\x20\x57\x65\x65\x6B\x44\x61\x79\x20\x69\x73\x20","\x2C\x20\x4D\x6F\x6E\x74\x68\x44\x61\x79\x20\x69\x73\x20","\x2C\x20\x4D\x6F\x6E\x74\x68\x20\x69\x73\x20","\x53\x65\x74\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x2E\x2E","\x53\x65\x6E\x64\x69\x6E\x67\x20\x73\x65\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x2C\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x69\x73\x20","\x2C\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20","\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x5D\x5B","\x5F\x52\x4F\x57\x53\x5F\x43\x4F\x55\x4E\x54","\x28","\x6C\x61\x73\x74\x49\x6E\x64\x65\x78\x4F\x66","\x29","\x67\x65\x74\x56\x61\x72\x69\x61\x62\x6C\x65","\x73\x6F\x75\x6E\x64\x73","\x25\x73\x2F\x25\x73","\x73\x6F\x75\x6E\x64\x50\x61\x74\x68","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x73\x61\x76\x65\x5F\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x79\x6E\x63\x68","\x66\x6F\x72\x63\x65\x53\x79\x6E\x63\x68","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x61\x67\x69\x5F\x70\x6F\x72\x74","\x46\x61\x69\x6C\x65\x64\x20\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x69\x6E\x67\x20\x41\x47\x49\x20\x73\x65\x72\x76\x69\x63\x65","\x6C\x69\x73\x74\x65\x6E","\x63\x72\x65\x61\x74\x65\x53\x65\x72\x76\x65\x72","\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x64\x6F\x63","\x75\x70\x64\x61\x74\x65\x43\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x72\x65\x70\x6C\x61\x63\x65\x43\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x76\x65","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x43\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x61\x6C\x6C"];_0x791f[0];var _=require(_0x791f[1]);var agi=require(_0x791f[2]);var util=require(_0x791f[3]);var moment=require(_0x791f[4]);var xml=require(_0x791f[5]);var wait=require(_0x791f[6]);var sr=require(_0x791f[7]);var path=require(_0x791f[8]);var config=require(_0x791f[9]);var sh=require(_0x791f[10]);var Promise=require(_0x791f[11]);var rp=require(_0x791f[12]);const googleTTS=require(_0x791f[13]);const fs=require(_0x791f[14]);const sox=require(_0x791f[15]);const request=require(_0x791f[16]);const base64=require(_0x791f[17]);var db=require(_0x791f[18])();var SquareProject=require(_0x791f[20])[_0x791f[19]];var Variable=require(_0x791f[20])[_0x791f[21]];var SquareOdbc=require(_0x791f[20])[_0x791f[22]];var Setting=require(_0x791f[20])[_0x791f[23]];var User=require(_0x791f[20])[_0x791f[24]];var VoiceQueue=require(_0x791f[20])[_0x791f[25]];var Interval=require(_0x791f[20])[_0x791f[26]];var Sound=require(_0x791f[20])[_0x791f[27]];var SquareRecording=require(_0x791f[20])[_0x791f[28]];var SmsAccount=require(_0x791f[20])[_0x791f[29]];var MailServerOut=require(_0x791f[20])[_0x791f[30]];var Mustache=require(_0x791f[31]);var Template=require(_0x791f[20])[_0x791f[32]];var collections={};var weekDaysCollection={mon:1,tue:2,wed:3,thu:4,fri:5,sat:6,sun:7};var monthsCollection={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};var methods={};process[_0x791f[34]](_0x791f[35],function(_0x712dx25){console[_0x791f[39]](util[_0x791f[38]](_0x791f[36],_0x712dx25,process[_0x791f[37]]))})[_0x791f[34]](_0x791f[33],function(_0x712dx24){console[_0x791f[33]](_0x712dx24)});console[_0x791f[39]](util[_0x791f[38]](_0x791f[40],process[_0x791f[37]]));methods[_0x791f[41]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[42]);console[_0x791f[39]](_0x791f[43]);_0x712dx26[_0x791f[45]](_0x791f[44],function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[46]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[47]);console[_0x791f[39]](_0x791f[48]+ _0x712dx27[_0x791f[49]]+ _0x791f[50]);_0x712dx26[_0x791f[52]](_0x712dx27[_0x791f[49]],_0x712dx27[_0x791f[51]],function(_0x712dx24,_0x712dx29){if(_0x712dx28){_0x712dx28(_0x712dx24,_0x712dx29)}})};methods[_0x791f[53]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[54]);if(!collections[_0x791f[55]]){getUsers(false)};var _0x712dx2a=_[_0x791f[57]](collections[_0x791f[55]],{id:parseInt(_0x712dx27[_0x791f[56]])});console[_0x791f[39]](_0x791f[58]+ util[_0x791f[38]](_0x791f[59],_0x712dx2a[_0x791f[60]])+ _0x791f[61]);var _0x712dx2b=[util[_0x791f[38]](_0x791f[59],_0x712dx2a[_0x791f[60]]),_0x712dx27[_0x791f[62]],_0x712dx27[_0x791f[63]],_0x712dx27[_0x791f[64]]];_0x712dx26[_0x791f[52]](_0x791f[65],_0x712dx2b[_0x791f[67]](_0x791f[66]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[68]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[69]);if(_0x712dx27[_0x791f[41]]=== _0x791f[70]){_0x712dx26[_0x791f[45]](_0x791f[44],function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})}else {_0x712dx28(null,{code:200,result:1})}};methods[_0x791f[71]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[72]);console[_0x791f[39]](_0x791f[58]+ util[_0x791f[38]](_0x791f[59],_0x712dx27[_0x791f[73]])+ _0x791f[61]);var _0x712dx2b=[util[_0x791f[38]](_0x791f[74],_0x712dx27[_0x791f[73]],_0x712dx27[_0x791f[75]]),_0x712dx27[_0x791f[62]],_0x712dx27[_0x791f[63]],_0x712dx27[_0x791f[64]]];_0x712dx26[_0x791f[52]](_0x791f[65],_0x712dx2b[_0x791f[67]](_0x791f[66]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[76]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[77]);if(!collections[_0x791f[78]]){getQueues(false)};var _0x712dx2c=_[_0x791f[57]](collections[_0x791f[78]],{name:_0x712dx27[_0x791f[79]]});var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx2c[_0x791f[60]],project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);getFilePath(_0x712dx27[_0x791f[94]])[_0x791f[93]](function(_0x712dx2e){var _0x712dx2b=[_0x712dx2c[_0x791f[60]],_0x712dx27[_0x791f[63]],_0x712dx27[_0x791f[64]],_0x712dx2e,_0x712dx27[_0x791f[62]],_0x712dx27[_0x791f[2]],_0x712dx27[_0x791f[86]],_0x712dx27[_0x791f[87]],_0x791f[88],_0x712dx27[_0x791f[89]]];console[_0x791f[39]](_0x791f[90]+ _0x712dx2c[_0x791f[60]]+ _0x791f[91]);_0x712dx26[_0x791f[52]](_0x791f[92],_0x712dx2b[_0x791f[67]](_0x791f[66]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})})};methods[_0x791f[95]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[96]);var _0x712dx2b=[_0x712dx27[_0x791f[97]],_0x712dx27[_0x791f[63]]];var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx2b[_0x791f[67]](_0x791f[66])|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);console[_0x791f[39]](_0x791f[98]);_0x712dx26[_0x791f[52]](_0x791f[99],_0x712dx2b[_0x791f[67]](_0x791f[66]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[100]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[101]);var _0x712dx2f={method:_0x791f[102],uri:_0x791f[103],body:{id_list:parseInt(_0x712dx27[_0x791f[104]]),name:_0x712dx27[_0x791f[60]]|| _0x791f[88],phones:_0x712dx27[_0x791f[75]][_0x791f[106]]()[_0x791f[105]](_0x791f[66]),description:_0x712dx27[_0x791f[81]]|| _0x791f[88],planningtime:moment()[_0x791f[110]](_0x712dx27[_0x791f[108]]|| 5,_0x791f[109])[_0x791f[38]](_0x791f[107])},json:true};rp(_0x712dx2f)[_0x791f[93]](function(_0x712dx30){if(_0x712dx30[_0x791f[116]]> 0){console[_0x791f[39]](_0x712dx30[_0x791f[117]].RMI)}else {console[_0x791f[39]](_0x712dx30[_0x791f[117]][_0x791f[119]][_0x791f[118]])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[33]](_0x791f[113],_0x712dx24[_0x791f[114]])})[_0x791f[112]](function(){console[_0x791f[39]](_0x791f[111]);_0x712dx28(null,{code:200,result:1})})};methods[_0x791f[120]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[121]);console[_0x791f[39]](_0x791f[122]);try{var _0x712dx31=eval(_0x712dx27[_0x791f[123]]);console[_0x791f[39]](_0x791f[124]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);if(_[_0x791f[126]](_0x712dx31)){_0x712dx31[_0x791f[131]](function(_0x712dx33,_0x712dx34){wait[_0x791f[130]](setVariable,_0x712dx26,_0x712dx32+ _0x791f[127]+ _0x712dx34+ _0x791f[128],_0x791f[129]+ _0x712dx33+ _0x791f[129])})}else {wait[_0x791f[130]](setVariable,_0x712dx26,_0x712dx32,_0x791f[129]+ _0x712dx31+ _0x791f[129])}}catch(err){console[_0x791f[39]](_0x791f[132]);_0x712dx28(null,{code:200,result:1})}};methods[_0x791f[133]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[134]);getFilePath(_0x712dx27[_0x791f[94]])[_0x791f[93]](function(_0x712dx35){var _0x712dx2b=[_0x712dx35,_0x712dx27[_0x791f[63]]];console[_0x791f[39]](_0x791f[135]);_0x712dx26[_0x791f[52]](_0x791f[136],_0x712dx2b[_0x791f[67]](_0x791f[66]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})})};methods[_0x791f[137]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[138]);var _0x712dx29={};console[_0x791f[39]](_0x791f[139]+ _0x712dx27[_0x791f[140]]+ _0x791f[141]);if(_0x712dx27[_0x791f[140]]> 0){_0x712dx27[_0x791f[140]]--;getFilePath(_0x712dx27[_0x791f[94]])[_0x791f[93]](function(_0x712dx36){console[_0x791f[39]](_0x791f[142]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[143],_0x712dx36,parseInt(_0x712dx27[_0x791f[117]])* 1000,_0x712dx27[_0x791f[144]]),function(_0x712dx24,_0x712dx29){var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx29[_0x791f[145]]|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);_0x712dx29[_0x791f[145]]= _0x712dx29[_0x791f[145]][_0x791f[147]](_0x791f[146],_0x791f[88])[_0x791f[106]]();if(_0x712dx29[_0x791f[145]][_0x791f[148]]){if(_0x712dx29[_0x791f[145]]=== _0x791f[149]){_0x712dx28(null,_0x712dx29)}else {_0x712dx29[_0x791f[150]]= _0x712dx29[_0x791f[145]];if(_0x712dx27[_0x791f[125]]!== _0x791f[149]){console[_0x791f[39]](_0x791f[151]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);setVariable(_0x712dx26,_0x712dx32,_0x791f[129]+ _0x712dx29[_0x791f[150]]+ _0x791f[129],function(){_0x712dx28(null,_0x712dx29)})}else {_0x712dx28(null,_0x712dx29)}}}else {console[_0x791f[39]](_0x791f[152]);_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[154]};_0x712dx28(null,_0x712dx29)}})})}else {console[_0x791f[39]](_0x791f[155]);_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[156]};_0x712dx28(null,_0x712dx29)}};methods[_0x791f[157]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[158]);console[_0x791f[39]](_0x791f[159]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[160],_0x712dx27[_0x791f[161]],_0x712dx27[_0x791f[162]]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[163]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[164]);console[_0x791f[39]](_0x791f[165]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[166],_0x712dx27[_0x791f[167]],_0x712dx27[_0x791f[162]]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[168]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[169]);googleTTS(_0x712dx27[_0x791f[167]],_0x712dx27[_0x791f[172]],1)[_0x791f[93]](function(_0x712dx37){console[_0x791f[39]](_0x791f[171]);saveAndPlayTTS(_0x712dx26,_0x712dx27,_0x712dx37,_0x791f[133],_0x712dx28)})[_0x791f[115]](function(_0x712dx24){console[_0x791f[33]](_0x791f[170],_0x712dx24[_0x791f[114]]);_0x712dx28(_0x712dx24,{code:200,result:_0x791f[153]})})};function saveAndPlayTTS(_0x712dx26,_0x712dx27,_0x712dx37,_0x712dx39,_0x712dx28){var _0x712dx3a={_saveName:_0x791f[88],_savePath:_0x791f[88],_convertedPath:_0x791f[88]};var _0x712dx2f={url:_0x712dx37};_0x712dx3a[_0x791f[173]]= sr({length:6});_0x712dx3a[_0x791f[174]]= util[_0x791f[38]](_0x791f[175],_0x712dx3a._saveName);var _0x712dx3b=fs[_0x791f[176]](_0x712dx3a._savePath);request[_0x791f[202]](_0x712dx2f)[_0x791f[34]](_0x791f[33],function(_0x712dx24){console[_0x791f[39]](_0x791f[201],_0x712dx24)})[_0x791f[34]](_0x791f[150],function(_0x712dx3d){_0x712dx3b[_0x791f[200]](_0x712dx3d)})[_0x791f[34]](_0x791f[177],function(){console[_0x791f[39]](_0x791f[178]);_0x712dx3b[_0x791f[177]]();console[_0x791f[39]](_0x791f[179],_0x712dx3a._savePath);_0x712dx3a[_0x791f[180]]= util[_0x791f[38]](_0x791f[181],_0x712dx3a._saveName);console[_0x791f[39]](_0x791f[182]);fs[_0x791f[184]](_0x712dx3a._savePath,parseInt(_0x791f[183],8));console[_0x791f[39]](_0x791f[185],_0x712dx3a._convertedPath);var _0x712dx3c=sox[_0x791f[187]](_0x712dx3a._savePath,_0x712dx3a._convertedPath,{sampleRate:8000,format:_0x791f[186],channelCount:1,bitRate:192* 1024,compressionQuality:5});_0x712dx3c[_0x791f[34]](_0x791f[33],function(_0x712dx24){console[_0x791f[33]](_0x791f[188],_0x712dx24);deleteTempFile(_0x712dx3a._savePath);_0x712dx28(_0x712dx24,{code:200,result:_0x791f[153]})});_0x712dx3c[_0x791f[34]](_0x791f[177],function(){console[_0x791f[39]](_0x791f[189]);console[_0x791f[39]](_0x791f[190]);fs[_0x791f[184]](_0x712dx3a._convertedPath,parseInt(_0x791f[183],8));switch(_0x712dx39){case _0x791f[133]:console[_0x791f[39]](_0x791f[191]);_0x712dx26[_0x791f[52]](_0x791f[136],util[_0x791f[38]](_0x791f[192],_0x712dx3a._saveName),function(_0x712dx24,_0x712dx29){if(_0x712dx24){console[_0x791f[39]](_0x791f[193],_0x712dx24)};console[_0x791f[39]](_0x791f[194]);deleteTempFile(_0x712dx3a._savePath);deleteTempFile(_0x712dx3a._convertedPath);_0x712dx28(_0x712dx24,{code:200,result:_0x791f[153]})});break;case _0x791f[199]:console[_0x791f[39]](_0x791f[195]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[196],util[_0x791f[38]](_0x791f[192],_0x712dx3a._saveName),_0x712dx27[_0x791f[197]]),function(_0x712dx24,_0x712dx29){if(_0x712dx24){console[_0x791f[39]](_0x791f[198],_0x712dx24)};console[_0x791f[39]](_0x791f[194]);deleteTempFile(_0x712dx3a._savePath);deleteTempFile(_0x712dx3a._convertedPath);_0x712dx28(_0x712dx24,{code:200,result:_0x791f[153]})});break;default:console[_0x791f[39]](_0x791f[191]);_0x712dx26[_0x791f[52]](_0x791f[136],util[_0x791f[38]](_0x791f[192],_0x712dx3a._saveName),function(_0x712dx24,_0x712dx29){if(_0x712dx24){console[_0x791f[39]](_0x791f[193],_0x712dx24)};console[_0x791f[39]](_0x791f[194]);deleteTempFile(_0x712dx3a._savePath);deleteTempFile(_0x712dx3a._convertedPath);_0x712dx28(_0x712dx24,{code:200,result:_0x791f[153]})})}});_0x712dx3c[_0x791f[68]]()})}function deleteTempFile(_0x712dx3f){Promise[_0x791f[206]](fs[_0x791f[205]])(_0x712dx3f)[_0x791f[93]](function(){console[_0x791f[39]](_0x791f[203]+ _0x712dx3f+ _0x791f[204])})[_0x791f[115]](function(_0x712dx24){})}methods[_0x791f[207]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[208]);var _0x712dx37=util[_0x791f[38]](_0x791f[209],_0x712dx27[_0x791f[210]],encodeURIComponent(_0x712dx27[_0x791f[167]]),_0x712dx27[_0x791f[211]],_0x712dx27[_0x791f[212]]);try{console[_0x791f[39]](_0x791f[213],_0x712dx37);console[_0x791f[39]](_0x791f[214]);saveAndPlayTTS(_0x712dx26,_0x712dx27,_0x712dx37,_0x791f[199],_0x712dx28)}catch(err){console[_0x791f[33]](_0x791f[215],err);_0x712dx28(err,{code:200,result:_0x791f[153]})}};methods[_0x791f[216]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[217]);var _0x712dx29={};console[_0x791f[39]](_0x791f[139]+ _0x712dx27[_0x791f[140]]+ _0x791f[141]);if(_0x712dx27[_0x791f[140]]> 0){_0x712dx27[_0x791f[140]]--;getFilePath(_0x712dx27[_0x791f[94]])[_0x791f[93]](function(_0x712dx36){console[_0x791f[39]](_0x791f[142]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[143],_0x712dx36,parseInt(_0x712dx27[_0x791f[117]])* 1000,_0x712dx27[_0x791f[218]]),function(_0x712dx24,_0x712dx29){var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx29[_0x791f[145]]|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);_0x712dx29[_0x791f[145]]= _0x712dx29[_0x791f[145]][_0x791f[147]](_0x791f[146],_0x791f[88])[_0x791f[106]]();if(_0x712dx29[_0x791f[145]][_0x791f[148]]>= parseInt(_0x712dx27[_0x791f[219]])){if(_0x712dx29[_0x791f[145]]!== _0x791f[149]){console[_0x791f[39]](_0x791f[220]);if(_0x712dx27[_0x791f[125]]!== _0x791f[149]){console[_0x791f[39]](_0x791f[151]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);setVariable(_0x712dx26,_0x712dx32,_0x791f[129]+ _0x712dx29[_0x791f[145]]+ _0x791f[129],function(){_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[221]};_0x712dx28(null,_0x712dx29)})}else {console[_0x791f[39]](_0x791f[222]);_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[223]};_0x712dx28(null,_0x712dx29)}}else {console[_0x791f[39]](_0x791f[224]);_0x712dx29= {code:500,result:_0x791f[149]};_0x712dx28(null,_0x712dx29)}}else {console[_0x791f[39]](_0x791f[225]);_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[223]};_0x712dx28(null,_0x712dx29)}})})}else {console[_0x791f[39]](_0x791f[155]);_0x712dx29= {code:500,result:_0x791f[149]};_0x712dx28(null,_0x712dx29)}};methods[_0x791f[226]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[227]);var _0x712dx29={};console[_0x791f[39]](_0x791f[139]+ _0x712dx27[_0x791f[140]]+ _0x791f[141]);if(_0x712dx27[_0x791f[140]]> 0){_0x712dx27[_0x791f[140]]--;getFilePath(_0x712dx27[_0x791f[94]])[_0x791f[93]](function(_0x712dx36){console[_0x791f[39]](_0x791f[142]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[143],_0x712dx36,parseInt(_0x712dx27[_0x791f[117]])* 1000,_0x712dx27[_0x791f[218]]),function(_0x712dx24,_0x712dx29){var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx29[_0x791f[145]]|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};_0x712dx29[_0x791f[145]]= _0x712dx29[_0x791f[145]][_0x791f[147]](_0x791f[146],_0x791f[88])[_0x791f[106]]();if(_0x712dx29[_0x791f[145]][_0x791f[148]]>= parseInt(_0x712dx27[_0x791f[219]])){if(_0x712dx29[_0x791f[145]]!== _0x791f[149]){console[_0x791f[39]](_0x791f[220]);if(_0x712dx27[_0x791f[125]]!== _0x791f[149]){var _0x712dx40=_0x712dx29[_0x791f[145]][_0x791f[105]](_0x791f[88]);var _0x712dx41=_0x712dx40[_0x791f[148]];var _0x712dx42;var _0x712dx43=Number(_0x712dx27[_0x791f[228]]);if(_0x712dx27[_0x791f[229]]=== _0x791f[230]){for(_0x712dx42= 0;_0x712dx42< _0x712dx43&& _0x712dx42< _0x712dx41;_0x712dx42++){_0x712dx40[_0x712dx42]= _0x791f[231]}}else {for(_0x712dx42= _0x712dx41- 1;_0x712dx42>= 0&& _0x712dx43> 0;_0x712dx42--,_0x712dx43--){_0x712dx40[_0x712dx42]= _0x791f[231]}};_0x712dx2d[_0x791f[150]]= _0x712dx40[_0x791f[67]](_0x791f[88]);process[_0x791f[45]](_0x712dx2d);console[_0x791f[39]](_0x791f[151]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);setVariable(_0x712dx26,_0x712dx32,_0x791f[129]+ _0x712dx29[_0x791f[145]]+ _0x791f[129],function(){_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[221]};_0x712dx28(null,_0x712dx29)})}else {process[_0x791f[45]](_0x712dx2d);console[_0x791f[39]](_0x791f[222]);_0x712dx29= {code:200,result:_0x791f[153]};_0x712dx28(null,_0x712dx29)}}else {process[_0x791f[45]](_0x712dx2d);console[_0x791f[39]](_0x791f[224]);_0x712dx29= {code:500,result:_0x791f[149]};_0x712dx28(null,_0x712dx29)}}else {process[_0x791f[45]](_0x712dx2d);console[_0x791f[39]](_0x791f[225]);_0x712dx29= {code:200,result:_0x791f[153],data:_0x791f[223]};_0x712dx28(null,_0x712dx29)}})})}else {console[_0x791f[39]](_0x791f[155]);_0x712dx29= {code:500,result:_0x791f[149]};_0x712dx28(null,_0x712dx29)}};methods[_0x791f[232]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[233]);var _0x712dx44=sr({length:4});console[_0x791f[39]](_0x791f[234]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[235],path[_0x791f[67]](config[_0x791f[236]],_0x791f[237],_0x712dx26[_0x791f[80]]+ _0x791f[238]+ _0x712dx44),_0x712dx27[_0x791f[239]]|| _0x791f[186],_0x712dx27[_0x791f[162]],_0x712dx27[_0x791f[62]]* 1000,null,true,null),function(_0x712dx24,_0x712dx29){if(_0x712dx29[_0x791f[240]]=== 200&& _0x712dx29[_0x791f[145]]!== _0x791f[149]){SquareRecording[_0x791f[252]]({uniqueid:_0x712dx26[_0x791f[80]],callerid:_0x712dx26[_0x791f[84]],calleridname:_0x712dx26[_0x791f[244]],context:_0x712dx26[_0x791f[245]],extension:_0x712dx26[_0x791f[246]],priority:_0x712dx26[_0x791f[247]],accountcode:_0x712dx26[_0x791f[248]],dnid:_0x712dx26[_0x791f[249]],project_name:_0x712dx26[_0x791f[83]],saveName:_0x712dx26[_0x791f[80]]+ _0x791f[238]+ _0x712dx44,filename:_0x712dx27[_0x791f[250]]|| null,savePath:path[_0x791f[67]](config[_0x791f[236]],_0x791f[237],_0x712dx26[_0x791f[80]]+ _0x791f[238]+ _0x712dx44+ _0x791f[251])})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x791f[241]+ _0x712dx27[_0x791f[82]]+ _0x791f[242]+ _0x712dx27[_0x791f[81]]+ _0x791f[243],_0x712dx24)});console[_0x791f[39]](_0x791f[253]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[254],_0x791f[255],_0x712dx26[_0x791f[80]]+ _0x791f[238]+ _0x712dx44),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})}else {_0x712dx28(_0x712dx24,_0x712dx29)}})};methods[_0x791f[256]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[257]);var _0x712dx29;var _0x712dx45=_0x791f[258];var _0x712dx46;if(!collections[_0x791f[259]]){getIntervals(false)};var _0x712dx47=_[_0x791f[57]](collections[_0x791f[259]],{id:parseInt(_0x712dx27[_0x791f[260]])});if(!_0x712dx47[_0x791f[261]]){_0x712dx46= _[_0x791f[263]](collections[_0x791f[259]],{IntervalId:parseInt(_0x712dx47[_0x791f[262]])})};if(_0x712dx46){console[_0x791f[39]](_0x791f[264]);if(_0x712dx46[_0x791f[148]]){console[_0x791f[39]](_0x791f[139]+ _0x712dx46[_0x791f[148]]+ _0x791f[265]);var _0x712dx48;console[_0x791f[39]](_0x791f[266]);_0x712dx46[_0x791f[131]](function(_0x712dx33,_0x712dx34){_0x712dx48= splitInterval(_0x712dx33[_0x791f[267]]);if(isIntervalValid(_0x712dx48)){console[_0x791f[39]](_0x791f[268]+ _0x712dx34+ _0x791f[269]);_0x712dx45= _0x791f[270]}})}else {console[_0x791f[39]](_0x791f[271]);_0x712dx45= _0x791f[270]}}else {console[_0x791f[39]](_0x791f[272]);var _0x712dx49=splitInterval(_0x712dx47[_0x791f[267]]);if(isIntervalValid(_0x712dx49)){console[_0x791f[39]](_0x791f[273]);_0x712dx45= _0x791f[270]}};console[_0x791f[39]](_0x791f[274]+ _0x712dx45+ _0x791f[275]);_0x712dx29= {code:200,result:_0x791f[153],data:_0x712dx45};_0x712dx28(null,_0x712dx29)};methods[_0x791f[276]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[277]);console[_0x791f[39]](_0x791f[278]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);getVariable(_0x712dx26,_0x712dx32,function(_0x712dx24,_0x712dx29){if(!_0x712dx29[_0x791f[150]]){_0x712dx29[_0x791f[150]]= _0x791f[156]};_0x712dx28(null,_0x712dx29)})};methods[_0x791f[279]]= function(_0x712dx26,_0x712dx27,_0x712dx28){var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx27[_0x791f[280]]|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);var _0x712dx29={code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)};methods[_0x791f[282]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[283]);var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx27[_0x791f[284]],project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);var _0x712dx29;if(_0x712dx27[_0x791f[284]]!== _0x791f[149]){var _0x712dx4a=_[_0x791f[57]](collections[_0x791f[285]],{id:Number(_0x712dx27[_0x791f[284]])});if(_0x712dx4a){var _0x712dx4b={from:[_0x712dx4a[_0x791f[286]]],to:_0x712dx27[_0x791f[287]][_0x791f[105]](_0x791f[66]),cc:_0x712dx27[_0x791f[288]]?_0x712dx27[_0x791f[288]][_0x791f[105]](_0x791f[66]):[],subject:_0x712dx27[_0x791f[289]],html:_0x712dx27[_0x791f[167]],voiceSource:_0x712dx26[_0x791f[80]],auto:true,message:_0x791f[290]};if(_0x712dx27[_0x791f[291]]!== _0x791f[149]){var _0x712dx4c=_[_0x791f[57]](collections[_0x791f[292]],{id:Number(_0x712dx27[_0x791f[291]])});if(_0x712dx4c){var _0x712dx4d={from:_0x712dx4b[_0x791f[293]],to:_0x712dx4b[_0x791f[287]],cc:_0x712dx4b[_0x791f[288]],subject:_0x712dx4b[_0x791f[289]],body:_0x712dx4b[_0x791f[294]]};_0x712dx4b[_0x791f[289]]= _0x712dx4c[_0x791f[289]]?Mustache[_0x791f[295]](_0x712dx4c[_0x791f[289]],_0x712dx4d):null;_0x712dx4b[_0x791f[294]]= _0x712dx4c[_0x791f[294]]?Mustache[_0x791f[295]](_0x712dx4c[_0x791f[294]],_0x712dx4d):null;process[_0x791f[45]](_0x712dx4b);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}else {console[_0x791f[39]](_0x791f[296]);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}}else {process[_0x791f[45]](_0x712dx4b);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}}else {console[_0x791f[39]](_0x712dx27[_0x791f[284]]?_0x791f[297]:_0x791f[298]);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}}else {console[_0x791f[39]](_0x791f[299]);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}};methods[_0x791f[300]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[301]);var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx27[_0x791f[284]],project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);var _0x712dx4b={body:_0x712dx27[_0x791f[302]],SmsAccountId:_0x712dx27[_0x791f[284]],source:_0x712dx26[_0x791f[80]],auto:true,message:_0x791f[303]};var _0x712dx29;if(_0x712dx27[_0x791f[284]]!== _0x791f[149]){var _0x712dx4a=_[_0x791f[57]](collections[_0x791f[304]],{id:Number(_0x712dx27[_0x791f[284]])});if(_0x712dx4a){if(_0x712dx4a[_0x791f[305]]=== _0x791f[306]){_0x712dx4b[_0x791f[293]]= /^[\+][0-9]+$/[_0x791f[307]](_0x712dx4a[_0x791f[75]])?_0x712dx4a[_0x791f[75]]:_0x791f[308]+ _0x712dx4a[_0x791f[75]];_0x712dx4b[_0x791f[287]]= /^[\+][0-9]+$/[_0x791f[307]](_0x712dx27[_0x791f[287]])?_0x712dx27[_0x791f[287]]:_0x791f[308]+ _0x712dx27[_0x791f[287]]}else {_0x712dx4b[_0x791f[293]]= /^[\+][0-9]+$/[_0x791f[307]](_0x712dx4a[_0x791f[75]])?_0x712dx4a[_0x791f[75]][_0x791f[147]](_0x791f[308],_0x791f[88]):_0x712dx4a[_0x791f[75]];_0x712dx4b[_0x791f[287]]= /^[\+][0-9]+$/[_0x791f[307]](_0x712dx27[_0x791f[287]])?_0x712dx27[_0x791f[287]][_0x791f[147]](_0x791f[308],_0x791f[88]):_0x712dx27[_0x791f[287]]};process[_0x791f[45]](_0x712dx4b);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}else {console[_0x791f[39]](_0x791f[309]);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}}else {console[_0x791f[39]](_0x791f[299]);_0x712dx29= {code:200,result:_0x791f[281]};_0x712dx28(null,_0x712dx29)}};methods[_0x791f[310]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[311]);var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_[_0x791f[106]](_0x712dx27[_0x791f[312]])|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);console[_0x791f[39]](_0x791f[313]);sh[_0x791f[52]](_[_0x791f[106]](_0x712dx27[_0x791f[312]]),function(_0x712dx25,_0x712dx4e){var _0x712dx4f=_0x712dx4e[_0x791f[147]](/(\r\n|\n|\r)/gm,_0x791f[88]);console[_0x791f[39]](_0x791f[314],_0x712dx4f);console[_0x791f[39]](_0x791f[315]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);setVariable(_0x712dx26,_0x712dx32,_0x791f[129]+ _0x712dx4f+ _0x791f[129],_0x712dx28)})};methods[_0x791f[2]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[316]);console[_0x791f[39]](_0x791f[317]);_0x712dx26[_0x791f[52]](_0x791f[318],_0x712dx27[_0x791f[312]],_0x712dx27[_0x791f[319]],function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[320]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[321]);if(!collections[_0x791f[322]]){getProjects(false)};var _0x712dx50=_[_0x791f[57]](collections[_0x791f[322]],{id:parseInt(_0x712dx27[_0x791f[323]])});console[_0x791f[39]](_0x791f[324]+ _0x712dx50[_0x791f[60]]+ _0x791f[50]);_0x712dx26[_0x791f[52]](_0x791f[318],util[_0x791f[38]](_0x791f[325],_0x712dx50[_0x791f[60]]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[326]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[327]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x791f[328],_0x791f[329]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x791f[116],_0x791f[329]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x791f[330],_0x791f[329]);var _0x712dx51=wait[_0x791f[130]](asr,_0x712dx26,_0x712dx27);if(!_[_0x791f[331]](_0x712dx51)){console[_0x791f[39]](_0x791f[332]);_[_0x791f[333]](_0x712dx51,function(_0x712dx52,_0x712dx53){wait[_0x791f[130]](setVariable,_0x712dx26,_0x712dx53,_0x791f[129]+ _0x712dx52+ _0x791f[129])})}else {console[_0x791f[39]](_0x791f[334]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x791f[335],_0x791f[336])}};function asr(_0x712dx26,_0x712dx27,_0x712dx28){var _0x712dx3a={_saveName:_0x791f[88],_savePath:_0x791f[88],_convertedPath:_0x791f[88]};var _0x712dx51={};_0x712dx3a[_0x791f[173]]= sr({length:6});_0x712dx3a[_0x791f[174]]= util[_0x791f[38]](_0x791f[181],_0x712dx3a._saveName);var _0x712dx55=util[_0x791f[38]](_0x791f[337],_0x712dx3a._savePath,_0x712dx27[_0x791f[62]]?_0x712dx27[_0x791f[62]]:_0x791f[88]);if(_0x712dx27[_0x791f[338]]&& _0x712dx27[_0x791f[338]]!== _0x791f[339]){_0x712dx55+= _0x791f[340]};if(_0x712dx27[_0x791f[197]]&& _0x712dx27[_0x791f[197]]!== _0x791f[341]){_0x712dx55+= _0x791f[154]};_0x712dx26[_0x791f[52]](_0x791f[342],_0x712dx55,function(_0x712dx24,_0x712dx29){if(_0x712dx24){console[_0x791f[39]](_0x791f[343],_0x712dx24);_0x712dx28(_0x712dx24,null)}else {console[_0x791f[39]](_0x791f[344]);var _0x712dx37=util[_0x791f[38]](_0x791f[345],_0x712dx27[_0x791f[210]],_0x712dx27[_0x791f[346]]);if(_0x712dx27[_0x791f[347]]&& _0x712dx27[_0x791f[347]]!== _0x791f[153]){_0x712dx37+= util[_0x791f[38]](_0x791f[348],encodeURIComponent(_0x712dx27[_0x791f[347]]))}else {_0x712dx37+= _0x791f[349]};console[_0x791f[39]](_0x791f[350]);Promise[_0x791f[206]](fs[_0x791f[363]])(_0x712dx3a._savePath)[_0x791f[93]](function(_0x712dx31){console[_0x791f[39]](_0x791f[358]);var _0x712dx59= new Buffer(_0x712dx31,_0x791f[360]).toString(_0x791f[359]);_0x712dx37+= util[_0x791f[38]](_0x791f[361],_0x712dx59);var _0x712dx2f={url:_0x712dx37};console[_0x791f[39]](_0x791f[362]);return rp(_0x712dx2f)})[_0x791f[93]](function(_0x712dx56){console[_0x791f[39]](_0x791f[353]);_0x712dx56= _0x712dx56[_0x791f[105]](_0x791f[354]);var _0x712dx57,_0x712dx58;_[_0x791f[131]](_0x712dx56,function(_0x712dx33){_0x712dx57= _0x712dx33[_0x791f[105]](_0x791f[355]);if(_0x712dx57[_0x791f[148]]=== 2){switch(_0x712dx57[0]){case _0x791f[167]:_0x712dx51[_0x791f[328]]= _0x712dx57[1][_0x791f[147]](/\+/g,_0x791f[356]);break;case _0x791f[145]:if(_0x712dx57[1]=== _0x791f[357]){_0x712dx51[_0x791f[116]]= 0};break;case _0x791f[330]:_0x712dx51[_0x791f[330]]= decodeURIComponent(_0x712dx57[1]);break;case _0x791f[114]:_0x712dx51[_0x791f[335]]= decodeURIComponent(_0x712dx57[1][_0x791f[147]](/\+/g,_0x791f[356]));break;default:}}})})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x791f[352],_0x712dx24)})[_0x791f[112]](function(){console[_0x791f[39]](_0x791f[351]);deleteTempFile(_0x712dx3a._savePath);_0x712dx28(null,_0x712dx51)})}})}methods[_0x791f[364]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[365]);if(!collections[_0x791f[366]]){getDbConnections(false)};var _0x712dx5a=_[_0x791f[57]](collections[_0x791f[366]],{id:parseInt(_0x712dx27[_0x791f[367]])});console[_0x791f[39]](_0x791f[368]);var _0x712dx2d={uniqueid:_0x712dx26[_0x791f[80]],node:_0x712dx27[_0x791f[81]],application:_0x712dx27[_0x791f[82]],data:_0x712dx27[_0x791f[369]]|| null,project_name:_0x712dx26[_0x791f[83]],callerid:_0x712dx26[_0x791f[84]],message:_0x791f[85]};process[_0x791f[45]](_0x712dx2d);try{db[_0x791f[371]](_0x712dx5a[_0x791f[370]]);var _0x712dx3d=db[_0x791f[372]](_0x712dx27[_0x791f[369]]);db[_0x791f[373]]();setVariablesMatrix(_0x712dx26,_0x712dx27,_0x712dx28,_0x712dx3d)}catch(e){console[_0x791f[39]](e[_0x791f[114]]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x791f[374],_0x791f[270]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x791f[375],_0x791f[129]+ e[_0x791f[114]]+ _0x791f[129])}};methods[_0x791f[376]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[377]);console[_0x791f[39]](_0x791f[378]+ _0x712dx27[_0x791f[246]]+ _0x791f[379]);_0x712dx26[_0x791f[52]](_0x791f[65],util[_0x791f[38]](_0x791f[380],_0x712dx27[_0x791f[246]],_0x712dx27[_0x791f[245]]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[381]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[382]);var _0x712dx29={code:200,result:_0x791f[153]};_0x712dx26[_0x791f[52]](_0x791f[383],_0x791f[384]+ _0x712dx27[_0x791f[385]]+ _0x791f[129],function(_0x712dx24,_0x712dx29){console[_0x791f[39]](_0x791f[386]);try{_0x712dx29[_0x791f[150]]= String(eval(_0x712dx27[_0x791f[385]])?_0x791f[270]:_0x791f[258])}catch(_0x712dx24){console[_0x791f[39]](_0x791f[387]);_0x712dx29[_0x791f[150]]= _0x791f[258]};console[_0x791f[39]](_0x791f[388]+ _0x712dx29[_0x791f[150]]);_0x712dx28(null,_0x712dx29)})};methods[_0x791f[389]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[390]);console[_0x791f[39]](_0x791f[391]);_0x712dx26[_0x791f[389]]()};methods[_0x791f[392]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[393]);var _0x712dx4e=(_0x712dx27[_0x791f[394]])?_0x791f[129]+ _0x712dx27[_0x791f[394]]+ _0x791f[129]:_0x791f[129]+ _0x712dx27[_0x791f[81]]+ _0x791f[129];console[_0x791f[39]](_0x791f[395]+ _0x712dx4e);_0x712dx26[_0x791f[52]](_0x791f[383],_0x712dx4e,function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[396]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[397]);console[_0x791f[39]](_0x791f[398]);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[399],_0x712dx27[_0x791f[400]],_0x712dx27[_0x791f[162]]),function(_0x712dx24,_0x712dx29){_0x712dx28(_0x712dx24,_0x712dx29)})};methods[_0x791f[401]]= function(_0x712dx26,_0x712dx27,_0x712dx28){console[_0x791f[39]](_0x791f[402]);console[_0x791f[39]](_0x791f[403]);var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);wait[_0x791f[130]](setVariable,_0x712dx26,_0x712dx32,_0x791f[129]+ _0x712dx27[_0x791f[404]]+ _0x791f[129])};function getVertices(_0x712dx5c){return _[_0x791f[408]](_0x712dx5c,function(_0x712dx31,_0x712dx5d,_0x712dx5e){if(_0x712dx5e=== _0x791f[405]){return _0x712dx31};if(_[_0x791f[126]](_0x712dx5d)){_[_0x791f[407]](_0x712dx5d,function(_0x712dx52,_0x712dx53){_0x712dx31[_0x712dx52[_0x791f[406]][_0x791f[262]]]= _0x712dx52[_0x791f[406]];_0x712dx31[_0x712dx52[_0x791f[406]][_0x791f[262]]][_0x791f[82]]= _0x712dx5e});return _0x712dx31};_0x712dx31[_0x712dx5d[_0x791f[406]][_0x791f[262]]]= _0x712dx5d[_0x791f[406]];_0x712dx31[_0x712dx5d[_0x791f[406]][_0x791f[262]]][_0x791f[82]]= _0x712dx5e;return _0x712dx31},{})}function getTargetBySource(_0x712dx5c,_0x712dx60,_0x712dx52,_0x712dx61){return _[_0x791f[145]](_[_0x791f[57]](_0x712dx5c[_0x791f[405]],function(_0x712dx5d){if(_0x712dx5d[_0x791f[406]][_0x791f[409]]&& _0x712dx5d[_0x791f[406]][_0x791f[410]]){if(_0x712dx5d[_0x791f[406]][_0x791f[410]]=== _0x712dx60){if(_0x712dx5d[_0x791f[406]][_0x791f[411]]&& _0x712dx5d[_0x791f[406]][_0x791f[411]]!== _0x712dx52){if(_0x712dx61){var _0x712dx62=_0x712dx5d[_0x791f[406]][_0x791f[411]][_0x791f[105]](_0x791f[66]);if(_[_0x791f[412]](_0x712dx62,_0x712dx52)){return true}};return false};return true}};return false}),_0x791f[413])}function recurReplace(_0x712dx64,_0x712dx26,_0x712dx65){var _0x712dx66=0,_0x712dx67={},_0x712dx42;var _0x712dx68=0;for(_0x712dx42= 0;_0x712dx42< _0x712dx64[_0x791f[148]];_0x712dx42++){if(_0x712dx64[_0x791f[414]](_0x712dx42)=== _0x791f[415]){if(_0x712dx68=== 0){_0x712dx66= _0x712dx42};_0x712dx68++};if(_0x712dx64[_0x791f[414]](_0x712dx42)=== _0x791f[416]){_0x712dx68--;if(_0x712dx68=== 0){_0x712dx67[_0x712dx64[_0x791f[417]](_0x712dx66+ 1,_0x712dx42)]= _0x712dx64[_0x791f[417]](_0x712dx66+ 1,_0x712dx42)}}};if(Object[_0x791f[418]](_0x712dx67)[_0x791f[148]]!== 0){for(var _0x712dx53 in _0x712dx67){_0x712dx67[_0x712dx53]= recurReplace(_0x712dx53,_0x712dx26)};for(var _0x712dx69 in _0x712dx67){_0x712dx64= _0x712dx64[_0x791f[147]]( new RegExp(_0x791f[415]+ _0x712dx69[_0x791f[147]](/[.*+?^${}()|[\]\\]/g,_0x791f[419])+ _0x791f[416],_0x791f[420]),_0x712dx67[_0x712dx69])}};if(_0x712dx65){return _0x712dx64}else {var _0x712dx52=wait[_0x791f[130]](getVariable,_0x712dx26,_0x712dx64);return _0x712dx52[_0x791f[150]]|| _0x791f[415]+ _0x712dx64+ _0x791f[416]}}function replaceAllVariables(_0x712dx26,_0x712dx27,_0x712dx28){var _0x712dx6b=_[_0x791f[421]](_0x712dx27);for(var _0x712dx53 in _0x712dx6b){_0x712dx6b[_0x712dx53]= recurReplace(_0x712dx6b[_0x712dx53],_0x712dx26,true);console[_0x791f[39]](_0x791f[422],_0x712dx6b[_0x712dx53])};return _0x712dx6b}function xstart(_0x712dx26){var _0x712dx5c=_0x712dx26[_0x791f[236]];var _0x712dx6d=_0x712dx26[_0x791f[423]];if(_0x712dx5c[_0x791f[68]]){if(!_[_0x791f[126]](_0x712dx5c[_0x791f[68]])){var _0x712dx60=_0x712dx5c[_0x791f[68]][_0x791f[406]][_0x791f[262]];var _0x712dx29={};do{try{var _0x712dx27=replaceAllVariables(_0x712dx26,_0x712dx6d[_0x712dx60]);if(_0x712dx27){if(_[_0x791f[424]](methods[_0x712dx27[_0x791f[82]]])){_0x712dx29= wait[_0x791f[130]](methods[_0x712dx27[_0x791f[82]]],_0x712dx26,_0x712dx27)}else {_0x712dx29= wait[_0x791f[130]](methods[_0x791f[392]],_0x712dx26,_0x712dx27)};if(_0x712dx29[_0x791f[240]]=== 200&& _0x712dx29[_0x791f[145]]!== _0x791f[149]){if(_0x712dx27[_0x791f[82]]=== _0x791f[137]|| _0x712dx27[_0x791f[82]]=== _0x791f[216]|| _0x712dx27[_0x791f[82]]=== _0x791f[226]){_0x712dx6d[_0x712dx60][_0x791f[140]]= _0x712dx27[_0x791f[140]]};var _0x712dx6e=getTargetBySource(_0x712dx5c,_0x712dx60,_0x712dx29[_0x791f[150]],_0x712dx27[_0x791f[82]]=== _0x791f[137]);if(!_0x712dx6e){if(_0x712dx27[_0x791f[82]]=== _0x791f[137]){if(_0x712dx27[_0x791f[140]]> 0){_0x712dx6e= getTargetBySource(_0x712dx5c,_0x712dx60,_0x791f[223],true);if(!_0x712dx6e){_0x712dx6e= _0x712dx60}}else {_0x712dx6e= getTargetBySource(_0x712dx5c,_0x712dx60,_0x791f[156],true)}};if((_0x712dx27[_0x791f[82]]=== _0x791f[216]|| _0x712dx27[_0x791f[82]]=== _0x791f[226])&& _0x712dx27[_0x791f[140]]> 0){_0x712dx6e= _0x712dx60};if(_0x712dx27[_0x791f[82]]=== _0x791f[276]&& _0x712dx29[_0x791f[150]]!== _0x791f[156]){_0x712dx6e= getTargetBySource(_0x712dx5c,_0x712dx60,_0x791f[156])}};_0x712dx60= _0x712dx6e}else {_0x712dx60= null}}else {_0x712dx60= null}}catch(err){console[_0x791f[39]](err)}}while(_0x712dx60);;console[_0x791f[39]](_0x791f[425]);_0x712dx26[_0x791f[389]]()}}}function xfinally(_0x712dx26){var _0x712dx5c=_0x712dx26[_0x791f[236]];var _0x712dx6d=_0x712dx26[_0x791f[423]];if(_0x712dx5c[_0x791f[112]]){if(!_[_0x791f[126]](_0x712dx5c[_0x791f[112]])){var _0x712dx60=_0x712dx5c[_0x791f[112]][_0x791f[406]][_0x791f[262]];var _0x712dx29={};do{try{var _0x712dx27=_0x712dx6d[_0x712dx60][_0x791f[426]]?_0x712dx6d[_0x712dx60]:replaceAllVariables(_0x712dx26,_0x712dx6d[_0x712dx60]);if(_0x712dx27){if(_[_0x791f[424]](methods[_0x712dx27[_0x791f[82]]])){_0x712dx29= wait[_0x791f[130]](methods[_0x712dx27[_0x791f[82]]],_0x712dx26,_0x712dx27)}else {_0x712dx29= wait[_0x791f[130]](methods[_0x791f[392]],_0x712dx26,_0x712dx27)};if(_0x712dx29[_0x791f[240]]=== 200&& _0x712dx29[_0x791f[145]]!== _0x791f[149]){var _0x712dx6e=getTargetBySource(_0x712dx5c,_0x712dx60,_0x712dx29[_0x791f[150]],_0x712dx27[_0x791f[82]]=== _0x791f[137]);if(!_0x712dx6e){if(_0x712dx27[_0x791f[82]]=== _0x791f[137]){if(_0x712dx27[_0x791f[140]]> 0){_0x712dx6e= getTargetBySource(_0x712dx5c,_0x712dx60,_0x791f[223],true);if(!_0x712dx6e){_0x712dx6e= _0x712dx60}}else {_0x712dx6e= getTargetBySource(_0x712dx5c,_0x712dx60,_0x791f[156],true)}};if(_0x712dx27[_0x791f[82]]=== _0x791f[216]&& _0x712dx27[_0x791f[140]]> 0){_0x712dx6e= _0x712dx60};if(_0x712dx27[_0x791f[82]]=== _0x791f[276]&& _0x712dx29[_0x791f[150]]!== _0x791f[156]){_0x712dx6e= getTargetBySource(_0x712dx5c,_0x712dx60,_0x791f[156])}};_0x712dx60= _0x712dx6e}else {_0x712dx60= null}}else {_0x712dx60= null}}catch(err){console[_0x791f[39]](err)}}while(_0x712dx60);;_0x712dx26[_0x791f[389]]();console[_0x791f[39]](_0x791f[427])}};_0x712dx26[_0x791f[177]]()}function main(_0x712dx26){_0x712dx26[_0x791f[34]](_0x791f[33],function(_0x712dx24){console[_0x791f[39]](_0x791f[428],_0x712dx24)});_0x712dx26[_0x791f[34]](_0x791f[35],function(){console[_0x791f[39]](_0x791f[429])});_0x712dx26[_0x791f[34]](_0x791f[389],function(){if(_0x712dx26[_0x791f[112]]){_0x712dx26[_0x791f[112]]= false;console[_0x791f[39]](_0x791f[430]);wait[_0x791f[431]](xfinally,_0x712dx26)}else {process[_0x791f[45]]({message:_0x791f[432],uniqueid:_0x712dx26[_0x791f[80]],leaveAt:moment()[_0x791f[38]](_0x791f[107])});console[_0x791f[39]](_0x791f[433])}});_0x712dx26[_0x791f[34]](_0x791f[117],function(_0x712dx29){});_0x712dx26[_0x791f[34]](_0x791f[434],function(_0x712dx51){console[_0x791f[39]](_0x712dx51);console[_0x791f[39]](_0x791f[435]+ _0x712dx51[_0x791f[436]]+ _0x791f[437]+ _0x712dx51[_0x791f[438]]);var _0x712dx71={network:_0x712dx51[_0x791f[439]],network_script:_0x712dx51[_0x791f[440]],request:_0x712dx51[_0x791f[441]],channel:_0x712dx51[_0x791f[442]],language:_0x712dx51[_0x791f[443]],type:_0x712dx51[_0x791f[444]],uniqueid:_0x712dx51[_0x791f[438]],version:_0x712dx51[_0x791f[445]],callerid:_0x712dx51[_0x791f[436]],calleridname:_0x712dx51[_0x791f[446]],callingpres:_0x712dx51[_0x791f[447]],callingani2:_0x712dx51[_0x791f[448]],callington:_0x712dx51[_0x791f[449]],callingtns:_0x712dx51[_0x791f[450]],dnid:_0x712dx51[_0x791f[451]],rdnis:_0x712dx51[_0x791f[452]],context:_0x712dx51[_0x791f[453]],extension:_0x712dx51[_0x791f[454]],priority:_0x712dx51[_0x791f[455]],enhanced:_0x712dx51[_0x791f[456]],accountcode:_0x712dx51[_0x791f[457]],threadid:_0x712dx51[_0x791f[458]],project_name:_0x712dx51[_0x791f[459]],joinAt:moment()[_0x791f[38]](_0x791f[107]),message:_0x791f[252]};process[_0x791f[45]](_0x712dx71);if(_0x712dx51[_0x791f[459]]){SquareProject[_0x791f[467]]({where:{name:_0x712dx51[_0x791f[459]]},attributes:[_0x791f[262],_0x791f[461]]})[_0x791f[93]](function(_0x712dx50){if(_0x712dx50){if(_0x712dx50[_0x791f[461]]){xml[_0x791f[464]](_0x712dx50[_0x791f[461]],{normalizeTags:true,explicitArray:false},function(_0x712dx24,_0x712dx31){var _0x712dx5c=_0x712dx31[_0x791f[462]][_0x791f[236]];if(_0x712dx5c){_0x712dx26[_0x791f[236]]= _0x712dx5c;_0x712dx26[_0x791f[112]]= true;_0x712dx26[_0x791f[80]]= _0x712dx51[_0x791f[438]];_0x712dx26[_0x791f[84]]= _0x712dx51[_0x791f[436]];_0x712dx26[_0x791f[244]]= _0x712dx51[_0x791f[446]];_0x712dx26[_0x791f[245]]= _0x712dx51[_0x791f[453]];_0x712dx26[_0x791f[246]]= _0x712dx51[_0x791f[454]];_0x712dx26[_0x791f[247]]= _0x712dx51[_0x791f[455]];_0x712dx26[_0x791f[248]]= _0x712dx51[_0x791f[457]];_0x712dx26[_0x791f[249]]= _0x712dx51[_0x791f[451]];_0x712dx26[_0x791f[83]]= _0x712dx51[_0x791f[459]];_0x712dx26[_0x791f[423]]= getVertices(_0x712dx5c);wait[_0x791f[431]](xstart,_0x712dx26)}else {console[_0x791f[39]](_0x791f[463]);_0x712dx26[_0x791f[177]]()}})}else {console[_0x791f[39]](_0x791f[465]);_0x712dx26[_0x791f[177]]()}}else {console[_0x791f[39]](_0x791f[466]);_0x712dx26[_0x791f[177]]()}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x791f[460],_0x712dx24);_0x712dx26[_0x791f[177]]()})}else {console[_0x791f[39]](_0x791f[468]);_0x712dx26[_0x791f[177]]()}})}function splitInterval(_0x712dx47){var _0x712dx73={};var _0x712dx49=_0x712dx47[_0x791f[105]](_0x791f[66]);var _0x712dx74;_0x712dx49[_0x791f[131]](function(_0x712dx75,_0x712dx34){switch(_0x712dx34){case 0:if(_0x712dx75!== _0x791f[231]){_0x712dx74= _0x712dx75[_0x791f[105]](_0x791f[156]);_0x712dx73[_0x791f[469]]= moment(_0x712dx74[0],_0x791f[470]);_0x712dx73[_0x791f[471]]= moment(_0x712dx74[1],_0x791f[470])}else {_0x712dx73[_0x791f[469]]= null;_0x712dx73[_0x791f[471]]= null};break;case 1:if(_0x712dx75!== _0x791f[231]){_0x712dx74= _0x712dx75[_0x791f[105]](_0x791f[156]);_0x712dx73[_0x791f[472]]= weekDaysCollection[_0x712dx74[0]];_0x712dx73[_0x791f[473]]= _0x712dx74[1]?weekDaysCollection[_0x712dx74[1]]:null}else {_0x712dx73[_0x791f[472]]= null;_0x712dx73[_0x791f[473]]= null};break;case 2:if(_0x712dx75!== _0x791f[231]){_0x712dx74= _0x712dx75[_0x791f[105]](_0x791f[156]);_0x712dx73[_0x791f[474]]= _0x712dx74[0];_0x712dx73[_0x791f[475]]= _0x712dx74[1]?_0x712dx74[1]:null}else {_0x712dx73[_0x791f[474]]= null;_0x712dx73[_0x791f[475]]= null};break;case 3:if(_0x712dx75!== _0x791f[231]){_0x712dx74= _0x712dx75[_0x791f[105]](_0x791f[156]);_0x712dx73[_0x791f[476]]= monthsCollection[_0x712dx74[0]];_0x712dx73[_0x791f[477]]= _0x712dx74[1]?monthsCollection[_0x712dx74[1]]:null}else {_0x712dx73[_0x791f[476]]= null;_0x712dx73[_0x791f[477]]= null};break;default:}});return _0x712dx73}function isIntervalValid(_0x712dx47){var _0x712dx77=moment()[_0x791f[38]](_0x791f[470]);var _0x712dx78=moment()[_0x791f[38]](_0x791f[478]);var _0x712dx79=moment()[_0x791f[38]](_0x791f[479]);var _0x712dx7a=moment()[_0x791f[38]](_0x791f[480]);console[_0x791f[39]](_0x791f[481],_0x712dx77,_0x791f[482],_0x712dx78,_0x791f[483],_0x712dx79,_0x791f[484],_0x712dx7a);console[_0x791f[39]](_0x791f[485]);console[_0x791f[39]](_0x791f[486],moment(_0x712dx47[_0x791f[469]],_0x791f[470])[_0x791f[38]](_0x791f[470]),_0x791f[487],moment(_0x712dx47[_0x791f[471]],_0x791f[470])[_0x791f[38]](_0x791f[470]));console[_0x791f[39]](_0x791f[488],_0x712dx47[_0x791f[472]],_0x791f[487],_0x712dx47[_0x791f[473]]);console[_0x791f[39]](_0x791f[489],_0x712dx47[_0x791f[474]],_0x791f[487],_0x712dx47[_0x791f[475]]);console[_0x791f[39]](_0x791f[490],_0x712dx47[_0x791f[476]],_0x791f[487],_0x712dx47[_0x791f[477]]);var _0x712dx7b,_0x712dx7c,_0x712dx7d,_0x712dx7e;var _0x712dx7f=[1,2,3,4,5,6,7,8,9,10,11,12];var _0x712dx80=[1,2,3,4,5,6,7];var _0x712dx81=[];for(var _0x712dx42=1;_0x712dx42<= 31;_0x712dx42++){_0x712dx81[_0x791f[491]](_0x712dx42)};_0x712dx7b= (_0x712dx47[_0x791f[469]]&& _0x712dx47[_0x791f[471]])?moment(_0x712dx77,_0x791f[470])[_0x791f[492]](moment(_0x712dx47[_0x791f[469]],_0x791f[470]),moment(_0x712dx47[_0x791f[471]],_0x791f[470])):true;if(_0x712dx47[_0x791f[472]]){if(_0x712dx47[_0x791f[473]]){var _0x712dx82=_[_0x791f[263]](_0x712dx80,function(_0x712dx33){return (_0x712dx33>= _0x712dx47[_0x791f[472]])&& (_0x712dx33<= _0x712dx47[_0x791f[473]])});console[_0x791f[39]](_0x791f[493],_0x712dx82);_0x712dx7c= (_0x712dx82[_0x791f[494]](parseInt(_0x712dx78))!== -1)?true:false}else {_0x712dx7c= (parseInt(_0x712dx78)=== _0x712dx47[_0x791f[472]])?true:false}}else {_0x712dx7c= true};if(_0x712dx47[_0x791f[474]]){if(_0x712dx47[_0x791f[475]]){var _0x712dx83=_[_0x791f[263]](_0x712dx81,function(_0x712dx33){return (_0x712dx33>= _0x712dx47[_0x791f[474]])&& (_0x712dx33<= _0x712dx47[_0x791f[475]])});console[_0x791f[39]](_0x791f[495],_0x712dx83);_0x712dx7d= (_0x712dx83[_0x791f[494]](parseInt(_0x712dx79))!== -1)?true:false}else {_0x712dx7d= (parseInt(_0x712dx79)=== _0x712dx47[_0x791f[474]])?true:false}}else {_0x712dx7d= true};if(_0x712dx47[_0x791f[476]]){if(_0x712dx47[_0x791f[477]]){var _0x712dx84=_[_0x791f[263]](_0x712dx7f,function(_0x712dx33){return (_0x712dx33>= _0x712dx47[_0x791f[476]])&& (_0x712dx33<= _0x712dx47[_0x791f[477]])});console[_0x791f[39]](_0x791f[496],_0x712dx84);_0x712dx7e= (_0x712dx84[_0x791f[494]](parseInt(_0x712dx7a))!== -1)?true:false}else {_0x712dx7e= (parseInt(_0x712dx7a)=== _0x712dx47[_0x791f[476]])?true:false}}else {_0x712dx7e= true};console[_0x791f[39]](_0x791f[497],_0x712dx7b,_0x791f[498],_0x712dx7c,_0x791f[499],_0x712dx7d,_0x791f[500],_0x712dx7e);return _0x712dx7b&& _0x712dx7c&& _0x712dx7d&& _0x712dx7e}function setVariable(_0x712dx26,_0x712dx86,_0x712dx52,_0x712dx28){console[_0x791f[39]](_0x791f[501]);console[_0x791f[39]](_0x791f[502]+ _0x712dx86+ _0x791f[503],_0x712dx52);_0x712dx26[_0x791f[45]](util[_0x791f[38]](_0x791f[254],_0x712dx86,_0x712dx52),function(_0x712dx24,_0x712dx29){if(_0x712dx28){_0x712dx28(_0x712dx24,_0x712dx29)}})}function getVariableName(_0x712dx88){if(!collections[_0x791f[434]]){getVariables(false)};var _0x712dx89={name:_0x791f[504]};var _0x712dx8a;if(_0x712dx88){_0x712dx8a= _[_0x791f[57]](collections[_0x791f[434]],{id:parseInt(_0x712dx88)})};return _0x712dx8a?_0x712dx8a[_0x791f[60]]:_0x712dx89[_0x791f[60]]}function setVariablesMatrix(_0x712dx26,_0x712dx27,_0x712dx28,_0x712dx3d){if(_0x712dx3d&& _0x712dx3d[_0x791f[148]]){var _0x712dx32=getVariableName(_0x712dx27[_0x791f[125]]);_[_0x791f[131]](_0x712dx3d,function(_0x712dx8c,_0x712dx34){_[_0x791f[333]](_0x712dx8c,function(_0x712dx52,_0x712dx53){wait[_0x791f[130]](setVariable,_0x712dx26,_0x712dx32+ _0x791f[127]+ _0x712dx34+ _0x791f[505]+ _0x712dx53+ _0x791f[128],_0x791f[129]+ _0x712dx52+ _0x791f[129])})});wait[_0x791f[130]](setVariable,_0x712dx26,_0x712dx32+ _0x791f[506],_0x712dx3d[_0x791f[148]])}else {_0x712dx28(null,{code:200,result:0})}}function getVariable(_0x712dx26,_0x712dx86,_0x712dx28){_0x712dx26[_0x791f[510]](_0x712dx86,function(_0x712dx24,_0x712dx29){if(_0x712dx29[_0x791f[240]]=== 200&& _0x712dx29[_0x791f[145]]!== _0x791f[153]){_0x712dx29[_0x791f[150]]= _0x712dx29[_0x791f[145]][_0x791f[417]](_0x712dx29[_0x791f[145]][_0x791f[508]](_0x791f[507])+ 1,_0x712dx29[_0x791f[145]][_0x791f[508]](_0x791f[509]))}else {_0x712dx29[_0x791f[150]]= _0x791f[88]};_0x712dx28(null,_0x712dx29)})}function getFilePath(_0x712dx88){if(!collections[_0x791f[511]]){getSounds(false)};return Setting[_0x791f[467]]()[_0x791f[93]](function(_0x712dx31){if(_0x712dx88!== _0x791f[149]){if(_0x712dx31){var _0x712dx3f=_[_0x791f[57]](collections[_0x791f[511]],{id:parseInt(_0x712dx88)});return util[_0x791f[38]](_0x791f[512],_0x712dx31[_0x791f[513]]|| _0x791f[514],_0x712dx3f[_0x791f[515]])};return _0x791f[88]}else {return _0x791f[88]}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getUsers(_0x712dx90){return User[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[55]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[24],_0x791f[55],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getQueues(_0x712dx90){return VoiceQueue[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[78]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[25],_0x791f[78],_0x791f[60])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getVariables(_0x712dx90){return Variable[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[434]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[21],_0x791f[434],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getDbConnections(_0x712dx90){return SquareOdbc[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[366]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[22],_0x791f[366],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getIntervals(_0x712dx90){return Interval[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[259]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[26],_0x791f[259])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getProjects(_0x712dx90){return SquareProject[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[322]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[19],_0x791f[322],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getSounds(_0x712dx90){return Sound[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[511]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[27],_0x791f[511],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getMailServerOut(_0x712dx90){return MailServerOut[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[285]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[30],_0x791f[285],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getTemplates(_0x712dx90){return Template[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[292]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[32],_0x791f[292],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function getSmsAccounts(_0x712dx90){return SmsAccount[_0x791f[516]]()[_0x791f[93]](function(_0x712dx31){collections[_0x791f[304]]= _[_0x791f[421]](_0x712dx31);if(_0x712dx90){synchUpdates(_0x791f[29],_0x791f[304],_0x791f[262])}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}function synchUpdates(_0x712dx9b,_0x712dx9c,_0x712dx53){process[_0x791f[45]]({message:_0x712dx53?_0x791f[517]:_0x791f[518],model:_0x712dx9b,collection:_0x712dx9c,key:_0x712dx53})}function updateCollection(_0x712dx9c,_0x712dx9e,_0x712dx9f){var _0x712dxa0=_[_0x791f[57]](collections[_0x712dx9c],_0x712dx9e);if(_0x712dxa0){_[_0x791f[519]](_0x712dxa0,_0x712dx9f)}else {collections[_0x712dx9c][_0x791f[520]](_0x712dx9f)}}function replaceCollection(_0x712dx9c,_0x712dx9f){collections[_0x712dx9c]= _0x712dx9f}function getPort(){return function(){return Setting[_0x791f[467]]()[_0x791f[93]](function(_0x712dx31){if(_0x712dx31){return _0x712dx31[_0x791f[521]]}})[_0x791f[115]](function(_0x712dx24){console[_0x791f[39]](_0x712dx24)})}}Promise[_0x791f[531]]([])[_0x791f[93]](getPort())[_0x791f[93]](function(_0x712dxa3){agi[_0x791f[524]](main)[_0x791f[523]](_0x712dxa3|| 4573);getUsers(true);getQueues(true);getVariables(true);getIntervals(true);getProjects(true);getSounds(true);getDbConnections(true);getMailServerOut(true);getTemplates(true);getSmsAccounts(true);process[_0x791f[34]](_0x791f[114],function(_0x712dx3d){switch(_0x712dx3d[_0x791f[114]]){case _0x791f[527]:updateCollection(_0x712dx3d[_0x791f[525]],_0x712dx3d[_0x791f[385]],_0x712dx3d[_0x791f[526]]);break;case _0x791f[528]:replaceCollection(_0x712dx3d[_0x791f[525]],_0x712dx3d[_0x791f[526]]);break;case _0x791f[530]:_[_0x791f[529]](collections[_0x712dx3d[_0x791f[525]]],_0x712dx3d[_0x791f[385]]);break;default:}})})[_0x791f[115]](function(_0x712dx24){console[_0x791f[33]](_0x791f[522],_0x712dx24)})
\ No newline at end of file
-var cp = require('child_process');
-var util = require('util');
-var models = require('../../models');
-
-module.exports = function() {
- var child = cp
- .fork(__dirname + '/agi')
- .on('message', function(data) {
- switch (data.message) {
- case 'update':
- return models.ReportSquare.update({
- leaveAt: data.leaveAt
- }, {
- where: {
- uniqueid: data.uniqueid
- },
- individualHooks: true
- })
- .catch(function(err) {
- console.log('Error saving exit time from IVR', err);
- });
- case 'create':
- delete data.message;
- return models.ReportSquare
- .create(data)
- .catch(function(err) {
- console.log('Error saving enter time for IVR', err);
- });
- case 'detail':
- delete data.message;
- return models.ReportSquareDetail
- .create(data)
- .catch(function(err) {
- console.log('Error saving ' + data.application + ':' + data.node + ' block log', err);
- });
- case 'synch':
- synchCollection(data, child);
- break;
- case 'forceSynch': //in case of collections with sub-collections (es: voiceextension, interval)
- replaceCollection(data, child);
- break;
- case 'createSms':
- delete data.message;
- return models.SmsMessage
- .create(data)
- .catch(function(err) {
- console.log('Error creating sms message', err);
- });
- case 'createMail':
- delete data.message;
- return models.MailMessage
- .create(data)
- .catch(function(err) {
- console.log('Error creating sms message', err);
- });
- default:
- }
- })
- .on('close', function(code) {
- console.log(util.format('AGI SERVER EXITED WITH CODE %s', code));
- })
- .on('error', function(err) {
- console.error(err);
- });
-
- process.on('exit', function(code) {
- child.kill();
- });
-};
-
-function synchCollection(data, child) {
- var condition = {};
- models[data.model].afterCreate(function(doc) {
- condition[data.key] = doc[data.key];
- child.send({
- message: 'updateCollection',
- collection: data.collection,
- condition: condition,
- doc: doc
- });
- });
- models[data.model].afterUpdate(function(doc) {
- condition[data.key] = doc[data.key];
- child.send({
- message: 'updateCollection',
- collection: data.collection,
- condition: condition,
- doc: doc
- });
- });
- models[data.model].afterDestroy(function(doc) {
- condition[data.key] = doc[data.key];
- child.send({
- message: 'removeFromCollection',
- collection: data.collection,
- condition: condition
- });
- });
-}
-
-function replaceCollection(data, child) {
- var condition = {};
- models[data.model].afterCreate(function(doc) {
- getCollection(data, child, doc);
- });
- models[data.model].afterUpdate(function(doc) {
- getCollection(data, child, doc);
- });
- models[data.model].afterDestroy(function(doc) {
- getCollection(data, child, doc);
- });
-}
-
-function getCollection(data, child, doc) {
- models[data.model]
- .findAll()
- .then(function(results) {
- child.send({
- message: 'replaceCollection',
- collection: data.collection,
- doc: results
- });
- })
- .catch(function(err) {
- console.log('AGI error on replacing ', data.collection, ' collection', err);
- });
-}
+var _0xd4f4=["\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x41\x47\x49\x20\x53\x45\x52\x56\x45\x52\x20\x45\x58\x49\x54\x45\x44\x20\x57\x49\x54\x48\x20\x43\x4F\x44\x45\x20\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x6D\x65\x73\x73\x61\x67\x65","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x65\x78\x69\x74\x20\x74\x69\x6D\x65\x20\x66\x72\x6F\x6D\x20\x49\x56\x52","\x63\x61\x74\x63\x68","\x6C\x65\x61\x76\x65\x41\x74","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20\x65\x6E\x74\x65\x72\x20\x74\x69\x6D\x65\x20\x66\x6F\x72\x20\x49\x56\x52","\x63\x72\x65\x61\x74\x65","\x45\x72\x72\x6F\x72\x20\x73\x61\x76\x69\x6E\x67\x20","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x3A","\x6E\x6F\x64\x65","\x20\x62\x6C\x6F\x63\x6B\x20\x6C\x6F\x67","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C","\x64\x65\x74\x61\x69\x6C","\x73\x79\x6E\x63\x68","\x66\x6F\x72\x63\x65\x53\x79\x6E\x63\x68","\x45\x72\x72\x6F\x72\x20\x63\x72\x65\x61\x74\x69\x6E\x67\x20\x73\x6D\x73\x20\x6D\x65\x73\x73\x61\x67\x65","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65\x53\x6D\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x63\x72\x65\x61\x74\x65\x4D\x61\x69\x6C","\x2F\x61\x67\x69","\x66\x6F\x72\x6B","\x65\x78\x69\x74","\x6B\x69\x6C\x6C","\x6B\x65\x79","\x75\x70\x64\x61\x74\x65\x43\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x73\x65\x6E\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x6D\x6F\x64\x65\x6C","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65\x46\x72\x6F\x6D\x43\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x41\x47\x49\x20\x65\x72\x72\x6F\x72\x20\x6F\x6E\x20\x72\x65\x70\x6C\x61\x63\x69\x6E\x67\x20","\x20\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x72\x65\x70\x6C\x61\x63\x65\x43\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];var cp=require(_0xd4f4[0]);var util=require(_0xd4f4[1]);var models=require(_0xd4f4[2]);module[_0xd4f4[3]]= function(){var _0xe6f5x4=cp[_0xd4f4[34]](__dirname+ _0xd4f4[33])[_0xd4f4[5]](_0xd4f4[10],function(_0xe6f5x7){switch(_0xe6f5x7[_0xd4f4[10]]){case _0xd4f4[15]:return models[_0xd4f4[16]][_0xd4f4[15]]({leaveAt:_0xe6f5x7[_0xd4f4[13]]},{where:{uniqueid:_0xe6f5x7[_0xd4f4[14]]},individualHooks:true})[_0xd4f4[12]](function(_0xe6f5x5){console[_0xd4f4[9]](_0xd4f4[11],_0xe6f5x5)});case _0xd4f4[18]:delete _0xe6f5x7[_0xd4f4[10]];return models[_0xd4f4[16]][_0xd4f4[18]](_0xe6f5x7)[_0xd4f4[12]](function(_0xe6f5x5){console[_0xd4f4[9]](_0xd4f4[17],_0xe6f5x5)});case _0xd4f4[25]:delete _0xe6f5x7[_0xd4f4[10]];return models[_0xd4f4[24]][_0xd4f4[18]](_0xe6f5x7)[_0xd4f4[12]](function(_0xe6f5x5){console[_0xd4f4[9]](_0xd4f4[19]+ _0xe6f5x7[_0xd4f4[20]]+ _0xd4f4[21]+ _0xe6f5x7[_0xd4f4[22]]+ _0xd4f4[23],_0xe6f5x5)});case _0xd4f4[26]:synchCollection(_0xe6f5x7,_0xe6f5x4);break;case _0xd4f4[27]:replaceCollection(_0xe6f5x7,_0xe6f5x4);break;case _0xd4f4[30]:delete _0xe6f5x7[_0xd4f4[10]];return models[_0xd4f4[29]][_0xd4f4[18]](_0xe6f5x7)[_0xd4f4[12]](function(_0xe6f5x5){console[_0xd4f4[9]](_0xd4f4[28],_0xe6f5x5)});case _0xd4f4[32]:delete _0xe6f5x7[_0xd4f4[10]];return models[_0xd4f4[31]][_0xd4f4[18]](_0xe6f5x7)[_0xd4f4[12]](function(_0xe6f5x5){console[_0xd4f4[9]](_0xd4f4[28],_0xe6f5x5)});default:}})[_0xd4f4[5]](_0xd4f4[6],function(_0xe6f5x6){console[_0xd4f4[9]](util[_0xd4f4[8]](_0xd4f4[7],_0xe6f5x6))})[_0xd4f4[5]](_0xd4f4[4],function(_0xe6f5x5){console[_0xd4f4[4]](_0xe6f5x5)});process[_0xd4f4[5]](_0xd4f4[35],function(_0xe6f5x6){_0xe6f5x4[_0xd4f4[36]]()})};function synchCollection(_0xe6f5x7,_0xe6f5x4){var _0xe6f5x9={};models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[41]](function(_0xe6f5xa){_0xe6f5x9[_0xe6f5x7[_0xd4f4[37]]]= _0xe6f5xa[_0xe6f5x7[_0xd4f4[37]]];_0xe6f5x4[_0xd4f4[40]]({message:_0xd4f4[38],collection:_0xe6f5x7[_0xd4f4[39]],condition:_0xe6f5x9,doc:_0xe6f5xa})});models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[43]](function(_0xe6f5xa){_0xe6f5x9[_0xe6f5x7[_0xd4f4[37]]]= _0xe6f5xa[_0xe6f5x7[_0xd4f4[37]]];_0xe6f5x4[_0xd4f4[40]]({message:_0xd4f4[38],collection:_0xe6f5x7[_0xd4f4[39]],condition:_0xe6f5x9,doc:_0xe6f5xa})});models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[45]](function(_0xe6f5xa){_0xe6f5x9[_0xe6f5x7[_0xd4f4[37]]]= _0xe6f5xa[_0xe6f5x7[_0xd4f4[37]]];_0xe6f5x4[_0xd4f4[40]]({message:_0xd4f4[44],collection:_0xe6f5x7[_0xd4f4[39]],condition:_0xe6f5x9})})}function replaceCollection(_0xe6f5x7,_0xe6f5x4){var _0xe6f5x9={};models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[41]](function(_0xe6f5xa){getCollection(_0xe6f5x7,_0xe6f5x4,_0xe6f5xa)});models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[43]](function(_0xe6f5xa){getCollection(_0xe6f5x7,_0xe6f5x4,_0xe6f5xa)});models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[45]](function(_0xe6f5xa){getCollection(_0xe6f5x7,_0xe6f5x4,_0xe6f5xa)})}function getCollection(_0xe6f5x7,_0xe6f5x4,_0xe6f5xa){models[_0xe6f5x7[_0xd4f4[42]]][_0xd4f4[50]]()[_0xd4f4[49]](function(_0xe6f5xd){_0xe6f5x4[_0xd4f4[40]]({message:_0xd4f4[48],collection:_0xe6f5x7[_0xd4f4[39]],doc:_0xe6f5xd})})[_0xd4f4[12]](function(_0xe6f5x5){console[_0xd4f4[9]](_0xd4f4[46],_0xe6f5x7[_0xd4f4[39]],_0xd4f4[47],_0xe6f5x5)})}
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-var moment = require('moment');
-var util = require('util');
-var Promise = require('bluebird');
-
-var Agent = require('../../models').User;
-var _Action = require('../../models').Action;
-var Sequelize = require('../../models').sequelize;
-var VoiceQueue = require('../../models').VoiceQueue;
-var ReportMember = require('../../models').ReportMember;
-var UserHasVoiceQueue = require('../../models').UserHasVoiceQueue;
-var UserHasChatQueue = require('../../models').UserHasChatQueue;
-var UserHasMailQueue = require('../../models').UserHasMailQueue;
-var UserHasFaxQueue = require('../../models').UserHasFaxQueue;
-var UserHasSmsQueue = require('../../models').UserHasSmsQueue;
-var UserHasOpenchannelQueue = require('../../models').UserHasOpenchannelQueue;
-
-function Action(ami) {
- console.log('Action Initialization...');
- var channels = ['voice', 'chat', 'mail', 'fax', 'sms', 'openchannel'];
-
- _Action.afterCreate(function(doc, options) {
- return onSave(doc, options, ami);
- });
-
- ReportMember.beforeCreate(function(doc, options) {
- return ReportMember
- .findAll({
- where: {
- channel: doc.channel,
- membername: doc.membername,
- interface: doc.interface,
- type: doc.type,
- exitAt: null
- }
- })
- .then(function(elms) {
- var queries = [];
- elms.forEach(function(elm) {
- queries.push(elm.update({
- exitAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- }));
- });
-
- return Promise
- .all(queries);
- });
- });
-
- // HANDLE PAUSE FUNCTION
- function handlePause(options, action) {
- return function(agent) {
- return Promise
- .promisify(ami.action)({
- action: 'QueuePause',
- interface: util.format('%s/%s', 'SIP', agent.name),
- paused: true,
- reason: options.body.type || action.data1,
- })
- .then(function(astData) {
- return agent
- .update({
- voicePause: true,
- chatPause: true,
- mailPause: true,
- faxPause: true,
- smsPause: true,
- openchannelPause: true,
- pauseType: options.body.type || action.data1,
- lastPauseAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }, {
- transaction: options.transaction || null
- });
- })
- .then(function(agent) {
- var reportMembers = [];
- channels.forEach(function(channel) {
- reportMembers.push({
- channel: channel,
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'PAUSE',
- enterAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- data1: options.body.type || action.data1,
- data2: action.data2,
- data3: action.data3,
- data4: action.data4,
- role: agent.role,
- internal: agent.internal
- });
- })
- return ReportMember
- .bulkCreate(reportMembers, {
- individualHooks: true,
- transaction: options.transaction || null
- });
- });
- }
- }
-
- // HANDLE PAUSE FUNCTION
- function handlePauseLogin(options, action) {
- return function(agent) {
- if (agent.loginInPause && !agent.online) {
- return Promise
- .promisify(ami.action)({
- action: 'QueuePause',
- interface: util.format('%s/%s', 'SIP', agent.name),
- paused: true,
- reason: 'DEFAULT PAUSE',
- })
- .then(function(astData) {
- return agent
- .update({
- voicePause: true,
- chatPause: true,
- mailPause: true,
- faxPause: true,
- smsPause: true,
- openchannelPause: true,
- pauseType: 'DEFAULT PAUSE',
- lastPauseAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }, {
- transaction: options.transaction || null
- });
- })
- .then(function(agent) {
- var reportMembers = [];
- channels.forEach(function(channel) {
- reportMembers.push({
- channel: channel,
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'PAUSE',
- enterAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- data1: 'DEFAULT PAUSE',
- data2: action.data2,
- data3: action.data3,
- data4: 'DEFAULT PAUSE',
- role: agent.role,
- internal: agent.internal
- });
- })
- return ReportMember
- .bulkCreate(reportMembers, {
- individualHooks: true,
- transaction: options.transaction || null
- });
- });
- }
- }
- }
-
- // HANDLE UNPAUSE FUNCTION
- function handleUnpause(options, action) {
- return function(agent) {
- if (!options.body) options.body = {};
-
- switch (options.body.channel) {
- case 'voice':
-
- return Promise
- .promisify(ami.action)({
- action: 'QueuePause',
- interface: util.format('%s/%s', 'SIP', agent.name),
- paused: false,
- reason: options.body.type
- })
- .then(function() {
- return agent
- .update({
- voicePause: false,
- }, {
- transaction: options.transaction || null
- });
- })
- .then(function(agent) {
- return ReportMember
- .findOne({
- where: {
- channel: options.body.channel,
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'PAUSE',
- exitAt: null
- }
- });
- })
- .then(handleEntityNotFound({
- message: 'Already Pause Off'
- }))
- .then(function(reportMember) {
- return reportMember
- .update({
- exitAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- }, {
- individualHooks: true,
- transaction: options.transaction || null
- });
- })
- .then(function() {
- return agent;
- });
-
- case 'chat':
- case 'mail':
- case 'fax':
- case 'sms':
- case 'openchannel':
-
- var data = {};
- data[util.format('%s%s', options.body.channel, 'Pause')] = false;
-
- return agent
- .update(data, {
- transaction: options.transaction || null
- })
- .then(function(agent) {
-
- return ReportMember
- .findOne({
- where: {
- channel: options.body.channel,
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'PAUSE',
- exitAt: null
- }
- });
- })
- .then(handleEntityNotFound({
- message: 'Already Pause Off'
- }))
- .then(function(reportMember) {
- return reportMember
- .update({
- exitAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- }, {
- individualHooks: true,
- transaction: options.transaction || null
- });
- })
- .then(function() {
- return agent;
- });
-
- default:
- var action = Promise.promisify(ami.action);
- return action({
- action: 'QueuePause',
- interface: util.format('%s/%s', 'SIP', agent.name),
- paused: false
- })
- .catch(function(err) {
- console.error(err);
- })
- .then(function() {
- return agent
- .update({
- voicePause: false,
- mailPause: false,
- chatPause: false,
- faxPause: false,
- smsPause: false,
- openchannelPause: false
- }, {
- transaction: options.transaction || null
- });
- })
- .then(function(agent) {
- return ReportMember
- .findAll({
- where: {
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'PAUSE',
- exitAt: null
- },
- });
- })
- .then(function(members) {
- var promises = [];
-
- members.forEach(function(member) {
- promises.push(member.update({
- exitAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }));
- });
-
- return Promise
- .all(promises);
- })
- .then(function() {
- return agent;
- });
- }
- }
- }
-
- // HANDLE LOGIN FUNCTION
- function handleLogin(options, action) {
- return function(agent) {
- if (!agent.online) {
- return agent
- .getVoiceQueues()
- .then(function(voiceQueues) {
- var actions = [];
- voiceQueues.forEach(function(voiceQueue) {
- actions.push(ami.action({
- action: 'QueueAdd',
- queue: voiceQueue.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- membername: agent.name
- }));
- });
- return Promise.all(actions);
- })
- .then(function(astData) {
- var reportMembers = [];
- channels.forEach(function(channel) {
- reportMembers.push({
- channel: channel,
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'LOGIN',
- enterAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- role: agent.role,
- internal: agent.internal
- });
- });
- return ReportMember
- .bulkCreate(reportMembers, {
- individualHooks: true
- });
- });
- }
- }
- }
-
- // HANDLE LOGOUT FUNCTION
- function handleLogout(options, action) {
- return function(agent) {
- return VoiceQueue
- .findAll()
- .then(function(voiceQueues) {
- var actions = [];
- voiceQueues.forEach(function(voiceQueue) {
- actions.push(ami.action({
- action: 'QueueRemove',
- queue: voiceQueue.name,
- interface: util.format('%s/%s', 'SIP', agent.name)
- }));
- });
- return Promise
- .all(actions)
- .catch(function(err) {
- console.error(err);
- });
- })
- .then(function(astData) {
- return ReportMember
- .findAll({
- where: {
- membername: agent.name,
- interface: util.format('%s/%s', 'SIP', agent.name),
- type: 'LOGIN',
- exitAt: null
- },
- });
- })
- .then(function(members) {
- //single update
- var promises = [];
-
- members.forEach(function(member) {
- promises.push(member.update({
- exitAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }));
- });
-
- return Promise
- .all(promises);
- });
- }
- }
-
- // HANDLE QUEUEADD FUNCTION
- function handleQueueAdd(options, action) {
- return function(agent) {
- var bulkQueues = [];
- switch (options.body.channel) {
- case 'voice':
- options.body.queues.forEach(function(queue) {
- bulkQueues.push(UserHasVoiceQueue
- .findOrCreate({
- where: {
- UserId: agent.id,
- queue: queue
- },
- defaults: {
- queue: queue,
- location: util.format('SIP/%s', agent.name),
- membername: agent.name,
- UserId: agent.id,
- },
- transaction: options.transaction || null
- }));
- });
- return Promise
- .all(bulkQueues)
- .then(function() {
- var actions = [];
- options.body.queues.forEach(function(queue) {
- actions.push(ami.action({
- action: 'QueueAdd',
- queue: queue,
- interface: util.format('%s/%s', 'SIP', agent.name),
- membername: agent.name
- }));
- });
- return Promise
- .all(actions);
- })
- .catch(function(err) {
- console.error(err);
- })
- case 'chat':
- options.body.queues.forEach(function(queue) {
- bulkQueues.push(UserHasChatQueue
- .findOrCreate({
- where: {
- UserId: agent.id,
- ChatQueueId: queue.id
- },
- defaults: {
- ChatQueueId: queue.id,
- queue: queue.name,
- UserId: agent.id,
- },
- transaction: options.transaction || null
- }));
- });
- return Promise
- .all(bulkQueues)
- .catch(function(err) {
- console.log(err);
- });
- case 'mail':
- options.body.queues.forEach(function(queue) {
- bulkQueues.push(UserHasMailQueue
- .findOrCreate({
- where: {
- UserId: agent.id,
- MailQueueId: queue.id
- },
- defaults: {
- MailQueueId: queue.id,
- queue: queue.name,
- UserId: agent.id,
- },
- transaction: options.transaction || null
- }));
- });
- return Promise
- .all(bulkQueues)
- .catch(function(err) {
- console.log(err);
- });
- case 'sms':
- options.body.queues.forEach(function(queue) {
- bulkQueues.push(UserHasSmsQueue
- .findOrCreate({
- where: {
- UserId: agent.id,
- SmsQueueId: queue.id
- },
- defaults: {
- SmsQueueId: queue.id,
- queue: queue.name,
- UserId: agent.id,
- },
- transaction: options.transaction || null
- }));
- });
- return Promise
- .all(bulkQueues)
- .catch(function(err) {
- console.log(err);
- });
- case 'openchannel':
- options.body.queues.forEach(function(queue) {
- bulkQueues.push(UserHasOpenchannelQueue
- .findOrCreate({
- where: {
- UserId: agent.id,
- OpenchannelQueueId: queue.id
- },
- defaults: {
- OpenchannelQueueId: queue.id,
- queue: queue.name,
- UserId: agent.id,
- },
- transaction: options.transaction || null
- }));
- });
- return Promise
- .all(bulkQueues)
- .catch(function(err) {
- console.log(err);
- });
- case 'fax':
- options.body.queues.forEach(function(queue) {
- bulkQueues.push(UserHasFaxQueue
- .findOrCreate({
- where: {
- UserId: agent.id,
- FaxQueueId: queue.id
- },
- defaults: {
- faxQueueId: queue.id,
- queue: queue.name,
- UserId: agent.id,
- },
- transaction: options.transaction || null
- }));
- });
- return Promise
- .all(bulkQueues)
- .catch(function(err) {
- console.log(err);
- });
- default:
- }
- }
- }
-
- // HANDLE QUEUEREMOVE FUNCTION
- function handleQueueRemove(options, action) {
- return function(agent) {
- switch (options.body.channel) {
- case 'voice':
- return UserHasVoiceQueue
- .destroy({
- where: {
- UserId: agent.id,
- queue: options.body.queue
- },
- transaction: options.transaction || null,
- individualHooks: true
- })
- .then(function() {
- var newAction = Promise.promisify(ami.action);
- return newAction({
- action: 'QueueRemove',
- queue: options.body.queue,
- interface: util.format('%s/%s', 'SIP', agent.name),
- });
- })
- .catch(function(err) {
- console.error('queue association remove error :', err);
- });
- case 'chat':
- return UserHasChatQueue
- .destroy({
- where: {
- UserId: agent.id,
- ChatQueueId: options.body.queueId
- },
- transaction: options.transaction || null,
- individualHooks: true
- })
- .catch(function(err) {
- console.error('queue association remove error :', err);
- });
- case 'mail':
- return UserHasMailQueue
- .destroy({
- where: {
- UserId: agent.id,
- MailQueueId: options.body.queueId
- },
- transaction: options.transaction || null,
- individualHooks: true
- })
- .catch(function(err) {
- console.error('queue association remove error :', err);
- });
- case 'sms':
- return UserHasSmsQueue
- .destroy({
- where: {
- UserId: agent.id,
- SmsQueueId: options.body.queueId
- },
- transaction: options.transaction || null,
- individualHooks: true
- })
- .catch(function(err) {
- console.error('queue association remove error :', err);
- });
- case 'openchannel':
- return UserHasOpenchannelQueue
- .destroy({
- where: {
- UserId: agent.id,
- OpenchannelQueueId: options.body.queueId
- },
- transaction: options.transaction || null,
- individualHooks: true
- })
- .catch(function(err) {
- console.error('queue association remove error :', err);
- });
- case 'fax':
- return UserHasFaxQueue
- .destroy({
- where: {
- UserId: agent.id,
- FaxQueueId: options.body.queueId
- },
- transaction: options.transaction || null,
- individualHooks: true
- })
- .catch(function(err) {
- console.error('queue association remove error :', err);
- });
- default:
- }
- }
- }
-
- // HANDLE ENTITY NOT FOUND
- function handleEntityNotFound(error) {
- return function(entity) {
- if (!entity) {
- throw error;
- }
- return entity;
- };
- }
-
- function onSave(action, options, ami) {
- // START ACTION STATEMENT
- switch (action.name) {
- case 'pause':
- // START HANDLE PAUSE
- return Agent
- .findById(options.body.agent)
- .then(handleEntityNotFound({
- message: 'Unknown Agent'
- }))
- .then(handlePause(options, action));
- // END HANDLE PAUSE
- case 'unpause':
- // START HANDLE UNPAUSE
- return Agent
- .findById(options.body.agent)
- .then(handleEntityNotFound({
- message: 'Unknown Agent'
- }))
- .then(handleUnpause(options, action));
- // END HANDLE UNPAUSE
-
- case 'login':
- // START HANDLE LOGIN
- return Agent
- .findById(action.data1)
- .then(handleEntityNotFound({
- message: 'Unknown Agent'
- }))
- .then(handleLogin(options, action))
- .then(function() {
- return Agent
- .findById(action.data1)
- })
- .then(handlePauseLogin(options, action));
- // END HANDLE LOGING
-
- case 'logout':
- // START HANDLE LOGOUT
- return Agent
- .findById(action.data1)
- .then(handleEntityNotFound({
- message: 'Unknown Agent'
- }))
- .then(handleUnpause(options, action))
- .then(handleLogout(options, action));
- // END HANDLE LOGOUT
- case 'QueueAdd':
- // START HANDLE QUEUEADD
- return Agent
- .findById(options.body.agent)
- .then(handleEntityNotFound({
- message: 'Unknown Agent'
- }))
- .then(handleQueueAdd(options, action));
- // END HANDLE QUEUEADD
- case 'QueueRemove':
- // START HANDLE QUEUEREMOVE
- return Agent
- .findById(options.body.agent)
- .then(handleEntityNotFound({
- message: 'Unknown Agent'
- }))
- .then(handleQueueRemove(options, action));
- // END HANDLE QUEUEREMOVE
-
- default:
- throw {
- message: 'Unknown Action'
- };
- }
- // END ACTION STATEMENT
- }
-
- return {};
-}
-
-module.exports = Action;
+var _0xdcc5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x75\x74\x69\x6C","\x62\x6C\x75\x65\x62\x69\x72\x64","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x63\x74\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x53\x6D\x73\x51\x75\x65\x75\x65","\x55\x73\x65\x72\x48\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x41\x63\x74\x69\x6F\x6E\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x76\x6F\x69\x63\x65","\x63\x68\x61\x74","\x6D\x61\x69\x6C","\x66\x61\x78","\x73\x6D\x73","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x75\x70\x64\x61\x74\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x74\x68\x65\x6E","\x63\x68\x61\x6E\x6E\x65\x6C","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x74\x79\x70\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x62\x65\x66\x6F\x72\x65\x43\x72\x65\x61\x74\x65","\x6E\x61\x6D\x65","\x25\x73\x2F\x25\x73","\x53\x49\x50","\x50\x41\x55\x53\x45","\x62\x6F\x64\x79","\x64\x61\x74\x61\x31","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x33","\x64\x61\x74\x61\x34","\x72\x6F\x6C\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x51\x75\x65\x75\x65\x50\x61\x75\x73\x65","\x61\x63\x74\x69\x6F\x6E","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x6C\x6F\x67\x69\x6E\x49\x6E\x50\x61\x75\x73\x65","\x6F\x6E\x6C\x69\x6E\x65","\x44\x45\x46\x41\x55\x4C\x54\x20\x50\x41\x55\x53\x45","\x41\x6C\x72\x65\x61\x64\x79\x20\x50\x61\x75\x73\x65\x20\x4F\x66\x66","\x66\x69\x6E\x64\x4F\x6E\x65","\x25\x73\x25\x73","\x50\x61\x75\x73\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x4C\x4F\x47\x49\x4E","\x51\x75\x65\x75\x65\x41\x64\x64","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x51\x75\x65\x75\x65\x52\x65\x6D\x6F\x76\x65","\x69\x64","\x53\x49\x50\x2F\x25\x73","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x71\x75\x65\x75\x65\x73","\x71\x75\x65\x75\x65\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x69\x6F\x6E\x20\x72\x65\x6D\x6F\x76\x65\x20\x65\x72\x72\x6F\x72\x20\x3A","\x71\x75\x65\x75\x65","\x64\x65\x73\x74\x72\x6F\x79","\x71\x75\x65\x75\x65\x49\x64","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x41\x67\x65\x6E\x74","\x61\x67\x65\x6E\x74","\x66\x69\x6E\x64\x42\x79\x49\x64","\x70\x61\x75\x73\x65","\x75\x6E\x70\x61\x75\x73\x65","\x6C\x6F\x67\x69\x6E","\x6C\x6F\x67\x6F\x75\x74","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x41\x63\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];_0xdcc5[0];var moment=require(_0xdcc5[1]);var util=require(_0xdcc5[2]);var Promise=require(_0xdcc5[3]);var Agent=require(_0xdcc5[5])[_0xdcc5[4]];var _Action=require(_0xdcc5[5])[_0xdcc5[6]];var Sequelize=require(_0xdcc5[5])[_0xdcc5[7]];var VoiceQueue=require(_0xdcc5[5])[_0xdcc5[8]];var ReportMember=require(_0xdcc5[5])[_0xdcc5[9]];var UserHasVoiceQueue=require(_0xdcc5[5])[_0xdcc5[10]];var UserHasChatQueue=require(_0xdcc5[5])[_0xdcc5[11]];var UserHasMailQueue=require(_0xdcc5[5])[_0xdcc5[12]];var UserHasFaxQueue=require(_0xdcc5[5])[_0xdcc5[13]];var UserHasSmsQueue=require(_0xdcc5[5])[_0xdcc5[14]];var UserHasOpenchannelQueue=require(_0xdcc5[5])[_0xdcc5[15]];function Action(_0x6fe8x10){console[_0xdcc5[17]](_0xdcc5[16]);var _0x6fe8x11=[_0xdcc5[18],_0xdcc5[19],_0xdcc5[20],_0xdcc5[21],_0xdcc5[22],_0xdcc5[23]];_Action[_0xdcc5[24]](function(_0x6fe8x12,_0x6fe8x13){return _0x6fe8x32(_0x6fe8x12,_0x6fe8x13,_0x6fe8x10)});ReportMember[_0xdcc5[37]](function(_0x6fe8x12,_0x6fe8x13){return ReportMember[_0xdcc5[36]]({where:{channel:_0x6fe8x12[_0xdcc5[32]],membername:_0x6fe8x12[_0xdcc5[33]],interface:_0x6fe8x12[_0xdcc5[34]],type:_0x6fe8x12[_0xdcc5[35]],exitAt:null}})[_0xdcc5[31]](function(_0x6fe8x14){var _0x6fe8x15=[];_0x6fe8x14[_0xdcc5[29]](function(_0x6fe8x16){_0x6fe8x15[_0xdcc5[28]](_0x6fe8x16[_0xdcc5[27]]({exitAt:moment()[_0xdcc5[26]](_0xdcc5[25])}))});return Promise[_0xdcc5[30]](_0x6fe8x15)})});function _0x6fe8x17(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){return Promise[_0xdcc5[53]](_0x6fe8x10[_0xdcc5[52]])({action:_0xdcc5[51],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),paused:true,reason:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[35]]|| _0x6fe8x18[_0xdcc5[43]]})[_0xdcc5[31]](function(_0x6fe8x1c){return _0x6fe8x19[_0xdcc5[27]]({voicePause:true,chatPause:true,mailPause:true,faxPause:true,smsPause:true,openchannelPause:true,pauseType:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[35]]|| _0x6fe8x18[_0xdcc5[43]],lastPauseAt:moment()[_0xdcc5[26]](_0xdcc5[25])},{transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})[_0xdcc5[31]](function(_0x6fe8x19){var _0x6fe8x1a=[];_0x6fe8x11[_0xdcc5[29]](function(_0x6fe8x1b){_0x6fe8x1a[_0xdcc5[28]]({channel:_0x6fe8x1b,membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[41],enterAt:moment()[_0xdcc5[26]](_0xdcc5[25]),data1:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[35]]|| _0x6fe8x18[_0xdcc5[43]],data2:_0x6fe8x18[_0xdcc5[44]],data3:_0x6fe8x18[_0xdcc5[45]],data4:_0x6fe8x18[_0xdcc5[46]],role:_0x6fe8x19[_0xdcc5[47]],internal:_0x6fe8x19[_0xdcc5[48]]})});return ReportMember[_0xdcc5[50]](_0x6fe8x1a,{individualHooks:true,transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})}}function _0x6fe8x1d(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){if(_0x6fe8x19[_0xdcc5[54]]&& !_0x6fe8x19[_0xdcc5[55]]){return Promise[_0xdcc5[53]](_0x6fe8x10[_0xdcc5[52]])({action:_0xdcc5[51],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),paused:true,reason:_0xdcc5[56]})[_0xdcc5[31]](function(_0x6fe8x1c){return _0x6fe8x19[_0xdcc5[27]]({voicePause:true,chatPause:true,mailPause:true,faxPause:true,smsPause:true,openchannelPause:true,pauseType:_0xdcc5[56],lastPauseAt:moment()[_0xdcc5[26]](_0xdcc5[25])},{transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})[_0xdcc5[31]](function(_0x6fe8x19){var _0x6fe8x1a=[];_0x6fe8x11[_0xdcc5[29]](function(_0x6fe8x1b){_0x6fe8x1a[_0xdcc5[28]]({channel:_0x6fe8x1b,membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[41],enterAt:moment()[_0xdcc5[26]](_0xdcc5[25]),data1:_0xdcc5[56],data2:_0x6fe8x18[_0xdcc5[44]],data3:_0x6fe8x18[_0xdcc5[45]],data4:_0xdcc5[56],role:_0x6fe8x19[_0xdcc5[47]],internal:_0x6fe8x19[_0xdcc5[48]]})});return ReportMember[_0xdcc5[50]](_0x6fe8x1a,{individualHooks:true,transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})}}}function _0x6fe8x1e(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){if(!_0x6fe8x13[_0xdcc5[42]]){_0x6fe8x13[_0xdcc5[42]]= {}};switch(_0x6fe8x13[_0xdcc5[42]][_0xdcc5[32]]){case _0xdcc5[18]:return Promise[_0xdcc5[53]](_0x6fe8x10[_0xdcc5[52]])({action:_0xdcc5[51],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),paused:false,reason:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[35]]})[_0xdcc5[31]](function(){return _0x6fe8x19[_0xdcc5[27]]({voicePause:false},{transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})[_0xdcc5[31]](function(_0x6fe8x19){return ReportMember[_0xdcc5[58]]({where:{channel:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[32]],membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[41],exitAt:null}})})[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[57]}))[_0xdcc5[31]](function(_0x6fe8x1f){return _0x6fe8x1f[_0xdcc5[27]]({exitAt:moment()[_0xdcc5[26]](_0xdcc5[25])},{individualHooks:true,transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})[_0xdcc5[31]](function(){return _0x6fe8x19});case _0xdcc5[19]:;case _0xdcc5[20]:;case _0xdcc5[21]:;case _0xdcc5[22]:;case _0xdcc5[23]:var _0x6fe8x20={};_0x6fe8x20[util[_0xdcc5[26]](_0xdcc5[59],_0x6fe8x13[_0xdcc5[42]][_0xdcc5[32]],_0xdcc5[60])]= false;return _0x6fe8x19[_0xdcc5[27]](_0x6fe8x20,{transaction:_0x6fe8x13[_0xdcc5[49]]|| null})[_0xdcc5[31]](function(_0x6fe8x19){return ReportMember[_0xdcc5[58]]({where:{channel:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[32]],membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[41],exitAt:null}})})[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[57]}))[_0xdcc5[31]](function(_0x6fe8x1f){return _0x6fe8x1f[_0xdcc5[27]]({exitAt:moment()[_0xdcc5[26]](_0xdcc5[25])},{individualHooks:true,transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})[_0xdcc5[31]](function(){return _0x6fe8x19});default:var _0x6fe8x18=Promise[_0xdcc5[53]](_0x6fe8x10[_0xdcc5[52]]);return _0x6fe8x18({action:_0xdcc5[51],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),paused:false})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0x6fe8x24)})[_0xdcc5[31]](function(){return _0x6fe8x19[_0xdcc5[27]]({voicePause:false,mailPause:false,chatPause:false,faxPause:false,smsPause:false,openchannelPause:false},{transaction:_0x6fe8x13[_0xdcc5[49]]|| null})})[_0xdcc5[31]](function(_0x6fe8x19){return ReportMember[_0xdcc5[36]]({where:{membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[41],exitAt:null}})})[_0xdcc5[31]](function(_0x6fe8x21){var _0x6fe8x22=[];_0x6fe8x21[_0xdcc5[29]](function(_0x6fe8x23){_0x6fe8x22[_0xdcc5[28]](_0x6fe8x23[_0xdcc5[27]]({exitAt:moment()[_0xdcc5[26]](_0xdcc5[25])}))});return Promise[_0xdcc5[30]](_0x6fe8x22)})[_0xdcc5[31]](function(){return _0x6fe8x19})}}}function _0x6fe8x25(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){if(!_0x6fe8x19[_0xdcc5[55]]){return _0x6fe8x19[_0xdcc5[65]]()[_0xdcc5[31]](function(_0x6fe8x26){var _0x6fe8x27=[];_0x6fe8x26[_0xdcc5[29]](function(_0x6fe8x28){_0x6fe8x27[_0xdcc5[28]](_0x6fe8x10[_0xdcc5[52]]({action:_0xdcc5[64],queue:_0x6fe8x28[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),membername:_0x6fe8x19[_0xdcc5[38]]}))});return Promise[_0xdcc5[30]](_0x6fe8x27)})[_0xdcc5[31]](function(_0x6fe8x1c){var _0x6fe8x1a=[];_0x6fe8x11[_0xdcc5[29]](function(_0x6fe8x1b){_0x6fe8x1a[_0xdcc5[28]]({channel:_0x6fe8x1b,membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[63],enterAt:moment()[_0xdcc5[26]](_0xdcc5[25]),role:_0x6fe8x19[_0xdcc5[47]],internal:_0x6fe8x19[_0xdcc5[48]]})});return ReportMember[_0xdcc5[50]](_0x6fe8x1a,{individualHooks:true})})}}}function _0x6fe8x29(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){return VoiceQueue[_0xdcc5[36]]()[_0xdcc5[31]](function(_0x6fe8x26){var _0x6fe8x27=[];_0x6fe8x26[_0xdcc5[29]](function(_0x6fe8x28){_0x6fe8x27[_0xdcc5[28]](_0x6fe8x10[_0xdcc5[52]]({action:_0xdcc5[66],queue:_0x6fe8x28[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]])}))});return Promise[_0xdcc5[30]](_0x6fe8x27)[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0x6fe8x24)})})[_0xdcc5[31]](function(_0x6fe8x1c){return ReportMember[_0xdcc5[36]]({where:{membername:_0x6fe8x19[_0xdcc5[38]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),type:_0xdcc5[63],exitAt:null}})})[_0xdcc5[31]](function(_0x6fe8x21){var _0x6fe8x22=[];_0x6fe8x21[_0xdcc5[29]](function(_0x6fe8x23){_0x6fe8x22[_0xdcc5[28]](_0x6fe8x23[_0xdcc5[27]]({exitAt:moment()[_0xdcc5[26]](_0xdcc5[25])}))});return Promise[_0xdcc5[30]](_0x6fe8x22)})}}function _0x6fe8x2a(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){var _0x6fe8x2b=[];switch(_0x6fe8x13[_0xdcc5[42]][_0xdcc5[32]]){case _0xdcc5[18]:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x2b[_0xdcc5[28]](UserHasVoiceQueue[_0xdcc5[69]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],queue:_0x6fe8x2c},defaults:{queue:_0x6fe8x2c,location:util[_0xdcc5[26]](_0xdcc5[68],_0x6fe8x19[_0xdcc5[38]]),membername:_0x6fe8x19[_0xdcc5[38]],UserId:_0x6fe8x19[_0xdcc5[67]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null}))});return Promise[_0xdcc5[30]](_0x6fe8x2b)[_0xdcc5[31]](function(){var _0x6fe8x27=[];_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x27[_0xdcc5[28]](_0x6fe8x10[_0xdcc5[52]]({action:_0xdcc5[64],queue:_0x6fe8x2c,interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]]),membername:_0x6fe8x19[_0xdcc5[38]]}))});return Promise[_0xdcc5[30]](_0x6fe8x27)})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0x6fe8x24)});case _0xdcc5[19]:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x2b[_0xdcc5[28]](UserHasChatQueue[_0xdcc5[69]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],ChatQueueId:_0x6fe8x2c[_0xdcc5[67]]},defaults:{ChatQueueId:_0x6fe8x2c[_0xdcc5[67]],queue:_0x6fe8x2c[_0xdcc5[38]],UserId:_0x6fe8x19[_0xdcc5[67]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null}))});return Promise[_0xdcc5[30]](_0x6fe8x2b)[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[17]](_0x6fe8x24)});case _0xdcc5[20]:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x2b[_0xdcc5[28]](UserHasMailQueue[_0xdcc5[69]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],MailQueueId:_0x6fe8x2c[_0xdcc5[67]]},defaults:{MailQueueId:_0x6fe8x2c[_0xdcc5[67]],queue:_0x6fe8x2c[_0xdcc5[38]],UserId:_0x6fe8x19[_0xdcc5[67]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null}))});return Promise[_0xdcc5[30]](_0x6fe8x2b)[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[17]](_0x6fe8x24)});case _0xdcc5[22]:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x2b[_0xdcc5[28]](UserHasSmsQueue[_0xdcc5[69]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],SmsQueueId:_0x6fe8x2c[_0xdcc5[67]]},defaults:{SmsQueueId:_0x6fe8x2c[_0xdcc5[67]],queue:_0x6fe8x2c[_0xdcc5[38]],UserId:_0x6fe8x19[_0xdcc5[67]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null}))});return Promise[_0xdcc5[30]](_0x6fe8x2b)[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[17]](_0x6fe8x24)});case _0xdcc5[23]:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x2b[_0xdcc5[28]](UserHasOpenchannelQueue[_0xdcc5[69]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],OpenchannelQueueId:_0x6fe8x2c[_0xdcc5[67]]},defaults:{OpenchannelQueueId:_0x6fe8x2c[_0xdcc5[67]],queue:_0x6fe8x2c[_0xdcc5[38]],UserId:_0x6fe8x19[_0xdcc5[67]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null}))});return Promise[_0xdcc5[30]](_0x6fe8x2b)[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[17]](_0x6fe8x24)});case _0xdcc5[21]:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[70]][_0xdcc5[29]](function(_0x6fe8x2c){_0x6fe8x2b[_0xdcc5[28]](UserHasFaxQueue[_0xdcc5[69]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],FaxQueueId:_0x6fe8x2c[_0xdcc5[67]]},defaults:{faxQueueId:_0x6fe8x2c[_0xdcc5[67]],queue:_0x6fe8x2c[_0xdcc5[38]],UserId:_0x6fe8x19[_0xdcc5[67]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null}))});return Promise[_0xdcc5[30]](_0x6fe8x2b)[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[17]](_0x6fe8x24)});default:}}}function _0x6fe8x2d(_0x6fe8x13,_0x6fe8x18){return function(_0x6fe8x19){switch(_0x6fe8x13[_0xdcc5[42]][_0xdcc5[32]]){case _0xdcc5[18]:return UserHasVoiceQueue[_0xdcc5[73]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],queue:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[72]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null,individualHooks:true})[_0xdcc5[31]](function(){var _0x6fe8x2e=Promise[_0xdcc5[53]](_0x6fe8x10[_0xdcc5[52]]);return _0x6fe8x2e({action:_0xdcc5[66],queue:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[72]],interface:util[_0xdcc5[26]](_0xdcc5[39],_0xdcc5[40],_0x6fe8x19[_0xdcc5[38]])})})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0xdcc5[71],_0x6fe8x24)});case _0xdcc5[19]:return UserHasChatQueue[_0xdcc5[73]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],ChatQueueId:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[74]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null,individualHooks:true})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0xdcc5[71],_0x6fe8x24)});case _0xdcc5[20]:return UserHasMailQueue[_0xdcc5[73]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],MailQueueId:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[74]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null,individualHooks:true})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0xdcc5[71],_0x6fe8x24)});case _0xdcc5[22]:return UserHasSmsQueue[_0xdcc5[73]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],SmsQueueId:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[74]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null,individualHooks:true})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0xdcc5[71],_0x6fe8x24)});case _0xdcc5[23]:return UserHasOpenchannelQueue[_0xdcc5[73]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],OpenchannelQueueId:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[74]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null,individualHooks:true})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0xdcc5[71],_0x6fe8x24)});case _0xdcc5[21]:return UserHasFaxQueue[_0xdcc5[73]]({where:{UserId:_0x6fe8x19[_0xdcc5[67]],FaxQueueId:_0x6fe8x13[_0xdcc5[42]][_0xdcc5[74]]},transaction:_0x6fe8x13[_0xdcc5[49]]|| null,individualHooks:true})[_0xdcc5[62]](function(_0x6fe8x24){console[_0xdcc5[61]](_0xdcc5[71],_0x6fe8x24)});default:}}}function _0x6fe8x2f(_0x6fe8x30){return function(_0x6fe8x31){if(!_0x6fe8x31){throw _0x6fe8x30};return _0x6fe8x31}}function _0x6fe8x32(_0x6fe8x18,_0x6fe8x13,_0x6fe8x10){switch(_0x6fe8x18[_0xdcc5[38]]){case _0xdcc5[78]:return Agent[_0xdcc5[77]](_0x6fe8x13[_0xdcc5[42]][_0xdcc5[76]])[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[75]}))[_0xdcc5[31]](_0x6fe8x17(_0x6fe8x13,_0x6fe8x18));case _0xdcc5[79]:return Agent[_0xdcc5[77]](_0x6fe8x13[_0xdcc5[42]][_0xdcc5[76]])[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[75]}))[_0xdcc5[31]](_0x6fe8x1e(_0x6fe8x13,_0x6fe8x18));case _0xdcc5[80]:return Agent[_0xdcc5[77]](_0x6fe8x18[_0xdcc5[43]])[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[75]}))[_0xdcc5[31]](_0x6fe8x25(_0x6fe8x13,_0x6fe8x18))[_0xdcc5[31]](function(){return Agent[_0xdcc5[77]](_0x6fe8x18[_0xdcc5[43]])})[_0xdcc5[31]](_0x6fe8x1d(_0x6fe8x13,_0x6fe8x18));case _0xdcc5[81]:return Agent[_0xdcc5[77]](_0x6fe8x18[_0xdcc5[43]])[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[75]}))[_0xdcc5[31]](_0x6fe8x1e(_0x6fe8x13,_0x6fe8x18))[_0xdcc5[31]](_0x6fe8x29(_0x6fe8x13,_0x6fe8x18));case _0xdcc5[64]:return Agent[_0xdcc5[77]](_0x6fe8x13[_0xdcc5[42]][_0xdcc5[76]])[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[75]}))[_0xdcc5[31]](_0x6fe8x2a(_0x6fe8x13,_0x6fe8x18));case _0xdcc5[66]:return Agent[_0xdcc5[77]](_0x6fe8x13[_0xdcc5[42]][_0xdcc5[76]])[_0xdcc5[31]](_0x6fe8x2f({message:_0xdcc5[75]}))[_0xdcc5[31]](_0x6fe8x2d(_0x6fe8x13,_0x6fe8x18));default:throw {message:_0xdcc5[82]}}}return {}}module[_0xdcc5[83]]= Action
\ No newline at end of file
-var moment = require('moment');
-var _ = require('lodash');
-var VoiceQueue = require('../../models').VoiceQueue;
-var Agent = require('../../models').User;
-var Action = require('../../models').Action;
-var ReportAgent = require('../../models').ReportAgent;
-var _voiceQueues;
-var _agents;
-var activeAcw = {};
-
-
-function ACW(ami) {
- console.log('ACW Initialization...');
- VoiceQueue
- .findAll()
- .then(function(voiceQueues) {
- _voiceQueues = voiceQueues;
- // console.log('_voiceQueues', _.map(_voiceQueues, 'dataValues'));
- synchCollection(VoiceQueue, _voiceQueues, 'name');
- return Agent
- .scope('agent')
- .findAll();
- })
- .then(function(agents) {
- _agents = agents;
- // console.log('_agents', _.map(_agents, 'dataValues'));
- synchCollection(Agent, _agents, 'id');
- Action.afterCreate(function(doc, options) {
- return onSave(doc, options);
- });
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function onSave(doc, options) {
- var acwTime;
- if ((doc.name === 'pause' || doc.name === 'unpause') && activeAcw[options.body.agent]) {
- if (doc.name === 'unpause' && activeAcw[options.body.agent].unpause) {
- acwTime = activeAcw[options.body.agent].acwTime;
- } else {
- clearTimeout(activeAcw[options.body.agent].timeout);
- acwTime = moment.duration(moment() - activeAcw[options.body.agent].acwAt).asSeconds();
- }
- return ReportAgent
- .update({
- agentacw: true,
- acwtime: acwTime
- }, {
- where: {
- uniqueid: activeAcw[options.body.agent].uniqueid,
- destuniqueid: activeAcw[options.body.agent].destuniqueid
- },
- transaction: options.transaction,
- individualHooks: true
- })
- .catch(function(err) {
- console.log(err);
- })
- .finally(function() {
- delete activeAcw[options.body.agent];
- });
- }
-}
-
-ACW.prototype.agentcomplete = function(evt) {
- var queueIsAcw = _.find(_voiceQueues, {
- name: evt.queue,
- acw: true
- });
- if (queueIsAcw) {
- var agent = _.find(_agents, {
- name: evt.membername
- });
- Action
- .create({
- name: 'pause',
- data1: 'ACW',
- data2: queueIsAcw.acwTimeout,
- data3: evt.uniqueid,
- data4: evt.queue
- }, {
- body: {
- agent: agent.id,
- type: 'ACW'
- }
- })
- .then(function() {
- console.log('PAUSED BY ACW');
- activeAcw[agent.id] = {
- uniqueid: evt.uniqueid,
- destuniqueid: evt.destuniqueid,
- acwTime: queueIsAcw.acwTimeout,
- acwAt: moment(),
- unpause: false
- };
-
- activeAcw[agent.id].timeout = setTimeout(function() {
- console.log('UNPAUSED BY ACW');
- activeAcw[agent.id].unpause = true;
- return Action
- .create({
- name: 'unpause',
- data1: 'ACW',
- data2: queueIsAcw.acwTimeout,
- data3: evt.uniqueid,
- data4: evt.queue
- }, {
- body: {
- agent: agent.id,
- type: 'ACW'
- }
- })
- .catch(function(err) {
- console.log(err);
- });
- }, queueIsAcw.acwTimeout * 1000);
- })
- .catch(function(err) {
- console.log(err);
- });
- }
-}
-
-function synchCollection(model, array, uniqueProperty) {
- var condition = {};
- model.afterCreate(function(doc) {
- condition[uniqueProperty] = doc[uniqueProperty]
- updateCollection(array, doc, condition);
- });
- model.afterUpdate(function(doc) {
- condition[uniqueProperty] = doc[uniqueProperty]
- updateCollection(array, doc, condition);
- });
- model.afterDestroy(function(doc) {
- condition[uniqueProperty] = doc[uniqueProperty]
- _.remove(array, condition);
- });
-}
-
-function updateCollection(collection, doc, condition) {
- var oldItem = _.find(collection, condition);
- var index = collection.indexOf(oldItem);
- if (oldItem) {
- _.merge(collection[index], doc);
- } else {
- collection.unshift(doc);
- }
-}
-
-module.exports = ACW;
+var _0x7864=["\x6D\x6F\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x41\x63\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x41\x43\x57\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x69\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74","\x73\x63\x6F\x70\x65","\x70\x61\x75\x73\x65","\x75\x6E\x70\x61\x75\x73\x65","\x62\x6F\x64\x79","\x61\x63\x77\x54\x69\x6D\x65","\x74\x69\x6D\x65\x6F\x75\x74","\x61\x73\x53\x65\x63\x6F\x6E\x64\x73","\x61\x63\x77\x41\x74","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x66\x69\x6E\x61\x6C\x6C\x79","\x75\x6E\x69\x71\x75\x65\x69\x64","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x71\x75\x65\x75\x65","\x66\x69\x6E\x64","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x50\x41\x55\x53\x45\x44\x20\x42\x59\x20\x41\x43\x57","\x61\x63\x77\x54\x69\x6D\x65\x6F\x75\x74","\x55\x4E\x50\x41\x55\x53\x45\x44\x20\x42\x59\x20\x41\x43\x57","\x41\x43\x57","\x63\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x7864[0]);var _=require(_0x7864[1]);var VoiceQueue=require(_0x7864[3])[_0x7864[2]];var Agent=require(_0x7864[3])[_0x7864[4]];var Action=require(_0x7864[3])[_0x7864[5]];var ReportAgent=require(_0x7864[3])[_0x7864[6]];var _voiceQueues;var _agents;var activeAcw={};function ACW(_0x4509xb){console[_0x7864[8]](_0x7864[7]);VoiceQueue[_0x7864[14]]()[_0x7864[12]](function(_0x4509x10){_voiceQueues= _0x4509x10;synchCollection(VoiceQueue,_voiceQueues,_0x7864[13]);return Agent[_0x7864[16]](_0x7864[15])[_0x7864[14]]()})[_0x7864[12]](function(_0x4509xd){_agents= _0x4509xd;synchCollection(Agent,_agents,_0x7864[10]);Action[_0x7864[11]](function(_0x4509xe,_0x4509xf){return onSave(_0x4509xe,_0x4509xf)})})[_0x7864[9]](function(_0x4509xc){console[_0x7864[8]](_0x4509xc)})}function onSave(_0x4509xe,_0x4509xf){var _0x4509x12;if((_0x4509xe[_0x7864[13]]=== _0x7864[17]|| _0x4509xe[_0x7864[13]]=== _0x7864[18])&& activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]]){if(_0x4509xe[_0x7864[13]]=== _0x7864[18]&& activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]][_0x7864[18]]){_0x4509x12= activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]][_0x7864[20]]}else {clearTimeout(activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]][_0x7864[21]]);_0x4509x12= moment[_0x7864[24]](moment()- activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]][_0x7864[23]])[_0x7864[22]]()};return ReportAgent[_0x7864[29]]({agentacw:true,acwtime:_0x4509x12},{where:{uniqueid:activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]][_0x7864[26]],destuniqueid:activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]][_0x7864[27]]},transaction:_0x4509xf[_0x7864[28]],individualHooks:true})[_0x7864[9]](function(_0x4509xc){console[_0x7864[8]](_0x4509xc)})[_0x7864[25]](function(){delete activeAcw[_0x4509xf[_0x7864[19]][_0x7864[15]]]})}}ACW[_0x7864[31]][_0x7864[30]]= function(_0x4509x13){var _0x4509x14=_[_0x7864[33]](_voiceQueues,{name:_0x4509x13[_0x7864[32]],acw:true});if(_0x4509x14){var _0x4509x15=_[_0x7864[33]](_agents,{name:_0x4509x13[_0x7864[34]]});Action[_0x7864[39]]({name:_0x7864[17],data1:_0x7864[38],data2:_0x4509x14[_0x7864[36]],data3:_0x4509x13[_0x7864[26]],data4:_0x4509x13[_0x7864[32]]},{body:{agent:_0x4509x15[_0x7864[10]],type:_0x7864[38]}})[_0x7864[12]](function(){console[_0x7864[8]](_0x7864[35]);activeAcw[_0x4509x15[_0x7864[10]]]= {uniqueid:_0x4509x13[_0x7864[26]],destuniqueid:_0x4509x13[_0x7864[27]],acwTime:_0x4509x14[_0x7864[36]],acwAt:moment(),unpause:false};activeAcw[_0x4509x15[_0x7864[10]]][_0x7864[21]]= setTimeout(function(){console[_0x7864[8]](_0x7864[37]);activeAcw[_0x4509x15[_0x7864[10]]][_0x7864[18]]= true;return Action[_0x7864[39]]({name:_0x7864[18],data1:_0x7864[38],data2:_0x4509x14[_0x7864[36]],data3:_0x4509x13[_0x7864[26]],data4:_0x4509x13[_0x7864[32]]},{body:{agent:_0x4509x15[_0x7864[10]],type:_0x7864[38]}})[_0x7864[9]](function(_0x4509xc){console[_0x7864[8]](_0x4509xc)})},_0x4509x14[_0x7864[36]]* 1000)})[_0x7864[9]](function(_0x4509xc){console[_0x7864[8]](_0x4509xc)})}};function synchCollection(_0x4509x17,_0x4509x18,_0x4509x19){var _0x4509x1a={};_0x4509x17[_0x7864[11]](function(_0x4509xe){_0x4509x1a[_0x4509x19]= _0x4509xe[_0x4509x19];updateCollection(_0x4509x18,_0x4509xe,_0x4509x1a)});_0x4509x17[_0x7864[40]](function(_0x4509xe){_0x4509x1a[_0x4509x19]= _0x4509xe[_0x4509x19];updateCollection(_0x4509x18,_0x4509xe,_0x4509x1a)});_0x4509x17[_0x7864[42]](function(_0x4509xe){_0x4509x1a[_0x4509x19]= _0x4509xe[_0x4509x19];_[_0x7864[41]](_0x4509x18,_0x4509x1a)})}function updateCollection(_0x4509x1c,_0x4509xe,_0x4509x1a){var _0x4509x1d=_[_0x7864[33]](_0x4509x1c,_0x4509x1a);var _0x4509x1e=_0x4509x1c[_0x7864[43]](_0x4509x1d);if(_0x4509x1d){_[_0x7864[44]](_0x4509x1c[_0x4509x1e],_0x4509xe)}else {_0x4509x1c[_0x7864[45]](_0x4509xe)}}module[_0x7864[46]]= ACW
\ No newline at end of file
-var moment = require('moment');
-var ReportAgent = require('../../models').ReportAgent;
-
-function Agent() {
- console.log('Agent Initialization...');
-}
-
-Agent.prototype.called = function(evt) {
- evt.lastevent = 'called';
- evt.agentcalledAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return createAgent(evt);
-}
-
-Agent.prototype.connect = function(evt) {
- evt.lastevent = 'connect';
- evt.agentconnectAt = moment().format("YYYY-MM-DD HH:mm:ss");
- updateAgents(evt);
- updateAgents({
- agentringnoanswer: true,
- agentringnoanswerAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- reason: 'answered_elsewhere',
- lastevent: 'answered_elsewhere',
- answeredelsewheredestinationuniqueid: evt.destuniqueid,
- answeredelsewheremembername: evt.membername
- }, {
- uniqueid: evt.uniqueid,
- destuniqueid: {
- $ne: evt.destuniqueid
- },
- reason: null
- });
-}
-
-Agent.prototype.complete = function(evt) {
- evt.lastevent = 'complete';
- evt.agentcomplete = true;
- evt.agentcompleteAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return updateAgents(evt);
-}
-
-Agent.prototype.dump = function(evt) {
- evt.lastevent = 'dump';
-
- evt.agentdump = true;
- evt.agentdumpAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return updateAgents(evt);
-}
-
-Agent.prototype.ringnoanswer = function(evt) {
- evt.lastevent = 'rejected';
- evt.agentringnoanswer = true;
- evt.agentringnoanswerAt = moment().format("YYYY-MM-DD HH:mm:ss");
- evt.reason = 'rejected';
- return updateAgents(evt);
-}
-
-Agent.prototype.callerabandon = function(evt) {
- evt.lastevent = 'abandoned';
- evt.agentringnoanswer = true;
- evt.agentringnoanswerAt = moment().format("YYYY-MM-DD HH:mm:ss");
- evt.reason = 'abandoned';
- return updateAgents(evt, {
- uniqueid: evt.uniqueid,
- reason: null
- });
-}
-
-function createAgent(evt) {
- return ReportAgent
- .create(evt)
- .then(function(agent) {
- console.log('[report] agent begin created');
- })
- .catch(function(err) {
- console.error('[report] agent ' + err);
- });
-}
-
-function updateAgents(evt, where) {
- return ReportAgent
- .update(evt, {
- where: (where) ? where : {
- uniqueid: evt.uniqueid,
- destuniqueid: evt.destuniqueid
- },
- individualHooks: true
- })
- .then(function(agent) {
- console.log('[agent] agent')
- })
- .catch(function(err) {
- console.error('[agent] agent error: ' + err);
- });
-}
-
-
-module.exports = Agent;
+var _0x696d=["\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x67\x65\x6E\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x61\x6C\x6C\x65\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x6F\x6E\x6E\x65\x63\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x61\x6E\x73\x77\x65\x72\x65\x64\x5F\x65\x6C\x73\x65\x77\x68\x65\x72\x65","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70\x41\x74","\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x72\x65\x6A\x65\x63\x74\x65\x64","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72\x41\x74","\x72\x65\x61\x73\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x61\x67\x65\x6E\x74\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x61\x67\x65\x6E\x74\x20\x62\x65\x67\x69\x6E\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x61\x67\x65\x6E\x74\x5D\x20\x61\x67\x65\x6E\x74\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x61\x67\x65\x6E\x74\x5D\x20\x61\x67\x65\x6E\x74","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x696d[0]);var ReportAgent=require(_0x696d[2])[_0x696d[1]];function Agent(){console[_0x696d[4]](_0x696d[3])}Agent[_0x696d[6]][_0x696d[5]]= function(_0x86d5x4){_0x86d5x4[_0x696d[7]]= _0x696d[5];_0x86d5x4[_0x696d[8]]= moment()[_0x696d[10]](_0x696d[9]);return createAgent(_0x86d5x4)};Agent[_0x696d[6]][_0x696d[11]]= function(_0x86d5x4){_0x86d5x4[_0x696d[7]]= _0x696d[11];_0x86d5x4[_0x696d[12]]= moment()[_0x696d[10]](_0x696d[9]);updateAgents(_0x86d5x4);updateAgents({agentringnoanswer:true,agentringnoanswerAt:moment()[_0x696d[10]](_0x696d[9]),reason:_0x696d[13],lastevent:_0x696d[13],answeredelsewheredestinationuniqueid:_0x86d5x4[_0x696d[14]],answeredelsewheremembername:_0x86d5x4[_0x696d[15]]},{uniqueid:_0x86d5x4[_0x696d[16]],destuniqueid:{$ne:_0x86d5x4[_0x696d[14]]},reason:null})};Agent[_0x696d[6]][_0x696d[17]]= function(_0x86d5x4){_0x86d5x4[_0x696d[7]]= _0x696d[17];_0x86d5x4[_0x696d[18]]= true;_0x86d5x4[_0x696d[19]]= moment()[_0x696d[10]](_0x696d[9]);return updateAgents(_0x86d5x4)};Agent[_0x696d[6]][_0x696d[20]]= function(_0x86d5x4){_0x86d5x4[_0x696d[7]]= _0x696d[20];_0x86d5x4[_0x696d[21]]= true;_0x86d5x4[_0x696d[22]]= moment()[_0x696d[10]](_0x696d[9]);return updateAgents(_0x86d5x4)};Agent[_0x696d[6]][_0x696d[23]]= function(_0x86d5x4){_0x86d5x4[_0x696d[7]]= _0x696d[24];_0x86d5x4[_0x696d[25]]= true;_0x86d5x4[_0x696d[26]]= moment()[_0x696d[10]](_0x696d[9]);_0x86d5x4[_0x696d[27]]= _0x696d[24];return updateAgents(_0x86d5x4)};Agent[_0x696d[6]][_0x696d[28]]= function(_0x86d5x4){_0x86d5x4[_0x696d[7]]= _0x696d[29];_0x86d5x4[_0x696d[25]]= true;_0x86d5x4[_0x696d[26]]= moment()[_0x696d[10]](_0x696d[9]);_0x86d5x4[_0x696d[27]]= _0x696d[29];return updateAgents(_0x86d5x4,{uniqueid:_0x86d5x4[_0x696d[16]],reason:null})};function createAgent(_0x86d5x4){return ReportAgent[_0x696d[35]](_0x86d5x4)[_0x696d[34]](function(_0x86d5x7){console[_0x696d[4]](_0x696d[33])})[_0x696d[32]](function(_0x86d5x6){console[_0x696d[31]](_0x696d[30]+ _0x86d5x6)})}function updateAgents(_0x86d5x4,_0x86d5x9){return ReportAgent[_0x696d[38]](_0x86d5x4,{where:(_0x86d5x9)?_0x86d5x9:{uniqueid:_0x86d5x4[_0x696d[16]],destuniqueid:_0x86d5x4[_0x696d[14]]},individualHooks:true})[_0x696d[34]](function(_0x86d5x7){console[_0x696d[4]](_0x696d[37])})[_0x696d[32]](function(_0x86d5x6){console[_0x696d[31]](_0x696d[36]+ _0x86d5x6)})}module[_0x696d[39]]= Agent
\ No newline at end of file
-'use strict';
-
-var moment = require('moment');
-
-function Call() {
- console.log('Call Initialization...');
-}
-
-Call.prototype.add = function(evt) {
- if (evt.type) {
- create(evt);
- }
-}
-
-function create(evt) {
- var call = require('../../models').ReportCall;
- var _answerTime;
-
- call
- .findOrCreate({
- where: {
- uniqueid: evt.uniqueid
- },
- defaults: evt
- })
- .spread(function(call, created) {
- if (!created) {
-
- if (evt.answertime) {
- console.log('[report] call uniqueid', evt.uniqueid, 'answertime', evt.answertime, 'updated');
- call.answertime = evt.answertime;
- }
-
- if (evt.endtime && call.endtime) {
- if (moment(evt.endtime).isAfter(call.endtime)) {
- console.log('[report] call uniqueid', evt.uniqueid, 'endtime', evt.endtime, 'updated');
-
- call.endtime = evt.endtime;
- call.disposition = evt.disposition;
- call.destinationchannel = evt.destinationchannel;
- call.lastapplication = evt.lastapplication;
- call.lastdata = evt.lastdata;
-
- call.duration = moment(call.endtime).diff(call.starttime, 'seconds');
- call.billableseconds = moment(call.endtime).diff(call.answertime, 'seconds');
- }
- }
-
- return call
- .save();
- } else {
- console.log('[report] call', evt.uniqueid, 'created');
- }
- })
- .catch(function(err) {
- console.error('[report] call ' + err);
- });
-}
-
-module.exports = Call;
+var _0x780e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x43\x61\x6C\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x64\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x74\x79\x70\x65","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C\x20\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65\x64","\x65\x6E\x64\x74\x69\x6D\x65","\x69\x73\x41\x66\x74\x65\x72","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x6C\x61\x73\x74\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x6C\x61\x73\x74\x64\x61\x74\x61","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x73\x74\x61\x72\x74\x74\x69\x6D\x65","\x73\x65\x63\x6F\x6E\x64\x73","\x64\x69\x66\x66","\x62\x69\x6C\x6C\x61\x62\x6C\x65\x73\x65\x63\x6F\x6E\x64\x73","\x73\x61\x76\x65","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x63\x61\x6C\x6C","\x63\x72\x65\x61\x74\x65\x64","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x780e[0];var moment=require(_0x780e[1]);function Call(){console[_0x780e[3]](_0x780e[2])}Call[_0x780e[5]][_0x780e[4]]= function(_0x664ax3){if(_0x664ax3[_0x780e[6]]){create(_0x664ax3)}};function create(_0x664ax3){var _0x664ax5=require(_0x780e[8])[_0x780e[7]];var _0x664ax6;_0x664ax5[_0x780e[31]]({where:{uniqueid:_0x664ax3[_0x780e[14]]},defaults:_0x664ax3})[_0x780e[30]](function(_0x664ax5,_0x664ax8){if(!_0x664ax8){if(_0x664ax3[_0x780e[12]]){console[_0x780e[3]](_0x780e[13],_0x664ax3[_0x780e[14]],_0x780e[12],_0x664ax3[_0x780e[12]],_0x780e[15]);_0x664ax5[_0x780e[12]]= _0x664ax3[_0x780e[12]]};if(_0x664ax3[_0x780e[16]]&& _0x664ax5[_0x780e[16]]){if(moment(_0x664ax3[_0x780e[16]])[_0x780e[17]](_0x664ax5[_0x780e[16]])){console[_0x780e[3]](_0x780e[13],_0x664ax3[_0x780e[14]],_0x780e[16],_0x664ax3[_0x780e[16]],_0x780e[15]);_0x664ax5[_0x780e[16]]= _0x664ax3[_0x780e[16]];_0x664ax5[_0x780e[18]]= _0x664ax3[_0x780e[18]];_0x664ax5[_0x780e[19]]= _0x664ax3[_0x780e[19]];_0x664ax5[_0x780e[20]]= _0x664ax3[_0x780e[20]];_0x664ax5[_0x780e[21]]= _0x664ax3[_0x780e[21]];_0x664ax5[_0x780e[22]]= moment(_0x664ax5[_0x780e[16]])[_0x780e[25]](_0x664ax5[_0x780e[23]],_0x780e[24]);_0x664ax5[_0x780e[26]]= moment(_0x664ax5[_0x780e[16]])[_0x780e[25]](_0x664ax5[_0x780e[12]],_0x780e[24])}};return _0x664ax5[_0x780e[27]]()}else {console[_0x780e[3]](_0x780e[28],_0x664ax3[_0x780e[14]],_0x780e[29])}})[_0x780e[11]](function(_0x664ax7){console[_0x780e[10]](_0x780e[9]+ _0x664ax7)})}module[_0x780e[32]]= Call
\ No newline at end of file
-'use strict';
-
-var moment = require('moment');
-var _ = require('lodash');
-var Promise = require('bluebird');
-
-var ReportQueue = require('../../models').ReportQueue;
-var ReportSquare = require('../../models').ReportSquare;
-var ReportDial = require('../../models').ReportDial;
-
-function Cleaner(ami) {
- console.log('Cleaner Initialization...');
- removeInactiveCalls(ami);
- setInterval(function() {
- removeInactiveCalls(ami);
- }, 10 * 60 * 1000);
-}
-
-function removeInactiveCalls(ami) {
- console.log('Removing inactive calls...');
- var _bulkClean = [],
- _activeCalls = [];
- return Promise
- .promisify(ami.action)({
- action: 'Command',
- command: 'core show channels concise',
- })
- .then(function(result) {
- var tmpArray;
- if (result && result.content) {
- var res = result.content.split('\n');
- _.forEach(res, function(elem) {
- if (elem) {
- tmpArray = elem.split('!');
- tmpArray.length === 14 && _activeCalls.push(tmpArray.pop());
- }
- });
- }
- return ReportQueue
- .findAll({
- where: {
- $or: [{
- queuecallerleaveAt: null
- }, {
- queuecallerexit: false,
- queuecallerabandon: false,
- queuecallercomplete: false,
- queuecallerleaveAt: {
- $ne: null
- }
- }]
- }
- });
- })
- .then(function(queueCalls) {
- _.forEach(queueCalls, function(call) {
- if (!_.includes(_activeCalls, call.uniqueid)) {
- _bulkClean.push(call.updateAttributes({
- queuecallerleaveAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- queuecallerexitAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- queuecallerexit: true,
- queuecallerexitreason: 'zombie'
- }))
- }
- });
- return ReportSquare
- .findAll({
- where: {
- leaveAt: null
- }
- });
- })
- .then(function(squareCalls) {
- _.forEach(squareCalls, function(call) {
- if (!_.includes(_activeCalls, call.uniqueid)) {
- _bulkClean.push(call.updateAttributes({
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- network: 'no'
- }))
- }
- });
-
- return ReportDial
- .findAll({
- where: {
- endtime: null
- }
- });
- })
- .then(function(dialCalls) {
- _.forEach(dialCalls, function(call) {
- if (!_.includes(_activeCalls, call.uniqueid)) {
- _bulkClean.push(call.updateAttributes({
- endtime: moment().format("YYYY-MM-DD HH:mm:ss"),
- dialstatus: 'ZOMBIE'
- }))
- }
- });
- return _bulkClean;
- })
- .all()
- .then(function() {
- console.log('Inactive calls cleaning completed!');
- })
- .catch(function(err) {
- console.log('Inactive calls remove error:', err);
- });
-}
-
-module.exports = Cleaner;
+var _0x8a91=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x43\x6C\x65\x61\x6E\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x52\x65\x6D\x6F\x76\x69\x6E\x67\x20\x69\x6E\x61\x63\x74\x69\x76\x65\x20\x63\x61\x6C\x6C\x73\x2E\x2E\x2E","\x49\x6E\x61\x63\x74\x69\x76\x65\x20\x63\x61\x6C\x6C\x73\x20\x72\x65\x6D\x6F\x76\x65\x20\x65\x72\x72\x6F\x72\x3A","\x63\x61\x74\x63\x68","\x49\x6E\x61\x63\x74\x69\x76\x65\x20\x63\x61\x6C\x6C\x73\x20\x63\x6C\x65\x61\x6E\x69\x6E\x67\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64\x21","\x74\x68\x65\x6E","\x61\x6C\x6C","\x75\x6E\x69\x71\x75\x65\x69\x64","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x5A\x4F\x4D\x42\x49\x45","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x6E\x6F","\x66\x69\x6E\x64\x41\x6C\x6C","\x7A\x6F\x6D\x62\x69\x65","\x63\x6F\x6E\x74\x65\x6E\x74","\x0A","\x73\x70\x6C\x69\x74","\x21","\x6C\x65\x6E\x67\x74\x68","\x70\x6F\x70","\x43\x6F\x6D\x6D\x61\x6E\x64","\x63\x6F\x72\x65\x20\x73\x68\x6F\x77\x20\x63\x68\x61\x6E\x6E\x65\x6C\x73\x20\x63\x6F\x6E\x63\x69\x73\x65","\x61\x63\x74\x69\x6F\x6E","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x8a91[0];var moment=require(_0x8a91[1]);var _=require(_0x8a91[2]);var Promise=require(_0x8a91[3]);var ReportQueue=require(_0x8a91[5])[_0x8a91[4]];var ReportSquare=require(_0x8a91[5])[_0x8a91[6]];var ReportDial=require(_0x8a91[5])[_0x8a91[7]];function Cleaner(_0x615ax8){console[_0x8a91[9]](_0x8a91[8]);removeInactiveCalls(_0x615ax8);setInterval(function(){removeInactiveCalls(_0x615ax8)},10* 60* 1000)}function removeInactiveCalls(_0x615ax8){console[_0x8a91[9]](_0x8a91[10]);var _0x615axa=[],_0x615axb=[];return Promise[_0x8a91[36]](_0x615ax8[_0x8a91[35]])({action:_0x8a91[33],command:_0x8a91[34]})[_0x8a91[14]](function(_0x615ax11){var _0x615ax12;if(_0x615ax11&& _0x615ax11[_0x8a91[27]]){var _0x615ax13=_0x615ax11[_0x8a91[27]][_0x8a91[29]](_0x8a91[28]);_[_0x8a91[23]](_0x615ax13,function(_0x615ax14){if(_0x615ax14){_0x615ax12= _0x615ax14[_0x8a91[29]](_0x8a91[30]);_0x615ax12[_0x8a91[31]]=== 14&& _0x615axb[_0x8a91[22]](_0x615ax12[_0x8a91[32]]())}})};return ReportQueue[_0x8a91[25]]({where:{$or:[{queuecallerleaveAt:null},{queuecallerexit:false,queuecallerabandon:false,queuecallercomplete:false,queuecallerleaveAt:{$ne:null}}]}})})[_0x8a91[14]](function(_0x615ax10){_[_0x8a91[23]](_0x615ax10,function(_0x615axe){if(!_[_0x8a91[17]](_0x615axb,_0x615axe[_0x8a91[16]])){_0x615axa[_0x8a91[22]](_0x615axe[_0x8a91[21]]({queuecallerleaveAt:moment()[_0x8a91[19]](_0x8a91[18]),queuecallerexitAt:moment()[_0x8a91[19]](_0x8a91[18]),queuecallerexit:true,queuecallerexitreason:_0x8a91[26]}))}});return ReportSquare[_0x8a91[25]]({where:{leaveAt:null}})})[_0x8a91[14]](function(_0x615axf){_[_0x8a91[23]](_0x615axf,function(_0x615axe){if(!_[_0x8a91[17]](_0x615axb,_0x615axe[_0x8a91[16]])){_0x615axa[_0x8a91[22]](_0x615axe[_0x8a91[21]]({leaveAt:moment()[_0x8a91[19]](_0x8a91[18]),network:_0x8a91[24]}))}});return ReportDial[_0x8a91[25]]({where:{endtime:null}})})[_0x8a91[14]](function(_0x615axd){_[_0x8a91[23]](_0x615axd,function(_0x615axe){if(!_[_0x8a91[17]](_0x615axb,_0x615axe[_0x8a91[16]])){_0x615axa[_0x8a91[22]](_0x615axe[_0x8a91[21]]({endtime:moment()[_0x8a91[19]](_0x8a91[18]),dialstatus:_0x8a91[20]}))}});return _0x615axa})[_0x8a91[15]]()[_0x8a91[14]](function(){console[_0x8a91[9]](_0x8a91[13])})[_0x8a91[12]](function(_0x615axc){console[_0x8a91[9]](_0x8a91[11],_0x615axc)})}module[_0x8a91[37]]= Cleaner
\ No newline at end of file
-var moment = require('moment');
-var ReportDial = require('../../models').ReportDial;
-
-function Dial() {
- console.log('Agent Initialization...');
-}
-
-Dial.prototype.beforeDial = function(evt) {
- return createDial(evt);
-}
-
-Dial.prototype.begin = function(evt) {
- if (evt.dialstring) {
- var dialString = evt.dialstring.split('/');
- if (dialString.length > 1 && dialString[0] !== 'SIP') {
- evt.starttime = moment().format("YYYY-MM-DD HH:mm:ss");
- evt.lastevent = 'called';
- return updateDial(evt);
- }
- }
-}
-
-Dial.prototype.end = function(evt) {
- evt.endtime = moment().format("YYYY-MM-DD HH:mm:ss");
- if (evt.dialstatus === 'ANSWER') {
- evt.lastevent = 'connect';
- evt.answertime = moment().format("YYYY-MM-DD HH:mm:ss");
- } else {
- evt.lastevent = 'rejected';
- }
- return updateDial(evt);
-}
-
-Dial.prototype.hangup = function(evt) {
- return ReportDial
- .findOne({
- where: {
- uniqueid: evt.uniqueid
- },
- order: 'createdAt DESC'
- })
- .then(function(dial) {
- if (dial) {
- evt.endtime = moment().format("YYYY-MM-DD HH:mm:ss");
- evt.lastevent = dial.answertime ? 'complete' : 'rejected';
- return updateDial(evt);
- }
- })
-}
-
-function createDial(evt) {
- return ReportDial
- .create(evt)
- .then(function(dial) {
- console.log('[dial] begin')
- })
- .catch(function(err) {
- console.error('[dial] dial creation error: ' + err);
- });
-}
-
-function updateDial(evt, where) {
- return ReportDial
- .findOne({
- where: (where) ? where : {
- uniqueid: evt.uniqueid
- },
- order: 'createdAt DESC'
- })
- .then(function(row) {
- if (row) {
- return row
- .updateAttributes(evt);
- }
- })
- .then(function(dial) {
- console.log('[dial] update')
- })
- .catch(function(err) {
- console.error('[dial] update error: ' + err);
- });
-}
-
-module.exports = Dial;
+var _0xd42c=["\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x67\x65\x6E\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x62\x65\x66\x6F\x72\x65\x44\x69\x61\x6C","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x62\x65\x67\x69\x6E","\x64\x69\x61\x6C\x73\x74\x72\x69\x6E\x67","\x2F","\x73\x70\x6C\x69\x74","\x6C\x65\x6E\x67\x74\x68","\x53\x49\x50","\x73\x74\x61\x72\x74\x74\x69\x6D\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x63\x61\x6C\x6C\x65\x64","\x65\x6E\x64","\x65\x6E\x64\x74\x69\x6D\x65","\x64\x69\x61\x6C\x73\x74\x61\x74\x75\x73","\x41\x4E\x53\x57\x45\x52","\x63\x6F\x6E\x6E\x65\x63\x74","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x72\x65\x6A\x65\x63\x74\x65\x64","\x68\x61\x6E\x67\x75\x70","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x74\x68\x65\x6E","\x75\x6E\x69\x71\x75\x65\x69\x64","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x66\x69\x6E\x64\x4F\x6E\x65","\x5B\x64\x69\x61\x6C\x5D\x20\x64\x69\x61\x6C\x20\x63\x72\x65\x61\x74\x69\x6F\x6E\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x64\x69\x61\x6C\x5D\x20\x62\x65\x67\x69\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x64\x69\x61\x6C\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x64\x69\x61\x6C\x5D\x20\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0xd42c[0]);var ReportDial=require(_0xd42c[2])[_0xd42c[1]];function Dial(){console[_0xd42c[4]](_0xd42c[3])}Dial[_0xd42c[6]][_0xd42c[5]]= function(_0xb856x4){return createDial(_0xb856x4)};Dial[_0xd42c[6]][_0xd42c[7]]= function(_0xb856x4){if(_0xb856x4[_0xd42c[8]]){var _0xb856x5=_0xb856x4[_0xd42c[8]][_0xd42c[10]](_0xd42c[9]);if(_0xb856x5[_0xd42c[11]]> 1&& _0xb856x5[0]!== _0xd42c[12]){_0xb856x4[_0xd42c[13]]= moment()[_0xd42c[15]](_0xd42c[14]);_0xb856x4[_0xd42c[16]]= _0xd42c[17];return updateDial(_0xb856x4)}}};Dial[_0xd42c[6]][_0xd42c[18]]= function(_0xb856x4){_0xb856x4[_0xd42c[19]]= moment()[_0xd42c[15]](_0xd42c[14]);if(_0xb856x4[_0xd42c[20]]=== _0xd42c[21]){_0xb856x4[_0xd42c[16]]= _0xd42c[22];_0xb856x4[_0xd42c[23]]= moment()[_0xd42c[15]](_0xd42c[14])}else {_0xb856x4[_0xd42c[16]]= _0xd42c[24]};return updateDial(_0xb856x4)};Dial[_0xd42c[6]][_0xd42c[25]]= function(_0xb856x4){return ReportDial[_0xd42c[30]]({where:{uniqueid:_0xb856x4[_0xd42c[28]]},order:_0xd42c[29]})[_0xd42c[27]](function(_0xb856x6){if(_0xb856x6){_0xb856x4[_0xd42c[19]]= moment()[_0xd42c[15]](_0xd42c[14]);_0xb856x4[_0xd42c[16]]= _0xb856x6[_0xd42c[23]]?_0xd42c[26]:_0xd42c[24];return updateDial(_0xb856x4)}})};function createDial(_0xb856x4){return ReportDial[_0xd42c[35]](_0xb856x4)[_0xd42c[27]](function(_0xb856x6){console[_0xd42c[4]](_0xd42c[34])})[_0xd42c[33]](function(_0xb856x8){console[_0xd42c[32]](_0xd42c[31]+ _0xb856x8)})}function updateDial(_0xb856x4,_0xb856xa){return ReportDial[_0xd42c[30]]({where:(_0xb856xa)?_0xb856xa:{uniqueid:_0xb856x4[_0xd42c[28]]},order:_0xd42c[29]})[_0xd42c[27]](function(_0xb856xb){if(_0xb856xb){return _0xb856xb[_0xd42c[38]](_0xb856x4)}})[_0xd42c[27]](function(_0xb856x6){console[_0xd42c[4]](_0xd42c[37])})[_0xd42c[33]](function(_0xb856x8){console[_0xd42c[32]](_0xd42c[36]+ _0xb856x8)})}module[_0xd42c[39]]= Dial
\ No newline at end of file
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-var config = require('../../config/environment');
-var _ = require('lodash');
-var Promise = require('bluebird');
-// var tiff2pdf = Promise.promisify(require('tiff2pdf'));
-var exec = require('child-process-promise').exec;
-var fse = require('fs-extra');
-var moment = require('moment');
-
-var FaxAccount = require('../../models').FaxAccount;
-var FaxRoom = require('../../models').FaxRoom;
-var FaxMessage = require('../../models').FaxMessage;
-var FaxAttachment = require('../../models').FaxAttachment;
-var Trunk = require('../../models').Trunk;
-var User = require('../../models').User;
-var Contact = require('../../models').Contact;
-var ReportFax = require('../../models').ReportFax;
-var Util = require('../util');
-
-var Scheduler = require('../routing/scheduler');
-var faxaccounts;
-
-function Fax(ami) {
- console.log('Fax Initialization...');
-
- FaxMessage.afterCreate(function(doc, opt) {
- sendfax(doc, ami, 0, opt);
- });
-
- FaxMessage.afterUpdate(function(doc, opt) {
- if (doc.changed('status') && doc.status === 'SENDING') {
- sendfax(doc, ami, doc.retry + 1, opt);
- }
- });
-
- FaxAccount
- .findAll()
- .then(function(accounts) {
- faxaccounts = accounts;
- synch(faxaccounts);
- ReportFax.afterUpdate(function(doc) {
- var account = _.find(faxaccounts, {
- id: parseInt(doc.accountid)
- });
- if (account && doc.changed('connectid')) {
- webhook(doc, account, 'accept');
- }
- if (account && doc.changed('rejectedAt')) {
- webhook(doc, account, 'reject');
- }
- });
- FaxRoom.afterUpdate(function(doc) {
- var account = _.find(faxaccounts, {
- id: doc.FaxAccountId
- });
- if (account && doc.changed('status') && doc.status === 'CLOSED') {
- webhook(doc, account, 'close');
- }
- })
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function synch(faxaccounts) {
- FaxAccount.afterCreate(function(doc) {
- faxaccounts.push(doc);
- });
- FaxAccount.afterUpdate(function(doc) {
- var oldItem = _.find(faxaccounts, {
- id: doc.id
- });
- if (oldItem) {
- console.log('Fax account: ' + oldItem.name + ' Update');
- _.merge(oldItem, doc);
- } else {
- faxaccounts.unshift(doc);
- }
- });
- FaxAccount.afterDestroy(function(doc) {
- _.remove(faxaccounts, {
- id: doc.id
- });
- });
-
-}
-
-function webhook(doc, account, hook) {
- var _Account = account;
- switch (hook) {
- case 'accept':
- if (_Account.acceptMethod && _Account.acceptUrl) {
- console.log('Fax account <' + _Account.name + '> executing accept webhook');
- execRequest(doc.dataValues, _Account.acceptMethod, _Account.acceptUrl);
- }
- if (_Account.actions.length) {
- _.forEach(_Account.actions, function(action) {
- if (action.enabled) {
- Util.execAction(action, doc);
- }
- })
- }
- break;
- case 'reject':
- if (_Account.rejectMethod && _Account.rejectUrl) {
- console.log('Fax account <' + _Account.name + '> executing reject webhook');
- execRequest(doc.dataValues, _Account.rejectMethod, _Account.rejectUrl);
- }
- break;
- case 'close':
- if (_Account.closeMethod && _Account.closeUrl) {
- console.log('Fax account <' + _Account.name + '> executing close webhook');
- execRequest(doc.dataValues, _Account.closeMethod, _Account.closeUrl);
- }
- break;
- default:
- console.log('Webhook not recognized');
- }
-}
-
-function execRequest(doc, method, url) {
- Util.sendRequest(doc, method, url)
- .then(function(values) {
- console.log('request successeful!');
-
- })
- .catch(function(err) {
- console.log('request failed!');
-
- })
-}
-Fax.prototype.updateError = function(evt) {
- return FaxMessage
- .findOne({
- where: {
- channel: evt.channel
- }
- })
- .then(function(faxMessage) {
- if (!faxMessage) {
- throw new Error('Fax message not found');
- }
- return faxMessage.updateAttributes({
- error: evt.value
- });
- })
- .catch(function(err) {
- console.log('Error', err);
- });
-};
-
-Fax.prototype.updateMessage = function(evt) {
- return FaxMessage
- .findOne({
- where: {
- filename: evt.filename,
- localstationid: evt.localstationid
- }
- })
- .then(function(faxMessage) {
- if (!faxMessage) {
- throw new Error('Fax message not found');
- }
-
- return faxMessage
- .updateAttributes({
- channel: evt.channel,
- channelstate: evt.channelstate,
- channelstatedesc: evt.channelstatedesc,
- calleridnum: evt.calleridnum,
- calleridname: evt.calleridname,
- connectedlinenum: evt.connectedlinenum,
- connectedlinename: evt.connectedlinename,
- accountcode: evt.accountcode,
- context: evt.context,
- exten: evt.exten,
- priority: evt.priority,
- uniqueid: evt.uniqueid,
- linkedid: evt.linkedid,
- lastStatus: evt.status
- });
-
- })
- .catch(function(err) {
- console.log('Error', err);
- });
-}
-
-Fax.prototype.updateSend = function(evt) {
- var _fMessage;
-
- return FaxMessage
- .findOne({
- where: {
- filename: evt.filename,
- localstationid: evt.localstationid
- }
- })
- .then(function(faxMessage) {
- if (!faxMessage) {
- throw new Error('Fax message not found');
- }
-
- _fMessage = faxMessage;
-
- var status = 'SENT';
- if (evt.pagestransferred == '0') {
- status = 'FAILED';
- }
-
- return _fMessage
- .updateAttributes({
- remotestationid: evt.remotestationid,
- pagestransferred: evt.pagestransferred,
- resolution: evt.resolution,
- transferrate: evt.transferrate,
- status: status
- });
-
- })
- .then(function() {
- return _fMessage.getFaxRoom();
- })
- .then(function(faxRoom) {
- if (!faxRoom) {
- throw new Error('Fax room not found');
- }
- return faxRoom
- .updateAttributes({
- lastEvent: 'SENT'
- }, {
- individualHooks: true
- });
- })
- .catch(function(err) {
- console.log('Error', err);
- });
-}
-
-Fax.prototype.receivefax = function(evt) {
-
- console.log(util.format('New Fax message from %s', evt.calleridnum));
- var _message = _.clone(evt);
- var _account;
- var _fMessage, _fRoom;
-
- //Get the FaxAccount based on localstationid
- return FaxAccount
- .findOne({
- where: {
- localstationid: evt.localstationid
- }
- })
- .then(function(faxAccount) {
- if (!faxAccount) {
- throw new Error('Fax account not found');
- }
- console.log('Fax account found:', evt.localstationid);
- _account = faxAccount;
- if (_account.ListId) {
- return Contact
- .findOrCreate({
- where: {
- ListId: _account.ListId,
- $or: [{
- phone: evt.calleridnum
- }, {
- fax: evt.calleridnum
- }]
- },
- defaults: {
- phone: evt.calleridnum,
- fax: evt.calleridnum,
- firstName: evt.calleridnum,
- ListId: _account.ListId
- }
- });
- } else {
- return [];
- }
- })
- .spread(function(contact, created) {
- if (created != undefined && !created) {
- return contact.updateAttributes({
- fax: evt.calleridnum
- });
- }
- return;
- })
- .then(function() {
- return FaxRoom
- .findAll({
- limit: 1,
- where: {
- contact: _message.calleridnum,
- FaxAccountId: _account.id,
- status: {
- $ne: 'CLOSED'
- }
- },
- order: [
- ['createdAt', 'DESC']
- ]
- })
- })
- .then(function(room) {
- if (room.length) {
- // console.log('Fax room to update');
- room = _.first(room);
- return room
- .updateAttributes({
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- status: 'OPEN',
- openReason: 'system',
- faxIn: ++room.faxIn
- });
- } else {
- // console.log('Fax room to create');
- return FaxRoom
- .create({
- contact: _message.calleridnum,
- account: _account.name,
- status: 'NEW',
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- FaxAccountId: _account.id,
- faxIn: 1
- });
- }
- })
- .then(function(room) {
- if (!room) {
- throw new Error('Fax room not found/created');
- }
- // console.log('Fax room found/created:', room.id);
- _fRoom = room;
- _message.FaxRoomId = room.id;
- _message.status = 'RECEIVED';
- _message.from = _message.calleridnum;
- _message.to = _message.localstationid;
- return FaxMessage.create(_message);
- })
- .then(function(message) {
- _fMessage = message;
- var _files = [];
- var name = path.parse(evt.filename).name;
- var namePdf = name + '.pdf';
- return FaxAttachment
- .create({
- path: path.join(config.root, 'server', 'files', 'fax', 'inbound', 'converted', namePdf),
- basename: namePdf,
- name: name,
- FaxMessageId: message.id
- });
- })
- .then(function(faxAttachment) {
- return exec('tiff2pdf -o ' + faxAttachment.path + ' ' + evt.filename);
- // return tiff2pdf(evt.filename, path.join(config.root, 'server', 'files', 'fax', 'inbound', 'converted', '/'));
- })
- .then(function() {
- var scheduler = new Scheduler({
- channel: 'fax',
- uniqueid: util.format('%s.%s', moment().unix(), _fRoom.id),
- messageid: _fMessage.id,
- roomid: _fRoom.id,
- accountid: _account.id,
- accountname: _account.name,
- accountphone: _account.localstationid,
- from: _fMessage.from
- })
-
- scheduler.init();
- })
- .catch(function(err) {
- console.log('Error receiving fax message', err);
- });
-
-};
-
-function sendfax(message, ami, retry, opt) {
- if (message.status === 'SENDING') {
- var _fRoom;
- var _fMessage = message;
- var _fFrom = message.from;
- var _fTo = message.to;
- var _fAccount;
- var _fTrunk;
- var _originalFile, _convertedFile;
-
- return FaxAccount
- .findOne({
- where: {
- localstationid: _fMessage.from
- }
- })
- .then(function(faxAccount) {
- if (!faxAccount) {
- throw new Error('Fax account not found');
- }
- _fAccount = _.clone(faxAccount.dataValues);
- return Trunk.findOne({
- where: {
- name: _fAccount.TrunkName
- },
- attributes: ['name']
- });
- })
- .then(function(trunk) {
- if (!trunk) {
- throw new Error('Trunk not found');
- }
- _fTrunk = _.clone(trunk.dataValues);
- return;
- })
- .then(function() {
- return _fAccount;
- })
- .then(getFaxRoom(_fMessage))
- .then(function(faxRoom) {
- _fRoom = faxRoom;
- return _fRoom.addFaxMessage(_fMessage.id);
- })
- .then(function() {
- return _fRoom
- .updateAttributes({
- status: 'PENDING',
- lastEvent: 'SENDING',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- faxOut: ++_fRoom.faxOut
- }, {
- individualHooks: true,
- user: opt.user
- });
- })
- .then(function() {
- return _fRoom.addUser(_fMessage.UserId);
- })
- .then(function() {
- return User.findById(_fMessage.UserId);
- })
- .then(function() {
- if (_fAccount.ListId) {
- return Contact
- .findOrCreate({
- where: {
- ListId: _fAccount.ListId,
- $or: [{
- phone: _fTo
- }, {
- fax: _fTo
- }]
- },
- defaults: {
- fax: _fTo,
- phone: _fTo,
- firstName: _fTo,
- ListId: _fAccount.ListId
- }
- });
- } else {
- return [];
- }
- })
- .spread(function(contact, created) {
- if (created != undefined && !created) {
- return contact.updateAttributes({
- fax: _fTo
- });
- }
- return;
- })
- .then(function() {
- _originalFile = _fMessage.FaxAttachments[0].path;
- if (_fMessage.FaxAttachments[0].type === 'application/pdf') {
- //File is PDF
- _convertedFile = path.join(config.root, 'server', 'files', 'fax', 'outbound', 'converted', '/', path.parse(_originalFile).name + '.tif');
- return exec('gs -q -dNOPAUSE -dBATCH -sDEVICE=tiffg4 -sPAPERSIZE=letter -sOutputFile=' + _convertedFile + ' ' + _originalFile);
- } else {
- //File is TIFF: no conversation but I copy in the converted directory
- _convertedFile = path.join(config.root, 'server', 'files', 'fax', 'outbound', 'converted', '/', path.parse(_originalFile).base);
- fse.copySync(_originalFile, _convertedFile);
- return;
- }
- })
- .then(function() {
- fs.chmodSync(_convertedFile, 511); //511 is the decimal version of 777
- return _fMessage.updateAttributes({
- filename: _convertedFile,
- localstationid: _fMessage.from,
- retry: retry
- });
- })
- .then(function() {
- return Promise
- .promisify(ami.action)({
- action: 'originate',
- channel: util.format('%s/%s/%s', _fAccount.tech, _fTrunk.name, _fTo),
- exten: _fTo,
- context: 'outbound-fax',
- priority: 1,
- callerid: util.format("\"%s\" <%s>", _fAccount.localstationid, _fAccount.localstationid),
- variable: {
- FAXNAME: _fAccount.name,
- FAXNUMBER: _fTo,
- FAXECM: _fAccount.ecm,
- FAXHEADERINFO: _fAccount.headerinfo,
- FAXLOCALSTATIONID: _fAccount.localstationid,
- FAXMINRATE: _fAccount.minrate,
- FAXMAXRATE: _fAccount.maxrate,
- FAXMODEM: util.format('\"%s\"', _fAccount.modem),
- FAXGATEWAY: _fAccount.gateway,
- FAXT38TIMEOUT: _fAccount.t38timeout,
- FAXOUTFILE: _convertedFile
- },
- account: _fAccount.localstationid
- });
- })
- .then(function(res) {
- console.log('res', res);
- })
- .catch(function(err) {
- console.log('Error sending fax', err);
- return _fMessage.update({
- status: 'FAILED'
- })
- .then(function() {
- if (_fRoom) {
- return _fRoom.updateAttributes({
- lastEvent: 'FAILED'
- });
- }
- return;
- })
- .catch(function(err) {
- console.log('Error updating error status');
- });
- });
- }
-}
-
-
-
-function getFaxRoom(_fMessage) {
- return function(account) {
- if (_fMessage.FaxRoomId) {
- return FaxRoom.findById(_fMessage.FaxRoomId)
- } else {
- return FaxRoom
- .findAll({
- limit: 1,
- where: {
- contact: _fMessage.to,
- FaxAccountId: account.id
- },
- order: [
- ['createdAt', 'DESC']
- ]
- })
- .then(function(faxrooms) {
- var room = _.first(faxrooms);
- if (!room || room.status === 'CLOSED') {
- return FaxRoom
- .create({
- contact: _fMessage.to,
- account: account.name,
- status: 'PENDING',
- FaxAccountId: account.id,
- })
- } else {
- return room;
- }
- })
- }
-
- }
-}
-
-module.exports = Fax;
+var _0x334c=["\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x2D\x70\x72\x6F\x63\x65\x73\x73\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x66\x73\x2D\x65\x78\x74\x72\x61","\x6D\x6F\x6D\x65\x6E\x74","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x54\x72\x75\x6E\x6B","\x55\x73\x65\x72","\x43\x6F\x6E\x74\x61\x63\x74","\x52\x65\x70\x6F\x72\x74\x46\x61\x78","\x2E\x2E\x2F\x75\x74\x69\x6C","\x2E\x2E\x2F\x72\x6F\x75\x74\x69\x6E\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x46\x61\x78\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x53\x45\x4E\x44\x49\x4E\x47","\x72\x65\x74\x72\x79","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x61\x63\x63\x6F\x75\x6E\x74\x69\x64","\x66\x69\x6E\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x64","\x61\x63\x63\x65\x70\x74","\x72\x65\x6A\x65\x63\x74\x65\x64\x41\x74","\x72\x65\x6A\x65\x63\x74","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x43\x4C\x4F\x53\x45\x44","\x63\x6C\x6F\x73\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x70\x75\x73\x68","\x69\x64","\x46\x61\x78\x20\x61\x63\x63\x6F\x75\x6E\x74\x3A\x20","\x6E\x61\x6D\x65","\x20\x55\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x61\x63\x63\x65\x70\x74\x4D\x65\x74\x68\x6F\x64","\x61\x63\x63\x65\x70\x74\x55\x72\x6C","\x46\x61\x78\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x3C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x63\x65\x70\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x63\x74\x69\x6F\x6E\x73","\x65\x6E\x61\x62\x6C\x65\x64","\x65\x78\x65\x63\x41\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x65\x6A\x65\x63\x74\x4D\x65\x74\x68\x6F\x64","\x72\x65\x6A\x65\x63\x74\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x72\x65\x6A\x65\x63\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x63\x6C\x6F\x73\x65\x4D\x65\x74\x68\x6F\x64","\x63\x6C\x6F\x73\x65\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x6C\x6F\x73\x65\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x57\x65\x62\x68\x6F\x6F\x6B\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64","\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6C\x65\x64\x21","\x72\x65\x71\x75\x65\x73\x74\x20\x73\x75\x63\x63\x65\x73\x73\x65\x66\x75\x6C\x21","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x75\x70\x64\x61\x74\x65\x45\x72\x72\x6F\x72","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x45\x72\x72\x6F\x72","\x46\x61\x78\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x76\x61\x6C\x75\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x63\x68\x61\x6E\x6E\x65\x6C","\x66\x69\x6E\x64\x4F\x6E\x65","\x75\x70\x64\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x6E\x6E\x65\x6C\x73\x74\x61\x74\x65","\x63\x68\x61\x6E\x6E\x65\x6C\x73\x74\x61\x74\x65\x64\x65\x73\x63","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x75\x6D","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x61\x6D\x65","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E","\x70\x72\x69\x6F\x72\x69\x74\x79","\x75\x6E\x69\x71\x75\x65\x69\x64","\x6C\x69\x6E\x6B\x65\x64\x69\x64","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x75\x70\x64\x61\x74\x65\x53\x65\x6E\x64","\x46\x61\x78\x20\x72\x6F\x6F\x6D\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x53\x45\x4E\x54","\x67\x65\x74\x46\x61\x78\x52\x6F\x6F\x6D","\x70\x61\x67\x65\x73\x74\x72\x61\x6E\x73\x66\x65\x72\x72\x65\x64","\x30","\x46\x41\x49\x4C\x45\x44","\x72\x65\x6D\x6F\x74\x65\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x72\x65\x73\x6F\x6C\x75\x74\x69\x6F\x6E","\x74\x72\x61\x6E\x73\x66\x65\x72\x72\x61\x74\x65","\x72\x65\x63\x65\x69\x76\x65\x66\x61\x78","\x4E\x65\x77\x20\x46\x61\x78\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x66\x72\x6F\x6D\x20\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x6C\x6F\x6E\x65","\x45\x72\x72\x6F\x72\x20\x72\x65\x63\x65\x69\x76\x69\x6E\x67\x20\x66\x61\x78\x20\x6D\x65\x73\x73\x61\x67\x65","\x66\x61\x78","\x25\x73\x2E\x25\x73","\x75\x6E\x69\x78","\x66\x72\x6F\x6D","\x69\x6E\x69\x74","\x74\x69\x66\x66\x32\x70\x64\x66\x20\x2D\x6F\x20","\x20","\x70\x61\x72\x73\x65","\x2E\x70\x64\x66","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6E\x62\x6F\x75\x6E\x64","\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x6A\x6F\x69\x6E","\x63\x72\x65\x61\x74\x65","\x46\x61\x78\x20\x72\x6F\x6F\x6D\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2F\x63\x72\x65\x61\x74\x65\x64","\x46\x61\x78\x52\x6F\x6F\x6D\x49\x64","\x52\x45\x43\x45\x49\x56\x45\x44","\x74\x6F","\x66\x69\x72\x73\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x4F\x50\x45\x4E","\x73\x79\x73\x74\x65\x6D","\x66\x61\x78\x49\x6E","\x4E\x45\x57","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x73\x70\x72\x65\x61\x64","\x46\x61\x78\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x46\x61\x78\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x4C\x69\x73\x74\x49\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x45\x72\x72\x6F\x72\x20\x73\x65\x6E\x64\x69\x6E\x67\x20\x66\x61\x78","\x45\x72\x72\x6F\x72\x20\x75\x70\x64\x61\x74\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x20\x73\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x72\x65\x73","\x6F\x72\x69\x67\x69\x6E\x61\x74\x65","\x25\x73\x2F\x25\x73\x2F\x25\x73","\x74\x65\x63\x68","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x22\x25\x73\x22\x20\x3C\x25\x73\x3E","\x65\x63\x6D","\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F","\x6D\x69\x6E\x72\x61\x74\x65","\x6D\x61\x78\x72\x61\x74\x65","\x22\x25\x73\x22","\x6D\x6F\x64\x65\x6D","\x67\x61\x74\x65\x77\x61\x79","\x74\x33\x38\x74\x69\x6D\x65\x6F\x75\x74","\x61\x63\x74\x69\x6F\x6E","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x63\x68\x6D\x6F\x64\x53\x79\x6E\x63","\x46\x61\x78\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x74\x79\x70\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x70\x64\x66","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x2F","\x2E\x74\x69\x66","\x67\x73\x20\x2D\x71\x20\x2D\x64\x4E\x4F\x50\x41\x55\x53\x45\x20\x2D\x64\x42\x41\x54\x43\x48\x20\x2D\x73\x44\x45\x56\x49\x43\x45\x3D\x74\x69\x66\x66\x67\x34\x20\x2D\x73\x50\x41\x50\x45\x52\x53\x49\x5A\x45\x3D\x6C\x65\x74\x74\x65\x72\x20\x2D\x73\x4F\x75\x74\x70\x75\x74\x46\x69\x6C\x65\x3D","\x62\x61\x73\x65","\x63\x6F\x70\x79\x53\x79\x6E\x63","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x55\x73\x65\x72","\x50\x45\x4E\x44\x49\x4E\x47","\x66\x61\x78\x4F\x75\x74","\x75\x73\x65\x72","\x61\x64\x64\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x54\x72\x75\x6E\x6B\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x54\x72\x75\x6E\x6B\x4E\x61\x6D\x65","\x65\x78\x70\x6F\x72\x74\x73"];var fs=require(_0x334c[0]);var util=require(_0x334c[1]);var path=require(_0x334c[2]);var config=require(_0x334c[3]);var _=require(_0x334c[4]);var Promise=require(_0x334c[5]);var exec=require(_0x334c[7])[_0x334c[6]];var fse=require(_0x334c[8]);var moment=require(_0x334c[9]);var FaxAccount=require(_0x334c[11])[_0x334c[10]];var FaxRoom=require(_0x334c[11])[_0x334c[12]];var FaxMessage=require(_0x334c[11])[_0x334c[13]];var FaxAttachment=require(_0x334c[11])[_0x334c[14]];var Trunk=require(_0x334c[11])[_0x334c[15]];var User=require(_0x334c[11])[_0x334c[16]];var Contact=require(_0x334c[11])[_0x334c[17]];var ReportFax=require(_0x334c[11])[_0x334c[18]];var Util=require(_0x334c[19]);var Scheduler=require(_0x334c[20]);var faxaccounts;function Fax(_0x7eb7x16){console[_0x334c[22]](_0x334c[21]);FaxMessage[_0x334c[23]](function(_0x7eb7x17,_0x7eb7x18){sendfax(_0x7eb7x17,_0x7eb7x16,0,_0x7eb7x18)});FaxMessage[_0x334c[28]](function(_0x7eb7x17,_0x7eb7x18){if(_0x7eb7x17[_0x334c[25]](_0x334c[24])&& _0x7eb7x17[_0x334c[24]]=== _0x334c[26]){sendfax(_0x7eb7x17,_0x7eb7x16,_0x7eb7x17[_0x334c[27]]+ 1,_0x7eb7x18)}});FaxAccount[_0x334c[41]]()[_0x334c[40]](function(_0x7eb7x1a){faxaccounts= _0x7eb7x1a;synch(faxaccounts);ReportFax[_0x334c[28]](function(_0x7eb7x17){var _0x7eb7x1b=_[_0x334c[32]](faxaccounts,{id:parseInt(_0x7eb7x17[_0x334c[31]])});if(_0x7eb7x1b&& _0x7eb7x17[_0x334c[25]](_0x334c[33])){webhook(_0x7eb7x17,_0x7eb7x1b,_0x334c[34])};if(_0x7eb7x1b&& _0x7eb7x17[_0x334c[25]](_0x334c[35])){webhook(_0x7eb7x17,_0x7eb7x1b,_0x334c[36])}});FaxRoom[_0x334c[28]](function(_0x7eb7x17){var _0x7eb7x1b=_[_0x334c[32]](faxaccounts,{id:_0x7eb7x17[_0x334c[37]]});if(_0x7eb7x1b&& _0x7eb7x17[_0x334c[25]](_0x334c[24])&& _0x7eb7x17[_0x334c[24]]=== _0x334c[38]){webhook(_0x7eb7x17,_0x7eb7x1b,_0x334c[39])}})})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[29]](_0x7eb7x19)})}function synch(faxaccounts){FaxAccount[_0x334c[23]](function(_0x7eb7x17){faxaccounts[_0x334c[42]](_0x7eb7x17)});FaxAccount[_0x334c[28]](function(_0x7eb7x17){var _0x7eb7x1d=_[_0x334c[32]](faxaccounts,{id:_0x7eb7x17[_0x334c[43]]});if(_0x7eb7x1d){console[_0x334c[22]](_0x334c[44]+ _0x7eb7x1d[_0x334c[45]]+ _0x334c[46]);_[_0x334c[47]](_0x7eb7x1d,_0x7eb7x17)}else {faxaccounts[_0x334c[48]](_0x7eb7x17)}});FaxAccount[_0x334c[50]](function(_0x7eb7x17){_[_0x334c[49]](faxaccounts,{id:_0x7eb7x17[_0x334c[43]]})})}function webhook(_0x7eb7x17,_0x7eb7x1b,_0x7eb7x1f){var _0x7eb7x20=_0x7eb7x1b;switch(_0x7eb7x1f){case _0x334c[34]:if(_0x7eb7x20[_0x334c[51]]&& _0x7eb7x20[_0x334c[52]]){console[_0x334c[22]](_0x334c[53]+ _0x7eb7x20[_0x334c[45]]+ _0x334c[54]);execRequest(_0x7eb7x17[_0x334c[55]],_0x7eb7x20[_0x334c[51]],_0x7eb7x20[_0x334c[52]])};if(_0x7eb7x20[_0x334c[57]][_0x334c[56]]){_[_0x334c[60]](_0x7eb7x20[_0x334c[57]],function(_0x7eb7x21){if(_0x7eb7x21[_0x334c[58]]){Util[_0x334c[59]](_0x7eb7x21,_0x7eb7x17)}})};break;case _0x334c[36]:if(_0x7eb7x20[_0x334c[61]]&& _0x7eb7x20[_0x334c[62]]){console[_0x334c[22]](_0x334c[53]+ _0x7eb7x20[_0x334c[45]]+ _0x334c[63]);execRequest(_0x7eb7x17[_0x334c[55]],_0x7eb7x20[_0x334c[61]],_0x7eb7x20[_0x334c[62]])};break;case _0x334c[39]:if(_0x7eb7x20[_0x334c[64]]&& _0x7eb7x20[_0x334c[65]]){console[_0x334c[22]](_0x334c[53]+ _0x7eb7x20[_0x334c[45]]+ _0x334c[66]);execRequest(_0x7eb7x17[_0x334c[55]],_0x7eb7x20[_0x334c[64]],_0x7eb7x20[_0x334c[65]])};break;default:console[_0x334c[22]](_0x334c[67])}}function execRequest(_0x7eb7x17,_0x7eb7x23,_0x7eb7x24){Util[_0x334c[70]](_0x7eb7x17,_0x7eb7x23,_0x7eb7x24)[_0x334c[40]](function(_0x7eb7x25){console[_0x334c[22]](_0x334c[69])})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[68])})}Fax[_0x334c[72]][_0x334c[71]]= function(_0x7eb7x26){return FaxMessage[_0x334c[78]]({where:{channel:_0x7eb7x26[_0x334c[77]]}})[_0x334c[40]](function(_0x7eb7x27){if(!_0x7eb7x27){throw new Error(_0x334c[74])};return _0x7eb7x27[_0x334c[76]]({error:_0x7eb7x26[_0x334c[75]]})})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[73],_0x7eb7x19)})};Fax[_0x334c[72]][_0x334c[79]]= function(_0x7eb7x26){return FaxMessage[_0x334c[78]]({where:{filename:_0x7eb7x26[_0x334c[92]],localstationid:_0x7eb7x26[_0x334c[93]]}})[_0x334c[40]](function(_0x7eb7x27){if(!_0x7eb7x27){throw new Error(_0x334c[74])};return _0x7eb7x27[_0x334c[76]]({channel:_0x7eb7x26[_0x334c[77]],channelstate:_0x7eb7x26[_0x334c[80]],channelstatedesc:_0x7eb7x26[_0x334c[81]],calleridnum:_0x7eb7x26[_0x334c[82]],calleridname:_0x7eb7x26[_0x334c[83]],connectedlinenum:_0x7eb7x26[_0x334c[84]],connectedlinename:_0x7eb7x26[_0x334c[85]],accountcode:_0x7eb7x26[_0x334c[86]],context:_0x7eb7x26[_0x334c[87]],exten:_0x7eb7x26[_0x334c[88]],priority:_0x7eb7x26[_0x334c[89]],uniqueid:_0x7eb7x26[_0x334c[90]],linkedid:_0x7eb7x26[_0x334c[91]],lastStatus:_0x7eb7x26[_0x334c[24]]})})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[73],_0x7eb7x19)})};Fax[_0x334c[72]][_0x334c[94]]= function(_0x7eb7x26){var _0x7eb7x28;return FaxMessage[_0x334c[78]]({where:{filename:_0x7eb7x26[_0x334c[92]],localstationid:_0x7eb7x26[_0x334c[93]]}})[_0x334c[40]](function(_0x7eb7x27){if(!_0x7eb7x27){throw new Error(_0x334c[74])};_0x7eb7x28= _0x7eb7x27;var _0x7eb7x2a=_0x334c[96];if(_0x7eb7x26[_0x334c[98]]== _0x334c[99]){_0x7eb7x2a= _0x334c[100]};return _0x7eb7x28[_0x334c[76]]({remotestationid:_0x7eb7x26[_0x334c[101]],pagestransferred:_0x7eb7x26[_0x334c[98]],resolution:_0x7eb7x26[_0x334c[102]],transferrate:_0x7eb7x26[_0x334c[103]],status:_0x7eb7x2a})})[_0x334c[40]](function(){return _0x7eb7x28[_0x334c[97]]()})[_0x334c[40]](function(_0x7eb7x29){if(!_0x7eb7x29){throw new Error(_0x334c[95])};return _0x7eb7x29[_0x334c[76]]({lastEvent:_0x334c[96]},{individualHooks:true})})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[73],_0x7eb7x19)})};Fax[_0x334c[72]][_0x334c[104]]= function(_0x7eb7x26){console[_0x334c[22]](util[_0x334c[106]](_0x334c[105],_0x7eb7x26[_0x334c[82]]));var _0x7eb7x2b=_[_0x334c[107]](_0x7eb7x26);var _0x7eb7x2c;var _0x7eb7x28,_0x7eb7x2d;return FaxAccount[_0x334c[78]]({where:{localstationid:_0x7eb7x26[_0x334c[93]]}})[_0x334c[40]](function(_0x7eb7x37){if(!_0x7eb7x37){throw new Error(_0x334c[138])};console[_0x334c[22]](_0x334c[139],_0x7eb7x26[_0x334c[93]]);_0x7eb7x2c= _0x7eb7x37;if(_0x7eb7x2c[_0x334c[140]]){return Contact[_0x334c[141]]({where:{ListId:_0x7eb7x2c[_0x334c[140]],$or:[{phone:_0x7eb7x26[_0x334c[82]]},{fax:_0x7eb7x26[_0x334c[82]]}]},defaults:{phone:_0x7eb7x26[_0x334c[82]],fax:_0x7eb7x26[_0x334c[82]],firstName:_0x7eb7x26[_0x334c[82]],ListId:_0x7eb7x2c[_0x334c[140]]}})}else {return []}})[_0x334c[137]](function(_0x7eb7x35,_0x7eb7x36){if(_0x7eb7x36!= undefined&& !_0x7eb7x36){return _0x7eb7x35[_0x334c[76]]({fax:_0x7eb7x26[_0x334c[82]]})};return})[_0x334c[40]](function(){return FaxRoom[_0x334c[41]]({limit:1,where:{contact:_0x7eb7x2b[_0x334c[82]],FaxAccountId:_0x7eb7x2c[_0x334c[43]],status:{$ne:_0x334c[38]}},order:[[_0x334c[135],_0x334c[136]]]})})[_0x334c[40]](function(_0x7eb7x34){if(_0x7eb7x34[_0x334c[56]]){_0x7eb7x34= _[_0x334c[129]](_0x7eb7x34);return _0x7eb7x34[_0x334c[76]]({lastEvent:_0x334c[127],lastEventAt:moment()[_0x334c[106]](_0x334c[130]),status:_0x334c[131],openReason:_0x334c[132],faxIn:++_0x7eb7x34[_0x334c[133]]})}else {return FaxRoom[_0x334c[124]]({contact:_0x7eb7x2b[_0x334c[82]],account:_0x7eb7x2c[_0x334c[45]],status:_0x334c[134],lastEvent:_0x334c[127],lastEventAt:moment()[_0x334c[106]](_0x334c[130]),FaxAccountId:_0x7eb7x2c[_0x334c[43]],faxIn:1})}})[_0x334c[40]](function(_0x7eb7x34){if(!_0x7eb7x34){throw new Error(_0x334c[125])};_0x7eb7x2d= _0x7eb7x34;_0x7eb7x2b[_0x334c[126]]= _0x7eb7x34[_0x334c[43]];_0x7eb7x2b[_0x334c[24]]= _0x334c[127];_0x7eb7x2b[_0x334c[112]]= _0x7eb7x2b[_0x334c[82]];_0x7eb7x2b[_0x334c[128]]= _0x7eb7x2b[_0x334c[93]];return FaxMessage[_0x334c[124]](_0x7eb7x2b)})[_0x334c[40]](function(_0x7eb7x30){_0x7eb7x28= _0x7eb7x30;var _0x7eb7x31=[];var _0x7eb7x32=path[_0x334c[116]](_0x7eb7x26[_0x334c[92]])[_0x334c[45]];var _0x7eb7x33=_0x7eb7x32+ _0x334c[117];return FaxAttachment[_0x334c[124]]({path:path[_0x334c[123]](config[_0x334c[118]],_0x334c[119],_0x334c[120],_0x334c[109],_0x334c[121],_0x334c[122],_0x7eb7x33),basename:_0x7eb7x33,name:_0x7eb7x32,FaxMessageId:_0x7eb7x30[_0x334c[43]]})})[_0x334c[40]](function(_0x7eb7x2f){return exec(_0x334c[114]+ _0x7eb7x2f[_0x334c[2]]+ _0x334c[115]+ _0x7eb7x26[_0x334c[92]])})[_0x334c[40]](function(){var _0x7eb7x2e= new Scheduler({channel:_0x334c[109],uniqueid:util[_0x334c[106]](_0x334c[110],moment()[_0x334c[111]](),_0x7eb7x2d[_0x334c[43]]),messageid:_0x7eb7x28[_0x334c[43]],roomid:_0x7eb7x2d[_0x334c[43]],accountid:_0x7eb7x2c[_0x334c[43]],accountname:_0x7eb7x2c[_0x334c[45]],accountphone:_0x7eb7x2c[_0x334c[93]],from:_0x7eb7x28[_0x334c[112]]});_0x7eb7x2e[_0x334c[113]]()})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[108],_0x7eb7x19)})};function sendfax(_0x7eb7x30,_0x7eb7x16,_0x7eb7x39,_0x7eb7x18){if(_0x7eb7x30[_0x334c[24]]=== _0x334c[26]){var _0x7eb7x2d;var _0x7eb7x28=_0x7eb7x30;var _0x7eb7x3a=_0x7eb7x30[_0x334c[112]];var _0x7eb7x3b=_0x7eb7x30[_0x334c[128]];var _0x7eb7x3c;var _0x7eb7x3d;var _0x7eb7x3e,_0x7eb7x3f;return FaxAccount[_0x334c[78]]({where:{localstationid:_0x7eb7x28[_0x334c[112]]}})[_0x334c[40]](function(_0x7eb7x37){if(!_0x7eb7x37){throw new Error(_0x334c[138])};_0x7eb7x3c= _[_0x334c[107]](_0x7eb7x37[_0x334c[55]]);return Trunk[_0x334c[78]]({where:{name:_0x7eb7x3c[_0x334c[178]]},attributes:[_0x334c[45]]})})[_0x334c[40]](function(_0x7eb7x41){if(!_0x7eb7x41){throw new Error(_0x334c[177])};_0x7eb7x3d= _[_0x334c[107]](_0x7eb7x41[_0x334c[55]]);return})[_0x334c[40]](function(){return _0x7eb7x3c})[_0x334c[40]](getFaxRoom(_0x7eb7x28))[_0x334c[40]](function(_0x7eb7x29){_0x7eb7x2d= _0x7eb7x29;return _0x7eb7x2d[_0x334c[176]](_0x7eb7x28[_0x334c[43]])})[_0x334c[40]](function(){return _0x7eb7x2d[_0x334c[76]]({status:_0x334c[173],lastEvent:_0x334c[26],lastEventAt:moment()[_0x334c[106]](_0x334c[130]),faxOut:++_0x7eb7x2d[_0x334c[174]]},{individualHooks:true,user:_0x7eb7x18[_0x334c[175]]})})[_0x334c[40]](function(){return _0x7eb7x2d[_0x334c[172]](_0x7eb7x28.UserId)})[_0x334c[40]](function(){return User[_0x334c[171]](_0x7eb7x28.UserId)})[_0x334c[40]](function(){if(_0x7eb7x3c[_0x334c[140]]){return Contact[_0x334c[141]]({where:{ListId:_0x7eb7x3c[_0x334c[140]],$or:[{phone:_0x7eb7x3b},{fax:_0x7eb7x3b}]},defaults:{fax:_0x7eb7x3b,phone:_0x7eb7x3b,firstName:_0x7eb7x3b,ListId:_0x7eb7x3c[_0x334c[140]]}})}else {return []}})[_0x334c[137]](function(_0x7eb7x35,_0x7eb7x36){if(_0x7eb7x36!= undefined&& !_0x7eb7x36){return _0x7eb7x35[_0x334c[76]]({fax:_0x7eb7x3b})};return})[_0x334c[40]](function(){_0x7eb7x3e= _0x7eb7x28[_0x334c[162]][0][_0x334c[2]];if(_0x7eb7x28[_0x334c[162]][0][_0x334c[163]]=== _0x334c[164]){_0x7eb7x3f= path[_0x334c[123]](config[_0x334c[118]],_0x334c[119],_0x334c[120],_0x334c[109],_0x334c[165],_0x334c[122],_0x334c[166],path[_0x334c[116]](_0x7eb7x3e)[_0x334c[45]]+ _0x334c[167]);return exec(_0x334c[168]+ _0x7eb7x3f+ _0x334c[115]+ _0x7eb7x3e)}else {_0x7eb7x3f= path[_0x334c[123]](config[_0x334c[118]],_0x334c[119],_0x334c[120],_0x334c[109],_0x334c[165],_0x334c[122],_0x334c[166],path[_0x334c[116]](_0x7eb7x3e)[_0x334c[169]]);fse[_0x334c[170]](_0x7eb7x3e,_0x7eb7x3f);return}})[_0x334c[40]](function(){fs[_0x334c[161]](_0x7eb7x3f,511);return _0x7eb7x28[_0x334c[76]]({filename:_0x7eb7x3f,localstationid:_0x7eb7x28[_0x334c[112]],retry:_0x7eb7x39})})[_0x334c[40]](function(){return Promise[_0x334c[160]](_0x7eb7x16[_0x334c[159]])({action:_0x334c[146],channel:util[_0x334c[106]](_0x334c[147],_0x7eb7x3c[_0x334c[148]],_0x7eb7x3d[_0x334c[45]],_0x7eb7x3b),exten:_0x7eb7x3b,context:_0x334c[149],priority:1,callerid:util[_0x334c[106]](_0x334c[150],_0x7eb7x3c[_0x334c[93]],_0x7eb7x3c[_0x334c[93]]),variable:{FAXNAME:_0x7eb7x3c[_0x334c[45]],FAXNUMBER:_0x7eb7x3b,FAXECM:_0x7eb7x3c[_0x334c[151]],FAXHEADERINFO:_0x7eb7x3c[_0x334c[152]],FAXLOCALSTATIONID:_0x7eb7x3c[_0x334c[93]],FAXMINRATE:_0x7eb7x3c[_0x334c[153]],FAXMAXRATE:_0x7eb7x3c[_0x334c[154]],FAXMODEM:util[_0x334c[106]](_0x334c[155],_0x7eb7x3c[_0x334c[156]]),FAXGATEWAY:_0x7eb7x3c[_0x334c[157]],FAXT38TIMEOUT:_0x7eb7x3c[_0x334c[158]],FAXOUTFILE:_0x7eb7x3f},account:_0x7eb7x3c[_0x334c[93]]})})[_0x334c[40]](function(_0x7eb7x40){console[_0x334c[22]](_0x334c[145],_0x7eb7x40)})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[142],_0x7eb7x19);return _0x7eb7x28[_0x334c[144]]({status:_0x334c[100]})[_0x334c[40]](function(){if(_0x7eb7x2d){return _0x7eb7x2d[_0x334c[76]]({lastEvent:_0x334c[100]})};return})[_0x334c[30]](function(_0x7eb7x19){console[_0x334c[22]](_0x334c[143])})})}}function getFaxRoom(_0x7eb7x28){return function(_0x7eb7x1b){if(_0x7eb7x28[_0x334c[126]]){return FaxRoom[_0x334c[171]](_0x7eb7x28.FaxRoomId)}else {return FaxRoom[_0x334c[41]]({limit:1,where:{contact:_0x7eb7x28[_0x334c[128]],FaxAccountId:_0x7eb7x1b[_0x334c[43]]},order:[[_0x334c[135],_0x334c[136]]]})[_0x334c[40]](function(_0x7eb7x43){var _0x7eb7x34=_[_0x334c[129]](_0x7eb7x43);if(!_0x7eb7x34|| _0x7eb7x34[_0x334c[24]]=== _0x334c[38]){return FaxRoom[_0x334c[124]]({contact:_0x7eb7x28[_0x334c[128]],account:_0x7eb7x1b[_0x334c[45]],status:_0x334c[173],FaxAccountId:_0x7eb7x1b[_0x334c[43]]})}else {return _0x7eb7x34}})}}}module[_0x334c[179]]= Fax
\ No newline at end of file
-'use strict';
-
-var Agent = require('./agent');
-var Action = require('./action');
-var Call = require('./call');
-var Member = require('./member');
-var QueueCaller = require('./queue_caller');
-var QueueMember = require('./queue_member');
-var Recording = require('./recording');
-var Trunk = require('./trunk');
-var Context = require('./voice_context');
-var ACW = require('./acw');
-var User = require('./user');
-var Transfer = require('./transfer');
-var Network = require('./network');
-var Fax = require('./fax');
-var Dial = require('./dial');
-var Cleaner = require('./cleaner');
-
-var _ = require('lodash');
-
-// When the ami disconnects.. perform this
-function onDisconnect(ami) {}
-
-// When the ami connects.. perform this
-function onConnect(ami) {}
-
-function getVariable(event) {
- var _event = _.clone(event)
- var keys = _.keys(_event.variable);
- _event.variable = keys[0];
- return _event;
-}
-
-module.exports = function(ami) {
-
- var agent = new Agent();
- var call = new Call();
- var member = new Member();
- var queuemember = new QueueMember();
- var queuecaller = new QueueCaller();
- var recording = new Recording();
- var trunk = new Trunk(ami);
- var context = new Context(ami);
- var action = new Action(ami);
- var acw = new ACW(ami);
- var user = new User();
- var tranfer = new Transfer();
- var network = new Network(ami);
- var fax = new Fax(ami);
- var dial = new Dial();
- var cleaner = new Cleaner(ami);
-
- // Asterisk Status Connect
-
- // Raised when asterisk is connected
- ami.on('connect', function() {
- console.info('[%s:%s] AMI CONNECTED', ami.options.host, ami.options.port);
- ami.options.connectedAt = new Date();
- // Call onConnect.
- onConnect(ami);
- });
-
- // Raised when asterisk is disconnected
- ami.on('disconnect', function() {
- // Call onDisconnect.
- onDisconnect(ami);
- console.info('[%s:%s] AMI DISCONNECTED', ami.options.host, ami.options.port);
- });
-
- // Raised when asterisk is closed
- ami.on('close', function(flag) {
- console.log('[%s:%s] AMI CLOSE: %s', ami.options.host, ami.options.port, flag);
- });
-
- // Raised when asterisk has an error
- ami.on('error', function(err) {
- console.log('[%s:%s] AMI ERROR: %s', ami.options.host, ami.options.port, err);
- });
-
- // ami.on('managerevent', function(evt) {
- // console.log('managerevent', evt);
- // });
-
- ami.on('devicestatechange', function(evt) {
- if (evt.device === 'SIP/massimiliano.bungaro') console.log('statechange', evt.state);
- if (evt.device.indexOf('SIP/') === 0) {
- user.stateUpdate(evt);
- }
- });
-
- // Agent Status Events
-
- // Raised when an Agent is notified of a member in the queue.
- ami.on('agentcalled', function(evt) {
- agent.called(evt);
- user.queueStatusUpdate('called', evt);
- });
-
- // Raised when an agent has finished servicing a member in the queue.
- ami.on('agentcomplete', function(evt) {
- // console.log('agentcomplete', evt);
- delete evt.holdtime;
-
- recording.updateQueue(evt);
- acw.agentcomplete(evt);
- agent.complete(evt);
- member.inboundComplete(evt);
- queuecaller.complete(evt);
- user.queueStatusUpdate('complete', evt);
- });
-
- // Raised when an agent answers and is bridged to a member in the queue.
- ami.on('agentconnect', function(evt) {
- // console.log('agentconnect', evt);
- queuecaller.leave(evt);
- agent.connect(evt);
- member.inboundTalking(evt);
- user.queueStatusUpdate('connect', evt);
- });
-
- // Raised when an agent hangs up on a member in the queue.
- ami.on('agentdump', function(evt) {
- // console.log('agentdump', evt);
- agent.dump(evt);
- user.queueStatusUpdate('complete', evt);
- });
-
- // Raised when an agent is notified of a member in the queue and fails to answer.
- ami.on('agentringnoanswer', function(evt) {
- // console.log('agentringnoanswer', evt);
- agent.ringnoanswer(evt);
- user.queueStatusUpdate('complete', evt);
- });
-
- // Member Status Events in Queue
-
- // Raised when a member is added to the queue.
- ami.on('queuememberadded', function(evt) {
- queuemember.added(evt);
- });
-
- // Raised when a member is paused/unpaused in the queue with a reason.
- ami.on('queuememberpause', function(evt) {
- queuemember.pause(evt);
- });
-
- // Raised when a member's penalty is changed.
- ami.on('queuememberpenalty', function(evt) {
- queuemember.penalty(evt);
- });
-
- // Raised when a member is removed from the queue.
- ami.on('queuememberremoved', function(evt) {
- queuemember.removed(evt);
- });
-
- // Raised when a member's ringinuse setting is changed.
- ami.on('queuememberringinuse', function(evt) {
- queuemember.ringinuse(evt);
- });
-
- // Raised when a Queue member's status has changed.
- ami.on('queuememberstatus', function(evt) {
- queuemember.status(evt);
- });
-
- // Queue Status Events
-
- // Raised when a caller joins a Queue.
- ami.on('queuecallerjoin', function(evt) {
- queuecaller.join(evt);
- });
-
- // Raised when a caller abandons the queue.
- ami.on('queuecallerabandon', function(evt) {
- console.log('abandon evt', evt);
- queuecaller.abandon(evt);
- //queuemember.callerabandon(evt);
- user.queueStatusUpdate('complete', evt);
- agent.callerabandon(evt);
- });
-
- // Raised when a caller leaves a Queue.
- ami.on('queuecallerleave', function(evt) {
- // queuecaller.leave(evt);
- });
-
- // Cdr Status Events
-
- // Raised when a CDR is generated.
- ami.on('cdr', function(evt) {
- call.add(evt);
- recording.updateType(evt);
- });
-
- // Hangup Status Events
- ami.on('hangup', function(evt) {
- // console.log('hangup', evt);
- //agent.hangup(evt);
- dial.hangup(evt);
- member.outboundComplete(evt);
- });
-
- // // Recordings Events
- // ami.on('monitorstart', function(evt) {
- // // console.log('evt', evt);
- // });trna
- //
- // ami.on('monitorstop', function(evt) {
- // // console.log('evt', evt);
- // recording.create(evt, 'outbound');
- // });
-
- ami.on('blindtransfer', function(evt) {
- // console.log('blindtransfer', evt);
- evt.type = 'blind';
- tranfer.createBlind(evt);
- });
-
- ami.on('attendedtransfer', function(evt) {
- // console.log('attendedtransfer', evt);
- evt.type = 'attended';
- tranfer.createAttended(evt);
- });
-
- // Variable Events
- ami.on('varset', function(evt) {
- // console.log(evt);
- var event = getVariable(evt);
- switch (event.variable) {
- case 'mixmonitor_filename':
- recording.create(event);
- break;
- case 'queuestatus':
- queuecaller.exit(event);
- break;
- case 'faxerror':
- console.log('VarSet faxerror', evt);
- if (evt.value) {
- fax.updateError(evt);
- }
- break;
- case 'faxstatusstring':
- console.log('VarSet faxstatusstring', evt);
- break;
- case 'faxpages':
- console.log('VarSet faxpages', evt);
- break;
- case 'outboundrouteid':
- if (evt.value) {
- dial.beforeDial({
- uniqueid: evt.uniqueid,
- routeId: evt.value
- });
- }
- break;
- default:
- // console.log('Variable not managed:', event.variable);
- break;
- }
- });
-
- //Trunk registry event
- ami.on('registry', function(evt) {
- trunk.statusUpdate(evt);
- });
-
- ami.on('peerstatus', function(evt) {
- trunk.peerstatusUpdate(evt);
- });
-
- //Fax Events
- ami.on('receivefax', function(evt) {
- fax.receivefax(evt);
- });
-
- // Debug purpose
- // setTimeout(function() {
- // console.log('New timeout');
- // fax.receivefax({
- // event: 'ReceiveFAX',
- // privilege: 'call,all',
- // channel: 'SIP/Demo citalia-0000003b',
- // channelstate: '6',
- // channelstatedesc: 'Up',
- // calleridnum: '01119214291',
- // calleridname: '<unknown>',
- // connectedlinenum: '<unknown>',
- // connectedlinename: '<unknown>',
- // language: 'en',
- // accountcode: '',
- // context: 'from-voip-provider',
- // exten: '01119827770',
- // priority: '120',
- // uniqueid: '1466507863.139',
- // linkedid: '1466507863.139',
- // localstationid: '01119827770',
- // remotestationid: '01119214291',
- // pagestransferred: '1',
- // resolution: '8031x7700',
- // transferrate: '9600',
- // filename: '/var/opt/motion/server/files/fax/inbound/original/fax-20160621-131746.tif'
- // });
- // }, 10 * 1000);
-
- ami.on('faxstatus', function(evt) {
- if (evt.operation === 'send') {
- console.log('FaxStatus Event', evt);
- //Update outgoing message
- fax.updateMessage(evt);
- }
- });
-
- ami.on('dialbegin', function(evt) {
- dial.begin(evt);
- });
-
- ami.on('dialend', function(evt) {
- dial.end(evt);
- member.outboundTalking(evt);
- })
-
- ami.on('sendfax', function(evt) {
- console.log('SendFAX Event', evt);
- fax.updateSend(evt);
- });
-
- // require('./../fax').register(ami);
- require('../../api/ami/ami.ami').register(ami);
-};
+var _0xac46=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x61\x67\x65\x6E\x74","\x2E\x2F\x61\x63\x74\x69\x6F\x6E","\x2E\x2F\x63\x61\x6C\x6C","\x2E\x2F\x6D\x65\x6D\x62\x65\x72","\x2E\x2F\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72","\x2E\x2F\x71\x75\x65\x75\x65\x5F\x6D\x65\x6D\x62\x65\x72","\x2E\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2E\x2F\x74\x72\x75\x6E\x6B","\x2E\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x2E\x2F\x61\x63\x77","\x2E\x2F\x75\x73\x65\x72","\x2E\x2F\x74\x72\x61\x6E\x73\x66\x65\x72","\x2E\x2F\x6E\x65\x74\x77\x6F\x72\x6B","\x2E\x2F\x66\x61\x78","\x2E\x2F\x64\x69\x61\x6C","\x2E\x2F\x63\x6C\x65\x61\x6E\x65\x72","\x6C\x6F\x64\x61\x73\x68","\x63\x6C\x6F\x6E\x65","\x76\x61\x72\x69\x61\x62\x6C\x65","\x6B\x65\x79\x73","\x65\x78\x70\x6F\x72\x74\x73","\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x68\x6F\x73\x74","\x6F\x70\x74\x69\x6F\x6E\x73","\x70\x6F\x72\x74","\x69\x6E\x66\x6F","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x63\x6C\x6F\x73\x65","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x43\x4C\x4F\x53\x45\x3A\x20\x25\x73","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x5B\x25\x73\x3A\x25\x73\x5D\x20\x41\x4D\x49\x20\x45\x52\x52\x4F\x52\x3A\x20\x25\x73","\x64\x65\x76\x69\x63\x65\x73\x74\x61\x74\x65\x63\x68\x61\x6E\x67\x65","\x64\x65\x76\x69\x63\x65","\x53\x49\x50\x2F\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F","\x73\x74\x61\x74\x65\x63\x68\x61\x6E\x67\x65","\x73\x74\x61\x74\x65","\x53\x49\x50\x2F","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x74\x61\x74\x65\x55\x70\x64\x61\x74\x65","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64","\x63\x61\x6C\x6C\x65\x64","\x71\x75\x65\x75\x65\x53\x74\x61\x74\x75\x73\x55\x70\x64\x61\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x75\x70\x64\x61\x74\x65\x51\x75\x65\x75\x65","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x69\x6E\x62\x6F\x75\x6E\x64\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74","\x6C\x65\x61\x76\x65","\x69\x6E\x62\x6F\x75\x6E\x64\x54\x61\x6C\x6B\x69\x6E\x67","\x61\x67\x65\x6E\x74\x64\x75\x6D\x70","\x64\x75\x6D\x70","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x61\x64\x64\x65\x64","\x61\x64\x64\x65\x64","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x70\x61\x75\x73\x65","\x70\x61\x75\x73\x65","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x70\x65\x6E\x61\x6C\x74\x79","\x70\x65\x6E\x61\x6C\x74\x79","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x72\x65\x6D\x6F\x76\x65\x64","\x72\x65\x6D\x6F\x76\x65\x64","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x73\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E","\x6A\x6F\x69\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E\x20\x65\x76\x74","\x61\x62\x61\x6E\x64\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65","\x63\x64\x72","\x61\x64\x64","\x75\x70\x64\x61\x74\x65\x54\x79\x70\x65","\x68\x61\x6E\x67\x75\x70","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x62\x6C\x69\x6E\x64\x74\x72\x61\x6E\x73\x66\x65\x72","\x74\x79\x70\x65","\x62\x6C\x69\x6E\x64","\x63\x72\x65\x61\x74\x65\x42\x6C\x69\x6E\x64","\x61\x74\x74\x65\x6E\x64\x65\x64\x74\x72\x61\x6E\x73\x66\x65\x72","\x61\x74\x74\x65\x6E\x64\x65\x64","\x63\x72\x65\x61\x74\x65\x41\x74\x74\x65\x6E\x64\x65\x64","\x76\x61\x72\x73\x65\x74","\x63\x72\x65\x61\x74\x65","\x6D\x69\x78\x6D\x6F\x6E\x69\x74\x6F\x72\x5F\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x69\x74","\x71\x75\x65\x75\x65\x73\x74\x61\x74\x75\x73","\x56\x61\x72\x53\x65\x74\x20\x66\x61\x78\x65\x72\x72\x6F\x72","\x76\x61\x6C\x75\x65","\x75\x70\x64\x61\x74\x65\x45\x72\x72\x6F\x72","\x66\x61\x78\x65\x72\x72\x6F\x72","\x56\x61\x72\x53\x65\x74\x20\x66\x61\x78\x73\x74\x61\x74\x75\x73\x73\x74\x72\x69\x6E\x67","\x66\x61\x78\x73\x74\x61\x74\x75\x73\x73\x74\x72\x69\x6E\x67","\x56\x61\x72\x53\x65\x74\x20\x66\x61\x78\x70\x61\x67\x65\x73","\x66\x61\x78\x70\x61\x67\x65\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x62\x65\x66\x6F\x72\x65\x44\x69\x61\x6C","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x72\x6F\x75\x74\x65\x69\x64","\x72\x65\x67\x69\x73\x74\x72\x79","\x73\x74\x61\x74\x75\x73\x55\x70\x64\x61\x74\x65","\x70\x65\x65\x72\x73\x74\x61\x74\x75\x73","\x70\x65\x65\x72\x73\x74\x61\x74\x75\x73\x55\x70\x64\x61\x74\x65","\x72\x65\x63\x65\x69\x76\x65\x66\x61\x78","\x66\x61\x78\x73\x74\x61\x74\x75\x73","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x73\x65\x6E\x64","\x46\x61\x78\x53\x74\x61\x74\x75\x73\x20\x45\x76\x65\x6E\x74","\x75\x70\x64\x61\x74\x65\x4D\x65\x73\x73\x61\x67\x65","\x64\x69\x61\x6C\x62\x65\x67\x69\x6E","\x62\x65\x67\x69\x6E","\x64\x69\x61\x6C\x65\x6E\x64","\x65\x6E\x64","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x54\x61\x6C\x6B\x69\x6E\x67","\x73\x65\x6E\x64\x66\x61\x78","\x53\x65\x6E\x64\x46\x41\x58\x20\x45\x76\x65\x6E\x74","\x75\x70\x64\x61\x74\x65\x53\x65\x6E\x64","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x61\x6D\x69"];_0xac46[0];var Agent=require(_0xac46[1]);var Action=require(_0xac46[2]);var Call=require(_0xac46[3]);var Member=require(_0xac46[4]);var QueueCaller=require(_0xac46[5]);var QueueMember=require(_0xac46[6]);var Recording=require(_0xac46[7]);var Trunk=require(_0xac46[8]);var Context=require(_0xac46[9]);var ACW=require(_0xac46[10]);var User=require(_0xac46[11]);var Transfer=require(_0xac46[12]);var Network=require(_0xac46[13]);var Fax=require(_0xac46[14]);var Dial=require(_0xac46[15]);var Cleaner=require(_0xac46[16]);var _=require(_0xac46[17]);function onDisconnect(_0x94cex13){}function onConnect(_0x94cex13){}function getVariable(_0x94cex16){var _0x94cex17=_[_0xac46[18]](_0x94cex16);var _0x94cex18=_[_0xac46[20]](_0x94cex17[_0xac46[19]]);_0x94cex17[_0xac46[19]]= _0x94cex18[0];return _0x94cex17}module[_0xac46[21]]= function(_0x94cex13){var _0x94cex19= new Agent();var _0x94cex1a= new Call();var _0x94cex1b= new Member();var _0x94cex1c= new QueueMember();var _0x94cex1d= new QueueCaller();var _0x94cex1e= new Recording();var _0x94cex1f= new Trunk(_0x94cex13);var _0x94cex20= new Context(_0x94cex13);var _0x94cex21= new Action(_0x94cex13);var _0x94cex22= new ACW(_0x94cex13);var _0x94cex23= new User();var _0x94cex24= new Transfer();var _0x94cex25= new Network(_0x94cex13);var _0x94cex26= new Fax(_0x94cex13);var _0x94cex27= new Dial();var _0x94cex28= new Cleaner(_0x94cex13);_0x94cex13[_0xac46[29]](_0xac46[22],function(){console[_0xac46[27]](_0xac46[23],_0x94cex13[_0xac46[25]][_0xac46[24]],_0x94cex13[_0xac46[25]][_0xac46[26]]);_0x94cex13[_0xac46[25]][_0xac46[28]]= new Date();onConnect(_0x94cex13)});_0x94cex13[_0xac46[29]](_0xac46[30],function(){onDisconnect(_0x94cex13);console[_0xac46[27]](_0xac46[31],_0x94cex13[_0xac46[25]][_0xac46[24]],_0x94cex13[_0xac46[25]][_0xac46[26]])});_0x94cex13[_0xac46[29]](_0xac46[32],function(_0x94cex29){console[_0xac46[34]](_0xac46[33],_0x94cex13[_0xac46[25]][_0xac46[24]],_0x94cex13[_0xac46[25]][_0xac46[26]],_0x94cex29)});_0x94cex13[_0xac46[29]](_0xac46[35],function(_0x94cex2a){console[_0xac46[34]](_0xac46[36],_0x94cex13[_0xac46[25]][_0xac46[24]],_0x94cex13[_0xac46[25]][_0xac46[26]],_0x94cex2a)});_0x94cex13[_0xac46[29]](_0xac46[37],function(_0x94cex2b){if(_0x94cex2b[_0xac46[38]]=== _0xac46[39]){console[_0xac46[34]](_0xac46[40],_0x94cex2b[_0xac46[41]])};if(_0x94cex2b[_0xac46[38]][_0xac46[43]](_0xac46[42])=== 0){_0x94cex23[_0xac46[44]](_0x94cex2b)}});_0x94cex13[_0xac46[29]](_0xac46[45],function(_0x94cex2b){_0x94cex19[_0xac46[46]](_0x94cex2b);_0x94cex23[_0xac46[47]](_0xac46[46],_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[48],function(_0x94cex2b){delete _0x94cex2b[_0xac46[49]];_0x94cex1e[_0xac46[50]](_0x94cex2b);_0x94cex22[_0xac46[48]](_0x94cex2b);_0x94cex19[_0xac46[51]](_0x94cex2b);_0x94cex1b[_0xac46[52]](_0x94cex2b);_0x94cex1d[_0xac46[51]](_0x94cex2b);_0x94cex23[_0xac46[47]](_0xac46[51],_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[53],function(_0x94cex2b){_0x94cex1d[_0xac46[54]](_0x94cex2b);_0x94cex19[_0xac46[22]](_0x94cex2b);_0x94cex1b[_0xac46[55]](_0x94cex2b);_0x94cex23[_0xac46[47]](_0xac46[22],_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[56],function(_0x94cex2b){_0x94cex19[_0xac46[57]](_0x94cex2b);_0x94cex23[_0xac46[47]](_0xac46[51],_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[58],function(_0x94cex2b){_0x94cex19[_0xac46[59]](_0x94cex2b);_0x94cex23[_0xac46[47]](_0xac46[51],_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[60],function(_0x94cex2b){_0x94cex1c[_0xac46[61]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[62],function(_0x94cex2b){_0x94cex1c[_0xac46[63]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[64],function(_0x94cex2b){_0x94cex1c[_0xac46[65]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[66],function(_0x94cex2b){_0x94cex1c[_0xac46[67]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[68],function(_0x94cex2b){_0x94cex1c[_0xac46[69]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[70],function(_0x94cex2b){_0x94cex1c[_0xac46[71]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[72],function(_0x94cex2b){_0x94cex1d[_0xac46[73]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[74],function(_0x94cex2b){console[_0xac46[34]](_0xac46[75],_0x94cex2b);_0x94cex1d[_0xac46[76]](_0x94cex2b);_0x94cex23[_0xac46[47]](_0xac46[51],_0x94cex2b);_0x94cex19[_0xac46[77]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[78],function(_0x94cex2b){});_0x94cex13[_0xac46[29]](_0xac46[79],function(_0x94cex2b){_0x94cex1a[_0xac46[80]](_0x94cex2b);_0x94cex1e[_0xac46[81]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[82],function(_0x94cex2b){_0x94cex27[_0xac46[82]](_0x94cex2b);_0x94cex1b[_0xac46[83]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[84],function(_0x94cex2b){_0x94cex2b[_0xac46[85]]= _0xac46[86];_0x94cex24[_0xac46[87]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[88],function(_0x94cex2b){_0x94cex2b[_0xac46[85]]= _0xac46[89];_0x94cex24[_0xac46[90]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[91],function(_0x94cex2b){var _0x94cex16=getVariable(_0x94cex2b);switch(_0x94cex16[_0xac46[19]]){case _0xac46[93]:_0x94cex1e[_0xac46[92]](_0x94cex16);break;case _0xac46[95]:_0x94cex1d[_0xac46[94]](_0x94cex16);break;case _0xac46[99]:console[_0xac46[34]](_0xac46[96],_0x94cex2b);if(_0x94cex2b[_0xac46[97]]){_0x94cex26[_0xac46[98]](_0x94cex2b)};break;case _0xac46[101]:console[_0xac46[34]](_0xac46[100],_0x94cex2b);break;case _0xac46[103]:console[_0xac46[34]](_0xac46[102],_0x94cex2b);break;case _0xac46[106]:if(_0x94cex2b[_0xac46[97]]){_0x94cex27[_0xac46[105]]({uniqueid:_0x94cex2b[_0xac46[104]],routeId:_0x94cex2b[_0xac46[97]]})};break;default:break}});_0x94cex13[_0xac46[29]](_0xac46[107],function(_0x94cex2b){_0x94cex1f[_0xac46[108]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[109],function(_0x94cex2b){_0x94cex1f[_0xac46[110]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[111],function(_0x94cex2b){_0x94cex26[_0xac46[111]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[112],function(_0x94cex2b){if(_0x94cex2b[_0xac46[113]]=== _0xac46[114]){console[_0xac46[34]](_0xac46[115],_0x94cex2b);_0x94cex26[_0xac46[116]](_0x94cex2b)}});_0x94cex13[_0xac46[29]](_0xac46[117],function(_0x94cex2b){_0x94cex27[_0xac46[118]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[119],function(_0x94cex2b){_0x94cex27[_0xac46[120]](_0x94cex2b);_0x94cex1b[_0xac46[121]](_0x94cex2b)});_0x94cex13[_0xac46[29]](_0xac46[122],function(_0x94cex2b){console[_0xac46[34]](_0xac46[123],_0x94cex2b);_0x94cex26[_0xac46[124]](_0x94cex2b)});require(_0xac46[126])[_0xac46[125]](_0x94cex13)}
\ No newline at end of file
-'use strict';
-
-/*
- *
- * Service deprecated!
- * Please see action.js file in order to manage Login and Pause status.
- *
- */
-
-var moment = require('moment');
-
-var ReportMember = require('../../models').ReportMember;
-
-function Member() {
- console.log('Member Initialization...');
-}
-
-Member.prototype.inboundTalking = function(evt) {
- return createMember({
- channel: 'voice',
- membername: evt.membername,
- interface: evt.interface,
- type: 'TALKING',
- enterAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- data1: 'inbound',
- role: 'agent',
- internal: evt.connectedlinenum
- });
-}
-
-Member.prototype.inboundComplete = function(evt) {
- return updateMember({
- channel: 'voice',
- type: 'TALKING',
- membername: evt.membername,
- interface: evt.interface,
- exitAt: null
- });
-}
-
-Member.prototype.outboundTalking = function(evt) {
- if (evt.dialstring) { //dialstring is present only if outbound
- var dialString = evt.dialstring.split('/');
- if (evt.dialstatus === 'ANSWER' && evt.dialString.length > 1 && dialString[0] !== 'SIP') {
- return createMember({
- channel: 'voice',
- membername: evt.channel.split(/\/|-/)[1],
- interface: evt.destchannel.split('-')[0],
- type: 'TALKING',
- enterAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- data1: 'outbound',
- role: 'agent',
- internal: evt.accountcode,
- uniqueid: evt.destuniqueid
- });
- }
- }
-}
-
-Member.prototype.outboundComplete = function(evt) {
- return updateMember({
- uniqueid: evt.uniqueid
- });
-}
-
-function createMember(evt) {
- return ReportMember
- .create(evt)
- .then(function(agent) {
- console.log('[report] member talking created');
- })
- .catch(function(err) {
- console.error('[report] member ' + err);
- });
-}
-
-function updateMember(where) {
- return ReportMember
- .findOne({
- where: where
- })
- .then(function(member) {
- if (member) {
- return member.updateAttributes({
- exitAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- duration: moment.duration(moment() - moment(member.enterAt)).asSeconds()
- });
- }
- })
- // .then(function() {
- // console.log('[report] member outbound talking updated');
- // })
- .catch(function(err) {
- console.error('[report] member ' + err);
- });
-}
-
-module.exports = Member;
+var _0xf8bf=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x69\x6E\x62\x6F\x75\x6E\x64\x54\x61\x6C\x6B\x69\x6E\x67","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x76\x6F\x69\x63\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x54\x41\x4C\x4B\x49\x4E\x47","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x69\x6E\x62\x6F\x75\x6E\x64","\x61\x67\x65\x6E\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x75\x6D","\x69\x6E\x62\x6F\x75\x6E\x64\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x54\x61\x6C\x6B\x69\x6E\x67","\x64\x69\x61\x6C\x73\x74\x72\x69\x6E\x67","\x2F","\x73\x70\x6C\x69\x74","\x64\x69\x61\x6C\x73\x74\x61\x74\x75\x73","\x41\x4E\x53\x57\x45\x52","\x6C\x65\x6E\x67\x74\x68","\x64\x69\x61\x6C\x53\x74\x72\x69\x6E\x67","\x53\x49\x50","\x63\x68\x61\x6E\x6E\x65\x6C","\x2D","\x64\x65\x73\x74\x63\x68\x61\x6E\x6E\x65\x6C","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x64\x65\x73\x74\x75\x6E\x69\x71\x75\x65\x69\x64","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x6D\x65\x6D\x62\x65\x72\x20\x74\x61\x6C\x6B\x69\x6E\x67\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x61\x73\x53\x65\x63\x6F\x6E\x64\x73","\x65\x6E\x74\x65\x72\x41\x74","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf8bf[0];var moment=require(_0xf8bf[1]);var ReportMember=require(_0xf8bf[3])[_0xf8bf[2]];function Member(){console[_0xf8bf[5]](_0xf8bf[4])}Member[_0xf8bf[7]][_0xf8bf[6]]= function(_0x958ax4){return createMember({channel:_0xf8bf[8],membername:_0x958ax4[_0xf8bf[9]],interface:_0x958ax4[_0xf8bf[10]],type:_0xf8bf[11],enterAt:moment()[_0xf8bf[13]](_0xf8bf[12]),data1:_0xf8bf[14],role:_0xf8bf[15],internal:_0x958ax4[_0xf8bf[16]]})};Member[_0xf8bf[7]][_0xf8bf[17]]= function(_0x958ax4){return updateMember({channel:_0xf8bf[8],type:_0xf8bf[11],membername:_0x958ax4[_0xf8bf[9]],interface:_0x958ax4[_0xf8bf[10]],exitAt:null})};Member[_0xf8bf[7]][_0xf8bf[18]]= function(_0x958ax4){if(_0x958ax4[_0xf8bf[19]]){var _0x958ax5=_0x958ax4[_0xf8bf[19]][_0xf8bf[21]](_0xf8bf[20]);if(_0x958ax4[_0xf8bf[22]]=== _0xf8bf[23]&& _0x958ax4[_0xf8bf[25]][_0xf8bf[24]]> 1&& _0x958ax5[0]!== _0xf8bf[26]){return createMember({channel:_0xf8bf[8],membername:_0x958ax4[_0xf8bf[27]][_0xf8bf[21]](/\/|-/)[1],interface:_0x958ax4[_0xf8bf[29]][_0xf8bf[21]](_0xf8bf[28])[0],type:_0xf8bf[11],enterAt:moment()[_0xf8bf[13]](_0xf8bf[12]),data1:_0xf8bf[30],role:_0xf8bf[15],internal:_0x958ax4[_0xf8bf[31]],uniqueid:_0x958ax4[_0xf8bf[32]]})}}};Member[_0xf8bf[7]][_0xf8bf[33]]= function(_0x958ax4){return updateMember({uniqueid:_0x958ax4[_0xf8bf[34]]})};function createMember(_0x958ax4){return ReportMember[_0xf8bf[40]](_0x958ax4)[_0xf8bf[39]](function(_0x958ax8){console[_0xf8bf[5]](_0xf8bf[38])})[_0xf8bf[37]](function(_0x958ax7){console[_0xf8bf[36]](_0xf8bf[35]+ _0x958ax7)})}function updateMember(_0x958axa){return ReportMember[_0xf8bf[45]]({where:_0x958axa})[_0xf8bf[39]](function(_0x958axb){if(_0x958axb){return _0x958axb[_0xf8bf[44]]({exitAt:moment()[_0xf8bf[13]](_0xf8bf[12]),duration:moment[_0xf8bf[43]](moment()- moment(_0x958axb[_0xf8bf[42]]))[_0xf8bf[41]]()})}})[_0xf8bf[37]](function(_0x958ax7){console[_0xf8bf[36]](_0xf8bf[35]+ _0x958ax7)})}module[_0xf8bf[46]]= Member
\ No newline at end of file
-var NetwokModel = require('../../models').Network;
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-var config = require('../../config/environment');
-var _ = require('lodash');
-
-function Network(ami) {
- console.log('Network Initialization...');
- NetwokModel.afterCreate(function(doc) {
- networkRewrite(doc, ami);
- })
- NetwokModel.afterUpdate(function(doc) {
- networkRewrite(doc, ami);
- })
- NetwokModel.afterDelete(function(doc) {
- networkRewrite(doc, ami);
- })
-}
-
-function networkRewrite(doc, ami) {
- switch (doc.type) {
- case 'localnet':
- return NetwokModel
- .scope('localnet')
- .findAll()
- .then(function(localnets) {
- var localnetStrings = '';
- var localnetFile = 'sip_xcally_localnet.conf';
- localnets.forEach(function(localnet) {
- localnetStrings += util.format('localnet = %s\n', localnet.value);
- });
- fs.writeFile(path.join(config.asteriskConf, localnetFile), localnetStrings, {
- flags: 'w',
- mode: parseInt('0777', 8)
- }, function(err) {
- if (err) throw err;
- reload(ami);
- console.log("Localnet file saved!");
- });
- })
- .catch(function(err) {
- console.log('Error writing localnet:', err);
- });
- case 'externip':
- return NetwokModel
- .scope('externip')
- .findAll()
- .then(function(externips) {
- var externipStrings = '';
- var externipFile = 'sip_xcally_externip.conf';
- externips.forEach(function(externip) {
- externipStrings += util.format('externip = %s\n', externip.value);
- });
- fs.writeFile(path.join(config.asteriskConf, externipFile), externipStrings, {
- flags: 'w',
- mode: parseInt('0777', 8)
- }, function(err) {
- if (err) throw err;
- reload(ami);
- console.log("Externip file saved!");
- });
- })
- .catch(function(err) {
- console.log('Error writing externip:', err);
- });
- default:
- console.log('Type not recognized:', doc.type);
- }
-}
-
-function reload(ami) {
- ami.action({
- Action: 'Reload'
- }, function(err, res) {
- if (err) {
- console.error(err);
- } else {
- console.log(res);
- }
- });
-}
-
-module.exports = Network;
+var _0x64f7=["\x4E\x65\x74\x77\x6F\x72\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\x4E\x65\x74\x77\x6F\x72\x6B\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x45\x72\x72\x6F\x72\x20\x77\x72\x69\x74\x69\x6E\x67\x20\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x3A","\x63\x61\x74\x63\x68","","\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x2E\x63\x6F\x6E\x66","\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x20\x3D\x20\x25\x73\x0A","\x76\x61\x6C\x75\x65","\x66\x6F\x72\x6D\x61\x74","\x66\x6F\x72\x45\x61\x63\x68","\x61\x73\x74\x65\x72\x69\x73\x6B\x43\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x4C\x6F\x63\x61\x6C\x6E\x65\x74\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x6C\x6F\x63\x61\x6C\x6E\x65\x74","\x73\x63\x6F\x70\x65","\x45\x72\x72\x6F\x72\x20\x77\x72\x69\x74\x69\x6E\x67\x20\x65\x78\x74\x65\x72\x6E\x69\x70\x3A","\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x65\x78\x74\x65\x72\x6E\x69\x70\x2E\x63\x6F\x6E\x66","\x65\x78\x74\x65\x72\x6E\x69\x70\x20\x3D\x20\x25\x73\x0A","\x45\x78\x74\x65\x72\x6E\x69\x70\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x65\x78\x74\x65\x72\x6E\x69\x70","\x54\x79\x70\x65\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64\x3A","\x74\x79\x70\x65","\x52\x65\x6C\x6F\x61\x64","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];var NetwokModel=require(_0x64f7[1])[_0x64f7[0]];var fs=require(_0x64f7[2]);var util=require(_0x64f7[3]);var path=require(_0x64f7[4]);var config=require(_0x64f7[5]);var _=require(_0x64f7[6]);function Network(_0x8c20x8){console[_0x64f7[8]](_0x64f7[7]);NetwokModel[_0x64f7[9]](function(_0x8c20x9){networkRewrite(_0x8c20x9,_0x8c20x8)});NetwokModel[_0x64f7[10]](function(_0x8c20x9){networkRewrite(_0x8c20x9,_0x8c20x8)});NetwokModel[_0x64f7[11]](function(_0x8c20x9){networkRewrite(_0x8c20x9,_0x8c20x8)})}function networkRewrite(_0x8c20x9,_0x8c20x8){switch(_0x8c20x9[_0x64f7[36]]){case _0x64f7[28]:return NetwokModel[_0x64f7[29]](_0x64f7[28])[_0x64f7[27]]()[_0x64f7[26]](function(_0x8c20xc){var _0x8c20xd=_0x64f7[14];var _0x8c20xe=_0x64f7[15];_0x8c20xc[_0x64f7[19]](function(_0x8c20xf){_0x8c20xd+= util[_0x64f7[18]](_0x64f7[16],_0x8c20xf[_0x64f7[17]])});fs[_0x64f7[25]](path[_0x64f7[21]](config[_0x64f7[20]],_0x8c20xe),_0x8c20xd,{flags:_0x64f7[22],mode:parseInt(_0x64f7[23],8)},function(_0x8c20xb){if(_0x8c20xb){throw _0x8c20xb};reload(_0x8c20x8);console[_0x64f7[8]](_0x64f7[24])})})[_0x64f7[13]](function(_0x8c20xb){console[_0x64f7[8]](_0x64f7[12],_0x8c20xb)});case _0x64f7[34]:return NetwokModel[_0x64f7[29]](_0x64f7[34])[_0x64f7[27]]()[_0x64f7[26]](function(_0x8c20x10){var _0x8c20x11=_0x64f7[14];var _0x8c20x12=_0x64f7[31];_0x8c20x10[_0x64f7[19]](function(_0x8c20x13){_0x8c20x11+= util[_0x64f7[18]](_0x64f7[32],_0x8c20x13[_0x64f7[17]])});fs[_0x64f7[25]](path[_0x64f7[21]](config[_0x64f7[20]],_0x8c20x12),_0x8c20x11,{flags:_0x64f7[22],mode:parseInt(_0x64f7[23],8)},function(_0x8c20xb){if(_0x8c20xb){throw _0x8c20xb};reload(_0x8c20x8);console[_0x64f7[8]](_0x64f7[33])})})[_0x64f7[13]](function(_0x8c20xb){console[_0x64f7[8]](_0x64f7[30],_0x8c20xb)});default:console[_0x64f7[8]](_0x64f7[35],_0x8c20x9[_0x64f7[36]])}}function reload(_0x8c20x8){_0x8c20x8[_0x64f7[39]]({Action:_0x64f7[37]},function(_0x8c20xb,_0x8c20x15){if(_0x8c20xb){console[_0x64f7[38]](_0x8c20xb)}else {console[_0x64f7[8]](_0x8c20x15)}})}module[_0x64f7[40]]= Network
\ No newline at end of file
-var moment = require('moment');
-
-var ReportQueue = require('../../models').ReportQueue;
-
-function QueueCaller() {
- console.log('QueueCaller Initialization...');
-}
-
-QueueCaller.prototype.join = function(evt) {
- evt.queuecallerjoinAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return create(evt);
-}
-
-QueueCaller.prototype.leave = function(evt) {
- return findAndUpdate({
- uniqueid: evt.uniqueid,
- queuecallerleaveAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
-}
-
-QueueCaller.prototype.abandon = function(evt) {
- evt.queuecallerabandon = true;
- evt.queuecallerabandonAt = moment().format("YYYY-MM-DD HH:mm:ss");
- evt.queuecallerleaveAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return findAndUpdate(evt);
-}
-
-QueueCaller.prototype.complete = function(evt) {
- evt.queuecallercomplete = true;
- evt.queuecallercompleteAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return findAndUpdate(evt);
-}
-
-QueueCaller.prototype.exit = function(evt) {
- evt.queuecallerabandon = false;
- evt.queuecallerabandonAt = null;
-
- evt.queuecallerexit = true;
- evt.queuecallerexitAt = moment().format("YYYY-MM-DD HH:mm:ss");
- evt.queuecallerexitreason = evt.value.toLowerCase();
-
- return findAndUpdate(evt);
-}
-
-function create(evt) {
- return ReportQueue
- .create(evt)
- .then(function(queue) {
- console.log('[report] queue created');
- })
- .catch(function(err) {
- console.error('[report] queue ' + err);
- });
-}
-
-function findAndUpdate(evt) {
- return ReportQueue
- .update(evt, {
- where: {
- uniqueid: evt.uniqueid
- },
- individualHooks: true,
- raw: true
- })
- .then(function() {
- console.info('[queue_caller] queue_caller updated');
- })
- .catch(function(err) {
- console.error('[queue_caller] queue_caller error: ' + err);
- });
-}
-
-module.exports = QueueCaller;
+var _0xb521=["\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6A\x6F\x69\x6E","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x65\x61\x76\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x65\x78\x69\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x72\x65\x61\x73\x6F\x6E","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x76\x61\x6C\x75\x65","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x71\x75\x65\x75\x65\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x72\x65\x70\x6F\x72\x74\x5D\x20\x71\x75\x65\x75\x65\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x5B\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x5D\x20\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x5D\x20\x71\x75\x65\x75\x65\x5F\x63\x61\x6C\x6C\x65\x72\x20\x75\x70\x64\x61\x74\x65\x64","\x69\x6E\x66\x6F","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0xb521[0]);var ReportQueue=require(_0xb521[2])[_0xb521[1]];function QueueCaller(){console[_0xb521[4]](_0xb521[3])}QueueCaller[_0xb521[6]][_0xb521[5]]= function(_0x9e6dx4){_0x9e6dx4[_0xb521[7]]= moment()[_0xb521[9]](_0xb521[8]);return create(_0x9e6dx4)};QueueCaller[_0xb521[6]][_0xb521[10]]= function(_0x9e6dx4){return findAndUpdate({uniqueid:_0x9e6dx4[_0xb521[11]],queuecallerleaveAt:moment()[_0xb521[9]](_0xb521[8])})};QueueCaller[_0xb521[6]][_0xb521[12]]= function(_0x9e6dx4){_0x9e6dx4[_0xb521[13]]= true;_0x9e6dx4[_0xb521[14]]= moment()[_0xb521[9]](_0xb521[8]);_0x9e6dx4[_0xb521[15]]= moment()[_0xb521[9]](_0xb521[8]);return findAndUpdate(_0x9e6dx4)};QueueCaller[_0xb521[6]][_0xb521[16]]= function(_0x9e6dx4){_0x9e6dx4[_0xb521[17]]= true;_0x9e6dx4[_0xb521[18]]= moment()[_0xb521[9]](_0xb521[8]);return findAndUpdate(_0x9e6dx4)};QueueCaller[_0xb521[6]][_0xb521[19]]= function(_0x9e6dx4){_0x9e6dx4[_0xb521[13]]= false;_0x9e6dx4[_0xb521[14]]= null;_0x9e6dx4[_0xb521[20]]= true;_0x9e6dx4[_0xb521[21]]= moment()[_0xb521[9]](_0xb521[8]);_0x9e6dx4[_0xb521[22]]= _0x9e6dx4[_0xb521[24]][_0xb521[23]]();return findAndUpdate(_0x9e6dx4)};function create(_0x9e6dx4){return ReportQueue[_0xb521[30]](_0x9e6dx4)[_0xb521[29]](function(_0x9e6dx7){console[_0xb521[4]](_0xb521[28])})[_0xb521[27]](function(_0x9e6dx6){console[_0xb521[26]](_0xb521[25]+ _0x9e6dx6)})}function findAndUpdate(_0x9e6dx4){return ReportQueue[_0xb521[34]](_0x9e6dx4,{where:{uniqueid:_0x9e6dx4[_0xb521[11]]},individualHooks:true,raw:true})[_0xb521[29]](function(){console[_0xb521[33]](_0xb521[32])})[_0xb521[27]](function(_0x9e6dx6){console[_0xb521[26]](_0xb521[31]+ _0x9e6dx6)})}module[_0xb521[35]]= QueueCaller
\ No newline at end of file
-var moment = require('moment');
-var UserHasVoiceQueue = require('../../models').UserHasVoiceQueue;
-
-function QueueMember() {
- console.log('QueueMember Initialization...');
-}
-
-QueueMember.prototype.added = function(evt) {
- evt.logged = true;
- evt.loggedAt = moment().format("YYYY-MM-DD HH:mm:ss");
- return findAndUpdate(evt);
-}
-
-QueueMember.prototype.pause = function(evt) {
- evt.pausedAt = (parseInt(evt.paused, 10)) ? moment().format("YYYY-MM-DD HH:mm:ss") : null;
- return findAndUpdate(evt);
-}
-
-QueueMember.prototype.penalty = function(evt) {
- return findAndUpdate(evt);
-}
-
-QueueMember.prototype.removed = function(evt) {
- evt.logged = false;
- evt.loggedAt = null;
- return findAndUpdate(evt);
-}
-
-QueueMember.prototype.ringinuse = function(evt) {
- return findAndUpdate(evt);
-}
-
-QueueMember.prototype.status = function(evt) {
- return findAndUpdate(evt);
-}
-
-function findAndUpdate(evt, options) {
- return UserHasVoiceQueue
- .update(evt, {
- where: {
- queue: evt.queue,
- membername: evt.membername
- },
- individualHooks: true,
- raw: true
- })
- .then(function() {
- console.log('[queuemember] update member');
- })
- .catch(function(err) {
- console.error('[queuemember] update member error: ' + err);
- });
-}
-
-module.exports = QueueMember;
+var _0x190d=["\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x51\x75\x65\x75\x65\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x64\x64\x65\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x63\x61\x6C\x6C\x73\x74\x61\x6B\x65\x6E","\x6C\x6F\x67\x67\x65\x64","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x70\x61\x75\x73\x65","\x70\x61\x75\x73\x65\x64\x41\x74","\x70\x61\x75\x73\x65\x64","\x70\x65\x6E\x61\x6C\x74\x79","\x72\x65\x6D\x6F\x76\x65\x64","\x72\x69\x6E\x67\x69\x6E\x75\x73\x65","\x73\x74\x61\x74\x75\x73","\x5B\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x6D\x65\x6D\x62\x65\x72\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x71\x75\x65\x75\x65\x6D\x65\x6D\x62\x65\x72\x5D\x20\x75\x70\x64\x61\x74\x65\x20\x6D\x65\x6D\x62\x65\x72","\x74\x68\x65\x6E","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x190d[0]);var UserHasVoiceQueue=require(_0x190d[2])[_0x190d[1]];function QueueMember(){console[_0x190d[4]](_0x190d[3])}QueueMember[_0x190d[6]][_0x190d[5]]= function(_0x9747x4){delete _0x9747x4[_0x190d[7]];delete _0x9747x4[_0x190d[8]];_0x9747x4[_0x190d[9]]= true;_0x9747x4[_0x190d[10]]= moment()[_0x190d[12]](_0x190d[11]);return findAndUpdate(_0x9747x4)};QueueMember[_0x190d[6]][_0x190d[13]]= function(_0x9747x4){_0x9747x4[_0x190d[14]]= parseInt(_0x9747x4[_0x190d[15]],10)?moment()[_0x190d[12]](_0x190d[11]):null;return findAndUpdate(_0x9747x4)};QueueMember[_0x190d[6]][_0x190d[16]]= function(_0x9747x4){return findAndUpdate(_0x9747x4)};QueueMember[_0x190d[6]][_0x190d[17]]= function(_0x9747x4){return findAndUpdate(_0x9747x4)};QueueMember[_0x190d[6]][_0x190d[18]]= function(_0x9747x4){return findAndUpdate(_0x9747x4)};QueueMember[_0x190d[6]][_0x190d[19]]= function(_0x9747x4){return findAndUpdate(_0x9747x4)};function findAndUpdate(_0x9747x4,_0x9747x6){return UserHasVoiceQueue[_0x190d[27]](_0x9747x4,{where:{queue:_0x9747x4[_0x190d[25]],membername:_0x9747x4[_0x190d[26]]},individualHooks:true,raw:true})[_0x190d[24]](function(){console[_0x190d[4]](_0x190d[23])})[_0x190d[22]](function(_0x9747x7){console[_0x190d[21]](_0x190d[20]+ _0x9747x7)})}module[_0x190d[28]]= QueueMember
\ No newline at end of file
-var VoiceRecording = require('../../models').VoiceRecording;
-
-function Recording() {
- console.log('Recording Initialization...');
-}
-
-Recording.prototype.create = function(evt) {
- create(evt);
-}
-
-Recording.prototype.updateQueue = function(evt) {
- updateQueue(evt);
-}
-
-Recording.prototype.updateType = function(evt) {
- updateType(evt);
-}
-
-function create(evt) {
- evt.type = 'unknown';
-
- return VoiceRecording
- .create(evt)
- .catch(function(err) {
- console.error('Recording create error:', err);
- });
-}
-
-function updateQueue(evt) {
- return VoiceRecording
- .update({
- queue: evt.queue,
- membername: evt.membername
- }, {
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .catch(function(err) {
- console.error('Recording queue update error:', err);
- });
-}
-
-function updateType(evt) {
- return VoiceRecording
- .update({
- type: evt.type,
- }, {
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .catch(function(err) {
- console.error('Recording queue update error:', err);
- });
-}
-
-module.exports = Recording;
+var _0x72d3=["\x56\x6F\x69\x63\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x75\x70\x64\x61\x74\x65\x51\x75\x65\x75\x65","\x75\x70\x64\x61\x74\x65\x54\x79\x70\x65","\x74\x79\x70\x65","\x75\x6E\x6B\x6E\x6F\x77\x6E","\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x63\x72\x65\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x71\x75\x65\x75\x65\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A","\x71\x75\x65\x75\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var VoiceRecording=require(_0x72d3[1])[_0x72d3[0]];function Recording(){console[_0x72d3[3]](_0x72d3[2])}Recording[_0x72d3[5]][_0x72d3[4]]= function(_0x7c56x3){create(_0x7c56x3)};Recording[_0x72d3[5]][_0x72d3[6]]= function(_0x7c56x3){updateQueue(_0x7c56x3)};Recording[_0x72d3[5]][_0x72d3[7]]= function(_0x7c56x3){updateType(_0x7c56x3)};function create(_0x7c56x3){_0x7c56x3[_0x72d3[8]]= _0x72d3[9];return VoiceRecording[_0x72d3[4]](_0x7c56x3)[_0x72d3[12]](function(_0x7c56x5){console[_0x72d3[11]](_0x72d3[10],_0x7c56x5)})}function updateQueue(_0x7c56x3){return VoiceRecording[_0x72d3[17]]({queue:_0x7c56x3[_0x72d3[14]],membername:_0x7c56x3[_0x72d3[15]]},{where:{uniqueid:_0x7c56x3[_0x72d3[16]]}})[_0x72d3[12]](function(_0x7c56x5){console[_0x72d3[11]](_0x72d3[13],_0x7c56x5)})}function updateType(_0x7c56x3){return VoiceRecording[_0x72d3[17]]({type:_0x7c56x3[_0x72d3[8]]},{where:{uniqueid:_0x7c56x3[_0x72d3[16]]}})[_0x72d3[12]](function(_0x7c56x5){console[_0x72d3[11]](_0x72d3[13],_0x7c56x5)})}module[_0x72d3[18]]= Recording
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-function Socket(socket, ami) {
- console.log('New socket connection');
-
- var ReportAgent = require('../../models').ReportAgent;
-
- return {
- test: function () {
- console.log('test');
- }
- }
-}
-
-module.exports = Socket;
+var _0xc423=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4E\x65\x77\x20\x73\x6F\x63\x6B\x65\x74\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x6C\x6F\x67","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x74\x65\x73\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc423[0];function Socket(_0x62d7x2,_0x62d7x3){console[_0xc423[2]](_0xc423[1]);var _0x62d7x4=require(_0xc423[4])[_0xc423[3]];return {test:function(){console[_0xc423[2]](_0xc423[5])}}}module[_0xc423[6]]= Socket
\ No newline at end of file
-var moment = require('moment');
-var ReportCallTransfer = require('../../models').ReportCallTransfer;
-
-function Transfer() {
- console.log('Transfer Initialization...');
-}
-
-Transfer.prototype.createBlind = function(evt) {
- return ReportCallTransfer
- .create(evt)
- .then(function(member) {
- console.log('[blind tranfer] created');
- })
- .catch(function(err) {
- console.error('[blind tranfer] created error: ' + err);
- });
-}
-
-Transfer.prototype.createAttended = function(evt) {
- return ReportCallTransfer
- .create({
- result: evt.result,
- transfererchannel: evt.origtransfererchannel,
- transferercalleridnum: evt.origtransferercalleridnum,
- transferercalleridname: evt.origtransferercalleridname,
- transfererconnectedlinenum: evt.secondtransfererconnectedlinenum,
- transfererconnectedlinename: evt.secondtransfererconnectedlinename,
- transfereraccountcode: evt.origtransfereraccountcode,
- transferercontext: evt.secondtransferercontext,
- transfererexten: evt.secondtransfererexten,
- transfererlinkedid: evt.origtransfererlinkedid,
- transfereechannel: evt.transfertargetchannel,
- transfereecalleridnum: evt.transfertargetcalleridnum,
- transfereecalleridname: evt.transfertargetcalleridname,
- transfereeconnectedlinenum: evt.transfertargetconnectedlinenum,
- transfereeconnectedlinename: evt.transfertargetconnectedlinename,
- transfereeaccountcode: evt.transfertargetaccountcode,
- transfereecontext: evt.transfertargetcontext,
- transfereeexten: evt.transfertargetexten,
- transfereelinkedid: evt.transfertargetlinkedid,
- isexternal: evt.isexternal,
- context: evt.origtransferercontext,
- extension: evt.origtransfererexten,
- type: 'attended'
- })
- .then(function() {
- console.log('[attended tranfer] created');
- })
- .catch(function(err) {
- console.error('[attended tranfer] created error: ' + err);
- });
-}
-
-module.exports = Transfer;
+var _0x46da=["\x6D\x6F\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x54\x72\x61\x6E\x73\x66\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x72\x61\x6E\x73\x66\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x63\x72\x65\x61\x74\x65\x42\x6C\x69\x6E\x64","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x5B\x62\x6C\x69\x6E\x64\x20\x74\x72\x61\x6E\x66\x65\x72\x5D\x20\x63\x72\x65\x61\x74\x65\x64\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x62\x6C\x69\x6E\x64\x20\x74\x72\x61\x6E\x66\x65\x72\x5D\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x41\x74\x74\x65\x6E\x64\x65\x64","\x5B\x61\x74\x74\x65\x6E\x64\x65\x64\x20\x74\x72\x61\x6E\x66\x65\x72\x5D\x20\x63\x72\x65\x61\x74\x65\x64\x20\x65\x72\x72\x6F\x72\x3A\x20","\x5B\x61\x74\x74\x65\x6E\x64\x65\x64\x20\x74\x72\x61\x6E\x66\x65\x72\x5D\x20\x63\x72\x65\x61\x74\x65\x64","\x72\x65\x73\x75\x6C\x74","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x68\x61\x6E\x6E\x65\x6C","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x73\x65\x63\x6F\x6E\x64\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x75\x6D","\x73\x65\x63\x6F\x6E\x64\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x61\x6D\x65","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x73\x65\x63\x6F\x6E\x64\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x6F\x6E\x74\x65\x78\x74","\x73\x65\x63\x6F\x6E\x64\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x65\x78\x74\x65\x6E","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x6C\x69\x6E\x6B\x65\x64\x69\x64","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x63\x68\x61\x6E\x6E\x65\x6C","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x75\x6D","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x61\x6D\x65","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x63\x6F\x6E\x74\x65\x78\x74","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x65\x78\x74\x65\x6E","\x74\x72\x61\x6E\x73\x66\x65\x72\x74\x61\x72\x67\x65\x74\x6C\x69\x6E\x6B\x65\x64\x69\x64","\x69\x73\x65\x78\x74\x65\x72\x6E\x61\x6C","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x63\x6F\x6E\x74\x65\x78\x74","\x6F\x72\x69\x67\x74\x72\x61\x6E\x73\x66\x65\x72\x65\x72\x65\x78\x74\x65\x6E","\x61\x74\x74\x65\x6E\x64\x65\x64","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x46da[0]);var ReportCallTransfer=require(_0x46da[2])[_0x46da[1]];function Transfer(){console[_0x46da[4]](_0x46da[3])}Transfer[_0x46da[6]][_0x46da[5]]= function(_0x7553x4){return ReportCallTransfer[_0x46da[12]](_0x7553x4)[_0x46da[11]](function(_0x7553x6){console[_0x46da[4]](_0x46da[10])})[_0x46da[9]](function(_0x7553x5){console[_0x46da[8]](_0x46da[7]+ _0x7553x5)})};Transfer[_0x46da[6]][_0x46da[13]]= function(_0x7553x4){return ReportCallTransfer[_0x46da[12]]({result:_0x7553x4[_0x46da[16]],transfererchannel:_0x7553x4[_0x46da[17]],transferercalleridnum:_0x7553x4[_0x46da[18]],transferercalleridname:_0x7553x4[_0x46da[19]],transfererconnectedlinenum:_0x7553x4[_0x46da[20]],transfererconnectedlinename:_0x7553x4[_0x46da[21]],transfereraccountcode:_0x7553x4[_0x46da[22]],transferercontext:_0x7553x4[_0x46da[23]],transfererexten:_0x7553x4[_0x46da[24]],transfererlinkedid:_0x7553x4[_0x46da[25]],transfereechannel:_0x7553x4[_0x46da[26]],transfereecalleridnum:_0x7553x4[_0x46da[27]],transfereecalleridname:_0x7553x4[_0x46da[28]],transfereeconnectedlinenum:_0x7553x4[_0x46da[29]],transfereeconnectedlinename:_0x7553x4[_0x46da[30]],transfereeaccountcode:_0x7553x4[_0x46da[31]],transfereecontext:_0x7553x4[_0x46da[32]],transfereeexten:_0x7553x4[_0x46da[33]],transfereelinkedid:_0x7553x4[_0x46da[34]],isexternal:_0x7553x4[_0x46da[35]],context:_0x7553x4[_0x46da[36]],extension:_0x7553x4[_0x46da[37]],type:_0x46da[38]})[_0x46da[11]](function(){console[_0x46da[4]](_0x46da[15])})[_0x46da[9]](function(_0x7553x5){console[_0x46da[8]](_0x46da[14]+ _0x7553x5)})};module[_0x46da[39]]= Transfer
\ No newline at end of file
-var TrunkModel = require('../../models').Trunk;
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-var config = require('../../config/environment');
-var _ = require('lodash');
-
-function Trunk(ami) {
- console.log('Trunk Initialization...');
- TrunkModel.afterCreate(function(doc) {
- if (doc.active) {
- trunksRewrite(doc, ami, false);
- }
- })
- TrunkModel.afterUpdate(function(doc) {
- if (!doc.changed('status') && !doc.changed('peerstatus') && !doc.changed('updatedAt')) {
- trunksRewrite(doc, ami, false);
- }
- })
- TrunkModel.afterDelete(function(doc) {
- trunksRewrite(doc, ami, true);
- })
-}
-
-Trunk.prototype.statusUpdate = function(evt) {
- return TrunkModel
- .update({
- status: evt.status
- }, {
- where: {
- defaultuser: evt.username,
- host: evt.domain,
- active: true,
- $and: [{
- registry: {
- $ne: ''
- }
- }, {
- registry: {
- $ne: null
- }
- }]
- },
- individualHooks: true
- })
- .catch(function(err) {
- console.log('Trunk status update error:', err);
- });
-}
-
-Trunk.prototype.peerstatusUpdate = function(evt) {
- return TrunkModel
- .update({
- peerstatus: evt.peerstatus
- }, {
- where: {
- name: evt.peer.split('/')[1],
- },
- individualHooks: true
- })
- .catch(function(err) {
- console.log('Trunk peerstatus update error:', err);
- });
-}
-
-function trunksRewrite(doc, ami, deleteTrunk) {
- var trunksFile = '';
- var trunksRegistersFile = '';
- var registryString = 'register => %s\n';
- if (!deleteTrunk && doc.active) {
- var newTrunk = _.clone(doc.dataValues);
- delete newTrunk.createdAt;
- delete newTrunk.updatedAt;
- delete newTrunk.active;
- delete newTrunk.status;
- trunksFile += util.format('[%s]\n', newTrunk.name);
- if (newTrunk.otherFields) {
- trunksFile += util.format('%s\n', newTrunk.otherFields);
- delete newTrunk.otherFields;
- }
- for (var key in newTrunk) {
- if (newTrunk[key]) {
- switch (key) {
- case 'allow':
- var codecs = newTrunk[key].split(';');
- codecs.forEach(function(elem) {
- trunksFile += util.format('%s=%s\n', key, elem);
- });
- break;
- default:
- trunksFile += util.format('%s=%s\n', key, newTrunk[key]);
- }
- }
- }
- if (newTrunk.registry) {
- trunksRegistersFile += util.format(registryString, newTrunk.registry);
- }
- }
- return TrunkModel
- .findAll({
- where: {
- name: {
- $ne: doc.name,
- },
- active: true
- }
- })
- .then(function(trunks) {
- var oldTrunks = _.map(trunks, 'dataValues');
- oldTrunks.forEach(function(element) {
- delete element.createdAt;
- delete element.updatedAt;
- delete element.active;
- delete element.status;
- trunksFile += util.format('[%s]\n', element.name);
- if (element.otherFields) {
- trunksFile += util.format('%s\n', element.otherFields);
- delete element.otherFields;
- }
- for (var key in element) {
- if (element[key]) {
- switch (key) {
- case 'allow':
- var codecs = element[key].split(';');
- codecs.forEach(function(elem) {
- trunksFile += util.format('%s=%s\n', key, elem);
- })
- break;
- default:
- trunksFile += util.format('%s=%s\n', key, element[key]);
- }
- }
- }
- if (element.registry) {
- trunksRegistersFile += util.format(registryString, element.registry);
- }
- });
- fs.writeFile(path.join(config.asteriskConf, 'sip_xcally_trunks.conf'), trunksFile, {
- flags: 'w',
- mode: parseInt('0777', 8)
- }, function(err) {
- if (err) throw err;
- console.log("Trunks file saved!");
- fs.writeFile(path.join(config.asteriskConf, 'sip_xcally_registers.conf'), trunksRegistersFile, {
- flags: 'w',
- mode: parseInt('0777', 8)
- }, function(err) {
- if (err) throw err;
- reload(ami);
- console.log("Trunks register file saved!");
- });
- });
-
-
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function reload(ami) {
- ami.action({
- Action: 'Reload'
- }, function(err, res) {
- if (err) {
- console.error(err);
- } else {
- console.log(res);
- }
- });
-}
-
-
-module.exports = Trunk;
+var _0x880d=["\x54\x72\x75\x6E\x6B","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x72\x75\x6E\x6B\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x63\x74\x69\x76\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x70\x65\x65\x72\x73\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65\x64\x41\x74","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x73\x74\x61\x74\x75\x73\x55\x70\x64\x61\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x54\x72\x75\x6E\x6B\x20\x73\x74\x61\x74\x75\x73\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A","\x63\x61\x74\x63\x68","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x64\x6F\x6D\x61\x69\x6E","","\x75\x70\x64\x61\x74\x65","\x70\x65\x65\x72\x73\x74\x61\x74\x75\x73\x55\x70\x64\x61\x74\x65","\x54\x72\x75\x6E\x6B\x20\x70\x65\x65\x72\x73\x74\x61\x74\x75\x73\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A","\x2F","\x73\x70\x6C\x69\x74","\x70\x65\x65\x72","\x72\x65\x67\x69\x73\x74\x65\x72\x20\x3D\x3E\x20\x25\x73\x0A","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x63\x6C\x6F\x6E\x65","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x5B\x25\x73\x5D\x0A","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x6F\x74\x68\x65\x72\x46\x69\x65\x6C\x64\x73","\x25\x73\x0A","\x3B","\x25\x73\x3D\x25\x73\x0A","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C\x6F\x77","\x72\x65\x67\x69\x73\x74\x72\x79","\x6D\x61\x70","\x61\x73\x74\x65\x72\x69\x73\x6B\x43\x6F\x6E\x66","\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x54\x72\x75\x6E\x6B\x73\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x73\x69\x70\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x72\x65\x67\x69\x73\x74\x65\x72\x73\x2E\x63\x6F\x6E\x66","\x54\x72\x75\x6E\x6B\x73\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x52\x65\x6C\x6F\x61\x64","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73"];var TrunkModel=require(_0x880d[1])[_0x880d[0]];var fs=require(_0x880d[2]);var util=require(_0x880d[3]);var path=require(_0x880d[4]);var config=require(_0x880d[5]);var _=require(_0x880d[6]);function Trunk(_0xaad6x8){console[_0x880d[8]](_0x880d[7]);TrunkModel[_0x880d[10]](function(_0xaad6x9){if(_0xaad6x9[_0x880d[9]]){trunksRewrite(_0xaad6x9,_0xaad6x8,false)}});TrunkModel[_0x880d[15]](function(_0xaad6x9){if(!_0xaad6x9[_0x880d[12]](_0x880d[11])&& !_0xaad6x9[_0x880d[12]](_0x880d[13])&& !_0xaad6x9[_0x880d[12]](_0x880d[14])){trunksRewrite(_0xaad6x9,_0xaad6x8,false)}});TrunkModel[_0x880d[16]](function(_0xaad6x9){trunksRewrite(_0xaad6x9,_0xaad6x8,true)})}Trunk[_0x880d[18]][_0x880d[17]]= function(_0xaad6xa){return TrunkModel[_0x880d[24]]({status:_0xaad6xa[_0x880d[11]]},{where:{defaultuser:_0xaad6xa[_0x880d[21]],host:_0xaad6xa[_0x880d[22]],active:true,$and:[{registry:{$ne:_0x880d[23]}},{registry:{$ne:null}}]},individualHooks:true})[_0x880d[20]](function(_0xaad6xb){console[_0x880d[8]](_0x880d[19],_0xaad6xb)})};Trunk[_0x880d[18]][_0x880d[25]]= function(_0xaad6xa){return TrunkModel[_0x880d[24]]({peerstatus:_0xaad6xa[_0x880d[13]]},{where:{name:_0xaad6xa[_0x880d[29]][_0x880d[28]](_0x880d[27])[1]},individualHooks:true})[_0x880d[20]](function(_0xaad6xb){console[_0x880d[8]](_0x880d[26],_0xaad6xb)})};function trunksRewrite(_0xaad6x9,_0xaad6x8,_0xaad6xd){var _0xaad6xe=_0x880d[23];var _0xaad6xf=_0x880d[23];var _0xaad6x10=_0x880d[30];if(!_0xaad6xd&& _0xaad6x9[_0x880d[9]]){var _0xaad6x11=_[_0x880d[32]](_0xaad6x9[_0x880d[31]]);delete _0xaad6x11[_0x880d[33]];delete _0xaad6x11[_0x880d[14]];delete _0xaad6x11[_0x880d[9]];delete _0xaad6x11[_0x880d[11]];_0xaad6xe+= util[_0x880d[36]](_0x880d[34],_0xaad6x11[_0x880d[35]]);if(_0xaad6x11[_0x880d[37]]){_0xaad6xe+= util[_0x880d[36]](_0x880d[38],_0xaad6x11[_0x880d[37]]);delete _0xaad6x11[_0x880d[37]]};for(var _0xaad6x12 in _0xaad6x11){if(_0xaad6x11[_0xaad6x12]){switch(_0xaad6x12){case _0x880d[42]:var _0xaad6x13=_0xaad6x11[_0xaad6x12][_0x880d[28]](_0x880d[39]);_0xaad6x13[_0x880d[41]](function(_0xaad6x14){_0xaad6xe+= util[_0x880d[36]](_0x880d[40],_0xaad6x12,_0xaad6x14)});break;default:_0xaad6xe+= util[_0x880d[36]](_0x880d[40],_0xaad6x12,_0xaad6x11[_0xaad6x12])}}};if(_0xaad6x11[_0x880d[43]]){_0xaad6xf+= util[_0x880d[36]](_0xaad6x10,_0xaad6x11[_0x880d[43]])}};return TrunkModel[_0x880d[55]]({where:{name:{$ne:_0xaad6x9[_0x880d[35]]},active:true}})[_0x880d[54]](function(_0xaad6x15){var _0xaad6x16=_[_0x880d[44]](_0xaad6x15,_0x880d[31]);_0xaad6x16[_0x880d[41]](function(_0xaad6x17){delete _0xaad6x17[_0x880d[33]];delete _0xaad6x17[_0x880d[14]];delete _0xaad6x17[_0x880d[9]];delete _0xaad6x17[_0x880d[11]];_0xaad6xe+= util[_0x880d[36]](_0x880d[34],_0xaad6x17[_0x880d[35]]);if(_0xaad6x17[_0x880d[37]]){_0xaad6xe+= util[_0x880d[36]](_0x880d[38],_0xaad6x17[_0x880d[37]]);delete _0xaad6x17[_0x880d[37]]};for(var _0xaad6x12 in _0xaad6x17){if(_0xaad6x17[_0xaad6x12]){switch(_0xaad6x12){case _0x880d[42]:var _0xaad6x13=_0xaad6x17[_0xaad6x12][_0x880d[28]](_0x880d[39]);_0xaad6x13[_0x880d[41]](function(_0xaad6x14){_0xaad6xe+= util[_0x880d[36]](_0x880d[40],_0xaad6x12,_0xaad6x14)});break;default:_0xaad6xe+= util[_0x880d[36]](_0x880d[40],_0xaad6x12,_0xaad6x17[_0xaad6x12])}}};if(_0xaad6x17[_0x880d[43]]){_0xaad6xf+= util[_0x880d[36]](_0xaad6x10,_0xaad6x17[_0x880d[43]])}});fs[_0x880d[53]](path[_0x880d[47]](config[_0x880d[45]],_0x880d[46]),_0xaad6xe,{flags:_0x880d[48],mode:parseInt(_0x880d[49],8)},function(_0xaad6xb){if(_0xaad6xb){throw _0xaad6xb};console[_0x880d[8]](_0x880d[50]);fs[_0x880d[53]](path[_0x880d[47]](config[_0x880d[45]],_0x880d[51]),_0xaad6xf,{flags:_0x880d[48],mode:parseInt(_0x880d[49],8)},function(_0xaad6xb){if(_0xaad6xb){throw _0xaad6xb};reload(_0xaad6x8);console[_0x880d[8]](_0x880d[52])})})})[_0x880d[20]](function(_0xaad6xb){console[_0x880d[8]](_0xaad6xb)})}function reload(_0xaad6x8){_0xaad6x8[_0x880d[58]]({Action:_0x880d[56]},function(_0xaad6xb,_0xaad6x19){if(_0xaad6xb){console[_0x880d[57]](_0xaad6xb)}else {console[_0x880d[8]](_0xaad6x19)}})}module[_0x880d[59]]= Trunk
\ No newline at end of file
-var moment = require('moment');
-var UserModel = require('../../models').User;
-
-function User() {
- console.log('QueueMember Initialization...');
-}
-
-User.prototype.stateUpdate = function(evt) {
- var obj = {
- status: evt.state,
- statusAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }
- var condition = {
- name: evt.device.replace('SIP/', '')
- };
- return findAndUpdate(obj, condition);
-}
-
-User.prototype.queueStatusUpdate = function(status, evt) {
- var obj = {
- queueStatus: status,
- queueStatusAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- lastQueue: evt.queue
- };
- var condition = (evt.event === 'QueueCallerAbandon') ? {
- lastQueue: evt.queue
- } : {
- name: evt.membername
- };
- findAndUpdate(obj, condition);
- if (status === 'connect') {
- findAndUpdate({
- queueStatus: 'complete',
- queueStatusAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }, {
- lastQueue: evt.queue,
- name: {
- $ne: evt.membername
- }
- })
- }
-}
-
-
-function findAndUpdate(obj, condition) {
- // console.log(obj);
- // console.log('userupdate', condition);
- // console.log('status', obj.status);
- return UserModel
- .update(obj, {
- where: condition,
- individualHooks: true
- })
- .then(function(member) {
- console.log('[user] status update');
- })
- .catch(function(err) {
- console.error('[user] status update error: ' + err);
- });
-}
-
-module.exports = User;
+var _0x199c=["\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x51\x75\x65\x75\x65\x4D\x65\x6D\x62\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x73\x74\x61\x74\x65\x55\x70\x64\x61\x74\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x73\x74\x61\x74\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x53\x49\x50\x2F","","\x72\x65\x70\x6C\x61\x63\x65","\x64\x65\x76\x69\x63\x65","\x71\x75\x65\x75\x65\x53\x74\x61\x74\x75\x73\x55\x70\x64\x61\x74\x65","\x71\x75\x65\x75\x65","\x65\x76\x65\x6E\x74","\x51\x75\x65\x75\x65\x43\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x63\x6F\x6E\x6E\x65\x63\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x5B\x75\x73\x65\x72\x5D\x20\x73\x74\x61\x74\x75\x73\x20\x75\x70\x64\x61\x74\x65\x20\x65\x72\x72\x6F\x72\x3A\x20","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x5B\x75\x73\x65\x72\x5D\x20\x73\x74\x61\x74\x75\x73\x20\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var moment=require(_0x199c[0]);var UserModel=require(_0x199c[2])[_0x199c[1]];function User(){console[_0x199c[4]](_0x199c[3])}User[_0x199c[6]][_0x199c[5]]= function(_0x98b4x4){var _0x98b4x5={status:_0x98b4x4[_0x199c[7]],statusAt:moment()[_0x199c[9]](_0x199c[8])};var _0x98b4x6={name:_0x98b4x4[_0x199c[13]][_0x199c[12]](_0x199c[10],_0x199c[11])};return findAndUpdate(_0x98b4x5,_0x98b4x6)};User[_0x199c[6]][_0x199c[14]]= function(_0x98b4x7,_0x98b4x4){var _0x98b4x5={queueStatus:_0x98b4x7,queueStatusAt:moment()[_0x199c[9]](_0x199c[8]),lastQueue:_0x98b4x4[_0x199c[15]]};var _0x98b4x6=(_0x98b4x4[_0x199c[16]]=== _0x199c[17])?{lastQueue:_0x98b4x4[_0x199c[15]]}:{name:_0x98b4x4[_0x199c[18]]};findAndUpdate(_0x98b4x5,_0x98b4x6);if(_0x98b4x7=== _0x199c[19]){findAndUpdate({queueStatus:_0x199c[20],queueStatusAt:moment()[_0x199c[9]](_0x199c[8])},{lastQueue:_0x98b4x4[_0x199c[15]],name:{$ne:_0x98b4x4[_0x199c[18]]}})}};function findAndUpdate(_0x98b4x5,_0x98b4x6){return UserModel[_0x199c[26]](_0x98b4x5,{where:_0x98b4x6,individualHooks:true})[_0x199c[25]](function(_0x98b4xa){console[_0x199c[4]](_0x199c[24])})[_0x199c[23]](function(_0x98b4x9){console[_0x199c[22]](_0x199c[21]+ _0x98b4x9)})}module[_0x199c[27]]= User
\ No newline at end of file
-var VoiceContext = require('../../models').VoiceContext;
-var VoiceExtension = require('../../models').VoiceExtension;
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-var config = require('../../config/environment');
-
-function Context(ami) {
- VoiceContext.beforeUpdate(function(updatedContext) {
- if (updatedContext.changed('name')) {
- throw new Error("You can't modify a context name");
- }
- if (updatedContext.defaultEntry) {
- throw new Error("You can't modify a default context");
- }
- });
-
- VoiceContext.beforeDelete(function(context) {
- if (context.defaultEntry) {
- throw new Error("You can't delete a default context");
- }
- });
- VoiceContext.afterCreate(function(doc) {
- rewriteContexts(doc, ami, false);
- createHangup(doc);
- })
-
- VoiceContext.afterDelete(function(doc) {
- rewriteContexts(doc, ami, true);
- })
-}
-
-function rewriteContexts(doc, ami, deleteContext) {
- var contextValues = '';
- if (!deleteContext) {
- contextValues = util.format('[%s]\ninclude => %s-custom\nswitch => Realtime\n', doc.name, doc.name);
- }
- VoiceContext
- .findAll({
- where: {
- id: {
- $ne: doc.id
- }
- }
- })
- .then(function(contexts) {
- contexts.forEach(function(element) {
- contextValues += util.format('[%s]\ninclude => %s-custom\nswitch => Realtime\n', element.name, element.name);
- });
- fs.writeFile(path.join(config.asteriskConf, 'extensions_xcally_contexts.conf'), contextValues, {
- flags: 'w',
- mode: parseInt('0777', 8)
- }, function(err) {
- if (err) throw err;
- console.log("Contexts file saved!");
- ami.action({
- Action: 'Reload',
- }, function(err, res) {
- if (err) {
- console.error(err);
- } else {
- console.log(res);
- }
- });
- });
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-function createHangup(doc) {
- console.log('create context hangup', doc.name);
- var data = [{
- context: doc.name,
- exten: 'h',
- priority: '1',
- VoiceContextId: doc.id,
- type: 'system',
- app: 'Hangup'
- }, {
- context: doc.name,
- exten: 'failed',
- priority: '1',
- VoiceContextId: doc.id,
- type: 'system',
- app: 'Hangup'
- }];
-
- return VoiceExtension
- .bulkCreate(data)
- .then(function(res) {
- console.log('hangup extension created');
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-module.exports = Context;
+var _0xb041=["\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x6E\x61\x6D\x65","\x64\x65\x66\x61\x75\x6C\x74\x45\x6E\x74\x72\x79","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x64\x65\x6C\x65\x74\x65\x20\x61\x20\x64\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74","\x62\x65\x66\x6F\x72\x65\x44\x65\x6C\x65\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","","\x5B\x25\x73\x5D\x0A\x69\x6E\x63\x6C\x75\x64\x65\x20\x3D\x3E\x20\x25\x73\x2D\x63\x75\x73\x74\x6F\x6D\x0A\x73\x77\x69\x74\x63\x68\x20\x3D\x3E\x20\x52\x65\x61\x6C\x74\x69\x6D\x65\x0A","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x73\x74\x65\x72\x69\x73\x6B\x43\x6F\x6E\x66","\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73\x5F\x78\x63\x61\x6C\x6C\x79\x5F\x63\x6F\x6E\x74\x65\x78\x74\x73\x2E\x63\x6F\x6E\x66","\x6A\x6F\x69\x6E","\x77","\x30\x37\x37\x37","\x43\x6F\x6E\x74\x65\x78\x74\x73\x20\x66\x69\x6C\x65\x20\x73\x61\x76\x65\x64\x21","\x52\x65\x6C\x6F\x61\x64","\x65\x72\x72\x6F\x72","\x61\x63\x74\x69\x6F\x6E","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x63\x72\x65\x61\x74\x65\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x68\x61\x6E\x67\x75\x70","\x68","\x31","\x73\x79\x73\x74\x65\x6D","\x48\x61\x6E\x67\x75\x70","\x66\x61\x69\x6C\x65\x64","\x68\x61\x6E\x67\x75\x70\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x63\x72\x65\x61\x74\x65\x64","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var VoiceContext=require(_0xb041[1])[_0xb041[0]];var VoiceExtension=require(_0xb041[1])[_0xb041[2]];var fs=require(_0xb041[3]);var util=require(_0xb041[4]);var path=require(_0xb041[5]);var config=require(_0xb041[6]);function Context(_0x732ex8){VoiceContext[_0xb041[12]](function(_0x732ex9){if(_0x732ex9[_0xb041[8]](_0xb041[7])){throw new Error(_0xb041[9])};if(_0x732ex9[_0xb041[10]]){throw new Error(_0xb041[11])}});VoiceContext[_0xb041[14]](function(_0x732exa){if(_0x732exa[_0xb041[10]]){throw new Error(_0xb041[13])}});VoiceContext[_0xb041[15]](function(_0x732exb){rewriteContexts(_0x732exb,_0x732ex8,false);createHangup(_0x732exb)});VoiceContext[_0xb041[16]](function(_0x732exb){rewriteContexts(_0x732exb,_0x732ex8,true)})}function rewriteContexts(_0x732exb,_0x732ex8,_0x732exd){var _0x732exe=_0xb041[17];if(!_0x732exd){_0x732exe= util[_0xb041[19]](_0xb041[18],_0x732exb[_0xb041[7]],_0x732exb[_0xb041[7]])};VoiceContext[_0xb041[35]]({where:{id:{$ne:_0x732exb[_0xb041[34]]}}})[_0xb041[33]](function(_0x732ex10){_0x732ex10[_0xb041[22]](function(_0x732ex11){_0x732exe+= util[_0xb041[19]](_0xb041[18],_0x732ex11[_0xb041[7]],_0x732ex11[_0xb041[7]])});fs[_0xb041[32]](path[_0xb041[25]](config[_0xb041[23]],_0xb041[24]),_0x732exe,{flags:_0xb041[26],mode:parseInt(_0xb041[27],8)},function(_0x732exf){if(_0x732exf){throw _0x732exf};console[_0xb041[20]](_0xb041[28]);_0x732ex8[_0xb041[31]]({Action:_0xb041[29]},function(_0x732exf,_0x732ex12){if(_0x732exf){console[_0xb041[30]](_0x732exf)}else {console[_0xb041[20]](_0x732ex12)}})})})[_0xb041[21]](function(_0x732exf){console[_0xb041[20]](_0x732exf)})}function createHangup(_0x732exb){console[_0xb041[20]](_0xb041[36],_0x732exb[_0xb041[7]]);var _0x732ex14=[{context:_0x732exb[_0xb041[7]],exten:_0xb041[37],priority:_0xb041[38],VoiceContextId:_0x732exb[_0xb041[34]],type:_0xb041[39],app:_0xb041[40]},{context:_0x732exb[_0xb041[7]],exten:_0xb041[41],priority:_0xb041[38],VoiceContextId:_0x732exb[_0xb041[34]],type:_0xb041[39],app:_0xb041[40]}];return VoiceExtension[_0xb041[43]](_0x732ex14)[_0xb041[33]](function(_0x732ex12){console[_0xb041[20]](_0xb041[42])})[_0xb041[21]](function(_0x732exf){console[_0xb041[20]](_0x732exf)})}module[_0xb041[44]]= Context
\ No newline at end of file
+var _0x95ec=[]
\ No newline at end of file
-'use strict';
-var util = require('util');
-var Process = require('./process');
-
-module.exports = function(ami) {
-
- console.log('Autodialer Starting...');
- var proc = new Process();
-
- proc.getProcesses(function(res, err) {
- if(err)
- {
- console.log(err);
- return;
- }
- // console.log(res.Contacts);
- // if (util.isArray(res.Contacts))
- // {
- // var contact = res.Contacts;
- // console.log(contact);
- // }
- // else
- // {
- // var contacts = res.Contacts;
- // if (contacts.length)
- // {
- // contacts.forEach(function(contact) {
- // console.log(contact);
- // })
- // }
- // }
-
-
-
- });
-
-}
-
-// var _ = require('lodash');
-//
-// var agents = ['SIP/massimiliano.bungaro', 'SIP/daniele.cinti'];
-// var channels = [];
-// var peers = [];
-// var contacts = ['600', '600', '600'];
-//
-// var ami;
-//
-// function coreshow() {
-// channels = [];
-// if (contacts.length > 0) {
-// ami.action({
-// action: 'CoreShowChannels'
-// }, function(err, res) {
-// if (err) {
-// console.log(err);
-// }
-// console.log(res);
-// });
-// }
-//
-// }
-//
-// function peerstatus() {
-// peers = [];
-// if (contacts.length > 0) {
-// ami.action({
-// action: 'SIPpeerstatus'
-// }, function(err, res) {
-// if (err) {
-// console.log(err);
-// }
-// console.log(res);
-// })
-// }
-// }
-//
-// module.exports = function(asterisk_manager) {
-//
-// ami = asterisk_manager;
-//
-// peerstatus();
-//
-// ami.on('peerstatus', function(evt) {
-// if (evt.peerstatus == 'Reachable') {
-// peers.push(evt.peer);
-// }
-// });
-//
-// ami.on('coreshowchannel', function(evt) {
-// channels.push(evt.channel.split('-')[0]);
-// });
-//
-// ami.on('sippeerstatuscomplete', function(evt) {
-// coreshow();
-// });
-//
-// ami.on('coreshowchannelscomplete', function(evt) {
-// console.log('Agents registered ', peers);
-// console.log('Agents in call ', channels);
-//
-//
-// var agent = _.find(agents, function(agent) {
-// return !_.includes(channels, agent);
-// });
-//
-// if (agent) {
-// if (_.includes(peers, agent)) {
-// ami.action({
-// action: 'originate',
-// channel: agent,
-// exten: contacts.pop(),
-// context: 'demo',
-// priority: 1,
-// async: true
-// }, function(err, res) {
-// if (err) {
-// console.log(err);
-// }
-// console.log(res);
-// });
-// }
-// }
-// peerstatus();
-// });
-// };
+var _0xbfb2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x2E\x2F\x70\x72\x6F\x63\x65\x73\x73","\x65\x78\x70\x6F\x72\x74\x73","\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x20\x53\x74\x61\x72\x74\x69\x6E\x67\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x50\x72\x6F\x63\x65\x73\x73\x65\x73"];_0xbfb2[0];var util=require(_0xbfb2[1]);var Process=require(_0xbfb2[2]);module[_0xbfb2[3]]= function(_0xf7c8x3){console[_0xbfb2[5]](_0xbfb2[4]);var _0xf7c8x4= new Process();_0xf7c8x4[_0xbfb2[6]](function(_0xf7c8x5,_0xf7c8x6){if(_0xf7c8x6){console[_0xbfb2[5]](_0xf7c8x6);return}})}
\ No newline at end of file
-var AutodialerProcess = require('../../models').AutodialerProcess;
-var Contact = require('../../models').Contact;
-
-function Process() {
- console.log('Process Initialization...');
-}
-
-Process.prototype.getProcesses = function(callback) {
-
- AutodialerProcess
- .findAll({
- where: {
- enable: true
- },
- include: [Contact]
- })
- .then(function(res) {
- callback(res);
- })
- .catch(function(err) {
- callback(null, err);
- });
-
-}
-
-module.exports = Process;
+var _0x7fd0=["\x41\x75\x74\x6F\x64\x69\x61\x6C\x65\x72\x50\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74","\x50\x72\x6F\x63\x65\x73\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x50\x72\x6F\x63\x65\x73\x73\x65\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];var AutodialerProcess=require(_0x7fd0[1])[_0x7fd0[0]];var Contact=require(_0x7fd0[1])[_0x7fd0[2]];function Process(){console[_0x7fd0[4]](_0x7fd0[3])}Process[_0x7fd0[6]][_0x7fd0[5]]= function(_0x60d5x4){AutodialerProcess[_0x7fd0[9]]({where:{enable:true},include:[Contact]})[_0x7fd0[8]](function(_0x60d5x6){_0x60d5x4(_0x60d5x6)})[_0x7fd0[7]](function(_0x60d5x5){_0x60d5x4(null,_0x60d5x5)})};module[_0x7fd0[10]]= Process
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-
-var Automation = require('../../models').Automation;
-var ChatRoom = require('../../models').ChatRoom;
-var automationTimeout;
-var activeChatAutomations = {};
-
-function executeAutomation(id) {
- console.log('Executing Chat Automation ', id);
- var _chatAutomation;
- return Automation
- .scope('all')
- .findById(id)
- .then(function(chatAutomation) {
- _chatAutomation = chatAutomation;
-
- var $or = [];
- var $and = [];
- var query = {
- where: {}
- };
-
- chatAutomation.All.forEach(function(condition) {
- $and.push(getCondition(condition.dataValues));
- });
- chatAutomation.Any.forEach(function(condition) {
- $or.push(getCondition(condition.dataValues));
- });
-
- if ($and.length) {
- query.where.$and = $and;
- }
- if ($or.length) {
- query.where.$or = $or;
- }
-
- return ChatRoom.findAll(query);
- })
- .then(function(chats) {
- chats.forEach(function(chat) {
- _chatAutomation.Actions.forEach(function(action) {
- switch (action.action) {
- case 'status':
- setStatus(chat.id, action.data1);
- break;
- default:
- }
- });
- });
- })
- .catch(function(err) {
- console.log('Chat Automation exec error', err);
- });
-}
-
-function setStatus(ticketId, newStatus) {
- return ChatRoom.update({
- status: newStatus,
- }, {
- where: {
- id: ticketId
- }
- })
- .catch(function(err) {
- console.log('Automatic chat status error', err);
- });
-}
-
-function getCondition(condition) {
- var result = {};
- switch (condition.field) {
- case 'status':
- switch (condition.operator) {
- case 'equals':
- result[condition.field] = condition.value;
- break;
- case 'not_equals':
- result[condition.field] = {
- $ne: condition.value
- };
- break;
- default:
- }
- break;
- case 'createdAt':
- var compareDate = moment().subtract(parseInt(condition.value, 10), 'hours').format("YYYY-MM-DD HH:mm:ss");
- switch (condition.operator) {
- case 'greater':
- result[condition.field] = {
- lt: compareDate
- };
- break;
- case 'greater_or_equal':
- result[condition.field] = {
- $lte: compareDate
- };
- break;
- case 'less':
- result[condition.field] = {
- $gt: compareDate
- };
- break;
- case 'less_or_equal':
- result[condition.field] = {
- $gte: compareDate
- };
- break;
- default:
- }
- break;
- default:
- }
- return result;
-}
-
-function createInterval(chatAutomation) {
- console.log('Chat Automation ', chatAutomation.id, ' set with timeout ', chatAutomation.timeout * 60 * 1000);
- activeChatAutomations['interval' + chatAutomation.id] = setInterval(function() {
- executeAutomation(chatAutomation.id);
- }, chatAutomation.timeout * 60 * 1000);
-}
-
-module.exports = function() {
-
- Automation.afterCreate(function(doc, options) {
- console.log('Chat Automation ', doc.id, ' created, the status is ', doc.status);
- if (doc.status && doc.channel === 'chat') {
- createInterval(doc);
- }
- });
-
- Automation.afterUpdate(function(doc, options) {
- console.log('Chat Automation ', doc.id, ' updated, the status is ', doc.status);
- if (activeChatAutomations['interval' + doc.id]) {
- console.log('Chat automation unset ', doc.id);
- clearInterval(activeChatAutomations['interval' + doc.id]);
- delete activeChatAutomations['interval' + doc.id];
- }
- if (doc.status && doc.channel === 'chat') {
- createInterval(doc);
- }
- });
-
- Automation.afterDelete(function(doc, options) {
- console.log('Chat Automation ', doc.id, ' deleted');
- if (activeChatAutomations['interval' + doc.id]) {
- console.log('Chat automation unset ', doc.id);
- clearInterval(activeChatAutomations['interval' + doc.id]);
- delete activeChatAutomations['interval' + doc.id];
- }
- });
-
- return Automation
- .scope('all')
- .findAll({
- where: {
- status: true,
- channel: 'chat'
- },
- attributes: ['id', 'timeout']
- })
- .then(function(chatAutomations) {
-
- chatAutomations.forEach(function(chatAutomation) {
- createInterval(chatAutomation);
- });
- })
- .catch(function(err) {
- console.log('Chat Automation init error', err);
- });
-};
+var _0xa722=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x43\x68\x61\x74\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x6C\x6F\x67","\x43\x68\x61\x74\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x65\x78\x65\x63\x20\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x41\x6C\x6C","\x41\x6E\x79","\x6C\x65\x6E\x67\x74\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x24\x6F\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x41\x75\x74\x6F\x6D\x61\x74\x69\x63\x20\x63\x68\x61\x74\x20\x73\x74\x61\x74\x75\x73\x20\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x43\x68\x61\x74\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x20\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74\x20","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x20\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x63\x68\x61\x6E\x6E\x65\x6C","\x63\x68\x61\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x43\x68\x61\x74\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x43\x68\x61\x74\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x20\x65\x72\x72\x6F\x72"];_0xa722[0];var _=require(_0xa722[1]);var moment=require(_0xa722[2]);var Automation=require(_0xa722[4])[_0xa722[3]];var ChatRoom=require(_0xa722[4])[_0xa722[5]];var automationTimeout;var activeChatAutomations={};function executeAutomation(_0x54e9x8){console[_0xa722[7]](_0xa722[6],_0x54e9x8);var _0x54e9x9;return Automation[_0xa722[28]](_0xa722[27])[_0xa722[26]](_0x54e9x8)[_0xa722[16]](function(_0x54e9xe){_0x54e9x9= _0x54e9xe;var _0x54e9xf=[];var _0x54e9x10=[];var _0x54e9x11={where:{}};_0x54e9xe[_0xa722[19]][_0xa722[14]](function(_0x54e9x12){_0x54e9x10[_0xa722[18]](getCondition(_0x54e9x12[_0xa722[17]]))});_0x54e9xe[_0xa722[20]][_0xa722[14]](function(_0x54e9x12){_0x54e9xf[_0xa722[18]](getCondition(_0x54e9x12[_0xa722[17]]))});if(_0x54e9x10[_0xa722[21]]){_0x54e9x11[_0xa722[23]][_0xa722[22]]= _0x54e9x10};if(_0x54e9xf[_0xa722[21]]){_0x54e9x11[_0xa722[23]][_0xa722[24]]= _0x54e9xf};return ChatRoom[_0xa722[25]](_0x54e9x11)})[_0xa722[16]](function(_0x54e9xb){_0x54e9xb[_0xa722[14]](function(_0x54e9xc){_0x54e9x9[_0xa722[15]][_0xa722[14]](function(_0x54e9xd){switch(_0x54e9xd[_0xa722[13]]){case _0xa722[12]:setStatus(_0x54e9xc[_0xa722[10]],_0x54e9xd[_0xa722[11]]);break;default:}})})})[_0xa722[9]](function(_0x54e9xa){console[_0xa722[7]](_0xa722[8],_0x54e9xa)})}function setStatus(_0x54e9x14,_0x54e9x15){return ChatRoom[_0xa722[30]]({status:_0x54e9x15},{where:{id:_0x54e9x14}})[_0xa722[9]](function(_0x54e9xa){console[_0xa722[7]](_0xa722[29],_0x54e9xa)})}function getCondition(_0x54e9x12){var _0x54e9x17={};switch(_0x54e9x12[_0xa722[31]]){case _0xa722[12]:switch(_0x54e9x12[_0xa722[35]]){case _0xa722[33]:_0x54e9x17[_0x54e9x12[_0xa722[31]]]= _0x54e9x12[_0xa722[32]];break;case _0xa722[34]:_0x54e9x17[_0x54e9x12[_0xa722[31]]]= {$ne:_0x54e9x12[_0xa722[32]]};break;default:};break;case _0xa722[44]:var _0x54e9x18=moment()[_0xa722[39]](parseInt(_0x54e9x12[_0xa722[32]],10),_0xa722[38])[_0xa722[37]](_0xa722[36]);switch(_0x54e9x12[_0xa722[35]]){case _0xa722[40]:_0x54e9x17[_0x54e9x12[_0xa722[31]]]= {lt:_0x54e9x18};break;case _0xa722[41]:_0x54e9x17[_0x54e9x12[_0xa722[31]]]= {$lte:_0x54e9x18};break;case _0xa722[42]:_0x54e9x17[_0x54e9x12[_0xa722[31]]]= {$gt:_0x54e9x18};break;case _0xa722[43]:_0x54e9x17[_0x54e9x12[_0xa722[31]]]= {$gte:_0x54e9x18};break;default:};break;default:};return _0x54e9x17}function createInterval(_0x54e9xe){console[_0xa722[7]](_0xa722[45],_0x54e9xe[_0xa722[10]],_0xa722[46],_0x54e9xe[_0xa722[47]]* 60* 1000);activeChatAutomations[_0xa722[48]+ _0x54e9xe[_0xa722[10]]]= setInterval(function(){executeAutomation(_0x54e9xe[_0xa722[10]])},_0x54e9xe[_0xa722[47]]* 60* 1000)}module[_0xa722[49]]= function(){Automation[_0xa722[53]](function(_0x54e9x1a,_0x54e9x1b){console[_0xa722[7]](_0xa722[45],_0x54e9x1a[_0xa722[10]],_0xa722[50],_0x54e9x1a[_0xa722[12]]);if(_0x54e9x1a[_0xa722[12]]&& _0x54e9x1a[_0xa722[51]]=== _0xa722[52]){createInterval(_0x54e9x1a)}});Automation[_0xa722[56]](function(_0x54e9x1a,_0x54e9x1b){console[_0xa722[7]](_0xa722[45],_0x54e9x1a[_0xa722[10]],_0xa722[54],_0x54e9x1a[_0xa722[12]]);if(activeChatAutomations[_0xa722[48]+ _0x54e9x1a[_0xa722[10]]]){console[_0xa722[7]](_0xa722[55],_0x54e9x1a[_0xa722[10]]);clearInterval(activeChatAutomations[_0xa722[48]+ _0x54e9x1a[_0xa722[10]]]);delete activeChatAutomations[_0xa722[48]+ _0x54e9x1a[_0xa722[10]]]};if(_0x54e9x1a[_0xa722[12]]&& _0x54e9x1a[_0xa722[51]]=== _0xa722[52]){createInterval(_0x54e9x1a)}});Automation[_0xa722[58]](function(_0x54e9x1a,_0x54e9x1b){console[_0xa722[7]](_0xa722[45],_0x54e9x1a[_0xa722[10]],_0xa722[57]);if(activeChatAutomations[_0xa722[48]+ _0x54e9x1a[_0xa722[10]]]){console[_0xa722[7]](_0xa722[55],_0x54e9x1a[_0xa722[10]]);clearInterval(activeChatAutomations[_0xa722[48]+ _0x54e9x1a[_0xa722[10]]]);delete activeChatAutomations[_0xa722[48]+ _0x54e9x1a[_0xa722[10]]]}});return Automation[_0xa722[28]](_0xa722[27])[_0xa722[25]]({where:{status:true,channel:_0xa722[52]},attributes:[_0xa722[10],_0xa722[47]]})[_0xa722[16]](function(_0x54e9x1c){_0x54e9x1c[_0xa722[14]](function(_0x54e9xe){createInterval(_0x54e9xe)})})[_0xa722[9]](function(_0x54e9xa){console[_0xa722[7]](_0xa722[59],_0x54e9xa)})}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var config = require('../environment');
-var moment = require('moment');
-// var stringifyObject = require('stringify-object');
-
-var sequelize = require('../../models').sequelize;
-var Automation = require('../../models').Automation;
-var FaxRoom = require('../../models').FaxRoom;
-var automationTimeout;
-var activeFaxAutomations = {};
-
-function executeAutomation(id) {
- console.log('Executing Mail Automation ', id);
- var _faxAutomation;
- return Automation
- .scope('all')
- .findById(id)
- .then(function(faxAutomation) {
- _faxAutomation = faxAutomation;
-
- var $or = [];
- var $and = [];
- var query = {
- where: {}
- };
-
- faxAutomation.All.forEach(function(condition) {
- $and.push(getCondition(condition.dataValues));
- });
- faxAutomation.Any.forEach(function(condition) {
- $or.push(getCondition(condition.dataValues));
- });
-
- if ($and.length) {
- query.where.$and = $and;
- }
- if ($or.length) {
- query.where.$or = $or;
- }
-
- return FaxRoom
- .findAll(query);
- })
- .then(function(faxes) {
- faxes.forEach(function(fax) {
- _faxAutomation.Actions.forEach(function(action) {
- switch (action.action) {
- case 'status':
- setStatus(fax.id, action.data1);
- break;
- default:
- }
- });
- });
- })
- .catch(function(err) {
- console.log('Fax Automation exec error', err);
- });
-}
-
-function setStatus(ticketId, newStatus) {
- return FaxRoom.update({
- status: newStatus,
- }, {
- where: {
- id: ticketId
- }
- })
- .catch(function(err) {
- console.log('Automatic mail status error', err);
- });
-}
-
-function getCondition(condition) {
- var result = {};
- switch (condition.field) {
- case 'status':
- switch (condition.operator) {
- case 'equals':
- result[condition.field] = condition.value;
- break;
- case 'not_equals':
- result[condition.field] = {
- $ne: condition.value
- };
- break;
- default:
- }
- break;
- case 'createdAt':
- var compareDate = moment().subtract(parseInt(condition.value, 10), 'hours').format("YYYY-MM-DD HH:mm:ss");
- switch (condition.operator) {
- case 'greater':
- result[condition.field] = {
- lt: compareDate
- };
- break;
- case 'greater_or_equal':
- result[condition.field] = {
- $lte: compareDate
- };
- break;
- case 'less':
- result[condition.field] = {
- $gt: compareDate
- };
- break;
- case 'less_or_equal':
- result[condition.field] = {
- $gte: compareDate
- };
- break;
- default:
- }
- break;
- default:
- }
- return result;
-}
-
-function createInterval(faxAutomation) {
- console.log('Fax Automation ', faxAutomation.id, ' set with timeout ', faxAutomation.timeout * 60 * 1000);
- activeFaxAutomations['interval' + faxAutomation.id] = setInterval(function() {
- executeAutomation(faxAutomation.id);
- }, faxAutomation.timeout * 60 * 1000);
-}
-
-module.exports = function() {
-
- Automation.afterCreate(function(doc, options) {
- console.log('Fax Automation ', doc.id, ' created, the status is ', doc.status);
- if (doc.status && doc.channel === 'fax') {
- createInterval(doc);
- }
- });
-
- Automation.afterUpdate(function(doc, options) {
- console.log('Fax Automation ', doc.id, ' updated, the status is ', doc.status);
- if (activeFaxAutomations['interval' + doc.id]) {
- console.log('Fax automation unset ', doc.id);
- clearInterval(activeFaxAutomations['interval' + doc.id]);
- delete activeFaxAutomations['interval' + doc.id];
- }
- if (doc.status && doc.channel === 'fax') {
- createInterval(doc);
- }
- });
-
- Automation.afterDelete(function(doc, options) {
- console.log('Fax Automation ', doc.id, ' deleted');
- if (activeFaxAutomations['interval' + doc.id]) {
- console.log('Fax automation unset ', doc.id);
- clearInterval(activeFaxAutomations['interval' + doc.id]);
- delete activeFaxAutomations['interval' + doc.id];
- }
- });
-
- return Automation
- .scope('all')
- .findAll({
- where: {
- status: true,
- channel: 'fax'
- },
- attributes: ['id', 'timeout']
- })
- .then(function(faxAutomations) {
-
- faxAutomations.forEach(function(faxAutomation) {
- createInterval(faxAutomation);
- });
- })
- .catch(function(err) {
- console.log('Fax Automation init error', err);
- });
-};
+var _0xd418=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x46\x61\x78\x52\x6F\x6F\x6D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x6C\x6F\x67","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x65\x78\x65\x63\x20\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x41\x6C\x6C","\x41\x6E\x79","\x6C\x65\x6E\x67\x74\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x24\x6F\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x41\x75\x74\x6F\x6D\x61\x74\x69\x63\x20\x6D\x61\x69\x6C\x20\x73\x74\x61\x74\x75\x73\x20\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x20\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74\x20","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x20\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x63\x68\x61\x6E\x6E\x65\x6C","\x66\x61\x78","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x46\x61\x78\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x20\x65\x72\x72\x6F\x72"];_0xd418[0];var _=require(_0xd418[1]);var config=require(_0xd418[2]);var moment=require(_0xd418[3]);var sequelize=require(_0xd418[5])[_0xd418[4]];var Automation=require(_0xd418[5])[_0xd418[6]];var FaxRoom=require(_0xd418[5])[_0xd418[7]];var automationTimeout;var activeFaxAutomations={};function executeAutomation(_0xde8fxa){console[_0xd418[9]](_0xd418[8],_0xde8fxa);var _0xde8fxb;return Automation[_0xd418[30]](_0xd418[29])[_0xd418[28]](_0xde8fxa)[_0xd418[18]](function(_0xde8fx10){_0xde8fxb= _0xde8fx10;var _0xde8fx11=[];var _0xde8fx12=[];var _0xde8fx13={where:{}};_0xde8fx10[_0xd418[21]][_0xd418[16]](function(_0xde8fx14){_0xde8fx12[_0xd418[20]](getCondition(_0xde8fx14[_0xd418[19]]))});_0xde8fx10[_0xd418[22]][_0xd418[16]](function(_0xde8fx14){_0xde8fx11[_0xd418[20]](getCondition(_0xde8fx14[_0xd418[19]]))});if(_0xde8fx12[_0xd418[23]]){_0xde8fx13[_0xd418[25]][_0xd418[24]]= _0xde8fx12};if(_0xde8fx11[_0xd418[23]]){_0xde8fx13[_0xd418[25]][_0xd418[26]]= _0xde8fx11};return FaxRoom[_0xd418[27]](_0xde8fx13)})[_0xd418[18]](function(_0xde8fxd){_0xde8fxd[_0xd418[16]](function(_0xde8fxe){_0xde8fxb[_0xd418[17]][_0xd418[16]](function(_0xde8fxf){switch(_0xde8fxf[_0xd418[15]]){case _0xd418[14]:setStatus(_0xde8fxe[_0xd418[12]],_0xde8fxf[_0xd418[13]]);break;default:}})})})[_0xd418[11]](function(_0xde8fxc){console[_0xd418[9]](_0xd418[10],_0xde8fxc)})}function setStatus(_0xde8fx16,_0xde8fx17){return FaxRoom[_0xd418[32]]({status:_0xde8fx17},{where:{id:_0xde8fx16}})[_0xd418[11]](function(_0xde8fxc){console[_0xd418[9]](_0xd418[31],_0xde8fxc)})}function getCondition(_0xde8fx14){var _0xde8fx19={};switch(_0xde8fx14[_0xd418[33]]){case _0xd418[14]:switch(_0xde8fx14[_0xd418[37]]){case _0xd418[35]:_0xde8fx19[_0xde8fx14[_0xd418[33]]]= _0xde8fx14[_0xd418[34]];break;case _0xd418[36]:_0xde8fx19[_0xde8fx14[_0xd418[33]]]= {$ne:_0xde8fx14[_0xd418[34]]};break;default:};break;case _0xd418[46]:var _0xde8fx1a=moment()[_0xd418[41]](parseInt(_0xde8fx14[_0xd418[34]],10),_0xd418[40])[_0xd418[39]](_0xd418[38]);switch(_0xde8fx14[_0xd418[37]]){case _0xd418[42]:_0xde8fx19[_0xde8fx14[_0xd418[33]]]= {lt:_0xde8fx1a};break;case _0xd418[43]:_0xde8fx19[_0xde8fx14[_0xd418[33]]]= {$lte:_0xde8fx1a};break;case _0xd418[44]:_0xde8fx19[_0xde8fx14[_0xd418[33]]]= {$gt:_0xde8fx1a};break;case _0xd418[45]:_0xde8fx19[_0xde8fx14[_0xd418[33]]]= {$gte:_0xde8fx1a};break;default:};break;default:};return _0xde8fx19}function createInterval(_0xde8fx10){console[_0xd418[9]](_0xd418[47],_0xde8fx10[_0xd418[12]],_0xd418[48],_0xde8fx10[_0xd418[49]]* 60* 1000);activeFaxAutomations[_0xd418[50]+ _0xde8fx10[_0xd418[12]]]= setInterval(function(){executeAutomation(_0xde8fx10[_0xd418[12]])},_0xde8fx10[_0xd418[49]]* 60* 1000)}module[_0xd418[51]]= function(){Automation[_0xd418[55]](function(_0xde8fx1c,_0xde8fx1d){console[_0xd418[9]](_0xd418[47],_0xde8fx1c[_0xd418[12]],_0xd418[52],_0xde8fx1c[_0xd418[14]]);if(_0xde8fx1c[_0xd418[14]]&& _0xde8fx1c[_0xd418[53]]=== _0xd418[54]){createInterval(_0xde8fx1c)}});Automation[_0xd418[58]](function(_0xde8fx1c,_0xde8fx1d){console[_0xd418[9]](_0xd418[47],_0xde8fx1c[_0xd418[12]],_0xd418[56],_0xde8fx1c[_0xd418[14]]);if(activeFaxAutomations[_0xd418[50]+ _0xde8fx1c[_0xd418[12]]]){console[_0xd418[9]](_0xd418[57],_0xde8fx1c[_0xd418[12]]);clearInterval(activeFaxAutomations[_0xd418[50]+ _0xde8fx1c[_0xd418[12]]]);delete activeFaxAutomations[_0xd418[50]+ _0xde8fx1c[_0xd418[12]]]};if(_0xde8fx1c[_0xd418[14]]&& _0xde8fx1c[_0xd418[53]]=== _0xd418[54]){createInterval(_0xde8fx1c)}});Automation[_0xd418[60]](function(_0xde8fx1c,_0xde8fx1d){console[_0xd418[9]](_0xd418[47],_0xde8fx1c[_0xd418[12]],_0xd418[59]);if(activeFaxAutomations[_0xd418[50]+ _0xde8fx1c[_0xd418[12]]]){console[_0xd418[9]](_0xd418[57],_0xde8fx1c[_0xd418[12]]);clearInterval(activeFaxAutomations[_0xd418[50]+ _0xde8fx1c[_0xd418[12]]]);delete activeFaxAutomations[_0xd418[50]+ _0xde8fx1c[_0xd418[12]]]}});return Automation[_0xd418[30]](_0xd418[29])[_0xd418[27]]({where:{status:true,channel:_0xd418[54]},attributes:[_0xd418[12],_0xd418[49]]})[_0xd418[18]](function(_0xde8fx1e){_0xde8fx1e[_0xd418[16]](function(_0xde8fx10){createInterval(_0xde8fx10)})})[_0xd418[11]](function(_0xde8fxc){console[_0xd418[9]](_0xd418[61],_0xde8fxc)})}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var config = require('../environment');
-var moment = require('moment');
-// var stringifyObject = require('stringify-object');
-
-var sequelize = require('../../models').sequelize;
-var Automation = require('../../models').Automation;
-var MailRoom = require('../../models').MailRoom;
-var activeMailAutomations = {};
-
-function executeAutomation(id) {
- console.log('Executing Mail Automation ', id);
- var _mailAutomation;
- return Automation
- .scope('all')
- .findById(id)
- .then(function(mailAutomation) {
- _mailAutomation = mailAutomation;
-
- var $or = [];
- var $and = [];
- var query = {
- where: {}
- };
-
- mailAutomation.All.forEach(function(condition) {
- $and.push(getCondition(condition.dataValues));
- });
- mailAutomation.Any.forEach(function(condition) {
- $or.push(getCondition(condition.dataValues));
- });
-
- if ($and.length) {
- query.where.$and = $and;
- }
- if ($or.length) {
- query.where.$or = $or;
- }
-
- return MailRoom
- .findAll(query);
- })
- .then(function(mails) {
- mails.forEach(function(mail) {
- _mailAutomation.Actions.forEach(function(action) {
- switch (action.action) {
- case 'status':
- setStatus(mail.id, action.data1);
- break;
- default:
- }
- });
- });
- })
- .catch(function(err) {
- console.log('Mail Automation exec error', err);
- });
-}
-
-function setStatus(ticketId, newStatus) {
- return MailRoom.update({
- status: newStatus,
- }, {
- where: {
- id: ticketId
- }
- })
- .catch(function(err) {
- console.log('Automatic mail status error', err);
- });
-}
-
-function getCondition(condition) {
- var result = {};
- switch (condition.field) {
- case 'status':
- switch (condition.operator) {
- case 'equals':
- result[condition.field] = condition.value;
- break;
- case 'not_equals':
- result[condition.field] = {
- $ne: condition.value
- };
- break;
- default:
- }
- break;
- case 'createdAt':
- var compareDate = moment().subtract(parseInt(condition.value, 10), 'hours').format("YYYY-MM-DD HH:mm:ss");
- switch (condition.operator) {
- case 'greater':
- result[condition.field] = {
- lt: compareDate
- };
- break;
- case 'greater_or_equal':
- result[condition.field] = {
- $lte: compareDate
- };
- break;
- case 'less':
- result[condition.field] = {
- $gt: compareDate
- };
- break;
- case 'less_or_equal':
- result[condition.field] = {
- $gte: compareDate
- };
- break;
- default:
- }
- break;
- default:
- }
- return result;
-}
-
-function createInterval(mailAutomation) {
- console.log('Mail Automation ', mailAutomation.id, ' set with timeout ', mailAutomation.timeout * 60 * 1000);
- activeMailAutomations['interval' + mailAutomation.id] = setInterval(function() {
- executeAutomation(mailAutomation.id);
- }, mailAutomation.timeout * 60 * 1000);
-}
-
-module.exports = function() {
-
- Automation.afterCreate(function(doc, options) {
- console.log('Mail Automation ', doc.id, ' created, the status is ', doc.status);
- if (doc.status && doc.channel === 'mail') {
- createInterval(doc);
- }
- });
-
- Automation.afterUpdate(function(doc, options) {
- console.log('Mail Automation ', doc.id, ' updated, the status is ', doc.status);
- if (activeMailAutomations['interval' + doc.id]) {
- console.log('Mail automation unset ', doc.id);
- clearInterval(activeMailAutomations['interval' + doc.id]);
- delete activeMailAutomations['interval' + doc.id];
- }
- if (doc.status && doc.channel === 'mail') {
- createInterval(doc);
- }
- });
-
- Automation.afterDelete(function(doc, options) {
- console.log('Mail Automation ', doc.id, ' deleted');
- if (activeMailAutomations['interval' + doc.id]) {
- console.log('Mail automation unset ', doc.id);
- clearInterval(activeMailAutomations['interval' + doc.id]);
- delete activeMailAutomations['interval' + doc.id];
- }
- });
-
- return Automation
- .scope('all')
- .findAll({
- where: {
- status: true,
- channel: 'mail'
- },
- attributes: ['id', 'timeout']
- })
- .then(function(mailAutomations) {
-
- mailAutomations.forEach(function(mailAutomation) {
- createInterval(mailAutomation);
- });
- })
- .catch(function(err) {
- console.log('Mail Automation init error', err);
- });
-};
+var _0xe24f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x6C\x6F\x67","\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x65\x78\x65\x63\x20\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x41\x6C\x6C","\x41\x6E\x79","\x6C\x65\x6E\x67\x74\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x24\x6F\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x41\x75\x74\x6F\x6D\x61\x74\x69\x63\x20\x6D\x61\x69\x6C\x20\x73\x74\x61\x74\x75\x73\x20\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x20\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74\x20","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x20\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x63\x68\x61\x6E\x6E\x65\x6C","\x6D\x61\x69\x6C","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x4D\x61\x69\x6C\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x20\x65\x72\x72\x6F\x72"];_0xe24f[0];var _=require(_0xe24f[1]);var config=require(_0xe24f[2]);var moment=require(_0xe24f[3]);var sequelize=require(_0xe24f[5])[_0xe24f[4]];var Automation=require(_0xe24f[5])[_0xe24f[6]];var MailRoom=require(_0xe24f[5])[_0xe24f[7]];var activeMailAutomations={};function executeAutomation(_0x1110x9){console[_0xe24f[9]](_0xe24f[8],_0x1110x9);var _0x1110xa;return Automation[_0xe24f[30]](_0xe24f[29])[_0xe24f[28]](_0x1110x9)[_0xe24f[18]](function(_0x1110xf){_0x1110xa= _0x1110xf;var _0x1110x10=[];var _0x1110x11=[];var _0x1110x12={where:{}};_0x1110xf[_0xe24f[21]][_0xe24f[16]](function(_0x1110x13){_0x1110x11[_0xe24f[20]](getCondition(_0x1110x13[_0xe24f[19]]))});_0x1110xf[_0xe24f[22]][_0xe24f[16]](function(_0x1110x13){_0x1110x10[_0xe24f[20]](getCondition(_0x1110x13[_0xe24f[19]]))});if(_0x1110x11[_0xe24f[23]]){_0x1110x12[_0xe24f[25]][_0xe24f[24]]= _0x1110x11};if(_0x1110x10[_0xe24f[23]]){_0x1110x12[_0xe24f[25]][_0xe24f[26]]= _0x1110x10};return MailRoom[_0xe24f[27]](_0x1110x12)})[_0xe24f[18]](function(_0x1110xc){_0x1110xc[_0xe24f[16]](function(_0x1110xd){_0x1110xa[_0xe24f[17]][_0xe24f[16]](function(_0x1110xe){switch(_0x1110xe[_0xe24f[15]]){case _0xe24f[14]:setStatus(_0x1110xd[_0xe24f[12]],_0x1110xe[_0xe24f[13]]);break;default:}})})})[_0xe24f[11]](function(_0x1110xb){console[_0xe24f[9]](_0xe24f[10],_0x1110xb)})}function setStatus(_0x1110x15,_0x1110x16){return MailRoom[_0xe24f[32]]({status:_0x1110x16},{where:{id:_0x1110x15}})[_0xe24f[11]](function(_0x1110xb){console[_0xe24f[9]](_0xe24f[31],_0x1110xb)})}function getCondition(_0x1110x13){var _0x1110x18={};switch(_0x1110x13[_0xe24f[33]]){case _0xe24f[14]:switch(_0x1110x13[_0xe24f[37]]){case _0xe24f[35]:_0x1110x18[_0x1110x13[_0xe24f[33]]]= _0x1110x13[_0xe24f[34]];break;case _0xe24f[36]:_0x1110x18[_0x1110x13[_0xe24f[33]]]= {$ne:_0x1110x13[_0xe24f[34]]};break;default:};break;case _0xe24f[46]:var _0x1110x19=moment()[_0xe24f[41]](parseInt(_0x1110x13[_0xe24f[34]],10),_0xe24f[40])[_0xe24f[39]](_0xe24f[38]);switch(_0x1110x13[_0xe24f[37]]){case _0xe24f[42]:_0x1110x18[_0x1110x13[_0xe24f[33]]]= {lt:_0x1110x19};break;case _0xe24f[43]:_0x1110x18[_0x1110x13[_0xe24f[33]]]= {$lte:_0x1110x19};break;case _0xe24f[44]:_0x1110x18[_0x1110x13[_0xe24f[33]]]= {$gt:_0x1110x19};break;case _0xe24f[45]:_0x1110x18[_0x1110x13[_0xe24f[33]]]= {$gte:_0x1110x19};break;default:};break;default:};return _0x1110x18}function createInterval(_0x1110xf){console[_0xe24f[9]](_0xe24f[47],_0x1110xf[_0xe24f[12]],_0xe24f[48],_0x1110xf[_0xe24f[49]]* 60* 1000);activeMailAutomations[_0xe24f[50]+ _0x1110xf[_0xe24f[12]]]= setInterval(function(){executeAutomation(_0x1110xf[_0xe24f[12]])},_0x1110xf[_0xe24f[49]]* 60* 1000)}module[_0xe24f[51]]= function(){Automation[_0xe24f[55]](function(_0x1110x1b,_0x1110x1c){console[_0xe24f[9]](_0xe24f[47],_0x1110x1b[_0xe24f[12]],_0xe24f[52],_0x1110x1b[_0xe24f[14]]);if(_0x1110x1b[_0xe24f[14]]&& _0x1110x1b[_0xe24f[53]]=== _0xe24f[54]){createInterval(_0x1110x1b)}});Automation[_0xe24f[58]](function(_0x1110x1b,_0x1110x1c){console[_0xe24f[9]](_0xe24f[47],_0x1110x1b[_0xe24f[12]],_0xe24f[56],_0x1110x1b[_0xe24f[14]]);if(activeMailAutomations[_0xe24f[50]+ _0x1110x1b[_0xe24f[12]]]){console[_0xe24f[9]](_0xe24f[57],_0x1110x1b[_0xe24f[12]]);clearInterval(activeMailAutomations[_0xe24f[50]+ _0x1110x1b[_0xe24f[12]]]);delete activeMailAutomations[_0xe24f[50]+ _0x1110x1b[_0xe24f[12]]]};if(_0x1110x1b[_0xe24f[14]]&& _0x1110x1b[_0xe24f[53]]=== _0xe24f[54]){createInterval(_0x1110x1b)}});Automation[_0xe24f[60]](function(_0x1110x1b,_0x1110x1c){console[_0xe24f[9]](_0xe24f[47],_0x1110x1b[_0xe24f[12]],_0xe24f[59]);if(activeMailAutomations[_0xe24f[50]+ _0x1110x1b[_0xe24f[12]]]){console[_0xe24f[9]](_0xe24f[57],_0x1110x1b[_0xe24f[12]]);clearInterval(activeMailAutomations[_0xe24f[50]+ _0x1110x1b[_0xe24f[12]]]);delete activeMailAutomations[_0xe24f[50]+ _0x1110x1b[_0xe24f[12]]]}});return Automation[_0xe24f[30]](_0xe24f[29])[_0xe24f[27]]({where:{status:true,channel:_0xe24f[54]},attributes:[_0xe24f[12],_0xe24f[49]]})[_0xe24f[18]](function(_0x1110x1d){_0x1110x1d[_0xe24f[16]](function(_0x1110xf){createInterval(_0x1110xf)})})[_0xe24f[11]](function(_0x1110xb){console[_0xe24f[9]](_0xe24f[61],_0x1110xb)})}
\ No newline at end of file
-'use strict';
-var ChatWebsite = require('../models').ChatWebsite;
-var ChatRoom = require('../models').ChatRoom;
-var Website = require('./chat');
-var ReportChat = require('../models').ReportChat;
-var _ = require('lodash');
-var Util = require('./util');
-var chatwebsites;
-
-module.exports = function() {
-
- return ChatWebsite
- .findAll()
- .then(function(websites) {
- console.log('CHAT website Initialization');
- chatwebsites = websites;
- synch(chatwebsites);
- ReportChat.afterUpdate(function(doc) {
- var website = _.find(chatwebsites, {
- id: doc.websiteid
- });
- if (website && doc.changed('connectid')) {
- webhook(doc, website, 'accept');
- }
- if (website && doc.changed('rejectedAt')) {
- webhook(doc, website, 'reject');
- }
- });
- ChatRoom.afterUpdate(function(doc) {
- var website = _.find(chatwebsites, {
- id: doc.ChatWebsiteId
- });
- if (website && doc.changed('status') && doc.status === 'CLOSED') {
- webhook(doc, website, 'close');
- }
- })
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function webhook(doc, website, hook) {
- var _website = website;
- switch (hook) {
- case 'accept':
- if (_website.acceptMethod && _website.acceptUrl) {
- console.log('Chat website <' + _website.name + '> executing accept webhook');
- execRequest(doc.dataValues, _website.acceptMethod, _website.acceptUrl);
- }
- if (_website.actions.length) {
- _.forEach(_website.actions, function(action) {
- if (action.enabled) {
- Util.execAction(action, doc);
- }
- })
- }
- break;
- case 'reject':
- if (_website.rejectMethod && _website.rejectUrl) {
- console.log('Chat website <' + _website.name + '> executing reject webhook');
- execRequest(doc.dataValues, _website.rejectMethod, _website.rejectUrl);
- }
- break;
- case 'close':
- if (_website.closeMethod && _website.closeUrl) {
- console.log('Chat website <' + _website.name + '> executing close webhook');
- execRequest(doc.dataValues, _website.closeMethod, _website.closeUrl);
- }
- break;
- default:
- console.log('Webhook not recognized');
- }
-}
-
-function execRequest(doc, method, url) {
- Util.sendRequest(doc, method, url)
- .then(function(values) {
- console.log('request successeful!');
- })
- .catch(function(err) {
- console.log('request failed!');
- })
-}
-
-
-function synch(chatwebsites) {
- ChatWebsite.afterCreate(function(doc) {
- console.log('Chat website: ' + doc.name + ' Create');
- chatwebsites.push(doc);
- });
- ChatWebsite.afterUpdate(function(doc) {
- var oldItem = _.find(chatwebsites, {
- id: doc.id
- });
- if (oldItem) {
- console.log('Chat website: ' + oldItem.name + ' Update');
- _.merge(oldItem, doc);
- } else {
- chatwebsites.unshift(doc);
- }
- });
- ChatWebsite.afterDestroy(function(doc) {
- _.remove(chatwebsites, {
- id: doc.id
- });
- });
-
-}
+var _0xcfe8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2F\x63\x68\x61\x74","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2F\x75\x74\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x43\x48\x41\x54\x20\x77\x65\x62\x73\x69\x74\x65\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E","\x6C\x6F\x67","\x77\x65\x62\x73\x69\x74\x65\x69\x64","\x66\x69\x6E\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x64","\x63\x68\x61\x6E\x67\x65\x64","\x61\x63\x63\x65\x70\x74","\x72\x65\x6A\x65\x63\x74\x65\x64\x41\x74","\x72\x65\x6A\x65\x63\x74","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65\x49\x64","\x73\x74\x61\x74\x75\x73","\x43\x4C\x4F\x53\x45\x44","\x63\x6C\x6F\x73\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x63\x63\x65\x70\x74\x4D\x65\x74\x68\x6F\x64","\x61\x63\x63\x65\x70\x74\x55\x72\x6C","\x43\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x3C","\x6E\x61\x6D\x65","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x63\x65\x70\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6C\x65\x6E\x67\x74\x68","\x61\x63\x74\x69\x6F\x6E\x73","\x65\x6E\x61\x62\x6C\x65\x64","\x65\x78\x65\x63\x41\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x65\x6A\x65\x63\x74\x4D\x65\x74\x68\x6F\x64","\x72\x65\x6A\x65\x63\x74\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x72\x65\x6A\x65\x63\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x63\x6C\x6F\x73\x65\x4D\x65\x74\x68\x6F\x64","\x63\x6C\x6F\x73\x65\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x6C\x6F\x73\x65\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x57\x65\x62\x68\x6F\x6F\x6B\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64","\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6C\x65\x64\x21","\x72\x65\x71\x75\x65\x73\x74\x20\x73\x75\x63\x63\x65\x73\x73\x65\x66\x75\x6C\x21","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x43\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x3A\x20","\x20\x43\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x69\x64","\x20\x55\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79"];_0xcfe8[0];var ChatWebsite=require(_0xcfe8[2])[_0xcfe8[1]];var ChatRoom=require(_0xcfe8[2])[_0xcfe8[3]];var Website=require(_0xcfe8[4]);var ReportChat=require(_0xcfe8[2])[_0xcfe8[5]];var _=require(_0xcfe8[6]);var Util=require(_0xcfe8[7]);var chatwebsites;module[_0xcfe8[8]]= function(){return ChatWebsite[_0xcfe8[26]]()[_0xcfe8[25]](function(_0x2aabx9){console[_0xcfe8[12]](_0xcfe8[11]);chatwebsites= _0x2aabx9;synch(chatwebsites);ReportChat[_0xcfe8[20]](function(_0x2aabxa){var _0x2aabxb=_[_0xcfe8[14]](chatwebsites,{id:_0x2aabxa[_0xcfe8[13]]});if(_0x2aabxb&& _0x2aabxa[_0xcfe8[16]](_0xcfe8[15])){webhook(_0x2aabxa,_0x2aabxb,_0xcfe8[17])};if(_0x2aabxb&& _0x2aabxa[_0xcfe8[16]](_0xcfe8[18])){webhook(_0x2aabxa,_0x2aabxb,_0xcfe8[19])}});ChatRoom[_0xcfe8[20]](function(_0x2aabxa){var _0x2aabxb=_[_0xcfe8[14]](chatwebsites,{id:_0x2aabxa[_0xcfe8[21]]});if(_0x2aabxb&& _0x2aabxa[_0xcfe8[16]](_0xcfe8[22])&& _0x2aabxa[_0xcfe8[22]]=== _0xcfe8[23]){webhook(_0x2aabxa,_0x2aabxb,_0xcfe8[24])}})})[_0xcfe8[10]](function(_0x2aabx8){console[_0xcfe8[9]](_0x2aabx8)})};function webhook(_0x2aabxa,_0x2aabxb,_0x2aabxd){var _0x2aabxe=_0x2aabxb;switch(_0x2aabxd){case _0xcfe8[17]:if(_0x2aabxe[_0xcfe8[27]]&& _0x2aabxe[_0xcfe8[28]]){console[_0xcfe8[12]](_0xcfe8[29]+ _0x2aabxe[_0xcfe8[30]]+ _0xcfe8[31]);execRequest(_0x2aabxa[_0xcfe8[32]],_0x2aabxe[_0xcfe8[27]],_0x2aabxe[_0xcfe8[28]])};if(_0x2aabxe[_0xcfe8[34]][_0xcfe8[33]]){_[_0xcfe8[37]](_0x2aabxe[_0xcfe8[34]],function(_0x2aabxf){if(_0x2aabxf[_0xcfe8[35]]){Util[_0xcfe8[36]](_0x2aabxf,_0x2aabxa)}})};break;case _0xcfe8[19]:if(_0x2aabxe[_0xcfe8[38]]&& _0x2aabxe[_0xcfe8[39]]){console[_0xcfe8[12]](_0xcfe8[29]+ _0x2aabxe[_0xcfe8[30]]+ _0xcfe8[40]);execRequest(_0x2aabxa[_0xcfe8[32]],_0x2aabxe[_0xcfe8[38]],_0x2aabxe[_0xcfe8[39]])};break;case _0xcfe8[24]:if(_0x2aabxe[_0xcfe8[41]]&& _0x2aabxe[_0xcfe8[42]]){console[_0xcfe8[12]](_0xcfe8[29]+ _0x2aabxe[_0xcfe8[30]]+ _0xcfe8[43]);execRequest(_0x2aabxa[_0xcfe8[32]],_0x2aabxe[_0xcfe8[41]],_0x2aabxe[_0xcfe8[42]])};break;default:console[_0xcfe8[12]](_0xcfe8[44])}}function execRequest(_0x2aabxa,_0x2aabx11,_0x2aabx12){Util[_0xcfe8[47]](_0x2aabxa,_0x2aabx11,_0x2aabx12)[_0xcfe8[25]](function(_0x2aabx13){console[_0xcfe8[12]](_0xcfe8[46])})[_0xcfe8[10]](function(_0x2aabx8){console[_0xcfe8[12]](_0xcfe8[45])})}function synch(chatwebsites){ChatWebsite[_0xcfe8[51]](function(_0x2aabxa){console[_0xcfe8[12]](_0xcfe8[48]+ _0x2aabxa[_0xcfe8[30]]+ _0xcfe8[49]);chatwebsites[_0xcfe8[50]](_0x2aabxa)});ChatWebsite[_0xcfe8[20]](function(_0x2aabxa){var _0x2aabx15=_[_0xcfe8[14]](chatwebsites,{id:_0x2aabxa[_0xcfe8[52]]});if(_0x2aabx15){console[_0xcfe8[12]](_0xcfe8[48]+ _0x2aabx15[_0xcfe8[30]]+ _0xcfe8[53]);_[_0xcfe8[54]](_0x2aabx15,_0x2aabxa)}else {chatwebsites[_0xcfe8[55]](_0x2aabxa)}});ChatWebsite[_0xcfe8[57]](function(_0x2aabxa){_[_0xcfe8[56]](chatwebsites,{id:_0x2aabxa[_0xcfe8[52]]})})}
\ No newline at end of file
-/**
- * Express configuration
- */
-
-'use strict';
-
-var express = require('express');
-var favicon = require('serve-favicon');
-var morgan = require('morgan');
-var compression = require('compression');
-var bodyParser = require('body-parser');
-var queryParser = require('express-query-int');
-var methodOverride = require('method-override');
-var cookieParser = require('cookie-parser');
-var errorHandler = require('errorhandler');
-var path = require('path');
-var passport = require('passport');
-var session = require('express-session');
-var flash = require('connect-flash');
-var SessionStore = require('express-mysql-session')(session);
-var config = require('./environment');
-
-module.exports = function(app) {
- var env = app.get('env');
-
- app.set('views', config.root + '/server/views');
- app.engine('html', require('ejs').renderFile);
- app.set('view engine', 'html');
- app.use(compression());
- app.use(bodyParser.urlencoded({
- limit: '50mb',
- extended: false
- }));
- app.use(bodyParser.json());
- // app.use(queryParser());
- app.use(methodOverride());
- app.use(cookieParser());
- app.use(passport.initialize());
-
- // Express/MySQL session storage
- app.use(session({
- secret: config.session.secret,
- store: new SessionStore({
- host: config.db.host,
- port: config.db.port,
- user: config.db.username,
- password: config.db.password,
- database: config.db.database
- }),
- cookie: config.session.cookie,
- name: config.session.name,
- resave: true,
- saveUninitialized: true
- }));
-
- if ('production' === env) {
- app.use(favicon(path.join(config.root, 'public', 'favicon.ico')));
- app.use(express.static(path.join(config.root, 'public')));
- app.set('appPath', config.root + '/public');
- morgan.token('remote-address', function(req, res) {
- return req.headers['x-forwarded-for'] ? req.headers['x-forwarded-for'] : req.connection.remoteAddress || req.ip;
- });
- app.use(morgan(':method :remote-address :remote-user :url :status :response-time ms - :res[content-length]'));
- }
-
- if ('development' === env || 'test' === env) {
- app.use(require('connect-livereload')());
- app.use(express.static(path.join(config.root, '.tmp')));
- app.use(express.static(path.join(config.root, 'client')));
- app.set('appPath', 'client');
- morgan.token('remote-address', function(req, res) {
- return req.headers['x-forwarded-for'] ? req.headers['x-forwarded-for'] : req.connection.remoteAddress || req.ip;
- });
- app.use(morgan(':method :remote-address :remote-user :url :status :response-time ms - :res[content-length]'));
- app.use(errorHandler()); // Error handler - has to be last
- }
-
- // Connect flash for flash messages
- app.use(flash());
-};
+var _0x8399=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x72\x65\x73\x73","\x73\x65\x72\x76\x65\x2D\x66\x61\x76\x69\x63\x6F\x6E","\x6D\x6F\x72\x67\x61\x6E","\x63\x6F\x6D\x70\x72\x65\x73\x73\x69\x6F\x6E","\x62\x6F\x64\x79\x2D\x70\x61\x72\x73\x65\x72","\x65\x78\x70\x72\x65\x73\x73\x2D\x71\x75\x65\x72\x79\x2D\x69\x6E\x74","\x6D\x65\x74\x68\x6F\x64\x2D\x6F\x76\x65\x72\x72\x69\x64\x65","\x63\x6F\x6F\x6B\x69\x65\x2D\x70\x61\x72\x73\x65\x72","\x65\x72\x72\x6F\x72\x68\x61\x6E\x64\x6C\x65\x72","\x70\x61\x74\x68","\x70\x61\x73\x73\x70\x6F\x72\x74","\x65\x78\x70\x72\x65\x73\x73\x2D\x73\x65\x73\x73\x69\x6F\x6E","\x63\x6F\x6E\x6E\x65\x63\x74\x2D\x66\x6C\x61\x73\x68","\x65\x78\x70\x72\x65\x73\x73\x2D\x6D\x79\x73\x71\x6C\x2D\x73\x65\x73\x73\x69\x6F\x6E","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x65\x6E\x76","\x67\x65\x74","\x76\x69\x65\x77\x73","\x72\x6F\x6F\x74","\x2F\x73\x65\x72\x76\x65\x72\x2F\x76\x69\x65\x77\x73","\x73\x65\x74","\x68\x74\x6D\x6C","\x72\x65\x6E\x64\x65\x72\x46\x69\x6C\x65","\x65\x6A\x73","\x65\x6E\x67\x69\x6E\x65","\x76\x69\x65\x77\x20\x65\x6E\x67\x69\x6E\x65","\x75\x73\x65","\x35\x30\x6D\x62","\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x6A\x73\x6F\x6E","\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x65","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x68\x6F\x73\x74","\x64\x62","\x70\x6F\x72\x74","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x64\x61\x74\x61\x62\x61\x73\x65","\x63\x6F\x6F\x6B\x69\x65","\x6E\x61\x6D\x65","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x70\x75\x62\x6C\x69\x63","\x66\x61\x76\x69\x63\x6F\x6E\x2E\x69\x63\x6F","\x6A\x6F\x69\x6E","\x73\x74\x61\x74\x69\x63","\x61\x70\x70\x50\x61\x74\x68","\x2F\x70\x75\x62\x6C\x69\x63","\x72\x65\x6D\x6F\x74\x65\x2D\x61\x64\x64\x72\x65\x73\x73","\x78\x2D\x66\x6F\x72\x77\x61\x72\x64\x65\x64\x2D\x66\x6F\x72","\x68\x65\x61\x64\x65\x72\x73","\x72\x65\x6D\x6F\x74\x65\x41\x64\x64\x72\x65\x73\x73","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x69\x70","\x74\x6F\x6B\x65\x6E","\x3A\x6D\x65\x74\x68\x6F\x64\x20\x3A\x72\x65\x6D\x6F\x74\x65\x2D\x61\x64\x64\x72\x65\x73\x73\x20\x3A\x72\x65\x6D\x6F\x74\x65\x2D\x75\x73\x65\x72\x20\x3A\x75\x72\x6C\x20\x3A\x73\x74\x61\x74\x75\x73\x20\x3A\x72\x65\x73\x70\x6F\x6E\x73\x65\x2D\x74\x69\x6D\x65\x20\x6D\x73\x20\x2D\x20\x3A\x72\x65\x73\x5B\x63\x6F\x6E\x74\x65\x6E\x74\x2D\x6C\x65\x6E\x67\x74\x68\x5D","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x74\x65\x73\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x2D\x6C\x69\x76\x65\x72\x65\x6C\x6F\x61\x64","\x2E\x74\x6D\x70","\x63\x6C\x69\x65\x6E\x74"];_0x8399[0];var express=require(_0x8399[1]);var favicon=require(_0x8399[2]);var morgan=require(_0x8399[3]);var compression=require(_0x8399[4]);var bodyParser=require(_0x8399[5]);var queryParser=require(_0x8399[6]);var methodOverride=require(_0x8399[7]);var cookieParser=require(_0x8399[8]);var errorHandler=require(_0x8399[9]);var path=require(_0x8399[10]);var passport=require(_0x8399[11]);var session=require(_0x8399[12]);var flash=require(_0x8399[13]);var SessionStore=require(_0x8399[14])(session);var config=require(_0x8399[15]);module[_0x8399[16]]= function(_0xdf94x10){var _0xdf94x11=_0xdf94x10[_0x8399[18]](_0x8399[17]);_0xdf94x10[_0x8399[22]](_0x8399[19],config[_0x8399[20]]+ _0x8399[21]);_0xdf94x10[_0x8399[26]](_0x8399[23],require(_0x8399[25])[_0x8399[24]]);_0xdf94x10[_0x8399[22]](_0x8399[27],_0x8399[23]);_0xdf94x10[_0x8399[28]](compression());_0xdf94x10[_0x8399[28]](bodyParser[_0x8399[30]]({limit:_0x8399[29],extended:false}));_0xdf94x10[_0x8399[28]](bodyParser[_0x8399[31]]());_0xdf94x10[_0x8399[28]](methodOverride());_0xdf94x10[_0x8399[28]](cookieParser());_0xdf94x10[_0x8399[28]](passport[_0x8399[32]]());_0xdf94x10[_0x8399[28]](session({secret:config[_0x8399[34]][_0x8399[33]],store: new SessionStore({host:config[_0x8399[36]][_0x8399[35]],port:config[_0x8399[36]][_0x8399[37]],user:config[_0x8399[36]][_0x8399[38]],password:config[_0x8399[36]][_0x8399[39]],database:config[_0x8399[36]][_0x8399[40]]}),cookie:config[_0x8399[34]][_0x8399[41]],name:config[_0x8399[34]][_0x8399[42]],resave:true,saveUninitialized:true}));if(_0x8399[43]=== _0xdf94x11){_0xdf94x10[_0x8399[28]](favicon(path[_0x8399[46]](config[_0x8399[20]],_0x8399[44],_0x8399[45])));_0xdf94x10[_0x8399[28]](express[_0x8399[47]](path[_0x8399[46]](config[_0x8399[20]],_0x8399[44])));_0xdf94x10[_0x8399[22]](_0x8399[48],config[_0x8399[20]]+ _0x8399[49]);morgan[_0x8399[56]](_0x8399[50],function(_0xdf94x12,_0xdf94x13){return _0xdf94x12[_0x8399[52]][_0x8399[51]]?_0xdf94x12[_0x8399[52]][_0x8399[51]]:_0xdf94x12[_0x8399[54]][_0x8399[53]]|| _0xdf94x12[_0x8399[55]]});_0xdf94x10[_0x8399[28]](morgan(_0x8399[57]))};if(_0x8399[58]=== _0xdf94x11|| _0x8399[59]=== _0xdf94x11){_0xdf94x10[_0x8399[28]](require(_0x8399[60])());_0xdf94x10[_0x8399[28]](express[_0x8399[47]](path[_0x8399[46]](config[_0x8399[20]],_0x8399[61])));_0xdf94x10[_0x8399[28]](express[_0x8399[47]](path[_0x8399[46]](config[_0x8399[20]],_0x8399[62])));_0xdf94x10[_0x8399[22]](_0x8399[48],_0x8399[62]);morgan[_0x8399[56]](_0x8399[50],function(_0xdf94x12,_0xdf94x13){return _0xdf94x12[_0x8399[52]][_0x8399[51]]?_0xdf94x12[_0x8399[52]][_0x8399[51]]:_0xdf94x12[_0x8399[54]][_0x8399[53]]|| _0xdf94x12[_0x8399[55]]});_0xdf94x10[_0x8399[28]](morgan(_0x8399[57]));_0xdf94x10[_0x8399[28]](errorHandler())};_0xdf94x10[_0x8399[28]](flash())}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var uuidLib = require('node-uuid');
-var ConvertTiff = require('tiff-to-png');
-var exec = require('child_process').exec;
-var fs = require('fs');
-var path = require('path');
-
-var FaxMessage = require('../models').FaxMessage;
-var FaxRoom = require('../models').FaxRoom;
-var Contact = require('../models').Contact;
-var Event = require('../models').Event;
-var config = require('./environment');
-
-exports.register = function(ami) {
-
- ami.on('receivefax', function(evt) {
-
- FaxRoom
- .create({
- status: 'NEW',
- from: evt.remotestationid,
- FaxAccountId: 1, //TODO Handle account ID
- })
- .then(function(faxRoom) {
-
- evt.status = 'RECEIVED';
- evt.FaxRoomId = faxRoom.id;
-
- FaxMessage
- .create(evt)
- .then(function(faxMessage) {
-
- Event
- .create({
- name: 'INCOMING',
- channel: 'FAX',
- FaxRoomId: faxRoom.id,
- FaxAccountId: 1 //TODO Handle account ID
- })
- .catch(function(err) {
- console.error(err);
- });
-
- Contact
- .findOrCreate({
- where: {
- phone: evt.remotestationid
- },
- defaults: {
- phone: evt.remotestationid,
- fullname: evt.remotestationid
- }
- })
- .spread(function(contact, created) {
- faxMessage.setFrom(contact);
- });
-
- Contact
- .findOrCreate({
- where: {
- phone: evt.localstationid
- },
- defaults: {
- phone: evt.localstationid,
- fullname: evt.localstationid
- }
- })
- .spread(function(contact, created) {
- faxMessage.setTo(contact);
- });
-
- //Convert tiff to png
- var uuid = uuidLib.v4();
- var inputPath = evt.filename; //Restore for normal usage
- // var inputPath = '/tmp/sample.tif' //Used for testing
- var resultPath = path.join(config.root, 'server', 'files', 'fax', 'inbound', uuid + '.pdf');
- var command = 'convert ' + inputPath + ' ' + resultPath;
- fs.exists(inputPath, function(exists) {
- if (exists) {
- console.error('The file ' + inputPath + ' exits');
- //Install ImageMagick for doing that!
- exec(command, function(err) {
- if (err) {
- console.error(err);
- } else {
- faxMessage.updateAttributes({
- filenamePDF: uuid + '.pdf'
- })
- .then(function() {
- console.error('The file ' + inputPath + ' was converted in PDF');
- })
- .catch(function(err) {
- console.error(err);
- });
- }
- });
- } else {
- console.error('The file ' + inputPath + ' does not exits');
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-
- })
- .catch(function(err) {
- console.error(err);
- });
- });
-
- ami.on('sendfax', function(evt) {
- console.log('***SendFAX***');
-
- FaxMessage
- .findOne({
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .then(function(faxMessage) {
- if (faxMessage) {
- faxMessage.updateAttributes(evt);
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-
- });
-
- ami.on('varset', function(evt) {
- if (evt.variable.hasOwnProperty('faxstatus')) {
- FaxMessage
- .findOne({
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .then(function(faxMessage) {
- if (faxMessage) {
- console.log('VarSet: ', 'status', evt.value);
- faxMessage.updateAttributes({
- status: evt.value == 'FAILED' ? 'FAILED' : 'SENT'
- });
- }
- })
- .catch(function(err) {
- console.error(err);
- });
- } else if (evt.variable.hasOwnProperty('faxerror')) {
- FaxMessage
- .findOne({
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .then(function(faxMessage) {
- if (faxMessage) {
- console.log('VarSet: ', 'error', evt.value);
- faxMessage.updateAttributes({
- error: evt.value
- });
- }
- })
- .catch(function(err) {
- console.error(err);
- });
- } else if (evt.variable.hasOwnProperty('faxstatusstring')) {
- FaxMessage
- .findOne({
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .then(function(faxMessage) {
- if (faxMessage) {
- console.log('VarSet: ', 'laststatus', evt.value);
- faxMessage.updateAttributes({
- laststatus: evt.value
- });
- }
- })
- .catch(function(err) {
- console.error(err);
- });
- }
-
- });
-
- ami.on('userevent', function(evt) {
- if (evt.userevent === 'Fax') {
- FaxMessage
- .findOne({
- where: {
- uuid: evt.uuid
- }
- })
- .then(function(faxMessage) {
- if (faxMessage) {
- evt.status = 'SENDING';
- faxMessage.updateAttributes(evt);
- }
- })
- .catch(function(err) {
- console.error(err);
- });
- }
-
- });
-
- ami.on('faxstatus', function(evt) {
- FaxMessage
- .findOne({
- where: {
- uniqueid: evt.uniqueid
- }
- })
- .then(function(faxMessage) {
- if (faxMessage) {
-
- console.log('FAXStatus: ', evt.uniqueid, evt.status);
-
- faxMessage.updateAttributes({
- operation: evt.operation,
- laststatus: evt.status
- });
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-
- })
-
- require('../api/fax_message/fax_message.ami').register(ami);
-
-};
+var _0x1753=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6E\x6F\x64\x65\x2D\x75\x75\x69\x64","\x74\x69\x66\x66\x2D\x74\x6F\x2D\x70\x6E\x67","\x65\x78\x65\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x66\x73","\x70\x61\x74\x68","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x43\x6F\x6E\x74\x61\x63\x74","\x45\x76\x65\x6E\x74","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x72\x65\x63\x65\x69\x76\x65\x66\x61\x78","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x46\x61\x78\x52\x6F\x6F\x6D\x49\x64","\x69\x64","\x49\x4E\x43\x4F\x4D\x49\x4E\x47","\x46\x41\x58","\x63\x72\x65\x61\x74\x65","\x73\x65\x74\x46\x72\x6F\x6D","\x73\x70\x72\x65\x61\x64","\x72\x65\x6D\x6F\x74\x65\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x73\x65\x74\x54\x6F","\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x76\x34","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x66\x61\x78","\x69\x6E\x62\x6F\x75\x6E\x64","\x2E\x70\x64\x66","\x6A\x6F\x69\x6E","\x63\x6F\x6E\x76\x65\x72\x74\x20","\x20","\x54\x68\x65\x20\x66\x69\x6C\x65\x20","\x20\x65\x78\x69\x74\x73","\x20\x77\x61\x73\x20\x63\x6F\x6E\x76\x65\x72\x74\x65\x64\x20\x69\x6E\x20\x50\x44\x46","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x74\x73","\x65\x78\x69\x73\x74\x73","\x4E\x45\x57","\x6F\x6E","\x73\x65\x6E\x64\x66\x61\x78","\x2A\x2A\x2A\x53\x65\x6E\x64\x46\x41\x58\x2A\x2A\x2A","\x6C\x6F\x67","\x75\x6E\x69\x71\x75\x65\x69\x64","\x66\x69\x6E\x64\x4F\x6E\x65","\x76\x61\x72\x73\x65\x74","\x66\x61\x78\x73\x74\x61\x74\x75\x73","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x76\x61\x72\x69\x61\x62\x6C\x65","\x56\x61\x72\x53\x65\x74\x3A\x20","\x76\x61\x6C\x75\x65","\x46\x41\x49\x4C\x45\x44","\x53\x45\x4E\x54","\x66\x61\x78\x65\x72\x72\x6F\x72","\x66\x61\x78\x73\x74\x61\x74\x75\x73\x73\x74\x72\x69\x6E\x67","\x6C\x61\x73\x74\x73\x74\x61\x74\x75\x73","\x75\x73\x65\x72\x65\x76\x65\x6E\x74","\x46\x61\x78","\x53\x45\x4E\x44\x49\x4E\x47","\x75\x75\x69\x64","\x46\x41\x58\x53\x74\x61\x74\x75\x73\x3A\x20","\x6F\x70\x65\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x61\x6D\x69"];_0x1753[0];var _=require(_0x1753[1]);var uuidLib=require(_0x1753[2]);var ConvertTiff=require(_0x1753[3]);var exec=require(_0x1753[5])[_0x1753[4]];var fs=require(_0x1753[6]);var path=require(_0x1753[7]);var FaxMessage=require(_0x1753[9])[_0x1753[8]];var FaxRoom=require(_0x1753[9])[_0x1753[10]];var Contact=require(_0x1753[9])[_0x1753[11]];var Event=require(_0x1753[9])[_0x1753[12]];var config=require(_0x1753[13]);exports[_0x1753[14]]= function(_0x8cb3xc){_0x8cb3xc[_0x1753[50]](_0x1753[15],function(_0x8cb3xd){FaxRoom[_0x1753[24]]({status:_0x1753[49],from:_0x8cb3xd[_0x1753[27]],FaxAccountId:1})[_0x1753[45]](function(_0x8cb3xf){_0x8cb3xd[_0x1753[18]]= _0x1753[19];_0x8cb3xd[_0x1753[20]]= _0x8cb3xf[_0x1753[21]];FaxMessage[_0x1753[24]](_0x8cb3xd)[_0x1753[45]](function(_0x8cb3x10){Event[_0x1753[24]]({name:_0x1753[22],channel:_0x1753[23],FaxRoomId:_0x8cb3xf[_0x1753[21]],FaxAccountId:1})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)});Contact[_0x1753[28]]({where:{phone:_0x8cb3xd[_0x1753[27]]},defaults:{phone:_0x8cb3xd[_0x1753[27]],fullname:_0x8cb3xd[_0x1753[27]]}})[_0x1753[26]](function(_0x8cb3x11,_0x8cb3x12){_0x8cb3x10[_0x1753[25]](_0x8cb3x11)});Contact[_0x1753[28]]({where:{phone:_0x8cb3xd[_0x1753[30]]},defaults:{phone:_0x8cb3xd[_0x1753[30]],fullname:_0x8cb3xd[_0x1753[30]]}})[_0x1753[26]](function(_0x8cb3x11,_0x8cb3x12){_0x8cb3x10[_0x1753[29]](_0x8cb3x11)});var _0x8cb3x13=uuidLib[_0x1753[31]]();var _0x8cb3x14=_0x8cb3xd[_0x1753[32]];var _0x8cb3x15=path[_0x1753[39]](config[_0x1753[33]],_0x1753[34],_0x1753[35],_0x1753[36],_0x1753[37],_0x8cb3x13+ _0x1753[38]);var _0x8cb3x16=_0x1753[40]+ _0x8cb3x14+ _0x1753[41]+ _0x8cb3x15;fs[_0x1753[48]](_0x8cb3x14,function(_0x8cb3x17){if(_0x8cb3x17){console[_0x1753[16]](_0x1753[42]+ _0x8cb3x14+ _0x1753[43]);exec(_0x8cb3x16,function(_0x8cb3xe){if(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)}else {_0x8cb3x10[_0x1753[46]]({filenamePDF:_0x8cb3x13+ _0x1753[38]})[_0x1753[45]](function(){console[_0x1753[16]](_0x1753[42]+ _0x8cb3x14+ _0x1753[44])})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})}})}else {console[_0x1753[16]](_0x1753[42]+ _0x8cb3x14+ _0x1753[47])}})})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})});_0x8cb3xc[_0x1753[50]](_0x1753[51],function(_0x8cb3xd){console[_0x1753[53]](_0x1753[52]);FaxMessage[_0x1753[55]]({where:{uniqueid:_0x8cb3xd[_0x1753[54]]}})[_0x1753[45]](function(_0x8cb3x10){if(_0x8cb3x10){_0x8cb3x10[_0x1753[46]](_0x8cb3xd)}})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})});_0x8cb3xc[_0x1753[50]](_0x1753[56],function(_0x8cb3xd){if(_0x8cb3xd[_0x1753[59]][_0x1753[58]](_0x1753[57])){FaxMessage[_0x1753[55]]({where:{uniqueid:_0x8cb3xd[_0x1753[54]]}})[_0x1753[45]](function(_0x8cb3x10){if(_0x8cb3x10){console[_0x1753[53]](_0x1753[60],_0x1753[18],_0x8cb3xd[_0x1753[61]]);_0x8cb3x10[_0x1753[46]]({status:_0x8cb3xd[_0x1753[61]]== _0x1753[62]?_0x1753[62]:_0x1753[63]})}})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})}else {if(_0x8cb3xd[_0x1753[59]][_0x1753[58]](_0x1753[64])){FaxMessage[_0x1753[55]]({where:{uniqueid:_0x8cb3xd[_0x1753[54]]}})[_0x1753[45]](function(_0x8cb3x10){if(_0x8cb3x10){console[_0x1753[53]](_0x1753[60],_0x1753[16],_0x8cb3xd[_0x1753[61]]);_0x8cb3x10[_0x1753[46]]({error:_0x8cb3xd[_0x1753[61]]})}})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})}else {if(_0x8cb3xd[_0x1753[59]][_0x1753[58]](_0x1753[65])){FaxMessage[_0x1753[55]]({where:{uniqueid:_0x8cb3xd[_0x1753[54]]}})[_0x1753[45]](function(_0x8cb3x10){if(_0x8cb3x10){console[_0x1753[53]](_0x1753[60],_0x1753[66],_0x8cb3xd[_0x1753[61]]);_0x8cb3x10[_0x1753[46]]({laststatus:_0x8cb3xd[_0x1753[61]]})}})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})}}}});_0x8cb3xc[_0x1753[50]](_0x1753[67],function(_0x8cb3xd){if(_0x8cb3xd[_0x1753[67]]=== _0x1753[68]){FaxMessage[_0x1753[55]]({where:{uuid:_0x8cb3xd[_0x1753[70]]}})[_0x1753[45]](function(_0x8cb3x10){if(_0x8cb3x10){_0x8cb3xd[_0x1753[18]]= _0x1753[69];_0x8cb3x10[_0x1753[46]](_0x8cb3xd)}})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})}});_0x8cb3xc[_0x1753[50]](_0x1753[57],function(_0x8cb3xd){FaxMessage[_0x1753[55]]({where:{uniqueid:_0x8cb3xd[_0x1753[54]]}})[_0x1753[45]](function(_0x8cb3x10){if(_0x8cb3x10){console[_0x1753[53]](_0x1753[71],_0x8cb3xd[_0x1753[54]],_0x8cb3xd[_0x1753[18]]);_0x8cb3x10[_0x1753[46]]({operation:_0x8cb3xd[_0x1753[72]],laststatus:_0x8cb3xd[_0x1753[18]]})}})[_0x1753[17]](function(_0x8cb3xe){console[_0x1753[16]](_0x8cb3xe)})});require(_0x1753[73])[_0x1753[14]](_0x8cb3xc)}
\ No newline at end of file
-'use strict';
-
-
-var sequelize = require('../../models').sequelize;
-var moment = require('moment');
-var async = require('async');
-
-var ReportMove = require('./reportMove');
-var Models = require('../../models');
-var HistoryModels = require('../../models').history;
-var moment = require('moment');
-
-var defaultCondition = {
- where: {
- createdAt: {
- $lte: moment().format("YYYY-MM-DD HH:mm:ss")
- }
- },
- raw: true
-};
-
-module.exports = function(CronJob) {
-
- // Every 1 Minute
- var job = new CronJob({
- cronTime: '0 59 23 * * *',
- // cronTime: '* * * * *',
- onTick: function() {
- console.log('Moving data into history...');
-
- return Promise
- .all([])
- .then(ReportMove.move(Models.ReportIntegration, HistoryModels.ReportIntegrationHistory))
- .then(ReportMove.move(Models.ReportCall, HistoryModels.ReportCallHistory))
- .then(ReportMove.move(Models.ReportSquareDetail, HistoryModels.ReportSquareDetailHistory))
- .then(ReportMove.move(Models.ReportTigerDial, HistoryModels.ReportTigerDialHistory))
- .then(ReportMove.move(Models.ReportDial, HistoryModels.ReportDialHistory))
- .then(ReportMove.move(Models.ReportCallTransfer, HistoryModels.ReportCallTransferHistory))
- .then(ReportMove.move(Models.ReportAgent, HistoryModels.ReportAgentHistory, {
- reason: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportMember, HistoryModels.ReportMemberHistory, {
- exitAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportQueue, HistoryModels.ReportQueueHistory, {
- queuecallerleaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportChat, HistoryModels.ReportChatHistory, {
- reason: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportChatSession, HistoryModels.ReportChatSessionHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportChatRoom, HistoryModels.ReportChatRoomHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportMail, HistoryModels.ReportMailHistory, {
- reason: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportMailSession, HistoryModels.ReportMailSessionHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportMailRoom, HistoryModels.ReportMailRoomHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportSms, HistoryModels.ReportSmsHistory, {
- reason: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportSmsSession, HistoryModels.ReportSmsSessionHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportSquare, HistoryModels.ReportSquareHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportFax, HistoryModels.ReportFaxHistory, {
- reason: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportFaxSession, HistoryModels.ReportFaxSessionHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportFaxRoom, HistoryModels.ReportFaxRoomHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportOpenchannel, HistoryModels.ReportOpenchannelHistory, {
- reason: {
- $ne: null
- }
- }))
- .then(ReportMove.move(Models.ReportOpenchannelSession, HistoryModels.ReportOpenchannelSessionHistory, {
- leaveAt: {
- $ne: null
- }
- }))
- .catch(function(err) {
- console.error(err);
- });
- }
- });
-
- job.start();
-}
+var _0x6485=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x6D\x6F\x6D\x65\x6E\x74","\x61\x73\x79\x6E\x63","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x4D\x6F\x76\x65","\x68\x69\x73\x74\x6F\x72\x79","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x65\x78\x70\x6F\x72\x74\x73","\x30\x20\x35\x39\x20\x32\x33\x20\x2A\x20\x2A\x20\x2A","\x4D\x6F\x76\x69\x6E\x67\x20\x64\x61\x74\x61\x20\x69\x6E\x74\x6F\x20\x68\x69\x73\x74\x6F\x72\x79\x2E\x2E\x2E","\x6C\x6F\x67","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6D\x6F\x76\x65","\x74\x68\x65\x6E","\x61\x6C\x6C","\x73\x74\x61\x72\x74"];_0x6485[0];var sequelize=require(_0x6485[2])[_0x6485[1]];var moment=require(_0x6485[3]);var async=require(_0x6485[4]);var ReportMove=require(_0x6485[5]);var Models=require(_0x6485[2]);var HistoryModels=require(_0x6485[2])[_0x6485[6]];var moment=require(_0x6485[3]);var defaultCondition={where:{createdAt:{$lte:moment()[_0x6485[8]](_0x6485[7])}},raw:true};module[_0x6485[9]]= function(_0xbc32x8){var _0xbc32x9= new _0xbc32x8({cronTime:_0x6485[10],onTick:function(){console[_0x6485[12]](_0x6485[11]);return Promise[_0x6485[17]]([])[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportIntegration,HistoryModels.ReportIntegrationHistory))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportCall,HistoryModels.ReportCallHistory))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportSquareDetail,HistoryModels.ReportSquareDetailHistory))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportTigerDial,HistoryModels.ReportTigerDialHistory))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportDial,HistoryModels.ReportDialHistory))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportCallTransfer,HistoryModels.ReportCallTransferHistory))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportAgent,HistoryModels.ReportAgentHistory,{reason:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportMember,HistoryModels.ReportMemberHistory,{exitAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportQueue,HistoryModels.ReportQueueHistory,{queuecallerleaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportChat,HistoryModels.ReportChatHistory,{reason:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportChatSession,HistoryModels.ReportChatSessionHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportChatRoom,HistoryModels.ReportChatRoomHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportMail,HistoryModels.ReportMailHistory,{reason:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportMailRoom,HistoryModels.ReportMailRoomHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportSms,HistoryModels.ReportSmsHistory,{reason:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportSmsSession,HistoryModels.ReportSmsSessionHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportSquare,HistoryModels.ReportSquareHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportFax,HistoryModels.ReportFaxHistory,{reason:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportFaxSession,HistoryModels.ReportFaxSessionHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportFaxRoom,HistoryModels.ReportFaxRoomHistory,{leaveAt:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportOpenchannel,HistoryModels.ReportOpenchannelHistory,{reason:{$ne:null}}))[_0x6485[16]](ReportMove[_0x6485[15]](Models.ReportOpenchannelSession,HistoryModels.ReportOpenchannelSessionHistory,{leaveAt:{$ne:null}}))[_0x6485[14]](function(_0xbc32xa){console[_0x6485[13]](_0xbc32xa)})}});_0xbc32x9[_0x6485[18]]()}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-var sequelize = require('../../models').sequelize;
-var util = require('util');
-
-exports.move = function(Report, ReportHistory, where) {
- var _items;
- var _where = {
- createdAt: {
- $lte: moment().format("YYYY-MM-DD HH:mm:ss")
- }
- };
-
- return function() {
- return sequelize.transaction(function(t) {
- return Report
- .findAll({
- where: where ? _.merge(_where, where) : _where,
- raw: true
- })
- .then(function(items) {
- _items = items;
- return ReportHistory
- .bulkCreate(items, {
- individualHooks: true,
- transaction: t
- });
- })
- .then(function() {
- return Report
- .destroy({
- where: {
- id: _.map(_items, 'id')
- }
- }, {
- individualHooks: true,
- transaction: t
- });
- });
- })
- .then(function() {
- console.log(util.format('Moving %s - DONE', Report.tableName));
- })
- .catch(function(err) {
- console.error(util.format('Moving %s error: %s.', Report.tableName, _.map(err.errors, 'message').join('; ')));
- });
- }
-}
+var _0x11c8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x75\x74\x69\x6C","\x6D\x6F\x76\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x4D\x6F\x76\x69\x6E\x67\x20\x25\x73\x20\x65\x72\x72\x6F\x72\x3A\x20\x25\x73\x2E","\x74\x61\x62\x6C\x65\x4E\x61\x6D\x65","\x3B\x20","\x6A\x6F\x69\x6E","\x65\x72\x72\x6F\x72\x73","\x6D\x65\x73\x73\x61\x67\x65","\x6D\x61\x70","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x4D\x6F\x76\x69\x6E\x67\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45","\x6C\x6F\x67","\x74\x68\x65\x6E","\x69\x64","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E"];_0x11c8[0];var _=require(_0x11c8[1]);var moment=require(_0x11c8[2]);var sequelize=require(_0x11c8[4])[_0x11c8[3]];var util=require(_0x11c8[5]);exports[_0x11c8[6]]= function(_0x1c6ex5,_0x1c6ex6,_0x1c6ex7){var _0x1c6ex8;var _0x1c6ex9={createdAt:{$lte:moment()[_0x11c8[8]](_0x11c8[7])}};return function(){return sequelize[_0x11c8[26]](function(_0x1c6exb){return _0x1c6ex5[_0x11c8[25]]({where:_0x1c6ex7?_[_0x11c8[24]](_0x1c6ex9,_0x1c6ex7):_0x1c6ex9,raw:true})[_0x11c8[20]](function(_0x1c6exc){_0x1c6ex8= _0x1c6exc;return _0x1c6ex6[_0x11c8[23]](_0x1c6exc,{individualHooks:true,transaction:_0x1c6exb})})[_0x11c8[20]](function(){return _0x1c6ex5[_0x11c8[22]]({where:{id:_[_0x11c8[15]](_0x1c6ex8,_0x11c8[21])}},{individualHooks:true,transaction:_0x1c6exb})})})[_0x11c8[20]](function(){console[_0x11c8[19]](util[_0x11c8[8]](_0x11c8[18],_0x1c6ex5[_0x11c8[10]]))})[_0x11c8[17]](function(_0x1c6exa){console[_0x11c8[16]](util[_0x11c8[8]](_0x11c8[9],_0x1c6ex5[_0x11c8[10]],_[_0x11c8[15]](_0x1c6exa[_0x11c8[13]],_0x11c8[14])[_0x11c8[12]](_0x11c8[11])))})}}
\ No newline at end of file
-'use strict';
-
-var util = require('util');
-var path = require('path');
-
-var _ = require('lodash');
-var Promise = require('bluebird');
-var ImapListener = require("mail-listener2");
-var writeFile = Promise.promisify(require("fs").writeFile);
-
-var config = require('../environment');
-
-var Server = require('../../models').MailServerIn;
-var Room = require('../../models').MailRoom;
-var Message = require('../../models').MailMessage;
-var Account = require('../../models').MailAccount;
-var Attachment = require('../../models').MailAttachment;
-
-var imap;
-var timeout;
-
-process
- .on('close', function(code) {
- console.log(util.format('IMAP SERVER %s EXITED WITH CODE %s, PROCESS ID: %s ', process.argv[3], code, process.pid));
- })
- .on('error', function(err) {
- console.error(err);
- });
-
-console.log(util.format('IMAP SERVER %s STARTING, PROCESS ID: %s ', process.argv[3], process.pid));
-
-process.send({
- type: 'state',
- state: 'CONNECTING'
-});
-
-function onSave(server) {
- imap = new ImapListener({
- username: server.username,
- password: server.password,
- host: server.host,
- port: server.port,
- tls: server.ssl,
- tlsOptions: {
- rejectUnauthorized: false
- },
- mailbox: server.mailbox, // mailbox to monitor
- searchFilter: [server.filter], // the search filter being used after an IDLE notification has been retrieved
- markSeen: true, // all fetched email willbe marked as seen and not fetched next time
- fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,,
- connTimeout: server.connTimeout * 1000, // *1000 because there are set and get on the model
- authTimeout: server.authTimeout * 1000, // *1000 because there are set and get on the model
- keepalive: server.keepalive
- })
- .on('server:connected', function() {
- console.log(util.format('IMAP SERVER %s CONNECTED, PROCESS ID: %s ', server.username, process.pid));
-
- process.send({
- type: 'state',
- state: 'CONNECTED'
- });
- })
- .on('server:disconnected', function(err) {
- console.error(util.format('IMAP SERVER %s DISCONNECTED, PROCESS ID: %s ', server.username, process.pid), err);
-
- imap.stop();
- imap = null;
-
- process.send({
- type: 'state',
- state: 'DISCONNECTED'
- });
- })
- .on("error", function(err) {
- console.error(util.format('IMAP SERVER %s ERRROR, PROCESS ID: %s ', server.username, process.pid), err);
-
- process.send({
- type: 'state',
- state: 'ERROR',
- source: JSON.stringify(err)
- });
- })
- .on("mail", function(msg, seqno, attributes) {
- console.log(util.format('IMAP SERVER %s NEW MSG FROM %s ', process.argv[3], _.map(msg.from, 'address').join(';')));
-
- msg.type = 'msg';
- msg.mailServerInId = imap.mailServerInId;
- msg.mailAccountId = imap.mailAccountId;
- process.send(msg);
- });
-
- imap.mailServerInId = server.id;
- imap.mailAccountId = server.MailAccountId;
-
- imap.start();
-}
-
-Server
- .findById(process.argv[2])
- .then(function(server) {
- onSave(server);
- })
- .catch(function(err) {
- console.error(err);
- });
+var _0x77fb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6D\x61\x69\x6C\x2D\x6C\x69\x73\x74\x65\x6E\x65\x72\x32","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x66\x73","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x45\x58\x49\x54\x45\x44\x20\x57\x49\x54\x48\x20\x43\x4F\x44\x45\x20\x25\x73\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x61\x72\x67\x76","\x70\x69\x64","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x53\x54\x41\x52\x54\x49\x4E\x47\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x73\x74\x61\x74\x65","\x43\x4F\x4E\x4E\x45\x43\x54\x49\x4E\x47","\x73\x65\x6E\x64","\x6D\x61\x69\x6C","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x4E\x45\x57\x20\x4D\x53\x47\x20\x46\x52\x4F\x4D\x20\x25\x73\x20","\x3B","\x6A\x6F\x69\x6E","\x66\x72\x6F\x6D","\x61\x64\x64\x72\x65\x73\x73","\x6D\x61\x70","\x74\x79\x70\x65","\x6D\x73\x67","\x6D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E\x49\x64","\x6D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x45\x52\x52\x52\x4F\x52\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x45\x52\x52\x4F\x52","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x73\x65\x72\x76\x65\x72\x3A\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x73\x74\x6F\x70","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x73\x65\x72\x76\x65\x72\x3A\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x70\x61\x73\x73\x77\x6F\x72\x64","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x6D\x61\x69\x6C\x62\x6F\x78","\x66\x69\x6C\x74\x65\x72","\x63\x6F\x6E\x6E\x54\x69\x6D\x65\x6F\x75\x74","\x61\x75\x74\x68\x54\x69\x6D\x65\x6F\x75\x74","\x6B\x65\x65\x70\x61\x6C\x69\x76\x65","\x69\x64","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x73\x74\x61\x72\x74","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0x77fb[0];var util=require(_0x77fb[1]);var path=require(_0x77fb[2]);var _=require(_0x77fb[3]);var Promise=require(_0x77fb[4]);var ImapListener=require(_0x77fb[5]);var writeFile=Promise[_0x77fb[8]](require(_0x77fb[7])[_0x77fb[6]]);var config=require(_0x77fb[9]);var Server=require(_0x77fb[11])[_0x77fb[10]];var Room=require(_0x77fb[11])[_0x77fb[12]];var Message=require(_0x77fb[11])[_0x77fb[13]];var Account=require(_0x77fb[11])[_0x77fb[14]];var Attachment=require(_0x77fb[11])[_0x77fb[15]];var imap;var timeout;process[_0x77fb[17]](_0x77fb[18],function(_0xd63ex10){console[_0x77fb[23]](util[_0x77fb[22]](_0x77fb[19],process[_0x77fb[20]][3],_0xd63ex10,process[_0x77fb[21]]))})[_0x77fb[17]](_0x77fb[16],function(_0xd63exf){console[_0x77fb[16]](_0xd63exf)});console[_0x77fb[23]](util[_0x77fb[22]](_0x77fb[24],process[_0x77fb[20]][3],process[_0x77fb[21]]));process[_0x77fb[27]]({type:_0x77fb[25],state:_0x77fb[26]});function onSave(_0xd63ex12){imap= new ImapListener({username:_0xd63ex12[_0x77fb[40]],password:_0xd63ex12[_0x77fb[50]],host:_0xd63ex12[_0x77fb[51]],port:_0xd63ex12[_0x77fb[52]],tls:_0xd63ex12[_0x77fb[53]],tlsOptions:{rejectUnauthorized:false},mailbox:_0xd63ex12[_0x77fb[54]],searchFilter:[_0xd63ex12[_0x77fb[55]]],markSeen:true,fetchUnreadOnStart:true,connTimeout:_0xd63ex12[_0x77fb[56]]* 1000,authTimeout:_0xd63ex12[_0x77fb[57]]* 1000,keepalive:_0xd63ex12[_0x77fb[58]]})[_0x77fb[17]](_0x77fb[47],function(){console[_0x77fb[23]](util[_0x77fb[22]](_0x77fb[48],_0xd63ex12[_0x77fb[40]],process[_0x77fb[21]]));process[_0x77fb[27]]({type:_0x77fb[25],state:_0x77fb[49]})})[_0x77fb[17]](_0x77fb[43],function(_0xd63exf){console[_0x77fb[16]](util[_0x77fb[22]](_0x77fb[44],_0xd63ex12[_0x77fb[40]],process[_0x77fb[21]]),_0xd63exf);imap[_0x77fb[45]]();imap= null;process[_0x77fb[27]]({type:_0x77fb[25],state:_0x77fb[46]})})[_0x77fb[17]](_0x77fb[16],function(_0xd63exf){console[_0x77fb[16]](util[_0x77fb[22]](_0x77fb[39],_0xd63ex12[_0x77fb[40]],process[_0x77fb[21]]),_0xd63exf);process[_0x77fb[27]]({type:_0x77fb[25],state:_0x77fb[41],source:JSON[_0x77fb[42]](_0xd63exf)})})[_0x77fb[17]](_0x77fb[28],function(_0xd63ex13,_0xd63ex14,_0xd63ex15){console[_0x77fb[23]](util[_0x77fb[22]](_0x77fb[29],process[_0x77fb[20]][3],_[_0x77fb[34]](_0xd63ex13[_0x77fb[32]],_0x77fb[33])[_0x77fb[31]](_0x77fb[30])));_0xd63ex13[_0x77fb[35]]= _0x77fb[36];_0xd63ex13[_0x77fb[37]]= imap[_0x77fb[37]];_0xd63ex13[_0x77fb[38]]= imap[_0x77fb[38]];process[_0x77fb[27]](_0xd63ex13)});imap[_0x77fb[37]]= _0xd63ex12[_0x77fb[59]];imap[_0x77fb[38]]= _0xd63ex12[_0x77fb[60]];imap[_0x77fb[61]]()}Server[_0x77fb[64]](process[_0x77fb[20]][2])[_0x77fb[63]](function(_0xd63ex12){onSave(_0xd63ex12)})[_0x77fb[62]](function(_0xd63exf){console[_0x77fb[16]](_0xd63exf)})
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const util = require('util');
-const path = require('path');
-const cp = require('child_process');
-const ms = require('../../models').MailServerIn;
-const msg = require('../../models').MailMessage;
-const Room = require('../../models').MailRoom;
-const Status = require('../../models').MailRoomStatus;
-const Message = require('../../models').MailMessage;
-const Account = require('../../models').MailAccount;
-const Contact = require('../../models').Contact;
-const Company = require('../../models').Company;
-const Attachment = require('../../models').MailAttachment;
-const ReportMail = require('../../models').ReportMail;
-const ReportMailRoom = require('../../models').ReportMailRoom;
-const ReportMailSession = require('../../models').ReportMailSession;
-const Promise = require('bluebird');
-const moment = require('moment');
-const open = Promise.promisify(require("fs").open);
-const close = Promise.promisify(require("fs").close);
-const write = Promise.promisify(require("fs").write);
-const config = require('../environment');
-var mailaccounts;
-var Scheduler = require('../routing/scheduler');
-var Util = require('../util');
-
-function handleMessage(msg) {
- var _mRoom;
- var _mMessage;
- var _mAccount;
- var _mContact;
- var _mCompany;
- var _mFrom, _mTo, _mCc, _mBcc;
-
- if (msg.inReplyTo) {
- return Message
- .findOne({
- where: {
- messageId: msg.inReplyTo[0]
- }
- })
- .then(function(mailMessageParent) {
- if (mailMessageParent) {
- return mailMessageParent
- .getMailRoom()
- .then(function(mailRoom) {
- _mRoom = mailRoom;
- if (mailRoom.status !== 'CLOSED') {
- return _mRoom
- .update({
- status: 'OPEN',
- openReason: 'system'
- }, {
- individualHooks: true
- })
- .then(function() {
- return Account
- .findById(msg.mailAccountId)
- .then(function(mailAccount) {
- _mAccount = mailAccount;
-
- if (_mAccount.ListId) {
- return Company
- .findOne({
- where: {
- emailDomain: msg.from[0].address.split('@')[1]
- }
- })
- .then(function(company) {
- return Contact
- .findOrCreate({
- where: {
- email: msg.from[0].address,
- },
- defaults: {
- email: msg.from[0].address,
- firstName: msg.from[0].name || msg.from[0].address.split('@')[0],
- ListId: _mAccount.ListId,
- CompanyId: company ? company.id : null
- }
- });
- });
-
- } else {
- return [];
- }
- })
- .spread(function(contact) {
- _mContact = contact;
- });
- })
-
- } else {
-
- return Account
- .findById(msg.mailAccountId)
- .then(function(mailAccount) {
- _mAccount = mailAccount;
-
- if (_mAccount.ListId) {
- return Company
- .findOne({
- where: {
- emailDomain: msg.from[0].address.split('@')[1]
- }
- })
- .then(function(company) {
- return Contact
- .findOrCreate({
- where: {
- email: msg.from[0].address,
- },
- defaults: {
- email: msg.from[0].address,
- firstName: msg.from[0].name || msg.from[0].address.split('@')[0],
- ListId: _mAccount.ListId,
- CompanyId: company ? company.id : null
- }
- });
- });
-
- } else {
- return [];
- }
- })
- .spread(function(contact) {
- _mContact = contact;
- return Room
- .create({
- subject: msg.subject,
- from: _.map(msg.from, 'address').join(';'),
- account: _mAccount.name,
- attachment: msg.attachments && msg.attachments.length,
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- arrivedAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- MailAccountId: _mAccount.id,
- ParentId: mailRoom.id
- });
- })
- .then(function(mailRoom) {
- _mRoom = mailRoom;
- });
- }
- });
- } else {
- return Account
- .findById(msg.mailAccountId)
- .then(function(mailAccount) {
- _mAccount = mailAccount;
- if (_mAccount.ListId) {
- return Company
- .findOne({
- where: {
- emailDomain: msg.from[0].address.split('@')[1]
- }
- })
- .then(function(company) {
- return Contact
- .findOrCreate({
- where: {
- email: msg.from[0].address,
- },
- defaults: {
- email: msg.from[0].address,
- firstName: msg.from[0].name || msg.from[0].address.split('@')[0],
- ListId: _mAccount.ListId,
- CompanyId: company ? company.id : null
- }
- });
- });
-
- } else {
- return [];
- }
- })
- .spread(function(contact) {
- _mContact = contact;
- return Room
- .create({
- subject: msg.subject,
- from: _.map(msg.from, 'address').join(';'),
- account: _mAccount.name,
- attachment: msg.attachments && msg.attachments.length,
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- arrivedAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- MailAccountId: _mAccount.id
- });
- })
- .then(function(mailRoom) {
- _mRoom = mailRoom;
- })
- }
- })
- .then(function() {
- return _mRoom
- .update({
- lastEvent: 'RECEIVED',
- mailIn: ++_mRoom.mailIn
- });
- })
- .then(function(mailRoom) {
-
- return Message
- .create({
- fromId: _mContact ? _mContact.id : null,
- messageId: msg.messageId,
- status: 'RECEIVED',
- subject: msg.subject,
- from: _.map(msg.from, 'address'),
- to: msg.to ? _.map(msg.to, 'address') : [],
- cc: msg.cc ? _.map(msg.cc, 'address') : [],
- bcc: msg.bcc ? _.map(msg.bcc, 'address') : [],
- text: msg.text || null,
- MailRoomId: _mRoom.id,
- accountName: _mAccount.name,
- accountId: _mAccount.id
- });
- })
- .then(function(mailMessage) {
- var _attachments = [];
- var _mailMessage = mailMessage;
-
- var scheduler = new Scheduler({
- channel: 'mail',
- uniqueid: util.format('%s.%s', moment().unix(), _mRoom.id),
- subject: msg.subject,
- messageid: _mailMessage.id,
- roomid: _mRoom.id,
- accountid: _mAccount.id,
- accountname: _mAccount.name,
- accountaddress: _mAccount.address,
- from: msg.from[0].address,
- cc: msg.cc ? _.map(msg.cc, 'address') : []
- }, _mailMessage.dataValues);
- scheduler.init();
-
- if (msg.attachments && msg.attachments.length) {
- msg.attachments.forEach(function(attachment) {
- var _basename = 'download_' + Math.random(32);
- var _fd;
- _attachments.push(
- Attachment
- .create({
- name: attachment.fileName,
- basename: _basename,
- path: path.join(config.root, 'server', 'files', 'attachments', '/', _basename),
- type: attachment.contentType,
- size: attachment.length,
- MailMessageId: _mailMessage.id
- })
- .then(function(mailAttachment) {
- return open(mailAttachment.path, 'w');
- })
- .then(function(fd) {
- _fd = fd;
- return write(_fd, new Buffer(attachment.content.data), 0, attachment.length);
- })
- .then(function() {
- return close(_fd);
- })
- .then(function() {
- console.log('File', attachment.fileName, 'properly saved.');
- })
- .catch(function(err) {
- console.error(err);
- }));
- });
- }
-
- return Promise
- .all(_attachments);
- })
- .catch(function(err) {
- console.error(err);
- });
-
- } else {
-
- return Account
- .findById(msg.mailAccountId)
- .then(function(mailAccount) {
- _mAccount = mailAccount;
-
- if (_mAccount.ListId) {
- return Company
- .findOne({
- where: {
- emailDomain: msg.from[0].address.split('@')[1]
- }
- })
- .then(function(company) {
- return Contact
- .findOrCreate({
- where: {
- email: msg.from[0].address,
- },
- defaults: {
- email: msg.from[0].address,
- firstName: msg.from[0].name || msg.from[0].address.split('@')[0],
- ListId: _mAccount.ListId,
- CompanyId: company ? company.id : null
- }
- });
- });
- } else {
- return [];
- }
- })
- .spread(function(contact) {
- _mContact = contact;
-
- return Room
- .create({
- mailIn: 1,
- account: _mAccount.name,
- subject: msg.subject,
- from: _.map(msg.from, 'address').join(';'),
- status: 'NEW',
- lastEvent: 'RECEIVED',
- lastEventAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- arrivedAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- attachment: msg.attachments && msg.attachments.length,
- MailMessages: [{
- messageId: msg.messageId,
- subject: msg.subject,
- from: _.map(msg.from, 'address'),
- fromId: _mContact ? _mContact.id : null,
- to: msg.to ? _.map(msg.to, 'address') : [],
- cc: msg.cc ? _.map(msg.cc, 'address') : [],
- bcc: msg.bcc ? _.map(msg.bcc, 'address') : [],
- status: 'RECEIVED',
- text: msg.text || null,
- accountName: _mAccount.name,
- accountId: _mAccount.id
- }],
- MailAccountId: msg.mailAccountId
- }, {
- include: [{
- model: Message
- }]
- });
- })
- .then(function(room) {
- var _attachments = [];
- var _room = room;
-
- var scheduler = new Scheduler({
- channel: 'mail',
- uniqueid: util.format('%s.%s', moment().unix(), _room.id),
- subject: msg.subject,
- messageid: _room.MailMessages[0].id,
- roomid: _room.id,
- accountid: _mAccount.id,
- accountname: _mAccount.name,
- accountaddress: _mAccount.address,
- from: msg.from[0].address,
- cc: msg.cc ? _.map(msg.cc, 'address') : []
- }, _room.MailMessages[0].dataValues);
- scheduler.init();
-
- if (msg.attachments && msg.attachments.length) {
- msg.attachments.forEach(function(attachment) {
- var _basename = 'download_' + Math.random(32);
- var _fd;
-
- _attachments.push(
- Attachment
- .create({
- name: attachment.fileName,
- basename: _basename,
- path: path.join(config.root, 'server', 'files', 'attachments', '/', _basename),
- type: attachment.contentType,
- size: attachment.length,
- MailMessageId: _room.MailMessages[0].id
- })
- .then(function(mailAttachment) {
- return open(mailAttachment.path, 'w');
- })
- .then(function(fd) {
- _fd = fd;
- return write(_fd, new Buffer(attachment.content.data), 0, attachment.length);
- })
- .then(function() {
- return close(_fd);
- })
- .then(function() {
- console.log('File', attachment.fileName, 'properly saved.');
- })
- .catch(function(err) {
- console.error(err);
- }));
- });
- }
-
- return Promise
- .all(_attachments);
- })
- .catch(function(err) {
- console.error(err);
- });
- }
-}
-
-function handleState(id, data) {
- return ms
- .findById(id)
- .then(function(server) {
- return server
- .update({
- state: data.state,
- source: data.source || null
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function fork(id, username) {
- return cp
- .fork(__dirname + '/imap', [id, username])
- .on('message', function(data) {
- switch (data.type) {
- case 'msg':
- handleMessage(data);
- break;
-
- case 'state':
- handleState(id, data)
- break;
-
- default:
- }
- })
- .on('close', function(code) {
- console.log(util.format('IMAP SERVER %s EXITED WITH CODE %s', username, code));
- })
- .on('error', function(err) {
- console.error(err);
- });
-}
-
-function execRequest(doc, method, url) {
- Util.sendRequest(doc, method, url)
- .then(function(res) {
- console.log('request successeful!');
-
- })
- .catch(function(err) {
- console.log('request failed!');
-
- })
-}
-
-function webhook(doc, account, hook) {
- var _Account = account;
- switch (hook) {
- case 'accept':
- if (_Account.acceptMethod && _Account.acceptUrl) {
- console.log('Mail account <' + _Account.name + '> executing accept webhook');
- execRequest(doc.dataValues, _Account.acceptMethod, _Account.acceptUrl);
- }
- if (_Account.actions.length) {
- _.forEach(_Account.actions, function(action) {
- if (action.enabled) {
- Util.execAction(action, doc);
- }
- })
- }
- break;
- case 'reject':
- if (_Account.rejectMethod && _Account.rejectUrl) {
- console.log('Mail account <' + _Account.name + '> executing reject webhook');
- execRequest(doc.dataValues, _Account.rejectMethod, _Account.rejectUrl);
- }
- break;
- case 'close':
- if (_Account.closeMethod && _Account.closeUrl) {
- console.log('Mail account <' + _Account.name + '> executing close webhook');
- execRequest(doc.dataValues, _Account.closeMethod, _Account.closeUrl);
- }
- break;
- default:
- console.log('Webhook not recognized');
- }
-}
-
-function synch(mailaccounts) {
- Account.afterDestroy(function(doc) {
- _.remove(mailaccounts, {
- id: doc.id
- });
- });
- Account.afterCreate(function(doc) {
- console.log('Mail account: ' + doc.name + ' Create');
- mailaccounts.push(doc);
- });
- Account.afterUpdate(function(doc) {
- var oldItem = _.find(mailaccounts, {
- id: doc.id
- });
- if (oldItem) {
- console.log('Mail account: ' + oldItem.name + ' Update');
- _.merge(oldItem, doc);
- } else {
- mailaccounts.unshift(doc);
- }
- });
-}
-
-module.exports = function() {
- var childs = {};
- var timeout;
-
- process.on('exit', function(code) {
- for (var key in childs) {
- if (childs[key]) {
- childs[key].kill();
- }
- }
- });
- Account
- .findAll()
- .then(function(accounts) {
- mailaccounts = accounts;
- synch(mailaccounts);
- ReportMail.afterUpdate(function(doc) {
- var account = _.find(mailaccounts, {
- id: parseInt(doc.accountid)
- });
- if (account && doc.changed('connectid')) {
- webhook(doc, account, 'accept');
- }
- if (account && doc.changed('rejectedAt')) {
- webhook(doc, account, 'reject');
- }
- });
- Room.afterUpdate(function(doc) {
- var account = _.find(mailaccounts, {
- id: doc.MailAccountId
- });
- if (account && doc.changed('status') && doc.status === 'CLOSED') {
- webhook(doc, account, 'close');
- }
- })
- })
- .catch(function(err) {
- console.error(err);
- });
- ms.afterCreate(function(server) {
- childs[server.id] = fork(server.id, server.username);
- });
-
- ms.afterUpdate(function(server) {
- if (childs[server.id]) {
- if (server.changed('state') || server.changed('source')) {
- console.log(util.format('IMAP SERVER %s UPDATED, PROCESS ID: %s ', server.id, childs[server.id].pid));
- clearTimeout(timeout);
-
- switch (server.state) {
- case 'DISCONNECTED':
- timeout = setTimeout(function() {
- childs[server.id] = fork(server.id, server.username);
- }, 10000);
-
- break;
- default:
- }
-
- } else {
- childs[server.id].kill();
- childs[server.id] = null;
- childs[server.id] = fork(server.id, server.username);
- }
- }
- });
-
- ms.afterDestroy(function(server) {
- if (childs[server.id]) {
- console.log(util.format('IMAP SERVER %s DESTROYED, PROCESS ID: %s ', server.id, childs[server.id].pid));
-
- childs[server.id].kill();
- childs[server.id] = null;
- }
- });
-
- ms.findAll()
- .then(function(servers) {
- servers.forEach(function(server) {
- childs[server.id] = fork(server.id, server.username);
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-};
+var _0x6d6a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74","\x43\x6F\x6D\x70\x61\x6E\x79","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6D\x6F\x6D\x65\x6E\x74","\x6F\x70\x65\x6E","\x66\x73","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x63\x6C\x6F\x73\x65","\x77\x72\x69\x74\x65","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x72\x6F\x75\x74\x69\x6E\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x2E\x2E\x2F\x75\x74\x69\x6C","\x69\x6E\x52\x65\x70\x6C\x79\x54\x6F","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6D\x61\x69\x6C","\x25\x73\x2E\x25\x73","\x75\x6E\x69\x78","\x69\x64","\x66\x6F\x72\x6D\x61\x74","\x73\x75\x62\x6A\x65\x63\x74","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x66\x72\x6F\x6D","\x63\x63","\x6D\x61\x70","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x69\x6E\x69\x74","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6C\x65\x6E\x67\x74\x68","\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x5F","\x72\x61\x6E\x64\x6F\x6D","\x46\x69\x6C\x65","\x66\x69\x6C\x65\x4E\x61\x6D\x65","\x70\x72\x6F\x70\x65\x72\x6C\x79\x20\x73\x61\x76\x65\x64\x2E","\x6C\x6F\x67","\x74\x68\x65\x6E","\x64\x61\x74\x61","\x63\x6F\x6E\x74\x65\x6E\x74","\x77","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x2F","\x6A\x6F\x69\x6E","\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65","\x63\x72\x65\x61\x74\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x6D\x65\x73\x73\x61\x67\x65\x49\x64","\x52\x45\x43\x45\x49\x56\x45\x44","\x74\x6F","\x62\x63\x63","\x74\x65\x78\x74","\x6D\x61\x69\x6C\x49\x6E","\x75\x70\x64\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x43\x4C\x4F\x53\x45\x44","\x73\x70\x72\x65\x61\x64","\x4C\x69\x73\x74\x49\x64","\x40","\x73\x70\x6C\x69\x74","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x6D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x4F\x50\x45\x4E","\x73\x79\x73\x74\x65\x6D","\x3B","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65\x73","\x4E\x45\x57","\x73\x74\x61\x74\x65","\x73\x6F\x75\x72\x63\x65","\x6F\x6E","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x45\x58\x49\x54\x45\x44\x20\x57\x49\x54\x48\x20\x43\x4F\x44\x45\x20\x25\x73","\x6D\x65\x73\x73\x61\x67\x65","\x6D\x73\x67","\x74\x79\x70\x65","\x2F\x69\x6D\x61\x70","\x66\x6F\x72\x6B","\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6C\x65\x64\x21","\x72\x65\x71\x75\x65\x73\x74\x20\x73\x75\x63\x63\x65\x73\x73\x65\x66\x75\x6C\x21","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x61\x63\x63\x65\x70\x74\x4D\x65\x74\x68\x6F\x64","\x61\x63\x63\x65\x70\x74\x55\x72\x6C","\x4D\x61\x69\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x3C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x63\x65\x70\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x61\x63\x74\x69\x6F\x6E\x73","\x65\x6E\x61\x62\x6C\x65\x64","\x65\x78\x65\x63\x41\x63\x74\x69\x6F\x6E","\x61\x63\x63\x65\x70\x74","\x72\x65\x6A\x65\x63\x74\x4D\x65\x74\x68\x6F\x64","\x72\x65\x6A\x65\x63\x74\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x72\x65\x6A\x65\x63\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x72\x65\x6A\x65\x63\x74","\x63\x6C\x6F\x73\x65\x4D\x65\x74\x68\x6F\x64","\x63\x6C\x6F\x73\x65\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x6C\x6F\x73\x65\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x57\x65\x62\x68\x6F\x6F\x6B\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64","\x72\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x4D\x61\x69\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74\x3A\x20","\x20\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64","\x20\x55\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73","\x65\x78\x69\x74","\x6B\x69\x6C\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x69\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x64","\x63\x68\x61\x6E\x67\x65\x64","\x72\x65\x6A\x65\x63\x74\x65\x64\x41\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x55\x50\x44\x41\x54\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x70\x69\x64","\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x49\x4D\x41\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x44\x45\x53\x54\x52\x4F\x59\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20"];_0x6d6a[0];const _=require(_0x6d6a[1]);const util=require(_0x6d6a[2]);const path=require(_0x6d6a[3]);const cp=require(_0x6d6a[4]);const ms=require(_0x6d6a[6])[_0x6d6a[5]];const msg=require(_0x6d6a[6])[_0x6d6a[7]];const Room=require(_0x6d6a[6])[_0x6d6a[8]];const Status=require(_0x6d6a[6])[_0x6d6a[9]];const Message=require(_0x6d6a[6])[_0x6d6a[7]];const Account=require(_0x6d6a[6])[_0x6d6a[10]];const Contact=require(_0x6d6a[6])[_0x6d6a[11]];const Company=require(_0x6d6a[6])[_0x6d6a[12]];const Attachment=require(_0x6d6a[6])[_0x6d6a[13]];const ReportMail=require(_0x6d6a[6])[_0x6d6a[14]];const ReportMailRoom=require(_0x6d6a[6])[_0x6d6a[15]];const ReportMailSession=require(_0x6d6a[6])[_0x6d6a[16]];const Promise=require(_0x6d6a[17]);const moment=require(_0x6d6a[18]);const open=Promise[_0x6d6a[21]](require(_0x6d6a[20])[_0x6d6a[19]]);const close=Promise[_0x6d6a[21]](require(_0x6d6a[20])[_0x6d6a[22]]);const write=Promise[_0x6d6a[21]](require(_0x6d6a[20])[_0x6d6a[23]]);const config=require(_0x6d6a[24]);var mailaccounts;var Scheduler=require(_0x6d6a[25]);var Util=require(_0x6d6a[26]);function handleMessage(msg){var _0xe8d9x1b;var _0xe8d9x1c;var _0xe8d9x1d;var _0xe8d9x1e;var _0xe8d9x1f;var _0xe8d9x20,_0xe8d9x21,_0xe8d9x22,_0xe8d9x23;if(msg[_0x6d6a[27]]){return Message[_0x6d6a[79]]({where:{messageId:msg[_0x6d6a[27]][0]}})[_0x6d6a[51]](function(_0xe8d9x2f){if(_0xe8d9x2f){return _0xe8d9x2f[_0x6d6a[86]]()[_0x6d6a[51]](function(_0xe8d9x2e){_0xe8d9x1b= _0xe8d9x2e;if(_0xe8d9x2e[_0x6d6a[72]]!== _0x6d6a[73]){return _0xe8d9x1b[_0x6d6a[71]]({status:_0x6d6a[82],openReason:_0x6d6a[83]},{individualHooks:true})[_0x6d6a[51]](function(){return Account[_0x6d6a[81]](msg[_0x6d6a[80]])[_0x6d6a[51]](function(_0xe8d9x31){_0xe8d9x1d= _0xe8d9x31;if(_0xe8d9x1d[_0x6d6a[75]]){return Company[_0x6d6a[79]]({where:{emailDomain:msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[1]}})[_0x6d6a[51]](function(_0xe8d9x32){return Contact[_0x6d6a[78]]({where:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]]},defaults:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]],firstName:msg[_0x6d6a[38]][0][_0x6d6a[36]]|| msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[0],ListId:_0xe8d9x1d[_0x6d6a[75]],CompanyId:_0xe8d9x32?_0xe8d9x32[_0x6d6a[33]]:null}})})}else {return []}})[_0x6d6a[74]](function(_0xe8d9x30){_0xe8d9x1e= _0xe8d9x30})})}else {return Account[_0x6d6a[81]](msg[_0x6d6a[80]])[_0x6d6a[51]](function(_0xe8d9x31){_0xe8d9x1d= _0xe8d9x31;if(_0xe8d9x1d[_0x6d6a[75]]){return Company[_0x6d6a[79]]({where:{emailDomain:msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[1]}})[_0x6d6a[51]](function(_0xe8d9x32){return Contact[_0x6d6a[78]]({where:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]]},defaults:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]],firstName:msg[_0x6d6a[38]][0][_0x6d6a[36]]|| msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[0],ListId:_0xe8d9x1d[_0x6d6a[75]],CompanyId:_0xe8d9x32?_0xe8d9x32[_0x6d6a[33]]:null}})})}else {return []}})[_0x6d6a[74]](function(_0xe8d9x30){_0xe8d9x1e= _0xe8d9x30;return Room[_0x6d6a[61]]({subject:msg[_0x6d6a[35]],from:_[_0x6d6a[40]](msg[_0x6d6a[38]],_0x6d6a[37])[_0x6d6a[59]](_0x6d6a[84]),account:_0xe8d9x1d[_0x6d6a[36]],attachment:msg[_0x6d6a[43]]&& msg[_0x6d6a[43]][_0x6d6a[44]],lastEvent:_0x6d6a[66],lastEventAt:moment()[_0x6d6a[34]](_0x6d6a[85]),arrivedAt:moment()[_0x6d6a[34]](_0x6d6a[85]),MailAccountId:_0xe8d9x1d[_0x6d6a[33]],ParentId:_0xe8d9x2e[_0x6d6a[33]]})})[_0x6d6a[51]](function(_0xe8d9x2e){_0xe8d9x1b= _0xe8d9x2e})}})}else {return Account[_0x6d6a[81]](msg[_0x6d6a[80]])[_0x6d6a[51]](function(_0xe8d9x31){_0xe8d9x1d= _0xe8d9x31;if(_0xe8d9x1d[_0x6d6a[75]]){return Company[_0x6d6a[79]]({where:{emailDomain:msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[1]}})[_0x6d6a[51]](function(_0xe8d9x32){return Contact[_0x6d6a[78]]({where:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]]},defaults:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]],firstName:msg[_0x6d6a[38]][0][_0x6d6a[36]]|| msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[0],ListId:_0xe8d9x1d[_0x6d6a[75]],CompanyId:_0xe8d9x32?_0xe8d9x32[_0x6d6a[33]]:null}})})}else {return []}})[_0x6d6a[74]](function(_0xe8d9x30){_0xe8d9x1e= _0xe8d9x30;return Room[_0x6d6a[61]]({subject:msg[_0x6d6a[35]],from:_[_0x6d6a[40]](msg[_0x6d6a[38]],_0x6d6a[37])[_0x6d6a[59]](_0x6d6a[84]),account:_0xe8d9x1d[_0x6d6a[36]],attachment:msg[_0x6d6a[43]]&& msg[_0x6d6a[43]][_0x6d6a[44]],lastEvent:_0x6d6a[66],lastEventAt:moment()[_0x6d6a[34]](_0x6d6a[85]),arrivedAt:moment()[_0x6d6a[34]](_0x6d6a[85]),MailAccountId:_0xe8d9x1d[_0x6d6a[33]]})})[_0x6d6a[51]](function(_0xe8d9x2e){_0xe8d9x1b= _0xe8d9x2e})}})[_0x6d6a[51]](function(){return _0xe8d9x1b[_0x6d6a[71]]({lastEvent:_0x6d6a[66],mailIn:++_0xe8d9x1b[_0x6d6a[70]]})})[_0x6d6a[51]](function(_0xe8d9x2e){return Message[_0x6d6a[61]]({fromId:_0xe8d9x1e?_0xe8d9x1e[_0x6d6a[33]]:null,messageId:msg[_0x6d6a[65]],status:_0x6d6a[66],subject:msg[_0x6d6a[35]],from:_[_0x6d6a[40]](msg[_0x6d6a[38]],_0x6d6a[37]),to:msg[_0x6d6a[67]]?_[_0x6d6a[40]](msg[_0x6d6a[67]],_0x6d6a[37]):[],cc:msg[_0x6d6a[39]]?_[_0x6d6a[40]](msg[_0x6d6a[39]],_0x6d6a[37]):[],bcc:msg[_0x6d6a[68]]?_[_0x6d6a[40]](msg[_0x6d6a[68]],_0x6d6a[37]):[],text:msg[_0x6d6a[69]]|| null,MailRoomId:_0xe8d9x1b[_0x6d6a[33]],accountName:_0xe8d9x1d[_0x6d6a[36]],accountId:_0xe8d9x1d[_0x6d6a[33]]})})[_0x6d6a[51]](function(_0xe8d9x25){var _0xe8d9x26=[];var _0xe8d9x27=_0xe8d9x25;var _0xe8d9x28= new Scheduler({channel:_0x6d6a[30],uniqueid:util[_0x6d6a[34]](_0x6d6a[31],moment()[_0x6d6a[32]](),_0xe8d9x1b[_0x6d6a[33]]),subject:msg[_0x6d6a[35]],messageid:_0xe8d9x27[_0x6d6a[33]],roomid:_0xe8d9x1b[_0x6d6a[33]],accountid:_0xe8d9x1d[_0x6d6a[33]],accountname:_0xe8d9x1d[_0x6d6a[36]],accountaddress:_0xe8d9x1d[_0x6d6a[37]],from:msg[_0x6d6a[38]][0][_0x6d6a[37]],cc:msg[_0x6d6a[39]]?_[_0x6d6a[40]](msg[_0x6d6a[39]],_0x6d6a[37]):[]},_0xe8d9x27[_0x6d6a[41]]);_0xe8d9x28[_0x6d6a[42]]();if(msg[_0x6d6a[43]]&& msg[_0x6d6a[43]][_0x6d6a[44]]){msg[_0x6d6a[43]][_0x6d6a[63]](function(_0xe8d9x29){var _0xe8d9x2a=_0x6d6a[45]+ Math[_0x6d6a[46]](32);var _0xe8d9x2b;_0xe8d9x26[_0x6d6a[62]](Attachment[_0x6d6a[61]]({name:_0xe8d9x29[_0x6d6a[48]],basename:_0xe8d9x2a,path:path[_0x6d6a[59]](config[_0x6d6a[55]],_0x6d6a[56],_0x6d6a[57],_0x6d6a[43],_0x6d6a[58],_0xe8d9x2a),type:_0xe8d9x29[_0x6d6a[60]],size:_0xe8d9x29[_0x6d6a[44]],MailMessageId:_0xe8d9x27[_0x6d6a[33]]})[_0x6d6a[51]](function(_0xe8d9x2d){return open(_0xe8d9x2d[_0x6d6a[3]],_0x6d6a[54])})[_0x6d6a[51]](function(_0xe8d9x2c){_0xe8d9x2b= _0xe8d9x2c;return write(_0xe8d9x2b, new Buffer(_0xe8d9x29[_0x6d6a[53]][_0x6d6a[52]]),0,_0xe8d9x29[_0x6d6a[44]])})[_0x6d6a[51]](function(){return close(_0xe8d9x2b)})[_0x6d6a[51]](function(){console[_0x6d6a[50]](_0x6d6a[47],_0xe8d9x29[_0x6d6a[48]],_0x6d6a[49])})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)}))})};return Promise[_0x6d6a[64]](_0xe8d9x26)})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)})}else {return Account[_0x6d6a[81]](msg[_0x6d6a[80]])[_0x6d6a[51]](function(_0xe8d9x31){_0xe8d9x1d= _0xe8d9x31;if(_0xe8d9x1d[_0x6d6a[75]]){return Company[_0x6d6a[79]]({where:{emailDomain:msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[1]}})[_0x6d6a[51]](function(_0xe8d9x32){return Contact[_0x6d6a[78]]({where:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]]},defaults:{email:msg[_0x6d6a[38]][0][_0x6d6a[37]],firstName:msg[_0x6d6a[38]][0][_0x6d6a[36]]|| msg[_0x6d6a[38]][0][_0x6d6a[37]][_0x6d6a[77]](_0x6d6a[76])[0],ListId:_0xe8d9x1d[_0x6d6a[75]],CompanyId:_0xe8d9x32?_0xe8d9x32[_0x6d6a[33]]:null}})})}else {return []}})[_0x6d6a[74]](function(_0xe8d9x30){_0xe8d9x1e= _0xe8d9x30;return Room[_0x6d6a[61]]({mailIn:1,account:_0xe8d9x1d[_0x6d6a[36]],subject:msg[_0x6d6a[35]],from:_[_0x6d6a[40]](msg[_0x6d6a[38]],_0x6d6a[37])[_0x6d6a[59]](_0x6d6a[84]),status:_0x6d6a[88],lastEvent:_0x6d6a[66],lastEventAt:moment()[_0x6d6a[34]](_0x6d6a[85]),arrivedAt:moment()[_0x6d6a[34]](_0x6d6a[85]),attachment:msg[_0x6d6a[43]]&& msg[_0x6d6a[43]][_0x6d6a[44]],MailMessages:[{messageId:msg[_0x6d6a[65]],subject:msg[_0x6d6a[35]],from:_[_0x6d6a[40]](msg[_0x6d6a[38]],_0x6d6a[37]),fromId:_0xe8d9x1e?_0xe8d9x1e[_0x6d6a[33]]:null,to:msg[_0x6d6a[67]]?_[_0x6d6a[40]](msg[_0x6d6a[67]],_0x6d6a[37]):[],cc:msg[_0x6d6a[39]]?_[_0x6d6a[40]](msg[_0x6d6a[39]],_0x6d6a[37]):[],bcc:msg[_0x6d6a[68]]?_[_0x6d6a[40]](msg[_0x6d6a[68]],_0x6d6a[37]):[],status:_0x6d6a[66],text:msg[_0x6d6a[69]]|| null,accountName:_0xe8d9x1d[_0x6d6a[36]],accountId:_0xe8d9x1d[_0x6d6a[33]]}],MailAccountId:msg[_0x6d6a[80]]},{include:[{model:Message}]})})[_0x6d6a[51]](function(_0xe8d9x33){var _0xe8d9x26=[];var _0xe8d9x34=_0xe8d9x33;var _0xe8d9x28= new Scheduler({channel:_0x6d6a[30],uniqueid:util[_0x6d6a[34]](_0x6d6a[31],moment()[_0x6d6a[32]](),_0xe8d9x34[_0x6d6a[33]]),subject:msg[_0x6d6a[35]],messageid:_0xe8d9x34[_0x6d6a[87]][0][_0x6d6a[33]],roomid:_0xe8d9x34[_0x6d6a[33]],accountid:_0xe8d9x1d[_0x6d6a[33]],accountname:_0xe8d9x1d[_0x6d6a[36]],accountaddress:_0xe8d9x1d[_0x6d6a[37]],from:msg[_0x6d6a[38]][0][_0x6d6a[37]],cc:msg[_0x6d6a[39]]?_[_0x6d6a[40]](msg[_0x6d6a[39]],_0x6d6a[37]):[]},_0xe8d9x34[_0x6d6a[87]][0][_0x6d6a[41]]);_0xe8d9x28[_0x6d6a[42]]();if(msg[_0x6d6a[43]]&& msg[_0x6d6a[43]][_0x6d6a[44]]){msg[_0x6d6a[43]][_0x6d6a[63]](function(_0xe8d9x29){var _0xe8d9x2a=_0x6d6a[45]+ Math[_0x6d6a[46]](32);var _0xe8d9x2b;_0xe8d9x26[_0x6d6a[62]](Attachment[_0x6d6a[61]]({name:_0xe8d9x29[_0x6d6a[48]],basename:_0xe8d9x2a,path:path[_0x6d6a[59]](config[_0x6d6a[55]],_0x6d6a[56],_0x6d6a[57],_0x6d6a[43],_0x6d6a[58],_0xe8d9x2a),type:_0xe8d9x29[_0x6d6a[60]],size:_0xe8d9x29[_0x6d6a[44]],MailMessageId:_0xe8d9x34[_0x6d6a[87]][0][_0x6d6a[33]]})[_0x6d6a[51]](function(_0xe8d9x2d){return open(_0xe8d9x2d[_0x6d6a[3]],_0x6d6a[54])})[_0x6d6a[51]](function(_0xe8d9x2c){_0xe8d9x2b= _0xe8d9x2c;return write(_0xe8d9x2b, new Buffer(_0xe8d9x29[_0x6d6a[53]][_0x6d6a[52]]),0,_0xe8d9x29[_0x6d6a[44]])})[_0x6d6a[51]](function(){return close(_0xe8d9x2b)})[_0x6d6a[51]](function(){console[_0x6d6a[50]](_0x6d6a[47],_0xe8d9x29[_0x6d6a[48]],_0x6d6a[49])})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)}))})};return Promise[_0x6d6a[64]](_0xe8d9x26)})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)})}}function handleState(_0xe8d9x36,_0xe8d9x37){return ms[_0x6d6a[81]](_0xe8d9x36)[_0x6d6a[51]](function(_0xe8d9x38){return _0xe8d9x38[_0x6d6a[71]]({state:_0xe8d9x37[_0x6d6a[89]],source:_0xe8d9x37[_0x6d6a[90]]|| null})})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)})}function fork(_0xe8d9x36,_0xe8d9x3a){return cp[_0x6d6a[97]](__dirname+ _0x6d6a[96],[_0xe8d9x36,_0xe8d9x3a])[_0x6d6a[91]](_0x6d6a[93],function(_0xe8d9x37){switch(_0xe8d9x37[_0x6d6a[95]]){case _0x6d6a[94]:handleMessage(_0xe8d9x37);break;case _0x6d6a[89]:handleState(_0xe8d9x36,_0xe8d9x37);break;default:}})[_0x6d6a[91]](_0x6d6a[22],function(_0xe8d9x3b){console[_0x6d6a[50]](util[_0x6d6a[34]](_0x6d6a[92],_0xe8d9x3a,_0xe8d9x3b))})[_0x6d6a[91]](_0x6d6a[28],function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)})}function execRequest(_0xe8d9x3d,_0xe8d9x3e,_0xe8d9x3f){Util[_0x6d6a[100]](_0xe8d9x3d,_0xe8d9x3e,_0xe8d9x3f)[_0x6d6a[51]](function(_0xe8d9x40){console[_0x6d6a[50]](_0x6d6a[99])})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[50]](_0x6d6a[98])})}function webhook(_0xe8d9x3d,_0xe8d9x42,_0xe8d9x43){var _0xe8d9x44=_0xe8d9x42;switch(_0xe8d9x43){case _0x6d6a[108]:if(_0xe8d9x44[_0x6d6a[101]]&& _0xe8d9x44[_0x6d6a[102]]){console[_0x6d6a[50]](_0x6d6a[103]+ _0xe8d9x44[_0x6d6a[36]]+ _0x6d6a[104]);execRequest(_0xe8d9x3d[_0x6d6a[41]],_0xe8d9x44[_0x6d6a[101]],_0xe8d9x44[_0x6d6a[102]])};if(_0xe8d9x44[_0x6d6a[105]][_0x6d6a[44]]){_[_0x6d6a[63]](_0xe8d9x44[_0x6d6a[105]],function(_0xe8d9x45){if(_0xe8d9x45[_0x6d6a[106]]){Util[_0x6d6a[107]](_0xe8d9x45,_0xe8d9x3d)}})};break;case _0x6d6a[112]:if(_0xe8d9x44[_0x6d6a[109]]&& _0xe8d9x44[_0x6d6a[110]]){console[_0x6d6a[50]](_0x6d6a[103]+ _0xe8d9x44[_0x6d6a[36]]+ _0x6d6a[111]);execRequest(_0xe8d9x3d[_0x6d6a[41]],_0xe8d9x44[_0x6d6a[109]],_0xe8d9x44[_0x6d6a[110]])};break;case _0x6d6a[22]:if(_0xe8d9x44[_0x6d6a[113]]&& _0xe8d9x44[_0x6d6a[114]]){console[_0x6d6a[50]](_0x6d6a[103]+ _0xe8d9x44[_0x6d6a[36]]+ _0x6d6a[115]);execRequest(_0xe8d9x3d[_0x6d6a[41]],_0xe8d9x44[_0x6d6a[113]],_0xe8d9x44[_0x6d6a[114]])};break;default:console[_0x6d6a[50]](_0x6d6a[116])}}function synch(mailaccounts){Account[_0x6d6a[118]](function(_0xe8d9x3d){_[_0x6d6a[117]](mailaccounts,{id:_0xe8d9x3d[_0x6d6a[33]]})});Account[_0x6d6a[121]](function(_0xe8d9x3d){console[_0x6d6a[50]](_0x6d6a[119]+ _0xe8d9x3d[_0x6d6a[36]]+ _0x6d6a[120]);mailaccounts[_0x6d6a[62]](_0xe8d9x3d)});Account[_0x6d6a[126]](function(_0xe8d9x3d){var _0xe8d9x47=_[_0x6d6a[122]](mailaccounts,{id:_0xe8d9x3d[_0x6d6a[33]]});if(_0xe8d9x47){console[_0x6d6a[50]](_0x6d6a[119]+ _0xe8d9x47[_0x6d6a[36]]+ _0x6d6a[123]);_[_0x6d6a[124]](_0xe8d9x47,_0xe8d9x3d)}else {mailaccounts[_0x6d6a[125]](_0xe8d9x3d)}})}module[_0x6d6a[127]]= function(){var _0xe8d9x48={};var _0xe8d9x49;process[_0x6d6a[91]](_0x6d6a[128],function(_0xe8d9x3b){for(var _0xe8d9x4a in _0xe8d9x48){if(_0xe8d9x48[_0xe8d9x4a]){_0xe8d9x48[_0xe8d9x4a][_0x6d6a[129]]()}}});Account[_0x6d6a[135]]()[_0x6d6a[51]](function(_0xe8d9x4b){mailaccounts= _0xe8d9x4b;synch(mailaccounts);ReportMail[_0x6d6a[126]](function(_0xe8d9x3d){var _0xe8d9x42=_[_0x6d6a[122]](mailaccounts,{id:parseInt(_0xe8d9x3d[_0x6d6a[130]])});if(_0xe8d9x42&& _0xe8d9x3d[_0x6d6a[132]](_0x6d6a[131])){webhook(_0xe8d9x3d,_0xe8d9x42,_0x6d6a[108])};if(_0xe8d9x42&& _0xe8d9x3d[_0x6d6a[132]](_0x6d6a[133])){webhook(_0xe8d9x3d,_0xe8d9x42,_0x6d6a[112])}});Room[_0x6d6a[126]](function(_0xe8d9x3d){var _0xe8d9x42=_[_0x6d6a[122]](mailaccounts,{id:_0xe8d9x3d[_0x6d6a[134]]});if(_0xe8d9x42&& _0xe8d9x3d[_0x6d6a[132]](_0x6d6a[72])&& _0xe8d9x3d[_0x6d6a[72]]=== _0x6d6a[73]){webhook(_0xe8d9x3d,_0xe8d9x42,_0x6d6a[22])}})})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)});ms[_0x6d6a[121]](function(_0xe8d9x38){_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]= fork(_0xe8d9x38[_0x6d6a[33]],_0xe8d9x38[_0x6d6a[136]])});ms[_0x6d6a[126]](function(_0xe8d9x38){if(_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]){if(_0xe8d9x38[_0x6d6a[132]](_0x6d6a[89])|| _0xe8d9x38[_0x6d6a[132]](_0x6d6a[90])){console[_0x6d6a[50]](util[_0x6d6a[34]](_0x6d6a[137],_0xe8d9x38[_0x6d6a[33]],_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]][_0x6d6a[138]]));clearTimeout(_0xe8d9x49);switch(_0xe8d9x38[_0x6d6a[89]]){case _0x6d6a[139]:_0xe8d9x49= setTimeout(function(){_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]= fork(_0xe8d9x38[_0x6d6a[33]],_0xe8d9x38[_0x6d6a[136]])},10000);break;default:}}else {_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]][_0x6d6a[129]]();_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]= null;_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]= fork(_0xe8d9x38[_0x6d6a[33]],_0xe8d9x38[_0x6d6a[136]])}}});ms[_0x6d6a[118]](function(_0xe8d9x38){if(_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]){console[_0x6d6a[50]](util[_0x6d6a[34]](_0x6d6a[140],_0xe8d9x38[_0x6d6a[33]],_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]][_0x6d6a[138]]));_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]][_0x6d6a[129]]();_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]= null}});ms[_0x6d6a[135]]()[_0x6d6a[51]](function(_0xe8d9x4c){_0xe8d9x4c[_0x6d6a[63]](function(_0xe8d9x38){_0xe8d9x48[_0xe8d9x38[_0x6d6a[33]]]= fork(_0xe8d9x38[_0x6d6a[33]],_0xe8d9x38[_0x6d6a[136]])})})[_0x6d6a[29]](function(_0xe8d9x24){console[_0x6d6a[28]](_0xe8d9x24)})}
\ No newline at end of file
-'use strict';
-
-var path = require('path');
-var fs = require('fs');
-
-var Integration = require('../models').Integration;
-
-module.exports = function(io, ami) {
-
- Integration
- .findAll()
- .then(function(integrations) {
- integrations.forEach(function(integration) {
- var info = path.parse(integration.path);
- var file = path.join(info.dir, info.name, integration.main);
- if (fs.existsSync(file)) {
- require(file)(io, ami);
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-};
+var _0x9412=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x74\x68","\x66\x73","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x70\x61\x72\x73\x65","\x64\x69\x72","\x6E\x61\x6D\x65","\x6D\x61\x69\x6E","\x6A\x6F\x69\x6E","\x65\x78\x69\x73\x74\x73\x53\x79\x6E\x63","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0x9412[0];var path=require(_0x9412[1]);var fs=require(_0x9412[2]);var Integration=require(_0x9412[4])[_0x9412[3]];module[_0x9412[5]]= function(_0x1059x4,_0x1059x5){Integration[_0x9412[16]]()[_0x9412[15]](function(_0x1059x7){_0x1059x7[_0x9412[14]](function(_0x1059x8){var _0x1059x9=path[_0x9412[8]](_0x1059x8[_0x9412[1]]);var _0x1059xa=path[_0x9412[12]](_0x1059x9[_0x9412[9]],_0x1059x9[_0x9412[10]],_0x1059x8[_0x9412[11]]);if(fs[_0x9412[13]](_0x1059xa)){require(_0x1059xa)(_0x1059x4,_0x1059x5)}})})[_0x9412[7]](function(_0x1059x6){console[_0x9412[6]](_0x1059x6)})}
\ No newline at end of file
-'use strict';
-
-// Library
-var _ = require('lodash');
-// Models
-var IntegrationModel = require('../../models').Integration;
-var Variable = require('../../models').Variable;
-// Integration service
-var Zendesk = require('./zendesk');
-var Salesforce = require('./salesforce');
-var Motionbar = require('./motionbar');
-// Variables
-var MAX_CALLS = 200;
-
-function Integration(ami) {
- console.log('Trigger Integration Initialization...');
-
- var zendesk = new Zendesk();
- var salesforce = new Salesforce();
- var motionbar = new Motionbar();
-
- var activeIntegrations = [];
-
- IntegrationModel
- .findAll({
- where: {
- active: 1
- }
- })
- .then(function(integrations) {
- activeIntegrations = integrations;
- synchIntegrations(activeIntegrations);
- });
-
- this.manageEvent = function(rule, doc, channel, subtype, variables) {
- if (integrationIsActive(rule.data1, activeIntegrations)) {
- switch (rule.data1) {
- case 'zendesk':
- zendesk.handleEvent(rule.data2, rule.data3, channel, subtype, doc, variables);
- break;
- case 'salesforce':
- salesforce.handleEvent(rule.data2, rule.data3, channel, subtype, doc, variables);
- break;
- default:
- console.log('Integration not recognized: ', rule.data1);
- }
- }
- if (rule.action === 'motionbar') {
- motionbar.handleEvent(rule, channel, doc, variables);
- }
- }
-}
-
-function integrationIsActive(integration, active) {
- var integratioNames = _.map(active, 'state');
- if (_.indexOf(integratioNames, integration) >= 0) {
- return true;
- }
- return false;
-}
-
-function synchIntegrations(active) {
- IntegrationModel.afterUpdate(function(doc) {
- if (doc.active) {
- updateCollection(active, doc);
- } else {
- _.remove(active, {
- id: doc.id
- });
- }
- console.log('After update, integrations are ', active.length);
- });
-}
-
-function updateCollection(collection, doc) {
- var oldItem = _.find(collection, {
- id: doc.id
- });
- var index = collection.indexOf(oldItem);
- if (oldItem) {
- _.merge(collection[index], doc);
- } else {
- collection.unshift(doc);
- }
-}
-
-module.exports = Integration;
+var _0xdbef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x61\x72\x69\x61\x62\x6C\x65","\x2E\x2F\x7A\x65\x6E\x64\x65\x73\x6B","\x2E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x2E\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x54\x72\x69\x67\x67\x65\x72\x20\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x6D\x61\x6E\x61\x67\x65\x45\x76\x65\x6E\x74","\x64\x61\x74\x61\x31","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x33","\x68\x61\x6E\x64\x6C\x65\x45\x76\x65\x6E\x74","\x7A\x65\x6E\x64\x65\x73\x6B","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64\x3A\x20","\x61\x63\x74\x69\x6F\x6E","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x73\x74\x61\x74\x65","\x6D\x61\x70","\x69\x6E\x64\x65\x78\x4F\x66","\x61\x63\x74\x69\x76\x65","\x69\x64","\x72\x65\x6D\x6F\x76\x65","\x41\x66\x74\x65\x72\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x6C\x65\x6E\x67\x74\x68","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x66\x69\x6E\x64","\x6D\x65\x72\x67\x65","\x75\x6E\x73\x68\x69\x66\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xdbef[0];var _=require(_0xdbef[1]);var IntegrationModel=require(_0xdbef[3])[_0xdbef[2]];var Variable=require(_0xdbef[3])[_0xdbef[4]];var Zendesk=require(_0xdbef[5]);var Salesforce=require(_0xdbef[6]);var Motionbar=require(_0xdbef[7]);var MAX_CALLS=200;function Integration(_0x9d8ex9){console[_0xdbef[9]](_0xdbef[8]);var _0x9d8exa= new Zendesk();var _0x9d8exb= new Salesforce();var _0x9d8exc= new Motionbar();var _0x9d8exd=[];IntegrationModel[_0xdbef[11]]({where:{active:1}})[_0xdbef[10]](function(_0x9d8exe){_0x9d8exd= _0x9d8exe;synchIntegrations(_0x9d8exd)});this[_0xdbef[12]]= function(_0x9d8exf,_0x9d8ex10,_0x9d8ex11,_0x9d8ex12,_0x9d8ex13){if(integrationIsActive(_0x9d8exf[_0xdbef[13]],_0x9d8exd)){switch(_0x9d8exf[_0xdbef[13]]){case _0xdbef[17]:_0x9d8exa[_0xdbef[16]](_0x9d8exf[_0xdbef[14]],_0x9d8exf[_0xdbef[15]],_0x9d8ex11,_0x9d8ex12,_0x9d8ex10,_0x9d8ex13);break;case _0xdbef[18]:_0x9d8exb[_0xdbef[16]](_0x9d8exf[_0xdbef[14]],_0x9d8exf[_0xdbef[15]],_0x9d8ex11,_0x9d8ex12,_0x9d8ex10,_0x9d8ex13);break;default:console[_0xdbef[9]](_0xdbef[19],_0x9d8exf[_0xdbef[13]])}};if(_0x9d8exf[_0xdbef[20]]=== _0xdbef[21]){_0x9d8exc[_0xdbef[16]](_0x9d8exf,_0x9d8ex11,_0x9d8ex10,_0x9d8ex13)}}}function integrationIsActive(_0x9d8ex15,_0x9d8ex16){var _0x9d8ex17=_[_0xdbef[23]](_0x9d8ex16,_0xdbef[22]);if(_[_0xdbef[24]](_0x9d8ex17,_0x9d8ex15)>= 0){return true};return false}function synchIntegrations(_0x9d8ex16){IntegrationModel[_0xdbef[30]](function(_0x9d8ex10){if(_0x9d8ex10[_0xdbef[25]]){updateCollection(_0x9d8ex16,_0x9d8ex10)}else {_[_0xdbef[27]](_0x9d8ex16,{id:_0x9d8ex10[_0xdbef[26]]})};console[_0xdbef[9]](_0xdbef[28],_0x9d8ex16[_0xdbef[29]])})}function updateCollection(_0x9d8ex1a,_0x9d8ex10){var _0x9d8ex1b=_[_0xdbef[31]](_0x9d8ex1a,{id:_0x9d8ex10[_0xdbef[26]]});var _0x9d8ex1c=_0x9d8ex1a[_0xdbef[24]](_0x9d8ex1b);if(_0x9d8ex1b){_[_0xdbef[32]](_0x9d8ex1a[_0x9d8ex1c],_0x9d8ex10)}else {_0x9d8ex1a[_0xdbef[33]](_0x9d8ex10)}}module[_0xdbef[34]]= Integration
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var Mustache = require('mustache');
-
-var ReportIntegration = require('../../models').ReportIntegration;
-var Template = require('../../models').Template;
-
-function Motionbar() {
- console.log('Motionbar integration initialization...');
-}
-
-Motionbar.prototype.handleEvent = function(rule, channel, data, variables) {
-
- if (!rule.data1 || !rule.data2) {
- console.error('Passed parameters are not enough to manage Motionbar integration');
- return;
- }
-
- // variables = _.reduce(variables, function(result, value, key) {
- // result[value.name] = value.value;
- // return result;
- // }, {});
- delete data.id;
- var mergedVars = _.merge(_.clone(data), variables);
-
- console.log('Type:', rule.data1);
-
- switch (rule.data1) {
- case '0':
- //POPUP
- return Template
- .findById(rule.data2)
- .then(function(template) {
- data.html = template.html ? Mustache.render(template.html, mergedVars) : '<html><body>Empty Template</body></html>';
- data.subject = template.subject ? Mustache.render(template.subject.toString(), mergedVars) : 'No Title';
- data.integration = 'motionbar';
- data.eventChannel = channel;
- data.exitStatus = 'success';
- data.integrationId = rule.data1;
- return ReportIntegration.create(data);
- })
- .then(function() {
- console.log('[Motionbar] Popup created');
- })
- .catch(handleError(channel, data, rule.data1));
- case '1':
- //URL
- data.url = rule.data2 ? Mustache.render(rule.data2, mergedVars) : 'https://wiki.xcallymotion.com/';
- data.integration = 'motionbar';
- data.eventChannel = channel;
- data.exitStatus = 'success';
- data.integrationId = rule.data1;
- return ReportIntegration.create(data)
- .then(function() {
- console.log('[Motionbar] URL created');
- })
- .catch(handleError(channel, data, rule.data1));
- case '2':
- //WINDOWS APPLICATION
- data.app = rule.data2;
- data.appdata = rule.data3 ? Mustache.render(rule.data3, mergedVars) : '';
- data.integration = 'motionbar';
- data.eventChannel = channel;
- data.exitStatus = 'success';
- data.integrationId = rule.data1;
- return ReportIntegration.create(data)
- .then(function() {
- console.log('[Motionbar] Windows Application opened');
- })
- .catch(handleError(channel, data, rule.data1));
- default:
- console.log('[Motionbar] Type not recognized:', rule.data1);
- }
-
-};
-
-function handleError(channel, data, integrationId) {
- return function(err) {
- console.error('[Motionbar] Error in ticket creation');
- console.error('[Motionbar] Message:', err.message);
- console.error('[Motionbar] Stack:', err.stack);
-
- data.integration = 'motionbar';
- data.eventChannel = channel;
- data.exitStatus = 'failed';
- data.integrationId = integrationId;
- ReportIntegration
- .create(data)
- .then(function() {
- return;
- })
- .catch(function(err) {
- console.error('[Motionbar] Error in Report integration create');
- return;
- });
- }
-}
-
-module.exports = Motionbar;
+var _0x74c7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6D\x75\x73\x74\x61\x63\x68\x65","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x68\x61\x6E\x64\x6C\x65\x45\x76\x65\x6E\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x64\x61\x74\x61\x31","\x64\x61\x74\x61\x32","\x50\x61\x73\x73\x65\x64\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x20\x61\x72\x65\x20\x6E\x6F\x74\x20\x65\x6E\x6F\x75\x67\x68\x20\x74\x6F\x20\x6D\x61\x6E\x61\x67\x65\x20\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x65\x72\x72\x6F\x72","\x69\x64","\x63\x6C\x6F\x6E\x65","\x6D\x65\x72\x67\x65","\x54\x79\x70\x65\x3A","\x63\x61\x74\x63\x68","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x50\x6F\x70\x75\x70\x20\x63\x72\x65\x61\x74\x65\x64","\x74\x68\x65\x6E","\x68\x74\x6D\x6C","\x72\x65\x6E\x64\x65\x72","\x3C\x68\x74\x6D\x6C\x3E\x3C\x62\x6F\x64\x79\x3E\x45\x6D\x70\x74\x79\x20\x54\x65\x6D\x70\x6C\x61\x74\x65\x3C\x2F\x62\x6F\x64\x79\x3E\x3C\x2F\x68\x74\x6D\x6C\x3E","\x73\x75\x62\x6A\x65\x63\x74","\x4E\x6F\x20\x54\x69\x74\x6C\x65","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x65\x78\x69\x74\x53\x74\x61\x74\x75\x73","\x73\x75\x63\x63\x65\x73\x73","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x49\x64","\x63\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x30","\x75\x72\x6C","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x55\x52\x4C\x20\x63\x72\x65\x61\x74\x65\x64","\x31","\x61\x70\x70","\x61\x70\x70\x64\x61\x74\x61","\x64\x61\x74\x61\x33","","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x57\x69\x6E\x64\x6F\x77\x73\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x6F\x70\x65\x6E\x65\x64","\x32","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x54\x79\x70\x65\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64\x3A","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x74\x69\x63\x6B\x65\x74\x20\x63\x72\x65\x61\x74\x69\x6F\x6E","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x4D\x65\x73\x73\x61\x67\x65\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x53\x74\x61\x63\x6B\x3A","\x73\x74\x61\x63\x6B","\x66\x61\x69\x6C\x65\x64","\x5B\x4D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x52\x65\x70\x6F\x72\x74\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x74c7[0];var _=require(_0x74c7[1]);var util=require(_0x74c7[2]);var Mustache=require(_0x74c7[3]);var ReportIntegration=require(_0x74c7[5])[_0x74c7[4]];var Template=require(_0x74c7[5])[_0x74c7[6]];function Motionbar(){console[_0x74c7[8]](_0x74c7[7])}Motionbar[_0x74c7[10]][_0x74c7[9]]= function(_0x559ex7,_0x559ex8,_0x559ex9,_0x559exa){if(!_0x559ex7[_0x74c7[11]]|| !_0x559ex7[_0x74c7[12]]){console[_0x74c7[14]](_0x74c7[13]);return};delete _0x559ex9[_0x74c7[15]];var _0x559exb=_[_0x74c7[17]](_[_0x74c7[16]](_0x559ex9),_0x559exa);console[_0x74c7[8]](_0x74c7[18],_0x559ex7[_0x74c7[11]]);switch(_0x559ex7[_0x74c7[11]]){case _0x74c7[35]:return Template[_0x74c7[34]](_0x559ex7[_0x74c7[12]])[_0x74c7[21]](function(_0x559exc){_0x559ex9[_0x74c7[22]]= _0x559exc[_0x74c7[22]]?Mustache[_0x74c7[23]](_0x559exc[_0x74c7[22]],_0x559exb):_0x74c7[24];_0x559ex9[_0x74c7[25]]= _0x559exc[_0x74c7[25]]?Mustache[_0x74c7[23]](_0x559exc[_0x74c7[25]].toString(),_0x559exb):_0x74c7[26];_0x559ex9[_0x74c7[27]]= _0x74c7[28];_0x559ex9[_0x74c7[29]]= _0x559ex8;_0x559ex9[_0x74c7[30]]= _0x74c7[31];_0x559ex9[_0x74c7[32]]= _0x559ex7[_0x74c7[11]];return ReportIntegration[_0x74c7[33]](_0x559ex9)})[_0x74c7[21]](function(){console[_0x74c7[8]](_0x74c7[20])})[_0x74c7[19]](handleError(_0x559ex8,_0x559ex9,_0x559ex7[_0x74c7[11]]));case _0x74c7[39]:_0x559ex9[_0x74c7[36]]= _0x559ex7[_0x74c7[12]]?Mustache[_0x74c7[23]](_0x559ex7[_0x74c7[12]],_0x559exb):_0x74c7[37];_0x559ex9[_0x74c7[27]]= _0x74c7[28];_0x559ex9[_0x74c7[29]]= _0x559ex8;_0x559ex9[_0x74c7[30]]= _0x74c7[31];_0x559ex9[_0x74c7[32]]= _0x559ex7[_0x74c7[11]];return ReportIntegration[_0x74c7[33]](_0x559ex9)[_0x74c7[21]](function(){console[_0x74c7[8]](_0x74c7[38])})[_0x74c7[19]](handleError(_0x559ex8,_0x559ex9,_0x559ex7[_0x74c7[11]]));case _0x74c7[45]:_0x559ex9[_0x74c7[40]]= _0x559ex7[_0x74c7[12]];_0x559ex9[_0x74c7[41]]= _0x559ex7[_0x74c7[42]]?Mustache[_0x74c7[23]](_0x559ex7[_0x74c7[42]],_0x559exb):_0x74c7[43];_0x559ex9[_0x74c7[27]]= _0x74c7[28];_0x559ex9[_0x74c7[29]]= _0x559ex8;_0x559ex9[_0x74c7[30]]= _0x74c7[31];_0x559ex9[_0x74c7[32]]= _0x559ex7[_0x74c7[11]];return ReportIntegration[_0x74c7[33]](_0x559ex9)[_0x74c7[21]](function(){console[_0x74c7[8]](_0x74c7[44])})[_0x74c7[19]](handleError(_0x559ex8,_0x559ex9,_0x559ex7[_0x74c7[11]]));default:console[_0x74c7[8]](_0x74c7[46],_0x559ex7[_0x74c7[11]])}};function handleError(_0x559ex8,_0x559ex9,_0x559exe){return function(_0x559exf){console[_0x74c7[14]](_0x74c7[47]);console[_0x74c7[14]](_0x74c7[48],_0x559exf[_0x74c7[49]]);console[_0x74c7[14]](_0x74c7[50],_0x559exf[_0x74c7[51]]);_0x559ex9[_0x74c7[27]]= _0x74c7[28];_0x559ex9[_0x74c7[29]]= _0x559ex8;_0x559ex9[_0x74c7[30]]= _0x74c7[52];_0x559ex9[_0x74c7[32]]= _0x559exe;ReportIntegration[_0x74c7[33]](_0x559ex9)[_0x74c7[21]](function(){return})[_0x74c7[19]](function(_0x559exf){console[_0x74c7[14]](_0x74c7[53]);return})}}module[_0x74c7[54]]= Motionbar
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var jsforce = require('jsforce');
-var moment = require('moment');
-
-var SalesforceIntegration = require('../../models').SalesforceIntegration;
-var SalesforceConfiguration = require('../../models').SalesforceConfiguration;
-var ReportIntegration = require('../../models').ReportIntegration;
-var VoiceQueue = require('../../models').VoiceQueue;
-var VoiceExtension = require('../../models').VoiceExtension;
-
-function Salesforce() {
- console.log('Salesforce integration initialization...');
-}
-
-Salesforce.prototype.handleEvent = function(integrationId, configurationId, channel, subtype, data, variables) {
-
- var salesforceData = {
- connection: undefined,
- configuration: undefined,
- agent: undefined,
- enduser: undefined,
- taskId: undefined,
- recordEnable: false,
- serverURL: undefined
- };
-
- if (!integrationId || !configurationId) {
- console.error('Passed parameters are not enough to create a new ticket: miss IntegrationId or ConfigurationId');
- return;
- }
-
- SalesforceConfiguration
- .find({
- where: {
- id: configurationId,
- AccountId: integrationId
- },
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- })
- .then(handleEntityNotFound())
- .then(handleConnection(salesforceData))
- .then(searchQueue(data))
- .then(handleQueueRecordings(salesforceData, data))
- .then(searchRoute(data))
- .then(handleOutboundRecordings(salesforceData, data))
- .then(searchAgent(salesforceData, channel, data))
- .then(handleAgent(salesforceData, channel, data))
- .then(searchAdmin(salesforceData))
- .then(handleAdmin(salesforceData))
- .then(searchContact(salesforceData, channel, data, subtype))
- .then(handleContact(salesforceData, channel, data, subtype))
- .then(searchLead(salesforceData, channel, data, subtype))
- .then(handleLead(salesforceData, channel, data, subtype))
- .then(leadCreation(salesforceData, channel, data, subtype))
- .then(handleLeadCreation(salesforceData, channel, data, subtype))
- .then(taskCreation(salesforceData, data, variables))
- .then(handleTaskDisplay(salesforceData))
- .then(handleReportIntegration(salesforceData, channel, data, integrationId))
- .then(handleEnd(salesforceData))
- .catch(handleError(salesforceData, channel, data, integrationId));
-
-};
-
-function handleEntityNotFound() {
- return function(entity) {
- if (!entity) {
- return null;
- }
- return entity;
- };
-}
-
-function handleConnection(salesforceData) {
- return function(configuration) {
- salesforceData.connection = new jsforce.Connection({
- oauth2: {
- loginUrl: configuration.SalesforceAccount.remoteUri ? configuration.SalesforceAccount.remoteUri : 'https://login.salesforce.com',
- clientId: configuration.SalesforceAccount.clientId,
- clientSecret: configuration.SalesforceAccount.clientSecret
- }
- });
- var pwd = configuration.SalesforceAccount.password.concat(configuration.SalesforceAccount.securityToken);
- salesforceData.configuration = configuration;
- salesforceData.serverURL = configuration.SalesforceAccount.serverUrl;
- return salesforceData.connection.login(configuration.SalesforceAccount.username, pwd);
- }
-}
-
-function searchQueue(data) {
- return function() {
- if (data.queue) {
- return VoiceQueue.findOne({
- where: {
- name: data.queue
- },
- attributes: ['name', 'monitor_format']
- });
- } else {
- return;
- }
- }
-}
-
-function handleQueueRecordings(salesforceData, data) {
- return function(queue) {
- if (data.queue) {
- if (queue && queue.monitor_format) {
- console.log('[Salesforce] Recording enabled for the Queue', queue.name);
- salesforceData.recordEnable = true;
- } else {
- salesforceData.recordEnable = false;
- console.log('[Salesforce] Queue not found or Recording not enabled');
- }
- }
- return;
- }
-}
-
-function searchRoute(data) {
- return function() {
- if (data.routeId) {
- return VoiceExtension.findOne({
- where: {
- id: data.routeId
- },
- attributes: ['id', 'record']
- });
- } else {
- return;
- }
- }
-}
-
-function handleOutboundRecordings(salesforceData, data) {
- return function(route) {
- if (data.routeId) {
- if (route && route.record) {
- console.log('[Salesforce] Recording enabled for the Route Outbound', route.id);
- salesforceData.recordEnable = true;
- } else {
- salesforceData.recordEnable = false;
- console.log('[Salesforce] Route Outbound not found or Recording not enabled');
- }
- }
- return;
- }
-}
-
-function searchAgent(salesforceData, channel, data) {
- return function() {
- console.log('[Salesforce] Agent to search:', getValueFromPropertyName(data, getAgentSearchPropertyFromChannel(channel)));
- return salesforceData.connection.sobject("User")
- .find({
- Name: getValueFromPropertyName(data, getAgentSearchPropertyFromChannel(channel))
- }, {
- Id: 1,
- Username: 1,
- Name: 1
- })
- .execute();
- }
-}
-
-function getAgentSearchPropertyFromChannel(channel) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- property = 'membername';
- break;
- default:
- property = 'membername';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function getValueFromPropertyName(data, property, salesforceData) {
- if (property === 'recordingURL') {
- if (salesforceData && salesforceData.recordEnable && salesforceData.serverURL) {
- return util.format('%s/api/voice/recordings/%s/download?type=uniqueid', stripTrailingSlash(salesforceData.serverURL), data.uniqueid);
- } else {
- return null;
- }
- } else {
- return _.result(data, property);
- }
-}
-
-function handleAgent(salesforceData, channel, event) {
- return function(data) {
- if (data.length > 0) {
- console.log('[Salesforce] Agent found:', getValueFromPropertyName(event, getAgentSearchPropertyFromChannel(channel)));
- salesforceData.agent = getMatchObject(data, 'Name', getValueFromPropertyName(event, getAgentSearchPropertyFromChannel(channel)));
- return salesforceData.agent;
- }
- return;
- }
-}
-
-function getMatchObject(collection, property, valueToSearch) {
- var valueFound = _.find(collection, {
- property: valueToSearch
- });
- if (valueFound) {
- return valueFound;
- }
- return _.first(collection);
-}
-
-function searchAdmin(salesforceData) {
- return function(data) {
- if (data) {
- return;
- }
- console.log('[Salesforce] Agent not found. Use the admin account');
- return salesforceData.connection.identity();
- }
-}
-
-function handleAdmin(salesforceData) {
- return function(data) {
- if (!data) {
- return;
- }
- if (data) {
- console.log('[Salesforce] Admin selected');
- salesforceData.agent = {
- Id: data.user_id,
- Name: data.display_name,
- Username: data.username
- };
- }
- return;
- }
-}
-
-function searchContact(salesforceData, channel, data, subtype) {
- return function() {
- console.log('[Salesforce] Contact to search:', getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)));
- var query = {};
- query[getEndUserSearchQueryFromChannel(channel)] = getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype));
- return salesforceData.connection
- .sobject("Contact")
- .find(query, {
- Id: 1,
- Name: 1
- })
- .execute();
- }
-}
-
-function getEndUserSearchQueryFromChannel(channel) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- property = 'Phone';
- break;
- default:
- property = 'Phone';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function getEndUserSearchPropertyFromChannel(channel, subtype) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- if (subtype === 'outbound') {
- property = 'destcalleridnum';
- } else if (subtype === 'queue') {
- property = 'calleridnum';
- }
- break;
- default:
- property = 'calleridnum';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function getEndUserNamePropertyFromChannel(channel, subtype) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- if (subtype === 'outbound') {
- property = 'destcalleridname';
- } else if (subtype === 'queue') {
- property = 'calleridname';
- }
- break;
- default:
- property = 'calleridname';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function handleContact(salesforceData, channel, event, subtype) {
- return function(data) {
- if (data.length > 0) {
- console.log('[Salesforce] Contact found:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- salesforceData.enduser = data[0];
- return salesforceData.enduser;
- }
- console.log('[Salesforce] Contact not found:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- return;
- }
-}
-
-function searchLead(salesforceData, channel, event, subtype) {
- return function(data) {
- if (!data) {
- console.log('[Salesforce] Lead to search:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- var query = {};
- query[getEndUserSearchQueryFromChannel(channel)] = getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype));
- return salesforceData.connection
- .sobject("Lead")
- .find(query, {
- Id: 1,
- Name: 1
- })
- .execute();
- }
- return;
- }
-}
-
-function handleLead(salesforceData, channel, event, subtype) {
- return function(data) {
- if (data && data.length > 0) {
- console.log('[Salesforce] Lead found:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- salesforceData.enduser = data[0];
- return salesforceData.enduser;
- }
- return;
- }
-}
-
-function leadCreation(salesforceData, channel, event, subtype) {
- return function(data) {
- if (data || salesforceData.enduser) {
- return;
- }
- console.log('[Salesforce] Contact/Lead not found:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- return salesforceData.connection
- .sobject("Lead")
- .create(getJsonForEndUserCreation(channel, event, subtype));
- }
-}
-
-function getJsonForEndUserCreation(channel, data, subtype) {
- var user = {
- Company: 'No Company'
- };
-
- switch (channel) {
- case 'voice':
- if (subtype === 'queue') {
- if (isValidName(data.calleridname)) {
- user.LastName = getValueFromPropertyName(data, getEndUserNamePropertyFromChannel(channel, subtype));
- } else {
- user.LastName = util.format('Caller - %s', getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)))
- }
- } else if (subtype === 'outbound') {
- if (isValidName(data.destcalleridname)) {
- user.LastName = getValueFromPropertyName(data, getEndUserNamePropertyFromChannel(channel, subtype));
- } else {
- user.LastName = util.format('Caller - %s', getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)))
- }
- }
- user.Phone = getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype));
- break;
- default:
- console.error('Channel not recognized:', channel);
- }
-
- return user;
-}
-
-function isValidName(name) {
- return name && name !== '<unknown>';
-}
-
-function handleLeadCreation(salesforceData, channel, event, subtype) {
- return function(data) {
- if (!data) {
- return;
- }
- if (data && data.success) {
- console.log('[Salesforce] Lead created: ', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- salesforceData.enduser = {
- Id: data.id
- };
- }
- return;
- }
-}
-
-function taskCreation(salesforceData, event, variables) {
- return function() {
- var taskBody = {
- //Standard Field
- WhoId: salesforceData.enduser.Id,
- OwnerId: salesforceData.agent.Id,
- ActivityDate: moment.utc(),
- IsReminderSet: false,
- IsRecurrence: false,
- //Configurated Field
- Subject: createSubjectFromConfiguration(salesforceData, event, variables),
- Description: createDescriptionFromConfiguration(salesforceData, event, variables)
- };
- var fields = createCustomFieldsFromConfiguration(salesforceData, event, variables);
- if (fields.length > 0) {
- _.forEach(fields, function(item) {
- taskBody[item.id] = item.value;
- });
- }
- // console.log('[Salesforce] Task body:', taskBody);
- return salesforceData.connection
- .sobject("Task")
- .create(taskBody);
- }
-}
-
-function createSubjectFromConfiguration(salesforceData, event, variables) {
- var subject = '';
- var stringsArray = [];
- if (salesforceData.configuration.Subject.length > 0) {
- var subjectConfiguration = _.sortBy(salesforceData.configuration.Subject, ['id']);
- _.forEach(subjectConfiguration, function(value) {
- if (value.type === 'string') {
- stringsArray.push(value.content);
- } else if (value.type === 'variable' && value.variableName) {
- var prop = getValueFromPropertyName(event, value.variableName, salesforceData);
- if (prop) {
- stringsArray.push(prop.toString());
- }
- } else if (value.type === 'customVariable') {
- variables[value.Variable.name] && stringsArray.push(variables[value.Variable.name].toString());
- }
- });
- subject = stringsArray.join(' ');
- }
- return subject;
-}
-
-function createDescriptionFromConfiguration(salesforceData, event, variables) {
- var description = '';
- var stringsArray = [];
- if (salesforceData.configuration.Description.length > 0) {
- var descriptionConfiguration = _.sortBy(salesforceData.configuration.Description, ['id']);
- _.forEach(descriptionConfiguration, function(value) {
- if (value.type === 'string') {
- stringsArray.push(value.content);
- } else if (value.type === 'keyValue') {
- if (value.keyType === 'string') {
- stringsArray.push(util.format('%s: %s', value.key, value.keyContent));
- } else if (value.keyType === 'variable' && value.variableName) {
- var prop = getValueFromPropertyName(event, value.variableName, salesforceData);
- if (prop) {
- stringsArray.push(util.format('%s: %s', value.key, prop.toString()));
- }
- } else if (value.keyType === 'customVariable') {
- variables[value.Variable.name] && stringsArray.push(util.format('%s: %s', value.key, variables[value.Variable.name]));
- }
- }
- });
- description = stringsArray.join('\n');
- }
- return description;
-}
-
-function createCustomFieldsFromConfiguration(salesforceData, event, variables) {
- var customFields = [];
- var fieldArray = [];
- if (salesforceData.configuration.Field.length > 0) {
- customFields = salesforceData.configuration.Field;
- _.forEach(customFields, function(item) {
- if (item.type === 'string') {
- fieldArray.push({
- id: item.idField,
- value: item.content
- });
- } else if (item.type === 'variable') {
- var prop = getValueFromPropertyName(event, item.variableName, salesforceData);
- if (prop) {
- fieldArray.push({
- id: item.idField,
- value: prop.toString()
- });
- }
- } else if (item.type === 'customVariable') {
- variables[item.Variable.name] && fieldArray.push({
- id: item.idField,
- value: variables[item.Variable.name].toString()
- });
- }
- });
- }
- return fieldArray;
-}
-
-function handleTaskDisplay(salesforceData) {
- return function(data) {
- if (data && data.success) {
- console.log('[Salesforce] Task created ', data.id);
- salesforceData.taskId = data.id;
- return;
- }
- return;
- }
-}
-
-function handleReportIntegration(salesforceData, channel, data, integrationId) {
- return function() {
- delete data.id;
- data.integration = 'salesforce';
- data.eventChannel = channel;
- data.exitStatus = 'success';
- data.ticketId = salesforceData.taskId;
- data.integrationId = integrationId;
- data.url = util.format('%s/%s/e', salesforceData.connection.instanceUrl, salesforceData.taskId);
- return ReportIntegration.create(data);
- }
-}
-
-function handleEnd(salesforceData, data, channel) {
- return function() {
- console.log(util.format('[Salesforce] Task %s displayed to agent %s', salesforceData.taskId, salesforceData.agent.Id));
- salesforceData = undefined;
- return;
- }
-}
-
-function handleError(salesforceData, channel, data, integrationId) {
- return function(err) {
- console.error('[Salesforce] Error in task creation');
- console.error('[Salesforce] Message:', err.message);
- console.error('[Salesforce] Stack:', err.stack);
- salesforceData = undefined;
-
- delete data.id;
- data.integration = 'salesforce';
- data.eventChannel = channel;
- data.exitStatus = 'failed';
- data.integrationId = integrationId;
- ReportIntegration
- .create(data)
- .then(function() {
- return;
- })
- .catch(function(err) {
- console.error('[Salesforce] Error in Report integration create');
- return;
- });
- }
-}
-
-function stripTrailingSlash(str) {
- if (str.substr(-1) === '/') {
- return str.substr(0, str.length - 1);
- }
- return str;
-}
-
-module.exports = Salesforce;
+var _0xb5ce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x6A\x73\x66\x6F\x72\x63\x65","\x6D\x6F\x6D\x65\x6E\x74","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x68\x61\x6E\x64\x6C\x65\x45\x76\x65\x6E\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x50\x61\x73\x73\x65\x64\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x20\x61\x72\x65\x20\x6E\x6F\x74\x20\x65\x6E\x6F\x75\x67\x68\x20\x74\x6F\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x6E\x65\x77\x20\x74\x69\x63\x6B\x65\x74\x3A\x20\x6D\x69\x73\x73\x20\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x49\x64\x20\x6F\x72\x20\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x49\x64","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x41\x63\x63\x6F\x75\x6E\x74","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x6C\x6F\x67\x69\x6E\x2E\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2E\x63\x6F\x6D","\x63\x6C\x69\x65\x6E\x74\x49\x64","\x63\x6C\x69\x65\x6E\x74\x53\x65\x63\x72\x65\x74","\x73\x65\x63\x75\x72\x69\x74\x79\x54\x6F\x6B\x65\x6E","\x63\x6F\x6E\x63\x61\x74","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x73\x65\x72\x76\x65\x72\x55\x52\x4C","\x73\x65\x72\x76\x65\x72\x55\x72\x6C","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x6C\x6F\x67\x69\x6E","\x71\x75\x65\x75\x65","\x6E\x61\x6D\x65","\x6D\x6F\x6E\x69\x74\x6F\x72\x5F\x66\x6F\x72\x6D\x61\x74","\x66\x69\x6E\x64\x4F\x6E\x65","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x65\x6E\x61\x62\x6C\x65\x64\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x51\x75\x65\x75\x65","\x72\x65\x63\x6F\x72\x64\x45\x6E\x61\x62\x6C\x65","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x20\x6F\x72\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x6E\x6F\x74\x20\x65\x6E\x61\x62\x6C\x65\x64","\x72\x6F\x75\x74\x65\x49\x64","\x69\x64","\x72\x65\x63\x6F\x72\x64","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x65\x6E\x61\x62\x6C\x65\x64\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x52\x6F\x75\x74\x65\x20\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x52\x6F\x75\x74\x65\x20\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x20\x6F\x72\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x6E\x6F\x74\x20\x65\x6E\x61\x62\x6C\x65\x64","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x41\x67\x65\x6E\x74\x20\x74\x6F\x20\x73\x65\x61\x72\x63\x68\x3A","\x65\x78\x65\x63\x75\x74\x65","\x55\x73\x65\x72","\x73\x6F\x62\x6A\x65\x63\x74","","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x76\x6F\x69\x63\x65","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64\x3A","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x55\x52\x4C","\x25\x73\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73\x2F\x25\x73\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x3F\x74\x79\x70\x65\x3D\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x66\x6F\x72\x6D\x61\x74","\x72\x65\x73\x75\x6C\x74","\x6C\x65\x6E\x67\x74\x68","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x41\x67\x65\x6E\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x61\x67\x65\x6E\x74","\x4E\x61\x6D\x65","\x66\x69\x72\x73\x74","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x41\x67\x65\x6E\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E\x20\x55\x73\x65\x20\x74\x68\x65\x20\x61\x64\x6D\x69\x6E\x20\x61\x63\x63\x6F\x75\x6E\x74","\x69\x64\x65\x6E\x74\x69\x74\x79","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x41\x64\x6D\x69\x6E\x20\x73\x65\x6C\x65\x63\x74\x65\x64","\x75\x73\x65\x72\x5F\x69\x64","\x64\x69\x73\x70\x6C\x61\x79\x5F\x6E\x61\x6D\x65","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x43\x6F\x6E\x74\x61\x63\x74\x20\x74\x6F\x20\x73\x65\x61\x72\x63\x68\x3A","\x43\x6F\x6E\x74\x61\x63\x74","\x50\x68\x6F\x6E\x65","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x43\x6F\x6E\x74\x61\x63\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x65\x6E\x64\x75\x73\x65\x72","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x43\x6F\x6E\x74\x61\x63\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x4C\x65\x61\x64\x20\x74\x6F\x20\x73\x65\x61\x72\x63\x68\x3A","\x4C\x65\x61\x64","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x4C\x65\x61\x64\x20\x66\x6F\x75\x6E\x64\x3A","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x43\x6F\x6E\x74\x61\x63\x74\x2F\x4C\x65\x61\x64\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x63\x72\x65\x61\x74\x65","\x4E\x6F\x20\x43\x6F\x6D\x70\x61\x6E\x79","\x4C\x61\x73\x74\x4E\x61\x6D\x65","\x43\x61\x6C\x6C\x65\x72\x20\x2D\x20\x25\x73","\x3C\x75\x6E\x6B\x6E\x6F\x77\x6E\x3E","\x73\x75\x63\x63\x65\x73\x73","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x4C\x65\x61\x64\x20\x63\x72\x65\x61\x74\x65\x64\x3A\x20","\x49\x64","\x75\x74\x63","\x76\x61\x6C\x75\x65","\x66\x6F\x72\x45\x61\x63\x68","\x54\x61\x73\x6B","\x53\x75\x62\x6A\x65\x63\x74","\x73\x6F\x72\x74\x42\x79","\x74\x79\x70\x65","\x73\x74\x72\x69\x6E\x67","\x63\x6F\x6E\x74\x65\x6E\x74","\x70\x75\x73\x68","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65","\x63\x75\x73\x74\x6F\x6D\x56\x61\x72\x69\x61\x62\x6C\x65","\x56\x61\x72\x69\x61\x62\x6C\x65","\x20","\x6A\x6F\x69\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6B\x65\x79\x56\x61\x6C\x75\x65","\x6B\x65\x79\x54\x79\x70\x65","\x25\x73\x3A\x20\x25\x73","\x6B\x65\x79","\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74","\x0A","\x46\x69\x65\x6C\x64","\x69\x64\x46\x69\x65\x6C\x64","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x54\x61\x73\x6B\x20\x63\x72\x65\x61\x74\x65\x64\x20","\x74\x61\x73\x6B\x49\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x65\x78\x69\x74\x53\x74\x61\x74\x75\x73","\x74\x69\x63\x6B\x65\x74\x49\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x49\x64","\x75\x72\x6C","\x25\x73\x2F\x25\x73\x2F\x65","\x69\x6E\x73\x74\x61\x6E\x63\x65\x55\x72\x6C","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x54\x61\x73\x6B\x20\x25\x73\x20\x64\x69\x73\x70\x6C\x61\x79\x65\x64\x20\x74\x6F\x20\x61\x67\x65\x6E\x74\x20\x25\x73","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x74\x61\x73\x6B\x20\x63\x72\x65\x61\x74\x69\x6F\x6E","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x4D\x65\x73\x73\x61\x67\x65\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x53\x74\x61\x63\x6B\x3A","\x73\x74\x61\x63\x6B","\x66\x61\x69\x6C\x65\x64","\x5B\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x52\x65\x70\x6F\x72\x74\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x63\x72\x65\x61\x74\x65","\x73\x75\x62\x73\x74\x72","\x2F","\x65\x78\x70\x6F\x72\x74\x73"];_0xb5ce[0];var _=require(_0xb5ce[1]);var util=require(_0xb5ce[2]);var jsforce=require(_0xb5ce[3]);var moment=require(_0xb5ce[4]);var SalesforceIntegration=require(_0xb5ce[6])[_0xb5ce[5]];var SalesforceConfiguration=require(_0xb5ce[6])[_0xb5ce[7]];var ReportIntegration=require(_0xb5ce[6])[_0xb5ce[8]];var VoiceQueue=require(_0xb5ce[6])[_0xb5ce[9]];var VoiceExtension=require(_0xb5ce[6])[_0xb5ce[10]];function Salesforce(){console[_0xb5ce[12]](_0xb5ce[11])}Salesforce[_0xb5ce[14]][_0xb5ce[13]]= function(_0x3f99xb,_0x3f99xc,_0x3f99xd,_0x3f99xe,_0x3f99xf,_0x3f99x10){var _0x3f99x11={connection:undefined,configuration:undefined,agent:undefined,enduser:undefined,taskId:undefined,recordEnable:false,serverURL:undefined};if(!_0x3f99xb|| !_0x3f99xc){console[_0xb5ce[16]](_0xb5ce[15]);return};SalesforceConfiguration[_0xb5ce[19]]({where:{id:_0x3f99xc,AccountId:_0x3f99xb},include:[{all:true,include:[{all:true}]}]})[_0xb5ce[18]](handleEntityNotFound())[_0xb5ce[18]](handleConnection(_0x3f99x11))[_0xb5ce[18]](searchQueue(_0x3f99xf))[_0xb5ce[18]](handleQueueRecordings(_0x3f99x11,_0x3f99xf))[_0xb5ce[18]](searchRoute(_0x3f99xf))[_0xb5ce[18]](handleOutboundRecordings(_0x3f99x11,_0x3f99xf))[_0xb5ce[18]](searchAgent(_0x3f99x11,_0x3f99xd,_0x3f99xf))[_0xb5ce[18]](handleAgent(_0x3f99x11,_0x3f99xd,_0x3f99xf))[_0xb5ce[18]](searchAdmin(_0x3f99x11))[_0xb5ce[18]](handleAdmin(_0x3f99x11))[_0xb5ce[18]](searchContact(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe))[_0xb5ce[18]](handleContact(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe))[_0xb5ce[18]](searchLead(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe))[_0xb5ce[18]](handleLead(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe))[_0xb5ce[18]](leadCreation(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe))[_0xb5ce[18]](handleLeadCreation(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe))[_0xb5ce[18]](taskCreation(_0x3f99x11,_0x3f99xf,_0x3f99x10))[_0xb5ce[18]](handleTaskDisplay(_0x3f99x11))[_0xb5ce[18]](handleReportIntegration(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xb))[_0xb5ce[18]](handleEnd(_0x3f99x11))[_0xb5ce[17]](handleError(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xb))};function handleEntityNotFound(){return function(_0x3f99x13){if(!_0x3f99x13){return null};return _0x3f99x13}}function handleConnection(_0x3f99x11){return function(_0x3f99x15){_0x3f99x11[_0xb5ce[20]]= new jsforce.Connection({oauth2:{loginUrl:_0x3f99x15[_0xb5ce[22]][_0xb5ce[21]]?_0x3f99x15[_0xb5ce[22]][_0xb5ce[21]]:_0xb5ce[23],clientId:_0x3f99x15[_0xb5ce[22]][_0xb5ce[24]],clientSecret:_0x3f99x15[_0xb5ce[22]][_0xb5ce[25]]}});var _0x3f99x16=_0x3f99x15[_0xb5ce[22]][_0xb5ce[28]][_0xb5ce[27]](_0x3f99x15[_0xb5ce[22]][_0xb5ce[26]]);_0x3f99x11[_0xb5ce[29]]= _0x3f99x15;_0x3f99x11[_0xb5ce[30]]= _0x3f99x15[_0xb5ce[22]][_0xb5ce[31]];return _0x3f99x11[_0xb5ce[20]][_0xb5ce[33]](_0x3f99x15[_0xb5ce[22]][_0xb5ce[32]],_0x3f99x16)}}function searchQueue(_0x3f99xf){return function(){if(_0x3f99xf[_0xb5ce[34]]){return VoiceQueue[_0xb5ce[37]]({where:{name:_0x3f99xf[_0xb5ce[34]]},attributes:[_0xb5ce[35],_0xb5ce[36]]})}else {return}}}function handleQueueRecordings(_0x3f99x11,_0x3f99xf){return function(_0x3f99x19){if(_0x3f99xf[_0xb5ce[34]]){if(_0x3f99x19&& _0x3f99x19[_0xb5ce[36]]){console[_0xb5ce[12]](_0xb5ce[38],_0x3f99x19[_0xb5ce[35]]);_0x3f99x11[_0xb5ce[39]]= true}else {_0x3f99x11[_0xb5ce[39]]= false;console[_0xb5ce[12]](_0xb5ce[40])}};return}}function searchRoute(_0x3f99xf){return function(){if(_0x3f99xf[_0xb5ce[41]]){return VoiceExtension[_0xb5ce[37]]({where:{id:_0x3f99xf[_0xb5ce[41]]},attributes:[_0xb5ce[42],_0xb5ce[43]]})}else {return}}}function handleOutboundRecordings(_0x3f99x11,_0x3f99xf){return function(_0x3f99x1c){if(_0x3f99xf[_0xb5ce[41]]){if(_0x3f99x1c&& _0x3f99x1c[_0xb5ce[43]]){console[_0xb5ce[12]](_0xb5ce[44],_0x3f99x1c[_0xb5ce[42]]);_0x3f99x11[_0xb5ce[39]]= true}else {_0x3f99x11[_0xb5ce[39]]= false;console[_0xb5ce[12]](_0xb5ce[45])}};return}}function searchAgent(_0x3f99x11,_0x3f99xd,_0x3f99xf){return function(){console[_0xb5ce[12]](_0xb5ce[46],getValueFromPropertyName(_0x3f99xf,getAgentSearchPropertyFromChannel(_0x3f99xd)));return _0x3f99x11[_0xb5ce[20]][_0xb5ce[49]](_0xb5ce[48])[_0xb5ce[19]]({Name:getValueFromPropertyName(_0x3f99xf,getAgentSearchPropertyFromChannel(_0x3f99xd))},{Id:1,Username:1,Name:1})[_0xb5ce[47]]()}}function getAgentSearchPropertyFromChannel(_0x3f99xd){var _0x3f99x1f=_0xb5ce[50];if(_0x3f99xd){switch(_0x3f99xd){case _0xb5ce[52]:_0x3f99x1f= _0xb5ce[51];break;default:_0x3f99x1f= _0xb5ce[51];console[_0xb5ce[16]](_0xb5ce[53],_0x3f99xd)}};return _0x3f99x1f}function getValueFromPropertyName(_0x3f99xf,_0x3f99x1f,_0x3f99x11){if(_0x3f99x1f=== _0xb5ce[54]){if(_0x3f99x11&& _0x3f99x11[_0xb5ce[39]]&& _0x3f99x11[_0xb5ce[30]]){return util[_0xb5ce[57]](_0xb5ce[55],stripTrailingSlash(_0x3f99x11[_0xb5ce[30]]),_0x3f99xf[_0xb5ce[56]])}else {return null}}else {return _[_0xb5ce[58]](_0x3f99xf,_0x3f99x1f)}}function handleAgent(_0x3f99x11,_0x3f99xd,_0x3f99x22){return function(_0x3f99xf){if(_0x3f99xf[_0xb5ce[59]]> 0){console[_0xb5ce[12]](_0xb5ce[60],getValueFromPropertyName(_0x3f99x22,getAgentSearchPropertyFromChannel(_0x3f99xd)));_0x3f99x11[_0xb5ce[61]]= getMatchObject(_0x3f99xf,_0xb5ce[62],getValueFromPropertyName(_0x3f99x22,getAgentSearchPropertyFromChannel(_0x3f99xd)));return _0x3f99x11[_0xb5ce[61]]};return}}function getMatchObject(_0x3f99x24,_0x3f99x1f,_0x3f99x25){var _0x3f99x26=_[_0xb5ce[19]](_0x3f99x24,{property:_0x3f99x25});if(_0x3f99x26){return _0x3f99x26};return _[_0xb5ce[63]](_0x3f99x24)}function searchAdmin(_0x3f99x11){return function(_0x3f99xf){if(_0x3f99xf){return};console[_0xb5ce[12]](_0xb5ce[64]);return _0x3f99x11[_0xb5ce[20]][_0xb5ce[65]]()}}function handleAdmin(_0x3f99x11){return function(_0x3f99xf){if(!_0x3f99xf){return};if(_0x3f99xf){console[_0xb5ce[12]](_0xb5ce[66]);_0x3f99x11[_0xb5ce[61]]= {Id:_0x3f99xf[_0xb5ce[67]],Name:_0x3f99xf[_0xb5ce[68]],Username:_0x3f99xf[_0xb5ce[32]]}};return}}function searchContact(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xe){return function(){console[_0xb5ce[12]](_0xb5ce[69],getValueFromPropertyName(_0x3f99xf,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));var _0x3f99x2a={};_0x3f99x2a[getEndUserSearchQueryFromChannel(_0x3f99xd)]= getValueFromPropertyName(_0x3f99xf,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe));return _0x3f99x11[_0xb5ce[20]][_0xb5ce[49]](_0xb5ce[70])[_0xb5ce[19]](_0x3f99x2a,{Id:1,Name:1})[_0xb5ce[47]]()}}function getEndUserSearchQueryFromChannel(_0x3f99xd){var _0x3f99x1f=_0xb5ce[50];if(_0x3f99xd){switch(_0x3f99xd){case _0xb5ce[52]:_0x3f99x1f= _0xb5ce[71];break;default:_0x3f99x1f= _0xb5ce[71];console[_0xb5ce[16]](_0xb5ce[53],_0x3f99xd)}};return _0x3f99x1f}function getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe){var _0x3f99x1f=_0xb5ce[50];if(_0x3f99xd){switch(_0x3f99xd){case _0xb5ce[52]:if(_0x3f99xe=== _0xb5ce[72]){_0x3f99x1f= _0xb5ce[73]}else {if(_0x3f99xe=== _0xb5ce[34]){_0x3f99x1f= _0xb5ce[74]}};break;default:_0x3f99x1f= _0xb5ce[74];console[_0xb5ce[16]](_0xb5ce[53],_0x3f99xd)}};return _0x3f99x1f}function getEndUserNamePropertyFromChannel(_0x3f99xd,_0x3f99xe){var _0x3f99x1f=_0xb5ce[50];if(_0x3f99xd){switch(_0x3f99xd){case _0xb5ce[52]:if(_0x3f99xe=== _0xb5ce[72]){_0x3f99x1f= _0xb5ce[75]}else {if(_0x3f99xe=== _0xb5ce[34]){_0x3f99x1f= _0xb5ce[76]}};break;default:_0x3f99x1f= _0xb5ce[76];console[_0xb5ce[16]](_0xb5ce[53],_0x3f99xd)}};return _0x3f99x1f}function handleContact(_0x3f99x11,_0x3f99xd,_0x3f99x22,_0x3f99xe){return function(_0x3f99xf){if(_0x3f99xf[_0xb5ce[59]]> 0){console[_0xb5ce[12]](_0xb5ce[77],getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));_0x3f99x11[_0xb5ce[78]]= _0x3f99xf[0];return _0x3f99x11[_0xb5ce[78]]};console[_0xb5ce[12]](_0xb5ce[79],getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));return}}function searchLead(_0x3f99x11,_0x3f99xd,_0x3f99x22,_0x3f99xe){return function(_0x3f99xf){if(!_0x3f99xf){console[_0xb5ce[12]](_0xb5ce[80],getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));var _0x3f99x2a={};_0x3f99x2a[getEndUserSearchQueryFromChannel(_0x3f99xd)]= getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe));return _0x3f99x11[_0xb5ce[20]][_0xb5ce[49]](_0xb5ce[81])[_0xb5ce[19]](_0x3f99x2a,{Id:1,Name:1})[_0xb5ce[47]]()};return}}function handleLead(_0x3f99x11,_0x3f99xd,_0x3f99x22,_0x3f99xe){return function(_0x3f99xf){if(_0x3f99xf&& _0x3f99xf[_0xb5ce[59]]> 0){console[_0xb5ce[12]](_0xb5ce[82],getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));_0x3f99x11[_0xb5ce[78]]= _0x3f99xf[0];return _0x3f99x11[_0xb5ce[78]]};return}}function leadCreation(_0x3f99x11,_0x3f99xd,_0x3f99x22,_0x3f99xe){return function(_0x3f99xf){if(_0x3f99xf|| _0x3f99x11[_0xb5ce[78]]){return};console[_0xb5ce[12]](_0xb5ce[83],getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));return _0x3f99x11[_0xb5ce[20]][_0xb5ce[49]](_0xb5ce[81])[_0xb5ce[84]](getJsonForEndUserCreation(_0x3f99xd,_0x3f99x22,_0x3f99xe))}}function getJsonForEndUserCreation(_0x3f99xd,_0x3f99xf,_0x3f99xe){var _0x3f99x33={Company:_0xb5ce[85]};switch(_0x3f99xd){case _0xb5ce[52]:if(_0x3f99xe=== _0xb5ce[34]){if(isValidName(_0x3f99xf[_0xb5ce[76]])){_0x3f99x33[_0xb5ce[86]]= getValueFromPropertyName(_0x3f99xf,getEndUserNamePropertyFromChannel(_0x3f99xd,_0x3f99xe))}else {_0x3f99x33[_0xb5ce[86]]= util[_0xb5ce[57]](_0xb5ce[87],getValueFromPropertyName(_0x3f99xf,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)))}}else {if(_0x3f99xe=== _0xb5ce[72]){if(isValidName(_0x3f99xf[_0xb5ce[75]])){_0x3f99x33[_0xb5ce[86]]= getValueFromPropertyName(_0x3f99xf,getEndUserNamePropertyFromChannel(_0x3f99xd,_0x3f99xe))}else {_0x3f99x33[_0xb5ce[86]]= util[_0xb5ce[57]](_0xb5ce[87],getValueFromPropertyName(_0x3f99xf,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)))}}};_0x3f99x33[_0xb5ce[71]]= getValueFromPropertyName(_0x3f99xf,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe));break;default:console[_0xb5ce[16]](_0xb5ce[53],_0x3f99xd)};return _0x3f99x33}function isValidName(_0x3f99x35){return _0x3f99x35&& _0x3f99x35!== _0xb5ce[88]}function handleLeadCreation(_0x3f99x11,_0x3f99xd,_0x3f99x22,_0x3f99xe){return function(_0x3f99xf){if(!_0x3f99xf){return};if(_0x3f99xf&& _0x3f99xf[_0xb5ce[89]]){console[_0xb5ce[12]](_0xb5ce[90],getValueFromPropertyName(_0x3f99x22,getEndUserSearchPropertyFromChannel(_0x3f99xd,_0x3f99xe)));_0x3f99x11[_0xb5ce[78]]= {Id:_0x3f99xf[_0xb5ce[42]]}};return}}function taskCreation(_0x3f99x11,_0x3f99x22,_0x3f99x10){return function(){var _0x3f99x38={WhoId:_0x3f99x11[_0xb5ce[78]][_0xb5ce[91]],OwnerId:_0x3f99x11[_0xb5ce[61]][_0xb5ce[91]],ActivityDate:moment[_0xb5ce[92]](),IsReminderSet:false,IsRecurrence:false,Subject:createSubjectFromConfiguration(_0x3f99x11,_0x3f99x22,_0x3f99x10),Description:createDescriptionFromConfiguration(_0x3f99x11,_0x3f99x22,_0x3f99x10)};var _0x3f99x39=createCustomFieldsFromConfiguration(_0x3f99x11,_0x3f99x22,_0x3f99x10);if(_0x3f99x39[_0xb5ce[59]]> 0){_[_0xb5ce[94]](_0x3f99x39,function(_0x3f99x3a){_0x3f99x38[_0x3f99x3a[_0xb5ce[42]]]= _0x3f99x3a[_0xb5ce[93]]})};return _0x3f99x11[_0xb5ce[20]][_0xb5ce[49]](_0xb5ce[95])[_0xb5ce[84]](_0x3f99x38)}}function createSubjectFromConfiguration(_0x3f99x11,_0x3f99x22,_0x3f99x10){var _0x3f99x3c=_0xb5ce[50];var _0x3f99x3d=[];if(_0x3f99x11[_0xb5ce[29]][_0xb5ce[96]][_0xb5ce[59]]> 0){var _0x3f99x3e=_[_0xb5ce[97]](_0x3f99x11[_0xb5ce[29]].Subject,[_0xb5ce[42]]);_[_0xb5ce[94]](_0x3f99x3e,function(_0x3f99x3f){if(_0x3f99x3f[_0xb5ce[98]]=== _0xb5ce[99]){_0x3f99x3d[_0xb5ce[101]](_0x3f99x3f[_0xb5ce[100]])}else {if(_0x3f99x3f[_0xb5ce[98]]=== _0xb5ce[102]&& _0x3f99x3f[_0xb5ce[103]]){var _0x3f99x40=getValueFromPropertyName(_0x3f99x22,_0x3f99x3f[_0xb5ce[103]],_0x3f99x11);if(_0x3f99x40){_0x3f99x3d[_0xb5ce[101]](_0x3f99x40.toString())}}else {if(_0x3f99x3f[_0xb5ce[98]]=== _0xb5ce[104]){_0x3f99x10[_0x3f99x3f[_0xb5ce[105]][_0xb5ce[35]]]&& _0x3f99x3d[_0xb5ce[101]](_0x3f99x10[_0x3f99x3f[_0xb5ce[105]][_0xb5ce[35]]].toString())}}}});_0x3f99x3c= _0x3f99x3d[_0xb5ce[107]](_0xb5ce[106])};return _0x3f99x3c}function createDescriptionFromConfiguration(_0x3f99x11,_0x3f99x22,_0x3f99x10){var _0x3f99x42=_0xb5ce[50];var _0x3f99x3d=[];if(_0x3f99x11[_0xb5ce[29]][_0xb5ce[108]][_0xb5ce[59]]> 0){var _0x3f99x43=_[_0xb5ce[97]](_0x3f99x11[_0xb5ce[29]].Description,[_0xb5ce[42]]);_[_0xb5ce[94]](_0x3f99x43,function(_0x3f99x3f){if(_0x3f99x3f[_0xb5ce[98]]=== _0xb5ce[99]){_0x3f99x3d[_0xb5ce[101]](_0x3f99x3f[_0xb5ce[100]])}else {if(_0x3f99x3f[_0xb5ce[98]]=== _0xb5ce[109]){if(_0x3f99x3f[_0xb5ce[110]]=== _0xb5ce[99]){_0x3f99x3d[_0xb5ce[101]](util[_0xb5ce[57]](_0xb5ce[111],_0x3f99x3f[_0xb5ce[112]],_0x3f99x3f[_0xb5ce[113]]))}else {if(_0x3f99x3f[_0xb5ce[110]]=== _0xb5ce[102]&& _0x3f99x3f[_0xb5ce[103]]){var _0x3f99x40=getValueFromPropertyName(_0x3f99x22,_0x3f99x3f[_0xb5ce[103]],_0x3f99x11);if(_0x3f99x40){_0x3f99x3d[_0xb5ce[101]](util[_0xb5ce[57]](_0xb5ce[111],_0x3f99x3f[_0xb5ce[112]],_0x3f99x40.toString()))}}else {if(_0x3f99x3f[_0xb5ce[110]]=== _0xb5ce[104]){_0x3f99x10[_0x3f99x3f[_0xb5ce[105]][_0xb5ce[35]]]&& _0x3f99x3d[_0xb5ce[101]](util[_0xb5ce[57]](_0xb5ce[111],_0x3f99x3f[_0xb5ce[112]],_0x3f99x10[_0x3f99x3f[_0xb5ce[105]][_0xb5ce[35]]]))}}}}}});_0x3f99x42= _0x3f99x3d[_0xb5ce[107]](_0xb5ce[114])};return _0x3f99x42}function createCustomFieldsFromConfiguration(_0x3f99x11,_0x3f99x22,_0x3f99x10){var _0x3f99x45=[];var _0x3f99x46=[];if(_0x3f99x11[_0xb5ce[29]][_0xb5ce[115]][_0xb5ce[59]]> 0){_0x3f99x45= _0x3f99x11[_0xb5ce[29]][_0xb5ce[115]];_[_0xb5ce[94]](_0x3f99x45,function(_0x3f99x3a){if(_0x3f99x3a[_0xb5ce[98]]=== _0xb5ce[99]){_0x3f99x46[_0xb5ce[101]]({id:_0x3f99x3a[_0xb5ce[116]],value:_0x3f99x3a[_0xb5ce[100]]})}else {if(_0x3f99x3a[_0xb5ce[98]]=== _0xb5ce[102]){var _0x3f99x40=getValueFromPropertyName(_0x3f99x22,_0x3f99x3a[_0xb5ce[103]],_0x3f99x11);if(_0x3f99x40){_0x3f99x46[_0xb5ce[101]]({id:_0x3f99x3a[_0xb5ce[116]],value:_0x3f99x40.toString()})}}else {if(_0x3f99x3a[_0xb5ce[98]]=== _0xb5ce[104]){_0x3f99x10[_0x3f99x3a[_0xb5ce[105]][_0xb5ce[35]]]&& _0x3f99x46[_0xb5ce[101]]({id:_0x3f99x3a[_0xb5ce[116]],value:_0x3f99x10[_0x3f99x3a[_0xb5ce[105]][_0xb5ce[35]]].toString()})}}}})};return _0x3f99x46}function handleTaskDisplay(_0x3f99x11){return function(_0x3f99xf){if(_0x3f99xf&& _0x3f99xf[_0xb5ce[89]]){console[_0xb5ce[12]](_0xb5ce[117],_0x3f99xf[_0xb5ce[42]]);_0x3f99x11[_0xb5ce[118]]= _0x3f99xf[_0xb5ce[42]];return};return}}function handleReportIntegration(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xb){return function(){delete _0x3f99xf[_0xb5ce[42]];_0x3f99xf[_0xb5ce[119]]= _0xb5ce[120];_0x3f99xf[_0xb5ce[121]]= _0x3f99xd;_0x3f99xf[_0xb5ce[122]]= _0xb5ce[89];_0x3f99xf[_0xb5ce[123]]= _0x3f99x11[_0xb5ce[118]];_0x3f99xf[_0xb5ce[124]]= _0x3f99xb;_0x3f99xf[_0xb5ce[125]]= util[_0xb5ce[57]](_0xb5ce[126],_0x3f99x11[_0xb5ce[20]][_0xb5ce[127]],_0x3f99x11[_0xb5ce[118]]);return ReportIntegration[_0xb5ce[84]](_0x3f99xf)}}function handleEnd(_0x3f99x11,_0x3f99xf,_0x3f99xd){return function(){console[_0xb5ce[12]](util[_0xb5ce[57]](_0xb5ce[128],_0x3f99x11[_0xb5ce[118]],_0x3f99x11[_0xb5ce[61]].Id));_0x3f99x11= undefined;return}}function handleError(_0x3f99x11,_0x3f99xd,_0x3f99xf,_0x3f99xb){return function(_0x3f99x4b){console[_0xb5ce[16]](_0xb5ce[129]);console[_0xb5ce[16]](_0xb5ce[130],_0x3f99x4b[_0xb5ce[131]]);console[_0xb5ce[16]](_0xb5ce[132],_0x3f99x4b[_0xb5ce[133]]);_0x3f99x11= undefined;delete _0x3f99xf[_0xb5ce[42]];_0x3f99xf[_0xb5ce[119]]= _0xb5ce[120];_0x3f99xf[_0xb5ce[121]]= _0x3f99xd;_0x3f99xf[_0xb5ce[122]]= _0xb5ce[134];_0x3f99xf[_0xb5ce[124]]= _0x3f99xb;ReportIntegration[_0xb5ce[84]](_0x3f99xf)[_0xb5ce[18]](function(){return})[_0xb5ce[17]](function(_0x3f99x4b){console[_0xb5ce[16]](_0xb5ce[135]);return})}}function stripTrailingSlash(_0x3f99x4d){if(_0x3f99x4d[_0xb5ce[136]](-1) === _0xb5ce[137]){return _0x3f99x4d[_0xb5ce[136]](0,_0x3f99x4d[_0xb5ce[59]]- 1)};return _0x3f99x4d}module[_0xb5ce[138]]= Salesforce
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var rp = require('request-promise');
-
-var ZendeskIntegration = require('../../models').ZendeskIntegration;
-var ZendeskConfiguration = require('../../models').ZendeskConfiguration;
-var ReportIntegration = require('../../models').ReportIntegration;
-var VoiceQueue = require('../../models').VoiceQueue;
-var VoiceExtension = require('../../models').VoiceExtension;
-var Agent = require('../../models').User;
-
-function Zendesk() {
- console.log('Zendesk integration initialization...');
-}
-
-Zendesk.prototype.handleEvent = function(integrationId, configurationId, channel, subtype, data, variables) {
-
- var zendeskData = {
- uri: undefined,
- headers: undefined,
- agent: undefined,
- enduser: undefined,
- ticket: undefined,
- configuration: undefined,
- recordEnable: false,
- serverURL: undefined,
- agentName: undefined
- };
-
- if (!integrationId || !configurationId) {
- console.error('Passed parameters are not enough to create a new ticket: miss IntegrationId or ConfigurationId');
- return;
- }
-
- ZendeskConfiguration
- .find({
- where: {
- id: configurationId,
- AccountId: integrationId
- },
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- })
- .then(handleEntityNotFound())
- .then(handleConnection(zendeskData))
- .then(searchMotionAgent(channel, data))
- .then(handleMotionAgent(zendeskData))
- .then(searchQueue(data))
- .then(handleQueueRecordings(zendeskData, data))
- .then(searchRoute(data))
- .then(handleOutboundRecordings(zendeskData, data))
- .then(searchAgent(zendeskData))
- .then(handleAgent(zendeskData))
- .then(searchAdmin(zendeskData))
- .then(handleAdmin(zendeskData))
- .then(searchEndUser(zendeskData, channel, data, subtype))
- .then(handleEndUser(zendeskData, channel, data, subtype))
- .then(endUserCreation(zendeskData, channel, data, subtype))
- .then(handleEndUserCreation(zendeskData, channel, data, subtype))
- .then(ticketCreation(zendeskData, data, variables))
- .then(handleTicketDisplay(zendeskData))
- .then(handleReportIntegration(zendeskData, channel, data, integrationId))
- .then(handleEnd(zendeskData))
- .catch(handleError(zendeskData, channel, data, integrationId));
-
-};
-
-function handleEntityNotFound() {
- return function(entity) {
- if (!entity) {
- return null;
- }
- return entity;
- };
-}
-
-function handleConnection(zendeskData) {
- return function(configuration) {
- var accConfiguration = getAccountConfiguration(configuration.ZendeskAccount);
- zendeskData.configuration = configuration;
- zendeskData.uri = accConfiguration.uri;
- zendeskData.headers = accConfiguration.headers;
- zendeskData.serverURL = configuration.ZendeskAccount.serverUrl;
- }
-}
-
-function searchMotionAgent(channel, data) {
- return function() {
- return Agent
- .scope('agent')
- .findOne({
- where: {
- name: getValueFromPropertyName(data, getAgentSearchPropertyFromChannel(channel))
- },
- attributes: ['fullname']
- });
- }
-}
-
-function handleMotionAgent(zendeskData) {
- return function(agent) {
- if (agent && agent.fullname) {
- zendeskData.agentName = agent.fullname;
- }
- return;
- }
-}
-
-function searchQueue(data) {
- return function() {
- console.log('Searching Queue...');
- if (data.queue) {
- return VoiceQueue.findOne({
- where: {
- name: data.queue
- },
- attributes: ['name', 'monitor_format']
- });
- } else {
- return;
- }
- }
-}
-
-function handleQueueRecordings(zendeskData, data) {
- return function(queue) {
- if (data.queue) {
- if (queue && queue.monitor_format) {
- console.log('[Zendesk] Recording enabled for the Queue', queue.name);
- zendeskData.recordEnable = true;
- } else {
- zendeskData.recordEnable = false;
- console.log('[Zendesk] Queue not found or Recording not enabled');
- }
- }
- return;
- }
-}
-
-function searchRoute(data) {
- return function() {
- if (data.routeId) {
- return VoiceExtension.findOne({
- where: {
- id: data.routeId
- },
- attributes: ['id', 'record']
- });
- } else {
- return;
- }
- }
-}
-
-function handleOutboundRecordings(zendeskData, data) {
- return function(route) {
- if (data.routeId) {
- if (route && route.record) {
- console.log('[Zendesk] Recording enabled for the Route Outbound', route.id);
- zendeskData.recordEnable = true;
- } else {
- zendeskData.recordEnable = false;
- console.log('[Zendesk] Route Outbound not found or Recording not enabled');
- }
- }
- return;
- }
-}
-
-function getAccountConfiguration(account) {
- var authJson = {
- uri: stripTrailingSlash(account.remoteUri),
- headers: {
- 'Authorization': undefined,
- 'Content-Type': 'application/json',
- 'Accept': 'application/json'
- }
- };
- var auth = account.username;
- if (account.authType === 'password') {
- auth = auth + ':' + account.password;
- } else if (account.authType === 'token') {
- auth = auth + '/token:' + account.token;
- }
- authJson.headers.Authorization = 'Basic ' + new Buffer(auth).toString('base64');
- return authJson;
-}
-
-function searchAgent(zendeskData) {
- return function() {
- console.log('[Zendesk] Agent to search:', zendeskData.agentName);
- return rp({
- uri: zendeskData.uri + '/search.json',
- qs: {
- // 'query': "type:user role:agent name:Andrea Bianco"
- 'query': util.format("type:user role:agent name:%s", zendeskData.agentName)
- },
- headers: zendeskData.headers,
- json: true
- });
- }
-}
-
-function getAgentSearchPropertyFromChannel(channel) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- property = 'membername';
- break;
- default:
- property = 'membername';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function getValueFromPropertyName(data, property, zendeskData) {
- if (property === 'recordingURL') {
- if (zendeskData && zendeskData.recordEnable && zendeskData.serverURL) {
- return util.format('%s/api/voice/recordings/%s/download?type=uniqueid', stripTrailingSlash(zendeskData.serverURL), data.uniqueid);
- } else {
- return null;
- }
- } else {
- return _.result(data, property);
- }
-}
-
-function handleAgent(zendeskData) {
- return function(data) {
- if (data.results.length > 0 && data.count > 0) {
- console.log('[Zendesk] Agent found:', zendeskData.agentName);
- zendeskData.agent = getMatchObject(data.results, 'name', zendeskData.agentName);
- return zendeskData.agent;
- }
- return;
- }
-}
-
-function getMatchObject(collection, property, valueToSearch) {
- var valueFound = _.find(collection, {
- property: valueToSearch
- });
- if (valueFound) {
- return valueFound;
- }
- return _.first(collection);
-}
-
-function searchAdmin(zendeskData) {
- return function(data) {
- if (data) {
- return;
- }
- console.log('[Zendesk] Agent not found. Use the admin account');
- return rp({
- uri: zendeskData.uri + '/users/me.json',
- headers: zendeskData.headers,
- json: true
- });
- }
-}
-
-function handleAdmin(zendeskData) {
- return function(data) {
- if (!data) {
- return;
- }
- if (data.user) {
- console.log('[Zendesk] Admin selected');
- zendeskData.agent = data.user;
- }
- return;
- }
-}
-
-function searchEndUser(zendeskData, channel, data, subtype) {
- return function() {
- console.log('[Zendesk] End User to search:', getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)));
- return rp({
- uri: zendeskData.uri + '/search.json',
- qs: {
- 'query': util.format("type:user role:end-user %s:%s", getEndUserSearchQueryFromChannel(channel), getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)))
- },
- headers: zendeskData.headers,
- json: true
- });
- }
-}
-
-function getEndUserSearchQueryFromChannel(channel) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- property = 'phone';
- break;
- default:
- property = 'phone';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function getEndUserSearchPropertyFromChannel(channel, subtype) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- if (subtype === 'outbound') {
- property = 'destcalleridnum';
- } else if (subtype === 'queue') {
- property = 'calleridnum';
- }
- break;
- default:
- property = 'calleridnum';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function getEndUserNamePropertyFromChannel(channel, subtype) {
- var property = '';
- if (channel) {
- switch (channel) {
- case 'voice':
- if (subtype === 'outbound') {
- property = 'destcalleridname';
- } else if (subtype === 'queue') {
- property = 'calleridname';
- }
- break;
- default:
- property = 'calleridname';
- console.error('Channel not recognized:', channel);
- }
- }
- return property;
-}
-
-function handleEndUser(zendeskData, channel, event, subtype) {
- return function(data) {
- if (data.results.length > 0 && data.count > 0) {
- console.log('[Zendesk] End User found:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- zendeskData.enduser = data.results[0];
- return zendeskData.enduser;
- }
- return;
- }
-}
-
-function endUserCreation(zendeskData, channel, event, subtype) {
- return function(data) {
- if (data) {
- return;
- }
- console.log('[Zendesk] End User not found:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- console.log(getJsonForEndUserCreation(channel, event, subtype));
- return rp({
- uri: zendeskData.uri + '/users.json',
- method: 'POST',
- body: {
- user: getJsonForEndUserCreation(channel, event, subtype)
- },
- headers: zendeskData.headers,
- json: true
- });
- }
-}
-
-function getJsonForEndUserCreation(channel, data, subtype) {
- var user = {
- role: 'end-user'
- };
-
- switch (channel) {
- case 'voice':
- if (subtype === 'queue') {
- if (isValidName(data.calleridname)) {
- user.name = getValueFromPropertyName(data, getEndUserNamePropertyFromChannel(channel, subtype));
- } else {
- user.name = util.format('Caller - %s', getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)))
- }
- } else if (subtype === 'outbound') {
- if (isValidName(data.destcalleridname)) {
- user.name = getValueFromPropertyName(data, getEndUserNamePropertyFromChannel(channel, subtype));
- } else {
- user.name = util.format('Caller - %s', getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype)))
- }
- }
- user.phone = getValueFromPropertyName(data, getEndUserSearchPropertyFromChannel(channel, subtype));
- break;
- default:
- console.error('Channel not recognized:', channel);
- }
-
- return user;
-}
-
-function isValidName(name) {
- return name && name !== '<unknown>';
-}
-
-function handleEndUserCreation(zendeskData, channel, event, subtype) {
- return function(data) {
- if (!data) {
- return;
- }
- if (data.user) {
- console.log('[Zendesk] End User created:', getValueFromPropertyName(event, getEndUserSearchPropertyFromChannel(channel, subtype)));
- zendeskData.enduser = data.user;
- }
- return;
- }
-}
-
-function ticketCreation(zendeskData, event, variables) {
- return function() {
- var ticketBody = {
- //Standard Field
- requester_id: zendeskData.agent.id,
- submitter_id: zendeskData.enduser.id,
- assignee_id: zendeskData.enduser.id,
- //Tag
- tags: createTagsFromConfiguration(zendeskData),
- //Configurated Field
- subject: createSubjectFromConfiguration(zendeskData, event, variables),
- description: createDescriptionFromConfiguration(zendeskData, event, variables),
- custom_fields: createCustomFieldsFromConfiguration(zendeskData, event, variables)
- };
- var fields = createFieldsFromConfiguration(zendeskData);
- if (fields.length > 0) {
- _.forEach(fields, function(item) {
- ticketBody[item.id] = item.value;
- });
- }
- console.log('[Zendesk] Ticket body:', ticketBody);
- return rp({
- uri: zendeskData.uri + '/tickets.json',
- method: 'POST',
- body: {
- ticket: ticketBody
- },
- headers: zendeskData.headers,
- json: true
- });
- }
-}
-
-function createTagsFromConfiguration(zendeskData) {
- var tags = [];
- if (zendeskData.configuration.Tags.length > 0) {
- tags = _.map(zendeskData.configuration.Tags, 'name');
- }
- return tags;
-}
-
-function createSubjectFromConfiguration(zendeskData, event, variables) {
- var subject = '';
- var stringsArray = [];
- if (zendeskData.configuration.Subject.length > 0) {
- var subjectConfiguration = _.sortBy(zendeskData.configuration.Subject, ['id']);
- _.forEach(subjectConfiguration, function(value) {
- if (value.type === 'string') {
- stringsArray.push(value.content);
- } else if (value.type === 'variable' && value.variableName) {
- var prop = getValueFromPropertyName(event, value.variableName, zendeskData);
- if (prop) {
- stringsArray.push(prop.toString());
- }
- } else if (value.type === 'customVariable') {
- variables[value.Variable.name] && stringsArray.push(variables[value.Variable.name].toString());
- }
- });
- subject = stringsArray.join(' ');
- }
- return subject;
-}
-
-function createDescriptionFromConfiguration(zendeskData, event, variables) {
- var description = '';
- var stringsArray = [];
- if (zendeskData.configuration.Description.length > 0) {
- var descriptionConfiguration = _.sortBy(zendeskData.configuration.Description, ['id']);
- _.forEach(descriptionConfiguration, function(value) {
- if (value.type === 'string') {
- stringsArray.push(value.content);
- } else if (value.type === 'keyValue') {
- if (value.keyType === 'string') {
- stringsArray.push(util.format('%s: %s', value.key, value.keyContent));
- } else if (value.keyType === 'variable' && value.variableName) {
- var prop = getValueFromPropertyName(event, value.variableName, zendeskData);
- if (prop) {
- stringsArray.push(util.format('%s: %s', value.key, prop.toString()));
- }
- } else if (value.keyType === 'customVariable') {
- variables[value.Variable.name] && stringsArray.push(util.format('%s: %s', value.key, variables[value.Variable.name]));
- }
- }
- });
- description = stringsArray.join('\n');
- }
- return description;
-}
-
-function createCustomFieldsFromConfiguration(zendeskData, event, variables) {
- var customFields = [];
- var fieldArray = [];
- if (zendeskData.configuration.Field.length > 0) {
- customFields = _.filter(zendeskData.configuration.Field, {
- 'customField': true
- });
- _.forEach(customFields, function(item) {
- if (item.type === 'string') {
- fieldArray.push({
- id: item.idField,
- value: item.content
- });
- } else if (item.type === 'variable') {
- var prop = getValueFromPropertyName(event, item.variableName, zendeskData);
- if (prop) {
- fieldArray.push({
- id: item.idField,
- value: prop.toString()
- });
- }
- } else if (item.type === 'customVariable') {
- variables[item.Variable.name] && fieldArray.push({
- id: item.idField,
- value: variables[item.Variable.name].toString()
- });
- }
- });
- }
- return fieldArray;
-}
-
-function createFieldsFromConfiguration(zendeskData) {
- var fields = [];
- var fieldArray = [];
- if (zendeskData.configuration.Field.length > 0) {
- fields = _.filter(zendeskData.configuration.Field, {
- 'customField': false
- });
- _.forEach(fields, function(item) {
- if (item.type === 'string') {
- fieldArray.push({
- id: item.nameField,
- value: item.content
- });
- }
- });
- }
- return fieldArray;
-}
-
-function handleTicketDisplay(zendeskData) {
- return function(data) {
- if (data.ticket) {
- console.log('[Zendesk] Ticket created');
- zendeskData.ticket = data.ticket;
- var urlDisplay = util.format('/channels/voice/agents/%d/tickets/%d/display.json', zendeskData.agent.id, zendeskData.ticket.id);
- return rp({
- uri: zendeskData.uri + urlDisplay,
- method: 'POST',
- headers: zendeskData.headers,
- json: true
- });
- }
- return;
- }
-}
-
-function handleReportIntegration(zendeskData, channel, data, integrationId) {
- return function() {
- delete data.id;
- data.integration = 'zendesk';
- data.eventChannel = channel;
- data.exitStatus = 'success';
- data.ticketId = zendeskData.ticket.id;
- data.url = zendeskData.ticket.url;
- data.integrationId = integrationId;
- return ReportIntegration.create(data);
- }
-}
-
-function handleEnd(zendeskData, data, channel) {
- return function() {
- console.log(util.format('[Zendesk] Ticket %d displayed to agent %d', zendeskData.ticket.id, zendeskData.agent.id));
- zendeskData = undefined;
- return;
- }
-}
-
-function handleError(zendeskData, channel, data, integrationId) {
- return function(err) {
- console.error('[Zendesk] Error in ticket creation');
- console.error('[Zendesk] Message:', err.message);
- console.error('[Zendesk] Stack:', err.stack);
- zendeskData = undefined;
-
- delete data.id;
- data.integration = 'zendesk';
- data.eventChannel = channel;
- data.exitStatus = 'failed';
- data.integrationId = integrationId;
- ReportIntegration
- .create(data)
- .then(function() {
- return;
- })
- .catch(function(err) {
- console.error('[Zendesk] Error in Report integration create');
- return;
- });
- }
-}
-
-function stripTrailingSlash(str) {
- if (str.substr(-1) === '/') {
- return str.substr(0, str.length - 1);
- }
- return str;
-}
-
-module.exports = Zendesk;
+var _0xf132=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x5A\x65\x6E\x64\x65\x73\x6B\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x5A\x65\x6E\x64\x65\x73\x6B\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x55\x73\x65\x72","\x5A\x65\x6E\x64\x65\x73\x6B\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x68\x61\x6E\x64\x6C\x65\x45\x76\x65\x6E\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x50\x61\x73\x73\x65\x64\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x20\x61\x72\x65\x20\x6E\x6F\x74\x20\x65\x6E\x6F\x75\x67\x68\x20\x74\x6F\x20\x63\x72\x65\x61\x74\x65\x20\x61\x20\x6E\x65\x77\x20\x74\x69\x63\x6B\x65\x74\x3A\x20\x6D\x69\x73\x73\x20\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x49\x64\x20\x6F\x72\x20\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x49\x64","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64","\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x75\x72\x69","\x68\x65\x61\x64\x65\x72\x73","\x73\x65\x72\x76\x65\x72\x55\x52\x4C","\x73\x65\x72\x76\x65\x72\x55\x72\x6C","\x5A\x65\x6E\x64\x65\x73\x6B\x41\x63\x63\x6F\x75\x6E\x74","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x67\x65\x6E\x74","\x73\x63\x6F\x70\x65","\x61\x67\x65\x6E\x74\x4E\x61\x6D\x65","\x53\x65\x61\x72\x63\x68\x69\x6E\x67\x20\x51\x75\x65\x75\x65\x2E\x2E\x2E","\x71\x75\x65\x75\x65","\x6E\x61\x6D\x65","\x6D\x6F\x6E\x69\x74\x6F\x72\x5F\x66\x6F\x72\x6D\x61\x74","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x65\x6E\x61\x62\x6C\x65\x64\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x51\x75\x65\x75\x65","\x72\x65\x63\x6F\x72\x64\x45\x6E\x61\x62\x6C\x65","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x51\x75\x65\x75\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x20\x6F\x72\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x6E\x6F\x74\x20\x65\x6E\x61\x62\x6C\x65\x64","\x72\x6F\x75\x74\x65\x49\x64","\x69\x64","\x72\x65\x63\x6F\x72\x64","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x65\x6E\x61\x62\x6C\x65\x64\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x52\x6F\x75\x74\x65\x20\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x52\x6F\x75\x74\x65\x20\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x20\x6F\x72\x20\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x20\x6E\x6F\x74\x20\x65\x6E\x61\x62\x6C\x65\x64","\x72\x65\x6D\x6F\x74\x65\x55\x72\x69","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x61\x75\x74\x68\x54\x79\x70\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x3A","\x74\x6F\x6B\x65\x6E","\x2F\x74\x6F\x6B\x65\x6E\x3A","\x41\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x42\x61\x73\x69\x63\x20","\x62\x61\x73\x65\x36\x34","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x41\x67\x65\x6E\x74\x20\x74\x6F\x20\x73\x65\x61\x72\x63\x68\x3A","\x2F\x73\x65\x61\x72\x63\x68\x2E\x6A\x73\x6F\x6E","\x74\x79\x70\x65\x3A\x75\x73\x65\x72\x20\x72\x6F\x6C\x65\x3A\x61\x67\x65\x6E\x74\x20\x6E\x61\x6D\x65\x3A\x25\x73","\x66\x6F\x72\x6D\x61\x74","","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x76\x6F\x69\x63\x65","\x43\x68\x61\x6E\x6E\x65\x6C\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64\x3A","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x55\x52\x4C","\x25\x73\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73\x2F\x25\x73\x2F\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x3F\x74\x79\x70\x65\x3D\x75\x6E\x69\x71\x75\x65\x69\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x72\x65\x73\x75\x6C\x74","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x73\x75\x6C\x74\x73","\x63\x6F\x75\x6E\x74","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x41\x67\x65\x6E\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x66\x69\x72\x73\x74","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x41\x67\x65\x6E\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E\x20\x55\x73\x65\x20\x74\x68\x65\x20\x61\x64\x6D\x69\x6E\x20\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x75\x73\x65\x72\x73\x2F\x6D\x65\x2E\x6A\x73\x6F\x6E","\x75\x73\x65\x72","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x41\x64\x6D\x69\x6E\x20\x73\x65\x6C\x65\x63\x74\x65\x64","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x45\x6E\x64\x20\x55\x73\x65\x72\x20\x74\x6F\x20\x73\x65\x61\x72\x63\x68\x3A","\x74\x79\x70\x65\x3A\x75\x73\x65\x72\x20\x72\x6F\x6C\x65\x3A\x65\x6E\x64\x2D\x75\x73\x65\x72\x20\x25\x73\x3A\x25\x73","\x70\x68\x6F\x6E\x65","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x64\x65\x73\x74\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x45\x6E\x64\x20\x55\x73\x65\x72\x20\x66\x6F\x75\x6E\x64\x3A","\x65\x6E\x64\x75\x73\x65\x72","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x45\x6E\x64\x20\x55\x73\x65\x72\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x3A","\x2F\x75\x73\x65\x72\x73\x2E\x6A\x73\x6F\x6E","\x50\x4F\x53\x54","\x65\x6E\x64\x2D\x75\x73\x65\x72","\x43\x61\x6C\x6C\x65\x72\x20\x2D\x20\x25\x73","\x3C\x75\x6E\x6B\x6E\x6F\x77\x6E\x3E","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x45\x6E\x64\x20\x55\x73\x65\x72\x20\x63\x72\x65\x61\x74\x65\x64\x3A","\x76\x61\x6C\x75\x65","\x66\x6F\x72\x45\x61\x63\x68","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x54\x69\x63\x6B\x65\x74\x20\x62\x6F\x64\x79\x3A","\x2F\x74\x69\x63\x6B\x65\x74\x73\x2E\x6A\x73\x6F\x6E","\x54\x61\x67\x73","\x6D\x61\x70","\x53\x75\x62\x6A\x65\x63\x74","\x73\x6F\x72\x74\x42\x79","\x74\x79\x70\x65","\x73\x74\x72\x69\x6E\x67","\x63\x6F\x6E\x74\x65\x6E\x74","\x70\x75\x73\x68","\x76\x61\x72\x69\x61\x62\x6C\x65","\x76\x61\x72\x69\x61\x62\x6C\x65\x4E\x61\x6D\x65","\x63\x75\x73\x74\x6F\x6D\x56\x61\x72\x69\x61\x62\x6C\x65","\x56\x61\x72\x69\x61\x62\x6C\x65","\x20","\x6A\x6F\x69\x6E","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6B\x65\x79\x56\x61\x6C\x75\x65","\x6B\x65\x79\x54\x79\x70\x65","\x25\x73\x3A\x20\x25\x73","\x6B\x65\x79","\x6B\x65\x79\x43\x6F\x6E\x74\x65\x6E\x74","\x0A","\x46\x69\x65\x6C\x64","\x66\x69\x6C\x74\x65\x72","\x69\x64\x46\x69\x65\x6C\x64","\x6E\x61\x6D\x65\x46\x69\x65\x6C\x64","\x74\x69\x63\x6B\x65\x74","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x54\x69\x63\x6B\x65\x74\x20\x63\x72\x65\x61\x74\x65\x64","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x76\x6F\x69\x63\x65\x2F\x61\x67\x65\x6E\x74\x73\x2F\x25\x64\x2F\x74\x69\x63\x6B\x65\x74\x73\x2F\x25\x64\x2F\x64\x69\x73\x70\x6C\x61\x79\x2E\x6A\x73\x6F\x6E","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x7A\x65\x6E\x64\x65\x73\x6B","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x65\x78\x69\x74\x53\x74\x61\x74\x75\x73","\x73\x75\x63\x63\x65\x73\x73","\x74\x69\x63\x6B\x65\x74\x49\x64","\x75\x72\x6C","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x49\x64","\x63\x72\x65\x61\x74\x65","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x54\x69\x63\x6B\x65\x74\x20\x25\x64\x20\x64\x69\x73\x70\x6C\x61\x79\x65\x64\x20\x74\x6F\x20\x61\x67\x65\x6E\x74\x20\x25\x64","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x74\x69\x63\x6B\x65\x74\x20\x63\x72\x65\x61\x74\x69\x6F\x6E","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x4D\x65\x73\x73\x61\x67\x65\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x53\x74\x61\x63\x6B\x3A","\x73\x74\x61\x63\x6B","\x66\x61\x69\x6C\x65\x64","\x5B\x5A\x65\x6E\x64\x65\x73\x6B\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x52\x65\x70\x6F\x72\x74\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x20\x63\x72\x65\x61\x74\x65","\x73\x75\x62\x73\x74\x72","\x2F","\x65\x78\x70\x6F\x72\x74\x73"];_0xf132[0];var _=require(_0xf132[1]);var util=require(_0xf132[2]);var rp=require(_0xf132[3]);var ZendeskIntegration=require(_0xf132[5])[_0xf132[4]];var ZendeskConfiguration=require(_0xf132[5])[_0xf132[6]];var ReportIntegration=require(_0xf132[5])[_0xf132[7]];var VoiceQueue=require(_0xf132[5])[_0xf132[8]];var VoiceExtension=require(_0xf132[5])[_0xf132[9]];var Agent=require(_0xf132[5])[_0xf132[10]];function Zendesk(){console[_0xf132[12]](_0xf132[11])}Zendesk[_0xf132[14]][_0xf132[13]]= function(_0x68e5xb,_0x68e5xc,_0x68e5xd,_0x68e5xe,_0x68e5xf,_0x68e5x10){var _0x68e5x11={uri:undefined,headers:undefined,agent:undefined,enduser:undefined,ticket:undefined,configuration:undefined,recordEnable:false,serverURL:undefined,agentName:undefined};if(!_0x68e5xb|| !_0x68e5xc){console[_0xf132[16]](_0xf132[15]);return};ZendeskConfiguration[_0xf132[19]]({where:{id:_0x68e5xc,AccountId:_0x68e5xb},include:[{all:true,include:[{all:true}]}]})[_0xf132[18]](handleEntityNotFound())[_0xf132[18]](handleConnection(_0x68e5x11))[_0xf132[18]](searchMotionAgent(_0x68e5xd,_0x68e5xf))[_0xf132[18]](handleMotionAgent(_0x68e5x11))[_0xf132[18]](searchQueue(_0x68e5xf))[_0xf132[18]](handleQueueRecordings(_0x68e5x11,_0x68e5xf))[_0xf132[18]](searchRoute(_0x68e5xf))[_0xf132[18]](handleOutboundRecordings(_0x68e5x11,_0x68e5xf))[_0xf132[18]](searchAgent(_0x68e5x11))[_0xf132[18]](handleAgent(_0x68e5x11))[_0xf132[18]](searchAdmin(_0x68e5x11))[_0xf132[18]](handleAdmin(_0x68e5x11))[_0xf132[18]](searchEndUser(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xe))[_0xf132[18]](handleEndUser(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xe))[_0xf132[18]](endUserCreation(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xe))[_0xf132[18]](handleEndUserCreation(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xe))[_0xf132[18]](ticketCreation(_0x68e5x11,_0x68e5xf,_0x68e5x10))[_0xf132[18]](handleTicketDisplay(_0x68e5x11))[_0xf132[18]](handleReportIntegration(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xb))[_0xf132[18]](handleEnd(_0x68e5x11))[_0xf132[17]](handleError(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xb))};function handleEntityNotFound(){return function(_0x68e5x13){if(!_0x68e5x13){return null};return _0x68e5x13}}function handleConnection(_0x68e5x11){return function(_0x68e5x15){var _0x68e5x16=getAccountConfiguration(_0x68e5x15.ZendeskAccount);_0x68e5x11[_0xf132[20]]= _0x68e5x15;_0x68e5x11[_0xf132[21]]= _0x68e5x16[_0xf132[21]];_0x68e5x11[_0xf132[22]]= _0x68e5x16[_0xf132[22]];_0x68e5x11[_0xf132[23]]= _0x68e5x15[_0xf132[25]][_0xf132[24]]}}function searchMotionAgent(_0x68e5xd,_0x68e5xf){return function(){return Agent[_0xf132[29]](_0xf132[28])[_0xf132[27]]({where:{name:getValueFromPropertyName(_0x68e5xf,getAgentSearchPropertyFromChannel(_0x68e5xd))},attributes:[_0xf132[26]]})}}function handleMotionAgent(_0x68e5x11){return function(_0x68e5x19){if(_0x68e5x19&& _0x68e5x19[_0xf132[26]]){_0x68e5x11[_0xf132[30]]= _0x68e5x19[_0xf132[26]]};return}}function searchQueue(_0x68e5xf){return function(){console[_0xf132[12]](_0xf132[31]);if(_0x68e5xf[_0xf132[32]]){return VoiceQueue[_0xf132[27]]({where:{name:_0x68e5xf[_0xf132[32]]},attributes:[_0xf132[33],_0xf132[34]]})}else {return}}}function handleQueueRecordings(_0x68e5x11,_0x68e5xf){return function(_0x68e5x1c){if(_0x68e5xf[_0xf132[32]]){if(_0x68e5x1c&& _0x68e5x1c[_0xf132[34]]){console[_0xf132[12]](_0xf132[35],_0x68e5x1c[_0xf132[33]]);_0x68e5x11[_0xf132[36]]= true}else {_0x68e5x11[_0xf132[36]]= false;console[_0xf132[12]](_0xf132[37])}};return}}function searchRoute(_0x68e5xf){return function(){if(_0x68e5xf[_0xf132[38]]){return VoiceExtension[_0xf132[27]]({where:{id:_0x68e5xf[_0xf132[38]]},attributes:[_0xf132[39],_0xf132[40]]})}else {return}}}function handleOutboundRecordings(_0x68e5x11,_0x68e5xf){return function(_0x68e5x1f){if(_0x68e5xf[_0xf132[38]]){if(_0x68e5x1f&& _0x68e5x1f[_0xf132[40]]){console[_0xf132[12]](_0xf132[41],_0x68e5x1f[_0xf132[39]]);_0x68e5x11[_0xf132[36]]= true}else {_0x68e5x11[_0xf132[36]]= false;console[_0xf132[12]](_0xf132[42])}};return}}function getAccountConfiguration(_0x68e5x21){var _0x68e5x22={uri:stripTrailingSlash(_0x68e5x21[_0xf132[43]]),headers:{"\x41\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E":undefined,"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0xf132[44],"\x41\x63\x63\x65\x70\x74":_0xf132[44]}};var _0x68e5x23=_0x68e5x21[_0xf132[45]];if(_0x68e5x21[_0xf132[46]]=== _0xf132[47]){_0x68e5x23= _0x68e5x23+ _0xf132[48]+ _0x68e5x21[_0xf132[47]]}else {if(_0x68e5x21[_0xf132[46]]=== _0xf132[49]){_0x68e5x23= _0x68e5x23+ _0xf132[50]+ _0x68e5x21[_0xf132[49]]}};_0x68e5x22[_0xf132[22]][_0xf132[51]]= _0xf132[52]+ new Buffer(_0x68e5x23).toString(_0xf132[53]);return _0x68e5x22}function searchAgent(_0x68e5x11){return function(){console[_0xf132[12]](_0xf132[54],_0x68e5x11[_0xf132[30]]);return rp({uri:_0x68e5x11[_0xf132[21]]+ _0xf132[55],qs:{"\x71\x75\x65\x72\x79":util[_0xf132[57]](_0xf132[56],_0x68e5x11[_0xf132[30]])},headers:_0x68e5x11[_0xf132[22]],json:true})}}function getAgentSearchPropertyFromChannel(_0x68e5xd){var _0x68e5x26=_0xf132[58];if(_0x68e5xd){switch(_0x68e5xd){case _0xf132[60]:_0x68e5x26= _0xf132[59];break;default:_0x68e5x26= _0xf132[59];console[_0xf132[16]](_0xf132[61],_0x68e5xd)}};return _0x68e5x26}function getValueFromPropertyName(_0x68e5xf,_0x68e5x26,_0x68e5x11){if(_0x68e5x26=== _0xf132[62]){if(_0x68e5x11&& _0x68e5x11[_0xf132[36]]&& _0x68e5x11[_0xf132[23]]){return util[_0xf132[57]](_0xf132[63],stripTrailingSlash(_0x68e5x11[_0xf132[23]]),_0x68e5xf[_0xf132[64]])}else {return null}}else {return _[_0xf132[65]](_0x68e5xf,_0x68e5x26)}}function handleAgent(_0x68e5x11){return function(_0x68e5xf){if(_0x68e5xf[_0xf132[67]][_0xf132[66]]> 0&& _0x68e5xf[_0xf132[68]]> 0){console[_0xf132[12]](_0xf132[69],_0x68e5x11[_0xf132[30]]);_0x68e5x11[_0xf132[28]]= getMatchObject(_0x68e5xf[_0xf132[67]],_0xf132[33],_0x68e5x11[_0xf132[30]]);return _0x68e5x11[_0xf132[28]]};return}}function getMatchObject(_0x68e5x2a,_0x68e5x26,_0x68e5x2b){var _0x68e5x2c=_[_0xf132[19]](_0x68e5x2a,{property:_0x68e5x2b});if(_0x68e5x2c){return _0x68e5x2c};return _[_0xf132[70]](_0x68e5x2a)}function searchAdmin(_0x68e5x11){return function(_0x68e5xf){if(_0x68e5xf){return};console[_0xf132[12]](_0xf132[71]);return rp({uri:_0x68e5x11[_0xf132[21]]+ _0xf132[72],headers:_0x68e5x11[_0xf132[22]],json:true})}}function handleAdmin(_0x68e5x11){return function(_0x68e5xf){if(!_0x68e5xf){return};if(_0x68e5xf[_0xf132[73]]){console[_0xf132[12]](_0xf132[74]);_0x68e5x11[_0xf132[28]]= _0x68e5xf[_0xf132[73]]};return}}function searchEndUser(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xe){return function(){console[_0xf132[12]](_0xf132[75],getValueFromPropertyName(_0x68e5xf,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)));return rp({uri:_0x68e5x11[_0xf132[21]]+ _0xf132[55],qs:{"\x71\x75\x65\x72\x79":util[_0xf132[57]](_0xf132[76],getEndUserSearchQueryFromChannel(_0x68e5xd),getValueFromPropertyName(_0x68e5xf,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)))},headers:_0x68e5x11[_0xf132[22]],json:true})}}function getEndUserSearchQueryFromChannel(_0x68e5xd){var _0x68e5x26=_0xf132[58];if(_0x68e5xd){switch(_0x68e5xd){case _0xf132[60]:_0x68e5x26= _0xf132[77];break;default:_0x68e5x26= _0xf132[77];console[_0xf132[16]](_0xf132[61],_0x68e5xd)}};return _0x68e5x26}function getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe){var _0x68e5x26=_0xf132[58];if(_0x68e5xd){switch(_0x68e5xd){case _0xf132[60]:if(_0x68e5xe=== _0xf132[78]){_0x68e5x26= _0xf132[79]}else {if(_0x68e5xe=== _0xf132[32]){_0x68e5x26= _0xf132[80]}};break;default:_0x68e5x26= _0xf132[80];console[_0xf132[16]](_0xf132[61],_0x68e5xd)}};return _0x68e5x26}function getEndUserNamePropertyFromChannel(_0x68e5xd,_0x68e5xe){var _0x68e5x26=_0xf132[58];if(_0x68e5xd){switch(_0x68e5xd){case _0xf132[60]:if(_0x68e5xe=== _0xf132[78]){_0x68e5x26= _0xf132[81]}else {if(_0x68e5xe=== _0xf132[32]){_0x68e5x26= _0xf132[82]}};break;default:_0x68e5x26= _0xf132[82];console[_0xf132[16]](_0xf132[61],_0x68e5xd)}};return _0x68e5x26}function handleEndUser(_0x68e5x11,_0x68e5xd,_0x68e5x34,_0x68e5xe){return function(_0x68e5xf){if(_0x68e5xf[_0xf132[67]][_0xf132[66]]> 0&& _0x68e5xf[_0xf132[68]]> 0){console[_0xf132[12]](_0xf132[83],getValueFromPropertyName(_0x68e5x34,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)));_0x68e5x11[_0xf132[84]]= _0x68e5xf[_0xf132[67]][0];return _0x68e5x11[_0xf132[84]]};return}}function endUserCreation(_0x68e5x11,_0x68e5xd,_0x68e5x34,_0x68e5xe){return function(_0x68e5xf){if(_0x68e5xf){return};console[_0xf132[12]](_0xf132[85],getValueFromPropertyName(_0x68e5x34,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)));console[_0xf132[12]](getJsonForEndUserCreation(_0x68e5xd,_0x68e5x34,_0x68e5xe));return rp({uri:_0x68e5x11[_0xf132[21]]+ _0xf132[86],method:_0xf132[87],body:{user:getJsonForEndUserCreation(_0x68e5xd,_0x68e5x34,_0x68e5xe)},headers:_0x68e5x11[_0xf132[22]],json:true})}}function getJsonForEndUserCreation(_0x68e5xd,_0x68e5xf,_0x68e5xe){var _0x68e5x37={role:_0xf132[88]};switch(_0x68e5xd){case _0xf132[60]:if(_0x68e5xe=== _0xf132[32]){if(isValidName(_0x68e5xf[_0xf132[82]])){_0x68e5x37[_0xf132[33]]= getValueFromPropertyName(_0x68e5xf,getEndUserNamePropertyFromChannel(_0x68e5xd,_0x68e5xe))}else {_0x68e5x37[_0xf132[33]]= util[_0xf132[57]](_0xf132[89],getValueFromPropertyName(_0x68e5xf,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)))}}else {if(_0x68e5xe=== _0xf132[78]){if(isValidName(_0x68e5xf[_0xf132[81]])){_0x68e5x37[_0xf132[33]]= getValueFromPropertyName(_0x68e5xf,getEndUserNamePropertyFromChannel(_0x68e5xd,_0x68e5xe))}else {_0x68e5x37[_0xf132[33]]= util[_0xf132[57]](_0xf132[89],getValueFromPropertyName(_0x68e5xf,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)))}}};_0x68e5x37[_0xf132[77]]= getValueFromPropertyName(_0x68e5xf,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe));break;default:console[_0xf132[16]](_0xf132[61],_0x68e5xd)};return _0x68e5x37}function isValidName(_0x68e5x39){return _0x68e5x39&& _0x68e5x39!== _0xf132[90]}function handleEndUserCreation(_0x68e5x11,_0x68e5xd,_0x68e5x34,_0x68e5xe){return function(_0x68e5xf){if(!_0x68e5xf){return};if(_0x68e5xf[_0xf132[73]]){console[_0xf132[12]](_0xf132[91],getValueFromPropertyName(_0x68e5x34,getEndUserSearchPropertyFromChannel(_0x68e5xd,_0x68e5xe)));_0x68e5x11[_0xf132[84]]= _0x68e5xf[_0xf132[73]]};return}}function ticketCreation(_0x68e5x11,_0x68e5x34,_0x68e5x10){return function(){var _0x68e5x3c={requester_id:_0x68e5x11[_0xf132[28]][_0xf132[39]],submitter_id:_0x68e5x11[_0xf132[84]][_0xf132[39]],assignee_id:_0x68e5x11[_0xf132[84]][_0xf132[39]],tags:createTagsFromConfiguration(_0x68e5x11),subject:createSubjectFromConfiguration(_0x68e5x11,_0x68e5x34,_0x68e5x10),description:createDescriptionFromConfiguration(_0x68e5x11,_0x68e5x34,_0x68e5x10),custom_fields:createCustomFieldsFromConfiguration(_0x68e5x11,_0x68e5x34,_0x68e5x10)};var _0x68e5x3d=createFieldsFromConfiguration(_0x68e5x11);if(_0x68e5x3d[_0xf132[66]]> 0){_[_0xf132[93]](_0x68e5x3d,function(_0x68e5x3e){_0x68e5x3c[_0x68e5x3e[_0xf132[39]]]= _0x68e5x3e[_0xf132[92]]})};console[_0xf132[12]](_0xf132[94],_0x68e5x3c);return rp({uri:_0x68e5x11[_0xf132[21]]+ _0xf132[95],method:_0xf132[87],body:{ticket:_0x68e5x3c},headers:_0x68e5x11[_0xf132[22]],json:true})}}function createTagsFromConfiguration(_0x68e5x11){var _0x68e5x40=[];if(_0x68e5x11[_0xf132[20]][_0xf132[96]][_0xf132[66]]> 0){_0x68e5x40= _[_0xf132[97]](_0x68e5x11[_0xf132[20]].Tags,_0xf132[33])};return _0x68e5x40}function createSubjectFromConfiguration(_0x68e5x11,_0x68e5x34,_0x68e5x10){var _0x68e5x42=_0xf132[58];var _0x68e5x43=[];if(_0x68e5x11[_0xf132[20]][_0xf132[98]][_0xf132[66]]> 0){var _0x68e5x44=_[_0xf132[99]](_0x68e5x11[_0xf132[20]].Subject,[_0xf132[39]]);_[_0xf132[93]](_0x68e5x44,function(_0x68e5x45){if(_0x68e5x45[_0xf132[100]]=== _0xf132[101]){_0x68e5x43[_0xf132[103]](_0x68e5x45[_0xf132[102]])}else {if(_0x68e5x45[_0xf132[100]]=== _0xf132[104]&& _0x68e5x45[_0xf132[105]]){var _0x68e5x46=getValueFromPropertyName(_0x68e5x34,_0x68e5x45[_0xf132[105]],_0x68e5x11);if(_0x68e5x46){_0x68e5x43[_0xf132[103]](_0x68e5x46.toString())}}else {if(_0x68e5x45[_0xf132[100]]=== _0xf132[106]){_0x68e5x10[_0x68e5x45[_0xf132[107]][_0xf132[33]]]&& _0x68e5x43[_0xf132[103]](_0x68e5x10[_0x68e5x45[_0xf132[107]][_0xf132[33]]].toString())}}}});_0x68e5x42= _0x68e5x43[_0xf132[109]](_0xf132[108])};return _0x68e5x42}function createDescriptionFromConfiguration(_0x68e5x11,_0x68e5x34,_0x68e5x10){var _0x68e5x48=_0xf132[58];var _0x68e5x43=[];if(_0x68e5x11[_0xf132[20]][_0xf132[110]][_0xf132[66]]> 0){var _0x68e5x49=_[_0xf132[99]](_0x68e5x11[_0xf132[20]].Description,[_0xf132[39]]);_[_0xf132[93]](_0x68e5x49,function(_0x68e5x45){if(_0x68e5x45[_0xf132[100]]=== _0xf132[101]){_0x68e5x43[_0xf132[103]](_0x68e5x45[_0xf132[102]])}else {if(_0x68e5x45[_0xf132[100]]=== _0xf132[111]){if(_0x68e5x45[_0xf132[112]]=== _0xf132[101]){_0x68e5x43[_0xf132[103]](util[_0xf132[57]](_0xf132[113],_0x68e5x45[_0xf132[114]],_0x68e5x45[_0xf132[115]]))}else {if(_0x68e5x45[_0xf132[112]]=== _0xf132[104]&& _0x68e5x45[_0xf132[105]]){var _0x68e5x46=getValueFromPropertyName(_0x68e5x34,_0x68e5x45[_0xf132[105]],_0x68e5x11);if(_0x68e5x46){_0x68e5x43[_0xf132[103]](util[_0xf132[57]](_0xf132[113],_0x68e5x45[_0xf132[114]],_0x68e5x46.toString()))}}else {if(_0x68e5x45[_0xf132[112]]=== _0xf132[106]){_0x68e5x10[_0x68e5x45[_0xf132[107]][_0xf132[33]]]&& _0x68e5x43[_0xf132[103]](util[_0xf132[57]](_0xf132[113],_0x68e5x45[_0xf132[114]],_0x68e5x10[_0x68e5x45[_0xf132[107]][_0xf132[33]]]))}}}}}});_0x68e5x48= _0x68e5x43[_0xf132[109]](_0xf132[116])};return _0x68e5x48}function createCustomFieldsFromConfiguration(_0x68e5x11,_0x68e5x34,_0x68e5x10){var _0x68e5x4b=[];var _0x68e5x4c=[];if(_0x68e5x11[_0xf132[20]][_0xf132[117]][_0xf132[66]]> 0){_0x68e5x4b= _[_0xf132[118]](_0x68e5x11[_0xf132[20]].Field,{"\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64":true});_[_0xf132[93]](_0x68e5x4b,function(_0x68e5x3e){if(_0x68e5x3e[_0xf132[100]]=== _0xf132[101]){_0x68e5x4c[_0xf132[103]]({id:_0x68e5x3e[_0xf132[119]],value:_0x68e5x3e[_0xf132[102]]})}else {if(_0x68e5x3e[_0xf132[100]]=== _0xf132[104]){var _0x68e5x46=getValueFromPropertyName(_0x68e5x34,_0x68e5x3e[_0xf132[105]],_0x68e5x11);if(_0x68e5x46){_0x68e5x4c[_0xf132[103]]({id:_0x68e5x3e[_0xf132[119]],value:_0x68e5x46.toString()})}}else {if(_0x68e5x3e[_0xf132[100]]=== _0xf132[106]){_0x68e5x10[_0x68e5x3e[_0xf132[107]][_0xf132[33]]]&& _0x68e5x4c[_0xf132[103]]({id:_0x68e5x3e[_0xf132[119]],value:_0x68e5x10[_0x68e5x3e[_0xf132[107]][_0xf132[33]]].toString()})}}}})};return _0x68e5x4c}function createFieldsFromConfiguration(_0x68e5x11){var _0x68e5x3d=[];var _0x68e5x4c=[];if(_0x68e5x11[_0xf132[20]][_0xf132[117]][_0xf132[66]]> 0){_0x68e5x3d= _[_0xf132[118]](_0x68e5x11[_0xf132[20]].Field,{"\x63\x75\x73\x74\x6F\x6D\x46\x69\x65\x6C\x64":false});_[_0xf132[93]](_0x68e5x3d,function(_0x68e5x3e){if(_0x68e5x3e[_0xf132[100]]=== _0xf132[101]){_0x68e5x4c[_0xf132[103]]({id:_0x68e5x3e[_0xf132[120]],value:_0x68e5x3e[_0xf132[102]]})}})};return _0x68e5x4c}function handleTicketDisplay(_0x68e5x11){return function(_0x68e5xf){if(_0x68e5xf[_0xf132[121]]){console[_0xf132[12]](_0xf132[122]);_0x68e5x11[_0xf132[121]]= _0x68e5xf[_0xf132[121]];var _0x68e5x4f=util[_0xf132[57]](_0xf132[123],_0x68e5x11[_0xf132[28]][_0xf132[39]],_0x68e5x11[_0xf132[121]][_0xf132[39]]);return rp({uri:_0x68e5x11[_0xf132[21]]+ _0x68e5x4f,method:_0xf132[87],headers:_0x68e5x11[_0xf132[22]],json:true})};return}}function handleReportIntegration(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xb){return function(){delete _0x68e5xf[_0xf132[39]];_0x68e5xf[_0xf132[124]]= _0xf132[125];_0x68e5xf[_0xf132[126]]= _0x68e5xd;_0x68e5xf[_0xf132[127]]= _0xf132[128];_0x68e5xf[_0xf132[129]]= _0x68e5x11[_0xf132[121]][_0xf132[39]];_0x68e5xf[_0xf132[130]]= _0x68e5x11[_0xf132[121]][_0xf132[130]];_0x68e5xf[_0xf132[131]]= _0x68e5xb;return ReportIntegration[_0xf132[132]](_0x68e5xf)}}function handleEnd(_0x68e5x11,_0x68e5xf,_0x68e5xd){return function(){console[_0xf132[12]](util[_0xf132[57]](_0xf132[133],_0x68e5x11[_0xf132[121]][_0xf132[39]],_0x68e5x11[_0xf132[28]][_0xf132[39]]));_0x68e5x11= undefined;return}}function handleError(_0x68e5x11,_0x68e5xd,_0x68e5xf,_0x68e5xb){return function(_0x68e5x53){console[_0xf132[16]](_0xf132[134]);console[_0xf132[16]](_0xf132[135],_0x68e5x53[_0xf132[136]]);console[_0xf132[16]](_0xf132[137],_0x68e5x53[_0xf132[138]]);_0x68e5x11= undefined;delete _0x68e5xf[_0xf132[39]];_0x68e5xf[_0xf132[124]]= _0xf132[125];_0x68e5xf[_0xf132[126]]= _0x68e5xd;_0x68e5xf[_0xf132[127]]= _0xf132[139];_0x68e5xf[_0xf132[131]]= _0x68e5xb;ReportIntegration[_0xf132[132]](_0x68e5xf)[_0xf132[18]](function(){return})[_0xf132[17]](function(_0x68e5x53){console[_0xf132[16]](_0xf132[140]);return})}}function stripTrailingSlash(_0x68e5x55){if(_0x68e5x55[_0xf132[141]](-1) === _0xf132[142]){return _0x68e5x55[_0xf132[141]](0,_0x68e5x55[_0xf132[66]]- 1)};return _0x68e5x55}module[_0xf132[143]]= Zendesk
\ No newline at end of file
-'use strict';
-/**
- * Imports
- */
-var os = require('os'),
- crypto = require('crypto'),
- path = require('path'),
- machineId = require('machine-uuid'),
- machine = require('bimedia-machine-uuid'),
- async = require('async');
-
-
-function getInterfaces() {
- var ifaces = [];
- var interfaces = os.networkInterfaces();
- for (var dev in interfaces) {
- // ... and find the one that matches the criteria
- var iface = interfaces[dev].filter(function(details) {
- return details.family === 'IPv4' && details.internal === false;
- });
- ifaces = ifaces.concat(iface);
- }
-
- return ifaces;
-}
-
-/**
- * Retrieve unique MAC addresses
- *
- * @returns {string} array of MAC addresses
- */
-function macAddress() {
- var ifaces = getInterfaces();
- return (ifaces.length > 0) ? ifaces[0].mac : '00:00:00:00:00:00';
-}
-
-/**
- * Retrieve unique IP addresses
- *
- * @returns {string} array of IP addresses
- */
-function ipAddress() {
- var ifaces = getInterfaces();
- return (ifaces.length > 0) ? ifaces[0].address : '127.0.0.1';
-}
-
-/**
- * Generate the machine ID
- *
- * @param {Bolean} [format] true to return a formatted ID
- * @returns {String} machine ID
- */
-module.exports = function(format) {
- var s = machine.uuid + '|' + macAddress() + '|' + ipAddress();
- var ID = crypto.createHash('md5').update(s).digest('hex');
- var FORMATTED = ID.substring(0, 8) + '-' + ID.substring(8, 12) + '-' + ID.substring(12, 16) + '-' + ID.substring(16, 20) + '-' + ID.substring(20);
-
- return format === true ? FORMATTED : ID;
-};
+var _0xcaa5=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6F\x73","\x63\x72\x79\x70\x74\x6F","\x70\x61\x74\x68","\x6D\x61\x63\x68\x69\x6E\x65\x2D\x75\x75\x69\x64","\x62\x69\x6D\x65\x64\x69\x61\x2D\x6D\x61\x63\x68\x69\x6E\x65\x2D\x75\x75\x69\x64","\x61\x73\x79\x6E\x63","\x6E\x65\x74\x77\x6F\x72\x6B\x49\x6E\x74\x65\x72\x66\x61\x63\x65\x73","\x66\x61\x6D\x69\x6C\x79","\x49\x50\x76\x34","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x66\x69\x6C\x74\x65\x72","\x63\x6F\x6E\x63\x61\x74","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x63","\x30\x30\x3A\x30\x30\x3A\x30\x30\x3A\x30\x30\x3A\x30\x30\x3A\x30\x30","\x61\x64\x64\x72\x65\x73\x73","\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31","\x65\x78\x70\x6F\x72\x74\x73","\x75\x75\x69\x64","\x7C","\x68\x65\x78","\x64\x69\x67\x65\x73\x74","\x75\x70\x64\x61\x74\x65","\x6D\x64\x35","\x63\x72\x65\x61\x74\x65\x48\x61\x73\x68","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x2D"];_0xcaa5[0];var os=require(_0xcaa5[1]),crypto=require(_0xcaa5[2]),path=require(_0xcaa5[3]),machineId=require(_0xcaa5[4]),machine=require(_0xcaa5[5]),async=require(_0xcaa5[6]);function getInterfaces(){var _0xefa4x8=[];var _0xefa4x9=os[_0xcaa5[7]]();for(var _0xefa4xa in _0xefa4x9){var _0xefa4xb=_0xefa4x9[_0xefa4xa][_0xcaa5[11]](function(_0xefa4xc){return _0xefa4xc[_0xcaa5[8]]=== _0xcaa5[9]&& _0xefa4xc[_0xcaa5[10]]=== false});_0xefa4x8= _0xefa4x8[_0xcaa5[12]](_0xefa4xb)};return _0xefa4x8}function macAddress(){var _0xefa4x8=getInterfaces();return (_0xefa4x8[_0xcaa5[13]]> 0)?_0xefa4x8[0][_0xcaa5[14]]:_0xcaa5[15]}function ipAddress(){var _0xefa4x8=getInterfaces();return (_0xefa4x8[_0xcaa5[13]]> 0)?_0xefa4x8[0][_0xcaa5[16]]:_0xcaa5[17]}module[_0xcaa5[18]]= function(_0xefa4xf){var _0xefa4x10=machine[_0xcaa5[19]]+ _0xcaa5[20]+ macAddress()+ _0xcaa5[20]+ ipAddress();var _0xefa4x11=crypto[_0xcaa5[25]](_0xcaa5[24])[_0xcaa5[23]](_0xefa4x10)[_0xcaa5[22]](_0xcaa5[21]);var _0xefa4x12=_0xefa4x11[_0xcaa5[26]](0,8)+ _0xcaa5[27]+ _0xefa4x11[_0xcaa5[26]](8,12)+ _0xcaa5[27]+ _0xefa4x11[_0xcaa5[26]](12,16)+ _0xcaa5[27]+ _0xefa4x11[_0xcaa5[26]](16,20)+ _0xcaa5[27]+ _0xefa4x11[_0xcaa5[26]](20);return _0xefa4xf=== true?_0xefa4x12:_0xefa4x11}
\ No newline at end of file
-'use strict';
-
-var rp = require('request-promise');
-var util = require('util');
-var url = require('url');
-var crypto = require('crypto');
-var moment = require('moment');
-var CronJob = require('cron').CronJob;
-var licenseService = require('./license.service');
-var config = require('../environment');
-var License = require('../../models').License;
-var session = require('../environment').session;
-
-const expirationTh = 7;
-
-// Define the factory
-function licenseManager() {
- // Store the settings in a closure
- var job = new CronJob({
- cronTime: '* * * * *',
- onTick: function() {
-
- return License
- .findOrCreate({
- where: {
- id: 1
- }
- })
- .spread(function(license) {
- var data = {};
-
- if (license.data2) {
- var decipher = crypto.createDecipher('aes-256-ctr', session.secret);
- var dec = decipher.update(license.data2, 'base64', 'utf8')
- dec += decipher.final('utf8');
-
- if (moment().diff(dec, 'days') > expirationTh) {
- data.data1 = licenseService.getUuid();
- data.data2 = null;
- }
- }
-
- if (!license.data1) {
- // No token saved
- data.data1 = licenseService.getUuid();
- } else {
- // Token saved
- if ((data.data1 !== licenseService.getUuid()) && !license.data2) {
-
- var cipher = crypto.createCipher('aes-256-ctr', session.secret);
- data.data2 = cipher.update(moment().format("YYYY-MM-DD HH:mm"), 'utf8', 'base64');
- // moment().format("YYYY-MM-DD HH:mm")
- data.data2 += cipher.final('base64');
- }
- }
-
- return license
- .update(data)
- .then(function(data) {
- return rp({
- uri: config.provisioning + '/servers/' + licenseService.getUuid() + '/check',
- json: true // Automatically stringifies the body to JSON
- });
- })
- .then(function(data) {
- if (license.data1 === data.uuid) {
- return license
- .update({
- license: data.license,
- data2: null
- });
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
- },
- start: true
- });
-
- job.start();
-
- return {};
-}
-
-module.exports = licenseManager;
+var _0x53fc=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x75\x74\x69\x6C","\x75\x72\x6C","\x63\x72\x79\x70\x74\x6F","\x6D\x6F\x6D\x65\x6E\x74","\x43\x72\x6F\x6E\x4A\x6F\x62","\x63\x72\x6F\x6E","\x2E\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x4C\x69\x63\x65\x6E\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x73\x73\x69\x6F\x6E","\x2A\x20\x2A\x20\x2A\x20\x2A\x20\x2A","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x64\x61\x74\x61\x32","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x73\x65\x63\x72\x65\x74","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x62\x61\x73\x65\x36\x34","\x75\x74\x66\x38","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x61\x6C","\x64\x61\x79\x73","\x64\x69\x66\x66","\x64\x61\x74\x61\x31","\x67\x65\x74\x55\x75\x69\x64","\x63\x72\x65\x61\x74\x65\x43\x69\x70\x68\x65\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D","\x66\x6F\x72\x6D\x61\x74","\x75\x75\x69\x64","\x6C\x69\x63\x65\x6E\x73\x65","\x74\x68\x65\x6E","\x70\x72\x6F\x76\x69\x73\x69\x6F\x6E\x69\x6E\x67","\x2F\x73\x65\x72\x76\x65\x72\x73\x2F","\x2F\x63\x68\x65\x63\x6B","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x72\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x53fc[0];var rp=require(_0x53fc[1]);var util=require(_0x53fc[2]);var url=require(_0x53fc[3]);var crypto=require(_0x53fc[4]);var moment=require(_0x53fc[5]);var CronJob=require(_0x53fc[7])[_0x53fc[6]];var licenseService=require(_0x53fc[8]);var config=require(_0x53fc[9]);var License=require(_0x53fc[11])[_0x53fc[10]];var session=require(_0x53fc[9])[_0x53fc[12]];const expirationTh=7;function licenseManager(){var _0xc10cxd= new CronJob({cronTime:_0x53fc[13],onTick:function(){return License[_0x53fc[38]]({where:{id:1}})[_0x53fc[37]](function(_0xc10cxf){var _0xc10cx10={};if(_0xc10cxf[_0x53fc[16]]){var _0xc10cx11=crypto[_0x53fc[19]](_0x53fc[17],session[_0x53fc[18]]);var _0xc10cx12=_0xc10cx11[_0x53fc[22]](_0xc10cxf[_0x53fc[16]],_0x53fc[20],_0x53fc[21]);_0xc10cx12+= _0xc10cx11[_0x53fc[23]](_0x53fc[21]);if(moment()[_0x53fc[25]](_0xc10cx12,_0x53fc[24])> expirationTh){_0xc10cx10[_0x53fc[26]]= licenseService[_0x53fc[27]]();_0xc10cx10[_0x53fc[16]]= null}};if(!_0xc10cxf[_0x53fc[26]]){_0xc10cx10[_0x53fc[26]]= licenseService[_0x53fc[27]]()}else {if((_0xc10cx10[_0x53fc[26]]!== licenseService[_0x53fc[27]]())&& !_0xc10cxf[_0x53fc[16]]){var _0xc10cx13=crypto[_0x53fc[28]](_0x53fc[17],session[_0x53fc[18]]);_0xc10cx10[_0x53fc[16]]= _0xc10cx13[_0x53fc[22]](moment()[_0x53fc[30]](_0x53fc[29]),_0x53fc[21],_0x53fc[20]);_0xc10cx10[_0x53fc[16]]+= _0xc10cx13[_0x53fc[23]](_0x53fc[20])}};return _0xc10cxf[_0x53fc[22]](_0xc10cx10)[_0x53fc[33]](function(_0xc10cx10){return rp({uri:config[_0x53fc[34]]+ _0x53fc[35]+ licenseService[_0x53fc[27]]()+ _0x53fc[36],json:true})})[_0x53fc[33]](function(_0xc10cx10){if(_0xc10cxf[_0x53fc[26]]=== _0xc10cx10[_0x53fc[31]]){return _0xc10cxf[_0x53fc[22]]({license:_0xc10cx10[_0x53fc[32]],data2:null})}})})[_0x53fc[15]](function(_0xc10cxe){console[_0x53fc[14]](_0xc10cxe)})},start:true});_0xc10cxd[_0x53fc[39]]();return {}}module[_0x53fc[40]]= licenseManager
\ No newline at end of file
-'use strict';
-
-var compose = require('composable-middleware');
-var moment = require('moment');
-var crypto = require('crypto');
-var util = require('util');
-var os = require('os');
-var exec = require('child_process').execSync;
-var config = require('../environment');
-
-var User = require('../../models').User;
-var Telephone = require('../../models').Telephone;
-var Setting = require('../../models').Setting;
-var License = require('../../models').License;
-
-var demoLicense = {
- users: 1,
- agents: 1,
- telephones: 0,
- chat: false,
- mail: false,
- fax: false,
- jscripty: false,
- messaging: false,
- openchannel: false,
- custom: false,
- cm: false,
- dialer: false,
- update: false,
- description: 'DEMO LICENSE'
-};
-
-function getUuid() {
- switch (os.platform()) {
- case 'win32':
- return exec('dmidecode --string system-uuid', {
- encoding: 'utf8'
- }).replace('\r\n', '');
- default:
-
- return require('./hardware')(true);
- }
-}
-
-/**
- * Checks if the chat meets the requirements
- */
-
-function checkLicense(type) {
- return compose()
- .use(function(req, res, next) {
- return License
- .findOrCreate({
- where: {
- id: 1
- }
- })
- .spread(function(license) {
- var _license = null;
- var validLicense = false;
-
- try {
- if (license.license) {
- _license = decrypt(license.license, license.data1);
- _license = JSON.parse(_license);
- } else {
- _license = demoLicense;
- }
- } catch (err) {
- console.log('decrypt error', err);
- _license = demoLicense;
- }
-
- validLicense = _license[type];
-
- if (!validLicense) return res.sendStatus(403);
- return next();
- })
- .catch(function(err) {
- return next(err);
- });
- });
-
-}
-
-function hasChat() {
- return checkLicense('chat');
-}
-
-/**
- * Checks if the sms meets the requirements
- */
-function hasSms() {
- return checkLicense('messaging');
-}
-
-/**
- * Checks if the cm meets the requirements
- */
-function hasCm() {
- return checkLicense('cm');
-}
-
-/**
- * Checks if the update meets the requirements
- */
-function hasUpdate() {
- return checkLicense('update');
-}
-
-/**
- * Checks if the mail meets the requirements
- */
-function hasMail() {
- return checkLicense('mail');
-}
-
-/**
- * Checks if the fax meets the requirements
- */
-function hasFax() {
- return checkLicense('fax');
-}
-
-/**
- * Checks if the jscripty meets the requirements
- */
-function hasJscripty() {
- return checkLicense('jscripty');
-}
-
-function hasCustom() {
- return checkLicense('custom');
-}
-
-/**
- * Checks if the openchannel meets the requirements
- */
-function hasOpenchannel() {
- return checkLicense('openchannel');
-}
-
-/**
- * Checks if the date meets the requirements
- */
-function isValidDate() {
- return compose()
- .use(function(req, res, next) {
- return License
- .findOrCreate({
- where: {
- id: 1
- }
- })
- .spread(function(license) {
- var _license = null,
- date = false;
-
- try {
- if (license.license) {
- _license = decrypt(license.license, license.data1);
- _license = JSON.parse(_license);
-
- if (moment().isSameOrBefore(_license.expiration)) {
- date = true;
- }
- }
- } catch (err) {
- console.log('decrypt error', err);
- }
-
- if (!date) return res.sendStatus(403);
- return next();
- })
- .catch(function(err) {
- return next(err);
- });
- });
-}
-
-/**
- * Checks if the users meets the requirements
- */
-function isUsersLimit() {
- return compose()
- .use(function(req, res, next) {
- var license;
-
- return License
- .findOrCreate({
- where: {
- id: 1
- }
- })
- .spread(function(myLicense) {
- license = myLicense;
-
- return User
- .count({
- where: {
- $or: [{
- role: 'admin'
- }, {
- role: 'user'
- }]
- }
- });
- })
- .then(function(users) {
- var _license = null,
- valid = false;
- try {
- if (license.license) {
- _license = decrypt(license.license, license.data1);
- _license = JSON.parse(_license);
- } else {
- _license = demoLicense;
- }
- } catch (err) {
- console.log('decrypt error', err);
- _license = demoLicense;
- }
-
- if (_license.users > users) valid = true;
-
- if (!valid) return res.status(403).send({
- message: 'Maximum users limit have been reached'
- });
- return next();
- })
- .catch(function(err) {
- return next(err);
- });
- });
-}
-
-/**
- * Checks if the telephone meets the requirements
- */
-function isTelephonesLimit() {
- return compose()
- .use(function(req, res, next) {
- var license;
-
- return License
- .findOrCreate({
- where: {
- id: 1
- }
- })
- .spread(function(myLicense) {
- license = myLicense;
-
- return User
- .count({
- where: {
- role: 'telephone'
- }
- });
- })
- .then(function(telephones) {
- var _license = null,
- valid = false;
- try {
- if (license.license) {
- _license = decrypt(license.license, license.data1);
- _license = JSON.parse(_license);
- } else {
- _license = demoLicense;
- }
- } catch (err) {
- console.log('decrypt error', err);
- _license = demoLicense;
- }
-
- if (_license.telephones > telephones) valid = true;
-
- if (!valid) return res.status(403).send({
- message: 'Maximum telephones limit have been reached'
- });
- return next();
- })
- .catch(function(err) {
- return next(err);
- });
- });
-}
-
-/**
- * Checks if the telephone meets the requirements
- */
-function isValidAgent() {
- return function(user) {
- var license;
- var _valid = false;
-
- if (user.role === 'admin' || user.role === 'user' || (user.role === 'agent' && user.online)) {
- _valid = true;
- }
-
- return License
- .findOrCreate({
- where: {
- id: 1
- }
- })
- .spread(function(myLicense) {
- license = myLicense;
-
- return User
- .count({
- where: {
- role: 'agent',
- online: true
- }
- });
- })
- .then(function(agents) {
- var _license = null;
- try {
- if (license.license) {
- _license = decrypt(license.license, license.data1);
- _license = JSON.parse(_license);
- } else {
- _license = demoLicense;
- }
- } catch (err) {
- console.log('decrypt error', err);
- _license = demoLicense;
- }
-
- if (_license.agents > agents) _valid = true;
-
- return _valid;
- });
- }
-}
-
-function decrypt(cypher, uuid) {
- // var uuid = getUuid();
- var prefix = uuid.split('-')[4];
- var suffix = uuid.split('-')[0];
-
- var decipher = crypto.createDecipher('aes-256-ctr', util.format('%s:%s:%s', prefix, uuid, suffix));
- var license = decipher.update(cypher, 'base64', 'utf8')
- license += decipher.final('utf8');
-
- return license;
-}
-
-exports.getUuid = getUuid;
-exports.isValidDate = isValidDate;
-exports.isUsersLimit = isUsersLimit;
-exports.isTelephonesLimit = isTelephonesLimit;
-exports.hasChat = hasChat;
-exports.hasMail = hasMail;
-exports.hasFax = hasFax;
-exports.hasOpenchannel = hasOpenchannel;
-exports.hasSms = hasSms;
-exports.hasJscripty = hasJscripty;
-exports.hasCm = hasCm;
-exports.hasUpdate = hasUpdate;
-exports.isValidAgent = isValidAgent;
-exports.demoLicense = demoLicense;
-exports.decrypt = decrypt;
+var _0xc19c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x6D\x6F\x6D\x65\x6E\x74","\x63\x72\x79\x70\x74\x6F","\x75\x74\x69\x6C","\x6F\x73","\x65\x78\x65\x63\x53\x79\x6E\x63","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x53\x65\x74\x74\x69\x6E\x67","\x4C\x69\x63\x65\x6E\x73\x65","\x44\x45\x4D\x4F\x20\x4C\x49\x43\x45\x4E\x53\x45","\x0D\x0A","","\x72\x65\x70\x6C\x61\x63\x65","\x64\x6D\x69\x64\x65\x63\x6F\x64\x65\x20\x2D\x2D\x73\x74\x72\x69\x6E\x67\x20\x73\x79\x73\x74\x65\x6D\x2D\x75\x75\x69\x64","\x75\x74\x66\x38","\x77\x69\x6E\x33\x32","\x2E\x2F\x68\x61\x72\x64\x77\x61\x72\x65","\x70\x6C\x61\x74\x66\x6F\x72\x6D","\x63\x61\x74\x63\x68","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x61\x74\x61\x31","\x70\x61\x72\x73\x65","\x64\x65\x63\x72\x79\x70\x74\x20\x65\x72\x72\x6F\x72","\x6C\x6F\x67","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x73\x70\x72\x65\x61\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x75\x73\x65","\x63\x68\x61\x74","\x6D\x65\x73\x73\x61\x67\x69\x6E\x67","\x63\x6D","\x75\x70\x64\x61\x74\x65","\x6D\x61\x69\x6C","\x66\x61\x78","\x6A\x73\x63\x72\x69\x70\x74\x79","\x63\x75\x73\x74\x6F\x6D","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x65\x78\x70\x69\x72\x61\x74\x69\x6F\x6E","\x69\x73\x53\x61\x6D\x65\x4F\x72\x42\x65\x66\x6F\x72\x65","\x75\x73\x65\x72\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x75\x73\x65\x72\x73\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x61\x64\x6D\x69\x6E","\x75\x73\x65\x72","\x63\x6F\x75\x6E\x74","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73","\x4D\x61\x78\x69\x6D\x75\x6D\x20\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x20\x6C\x69\x6D\x69\x74\x20\x68\x61\x76\x65\x20\x62\x65\x65\x6E\x20\x72\x65\x61\x63\x68\x65\x64","\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x72\x6F\x6C\x65","\x61\x67\x65\x6E\x74","\x6F\x6E\x6C\x69\x6E\x65","\x61\x67\x65\x6E\x74\x73","\x2D","\x73\x70\x6C\x69\x74","\x61\x65\x73\x2D\x32\x35\x36\x2D\x63\x74\x72","\x25\x73\x3A\x25\x73\x3A\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x63\x72\x65\x61\x74\x65\x44\x65\x63\x69\x70\x68\x65\x72","\x62\x61\x73\x65\x36\x34","\x66\x69\x6E\x61\x6C","\x67\x65\x74\x55\x75\x69\x64","\x69\x73\x56\x61\x6C\x69\x64\x44\x61\x74\x65","\x69\x73\x55\x73\x65\x72\x73\x4C\x69\x6D\x69\x74","\x69\x73\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73\x4C\x69\x6D\x69\x74","\x68\x61\x73\x43\x68\x61\x74","\x68\x61\x73\x4D\x61\x69\x6C","\x68\x61\x73\x46\x61\x78","\x68\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x68\x61\x73\x53\x6D\x73","\x68\x61\x73\x4A\x73\x63\x72\x69\x70\x74\x79","\x68\x61\x73\x43\x6D","\x68\x61\x73\x55\x70\x64\x61\x74\x65","\x69\x73\x56\x61\x6C\x69\x64\x41\x67\x65\x6E\x74","\x64\x65\x6D\x6F\x4C\x69\x63\x65\x6E\x73\x65","\x64\x65\x63\x72\x79\x70\x74"];_0xc19c[0];var compose=require(_0xc19c[1]);var moment=require(_0xc19c[2]);var crypto=require(_0xc19c[3]);var util=require(_0xc19c[4]);var os=require(_0xc19c[5]);var exec=require(_0xc19c[7])[_0xc19c[6]];var config=require(_0xc19c[8]);var User=require(_0xc19c[10])[_0xc19c[9]];var Telephone=require(_0xc19c[10])[_0xc19c[11]];var Setting=require(_0xc19c[10])[_0xc19c[12]];var License=require(_0xc19c[10])[_0xc19c[13]];var demoLicense={users:1,agents:1,telephones:0,chat:false,mail:false,fax:false,jscripty:false,messaging:false,openchannel:false,custom:false,cm:false,dialer:false,update:false,description:_0xc19c[14]};function getUuid(){switch(os[_0xc19c[22]]()){case _0xc19c[20]:return exec(_0xc19c[18],{encoding:_0xc19c[19]})[_0xc19c[17]](_0xc19c[15],_0xc19c[16]);default:return require(_0xc19c[21])(true)}}function checkLicense(_0x830cxf){return compose()[_0xc19c[32]](function(_0x830cx10,_0x830cx11,_0x830cx12){return License[_0xc19c[31]]({where:{id:1}})[_0xc19c[30]](function(_0x830cx14){var _0x830cx15=null;var _0x830cx16=false;try{if(_0x830cx14[_0xc19c[24]]){_0x830cx15= decrypt(_0x830cx14[_0xc19c[24]],_0x830cx14[_0xc19c[25]]);_0x830cx15= JSON[_0xc19c[26]](_0x830cx15)}else {_0x830cx15= demoLicense}}catch(err){console[_0xc19c[28]](_0xc19c[27],err);_0x830cx15= demoLicense};_0x830cx16= _0x830cx15[_0x830cxf];if(!_0x830cx16){return _0x830cx11[_0xc19c[29]](403)};return _0x830cx12()})[_0xc19c[23]](function(_0x830cx13){return _0x830cx12(_0x830cx13)})})}function hasChat(){return checkLicense(_0xc19c[33])}function hasSms(){return checkLicense(_0xc19c[34])}function hasCm(){return checkLicense(_0xc19c[35])}function hasUpdate(){return checkLicense(_0xc19c[36])}function hasMail(){return checkLicense(_0xc19c[37])}function hasFax(){return checkLicense(_0xc19c[38])}function hasJscripty(){return checkLicense(_0xc19c[39])}function hasCustom(){return checkLicense(_0xc19c[40])}function hasOpenchannel(){return checkLicense(_0xc19c[41])}function isValidDate(){return compose()[_0xc19c[32]](function(_0x830cx10,_0x830cx11,_0x830cx12){return License[_0xc19c[31]]({where:{id:1}})[_0xc19c[30]](function(_0x830cx14){var _0x830cx15=null,_0x830cx21=false;try{if(_0x830cx14[_0xc19c[24]]){_0x830cx15= decrypt(_0x830cx14[_0xc19c[24]],_0x830cx14[_0xc19c[25]]);_0x830cx15= JSON[_0xc19c[26]](_0x830cx15);if(moment()[_0xc19c[43]](_0x830cx15[_0xc19c[42]])){_0x830cx21= true}}}catch(err){console[_0xc19c[28]](_0xc19c[27],err)};if(!_0x830cx21){return _0x830cx11[_0xc19c[29]](403)};return _0x830cx12()})[_0xc19c[23]](function(_0x830cx13){return _0x830cx12(_0x830cx13)})})}function isUsersLimit(){return compose()[_0xc19c[32]](function(_0x830cx10,_0x830cx11,_0x830cx12){var _0x830cx14;return License[_0xc19c[31]]({where:{id:1}})[_0xc19c[30]](function(_0x830cx25){_0x830cx14= _0x830cx25;return User[_0xc19c[51]]({where:{$or:[{role:_0xc19c[49]},{role:_0xc19c[50]}]}})})[_0xc19c[48]](function(_0x830cx23){var _0x830cx15=null,_0x830cx24=false;try{if(_0x830cx14[_0xc19c[24]]){_0x830cx15= decrypt(_0x830cx14[_0xc19c[24]],_0x830cx14[_0xc19c[25]]);_0x830cx15= JSON[_0xc19c[26]](_0x830cx15)}else {_0x830cx15= demoLicense}}catch(err){console[_0xc19c[28]](_0xc19c[27],err);_0x830cx15= demoLicense};if(_0x830cx15[_0xc19c[44]]> _0x830cx23){_0x830cx24= true};if(!_0x830cx24){return _0x830cx11[_0xc19c[47]](403)[_0xc19c[46]]({message:_0xc19c[45]})};return _0x830cx12()})[_0xc19c[23]](function(_0x830cx13){return _0x830cx12(_0x830cx13)})})}function isTelephonesLimit(){return compose()[_0xc19c[32]](function(_0x830cx10,_0x830cx11,_0x830cx12){var _0x830cx14;return License[_0xc19c[31]]({where:{id:1}})[_0xc19c[30]](function(_0x830cx25){_0x830cx14= _0x830cx25;return User[_0xc19c[51]]({where:{role:_0xc19c[54]}})})[_0xc19c[48]](function(_0x830cx27){var _0x830cx15=null,_0x830cx24=false;try{if(_0x830cx14[_0xc19c[24]]){_0x830cx15= decrypt(_0x830cx14[_0xc19c[24]],_0x830cx14[_0xc19c[25]]);_0x830cx15= JSON[_0xc19c[26]](_0x830cx15)}else {_0x830cx15= demoLicense}}catch(err){console[_0xc19c[28]](_0xc19c[27],err);_0x830cx15= demoLicense};if(_0x830cx15[_0xc19c[52]]> _0x830cx27){_0x830cx24= true};if(!_0x830cx24){return _0x830cx11[_0xc19c[47]](403)[_0xc19c[46]]({message:_0xc19c[53]})};return _0x830cx12()})[_0xc19c[23]](function(_0x830cx13){return _0x830cx12(_0x830cx13)})})}function isValidAgent(){return function(_0x830cx29){var _0x830cx14;var _0x830cx2a=false;if(_0x830cx29[_0xc19c[55]]=== _0xc19c[49]|| _0x830cx29[_0xc19c[55]]=== _0xc19c[50]|| (_0x830cx29[_0xc19c[55]]=== _0xc19c[56]&& _0x830cx29[_0xc19c[57]])){_0x830cx2a= true};return License[_0xc19c[31]]({where:{id:1}})[_0xc19c[30]](function(_0x830cx25){_0x830cx14= _0x830cx25;return User[_0xc19c[51]]({where:{role:_0xc19c[56],online:true}})})[_0xc19c[48]](function(_0x830cx2b){var _0x830cx15=null;try{if(_0x830cx14[_0xc19c[24]]){_0x830cx15= decrypt(_0x830cx14[_0xc19c[24]],_0x830cx14[_0xc19c[25]]);_0x830cx15= JSON[_0xc19c[26]](_0x830cx15)}else {_0x830cx15= demoLicense}}catch(err){console[_0xc19c[28]](_0xc19c[27],err);_0x830cx15= demoLicense};if(_0x830cx15[_0xc19c[58]]> _0x830cx2b){_0x830cx2a= true};return _0x830cx2a})}}function decrypt(_0x830cx2d,_0x830cx2e){var _0x830cx2f=_0x830cx2e[_0xc19c[60]](_0xc19c[59])[4];var _0x830cx30=_0x830cx2e[_0xc19c[60]](_0xc19c[59])[0];var _0x830cx31=crypto[_0xc19c[64]](_0xc19c[61],util[_0xc19c[63]](_0xc19c[62],_0x830cx2f,_0x830cx2e,_0x830cx30));var _0x830cx14=_0x830cx31[_0xc19c[36]](_0x830cx2d,_0xc19c[65],_0xc19c[19]);_0x830cx14+= _0x830cx31[_0xc19c[66]](_0xc19c[19]);return _0x830cx14}exports[_0xc19c[67]]= getUuid;exports[_0xc19c[68]]= isValidDate;exports[_0xc19c[69]]= isUsersLimit;exports[_0xc19c[70]]= isTelephonesLimit;exports[_0xc19c[71]]= hasChat;exports[_0xc19c[72]]= hasMail;exports[_0xc19c[73]]= hasFax;exports[_0xc19c[74]]= hasOpenchannel;exports[_0xc19c[75]]= hasSms;exports[_0xc19c[76]]= hasJscripty;exports[_0xc19c[77]]= hasCm;exports[_0xc19c[78]]= hasUpdate;exports[_0xc19c[79]]= isValidAgent;exports[_0xc19c[80]]= demoLicense;exports[_0xc19c[81]]= decrypt
\ No newline at end of file
-'use strict';
-
-// Use local.env.js for environment variables that grunt will set when the server starts locally.
-// Use for your api keys, secrets, etc. This file should not be tracked by git.
-//
-// You will need to set these on the server you deploy to.
-
-module.exports = {
- DOMAIN: 'http://localhost:9000',
- SESSION_SECRET: 'xcallyshuttle-secret',
-
- FACEBOOK_ID: 'app-id',
- FACEBOOK_SECRET: 'secret',
-
- TWITTER_ID: 'app-id',
- TWITTER_SECRET: 'secret',
-
- GOOGLE_ID: 'app-id',
- GOOGLE_SECRET: 'secret',
-
- // Control debug level for modules using visionmedia/debug
- DEBUG: ''
-};
+var _0x56b7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x3A\x39\x30\x30\x30","\x78\x63\x61\x6C\x6C\x79\x73\x68\x75\x74\x74\x6C\x65\x2D\x73\x65\x63\x72\x65\x74","\x61\x70\x70\x2D\x69\x64","\x73\x65\x63\x72\x65\x74",""];_0x56b7[0];module[_0x56b7[1]]= {DOMAIN:_0x56b7[2],SESSION_SECRET:_0x56b7[3],FACEBOOK_ID:_0x56b7[4],FACEBOOK_SECRET:_0x56b7[5],TWITTER_ID:_0x56b7[4],TWITTER_SECRET:_0x56b7[5],GOOGLE_ID:_0x56b7[4],GOOGLE_SECRET:_0x56b7[5],DEBUG:_0x56b7[6]}
\ No newline at end of file
-var winston = require('winston');
-var path = require('path');
-var config = require('./environment');
-
-winston.emitErrs = true;
-
-var debug = new winston.Logger({
- transports: [
- new winston.transports.Console({
- level: 'debug',
- handleExceptions: true,
- json: false,
- colorize: true
- })
- ]
-});
-
-if (config.logging.debugToFile) {
- debug.add(
- winston.transports.File, {
- name: 'debug-file',
- level: 'debug',
- filename: config.logging.debug,
- handleExceptions: true,
- json: true,
- maxsize: 5242880, //5MB
- maxFiles: 5,
- colorize: false
- }
- );
-}
-
-var info = new winston.Logger({
- transports: [
- new winston.transports.File({
- name: 'info-file',
- level: 'info',
- filename: config.logging.info,
- handleExceptions: true,
- json: true,
- maxsize: 5242880, //5MB
- maxFiles: 5,
- colorize: false
- }),
- new winston.transports.Console({
- level: 'info',
- handleExceptions: true,
- json: false,
- colorize: true
- })
- ]
-});
-
-var warn = new winston.Logger({
- transports: [
- new winston.transports.File({
- name: 'warn-file',
- level: 'warn',
- filename: config.logging.warn,
- handleExceptions: true,
- json: true,
- maxsize: 5242880, //5MB
- maxFiles: 5,
- colorize: false
- }),
- new winston.transports.Console({
- level: 'warn',
- handleExceptions: true,
- json: false,
- colorize: true
- })
- ]
-});
-
-var error = new winston.Logger({
- transports: [
- new winston.transports.File({
- name: 'error-file',
- level: 'error',
- filename: config.logging.error,
- handleExceptions: true,
- json: true,
- maxsize: 5242880, //5MB
- maxFiles: 5,
- colorize: false
- }),
- new winston.transports.Console({
- level: 'error',
- handleExceptions: true,
- json: false,
- colorize: true
- })
- ]
-});
-
-var loggers = {
- debug: function(msg, callback) {
- debug.debug(msg, callback);
- },
- info: function(msg, callback) {
- info.info(msg, callback);
- },
- warn: function(msg, callback) {
- warn.warn(msg, callback);
- },
- error: function(msg, callback) {
- error.error(msg, callback);
- },
- log: function(level, msg, callback) {
- var lvl = exports[level];
- lvl(msg, callback);
- }
-};
-
-module.exports = loggers;
-module.exports.stream = {
- write: function(message, encoding) {
- loggers.info(message);
- }
-};
+var _0xa89e=["\x77\x69\x6E\x73\x74\x6F\x6E","\x70\x61\x74\x68","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x65\x6D\x69\x74\x45\x72\x72\x73","\x64\x65\x62\x75\x67","\x74\x72\x61\x6E\x73\x70\x6F\x72\x74\x73","\x64\x65\x62\x75\x67\x54\x6F\x46\x69\x6C\x65","\x6C\x6F\x67\x67\x69\x6E\x67","\x64\x65\x62\x75\x67\x2D\x66\x69\x6C\x65","\x61\x64\x64","\x69\x6E\x66\x6F\x2D\x66\x69\x6C\x65","\x69\x6E\x66\x6F","\x77\x61\x72\x6E\x2D\x66\x69\x6C\x65","\x77\x61\x72\x6E","\x65\x72\x72\x6F\x72\x2D\x66\x69\x6C\x65","\x65\x72\x72\x6F\x72","\x65\x78\x70\x6F\x72\x74\x73","\x73\x74\x72\x65\x61\x6D"];var winston=require(_0xa89e[0]);var path=require(_0xa89e[1]);var config=require(_0xa89e[2]);winston[_0xa89e[3]]= true;var debug= new winston.Logger({transports:[ new winston[_0xa89e[5]].Console({level:_0xa89e[4],handleExceptions:true,json:false,colorize:true})]});if(config[_0xa89e[7]][_0xa89e[6]]){debug[_0xa89e[9]](winston[_0xa89e[5]].File,{name:_0xa89e[8],level:_0xa89e[4],filename:config[_0xa89e[7]][_0xa89e[4]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false})};var info= new winston.Logger({transports:[ new winston[_0xa89e[5]].File({name:_0xa89e[10],level:_0xa89e[11],filename:config[_0xa89e[7]][_0xa89e[11]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0xa89e[5]].Console({level:_0xa89e[11],handleExceptions:true,json:false,colorize:true})]});var warn= new winston.Logger({transports:[ new winston[_0xa89e[5]].File({name:_0xa89e[12],level:_0xa89e[13],filename:config[_0xa89e[7]][_0xa89e[13]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0xa89e[5]].Console({level:_0xa89e[13],handleExceptions:true,json:false,colorize:true})]});var error= new winston.Logger({transports:[ new winston[_0xa89e[5]].File({name:_0xa89e[14],level:_0xa89e[15],filename:config[_0xa89e[7]][_0xa89e[15]],handleExceptions:true,json:true,maxsize:5242880,maxFiles:5,colorize:false}), new winston[_0xa89e[5]].Console({level:_0xa89e[15],handleExceptions:true,json:false,colorize:true})]});var loggers={debug:function(_0x7187x9,_0x7187xa){debug[_0xa89e[4]](_0x7187x9,_0x7187xa)},info:function(_0x7187x9,_0x7187xa){info[_0xa89e[11]](_0x7187x9,_0x7187xa)},warn:function(_0x7187x9,_0x7187xa){warn[_0xa89e[13]](_0x7187x9,_0x7187xa)},error:function(_0x7187x9,_0x7187xa){error[_0xa89e[15]](_0x7187x9,_0x7187xa)},log:function(_0x7187xb,_0x7187x9,_0x7187xa){var _0x7187xc=exports[_0x7187xb];_0x7187xc(_0x7187x9,_0x7187xa)}};module[_0xa89e[16]]= loggers;module[_0xa89e[16]][_0xa89e[17]]= {write:function(_0x7187xd,_0x7187xe){loggers[_0xa89e[11]](_0x7187xd)}}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Promise = require('bluebird');
-var Util = require('../util');
-var moment = require('moment');
-var path = require('path');
-var util = require('util');
-var fs = require('fs');
-var Agent = require('../../models').User;
-var OpenchannelRoom = require('../../models').OpenchannelRoom;
-var OpenchannelMessage = require('../../models').OpenchannelMessage;
-var OpenchannelAccount = require('../../models').OpenchannelAccount;
-var ReportOpenchannel = require('../../models').ReportOpenchannel;
-var Action = require('../../models').Action;
-var path = require('path');
-var fs = require('fs');
-var Contact = require('../../models').Contact;
-
-
-var Scheduler = require('../routing/scheduler');
-
-function Custom() {
- console.log('open channel Initialization...');
- this.account = null;
-}
-
-Custom.prototype.init = function(doc) {
- var self = this;
- console.log("Open channel - Account " + doc.name + " CREATE");
- self.account = doc;
- OpenchannelAccount.afterUpdate(function(doc) {
- if (self.account && doc.id === self.account.id) {
- self.onUpdate(doc);
- }
- });
- ReportOpenchannel.afterUpdate(function(doc) {
- if (self.account && doc.accountid == self.account.id) {
- if (doc.changed('connectid')) {
- self.webhook(doc, 'accept');
- }
- if (doc.changed('rejectedAt')) {
- self.webhook(doc, 'reject');
- }
- }
- });
- OpenchannelRoom.afterUpdate(function(doc) {
- if (self.account && doc.OpenchannelAccountId == self.account.id) {
- if (doc.changed('status') && doc.status === 'CLOSED') {
- self.webhook(doc, 'close');
- }
- }
- })
- OpenchannelAccount.afterDestroy(function(doc) {
- if (self.account && doc.id === self.account.id) {
- self.onRemove(doc);
- }
- });
- OpenchannelMessage.afterCreate(function(doc, opt) {
-
- if (self.account && self.account.id == doc.dataValues.OpenchannelAccountId) {
-
- if (doc.status === 'RECEIVED') {
- var scheduler = new Scheduler({
- channel: 'openchannel',
- uniqueid: util.format('%s.%s', moment().unix(), doc.OpenchannelRoomId),
- messageid: doc.id,
- roomid: doc.OpenchannelRoomId,
- accountid: self.account.id,
- accountname: self.account.name,
- from: doc.from
- })
-
- scheduler.init();
- }
-
- self.onSend(doc, opt);
- }
- });
-};
-
-Custom.prototype.onUpdate = function(doc) {
- if (!doc.changed('state')) {
- console.log("Open channel - Account " + doc.name + " UPDATE");
- this.account = null;
- this.account = doc;
- }
-}
-
-Custom.prototype.onRemove = function(doc) {
- console.log("[Open channel - Account " + doc.name + " DESTROY");
- this.account = null;
-}
-
-Custom.prototype.onSend = function(Message, opt) {
- // var self = this;
- var _Account = this.account;
- var _mMessage = Message;
- var _Room;
- var _mAgent;
-
- if (_mMessage.status === 'SENDING') {
-
- return Promise
- .all([])
- .then(getRoom(_mMessage))
- .then(function(Room) {
- _Room = Room;
- return _mMessage
- .setOpenchannelRoom(Room.id);
- })
- .then(function() {
- return _Room
- .updateAttributes({
- status: 'PENDING',
- lastEvent: 'SENDING',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- openchannelOut: ++_Room.openchannelOut
- }, {
- individualHooks: true,
- user: opt.user
- });
- })
- .then(function(message) {
- return Agent.
- findById(_mMessage.UserId);
- })
- .then(function(mAgent) {
- _mAgent = mAgent;
- return _Room
- .addUser(_mAgent);
- })
- .then(function() {
- console.log("SENDING Message...");
- if (_Account.replyMethod && _Account.replyUrl) {
- var message = {
- from: _mMessage.from,
- to: _mMessage.to,
- body: _mMessage.body,
- UserId: _mMessage.UserId,
- OpenchannelAccountId: _mMessage.OpenchannelAccountId,
- OpenchannelRoomId: _mMessage.OpenchannelRoomId
- };
- return Util
- .sendRequest(message, _Account.replyMethod, _Account.replyUrl)
- } else {
- throw {
- name: "ERROR",
- message: " Account HTTP Method or URL is not configured. Contact your administrator!!"
- };
-
- }
- })
- .then(function(res) {
- // console.log('response', res);
- console.log(" Message SENT...");
- return _mMessage
- .update({
- status: 'SENT',
- res_data: JSON.stringify(res)
- })
- })
- .then(function() {
- return _Room
- .updateAttributes({
- lastEvent: 'SENT',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss')
- });
- })
- .catch(function(err) {
- console.log('err', err);
- _mMessage
- .update({
- status: 'FAILED',
- res_data: JSON.stringify(err)
- })
- .then(function() {
- return _Room
- .updateAttributes({
- lastEvent: 'FAILED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss')
- });
- })
- .catch(function(err) {
- console.log('Error updating error status');
- });
-
- })
- }
-}
-
-function getRoom(_mMessage) {
- return function() {
- if (_mMessage.OpenchannelRoomId) {
- return OpenchannelRoom
- .findById(_mMessage.OpenchannelRoomId)
- } else {
- return OpenchannelRoom
- .findAll({
- limit: 1,
- where: {
- contact: _mMessage.to,
- OpenchannelAccountId: _mMessage.OpenchannelAccountId
- },
- order: [
- ['createdAt', 'DESC']
- ]
- })
- .then(function(room) {
- var room = room[0];
- if (!room || room.status === 'CLOSED') {
- var parentID = room ? room.id : null;
- return OpenchannelRoom
- .create({
- contact: _mMessage.to,
- OpenchannelAccountId: _mMessage.OpenchannelAccountId,
- status: 'PENDING',
- ParentId: parentID
- })
- }
- return room;
- })
- }
-
- }
-}
-
-
-function execRequest(doc, method, url) {
- Util.sendRequest(doc, method, url)
- .then(function(values) {
- console.log('request successeful!');
-
- })
- .catch(function(err) {
- console.log('request failed!');
-
- })
-}
-Custom.prototype.webhook = function(doc, hook) {
- var _Account = this.account;
-
- switch (hook) {
- case 'accept':
- if (_Account.acceptMethod && _Account.acceptUrl) {
- console.log('Openchannel account <' + _Account.name + '> executing accept webhook');
- execRequest(doc.dataValues, _Account.acceptMethod, _Account.acceptUrl);
- }
- if (_Account.actions.length) {
- _.forEach(_Account.actions, function(action) {
- if (action.enabled) {
- Util.execAction(action, doc);
- }
- })
- }
- break;
- case 'reject':
- if (_Account.rejectMethod && _Account.rejectUrl) {
- console.log('Openchannel account <' + _Account.name + '> executing reject webhook');
- execRequest(doc.dataValues, _Account.rejectMethod, _Account.rejectUrl);
- }
- break;
- case 'close':
- if (_Account.closeMethod && _Account.closeUrl) {
- console.log('Openchannel account <' + _Account.name + '> executing close webhook');
- execRequest(doc.dataValues, _Account.closeMethod, _Account.closeUrl);
- }
- break;
- default:
- console.log('Webhook not recognized');
- }
-}
-
-module.exports = Custom;
+var _0xf0da=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x75\x74\x69\x6C","\x66\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x41\x63\x74\x69\x6F\x6E","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x72\x6F\x75\x74\x69\x6E\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x6F\x70\x65\x6E\x20\x63\x68\x61\x6E\x6E\x65\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x63\x63\x6F\x75\x6E\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x4F\x70\x65\x6E\x20\x63\x68\x61\x6E\x6E\x65\x6C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x6E\x61\x6D\x65","\x20\x43\x52\x45\x41\x54\x45","\x69\x64","\x6F\x6E\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x63\x63\x6F\x75\x6E\x74\x69\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x64","\x63\x68\x61\x6E\x67\x65\x64","\x61\x63\x63\x65\x70\x74","\x77\x65\x62\x68\x6F\x6F\x6B","\x72\x65\x6A\x65\x63\x74\x65\x64\x41\x74","\x72\x65\x6A\x65\x63\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x73\x74\x61\x74\x75\x73","\x43\x4C\x4F\x53\x45\x44","\x63\x6C\x6F\x73\x65","\x6F\x6E\x52\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x25\x73\x2E\x25\x73","\x75\x6E\x69\x78","\x66\x6F\x72\x6D\x61\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x49\x64","\x66\x72\x6F\x6D","\x6F\x6E\x53\x65\x6E\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x65","\x20\x55\x50\x44\x41\x54\x45","\x5B\x4F\x70\x65\x6E\x20\x63\x68\x61\x6E\x6E\x65\x6C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x20\x44\x45\x53\x54\x52\x4F\x59","\x53\x45\x4E\x44\x49\x4E\x47","\x65\x72\x72","\x45\x72\x72\x6F\x72\x20\x75\x70\x64\x61\x74\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x20\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x46\x41\x49\x4C\x45\x44","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x74\x68\x65\x6E","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x75\x70\x64\x61\x74\x65","\x53\x45\x4E\x54","\x20\x4D\x65\x73\x73\x61\x67\x65\x20\x53\x45\x4E\x54\x2E\x2E\x2E","\x53\x45\x4E\x44\x49\x4E\x47\x20\x4D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x72\x65\x70\x6C\x79\x4D\x65\x74\x68\x6F\x64","\x72\x65\x70\x6C\x79\x55\x72\x6C","\x74\x6F","\x62\x6F\x64\x79","\x55\x73\x65\x72\x49\x64","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x45\x52\x52\x4F\x52","\x20\x41\x63\x63\x6F\x75\x6E\x74\x20\x48\x54\x54\x50\x20\x4D\x65\x74\x68\x6F\x64\x20\x6F\x72\x20\x55\x52\x4C\x20\x69\x73\x20\x6E\x6F\x74\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x64\x2E\x20\x43\x6F\x6E\x74\x61\x63\x74\x20\x79\x6F\x75\x72\x20\x61\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x6F\x72\x21\x21","\x61\x64\x64\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x50\x45\x4E\x44\x49\x4E\x47","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4F\x75\x74","\x75\x73\x65\x72","\x73\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x61\x6C\x6C","\x63\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x66\x69\x6E\x64\x41\x6C\x6C","\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6C\x65\x64\x21","\x72\x65\x71\x75\x65\x73\x74\x20\x73\x75\x63\x63\x65\x73\x73\x65\x66\x75\x6C\x21","\x61\x63\x63\x65\x70\x74\x4D\x65\x74\x68\x6F\x64","\x61\x63\x63\x65\x70\x74\x55\x72\x6C","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x3C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x63\x65\x70\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x6C\x65\x6E\x67\x74\x68","\x61\x63\x74\x69\x6F\x6E\x73","\x65\x6E\x61\x62\x6C\x65\x64","\x65\x78\x65\x63\x41\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x65\x6A\x65\x63\x74\x4D\x65\x74\x68\x6F\x64","\x72\x65\x6A\x65\x63\x74\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x72\x65\x6A\x65\x63\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x63\x6C\x6F\x73\x65\x4D\x65\x74\x68\x6F\x64","\x63\x6C\x6F\x73\x65\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x6C\x6F\x73\x65\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x57\x65\x62\x68\x6F\x6F\x6B\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0xf0da[0];var _=require(_0xf0da[1]);var Promise=require(_0xf0da[2]);var Util=require(_0xf0da[3]);var moment=require(_0xf0da[4]);var path=require(_0xf0da[5]);var util=require(_0xf0da[6]);var fs=require(_0xf0da[7]);var Agent=require(_0xf0da[9])[_0xf0da[8]];var OpenchannelRoom=require(_0xf0da[9])[_0xf0da[10]];var OpenchannelMessage=require(_0xf0da[9])[_0xf0da[11]];var OpenchannelAccount=require(_0xf0da[9])[_0xf0da[12]];var ReportOpenchannel=require(_0xf0da[9])[_0xf0da[13]];var Action=require(_0xf0da[9])[_0xf0da[14]];var path=require(_0xf0da[5]);var fs=require(_0xf0da[7]);var Contact=require(_0xf0da[9])[_0xf0da[15]];var Scheduler=require(_0xf0da[16]);function Custom(){console[_0xf0da[18]](_0xf0da[17]);this[_0xf0da[19]]= null}Custom[_0xf0da[21]][_0xf0da[20]]= function(_0x2682x11){var _0x2682x12=this;console[_0xf0da[18]](_0xf0da[22]+ _0x2682x11[_0xf0da[23]]+ _0xf0da[24]);_0x2682x12[_0xf0da[19]]= _0x2682x11;OpenchannelAccount[_0xf0da[27]](function(_0x2682x11){if(_0x2682x12[_0xf0da[19]]&& _0x2682x11[_0xf0da[25]]=== _0x2682x12[_0xf0da[19]][_0xf0da[25]]){_0x2682x12[_0xf0da[26]](_0x2682x11)}});ReportOpenchannel[_0xf0da[27]](function(_0x2682x11){if(_0x2682x12[_0xf0da[19]]&& _0x2682x11[_0xf0da[28]]== _0x2682x12[_0xf0da[19]][_0xf0da[25]]){if(_0x2682x11[_0xf0da[30]](_0xf0da[29])){_0x2682x12[_0xf0da[32]](_0x2682x11,_0xf0da[31])};if(_0x2682x11[_0xf0da[30]](_0xf0da[33])){_0x2682x12[_0xf0da[32]](_0x2682x11,_0xf0da[34])}}});OpenchannelRoom[_0xf0da[27]](function(_0x2682x11){if(_0x2682x12[_0xf0da[19]]&& _0x2682x11[_0xf0da[35]]== _0x2682x12[_0xf0da[19]][_0xf0da[25]]){if(_0x2682x11[_0xf0da[30]](_0xf0da[36])&& _0x2682x11[_0xf0da[36]]=== _0xf0da[37]){_0x2682x12[_0xf0da[32]](_0x2682x11,_0xf0da[38])}}});OpenchannelAccount[_0xf0da[40]](function(_0x2682x11){if(_0x2682x12[_0xf0da[19]]&& _0x2682x11[_0xf0da[25]]=== _0x2682x12[_0xf0da[19]][_0xf0da[25]]){_0x2682x12[_0xf0da[39]](_0x2682x11)}});OpenchannelMessage[_0xf0da[50]](function(_0x2682x11,_0x2682x13){if(_0x2682x12[_0xf0da[19]]&& _0x2682x12[_0xf0da[19]][_0xf0da[25]]== _0x2682x11[_0xf0da[41]][_0xf0da[35]]){if(_0x2682x11[_0xf0da[36]]=== _0xf0da[42]){var _0x2682x14= new Scheduler({channel:_0xf0da[43],uniqueid:util[_0xf0da[46]](_0xf0da[44],moment()[_0xf0da[45]](),_0x2682x11.OpenchannelRoomId),messageid:_0x2682x11[_0xf0da[25]],roomid:_0x2682x11[_0xf0da[47]],accountid:_0x2682x12[_0xf0da[19]][_0xf0da[25]],accountname:_0x2682x12[_0xf0da[19]][_0xf0da[23]],from:_0x2682x11[_0xf0da[48]]});_0x2682x14[_0xf0da[20]]()};_0x2682x12[_0xf0da[49]](_0x2682x11,_0x2682x13)}})};Custom[_0xf0da[21]][_0xf0da[26]]= function(_0x2682x11){if(!_0x2682x11[_0xf0da[30]](_0xf0da[51])){console[_0xf0da[18]](_0xf0da[22]+ _0x2682x11[_0xf0da[23]]+ _0xf0da[52]);this[_0xf0da[19]]= null;this[_0xf0da[19]]= _0x2682x11}};Custom[_0xf0da[21]][_0xf0da[39]]= function(_0x2682x11){console[_0xf0da[18]](_0xf0da[53]+ _0x2682x11[_0xf0da[23]]+ _0xf0da[54]);this[_0xf0da[19]]= null};Custom[_0xf0da[21]][_0xf0da[49]]= function(_0x2682x15,_0x2682x13){var _0x2682x16=this[_0xf0da[19]];var _0x2682x17=_0x2682x15;var _0x2682x18;var _0x2682x19;if(_0x2682x17[_0xf0da[36]]=== _0xf0da[55]){return Promise[_0xf0da[82]]([])[_0xf0da[62]](getRoom(_0x2682x17))[_0xf0da[62]](function(_0x2682x1e){_0x2682x18= _0x2682x1e;return _0x2682x17[_0xf0da[81]](_0x2682x1e[_0xf0da[25]])})[_0xf0da[62]](function(){return _0x2682x18[_0xf0da[61]]({status:_0xf0da[78],lastEvent:_0xf0da[55],lastEventAt:moment()[_0xf0da[46]](_0xf0da[60]),openchannelOut:++_0x2682x18[_0xf0da[79]]},{individualHooks:true,user:_0x2682x13[_0xf0da[80]]})})[_0xf0da[62]](function(_0x2682x1c){return Agent[_0xf0da[77]](_0x2682x17.UserId)})[_0xf0da[62]](function(_0x2682x1d){_0x2682x19= _0x2682x1d;return _0x2682x18[_0xf0da[76]](_0x2682x19)})[_0xf0da[62]](function(){console[_0xf0da[18]](_0xf0da[67]);if(_0x2682x16[_0xf0da[68]]&& _0x2682x16[_0xf0da[69]]){var _0x2682x1c={from:_0x2682x17[_0xf0da[48]],to:_0x2682x17[_0xf0da[70]],body:_0x2682x17[_0xf0da[71]],UserId:_0x2682x17[_0xf0da[72]],OpenchannelAccountId:_0x2682x17[_0xf0da[35]],OpenchannelRoomId:_0x2682x17[_0xf0da[47]]};return Util[_0xf0da[73]](_0x2682x1c,_0x2682x16[_0xf0da[68]],_0x2682x16[_0xf0da[69]])}else {throw {name:_0xf0da[74],message:_0xf0da[75]}}})[_0xf0da[62]](function(_0x2682x1b){console[_0xf0da[18]](_0xf0da[66]);return _0x2682x17[_0xf0da[64]]({status:_0xf0da[65],res_data:JSON[_0xf0da[63]](_0x2682x1b)})})[_0xf0da[62]](function(){return _0x2682x18[_0xf0da[61]]({lastEvent:_0xf0da[65],lastEventAt:moment()[_0xf0da[46]](_0xf0da[60])})})[_0xf0da[58]](function(_0x2682x1a){console[_0xf0da[18]](_0xf0da[56],_0x2682x1a);_0x2682x17[_0xf0da[64]]({status:_0xf0da[59],res_data:JSON[_0xf0da[63]](_0x2682x1a)})[_0xf0da[62]](function(){return _0x2682x18[_0xf0da[61]]({lastEvent:_0xf0da[59],lastEventAt:moment()[_0xf0da[46]](_0xf0da[60])})})[_0xf0da[58]](function(_0x2682x1a){console[_0xf0da[18]](_0xf0da[57])})})}};function getRoom(_0x2682x17){return function(){if(_0x2682x17[_0xf0da[47]]){return OpenchannelRoom[_0xf0da[77]](_0x2682x17.OpenchannelRoomId)}else {return OpenchannelRoom[_0xf0da[86]]({limit:1,where:{contact:_0x2682x17[_0xf0da[70]],OpenchannelAccountId:_0x2682x17[_0xf0da[35]]},order:[[_0xf0da[84],_0xf0da[85]]]})[_0xf0da[62]](function(_0x2682x20){var _0x2682x20=_0x2682x20[0];if(!_0x2682x20|| _0x2682x20[_0xf0da[36]]=== _0xf0da[37]){var _0x2682x21=_0x2682x20?_0x2682x20[_0xf0da[25]]:null;return OpenchannelRoom[_0xf0da[83]]({contact:_0x2682x17[_0xf0da[70]],OpenchannelAccountId:_0x2682x17[_0xf0da[35]],status:_0xf0da[78],ParentId:_0x2682x21})};return _0x2682x20})}}}function execRequest(_0x2682x11,_0x2682x23,_0x2682x24){Util[_0xf0da[73]](_0x2682x11,_0x2682x23,_0x2682x24)[_0xf0da[62]](function(_0x2682x25){console[_0xf0da[18]](_0xf0da[88])})[_0xf0da[58]](function(_0x2682x1a){console[_0xf0da[18]](_0xf0da[87])})}Custom[_0xf0da[21]][_0xf0da[32]]= function(_0x2682x11,_0x2682x26){var _0x2682x16=this[_0xf0da[19]];switch(_0x2682x26){case _0xf0da[31]:if(_0x2682x16[_0xf0da[89]]&& _0x2682x16[_0xf0da[90]]){console[_0xf0da[18]](_0xf0da[91]+ _0x2682x16[_0xf0da[23]]+ _0xf0da[92]);execRequest(_0x2682x11[_0xf0da[41]],_0x2682x16[_0xf0da[89]],_0x2682x16[_0xf0da[90]])};if(_0x2682x16[_0xf0da[94]][_0xf0da[93]]){_[_0xf0da[97]](_0x2682x16[_0xf0da[94]],function(_0x2682x27){if(_0x2682x27[_0xf0da[95]]){Util[_0xf0da[96]](_0x2682x27,_0x2682x11)}})};break;case _0xf0da[34]:if(_0x2682x16[_0xf0da[98]]&& _0x2682x16[_0xf0da[99]]){console[_0xf0da[18]](_0xf0da[91]+ _0x2682x16[_0xf0da[23]]+ _0xf0da[100]);execRequest(_0x2682x11[_0xf0da[41]],_0x2682x16[_0xf0da[98]],_0x2682x16[_0xf0da[99]])};break;case _0xf0da[38]:if(_0x2682x16[_0xf0da[101]]&& _0x2682x16[_0xf0da[102]]){console[_0xf0da[18]](_0xf0da[91]+ _0x2682x16[_0xf0da[23]]+ _0xf0da[103]);execRequest(_0x2682x11[_0xf0da[41]],_0x2682x16[_0xf0da[101]],_0x2682x16[_0xf0da[102]])};break;default:console[_0xf0da[18]](_0xf0da[104])}};module[_0xf0da[105]]= Custom
\ No newline at end of file
-'use strict';
-var OpenchannelAccount = require('../../models').OpenchannelAccount;
-var Custom = require('./custom');
-
-
-module.exports = function() {
- OpenchannelAccount.afterCreate(function(server) {
- var custom = new Custom();
- custom.init(server);
- });
-
- return OpenchannelAccount
- .findAll()
- .then(function(accounts) {
- accounts.forEach(function(account) {
- var custom = new Custom();
- custom.init(account);
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
+var _0x84a7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2F\x63\x75\x73\x74\x6F\x6D","\x65\x78\x70\x6F\x72\x74\x73","\x69\x6E\x69\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0x84a7[0];var OpenchannelAccount=require(_0x84a7[2])[_0x84a7[1]];var Custom=require(_0x84a7[3]);module[_0x84a7[4]]= function(){OpenchannelAccount[_0x84a7[6]](function(_0x2f31x3){var _0x2f31x4= new Custom();_0x2f31x4[_0x84a7[5]](_0x2f31x3)});return OpenchannelAccount[_0x84a7[11]]()[_0x84a7[10]](function(_0x2f31x6){_0x2f31x6[_0x84a7[9]](function(_0x2f31x7){var _0x2f31x4= new Custom();_0x2f31x4[_0x84a7[5]](_0x2f31x7)})})[_0x84a7[8]](function(_0x2f31x5){console[_0x84a7[7]](_0x2f31x5)})}
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-const moment = require('moment');
-
-// MODELS
-const User = require('../../models').User;
-
-// Define the factory
-function Agent(app, data, next) {
- this.app = app;
- this.data = data;
- this.called = [];
- this.rejected = [];
- //callbacks
- this.next = next;
-}
-
-Agent.prototype.init = function init() {
- var self = this;
- var query = {
- where: {
- id: self.app.UserId,
- online: true
- },
- include: []
- };
-
- query.where[structure.labels.pauses[self.data.channel]] = false;
- query.include.push({
- model: structure.models.rooms[self.data.channel],
- attributes: ['id']
- });
-
- return User
- .findAll(query)
- .then(function(agents) {
- self._agents = agents;
-
- console.info(self.data.channel.toUpperCase(), 'APP AGENT, INTERACTION:', self.data.uniqueid, 'TIMEOUT', self.app.timeout, 'SEC');
-
- if (self._agents.length && available(
- self._agents[0].online,
- self._agents[0][structure.labels.pauses[self.data.channel]],
- _.filter(self._agents[0][structure.labels.rooms[self.data.channel]], {
- status: 'OPEN'
- }),
- self._agents[0][structure.labels.capacities[self.data.channel]])) {
- self.writeReport();
-
- self.timeout = setTimeout(function() {
- self.next();
- }, self.app.timeout * 1000);
- } else {
- console.info(self.data.channel.toUpperCase(), 'APP FIDELITY SKIP INTERACTION:', self.data.roomId);
- self.next();
- }
- })
- .then(function() {
- return structure.models.rooms[self.data.channel]
- .update({
- waiting: true
- }, {
- where: {
- id: self.data.roomid,
- },
- individualHooks: true
- })
- .then(function() {
- console.log('AGENT ACTION STARTED');
- })
- .catch(function(err) {
- console.error();
- });
- });
-}
-
-Agent.prototype.writeReport = function writeReport() {
- var self = this;
- var values = _.map(self._agents, function(agent) {
- return _.merge(self.data, {
- timeslot: self.app.timeout,
- application: 'agent',
- membername: agent.name,
- memberid: agent.id,
- calledAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- joinAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
- });
-
- return structure.models.sessions[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- })
- .then(function() {
- return structure.models.reports[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function available(online, pause, rooms, capacity) {
- // CHECK CAPACITY
- return online && !pause && ((rooms.length < capacity) || capacity === 0);
-}
-
-// Export this file as a module
-module.exports = Agent;
+var _0xe027=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x70\x70","\x64\x61\x74\x61","\x63\x61\x6C\x6C\x65\x64","\x72\x65\x6A\x65\x63\x74\x65\x64","\x6E\x65\x78\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x55\x73\x65\x72\x49\x64","\x63\x68\x61\x6E\x6E\x65\x6C","\x70\x61\x75\x73\x65\x73","\x6C\x61\x62\x65\x6C\x73","\x77\x68\x65\x72\x65","\x72\x6F\x6F\x6D\x73","\x6D\x6F\x64\x65\x6C\x73","\x69\x64","\x70\x75\x73\x68","\x69\x6E\x63\x6C\x75\x64\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x41\x47\x45\x4E\x54\x20\x41\x43\x54\x49\x4F\x4E\x20\x53\x54\x41\x52\x54\x45\x44","\x6C\x6F\x67","\x74\x68\x65\x6E","\x72\x6F\x6F\x6D\x69\x64","\x75\x70\x64\x61\x74\x65","\x5F\x61\x67\x65\x6E\x74\x73","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x41\x50\x50\x20\x41\x47\x45\x4E\x54\x2C\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x75\x6E\x69\x71\x75\x65\x69\x64","\x54\x49\x4D\x45\x4F\x55\x54","\x74\x69\x6D\x65\x6F\x75\x74","\x53\x45\x43","\x69\x6E\x66\x6F","\x6C\x65\x6E\x67\x74\x68","\x6F\x6E\x6C\x69\x6E\x65","\x4F\x50\x45\x4E","\x66\x69\x6C\x74\x65\x72","\x63\x61\x70\x61\x63\x69\x74\x69\x65\x73","\x77\x72\x69\x74\x65\x52\x65\x70\x6F\x72\x74","\x41\x50\x50\x20\x46\x49\x44\x45\x4C\x49\x54\x59\x20\x53\x4B\x49\x50\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x72\x6F\x6F\x6D\x49\x64","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74","\x6E\x61\x6D\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6D\x65\x72\x67\x65","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x73","\x73\x65\x73\x73\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0xe027[0];const _=require(_0xe027[1]);const config=require(_0xe027[2]);const structure=require(_0xe027[3]);const cp=require(_0xe027[4]);const util=require(_0xe027[5]);const moment=require(_0xe027[6]);const User=require(_0xe027[8])[_0xe027[7]];function Agent(_0xffb0x9,_0xffb0xa,_0xffb0xb){this[_0xe027[9]]= _0xffb0x9;this[_0xe027[10]]= _0xffb0xa;this[_0xe027[11]]= [];this[_0xe027[12]]= [];this[_0xe027[13]]= _0xffb0xb}Agent[_0xe027[15]][_0xe027[14]]= function init(){var _0xffb0xd=this;var _0xffb0xe={where:{id:_0xffb0xd[_0xe027[9]][_0xe027[16]],online:true},include:[]};_0xffb0xe[_0xe027[20]][structure[_0xe027[19]][_0xe027[18]][_0xffb0xd[_0xe027[10]][_0xe027[17]]]]= false;_0xffb0xe[_0xe027[25]][_0xe027[24]]({model:structure[_0xe027[22]][_0xe027[21]][_0xffb0xd[_0xe027[10]][_0xe027[17]]],attributes:[_0xe027[23]]});return User[_0xe027[49]](_0xffb0xe)[_0xe027[30]](function(_0xffb0x10){_0xffb0xd[_0xe027[33]]= _0xffb0x10;console[_0xe027[40]](_0xffb0xd[_0xe027[10]][_0xe027[17]][_0xe027[34]](),_0xe027[35],_0xffb0xd[_0xe027[10]][_0xe027[36]],_0xe027[37],_0xffb0xd[_0xe027[9]][_0xe027[38]],_0xe027[39]);if(_0xffb0xd[_0xe027[33]][_0xe027[41]]&& available(_0xffb0xd[_0xe027[33]][0][_0xe027[42]],_0xffb0xd[_0xe027[33]][0][structure[_0xe027[19]][_0xe027[18]][_0xffb0xd[_0xe027[10]][_0xe027[17]]]],_[_0xe027[44]](_0xffb0xd[_0xe027[33]][0][structure[_0xe027[19]][_0xe027[21]][_0xffb0xd[_0xe027[10]][_0xe027[17]]]],{status:_0xe027[43]}),_0xffb0xd[_0xe027[33]][0][structure[_0xe027[19]][_0xe027[45]][_0xffb0xd[_0xe027[10]][_0xe027[17]]]])){_0xffb0xd[_0xe027[46]]();_0xffb0xd[_0xe027[38]]= setTimeout(function(){_0xffb0xd[_0xe027[13]]()},_0xffb0xd[_0xe027[9]][_0xe027[38]]* 1000)}else {console[_0xe027[40]](_0xffb0xd[_0xe027[10]][_0xe027[17]][_0xe027[34]](),_0xe027[47],_0xffb0xd[_0xe027[10]][_0xe027[48]]);_0xffb0xd[_0xe027[13]]()}})[_0xe027[30]](function(){return structure[_0xe027[22]][_0xe027[21]][_0xffb0xd[_0xe027[10]][_0xe027[17]]][_0xe027[32]]({waiting:true},{where:{id:_0xffb0xd[_0xe027[10]][_0xe027[31]]},individualHooks:true})[_0xe027[30]](function(){console[_0xe027[29]](_0xe027[28])})[_0xe027[27]](function(_0xffb0xf){console[_0xe027[26]]()})})};Agent[_0xe027[15]][_0xe027[46]]= function writeReport(){var _0xffb0xd=this;var _0xffb0x12=_[_0xe027[55]](_0xffb0xd._agents,function(_0xffb0x13){return _[_0xe027[54]](_0xffb0xd[_0xe027[10]],{timeslot:_0xffb0xd[_0xe027[9]][_0xe027[38]],application:_0xe027[50],membername:_0xffb0x13[_0xe027[51]],memberid:_0xffb0x13[_0xe027[23]],calledAt:moment()[_0xe027[53]](_0xe027[52]),joinAt:moment()[_0xe027[53]](_0xe027[52])})});return structure[_0xe027[22]][_0xe027[58]][_0xffb0xd[_0xe027[10]][_0xe027[17]]][_0xe027[56]](_0xffb0x12,{individualHooks:true})[_0xe027[30]](function(){return structure[_0xe027[22]][_0xe027[57]][_0xffb0xd[_0xe027[10]][_0xe027[17]]][_0xe027[56]](_0xffb0x12,{individualHooks:true})})[_0xe027[27]](function(_0xffb0xf){console[_0xe027[26]](_0xffb0xf)})};function available(_0xffb0x15,_0xffb0x16,_0xffb0x17,_0xffb0x18){return _0xffb0x15&& !_0xffb0x16&& ((_0xffb0x17[_0xe027[41]]< _0xffb0x18)|| _0xffb0x18=== 0)}module[_0xe027[59]]= Agent
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-const moment = require('moment');
-
-// MODELS
-const Agent = require('../../models').User;
-
-// Define the factory
-function Fidelity(app, data, next) {
- this.app = app;
- this.data = data;
- //callbacks
- this.next = next;
-}
-
-Fidelity.prototype.init = function init() {
- var self = this;
- var query = {
- where: {
- online: true
- },
- attributes: ['id', 'name', 'fullname'],
- raw: true
- };
-
- query.where[structure.labels.pauses[self.data.channel]] = false;
-
- return structure.models.rooms[self.data.channel]
- .findById(self.data.roomid)
- .then(function(room) {
- return room
- .getUsers(query);
- })
- .then(function(agents) {
- self._agents = agents;
- console.info(self.data.channel.toUpperCase(), 'APP FIDELITY INTERACTION:', self.data.roomid, 'TIMEOUT', self.app.timeout, 'SEC');
- if (self._agents.length) {
- self.writeReport();
-
- self.timeout = setTimeout(function() {
- self.next();
- }, self.app.timeout * 1000);
-
- } else {
- console.info(self.data.channel.toUpperCase(), 'APP FIDELITY SKIP INTERACTION:', self.data.roomid);
- self.next();
- }
- })
- .then(function() {
- return structure.models.rooms[self.data.channel]
- .update({
- waiting: true
- }, {
- where: {
- id: self.data.roomid,
- },
- individualHooks: true
- })
- .then(function() {
- console.log('FIDELITY ACTION STARTED');
- })
- .catch(function(err) {
- console.error();
- });
- });
-}
-
-Fidelity.prototype.writeReport = function writeReport() {
- var self = this;
- var values = _.map(self._agents, function(agent) {
- return _.merge(self.data, {
- timeslot: self.app.timeout,
- application: 'fidelity',
- membername: agent.name,
- memberid: agent.id,
- calledAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- joinAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- fidelity: self.app.timeout
- });
- });
-
- return structure.models.sessions[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- })
- .then(function() {
- return structure.models.reports[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Export this file as a module
-module.exports = Fidelity;
+var _0xc1ba=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x70\x70","\x64\x61\x74\x61","\x6E\x65\x78\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x69\x64","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x63\x68\x61\x6E\x6E\x65\x6C","\x70\x61\x75\x73\x65\x73","\x6C\x61\x62\x65\x6C\x73","\x77\x68\x65\x72\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x46\x49\x44\x45\x4C\x49\x54\x59\x20\x41\x43\x54\x49\x4F\x4E\x20\x53\x54\x41\x52\x54\x45\x44","\x6C\x6F\x67","\x74\x68\x65\x6E","\x72\x6F\x6F\x6D\x69\x64","\x75\x70\x64\x61\x74\x65","\x72\x6F\x6F\x6D\x73","\x6D\x6F\x64\x65\x6C\x73","\x5F\x61\x67\x65\x6E\x74\x73","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x41\x50\x50\x20\x46\x49\x44\x45\x4C\x49\x54\x59\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x54\x49\x4D\x45\x4F\x55\x54","\x74\x69\x6D\x65\x6F\x75\x74","\x53\x45\x43","\x69\x6E\x66\x6F","\x6C\x65\x6E\x67\x74\x68","\x77\x72\x69\x74\x65\x52\x65\x70\x6F\x72\x74","\x41\x50\x50\x20\x46\x49\x44\x45\x4C\x49\x54\x59\x20\x53\x4B\x49\x50\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x67\x65\x74\x55\x73\x65\x72\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x66\x69\x64\x65\x6C\x69\x74\x79","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6D\x65\x72\x67\x65","\x6D\x61\x70","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x72\x65\x70\x6F\x72\x74\x73","\x73\x65\x73\x73\x69\x6F\x6E\x73","\x65\x78\x70\x6F\x72\x74\x73"];_0xc1ba[0];const _=require(_0xc1ba[1]);const config=require(_0xc1ba[2]);const structure=require(_0xc1ba[3]);const cp=require(_0xc1ba[4]);const util=require(_0xc1ba[5]);const moment=require(_0xc1ba[6]);const Agent=require(_0xc1ba[8])[_0xc1ba[7]];function Fidelity(_0xd13ax9,_0xd13axa,_0xd13axb){this[_0xc1ba[9]]= _0xd13ax9;this[_0xc1ba[10]]= _0xd13axa;this[_0xc1ba[11]]= _0xd13axb}Fidelity[_0xc1ba[13]][_0xc1ba[12]]= function init(){var _0xd13axd=this;var _0xd13axe={where:{online:true},attributes:[_0xc1ba[14],_0xc1ba[15],_0xc1ba[16]],raw:true};_0xd13axe[_0xc1ba[20]][structure[_0xc1ba[19]][_0xc1ba[18]][_0xd13axd[_0xc1ba[10]][_0xc1ba[17]]]]= false;return structure[_0xc1ba[29]][_0xc1ba[28]][_0xd13axd[_0xc1ba[10]][_0xc1ba[17]]][_0xc1ba[41]](_0xd13axd[_0xc1ba[10]][_0xc1ba[26]])[_0xc1ba[25]](function(_0xd13ax11){return _0xd13ax11[_0xc1ba[40]](_0xd13axe)})[_0xc1ba[25]](function(_0xd13ax10){_0xd13axd[_0xc1ba[30]]= _0xd13ax10;console[_0xc1ba[36]](_0xd13axd[_0xc1ba[10]][_0xc1ba[17]][_0xc1ba[31]](),_0xc1ba[32],_0xd13axd[_0xc1ba[10]][_0xc1ba[26]],_0xc1ba[33],_0xd13axd[_0xc1ba[9]][_0xc1ba[34]],_0xc1ba[35]);if(_0xd13axd[_0xc1ba[30]][_0xc1ba[37]]){_0xd13axd[_0xc1ba[38]]();_0xd13axd[_0xc1ba[34]]= setTimeout(function(){_0xd13axd[_0xc1ba[11]]()},_0xd13axd[_0xc1ba[9]][_0xc1ba[34]]* 1000)}else {console[_0xc1ba[36]](_0xd13axd[_0xc1ba[10]][_0xc1ba[17]][_0xc1ba[31]](),_0xc1ba[39],_0xd13axd[_0xc1ba[10]][_0xc1ba[26]]);_0xd13axd[_0xc1ba[11]]()}})[_0xc1ba[25]](function(){return structure[_0xc1ba[29]][_0xc1ba[28]][_0xd13axd[_0xc1ba[10]][_0xc1ba[17]]][_0xc1ba[27]]({waiting:true},{where:{id:_0xd13axd[_0xc1ba[10]][_0xc1ba[26]]},individualHooks:true})[_0xc1ba[25]](function(){console[_0xc1ba[24]](_0xc1ba[23])})[_0xc1ba[22]](function(_0xd13axf){console[_0xc1ba[21]]()})})};Fidelity[_0xc1ba[13]][_0xc1ba[38]]= function writeReport(){var _0xd13axd=this;var _0xd13ax13=_[_0xc1ba[46]](_0xd13axd._agents,function(_0xd13ax14){return _[_0xc1ba[45]](_0xd13axd[_0xc1ba[10]],{timeslot:_0xd13axd[_0xc1ba[9]][_0xc1ba[34]],application:_0xc1ba[42],membername:_0xd13ax14[_0xc1ba[15]],memberid:_0xd13ax14[_0xc1ba[14]],calledAt:moment()[_0xc1ba[44]](_0xc1ba[43]),joinAt:moment()[_0xc1ba[44]](_0xc1ba[43]),fidelity:_0xd13axd[_0xc1ba[9]][_0xc1ba[34]]})});return structure[_0xc1ba[29]][_0xc1ba[49]][_0xd13axd[_0xc1ba[10]][_0xc1ba[17]]][_0xc1ba[47]](_0xd13ax13,{individualHooks:true})[_0xc1ba[25]](function(){return structure[_0xc1ba[29]][_0xc1ba[48]][_0xd13axd[_0xc1ba[10]][_0xc1ba[17]]][_0xc1ba[47]](_0xd13ax13,{individualHooks:true})})[_0xc1ba[22]](function(_0xd13axf){console[_0xc1ba[21]](_0xd13axf)})};module[_0xc1ba[50]]= Fidelity
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-const moment = require('moment');
-
-const Agent = require('../../models').User;
-
-// Define the factory
-function Queue(app, data, next) {
- this.app = app;
- this.data = data;
- this.elapsed = 0;
- //callbacks
- this.next = next;
- this.called = [];
- this.rejected = [];
-}
-
-Queue.prototype.init = function init() {
- var self = this;
-
- return structure.models.queues[self.data.channel]
- .findById(self.app[structure.labels.appQueues[self.data.channel]], {
- attributes: ['id', 'name', 'timeout', 'strategy', 'lastAgent'],
- include: [{
- model: Agent,
- attributes: ['id'],
- order: [
- ['penalty', 'ASC']
- ]
- }]
- })
- .then(function(queue) {
- console.info(util.format('%s QUEUE INSTANCE FOR ACCOUNT %s', self.data.channel.toUpperCase(), self.data.accountname));
-
- self._queue = queue;
- self._duration = self.app.timeout;
-
- switch (self._queue.strategy) {
- case 'beepall':
- console.info(self.data.channel.toUpperCase(), 'QUEUE BEEPALL STRATEGY, DURATION', self.app.timeout);
-
- self._agents = _.values(_.groupBy(queue.Users, structure.labels.penaltyTables[self.data.channel]));
- self.beepall();
- break;
- case 'roundrobin':
- console.info(self.data.channel.toUpperCase(), 'QUEUE ROUND ROBIN STRATEGY, DURATION', self.app.timeout);
- self._agents = queue.Users;
- self.rr();
- break;
- case 'rrmemory':
- console.info(self.data.channel.toUpperCase(), 'QUEUE RR MEMORY STRATEGY, DURATION', self.app.timeout);
- self._agents = queue.Users;
- if (self._queue.lastAgent) {
- var agent;
- for (var i = 0; i < self._agents.length; i++) {
- agent = self._agents.shift();
- self._agents.push(agent);
-
- if (agent.id === self._queue.lastAgent) {
- break;
- }
- }
- }
-
- self.rr();
- break;
- default:
- }
- })
- .then(function() {
- var values = [_.merge(self.data, {
- timeslot: self.app.timeout,
- application: 'queue',
- queue: self._queue.id,
- queuename: self._queue.name,
- calledAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- joinAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- membername: null,
- memberid: null
- })];
- return structure.models.sessions[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- });
- })
- .then(function() {
- return structure.models.rooms[self.data.channel]
- .update({
- waiting: true
- }, {
- where: {
- id: self.data.roomid,
- },
- individualHooks: true
- })
- .then(function() {
- console.log('QUEUE ACTION STARTED');
- })
- .catch(function(err) {
- console.error();
- });
- });
-}
-
-Queue.prototype.beepall = function beepall() {
- var self = this;
- var attempts = self._agents.shift();
- self._agents.push(attempts);
-
- var query = {
- where: {
- id: {
- $in: _.map(attempts, 'id')
- },
- online: true
- },
- include: [{
- model: structure.models.rooms[self.data.channel],
- attributes: ['id', 'status']
- }],
- attributes: ['id', 'name', 'fullname', 'online', 'mailPause', 'chatPause', 'faxPause', 'smsPause', 'openchannelPause', 'mailCapacity', 'chatCapacity', 'faxCapacity', 'smsCapacity',
- 'openchannelCapacity'
- ]
- };
-
- query.where[structure.labels.pauses[self.data.channel]] = false;
-
- var timeslot = ((self.app.timeout - self.elapsed) > self._queue.timeout) ? self._queue.timeout : (self.app.timeout - self.elapsed);
-
- self.timeout = setTimeout(function() {
- self.elapsed += self._queue.timeout;
- self.rr();
- }, timeslot * 1000);
-
- if (timeslot > 0) {
- Agent
- .findAll(query)
- .then(function(agents) {
- // REMOVE AGENTS BY CAPACITY
- agents = _.remove(agents, function(agent) {
- if (available(agent,
- agent[structure.labels.pauses[self.data.channel]],
- self.rejected,
- _.filter(agent[structure.labels.rooms[self.data.channel]], {
- status: 'OPEN'
- }),
- agent[structure.labels.capacities[self.data.channel]])) {
- return true;
- } else {
- return false;
- }
- });
-
- var values = _.map(agents, function(agent) {
- var value = _.merge(self.data, {
- timeslot: timeslot,
- application: 'queue',
- membername: agent.name,
- memberid: agent.id,
- queue: self._queue.id,
- queuename: self._queue.name,
- calledAt: moment().format("YYYY-MM-DD HH:mm:ss")
- });
-
- return _.clone(value);
- });
-
- structure.models.reports[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- })
- .catch(function(err) {
- console.error(err);
- });
- })
- .catch(function(err) {
- console.error(err);
- });
- } else {
- clearTimeout(self.timeout);
- this.next();
- }
-}
-
-Queue.prototype.rr = function rr() {
- var self = this;
- var timeslot = ((self.app.timeout - self.elapsed) > self._queue.timeout) ? self._queue.timeout : (self.app.timeout - self.elapsed);
-
- self.timeout = setTimeout(function() {
- self.elapsed += self._queue.timeout;
- self.rr();
- }, timeslot * 1000);
-
- var query = {
- where: {
- id: {
- $in: _.map(self._agents, 'id')
- }
- },
- include: [{
- model: structure.models.rooms[self.data.channel],
- attributes: ['id']
- }],
- attributes: ['id', 'name', 'fullname', 'online', 'mailPause', 'chatPause', 'faxPause', 'smsPause', 'openchannelPause', 'mailCapacity', 'chatCapacity', 'faxCapacity', 'smsCapacity',
- 'openchannelCapacity'
- ]
- };
-
- if (_.map(self._agents, 'id').join().length) {
- query.order = [
- [{
- raw: 'FIELD(User.id,' + _.map(self._agents, 'id').join() + ')'
- }]
- ];
- }
-
- if (timeslot > 0) {
- Agent
- .findAll(query)
- .then(function(agents) {
- if (agents.length) {
- self._agents = agents;
-
- for (var i = 0; i < self._agents.length; i++) {
-
- if (available(self._agents[0],
- self._agents[0][structure.labels.pauses[self.data.channel]],
- self.rejected,
- _.filter(self._agents[0][structure.labels.rooms[self.data.channel]], {
- status: 'OPEN'
- }),
- self._agents[0][structure.labels.capacities[self.data.channel]]
- )) {
-
- var values = [_.merge(self.data, {
- timeslot: timeslot,
- application: 'queue',
- membername: self._agents[0].name,
- memberid: self._agents[0].id,
- queue: self._queue.id,
- queuename: self._queue.name,
- calledAt: moment().format("YYYY-MM-DD HH:mm:ss")
- })];
-
- return structure.models.reports[self.data.channel]
- .bulkCreate(values, {
- individualHooks: true
- })
- .then(function() {
- return structure.models.queues[self.data.channel]
- .update({
- lastAgent: self._agents[0].id
- }, {
- where: {
- id: self._queue.id
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-
- } else {
- var agent = self._agents.shift();
- self._agents.push(agent);
- }
- }
- }
- })
- .then(function() {
- var agent = self._agents.shift();
- self._agents.push(agent);
- })
- .catch(function(err) {
- console.error(err);
- });
- } else {
- clearTimeout(self.timeout);
- this.next();
- }
-}
-
-function available(agent, pause, rejected, rooms, capacity) {
- // CHECK REJECTED
- var reject = _.find(rejected, {
- id: agent.id
- }) ? true : false;
- // CHECK CAPACITY
-
- return agent.online && !pause && !reject && ((rooms.length < capacity) || (capacity === 0));
-}
-
-// Export this file as a module
-module.exports = Queue;
+var _0x82de=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x61\x70\x70","\x64\x61\x74\x61","\x65\x6C\x61\x70\x73\x65\x64","\x6E\x65\x78\x74","\x63\x61\x6C\x6C\x65\x64","\x72\x65\x6A\x65\x63\x74\x65\x64","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x51\x55\x45\x55\x45\x20\x41\x43\x54\x49\x4F\x4E\x20\x53\x54\x41\x52\x54\x45\x44","\x6C\x6F\x67","\x74\x68\x65\x6E","\x72\x6F\x6F\x6D\x69\x64","\x75\x70\x64\x61\x74\x65","\x63\x68\x61\x6E\x6E\x65\x6C","\x72\x6F\x6F\x6D\x73","\x6D\x6F\x64\x65\x6C\x73","\x74\x69\x6D\x65\x6F\x75\x74","\x71\x75\x65\x75\x65","\x69\x64","\x5F\x71\x75\x65\x75\x65","\x6E\x61\x6D\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6D\x65\x72\x67\x65","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x73\x65\x73\x73\x69\x6F\x6E\x73","\x25\x73\x20\x51\x55\x45\x55\x45\x20\x49\x4E\x53\x54\x41\x4E\x43\x45\x20\x46\x4F\x52\x20\x41\x43\x43\x4F\x55\x4E\x54\x20\x25\x73","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x61\x63\x63\x6F\x75\x6E\x74\x6E\x61\x6D\x65","\x69\x6E\x66\x6F","\x5F\x64\x75\x72\x61\x74\x69\x6F\x6E","\x51\x55\x45\x55\x45\x20\x42\x45\x45\x50\x41\x4C\x4C\x20\x53\x54\x52\x41\x54\x45\x47\x59\x2C\x20\x44\x55\x52\x41\x54\x49\x4F\x4E","\x5F\x61\x67\x65\x6E\x74\x73","\x70\x65\x6E\x61\x6C\x74\x79\x54\x61\x62\x6C\x65\x73","\x6C\x61\x62\x65\x6C\x73","\x67\x72\x6F\x75\x70\x42\x79","\x76\x61\x6C\x75\x65\x73","\x62\x65\x65\x70\x61\x6C\x6C","\x51\x55\x45\x55\x45\x20\x52\x4F\x55\x4E\x44\x20\x52\x4F\x42\x49\x4E\x20\x53\x54\x52\x41\x54\x45\x47\x59\x2C\x20\x44\x55\x52\x41\x54\x49\x4F\x4E","\x55\x73\x65\x72\x73","\x72\x72","\x72\x6F\x75\x6E\x64\x72\x6F\x62\x69\x6E","\x51\x55\x45\x55\x45\x20\x52\x52\x20\x4D\x45\x4D\x4F\x52\x59\x20\x53\x54\x52\x41\x54\x45\x47\x59\x2C\x20\x44\x55\x52\x41\x54\x49\x4F\x4E","\x6C\x61\x73\x74\x41\x67\x65\x6E\x74","\x6C\x65\x6E\x67\x74\x68","\x73\x68\x69\x66\x74","\x70\x75\x73\x68","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x73\x74\x72\x61\x74\x65\x67\x79","\x61\x70\x70\x51\x75\x65\x75\x65\x73","\x70\x65\x6E\x61\x6C\x74\x79","\x41\x53\x43","\x66\x69\x6E\x64\x42\x79\x49\x64","\x71\x75\x65\x75\x65\x73","\x6D\x61\x70","\x73\x74\x61\x74\x75\x73","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6F\x6E\x6C\x69\x6E\x65","\x6D\x61\x69\x6C\x50\x61\x75\x73\x65","\x63\x68\x61\x74\x50\x61\x75\x73\x65","\x66\x61\x78\x50\x61\x75\x73\x65","\x73\x6D\x73\x50\x61\x75\x73\x65","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x50\x61\x75\x73\x65","\x6D\x61\x69\x6C\x43\x61\x70\x61\x63\x69\x74\x79","\x63\x68\x61\x74\x43\x61\x70\x61\x63\x69\x74\x79","\x66\x61\x78\x43\x61\x70\x61\x63\x69\x74\x79","\x73\x6D\x73\x43\x61\x70\x61\x63\x69\x74\x79","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x43\x61\x70\x61\x63\x69\x74\x79","\x70\x61\x75\x73\x65\x73","\x77\x68\x65\x72\x65","\x4F\x50\x45\x4E","\x66\x69\x6C\x74\x65\x72","\x63\x61\x70\x61\x63\x69\x74\x69\x65\x73","\x72\x65\x6D\x6F\x76\x65","\x63\x6C\x6F\x6E\x65","\x72\x65\x70\x6F\x72\x74\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x6A\x6F\x69\x6E","\x6F\x72\x64\x65\x72","\x46\x49\x45\x4C\x44\x28\x55\x73\x65\x72\x2E\x69\x64\x2C","\x29","\x66\x69\x6E\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0x82de[0];const _=require(_0x82de[1]);const config=require(_0x82de[2]);const structure=require(_0x82de[3]);const cp=require(_0x82de[4]);const util=require(_0x82de[5]);const moment=require(_0x82de[6]);const Agent=require(_0x82de[8])[_0x82de[7]];function Queue(_0x1881x9,_0x1881xa,_0x1881xb){this[_0x82de[9]]= _0x1881x9;this[_0x82de[10]]= _0x1881xa;this[_0x82de[11]]= 0;this[_0x82de[12]]= _0x1881xb;this[_0x82de[13]]= [];this[_0x82de[14]]= []}Queue[_0x82de[16]][_0x82de[15]]= function init(){var _0x1881xd=this;return structure[_0x82de[26]][_0x82de[64]][_0x1881xd[_0x82de[10]][_0x82de[24]]][_0x82de[63]](_0x1881xd[_0x82de[9]][structure[_0x82de[45]][_0x82de[60]][_0x1881xd[_0x82de[10]][_0x82de[24]]]],{attributes:[_0x82de[29],_0x82de[31],_0x82de[27],_0x82de[59],_0x82de[54]],include:[{model:Agent,attributes:[_0x82de[29]],order:[[_0x82de[61],_0x82de[62]]]}]})[_0x82de[21]](function(_0x1881x10){console[_0x82de[40]](util[_0x82de[33]](_0x82de[37],_0x1881xd[_0x82de[10]][_0x82de[24]][_0x82de[38]](),_0x1881xd[_0x82de[10]][_0x82de[39]]));_0x1881xd[_0x82de[30]]= _0x1881x10;_0x1881xd[_0x82de[41]]= _0x1881xd[_0x82de[9]][_0x82de[27]];switch(_0x1881xd[_0x82de[30]][_0x82de[59]]){case _0x82de[48]:console[_0x82de[40]](_0x1881xd[_0x82de[10]][_0x82de[24]][_0x82de[38]](),_0x82de[42],_0x1881xd[_0x82de[9]][_0x82de[27]]);_0x1881xd[_0x82de[43]]= _[_0x82de[47]](_[_0x82de[46]](_0x1881x10.Users,structure[_0x82de[45]][_0x82de[44]][_0x1881xd[_0x82de[10]][_0x82de[24]]]));_0x1881xd[_0x82de[48]]();break;case _0x82de[52]:console[_0x82de[40]](_0x1881xd[_0x82de[10]][_0x82de[24]][_0x82de[38]](),_0x82de[49],_0x1881xd[_0x82de[9]][_0x82de[27]]);_0x1881xd[_0x82de[43]]= _0x1881x10[_0x82de[50]];_0x1881xd[_0x82de[51]]();break;case _0x82de[58]:console[_0x82de[40]](_0x1881xd[_0x82de[10]][_0x82de[24]][_0x82de[38]](),_0x82de[53],_0x1881xd[_0x82de[9]][_0x82de[27]]);_0x1881xd[_0x82de[43]]= _0x1881x10[_0x82de[50]];if(_0x1881xd[_0x82de[30]][_0x82de[54]]){var _0x1881x11;for(var _0x1881x12=0;_0x1881x12< _0x1881xd[_0x82de[43]][_0x82de[55]];_0x1881x12++){_0x1881x11= _0x1881xd[_0x82de[43]][_0x82de[56]]();_0x1881xd[_0x82de[43]][_0x82de[57]](_0x1881x11);if(_0x1881x11[_0x82de[29]]=== _0x1881xd[_0x82de[30]][_0x82de[54]]){break}}};_0x1881xd[_0x82de[51]]();break;default:}})[_0x82de[21]](function(){var _0x1881xf=[_[_0x82de[34]](_0x1881xd[_0x82de[10]],{timeslot:_0x1881xd[_0x82de[9]][_0x82de[27]],application:_0x82de[28],queue:_0x1881xd[_0x82de[30]][_0x82de[29]],queuename:_0x1881xd[_0x82de[30]][_0x82de[31]],calledAt:moment()[_0x82de[33]](_0x82de[32]),joinAt:moment()[_0x82de[33]](_0x82de[32]),membername:null,memberid:null})];return structure[_0x82de[26]][_0x82de[36]][_0x1881xd[_0x82de[10]][_0x82de[24]]][_0x82de[35]](_0x1881xf,{individualHooks:true})})[_0x82de[21]](function(){return structure[_0x82de[26]][_0x82de[25]][_0x1881xd[_0x82de[10]][_0x82de[24]]][_0x82de[23]]({waiting:true},{where:{id:_0x1881xd[_0x82de[10]][_0x82de[22]]},individualHooks:true})[_0x82de[21]](function(){console[_0x82de[20]](_0x82de[19])})[_0x82de[18]](function(_0x1881xe){console[_0x82de[17]]()})})};Queue[_0x82de[16]][_0x82de[48]]= function beepall(){var _0x1881xd=this;var _0x1881x14=_0x1881xd[_0x82de[43]][_0x82de[56]]();_0x1881xd[_0x82de[43]][_0x82de[57]](_0x1881x14);var _0x1881x15={where:{id:{$in:_[_0x82de[65]](_0x1881x14,_0x82de[29])},online:true},include:[{model:structure[_0x82de[26]][_0x82de[25]][_0x1881xd[_0x82de[10]][_0x82de[24]]],attributes:[_0x82de[29],_0x82de[66]]}],attributes:[_0x82de[29],_0x82de[31],_0x82de[67],_0x82de[68],_0x82de[69],_0x82de[70],_0x82de[71],_0x82de[72],_0x82de[73],_0x82de[74],_0x82de[75],_0x82de[76],_0x82de[77],_0x82de[78]]};_0x1881x15[_0x82de[80]][structure[_0x82de[45]][_0x82de[79]][_0x1881xd[_0x82de[10]][_0x82de[24]]]]= false;var _0x1881x16=((_0x1881xd[_0x82de[9]][_0x82de[27]]- _0x1881xd[_0x82de[11]])> _0x1881xd[_0x82de[30]][_0x82de[27]])?_0x1881xd[_0x82de[30]][_0x82de[27]]:(_0x1881xd[_0x82de[9]][_0x82de[27]]- _0x1881xd[_0x82de[11]]);_0x1881xd[_0x82de[27]]= setTimeout(function(){_0x1881xd[_0x82de[11]]+= _0x1881xd[_0x82de[30]][_0x82de[27]];_0x1881xd[_0x82de[51]]()},_0x1881x16* 1000);if(_0x1881x16> 0){Agent[_0x82de[87]](_0x1881x15)[_0x82de[21]](function(_0x1881x17){_0x1881x17= _[_0x82de[84]](_0x1881x17,function(_0x1881x11){if(available(_0x1881x11,_0x1881x11[structure[_0x82de[45]][_0x82de[79]][_0x1881xd[_0x82de[10]][_0x82de[24]]]],_0x1881xd[_0x82de[14]],_[_0x82de[82]](_0x1881x11[structure[_0x82de[45]][_0x82de[25]][_0x1881xd[_0x82de[10]][_0x82de[24]]]],{status:_0x82de[81]}),_0x1881x11[structure[_0x82de[45]][_0x82de[83]][_0x1881xd[_0x82de[10]][_0x82de[24]]]])){return true}else {return false}});var _0x1881xf=_[_0x82de[65]](_0x1881x17,function(_0x1881x11){var _0x1881x18=_[_0x82de[34]](_0x1881xd[_0x82de[10]],{timeslot:_0x1881x16,application:_0x82de[28],membername:_0x1881x11[_0x82de[31]],memberid:_0x1881x11[_0x82de[29]],queue:_0x1881xd[_0x82de[30]][_0x82de[29]],queuename:_0x1881xd[_0x82de[30]][_0x82de[31]],calledAt:moment()[_0x82de[33]](_0x82de[32])});return _[_0x82de[85]](_0x1881x18)});structure[_0x82de[26]][_0x82de[86]][_0x1881xd[_0x82de[10]][_0x82de[24]]][_0x82de[35]](_0x1881xf,{individualHooks:true})[_0x82de[18]](function(_0x1881xe){console[_0x82de[17]](_0x1881xe)})})[_0x82de[18]](function(_0x1881xe){console[_0x82de[17]](_0x1881xe)})}else {clearTimeout(_0x1881xd[_0x82de[27]]);this[_0x82de[12]]()}};Queue[_0x82de[16]][_0x82de[51]]= function rr(){var _0x1881xd=this;var _0x1881x16=((_0x1881xd[_0x82de[9]][_0x82de[27]]- _0x1881xd[_0x82de[11]])> _0x1881xd[_0x82de[30]][_0x82de[27]])?_0x1881xd[_0x82de[30]][_0x82de[27]]:(_0x1881xd[_0x82de[9]][_0x82de[27]]- _0x1881xd[_0x82de[11]]);_0x1881xd[_0x82de[27]]= setTimeout(function(){_0x1881xd[_0x82de[11]]+= _0x1881xd[_0x82de[30]][_0x82de[27]];_0x1881xd[_0x82de[51]]()},_0x1881x16* 1000);var _0x1881x15={where:{id:{$in:_[_0x82de[65]](_0x1881xd._agents,_0x82de[29])}},include:[{model:structure[_0x82de[26]][_0x82de[25]][_0x1881xd[_0x82de[10]][_0x82de[24]]],attributes:[_0x82de[29]]}],attributes:[_0x82de[29],_0x82de[31],_0x82de[67],_0x82de[68],_0x82de[69],_0x82de[70],_0x82de[71],_0x82de[72],_0x82de[73],_0x82de[74],_0x82de[75],_0x82de[76],_0x82de[77],_0x82de[78]]};if(_[_0x82de[65]](_0x1881xd._agents,_0x82de[29])[_0x82de[88]]()[_0x82de[55]]){_0x1881x15[_0x82de[89]]= [[{raw:_0x82de[90]+ _[_0x82de[65]](_0x1881xd._agents,_0x82de[29])[_0x82de[88]]()+ _0x82de[91]}]]};if(_0x1881x16> 0){Agent[_0x82de[87]](_0x1881x15)[_0x82de[21]](function(_0x1881x17){if(_0x1881x17[_0x82de[55]]){_0x1881xd[_0x82de[43]]= _0x1881x17;for(var _0x1881x12=0;_0x1881x12< _0x1881xd[_0x82de[43]][_0x82de[55]];_0x1881x12++){if(available(_0x1881xd[_0x82de[43]][0],_0x1881xd[_0x82de[43]][0][structure[_0x82de[45]][_0x82de[79]][_0x1881xd[_0x82de[10]][_0x82de[24]]]],_0x1881xd[_0x82de[14]],_[_0x82de[82]](_0x1881xd[_0x82de[43]][0][structure[_0x82de[45]][_0x82de[25]][_0x1881xd[_0x82de[10]][_0x82de[24]]]],{status:_0x82de[81]}),_0x1881xd[_0x82de[43]][0][structure[_0x82de[45]][_0x82de[83]][_0x1881xd[_0x82de[10]][_0x82de[24]]]])){var _0x1881xf=[_[_0x82de[34]](_0x1881xd[_0x82de[10]],{timeslot:_0x1881x16,application:_0x82de[28],membername:_0x1881xd[_0x82de[43]][0][_0x82de[31]],memberid:_0x1881xd[_0x82de[43]][0][_0x82de[29]],queue:_0x1881xd[_0x82de[30]][_0x82de[29]],queuename:_0x1881xd[_0x82de[30]][_0x82de[31]],calledAt:moment()[_0x82de[33]](_0x82de[32])})];return structure[_0x82de[26]][_0x82de[86]][_0x1881xd[_0x82de[10]][_0x82de[24]]][_0x82de[35]](_0x1881xf,{individualHooks:true})[_0x82de[21]](function(){return structure[_0x82de[26]][_0x82de[64]][_0x1881xd[_0x82de[10]][_0x82de[24]]][_0x82de[23]]({lastAgent:_0x1881xd[_0x82de[43]][0][_0x82de[29]]},{where:{id:_0x1881xd[_0x82de[30]][_0x82de[29]]}})})[_0x82de[18]](function(_0x1881xe){console[_0x82de[17]](_0x1881xe)})}else {var _0x1881x11=_0x1881xd[_0x82de[43]][_0x82de[56]]();_0x1881xd[_0x82de[43]][_0x82de[57]](_0x1881x11)}}}})[_0x82de[21]](function(){var _0x1881x11=_0x1881xd[_0x82de[43]][_0x82de[56]]();_0x1881xd[_0x82de[43]][_0x82de[57]](_0x1881x11)})[_0x82de[18]](function(_0x1881xe){console[_0x82de[17]](_0x1881xe)})}else {clearTimeout(_0x1881xd[_0x82de[27]]);this[_0x82de[12]]()}};function available(_0x1881x11,_0x1881x1b,_0x1881x1c,_0x1881x1d,_0x1881x1e){var _0x1881x1f=_[_0x82de[92]](_0x1881x1c,{id:_0x1881x11[_0x82de[29]]})?true:false;return _0x1881x11[_0x82de[68]]&& !_0x1881x1b&& !_0x1881x1f&& ((_0x1881x1d[_0x82de[55]]< _0x1881x1e)|| (_0x1881x1e=== 0))}module[_0x82de[93]]= Queue
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-const moment = require('moment');
-const Mustache = require('mustache');
-
-// MODELS
-const User = require('../../models').User;
-const Message = require('../../models').MailMessage;
-const Account = require('../../models').MailAccount;
-const Template = require('../../models').Template;
-
-// Define the factory
-function ReplyMail(app, data, next, msg) {
- this.app = app;
- this.data = data;
- this.msg = msg;
- console.log(msg);
- //callbacks
- this.next = next;
-}
-
-ReplyMail.prototype.init = function init() {
- var self = this;
- var _smtp;
- var _message = {
- from: [],
- to: []
- };
-
- return Account
- .findById(self.app.data8)
- .then(function(account) {
- return account
- .getMailServerOut();
- })
- .then(function(smtp) {
- _smtp = smtp;
- _message.from.push(_smtp.username);
- _message.to.push(self.data.from);
-
- switch (self.app.data1) {
- case 'replyAll':
- _message.cc = self.data.cc;
- break;
- default:
- }
-
- return Template
- .findById(self.app.data9);
- })
- .then(function(template) {
- var msg = {
- subject: self.msg.subject,
- from: self.msg.from,
- to: self.msg.to,
- cc: self.msg.cc,
- bcc: self.msg.bcc,
- accountName: self.msg.accountName,
- interactionId: self.msg.MailRoomId,
- createdAt: self.msg.createdAt
- }
- _message.subject = template.subject ? Mustache.render(template.subject, msg) : null;
- _message.html = template.html ? Mustache.render(template.html, msg) : null;
- _message.auto = true;
- _message.MailRoomId = self.data.roomid;
-
- return Message
- .create(_message);
- })
- .then(function() {
- self.next();
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Export this file as a module
-module.exports = ReplyMail;
+var _0x26cd=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x75\x73\x74\x61\x63\x68\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x61\x70\x70","\x64\x61\x74\x61","\x6D\x73\x67","\x6C\x6F\x67","\x6E\x65\x78\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D","\x74\x6F","\x63\x63","\x62\x63\x63","\x61\x63\x63\x6F\x75\x6E\x74\x4E\x61\x6D\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x72\x65\x6E\x64\x65\x72","\x68\x74\x6D\x6C","\x61\x75\x74\x6F","\x72\x6F\x6F\x6D\x69\x64","\x63\x72\x65\x61\x74\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x75\x73\x68","\x72\x65\x70\x6C\x79\x41\x6C\x6C","\x64\x61\x74\x61\x31","\x64\x61\x74\x61\x39","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x64\x61\x74\x61\x38","\x65\x78\x70\x6F\x72\x74\x73"];_0x26cd[0];const _=require(_0x26cd[1]);const config=require(_0x26cd[2]);const structure=require(_0x26cd[3]);const cp=require(_0x26cd[4]);const util=require(_0x26cd[5]);const moment=require(_0x26cd[6]);const Mustache=require(_0x26cd[7]);const User=require(_0x26cd[9])[_0x26cd[8]];const Message=require(_0x26cd[9])[_0x26cd[10]];const Account=require(_0x26cd[9])[_0x26cd[11]];const Template=require(_0x26cd[9])[_0x26cd[12]];function ReplyMail(_0xd928xd,_0xd928xe,_0xd928xf,_0xd928x10){this[_0x26cd[13]]= _0xd928xd;this[_0x26cd[14]]= _0xd928xe;this[_0x26cd[15]]= _0xd928x10;console[_0x26cd[16]](_0xd928x10);this[_0x26cd[17]]= _0xd928xf}ReplyMail[_0x26cd[19]][_0x26cd[18]]= function init(){var _0xd928x12=this;var _0xd928x13;var _0xd928x14={from:[],to:[]};return Account[_0x26cd[41]](_0xd928x12[_0x26cd[13]][_0x26cd[43]])[_0x26cd[22]](function(_0xd928x18){return _0xd928x18[_0x26cd[42]]()})[_0x26cd[22]](function(_0xd928x17){_0xd928x13= _0xd928x17;_0xd928x14[_0x26cd[24]][_0x26cd[37]](_0xd928x13[_0x26cd[36]]);_0xd928x14[_0x26cd[25]][_0x26cd[37]](_0xd928x12[_0x26cd[14]][_0x26cd[24]]);switch(_0xd928x12[_0x26cd[13]][_0x26cd[39]]){case _0x26cd[38]:_0xd928x14[_0x26cd[26]]= _0xd928x12[_0x26cd[14]][_0x26cd[26]];break;default:};return Template[_0x26cd[41]](_0xd928x12[_0x26cd[13]][_0x26cd[40]])})[_0x26cd[22]](function(_0xd928x16){var _0xd928x10={subject:_0xd928x12[_0x26cd[15]][_0x26cd[23]],from:_0xd928x12[_0x26cd[15]][_0x26cd[24]],to:_0xd928x12[_0x26cd[15]][_0x26cd[25]],cc:_0xd928x12[_0x26cd[15]][_0x26cd[26]],bcc:_0xd928x12[_0x26cd[15]][_0x26cd[27]],accountName:_0xd928x12[_0x26cd[15]][_0x26cd[28]],interactionId:_0xd928x12[_0x26cd[15]][_0x26cd[29]],createdAt:_0xd928x12[_0x26cd[15]][_0x26cd[30]]};_0xd928x14[_0x26cd[23]]= _0xd928x16[_0x26cd[23]]?Mustache[_0x26cd[31]](_0xd928x16[_0x26cd[23]],_0xd928x10):null;_0xd928x14[_0x26cd[32]]= _0xd928x16[_0x26cd[32]]?Mustache[_0x26cd[31]](_0xd928x16[_0x26cd[32]],_0xd928x10):null;_0xd928x14[_0x26cd[33]]= true;_0xd928x14[_0x26cd[29]]= _0xd928x12[_0x26cd[14]][_0x26cd[34]];return Message[_0x26cd[35]](_0xd928x14)})[_0x26cd[22]](function(){_0xd928x12[_0x26cd[17]]()})[_0x26cd[21]](function(_0xd928x15){console[_0x26cd[20]](_0xd928x15)})};module[_0x26cd[44]]= ReplyMail
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-// MODELS
-const User = require('../../models').User;
-const Interval = require('../../models').Interval;
-
-const MailAccount = require('../../models').MailAccount;
-
-const ReportMail = require('../../models').ReportMail;
-const ReportChat = require('../../models').ReportChat;
-const ReportSms = require('../../models').ReportSms;
-const ReportFax = require('../../models').ReportFax;
-const ReportOpenchannel = require('../../models').ReportOpenchannel;
-
-const weekDaysCollection = {
- mon: 1,
- tue: 2,
- wed: 3,
- thu: 4,
- fri: 5,
- sat: 6,
- sun: 7
-};
-
-const monthsCollection = {
- jan: 1,
- feb: 2,
- mar: 3,
- apr: 4,
- may: 5,
- jun: 6,
- jul: 7,
- aug: 8,
- sep: 9,
- oct: 10,
- nov: 11,
- dec: 12
-};
-
-var Fidelity = require('./fidelity');
-var Agent = require('./agent');
-var Queue = require('./queue');
-var SendMail = require('./sendMail');
-var SendSms = require('./sendSms');
-var ReplyMail = require('./replyMail');
-
-// Define the factory
-function Scheduler(data, msg) {
- this.data = data;
- this.msg = msg;
-
- this._apps = [];
-}
-
-function splitInterval(interval) {
- console.log('splitInterval', interval);
- var finalInterval = {};
- var splittedInterval = interval.split(',');
- var intValues;
- splittedInterval.forEach(function(element, index) {
- switch (index) {
- case 0:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.t_from = moment(intValues[0], 'HH:mm');
- finalInterval.t_to = moment(intValues[1], 'HH:mm');
- } else {
- finalInterval.t_from = null;
- finalInterval.t_to = null;
- }
- break;
- case 1:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.wd_from = weekDaysCollection[intValues[0]];
- finalInterval.wd_to = intValues[1] ? weekDaysCollection[intValues[1]] : null;
- } else {
- finalInterval.wd_from = null;
- finalInterval.wd_to = null;
- }
- break;
- case 2:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.md_from = intValues[0];
- finalInterval.md_to = intValues[1] ? intValues[1] : null;
- } else {
- finalInterval.md_from = null;
- finalInterval.md_to = null;
- }
- break;
- case 3:
- if (element !== '*') {
- intValues = element.split('-');
- finalInterval.m_from = monthsCollection[intValues[0]];
- finalInterval.m_to = intValues[1] ? monthsCollection[intValues[1]] : null;
- } else {
- finalInterval.m_from = null;
- finalInterval.m_to = null;
- }
- break;
- default:
-
- }
-
-
- });
- return finalInterval;
-}
-
-function isIntervalValid(interval) {
- var hour = moment().format("HH:mm");
- var day = moment().format("E");
- var monthDay = moment().format("D");
- var month = moment().format("M");
-
- var tValid, wdValid, mdValid, mValid;
- var monthsNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
- var weekDaysNumbers = [1, 2, 3, 4, 5, 6, 7];
- var daysOfMonthsNumbers = [];
- for (var i = 1; i <= 31; i++) {
- daysOfMonthsNumbers.push(i);
- }
- tValid = (interval.t_from && interval.t_to) ? moment(hour, "HH:mm").isBetween(moment(interval.t_from, "HH:mm"), moment(interval.t_to, "HH:mm")) : true;
- if (interval.wd_from) {
- if (interval.wd_to) {
- var validWeekdays = _.filter(weekDaysNumbers, function(elem) {
- return (elem >= interval.wd_from) && (elem <= interval.wd_to);
- });
- console.log('valid weekdays', validWeekdays);
- wdValid = (validWeekdays.indexOf(parseInt(day)) !== -1) ? true : false;
- } else {
- wdValid = (parseInt(day) === interval.wd_from) ? true : false;
- }
- } else {
- wdValid = true;
- }
- if (interval.md_from) {
- if (interval.md_to) {
- var validMonthsdays = _.filter(daysOfMonthsNumbers, function(elem) {
- return (elem >= interval.md_from) && (elem <= interval.md_to);
- });
- console.log('valid monthsdays', validMonthsdays);
- mdValid = (validMonthsdays.indexOf(parseInt(monthDay)) !== -1) ? true : false;
- } else {
- mdValid = (parseInt(monthDay) === interval.md_from) ? true : false;
- }
- } else {
- mdValid = true;
- }
- if (interval.m_from) {
- if (interval.m_to) {
- var validMonths = _.filter(monthsNumbers, function(elem) {
- return (elem >= interval.m_from) && (elem <= interval.m_to);
- });
- console.log('valid months', validMonths);
- mValid = (validMonths.indexOf(parseInt(month)) !== -1) ? true : false;
- } else {
- mValid = (parseInt(month) === interval.m_from) ? true : false;
- }
- } else {
- mValid = true;
- }
- console.log('Time is ', tValid, ', WeekDay is ', wdValid, ', MonthDay is ', mdValid, ', Month is ', mValid);
- return tValid && wdValid && mdValid && mValid;
-}
-
-// Define a method with async internals
-Scheduler.prototype.init = function init() {
- var self = this; // Use a closure to preserve `this`
- var attributes = ['id', 'app', 'timeout', 'interval', 'UserId'];
- // HOOKS
-
- attributes.push(structure.labels.appQueues[self.data.channel]);
- structure.models.rooms[self.data.channel].addHook('afterUpdate', function(doc, options) {
- if (self.data.roomid === doc.id) {
- if (doc.changed('status')) {
- console.info(util.format('STOP SCHEDULER INSTANCE, INTERACTION:', doc.id));
-
- clearTimeout(self.app.timeout);
- clearInterval(self.app.interval);
- }
- }
- });
-
- structure.models.reports[self.data.channel].addHook('afterUpdate', function(doc, options) {
- if (self.data.roomid === doc.roomid) {
- if (doc.changed('connectid')) {
- console.info(util.format('STOP SCHEDULER INSTANCE, INTERACTION:', doc.roomid));
-
- clearTimeout(self.app.timeout);
- clearInterval(self.app.interval);
-
- return structure.models.sessions[self.data.channel]
- .update({
- memberid: doc.memberid,
- membername: doc.membername,
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }, {
- where: {
- uniqueid: doc.uniqueid,
- leaveAt: null
- },
- individualHooks: true
- })
- .then(function() {
- return structure.models.rooms[self.data.channel]
- .update({
- waiting: false
- }, {
- where: {
- id: doc.roomid,
- },
- individualHooks: true
- })
- .then(function() {
- console.log('dialplan ended');
- })
- .catch(function(err) {
- console.error();
- });
- });
- }
-
- if (doc.changed('rejectedAt')) {
- console.info(util.format('STOP SCHEDULER INSTANCE REJECTED, INTERACTION:', doc.roomid, 'AGENT:', doc.membername));
-
- self.app.rejected.push({
- id: doc.memberid
- });
- }
- }
- });
-
- if (self.data.channel === 'chat') {
- structure.models.sessions[self.data.channel].addHook('afterUpdate', function(doc, options) {
- if (doc.changed('abandon') && doc.abandon) {
- console.info(util.format('STOP SCHEDULER INSTANCE, INTERACTION:', doc.roomid));
-
- clearTimeout(self.app.timeout);
- clearInterval(self.app.interval);
-
- return structure.models.rooms[self.data.channel]
- .update({
- status: 'ABANDON'
- }, {
- where: {
- id: self.data.roomid,
- },
- individualHooks: true
- })
- .then(function() {
- console.log('dialplan ended');
- })
- .catch(function(err) {
- console.error();
- });
- }
- });
- }
-
- return structure.models.accounts[self.data.channel]
- .findById(self.data.accountid, {
- attributes: ['id', 'name', 'fidelity', 'timeout']
- })
- .then(function(account) {
- console.info(util.format('CREATE SCHEDULER INSTANCE FOR ACCOUNT %s', account.name));
-
- if (account.fidelity) {
- self._apps.push({
- app: 'fidelity',
- timeout: account.timeout
- });
- }
-
- switch (self.data.channel) {
- case 'mail':
- return account
- .getMailApplications({
- order: 'MailApplication.priority ASC',
- include: [{
- model: Interval,
- include: [{
- all: true
- }]
- }]
- });
- case 'chat':
- return account
- .getChatApplications({
- order: 'ChatApplication.priority ASC',
- include: [{
- model: Interval,
- include: [{
- all: true
- }]
- }]
- });
- case 'fax':
- return account
- .getFaxApplications({
- order: 'FaxApplication.priority ASC',
- include: [{
- model: Interval,
- include: [{
- all: true
- }]
- }]
- });
- case 'sms':
- return account
- .getSmsApplications({
- order: 'SmsApplication.priority ASC',
- include: [{
- model: Interval,
- include: [{
- all: true
- }]
- }]
- });
- case 'openchannel':
- return account
- .getOpenchannelApplications({
- order: 'OpenchannelApplication.priority ASC',
- include: [{
- model: Interval,
- include: [{
- all: true
- }]
- }]
- });
- default:
- return [];
- }
- })
- .then(function(apps) {
- var valid;
-
- for (var i = 0; i < apps.length; i++) {
- valid = true;
-
- if (apps[i].Interval) {
- for (var j = 0; j < apps[i].Interval.SubIntervals.length; j++) {
- if (isIntervalValid(splitInterval(apps[i].Interval.SubIntervals[j].interval))) {
- break;
- } else {
- console.info(self.data.channel.toUpperCase(), 'APP', apps[i].app.toUpperCase(), 'SKIP BY INTERVAL. INTERACTION:', self.data.roomid);
- valid = false;
- }
- }
- } else {
- if (!isIntervalValid(splitInterval(apps[i].interval))) {
- valid = false;
- console.info(self.data.channel.toUpperCase(), 'APP', apps[i].app.toUpperCase(), 'SKIP BY INTERVAL. INTERACTION:', self.data.roomid);
- }
- }
-
- if (valid) {
- self._apps.push(apps[i].dataValues)
- }
- }
-
- self.next();
- });
-};
-
-// Define a method with async internals
-Scheduler.prototype.next = function next() {
- var self = this; // Use a closure to preserve `this`
- var app = self._apps.shift();
-
- if (app) {
- structure.models.reports[self.data.channel].removeHook('afterUpdate', structure.labels.reports[self.data.channel]);
-
- switch (app.app) {
- case 'fidelity':
- self.app = new Fidelity(app, self.data, function() {
- return structure.models.sessions[self.data.channel]
- .update({
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- timeout: true
- }, {
- where: {
- leaveAt: null,
- uniqueid: self.data.uniqueid,
- },
- individualHooks: true
- })
- .then(function() {
- self.next();
- });
- });
- break;
- case 'agent':
- self.app = new Agent(app, self.data, function() {
- return structure.models.sessions[self.data.channel]
- .update({
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- timeout: true
- }, {
- where: {
- leaveAt: null,
- uniqueid: self.data.uniqueid,
- },
- individualHooks: true
- })
- .then(function() {
- self.next();
- });
- });
- break;
- case 'queue':
- self.app = new Queue(app, self.data, function() {
- return structure.models.sessions[self.data.channel]
- .update({
- leaveAt: moment().format("YYYY-MM-DD HH:mm:ss"),
- timeout: true
- }, {
- where: {
- leaveAt: null,
- uniqueid: self.data.uniqueid,
- },
- individualHooks: true
- })
- .then(function() {
- self.next();
- });
- });
- break;
- case 'sendMail':
- self.app = new SendMail(app, self.data, function() {
- self.next();
- });
- break;
- case 'replyMail':
- self.app = new ReplyMail(app, self.data, function() {
- self.next();
- }, self.msg);
- break;
- case 'sendSms':
- self.app = new SendSms(app, self.data, function() {
- self.next();
- });
- break;
- default:
- console.log('unknown app');
- }
-
- self.app.init();
- } else {
- structure.models.rooms[self.data.channel]
- .update({
- waiting: false
- }, {
- where: {
- id: self.data.roomid,
- },
- individualHooks: true
- })
- .catch(function(err) {
- console.error();
- });
- }
-};
-
-// Export this file as a module
-module.exports = Scheduler;
+var _0x1c3a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73","\x52\x65\x70\x6F\x72\x74\x46\x61\x78","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x2E\x2F\x66\x69\x64\x65\x6C\x69\x74\x79","\x2E\x2F\x61\x67\x65\x6E\x74","\x2E\x2F\x71\x75\x65\x75\x65","\x2E\x2F\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x2E\x2F\x73\x65\x6E\x64\x53\x6D\x73","\x2E\x2F\x72\x65\x70\x6C\x79\x4D\x61\x69\x6C","\x64\x61\x74\x61","\x6D\x73\x67","\x5F\x61\x70\x70\x73","\x73\x70\x6C\x69\x74\x49\x6E\x74\x65\x72\x76\x61\x6C","\x6C\x6F\x67","\x2C","\x73\x70\x6C\x69\x74","\x2A","\x2D","\x74\x5F\x66\x72\x6F\x6D","\x48\x48\x3A\x6D\x6D","\x74\x5F\x74\x6F","\x77\x64\x5F\x66\x72\x6F\x6D","\x77\x64\x5F\x74\x6F","\x6D\x64\x5F\x66\x72\x6F\x6D","\x6D\x64\x5F\x74\x6F","\x6D\x5F\x66\x72\x6F\x6D","\x6D\x5F\x74\x6F","\x66\x6F\x72\x45\x61\x63\x68","\x66\x6F\x72\x6D\x61\x74","\x45","\x44","\x4D","\x70\x75\x73\x68","\x69\x73\x42\x65\x74\x77\x65\x65\x6E","\x66\x69\x6C\x74\x65\x72","\x76\x61\x6C\x69\x64\x20\x77\x65\x65\x6B\x64\x61\x79\x73","\x69\x6E\x64\x65\x78\x4F\x66","\x76\x61\x6C\x69\x64\x20\x6D\x6F\x6E\x74\x68\x73\x64\x61\x79\x73","\x76\x61\x6C\x69\x64\x20\x6D\x6F\x6E\x74\x68\x73","\x54\x69\x6D\x65\x20\x69\x73\x20","\x2C\x20\x57\x65\x65\x6B\x44\x61\x79\x20\x69\x73\x20","\x2C\x20\x4D\x6F\x6E\x74\x68\x44\x61\x79\x20\x69\x73\x20","\x2C\x20\x4D\x6F\x6E\x74\x68\x20\x69\x73\x20","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x69\x64","\x61\x70\x70","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x55\x73\x65\x72\x49\x64","\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x70\x70\x51\x75\x65\x75\x65\x73","\x6C\x61\x62\x65\x6C\x73","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x72\x6F\x6F\x6D\x69\x64","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x53\x54\x4F\x50\x20\x53\x43\x48\x45\x44\x55\x4C\x45\x52\x20\x49\x4E\x53\x54\x41\x4E\x43\x45\x2C\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x69\x6E\x66\x6F","\x61\x64\x64\x48\x6F\x6F\x6B","\x72\x6F\x6F\x6D\x73","\x6D\x6F\x64\x65\x6C\x73","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x64","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x64\x69\x61\x6C\x70\x6C\x61\x6E\x20\x65\x6E\x64\x65\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x73\x65\x73\x73\x69\x6F\x6E\x73","\x72\x65\x6A\x65\x63\x74\x65\x64\x41\x74","\x53\x54\x4F\x50\x20\x53\x43\x48\x45\x44\x55\x4C\x45\x52\x20\x49\x4E\x53\x54\x41\x4E\x43\x45\x20\x52\x45\x4A\x45\x43\x54\x45\x44\x2C\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x41\x47\x45\x4E\x54\x3A","\x72\x65\x6A\x65\x63\x74\x65\x64","\x72\x65\x70\x6F\x72\x74\x73","\x63\x68\x61\x74","\x61\x62\x61\x6E\x64\x6F\x6E","\x41\x42\x41\x4E\x44\x4F\x4E","\x6C\x65\x6E\x67\x74\x68","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x74\x6F\x55\x70\x70\x65\x72\x43\x61\x73\x65","\x41\x50\x50","\x53\x4B\x49\x50\x20\x42\x59\x20\x49\x4E\x54\x45\x52\x56\x41\x4C\x2E\x20\x49\x4E\x54\x45\x52\x41\x43\x54\x49\x4F\x4E\x3A","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6E\x65\x78\x74","\x43\x52\x45\x41\x54\x45\x20\x53\x43\x48\x45\x44\x55\x4C\x45\x52\x20\x49\x4E\x53\x54\x41\x4E\x43\x45\x20\x46\x4F\x52\x20\x41\x43\x43\x4F\x55\x4E\x54\x20\x25\x73","\x6E\x61\x6D\x65","\x66\x69\x64\x65\x6C\x69\x74\x79","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x70\x72\x69\x6F\x72\x69\x74\x79\x20\x41\x53\x43","\x67\x65\x74\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6D\x61\x69\x6C","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x70\x72\x69\x6F\x72\x69\x74\x79\x20\x41\x53\x43","\x67\x65\x74\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x70\x72\x69\x6F\x72\x69\x74\x79\x20\x41\x53\x43","\x67\x65\x74\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x66\x61\x78","\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x70\x72\x69\x6F\x72\x69\x74\x79\x20\x41\x53\x43","\x67\x65\x74\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x73\x6D\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x70\x72\x69\x6F\x72\x69\x74\x79\x20\x41\x53\x43","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x63\x63\x6F\x75\x6E\x74\x73","\x73\x68\x69\x66\x74","\x72\x65\x6D\x6F\x76\x65\x48\x6F\x6F\x6B","\x61\x67\x65\x6E\x74","\x71\x75\x65\x75\x65","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x72\x65\x70\x6C\x79\x4D\x61\x69\x6C","\x73\x65\x6E\x64\x53\x6D\x73","\x75\x6E\x6B\x6E\x6F\x77\x6E\x20\x61\x70\x70","\x65\x78\x70\x6F\x72\x74\x73"];_0x1c3a[0];const _=require(_0x1c3a[1]);const moment=require(_0x1c3a[2]);const config=require(_0x1c3a[3]);const structure=require(_0x1c3a[4]);const cp=require(_0x1c3a[5]);const util=require(_0x1c3a[6]);const User=require(_0x1c3a[8])[_0x1c3a[7]];const Interval=require(_0x1c3a[8])[_0x1c3a[9]];const MailAccount=require(_0x1c3a[8])[_0x1c3a[10]];const ReportMail=require(_0x1c3a[8])[_0x1c3a[11]];const ReportChat=require(_0x1c3a[8])[_0x1c3a[12]];const ReportSms=require(_0x1c3a[8])[_0x1c3a[13]];const ReportFax=require(_0x1c3a[8])[_0x1c3a[14]];const ReportOpenchannel=require(_0x1c3a[8])[_0x1c3a[15]];const weekDaysCollection={mon:1,tue:2,wed:3,thu:4,fri:5,sat:6,sun:7};const monthsCollection={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};var Fidelity=require(_0x1c3a[16]);var Agent=require(_0x1c3a[17]);var Queue=require(_0x1c3a[18]);var SendMail=require(_0x1c3a[19]);var SendSms=require(_0x1c3a[20]);var ReplyMail=require(_0x1c3a[21]);function Scheduler(_0xb5bdx18,_0xb5bdx19){this[_0x1c3a[22]]= _0xb5bdx18;this[_0x1c3a[23]]= _0xb5bdx19;this[_0x1c3a[24]]= []}function splitInterval(_0xb5bdx1b){console[_0x1c3a[26]](_0x1c3a[25],_0xb5bdx1b);var _0xb5bdx1c={};var _0xb5bdx1d=_0xb5bdx1b[_0x1c3a[28]](_0x1c3a[27]);var _0xb5bdx1e;_0xb5bdx1d[_0x1c3a[40]](function(_0xb5bdx1f,_0xb5bdx20){switch(_0xb5bdx20){case 0:if(_0xb5bdx1f!== _0x1c3a[29]){_0xb5bdx1e= _0xb5bdx1f[_0x1c3a[28]](_0x1c3a[30]);_0xb5bdx1c[_0x1c3a[31]]= moment(_0xb5bdx1e[0],_0x1c3a[32]);_0xb5bdx1c[_0x1c3a[33]]= moment(_0xb5bdx1e[1],_0x1c3a[32])}else {_0xb5bdx1c[_0x1c3a[31]]= null;_0xb5bdx1c[_0x1c3a[33]]= null};break;case 1:if(_0xb5bdx1f!== _0x1c3a[29]){_0xb5bdx1e= _0xb5bdx1f[_0x1c3a[28]](_0x1c3a[30]);_0xb5bdx1c[_0x1c3a[34]]= weekDaysCollection[_0xb5bdx1e[0]];_0xb5bdx1c[_0x1c3a[35]]= _0xb5bdx1e[1]?weekDaysCollection[_0xb5bdx1e[1]]:null}else {_0xb5bdx1c[_0x1c3a[34]]= null;_0xb5bdx1c[_0x1c3a[35]]= null};break;case 2:if(_0xb5bdx1f!== _0x1c3a[29]){_0xb5bdx1e= _0xb5bdx1f[_0x1c3a[28]](_0x1c3a[30]);_0xb5bdx1c[_0x1c3a[36]]= _0xb5bdx1e[0];_0xb5bdx1c[_0x1c3a[37]]= _0xb5bdx1e[1]?_0xb5bdx1e[1]:null}else {_0xb5bdx1c[_0x1c3a[36]]= null;_0xb5bdx1c[_0x1c3a[37]]= null};break;case 3:if(_0xb5bdx1f!== _0x1c3a[29]){_0xb5bdx1e= _0xb5bdx1f[_0x1c3a[28]](_0x1c3a[30]);_0xb5bdx1c[_0x1c3a[38]]= monthsCollection[_0xb5bdx1e[0]];_0xb5bdx1c[_0x1c3a[39]]= _0xb5bdx1e[1]?monthsCollection[_0xb5bdx1e[1]]:null}else {_0xb5bdx1c[_0x1c3a[38]]= null;_0xb5bdx1c[_0x1c3a[39]]= null};break;default:}});return _0xb5bdx1c}function isIntervalValid(_0xb5bdx1b){var _0xb5bdx22=moment()[_0x1c3a[41]](_0x1c3a[32]);var _0xb5bdx23=moment()[_0x1c3a[41]](_0x1c3a[42]);var _0xb5bdx24=moment()[_0x1c3a[41]](_0x1c3a[43]);var _0xb5bdx25=moment()[_0x1c3a[41]](_0x1c3a[44]);var _0xb5bdx26,_0xb5bdx27,_0xb5bdx28,_0xb5bdx29;var _0xb5bdx2a=[1,2,3,4,5,6,7,8,9,10,11,12];var _0xb5bdx2b=[1,2,3,4,5,6,7];var _0xb5bdx2c=[];for(var _0xb5bdx2d=1;_0xb5bdx2d<= 31;_0xb5bdx2d++){_0xb5bdx2c[_0x1c3a[45]](_0xb5bdx2d)};_0xb5bdx26= (_0xb5bdx1b[_0x1c3a[31]]&& _0xb5bdx1b[_0x1c3a[33]])?moment(_0xb5bdx22,_0x1c3a[32])[_0x1c3a[46]](moment(_0xb5bdx1b[_0x1c3a[31]],_0x1c3a[32]),moment(_0xb5bdx1b[_0x1c3a[33]],_0x1c3a[32])):true;if(_0xb5bdx1b[_0x1c3a[34]]){if(_0xb5bdx1b[_0x1c3a[35]]){var _0xb5bdx2e=_[_0x1c3a[47]](_0xb5bdx2b,function(_0xb5bdx2f){return (_0xb5bdx2f>= _0xb5bdx1b[_0x1c3a[34]])&& (_0xb5bdx2f<= _0xb5bdx1b[_0x1c3a[35]])});console[_0x1c3a[26]](_0x1c3a[48],_0xb5bdx2e);_0xb5bdx27= (_0xb5bdx2e[_0x1c3a[49]](parseInt(_0xb5bdx23))!== -1)?true:false}else {_0xb5bdx27= (parseInt(_0xb5bdx23)=== _0xb5bdx1b[_0x1c3a[34]])?true:false}}else {_0xb5bdx27= true};if(_0xb5bdx1b[_0x1c3a[36]]){if(_0xb5bdx1b[_0x1c3a[37]]){var _0xb5bdx30=_[_0x1c3a[47]](_0xb5bdx2c,function(_0xb5bdx2f){return (_0xb5bdx2f>= _0xb5bdx1b[_0x1c3a[36]])&& (_0xb5bdx2f<= _0xb5bdx1b[_0x1c3a[37]])});console[_0x1c3a[26]](_0x1c3a[50],_0xb5bdx30);_0xb5bdx28= (_0xb5bdx30[_0x1c3a[49]](parseInt(_0xb5bdx24))!== -1)?true:false}else {_0xb5bdx28= (parseInt(_0xb5bdx24)=== _0xb5bdx1b[_0x1c3a[36]])?true:false}}else {_0xb5bdx28= true};if(_0xb5bdx1b[_0x1c3a[38]]){if(_0xb5bdx1b[_0x1c3a[39]]){var _0xb5bdx31=_[_0x1c3a[47]](_0xb5bdx2a,function(_0xb5bdx2f){return (_0xb5bdx2f>= _0xb5bdx1b[_0x1c3a[38]])&& (_0xb5bdx2f<= _0xb5bdx1b[_0x1c3a[39]])});console[_0x1c3a[26]](_0x1c3a[51],_0xb5bdx31);_0xb5bdx29= (_0xb5bdx31[_0x1c3a[49]](parseInt(_0xb5bdx25))!== -1)?true:false}else {_0xb5bdx29= (parseInt(_0xb5bdx25)=== _0xb5bdx1b[_0x1c3a[38]])?true:false}}else {_0xb5bdx29= true};console[_0x1c3a[26]](_0x1c3a[52],_0xb5bdx26,_0x1c3a[53],_0xb5bdx27,_0x1c3a[54],_0xb5bdx28,_0x1c3a[55],_0xb5bdx29);return _0xb5bdx26&& _0xb5bdx27&& _0xb5bdx28&& _0xb5bdx29}Scheduler[_0x1c3a[57]][_0x1c3a[56]]= function init(){var _0xb5bdx33=this;var _0xb5bdx34=[_0x1c3a[58],_0x1c3a[59],_0x1c3a[60],_0x1c3a[61],_0x1c3a[62]];_0xb5bdx34[_0x1c3a[45]](structure[_0x1c3a[65]][_0x1c3a[64]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]]);structure[_0x1c3a[74]][_0x1c3a[73]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[72]](_0x1c3a[66],function(_0xb5bdx35,_0xb5bdx36){if(_0xb5bdx33[_0x1c3a[22]][_0x1c3a[67]]=== _0xb5bdx35[_0x1c3a[58]]){if(_0xb5bdx35[_0x1c3a[69]](_0x1c3a[68])){console[_0x1c3a[71]](util[_0x1c3a[41]](_0x1c3a[70],_0xb5bdx35[_0x1c3a[58]]));clearTimeout(_0xb5bdx33[_0x1c3a[59]][_0x1c3a[60]]);clearInterval(_0xb5bdx33[_0x1c3a[59]][_0x1c3a[61]])}}});structure[_0x1c3a[74]][_0x1c3a[90]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[72]](_0x1c3a[66],function(_0xb5bdx35,_0xb5bdx36){if(_0xb5bdx33[_0x1c3a[22]][_0x1c3a[67]]=== _0xb5bdx35[_0x1c3a[67]]){if(_0xb5bdx35[_0x1c3a[69]](_0x1c3a[75])){console[_0x1c3a[71]](util[_0x1c3a[41]](_0x1c3a[70],_0xb5bdx35[_0x1c3a[67]]));clearTimeout(_0xb5bdx33[_0x1c3a[59]][_0x1c3a[60]]);clearInterval(_0xb5bdx33[_0x1c3a[59]][_0x1c3a[61]]);return structure[_0x1c3a[74]][_0x1c3a[85]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({memberid:_0xb5bdx35[_0x1c3a[81]],membername:_0xb5bdx35[_0x1c3a[82]],leaveAt:moment()[_0x1c3a[41]](_0x1c3a[83])},{where:{uniqueid:_0xb5bdx35[_0x1c3a[84]],leaveAt:null},individualHooks:true})[_0x1c3a[79]](function(){return structure[_0x1c3a[74]][_0x1c3a[73]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({waiting:false},{where:{id:_0xb5bdx35[_0x1c3a[67]]},individualHooks:true})[_0x1c3a[79]](function(){console[_0x1c3a[26]](_0x1c3a[78])})[_0x1c3a[77]](function(_0xb5bdx37){console[_0x1c3a[76]]()})})};if(_0xb5bdx35[_0x1c3a[69]](_0x1c3a[86])){console[_0x1c3a[71]](util[_0x1c3a[41]](_0x1c3a[87],_0xb5bdx35[_0x1c3a[67]],_0x1c3a[88],_0xb5bdx35[_0x1c3a[82]]));_0xb5bdx33[_0x1c3a[59]][_0x1c3a[89]][_0x1c3a[45]]({id:_0xb5bdx35[_0x1c3a[81]]})}}});if(_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]=== _0x1c3a[91]){structure[_0x1c3a[74]][_0x1c3a[85]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[72]](_0x1c3a[66],function(_0xb5bdx35,_0xb5bdx36){if(_0xb5bdx35[_0x1c3a[69]](_0x1c3a[92])&& _0xb5bdx35[_0x1c3a[92]]){console[_0x1c3a[71]](util[_0x1c3a[41]](_0x1c3a[70],_0xb5bdx35[_0x1c3a[67]]));clearTimeout(_0xb5bdx33[_0x1c3a[59]][_0x1c3a[60]]);clearInterval(_0xb5bdx33[_0x1c3a[59]][_0x1c3a[61]]);return structure[_0x1c3a[74]][_0x1c3a[73]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({status:_0x1c3a[93]},{where:{id:_0xb5bdx33[_0x1c3a[22]][_0x1c3a[67]]},individualHooks:true})[_0x1c3a[79]](function(){console[_0x1c3a[26]](_0x1c3a[78])})[_0x1c3a[77]](function(_0xb5bdx37){console[_0x1c3a[76]]()})}})};return structure[_0x1c3a[74]][_0x1c3a[120]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[119]](_0xb5bdx33[_0x1c3a[22]][_0x1c3a[118]],{attributes:[_0x1c3a[58],_0x1c3a[102],_0x1c3a[103],_0x1c3a[60]]})[_0x1c3a[79]](function(_0xb5bdx3b){console[_0x1c3a[71]](util[_0x1c3a[41]](_0x1c3a[101],_0xb5bdx3b[_0x1c3a[102]]));if(_0xb5bdx3b[_0x1c3a[103]]){_0xb5bdx33[_0x1c3a[24]][_0x1c3a[45]]({app:_0x1c3a[103],timeout:_0xb5bdx3b[_0x1c3a[60]]})};switch(_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]){case _0x1c3a[106]:return _0xb5bdx3b[_0x1c3a[105]]({order:_0x1c3a[104],include:[{model:Interval,include:[{all:true}]}]});case _0x1c3a[91]:return _0xb5bdx3b[_0x1c3a[108]]({order:_0x1c3a[107],include:[{model:Interval,include:[{all:true}]}]});case _0x1c3a[111]:return _0xb5bdx3b[_0x1c3a[110]]({order:_0x1c3a[109],include:[{model:Interval,include:[{all:true}]}]});case _0x1c3a[114]:return _0xb5bdx3b[_0x1c3a[113]]({order:_0x1c3a[112],include:[{model:Interval,include:[{all:true}]}]});case _0x1c3a[117]:return _0xb5bdx3b[_0x1c3a[116]]({order:_0x1c3a[115],include:[{model:Interval,include:[{all:true}]}]});default:return []}})[_0x1c3a[79]](function(_0xb5bdx38){var _0xb5bdx39;for(var _0xb5bdx2d=0;_0xb5bdx2d< _0xb5bdx38[_0x1c3a[94]];_0xb5bdx2d++){_0xb5bdx39= true;if(_0xb5bdx38[_0xb5bdx2d][_0x1c3a[9]]){for(var _0xb5bdx3a=0;_0xb5bdx3a< _0xb5bdx38[_0xb5bdx2d][_0x1c3a[9]][_0x1c3a[95]][_0x1c3a[94]];_0xb5bdx3a++){if(isIntervalValid(splitInterval(_0xb5bdx38[_0xb5bdx2d][_0x1c3a[9]][_0x1c3a[95]][_0xb5bdx3a][_0x1c3a[61]]))){break}else {console[_0x1c3a[71]](_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]][_0x1c3a[96]](),_0x1c3a[97],_0xb5bdx38[_0xb5bdx2d][_0x1c3a[59]][_0x1c3a[96]](),_0x1c3a[98],_0xb5bdx33[_0x1c3a[22]][_0x1c3a[67]]);_0xb5bdx39= false}}}else {if(!isIntervalValid(splitInterval(_0xb5bdx38[_0xb5bdx2d][_0x1c3a[61]]))){_0xb5bdx39= false;console[_0x1c3a[71]](_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]][_0x1c3a[96]](),_0x1c3a[97],_0xb5bdx38[_0xb5bdx2d][_0x1c3a[59]][_0x1c3a[96]](),_0x1c3a[98],_0xb5bdx33[_0x1c3a[22]][_0x1c3a[67]])}};if(_0xb5bdx39){_0xb5bdx33[_0x1c3a[24]][_0x1c3a[45]](_0xb5bdx38[_0xb5bdx2d][_0x1c3a[99]])}};_0xb5bdx33[_0x1c3a[100]]()})};Scheduler[_0x1c3a[57]][_0x1c3a[100]]= function next(){var _0xb5bdx33=this;var _0xb5bdx3d=_0xb5bdx33[_0x1c3a[24]][_0x1c3a[121]]();if(_0xb5bdx3d){structure[_0x1c3a[74]][_0x1c3a[90]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[122]](_0x1c3a[66],structure[_0x1c3a[65]][_0x1c3a[90]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]]);switch(_0xb5bdx3d[_0x1c3a[59]]){case _0x1c3a[103]:_0xb5bdx33[_0x1c3a[59]]= new Fidelity(_0xb5bdx3d,_0xb5bdx33[_0x1c3a[22]],function(){return structure[_0x1c3a[74]][_0x1c3a[85]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({leaveAt:moment()[_0x1c3a[41]](_0x1c3a[83]),timeout:true},{where:{leaveAt:null,uniqueid:_0xb5bdx33[_0x1c3a[22]][_0x1c3a[84]]},individualHooks:true})[_0x1c3a[79]](function(){_0xb5bdx33[_0x1c3a[100]]()})});break;case _0x1c3a[123]:_0xb5bdx33[_0x1c3a[59]]= new Agent(_0xb5bdx3d,_0xb5bdx33[_0x1c3a[22]],function(){return structure[_0x1c3a[74]][_0x1c3a[85]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({leaveAt:moment()[_0x1c3a[41]](_0x1c3a[83]),timeout:true},{where:{leaveAt:null,uniqueid:_0xb5bdx33[_0x1c3a[22]][_0x1c3a[84]]},individualHooks:true})[_0x1c3a[79]](function(){_0xb5bdx33[_0x1c3a[100]]()})});break;case _0x1c3a[124]:_0xb5bdx33[_0x1c3a[59]]= new Queue(_0xb5bdx3d,_0xb5bdx33[_0x1c3a[22]],function(){return structure[_0x1c3a[74]][_0x1c3a[85]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({leaveAt:moment()[_0x1c3a[41]](_0x1c3a[83]),timeout:true},{where:{leaveAt:null,uniqueid:_0xb5bdx33[_0x1c3a[22]][_0x1c3a[84]]},individualHooks:true})[_0x1c3a[79]](function(){_0xb5bdx33[_0x1c3a[100]]()})});break;case _0x1c3a[125]:_0xb5bdx33[_0x1c3a[59]]= new SendMail(_0xb5bdx3d,_0xb5bdx33[_0x1c3a[22]],function(){_0xb5bdx33[_0x1c3a[100]]()});break;case _0x1c3a[126]:_0xb5bdx33[_0x1c3a[59]]= new ReplyMail(_0xb5bdx3d,_0xb5bdx33[_0x1c3a[22]],function(){_0xb5bdx33[_0x1c3a[100]]()},_0xb5bdx33[_0x1c3a[23]]);break;case _0x1c3a[127]:_0xb5bdx33[_0x1c3a[59]]= new SendSms(_0xb5bdx3d,_0xb5bdx33[_0x1c3a[22]],function(){_0xb5bdx33[_0x1c3a[100]]()});break;default:console[_0x1c3a[26]](_0x1c3a[128])};_0xb5bdx33[_0x1c3a[59]][_0x1c3a[56]]()}else {structure[_0x1c3a[74]][_0x1c3a[73]][_0xb5bdx33[_0x1c3a[22]][_0x1c3a[63]]][_0x1c3a[80]]({waiting:false},{where:{id:_0xb5bdx33[_0x1c3a[22]][_0x1c3a[67]]},individualHooks:true})[_0x1c3a[77]](function(_0xb5bdx37){console[_0x1c3a[76]]()})}};module[_0x1c3a[129]]= Scheduler
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-const moment = require('moment');
-const Mustache = require('mustache');
-
-// MODELS
-const User = require('../../models').User;
-const Message = require('../../models').MailMessage;
-const Account = require('../../models').MailAccount;
-const Template = require('../../models').Template;
-
-// Define the factory
-function SendMail(app, data, next) {
- this.app = app;
- this.data = data;
- //callbacks
- this.next = next;
-}
-
-SendMail.prototype.init = function init() {
- var self = this;
-
- var _smtp;
- var _message = {
- from: [],
- to: []
- };
-
- return Account
- .findById(self.app.data8)
- .then(function(account) {
- return account
- .getMailServerOut();
- })
- .then(function(smtp) {
- _smtp = smtp;
- _message.from.push(_smtp.username);
- _message.to.push(self.app.data2);
-
- return Template
- .findById(self.app.data9);
- })
- .then(function(template) {
- switch (self.data.channel) {
- case 'mail':
- _message.subject = template.subject;
- return Message
- .findById(self.data.messageid)
- .then(function(data) {
-
- _message.html = Mustache.render(template.html, {
- interactionId: self.data.roomid,
- subject: self.data.subject,
- body: data.text,
- accountName: self.data.accountname,
- from: _message.from.join(', '),
- to: _message.to.join(', '),
- cc: self.data.cc.join(', '),
- createdAt: self.app.createdAt
- });
- });
-
- default:
- }
- })
- .then(function() {
- return Message
- .create(_message);
- })
- .then(function() {
- self.next();
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Export this file as a module
-module.exports = SendMail;
+var _0xa337=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x75\x73\x74\x61\x63\x68\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x61\x70\x70","\x64\x61\x74\x61","\x6E\x65\x78\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x72\x6F\x6F\x6D\x69\x64","\x74\x65\x78\x74","\x61\x63\x63\x6F\x75\x6E\x74\x6E\x61\x6D\x65","\x2C\x20","\x6A\x6F\x69\x6E","\x66\x72\x6F\x6D","\x74\x6F","\x63\x63","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x72\x65\x6E\x64\x65\x72","\x6D\x65\x73\x73\x61\x67\x65\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6D\x61\x69\x6C","\x63\x68\x61\x6E\x6E\x65\x6C","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x75\x73\x68","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x39","\x67\x65\x74\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x64\x61\x74\x61\x38","\x65\x78\x70\x6F\x72\x74\x73"];_0xa337[0];const _=require(_0xa337[1]);const config=require(_0xa337[2]);const structure=require(_0xa337[3]);const cp=require(_0xa337[4]);const util=require(_0xa337[5]);const moment=require(_0xa337[6]);const Mustache=require(_0xa337[7]);const User=require(_0xa337[9])[_0xa337[8]];const Message=require(_0xa337[9])[_0xa337[10]];const Account=require(_0xa337[9])[_0xa337[11]];const Template=require(_0xa337[9])[_0xa337[12]];function SendMail(_0x4447xd,_0x4447xe,_0x4447xf){this[_0xa337[13]]= _0x4447xd;this[_0xa337[14]]= _0x4447xe;this[_0xa337[15]]= _0x4447xf}SendMail[_0xa337[17]][_0xa337[16]]= function init(){var _0x4447x11=this;var _0x4447x12;var _0x4447x13={from:[],to:[]};return Account[_0xa337[35]](_0x4447x11[_0xa337[13]][_0xa337[43]])[_0xa337[20]](function(_0x4447x17){return _0x4447x17[_0xa337[42]]()})[_0xa337[20]](function(_0x4447x16){_0x4447x12= _0x4447x16;_0x4447x13[_0xa337[29]][_0xa337[39]](_0x4447x12[_0xa337[38]]);_0x4447x13[_0xa337[30]][_0xa337[39]](_0x4447x11[_0xa337[13]][_0xa337[40]]);return Template[_0xa337[35]](_0x4447x11[_0xa337[13]][_0xa337[41]])})[_0xa337[20]](function(_0x4447x15){switch(_0x4447x11[_0xa337[14]][_0xa337[37]]){case _0xa337[36]:_0x4447x13[_0xa337[22]]= _0x4447x15[_0xa337[22]];return Message[_0xa337[35]](_0x4447x11[_0xa337[14]][_0xa337[34]])[_0xa337[20]](function(_0x4447xe){_0x4447x13[_0xa337[23]]= Mustache[_0xa337[33]](_0x4447x15[_0xa337[23]],{interactionId:_0x4447x11[_0xa337[14]][_0xa337[24]],subject:_0x4447x11[_0xa337[14]][_0xa337[22]],body:_0x4447xe[_0xa337[25]],accountName:_0x4447x11[_0xa337[14]][_0xa337[26]],from:_0x4447x13[_0xa337[29]][_0xa337[28]](_0xa337[27]),to:_0x4447x13[_0xa337[30]][_0xa337[28]](_0xa337[27]),cc:_0x4447x11[_0xa337[14]][_0xa337[31]][_0xa337[28]](_0xa337[27]),createdAt:_0x4447x11[_0xa337[13]][_0xa337[32]]})});default:}})[_0xa337[20]](function(){return Message[_0xa337[21]](_0x4447x13)})[_0xa337[20]](function(){_0x4447x11[_0xa337[15]]()})[_0xa337[19]](function(_0x4447x14){console[_0xa337[18]](_0x4447x14)})};module[_0xa337[44]]= SendMail
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const config = require('../environment');
-const structure = require('./structure');
-
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-const moment = require('moment');
-const Mustache = require('mustache');
-
-// MODELS
-const User = require('../../models').User;
-const Message = require('../../models').SmsMessage;
-const Account = require('../../models').SmsAccount;
-
-// Define the factory
-function SendSms(app, data, next) {
- this.app = app;
- this.data = data;
- //callbacks
- this.next = next;
-}
-
-SendSms.prototype.init = function init() {
- var self = this;
- var _smtp;
- var _message = {
- from: '',
- to: '',
- body: ''
- };
-
- return Account
- .findById(self.app.data8)
- .then(function(account) {
- _message.SmsAccountId = account.id;
- _message.from = account.phone;
- _message.to = self.app.data2;
- _message.body = self.app.data6;
- return Message
- .create(_message);
- })
- .then(function(message) {
- self.next();
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Export this file as a module
-module.exports = SendSms;
+var _0xefad=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x73\x74\x72\x75\x63\x74\x75\x72\x65","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x75\x73\x74\x61\x63\x68\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x61\x70\x70","\x64\x61\x74\x61","\x6E\x65\x78\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x74\x68\x65\x6E","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x69\x64","\x66\x72\x6F\x6D","\x70\x68\x6F\x6E\x65","\x74\x6F","\x64\x61\x74\x61\x32","\x62\x6F\x64\x79","\x64\x61\x74\x61\x36","\x63\x72\x65\x61\x74\x65","\x64\x61\x74\x61\x38","\x66\x69\x6E\x64\x42\x79\x49\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0xefad[0];const _=require(_0xefad[1]);const config=require(_0xefad[2]);const structure=require(_0xefad[3]);const cp=require(_0xefad[4]);const util=require(_0xefad[5]);const moment=require(_0xefad[6]);const Mustache=require(_0xefad[7]);const User=require(_0xefad[9])[_0xefad[8]];const Message=require(_0xefad[9])[_0xefad[10]];const Account=require(_0xefad[9])[_0xefad[11]];function SendSms(_0x7b8fxc,_0x7b8fxd,_0x7b8fxe){this[_0xefad[12]]= _0x7b8fxc;this[_0xefad[13]]= _0x7b8fxd;this[_0xefad[14]]= _0x7b8fxe}SendSms[_0xefad[16]][_0xefad[15]]= function init(){var _0x7b8fx10=this;var _0x7b8fx11;var _0x7b8fx12={from:_0xefad[17],to:_0xefad[17],body:_0xefad[17]};return Account[_0xefad[31]](_0x7b8fx10[_0xefad[12]][_0xefad[30]])[_0xefad[20]](function(_0x7b8fx15){_0x7b8fx12[_0xefad[21]]= _0x7b8fx15[_0xefad[22]];_0x7b8fx12[_0xefad[23]]= _0x7b8fx15[_0xefad[24]];_0x7b8fx12[_0xefad[25]]= _0x7b8fx10[_0xefad[12]][_0xefad[26]];_0x7b8fx12[_0xefad[27]]= _0x7b8fx10[_0xefad[12]][_0xefad[28]];return Message[_0xefad[29]](_0x7b8fx12)})[_0xefad[20]](function(_0x7b8fx14){_0x7b8fx10[_0xefad[14]]()})[_0xefad[19]](function(_0x7b8fx13){console[_0xefad[18]](_0x7b8fx13)})};module[_0xefad[32]]= SendSms
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-const config = require('../environment');
-// NODEJS API
-const cp = require('child_process');
-const util = require('util');
-// MODELS
-const User = require('../../models').User;
-const Interval = require('../../models').Interval;
-
-const ReportMail = require('../../models').ReportMail;
-const ReportChat = require('../../models').ReportChat;
-const ReportSms = require('../../models').ReportSms;
-const ReportFax = require('../../models').ReportFax;
-const ReportOpenchannel = require('../../models').ReportOpenchannel;
-
-const MailAccount = require('../../models').MailAccount;
-const ChatWebsite = require('../../models').ChatWebsite;
-const SmsAccount = require('../../models').SmsAccount;
-const FaxAccount = require('../../models').FaxAccount;
-const OpenchannelAccount = require('../../models').OpenchannelAccount;
-
-const MailQueue = require('../../models').MailQueue;
-const ChatQueue = require('../../models').ChatQueue;
-const SmsQueue = require('../../models').SmsQueue;
-const FaxQueue = require('../../models').FaxQueue;
-const OpenchannelQueue = require('../../models').OpenchannelQueue;
-
-const MailRoom = require('../../models').MailRoom;
-const ChatRoom = require('../../models').ChatRoom;
-const SmsRoom = require('../../models').SmsRoom;
-const FaxRoom = require('../../models').FaxRoom;
-const OpenchannelRoom = require('../../models').OpenchannelRoom;
-
-const MailSession = require('../../models').ReportMailSession;
-const ChatSession = require('../../models').ReportChatSession;
-const SmsSession = require('../../models').ReportSmsSession;
-const FaxSession = require('../../models').ReportFaxSession;
-const OpenchannelSession = require('../../models').ReportOpenchannelSession;
-
-// Export this file as a module
-module.exports = {
- labels: {
- rooms: {
- mail: 'MailRooms',
- chat: 'ChatRooms',
- sms: 'SmsRooms',
- fax: 'FaxRooms',
- openchannel: 'OpenchannelRooms'
- },
- pauses: {
- mail: 'mailPause',
- chat: 'chatPause',
- sms: 'smsPause',
- fax: 'faxPause',
- openchannel: 'openchannelPause'
- },
- capacities: {
- mail: 'mailCapacity',
- chat: 'chatCapacity',
- sms: 'smsCapacity',
- fax: 'faxCapacity',
- openchannel: 'openchannelCapacity'
- },
- appQueues: {
- mail: 'MailQueueId',
- chat: 'ChatQueueId',
- sms: 'SmsQueueId',
- fax: 'FaxQueueId',
- openchannel: 'OpenchannelQueueId'
- },
- penaltyTables: {
- mail: 'UserHasMailQueue.penalty',
- chat: 'UserHasChatQueue.penalty',
- sms: 'UserHasSmsQueue.penalty',
- fax: 'UserHasFaxQueue.penalty',
- openchannel: 'UserHasOpenchannelQueue.penalty'
- },
- reports: {
- mail: 'report_mail',
- chat: 'report_chat',
- sms: 'report_sms',
- fax: 'report_fax',
- openchannel: 'report_openchannel'
- }
- },
-
- models: {
- reports: {
- mail: ReportMail,
- chat: ReportChat,
- sms: ReportSms,
- fax: ReportFax,
- openchannel: ReportOpenchannel
- },
- accounts: {
- mail: MailAccount,
- chat: ChatWebsite,
- sms: SmsAccount,
- fax: FaxAccount,
- openchannel: OpenchannelAccount
- },
- queues: {
- mail: MailQueue,
- chat: ChatQueue,
- sms: SmsQueue,
- fax: FaxQueue,
- openchannel: OpenchannelQueue
- },
- rooms: {
- mail: MailRoom,
- chat: ChatRoom,
- sms: SmsRoom,
- fax: FaxRoom,
- openchannel: OpenchannelRoom
- },
- sessions: {
- mail: MailSession,
- chat: ChatSession,
- sms: SmsSession,
- fax: FaxSession,
- openchannel: OpenchannelSession
- }
- }
-};
+var _0xe8b2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73","\x52\x65\x70\x6F\x72\x74\x46\x61\x78","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x53\x6D\x73\x51\x75\x65\x75\x65","\x46\x61\x78\x51\x75\x65\x75\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x53\x6D\x73\x52\x6F\x6F\x6D","\x46\x61\x78\x52\x6F\x6F\x6D","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x46\x61\x78\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D\x73","\x53\x6D\x73\x52\x6F\x6F\x6D\x73","\x46\x61\x78\x52\x6F\x6F\x6D\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x73","\x6D\x61\x69\x6C\x50\x61\x75\x73\x65","\x63\x68\x61\x74\x50\x61\x75\x73\x65","\x73\x6D\x73\x50\x61\x75\x73\x65","\x66\x61\x78\x50\x61\x75\x73\x65","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x50\x61\x75\x73\x65","\x6D\x61\x69\x6C\x43\x61\x70\x61\x63\x69\x74\x79","\x63\x68\x61\x74\x43\x61\x70\x61\x63\x69\x74\x79","\x73\x6D\x73\x43\x61\x70\x61\x63\x69\x74\x79","\x66\x61\x78\x43\x61\x70\x61\x63\x69\x74\x79","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x43\x61\x70\x61\x63\x69\x74\x79","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x49\x64","\x43\x68\x61\x74\x51\x75\x65\x75\x65\x49\x64","\x53\x6D\x73\x51\x75\x65\x75\x65\x49\x64","\x46\x61\x78\x51\x75\x65\x75\x65\x49\x64","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x49\x64","\x55\x73\x65\x72\x48\x61\x73\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x2E\x70\x65\x6E\x61\x6C\x74\x79","\x55\x73\x65\x72\x48\x61\x73\x43\x68\x61\x74\x51\x75\x65\x75\x65\x2E\x70\x65\x6E\x61\x6C\x74\x79","\x55\x73\x65\x72\x48\x61\x73\x53\x6D\x73\x51\x75\x65\x75\x65\x2E\x70\x65\x6E\x61\x6C\x74\x79","\x55\x73\x65\x72\x48\x61\x73\x46\x61\x78\x51\x75\x65\x75\x65\x2E\x70\x65\x6E\x61\x6C\x74\x79","\x55\x73\x65\x72\x48\x61\x73\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x2E\x70\x65\x6E\x61\x6C\x74\x79","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C"];_0xe8b2[0];const _=require(_0xe8b2[1]);const moment=require(_0xe8b2[2]);const config=require(_0xe8b2[3]);const cp=require(_0xe8b2[4]);const util=require(_0xe8b2[5]);const User=require(_0xe8b2[7])[_0xe8b2[6]];const Interval=require(_0xe8b2[7])[_0xe8b2[8]];const ReportMail=require(_0xe8b2[7])[_0xe8b2[9]];const ReportChat=require(_0xe8b2[7])[_0xe8b2[10]];const ReportSms=require(_0xe8b2[7])[_0xe8b2[11]];const ReportFax=require(_0xe8b2[7])[_0xe8b2[12]];const ReportOpenchannel=require(_0xe8b2[7])[_0xe8b2[13]];const MailAccount=require(_0xe8b2[7])[_0xe8b2[14]];const ChatWebsite=require(_0xe8b2[7])[_0xe8b2[15]];const SmsAccount=require(_0xe8b2[7])[_0xe8b2[16]];const FaxAccount=require(_0xe8b2[7])[_0xe8b2[17]];const OpenchannelAccount=require(_0xe8b2[7])[_0xe8b2[18]];const MailQueue=require(_0xe8b2[7])[_0xe8b2[19]];const ChatQueue=require(_0xe8b2[7])[_0xe8b2[20]];const SmsQueue=require(_0xe8b2[7])[_0xe8b2[21]];const FaxQueue=require(_0xe8b2[7])[_0xe8b2[22]];const OpenchannelQueue=require(_0xe8b2[7])[_0xe8b2[23]];const MailRoom=require(_0xe8b2[7])[_0xe8b2[24]];const ChatRoom=require(_0xe8b2[7])[_0xe8b2[25]];const SmsRoom=require(_0xe8b2[7])[_0xe8b2[26]];const FaxRoom=require(_0xe8b2[7])[_0xe8b2[27]];const OpenchannelRoom=require(_0xe8b2[7])[_0xe8b2[28]];const MailSession=require(_0xe8b2[7])[_0xe8b2[29]];const ChatSession=require(_0xe8b2[7])[_0xe8b2[30]];const SmsSession=require(_0xe8b2[7])[_0xe8b2[31]];const FaxSession=require(_0xe8b2[7])[_0xe8b2[32]];const OpenchannelSession=require(_0xe8b2[7])[_0xe8b2[33]];module[_0xe8b2[34]]= {labels:{rooms:{mail:_0xe8b2[35],chat:_0xe8b2[36],sms:_0xe8b2[37],fax:_0xe8b2[38],openchannel:_0xe8b2[39]},pauses:{mail:_0xe8b2[40],chat:_0xe8b2[41],sms:_0xe8b2[42],fax:_0xe8b2[43],openchannel:_0xe8b2[44]},capacities:{mail:_0xe8b2[45],chat:_0xe8b2[46],sms:_0xe8b2[47],fax:_0xe8b2[48],openchannel:_0xe8b2[49]},appQueues:{mail:_0xe8b2[50],chat:_0xe8b2[51],sms:_0xe8b2[52],fax:_0xe8b2[53],openchannel:_0xe8b2[54]},penaltyTables:{mail:_0xe8b2[55],chat:_0xe8b2[56],sms:_0xe8b2[57],fax:_0xe8b2[58],openchannel:_0xe8b2[59]},reports:{mail:_0xe8b2[60],chat:_0xe8b2[61],sms:_0xe8b2[62],fax:_0xe8b2[63],openchannel:_0xe8b2[64]}},models:{reports:{mail:ReportMail,chat:ReportChat,sms:ReportSms,fax:ReportFax,openchannel:ReportOpenchannel},accounts:{mail:MailAccount,chat:ChatWebsite,sms:SmsAccount,fax:FaxAccount,openchannel:OpenchannelAccount},queues:{mail:MailQueue,chat:ChatQueue,sms:SmsQueue,fax:FaxQueue,openchannel:OpenchannelQueue},rooms:{mail:MailRoom,chat:ChatRoom,sms:SmsRoom,fax:FaxRoom,openchannel:OpenchannelRoom},sessions:{mail:MailSession,chat:ChatSession,sms:SmsSession,fax:FaxSession,openchannel:OpenchannelSession}}}
\ No newline at end of file
-var Schedule = require('../../models').Schedule;
-var MailServerOut = require('../../models').MailServerOut;
-var CronJobManager = require('cron-job-manager');
-var _ = require('lodash');
-var Reports = require('./reports');
-
-
-function deleteSchedule(data, manager) {
- console.log("Deleting " + data.name + " job");
- if (manager.exists(data.id.toString())) {
- manager.deleteJob(data.id.toString());
- console.log("I got the current jobs: " + manager);
- } else {
- console.log("Job " + data.name + " does not exist");
- }
-}
-
-function updateSchedule(data, manager, reports) {
- console.log("Updating " + data.name + " job");
- if (data.active) {
- createJob(data, manager, reports);
- } else {
- deleteSchedule(data, manager);
- }
-}
-
-module.exports = function() {
- var manager = new CronJobManager();
- var reports = new Reports();
-
- Schedule
- .findAll({
- where: {
- active: true
- },
- attributes: ['id', 'name', 'type', 'active']
- })
- .then(function(schedules) {
- _.forEach(schedules.rows, function(schedule) {
- createJob(schedule, manager, reports);
- });
- })
- .finally(function() {
- synchSchedules(manager, reports);
- })
- .catch(function(err) {
- console.log('Error getting/setting schedules');
- });
-};
-
-function createJob(schedule, manager, reports) {
- console.log("Creating '" + schedule.name + "' job");
- manager.add(schedule.id.toString(),
- "00 " + schedule.cron,
- // "00 */2 * * * *",
- function() {
- executeSchedule(schedule.id, reports);
- }, {
- start: true,
- completion: function() {
- console.log("Job " + schedule.name + " stopped");
- }
- });
- console.log("Job '" + schedule.name + "' created!");
- console.log("I got the current jobs: " + manager);
-}
-
-function executeSchedule(scheduleId, reports) {
- console.log('Executing schedule ', scheduleId);
- return Schedule
- .findById(scheduleId, {
- include: [MailServerOut]
- })
- .then(function(schedule) {
- if (!schedule) {
- console.log('Schedule not found!');
- return;
- }
- switch (schedule.type) {
- case 'report':
- reports.extractReport(schedule);
- break;
- default:
- }
- })
- .catch(function(err) {
- console.log('Error retrieving schedule!');
- });
-}
-
-function synchSchedules(manager, reports) {
- Schedule.afterCreate(function(doc, options) {
- if (doc.active) {
- createJob(doc.dataValues, manager, reports);
- }
- });
- Schedule.afterUpdate(function(doc, options) {
- updateSchedule(doc.dataValues, manager, reports);
- });
- Schedule.afterDestroy(function(doc) {
- deleteSchedule(doc.dataValues, manager);
- });
-}
+var _0x4f9d=["\x53\x63\x68\x65\x64\x75\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x63\x72\x6F\x6E\x2D\x6A\x6F\x62\x2D\x6D\x61\x6E\x61\x67\x65\x72","\x6C\x6F\x64\x61\x73\x68","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x73","\x44\x65\x6C\x65\x74\x69\x6E\x67\x20","\x6E\x61\x6D\x65","\x20\x6A\x6F\x62","\x6C\x6F\x67","\x69\x64","\x65\x78\x69\x73\x74\x73","\x64\x65\x6C\x65\x74\x65\x4A\x6F\x62","\x49\x20\x67\x6F\x74\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6E\x74\x20\x6A\x6F\x62\x73\x3A\x20","\x4A\x6F\x62\x20","\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74","\x55\x70\x64\x61\x74\x69\x6E\x67\x20","\x61\x63\x74\x69\x76\x65","\x65\x78\x70\x6F\x72\x74\x73","\x45\x72\x72\x6F\x72\x20\x67\x65\x74\x74\x69\x6E\x67\x2F\x73\x65\x74\x74\x69\x6E\x67\x20\x73\x63\x68\x65\x64\x75\x6C\x65\x73","\x63\x61\x74\x63\x68","\x66\x69\x6E\x61\x6C\x6C\x79","\x72\x6F\x77\x73","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x74\x79\x70\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x43\x72\x65\x61\x74\x69\x6E\x67\x20\x27","\x27\x20\x6A\x6F\x62","\x30\x30\x20","\x63\x72\x6F\x6E","\x20\x73\x74\x6F\x70\x70\x65\x64","\x61\x64\x64","\x4A\x6F\x62\x20\x27","\x27\x20\x63\x72\x65\x61\x74\x65\x64\x21","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x73\x63\x68\x65\x64\x75\x6C\x65\x20","\x45\x72\x72\x6F\x72\x20\x72\x65\x74\x72\x69\x65\x76\x69\x6E\x67\x20\x73\x63\x68\x65\x64\x75\x6C\x65\x21","\x53\x63\x68\x65\x64\x75\x6C\x65\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x21","\x65\x78\x74\x72\x61\x63\x74\x52\x65\x70\x6F\x72\x74","\x72\x65\x70\x6F\x72\x74","\x66\x69\x6E\x64\x42\x79\x49\x64","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79"];var Schedule=require(_0x4f9d[1])[_0x4f9d[0]];var MailServerOut=require(_0x4f9d[1])[_0x4f9d[2]];var CronJobManager=require(_0x4f9d[3]);var _=require(_0x4f9d[4]);var Reports=require(_0x4f9d[5]);function deleteSchedule(_0xe642x7,_0xe642x8){console[_0x4f9d[9]](_0x4f9d[6]+ _0xe642x7[_0x4f9d[7]]+ _0x4f9d[8]);if(_0xe642x8[_0x4f9d[11]](_0xe642x7[_0x4f9d[10]].toString())){_0xe642x8[_0x4f9d[12]](_0xe642x7[_0x4f9d[10]].toString());console[_0x4f9d[9]](_0x4f9d[13]+ _0xe642x8)}else {console[_0x4f9d[9]](_0x4f9d[14]+ _0xe642x7[_0x4f9d[7]]+ _0x4f9d[15])}}function updateSchedule(_0xe642x7,_0xe642x8,_0xe642xa){console[_0x4f9d[9]](_0x4f9d[16]+ _0xe642x7[_0x4f9d[7]]+ _0x4f9d[8]);if(_0xe642x7[_0x4f9d[17]]){createJob(_0xe642x7,_0xe642x8,_0xe642xa)}else {deleteSchedule(_0xe642x7,_0xe642x8)}}module[_0x4f9d[18]]= function(){var _0xe642x8= new CronJobManager();var _0xe642xa= new Reports();Schedule[_0x4f9d[26]]({where:{active:true},attributes:[_0x4f9d[10],_0x4f9d[7],_0x4f9d[25],_0x4f9d[17]]})[_0x4f9d[24]](function(_0xe642xc){_[_0x4f9d[23]](_0xe642xc[_0x4f9d[22]],function(_0xe642xd){createJob(_0xe642xd,_0xe642x8,_0xe642xa)})})[_0x4f9d[21]](function(){synchSchedules(_0xe642x8,_0xe642xa)})[_0x4f9d[20]](function(_0xe642xb){console[_0x4f9d[9]](_0x4f9d[19])})};function createJob(_0xe642xd,_0xe642x8,_0xe642xa){console[_0x4f9d[9]](_0x4f9d[27]+ _0xe642xd[_0x4f9d[7]]+ _0x4f9d[28]);_0xe642x8[_0x4f9d[32]](_0xe642xd[_0x4f9d[10]].toString(),_0x4f9d[29]+ _0xe642xd[_0x4f9d[30]],function(){executeSchedule(_0xe642xd[_0x4f9d[10]],_0xe642xa)},{start:true,completion:function(){console[_0x4f9d[9]](_0x4f9d[14]+ _0xe642xd[_0x4f9d[7]]+ _0x4f9d[31])}});console[_0x4f9d[9]](_0x4f9d[33]+ _0xe642xd[_0x4f9d[7]]+ _0x4f9d[34]);console[_0x4f9d[9]](_0x4f9d[13]+ _0xe642x8)}function executeSchedule(_0xe642x10,_0xe642xa){console[_0x4f9d[9]](_0x4f9d[35],_0xe642x10);return Schedule[_0x4f9d[40]](_0xe642x10,{include:[MailServerOut]})[_0x4f9d[24]](function(_0xe642xd){if(!_0xe642xd){console[_0x4f9d[9]](_0x4f9d[37]);return};switch(_0xe642xd[_0x4f9d[25]]){case _0x4f9d[39]:_0xe642xa[_0x4f9d[38]](_0xe642xd);break;default:}})[_0x4f9d[20]](function(_0xe642xb){console[_0x4f9d[9]](_0x4f9d[36])})}function synchSchedules(_0xe642x8,_0xe642xa){Schedule[_0x4f9d[42]](function(_0xe642x12,_0xe642x13){if(_0xe642x12[_0x4f9d[17]]){createJob(_0xe642x12[_0x4f9d[41]],_0xe642x8,_0xe642xa)}});Schedule[_0x4f9d[43]](function(_0xe642x12,_0xe642x13){updateSchedule(_0xe642x12[_0x4f9d[41]],_0xe642x8,_0xe642xa)});Schedule[_0x4f9d[44]](function(_0xe642x12){deleteSchedule(_0xe642x12[_0x4f9d[41]],_0xe642x8)})}
\ No newline at end of file
-var cp = require('child_process');
-var moment = require('moment');
-require('moment-range');
-var CustomReport = require('../../models').CustomReport;
-var DefaultReport = require('../../models').DefaultReport;
-var ExtractedReport = require('../../models').ExtractedReport;
-var MailAttachment = require('../../models').MailAttachment;
-var MailServerOut = require('../../models').MailServerOut;
-var MailMessage = require('../../models').MailMessage;
-var path = require('path');
-var config = require('../../config/environment');
-var fs = require('fs-extra');
-var _ = require('lodash');
-var ReportTree = require('../../models').ReportTree;
-
-function Reports() {
- console.log('Reports schedules launcher Initialization...');
-}
-
-Reports.prototype.extractReport = function(schedule, user) {
- console.log('Extracting report...');
- extract(schedule, user);
-}
-
-function extract(schedule, user) {
- switch (schedule.cronType) {
- case 'currentDay':
- extractTodayReport(schedule, user);
- break;
- default:
- extractRangeReport(schedule, user);
- break;
- }
-}
-
-function extractTodayReport(schedule, user) {
- console.log('Checking today schedule range validity...');
- if (user || checkValidity(schedule.validityStart, schedule.validityEnd)) {
- console.log('The hours range is valid, extracting today report...');
- docExtract(schedule, moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD'), user, '00:00', '23:59');
- } else {
- console.log('Out of hours range, skipping record extraction!');
- }
-}
-
-function extractRangeReport(schedule, user) {
- switch (schedule.reportRange) {
- case 'yesterday':
- docExtract(schedule, moment().subtract(1, 'days').format('YYYY-MM-DD'), moment().subtract(1, 'days').format('YYYY-MM-DD'), user)
- break;
- case 'last7':
- docExtract(schedule, moment().subtract(7, 'days').format('YYYY-MM-DD'), moment().subtract(1, 'days').format('YYYY-MM-DD'), user)
- break;
- case 'last30':
- docExtract(schedule, moment().subtract(30, 'days').format('YYYY-MM-DD'), moment().subtract(1, 'days').format('YYYY-MM-DD'), user)
- break;
- case 'lastMonth':
- docExtract(schedule, moment().subtract(1, 'months').startOf('month').format('YYYY-MM-DD'), moment().subtract(1, 'months').endOf('month').format('YYYY-MM-DD'), user)
- break;
- }
-}
-
-function checkValidity(startHour, endHour) {
- return moment().range(moment(startHour, "h"), moment(endHour, "h")).contains(moment());
-}
-
-function getReportPath(folder, tree, path) {
- path = folder.text + '/ ' + path;
- if (folder.parent === '#') {
- return path;
- } else {
- return getReportPath(_.find(tree, {
- id: folder.parent
- }), tree, path);
- }
-}
-
-function docExtract(schedule, startDate, endDate, user, startTime, endTime) {
- // console.log('common docExtract api function');
- var resource = schedule.reportType === 'default' ? DefaultReport : CustomReport;
- var report;
- resource //DO NOT ADD RETURN CAUSE THE EXTRACTING FUNCTION WILL KEEP EXTRACTING AFTER THE API HAS RETURNED
- .scope('fields')
- .findById(schedule.reportId)
- .then(function(_report) {
- if (!_report) {
- console.log('Report not found!');
- return;
- }
- report = _report;
- return ReportTree
- .findById(schedule.reportType === 'default' ? 1 : 2);
- })
- .then(function(tree) {
- tree = JSON.parse(tree.tree);
- var folder = _.find(tree, {
- id: report.parent
- });
- var path = getReportPath(folder, tree, report.name);
- // console.log('found the report, creating the new DB row for extracted reports..');
- //CREATE A DB ROW IN A TABLE WITH THE REPORT INFO, QUERY DATES, AND THE STATUS 'ELABORATING'
- if (schedule.cronType === 'currentDay') {
- report.dataValues.table = report.dataValues.table.replace('_history', '');
- }
- return [report, ExtractedReport.create({
- name: report.name,
- startDate: startDate,
- endDate: endDate,
- output: schedule.reportOutput,
- type: user ? 'manual' : 'scheduled',
- UserId: user ? user.id : null
- })]
- })
- .spread(function(report, extractedReport) {
- // console.log('created new extracted reports db entry, calling external extraction function: ' + typeFunction);
- var child = cp.fork(__dirname + '/../../utils/report_extraction.js');
- child.on('message', function(data) {
- console.log('child message', data);
- if (schedule.sendMail && data.status === 'completed') {
- sendReportByMail(schedule, extractedReport.id, user, child);
- } else {
- child.kill();
- }
- }).on('close', function() {
- console.log('child close');
- }).on('error', function(err) {
- console.log('child error', err);
- });
- child.send({
- report: report,
- query: {
- startDate: startDate,
- endDate: endDate,
- startTime: startTime || null,
- endTime: endTime || null
- },
- extractedId: extractedReport.id,
- user: user ? user : {
- role: 'admin'
- },
- type: schedule.reportOutput
- });
- })
- .catch(function(err) {
- console.log('Scheduled report extraction error: ', err);
- });
-}
-
-function sendReportByMail(schedule, extractedId, user, child) {
- var _extract;
- return ExtractedReport
- .findById(extractedId)
- .then(function(extract) {
- if (!extract) {
- console.log('Extracted report not found!');
- return;
- }
- _extract = extract;
- if (schedule.MailServerOut && schedule.MailServerOut.username) {
- var attachment = getAttachment(_extract);
- var message = {
- subject: 'Scheduled Report',
- from: [schedule.MailServerOut.username],
- to: [schedule.email],
- cc: [],
- html: null,
- text: null,
- inReplyTo: null,
- status: 'SENDING',
- attachment: true,
- UserId: user ? user.id : null, //how to get user if sent automatically??
- MailAttachments: [attachment]
- };
- return MailMessage
- .create(message, {
- include: [{
- model: MailAttachment
- }]
- })
- } else {
- throw new Error("No Account or SMTP address configured");
- }
- })
- .then(function(mailMessage) {
- return _extract.setMailMessage(mailMessage);
- })
- .then(function() {
- console.log('Scheduled message sent!');
- })
- .catch(function(err) {
- console.log('Error sending extracted report by mail!', err);
- })
- .finally(function() {
- child.kill();
- });
-}
-
-function getAttachment(extract) {
- var oldFile = path.join(config.root, 'server', 'files', 'reports', extract.savename);
- var newPath = path.join(config.root, 'server', 'files', 'attachments');
- var newSavename = path.basename(extract.savename, '.' + extract.output.toLowerCase());
- try {
- fs.copySync(oldFile, path.join(newPath, newSavename));
- console.log("success!");
- } catch (err) {
- console.error('Error getting the extracted report attachment!');
- return null;
- }
- return {
- size: getFilesizeInBytes(oldFile),
- path: path.join(newPath, newSavename),
- name: extract.name + '_' + moment(extract.startDate).format("DD-MM-YYYY") + '_' + moment(extract.endDate).format("DD-MM-YYYY") + '.' + extract.output.toLowerCase(),
- type: 'application/' + extract.output.toLowerCase(),
- basename: newSavename
- };
-}
-
-function getFilesizeInBytes(filename) {
- try {
- var stats = fs.statSync(filename)
- var fileSizeInBytes = stats.size;
- return fileSizeInBytes
- } catch (err) {
- return 0;
- }
-}
-
-module.exports = Reports;
+var _0xfcb2=["\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74\x2D\x72\x61\x6E\x67\x65","\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x52\x65\x70\x6F\x72\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x66\x73\x2D\x65\x78\x74\x72\x61","\x6C\x6F\x64\x61\x73\x68","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x52\x65\x70\x6F\x72\x74\x73\x20\x73\x63\x68\x65\x64\x75\x6C\x65\x73\x20\x6C\x61\x75\x6E\x63\x68\x65\x72\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x65\x78\x74\x72\x61\x63\x74\x52\x65\x70\x6F\x72\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x45\x78\x74\x72\x61\x63\x74\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x2E\x2E\x2E","\x63\x75\x72\x72\x65\x6E\x74\x44\x61\x79","\x63\x72\x6F\x6E\x54\x79\x70\x65","\x43\x68\x65\x63\x6B\x69\x6E\x67\x20\x74\x6F\x64\x61\x79\x20\x73\x63\x68\x65\x64\x75\x6C\x65\x20\x72\x61\x6E\x67\x65\x20\x76\x61\x6C\x69\x64\x69\x74\x79\x2E\x2E\x2E","\x76\x61\x6C\x69\x64\x69\x74\x79\x53\x74\x61\x72\x74","\x76\x61\x6C\x69\x64\x69\x74\x79\x45\x6E\x64","\x54\x68\x65\x20\x68\x6F\x75\x72\x73\x20\x72\x61\x6E\x67\x65\x20\x69\x73\x20\x76\x61\x6C\x69\x64\x2C\x20\x65\x78\x74\x72\x61\x63\x74\x69\x6E\x67\x20\x74\x6F\x64\x61\x79\x20\x72\x65\x70\x6F\x72\x74\x2E\x2E\x2E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44","\x66\x6F\x72\x6D\x61\x74","\x30\x30\x3A\x30\x30","\x32\x33\x3A\x35\x39","\x4F\x75\x74\x20\x6F\x66\x20\x68\x6F\x75\x72\x73\x20\x72\x61\x6E\x67\x65\x2C\x20\x73\x6B\x69\x70\x70\x69\x6E\x67\x20\x72\x65\x63\x6F\x72\x64\x20\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E\x21","\x64\x61\x79\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x79\x65\x73\x74\x65\x72\x64\x61\x79","\x6C\x61\x73\x74\x37","\x6C\x61\x73\x74\x33\x30","\x6D\x6F\x6E\x74\x68","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x6F\x6E\x74\x68\x73","\x65\x6E\x64\x4F\x66","\x6C\x61\x73\x74\x4D\x6F\x6E\x74\x68","\x72\x65\x70\x6F\x72\x74\x52\x61\x6E\x67\x65","\x63\x6F\x6E\x74\x61\x69\x6E\x73","\x68","\x72\x61\x6E\x67\x65","\x74\x65\x78\x74","\x2F\x20","\x70\x61\x72\x65\x6E\x74","\x23","\x66\x69\x6E\x64","\x72\x65\x70\x6F\x72\x74\x54\x79\x70\x65","\x64\x65\x66\x61\x75\x6C\x74","\x53\x63\x68\x65\x64\x75\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E\x20\x65\x72\x72\x6F\x72\x3A\x20","\x63\x61\x74\x63\x68","\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E\x2E\x6A\x73","\x66\x6F\x72\x6B","\x65\x72\x72\x6F\x72","\x63\x68\x69\x6C\x64\x20\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x63\x68\x69\x6C\x64\x20\x63\x6C\x6F\x73\x65","\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x69\x6C\x64\x20\x6D\x65\x73\x73\x61\x67\x65","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x73\x74\x61\x74\x75\x73","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x69\x64","\x6B\x69\x6C\x6C","\x61\x64\x6D\x69\x6E","\x72\x65\x70\x6F\x72\x74\x4F\x75\x74\x70\x75\x74","\x73\x65\x6E\x64","\x73\x70\x72\x65\x61\x64","\x74\x72\x65\x65","\x70\x61\x72\x73\x65","\x6E\x61\x6D\x65","\x74\x61\x62\x6C\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x5F\x68\x69\x73\x74\x6F\x72\x79","","\x72\x65\x70\x6C\x61\x63\x65","\x6D\x61\x6E\x75\x61\x6C","\x73\x63\x68\x65\x64\x75\x6C\x65\x64","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x52\x65\x70\x6F\x72\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x21","\x66\x69\x6E\x64\x42\x79\x49\x64","\x72\x65\x70\x6F\x72\x74\x49\x64","\x66\x69\x65\x6C\x64\x73","\x73\x63\x6F\x70\x65","\x66\x69\x6E\x61\x6C\x6C\x79","\x45\x72\x72\x6F\x72\x20\x73\x65\x6E\x64\x69\x6E\x67\x20\x65\x78\x74\x72\x61\x63\x74\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x62\x79\x20\x6D\x61\x69\x6C\x21","\x53\x63\x68\x65\x64\x75\x6C\x65\x64\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x73\x65\x6E\x74\x21","\x73\x65\x74\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x21","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x53\x63\x68\x65\x64\x75\x6C\x65\x64\x20\x52\x65\x70\x6F\x72\x74","\x65\x6D\x61\x69\x6C","\x53\x45\x4E\x44\x49\x4E\x47","\x4E\x6F\x20\x41\x63\x63\x6F\x75\x6E\x74\x20\x6F\x72\x20\x53\x4D\x54\x50\x20\x61\x64\x64\x72\x65\x73\x73\x20\x63\x6F\x6E\x66\x69\x67\x75\x72\x65\x64","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x72\x65\x70\x6F\x72\x74\x73","\x73\x61\x76\x65\x6E\x61\x6D\x65","\x6A\x6F\x69\x6E","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2E","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x6F\x75\x74\x70\x75\x74","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x63\x6F\x70\x79\x53\x79\x6E\x63","\x73\x75\x63\x63\x65\x73\x73\x21","\x45\x72\x72\x6F\x72\x20\x67\x65\x74\x74\x69\x6E\x67\x20\x74\x68\x65\x20\x65\x78\x74\x72\x61\x63\x74\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x21","\x5F","\x44\x44\x2D\x4D\x4D\x2D\x59\x59\x59\x59","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x65\x6E\x64\x44\x61\x74\x65","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F","\x73\x74\x61\x74\x53\x79\x6E\x63","\x73\x69\x7A\x65","\x65\x78\x70\x6F\x72\x74\x73"];var cp=require(_0xfcb2[0]);var moment=require(_0xfcb2[1]);require(_0xfcb2[2]);var CustomReport=require(_0xfcb2[4])[_0xfcb2[3]];var DefaultReport=require(_0xfcb2[4])[_0xfcb2[5]];var ExtractedReport=require(_0xfcb2[4])[_0xfcb2[6]];var MailAttachment=require(_0xfcb2[4])[_0xfcb2[7]];var MailServerOut=require(_0xfcb2[4])[_0xfcb2[8]];var MailMessage=require(_0xfcb2[4])[_0xfcb2[9]];var path=require(_0xfcb2[10]);var config=require(_0xfcb2[11]);var fs=require(_0xfcb2[12]);var _=require(_0xfcb2[13]);var ReportTree=require(_0xfcb2[4])[_0xfcb2[14]];function Reports(){console[_0xfcb2[16]](_0xfcb2[15])}Reports[_0xfcb2[18]][_0xfcb2[17]]= function(_0xde74xf,_0xde74x10){console[_0xfcb2[16]](_0xfcb2[19]);extract(_0xde74xf,_0xde74x10)};function extract(_0xde74xf,_0xde74x10){switch(_0xde74xf[_0xfcb2[21]]){case _0xfcb2[20]:extractTodayReport(_0xde74xf,_0xde74x10);break;default:extractRangeReport(_0xde74xf,_0xde74x10);break}}function extractTodayReport(_0xde74xf,_0xde74x10){console[_0xfcb2[16]](_0xfcb2[22]);if(_0xde74x10|| checkValidity(_0xde74xf[_0xfcb2[23]],_0xde74xf[_0xfcb2[24]])){console[_0xfcb2[16]](_0xfcb2[25]);docExtract(_0xde74xf,moment()[_0xfcb2[27]](_0xfcb2[26]),moment()[_0xfcb2[27]](_0xfcb2[26]),_0xde74x10,_0xfcb2[28],_0xfcb2[29])}else {console[_0xfcb2[16]](_0xfcb2[30])}}function extractRangeReport(_0xde74xf,_0xde74x10){switch(_0xde74xf[_0xfcb2[41]]){case _0xfcb2[33]:docExtract(_0xde74xf,moment()[_0xfcb2[32]](1,_0xfcb2[31])[_0xfcb2[27]](_0xfcb2[26]),moment()[_0xfcb2[32]](1,_0xfcb2[31])[_0xfcb2[27]](_0xfcb2[26]),_0xde74x10);break;case _0xfcb2[34]:docExtract(_0xde74xf,moment()[_0xfcb2[32]](7,_0xfcb2[31])[_0xfcb2[27]](_0xfcb2[26]),moment()[_0xfcb2[32]](1,_0xfcb2[31])[_0xfcb2[27]](_0xfcb2[26]),_0xde74x10);break;case _0xfcb2[35]:docExtract(_0xde74xf,moment()[_0xfcb2[32]](30,_0xfcb2[31])[_0xfcb2[27]](_0xfcb2[26]),moment()[_0xfcb2[32]](1,_0xfcb2[31])[_0xfcb2[27]](_0xfcb2[26]),_0xde74x10);break;case _0xfcb2[40]:docExtract(_0xde74xf,moment()[_0xfcb2[32]](1,_0xfcb2[38])[_0xfcb2[37]](_0xfcb2[36])[_0xfcb2[27]](_0xfcb2[26]),moment()[_0xfcb2[32]](1,_0xfcb2[38])[_0xfcb2[39]](_0xfcb2[36])[_0xfcb2[27]](_0xfcb2[26]),_0xde74x10);break}}function checkValidity(_0xde74x15,_0xde74x16){return moment()[_0xfcb2[44]](moment(_0xde74x15,_0xfcb2[43]),moment(_0xde74x16,_0xfcb2[43]))[_0xfcb2[42]](moment())}function getReportPath(_0xde74x18,_0xde74x19,path){path= _0xde74x18[_0xfcb2[45]]+ _0xfcb2[46]+ path;if(_0xde74x18[_0xfcb2[47]]=== _0xfcb2[48]){return path}else {return getReportPath(_[_0xfcb2[49]](_0xde74x19,{id:_0xde74x18[_0xfcb2[47]]}),_0xde74x19,path)}}function docExtract(_0xde74xf,_0xde74x1b,_0xde74x1c,_0xde74x10,_0xde74x1d,_0xde74x1e){var _0xde74x1f=_0xde74xf[_0xfcb2[50]]=== _0xfcb2[51]?DefaultReport:CustomReport;var _0xde74x20;_0xde74x1f[_0xfcb2[88]](_0xfcb2[87])[_0xfcb2[85]](_0xde74xf[_0xfcb2[86]])[_0xfcb2[83]](function(_0xde74x25){if(!_0xde74x25){console[_0xfcb2[16]](_0xfcb2[84]);return};_0xde74x20= _0xde74x25;return ReportTree[_0xfcb2[85]](_0xde74xf[_0xfcb2[50]]=== _0xfcb2[51]?1:2)})[_0xfcb2[83]](function(_0xde74x19){_0xde74x19= JSON[_0xfcb2[73]](_0xde74x19[_0xfcb2[72]]);var _0xde74x18=_[_0xfcb2[49]](_0xde74x19,{id:_0xde74x20[_0xfcb2[47]]});var path=getReportPath(_0xde74x18,_0xde74x19,_0xde74x20[_0xfcb2[74]]);if(_0xde74xf[_0xfcb2[21]]=== _0xfcb2[20]){_0xde74x20[_0xfcb2[76]][_0xfcb2[75]]= _0xde74x20[_0xfcb2[76]][_0xfcb2[75]][_0xfcb2[79]](_0xfcb2[77],_0xfcb2[78])};return [_0xde74x20,ExtractedReport[_0xfcb2[82]]({name:_0xde74x20[_0xfcb2[74]],startDate:_0xde74x1b,endDate:_0xde74x1c,output:_0xde74xf[_0xfcb2[69]],type:_0xde74x10?_0xfcb2[80]:_0xfcb2[81],UserId:_0xde74x10?_0xde74x10[_0xfcb2[66]]:null})]})[_0xfcb2[71]](function(_0xde74x20,_0xde74x22){var _0xde74x23=cp[_0xfcb2[55]](__dirname+ _0xfcb2[54]);_0xde74x23[_0xfcb2[58]](_0xfcb2[61],function(_0xde74x24){console[_0xfcb2[16]](_0xfcb2[62],_0xde74x24);if(_0xde74xf[_0xfcb2[63]]&& _0xde74x24[_0xfcb2[64]]=== _0xfcb2[65]){sendReportByMail(_0xde74xf,_0xde74x22[_0xfcb2[66]],_0xde74x10,_0xde74x23)}else {_0xde74x23[_0xfcb2[67]]()}})[_0xfcb2[58]](_0xfcb2[59],function(){console[_0xfcb2[16]](_0xfcb2[60])})[_0xfcb2[58]](_0xfcb2[56],function(_0xde74x21){console[_0xfcb2[16]](_0xfcb2[57],_0xde74x21)});_0xde74x23[_0xfcb2[70]]({report:_0xde74x20,query:{startDate:_0xde74x1b,endDate:_0xde74x1c,startTime:_0xde74x1d|| null,endTime:_0xde74x1e|| null},extractedId:_0xde74x22[_0xfcb2[66]],user:_0xde74x10?_0xde74x10:{role:_0xfcb2[68]},type:_0xde74xf[_0xfcb2[69]]})})[_0xfcb2[53]](function(_0xde74x21){console[_0xfcb2[16]](_0xfcb2[52],_0xde74x21)})}function sendReportByMail(_0xde74xf,_0xde74x27,_0xde74x10,_0xde74x23){var _0xde74x28;return ExtractedReport[_0xfcb2[85]](_0xde74x27)[_0xfcb2[83]](function(extract){if(!extract){console[_0xfcb2[16]](_0xfcb2[93]);return};_0xde74x28= extract;if(_0xde74xf[_0xfcb2[8]]&& _0xde74xf[_0xfcb2[8]][_0xfcb2[94]]){var _0xde74x2a=getAttachment(_0xde74x28);var _0xde74x2b={subject:_0xfcb2[95],from:[_0xde74xf[_0xfcb2[8]][_0xfcb2[94]]],to:[_0xde74xf[_0xfcb2[96]]],cc:[],html:null,text:null,inReplyTo:null,status:_0xfcb2[97],attachment:true,UserId:_0xde74x10?_0xde74x10[_0xfcb2[66]]:null,MailAttachments:[_0xde74x2a]};return MailMessage[_0xfcb2[82]](_0xde74x2b,{include:[{model:MailAttachment}]})}else {throw new Error(_0xfcb2[98])}})[_0xfcb2[83]](function(_0xde74x29){return _0xde74x28[_0xfcb2[92]](_0xde74x29)})[_0xfcb2[83]](function(){console[_0xfcb2[16]](_0xfcb2[91])})[_0xfcb2[53]](function(_0xde74x21){console[_0xfcb2[16]](_0xfcb2[90],_0xde74x21)})[_0xfcb2[89]](function(){_0xde74x23[_0xfcb2[67]]()})}function getAttachment(extract){var _0xde74x2d=path[_0xfcb2[104]](config[_0xfcb2[99]],_0xfcb2[100],_0xfcb2[101],_0xfcb2[102],extract[_0xfcb2[103]]);var _0xde74x2e=path[_0xfcb2[104]](config[_0xfcb2[99]],_0xfcb2[100],_0xfcb2[101],_0xfcb2[105]);var _0xde74x2f=path[_0xfcb2[109]](extract[_0xfcb2[103]],_0xfcb2[106]+ extract[_0xfcb2[108]][_0xfcb2[107]]());try{fs[_0xfcb2[110]](_0xde74x2d,path[_0xfcb2[104]](_0xde74x2e,_0xde74x2f));console[_0xfcb2[16]](_0xfcb2[111])}catch(err){console[_0xfcb2[56]](_0xfcb2[112]);return null};return {size:getFilesizeInBytes(_0xde74x2d),path:path[_0xfcb2[104]](_0xde74x2e,_0xde74x2f),name:extract[_0xfcb2[74]]+ _0xfcb2[113]+ moment(extract[_0xfcb2[115]])[_0xfcb2[27]](_0xfcb2[114])+ _0xfcb2[113]+ moment(extract[_0xfcb2[116]])[_0xfcb2[27]](_0xfcb2[114])+ _0xfcb2[106]+ extract[_0xfcb2[108]][_0xfcb2[107]](),type:_0xfcb2[117]+ extract[_0xfcb2[108]][_0xfcb2[107]](),basename:_0xde74x2f}}function getFilesizeInBytes(_0xde74x31){try{var _0xde74x32=fs[_0xfcb2[118]](_0xde74x31);var _0xde74x33=_0xde74x32[_0xfcb2[119]];return _0xde74x33}catch(err){return 0}}module[_0xfcb2[120]]= Reports
\ No newline at end of file
-/**
- * Populate DB with sample data on server start
- * to disable, edit config/environment/index.js, and set `seedDB: false`
- */
-'use strict';
-
-var _ = require('lodash');
-var models = require('../models');
-var sequelize = require('../models').sequelize;
-
-models.User.bulkCreate([{
- provider: 'local',
- role: 'agent',
- fullname: 'Giuseppe Careri',
- email: 'giuseppe.careri@xcally.com',
- name: 'giuseppe.careri',
- password: '75xcally75',
- defaultuser: 'giuseppe.careri',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1000
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Daniele Cinti',
- email: 'daniele.cinti@xcally.com',
- name: 'daniele.cinti',
- password: '75xcally75',
- defaultuser: 'daniele.cinti',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1001
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Andrea Bianco',
- email: 'andrea.bianco@xcally.com',
- name: 'andrea.bianco',
- password: '75xcally75',
- defaultuser: 'andrea.bianco',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1002
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Massimiliano Bungaro',
- email: 'massimiliano.bungaro@xcally.com',
- name: 'massimiliano.bungaro',
- password: '75xcally75',
- defaultuser: 'massimiliano.bungaro',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1003
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Valerio Ciotta',
- email: 'valerio.ciotta@xcally.com',
- name: 'valerio.ciotta',
- password: '75xcally75',
- defaultuser: 'valerio.ciotta',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1004
-}, {
- provider: 'local',
- role: 'admin',
- fullname: 'Clarotech',
- email: 'clarotech@xcally.com',
- name: 'clarotech',
- password: 'clarotech',
- defaultuser: 'clarotech',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1005
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Abigael',
- email: 'abigael@xcally.com',
- name: 'abigael',
- password: '75xcally75',
- defaultuser: 'abigael',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1006
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Tony Russell',
- email: 'tonyr@xclarotech.co.za',
- name: 'tony.russell',
- password: 'clarotech',
- defaultuser: 'tony.russell',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1007
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Colin Fair',
- email: 'colinf@xclarotech.co.za',
- name: 'colin.fair',
- password: 'clarotech',
- defaultuser: 'colin.fair',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1008
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Diego Gosmar',
- email: 'diego.gosmar@xcally.com',
- name: 'diego.gosmar',
- password: '75xcally75',
- defaultuser: 'diego.gosmar',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1009
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Giuseppe Innamorato',
- email: 'giuseppe.innamorato@xcally.com',
- name: 'giuseppe.innamorato',
- password: '75xcally75',
- defaultuser: 'giuseppe.innamorato',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'upd',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1010
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Alessandra Bessone',
- email: 'alessandra.bessone@xcally.com',
- name: 'alessandra.bessone',
- password: '75xcally75',
- defaultuser: 'alessandra.bessone',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'upd',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1011
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Felice Briscese',
- email: 'felice.briscese@xcally.com',
- name: 'felice.briscese',
- password: '75xcally75',
- defaultuser: 'felice.briscese',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'upd',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1012
-}, {
- provider: 'local',
- role: 'admin',
- fullname: 'xCally',
- email: 'info.xcally@xcally.com',
- name: 'xcally',
- password: '388xshuttle388',
- defaultuser: 'xcally',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1013
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'John Doe',
- email: 'john.doe@gmail.com',
- name: 'john.doe',
- password: '75xcally75',
- defaultuser: 'john.doe',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1014
-}, {
- provider: 'local',
- role: 'agent',
- fullname: 'Jane Miller',
- email: 'jane.miller@gmail.com',
- name: 'jane.miller',
- password: '75xcally75',
- defaultuser: 'jane.miller',
- host: 'dynamic',
- type: 'FRIEND',
- transport: 'udp',
- allow: 'alaw;ulaw;gsm',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- disallow: 'all',
- context: 'from-sip',
- internal: 1015
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating users');
-});
-
-models.Trunk.bulkCreate([{
- name: 'citalia',
- type: 'friend',
- insecure: 'port,invite',
- defaultuser: '01119827770',
- secret: 'T!NPnv-qjCMe9v',
- password: 'T!NPnv-qjCMe9v',
- context: 'from-voip-provider',
- language: 'it',
- host: 'voip.eutelia.it',
- fromdomain: 'voip.eutelia.it',
- dtmfmode: 'rfc2833',
- qualify: 'yes',
- nat: 'force_rport,comedia',
- callerid: ' "" <>',
- limitonpeers: 'yes',
- callcounter: 'yes',
- disallow: 'all',
- allow: 'ulaw;alaw;gsm',
- canreinvite: 'no',
- directmedia: 'no'
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating trunks');
-});
-
-// Init modules table
-var newModules = [{
- id: 1,
- name: "dashboard",
- title: "APPLICATION_DASHBOARD",
- ModuleId: null,
- path: '/dashboard/voice'
-}, {
- id: 2,
- name: "yourdashboards",
- title: "APPLICATION_YOUR_DASHBOARDS",
- ModuleId: null,
- path: '/tools/yourdashboards/show/1'
-}, {
- id: 3,
- name: "staff",
- title: "APPLICATION_STAFF",
- ModuleId: null,
- path: '/staff/agents/list'
-}, {
- id: 4,
- name: "agents",
- title: "APPLICATION_AGENTS",
- ModuleId: 3,
- path: '/staff/agents/list'
-}, {
- id: 5,
- name: "contactmanager",
- title: "APPLICATION_CONTACT_MANAGER",
- ModuleId: null,
- path: '/contactmanager/contacts/list'
-}, {
- id: 6,
- name: "channels",
- title: "APPLICATION_CHANNELS",
- ModuleId: null,
- path: '/channels/voice/queues/list'
-}, {
- id: 7,
- name: "voice",
- title: "APPLICATION_VOICE",
- ModuleId: 6,
- path: '/channels/voice/queues/list'
-}, {
- id: 8,
- name: "chat",
- title: "APPLICATION_CHAT",
- ModuleId: 6,
- path: '/channels/chat/websites/list'
-}, {
- id: 9,
- name: "mail",
- title: "APPLICATION_MAIL",
- ModuleId: 6,
- path: '/channels/mail/accounts/list'
-}, {
- id: 10,
- name: "fax",
- title: "APPLICATION_FAX",
- ModuleId: 6,
- path: '/channels/fax/accounts/list'
-}, {
- id: 11,
- name: "sms",
- title: "APPLICATION_SMS",
- ModuleId: 6,
- path: '/channels/sms/accounts/list'
-}, {
- id: 12,
- name: "realtime",
- title: "APPLICATION_REALTIME",
- ModuleId: 6,
- path: '/channels/realtime/view/agents'
-}, {
- id: 13,
- name: "tools",
- title: "APPLICATION_TOOLS",
- ModuleId: null,
- path: '/tools/triggers/list'
-}, {
- id: 14,
- name: "square",
- title: "APPLICATION_CALLYSQUARE",
- ModuleId: null,
- path: '/square/projects/list'
-}, {
- id: 15,
- name: "jscripty",
- title: "APPLICATION_JSCRIPTY",
- ModuleId: null,
- path: '/jscripty/projects/list'
-}, {
- id: 16,
- name: "motiondialer",
- title: "APPLICATION_MOTION_DIALER",
- ModuleId: null,
- path: '/motiondialer/lists/list'
-}, {
- id: 17,
- name: "analytics",
- title: "APPLICATION_ANALYTICS",
- ModuleId: null,
- path: '/analytics/reports/list'
-}, {
- id: 18,
- name: "setting",
- title: "APPLICATION_SETTINGS",
- ModuleId: null,
- path: '/setting/updates/list'
-}, {
- id: 19,
- name: "integration",
- title: "APPLICATION_INTEGRATION",
- ModuleId: null,
- path: '/market'
-}, {
- id: 20,
- name: "openchannel",
- title: "APPLICATION_OPEN_CHANNEL",
- ModuleId: 6,
- path: '/channels/openchannel/accounts/list'
-}];
-
-models.Module.findAll().then(function(oldModules) {
- var bulkModules = [];
- oldModules = _.map(oldModules, 'id');
- newModules.forEach(function(module) {
- if (_.includes(oldModules, module.id)) {
- bulkModules.push(models.Module.update(module, {
- where: {
- id: module.id
- }
- }));
- } else {
- bulkModules.push(models.Module.create(module));
- }
- });
- return bulkModules;
-}).all().then(function() {
- console.log('Finished populating modules');
-}).catch(function(err) {
- console.log('Error populating modules:', err);
-});
-
-models.Team.create({
- name: "T1",
- description: "Default Team",
- defaultEntry: true
-}).then(function(team) {
- models.User.findAll({
- where: {
- role: 'agent'
- }
- }).then(function(users) {
- team.addUsers(_.map(users, 'id')).then(function() {
- models.ChatQueue.create({
- name: "CQ1",
- description: "CQ1 Desc",
- timeout: 5,
- strategy: "rrmemory"
- }).then(function(chatQueue) {
- console.log('Finished populating chat queue 1');
- models.Team.findOne({
- where: {
- name: 'T1'
- },
- include: [{
- all: true
- }]
- }).then(function(team) {
- chatQueue.addUsers(_.map(team.Users, 'id')).catch(function(err) {
- // console.error(err);
- });
- }).catch(function(err) {
- // console.error(err);
- });
- });
- models.MailQueue.create({
- name: "MQ1",
- description: "MQ1 Desc",
- timeout: 5,
- strategy: "rrmemory"
- }).then(function(mailQueue) {
- console.log('Finished populating mail queue 1');
- models.Team.findOne({
- where: {
- name: 'T1'
- },
- include: [{
- all: true
- }]
- }).then(function(team) {
- if (team) {
- console.log('team found');
- } else {
- console.log('test');
- }
- mailQueue.addUsers(_.map(team.Users, 'id')).catch(function(err) {
- // console.error(err);
- });
- }).catch(function(err) {
- // console.error(err);
- });
- });
- models.FaxQueue.create({
- name: "FQ1",
- description: "FQ1 Desc",
- timeout: 5,
- strategy: "rrmemory"
- }).then(function(faxQueue) {
- console.log('Finished populating fax queue 1');
- models.Team.findOne({
- where: {
- name: 'T1'
- },
- include: [{
- all: true
- }]
- }).then(function(team) {
- faxQueue.addUsers(_.map(team.Users, 'id')).catch(function(err) {
- // console.error(err);
- });
- }).catch(function(err) {
- // console.error(err);
- });
- });
- }).catch(function(err) {
- // console.error(err);
- });
- }).catch(function(err) {
- // console.error(err);
- });
-}).catch(function(err) {
- // console.error(err);
-});
-
-models.MailAccount.create({
- name: "xCally Development",
- description: "xCally Development",
- address: "development@xcally.com"
-}).then(function(mailAccount) {
- console.log('Finished populating mail account');
- models.MailServerIn.create({
- description: 'xcally',
- host: 'imap.xcally.com',
- username: 'development@xcally.com',
- password: 'phokucloka',
- port: 143,
- mailbox: 'INBOX',
- ssl: false,
- delete: false,
- filter: 'UNSEEN',
- protocol: 'IMAP',
- MailAccountId: mailAccount.id
- }).then(function() {
- console.log('Finished populating mail server in');
- models.MailServerOut.create({
- description: 'xcally',
- host: 'smtp.xcally.com',
- username: 'development@xcally.com',
- password: 'phokucloka',
- port: 587,
- ssl: false,
- MailAccountId: mailAccount.id
- }).then(function() {
- console.log('Finished populating mail server out');
- }).catch(function(err) {
- // console.error(err);
- });
- }).catch(function(err) {
- // console.error(err);
- });
-});
-// models.FaxAccount
-// .create({
-// description: 'FA1 Desc',
-// name: 'FA1',
-// phone: '01119827770',
-// ecm: true,
-// faxheader: 'xCALLY',
-// localid: '01119827770',
-// maxrate: '9600',
-// minrate: '14400',
-// })
-// .then(function(faxAccount) {
-// console.log('Finished populating fax account');
-//
-// models.Trunk
-// .findOne({
-// where: {
-// name: 'citalia'
-// }
-// })
-// .then(function(trunk) {
-// faxAccount
-// .setTrunk(trunk)
-// .catch(function(err) {
-// // console.error(err);
-// });
-//
-//
-// models.VoiceExtension
-// .create({
-// context: 'from-voip-provider',
-// exten: '01119827770',
-// priority: 1,
-// app: 'Goto',
-// appdata: 'inbound-fax,s,1',
-// type: 'inbound-fax'
-// })
-//
-// })
-// .catch(function(err) {
-// // console.error(err);
-// });
-//
-// models.FaxQueue
-// .findAll()
-// .then(function(faxQueues) {
-// models.FaxApplication
-// .create({
-// app: 'queue',
-// appdata: faxQueues[0].id,
-// priority: 1,
-// timeout: 30,
-// FaxAccountId: faxAccount.id,
-// FaxQueueId: faxQueues[0].id
-// })
-// .then(function() {
-// console.log('Finished populating chat website application 1');
-// })
-// .catch(function(err) {
-// // console.error(err);
-// });
-//
-// models.FaxApplication
-// .create({
-// app: 'queue',
-// appdata: faxQueues[1].id,
-// priority: 2,
-// timeout: 30,
-// FaxAccountId: faxAccount.id,
-// FaxQueueId: faxQueues[1].id
-// })
-// .then(function() {
-// console.log('Finished populating chat website application 2');
-// })
-// .catch(function(err) {
-// // console.error(err);
-// });
-// })
-// .catch(function(err) {
-// // console.error(err);
-// });
-// })
-// .catch(function(err) {
-// // console.error(err);
-// });
-// models.FaxAccount
-// .create({
-// description: 'FA1 Desc',
-// name: 'FA1',
-// phone: '01119827770',
-// ecm: true,
-// faxheader: 'xCALLY',
-// localid: '01119827770',
-// maxrate: '9600',
-// minrate: '14400',
-// })
-// .then(function (faxAccount) {
-// console.log('Finished populating fax account');
-//
-// models.Trunk
-// .findOne({
-// where: {
-// name: 'citalia'
-// }
-// })
-// .then(function (trunk) {
-// faxAccount
-// .setTrunk(trunk)
-// .catch(function (err) {
-// // console.error(err);
-// });
-//
-//
-// models.VoiceExtension
-// .create({
-// context: 'from-voip-provider',
-// exten: '01119827770',
-// priority: 1,
-// app: 'Goto',
-// appdata: 'inbound-fax,s,1',
-// type: 'inbound-fax',
-// TrunkId: trunk.name
-// })
-//
-// })
-// .catch(function (err) {
-// // console.error(err);
-// });
-//
-// models.FaxQueue
-// .findAll()
-// .then(function (faxQueues) {
-// models.FaxApplication
-// .create({
-// app: 'queue',
-// appdata: faxQueues[0].id,
-// priority: 1,
-// timeout: 30,
-// FaxAccountId: faxAccount.id,
-// FaxQueueId: faxQueues[0].id
-// })
-// .then(function () {
-// console.log('Finished populating chat website application 1');
-// })
-// .catch(function (err) {
-// // console.error(err);
-// });
-//
-// models.FaxApplication
-// .create({
-// app: 'queue',
-// appdata: faxQueues[1].id,
-// priority: 2,
-// timeout: 30,
-// FaxAccountId: faxAccount.id,
-// FaxQueueId: faxQueues[1].id
-// })
-// .then(function () {
-// console.log('Finished populating chat website application 2');
-// })
-// .catch(function (err) {
-// // console.error(err);
-// });
-// })
-// .catch(function (err) {
-// // console.error(err);
-// });
-// })
-// .catch(function (err) {
-// // console.error(err);
-// });
-// models.VoiceExtension
-// .bulkCreate([{
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 1,
-// app: 'NoOp',
-// appdata: 'Fax UUID: ${FAXUUID}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 2,
-// app: 'UserEvent',
-// appdata: 'Fax,uuid: ${FAXUUID}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 3,
-// app: 'Set',
-// appdata: 'FAXOPT(filename):${FAXFILE}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 4,
-// app: 'Set',
-// appdata: 'FAXOPT(ecm):${ECM}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 5,
-// app: 'Set',
-// appdata: 'FAXOPT(headerinfo):${FAXHEADER}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 6,
-// app: 'Set',
-// appdata: 'FAXOPT(localstationid):${LOCALID}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 7,
-// app: 'Set',
-// appdata: 'FAXOPT(maxrate):${MAXRATE}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 8,
-// app: 'Set',
-// appdata: 'FAXOPT(minrate):${MINRATE}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 9,
-// app: 'SendFAX',
-// appdata: '${FAXFILE},d',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 's',
-// priority: 10,
-// app: 'NoOp',
-// appdata: 'ERROR "${TIMESTAMP}" "NO_STATUS" "NO_PAGES"',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 1,
-// app: 'NoOp',
-// appdata: 'FAXOPT(ecm) : ${FAXOPT(ecm)}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 2,
-// app: 'NoOp',
-// appdata: 'FaxStatus : ${FAXSTATUS}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 3,
-// app: 'NoOp',
-// appdata: 'FaxStatusString : ${FAXSTATUSSTRING}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 4,
-// app: 'NoOp',
-// appdata: 'FaxError : ${FAXERROR}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 5,
-// app: 'NoOp',
-// appdata: 'RemoteStationID : ${REMOTESTATIONID}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 6,
-// app: 'NoOp',
-// appdata: 'FaxPages : ${FAXPAGES}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 7,
-// app: 'NoOp',
-// appdata: 'FaxBitRate : ${FAXBITRATE}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 8,
-// app: 'NoOp',
-// appdata: 'FaxResolution : ${FAXRESOLUTION}',
-// type: 'outbound-fax'
-// }, {
-// context: 'outbound-fax',
-// exten: 'h',
-// priority: 9,
-// app: 'NoOp',
-// appdata: 'OK "${TIMESTAMP}" "${FAXSTATUSSTRING}" "${FAXPAGES}"',
-// type: 'outbound-fax'
-// }], {
-// ignoreDuplicates: true
-// })
-// .then(function() {
-// console.log('Finished populating fax outbound voice extension');
-// });
-//
-// models.VoiceExtension
-// .bulkCreate([{
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 1,
-// app: 'NoOp',
-// appdata: '**** FAX RECEIVED from ${CALLERID(num)} ${STRFTIME(${EPOCH},,%c)} ****',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 2,
-// app: 'Set',
-// appdata: 'FAXOPT(ecm):yes',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 3,
-// app: 'Set',
-// appdata: 'FILENAME:${UNIQUEID}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 4,
-// app: 'Set',
-// appdata: 'FAXFILE:${FILENAME}.tif',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 5,
-// app: 'Set',
-// appdata: 'FAXOPT(headerinfo):Received by XeniaLAB ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 6,
-// app: 'Set',
-// appdata: 'FAXOPT(localstationid):${LOCALID}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 7,
-// app: 'Set',
-// appdata: 'FAXOPT(maxrate):${MAXRATE}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 8,
-// app: 'Set',
-// appdata: 'FAXOPT(minrate):${MINRATE}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 9,
-// app: 'NoOp',
-// appdata: 'FAXOPT(ecm) : ${FAXOPT(ecm)}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 10,
-// app: 'NoOp',
-// appdata: 'FAXOPT(headerinfo) : ${FAXOPT(headerinfo)}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 11,
-// app: 'NoOp',
-// appdata: 'FAXOPT(localstationid) : ${FAXOPT(localstationid)}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 12,
-// app: 'NoOp',
-// appdata: 'FAXOPT(maxrate) : ${FAXOPT(maxrate)}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 13,
-// app: 'NoOp',
-// appdata: 'FAXOPT(minrate) : ${FAXOPT(minrate)}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 14,
-// app: 'NoOp',
-// appdata: '**** RECEIVING FAX : ${FAXFILE} ****',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 15,
-// app: 'ReceiveFax',
-// appdata: '/tmp/${FAXFILE}',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 's',
-// priority: 16,
-// app: 'Hangup',
-// type: 'inbound-fax'
-// }, {
-// context: 'inbound-fax',
-// exten: 'h',
-// priority: 1,
-// app: 'NoOp',
-// appdata: 'FAXOPT(ecm) : ${FAXOPT(ecm)}',
-// type: 'inbound-fax'
-// }], {
-// ignoreDuplicates: true
-// })
-// .then(function() {
-// console.log('Finished populating fax outbound voice extension');
-// });
-
-models.SquareProject.bulkCreate([{
- name: "project1",
- description: "description project"
-}], {
- ignoreDuplicates: true
-}).then(function() {
- console.log('Finished populating square projects');
-});
-
-models.ChatWebsite.create({
- name: 'xCally Shop',
- description: 'xCally Shop',
- address: 'http://www.xcally.com/shop/',
- color: '#f51111',
- color_focus: '#f51111',
- color_button: '#f51111',
- remote: 'http://localhost:9000',
- animation: true,
- header_shape: 'squared',
- header_online: 'We are here!',
- online_message: 'Questions? Insert your name and email address to start a live-chat with our support team.',
- username_placeholder: 'Your name',
- email_placeholder: 'Your email address',
- start_chat_button: 'Chat',
- header_offline: 'Contact us',
- offline_message: "<strong>We're not online.</strong><br />It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.'",
- enquiry_message_placeholder: 'Your message...',
- enquiry_button: 'Leave message',
- download_transcript: true
-}).then(function(chatWebsite) {
- console.log('Finished populating chat website');
- models.ChatQueue.findAll().then(function(chatQueues) {
- models.ChatApplication.create({
- app: 'queue',
- appdata: chatQueues[0].id,
- priority: 1,
- timeout: 30,
- ChatWebsiteId: chatWebsite.id,
- ChatQueueId: chatQueues[0].id
- }).then(function() {
- console.log('Finished populating chat website application 1');
- }).catch(function(err) {
- // console.error(err);
- });
- models.ChatApplication.create({
- app: 'queue',
- appdata: chatQueues[1].id,
- priority: 2,
- timeout: 30,
- ChatWebsiteId: chatWebsite.id,
- ChatQueueId: chatQueues[1].id
- }).then(function() {
- console.log('Finished populating chat website application 2');
- }).catch(function(err) {
- // console.error(err);
- });
- }).catch(function(err) {
- // console.error(err);
- });
-}).catch(function(err) {
- // console.error(err);
-});
-
-models.Variable.bulkCreate([{
- name: "variable1",
- description: "description project"
-}], {
- ignoreDuplicates: true
-}).then(function() {
- console.log('Finished populating variables');
-});
-
-models.VoiceContext.bulkCreate([{
- name: "from-sip",
- description: "Default context (DO NOT DELETE)",
- defaultEntry: true
-}, {
- name: "from-voip-provider",
- description: "Default context (DO NOT DELETE)",
- defaultEntry: true
-}, {
- name: "inbound-fax",
- description: "Default context (DO NOT DELETE)",
- defaultEntry: true
-}, {
- name: "outbound-fax",
- description: "Default context (DO NOT DELETE)",
- defaultEntry: true
-}, {
- name: "from-voicemail",
- description: "Default context (DO NOT DELETE)",
- defaultEntry: true
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating context variables');
-});
-
-models.VoiceMusicOnHold.bulkCreate([{
- name: "default",
- mode: "files",
- directory: 'var/lib/asterisk/moh',
- sort: 'alpha',
- format: 'wav',
- defaultEntry: true
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating moh variables');
-});
-
-models.Setting.bulkCreate([{
- id: 1,
- min_internal: 1000,
- soundPath: '/var/opt/motion/server/files/sounds/converted'
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating moh variables');
-});
-
-models.Dashboard.bulkCreate([{
- id: 1,
- name: 'Motion Dashboard',
- model: JSON.stringify({
- title: 'Motion Dashboard',
- rows: [{
- columns: [{
- styleClass: 'col-md-4',
- widgets: [{
- type: 'clock',
- title: 'Clock',
- config: {
- timePattern: 'hh:mm:ss a',
- datePattern: 'dddd, MMMM Do YYYY'
- }
- }]
- }, {
- styleClass: 'col-md-8',
- widgets: [{
- type: 'iframe',
- title: 'Iframe',
- config: {
- url: 'https://demo.xcally.com/shop/'
- }
- }]
- }]
- }]
- }),
- defaultEntry: true,
- editable: false
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating moh variables');
-});
-
-var newIntegrations = [{
- name: 'Zendesk',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/zendesk2.png',
- state: 'zendesk',
- description: 'Start using xCALLY - Zendesk integration: Auto-Generated Tickets, fully customizable comments, Custom Fields management, Tag support and Simple Setup',
- link: 'https://wiki.xcallymotion.com/display/XMD/Zendesk+integration'
-}, {
- name: 'Salesforce',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/salesforce2.png',
- state: 'salesforce',
- description: 'Start using xCALLY - Salesforce integration: Auto-Generated Tasks, fully customizable comments, Custom Fields management and OpenCTI support',
- link: 'https://wiki.xcallymotion.com/display/XMD/Salesforce+integration'
-}, {
- name: 'iFrame',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/iframe.png',
- state: 'iframe',
- description: 'Start using iFrame integration: enable your agents to view external pages (like your CRM) directly from Motion GUI',
- link: 'https://wiki.xcallymotion.com/display/XMD/iFrame+Integration'
-}, {
- name: 'Desk.com',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/desk2.png',
- state: 'desk',
- description: 'Description for Desk.com asdnvlsdbjv saeklbvqwoVBQ'
-}, {
- name: 'Freshdesk',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/freshdesk.png',
- state: 'freshdesk',
- description: 'Description for Freshdesk'
-}, {
- name: 'SugarCRM',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/sugarcrm2.png',
- state: 'sugarcrm',
- description: 'Description for SugarCRM'
-}];
-
-models.Integration
- .findAll()
- .then(function(oldIntegrations) {
- var bulkIntegrations = [];
- oldIntegrations = _.map(oldIntegrations, 'state');
- newIntegrations.forEach(function(integration) {
- if (_.includes(oldIntegrations, integration.state)) {
- bulkIntegrations.push(models.Integration.update(integration, {
- where: {
- state: integration.state
- }
- }));
- } else {
- bulkIntegrations.push(models.Integration.create(integration));
- }
- });
- return bulkIntegrations;
- })
- .all()
- .then(function() {
- console.log('Finished populating integrations');
- })
- .catch(function(err) {
- console.log('Error populating integrations:', err);
- });
-
-var newDefaulReports = [{
- "id": 1,
- "name": "Queue - Details",
- "description": null,
- "parent": "j4_3",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 2,
- "name": "Details",
- "description": "Calls details (cdr)",
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 3,
- "name": "Outbound",
- "description": "Manual outbound calls detail",
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"outbound\"}]}}"
-}, {
- "id": 4,
- "name": "Calls by Queue",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 5,
- "name": "Details",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
-}, {
- "id": 6,
- "name": "Calls by Agent",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 7,
- "name": "Calls by Queue",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
-}, {
- "id": 8,
- "name": "Answer Time by Queue",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
-}, {
- "id": 9,
- "name": "Disconnection Cause",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
-}, {
- "id": 10,
- "name": "Details",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallercomplete\",\"value\":\"0\"}]}}"
-}, {
- "id": 11,
- "name": "Unanswered by Queue",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallercomplete\",\"value\":\"0\"}]}}"
-}, {
- "id": 12,
- "name": "Exit Cause",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallerexit\",\"value\":\"1\"}]}}"
-}, {
- "id": 13,
- "name": "Abandon Time by Queue",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallerabandon\",\"value\":\"1\"}]}}"
-}, {
- "id": 14,
- "name": "Calls by Date",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 15,
- "name": "Calls by Hour",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 16,
- "name": "Calls by Day",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 17,
- "name": "Calls by Type",
- "description": null,
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 18,
- "name": "Outbound Calls Disposition",
- "description": "Outbound calls grouped by disposition",
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"outbound\"}]}}"
-}, {
- "id": 19,
- "name": "Pause Time",
- "description": null,
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"PAUSE\"},{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"voice\"}]}}"
-}, {
- "id": 20,
- "name": "Login Time",
- "description": null,
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"LOGIN\"},{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"voice\"}]}}"
-}, {
- "id": 21,
- "name": "Website Summary",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 22,
- "name": "Session Detail",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}",
-}, {
- "id": 23,
- "name": "Chat by Agent",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"complete\",\"value\":\"1\"}]}}"
-}, {
- "id": 24,
- "name": "Chat by Queue",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"application\",\"value\":\"queue\"}]}}"
-}, {
- "id": 25,
- "name": "Details",
- "description": "Agents status details",
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"voice\"}]}}"
-}, {
- "id": 26,
- "name": "Summary",
- "description": "CallySquare Summary",
- "parent": "j112_1",
- "table": "report_square_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 27,
- "name": "Blocks",
- "description": "CallySquare Blocks",
- "parent": "j112_1",
- "table": "report_square_details_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 28,
- "name": "Login Details",
- "description": "Agents status details",
- "parent": "j24_1",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"voice\"},{\"condition\":\"=\",\"field\":\"type\",\"value\":\"LOGIN\"}]}}"
-}, {
- "id": 29,
- "name": "Pause Time by Channel",
- "description": "",
- "parent": "j24_1",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"PAUSE\"}]}}"
-}, {
- "id": 30,
- "name": "Pause Details",
- "description": "Agents status details",
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"voice\"},{\"condition\":\"=\",\"field\":\"type\",\"value\":\"PAUSE\"}]}}"
-}, {
- "id": 31,
- "name": "Rating by Agent",
- "description": null,
- "parent": "j20_3",
- "table": "voice_recordings",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 32,
- "name": "Rating by Queue",
- "description": null,
- "parent": "j20_3",
- "table": "voice_recordings",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"IS NOT EMPTY\",\"field\":\"queue\",\"value\":\"\",\"required\":false}]}}"
-}, {
- "id": 33,
- "name": "Queue - Calls",
- "description": null,
- "parent": "j4_3",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 34,
- "name": "Answer Time by Hour",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
-}, {
- "id": 35,
- "name": "Received emails by account",
- "description": "Summary of the emails accepted by application for each account",
- "parent": "j4_2",
- "table": "report_mail_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 36,
- "name": "Received emails by queue",
- "description": "Summary of received email by queue",
- "parent": "j4_2",
- "table": "report_mail_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"application\",\"value\":\"queue\",\"required\":true}]}}"
-}, {
- "id": 37,
- "name": "Accepted emails by agent",
- "description": "Summary of accepted email by agent",
- "parent": "j4_2",
- "table": "report_mail_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"timeout\",\"value\":\"0\",\"required\":true}]}}"
-}, {
- "id": 38,
- "name": "Messages Summary by Date",
- "description": "Global messages summary by date",
- "parent": "j4_2",
- "table": "mail_messages",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"auto\",\"value\":false}]}}"
-}, {
- "id": 39,
- "name": "Interactions detail",
- "description": "Detailed report about the interactions",
- "parent": "j4_2",
- "table": "mail_rooms",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
-}, {
- "id": 40,
- "name": "Disposition Summary",
- "description": "Closed interactions by disposition (filtered by disposition not null)",
- "parent": "j4_2",
- "table": "mail_rooms",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"IS NOT NULL\",\"field\":\"disposition\",\"value\":\"\",\"required\":false}]}}"
-}, {
- "id": 41,
- "name": "Closed interactions by date",
- "description": "Summary of closed interactions grouped by date + average handle time (from when the first email arrived to when the interaction has been closed)",
- "parent": "j4_2",
- "table": "mail_rooms",
- "conditions": "{\"group\":{\"operator\":\"OR\",\"rules\":[{\"condition\":\"=\",\"field\":\"status\",\"value\":\"'CLOSED'\",\"required\":true}]}}"
-}];
-
-var newDefaultMetrics = [{
- "id": 1,
- "name": "Queue - TalkTime",
- "table": "report_queue_history",
- "metric": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)"
-}, {
- "id": 2,
- "name": "Queue - Abandon Time",
- "table": "report_queue_history",
- "metric": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)"
-}, {
- "id": 3,
- "name": "Abandoned <10s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <10,1,NULL))",
- "description": "Count of abandoned calls within 10 seconds (Short Calls)"
-}, {
- "id": 4,
- "name": "Queue - AnswerTime",
- "table": "report_queue_history",
- "metric": "IF(queuecallercomplete=1,holdtime,null)"
-}, {
- "id": 5,
- "name": "Answered < 10s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime<10,1,NULL))",
- "description": "Count of answered calls within 10 seconds"
-}, {
- "id": 6,
- "name": "Answered 10-20s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))",
- "description": "Count of answered calls between 10 and 20 seconds"
-}, {
- "id": 7,
- "name": "Answered 20-30s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))",
- "description": "Count of answered calls between 20 and 30 seconds"
-}, {
- "id": 8,
- "name": "Answered >30s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime >=30,1,NULL))",
- "description": "Count of answered calls over 30 seconds"
-}, {
- "id": 9,
- "name": "Queue - Exit Time",
- "table": "report_queue_history",
- "metric": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)"
-}, {
- "id": 10,
- "name": "Abandoned 10-60s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=10 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <60,1,NULL))",
- "description": "Count of abandoned calls between 10 and 60 seconds"
-}, {
- "id": 11,
- "name": "Abandoned 60-120s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=60 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <120,1,NULL))",
- "description": "Count of abandoned calls between 60 and 120 seconds"
-}, {
- "id": 12,
- "name": "Queue - Abandoned >120s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=120,1,NULL))",
- "description": "Count of abandoned calls over 120 seconds"
-}, {
- "id": 13,
- "name": "Queue - JoinDate",
- "table": "report_queue_history",
- "metric": "DATE(queuecallerjoinat)",
- "description": "Extract the date of the join queue"
-}, {
- "id": 14,
- "name": "Queue - JoinHour",
- "table": "report_queue_history",
- "metric": "HOUR(queuecallerjoinat)",
- "description": "Extract the hour of the join queue"
-}, {
- "id": 15,
- "name": "Queue - JoinDay",
- "table": "report_queue_history",
- "metric": "DAY(queuecallerjoinat)",
- "description": "Extract the day of the join queue"
-}, {
- "id": 16,
- "name": "Member - Event Duration",
- "table": "report_member_history",
- "metric": "UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)",
- "description": "Member event duration in seconds"
-}, {
- "id": 17,
- "name": "Member - Total Event Duration",
- "table": "report_member_history",
- "metric": "SEC_TO_TIME(SUM(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)))",
- "description": "Total event duration"
-}, {
- "id": 18,
- "name": "Chat - Session Time",
- "table": "report_chat_session_history",
- "metric": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "description": "Session Time",
-}, {
- "id": 19,
- "name": "Chat - Queue",
- "table": "report_chat_session_history",
- "metric": "COUNT(IF(application=\"queue\",1,NULL))",
- "description": "Chat queue application count",
-}, {
- "id": 20,
- "name": "Chat - Agent",
- "table": "report_chat_session_history",
- "metric": "COUNT(IF(application=\"agent\",1,NULL))",
- "description": "Chat agent application count",
-}, {
- "id": 21,
- "name": "Chat - Avg Session Time",
- "table": "report_chat_session_history",
- "metric": "ROUND(AVG(UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)))",
- "description": "Average session time"
-}, {
- "id": 22,
- "name": "Member - Event Duration (HH:mm:ss)",
- "table": "report_member_history",
- "metric": "SEC_TO_TIME(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt))",
- "description": "Member events duration in time format"
-}, {
- "id": 23,
- "name": "Square - Duration",
- "table": "report_square_history",
- "metric": "UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)",
- "description": "IVR Duration"
-}, {
- "id": 24,
- "name": "Queue - EndTime Call",
- "table": "report_queue_history",
- "metric": "CASE WHEN queuecallercomplete=1 THEN queuecallercompleteAt ELSE queuecallerLeaveAt END",
- "description": null
-}, {
- "id": 25,
- "name": "Queue - Calls Result",
- "table": "report_queue_history",
- "metric": "CASE WHEN queuecallercomplete=1 THEN \"YES\" ELSE \"NO\" END",
- "description": "Show if a call is answered or not"
-}];
-
-models.ReportTree.destroy({
- where: {
- id: 1
- }
- })
- .then(function() {
- return models.ReportTree.create({
- id: 1,
- tree: '[{"id":"1","parent":"#","text":"Motion Reports","icon":"icon-rocket","state":{"selected":true,"opened":true}},{"id":"2","text":"Voice","icon":true,"li_attr":{"id":"2"},"a_attr":{"href":"#","id":"2_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"1"},{"id":"j4_3","text":"Queues","icon":true,"li_attr":{"id":"j4_3"},"a_attr":{"href":"#","id":"j4_3_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j4_5","text":"Answered","icon":true,"li_attr":{"id":"j4_5"},"a_attr":{"href":"#","id":"j4_5_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"j4_3"},{"id":"j4_6","text":"Unanswered","icon":true,"li_attr":{"id":"j4_6"},"a_attr":{"href":"#","id":"j4_6_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"j4_3"},{"id":"j4_7","text":"Distribution","icon":true,"li_attr":{"id":"j4_7"},"a_attr":{"href":"#","id":"j4_7_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"j4_3"},{"id":"j20_1","text":"Calls","icon":true,"li_attr":{"id":"j20_1"},"a_attr":{"href":"#","id":"j20_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j4_4","text":"Agents","icon":true,"li_attr":{"id":"j4_4"},"a_attr":{"href":"#","id":"j4_4_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j112_1","text":"CallySquare","icon":true,"li_attr":{"id":"j112_1"},"a_attr":{"href":"#","id":"j112_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j20_2","text":"Integration","icon":true,"li_attr":{"id":"j20_2"},"a_attr":{"href":"#","id":"j20_2_anchor"},"state":{"loaded":true,"opened":false,"selected":true,"disabled":false},"data":{},"parent":"2"},{"id":"j20_3","text":"Recordings","icon":true,"li_attr":{"id":"j20_3"},"a_attr":{"href":"#","id":"j20_3_anchor"},"state":{"loaded":true,"opened":false,"selected":true,"disabled":false},"data":{},"parent":"2"},{"id":"j4_1","text":"Chat","icon":true,"li_attr":{"id":"j4_1"},"a_attr":{"href":"#","id":"j4_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"1"},{"id":"j4_2","text":"Mail","icon":true,"li_attr":{"id":"j4_2"},"a_attr":{"href":"#","id":"j4_2_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"1"},{"id":"j24_1","text":"Agents","icon":true,"li_attr":{"id":"j24_1"},"a_attr":{"href":"#","id":"j24_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"1"}]',
- })
- })
- .then(function() {
- return models.ReportTree.findOrCreate({
- where: {
- id: 2
- },
- defaults: {
- id: 2,
- tree: '[{"id":"1","text":"Custom Reports","icon":"icon-book-open","li_attr":{"id":"1"},"a_attr":{"href":"#","id":"1_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"#"},{"id":"2","text":"Basic Node","icon":true,"li_attr":{"id":"2"},"a_attr":{"href":"#","id":"2_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"1"}]'
- }
- })
- })
- .then(function() {
- return models.DefaultMetric.findAll();
- })
- .then(function(oldDefaultMetrics) {
- var bulkDefaultMetrics = [];
- oldDefaultMetrics = _.map(oldDefaultMetrics, 'id');
- newDefaultMetrics.forEach(function(defaultMet) {
- if (_.includes(oldDefaultMetrics, defaultMet.id)) {
- bulkDefaultMetrics.push(models.DefaultMetric.update(defaultMet, {
- where: {
- id: defaultMet.id
- }
- }));
- } else {
- bulkDefaultMetrics.push(models.DefaultMetric.create(defaultMet));
- }
- });
- return bulkDefaultMetrics;
- })
- .all()
- .then(function() {
- return models.DefaultReport.findAll()
- })
- .then(function(oldDefaultReports) {
- var bulkDefaultReports = [];
- oldDefaultReports = _.map(oldDefaultReports, 'id');
- newDefaulReports.forEach(function(defaultRep) {
- if (_.includes(oldDefaultReports, defaultRep.id)) {
- bulkDefaultReports.push(models.DefaultReport.update(defaultRep, {
- where: {
- id: defaultRep.id
- }
- }));
- } else {
- bulkDefaultReports.push(models.DefaultReport.create(defaultRep));
- }
- });
- return bulkDefaultReports;
- })
- .all()
- .then(function() {
- return models.ReportField.destroy({
- where: {
- DefaultReportId: {
- $gt: 0
- }
- }
- })
- })
- .then(function() {
- return models.ReportField.bulkCreate([{
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "calleridname",
- "alias": "CallerIdName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerjoinAt",
- "alias": "QueueJoinAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerleaveAt",
- "alias": "QueueLeaveAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerabandon",
- "alias": "QueueAbandon",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerabandonAt",
- "alias": "QueueAbandonAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallercomplete",
- "alias": "Complete",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallercompleteAt",
- "alias": "CompleteAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerexit",
- "alias": "QueueExit",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerexitAt",
- "alias": "QueueExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerexitreason",
- "alias": "QueueExitReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "exten",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "TalkTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 1
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 1
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AbandonTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 1
- }, {
- "field": "uniqueid",
- "alias": "UniqueID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "type",
- "alias": "Type",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "tag",
- "alias": "Tag",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "source",
- "alias": "Source",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "destination",
- "alias": "Destination",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "callerid",
- "alias": "CallerID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "destinationchannel",
- "alias": "DestChannel",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "lastapplication",
- "alias": "LastApp",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "lastdata",
- "alias": "LastData",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "starttime",
- "alias": "StartTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "answertime",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "endtime",
- "alias": "EndTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "disposition",
- "alias": "Disposition",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "uniqueid",
- "alias": "UniqueID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "accountcode",
- "alias": "AgentExtension",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "source",
- "alias": "Source",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "destination",
- "alias": "Destination",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "callerid",
- "alias": "CallerId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "starttime",
- "alias": "StartTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "answertime",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "endtime",
- "alias": "EndTIme",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "billableseconds",
- "alias": "Billsec",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "disposition",
- "alias": "Disposition",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "tag",
- "alias": "Tag",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 4
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 4
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 4
- }, {
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "calleridname",
- "alias": "CallerIdName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentcalledAt",
- "alias": "AgentCalledAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentconnectAt",
- "alias": "AgentConnectAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentcompleteAt",
- "alias": "AgentCompleteAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "holdtime",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "talktime",
- "alias": "TalkTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentacw",
- "alias": "AgentACW",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "acwtime",
- "alias": "AgentACWTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentcomplete",
- "alias": "AgentComplete",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "reason",
- "alias": "HangupReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "lastevent",
- "alias": "LastEvent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "exten",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "agentcomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "agentringnoanswer",
- "alias": "RingNoAnswer",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "talktime",
- "alias": "TotTalkTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "acwtime",
- "alias": "TotACWTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "talktime",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "acwtime",
- "alias": "AvgACWTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "agentcomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "talktime",
- "alias": "Tot TalkTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "talktime",
- "alias": "Avg TalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "holdtime",
- "alias": "Tot HoldTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "holdtime",
- "alias": "Avg HoldTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "acwtime",
- "alias": "Tot ACWTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "acwtime",
- "alias": "Avg ACWTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 8
- }, {
- "field": "agentcomplete",
- "alias": "Tot Answered",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime<10,1,NULL))",
- "alias": "Answered <10s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 5,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))",
- "alias": "Answered 10-20s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 6,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))",
- "alias": "Answered 20-30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 7,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime >=30,1,NULL))",
- "alias": "Answered >30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 8,
- "DefaultReportId": 8
- }, {
- "field": "reason",
- "alias": "Reason",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 9
- }, {
- "field": "uniqueid",
- "alias": "Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 9
- }, {
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerjoinAt",
- "alias": "QueueJoinAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerleaveAt",
- "alias": "QueueLeaveAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerabandon",
- "alias": "QueueAbandon",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerabandonAt",
- "alias": "QueueAbandonAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Abandon Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerexit",
- "alias": "QueueExit",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerexitAt",
- "alias": "QueueExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerexitreason",
- "alias": "QueueExitReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Exit Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 10
- }, {
- "field": "position",
- "alias": "QueuePosition",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "exten",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 11
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Tot AbandonTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 11
- }, {
- "field": "queuecallerexit",
- "alias": "Exited",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Avg ExitedTIme",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Tot ExitedTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 11
- }, {
- "field": "queuecallerexitreason",
- "alias": "Reason",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 12
- }, {
- "field": "queuecallerexit",
- "alias": "Calls",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 12
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Tot ExitTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 12
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 13
- }, {
- "field": "queuecallerabandon",
- "alias": "Tot Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <10,1,NULL))",
- "alias": "Abandoned<10s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 3,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=10 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <60,1,NULL))",
- "alias": "Abandoned 10-60s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 10,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=60 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <120,1,NULL))",
- "alias": "Abandoned 60-120s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 11,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=120,1,NULL))",
- "alias": "Abandoned>120s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 12,
- "DefaultReportId": 13
- }, {
- "field": "DATE(queuecallerjoinat)",
- "alias": "Date",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultMetricId": 13,
- "DefaultReportId": 14
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 14
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 14
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 14
- }, {
- "field": "HOUR(queuecallerjoinat)",
- "alias": "Hour",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultMetricId": 14,
- "DefaultReportId": 15
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 15
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 15
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 15
- }, {
- "field": "DAY(queuecallerjoinat)",
- "alias": "Day",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultMetricId": 15,
- "DefaultReportId": 16
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 16
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 16
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 16
- }, {
- "field": "type",
- "alias": "Type",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "uniqueid",
- "alias": "Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "duration",
- "alias": "Tot Duration",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "duration",
- "alias": "Avg Duration",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "disposition",
- "alias": "Disposition",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "uniqueid",
- "alias": "Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "duration",
- "alias": "Tot Duration",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "duration",
- "alias": "Avg Duration",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": "ASC",
- "DefaultReportId": 19
- }, {
- "field": "data1",
- "alias": "PauseType",
- "function": null,
- "groupBy": 1,
- "orderBy": "ASC",
- "DefaultReportId": 19
- }, {
- "field": "SEC_TO_TIME(SUM(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)))",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 17,
- "DefaultReportId": 19
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": "ASC",
- "DefaultReportId": 20,
- }, {
- "field": "SEC_TO_TIME(SUM(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)))",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 17,
- "DefaultReportId": 20,
- }, {
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "websitename",
- "alias": "Website",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "visitorname",
- "alias": "VisitorName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- }, {
- "field": "visitoremail",
- "alias": "VisitorEmail",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "membername",
- "alias": "MemeberName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "queuename",
- "alias": "QueueName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "joinAt",
- "alias": "JoinAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "leaveAt",
- "alias": "LeaveAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "completeAt",
- "alias": "CompleteAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "complete",
- "alias": "Complete",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "completeReason",
- "alias": "CompleteReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "abandon",
- "alias": "Abandon",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "unmanaged",
- "alias": "Unmanage",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "complete",
- "alias": "Session",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "COUNT(IF(application=\"queue\",1,NULL))",
- "alias": "FromQueue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "createdAt": "2016-05-14 18:13:01",
- "updatedAt": "2016-05-14 18:13:01",
- "DefaultMetricId": 19,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "COUNT(IF(application=\"agent\",1,NULL))",
- "alias": "DirectToAgent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 20,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Tot Session Time",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 23,
- "format": "SEC_TO_TIME"
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Avg Session Time",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 23,
- "format": "SEC_TO_TIME"
- }, {
- "field": "websitename",
- "alias": "WebSite",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "uniqueid",
- "alias": "Sessions",
- "function": "COUNT DISTINCT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "complete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "abandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Session Time",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 21,
- "format": "SEC_TO_TIME"
- }, {
- "field": "ROUND(AVG(UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)))",
- "alias": "Avg Session Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 21,
- "DefaultReportId": 21,
- "format": "SEC_TO_TIME"
- }, {
- "field": "queuename",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "uniqueid",
- "alias": "Sessions",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "complete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "abandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "unmanaged",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Session Time",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 24,
- "format": "SEC_TO_TIME"
- }, {
- "field": "ROUND(AVG(UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)))",
- "alias": "Avg Session Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 21,
- "DefaultReportId": 24,
- "format": "SEC_TO_TIME"
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "interface",
- "alias": "Interface",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "type",
- "alias": "Event",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "data1",
- "alias": "Pause/ACW Queue",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "enterAt",
- "alias": "EnterAt",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "exitAt",
- "alias": "ExitAt",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "SEC_TO_TIME(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt))",
- "alias": "Duration",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 22,
- "DefaultReportId": 25
- }, {
- "field": "project_name",
- "alias": "Project Name",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26
- }, {
- "field": "uniqueid",
- "alias": "UniqueID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "callerid",
- "alias": "CallerID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "dnid",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "joinAt",
- "alias": "Start Time",
- "function": null,
- "groupBy": 0,
- "orderBy": "ASC",
- "DefaultReportId": 26,
- }, {
- "field": "leaveAt",
- "alias": "End Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 23,
- "DefaultReportId": 26,
- "format": "SEC_TO_TIME"
- }, {
- "field": "project_name",
- "alias": "Project Name",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "callerid",
- "alias": "Caller Id",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "uniqueid",
- "alias": "Unique Id",
- "function": null,
- "format": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "node",
- "alias": "Blocks",
- "function": "GROUP_CONCAT",
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- }, {
- "field": "enterAt",
- "alias": "EnterAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- }, {
- "field": "exitAt",
- "alias": "ExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- "format": "SEC_TO_TIME"
- }, {
- "field": "channel",
- "alias": "Channel",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 29,
- }, {
- "field": "data1",
- "alias": "Type",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 29,
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 29,
- "format": "SEC_TO_TIME"
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "enterAt",
- "alias": "EnterAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "exitAt",
- "alias": "ExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "data1",
- "alias": "Pause",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30,
- "format": "SEC_TO_TIME"
- }, {
- "field": "connectedlinename",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "uniqueid",
- "alias": "Recorded Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "rating",
- "alias": "Total Rating",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "rating",
- "alias": "Avg Rating",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "uniqueid",
- "alias": "Recorded Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "rating",
- "alias": "Total Rating",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "rating",
- "alias": "Avg Rating",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33
- }, {
- "field": "queuecallerjoinAt",
- "alias": "StartTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33
- }, {
- "field": "CASE WHEN queuecallercomplete=1 THEN queuecallercompleteAt ELSE queuecallerLeaveAt END",
- "alias": "EndTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33,
- "DefaultMetricId": 24
- }, {
- "field": "CASE WHEN queuecallercomplete=1 THEN \"YES\" ELSE \"NO\" END",
- "alias": "Answered",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33,
- "DefaultMetricId": 25
- }, {
- "field": "agentconnectAt",
- "alias": "Hour",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 34,
- "format": "HOUR"
- }, {
- "field": "agentcomplete",
- "alias": "Tot Answered",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 34,
- }, {
- "field": "COUNT(IF(holdtime<10,1,NULL))",
- "alias": "Answered <10s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 5,
- "DefaultReportId": 34
- }, {
- "field": "COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))",
- "alias": "Answered 10-20s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 6,
- "DefaultReportId": 34
- }, {
- "field": "COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))",
- "alias": "Answered 20-30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 7,
- "DefaultReportId": 34
- }, {
- "field": "COUNT(IF(holdtime >=30,1,NULL))",
- "alias": "Answered >30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 8,
- "DefaultReportId": 34
- }, {
- "field": "accountname",
- "alias": "Account",
- "groupBy": 1,
- "custom": 0,
- "DefaultReportId": 35
- }, {
- "field": "uniqueid",
- "alias": "Received",
- "function": "COUNT DISTINCT",
- "groupBy": 0,
- "custom": 0,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0,1,null)",
- "alias": "Accepted",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "ROUND(SUM(IF(timeout=0,1,null))/COUNT(DISTINCT(uniqueid))*100,1)",
- "alias": "Accept Rate",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0 AND application=\"queue\",1,null)",
- "alias": "Accepted by Queue",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0 AND application=\"fidelity\",1,null)",
- "alias": "Accept by Fidelity",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0 AND application=\"agent\",1,null)",
- "alias": "Accepted by Agent",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "queuename",
- "alias": "Queue",
- "groupBy": 1,
- "custom": 0,
- "DefaultReportId": 36
- }, {
- "field": "uniqueid",
- "alias": "Received",
- "function": "COUNT",
- "groupBy": 0,
- "custom": 0,
- "DefaultReportId": 36
- }, {
- "field": "IF(timeout=0,1,0)",
- "alias": "Accepted",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 36
- }, {
- "field": "timeout",
- "alias": "Timeout",
- "function": "SUM",
- "groupBy": 0,
- "DefaultReportId": 36
- }, {
- "field": "ROUND(SUM(IF(timeout=0,1,null))/COUNT(uniqueid)*100,1)",
- "alias": "Accept Rate",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 36
- }, {
- "field": "ROUND(AVG(IF(timeout=0,UNIX_TIMESTAMP(leaveat)- UNIX_TIMESTAMP(joinat),NULL)))",
- "alias": "Avg Accept Time",
- "groupBy": 0,
- "format": "SEC_TO_TIME",
- "custom": 1,
- "DefaultReportId": 36
- }, {
- "field": "membername",
- "alias": "membername",
- "groupBy": 1,
- "custom": 0,
- "DefaultReportId": 36
- }, {
- "field": "uniqueid",
- "alias": "Tot Accepted",
- "function": "COUNT",
- "groupBy": 0,
- "custom": 0,
- "DefaultReportId": 37
- }, {
- "field": "IF(application=\"fidelity\",1,0)",
- "alias": "Fidelity",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 37
- }, {
- "field": "IF(application=\"agent\",1,0)",
- "alias": "Agent",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 37
- }, {
- "field": "IF(application=\"queue\",1,0)",
- "alias": "Queue",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 37
- }, {
- "field": "createdAt",
- "alias": "Date",
- "groupBy": 1,
- "custom": 0,
- "format": "DATE",
- "DefaultReportId": 38
- }, {
- "field": "IF(status=\"RECEIVED\",1,0)",
- "alias": "Received",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 38
- }, {
- "field": "IF(status=\"SENT\",1,0)",
- "alias": "Sent",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 38
- }, {
- "field": "id",
- "alias": "id",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "account",
- "alias": "account",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "status",
- "alias": "status",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "lastEvent",
- "alias": "lastEvent",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "createdAt",
- "alias": "createdAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "arrivedAt",
- "alias": "arrivedAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "openedAt",
- "alias": "openedAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "closedAt",
- "alias": "closedAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "mailIn",
- "alias": "mailIn",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "mailOut",
- "alias": "mailOut",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "tags",
- "alias": "tags",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "disposition",
- "alias": "disposition",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "ParentId",
- "alias": "ParentId",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "disposition",
- "alias": "disposition",
- "groupBy": 1,
- "DefaultReportId": 40,
- "custom": 0
- }, {
- "field": "count(*)",
- "alias": "interactions",
- "groupBy": 0,
- "DefaultReportId": 40,
- "custom": 1
- }, {
- "field": "closedAt",
- "alias": "closedAt",
- "groupBy": 1,
- "DefaultReportId": 41,
- "format": "DATE",
- "custom": 0
- }, {
- "field": "id",
- "alias": "Interactions",
- "function": "COUNT",
- "groupBy": 0,
- "DefaultReportId": 41,
- "custom": 0
- }, {
- "field": "ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(arrivedAt)))",
- "alias": "Avg Handle Time",
- "groupBy": 0,
- "DefaultReportId": 41,
- "format": "SEC_TO_TIME",
- "custom": 1
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- }).then(function() {
- console.log('Populating Analytics');
- }).catch(function(err) {
- console.log('Error populating Analytics:', err);
- });
-
-models.List.bulkCreate([{
- id: 1,
- name: 'Motion Service',
- defaultEntry: true
-}], {
- ignoreDuplicates: true,
- individualHooks: true
-}).then(function() {
- console.log('Finished populating integrations');
-});
-
-models.VoiceExtension
- .destroy({
- where: {
- context: 'outbound-fax'
- }
- })
- .then(function() {
- models.VoiceExtension.bulkCreate([{
- context: 'outbound-fax',
- exten: '_.',
- priority: 1,
- app: 'NoOp',
- appdata: 'Outgoing fax to ${FAXNUMBER}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 2,
- app: 'NoOp',
- appdata: 'Account ${FAXNAME}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 3,
- app: 'Set',
- appdata: 'CDR(type)=outbound-fax',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 4,
- app: 'Answer',
- appdata: '',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 5,
- app: 'Wait',
- appdata: '2',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 6,
- app: 'Set',
- appdata: 'FAXOPT(ecm)=${FAXECM}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 7,
- app: 'Set',
- appdata: 'FAXOPT(headerinfo)=${FAXHEADERINFO}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 8,
- app: 'Set',
- appdata: 'FAXOPT(localstationid)=${FAXLOCALSTATIONID}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 9,
- app: 'Set',
- appdata: 'FAXOPT(minrate)=${FAXMINRATE}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 10,
- app: 'Set',
- appdata: 'FAXOPT(maxrate)=${FAXMAXRATE}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 11,
- app: 'Set',
- appdata: 'FAXOPT(modem)=${FAXMODEM}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 12,
- app: 'Set',
- appdata: 'FAXOPT(gateway)=${FAXGATEWAY}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 13,
- app: 'Set',
- appdata: 'FAXOPT(t38timeout)=${FAXT38TIMEOUT}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 14,
- app: 'SendFAX',
- appdata: '${FAXOUTFILE},ds',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 15,
- app: 'Hangup',
- appdata: '',
- type: 'system'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- })
- .then(function() {
- console.log('Finished populating VoiceExtension for Outgoing Fax');
- });
-
-models.User
- .findAll({
- include: [{
- model: models.VoiceExtension,
- as: 'UserExtensions',
- where: {
- app: 'Dial'
- }
- }]
- })
- .then(function(users) {
- console.log('Rewriting Users extensions...');
- var bulkUpdates = [];
- _.forEach(users, function(user) {
- _.forEach(user.UserExtensions, function(elem) {
- elem.appdata = 'SIP/' + user.name + ',,tTxX';
- bulkUpdates.push(elem.save());
- // console.log('extension updated');
- });
- });
- return bulkUpdates;
- })
- .all()
- .catch(function(err) {
- console.log(err);
- });
+var _0x4eeb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x75\x73\x65\x72\x73","\x6C\x6F\x67","\x74\x68\x65\x6E","\x6C\x6F\x63\x61\x6C","\x61\x67\x65\x6E\x74","\x47\x69\x75\x73\x65\x70\x70\x65\x20\x43\x61\x72\x65\x72\x69","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x63\x61\x72\x65\x72\x69\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x63\x61\x72\x65\x72\x69","\x37\x35\x78\x63\x61\x6C\x6C\x79\x37\x35","\x64\x79\x6E\x61\x6D\x69\x63","\x46\x52\x49\x45\x4E\x44","\x75\x64\x70","\x61\x6C\x61\x77\x3B\x75\x6C\x61\x77\x3B\x67\x73\x6D","\x79\x65\x73","\x66\x6F\x72\x63\x65\x5F\x72\x70\x6F\x72\x74\x2C\x63\x6F\x6D\x65\x64\x69\x61","\x61\x6C\x6C","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x44\x61\x6E\x69\x65\x6C\x65\x20\x43\x69\x6E\x74\x69","\x64\x61\x6E\x69\x65\x6C\x65\x2E\x63\x69\x6E\x74\x69\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x61\x6E\x69\x65\x6C\x65\x2E\x63\x69\x6E\x74\x69","\x41\x6E\x64\x72\x65\x61\x20\x42\x69\x61\x6E\x63\x6F","\x61\x6E\x64\x72\x65\x61\x2E\x62\x69\x61\x6E\x63\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x6E\x64\x72\x65\x61\x2E\x62\x69\x61\x6E\x63\x6F","\x4D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x20\x42\x75\x6E\x67\x61\x72\x6F","\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x6D\x61\x73\x73\x69\x6D\x69\x6C\x69\x61\x6E\x6F\x2E\x62\x75\x6E\x67\x61\x72\x6F","\x56\x61\x6C\x65\x72\x69\x6F\x20\x43\x69\x6F\x74\x74\x61","\x76\x61\x6C\x65\x72\x69\x6F\x2E\x63\x69\x6F\x74\x74\x61\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x76\x61\x6C\x65\x72\x69\x6F\x2E\x63\x69\x6F\x74\x74\x61","\x61\x64\x6D\x69\x6E","\x43\x6C\x61\x72\x6F\x74\x65\x63\x68","\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x63\x6C\x61\x72\x6F\x74\x65\x63\x68","\x41\x62\x69\x67\x61\x65\x6C","\x61\x62\x69\x67\x61\x65\x6C\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x62\x69\x67\x61\x65\x6C","\x54\x6F\x6E\x79\x20\x52\x75\x73\x73\x65\x6C\x6C","\x74\x6F\x6E\x79\x72\x40\x78\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x2E\x63\x6F\x2E\x7A\x61","\x74\x6F\x6E\x79\x2E\x72\x75\x73\x73\x65\x6C\x6C","\x43\x6F\x6C\x69\x6E\x20\x46\x61\x69\x72","\x63\x6F\x6C\x69\x6E\x66\x40\x78\x63\x6C\x61\x72\x6F\x74\x65\x63\x68\x2E\x63\x6F\x2E\x7A\x61","\x63\x6F\x6C\x69\x6E\x2E\x66\x61\x69\x72","\x44\x69\x65\x67\x6F\x20\x47\x6F\x73\x6D\x61\x72","\x64\x69\x65\x67\x6F\x2E\x67\x6F\x73\x6D\x61\x72\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x69\x65\x67\x6F\x2E\x67\x6F\x73\x6D\x61\x72","\x47\x69\x75\x73\x65\x70\x70\x65\x20\x49\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x69\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x67\x69\x75\x73\x65\x70\x70\x65\x2E\x69\x6E\x6E\x61\x6D\x6F\x72\x61\x74\x6F","\x75\x70\x64","\x41\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x20\x42\x65\x73\x73\x6F\x6E\x65","\x61\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x2E\x62\x65\x73\x73\x6F\x6E\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x61\x6C\x65\x73\x73\x61\x6E\x64\x72\x61\x2E\x62\x65\x73\x73\x6F\x6E\x65","\x46\x65\x6C\x69\x63\x65\x20\x42\x72\x69\x73\x63\x65\x73\x65","\x66\x65\x6C\x69\x63\x65\x2E\x62\x72\x69\x73\x63\x65\x73\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x66\x65\x6C\x69\x63\x65\x2E\x62\x72\x69\x73\x63\x65\x73\x65","\x78\x43\x61\x6C\x6C\x79","\x69\x6E\x66\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x78\x63\x61\x6C\x6C\x79","\x33\x38\x38\x78\x73\x68\x75\x74\x74\x6C\x65\x33\x38\x38","\x4A\x6F\x68\x6E\x20\x44\x6F\x65","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65","\x4A\x61\x6E\x65\x20\x4D\x69\x6C\x6C\x65\x72","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72\x40\x67\x6D\x61\x69\x6C\x2E\x63\x6F\x6D","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x55\x73\x65\x72","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x74\x72\x75\x6E\x6B\x73","\x63\x69\x74\x61\x6C\x69\x61","\x66\x72\x69\x65\x6E\x64","\x70\x6F\x72\x74\x2C\x69\x6E\x76\x69\x74\x65","\x30\x31\x31\x31\x39\x38\x32\x37\x37\x37\x30","\x54\x21\x4E\x50\x6E\x76\x2D\x71\x6A\x43\x4D\x65\x39\x76","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x69\x74","\x76\x6F\x69\x70\x2E\x65\x75\x74\x65\x6C\x69\x61\x2E\x69\x74","\x72\x66\x63\x32\x38\x33\x33","\x20\x22\x22\x20\x3C\x3E","\x75\x6C\x61\x77\x3B\x61\x6C\x61\x77\x3B\x67\x73\x6D","\x6E\x6F","\x54\x72\x75\x6E\x6B","\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44","\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2F\x76\x6F\x69\x63\x65","\x79\x6F\x75\x72\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x59\x4F\x55\x52\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44\x53","\x2F\x74\x6F\x6F\x6C\x73\x2F\x79\x6F\x75\x72\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73\x2F\x73\x68\x6F\x77\x2F\x31","\x73\x74\x61\x66\x66","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x54\x41\x46\x46","\x2F\x73\x74\x61\x66\x66\x2F\x61\x67\x65\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x61\x67\x65\x6E\x74\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x47\x45\x4E\x54\x53","\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x4F\x4E\x54\x41\x43\x54\x5F\x4D\x41\x4E\x41\x47\x45\x52","\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73\x2F\x6C\x69\x73\x74","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x4E\x4E\x45\x4C\x53","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73\x2F\x6C\x69\x73\x74","\x76\x6F\x69\x63\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45","\x63\x68\x61\x74","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x54","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73\x2F\x6C\x69\x73\x74","\x6D\x61\x69\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x41\x49\x4C","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x66\x61\x78","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x46\x41\x58","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x73\x6D\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x4D\x53","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x73\x6D\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x52\x45\x41\x4C\x54\x49\x4D\x45","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x76\x69\x65\x77\x2F\x61\x67\x65\x6E\x74\x73","\x74\x6F\x6F\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x54\x4F\x4F\x4C\x53","\x2F\x74\x6F\x6F\x6C\x73\x2F\x74\x72\x69\x67\x67\x65\x72\x73\x2F\x6C\x69\x73\x74","\x73\x71\x75\x61\x72\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x41\x4C\x4C\x59\x53\x51\x55\x41\x52\x45","\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6C\x69\x73\x74","\x6A\x73\x63\x72\x69\x70\x74\x79","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4A\x53\x43\x52\x49\x50\x54\x59","\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6C\x69\x73\x74","\x6D\x6F\x74\x69\x6F\x6E\x64\x69\x61\x6C\x65\x72","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x4F\x54\x49\x4F\x4E\x5F\x44\x49\x41\x4C\x45\x52","\x2F\x6D\x6F\x74\x69\x6F\x6E\x64\x69\x61\x6C\x65\x72\x2F\x6C\x69\x73\x74\x73\x2F\x6C\x69\x73\x74","\x61\x6E\x61\x6C\x79\x74\x69\x63\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x4E\x41\x4C\x59\x54\x49\x43\x53","\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x6C\x69\x73\x74","\x73\x65\x74\x74\x69\x6E\x67","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x45\x54\x54\x49\x4E\x47\x53","\x2F\x73\x65\x74\x74\x69\x6E\x67\x2F\x75\x70\x64\x61\x74\x65\x73\x2F\x6C\x69\x73\x74","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x49\x4E\x54\x45\x47\x52\x41\x54\x49\x4F\x4E","\x2F\x6D\x61\x72\x6B\x65\x74","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4F\x50\x45\x4E\x5F\x43\x48\x41\x4E\x4E\x45\x4C","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x45\x72\x72\x6F\x72\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73\x3A","\x63\x61\x74\x63\x68","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73","\x69\x64","\x6D\x61\x70","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x75\x70\x64\x61\x74\x65","\x4D\x6F\x64\x75\x6C\x65","\x70\x75\x73\x68","\x63\x72\x65\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x71\x75\x65\x75\x65\x20\x31","\x61\x64\x64\x55\x73\x65\x72\x73","\x54\x31","\x66\x69\x6E\x64\x4F\x6E\x65","\x54\x65\x61\x6D","\x43\x51\x31","\x43\x51\x31\x20\x44\x65\x73\x63","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x71\x75\x65\x75\x65\x20\x31","\x74\x65\x61\x6D\x20\x66\x6F\x75\x6E\x64","\x74\x65\x73\x74","\x4D\x51\x31","\x4D\x51\x31\x20\x44\x65\x73\x63","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x66\x61\x78\x20\x71\x75\x65\x75\x65\x20\x31","\x46\x51\x31","\x46\x51\x31\x20\x44\x65\x73\x63","\x46\x61\x78\x51\x75\x65\x75\x65","\x44\x65\x66\x61\x75\x6C\x74\x20\x54\x65\x61\x6D","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x61\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x73\x65\x72\x76\x65\x72\x20\x69\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x61\x69\x6C\x20\x73\x65\x72\x76\x65\x72\x20\x6F\x75\x74","\x73\x6D\x74\x70\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x70\x68\x6F\x6B\x75\x63\x6C\x6F\x6B\x61","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x69\x6D\x61\x70\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x49\x4E\x42\x4F\x58","\x55\x4E\x53\x45\x45\x4E","\x49\x4D\x41\x50","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x78\x43\x61\x6C\x6C\x79\x20\x44\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x73\x71\x75\x61\x72\x65\x20\x70\x72\x6F\x6A\x65\x63\x74\x73","\x70\x72\x6F\x6A\x65\x63\x74\x31","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x70\x72\x6F\x6A\x65\x63\x74","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x31","\x71\x75\x65\x75\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x74\x20\x77\x65\x62\x73\x69\x74\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x32","\x78\x43\x61\x6C\x6C\x79\x20\x53\x68\x6F\x70","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x23\x66\x35\x31\x31\x31\x31","\x68\x74\x74\x70\x3A\x2F\x2F\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x3A\x39\x30\x30\x30","\x73\x71\x75\x61\x72\x65\x64","\x57\x65\x20\x61\x72\x65\x20\x68\x65\x72\x65\x21","\x51\x75\x65\x73\x74\x69\x6F\x6E\x73\x3F\x20\x49\x6E\x73\x65\x72\x74\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73\x20\x74\x6F\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6C\x69\x76\x65\x2D\x63\x68\x61\x74\x20\x77\x69\x74\x68\x20\x6F\x75\x72\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x74\x65\x61\x6D\x2E","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65","\x59\x6F\x75\x72\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73","\x43\x68\x61\x74","\x43\x6F\x6E\x74\x61\x63\x74\x20\x75\x73","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x57\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x6F\x6E\x6C\x69\x6E\x65\x2E\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x6D\x65\x61\x6E\x20\x77\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x74\x68\x65\x72\x65\x20\x74\x6F\x20\x68\x65\x6C\x70\x20\x2D\x20\x6C\x65\x61\x76\x65\x20\x79\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x62\x65\x6C\x6F\x77\x20\x61\x6E\x64\x20\x77\x65\x27\x6C\x6C\x20\x62\x65\x20\x69\x6E\x20\x74\x6F\x75\x63\x68\x20\x61\x73\x20\x73\x6F\x6F\x6E\x20\x61\x73\x20\x70\x6F\x73\x73\x69\x62\x6C\x65\x2E\x27","\x59\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x4C\x65\x61\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x76\x61\x72\x69\x61\x62\x6C\x65\x31","\x56\x61\x72\x69\x61\x62\x6C\x65","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x44\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x28\x44\x4F\x20\x4E\x4F\x54\x20\x44\x45\x4C\x45\x54\x45\x29","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x68\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x66\x69\x6C\x65\x73","\x76\x61\x72\x2F\x6C\x69\x62\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x6D\x6F\x68","\x61\x6C\x70\x68\x61","\x77\x61\x76","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x53\x65\x74\x74\x69\x6E\x67","\x4D\x6F\x74\x69\x6F\x6E\x20\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x63\x6F\x6C\x2D\x6D\x64\x2D\x34","\x63\x6C\x6F\x63\x6B","\x43\x6C\x6F\x63\x6B","\x68\x68\x3A\x6D\x6D\x3A\x73\x73\x20\x61","\x64\x64\x64\x64\x2C\x20\x4D\x4D\x4D\x4D\x20\x44\x6F\x20\x59\x59\x59\x59","\x63\x6F\x6C\x2D\x6D\x64\x2D\x38","\x69\x66\x72\x61\x6D\x65","\x49\x66\x72\x61\x6D\x65","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x65\x6D\x6F\x2E\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D\x2F\x73\x68\x6F\x70\x2F","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x5A\x65\x6E\x64\x65\x73\x6B","\x31\x2E\x30\x2E\x30","\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x73\x2E\x72\x2E\x6C\x2E","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x7A\x65\x6E\x64\x65\x73\x6B","\x53\x74\x61\x72\x74\x20\x75\x73\x69\x6E\x67\x20\x78\x43\x41\x4C\x4C\x59\x20\x2D\x20\x5A\x65\x6E\x64\x65\x73\x6B\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x20\x41\x75\x74\x6F\x2D\x47\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x54\x69\x63\x6B\x65\x74\x73\x2C\x20\x66\x75\x6C\x6C\x79\x20\x63\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x20\x63\x6F\x6D\x6D\x65\x6E\x74\x73\x2C\x20\x43\x75\x73\x74\x6F\x6D\x20\x46\x69\x65\x6C\x64\x73\x20\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2C\x20\x54\x61\x67\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x61\x6E\x64\x20\x53\x69\x6D\x70\x6C\x65\x20\x53\x65\x74\x75\x70","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x5A\x65\x6E\x64\x65\x73\x6B\x2B\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x32\x2E\x70\x6E\x67","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x53\x74\x61\x72\x74\x20\x75\x73\x69\x6E\x67\x20\x78\x43\x41\x4C\x4C\x59\x20\x2D\x20\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x20\x41\x75\x74\x6F\x2D\x47\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x54\x61\x73\x6B\x73\x2C\x20\x66\x75\x6C\x6C\x79\x20\x63\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x20\x63\x6F\x6D\x6D\x65\x6E\x74\x73\x2C\x20\x43\x75\x73\x74\x6F\x6D\x20\x46\x69\x65\x6C\x64\x73\x20\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x20\x61\x6E\x64\x20\x4F\x70\x65\x6E\x43\x54\x49\x20\x73\x75\x70\x70\x6F\x72\x74","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2B\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x69\x46\x72\x61\x6D\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x69\x66\x72\x61\x6D\x65\x2E\x70\x6E\x67","\x53\x74\x61\x72\x74\x20\x75\x73\x69\x6E\x67\x20\x69\x46\x72\x61\x6D\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x20\x65\x6E\x61\x62\x6C\x65\x20\x79\x6F\x75\x72\x20\x61\x67\x65\x6E\x74\x73\x20\x74\x6F\x20\x76\x69\x65\x77\x20\x65\x78\x74\x65\x72\x6E\x61\x6C\x20\x70\x61\x67\x65\x73\x20\x28\x6C\x69\x6B\x65\x20\x79\x6F\x75\x72\x20\x43\x52\x4D\x29\x20\x64\x69\x72\x65\x63\x74\x6C\x79\x20\x66\x72\x6F\x6D\x20\x4D\x6F\x74\x69\x6F\x6E\x20\x47\x55\x49","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x69\x46\x72\x61\x6D\x65\x2B\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x44\x65\x73\x6B\x2E\x63\x6F\x6D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x44\x65\x73\x6B\x2E\x63\x6F\x6D\x20\x61\x73\x64\x6E\x76\x6C\x73\x64\x62\x6A\x76\x20\x73\x61\x65\x6B\x6C\x62\x76\x71\x77\x6F\x56\x42\x51","\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2E\x70\x6E\x67","\x66\x72\x65\x73\x68\x64\x65\x73\x6B","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x46\x72\x65\x73\x68\x64\x65\x73\x6B","\x53\x75\x67\x61\x72\x43\x52\x4D","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x32\x2E\x70\x6E\x67","\x73\x75\x67\x61\x72\x63\x72\x6D","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x53\x75\x67\x61\x72\x43\x52\x4D","\x45\x72\x72\x6F\x72\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x3A","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x73\x74\x61\x74\x65","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x51\x75\x65\x75\x65\x20\x2D\x20\x44\x65\x74\x61\x69\x6C\x73","\x6A\x34\x5F\x33","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x5D\x7D\x7D","\x44\x65\x74\x61\x69\x6C\x73","\x43\x61\x6C\x6C\x73\x20\x64\x65\x74\x61\x69\x6C\x73\x20\x28\x63\x64\x72\x29","\x6A\x32\x30\x5F\x31","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x4D\x61\x6E\x75\x61\x6C\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x63\x61\x6C\x6C\x73\x20\x64\x65\x74\x61\x69\x6C","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x6A\x34\x5F\x37","\x6A\x34\x5F\x35","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5F\x68\x69\x73\x74\x6F\x72\x79","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x43\x61\x75\x73\x65","\x6A\x34\x5F\x36","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x30\x22\x7D\x5D\x7D\x7D","\x55\x6E\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x45\x78\x69\x74\x20\x43\x61\x75\x73\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x7D\x5D\x7D\x7D","\x41\x62\x61\x6E\x64\x6F\x6E\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x44\x61\x74\x65","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x48\x6F\x75\x72","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x44\x61\x79","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x54\x79\x70\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C\x73\x20\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x63\x61\x6C\x6C\x73\x20\x67\x72\x6F\x75\x70\x65\x64\x20\x62\x79\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x50\x61\x75\x73\x65\x20\x54\x69\x6D\x65","\x6A\x34\x5F\x34","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5F\x68\x69\x73\x74\x6F\x72\x79","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x50\x41\x55\x53\x45\x22\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x76\x6F\x69\x63\x65\x22\x7D\x5D\x7D\x7D","\x4C\x6F\x67\x69\x6E\x20\x54\x69\x6D\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x4C\x4F\x47\x49\x4E\x22\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x76\x6F\x69\x63\x65\x22\x7D\x5D\x7D\x7D","\x57\x65\x62\x73\x69\x74\x65\x20\x53\x75\x6D\x6D\x61\x72\x79","\x6A\x34\x5F\x31","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x53\x65\x73\x73\x69\x6F\x6E\x20\x44\x65\x74\x61\x69\x6C","\x43\x68\x61\x74\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x6F\x6D\x70\x6C\x65\x74\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x7D\x5D\x7D\x7D","\x43\x68\x61\x74\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x71\x75\x65\x75\x65\x22\x7D\x5D\x7D\x7D","\x41\x67\x65\x6E\x74\x73\x20\x73\x74\x61\x74\x75\x73\x20\x64\x65\x74\x61\x69\x6C\x73","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x76\x6F\x69\x63\x65\x22\x7D\x5D\x7D\x7D","\x53\x75\x6D\x6D\x61\x72\x79","\x43\x61\x6C\x6C\x79\x53\x71\x75\x61\x72\x65\x20\x53\x75\x6D\x6D\x61\x72\x79","\x6A\x31\x31\x32\x5F\x31","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x42\x6C\x6F\x63\x6B\x73","\x43\x61\x6C\x6C\x79\x53\x71\x75\x61\x72\x65\x20\x42\x6C\x6F\x63\x6B\x73","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x73\x5F\x68\x69\x73\x74\x6F\x72\x79","\x4C\x6F\x67\x69\x6E\x20\x44\x65\x74\x61\x69\x6C\x73","\x6A\x32\x34\x5F\x31","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x76\x6F\x69\x63\x65\x22\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x4C\x4F\x47\x49\x4E\x22\x7D\x5D\x7D\x7D","\x50\x61\x75\x73\x65\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x43\x68\x61\x6E\x6E\x65\x6C","","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x50\x41\x55\x53\x45\x22\x7D\x5D\x7D\x7D","\x50\x61\x75\x73\x65\x20\x44\x65\x74\x61\x69\x6C\x73","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x76\x6F\x69\x63\x65\x22\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x50\x41\x55\x53\x45\x22\x7D\x5D\x7D\x7D","\x52\x61\x74\x69\x6E\x67\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x6A\x32\x30\x5F\x33","\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x52\x61\x74\x69\x6E\x67\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x49\x53\x20\x4E\x4F\x54\x20\x45\x4D\x50\x54\x59\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x5D\x7D\x7D","\x51\x75\x65\x75\x65\x20\x2D\x20\x43\x61\x6C\x6C\x73","\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x48\x6F\x75\x72","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x65\x6D\x61\x69\x6C\x73\x20\x62\x79\x20\x61\x63\x63\x6F\x75\x6E\x74","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x65\x6D\x61\x69\x6C\x73\x20\x61\x63\x63\x65\x70\x74\x65\x64\x20\x62\x79\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x65\x61\x63\x68\x20\x61\x63\x63\x6F\x75\x6E\x74","\x6A\x34\x5F\x32","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x65\x6D\x61\x69\x6C\x73\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x72\x65\x63\x65\x69\x76\x65\x64\x20\x65\x6D\x61\x69\x6C\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x71\x75\x65\x75\x65\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x41\x63\x63\x65\x70\x74\x65\x64\x20\x65\x6D\x61\x69\x6C\x73\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x61\x63\x63\x65\x70\x74\x65\x64\x20\x65\x6D\x61\x69\x6C\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x69\x6D\x65\x6F\x75\x74\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x30\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x4D\x65\x73\x73\x61\x67\x65\x73\x20\x53\x75\x6D\x6D\x61\x72\x79\x20\x62\x79\x20\x44\x61\x74\x65","\x47\x6C\x6F\x62\x61\x6C\x20\x6D\x65\x73\x73\x61\x67\x65\x73\x20\x73\x75\x6D\x6D\x61\x72\x79\x20\x62\x79\x20\x64\x61\x74\x65","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x61\x75\x74\x6F\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x66\x61\x6C\x73\x65\x7D\x5D\x7D\x7D","\x49\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x64\x65\x74\x61\x69\x6C","\x44\x65\x74\x61\x69\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x61\x62\x6F\x75\x74\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x53\x75\x6D\x6D\x61\x72\x79","\x43\x6C\x6F\x73\x65\x64\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x62\x79\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x28\x66\x69\x6C\x74\x65\x72\x65\x64\x20\x62\x79\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x6E\x6F\x74\x20\x6E\x75\x6C\x6C\x29","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x49\x53\x20\x4E\x4F\x54\x20\x4E\x55\x4C\x4C\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x5D\x7D\x7D","\x43\x6C\x6F\x73\x65\x64\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x62\x79\x20\x64\x61\x74\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x63\x6C\x6F\x73\x65\x64\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x67\x72\x6F\x75\x70\x65\x64\x20\x62\x79\x20\x64\x61\x74\x65\x20\x2B\x20\x61\x76\x65\x72\x61\x67\x65\x20\x68\x61\x6E\x64\x6C\x65\x20\x74\x69\x6D\x65\x20\x28\x66\x72\x6F\x6D\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x65\x6D\x61\x69\x6C\x20\x61\x72\x72\x69\x76\x65\x64\x20\x74\x6F\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x63\x6C\x6F\x73\x65\x64\x29","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x4F\x52\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x73\x74\x61\x74\x75\x73\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x43\x4C\x4F\x53\x45\x44\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x51\x75\x65\x75\x65\x20\x2D\x20\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29","\x51\x75\x65\x75\x65\x20\x2D\x20\x41\x62\x61\x6E\x64\x6F\x6E\x20\x54\x69\x6D\x65","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x3C\x31\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3C\x31\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x77\x69\x74\x68\x69\x6E\x20\x31\x30\x20\x73\x65\x63\x6F\x6E\x64\x73\x20\x28\x53\x68\x6F\x72\x74\x20\x43\x61\x6C\x6C\x73\x29","\x51\x75\x65\x75\x65\x20\x2D\x20\x41\x6E\x73\x77\x65\x72\x54\x69\x6D\x65","\x49\x46\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x2C\x68\x6F\x6C\x64\x74\x69\x6D\x65\x2C\x6E\x75\x6C\x6C\x29","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x3C\x20\x31\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x3C\x31\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x77\x69\x74\x68\x69\x6E\x20\x31\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x31\x30\x2D\x32\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x3E\x3D\x31\x30\x20\x41\x4E\x44\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x3C\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x62\x65\x74\x77\x65\x65\x6E\x20\x31\x30\x20\x61\x6E\x64\x20\x32\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x32\x30\x2D\x33\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x3E\x3D\x32\x30\x20\x41\x4E\x44\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x3C\x33\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x62\x65\x74\x77\x65\x65\x6E\x20\x32\x30\x20\x61\x6E\x64\x20\x33\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x3E\x33\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x3E\x3D\x33\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x6F\x76\x65\x72\x20\x33\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x51\x75\x65\x75\x65\x20\x2D\x20\x45\x78\x69\x74\x20\x54\x69\x6D\x65","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x45\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x31\x30\x2D\x36\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3E\x3D\x31\x30\x20\x41\x4E\x44\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3C\x36\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x62\x65\x74\x77\x65\x65\x6E\x20\x31\x30\x20\x61\x6E\x64\x20\x36\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x36\x30\x2D\x31\x32\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3E\x3D\x36\x30\x20\x41\x4E\x44\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3C\x31\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x62\x65\x74\x77\x65\x65\x6E\x20\x36\x30\x20\x61\x6E\x64\x20\x31\x32\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x51\x75\x65\x75\x65\x20\x2D\x20\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x3E\x31\x32\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3E\x3D\x31\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x6F\x75\x6E\x74\x20\x6F\x66\x20\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x6F\x76\x65\x72\x20\x31\x32\x30\x20\x73\x65\x63\x6F\x6E\x64\x73","\x51\x75\x65\x75\x65\x20\x2D\x20\x4A\x6F\x69\x6E\x44\x61\x74\x65","\x44\x41\x54\x45\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x61\x74\x29","\x45\x78\x74\x72\x61\x63\x74\x20\x74\x68\x65\x20\x64\x61\x74\x65\x20\x6F\x66\x20\x74\x68\x65\x20\x6A\x6F\x69\x6E\x20\x71\x75\x65\x75\x65","\x51\x75\x65\x75\x65\x20\x2D\x20\x4A\x6F\x69\x6E\x48\x6F\x75\x72","\x48\x4F\x55\x52\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x61\x74\x29","\x45\x78\x74\x72\x61\x63\x74\x20\x74\x68\x65\x20\x68\x6F\x75\x72\x20\x6F\x66\x20\x74\x68\x65\x20\x6A\x6F\x69\x6E\x20\x71\x75\x65\x75\x65","\x51\x75\x65\x75\x65\x20\x2D\x20\x4A\x6F\x69\x6E\x44\x61\x79","\x44\x41\x59\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x61\x74\x29","\x45\x78\x74\x72\x61\x63\x74\x20\x74\x68\x65\x20\x64\x61\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x6A\x6F\x69\x6E\x20\x71\x75\x65\x75\x65","\x4D\x65\x6D\x62\x65\x72\x20\x2D\x20\x45\x76\x65\x6E\x74\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29","\x4D\x65\x6D\x62\x65\x72\x20\x65\x76\x65\x6E\x74\x20\x64\x75\x72\x61\x74\x69\x6F\x6E\x20\x69\x6E\x20\x73\x65\x63\x6F\x6E\x64\x73","\x4D\x65\x6D\x62\x65\x72\x20\x2D\x20\x54\x6F\x74\x61\x6C\x20\x45\x76\x65\x6E\x74\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x53\x55\x4D\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x29\x29","\x54\x6F\x74\x61\x6C\x20\x65\x76\x65\x6E\x74\x20\x64\x75\x72\x61\x74\x69\x6F\x6E","\x43\x68\x61\x74\x20\x2D\x20\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x41\x74\x29","\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x43\x68\x61\x74\x20\x2D\x20\x51\x75\x65\x75\x65","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x71\x75\x65\x75\x65\x22\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x68\x61\x74\x20\x71\x75\x65\x75\x65\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x63\x6F\x75\x6E\x74","\x43\x68\x61\x74\x20\x2D\x20\x41\x67\x65\x6E\x74","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x61\x67\x65\x6E\x74\x22\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x43\x68\x61\x74\x20\x61\x67\x65\x6E\x74\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x63\x6F\x75\x6E\x74","\x43\x68\x61\x74\x20\x2D\x20\x41\x76\x67\x20\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x41\x74\x29\x29\x29","\x41\x76\x65\x72\x61\x67\x65\x20\x73\x65\x73\x73\x69\x6F\x6E\x20\x74\x69\x6D\x65","\x4D\x65\x6D\x62\x65\x72\x20\x2D\x20\x45\x76\x65\x6E\x74\x20\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x28\x48\x48\x3A\x6D\x6D\x3A\x73\x73\x29","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x29","\x4D\x65\x6D\x62\x65\x72\x20\x65\x76\x65\x6E\x74\x73\x20\x64\x75\x72\x61\x74\x69\x6F\x6E\x20\x69\x6E\x20\x74\x69\x6D\x65\x20\x66\x6F\x72\x6D\x61\x74","\x53\x71\x75\x61\x72\x65\x20\x2D\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6A\x6F\x69\x6E\x41\x74\x29","\x49\x56\x52\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x51\x75\x65\x75\x65\x20\x2D\x20\x45\x6E\x64\x54\x69\x6D\x65\x20\x43\x61\x6C\x6C","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x54\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x20\x45\x4C\x53\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x4C\x65\x61\x76\x65\x41\x74\x20\x45\x4E\x44","\x51\x75\x65\x75\x65\x20\x2D\x20\x43\x61\x6C\x6C\x73\x20\x52\x65\x73\x75\x6C\x74","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x54\x48\x45\x4E\x20\x22\x59\x45\x53\x22\x20\x45\x4C\x53\x45\x20\x22\x4E\x4F\x22\x20\x45\x4E\x44","\x53\x68\x6F\x77\x20\x69\x66\x20\x61\x20\x63\x61\x6C\x6C\x20\x69\x73\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x6F\x72\x20\x6E\x6F\x74","\x45\x72\x72\x6F\x72\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x41\x6E\x61\x6C\x79\x74\x69\x63\x73\x3A","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x41\x6E\x61\x6C\x79\x74\x69\x63\x73","\x75\x6E\x69\x71\x75\x65\x69\x64","\x55\x6E\x69\x71\x75\x65\x49\x64","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x43\x61\x6C\x6C\x65\x72\x49\x64\x4E\x75\x6D","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x43\x61\x6C\x6C\x65\x72\x49\x64\x4E\x61\x6D\x65","\x51\x75\x65\x75\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74","\x51\x75\x65\x75\x65\x4A\x6F\x69\x6E\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x51\x75\x65\x75\x65\x4C\x65\x61\x76\x65\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x51\x75\x65\x75\x65\x41\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x51\x75\x65\x75\x65\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74","\x51\x75\x65\x75\x65\x45\x78\x69\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x41\x74","\x51\x75\x65\x75\x65\x45\x78\x69\x74\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x72\x65\x61\x73\x6F\x6E","\x51\x75\x65\x75\x65\x45\x78\x69\x74\x52\x65\x61\x73\x6F\x6E","\x65\x78\x74\x65\x6E","\x44\x49\x44","\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x41\x6E\x73\x77\x65\x72\x54\x69\x6D\x65","\x41\x62\x61\x6E\x64\x6F\x6E\x54\x69\x6D\x65","\x55\x6E\x69\x71\x75\x65\x49\x44","\x74\x79\x70\x65","\x54\x79\x70\x65","\x74\x61\x67","\x54\x61\x67","\x73\x6F\x75\x72\x63\x65","\x53\x6F\x75\x72\x63\x65","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x44\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x69\x64","\x43\x61\x6C\x6C\x65\x72\x49\x44","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x44\x65\x73\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x6C\x61\x73\x74\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4C\x61\x73\x74\x41\x70\x70","\x6C\x61\x73\x74\x64\x61\x74\x61","\x4C\x61\x73\x74\x44\x61\x74\x61","\x73\x74\x61\x72\x74\x74\x69\x6D\x65","\x53\x74\x61\x72\x74\x54\x69\x6D\x65","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x65\x6E\x64\x74\x69\x6D\x65","\x45\x6E\x64\x54\x69\x6D\x65","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x44\x75\x72\x61\x74\x69\x6F\x6E","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x41\x67\x65\x6E\x74\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x43\x61\x6C\x6C\x65\x72\x49\x64","\x45\x6E\x64\x54\x49\x6D\x65","\x62\x69\x6C\x6C\x61\x62\x6C\x65\x73\x65\x63\x6F\x6E\x64\x73","\x42\x69\x6C\x6C\x73\x65\x63","\x4F\x66\x66\x65\x72\x65\x64","\x43\x4F\x55\x4E\x54","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x53\x55\x4D","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x41\x76\x67\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x41\x56\x47","\x41\x76\x67\x41\x62\x61\x6E\x64\x6F\x6E\x54\x69\x6D\x65","\x41\x76\x67\x41\x6E\x73\x77\x65\x72\x54\x69\x6D\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x41\x67\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x41\x67\x65\x6E\x74\x43\x61\x6C\x6C\x65\x64\x41\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x41\x67\x65\x6E\x74\x43\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x41\x67\x65\x6E\x74\x43\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x61\x67\x65\x6E\x74\x61\x63\x77","\x41\x67\x65\x6E\x74\x41\x43\x57","\x61\x63\x77\x74\x69\x6D\x65","\x41\x67\x65\x6E\x74\x41\x43\x57\x54\x69\x6D\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x41\x67\x65\x6E\x74\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x72\x65\x61\x73\x6F\x6E","\x48\x61\x6E\x67\x75\x70\x52\x65\x61\x73\x6F\x6E","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x4C\x61\x73\x74\x45\x76\x65\x6E\x74","\x61\x67\x65\x6E\x74\x72\x69\x6E\x67\x6E\x6F\x61\x6E\x73\x77\x65\x72","\x52\x69\x6E\x67\x4E\x6F\x41\x6E\x73\x77\x65\x72","\x54\x6F\x74\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x54\x6F\x74\x41\x43\x57\x54\x69\x6D\x65","\x41\x76\x67\x41\x43\x57\x54\x69\x6D\x65","\x54\x6F\x74\x20\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x41\x76\x67\x20\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x54\x6F\x74\x20\x48\x6F\x6C\x64\x54\x69\x6D\x65","\x41\x76\x67\x20\x48\x6F\x6C\x64\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x43\x57\x54\x69\x6D\x65","\x41\x76\x67\x20\x41\x43\x57\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x6E\x73\x77\x65\x72\x65\x64","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x3C\x31\x30\x73","\x52\x65\x61\x73\x6F\x6E","\x43\x61\x6C\x6C\x73","\x41\x62\x61\x6E\x64\x6F\x6E\x20\x54\x69\x6D\x65","\x45\x78\x69\x74\x20\x54\x69\x6D\x65","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x51\x75\x65\x75\x65\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x54\x6F\x74\x20\x41\x62\x61\x6E\x64\x6F\x6E\x54\x69\x6D\x65","\x45\x78\x69\x74\x65\x64","\x41\x76\x67\x20\x45\x78\x69\x74\x65\x64\x54\x49\x6D\x65","\x54\x6F\x74\x20\x45\x78\x69\x74\x65\x64\x54\x69\x6D\x65","\x54\x6F\x74\x20\x45\x78\x69\x74\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x3C\x31\x30\x73","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x3E\x31\x32\x30\x73","\x44\x61\x74\x65","\x48\x6F\x75\x72","\x44\x61\x79","\x54\x6F\x74\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x41\x76\x67\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x41\x53\x43","\x64\x61\x74\x61\x31","\x50\x61\x75\x73\x65\x54\x79\x70\x65","\x77\x65\x62\x73\x69\x74\x65\x6E\x61\x6D\x65","\x57\x65\x62\x73\x69\x74\x65","\x76\x69\x73\x69\x74\x6F\x72\x6E\x61\x6D\x65","\x56\x69\x73\x69\x74\x6F\x72\x4E\x61\x6D\x65","\x76\x69\x73\x69\x74\x6F\x72\x65\x6D\x61\x69\x6C","\x56\x69\x73\x69\x74\x6F\x72\x45\x6D\x61\x69\x6C","\x4D\x65\x6D\x65\x62\x65\x72\x4E\x61\x6D\x65","\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x51\x75\x65\x75\x65\x4E\x61\x6D\x65","\x6A\x6F\x69\x6E\x41\x74","\x4A\x6F\x69\x6E\x41\x74","\x6C\x65\x61\x76\x65\x41\x74","\x4C\x65\x61\x76\x65\x41\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x52\x65\x61\x73\x6F\x6E","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x52\x65\x61\x73\x6F\x6E","\x61\x62\x61\x6E\x64\x6F\x6E","\x41\x62\x61\x6E\x64\x6F\x6E","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x55\x6E\x6D\x61\x6E\x61\x67\x65","\x53\x65\x73\x73\x69\x6F\x6E","\x46\x72\x6F\x6D\x51\x75\x65\x75\x65","\x32\x30\x31\x36\x2D\x30\x35\x2D\x31\x34\x20\x31\x38\x3A\x31\x33\x3A\x30\x31","\x44\x69\x72\x65\x63\x74\x54\x6F\x41\x67\x65\x6E\x74","\x54\x6F\x74\x20\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45","\x41\x76\x67\x20\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x57\x65\x62\x53\x69\x74\x65","\x53\x65\x73\x73\x69\x6F\x6E\x73","\x43\x4F\x55\x4E\x54\x20\x44\x49\x53\x54\x49\x4E\x43\x54","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x49\x6E\x74\x65\x72\x66\x61\x63\x65","\x45\x76\x65\x6E\x74","\x50\x61\x75\x73\x65\x2F\x41\x43\x57\x20\x51\x75\x65\x75\x65","\x65\x6E\x74\x65\x72\x41\x74","\x45\x6E\x74\x65\x72\x41\x74","\x65\x78\x69\x74\x41\x74","\x45\x78\x69\x74\x41\x74","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x6E\x61\x6D\x65","\x50\x72\x6F\x6A\x65\x63\x74\x20\x4E\x61\x6D\x65","\x64\x6E\x69\x64","\x53\x74\x61\x72\x74\x20\x54\x69\x6D\x65","\x45\x6E\x64\x20\x54\x69\x6D\x65","\x43\x61\x6C\x6C\x65\x72\x20\x49\x64","\x55\x6E\x69\x71\x75\x65\x20\x49\x64","\x6E\x6F\x64\x65","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54","\x63\x68\x61\x6E\x6E\x65\x6C","\x43\x68\x61\x6E\x6E\x65\x6C","\x50\x61\x75\x73\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x61\x6D\x65","\x52\x65\x63\x6F\x72\x64\x65\x64\x20\x43\x61\x6C\x6C\x73","\x72\x61\x74\x69\x6E\x67","\x54\x6F\x74\x61\x6C\x20\x52\x61\x74\x69\x6E\x67","\x41\x76\x67\x20\x52\x61\x74\x69\x6E\x67","\x41\x6E\x73\x77\x65\x72\x65\x64","\x48\x4F\x55\x52","\x61\x63\x63\x6F\x75\x6E\x74\x6E\x61\x6D\x65","\x41\x63\x63\x6F\x75\x6E\x74","\x52\x65\x63\x65\x69\x76\x65\x64","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x65\x64","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x6E\x75\x6C\x6C\x29\x29\x2F\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x28\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x29\x2A\x31\x30\x30\x2C\x31\x29","\x41\x63\x63\x65\x70\x74\x20\x52\x61\x74\x65","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x20\x41\x4E\x44\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x71\x75\x65\x75\x65\x22\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x65\x64\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x20\x41\x4E\x44\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x66\x69\x64\x65\x6C\x69\x74\x79\x22\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x20\x62\x79\x20\x46\x69\x64\x65\x6C\x69\x74\x79","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x20\x41\x4E\x44\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x61\x67\x65\x6E\x74\x22\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x65\x64\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x30\x29","\x74\x69\x6D\x65\x6F\x75\x74","\x54\x69\x6D\x65\x6F\x75\x74","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x6E\x75\x6C\x6C\x29\x29\x2F\x43\x4F\x55\x4E\x54\x28\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x2A\x31\x30\x30\x2C\x31\x29","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x61\x74\x29\x2D\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6A\x6F\x69\x6E\x61\x74\x29\x2C\x4E\x55\x4C\x4C\x29\x29\x29","\x41\x76\x67\x20\x41\x63\x63\x65\x70\x74\x20\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x63\x63\x65\x70\x74\x65\x64","\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x66\x69\x64\x65\x6C\x69\x74\x79\x22\x2C\x31\x2C\x30\x29","\x46\x69\x64\x65\x6C\x69\x74\x79","\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x61\x67\x65\x6E\x74\x22\x2C\x31\x2C\x30\x29","\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x71\x75\x65\x75\x65\x22\x2C\x31\x2C\x30\x29","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x41\x54\x45","\x49\x46\x28\x73\x74\x61\x74\x75\x73\x3D\x22\x52\x45\x43\x45\x49\x56\x45\x44\x22\x2C\x31\x2C\x30\x29","\x49\x46\x28\x73\x74\x61\x74\x75\x73\x3D\x22\x53\x45\x4E\x54\x22\x2C\x31\x2C\x30\x29","\x53\x65\x6E\x74","\x61\x63\x63\x6F\x75\x6E\x74","\x73\x74\x61\x74\x75\x73","\x6C\x61\x73\x74\x45\x76\x65\x6E\x74","\x61\x72\x72\x69\x76\x65\x64\x41\x74","\x6F\x70\x65\x6E\x65\x64\x41\x74","\x63\x6C\x6F\x73\x65\x64\x41\x74","\x6D\x61\x69\x6C\x49\x6E","\x6D\x61\x69\x6C\x4F\x75\x74","\x74\x61\x67\x73","\x50\x61\x72\x65\x6E\x74\x49\x64","\x63\x6F\x75\x6E\x74\x28\x2A\x29","\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73","\x49\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x63\x6C\x6F\x73\x65\x64\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x61\x72\x72\x69\x76\x65\x64\x41\x74\x29\x29\x29","\x41\x76\x67\x20\x48\x61\x6E\x64\x6C\x65\x20\x54\x69\x6D\x65","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x64\x65\x73\x74\x72\x6F\x79","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x75\x73\x74\x6F\x6D\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x42\x61\x73\x69\x63\x20\x4E\x6F\x64\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x6F\x74\x69\x6F\x6E\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x72\x6F\x63\x6B\x65\x74\x22\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x56\x6F\x69\x63\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x33\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x51\x75\x65\x75\x65\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x33\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x33\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x35\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x41\x6E\x73\x77\x65\x72\x65\x64\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x35\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x35\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x34\x5F\x33\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x36\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x55\x6E\x61\x6E\x73\x77\x65\x72\x65\x64\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x36\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x36\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x34\x5F\x33\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x37\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x44\x69\x73\x74\x72\x69\x62\x75\x74\x69\x6F\x6E\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x37\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x37\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x34\x5F\x33\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x61\x6C\x6C\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x34\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x41\x67\x65\x6E\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x34\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x34\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x31\x32\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x61\x6C\x6C\x79\x53\x71\x75\x61\x72\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x31\x32\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x31\x32\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x33\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x33\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x32\x30\x5F\x33\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x68\x61\x74\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x61\x69\x6C\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x34\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x41\x67\x65\x6E\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x32\x34\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x32\x34\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x4D\x6F\x74\x69\x6F\x6E\x20\x53\x65\x72\x76\x69\x63\x65","\x4C\x69\x73\x74","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x66\x6F\x72\x20\x4F\x75\x74\x67\x6F\x69\x6E\x67\x20\x46\x61\x78","\x5F\x2E","\x4E\x6F\x4F\x70","\x4F\x75\x74\x67\x6F\x69\x6E\x67\x20\x66\x61\x78\x20\x74\x6F\x20\x24\x7B\x46\x41\x58\x4E\x55\x4D\x42\x45\x52\x7D","\x73\x79\x73\x74\x65\x6D","\x41\x63\x63\x6F\x75\x6E\x74\x20\x24\x7B\x46\x41\x58\x4E\x41\x4D\x45\x7D","\x53\x65\x74","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x41\x6E\x73\x77\x65\x72","\x57\x61\x69\x74","\x32","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3D\x24\x7B\x46\x41\x58\x45\x43\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3D\x24\x7B\x46\x41\x58\x48\x45\x41\x44\x45\x52\x49\x4E\x46\x4F\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3D\x24\x7B\x46\x41\x58\x4C\x4F\x43\x41\x4C\x53\x54\x41\x54\x49\x4F\x4E\x49\x44\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3D\x24\x7B\x46\x41\x58\x4D\x49\x4E\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3D\x24\x7B\x46\x41\x58\x4D\x41\x58\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x6F\x64\x65\x6D\x29\x3D\x24\x7B\x46\x41\x58\x4D\x4F\x44\x45\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x67\x61\x74\x65\x77\x61\x79\x29\x3D\x24\x7B\x46\x41\x58\x47\x41\x54\x45\x57\x41\x59\x7D","\x46\x41\x58\x4F\x50\x54\x28\x74\x33\x38\x74\x69\x6D\x65\x6F\x75\x74\x29\x3D\x24\x7B\x46\x41\x58\x54\x33\x38\x54\x49\x4D\x45\x4F\x55\x54\x7D","\x53\x65\x6E\x64\x46\x41\x58","\x24\x7B\x46\x41\x58\x4F\x55\x54\x46\x49\x4C\x45\x7D\x2C\x64\x73","\x48\x61\x6E\x67\x75\x70","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x52\x65\x77\x72\x69\x74\x69\x6E\x67\x20\x55\x73\x65\x72\x73\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73\x2E\x2E\x2E","\x61\x70\x70\x64\x61\x74\x61","\x53\x49\x50\x2F","\x6E\x61\x6D\x65","\x2C\x2C\x74\x54\x78\x58","\x73\x61\x76\x65","\x55\x73\x65\x72\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x44\x69\x61\x6C"];_0x4eeb[0];var _=require(_0x4eeb[1]);var models=require(_0x4eeb[2]);var sequelize=require(_0x4eeb[2])[_0x4eeb[3]];models[_0x4eeb[70]][_0x4eeb[69]]([{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[9],email:_0x4eeb[10],name:_0x4eeb[11],password:_0x4eeb[12],defaultuser:_0x4eeb[11],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1000},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[21],email:_0x4eeb[22],name:_0x4eeb[23],password:_0x4eeb[12],defaultuser:_0x4eeb[23],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1001},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[24],email:_0x4eeb[25],name:_0x4eeb[26],password:_0x4eeb[12],defaultuser:_0x4eeb[26],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1002},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[27],email:_0x4eeb[28],name:_0x4eeb[29],password:_0x4eeb[12],defaultuser:_0x4eeb[29],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1003},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[30],email:_0x4eeb[31],name:_0x4eeb[32],password:_0x4eeb[12],defaultuser:_0x4eeb[32],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1004},{provider:_0x4eeb[7],role:_0x4eeb[33],fullname:_0x4eeb[34],email:_0x4eeb[35],name:_0x4eeb[36],password:_0x4eeb[36],defaultuser:_0x4eeb[36],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1005},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[37],email:_0x4eeb[38],name:_0x4eeb[39],password:_0x4eeb[12],defaultuser:_0x4eeb[39],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1006},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[40],email:_0x4eeb[41],name:_0x4eeb[42],password:_0x4eeb[36],defaultuser:_0x4eeb[42],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1007},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[43],email:_0x4eeb[44],name:_0x4eeb[45],password:_0x4eeb[36],defaultuser:_0x4eeb[45],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1008},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[46],email:_0x4eeb[47],name:_0x4eeb[48],password:_0x4eeb[12],defaultuser:_0x4eeb[48],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1009},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[49],email:_0x4eeb[50],name:_0x4eeb[51],password:_0x4eeb[12],defaultuser:_0x4eeb[51],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[52],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1010},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[53],email:_0x4eeb[54],name:_0x4eeb[55],password:_0x4eeb[12],defaultuser:_0x4eeb[55],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[52],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1011},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[56],email:_0x4eeb[57],name:_0x4eeb[58],password:_0x4eeb[12],defaultuser:_0x4eeb[58],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[52],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1012},{provider:_0x4eeb[7],role:_0x4eeb[33],fullname:_0x4eeb[59],email:_0x4eeb[60],name:_0x4eeb[61],password:_0x4eeb[62],defaultuser:_0x4eeb[61],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1013},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[63],email:_0x4eeb[64],name:_0x4eeb[65],password:_0x4eeb[12],defaultuser:_0x4eeb[65],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1014},{provider:_0x4eeb[7],role:_0x4eeb[8],fullname:_0x4eeb[66],email:_0x4eeb[67],name:_0x4eeb[68],password:_0x4eeb[12],defaultuser:_0x4eeb[68],host:_0x4eeb[13],type:_0x4eeb[14],transport:_0x4eeb[15],allow:_0x4eeb[16],qualify:_0x4eeb[17],nat:_0x4eeb[18],disallow:_0x4eeb[19],context:_0x4eeb[20],internal:1015}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[4])});models[_0x4eeb[84]][_0x4eeb[69]]([{name:_0x4eeb[72],type:_0x4eeb[73],insecure:_0x4eeb[74],defaultuser:_0x4eeb[75],secret:_0x4eeb[76],password:_0x4eeb[76],context:_0x4eeb[77],language:_0x4eeb[78],host:_0x4eeb[79],fromdomain:_0x4eeb[79],dtmfmode:_0x4eeb[80],qualify:_0x4eeb[17],nat:_0x4eeb[18],callerid:_0x4eeb[81],limitonpeers:_0x4eeb[17],callcounter:_0x4eeb[17],disallow:_0x4eeb[19],allow:_0x4eeb[82],canreinvite:_0x4eeb[83],directmedia:_0x4eeb[83]}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[71])});var newModules=[{id:1,name:_0x4eeb[85],title:_0x4eeb[86],ModuleId:null,path:_0x4eeb[87]},{id:2,name:_0x4eeb[88],title:_0x4eeb[89],ModuleId:null,path:_0x4eeb[90]},{id:3,name:_0x4eeb[91],title:_0x4eeb[92],ModuleId:null,path:_0x4eeb[93]},{id:4,name:_0x4eeb[94],title:_0x4eeb[95],ModuleId:3,path:_0x4eeb[93]},{id:5,name:_0x4eeb[96],title:_0x4eeb[97],ModuleId:null,path:_0x4eeb[98]},{id:6,name:_0x4eeb[99],title:_0x4eeb[100],ModuleId:null,path:_0x4eeb[101]},{id:7,name:_0x4eeb[102],title:_0x4eeb[103],ModuleId:6,path:_0x4eeb[101]},{id:8,name:_0x4eeb[104],title:_0x4eeb[105],ModuleId:6,path:_0x4eeb[106]},{id:9,name:_0x4eeb[107],title:_0x4eeb[108],ModuleId:6,path:_0x4eeb[109]},{id:10,name:_0x4eeb[110],title:_0x4eeb[111],ModuleId:6,path:_0x4eeb[112]},{id:11,name:_0x4eeb[113],title:_0x4eeb[114],ModuleId:6,path:_0x4eeb[115]},{id:12,name:_0x4eeb[116],title:_0x4eeb[117],ModuleId:6,path:_0x4eeb[118]},{id:13,name:_0x4eeb[119],title:_0x4eeb[120],ModuleId:null,path:_0x4eeb[121]},{id:14,name:_0x4eeb[122],title:_0x4eeb[123],ModuleId:null,path:_0x4eeb[124]},{id:15,name:_0x4eeb[125],title:_0x4eeb[126],ModuleId:null,path:_0x4eeb[127]},{id:16,name:_0x4eeb[128],title:_0x4eeb[129],ModuleId:null,path:_0x4eeb[130]},{id:17,name:_0x4eeb[131],title:_0x4eeb[132],ModuleId:null,path:_0x4eeb[133]},{id:18,name:_0x4eeb[134],title:_0x4eeb[135],ModuleId:null,path:_0x4eeb[136]},{id:19,name:_0x4eeb[137],title:_0x4eeb[138],ModuleId:null,path:_0x4eeb[139]},{id:20,name:_0x4eeb[140],title:_0x4eeb[141],ModuleId:6,path:_0x4eeb[142]}];models[_0x4eeb[150]][_0x4eeb[154]]()[_0x4eeb[6]](function(_0x5022x6){var _0x5022x7=[];_0x5022x6= _[_0x4eeb[147]](_0x5022x6,_0x4eeb[146]);newModules[_0x4eeb[153]](function(_0x5022x8){if(_[_0x4eeb[148]](_0x5022x6,_0x5022x8[_0x4eeb[146]])){_0x5022x7[_0x4eeb[151]](models[_0x4eeb[150]][_0x4eeb[149]](_0x5022x8,{where:{id:_0x5022x8[_0x4eeb[146]]}}))}else {_0x5022x7[_0x4eeb[151]](models[_0x4eeb[150]][_0x4eeb[152]](_0x5022x8))}});return _0x5022x7})[_0x4eeb[19]]()[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[145])})[_0x4eeb[144]](function(_0x5022x5){console[_0x4eeb[5]](_0x4eeb[143],_0x5022x5)});models[_0x4eeb[159]][_0x4eeb[152]]({name:_0x4eeb[157],description:_0x4eeb[174],defaultEntry:true})[_0x4eeb[6]](function(_0x5022x9){models[_0x4eeb[70]][_0x4eeb[154]]({where:{role:_0x4eeb[8]}})[_0x4eeb[6]](function(_0x5022xa){_0x5022x9[_0x4eeb[156]](_[_0x4eeb[147]](_0x5022xa,_0x4eeb[146]))[_0x4eeb[6]](function(){models[_0x4eeb[163]][_0x4eeb[152]]({name:_0x4eeb[160],description:_0x4eeb[161],timeout:5,strategy:_0x4eeb[162]})[_0x4eeb[6]](function(_0x5022xb){console[_0x4eeb[5]](_0x4eeb[155]);models[_0x4eeb[159]][_0x4eeb[158]]({where:{name:_0x4eeb[157]},include:[{all:true}]})[_0x4eeb[6]](function(_0x5022x9){_0x5022xb[_0x4eeb[156]](_[_0x4eeb[147]](_0x5022x9.Users,_0x4eeb[146]))[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){})});models[_0x4eeb[169]][_0x4eeb[152]]({name:_0x4eeb[167],description:_0x4eeb[168],timeout:5,strategy:_0x4eeb[162]})[_0x4eeb[6]](function(_0x5022xc){console[_0x4eeb[5]](_0x4eeb[164]);models[_0x4eeb[159]][_0x4eeb[158]]({where:{name:_0x4eeb[157]},include:[{all:true}]})[_0x4eeb[6]](function(_0x5022x9){if(_0x5022x9){console[_0x4eeb[5]](_0x4eeb[165])}else {console[_0x4eeb[5]](_0x4eeb[166])};_0x5022xc[_0x4eeb[156]](_[_0x4eeb[147]](_0x5022x9.Users,_0x4eeb[146]))[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){})});models[_0x4eeb[173]][_0x4eeb[152]]({name:_0x4eeb[171],description:_0x4eeb[172],timeout:5,strategy:_0x4eeb[162]})[_0x4eeb[6]](function(_0x5022xd){console[_0x4eeb[5]](_0x4eeb[170]);models[_0x4eeb[159]][_0x4eeb[158]]({where:{name:_0x4eeb[157]},include:[{all:true}]})[_0x4eeb[6]](function(_0x5022x9){_0x5022xd[_0x4eeb[156]](_[_0x4eeb[147]](_0x5022x9.Users,_0x4eeb[146]))[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){})})})[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){});models[_0x4eeb[188]][_0x4eeb[152]]({name:_0x4eeb[187],description:_0x4eeb[187],address:_0x4eeb[179]})[_0x4eeb[6]](function(_0x5022xe){console[_0x4eeb[5]](_0x4eeb[175]);models[_0x4eeb[186]][_0x4eeb[152]]({description:_0x4eeb[61],host:_0x4eeb[182],username:_0x4eeb[179],password:_0x4eeb[180],port:143,mailbox:_0x4eeb[183],ssl:false,delete:false,filter:_0x4eeb[184],protocol:_0x4eeb[185],MailAccountId:_0x5022xe[_0x4eeb[146]]})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[176]);models[_0x4eeb[181]][_0x4eeb[152]]({description:_0x4eeb[61],host:_0x4eeb[178],username:_0x4eeb[179],password:_0x4eeb[180],port:587,ssl:false,MailAccountId:_0x5022xe[_0x4eeb[146]]})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[177])})[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){})});models[_0x4eeb[192]][_0x4eeb[69]]([{name:_0x4eeb[190],description:_0x4eeb[191]}],{ignoreDuplicates:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[189])});models[_0x4eeb[212]][_0x4eeb[152]]({name:_0x4eeb[198],description:_0x4eeb[198],address:_0x4eeb[199],color:_0x4eeb[200],color_focus:_0x4eeb[200],color_button:_0x4eeb[200],remote:_0x4eeb[201],animation:true,header_shape:_0x4eeb[202],header_online:_0x4eeb[203],online_message:_0x4eeb[204],username_placeholder:_0x4eeb[205],email_placeholder:_0x4eeb[206],start_chat_button:_0x4eeb[207],header_offline:_0x4eeb[208],offline_message:_0x4eeb[209],enquiry_message_placeholder:_0x4eeb[210],enquiry_button:_0x4eeb[211],download_transcript:true})[_0x4eeb[6]](function(_0x5022xf){console[_0x4eeb[5]](_0x4eeb[193]);models[_0x4eeb[163]][_0x4eeb[154]]()[_0x4eeb[6]](function(_0x5022x10){models[_0x4eeb[196]][_0x4eeb[152]]({app:_0x4eeb[195],appdata:_0x5022x10[0][_0x4eeb[146]],priority:1,timeout:30,ChatWebsiteId:_0x5022xf[_0x4eeb[146]],ChatQueueId:_0x5022x10[0][_0x4eeb[146]]})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[194])})[_0x4eeb[144]](function(_0x5022x5){});models[_0x4eeb[196]][_0x4eeb[152]]({app:_0x4eeb[195],appdata:_0x5022x10[1][_0x4eeb[146]],priority:2,timeout:30,ChatWebsiteId:_0x5022xf[_0x4eeb[146]],ChatQueueId:_0x5022x10[1][_0x4eeb[146]]})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[197])})[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){})})[_0x4eeb[144]](function(_0x5022x5){});models[_0x4eeb[215]][_0x4eeb[69]]([{name:_0x4eeb[214],description:_0x4eeb[191]}],{ignoreDuplicates:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[213])});models[_0x4eeb[221]][_0x4eeb[69]]([{name:_0x4eeb[20],description:_0x4eeb[217],defaultEntry:true},{name:_0x4eeb[77],description:_0x4eeb[217],defaultEntry:true},{name:_0x4eeb[218],description:_0x4eeb[217],defaultEntry:true},{name:_0x4eeb[219],description:_0x4eeb[217],defaultEntry:true},{name:_0x4eeb[220],description:_0x4eeb[217],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[216])});models[_0x4eeb[228]][_0x4eeb[69]]([{name:_0x4eeb[223],mode:_0x4eeb[224],directory:_0x4eeb[225],sort:_0x4eeb[226],format:_0x4eeb[227],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[222])});models[_0x4eeb[230]][_0x4eeb[69]]([{id:1,min_internal:1000,soundPath:_0x4eeb[229]}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[222])});models[_0x4eeb[242]][_0x4eeb[69]]([{id:1,name:_0x4eeb[231],model:JSON[_0x4eeb[241]]({title:_0x4eeb[231],rows:[{columns:[{styleClass:_0x4eeb[232],widgets:[{type:_0x4eeb[233],title:_0x4eeb[234],config:{timePattern:_0x4eeb[235],datePattern:_0x4eeb[236]}}]},{styleClass:_0x4eeb[237],widgets:[{type:_0x4eeb[238],title:_0x4eeb[239],config:{url:_0x4eeb[240]}}]}]}]}),defaultEntry:true,editable:false}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[222])});var newIntegrations=[{name:_0x4eeb[243],version:_0x4eeb[244],author:_0x4eeb[245],logo:_0x4eeb[246],state:_0x4eeb[247],description:_0x4eeb[248],link:_0x4eeb[249]},{name:_0x4eeb[250],version:_0x4eeb[244],author:_0x4eeb[245],logo:_0x4eeb[251],state:_0x4eeb[252],description:_0x4eeb[253],link:_0x4eeb[254]},{name:_0x4eeb[255],version:_0x4eeb[244],author:_0x4eeb[245],logo:_0x4eeb[256],state:_0x4eeb[238],description:_0x4eeb[257],link:_0x4eeb[258]},{name:_0x4eeb[259],version:_0x4eeb[244],author:_0x4eeb[245],logo:_0x4eeb[260],state:_0x4eeb[261],description:_0x4eeb[262]},{name:_0x4eeb[263],version:_0x4eeb[244],author:_0x4eeb[245],logo:_0x4eeb[264],state:_0x4eeb[265],description:_0x4eeb[266]},{name:_0x4eeb[267],version:_0x4eeb[244],author:_0x4eeb[245],logo:_0x4eeb[268],state:_0x4eeb[269],description:_0x4eeb[270]}];models[_0x4eeb[274]][_0x4eeb[154]]()[_0x4eeb[6]](function(_0x5022x12){var _0x5022x13=[];_0x5022x12= _[_0x4eeb[147]](_0x5022x12,_0x4eeb[273]);newIntegrations[_0x4eeb[153]](function(_0x5022x14){if(_[_0x4eeb[148]](_0x5022x12,_0x5022x14[_0x4eeb[273]])){_0x5022x13[_0x4eeb[151]](models[_0x4eeb[274]][_0x4eeb[149]](_0x5022x14,{where:{state:_0x5022x14[_0x4eeb[273]]}}))}else {_0x5022x13[_0x4eeb[151]](models[_0x4eeb[274]][_0x4eeb[152]](_0x5022x14))}});return _0x5022x13})[_0x4eeb[19]]()[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[272])})[_0x4eeb[144]](function(_0x5022x5){console[_0x4eeb[5]](_0x4eeb[271],_0x5022x5)});var newDefaulReports=[{"\x69\x64":1,"\x6E\x61\x6D\x65":_0x4eeb[275],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[276],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":2,"\x6E\x61\x6D\x65":_0x4eeb[279],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[280],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[281],"\x74\x61\x62\x6C\x65":_0x4eeb[282],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":3,"\x6E\x61\x6D\x65":_0x4eeb[283],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[284],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[281],"\x74\x61\x62\x6C\x65":_0x4eeb[282],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[285]},{"\x69\x64":4,"\x6E\x61\x6D\x65":_0x4eeb[286],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[287],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":5,"\x6E\x61\x6D\x65":_0x4eeb[279],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[288],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[290]},{"\x69\x64":6,"\x6E\x61\x6D\x65":_0x4eeb[291],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[288],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":7,"\x6E\x61\x6D\x65":_0x4eeb[286],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[288],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[290]},{"\x69\x64":8,"\x6E\x61\x6D\x65":_0x4eeb[292],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[288],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[290]},{"\x69\x64":9,"\x6E\x61\x6D\x65":_0x4eeb[293],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[288],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[290]},{"\x69\x64":10,"\x6E\x61\x6D\x65":_0x4eeb[279],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[294],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[295]},{"\x69\x64":11,"\x6E\x61\x6D\x65":_0x4eeb[296],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[294],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[295]},{"\x69\x64":12,"\x6E\x61\x6D\x65":_0x4eeb[297],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[294],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[298]},{"\x69\x64":13,"\x6E\x61\x6D\x65":_0x4eeb[299],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[294],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[300]},{"\x69\x64":14,"\x6E\x61\x6D\x65":_0x4eeb[301],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[287],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":15,"\x6E\x61\x6D\x65":_0x4eeb[302],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[287],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":16,"\x6E\x61\x6D\x65":_0x4eeb[303],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[287],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":17,"\x6E\x61\x6D\x65":_0x4eeb[304],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[281],"\x74\x61\x62\x6C\x65":_0x4eeb[282],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":18,"\x6E\x61\x6D\x65":_0x4eeb[305],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[306],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[281],"\x74\x61\x62\x6C\x65":_0x4eeb[282],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[285]},{"\x69\x64":19,"\x6E\x61\x6D\x65":_0x4eeb[307],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[308],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[310]},{"\x69\x64":20,"\x6E\x61\x6D\x65":_0x4eeb[311],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[308],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[312]},{"\x69\x64":21,"\x6E\x61\x6D\x65":_0x4eeb[313],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[314],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":22,"\x6E\x61\x6D\x65":_0x4eeb[316],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[314],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":23,"\x6E\x61\x6D\x65":_0x4eeb[317],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[314],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[318]},{"\x69\x64":24,"\x6E\x61\x6D\x65":_0x4eeb[319],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[314],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[320]},{"\x69\x64":25,"\x6E\x61\x6D\x65":_0x4eeb[279],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[321],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[308],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[322]},{"\x69\x64":26,"\x6E\x61\x6D\x65":_0x4eeb[323],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[324],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[325],"\x74\x61\x62\x6C\x65":_0x4eeb[326],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":27,"\x6E\x61\x6D\x65":_0x4eeb[327],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[328],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[325],"\x74\x61\x62\x6C\x65":_0x4eeb[329],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":28,"\x6E\x61\x6D\x65":_0x4eeb[330],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[321],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[331],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[332]},{"\x69\x64":29,"\x6E\x61\x6D\x65":_0x4eeb[333],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[334],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[331],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[335]},{"\x69\x64":30,"\x6E\x61\x6D\x65":_0x4eeb[336],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[321],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[308],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[337]},{"\x69\x64":31,"\x6E\x61\x6D\x65":_0x4eeb[338],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[339],"\x74\x61\x62\x6C\x65":_0x4eeb[340],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":32,"\x6E\x61\x6D\x65":_0x4eeb[341],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[339],"\x74\x61\x62\x6C\x65":_0x4eeb[340],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[342]},{"\x69\x64":33,"\x6E\x61\x6D\x65":_0x4eeb[343],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[276],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":34,"\x6E\x61\x6D\x65":_0x4eeb[344],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0x4eeb[288],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[290]},{"\x69\x64":35,"\x6E\x61\x6D\x65":_0x4eeb[345],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[346],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[348],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":36,"\x6E\x61\x6D\x65":_0x4eeb[349],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[350],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[348],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[351]},{"\x69\x64":37,"\x6E\x61\x6D\x65":_0x4eeb[352],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[353],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[348],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[354]},{"\x69\x64":38,"\x6E\x61\x6D\x65":_0x4eeb[355],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[356],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[357],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[358]},{"\x69\x64":39,"\x6E\x61\x6D\x65":_0x4eeb[359],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[360],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[361],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[278]},{"\x69\x64":40,"\x6E\x61\x6D\x65":_0x4eeb[362],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[363],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[361],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[364]},{"\x69\x64":41,"\x6E\x61\x6D\x65":_0x4eeb[365],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[366],"\x70\x61\x72\x65\x6E\x74":_0x4eeb[347],"\x74\x61\x62\x6C\x65":_0x4eeb[361],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0x4eeb[367]}];var newDefaultMetrics=[{"\x69\x64":1,"\x6E\x61\x6D\x65":_0x4eeb[368],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[369]},{"\x69\x64":2,"\x6E\x61\x6D\x65":_0x4eeb[370],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[371]},{"\x69\x64":3,"\x6E\x61\x6D\x65":_0x4eeb[372],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[373],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[374]},{"\x69\x64":4,"\x6E\x61\x6D\x65":_0x4eeb[375],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[376]},{"\x69\x64":5,"\x6E\x61\x6D\x65":_0x4eeb[377],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[378],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[379]},{"\x69\x64":6,"\x6E\x61\x6D\x65":_0x4eeb[380],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[381],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[382]},{"\x69\x64":7,"\x6E\x61\x6D\x65":_0x4eeb[383],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[384],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[385]},{"\x69\x64":8,"\x6E\x61\x6D\x65":_0x4eeb[386],"\x74\x61\x62\x6C\x65":_0x4eeb[289],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[387],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[388]},{"\x69\x64":9,"\x6E\x61\x6D\x65":_0x4eeb[389],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[390]},{"\x69\x64":10,"\x6E\x61\x6D\x65":_0x4eeb[391],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[392],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[393]},{"\x69\x64":11,"\x6E\x61\x6D\x65":_0x4eeb[394],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[395],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[396]},{"\x69\x64":12,"\x6E\x61\x6D\x65":_0x4eeb[397],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[398],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[399]},{"\x69\x64":13,"\x6E\x61\x6D\x65":_0x4eeb[400],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[401],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[402]},{"\x69\x64":14,"\x6E\x61\x6D\x65":_0x4eeb[403],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[404],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[405]},{"\x69\x64":15,"\x6E\x61\x6D\x65":_0x4eeb[406],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[407],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[408]},{"\x69\x64":16,"\x6E\x61\x6D\x65":_0x4eeb[409],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[410],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[411]},{"\x69\x64":17,"\x6E\x61\x6D\x65":_0x4eeb[412],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[413],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[414]},{"\x69\x64":18,"\x6E\x61\x6D\x65":_0x4eeb[415],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[416],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[417]},{"\x69\x64":19,"\x6E\x61\x6D\x65":_0x4eeb[418],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[419],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[420]},{"\x69\x64":20,"\x6E\x61\x6D\x65":_0x4eeb[421],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[422],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[423]},{"\x69\x64":21,"\x6E\x61\x6D\x65":_0x4eeb[424],"\x74\x61\x62\x6C\x65":_0x4eeb[315],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[425],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[426]},{"\x69\x64":22,"\x6E\x61\x6D\x65":_0x4eeb[427],"\x74\x61\x62\x6C\x65":_0x4eeb[309],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[428],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[429]},{"\x69\x64":23,"\x6E\x61\x6D\x65":_0x4eeb[430],"\x74\x61\x62\x6C\x65":_0x4eeb[326],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[431],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[432]},{"\x69\x64":24,"\x6E\x61\x6D\x65":_0x4eeb[433],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[434],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null},{"\x69\x64":25,"\x6E\x61\x6D\x65":_0x4eeb[435],"\x74\x61\x62\x6C\x65":_0x4eeb[277],"\x6D\x65\x74\x72\x69\x63":_0x4eeb[436],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x4eeb[437]}];models[_0x4eeb[675]][_0x4eeb[670]]({where:{id:1}})[_0x4eeb[6]](function(){return models[_0x4eeb[675]][_0x4eeb[152]]({id:1,tree:_0x4eeb[676]})})[_0x4eeb[6]](function(){return models[_0x4eeb[675]][_0x4eeb[674]]({where:{id:2},defaults:{id:2,tree:_0x4eeb[673]}})})[_0x4eeb[6]](function(){return models[_0x4eeb[672]][_0x4eeb[154]]()})[_0x4eeb[6]](function(_0x5022x1a){var _0x5022x1b=[];_0x5022x1a= _[_0x4eeb[147]](_0x5022x1a,_0x4eeb[146]);newDefaultMetrics[_0x4eeb[153]](function(_0x5022x1c){if(_[_0x4eeb[148]](_0x5022x1a,_0x5022x1c[_0x4eeb[146]])){_0x5022x1b[_0x4eeb[151]](models[_0x4eeb[672]][_0x4eeb[149]](_0x5022x1c,{where:{id:_0x5022x1c[_0x4eeb[146]]}}))}else {_0x5022x1b[_0x4eeb[151]](models[_0x4eeb[672]][_0x4eeb[152]](_0x5022x1c))}});return _0x5022x1b})[_0x4eeb[19]]()[_0x4eeb[6]](function(){return models[_0x4eeb[671]][_0x4eeb[154]]()})[_0x4eeb[6]](function(_0x5022x17){var _0x5022x18=[];_0x5022x17= _[_0x4eeb[147]](_0x5022x17,_0x4eeb[146]);newDefaulReports[_0x4eeb[153]](function(_0x5022x19){if(_[_0x4eeb[148]](_0x5022x17,_0x5022x19[_0x4eeb[146]])){_0x5022x18[_0x4eeb[151]](models[_0x4eeb[671]][_0x4eeb[149]](_0x5022x19,{where:{id:_0x5022x19[_0x4eeb[146]]}}))}else {_0x5022x18[_0x4eeb[151]](models[_0x4eeb[671]][_0x4eeb[152]](_0x5022x19))}});return _0x5022x18})[_0x4eeb[19]]()[_0x4eeb[6]](function(){return models[_0x4eeb[669]][_0x4eeb[670]]({where:{DefaultReportId:{$gt:0}}})})[_0x4eeb[6]](function(){return models[_0x4eeb[669]][_0x4eeb[69]]([{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[441],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[442],"\x61\x6C\x69\x61\x73":_0x4eeb[443],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[444],"\x61\x6C\x69\x61\x73":_0x4eeb[445],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[447],"\x61\x6C\x69\x61\x73":_0x4eeb[448],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[449],"\x61\x6C\x69\x61\x73":_0x4eeb[450],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[452],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[453],"\x61\x6C\x69\x61\x73":_0x4eeb[454],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[455],"\x61\x6C\x69\x61\x73":_0x4eeb[456],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[457],"\x61\x6C\x69\x61\x73":_0x4eeb[458],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[460],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[461],"\x61\x6C\x69\x61\x73":_0x4eeb[462],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[463],"\x61\x6C\x69\x61\x73":_0x4eeb[464],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[465],"\x61\x6C\x69\x61\x73":_0x4eeb[466],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[369],"\x61\x6C\x69\x61\x73":_0x4eeb[467],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[376],"\x61\x6C\x69\x61\x73":_0x4eeb[468],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":4,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[469],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[470],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[471],"\x61\x6C\x69\x61\x73":_0x4eeb[472],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[473],"\x61\x6C\x69\x61\x73":_0x4eeb[474],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[475],"\x61\x6C\x69\x61\x73":_0x4eeb[476],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[477],"\x61\x6C\x69\x61\x73":_0x4eeb[478],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[479],"\x61\x6C\x69\x61\x73":_0x4eeb[480],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[481],"\x61\x6C\x69\x61\x73":_0x4eeb[482],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[483],"\x61\x6C\x69\x61\x73":_0x4eeb[484],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[485],"\x61\x6C\x69\x61\x73":_0x4eeb[486],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[487],"\x61\x6C\x69\x61\x73":_0x4eeb[488],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[489],"\x61\x6C\x69\x61\x73":_0x4eeb[468],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[490],"\x61\x6C\x69\x61\x73":_0x4eeb[491],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[494],"\x61\x6C\x69\x61\x73":_0x4eeb[495],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":2},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[470],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[496],"\x61\x6C\x69\x61\x73":_0x4eeb[497],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[475],"\x61\x6C\x69\x61\x73":_0x4eeb[476],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[477],"\x61\x6C\x69\x61\x73":_0x4eeb[478],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[479],"\x61\x6C\x69\x61\x73":_0x4eeb[498],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[487],"\x61\x6C\x69\x61\x73":_0x4eeb[488],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[489],"\x61\x6C\x69\x61\x73":_0x4eeb[468],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[490],"\x61\x6C\x69\x61\x73":_0x4eeb[499],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[500],"\x61\x6C\x69\x61\x73":_0x4eeb[501],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[494],"\x61\x6C\x69\x61\x73":_0x4eeb[495],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[473],"\x61\x6C\x69\x61\x73":_0x4eeb[474],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":3},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[502],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[455],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[507],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[369],"\x61\x6C\x69\x61\x73":_0x4eeb[508],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[510],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[376],"\x61\x6C\x69\x61\x73":_0x4eeb[511],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":4,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":4},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[441],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[442],"\x61\x6C\x69\x61\x73":_0x4eeb[443],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[444],"\x61\x6C\x69\x61\x73":_0x4eeb[445],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[514],"\x61\x6C\x69\x61\x73":_0x4eeb[515],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[516],"\x61\x6C\x69\x61\x73":_0x4eeb[517],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[518],"\x61\x6C\x69\x61\x73":_0x4eeb[519],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[520],"\x61\x6C\x69\x61\x73":_0x4eeb[468],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[521],"\x61\x6C\x69\x61\x73":_0x4eeb[467],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[522],"\x61\x6C\x69\x61\x73":_0x4eeb[523],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[524],"\x61\x6C\x69\x61\x73":_0x4eeb[525],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[526],"\x61\x6C\x69\x61\x73":_0x4eeb[527],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[528],"\x61\x6C\x69\x61\x73":_0x4eeb[529],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[530],"\x61\x6C\x69\x61\x73":_0x4eeb[531],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[465],"\x61\x6C\x69\x61\x73":_0x4eeb[466],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":5},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[526],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[532],"\x61\x6C\x69\x61\x73":_0x4eeb[533],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[521],"\x61\x6C\x69\x61\x73":_0x4eeb[534],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[524],"\x61\x6C\x69\x61\x73":_0x4eeb[535],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[521],"\x61\x6C\x69\x61\x73":_0x4eeb[508],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[524],"\x61\x6C\x69\x61\x73":_0x4eeb[536],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":6},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[526],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[521],"\x61\x6C\x69\x61\x73":_0x4eeb[537],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[521],"\x61\x6C\x69\x61\x73":_0x4eeb[538],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[520],"\x61\x6C\x69\x61\x73":_0x4eeb[539],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[520],"\x61\x6C\x69\x61\x73":_0x4eeb[540],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[524],"\x61\x6C\x69\x61\x73":_0x4eeb[541],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[524],"\x61\x6C\x69\x61\x73":_0x4eeb[542],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":7},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":8},{"\x66\x69\x65\x6C\x64":_0x4eeb[526],"\x61\x6C\x69\x61\x73":_0x4eeb[543],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":8},{"\x66\x69\x65\x6C\x64":_0x4eeb[378],"\x61\x6C\x69\x61\x73":_0x4eeb[544],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":5,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":8},{"\x66\x69\x65\x6C\x64":_0x4eeb[381],"\x61\x6C\x69\x61\x73":_0x4eeb[380],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":6,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":8},{"\x66\x69\x65\x6C\x64":_0x4eeb[384],"\x61\x6C\x69\x61\x73":_0x4eeb[383],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":7,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":8},{"\x66\x69\x65\x6C\x64":_0x4eeb[387],"\x61\x6C\x69\x61\x73":_0x4eeb[386],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":8,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":8},{"\x66\x69\x65\x6C\x64":_0x4eeb[528],"\x61\x6C\x69\x61\x73":_0x4eeb[545],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":9},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[546],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":9},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[441],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[442],"\x61\x6C\x69\x61\x73":_0x4eeb[443],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[447],"\x61\x6C\x69\x61\x73":_0x4eeb[448],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[449],"\x61\x6C\x69\x61\x73":_0x4eeb[450],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[452],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[453],"\x61\x6C\x69\x61\x73":_0x4eeb[454],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[547],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[460],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[461],"\x61\x6C\x69\x61\x73":_0x4eeb[462],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[463],"\x61\x6C\x69\x61\x73":_0x4eeb[464],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[390],"\x61\x6C\x69\x61\x73":_0x4eeb[548],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":9,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[549],"\x61\x6C\x69\x61\x73":_0x4eeb[550],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[465],"\x61\x6C\x69\x61\x73":_0x4eeb[466],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":10},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[510],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[551],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[552],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[390],"\x61\x6C\x69\x61\x73":_0x4eeb[553],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":9,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[390],"\x61\x6C\x69\x61\x73":_0x4eeb[554],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":9,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":11},{"\x66\x69\x65\x6C\x64":_0x4eeb[463],"\x61\x6C\x69\x61\x73":_0x4eeb[545],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":12},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[546],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":12},{"\x66\x69\x65\x6C\x64":_0x4eeb[390],"\x61\x6C\x69\x61\x73":_0x4eeb[555],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":9,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":12},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":13},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[556],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":13},{"\x66\x69\x65\x6C\x64":_0x4eeb[373],"\x61\x6C\x69\x61\x73":_0x4eeb[557],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":3,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":13},{"\x66\x69\x65\x6C\x64":_0x4eeb[392],"\x61\x6C\x69\x61\x73":_0x4eeb[391],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":10,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":13},{"\x66\x69\x65\x6C\x64":_0x4eeb[395],"\x61\x6C\x69\x61\x73":_0x4eeb[394],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":11,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":13},{"\x66\x69\x65\x6C\x64":_0x4eeb[398],"\x61\x6C\x69\x61\x73":_0x4eeb[558],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":12,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":13},{"\x66\x69\x65\x6C\x64":_0x4eeb[401],"\x61\x6C\x69\x61\x73":_0x4eeb[559],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":13,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[502],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[455],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[507],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[369],"\x61\x6C\x69\x61\x73":_0x4eeb[508],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[510],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[376],"\x61\x6C\x69\x61\x73":_0x4eeb[511],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":4,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":14},{"\x66\x69\x65\x6C\x64":_0x4eeb[404],"\x61\x6C\x69\x61\x73":_0x4eeb[560],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":14,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[502],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[455],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[507],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[369],"\x61\x6C\x69\x61\x73":_0x4eeb[508],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[510],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[376],"\x61\x6C\x69\x61\x73":_0x4eeb[511],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":4,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":15},{"\x66\x69\x65\x6C\x64":_0x4eeb[407],"\x61\x6C\x69\x61\x73":_0x4eeb[561],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":15,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[502],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[455],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[451],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[459],"\x61\x6C\x69\x61\x73":_0x4eeb[507],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[369],"\x61\x6C\x69\x61\x73":_0x4eeb[508],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[371],"\x61\x6C\x69\x61\x73":_0x4eeb[510],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":2,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[376],"\x61\x6C\x69\x61\x73":_0x4eeb[511],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":4,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":16},{"\x66\x69\x65\x6C\x64":_0x4eeb[471],"\x61\x6C\x69\x61\x73":_0x4eeb[472],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":17},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[546],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":17},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[562],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":17},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[563],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":17},{"\x66\x69\x65\x6C\x64":_0x4eeb[494],"\x61\x6C\x69\x61\x73":_0x4eeb[495],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":18},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[546],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":18},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[562],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":18},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[563],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":18},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":_0x4eeb[564],"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":19},{"\x66\x69\x65\x6C\x64":_0x4eeb[565],"\x61\x6C\x69\x61\x73":_0x4eeb[566],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":_0x4eeb[564],"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":19},{"\x66\x69\x65\x6C\x64":_0x4eeb[413],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":17,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":19},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":_0x4eeb[564],"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":20},{"\x66\x69\x65\x6C\x64":_0x4eeb[413],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":17,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":20},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[441],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[567],"\x61\x6C\x69\x61\x73":_0x4eeb[568],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[569],"\x61\x6C\x69\x61\x73":_0x4eeb[570],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22},{"\x66\x69\x65\x6C\x64":_0x4eeb[571],"\x61\x6C\x69\x61\x73":_0x4eeb[572],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[573],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[574],"\x61\x6C\x69\x61\x73":_0x4eeb[575],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[576],"\x61\x6C\x69\x61\x73":_0x4eeb[577],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[578],"\x61\x6C\x69\x61\x73":_0x4eeb[579],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[580],"\x61\x6C\x69\x61\x73":_0x4eeb[458],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[581],"\x61\x6C\x69\x61\x73":_0x4eeb[456],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[582],"\x61\x6C\x69\x61\x73":_0x4eeb[583],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[584],"\x61\x6C\x69\x61\x73":_0x4eeb[585],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[586],"\x61\x6C\x69\x61\x73":_0x4eeb[587],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":22,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":23,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[581],"\x61\x6C\x69\x61\x73":_0x4eeb[588],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":23,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[419],"\x61\x6C\x69\x61\x73":_0x4eeb[589],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x63\x72\x65\x61\x74\x65\x64\x41\x74":_0x4eeb[590],"\x75\x70\x64\x61\x74\x65\x64\x41\x74":_0x4eeb[590],"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":19,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":23,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[422],"\x61\x6C\x69\x61\x73":_0x4eeb[591],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":20,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":23,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[416],"\x61\x6C\x69\x61\x73":_0x4eeb[592],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":18,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":23,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[416],"\x61\x6C\x69\x61\x73":_0x4eeb[594],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":18,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":23,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[567],"\x61\x6C\x69\x61\x73":_0x4eeb[595],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":21,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[596],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[597],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":21,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[581],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":21,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[584],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":21,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[416],"\x61\x6C\x69\x61\x73":_0x4eeb[417],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":18,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":21,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[425],"\x61\x6C\x69\x61\x73":_0x4eeb[594],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":21,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":21,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[574],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[596],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[581],"\x61\x6C\x69\x61\x73":_0x4eeb[504],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[584],"\x61\x6C\x69\x61\x73":_0x4eeb[506],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[586],"\x61\x6C\x69\x61\x73":_0x4eeb[507],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":null},{"\x66\x69\x65\x6C\x64":_0x4eeb[416],"\x61\x6C\x69\x61\x73":_0x4eeb[417],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":18,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[425],"\x61\x6C\x69\x61\x73":_0x4eeb[594],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":21,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":24,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[598],"\x61\x6C\x69\x61\x73":_0x4eeb[599],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[471],"\x61\x6C\x69\x61\x73":_0x4eeb[600],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[565],"\x61\x6C\x69\x61\x73":_0x4eeb[601],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[602],"\x61\x6C\x69\x61\x73":_0x4eeb[603],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[604],"\x61\x6C\x69\x61\x73":_0x4eeb[605],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[428],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":22,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[606],"\x61\x6C\x69\x61\x73":_0x4eeb[607],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[470],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26},{"\x66\x69\x65\x6C\x64":_0x4eeb[479],"\x61\x6C\x69\x61\x73":_0x4eeb[480],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26},{"\x66\x69\x65\x6C\x64":_0x4eeb[608],"\x61\x6C\x69\x61\x73":_0x4eeb[466],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26},{"\x66\x69\x65\x6C\x64":_0x4eeb[576],"\x61\x6C\x69\x61\x73":_0x4eeb[609],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":_0x4eeb[564],"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26},{"\x66\x69\x65\x6C\x64":_0x4eeb[578],"\x61\x6C\x69\x61\x73":_0x4eeb[610],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26},{"\x66\x69\x65\x6C\x64":_0x4eeb[431],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":23,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[606],"\x61\x6C\x69\x61\x73":_0x4eeb[607],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":27},{"\x66\x69\x65\x6C\x64":_0x4eeb[479],"\x61\x6C\x69\x61\x73":_0x4eeb[611],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":27},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[612],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":27},{"\x66\x69\x65\x6C\x64":_0x4eeb[613],"\x61\x6C\x69\x61\x73":_0x4eeb[327],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[614],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":27},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28},{"\x66\x69\x65\x6C\x64":_0x4eeb[602],"\x61\x6C\x69\x61\x73":_0x4eeb[603],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28},{"\x66\x69\x65\x6C\x64":_0x4eeb[604],"\x61\x6C\x69\x61\x73":_0x4eeb[605],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[615],"\x61\x6C\x69\x61\x73":_0x4eeb[616],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29},{"\x66\x69\x65\x6C\x64":_0x4eeb[565],"\x61\x6C\x69\x61\x73":_0x4eeb[472],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30},{"\x66\x69\x65\x6C\x64":_0x4eeb[602],"\x61\x6C\x69\x61\x73":_0x4eeb[603],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30},{"\x66\x69\x65\x6C\x64":_0x4eeb[604],"\x61\x6C\x69\x61\x73":_0x4eeb[605],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30},{"\x66\x69\x65\x6C\x64":_0x4eeb[565],"\x61\x6C\x69\x61\x73":_0x4eeb[617],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30},{"\x66\x69\x65\x6C\x64":_0x4eeb[492],"\x61\x6C\x69\x61\x73":_0x4eeb[493],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593]},{"\x66\x69\x65\x6C\x64":_0x4eeb[618],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[619],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31},{"\x66\x69\x65\x6C\x64":_0x4eeb[620],"\x61\x6C\x69\x61\x73":_0x4eeb[621],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31},{"\x66\x69\x65\x6C\x64":_0x4eeb[620],"\x61\x6C\x69\x61\x73":_0x4eeb[622],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":32},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[619],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":32},{"\x66\x69\x65\x6C\x64":_0x4eeb[620],"\x61\x6C\x69\x61\x73":_0x4eeb[621],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":32},{"\x66\x69\x65\x6C\x64":_0x4eeb[620],"\x61\x6C\x69\x61\x73":_0x4eeb[622],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[509],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":32},{"\x66\x69\x65\x6C\x64":_0x4eeb[442],"\x61\x6C\x69\x61\x73":_0x4eeb[443],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":33},{"\x66\x69\x65\x6C\x64":_0x4eeb[195],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":33},{"\x66\x69\x65\x6C\x64":_0x4eeb[447],"\x61\x6C\x69\x61\x73":_0x4eeb[488],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":33},{"\x66\x69\x65\x6C\x64":_0x4eeb[434],"\x61\x6C\x69\x61\x73":_0x4eeb[491],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":33,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":24},{"\x66\x69\x65\x6C\x64":_0x4eeb[436],"\x61\x6C\x69\x61\x73":_0x4eeb[623],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":33,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":25},{"\x66\x69\x65\x6C\x64":_0x4eeb[516],"\x61\x6C\x69\x61\x73":_0x4eeb[560],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[624]},{"\x66\x69\x65\x6C\x64":_0x4eeb[526],"\x61\x6C\x69\x61\x73":_0x4eeb[543],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34},{"\x66\x69\x65\x6C\x64":_0x4eeb[378],"\x61\x6C\x69\x61\x73":_0x4eeb[544],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":5,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34},{"\x66\x69\x65\x6C\x64":_0x4eeb[381],"\x61\x6C\x69\x61\x73":_0x4eeb[380],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":6,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34},{"\x66\x69\x65\x6C\x64":_0x4eeb[384],"\x61\x6C\x69\x61\x73":_0x4eeb[383],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":7,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34},{"\x66\x69\x65\x6C\x64":_0x4eeb[387],"\x61\x6C\x69\x61\x73":_0x4eeb[386],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":8,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34},{"\x66\x69\x65\x6C\x64":_0x4eeb[625],"\x61\x6C\x69\x61\x73":_0x4eeb[626],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x63\x75\x73\x74\x6F\x6D":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[627],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[597],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[628],"\x61\x6C\x69\x61\x73":_0x4eeb[629],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[630],"\x61\x6C\x69\x61\x73":_0x4eeb[631],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[632],"\x61\x6C\x69\x61\x73":_0x4eeb[633],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[634],"\x61\x6C\x69\x61\x73":_0x4eeb[635],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[636],"\x61\x6C\x69\x61\x73":_0x4eeb[637],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35},{"\x66\x69\x65\x6C\x64":_0x4eeb[574],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x63\x75\x73\x74\x6F\x6D":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[627],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[638],"\x61\x6C\x69\x61\x73":_0x4eeb[629],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[639],"\x61\x6C\x69\x61\x73":_0x4eeb[640],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[641],"\x61\x6C\x69\x61\x73":_0x4eeb[631],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[642],"\x61\x6C\x69\x61\x73":_0x4eeb[643],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593],"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[512],"\x61\x6C\x69\x61\x73":_0x4eeb[512],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x63\x75\x73\x74\x6F\x6D":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36},{"\x66\x69\x65\x6C\x64":_0x4eeb[440],"\x61\x6C\x69\x61\x73":_0x4eeb[644],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37},{"\x66\x69\x65\x6C\x64":_0x4eeb[645],"\x61\x6C\x69\x61\x73":_0x4eeb[646],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37},{"\x66\x69\x65\x6C\x64":_0x4eeb[647],"\x61\x6C\x69\x61\x73":_0x4eeb[513],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37},{"\x66\x69\x65\x6C\x64":_0x4eeb[648],"\x61\x6C\x69\x61\x73":_0x4eeb[446],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37},{"\x66\x69\x65\x6C\x64":_0x4eeb[649],"\x61\x6C\x69\x61\x73":_0x4eeb[559],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x63\x75\x73\x74\x6F\x6D":0,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[650],"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38},{"\x66\x69\x65\x6C\x64":_0x4eeb[651],"\x61\x6C\x69\x61\x73":_0x4eeb[627],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38},{"\x66\x69\x65\x6C\x64":_0x4eeb[652],"\x61\x6C\x69\x61\x73":_0x4eeb[653],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[505],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x63\x75\x73\x74\x6F\x6D":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38},{"\x66\x69\x65\x6C\x64":_0x4eeb[146],"\x61\x6C\x69\x61\x73":_0x4eeb[146],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[654],"\x61\x6C\x69\x61\x73":_0x4eeb[654],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[655],"\x61\x6C\x69\x61\x73":_0x4eeb[655],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[656],"\x61\x6C\x69\x61\x73":_0x4eeb[656],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[649],"\x61\x6C\x69\x61\x73":_0x4eeb[649],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[657],"\x61\x6C\x69\x61\x73":_0x4eeb[657],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[658],"\x61\x6C\x69\x61\x73":_0x4eeb[658],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[659],"\x61\x6C\x69\x61\x73":_0x4eeb[659],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[660],"\x61\x6C\x69\x61\x73":_0x4eeb[660],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[661],"\x61\x6C\x69\x61\x73":_0x4eeb[661],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[662],"\x61\x6C\x69\x61\x73":_0x4eeb[662],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[494],"\x61\x6C\x69\x61\x73":_0x4eeb[494],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[663],"\x61\x6C\x69\x61\x73":_0x4eeb[663],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":39,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[494],"\x61\x6C\x69\x61\x73":_0x4eeb[494],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[664],"\x61\x6C\x69\x61\x73":_0x4eeb[665],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x63\x75\x73\x74\x6F\x6D":1},{"\x66\x69\x65\x6C\x64":_0x4eeb[659],"\x61\x6C\x69\x61\x73":_0x4eeb[659],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[650],"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[146],"\x61\x6C\x69\x61\x73":_0x4eeb[666],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0x4eeb[503],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x63\x75\x73\x74\x6F\x6D":0},{"\x66\x69\x65\x6C\x64":_0x4eeb[667],"\x61\x6C\x69\x61\x73":_0x4eeb[668],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x66\x6F\x72\x6D\x61\x74":_0x4eeb[593],"\x63\x75\x73\x74\x6F\x6D":1}],{ignoreDuplicates:true,individualHooks:true})})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[439])})[_0x4eeb[144]](function(_0x5022x5){console[_0x4eeb[5]](_0x4eeb[438],_0x5022x5)});models[_0x4eeb[678]][_0x4eeb[69]]([{id:1,name:_0x4eeb[677],defaultEntry:true}],{ignoreDuplicates:true,individualHooks:true})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[272])});models[_0x4eeb[701]][_0x4eeb[670]]({where:{context:_0x4eeb[219]}})[_0x4eeb[6]](function(){models[_0x4eeb[701]][_0x4eeb[69]]([{context:_0x4eeb[219],exten:_0x4eeb[680],priority:1,app:_0x4eeb[681],appdata:_0x4eeb[682],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:2,app:_0x4eeb[681],appdata:_0x4eeb[684],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:3,app:_0x4eeb[685],appdata:_0x4eeb[686],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:4,app:_0x4eeb[687],appdata:_0x4eeb[334],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:5,app:_0x4eeb[688],appdata:_0x4eeb[689],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:6,app:_0x4eeb[685],appdata:_0x4eeb[690],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:7,app:_0x4eeb[685],appdata:_0x4eeb[691],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:8,app:_0x4eeb[685],appdata:_0x4eeb[692],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:9,app:_0x4eeb[685],appdata:_0x4eeb[693],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:10,app:_0x4eeb[685],appdata:_0x4eeb[694],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:11,app:_0x4eeb[685],appdata:_0x4eeb[695],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:12,app:_0x4eeb[685],appdata:_0x4eeb[696],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:13,app:_0x4eeb[685],appdata:_0x4eeb[697],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:14,app:_0x4eeb[698],appdata:_0x4eeb[699],type:_0x4eeb[683]},{context:_0x4eeb[219],exten:_0x4eeb[680],priority:15,app:_0x4eeb[700],appdata:_0x4eeb[334],type:_0x4eeb[683]}],{ignoreDuplicates:true,individualHooks:true})})[_0x4eeb[6]](function(){console[_0x4eeb[5]](_0x4eeb[679])});models[_0x4eeb[70]][_0x4eeb[154]]({include:[{model:models[_0x4eeb[701]],as:_0x4eeb[708],where:{app:_0x4eeb[709]}}]})[_0x4eeb[6]](function(_0x5022xa){console[_0x4eeb[5]](_0x4eeb[702]);var _0x5022x1d=[];_[_0x4eeb[153]](_0x5022xa,function(_0x5022x1e){_[_0x4eeb[153]](_0x5022x1e.UserExtensions,function(_0x5022x1f){_0x5022x1f[_0x4eeb[703]]= _0x4eeb[704]+ _0x5022x1e[_0x4eeb[705]]+ _0x4eeb[706];_0x5022x1d[_0x4eeb[151]](_0x5022x1f[_0x4eeb[707]]())})});return _0x5022x1d})[_0x4eeb[19]]()[_0x4eeb[144]](function(_0x5022x5){console[_0x4eeb[5]](_0x5022x5)})
\ No newline at end of file
-/**
- * Populate DB with sample data on server start
- * to disable, edit config/environment/index.js, and set `seedDB: false`
- */
-
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-
-var models = require('../models');
-var sequelize = require('../models').sequelize;
-
-var _agents = [];
-var _voiceQueues = [];
-var _mailQueues = [];
-var _chatQueues = [];
-var _miller, _doe;
-var _setting;
-
-models.Setting
- .findById(1)
- .then(function(setting) {
- _setting = setting;
-
- if (_setting.firstSetup) {
- models.User
- .bulkCreate([{
- role: 'admin',
- fullname: 'Administrator',
- email: 'admin@admin.com',
- name: 'admin',
- password: 'password',
- defaultuser: 'admin',
- internal: 1000
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- }).then(function(users) {
- console.log(util.format('Populating Users: %s - DONE ', _.map(users, 'name').join()));
- return models.Team
- .create({
- name: "Default Team",
- description: "Default Team",
- defaultEntry: true,
- Users: [{
- role: 'agent',
- fullname: 'John Doe',
- email: 'john.doe@xcally.com',
- name: 'john.doe',
- password: 'shuttle55',
- defaultuser: 'john.doe',
- internal: 1001
- }, {
- role: 'agent',
- fullname: 'Jane Miller',
- email: 'jane.miller@xcally.com',
- name: 'jane.miller',
- password: 'shuttle55',
- defaultuser: 'jane.miller',
- internal: 1002
- }]
- }, {
- include: [{
- model: models.User
- }]
- });
- })
- .then(function(team) {
- _agents = team.Users;
-
- console.log(util.format('Populating Agents: %s - DONE ', _.map(team.Users, 'name').join()));
- console.log(util.format('Populating Teams: %s - DONE ', team.name));
-
- return models.VoiceQueue
- .bulkCreate([{
- name: 'Sales',
- musiconhold: 'default',
- strategy: 'rrmemory'
- }, {
- name: 'Support',
- musiconhold: 'default',
- strategy: 'ringall'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- });
- })
- .then(function(voiceQueues) {
- console.log(util.format('Populating Voice Queues: %s - DONE ', _.map(voiceQueues, 'name').join()));
- _voiceQueues = voiceQueues;
-
- _miller = _.find(_agents, {
- name: 'jane.miller'
- });
- _doe = _.find(_agents, {
- name: 'john.doe'
- });
-
- return _voiceQueues[0]
- .addUser(_miller.id);
- })
- .then(function() {
- return _voiceQueues[1]
- .addUsers([_miller.id, _doe.id]);
- })
- .then(function() {
- return models.MailQueue
- .bulkCreate([{
- name: 'Sales',
- timeout: 5,
- strategy: 'rrmemory'
- }, {
- name: 'Support',
- timeout: 5,
- strategy: 'beepall'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- });
- })
- .then(function(mailQueues) {
- console.log(util.format('Populating Mail Queues: %s - DONE ', _.map(mailQueues, 'name').join()));
- _mailQueues = mailQueues;
-
- return _mailQueues[0]
- .addUser(_miller.id);
- })
- .then(function() {
- return _mailQueues[1]
- .addUsers([_miller.id, _doe.id]);
- })
- .then(function() {
- return models.ChatQueue
- .bulkCreate([{
- name: 'Sales',
- timeout: 5,
- strategy: 'rrmemory'
- }, {
- name: 'Support',
- timeout: 5,
- strategy: 'beepall'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- });
- })
- .then(function(chatQueues) {
- console.log(util.format('Populating Mail Queues: %s - DONE ', _.map(chatQueues, 'name').join()));
- _chatQueues = chatQueues;
-
- return _chatQueues[0]
- .addUser(_miller.id);
- })
- .then(function() {
- return _chatQueues[1]
- .addUsers([_miller.id, _doe.id]);
- })
- .catch(function(err) {
- console.log(err);
- });
-
- models.ChanSpy
- .bulkCreate([{
- name: 'ChanSpy1',
- prefix: 'spy1',
- description: 'The supervisor can listen and talk to the agent. The customer will not listen to the supervisor voice.',
- options: 'bw'
- }, {
- name: 'ChanSpy2',
- prefix: 'spy2',
- description: 'The supervisor can only listen the agent channel (neither the agent nor the customer will listen to the supervisor voice.',
- options: 'bo'
- }, {
- name: 'ChanSpy3',
- prefix: 'spy3',
- description: 'The supervisor can listen and talk both to the agent and to the customer, like a pure 3 way conference room.',
- options: 'bW'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- .then(function(chanSpys) {
- console.log(util.format('Populating ChanSpy: %s - DONE ', _.map(chanSpys, 'name').join()));
- });
-
- models.List
- .create({
- name: 'System List',
- description: 'Default List',
- defaultEntry: true
- })
- .then(function(list) {
- console.log(util.format('Populating CM List: %s - DONE ', list.name));
- });
-
- models.VoiceMusicOnHold
- .create({
- name: 'default',
- directory: '/var/lib/asterisk/moh/',
- mode: 'files',
- sort: 'random',
- format: 'wav',
- defaultEntry: true
- })
- .then(function(voiceMusicOnHold) {
- console.log(util.format('Populating Voice Music On Hold: %s - DONE ', voiceMusicOnHold.name));
- });
-
- models.Variable
- .bulkCreate([{
- name: 'CHOICE'
- }, {
- description: 'Order number',
- name: 'ORDERNUM'
- }, {
- description: 'Data Base Query Result',
- name: 'DBRESULT'
- }, {
- name: 'RATE'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- .then(function(variables) {
- console.log(util.format('Populating Variables: %s - DONE ', _.map(variables, 'name').join()));
- });
-
- models.Pause
- .bulkCreate([{
- name: 'BACKOFFICE'
- }, {
- name: 'AFTERCALL'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- .then(function(pauses) {
- console.log(util.format('Populating Pauses: %s - DONE ', _.map(pauses, 'name').join()));
- });
-
- models.Trunk
- .create({
- name: 'DemoTrunk',
- context: 'from-voip-provider',
- callingpres: 'ALLOWED_NOT_SCREENED',
- deny: '0.0.0.0/0.0.0.0',
- permit: '0.0.0.0/0.0.0.0',
- secret: '55xcally55'
- })
- .then(function(trunk) {
- console.log(util.format('Populating Trunk: %s - DONE ', trunk.name));
- });
-
- models.VoiceContext
- .bulkCreate([{
- name: 'from-sip',
- description: 'Default context (DO NOT DELETE)'
- }, {
- name: 'from-voip-provider',
- description: 'Default context (DO NOT DELETE)'
- }, {
- name: 'inbound-fax',
- description: 'Default context (DO NOT DELETE)'
- }, {
- name: 'outbound-fax',
- description: 'Default context (DO NOT DELETE)'
- }, {
- name: 'from-voicemail',
- description: 'Default context (DO NOT DELETE)'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- .then(function(pauses) {
- console.log(util.format('Populating Contexts: %s - DONE ', _.map(pauses, 'name').join()));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_600',
- priority: '1',
- app: 'NoOp',
- appdata: 'Internal Call',
- type: 'internal',
- description: 'Echo Test',
- Applications: [{
- context: 'from-sip',
- exten: '_600',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=internal',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '3',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},4:from-sip,${EXTEN},9',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '4',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '6',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '7',
- app: 'Playback',
- appdata: 'demo-echotest',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '8',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '9',
- app: 'NoOP',
- appdata: 'Playback Application End',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '10',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},11:from-sip,${EXTEN},16',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '11',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '12',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '13',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '14',
- app: 'Echo',
- appdata: '',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '15',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '16',
- app: 'NoOP',
- appdata: 'Echo Application End',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '17',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},18:from-sip,${EXTEN},23',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '18',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '19',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '20',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '21',
- app: 'Playback',
- appdata: 'demo-echotest',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '22',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_600',
- priority: '23',
- app: 'NoOP',
- appdata: 'Playback Application End',
- type: 'internal'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_6000',
- priority: '1',
- app: 'NoOp',
- appdata: 'Internal Call',
- type: 'internal',
- description: 'Support Queue',
- Applications: [{
- context: 'from-sip',
- exten: '_6000',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=internal',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '3',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},4:from-sip,${EXTEN},9',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '4',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '6',
- app: 'Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '7',
- app: 'Queue',
- appdata: 'Support,,,,',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '8',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6000',
- priority: '9',
- app: 'NoOP',
- appdata: 'Queue Application End',
- type: 'internal'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_6666',
- priority: '1',
- app: 'NoOp',
- appdata: 'Internal Call',
- type: 'internal',
- description: 'Support Queue',
- Applications: [{
- context: 'from-sip',
- exten: '_6666',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=internal',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '3',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},4:from-sip,${EXTEN},9',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '4',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '6',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '7',
- app: 'AGI',
- appdata: 'agi://127.0.0.1/square,Auto Attendant',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '8',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6666',
- priority: '9',
- app: 'NoOP',
- appdata: 'AGI Application End',
- type: 'internal'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_6667',
- priority: '1',
- app: 'NoOp',
- appdata: 'Internal Call',
- type: 'internal',
- description: 'Support Queue',
- Applications: [{
- context: 'from-sip',
- exten: '_6667',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=internal',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '3',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},4:from-sip,${EXTEN},9',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '4',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '6',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '7',
- app: 'AGI',
- appdata: 'agi://127.0.0.1/square,Orders',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '8',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6667',
- priority: '9',
- app: 'NoOP',
- appdata: 'AGI Application End',
- type: 'internal'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_6668',
- priority: '1',
- app: 'NoOp',
- appdata: 'Internal Call',
- type: 'internal',
- description: 'Support Queue',
- Applications: [{
- context: 'from-sip',
- exten: '_6668',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=internal',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '3',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},4:from-sip,${EXTEN},9',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '4',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '6',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '7',
- app: 'AGI',
- appdata: 'agi://127.0.0.1/square,CSI',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '8',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6668',
- priority: '9',
- app: 'NoOP',
- appdata: 'AGI Application End',
- type: 'internal'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_X.',
- priority: '1',
- app: 'NoOp',
- appdata: 'Outbound Call',
- type: 'outbound',
- description: 'Support Queue',
- Applications: [{
- context: 'from-sip',
- exten: '_X.',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=outbound',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '3',
- app: 'Set',
- appdata: 'CDR(tag)=--',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '4',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},5:from-sip,${EXTEN},10',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '6',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '7',
- app: 'NoOP',
- appdata: 'Skipped Progress',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '8',
- app: 'Dial',
- appdata: 'SIP/Demo Trunk/${EXTEN:0}',
- type: 'outbound',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '9',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'outbound'
- }, {
- context: 'from-sip',
- exten: '_X.',
- priority: '10',
- app: 'NoOP',
- appdata: 'Dial Application End',
- type: 'outbound'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.VoiceExtension
- .create({
- context: 'from-sip',
- exten: '_6001',
- priority: '1',
- app: 'NoOp',
- appdata: 'Internal Call',
- type: 'internal',
- description: 'Sales Queue',
- Applications: [{
- context: 'from-sip',
- exten: '_6001',
- priority: '2',
- app: 'Set',
- appdata: 'CDR(type)=internal',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '3',
- app: 'GotoIfTime',
- appdata: '*,*,*,*?from-sip,${EXTEN},4:from-sip,${EXTEN},9',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '4',
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '5',
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '6',
- app: 'Progress',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '7',
- app: 'Queue',
- appdata: 'Sales,,,,',
- type: 'internal',
- interval: '*,*,*,*',
- isApp: true
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '8',
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- type: 'internal'
- }, {
- context: 'from-sip',
- exten: '_6001',
- priority: '9',
- app: 'NoOP',
- appdata: 'Queue Application End',
- type: 'internal'
- }]
- }, {
- include: [{
- model: models.VoiceExtension,
- as: 'Applications'
- }]
- })
- .then(function(voiceExtension) {
- console.log(util.format('Populating Voice Extension: %s %s - DONE ', voiceExtension.context, voiceExtension.exten));
- });
-
- models.SquareProject
- .bulkCreate([{
- name: 'Auto Attendant',
- description: 'IVR SAMPLE 1',
- preproduction: '<mxGraphModel grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"20\" y=\"149.99999999999997\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <menu label=\"Menu\" file_id=\"1\" response=\"5\" digit=\"1\" retry=\"2\" variable_id=\"1\" id=\"3\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/menu_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"130\" y=\"150\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </menu>\n <mxCell id=\"4\" parent=\"1\" source=\"2\" target=\"3\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <queue label=\"Queue Sales\" queue_id=\"1\" opts=\"\" url=\"\" file_id=\"0\" timeout=\"300\" agi=\"\" macro=\"\" gosub=\"\" position=\"\" id=\"5\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/queue_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"470\" y=\"9.999999999999993\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </queue>\n <queue label=\"Queue Support\" queue_id=\"2\" opts=\"\" url=\"\" file_id=\"0\" timeout=\"300\" agi=\"\" macro=\"\" gosub=\"\" position=\"\" id=\"6\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/queue_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"540\" y=\"149.99999999999997\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </queue>\n <dial label=\"Internal Dial John Doe\" sip_id=\"1\" timeout=\"60\" opts=\"\" url=\"\" id=\"7\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/dial_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"470\" y=\"310\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </dial>\n <mxCell id=\"8\" value=\"1\" parent=\"1\" source=\"3\" target=\"5\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"9\" value=\"2\" parent=\"1\" source=\"3\" target=\"6\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <noop label=\"NoOp choice view\" output=\"Choice: {CHOICE}\" id=\"11\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/noop_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"300\" y=\"310\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </noop>\n <end label=\"End\" id=\"15\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/end_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"720\" y=\"150\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </end>\n <mxCell id=\"16\" value=\"3\" parent=\"1\" source=\"3\" target=\"11\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"17\" parent=\"1\" source=\"5\" target=\"15\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"18\" parent=\"1\" source=\"6\" target=\"15\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"19\" parent=\"1\" source=\"7\" target=\"15\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"20\" parent=\"1\" source=\"11\" target=\"7\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n',
- production: '<mxGraphModel grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"20\" y=\"149.99999999999997\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <menu label=\"Menu\" file_id=\"1\" response=\"5\" digit=\"1\" retry=\"2\" variable_id=\"1\" id=\"3\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/menu_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"130\" y=\"150\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </menu>\n <mxCell id=\"4\" parent=\"1\" source=\"2\" target=\"3\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <queue label=\"Queue Sales\" queue_id=\"1\" opts=\"\" url=\"\" file_id=\"0\" timeout=\"300\" agi=\"\" macro=\"\" gosub=\"\" position=\"\" id=\"5\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/queue_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"470\" y=\"9.999999999999993\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </queue>\n <queue label=\"Queue Support\" queue_id=\"2\" opts=\"\" url=\"\" file_id=\"0\" timeout=\"300\" agi=\"\" macro=\"\" gosub=\"\" position=\"\" id=\"6\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/queue_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"540\" y=\"149.99999999999997\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </queue>\n <dial label=\"Internal Dial John Doe\" sip_id=\"1\" timeout=\"60\" opts=\"\" url=\"\" id=\"7\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/dial_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"470\" y=\"310\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </dial>\n <mxCell id=\"8\" value=\"1\" parent=\"1\" source=\"3\" target=\"5\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"9\" value=\"2\" parent=\"1\" source=\"3\" target=\"6\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <noop label=\"NoOp choice view\" output=\"Choice: {CHOICE}\" id=\"11\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/noop_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"300\" y=\"310\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </noop>\n <end label=\"End\" id=\"15\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/end_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"720\" y=\"150\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </end>\n <mxCell id=\"16\" value=\"3\" parent=\"1\" source=\"3\" target=\"11\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"17\" parent=\"1\" source=\"5\" target=\"15\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"18\" parent=\"1\" source=\"6\" target=\"15\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"19\" parent=\"1\" source=\"7\" target=\"15\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"20\" parent=\"1\" source=\"11\" target=\"7\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n'
- }, {
- name: 'CSI',
- description: 'Customer Satisfaction Index example',
- preproduction: '<mxGraphModel grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"90\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <queue label=\"Queue OPTION C to continue\" queue_id=\"2\" opts=\"c\" url=\"\" file_id=\"0\" timeout=\"10\" agi=\"\" macro=\"\" gosub=\"\" position=\"\" id=\"3\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/queue_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"260\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </queue>\n <mxCell id=\"4\" parent=\"1\" source=\"2\" target=\"3\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <subproject label=\"SubProject Survey\" project_id=\"4\" id=\"5\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/subproject_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"430\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </subproject>\n <mxCell id=\"6\" parent=\"1\" source=\"3\" target=\"5\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <end label=\"End\" id=\"7\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/end_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"600\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </end>\n <mxCell id=\"8\" parent=\"1\" source=\"5\" target=\"7\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n',
- production: '<mxGraphModel grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"90\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <queue label=\"Queue OPTION C to continue\" queue_id=\"2\" opts=\"c\" url=\"\" file_id=\"0\" timeout=\"10\" agi=\"\" macro=\"\" gosub=\"\" position=\"\" id=\"3\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/queue_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"260\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </queue>\n <mxCell id=\"4\" parent=\"1\" source=\"2\" target=\"3\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <subproject label=\"SubProject Survey\" project_id=\"4\" id=\"5\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/subproject_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"430\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </subproject>\n <mxCell id=\"6\" parent=\"1\" source=\"3\" target=\"5\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <end label=\"End\" id=\"7\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/end_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"600\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </end>\n <mxCell id=\"8\" parent=\"1\" source=\"5\" target=\"7\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n'
- }, {
- name: 'Orders',
- description: 'Order DB IVR Sample',
- preproduction: '<mxGraphModel scale=\"0.694\" grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"90\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <menu label=\"Menu\" file_id=\"2\" response=\"5\" digit=\"5\" retry=\"1\" variable_id=\"2\" id=\"4\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/menu_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"250\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </menu>\n <mxCell id=\"5\" parent=\"1\" source=\"2\" target=\"4\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <noop label=\"NoOp Debug ORDERNUM\" output=\"ORDER NUMBER: {ORDERNUM}\" id=\"6\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/noop_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"400\" y=\"109.56782713085232\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </noop>\n <mxCell id=\"7\" value=\"-\" parent=\"1\" source=\"4\" target=\"6\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <database label=\"Database Query EXAMPLE\" database_id=\"1\" query=\"SELECT status from orders WHERE id={ORDERNUM}\" variable_id=\"3\" id=\"8\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/integration_server/database_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"560\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </database>\n <mxCell id=\"9\" parent=\"1\" source=\"6\" target=\"8\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <gotoif label=\"GotoIf\" condition=\"{DBRESULT} == 1\" id=\"10\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/callflow/gotoif_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"730\" y=\"109.56782713085231\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </gotoif>\n <mxCell id=\"11\" parent=\"1\" source=\"8\" target=\"10\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <playback label=\"Playback Order shipped\" file_id=\"3\" skip=\"0\" noanswer=\"0\" id=\"12\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/playback_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"1010\" y=\"50\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </playback>\n <mxCell id=\"13\" value=\"true\" parent=\"1\" source=\"10\" target=\"12\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <playback label=\"Playback Order on elaboration\" file_id=\"4\" skip=\"0\" noanswer=\"0\" id=\"14\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/playback_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"1010\" y=\"189.56782713085232\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </playback>\n <mxCell id=\"15\" value=\"false\" parent=\"1\" source=\"10\" target=\"14\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <hangup label=\"Hangup\" id=\"16\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/hangup_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"1180\" y=\"109.5678271308523\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </hangup>\n <mxCell id=\"17\" parent=\"1\" source=\"12\" target=\"16\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"18\" parent=\"1\" source=\"14\" target=\"16\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n',
- production: '<mxGraphModel scale=\"0.694\" grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"90\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <menu label=\"Menu\" file_id=\"2\" response=\"5\" digit=\"5\" retry=\"1\" variable_id=\"2\" id=\"4\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/menu_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"250\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </menu>\n <mxCell id=\"5\" parent=\"1\" source=\"2\" target=\"4\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <noop label=\"NoOp Debug ORDERNUM\" output=\"ORDER NUMBER: {ORDERNUM}\" id=\"6\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/noop_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"400\" y=\"109.56782713085232\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </noop>\n <mxCell id=\"7\" value=\"-\" parent=\"1\" source=\"4\" target=\"6\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <database label=\"Database Query EXAMPLE\" database_id=\"1\" query=\"SELECT status from orders WHERE id={ORDERNUM}\" variable_id=\"3\" id=\"8\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/integration_server/database_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"560\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </database>\n <mxCell id=\"9\" parent=\"1\" source=\"6\" target=\"8\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <gotoif label=\"GotoIf\" condition=\"{DBRESULT} == 1\" id=\"10\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/callflow/gotoif_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"730\" y=\"109.56782713085231\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </gotoif>\n <mxCell id=\"11\" parent=\"1\" source=\"8\" target=\"10\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <playback label=\"Playback Order shipped\" file_id=\"3\" skip=\"0\" noanswer=\"0\" id=\"12\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/playback_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"1010\" y=\"50\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </playback>\n <mxCell id=\"13\" value=\"true\" parent=\"1\" source=\"10\" target=\"12\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <playback label=\"Playback Order on elaboration\" file_id=\"4\" skip=\"0\" noanswer=\"0\" id=\"14\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/playback_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"1010\" y=\"189.56782713085232\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </playback>\n <mxCell id=\"15\" value=\"false\" parent=\"1\" source=\"10\" target=\"14\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <hangup label=\"Hangup\" id=\"16\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/hangup_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"1180\" y=\"109.5678271308523\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </hangup>\n <mxCell id=\"17\" parent=\"1\" source=\"12\" target=\"16\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"18\" parent=\"1\" source=\"14\" target=\"16\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n'
- }, {
- name: 'Survey',
- description: 'Survey IVR example',
- preproduction: '<mxGraphModel scale=\"0.833\" grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"70\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <menu label=\"Menu\" file_id=\"5\" response=\"5\" digit=\"1\" retry=\"1\" variable_id=\"4\" id=\"3\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/menu_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"222\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </menu>\n <mxCell id=\"4\" parent=\"1\" source=\"2\" target=\"3\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <noop label=\"NoOp\" output=\"\" id=\"5\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/noop_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"378.99999999999994\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </noop>\n <mxCell id=\"6\" value=\"1,2,3,4,5\" parent=\"1\" source=\"3\" target=\"5\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <database label=\"Database\" database_id=\"2\" query=\"INSERT INTO survey (agent, queue, result)
VALUES ({MEMBERINTERFACE}, {QUEUENAME}, {RATE})\" variable_id=\"4\" id=\"7\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/integration_server/database_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"670\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </database>\n <hangup label=\"Hangup\" id=\"10\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/hangup_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"838\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </hangup>\n <mxCell id=\"12\" parent=\"1\" source=\"7\" target=\"10\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <playback label=\"Playback Thank you\" file_id=\"6\" skip=\"0\" noanswer=\"0\" id=\"13\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/playback_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"520\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </playback>\n <mxCell id=\"14\" parent=\"1\" source=\"5\" target=\"13\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"15\" parent=\"1\" source=\"13\" target=\"7\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n',
- production: '<mxGraphModel scale=\"0.833\" grid=\"1\" guides=\"1\" tooltips=\"1\" connect=\"1\" fold=\"1\" page=\"0\" pageScale=\"1\" pageWidth=\"826\" pageHeight=\"1169\">\n <root>\n <mxCell id=\"0\"/>\n <mxCell id=\"1\" parent=\"0\"/>\n <start label=\"Start\" id=\"2\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/entry/start_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"70\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </start>\n <menu label=\"Menu\" file_id=\"5\" response=\"5\" digit=\"1\" retry=\"1\" variable_id=\"4\" id=\"3\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/menu_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"222\" y=\"110\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </menu>\n <mxCell id=\"4\" parent=\"1\" source=\"2\" target=\"3\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <noop label=\"NoOp\" output=\"\" id=\"5\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/general/noop_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"378.99999999999994\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </noop>\n <mxCell id=\"6\" value=\"1,2,3,4,5\" parent=\"1\" source=\"3\" target=\"5\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <database label=\"Database\" database_id=\"2\" query=\"INSERT INTO survey (agent, queue, result)
VALUES ({MEMBERINTERFACE}, {QUEUENAME}, {RATE})\" variable_id=\"4\" id=\"7\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/integration_server/database_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"670\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </database>\n <hangup label=\"Hangup\" id=\"10\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/call_management/hangup_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"838\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </hangup>\n <mxCell id=\"12\" parent=\"1\" source=\"7\" target=\"10\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <playback label=\"Playback Thank you\" file_id=\"6\" skip=\"0\" noanswer=\"0\" id=\"13\">\n <mxCell style=\"image;image=/assets/plugins/square/stencils/playback/playback_128x128.png\" parent=\"1\" vertex=\"1\">\n <mxGeometry x=\"520\" y=\"110.13565426170464\" width=\"80\" height=\"80\" as=\"geometry\"/>\n </mxCell>\n </playback>\n <mxCell id=\"14\" parent=\"1\" source=\"5\" target=\"13\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n <mxCell id=\"15\" parent=\"1\" source=\"13\" target=\"7\" edge=\"1\">\n <mxGeometry relative=\"1\" as=\"geometry\"/>\n </mxCell>\n </root>\n</mxGraphModel>\n'
- }])
- .then(function(projects) {
- console.log(util.format('Populating Square Project: %s - DONE ', _.map(projects, 'name').join()));
- });
-
- models.SquareOdbc
- .create({
- name: 'xcally',
- dsn: 'DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=xC@LL1234;DATABASE=motion'
- })
- .then(function(squareOdbc) {
- console.log(util.format('Populating Square ODBC: %s - DONE ', squareOdbc.name));
- });
-
- var newIntegrations = [{
- name: 'Zendesk',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/zendesk2.png',
- state: 'zendesk',
- description: 'Start using xCALLY - Zendesk integration: Auto-Generated Tickets, fully customizable comments, Custom Fields management, Tag support and Simple Setup',
- link: 'https://wiki.xcallymotion.com/display/XMD/Zendesk+integration'
- }, {
- name: 'Salesforce',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/salesforce2.png',
- state: 'salesforce',
- description: 'Start using xCALLY - Salesforce integration: Auto-Generated Tasks, fully customizable comments, Custom Fields management and OpenCTI support',
- link: 'https://wiki.xcallymotion.com/display/XMD/Salesforce+integration'
- }, {
- name: 'iFrame',
- version: '1.0.0',
- author: 'XeniaLAB s.r.l.',
- logo: 'assets/images/media/iframe.png',
- state: 'iframe',
- description: 'Start using iFrame integration: enable your agents to view external pages (like your CRM) directly from Motion GUI',
- link: 'https://wiki.xcallymotion.com/display/XMD/iFrame+Integration'
- }];
-
- models.Integration
- .findAll()
- .then(function(oldIntegrations) {
- var bulkIntegrations = [];
- oldIntegrations = _.map(oldIntegrations, 'state');
- newIntegrations.forEach(function(integration) {
- if (_.includes(oldIntegrations, integration.state)) {
- bulkIntegrations.push(models.Integration.update(integration, {
- where: {
- state: integration.state
- }
- }));
- } else {
- bulkIntegrations.push(models.Integration.create(integration));
- }
- });
- return bulkIntegrations;
- })
- .all()
- .then(function() {
- console.log('Finished populating integrations');
- })
- .catch(function(err) {
- console.log('Error populating integrations:', err);
- });
-
- models.Company
- .bulkCreate([{
- name: 'Acme',
- type: 'ltd',
- street: 'Acme Sreet',
- }, {
- name: 'Xenialab',
- type: 'srl',
- street: 'C.so Vittorio Emanuele II, 111',
- postalCode: '10128',
- country: 'Italy',
- city: 'Turin',
- vat: '09668910012',
- website: 'http://www.xenialab.com/',
- phone: '+39 011.19886500',
- fax: '+39 011.0960070',
- email: 'info@xcally.com'
- }])
- .then(function(companies) {
- console.log(util.format('Populating Companies: %s - DONE ', _.map(companies, 'name').join()));
- });
-
- models.Dashboard
- .destroy({
- where: {
- defaultEntry: true
- }
- })
- .then(function() {
- return models.Dashboard
- .bulkCreate([{
- name: 'Inbound Calls',
- model: JSON.stringify({
- "title": "Voice Inbound",
- "rows": [{
- "columns": [{
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "blue-madison",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "report": "report_queue_history",
- "condition": "queuecallerabandon=0 AND queuecallercomplete=0 AND queuecallerexit=0 AND queuecallerleaveAt is not null",
- "details": "Active Calls",
- "select": "COUNT(*)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1454772532346-10"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "blue-madison",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "report": "report_queue_history",
- "condition": "queuecallercomplete=1",
- "details": "Total Answered",
- "select": "COUNT(*)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1456841031111-8"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "blue-madison",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(SUM(queuecallercomplete) / (SUM(queuecallercomplete)+SUM(queuecallerabandon)) *100,1)",
- "report": "report_queue_history",
- "condition": "1",
- "details": "Answer Rate(%)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457270124802-4"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "blue-madison",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(ROUND(AVG(talktime),0))",
- "report": "report_agent_history",
- "condition": "agentcomplete=1",
- "details": "Avg Talk Time"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457270214766-5"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "green-haze",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(SUM(CASE WHEN queuecallercomplete=1 AND (UNIX_TIMESTAMP(queuecallerleaveAt)-UNIX_TIMESTAMP(queuecallerjoinAt) < 10) THEN 1 ELSE 0 END)/(SUM(queuecallercomplete) + SUM(CASE WHEN queuecallerabandon=1 AND (UNIX_TIMESTAMP(queuecallerleaveAt)-UNIX_TIMESTAMP(queuecallerjoinAt) > 10) THEN 1 ELSE 0 END)) *100,1)",
- "report": "report_queue_history",
- "condition": "1",
- "details": "Service Level 10 (%)"
- },
- "title": "SERVICE LEVEL",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457366965794-3"
- }],
- "cid": "1456841191661-21"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "red-intense",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "report": "report_queue_history",
- "condition": "queuecallerleaveAt IS NULL",
- "details": "Waiting Calls",
- "select": "COUNT(*)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1456839870449-5"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "red-intense",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "report": "report_queue_history",
- "condition": "queuecallerabandon=1",
- "details": "Total Abandoned",
- "select": "COUNT(*)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1456841244931-27"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "red-intense",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(SUM(queuecallerabandon) / (SUM(queuecallercomplete)+SUM(queuecallerabandon)) *100,1)",
- "report": "report_queue_history",
- "condition": "1",
- "details": "Abandon Rate (%)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457269033923-3"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "yellow-casablanca",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(ROUND(AVG(holdtime),0))",
- "report": "report_agent_history",
- "condition": "agentcomplete=1",
- "details": "Avg Answer Time"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457270230324-8"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "condition": "1",
- "color": "green-haze",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(SUM(CASE WHEN queuecallercomplete=1 AND (UNIX_TIMESTAMP(queuecallerleaveAt)-UNIX_TIMESTAMP(queuecallerjoinAt) < 15) THEN 1 ELSE 0 END)/(SUM(queuecallercomplete) + SUM(CASE WHEN queuecallerabandon=1 AND (UNIX_TIMESTAMP(queuecallerleaveAt)-UNIX_TIMESTAMP(queuecallerjoinAt) > 15) THEN 1 ELSE 0 END)) *100,1)",
- "report": "report_queue_history",
- "details": "Service Level 15 (%)"
- },
- "title": "SERVICE LEVEL 15",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457952734590-1"
- }],
- "cid": "1456841191662-22"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "blue-madison",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(MAX(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(queuecallerleaveAt)))",
- "report": "report_queue_history",
- "condition": "queuecallerabandon=0 AND queuecallercomplete=0 AND queuecallerexit=0 AND queuecallerleaveAt is not null",
- "details": "Longest Active Call"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457275258494-11"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "yellow-casablanca",
- "icon": "fa-bar-chart",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(distinct uniqueid)",
- "report": "report_queue_history",
- "details": "Total Offered",
- "condition": "1"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457269010616-1"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "yellow-casablanca",
- "icon": "fa-bar-chart",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(COUNT(DISTINCT uniqueid)/HOUR(CURRENT_TIMESTAMP()),1)",
- "report": "report_queue_history",
- "condition": "1",
- "details": "Avg Offered Per Hour"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457275263022-12"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "red-intense",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(ROUND(AVG(UNIX_TIMESTAMP(queuecallerabandonAt)- UNIX_TIMESTAMP(queuecallerJoinAt)),0))",
- "report": "report_queue_history",
- "condition": "queuecallerabandon=1",
- "details": "Avg Abandon Time"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457270223870-7"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "condition": "1",
- "color": "green-haze",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(SUM(CASE WHEN queuecallercomplete=1 AND (UNIX_TIMESTAMP(queuecallerleaveAt)-UNIX_TIMESTAMP(queuecallerjoinAt) < 20) THEN 1 ELSE 0 END)/(SUM(queuecallercomplete) + SUM(CASE WHEN queuecallerabandon=1 AND (UNIX_TIMESTAMP(queuecallerleaveAt)-UNIX_TIMESTAMP(queuecallerjoinAt) > 20) THEN 1 ELSE 0 END)) *100,1)",
- "report": "report_queue_history",
- "details": "Service Level 20 (%)"
- },
- "title": "SERVICE LEVEL 20",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457952751605-2"
- }],
- "cid": "1456841191663-23"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "red-intense",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(MAX(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(queuecallerjoinAt)))",
- "report": "report_queue_history",
- "condition": "queuecallerleaveAt IS NULL",
- "details": "Oldest Waiting Call"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457275254061-10"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "red-intense",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(*)",
- "condition": "queuecallerexit=1",
- "report": "report_queue_history",
- "details": "Unmanaged"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457269022062-2"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "yellow-crusta",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(ROUND(AVG(acwtime),0))",
- "report": "report_agent_history",
- "condition": "agentcomplete=1",
- "details": "Avg ACW Time"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457270219355-6"
- }],
- "cid": "1456841191664-24"
- }]
- }],
- "titleTemplateUrl": "../src/templates/dashboard-title.html",
- "structure": "3-3-3-3"
- }),
- defaultEntry: true,
- editable: true
- }, {
- name: 'Outbound Calls',
- model: JSON.stringify({
- "title": "Outbound Calls",
- "rows": [{
- "columns": [{
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "purple-plum",
- "icon": "fa-globe",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(*)",
- "report": "report_call_history",
- "condition": "type=\"outbound\"",
- "details": "Manual Outbound"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457276458424-14"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "condition": "type=\"outbound\" AND disposition=\"ANSWERED\"",
- "color": "green-haze",
- "icon": "fa-globe",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(*)",
- "report": "report_call_history",
- "details": "Answered"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457718579522-2"
- }],
- "cid": "1456841191661-21"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "purple-plum",
- "icon": "fa-globe",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(SUM(duration))",
- "report": "report_call_history",
- "condition": "type=\"outbound\"",
- "details": "Global Duration"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457276453465-13"
- }, {
- "type": "counter",
- "config": {
- "timeout": 5,
- "condition": "type=\"outbound\"",
- "color": "yellow-casablanca",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "ROUND(SUM(IF(disposition=\"ANSWERED\",1,0))/COUNT(*)*100,1)",
- "report": "report_call_history",
- "details": "Answer Rate (%)"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457718591243-3"
- }],
- "cid": "1456841191662-22"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "condition": "type=\"outbound\"",
- "color": "blue-madison",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "SEC_TO_TIME(ROUND(AVG(duration),0))",
- "report": "report_call_history",
- "details": "Avg Duration"
- },
- "title": "CALLS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457718482396-1"
- }],
- "cid": "1456841191663-23"
- }, {
- "styleClass": "col-md-3",
- "widgets": [],
- "cid": "1456841191664-24"
- }]
- }],
- "titleTemplateUrl": "../src/templates/dashboard-title.html",
- "structure": "3-3-3-3"
- }),
- defaultEntry: true,
- editable: true
- }, {
- name: 'Agents Status',
- model: JSON.stringify({
- "title": "Agents Status",
- "rows": [{
- "columns": [{
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "purple-plum",
- "icon": "fa-globe",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(*)",
- "report": "users",
- "condition": "online=1 AND role=\"agent\"",
- "details": "Logged"
- },
- "title": "AGENTS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457275248521-9"
- }],
- "cid": "1456841191661-21"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "yellow-crusta",
- "icon": "fa-globe",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(*)",
- "report": "users",
- "condition": "online=1 AND role=\"agent\" AND (voicePause=1 OR chatPause=1 OR mailPause=1 OR faxPAuse=1) and pauseType !=\"ACW\"",
- "details": "Paused"
- },
- "title": "AGENTS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457276462846-15"
- }],
- "cid": "1456841191662-22"
- }, {
- "styleClass": "col-md-3",
- "widgets": [{
- "type": "counter",
- "config": {
- "timeout": 5,
- "color": "yellow-casablanca",
- "icon": "fa-comments",
- "link": "#",
- "linkText": "VIEW MORE",
- "reportTables": [{
- "name": "Agents",
- "value": "report_agent"
- }, {
- "name": "Calls",
- "value": "report_call"
- }, {
- "name": "Dials",
- "value": "report_dial"
- }, {
- "name": "Queues",
- "value": "report_queue"
- }, {
- "name": "Users",
- "value": "users"
- }, {
- "name": "Chat Sessions",
- "value": "report_chat_session"
- }, {
- "name": "Mail Sessions",
- "value": "report_mail_session"
- }],
- "colors": [{
- "name": "Blue",
- "value": "blue-madison"
- }, {
- "name": "Red",
- "value": "red-intense"
- }, {
- "name": "Green",
- "value": "green-haze"
- }, {
- "name": "Purple",
- "value": "purple-plum"
- }, {
- "name": "Orange",
- "value": "yellow-casablanca"
- }, {
- "name": "Yellow",
- "value": "yellow-crusta"
- }],
- "icons": [{
- "name": "Talk bubbles",
- "value": "fa-comments"
- }, {
- "name": "Bar Chart",
- "value": "fa-bar-chart"
- }, {
- "name": "Shopping Cart",
- "value": "fa-shopping-cart"
- }, {
- "name": "Globe",
- "value": "fa-globe"
- }],
- "select": "COUNT(*)",
- "report": "users",
- "condition": "voicePause=1 and pauseType=\"ACW\"",
- "details": "ACW"
- },
- "title": "AGENTS",
- "titleTemplateUrl": "../src/templates/widget-title.html",
- "wid": "1457360464208-1"
- }],
- "cid": "1456841191663-23"
- }, {
- "styleClass": "col-md-3",
- "widgets": [],
- "cid": "1456841191664-24"
- }]
- }],
- "titleTemplateUrl": "../src/templates/dashboard-title.html",
- "structure": "3-3-3-3"
- }),
- defaultEntry: true,
- editable: true
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- });
- })
- .then(function(dashboards) {
- console.log(util.format('Populating Dashboards: %s - DONE ', _.map(dashboards, 'name').join()));
- });
-
- models.Setting
- .bulkCreate([{
- id: 1,
- min_internal: 1000,
- min_mailbox: 1000,
- agi_port: 4573,
- automation_timeout: 3600,
- soundPath: '/var/opt/motion/server/files/sounds/converted'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- }).then(function() {
- console.log(util.format('Populating Setting - DONE '));
- });
-
- // Init modules table
-
- var newModules = [{
- id: 1,
- name: "dashboard",
- title: "APPLICATION_DASHBOARD",
- ModuleId: null,
- path: '/dashboard/voice'
- }, {
- id: 2,
- name: "yourdashboards",
- title: "APPLICATION_YOUR_DASHBOARDS",
- ModuleId: null,
- path: '/tools/yourdashboards/show/1'
- }, {
- id: 3,
- name: "staff",
- title: "APPLICATION_STAFF",
- ModuleId: null,
- path: '/staff/agents/list'
- }, {
- id: 4,
- name: "agents",
- title: "APPLICATION_AGENTS",
- ModuleId: 3,
- path: '/staff/agents/list'
- }, {
- id: 5,
- name: "contactmanager",
- title: "APPLICATION_CONTACT_MANAGER",
- ModuleId: null,
- path: '/contactmanager/contacts/list'
- }, {
- id: 6,
- name: "channels",
- title: "APPLICATION_CHANNELS",
- ModuleId: null,
- path: null
- }, {
- id: 7,
- name: "voice",
- title: "APPLICATION_VOICE",
- ModuleId: 6,
- path: '/channels/voice/queues/list'
- }, {
- id: 8,
- name: "chat",
- title: "APPLICATION_CHAT",
- ModuleId: 6,
- path: '/channels/chat/websites/list'
- }, {
- id: 9,
- name: "mail",
- title: "APPLICATION_MAIL",
- ModuleId: 6,
- path: '/channels/mail/accounts/list'
- }, {
- id: 10,
- name: "fax",
- title: "APPLICATION_FAX",
- ModuleId: 6,
- path: '/channels/fax/accounts/list'
- }, {
- id: 11,
- name: "sms",
- title: "APPLICATION_SMS",
- ModuleId: 6,
- path: '/channels/sms/accounts/list'
- }, {
- id: 12,
- name: "realtime",
- title: "APPLICATION_REALTIME",
- ModuleId: 6,
- path: '/channels/realtime/view/agents'
- }, {
- id: 13,
- name: "tools",
- title: "APPLICATION_TOOLS",
- ModuleId: null,
- path: '/tools/triggers/list'
- }, {
- id: 14,
- name: "square",
- title: "APPLICATION_CALLYSQUARE",
- ModuleId: null,
- path: '/square/projects/list'
- }, {
- id: 15,
- name: "jscripty",
- title: "APPLICATION_JSCRIPTY",
- ModuleId: null,
- path: '/jscripty/projects/list'
- }, {
- id: 16,
- name: "motiondialer",
- title: "APPLICATION_MOTION_DIALER",
- ModuleId: null,
- path: '/motiondialer/lists/list'
- }, {
- id: 17,
- name: "analytics",
- title: "APPLICATION_ANALYTICS",
- ModuleId: null,
- path: '/analytics/reports/list'
- }, {
- id: 18,
- name: "setting",
- title: "APPLICATION_SETTINGS",
- ModuleId: null,
- path: '/setting/updates/list'
- }, {
- id: 19,
- name: "integration",
- title: "APPLICATION_INTEGRATION",
- ModuleId: null,
- path: '/integrations/list'
- }, {
- id: 20,
- name: "openchannel",
- title: "APPLICATION_OPEN_CHANNEL",
- ModuleId: 6,
- path: '/channels/openchannel/accounts/list'
- }];
-
- models.Module
- .findAll()
- .then(function(oldModules) {
- var bulkModules = [];
- oldModules = _.map(oldModules, 'id');
- newModules.forEach(function(module) {
- if (_.includes(oldModules, module.id)) {
- bulkModules.push(models.Module.update(module, {
- where: {
- id: module.id
- }
- }));
- } else {
- bulkModules.push(models.Module.create(module));
- }
- });
- return bulkModules;
- })
- .all()
- .then(function() {
- console.log('Finished populating modules');
- })
- .catch(function(err) {
- console.log('Error populating modules:', err);
- });
-
- var newDefaulReports = [{
- "id": 1,
- "name": "Queue - Details",
- "description": null,
- "parent": "j4_3",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 2,
- "name": "Details",
- "description": "Calls details (cdr)",
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 3,
- "name": "Outbound",
- "description": "Manual outbound calls detail",
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'outbound'\"}]}}"
- }, {
- "id": 4,
- "name": "Calls by Queue",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 5,
- "name": "Details",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
- }, {
- "id": 6,
- "name": "Calls by Agent",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 7,
- "name": "Calls by Queue",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
- }, {
- "id": 8,
- "name": "Answer Time by Queue",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
- }, {
- "id": 9,
- "name": "Disconnection Cause",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
- }, {
- "id": 10,
- "name": "Details",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallercomplete\",\"value\":\"0\"}]}}"
- }, {
- "id": 11,
- "name": "Unanswered by Queue",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallercomplete\",\"value\":\"0\"}]}}"
- }, {
- "id": 12,
- "name": "Exit Cause",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallerexit\",\"value\":\"1\"}]}}"
- }, {
- "id": 13,
- "name": "Abandon Time by Queue",
- "description": null,
- "parent": "j4_6",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"queuecallerabandon\",\"value\":\"1\"}]}}"
- }, {
- "id": 14,
- "name": "Calls by Date",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 15,
- "name": "Calls by Hour",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 16,
- "name": "Calls by Day",
- "description": null,
- "parent": "j4_7",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 17,
- "name": "Calls by Type",
- "description": null,
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 18,
- "name": "Outbound Calls Disposition",
- "description": "Outbound calls grouped by disposition",
- "parent": "j20_1",
- "table": "report_call_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'outbound'\"}]}}"
- }, {
- "id": 19,
- "name": "Pause Time",
- "description": null,
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'PAUSE'\"},{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"'voice'\"}]}}"
- }, {
- "id": 20,
- "name": "Login Time",
- "description": null,
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'LOGIN'\"},{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"'voice'\"}]}}"
- }, {
- "id": 21,
- "name": "Website Summary",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 22,
- "name": "Session Detail",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}",
- }, {
- "id": 23,
- "name": "Chat by Agent",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"complete\",\"value\":\"1\"}]}}"
- }, {
- "id": 24,
- "name": "Chat by Queue",
- "description": null,
- "parent": "j4_1",
- "table": "report_chat_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"application\",\"value\":\"'queue'\"}]}}"
- }, {
- "id": 25,
- "name": "Details",
- "description": "Agents status details",
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"'voice'\"}]}}"
- }, {
- "id": 26,
- "name": "Summary",
- "description": "CallySquare Summary",
- "parent": "j112_1",
- "table": "report_square_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 27,
- "name": "Blocks",
- "description": "CallySquare Blocks",
- "parent": "j112_1",
- "table": "report_square_details_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 28,
- "name": "Login Details",
- "description": "Agents status details",
- "parent": "j24_1",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"'voice'\"},{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'LOGIN'\"}]}}"
- }, {
- "id": 29,
- "name": "Pause Time by Channel",
- "description": "",
- "parent": "j24_1",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'PAUSE'\"}]}}"
- }, {
- "id": 30,
- "name": "Pause Details",
- "description": "Agents status details",
- "parent": "j4_4",
- "table": "report_member_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"channel\",\"value\":\"'voice'\"},{\"condition\":\"=\",\"field\":\"type\",\"value\":\"'PAUSE'\"}]}}"
- }, {
- "id": 31,
- "name": "Rating by Agent",
- "description": null,
- "parent": "j20_3",
- "table": "voice_recordings",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 32,
- "name": "Rating by Queue",
- "description": null,
- "parent": "j20_3",
- "table": "voice_recordings",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"IS NOT EMPTY\",\"field\":\"queue\",\"value\":\"\",\"required\":false}]}}"
- }, {
- "id": 33,
- "name": "Queue - Calls",
- "description": null,
- "parent": "j4_3",
- "table": "report_queue_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 34,
- "name": "Answer Time by Hour",
- "description": null,
- "parent": "j4_5",
- "table": "report_agent_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"agentcomplete\",\"value\":\"1\"}]}}"
- }, {
- "id": 35,
- "name": "Received emails by account",
- "description": "Summary of the emails accepted by application for each account",
- "parent": "j4_2",
- "table": "report_mail_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 36,
- "name": "Received emails by queue",
- "description": "Summary of received email by queue",
- "parent": "j4_2",
- "table": "report_mail_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"application\",\"value\":\"'queue'\",\"required\":true}]}}"
- }, {
- "id": 37,
- "name": "Accepted emails by agent",
- "description": "Summary of accepted email by agent",
- "parent": "j4_2",
- "table": "report_mail_session_history",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"timeout\",\"value\":\"0\",\"required\":true}]}}"
- }, {
- "id": 38,
- "name": "Messages Summary by Date",
- "description": "Global messages summary by date",
- "parent": "j4_2",
- "table": "mail_messages",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"=\",\"field\":\"auto\",\"value\":false}]}}"
- }, {
- "id": 39,
- "name": "Interactions detail",
- "description": "Detailed report about the interactions",
- "parent": "j4_2",
- "table": "mail_rooms",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[]}}"
- }, {
- "id": 40,
- "name": "Disposition Summary",
- "description": "Closed interactions by disposition (filtered by disposition not null)",
- "parent": "j4_2",
- "table": "mail_rooms",
- "conditions": "{\"group\":{\"operator\":\"AND\",\"rules\":[{\"condition\":\"IS NOT NULL\",\"field\":\"disposition\",\"value\":\"\",\"required\":false}]}}"
- }, {
- "id": 41,
- "name": "Closed interactions by date",
- "description": "Summary of closed interactions grouped by date + average handle time (from when the first email arrived to when the interaction has been closed)",
- "parent": "j4_2",
- "table": "mail_rooms",
- "conditions": "{\"group\":{\"operator\":\"OR\",\"rules\":[{\"condition\":\"=\",\"field\":\"status\",\"value\":\"'CLOSED'\",\"required\":true}]}}"
- }];
-
- var newDefaultMetrics = [{
- "id": 1,
- "name": "Queue - TalkTime",
- "table": "report_queue_history",
- "metric": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)"
- }, {
- "id": 2,
- "name": "Queue - Abandon Time",
- "table": "report_queue_history",
- "metric": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)"
- }, {
- "id": 3,
- "name": "Abandoned <10s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <10,1,NULL))",
- "description": "Count of abandoned calls within 10 seconds (Short Calls)"
- }, {
- "id": 4,
- "name": "Queue - AnswerTime",
- "table": "report_queue_history",
- "metric": "IF(queuecallercomplete=1,holdtime,null)"
- }, {
- "id": 5,
- "name": "Answered < 10s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime<10,1,NULL))",
- "description": "Count of answered calls within 10 seconds"
- }, {
- "id": 6,
- "name": "Answered 10-20s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))",
- "description": "Count of answered calls between 10 and 20 seconds"
- }, {
- "id": 7,
- "name": "Answered 20-30s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))",
- "description": "Count of answered calls between 20 and 30 seconds"
- }, {
- "id": 8,
- "name": "Answered >30s",
- "table": "report_agent_history",
- "metric": "COUNT(IF(holdtime >=30,1,NULL))",
- "description": "Count of answered calls over 30 seconds"
- }, {
- "id": 9,
- "name": "Queue - Exit Time",
- "table": "report_queue_history",
- "metric": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)"
- }, {
- "id": 10,
- "name": "Abandoned 10-60s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=10 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <60,1,NULL))",
- "description": "Count of abandoned calls between 10 and 60 seconds"
- }, {
- "id": 11,
- "name": "Abandoned 60-120s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=60 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <120,1,NULL))",
- "description": "Count of abandoned calls between 60 and 120 seconds"
- }, {
- "id": 12,
- "name": "Queue - Abandoned >120s",
- "table": "report_queue_history",
- "metric": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=120,1,NULL))",
- "description": "Count of abandoned calls over 120 seconds"
- }, {
- "id": 13,
- "name": "Queue - JoinDate",
- "table": "report_queue_history",
- "metric": "DATE(queuecallerjoinat)",
- "description": "Extract the date of the join queue"
- }, {
- "id": 14,
- "name": "Queue - JoinHour",
- "table": "report_queue_history",
- "metric": "HOUR(queuecallerjoinat)",
- "description": "Extract the hour of the join queue"
- }, {
- "id": 15,
- "name": "Queue - JoinDay",
- "table": "report_queue_history",
- "metric": "DAY(queuecallerjoinat)",
- "description": "Extract the day of the join queue"
- }, {
- "id": 16,
- "name": "Member - Event Duration",
- "table": "report_member_history",
- "metric": "UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)",
- "description": "Member event duration in seconds"
- }, {
- "id": 17,
- "name": "Member - Total Event Duration",
- "table": "report_member_history",
- "metric": "SEC_TO_TIME(SUM(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)))",
- "description": "Total event duration"
- }, {
- "id": 18,
- "name": "Chat - Session Time",
- "table": "report_chat_session_history",
- "metric": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "description": "Session Time",
- }, {
- "id": 19,
- "name": "Chat - Queue",
- "table": "report_chat_session_history",
- "metric": "COUNT(IF(application=\"queue\",1,NULL))",
- "description": "Chat queue application count",
- }, {
- "id": 20,
- "name": "Chat - Agent",
- "table": "report_chat_session_history",
- "metric": "COUNT(IF(application=\"agent\",1,NULL))",
- "description": "Chat agent application count",
- }, {
- "id": 21,
- "name": "Chat - Avg Session Time",
- "table": "report_chat_session_history",
- "metric": "ROUND(AVG(UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)))",
- "description": "Average session time"
- }, {
- "id": 22,
- "name": "Member - Event Duration (HH:mm:ss)",
- "table": "report_member_history",
- "metric": "SEC_TO_TIME(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt))",
- "description": "Member events duration in time format"
- }, {
- "id": 23,
- "name": "Square - Duration",
- "table": "report_square_history",
- "metric": "UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)",
- "description": "IVR Duration"
- }, {
- "id": 24,
- "name": "Queue - EndTime Call",
- "table": "report_queue_history",
- "metric": "CASE WHEN queuecallercomplete=1 THEN queuecallercompleteAt ELSE queuecallerLeaveAt END",
- "description": null
- }, {
- "id": 25,
- "name": "Queue - Calls Result",
- "table": "report_queue_history",
- "metric": "CASE WHEN queuecallercomplete=1 THEN \"YES\" ELSE \"NO\" END",
- "description": "Show if a call is answered or not"
- }];
-
- models.ReportTree.destroy({
- where: {
- id: 1
- }
- })
- .then(function() {
- return models.ReportTree.create({
- id: 1,
- tree: '[{"id":"1","parent":"#","text":"Motion Reports","icon":"icon-rocket","state":{"selected":true,"opened":true}},{"id":"2","text":"Voice","icon":true,"li_attr":{"id":"2"},"a_attr":{"href":"#","id":"2_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"1"},{"id":"j4_3","text":"Queues","icon":true,"li_attr":{"id":"j4_3"},"a_attr":{"href":"#","id":"j4_3_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j4_5","text":"Answered","icon":true,"li_attr":{"id":"j4_5"},"a_attr":{"href":"#","id":"j4_5_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"j4_3"},{"id":"j4_6","text":"Unanswered","icon":true,"li_attr":{"id":"j4_6"},"a_attr":{"href":"#","id":"j4_6_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"j4_3"},{"id":"j4_7","text":"Distribution","icon":true,"li_attr":{"id":"j4_7"},"a_attr":{"href":"#","id":"j4_7_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"j4_3"},{"id":"j20_1","text":"Calls","icon":true,"li_attr":{"id":"j20_1"},"a_attr":{"href":"#","id":"j20_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j4_4","text":"Agents","icon":true,"li_attr":{"id":"j4_4"},"a_attr":{"href":"#","id":"j4_4_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j112_1","text":"CallySquare","icon":true,"li_attr":{"id":"j112_1"},"a_attr":{"href":"#","id":"j112_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"2"},{"id":"j20_2","text":"Integration","icon":true,"li_attr":{"id":"j20_2"},"a_attr":{"href":"#","id":"j20_2_anchor"},"state":{"loaded":true,"opened":false,"selected":true,"disabled":false},"data":{},"parent":"2"},{"id":"j20_3","text":"Recordings","icon":true,"li_attr":{"id":"j20_3"},"a_attr":{"href":"#","id":"j20_3_anchor"},"state":{"loaded":true,"opened":false,"selected":true,"disabled":false},"data":{},"parent":"2"},{"id":"j4_1","text":"Chat","icon":true,"li_attr":{"id":"j4_1"},"a_attr":{"href":"#","id":"j4_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"1"},{"id":"j4_2","text":"Mail","icon":true,"li_attr":{"id":"j4_2"},"a_attr":{"href":"#","id":"j4_2_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"1"},{"id":"j24_1","text":"Agents","icon":true,"li_attr":{"id":"j24_1"},"a_attr":{"href":"#","id":"j24_1_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{},"parent":"1"}]',
- })
- })
- .then(function() {
- return models.ReportTree.findOrCreate({
- where: {
- id: 2
- },
- defaults: {
- id: 2,
- tree: '[{"id":"1","text":"Custom Reports","icon":"icon-book-open","li_attr":{"id":"1"},"a_attr":{"href":"#","id":"1_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"#"},{"id":"2","text":"Basic Node","icon":true,"li_attr":{"id":"2"},"a_attr":{"href":"#","id":"2_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{},"parent":"1"}]'
- }
- })
- })
- .then(function() {
- return models.DefaultMetric.findAll();
- })
- .then(function(oldDefaultMetrics) {
- var bulkDefaultMetrics = [];
- oldDefaultMetrics = _.map(oldDefaultMetrics, 'id');
- newDefaultMetrics.forEach(function(defaultMet) {
- if (_.includes(oldDefaultMetrics, defaultMet.id)) {
- bulkDefaultMetrics.push(models.DefaultMetric.update(defaultMet, {
- where: {
- id: defaultMet.id
- }
- }));
- } else {
- bulkDefaultMetrics.push(models.DefaultMetric.create(defaultMet));
- }
- });
- return bulkDefaultMetrics;
- })
- .all()
- .then(function() {
- return models.DefaultReport.findAll()
- })
- .then(function(oldDefaultReports) {
- var bulkDefaultReports = [];
- oldDefaultReports = _.map(oldDefaultReports, 'id');
- newDefaulReports.forEach(function(defaultRep) {
- if (_.includes(oldDefaultReports, defaultRep.id)) {
- bulkDefaultReports.push(models.DefaultReport.update(defaultRep, {
- where: {
- id: defaultRep.id
- }
- }));
- } else {
- bulkDefaultReports.push(models.DefaultReport.create(defaultRep));
- }
- });
- return bulkDefaultReports;
- })
- .all()
- .then(function() {
- return models.ReportField.destroy({
- where: {
- DefaultReportId: {
- $gt: 0
- }
- }
- })
- })
- .then(function() {
- return models.ReportField.bulkCreate([{
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "calleridname",
- "alias": "CallerIdName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerjoinAt",
- "alias": "QueueJoinAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerleaveAt",
- "alias": "QueueLeaveAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerabandon",
- "alias": "QueueAbandon",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerabandonAt",
- "alias": "QueueAbandonAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallercomplete",
- "alias": "Complete",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallercompleteAt",
- "alias": "CompleteAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerexit",
- "alias": "QueueExit",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerexitAt",
- "alias": "QueueExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "queuecallerexitreason",
- "alias": "QueueExitReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "exten",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 1
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "TalkTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 1
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 1
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AbandonTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 1
- }, {
- "field": "uniqueid",
- "alias": "UniqueID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "type",
- "alias": "Type",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "tag",
- "alias": "Tag",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "source",
- "alias": "Source",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "destination",
- "alias": "Destination",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "callerid",
- "alias": "CallerID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "destinationchannel",
- "alias": "DestChannel",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "lastapplication",
- "alias": "LastApp",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "lastdata",
- "alias": "LastData",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "starttime",
- "alias": "StartTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "answertime",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "endtime",
- "alias": "EndTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "disposition",
- "alias": "Disposition",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 2
- }, {
- "field": "uniqueid",
- "alias": "UniqueID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "accountcode",
- "alias": "AgentExtension",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "source",
- "alias": "Source",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "destination",
- "alias": "Destination",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "callerid",
- "alias": "CallerId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "starttime",
- "alias": "StartTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "answertime",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "endtime",
- "alias": "EndTIme",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "billableseconds",
- "alias": "Billsec",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "disposition",
- "alias": "Disposition",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "tag",
- "alias": "Tag",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 3
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 4
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 4
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 4
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 4
- }, {
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "calleridname",
- "alias": "CallerIdName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentcalledAt",
- "alias": "AgentCalledAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentconnectAt",
- "alias": "AgentConnectAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentcompleteAt",
- "alias": "AgentCompleteAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "holdtime",
- "alias": "AnswerTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "talktime",
- "alias": "TalkTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentacw",
- "alias": "AgentACW",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "acwtime",
- "alias": "AgentACWTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "agentcomplete",
- "alias": "AgentComplete",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "reason",
- "alias": "HangupReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "lastevent",
- "alias": "LastEvent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "exten",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 5
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "agentcomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "agentringnoanswer",
- "alias": "RingNoAnswer",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "talktime",
- "alias": "TotTalkTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "acwtime",
- "alias": "TotACWTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "talktime",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "acwtime",
- "alias": "AvgACWTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 6
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "agentcomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "talktime",
- "alias": "Tot TalkTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "talktime",
- "alias": "Avg TalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "holdtime",
- "alias": "Tot HoldTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "holdtime",
- "alias": "Avg HoldTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "acwtime",
- "alias": "Tot ACWTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "acwtime",
- "alias": "Avg ACWTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 7
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 8
- }, {
- "field": "agentcomplete",
- "alias": "Tot Answered",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime<10,1,NULL))",
- "alias": "Answered <10s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 5,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))",
- "alias": "Answered 10-20s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 6,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))",
- "alias": "Answered 20-30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 7,
- "DefaultReportId": 8
- }, {
- "field": "COUNT(IF(holdtime >=30,1,NULL))",
- "alias": "Answered >30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 8,
- "DefaultReportId": 8
- }, {
- "field": "reason",
- "alias": "Reason",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 9
- }, {
- "field": "uniqueid",
- "alias": "Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 9
- }, {
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerjoinAt",
- "alias": "QueueJoinAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerleaveAt",
- "alias": "QueueLeaveAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerabandon",
- "alias": "QueueAbandon",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerabandonAt",
- "alias": "QueueAbandonAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Abandon Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerexit",
- "alias": "QueueExit",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerexitAt",
- "alias": "QueueExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queuecallerexitreason",
- "alias": "QueueExitReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Exit Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 10
- }, {
- "field": "position",
- "alias": "QueuePosition",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "exten",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 10
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 11
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Tot AbandonTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 11
- }, {
- "field": "queuecallerexit",
- "alias": "Exited",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Avg ExitedTIme",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 11
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Tot ExitedTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 11
- }, {
- "field": "queuecallerexitreason",
- "alias": "Reason",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 12
- }, {
- "field": "queuecallerexit",
- "alias": "Calls",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 12
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "Tot ExitTime",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 9,
- "DefaultReportId": 12
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 13
- }, {
- "field": "queuecallerabandon",
- "alias": "Tot Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <10,1,NULL))",
- "alias": "Abandoned<10s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 3,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=10 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <60,1,NULL))",
- "alias": "Abandoned 10-60s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 10,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=60 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <120,1,NULL))",
- "alias": "Abandoned 60-120s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 11,
- "DefaultReportId": 13
- }, {
- "field": "COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=120,1,NULL))",
- "alias": "Abandoned>120s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 12,
- "DefaultReportId": 13
- }, {
- "field": "DATE(queuecallerjoinat)",
- "alias": "Date",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultMetricId": 13,
- "DefaultReportId": 14
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 14
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 14
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 14
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 14
- }, {
- "field": "HOUR(queuecallerjoinat)",
- "alias": "Hour",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultMetricId": 14,
- "DefaultReportId": 15
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 15
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 15
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 15
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 15
- }, {
- "field": "DAY(queuecallerjoinat)",
- "alias": "Day",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultMetricId": 15,
- "DefaultReportId": 16
- }, {
- "field": "uniqueid",
- "alias": "Offered",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "queuecallercomplete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "queuecallerabandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "queuecallerexit",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 16
- }, {
- "field": "UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)",
- "alias": "AvgTalkTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 1,
- "DefaultReportId": 16
- }, {
- "field": "UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)",
- "alias": "AvgAbandonTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 2,
- "DefaultReportId": 16
- }, {
- "field": "IF(queuecallercomplete=1,holdtime,null)",
- "alias": "AvgAnswerTime",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 4,
- "DefaultReportId": 16
- }, {
- "field": "type",
- "alias": "Type",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "uniqueid",
- "alias": "Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "duration",
- "alias": "Tot Duration",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "duration",
- "alias": "Avg Duration",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 17
- }, {
- "field": "disposition",
- "alias": "Disposition",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "uniqueid",
- "alias": "Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "duration",
- "alias": "Tot Duration",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "duration",
- "alias": "Avg Duration",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 18
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": "ASC",
- "DefaultReportId": 19
- }, {
- "field": "data1",
- "alias": "PauseType",
- "function": null,
- "groupBy": 1,
- "orderBy": "ASC",
- "DefaultReportId": 19
- }, {
- "field": "SEC_TO_TIME(SUM(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)))",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 17,
- "DefaultReportId": 19
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": "ASC",
- "DefaultReportId": 20,
- }, {
- "field": "SEC_TO_TIME(SUM(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)))",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 17,
- "DefaultReportId": 20,
- }, {
- "field": "uniqueid",
- "alias": "UniqueId",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "websitename",
- "alias": "Website",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "visitorname",
- "alias": "VisitorName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- }, {
- "field": "visitoremail",
- "alias": "VisitorEmail",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "membername",
- "alias": "MemeberName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "queuename",
- "alias": "QueueName",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "joinAt",
- "alias": "JoinAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "leaveAt",
- "alias": "LeaveAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "completeAt",
- "alias": "CompleteAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "complete",
- "alias": "Complete",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "completeReason",
- "alias": "CompleteReason",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "abandon",
- "alias": "Abandon",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "unmanaged",
- "alias": "Unmanage",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 22,
- "format": null
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "complete",
- "alias": "Session",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "COUNT(IF(application=\"queue\",1,NULL))",
- "alias": "FromQueue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "createdAt": "2016-05-14 18:13:01",
- "updatedAt": "2016-05-14 18:13:01",
- "DefaultMetricId": 19,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "COUNT(IF(application=\"agent\",1,NULL))",
- "alias": "DirectToAgent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 20,
- "DefaultReportId": 23,
- "format": null
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Tot Session Time",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 23,
- "format": "SEC_TO_TIME"
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Avg Session Time",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 23,
- "format": "SEC_TO_TIME"
- }, {
- "field": "websitename",
- "alias": "WebSite",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "uniqueid",
- "alias": "Sessions",
- "function": "COUNT DISTINCT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "complete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "abandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 21,
- "format": null
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Session Time",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 21,
- "format": "SEC_TO_TIME"
- }, {
- "field": "ROUND(AVG(UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)))",
- "alias": "Avg Session Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 21,
- "DefaultReportId": 21,
- "format": "SEC_TO_TIME"
- }, {
- "field": "queuename",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "uniqueid",
- "alias": "Sessions",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "complete",
- "alias": "Completed",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "abandon",
- "alias": "Abandoned",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "unmanaged",
- "alias": "Unmanaged",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 24,
- "format": null
- }, {
- "field": "UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)",
- "alias": "Session Time",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 18,
- "DefaultReportId": 24,
- "format": "SEC_TO_TIME"
- }, {
- "field": "ROUND(AVG(UNIX_TIMESTAMP(completeAt)-UNIX_TIMESTAMP(leaveAt)))",
- "alias": "Avg Session Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 21,
- "DefaultReportId": 24,
- "format": "SEC_TO_TIME"
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "interface",
- "alias": "Interface",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "type",
- "alias": "Event",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "data1",
- "alias": "Pause/ACW Queue",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "enterAt",
- "alias": "EnterAt",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "exitAt",
- "alias": "ExitAt",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 25,
- }, {
- "field": "SEC_TO_TIME(UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt))",
- "alias": "Duration",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 22,
- "DefaultReportId": 25
- }, {
- "field": "project_name",
- "alias": "Project Name",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26
- }, {
- "field": "uniqueid",
- "alias": "UniqueID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "callerid",
- "alias": "CallerID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "dnid",
- "alias": "DID",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "joinAt",
- "alias": "Start Time",
- "function": null,
- "groupBy": 0,
- "orderBy": "ASC",
- "DefaultReportId": 26,
- }, {
- "field": "leaveAt",
- "alias": "End Time",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 26,
- }, {
- "field": "UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 23,
- "DefaultReportId": 26,
- "format": "SEC_TO_TIME"
- }, {
- "field": "project_name",
- "alias": "Project Name",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "callerid",
- "alias": "Caller Id",
- "function": null,
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "uniqueid",
- "alias": "Unique Id",
- "function": null,
- "format": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "node",
- "alias": "Blocks",
- "function": "GROUP_CONCAT",
- "format": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 27,
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- }, {
- "field": "enterAt",
- "alias": "EnterAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- }, {
- "field": "exitAt",
- "alias": "ExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 28,
- "format": "SEC_TO_TIME"
- }, {
- "field": "channel",
- "alias": "Channel",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 29,
- }, {
- "field": "data1",
- "alias": "Type",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 29,
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 29,
- "format": "SEC_TO_TIME"
- }, {
- "field": "membername",
- "alias": "Agent",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "enterAt",
- "alias": "EnterAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "exitAt",
- "alias": "ExitAt",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "data1",
- "alias": "Pause",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30
- }, {
- "field": "duration",
- "alias": "Duration",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 30,
- "format": "SEC_TO_TIME"
- }, {
- "field": "connectedlinename",
- "alias": "Agent",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "uniqueid",
- "alias": "Recorded Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "rating",
- "alias": "Total Rating",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "rating",
- "alias": "Avg Rating",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 31
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "uniqueid",
- "alias": "Recorded Calls",
- "function": "COUNT",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "rating",
- "alias": "Total Rating",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "rating",
- "alias": "Avg Rating",
- "function": "AVG",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 32
- }, {
- "field": "calleridnum",
- "alias": "CallerIdNum",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33
- }, {
- "field": "queue",
- "alias": "Queue",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33
- }, {
- "field": "queuecallerjoinAt",
- "alias": "StartTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33
- }, {
- "field": "CASE WHEN queuecallercomplete=1 THEN queuecallercompleteAt ELSE queuecallerLeaveAt END",
- "alias": "EndTime",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33,
- "DefaultMetricId": 24
- }, {
- "field": "CASE WHEN queuecallercomplete=1 THEN \"YES\" ELSE \"NO\" END",
- "alias": "Answered",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 33,
- "DefaultMetricId": 25
- }, {
- "field": "agentconnectAt",
- "alias": "Hour",
- "function": null,
- "groupBy": 1,
- "orderBy": null,
- "DefaultReportId": 34,
- "format": "HOUR"
- }, {
- "field": "agentcomplete",
- "alias": "Tot Answered",
- "function": "SUM",
- "groupBy": 0,
- "orderBy": null,
- "DefaultReportId": 34,
- }, {
- "field": "COUNT(IF(holdtime<10,1,NULL))",
- "alias": "Answered <10s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 5,
- "DefaultReportId": 34
- }, {
- "field": "COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))",
- "alias": "Answered 10-20s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 6,
- "DefaultReportId": 34
- }, {
- "field": "COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))",
- "alias": "Answered 20-30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 7,
- "DefaultReportId": 34
- }, {
- "field": "COUNT(IF(holdtime >=30,1,NULL))",
- "alias": "Answered >30s",
- "function": null,
- "groupBy": 0,
- "orderBy": null,
- "DefaultMetricId": 8,
- "DefaultReportId": 34
- }, {
- "field": "accountname",
- "alias": "Account",
- "groupBy": 1,
- "custom": 0,
- "DefaultReportId": 35
- }, {
- "field": "uniqueid",
- "alias": "Received",
- "function": "COUNT DISTINCT",
- "groupBy": 0,
- "custom": 0,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0,1,null)",
- "alias": "Accepted",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "ROUND(SUM(IF(timeout=0,1,null))/COUNT(DISTINCT(uniqueid))*100,1)",
- "alias": "Accept Rate",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0 AND application=\"queue\",1,null)",
- "alias": "Accepted by Queue",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0 AND application=\"fidelity\",1,null)",
- "alias": "Accept by Fidelity",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "IF(timeout=0 AND application=\"agent\",1,null)",
- "alias": "Accepted by Agent",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 35
- }, {
- "field": "queuename",
- "alias": "Queue",
- "groupBy": 1,
- "custom": 0,
- "DefaultReportId": 36
- }, {
- "field": "uniqueid",
- "alias": "Received",
- "function": "COUNT",
- "groupBy": 0,
- "custom": 0,
- "DefaultReportId": 36
- }, {
- "field": "IF(timeout=0,1,0)",
- "alias": "Accepted",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 36
- }, {
- "field": "timeout",
- "alias": "Timeout",
- "function": "SUM",
- "groupBy": 0,
- "DefaultReportId": 36
- }, {
- "field": "ROUND(SUM(IF(timeout=0,1,null))/COUNT(uniqueid)*100,1)",
- "alias": "Accept Rate",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 36
- }, {
- "field": "ROUND(AVG(IF(timeout=0,UNIX_TIMESTAMP(leaveat)- UNIX_TIMESTAMP(joinat),NULL)))",
- "alias": "Avg Accept Time",
- "groupBy": 0,
- "format": "SEC_TO_TIME",
- "custom": 1,
- "DefaultReportId": 36
- }, {
- "field": "membername",
- "alias": "membername",
- "groupBy": 1,
- "custom": 0,
- "DefaultReportId": 36
- }, {
- "field": "uniqueid",
- "alias": "Tot Accepted",
- "function": "COUNT",
- "groupBy": 0,
- "custom": 0,
- "DefaultReportId": 37
- }, {
- "field": "IF(application=\"fidelity\",1,0)",
- "alias": "Fidelity",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 37
- }, {
- "field": "IF(application=\"agent\",1,0)",
- "alias": "Agent",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 37
- }, {
- "field": "IF(application=\"queue\",1,0)",
- "alias": "Queue",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 37
- }, {
- "field": "createdAt",
- "alias": "Date",
- "groupBy": 1,
- "custom": 0,
- "format": "DATE",
- "DefaultReportId": 38
- }, {
- "field": "IF(status=\"RECEIVED\",1,0)",
- "alias": "Received",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 38
- }, {
- "field": "IF(status=\"SENT\",1,0)",
- "alias": "Sent",
- "function": "SUM",
- "groupBy": 0,
- "custom": 1,
- "DefaultReportId": 38
- }, {
- "field": "id",
- "alias": "id",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "account",
- "alias": "account",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "status",
- "alias": "status",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "lastEvent",
- "alias": "lastEvent",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "createdAt",
- "alias": "createdAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "arrivedAt",
- "alias": "arrivedAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "openedAt",
- "alias": "openedAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "closedAt",
- "alias": "closedAt",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "mailIn",
- "alias": "mailIn",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "mailOut",
- "alias": "mailOut",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "tags",
- "alias": "tags",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "disposition",
- "alias": "disposition",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "ParentId",
- "alias": "ParentId",
- "groupBy": 0,
- "DefaultReportId": 39,
- "custom": 0
- }, {
- "field": "disposition",
- "alias": "disposition",
- "groupBy": 1,
- "DefaultReportId": 40,
- "custom": 0
- }, {
- "field": "count(*)",
- "alias": "interactions",
- "groupBy": 0,
- "DefaultReportId": 40,
- "custom": 1
- }, {
- "field": "closedAt",
- "alias": "closedAt",
- "groupBy": 1,
- "DefaultReportId": 41,
- "format": "DATE",
- "custom": 0
- }, {
- "field": "id",
- "alias": "Interactions",
- "function": "COUNT",
- "groupBy": 0,
- "DefaultReportId": 41,
- "custom": 0
- }, {
- "field": "ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(arrivedAt)))",
- "alias": "Avg Handle Time",
- "groupBy": 0,
- "DefaultReportId": 41,
- "format": "SEC_TO_TIME",
- "custom": 1
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- }).then(function() {
- console.log('Populating Analytics');
- }).catch(function(err) {
- console.log('Error populating Analytics:', err);
- });
-
- models.VoiceExtension.destroy({
- where: {
- context: 'outbound-fax'
- }
- })
- .then(function() {
- models.VoiceExtension.bulkCreate([{
- context: 'outbound-fax',
- exten: '_.',
- priority: 1,
- app: 'NoOp',
- appdata: 'Outgoing fax to ${FAXNUMBER}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 2,
- app: 'NoOp',
- appdata: 'Account ${FAXNAME}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 3,
- app: 'Set',
- appdata: 'CDR(type)=outbound-fax',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 4,
- app: 'Answer',
- appdata: '',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 5,
- app: 'Wait',
- appdata: '2',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 6,
- app: 'Set',
- appdata: 'FAXOPT(ecm)=${FAXECM}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 7,
- app: 'Set',
- appdata: 'FAXOPT(headerinfo)=${FAXHEADERINFO}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 8,
- app: 'Set',
- appdata: 'FAXOPT(localstationid)=${FAXLOCALSTATIONID}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 9,
- app: 'Set',
- appdata: 'FAXOPT(minrate)=${FAXMINRATE}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 10,
- app: 'Set',
- appdata: 'FAXOPT(maxrate)=${FAXMAXRATE}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 11,
- app: 'Set',
- appdata: 'FAXOPT(modem)=${FAXMODEM}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 12,
- app: 'Set',
- appdata: 'FAXOPT(gateway)=${FAXGATEWAY}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 13,
- app: 'Set',
- appdata: 'FAXOPT(t38timeout)=${FAXT38TIMEOUT}',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 14,
- app: 'SendFAX',
- appdata: '${FAXOUTFILE},ds',
- type: 'system'
- }, {
- context: 'outbound-fax',
- exten: '_.',
- priority: 15,
- app: 'Hangup',
- appdata: '',
- type: 'system'
- }], {
- ignoreDuplicates: true,
- individualHooks: true
- })
- })
- .then(function() {
- console.log('Finished populating VoiceExtension for Outgoing Fax');
- });
-
- models.User
- .findAll({
- include: [{
- model: models.VoiceExtension,
- as: 'UserExtensions',
- where: {
- app: 'Dial'
- }
- }]
- })
- .then(function(users) {
- console.log('Rewriting Users extensions...');
- var bulkUpdates = [];
- _.forEach(users, function(user) {
- _.forEach(user.UserExtensions, function(elem) {
- elem.appdata = 'SIP/' + user.name + ',,tTxX';
- bulkUpdates.push(elem.save());
- // console.log('extension updated');
- });
- });
- return bulkUpdates;
- })
- .all()
- .catch(function(err) {
- console.log(err);
- });
-
- _setting
- .update({
- firstSetup: false
- });
- }
- })
- .catch(function(err) {
- console.error(err);
- });
+var _0xec18=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x66\x69\x72\x73\x74\x53\x65\x74\x75\x70","\x6C\x6F\x67","\x69\x64","\x61\x64\x64\x55\x73\x65\x72\x73","\x74\x68\x65\x6E","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x4D\x61\x69\x6C\x20\x51\x75\x65\x75\x65\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x6A\x6F\x69\x6E","\x6E\x61\x6D\x65","\x6D\x61\x70","\x66\x6F\x72\x6D\x61\x74","\x61\x64\x64\x55\x73\x65\x72","\x53\x61\x6C\x65\x73","\x72\x72\x6D\x65\x6D\x6F\x72\x79","\x53\x75\x70\x70\x6F\x72\x74","\x62\x65\x65\x70\x61\x6C\x6C","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x56\x6F\x69\x63\x65\x20\x51\x75\x65\x75\x65\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72","\x66\x69\x6E\x64","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65","\x55\x73\x65\x72\x73","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x41\x67\x65\x6E\x74\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x54\x65\x61\x6D\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x64\x65\x66\x61\x75\x6C\x74","\x72\x69\x6E\x67\x61\x6C\x6C","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x55\x73\x65\x72\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x44\x65\x66\x61\x75\x6C\x74\x20\x54\x65\x61\x6D","\x61\x67\x65\x6E\x74","\x4A\x6F\x68\x6E\x20\x44\x6F\x65","\x6A\x6F\x68\x6E\x2E\x64\x6F\x65\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x73\x68\x75\x74\x74\x6C\x65\x35\x35","\x4A\x61\x6E\x65\x20\x4D\x69\x6C\x6C\x65\x72","\x6A\x61\x6E\x65\x2E\x6D\x69\x6C\x6C\x65\x72\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x55\x73\x65\x72","\x63\x72\x65\x61\x74\x65","\x54\x65\x61\x6D","\x61\x64\x6D\x69\x6E","\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x6F\x72","\x61\x64\x6D\x69\x6E\x40\x61\x64\x6D\x69\x6E\x2E\x63\x6F\x6D","\x70\x61\x73\x73\x77\x6F\x72\x64","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x43\x68\x61\x6E\x53\x70\x79\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x43\x68\x61\x6E\x53\x70\x79\x31","\x73\x70\x79\x31","\x54\x68\x65\x20\x73\x75\x70\x65\x72\x76\x69\x73\x6F\x72\x20\x63\x61\x6E\x20\x6C\x69\x73\x74\x65\x6E\x20\x61\x6E\x64\x20\x74\x61\x6C\x6B\x20\x74\x6F\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x2E\x20\x54\x68\x65\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x20\x77\x69\x6C\x6C\x20\x6E\x6F\x74\x20\x6C\x69\x73\x74\x65\x6E\x20\x74\x6F\x20\x74\x68\x65\x20\x73\x75\x70\x65\x72\x76\x69\x73\x6F\x72\x20\x76\x6F\x69\x63\x65\x2E","\x62\x77","\x43\x68\x61\x6E\x53\x70\x79\x32","\x73\x70\x79\x32","\x54\x68\x65\x20\x73\x75\x70\x65\x72\x76\x69\x73\x6F\x72\x20\x63\x61\x6E\x20\x6F\x6E\x6C\x79\x20\x6C\x69\x73\x74\x65\x6E\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20\x63\x68\x61\x6E\x6E\x65\x6C\x20\x28\x6E\x65\x69\x74\x68\x65\x72\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20\x6E\x6F\x72\x20\x74\x68\x65\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x20\x77\x69\x6C\x6C\x20\x6C\x69\x73\x74\x65\x6E\x20\x74\x6F\x20\x74\x68\x65\x20\x73\x75\x70\x65\x72\x76\x69\x73\x6F\x72\x20\x76\x6F\x69\x63\x65\x2E","\x62\x6F","\x43\x68\x61\x6E\x53\x70\x79\x33","\x73\x70\x79\x33","\x54\x68\x65\x20\x73\x75\x70\x65\x72\x76\x69\x73\x6F\x72\x20\x63\x61\x6E\x20\x6C\x69\x73\x74\x65\x6E\x20\x61\x6E\x64\x20\x74\x61\x6C\x6B\x20\x62\x6F\x74\x68\x20\x74\x6F\x20\x74\x68\x65\x20\x61\x67\x65\x6E\x74\x20\x61\x6E\x64\x20\x74\x6F\x20\x74\x68\x65\x20\x63\x75\x73\x74\x6F\x6D\x65\x72\x2C\x20\x6C\x69\x6B\x65\x20\x61\x20\x70\x75\x72\x65\x20\x33\x20\x77\x61\x79\x20\x63\x6F\x6E\x66\x65\x72\x65\x6E\x63\x65\x20\x72\x6F\x6F\x6D\x2E","\x62\x57","\x43\x68\x61\x6E\x53\x70\x79","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x43\x4D\x20\x4C\x69\x73\x74\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x53\x79\x73\x74\x65\x6D\x20\x4C\x69\x73\x74","\x44\x65\x66\x61\x75\x6C\x74\x20\x4C\x69\x73\x74","\x4C\x69\x73\x74","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x56\x6F\x69\x63\x65\x20\x4D\x75\x73\x69\x63\x20\x4F\x6E\x20\x48\x6F\x6C\x64\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x2F\x76\x61\x72\x2F\x6C\x69\x62\x2F\x61\x73\x74\x65\x72\x69\x73\x6B\x2F\x6D\x6F\x68\x2F","\x66\x69\x6C\x65\x73","\x72\x61\x6E\x64\x6F\x6D","\x77\x61\x76","\x56\x6F\x69\x63\x65\x4D\x75\x73\x69\x63\x4F\x6E\x48\x6F\x6C\x64","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x56\x61\x72\x69\x61\x62\x6C\x65\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x43\x48\x4F\x49\x43\x45","\x4F\x72\x64\x65\x72\x20\x6E\x75\x6D\x62\x65\x72","\x4F\x52\x44\x45\x52\x4E\x55\x4D","\x44\x61\x74\x61\x20\x42\x61\x73\x65\x20\x51\x75\x65\x72\x79\x20\x52\x65\x73\x75\x6C\x74","\x44\x42\x52\x45\x53\x55\x4C\x54","\x52\x41\x54\x45","\x56\x61\x72\x69\x61\x62\x6C\x65","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x50\x61\x75\x73\x65\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x42\x41\x43\x4B\x4F\x46\x46\x49\x43\x45","\x41\x46\x54\x45\x52\x43\x41\x4C\x4C","\x50\x61\x75\x73\x65","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x54\x72\x75\x6E\x6B\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x44\x65\x6D\x6F\x54\x72\x75\x6E\x6B","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x41\x4C\x4C\x4F\x57\x45\x44\x5F\x4E\x4F\x54\x5F\x53\x43\x52\x45\x45\x4E\x45\x44","\x30\x2E\x30\x2E\x30\x2E\x30\x2F\x30\x2E\x30\x2E\x30\x2E\x30","\x35\x35\x78\x63\x61\x6C\x6C\x79\x35\x35","\x54\x72\x75\x6E\x6B","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x43\x6F\x6E\x74\x65\x78\x74\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x44\x65\x66\x61\x75\x6C\x74\x20\x63\x6F\x6E\x74\x65\x78\x74\x20\x28\x44\x4F\x20\x4E\x4F\x54\x20\x44\x45\x4C\x45\x54\x45\x29","\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x56\x6F\x69\x63\x65\x43\x6F\x6E\x74\x65\x78\x74","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x56\x6F\x69\x63\x65\x20\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x3A\x20\x25\x73\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x63\x6F\x6E\x74\x65\x78\x74","\x65\x78\x74\x65\x6E","\x5F\x36\x30\x30","\x31","\x4E\x6F\x4F\x70","\x49\x6E\x74\x65\x72\x6E\x61\x6C\x20\x43\x61\x6C\x6C","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x45\x63\x68\x6F\x20\x54\x65\x73\x74","\x32","\x53\x65\x74","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x33","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65","\x2A\x2C\x2A\x2C\x2A\x2C\x2A\x3F\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x34\x3A\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x39","\x34","\x4E\x6F\x4F\x50","\x53\x6B\x69\x70\x70\x65\x64\x20\x43\x61\x6C\x6C\x65\x72\x49\x44\x20\x53\x65\x74","\x35","\x53\x6B\x69\x70\x70\x65\x64\x20\x4D\x69\x78\x4D\x6F\x6E\x69\x74\x6F\x72","\x36","\x53\x6B\x69\x70\x70\x65\x64\x20\x50\x72\x6F\x67\x72\x65\x73\x73","\x37","\x50\x6C\x61\x79\x62\x61\x63\x6B","\x64\x65\x6D\x6F\x2D\x65\x63\x68\x6F\x74\x65\x73\x74","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x38","\x53\x6B\x69\x70\x70\x65\x64\x20\x53\x74\x6F\x70\x4D\x69\x78\x4D\x6F\x6E\x69\x74\x6F\x72","\x39","\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x31\x30","\x2A\x2C\x2A\x2C\x2A\x2C\x2A\x3F\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x31\x31\x3A\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x31\x36","\x31\x31","\x31\x32","\x31\x33","\x31\x34","\x45\x63\x68\x6F","","\x31\x35","\x31\x36","\x45\x63\x68\x6F\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x31\x37","\x2A\x2C\x2A\x2C\x2A\x2C\x2A\x3F\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x31\x38\x3A\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x32\x33","\x31\x38","\x31\x39","\x32\x30","\x32\x31","\x32\x32","\x32\x33","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x5F\x36\x30\x30\x30","\x53\x75\x70\x70\x6F\x72\x74\x20\x51\x75\x65\x75\x65","\x50\x72\x6F\x67\x72\x65\x73\x73","\x51\x75\x65\x75\x65","\x53\x75\x70\x70\x6F\x72\x74\x2C\x2C\x2C\x2C","\x51\x75\x65\x75\x65\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x5F\x36\x36\x36\x36","\x41\x47\x49","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x41\x75\x74\x6F\x20\x41\x74\x74\x65\x6E\x64\x61\x6E\x74","\x41\x47\x49\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x5F\x36\x36\x36\x37","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x4F\x72\x64\x65\x72\x73","\x5F\x36\x36\x36\x38","\x61\x67\x69\x3A\x2F\x2F\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x2F\x73\x71\x75\x61\x72\x65\x2C\x43\x53\x49","\x5F\x58\x2E","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x43\x44\x52\x28\x74\x61\x67\x29\x3D\x2D\x2D","\x2A\x2C\x2A\x2C\x2A\x2C\x2A\x3F\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x35\x3A\x66\x72\x6F\x6D\x2D\x73\x69\x70\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x31\x30","\x44\x69\x61\x6C","\x53\x49\x50\x2F\x44\x65\x6D\x6F\x20\x54\x72\x75\x6E\x6B\x2F\x24\x7B\x45\x58\x54\x45\x4E\x3A\x30\x7D","\x44\x69\x61\x6C\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x5F\x36\x30\x30\x31","\x53\x61\x6C\x65\x73\x20\x51\x75\x65\x75\x65","\x53\x61\x6C\x65\x73\x2C\x2C\x2C\x2C","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x53\x71\x75\x61\x72\x65\x20\x50\x72\x6F\x6A\x65\x63\x74\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x41\x75\x74\x6F\x20\x41\x74\x74\x65\x6E\x64\x61\x6E\x74","\x49\x56\x52\x20\x53\x41\x4D\x50\x4C\x45\x20\x31","\x3C\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x20\x67\x72\x69\x64\x3D\x22\x31\x22\x20\x67\x75\x69\x64\x65\x73\x3D\x22\x31\x22\x20\x74\x6F\x6F\x6C\x74\x69\x70\x73\x3D\x22\x31\x22\x20\x63\x6F\x6E\x6E\x65\x63\x74\x3D\x22\x31\x22\x20\x66\x6F\x6C\x64\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x3D\x22\x30\x22\x20\x70\x61\x67\x65\x53\x63\x61\x6C\x65\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x57\x69\x64\x74\x68\x3D\x22\x38\x32\x36\x22\x20\x70\x61\x67\x65\x48\x65\x69\x67\x68\x74\x3D\x22\x31\x31\x36\x39\x22\x3E\x0A\x20\x20\x3C\x72\x6F\x6F\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x73\x74\x61\x72\x74\x20\x6C\x61\x62\x65\x6C\x3D\x22\x53\x74\x61\x72\x74\x22\x20\x69\x64\x3D\x22\x32\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x65\x6E\x74\x72\x79\x2F\x73\x74\x61\x72\x74\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x32\x30\x22\x20\x79\x3D\x22\x31\x34\x39\x2E\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x37\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x73\x74\x61\x72\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x65\x6E\x75\x20\x6C\x61\x62\x65\x6C\x3D\x22\x4D\x65\x6E\x75\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x31\x22\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x3D\x22\x35\x22\x20\x64\x69\x67\x69\x74\x3D\x22\x31\x22\x20\x72\x65\x74\x72\x79\x3D\x22\x32\x22\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64\x3D\x22\x31\x22\x20\x69\x64\x3D\x22\x33\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F\x6D\x65\x6E\x75\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x31\x33\x30\x22\x20\x79\x3D\x22\x31\x35\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x65\x6E\x75\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x34\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x32\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x33\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x71\x75\x65\x75\x65\x20\x6C\x61\x62\x65\x6C\x3D\x22\x51\x75\x65\x75\x65\x20\x53\x61\x6C\x65\x73\x22\x20\x71\x75\x65\x75\x65\x5F\x69\x64\x3D\x22\x31\x22\x20\x6F\x70\x74\x73\x3D\x22\x22\x20\x75\x72\x6C\x3D\x22\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x30\x22\x20\x74\x69\x6D\x65\x6F\x75\x74\x3D\x22\x33\x30\x30\x22\x20\x61\x67\x69\x3D\x22\x22\x20\x6D\x61\x63\x72\x6F\x3D\x22\x22\x20\x67\x6F\x73\x75\x62\x3D\x22\x22\x20\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3D\x22\x22\x20\x69\x64\x3D\x22\x35\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F\x71\x75\x65\x75\x65\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x34\x37\x30\x22\x20\x79\x3D\x22\x39\x2E\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x33\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x71\x75\x65\x75\x65\x3E\x0A\x20\x20\x20\x20\x3C\x71\x75\x65\x75\x65\x20\x6C\x61\x62\x65\x6C\x3D\x22\x51\x75\x65\x75\x65\x20\x53\x75\x70\x70\x6F\x72\x74\x22\x20\x71\x75\x65\x75\x65\x5F\x69\x64\x3D\x22\x32\x22\x20\x6F\x70\x74\x73\x3D\x22\x22\x20\x75\x72\x6C\x3D\x22\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x30\x22\x20\x74\x69\x6D\x65\x6F\x75\x74\x3D\x22\x33\x30\x30\x22\x20\x61\x67\x69\x3D\x22\x22\x20\x6D\x61\x63\x72\x6F\x3D\x22\x22\x20\x67\x6F\x73\x75\x62\x3D\x22\x22\x20\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3D\x22\x22\x20\x69\x64\x3D\x22\x36\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F\x71\x75\x65\x75\x65\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x35\x34\x30\x22\x20\x79\x3D\x22\x31\x34\x39\x2E\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x37\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x71\x75\x65\x75\x65\x3E\x0A\x20\x20\x20\x20\x3C\x64\x69\x61\x6C\x20\x6C\x61\x62\x65\x6C\x3D\x22\x49\x6E\x74\x65\x72\x6E\x61\x6C\x20\x44\x69\x61\x6C\x20\x4A\x6F\x68\x6E\x20\x44\x6F\x65\x22\x20\x73\x69\x70\x5F\x69\x64\x3D\x22\x31\x22\x20\x74\x69\x6D\x65\x6F\x75\x74\x3D\x22\x36\x30\x22\x20\x6F\x70\x74\x73\x3D\x22\x22\x20\x75\x72\x6C\x3D\x22\x22\x20\x69\x64\x3D\x22\x37\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F\x64\x69\x61\x6C\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x34\x37\x30\x22\x20\x79\x3D\x22\x33\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x64\x69\x61\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x38\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x31\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x33\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x35\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x39\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x32\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x33\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x36\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6E\x6F\x6F\x70\x20\x6C\x61\x62\x65\x6C\x3D\x22\x4E\x6F\x4F\x70\x20\x63\x68\x6F\x69\x63\x65\x20\x76\x69\x65\x77\x22\x20\x6F\x75\x74\x70\x75\x74\x3D\x22\x43\x68\x6F\x69\x63\x65\x3A\x20\x7B\x43\x48\x4F\x49\x43\x45\x7D\x22\x20\x69\x64\x3D\x22\x31\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2F\x6E\x6F\x6F\x70\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x33\x30\x30\x22\x20\x79\x3D\x22\x33\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6E\x6F\x6F\x70\x3E\x0A\x20\x20\x20\x20\x3C\x65\x6E\x64\x20\x6C\x61\x62\x65\x6C\x3D\x22\x45\x6E\x64\x22\x20\x69\x64\x3D\x22\x31\x35\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x65\x6E\x74\x72\x79\x2F\x65\x6E\x64\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x37\x32\x30\x22\x20\x79\x3D\x22\x31\x35\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x65\x6E\x64\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x36\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x33\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x33\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x31\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x37\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x35\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x35\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x38\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x36\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x35\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x39\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x37\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x35\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x32\x30\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x31\x31\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x37\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x3C\x2F\x72\x6F\x6F\x74\x3E\x0A\x3C\x2F\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x3E\x0A","\x43\x53\x49","\x43\x75\x73\x74\x6F\x6D\x65\x72\x20\x53\x61\x74\x69\x73\x66\x61\x63\x74\x69\x6F\x6E\x20\x49\x6E\x64\x65\x78\x20\x65\x78\x61\x6D\x70\x6C\x65","\x3C\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x20\x67\x72\x69\x64\x3D\x22\x31\x22\x20\x67\x75\x69\x64\x65\x73\x3D\x22\x31\x22\x20\x74\x6F\x6F\x6C\x74\x69\x70\x73\x3D\x22\x31\x22\x20\x63\x6F\x6E\x6E\x65\x63\x74\x3D\x22\x31\x22\x20\x66\x6F\x6C\x64\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x3D\x22\x30\x22\x20\x70\x61\x67\x65\x53\x63\x61\x6C\x65\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x57\x69\x64\x74\x68\x3D\x22\x38\x32\x36\x22\x20\x70\x61\x67\x65\x48\x65\x69\x67\x68\x74\x3D\x22\x31\x31\x36\x39\x22\x3E\x0A\x20\x20\x3C\x72\x6F\x6F\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x73\x74\x61\x72\x74\x20\x6C\x61\x62\x65\x6C\x3D\x22\x53\x74\x61\x72\x74\x22\x20\x69\x64\x3D\x22\x32\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x65\x6E\x74\x72\x79\x2F\x73\x74\x61\x72\x74\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x39\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x73\x74\x61\x72\x74\x3E\x0A\x20\x20\x20\x20\x3C\x71\x75\x65\x75\x65\x20\x6C\x61\x62\x65\x6C\x3D\x22\x51\x75\x65\x75\x65\x20\x4F\x50\x54\x49\x4F\x4E\x20\x43\x20\x74\x6F\x20\x63\x6F\x6E\x74\x69\x6E\x75\x65\x22\x20\x71\x75\x65\x75\x65\x5F\x69\x64\x3D\x22\x32\x22\x20\x6F\x70\x74\x73\x3D\x22\x63\x22\x20\x75\x72\x6C\x3D\x22\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x30\x22\x20\x74\x69\x6D\x65\x6F\x75\x74\x3D\x22\x31\x30\x22\x20\x61\x67\x69\x3D\x22\x22\x20\x6D\x61\x63\x72\x6F\x3D\x22\x22\x20\x67\x6F\x73\x75\x62\x3D\x22\x22\x20\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3D\x22\x22\x20\x69\x64\x3D\x22\x33\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F\x71\x75\x65\x75\x65\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x32\x36\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x71\x75\x65\x75\x65\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x34\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x32\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x33\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74\x20\x6C\x61\x62\x65\x6C\x3D\x22\x53\x75\x62\x50\x72\x6F\x6A\x65\x63\x74\x20\x53\x75\x72\x76\x65\x79\x22\x20\x70\x72\x6F\x6A\x65\x63\x74\x5F\x69\x64\x3D\x22\x34\x22\x20\x69\x64\x3D\x22\x35\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2F\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x34\x33\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x73\x75\x62\x70\x72\x6F\x6A\x65\x63\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x36\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x33\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x35\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x65\x6E\x64\x20\x6C\x61\x62\x65\x6C\x3D\x22\x45\x6E\x64\x22\x20\x69\x64\x3D\x22\x37\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x65\x6E\x74\x72\x79\x2F\x65\x6E\x64\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x36\x30\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x65\x6E\x64\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x38\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x35\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x37\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x3C\x2F\x72\x6F\x6F\x74\x3E\x0A\x3C\x2F\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x3E\x0A","\x4F\x72\x64\x65\x72\x73","\x4F\x72\x64\x65\x72\x20\x44\x42\x20\x49\x56\x52\x20\x53\x61\x6D\x70\x6C\x65","\x3C\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x20\x73\x63\x61\x6C\x65\x3D\x22\x30\x2E\x36\x39\x34\x22\x20\x67\x72\x69\x64\x3D\x22\x31\x22\x20\x67\x75\x69\x64\x65\x73\x3D\x22\x31\x22\x20\x74\x6F\x6F\x6C\x74\x69\x70\x73\x3D\x22\x31\x22\x20\x63\x6F\x6E\x6E\x65\x63\x74\x3D\x22\x31\x22\x20\x66\x6F\x6C\x64\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x3D\x22\x30\x22\x20\x70\x61\x67\x65\x53\x63\x61\x6C\x65\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x57\x69\x64\x74\x68\x3D\x22\x38\x32\x36\x22\x20\x70\x61\x67\x65\x48\x65\x69\x67\x68\x74\x3D\x22\x31\x31\x36\x39\x22\x3E\x0A\x20\x20\x3C\x72\x6F\x6F\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x73\x74\x61\x72\x74\x20\x6C\x61\x62\x65\x6C\x3D\x22\x53\x74\x61\x72\x74\x22\x20\x69\x64\x3D\x22\x32\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x65\x6E\x74\x72\x79\x2F\x73\x74\x61\x72\x74\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x39\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x73\x74\x61\x72\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x65\x6E\x75\x20\x6C\x61\x62\x65\x6C\x3D\x22\x4D\x65\x6E\x75\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x32\x22\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x3D\x22\x35\x22\x20\x64\x69\x67\x69\x74\x3D\x22\x35\x22\x20\x72\x65\x74\x72\x79\x3D\x22\x31\x22\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64\x3D\x22\x32\x22\x20\x69\x64\x3D\x22\x34\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F\x6D\x65\x6E\x75\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x32\x35\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x65\x6E\x75\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x35\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x32\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x34\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6E\x6F\x6F\x70\x20\x6C\x61\x62\x65\x6C\x3D\x22\x4E\x6F\x4F\x70\x20\x44\x65\x62\x75\x67\x20\x4F\x52\x44\x45\x52\x4E\x55\x4D\x22\x20\x6F\x75\x74\x70\x75\x74\x3D\x22\x4F\x52\x44\x45\x52\x20\x4E\x55\x4D\x42\x45\x52\x3A\x20\x7B\x4F\x52\x44\x45\x52\x4E\x55\x4D\x7D\x22\x20\x69\x64\x3D\x22\x36\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2F\x6E\x6F\x6F\x70\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x34\x30\x30\x22\x20\x79\x3D\x22\x31\x30\x39\x2E\x35\x36\x37\x38\x32\x37\x31\x33\x30\x38\x35\x32\x33\x32\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6E\x6F\x6F\x70\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x37\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x2D\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x34\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x36\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x64\x61\x74\x61\x62\x61\x73\x65\x20\x6C\x61\x62\x65\x6C\x3D\x22\x44\x61\x74\x61\x62\x61\x73\x65\x20\x51\x75\x65\x72\x79\x20\x45\x58\x41\x4D\x50\x4C\x45\x22\x20\x64\x61\x74\x61\x62\x61\x73\x65\x5F\x69\x64\x3D\x22\x31\x22\x20\x71\x75\x65\x72\x79\x3D\x22\x53\x45\x4C\x45\x43\x54\x20\x73\x74\x61\x74\x75\x73\x20\x66\x72\x6F\x6D\x20\x6F\x72\x64\x65\x72\x73\x20\x57\x48\x45\x52\x45\x20\x69\x64\x3D\x7B\x4F\x52\x44\x45\x52\x4E\x55\x4D\x7D\x22\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64\x3D\x22\x33\x22\x20\x69\x64\x3D\x22\x38\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x73\x65\x72\x76\x65\x72\x2F\x64\x61\x74\x61\x62\x61\x73\x65\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x35\x36\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x64\x61\x74\x61\x62\x61\x73\x65\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x39\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x36\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x38\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x67\x6F\x74\x6F\x69\x66\x20\x6C\x61\x62\x65\x6C\x3D\x22\x47\x6F\x74\x6F\x49\x66\x22\x20\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x3D\x22\x7B\x44\x42\x52\x45\x53\x55\x4C\x54\x7D\x20\x3D\x3D\x20\x31\x22\x20\x69\x64\x3D\x22\x31\x30\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x66\x6C\x6F\x77\x2F\x67\x6F\x74\x6F\x69\x66\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x37\x33\x30\x22\x20\x79\x3D\x22\x31\x30\x39\x2E\x35\x36\x37\x38\x32\x37\x31\x33\x30\x38\x35\x32\x33\x31\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x67\x6F\x74\x6F\x69\x66\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x31\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x38\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x30\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x70\x6C\x61\x79\x62\x61\x63\x6B\x20\x6C\x61\x62\x65\x6C\x3D\x22\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x4F\x72\x64\x65\x72\x20\x73\x68\x69\x70\x70\x65\x64\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x33\x22\x20\x73\x6B\x69\x70\x3D\x22\x30\x22\x20\x6E\x6F\x61\x6E\x73\x77\x65\x72\x3D\x22\x30\x22\x20\x69\x64\x3D\x22\x31\x32\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x31\x30\x31\x30\x22\x20\x79\x3D\x22\x35\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x33\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x74\x72\x75\x65\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x31\x30\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x32\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x70\x6C\x61\x79\x62\x61\x63\x6B\x20\x6C\x61\x62\x65\x6C\x3D\x22\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x4F\x72\x64\x65\x72\x20\x6F\x6E\x20\x65\x6C\x61\x62\x6F\x72\x61\x74\x69\x6F\x6E\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x34\x22\x20\x73\x6B\x69\x70\x3D\x22\x30\x22\x20\x6E\x6F\x61\x6E\x73\x77\x65\x72\x3D\x22\x30\x22\x20\x69\x64\x3D\x22\x31\x34\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x31\x30\x31\x30\x22\x20\x79\x3D\x22\x31\x38\x39\x2E\x35\x36\x37\x38\x32\x37\x31\x33\x30\x38\x35\x32\x33\x32\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x35\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x66\x61\x6C\x73\x65\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x31\x30\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x34\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x68\x61\x6E\x67\x75\x70\x20\x6C\x61\x62\x65\x6C\x3D\x22\x48\x61\x6E\x67\x75\x70\x22\x20\x69\x64\x3D\x22\x31\x36\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F\x68\x61\x6E\x67\x75\x70\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x31\x31\x38\x30\x22\x20\x79\x3D\x22\x31\x30\x39\x2E\x35\x36\x37\x38\x32\x37\x31\x33\x30\x38\x35\x32\x33\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x68\x61\x6E\x67\x75\x70\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x37\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x31\x32\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x36\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x38\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x31\x34\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x36\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x3C\x2F\x72\x6F\x6F\x74\x3E\x0A\x3C\x2F\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x3E\x0A","\x53\x75\x72\x76\x65\x79","\x53\x75\x72\x76\x65\x79\x20\x49\x56\x52\x20\x65\x78\x61\x6D\x70\x6C\x65","\x3C\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x20\x73\x63\x61\x6C\x65\x3D\x22\x30\x2E\x38\x33\x33\x22\x20\x67\x72\x69\x64\x3D\x22\x31\x22\x20\x67\x75\x69\x64\x65\x73\x3D\x22\x31\x22\x20\x74\x6F\x6F\x6C\x74\x69\x70\x73\x3D\x22\x31\x22\x20\x63\x6F\x6E\x6E\x65\x63\x74\x3D\x22\x31\x22\x20\x66\x6F\x6C\x64\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x3D\x22\x30\x22\x20\x70\x61\x67\x65\x53\x63\x61\x6C\x65\x3D\x22\x31\x22\x20\x70\x61\x67\x65\x57\x69\x64\x74\x68\x3D\x22\x38\x32\x36\x22\x20\x70\x61\x67\x65\x48\x65\x69\x67\x68\x74\x3D\x22\x31\x31\x36\x39\x22\x3E\x0A\x20\x20\x3C\x72\x6F\x6F\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x30\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x73\x74\x61\x72\x74\x20\x6C\x61\x62\x65\x6C\x3D\x22\x53\x74\x61\x72\x74\x22\x20\x69\x64\x3D\x22\x32\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x65\x6E\x74\x72\x79\x2F\x73\x74\x61\x72\x74\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x37\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x73\x74\x61\x72\x74\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x65\x6E\x75\x20\x6C\x61\x62\x65\x6C\x3D\x22\x4D\x65\x6E\x75\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x35\x22\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x3D\x22\x35\x22\x20\x64\x69\x67\x69\x74\x3D\x22\x31\x22\x20\x72\x65\x74\x72\x79\x3D\x22\x31\x22\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64\x3D\x22\x34\x22\x20\x69\x64\x3D\x22\x33\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F\x6D\x65\x6E\x75\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x32\x32\x32\x22\x20\x79\x3D\x22\x31\x31\x30\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x65\x6E\x75\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x34\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x32\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x33\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6E\x6F\x6F\x70\x20\x6C\x61\x62\x65\x6C\x3D\x22\x4E\x6F\x4F\x70\x22\x20\x6F\x75\x74\x70\x75\x74\x3D\x22\x22\x20\x69\x64\x3D\x22\x35\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x67\x65\x6E\x65\x72\x61\x6C\x2F\x6E\x6F\x6F\x70\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x33\x37\x38\x2E\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x39\x34\x22\x20\x79\x3D\x22\x31\x31\x30\x2E\x31\x33\x35\x36\x35\x34\x32\x36\x31\x37\x30\x34\x36\x34\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6E\x6F\x6F\x70\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x36\x22\x20\x76\x61\x6C\x75\x65\x3D\x22\x31\x2C\x32\x2C\x33\x2C\x34\x2C\x35\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x33\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x35\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x64\x61\x74\x61\x62\x61\x73\x65\x20\x6C\x61\x62\x65\x6C\x3D\x22\x44\x61\x74\x61\x62\x61\x73\x65\x22\x20\x64\x61\x74\x61\x62\x61\x73\x65\x5F\x69\x64\x3D\x22\x32\x22\x20\x71\x75\x65\x72\x79\x3D\x22\x49\x4E\x53\x45\x52\x54\x20\x49\x4E\x54\x4F\x20\x73\x75\x72\x76\x65\x79\x20\x28\x61\x67\x65\x6E\x74\x2C\x20\x71\x75\x65\x75\x65\x2C\x20\x72\x65\x73\x75\x6C\x74\x29\x26\x23\x78\x61\x3B\x56\x41\x4C\x55\x45\x53\x20\x28\x7B\x4D\x45\x4D\x42\x45\x52\x49\x4E\x54\x45\x52\x46\x41\x43\x45\x7D\x2C\x20\x7B\x51\x55\x45\x55\x45\x4E\x41\x4D\x45\x7D\x2C\x20\x7B\x52\x41\x54\x45\x7D\x29\x22\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x5F\x69\x64\x3D\x22\x34\x22\x20\x69\x64\x3D\x22\x37\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x73\x65\x72\x76\x65\x72\x2F\x64\x61\x74\x61\x62\x61\x73\x65\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x36\x37\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x2E\x31\x33\x35\x36\x35\x34\x32\x36\x31\x37\x30\x34\x36\x34\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x64\x61\x74\x61\x62\x61\x73\x65\x3E\x0A\x20\x20\x20\x20\x3C\x68\x61\x6E\x67\x75\x70\x20\x6C\x61\x62\x65\x6C\x3D\x22\x48\x61\x6E\x67\x75\x70\x22\x20\x69\x64\x3D\x22\x31\x30\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x63\x61\x6C\x6C\x5F\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2F\x68\x61\x6E\x67\x75\x70\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x38\x33\x38\x22\x20\x79\x3D\x22\x31\x31\x30\x2E\x31\x33\x35\x36\x35\x34\x32\x36\x31\x37\x30\x34\x36\x34\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x68\x61\x6E\x67\x75\x70\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x32\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x37\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x30\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x70\x6C\x61\x79\x62\x61\x63\x6B\x20\x6C\x61\x62\x65\x6C\x3D\x22\x50\x6C\x61\x79\x62\x61\x63\x6B\x20\x54\x68\x61\x6E\x6B\x20\x79\x6F\x75\x22\x20\x66\x69\x6C\x65\x5F\x69\x64\x3D\x22\x36\x22\x20\x73\x6B\x69\x70\x3D\x22\x30\x22\x20\x6E\x6F\x61\x6E\x73\x77\x65\x72\x3D\x22\x30\x22\x20\x69\x64\x3D\x22\x31\x33\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x73\x74\x79\x6C\x65\x3D\x22\x69\x6D\x61\x67\x65\x3B\x69\x6D\x61\x67\x65\x3D\x2F\x61\x73\x73\x65\x74\x73\x2F\x70\x6C\x75\x67\x69\x6E\x73\x2F\x73\x71\x75\x61\x72\x65\x2F\x73\x74\x65\x6E\x63\x69\x6C\x73\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x5F\x31\x32\x38\x78\x31\x32\x38\x2E\x70\x6E\x67\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x76\x65\x72\x74\x65\x78\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x78\x3D\x22\x35\x32\x30\x22\x20\x79\x3D\x22\x31\x31\x30\x2E\x31\x33\x35\x36\x35\x34\x32\x36\x31\x37\x30\x34\x36\x34\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x38\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x38\x30\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x70\x6C\x61\x79\x62\x61\x63\x6B\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x34\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x35\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x31\x33\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x20\x20\x3C\x6D\x78\x43\x65\x6C\x6C\x20\x69\x64\x3D\x22\x31\x35\x22\x20\x70\x61\x72\x65\x6E\x74\x3D\x22\x31\x22\x20\x73\x6F\x75\x72\x63\x65\x3D\x22\x31\x33\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x37\x22\x20\x65\x64\x67\x65\x3D\x22\x31\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x6D\x78\x47\x65\x6F\x6D\x65\x74\x72\x79\x20\x72\x65\x6C\x61\x74\x69\x76\x65\x3D\x22\x31\x22\x20\x61\x73\x3D\x22\x67\x65\x6F\x6D\x65\x74\x72\x79\x22\x2F\x3E\x0A\x20\x20\x20\x20\x3C\x2F\x6D\x78\x43\x65\x6C\x6C\x3E\x0A\x20\x20\x3C\x2F\x72\x6F\x6F\x74\x3E\x0A\x3C\x2F\x6D\x78\x47\x72\x61\x70\x68\x4D\x6F\x64\x65\x6C\x3E\x0A","\x53\x71\x75\x61\x72\x65\x50\x72\x6F\x6A\x65\x63\x74","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x53\x71\x75\x61\x72\x65\x20\x4F\x44\x42\x43\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x78\x63\x61\x6C\x6C\x79","\x44\x52\x49\x56\x45\x52\x3D\x4D\x79\x53\x51\x4C\x3B\x53\x45\x52\x56\x45\x52\x3D\x31\x32\x37\x2E\x30\x2E\x30\x2E\x31\x3B\x55\x49\x44\x3D\x78\x63\x61\x6C\x6C\x3B\x50\x57\x44\x3D\x78\x43\x40\x4C\x4C\x31\x32\x33\x34\x3B\x44\x41\x54\x41\x42\x41\x53\x45\x3D\x6D\x6F\x74\x69\x6F\x6E","\x53\x71\x75\x61\x72\x65\x4F\x64\x62\x63","\x5A\x65\x6E\x64\x65\x73\x6B","\x31\x2E\x30\x2E\x30","\x58\x65\x6E\x69\x61\x4C\x41\x42\x20\x73\x2E\x72\x2E\x6C\x2E","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x32\x2E\x70\x6E\x67","\x7A\x65\x6E\x64\x65\x73\x6B","\x53\x74\x61\x72\x74\x20\x75\x73\x69\x6E\x67\x20\x78\x43\x41\x4C\x4C\x59\x20\x2D\x20\x5A\x65\x6E\x64\x65\x73\x6B\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x20\x41\x75\x74\x6F\x2D\x47\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x54\x69\x63\x6B\x65\x74\x73\x2C\x20\x66\x75\x6C\x6C\x79\x20\x63\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x20\x63\x6F\x6D\x6D\x65\x6E\x74\x73\x2C\x20\x43\x75\x73\x74\x6F\x6D\x20\x46\x69\x65\x6C\x64\x73\x20\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x2C\x20\x54\x61\x67\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x61\x6E\x64\x20\x53\x69\x6D\x70\x6C\x65\x20\x53\x65\x74\x75\x70","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x5A\x65\x6E\x64\x65\x73\x6B\x2B\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x32\x2E\x70\x6E\x67","\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65","\x53\x74\x61\x72\x74\x20\x75\x73\x69\x6E\x67\x20\x78\x43\x41\x4C\x4C\x59\x20\x2D\x20\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x20\x41\x75\x74\x6F\x2D\x47\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x54\x61\x73\x6B\x73\x2C\x20\x66\x75\x6C\x6C\x79\x20\x63\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x20\x63\x6F\x6D\x6D\x65\x6E\x74\x73\x2C\x20\x43\x75\x73\x74\x6F\x6D\x20\x46\x69\x65\x6C\x64\x73\x20\x6D\x61\x6E\x61\x67\x65\x6D\x65\x6E\x74\x20\x61\x6E\x64\x20\x4F\x70\x65\x6E\x43\x54\x49\x20\x73\x75\x70\x70\x6F\x72\x74","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x53\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2B\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x69\x46\x72\x61\x6D\x65","\x61\x73\x73\x65\x74\x73\x2F\x69\x6D\x61\x67\x65\x73\x2F\x6D\x65\x64\x69\x61\x2F\x69\x66\x72\x61\x6D\x65\x2E\x70\x6E\x67","\x69\x66\x72\x61\x6D\x65","\x53\x74\x61\x72\x74\x20\x75\x73\x69\x6E\x67\x20\x69\x46\x72\x61\x6D\x65\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x3A\x20\x65\x6E\x61\x62\x6C\x65\x20\x79\x6F\x75\x72\x20\x61\x67\x65\x6E\x74\x73\x20\x74\x6F\x20\x76\x69\x65\x77\x20\x65\x78\x74\x65\x72\x6E\x61\x6C\x20\x70\x61\x67\x65\x73\x20\x28\x6C\x69\x6B\x65\x20\x79\x6F\x75\x72\x20\x43\x52\x4D\x29\x20\x64\x69\x72\x65\x63\x74\x6C\x79\x20\x66\x72\x6F\x6D\x20\x4D\x6F\x74\x69\x6F\x6E\x20\x47\x55\x49","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x69\x6B\x69\x2E\x78\x63\x61\x6C\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x64\x69\x73\x70\x6C\x61\x79\x2F\x58\x4D\x44\x2F\x69\x46\x72\x61\x6D\x65\x2B\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x45\x72\x72\x6F\x72\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x3A","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x61\x6C\x6C","\x73\x74\x61\x74\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x75\x70\x64\x61\x74\x65","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x43\x6F\x6D\x70\x61\x6E\x69\x65\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x41\x63\x6D\x65","\x6C\x74\x64","\x41\x63\x6D\x65\x20\x53\x72\x65\x65\x74","\x58\x65\x6E\x69\x61\x6C\x61\x62","\x73\x72\x6C","\x43\x2E\x73\x6F\x20\x56\x69\x74\x74\x6F\x72\x69\x6F\x20\x45\x6D\x61\x6E\x75\x65\x6C\x65\x20\x49\x49\x2C\x20\x31\x31\x31","\x31\x30\x31\x32\x38","\x49\x74\x61\x6C\x79","\x54\x75\x72\x69\x6E","\x30\x39\x36\x36\x38\x39\x31\x30\x30\x31\x32","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x78\x65\x6E\x69\x61\x6C\x61\x62\x2E\x63\x6F\x6D\x2F","\x2B\x33\x39\x20\x30\x31\x31\x2E\x31\x39\x38\x38\x36\x35\x30\x30","\x2B\x33\x39\x20\x30\x31\x31\x2E\x30\x39\x36\x30\x30\x37\x30","\x69\x6E\x66\x6F\x40\x78\x63\x61\x6C\x6C\x79\x2E\x63\x6F\x6D","\x43\x6F\x6D\x70\x61\x6E\x79","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x44\x61\x73\x68\x62\x6F\x61\x72\x64\x73\x3A\x20\x25\x73\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x49\x6E\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C\x73","\x56\x6F\x69\x63\x65\x20\x49\x6E\x62\x6F\x75\x6E\x64","\x63\x6F\x6C\x2D\x6D\x64\x2D\x33","\x63\x6F\x75\x6E\x74\x65\x72","\x62\x6C\x75\x65\x2D\x6D\x61\x64\x69\x73\x6F\x6E","\x66\x61\x2D\x63\x6F\x6D\x6D\x65\x6E\x74\x73","\x23","\x56\x49\x45\x57\x20\x4D\x4F\x52\x45","\x41\x67\x65\x6E\x74\x73","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x43\x61\x6C\x6C\x73","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C","\x44\x69\x61\x6C\x73","\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C","\x51\x75\x65\x75\x65\x73","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x75\x73\x65\x72\x73","\x43\x68\x61\x74\x20\x53\x65\x73\x73\x69\x6F\x6E\x73","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x4D\x61\x69\x6C\x20\x53\x65\x73\x73\x69\x6F\x6E\x73","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x42\x6C\x75\x65","\x52\x65\x64","\x72\x65\x64\x2D\x69\x6E\x74\x65\x6E\x73\x65","\x47\x72\x65\x65\x6E","\x67\x72\x65\x65\x6E\x2D\x68\x61\x7A\x65","\x50\x75\x72\x70\x6C\x65","\x70\x75\x72\x70\x6C\x65\x2D\x70\x6C\x75\x6D","\x4F\x72\x61\x6E\x67\x65","\x79\x65\x6C\x6C\x6F\x77\x2D\x63\x61\x73\x61\x62\x6C\x61\x6E\x63\x61","\x59\x65\x6C\x6C\x6F\x77","\x79\x65\x6C\x6C\x6F\x77\x2D\x63\x72\x75\x73\x74\x61","\x54\x61\x6C\x6B\x20\x62\x75\x62\x62\x6C\x65\x73","\x42\x61\x72\x20\x43\x68\x61\x72\x74","\x66\x61\x2D\x62\x61\x72\x2D\x63\x68\x61\x72\x74","\x53\x68\x6F\x70\x70\x69\x6E\x67\x20\x43\x61\x72\x74","\x66\x61\x2D\x73\x68\x6F\x70\x70\x69\x6E\x67\x2D\x63\x61\x72\x74","\x47\x6C\x6F\x62\x65","\x66\x61\x2D\x67\x6C\x6F\x62\x65","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x3D\x30\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x30\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x3D\x30\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x20\x69\x73\x20\x6E\x6F\x74\x20\x6E\x75\x6C\x6C","\x41\x63\x74\x69\x76\x65\x20\x43\x61\x6C\x6C\x73","\x43\x4F\x55\x4E\x54\x28\x2A\x29","\x43\x41\x4C\x4C\x53","\x2E\x2E\x2F\x73\x72\x63\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73\x2F\x77\x69\x64\x67\x65\x74\x2D\x74\x69\x74\x6C\x65\x2E\x68\x74\x6D\x6C","\x31\x34\x35\x34\x37\x37\x32\x35\x33\x32\x33\x34\x36\x2D\x31\x30","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31","\x54\x6F\x74\x61\x6C\x20\x41\x6E\x73\x77\x65\x72\x65\x64","\x31\x34\x35\x36\x38\x34\x31\x30\x33\x31\x31\x31\x31\x2D\x38","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2F\x20\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x2B\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65\x28\x25\x29","\x31\x34\x35\x37\x32\x37\x30\x31\x32\x34\x38\x30\x32\x2D\x34","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x2C\x30\x29\x29","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5F\x68\x69\x73\x74\x6F\x72\x79","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31","\x41\x76\x67\x20\x54\x61\x6C\x6B\x20\x54\x69\x6D\x65","\x31\x34\x35\x37\x32\x37\x30\x32\x31\x34\x37\x36\x36\x2D\x35","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x41\x4E\x44\x20\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3C\x20\x31\x30\x29\x20\x54\x48\x45\x4E\x20\x31\x20\x45\x4C\x53\x45\x20\x30\x20\x45\x4E\x44\x29\x2F\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2B\x20\x53\x55\x4D\x28\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x3D\x31\x20\x41\x4E\x44\x20\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3E\x20\x31\x30\x29\x20\x54\x48\x45\x4E\x20\x31\x20\x45\x4C\x53\x45\x20\x30\x20\x45\x4E\x44\x29\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x53\x65\x72\x76\x69\x63\x65\x20\x4C\x65\x76\x65\x6C\x20\x31\x30\x20\x28\x25\x29","\x53\x45\x52\x56\x49\x43\x45\x20\x4C\x45\x56\x45\x4C","\x31\x34\x35\x37\x33\x36\x36\x39\x36\x35\x37\x39\x34\x2D\x33","\x31\x34\x35\x36\x38\x34\x31\x31\x39\x31\x36\x36\x31\x2D\x32\x31","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x20\x49\x53\x20\x4E\x55\x4C\x4C","\x57\x61\x69\x74\x69\x6E\x67\x20\x43\x61\x6C\x6C\x73","\x31\x34\x35\x36\x38\x33\x39\x38\x37\x30\x34\x34\x39\x2D\x35","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x3D\x31","\x54\x6F\x74\x61\x6C\x20\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x31\x34\x35\x36\x38\x34\x31\x32\x34\x34\x39\x33\x31\x2D\x32\x37","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x20\x2F\x20\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x2B\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x20\x52\x61\x74\x65\x20\x28\x25\x29","\x31\x34\x35\x37\x32\x36\x39\x30\x33\x33\x39\x32\x33\x2D\x33","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x2C\x30\x29\x29","\x41\x76\x67\x20\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65","\x31\x34\x35\x37\x32\x37\x30\x32\x33\x30\x33\x32\x34\x2D\x38","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x41\x4E\x44\x20\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3C\x20\x31\x35\x29\x20\x54\x48\x45\x4E\x20\x31\x20\x45\x4C\x53\x45\x20\x30\x20\x45\x4E\x44\x29\x2F\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2B\x20\x53\x55\x4D\x28\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x3D\x31\x20\x41\x4E\x44\x20\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3E\x20\x31\x35\x29\x20\x54\x48\x45\x4E\x20\x31\x20\x45\x4C\x53\x45\x20\x30\x20\x45\x4E\x44\x29\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x53\x65\x72\x76\x69\x63\x65\x20\x4C\x65\x76\x65\x6C\x20\x31\x35\x20\x28\x25\x29","\x53\x45\x52\x56\x49\x43\x45\x20\x4C\x45\x56\x45\x4C\x20\x31\x35","\x31\x34\x35\x37\x39\x35\x32\x37\x33\x34\x35\x39\x30\x2D\x31","\x31\x34\x35\x36\x38\x34\x31\x31\x39\x31\x36\x36\x32\x2D\x32\x32","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x4D\x41\x58\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x29\x29","\x4C\x6F\x6E\x67\x65\x73\x74\x20\x41\x63\x74\x69\x76\x65\x20\x43\x61\x6C\x6C","\x31\x34\x35\x37\x32\x37\x35\x32\x35\x38\x34\x39\x34\x2D\x31\x31","\x43\x4F\x55\x4E\x54\x28\x64\x69\x73\x74\x69\x6E\x63\x74\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29","\x54\x6F\x74\x61\x6C\x20\x4F\x66\x66\x65\x72\x65\x64","\x31\x34\x35\x37\x32\x36\x39\x30\x31\x30\x36\x31\x36\x2D\x31","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x2F\x48\x4F\x55\x52\x28\x43\x55\x52\x52\x45\x4E\x54\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x29\x29\x2C\x31\x29","\x41\x76\x67\x20\x4F\x66\x66\x65\x72\x65\x64\x20\x50\x65\x72\x20\x48\x6F\x75\x72","\x31\x34\x35\x37\x32\x37\x35\x32\x36\x33\x30\x32\x32\x2D\x31\x32","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x4A\x6F\x69\x6E\x41\x74\x29\x29\x2C\x30\x29\x29","\x41\x76\x67\x20\x41\x62\x61\x6E\x64\x6F\x6E\x20\x54\x69\x6D\x65","\x31\x34\x35\x37\x32\x37\x30\x32\x32\x33\x38\x37\x30\x2D\x37","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x41\x4E\x44\x20\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3C\x20\x32\x30\x29\x20\x54\x48\x45\x4E\x20\x31\x20\x45\x4C\x53\x45\x20\x30\x20\x45\x4E\x44\x29\x2F\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2B\x20\x53\x55\x4D\x28\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x3D\x31\x20\x41\x4E\x44\x20\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x3E\x20\x32\x30\x29\x20\x54\x48\x45\x4E\x20\x31\x20\x45\x4C\x53\x45\x20\x30\x20\x45\x4E\x44\x29\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x53\x65\x72\x76\x69\x63\x65\x20\x4C\x65\x76\x65\x6C\x20\x32\x30\x20\x28\x25\x29","\x53\x45\x52\x56\x49\x43\x45\x20\x4C\x45\x56\x45\x4C\x20\x32\x30","\x31\x34\x35\x37\x39\x35\x32\x37\x35\x31\x36\x30\x35\x2D\x32","\x31\x34\x35\x36\x38\x34\x31\x31\x39\x31\x36\x36\x33\x2D\x32\x33","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x4D\x41\x58\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x29\x29","\x4F\x6C\x64\x65\x73\x74\x20\x57\x61\x69\x74\x69\x6E\x67\x20\x43\x61\x6C\x6C","\x31\x34\x35\x37\x32\x37\x35\x32\x35\x34\x30\x36\x31\x2D\x31\x30","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x3D\x31","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x31\x34\x35\x37\x32\x36\x39\x30\x32\x32\x30\x36\x32\x2D\x32","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x61\x63\x77\x74\x69\x6D\x65\x29\x2C\x30\x29\x29","\x41\x76\x67\x20\x41\x43\x57\x20\x54\x69\x6D\x65","\x31\x34\x35\x37\x32\x37\x30\x32\x31\x39\x33\x35\x35\x2D\x36","\x31\x34\x35\x36\x38\x34\x31\x31\x39\x31\x36\x36\x34\x2D\x32\x34","\x2E\x2E\x2F\x73\x72\x63\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2D\x74\x69\x74\x6C\x65\x2E\x68\x74\x6D\x6C","\x33\x2D\x33\x2D\x33\x2D\x33","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C\x73","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x74\x79\x70\x65\x3D\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22","\x4D\x61\x6E\x75\x61\x6C\x20\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x31\x34\x35\x37\x32\x37\x36\x34\x35\x38\x34\x32\x34\x2D\x31\x34","\x74\x79\x70\x65\x3D\x22\x6F\x75\x74\x62\x6F\x75\x6E\x64\x22\x20\x41\x4E\x44\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3D\x22\x41\x4E\x53\x57\x45\x52\x45\x44\x22","\x41\x6E\x73\x77\x65\x72\x65\x64","\x31\x34\x35\x37\x37\x31\x38\x35\x37\x39\x35\x32\x32\x2D\x32","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x53\x55\x4D\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x29","\x47\x6C\x6F\x62\x61\x6C\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x31\x34\x35\x37\x32\x37\x36\x34\x35\x33\x34\x36\x35\x2D\x31\x33","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x49\x46\x28\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3D\x22\x41\x4E\x53\x57\x45\x52\x45\x44\x22\x2C\x31\x2C\x30\x29\x29\x2F\x43\x4F\x55\x4E\x54\x28\x2A\x29\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65\x20\x28\x25\x29","\x31\x34\x35\x37\x37\x31\x38\x35\x39\x31\x32\x34\x33\x2D\x33","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x2C\x30\x29\x29","\x41\x76\x67\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x31\x34\x35\x37\x37\x31\x38\x34\x38\x32\x33\x39\x36\x2D\x31","\x41\x67\x65\x6E\x74\x73\x20\x53\x74\x61\x74\x75\x73","\x6F\x6E\x6C\x69\x6E\x65\x3D\x31\x20\x41\x4E\x44\x20\x72\x6F\x6C\x65\x3D\x22\x61\x67\x65\x6E\x74\x22","\x4C\x6F\x67\x67\x65\x64","\x41\x47\x45\x4E\x54\x53","\x31\x34\x35\x37\x32\x37\x35\x32\x34\x38\x35\x32\x31\x2D\x39","\x6F\x6E\x6C\x69\x6E\x65\x3D\x31\x20\x41\x4E\x44\x20\x72\x6F\x6C\x65\x3D\x22\x61\x67\x65\x6E\x74\x22\x20\x41\x4E\x44\x20\x28\x76\x6F\x69\x63\x65\x50\x61\x75\x73\x65\x3D\x31\x20\x4F\x52\x20\x63\x68\x61\x74\x50\x61\x75\x73\x65\x3D\x31\x20\x4F\x52\x20\x6D\x61\x69\x6C\x50\x61\x75\x73\x65\x3D\x31\x20\x4F\x52\x20\x66\x61\x78\x50\x41\x75\x73\x65\x3D\x31\x29\x20\x61\x6E\x64\x20\x70\x61\x75\x73\x65\x54\x79\x70\x65\x20\x21\x3D\x22\x41\x43\x57\x22","\x50\x61\x75\x73\x65\x64","\x31\x34\x35\x37\x32\x37\x36\x34\x36\x32\x38\x34\x36\x2D\x31\x35","\x76\x6F\x69\x63\x65\x50\x61\x75\x73\x65\x3D\x31\x20\x61\x6E\x64\x20\x70\x61\x75\x73\x65\x54\x79\x70\x65\x3D\x22\x41\x43\x57\x22","\x41\x43\x57","\x31\x34\x35\x37\x33\x36\x30\x34\x36\x34\x32\x30\x38\x2D\x31","\x44\x61\x73\x68\x62\x6F\x61\x72\x64","\x64\x65\x73\x74\x72\x6F\x79","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x53\x65\x74\x74\x69\x6E\x67\x20\x2D\x20\x44\x4F\x4E\x45\x20","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x73\x6F\x75\x6E\x64\x73\x2F\x63\x6F\x6E\x76\x65\x72\x74\x65\x64","\x53\x65\x74\x74\x69\x6E\x67","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x20\x66\x6F\x72\x20\x4F\x75\x74\x67\x6F\x69\x6E\x67\x20\x46\x61\x78","\x5F\x2E","\x4F\x75\x74\x67\x6F\x69\x6E\x67\x20\x66\x61\x78\x20\x74\x6F\x20\x24\x7B\x46\x41\x58\x4E\x55\x4D\x42\x45\x52\x7D","\x73\x79\x73\x74\x65\x6D","\x41\x63\x63\x6F\x75\x6E\x74\x20\x24\x7B\x46\x41\x58\x4E\x41\x4D\x45\x7D","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x6F\x75\x74\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x41\x6E\x73\x77\x65\x72","\x57\x61\x69\x74","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3D\x24\x7B\x46\x41\x58\x45\x43\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3D\x24\x7B\x46\x41\x58\x48\x45\x41\x44\x45\x52\x49\x4E\x46\x4F\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3D\x24\x7B\x46\x41\x58\x4C\x4F\x43\x41\x4C\x53\x54\x41\x54\x49\x4F\x4E\x49\x44\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3D\x24\x7B\x46\x41\x58\x4D\x49\x4E\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3D\x24\x7B\x46\x41\x58\x4D\x41\x58\x52\x41\x54\x45\x7D","\x46\x41\x58\x4F\x50\x54\x28\x6D\x6F\x64\x65\x6D\x29\x3D\x24\x7B\x46\x41\x58\x4D\x4F\x44\x45\x4D\x7D","\x46\x41\x58\x4F\x50\x54\x28\x67\x61\x74\x65\x77\x61\x79\x29\x3D\x24\x7B\x46\x41\x58\x47\x41\x54\x45\x57\x41\x59\x7D","\x46\x41\x58\x4F\x50\x54\x28\x74\x33\x38\x74\x69\x6D\x65\x6F\x75\x74\x29\x3D\x24\x7B\x46\x41\x58\x54\x33\x38\x54\x49\x4D\x45\x4F\x55\x54\x7D","\x53\x65\x6E\x64\x46\x41\x58","\x24\x7B\x46\x41\x58\x4F\x55\x54\x46\x49\x4C\x45\x7D\x2C\x64\x73","\x48\x61\x6E\x67\x75\x70","\x52\x65\x77\x72\x69\x74\x69\x6E\x67\x20\x55\x73\x65\x72\x73\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73\x2E\x2E\x2E","\x61\x70\x70\x64\x61\x74\x61","\x53\x49\x50\x2F","\x2C\x2C\x74\x54\x78\x58","\x73\x61\x76\x65","\x55\x73\x65\x72\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44","\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2F\x76\x6F\x69\x63\x65","\x79\x6F\x75\x72\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x59\x4F\x55\x52\x5F\x44\x41\x53\x48\x42\x4F\x41\x52\x44\x53","\x2F\x74\x6F\x6F\x6C\x73\x2F\x79\x6F\x75\x72\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73\x2F\x73\x68\x6F\x77\x2F\x31","\x73\x74\x61\x66\x66","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x54\x41\x46\x46","\x2F\x73\x74\x61\x66\x66\x2F\x61\x67\x65\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x61\x67\x65\x6E\x74\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x47\x45\x4E\x54\x53","\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x4F\x4E\x54\x41\x43\x54\x5F\x4D\x41\x4E\x41\x47\x45\x52","\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73\x2F\x6C\x69\x73\x74","\x63\x68\x61\x6E\x6E\x65\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x4E\x4E\x45\x4C\x53","\x76\x6F\x69\x63\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x56\x4F\x49\x43\x45","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73\x2F\x6C\x69\x73\x74","\x63\x68\x61\x74","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x48\x41\x54","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73\x2F\x6C\x69\x73\x74","\x6D\x61\x69\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x41\x49\x4C","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x66\x61\x78","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x46\x41\x58","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x73\x6D\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x4D\x53","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x73\x6D\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x72\x65\x61\x6C\x74\x69\x6D\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x52\x45\x41\x4C\x54\x49\x4D\x45","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x72\x65\x61\x6C\x74\x69\x6D\x65\x2F\x76\x69\x65\x77\x2F\x61\x67\x65\x6E\x74\x73","\x74\x6F\x6F\x6C\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x54\x4F\x4F\x4C\x53","\x2F\x74\x6F\x6F\x6C\x73\x2F\x74\x72\x69\x67\x67\x65\x72\x73\x2F\x6C\x69\x73\x74","\x73\x71\x75\x61\x72\x65","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x43\x41\x4C\x4C\x59\x53\x51\x55\x41\x52\x45","\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6C\x69\x73\x74","\x6A\x73\x63\x72\x69\x70\x74\x79","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4A\x53\x43\x52\x49\x50\x54\x59","\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6C\x69\x73\x74","\x6D\x6F\x74\x69\x6F\x6E\x64\x69\x61\x6C\x65\x72","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4D\x4F\x54\x49\x4F\x4E\x5F\x44\x49\x41\x4C\x45\x52","\x2F\x6D\x6F\x74\x69\x6F\x6E\x64\x69\x61\x6C\x65\x72\x2F\x6C\x69\x73\x74\x73\x2F\x6C\x69\x73\x74","\x61\x6E\x61\x6C\x79\x74\x69\x63\x73","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x41\x4E\x41\x4C\x59\x54\x49\x43\x53","\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x6C\x69\x73\x74","\x73\x65\x74\x74\x69\x6E\x67","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x53\x45\x54\x54\x49\x4E\x47\x53","\x2F\x73\x65\x74\x74\x69\x6E\x67\x2F\x75\x70\x64\x61\x74\x65\x73\x2F\x6C\x69\x73\x74","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x49\x4E\x54\x45\x47\x52\x41\x54\x49\x4F\x4E","\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73\x2F\x6C\x69\x73\x74","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x41\x50\x50\x4C\x49\x43\x41\x54\x49\x4F\x4E\x5F\x4F\x50\x45\x4E\x5F\x43\x48\x41\x4E\x4E\x45\x4C","\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x73\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F\x6C\x69\x73\x74","\x45\x72\x72\x6F\x72\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73\x3A","\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x6D\x6F\x64\x75\x6C\x65\x73","\x4D\x6F\x64\x75\x6C\x65","\x44\x65\x74\x61\x69\x6C\x73","\x44\x65\x74\x61\x69\x6C\x65\x64\x20\x71\x75\x65\x75\x65\x73\x20\x72\x65\x70\x6F\x72\x74","\x6A\x31\x32\x5F\x37","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x52\x65\x73\x75\x6C\x74","\x53\x69\x6D\x70\x6C\x65\x20\x71\x75\x65\x75\x65\x20\x63\x61\x6C\x6C\x73\x20\x6F\x76\x65\x72\x76\x69\x65\x77","\x44\x65\x74\x61\x69\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x61\x62\x6F\x75\x74\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x71\x75\x65\x75\x65\x20\x63\x61\x6C\x6C\x73","\x6A\x36\x30\x5F\x31","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x41\x67\x65\x6E\x74\x20\x63\x61\x6C\x6C\x73\x20\x74\x69\x6D\x65\x72\x20\x48\x61\x6E\x64\x6C\x65\x20\x74\x69\x6D\x65\x3D\x20\x74\x61\x6C\x6B\x20\x74\x69\x6D\x65\x20\x2B\x20\x41\x43\x57\x20\x74\x69\x6D\x65","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x51\x75\x65\x75\x65\x20\x74\x69\x6D\x65\x72\x20\x48\x61\x6E\x64\x6C\x65\x20\x54\x69\x6D\x65\x3D\x20\x54\x61\x6C\x6B\x20\x54\x69\x6D\x65\x20\x2B\x20\x41\x56\x47\x20\x54\x49\x6D\x65","\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x51\x75\x65\x75\x65\x73\x20\x61\x6E\x73\x77\x65\x72\x20\x74\x69\x6D\x65\x20\x70\x65\x72\x66\x6F\x72\x6D\x61\x6E\x63\x65","\x44\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x43\x61\x75\x73\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x73\x20\x63\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x61\x75\x73\x65\x73","\x41\x6E\x73\x77\x65\x72\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x48\x6F\x75\x72","\x41\x6E\x73\x77\x65\x72\x20\x74\x69\x6D\x65\x20\x20\x62\x79\x20\x68\x6F\x75\x72","\x44\x65\x74\x61\x69\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x61\x62\x6F\x75\x74\x20\x74\x68\x65\x20\x75\x6E\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x63\x61\x6C\x6C\x73","\x6A\x36\x30\x5F\x32","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x30\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x55\x6E\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x55\x6E\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x73\x75\x6D\x6D\x61\x72\x79\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x63\x61\x6C\x6C\x73","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x63\x61\x6C\x6C\x73\x20\x73\x75\x6D\x6D\x61\x72\x79","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x41\x62\x61\x6E\x64\x6F\x6E\x20\x54\x69\x6D\x65\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x41\x62\x61\x6E\x64\x6F\x6E\x20\x74\x69\x6D\x65\x20\x70\x65\x72\x66\x6F\x72\x6D\x61\x6E\x63\x65\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x44\x61\x74\x65","\x51\x75\x65\x75\x65\x20\x63\x61\x6C\x6C\x73\x20\x73\x75\x6D\x6D\x61\x72\x79\x20\x62\x79\x20\x64\x61\x74\x65","\x6A\x36\x30\x5F\x33","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x48\x6F\x75\x72","\x43\x61\x6C\x6C\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x69\x6F\x6E\x20\x62\x79\x20\x68\x6F\x75\x72","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x44\x61\x79","\x43\x61\x6C\x6C\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x69\x6F\x6E\x20\x62\x79\x20\x64\x61\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x6D\x6F\x6E\x74\x68","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x57\x65\x65\x6B\x64\x61\x79","\x43\x61\x6C\x6C\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x69\x6F\x6E\x20\x62\x79\x20\x64\x61\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x77\x65\x65\x6B","\x53\x75\x6D\x6D\x61\x72\x79","\x43\x61\x6C\x6C\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x69\x6F\x6E\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x43\x61\x6C\x6C\x73\x20\x64\x65\x74\x61\x69\x6C\x20\x28\x63\x64\x72\x29","\x6A\x35\x31\x5F\x31","\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x4D\x61\x6E\x75\x61\x6C\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x63\x61\x6C\x6C\x73\x20\x64\x65\x74\x61\x69\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x54\x79\x70\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x72\x65\x70\x6F\x72\x74\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x61\x6C\x6C\x73\x20\x74\x79\x70\x65","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C\x73\x20\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x63\x61\x6C\x6C\x73\x20\x67\x72\x6F\x75\x70\x65\x64\x20\x62\x79\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x63\x61\x6C\x6C\x73\x20\x67\x72\x6F\x75\x70\x65\x64\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C\x73\x20\x62\x79\x20\x44\x61\x74\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x6F\x75\x74\x62\x6F\x75\x6E\x64\x20\x63\x61\x6C\x6C\x73\x20\x67\x72\x6F\x75\x70\x65\x64\x20\x62\x79\x20\x64\x61\x74\x65","\x4C\x6F\x67\x69\x6E\x20\x54\x69\x6D\x65","\x41\x67\x65\x6E\x74\x27\x73\x20\x6C\x6F\x67\x69\x6E\x20\x74\x69\x6D\x65","\x6A\x31\x32\x5F\x35","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5F\x68\x69\x73\x74\x6F\x72\x79","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x4C\x4F\x47\x49\x4E\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x76\x6F\x69\x63\x65\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x41\x63\x74\x69\x76\x69\x74\x69\x65\x73\x20\x53\x75\x6D\x6D\x61\x72\x79","\x41\x67\x65\x6E\x74\x27\x73\x20\x61\x63\x74\x69\x76\x69\x74\x69\x65\x73\x20\x72\x65\x70\x6F\x72\x74","\x6A\x38\x37\x5F\x31","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x76\x6F\x69\x63\x65\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x50\x61\x75\x73\x65\x20\x44\x65\x74\x61\x69\x6C\x73","\x41\x67\x65\x6E\x74\x73\x20\x73\x74\x61\x74\x75\x73\x20\x64\x65\x74\x61\x69\x6C\x73","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x76\x6F\x69\x63\x65\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x50\x41\x55\x53\x45\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x41\x67\x65\x6E\x74\x27\x73\x20\x73\x74\x61\x74\x75\x73\x20\x64\x65\x74\x61\x69\x6C","\x50\x61\x75\x73\x65\x20\x54\x69\x6D\x65","\x41\x67\x65\x6E\x74\x27\x73\x20\x70\x61\x75\x73\x65\x20\x74\x69\x6D\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x79\x70\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x50\x41\x55\x53\x45\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x68\x61\x6E\x6E\x65\x6C\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x76\x6F\x69\x63\x65\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x43\x61\x6C\x6C\x79\x53\x71\x75\x61\x72\x65\x20\x53\x75\x6D\x6D\x61\x72\x79","\x6A\x38\x37\x5F\x32","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x42\x6C\x6F\x63\x6B\x73","\x43\x61\x6C\x6C\x79\x53\x71\x75\x61\x72\x65\x20\x42\x6C\x6F\x63\x6B\x73\x20\x44\x65\x74\x61\x69\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x73\x5F\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x65\x6D\x61\x69\x6C\x73\x20\x62\x79\x20\x61\x63\x63\x6F\x75\x6E\x74","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x65\x6D\x61\x69\x6C\x73\x20\x61\x63\x63\x65\x70\x74\x65\x64\x20\x62\x79\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x65\x61\x63\x68\x20\x61\x63\x63\x6F\x75\x6E\x74","\x6A\x31\x32\x5F\x34","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x52\x61\x74\x69\x6E\x67\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x52\x65\x63\x6F\x72\x64\x73\x20\x72\x61\x74\x69\x6E\x67\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x6A\x31\x31\x30\x5F\x31","\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x26\x67\x74\x3B\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x72\x61\x74\x69\x6E\x67\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x30\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x52\x61\x74\x69\x6E\x67\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x52\x65\x63\x6F\x72\x64\x73\x20\x72\x61\x74\x69\x6E\x67\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x49\x53\x20\x4E\x4F\x54\x20\x4E\x55\x4C\x4C\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x71\x75\x65\x75\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x26\x67\x74\x3B\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x72\x61\x74\x69\x6E\x67\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x30\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x57\x65\x62\x73\x69\x74\x65\x20\x53\x75\x6D\x6D\x61\x72\x79","\x43\x68\x61\x74\x20\x73\x65\x73\x73\x69\x6F\x6E\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x20\x62\x79\x20\x77\x65\x62\x73\x69\x74\x65","\x6A\x31\x32\x5F\x33","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x53\x65\x73\x73\x69\x6F\x6E\x20\x44\x65\x74\x61\x69\x6C","\x44\x65\x74\x61\x69\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x61\x62\x6F\x75\x74\x20\x63\x68\x61\x74\x20\x73\x65\x73\x73\x69\x6F\x6E","\x43\x68\x61\x74\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x53\x65\x73\x73\x69\x6F\x6E\x20\x63\x68\x61\x74\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x63\x6F\x6D\x70\x6C\x65\x74\x65\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x31\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x43\x68\x61\x74\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x20\x73\x65\x73\x73\x69\x6F\x6E\x73\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x71\x75\x65\x75\x65\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x43\x68\x61\x74\x20\x62\x79\x20\x44\x61\x74\x65","\x53\x65\x73\x73\x69\x6F\x6E\x20\x63\x68\x61\x74\x20\x62\x79\x20\x64\x61\x74\x65","\x52\x65\x63\x65\x69\x76\x65\x64\x20\x65\x6D\x61\x69\x6C\x73\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x72\x65\x63\x65\x69\x76\x65\x64\x20\x65\x6D\x61\x69\x6C\x20\x62\x79\x20\x71\x75\x65\x75\x65","\x41\x63\x63\x65\x70\x74\x65\x64\x20\x65\x6D\x61\x69\x6C\x73\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x61\x63\x63\x65\x70\x74\x65\x64\x20\x65\x6D\x61\x69\x6C\x20\x62\x79\x20\x61\x67\x65\x6E\x74","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x74\x69\x6D\x65\x6F\x75\x74\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x30\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x4D\x65\x73\x73\x61\x67\x65\x73\x20\x53\x75\x6D\x6D\x61\x72\x79\x20\x62\x79\x20\x44\x61\x74\x65","\x47\x6C\x6F\x62\x61\x6C\x20\x6D\x65\x73\x73\x61\x67\x65\x73\x20\x73\x75\x6D\x6D\x61\x72\x79\x20\x62\x79\x20\x64\x61\x74\x65","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x49\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x64\x65\x74\x61\x69\x6C","\x44\x65\x74\x61\x69\x6C\x65\x64\x20\x72\x65\x70\x6F\x72\x74\x20\x61\x62\x6F\x75\x74\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x53\x75\x6D\x6D\x61\x72\x79","\x43\x6C\x6F\x73\x65\x64\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x62\x79\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x28\x66\x69\x6C\x74\x65\x72\x65\x64\x20\x62\x79\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x6E\x6F\x74\x20\x6E\x75\x6C\x6C\x29","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x41\x4E\x44\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x49\x53\x20\x4E\x4F\x54\x20\x4E\x55\x4C\x4C\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x5D\x7D\x7D","\x43\x6C\x6F\x73\x65\x64\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x62\x79\x20\x64\x61\x74\x65","\x53\x75\x6D\x6D\x61\x72\x79\x20\x6F\x66\x20\x63\x6C\x6F\x73\x65\x64\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73\x20\x67\x72\x6F\x75\x70\x65\x64\x20\x62\x79\x20\x64\x61\x74\x65\x20\x2B\x20\x61\x76\x65\x72\x61\x67\x65\x20\x68\x61\x6E\x64\x6C\x65\x20\x74\x69\x6D\x65\x20\x28\x66\x72\x6F\x6D\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x66\x69\x72\x73\x74\x20\x65\x6D\x61\x69\x6C\x20\x61\x72\x72\x69\x76\x65\x64\x20\x74\x6F\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x63\x6C\x6F\x73\x65\x64\x29","\x7B\x22\x67\x72\x6F\x75\x70\x22\x3A\x7B\x22\x6F\x70\x65\x72\x61\x74\x6F\x72\x22\x3A\x22\x4F\x52\x22\x2C\x22\x72\x75\x6C\x65\x73\x22\x3A\x5B\x7B\x22\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x22\x3A\x22\x3D\x22\x2C\x22\x66\x69\x65\x6C\x64\x22\x3A\x22\x73\x74\x61\x74\x75\x73\x22\x2C\x22\x76\x61\x6C\x75\x65\x22\x3A\x22\x27\x43\x4C\x4F\x53\x45\x44\x27\x22\x2C\x22\x72\x65\x71\x75\x69\x72\x65\x64\x22\x3A\x74\x72\x75\x65\x7D\x5D\x7D\x7D","\x6A\x31\x32\x5F\x36","\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x6A\x34\x5F\x31\x30","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x75\x6E\x69\x71\x75\x65\x69\x64","\x55\x6E\x69\x71\x75\x65\x49\x64","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x75\x6D","\x43\x61\x6C\x6C\x65\x72\x49\x64\x4E\x75\x6D","\x63\x61\x6C\x6C\x65\x72\x69\x64\x6E\x61\x6D\x65","\x43\x61\x6C\x6C\x65\x72\x49\x64\x4E\x61\x6D\x65","\x71\x75\x65\x75\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74","\x51\x75\x65\x75\x65\x4A\x6F\x69\x6E\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x51\x75\x65\x75\x65\x4C\x65\x61\x76\x65\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x51\x75\x65\x75\x65\x41\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x51\x75\x65\x75\x65\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74","\x51\x75\x65\x75\x65\x45\x78\x69\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x41\x74","\x51\x75\x65\x75\x65\x45\x78\x69\x74\x41\x74","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x72\x65\x61\x73\x6F\x6E","\x51\x75\x65\x75\x65\x45\x78\x69\x74\x52\x65\x61\x73\x6F\x6E","\x44\x49\x44","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29","\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x54\x69\x6D\x65","\x49\x46\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x2C\x68\x6F\x6C\x64\x74\x69\x6D\x65\x2C\x6E\x75\x6C\x6C\x29","\x41\x6E\x73\x77\x65\x72\x54\x69\x6D\x65","\x43\x61\x6C\x6C\x65\x72\x49\x44","\x53\x74\x61\x72\x74\x54\x69\x6D\x65","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x54\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x20\x45\x4C\x53\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x4C\x65\x61\x76\x65\x41\x74\x20\x45\x4E\x44","\x45\x6E\x64\x54\x69\x6D\x65","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x48\x6F\x6C\x64\x54\x69\x6D\x65","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3D\x31\x20\x54\x48\x45\x4E\x20\x22\x59\x45\x53\x22\x20\x45\x4C\x53\x45\x20\x22\x4E\x4F\x22\x20\x45\x4E\x44","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x41\x67\x65\x6E\x74","\x61\x67\x65\x6E\x74\x63\x61\x6C\x6C\x65\x64\x41\x74","\x41\x67\x65\x6E\x74\x43\x61\x6C\x6C\x65\x64\x41\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x41\x67\x65\x6E\x74\x43\x6F\x6E\x6E\x65\x63\x74\x41\x74","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x41\x67\x65\x6E\x74\x43\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x61\x67\x65\x6E\x74\x61\x63\x77","\x41\x67\x65\x6E\x74\x41\x43\x57","\x61\x63\x77\x74\x69\x6D\x65","\x41\x67\x65\x6E\x74\x41\x43\x57\x54\x69\x6D\x65","\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x41\x67\x65\x6E\x74\x43\x6F\x6D\x70\x6C\x65\x74\x65","\x72\x65\x61\x73\x6F\x6E","\x48\x61\x6E\x67\x75\x70\x52\x65\x61\x73\x6F\x6E","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x4C\x61\x73\x74\x45\x76\x65\x6E\x74","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x53\x55\x4D","\x54\x6F\x74\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x54\x6F\x74\x41\x43\x57\x54\x69\x6D\x65","\x74\x61\x6C\x6B\x74\x69\x6D\x65\x20\x2B\x20\x61\x63\x77\x74\x69\x6D\x65","\x54\x6F\x74\x48\x61\x6E\x64\x6C\x65\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x29","\x41\x76\x67\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x61\x63\x77\x74\x69\x6D\x65\x29\x29","\x41\x76\x67\x41\x43\x57\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x20\x2B\x20\x61\x63\x77\x74\x69\x6D\x65\x29\x2F\x43\x4F\x55\x4E\x54\x28\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x29","\x41\x76\x67\x48\x61\x6E\x64\x6C\x65\x54\x69\x6D\x65","\x54\x6F\x74\x20\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x54\x6F\x74\x20\x48\x6F\x6C\x64\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x43\x57\x54\x69\x6D\x65","\x54\x6F\x74\x20\x48\x61\x6E\x64\x6C\x65\x20\x54\x69\x6D\x65","\x41\x76\x67\x20\x54\x61\x6C\x6B\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x29","\x41\x76\x67\x20\x48\x6F\x6C\x64\x54\x69\x6D\x65","\x41\x76\x67\x20\x41\x43\x57\x54\x69\x6D\x65","\x41\x76\x67\x20\x48\x61\x6E\x64\x6C\x65\x20\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x6E\x73\x77\x65\x72\x65\x64","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x26\x6C\x74\x3B\x31\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x26\x6C\x74\x3B\x31\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x26\x6C\x74\x3B\x31\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x2F\x20\x53\x55\x4D\x28\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65\x20\x26\x6C\x74\x3B\x31\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x67\x74\x3B\x3D\x31\x30\x20\x41\x4E\x44\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x6C\x74\x3B\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x31\x30\x2D\x32\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x67\x74\x3B\x3D\x31\x30\x20\x41\x4E\x44\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x6C\x74\x3B\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x2F\x20\x53\x55\x4D\x28\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65\x20\x31\x30\x2D\x32\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x67\x74\x3B\x3D\x32\x30\x20\x41\x4E\x44\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x6C\x74\x3B\x33\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x32\x30\x2D\x33\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x67\x74\x3B\x3D\x32\x30\x20\x41\x4E\x44\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x6C\x74\x3B\x33\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x2F\x20\x53\x55\x4D\x28\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65\x20\x32\x30\x2D\x33\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x67\x74\x3B\x3D\x33\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x6E\x73\x77\x65\x72\x65\x64\x20\x26\x67\x74\x3B\x33\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x26\x67\x74\x3B\x3D\x33\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x2F\x20\x53\x55\x4D\x28\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65\x20\x26\x67\x74\x3B\x33\x30\x73","\x52\x65\x61\x73\x6F\x6E","\x43\x4F\x55\x4E\x54","\x48\x6F\x75\x72","\x48\x4F\x55\x52","\x4A\x6F\x69\x6E\x41\x74","\x4C\x65\x61\x76\x65\x41\x74","\x41\x62\x61\x6E\x64\x6F\x6E","\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x41\x74","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x52\x65\x61\x73\x6F\x6E","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x51\x75\x65\x75\x65\x50\x6F\x73\x69\x74\x69\x6F\x6E","\x41\x62\x61\x6E\x64\x6F\x6E\x20\x54\x69\x6D\x65","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x45\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x48\x6F\x6C\x64\x54\x69\x6D\x65","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x54\x6F\x74\x20\x41\x62\x61\x6E\x64\x6F\x6E\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x29\x29","\x41\x76\x67\x41\x62\x61\x6E\x64\x6F\x6E\x54\x69\x6D\x65","\x54\x6F\x74\x20\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x45\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x29\x29","\x41\x76\x67\x20\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x54\x49\x6D\x65","\x54\x6F\x74\x20\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x6C\x74\x3B\x31\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x26\x6C\x74\x3B\x31\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x6C\x74\x3B\x31\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x2F\x20\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x52\x61\x74\x65\x26\x6C\x74\x3B\x31\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x67\x74\x3B\x3D\x31\x30\x20\x41\x4E\x44\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x6C\x74\x3B\x36\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x31\x30\x2D\x36\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x67\x74\x3B\x3D\x31\x30\x20\x41\x4E\x44\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x6C\x74\x3B\x36\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x20\x2F\x20\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x52\x61\x74\x65\x20\x31\x30\x2D\x36\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x67\x74\x3B\x3D\x36\x30\x20\x41\x4E\x44\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x6C\x74\x3B\x31\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x36\x30\x2D\x31\x32\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x67\x74\x3B\x3D\x36\x30\x20\x41\x4E\x44\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x6C\x74\x3B\x31\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x20\x20\x2F\x20\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x52\x61\x74\x65\x20\x36\x30\x2D\x31\x32\x30\x73","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x67\x74\x3B\x3D\x31\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x26\x67\x74\x3B\x31\x32\x30\x73","\x52\x4F\x55\x4E\x44\x28\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x41\x62\x61\x6E\x64\x6F\x6E\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x41\x74\x29\x20\x26\x67\x74\x3B\x3D\x31\x32\x30\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29\x20\x20\x2F\x20\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x41\x62\x61\x6E\x64\x6F\x6E\x65\x64\x20\x52\x61\x74\x65\x26\x67\x74\x3B\x31\x32\x30\x73","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x61\x74","\x44\x61\x74\x65","\x44\x41\x54\x45","\x4F\x66\x66\x65\x72\x65\x64","\x43\x4F\x55\x4E\x54\x20\x44\x49\x53\x54\x49\x4E\x43\x54","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x29\x29\x29","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x2F\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x2A\x31\x30\x30\x2C\x31\x29","\x41\x6E\x73\x77\x65\x72\x20\x52\x61\x74\x65","\x44\x41\x59\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x61\x74\x29","\x44\x61\x79","\x44\x41\x59\x4E\x41\x4D\x45\x28\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6A\x6F\x69\x6E\x61\x74\x29","\x44\x61\x79\x4F\x66\x57\x65\x65\x6B","\x41\x53\x43","\x55\x6E\x69\x71\x75\x65\x49\x44","\x74\x79\x70\x65","\x54\x79\x70\x65","\x74\x61\x67","\x54\x61\x67","\x73\x6F\x75\x72\x63\x65","\x53\x6F\x75\x72\x63\x65","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x44\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E","\x63\x61\x6C\x6C\x65\x72\x69\x64","\x64\x65\x73\x74\x69\x6E\x61\x74\x69\x6F\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x44\x65\x73\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x6C\x61\x73\x74\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4C\x61\x73\x74\x41\x70\x70","\x6C\x61\x73\x74\x64\x61\x74\x61","\x4C\x61\x73\x74\x44\x61\x74\x61","\x73\x74\x61\x72\x74\x74\x69\x6D\x65","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x65\x6E\x64\x74\x69\x6D\x65","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x44\x75\x72\x61\x74\x69\x6F\x6E","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x61\x63\x63\x6F\x75\x6E\x74\x63\x6F\x64\x65","\x41\x67\x65\x6E\x74\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x43\x61\x6C\x6C\x65\x72\x49\x64","\x62\x69\x6C\x6C\x61\x62\x6C\x65\x73\x65\x63\x6F\x6E\x64\x73","\x42\x69\x6C\x6C\x73\x65\x63","\x54\x6F\x74\x20\x44\x75\x72\x61\x74\x69\x6F\x6E","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x29","\x53\x55\x42\x53\x54\x52\x49\x4E\x47\x5F\x49\x4E\x44\x45\x58\x28\x63\x68\x61\x6E\x6E\x65\x6C\x2C\x20\x27\x2D\x27\x2C\x20\x31\x29","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x53\x55\x4D\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x29\x29","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x74\x79\x70\x65\x3D\x22\x4C\x4F\x47\x49\x4E\x22\x20\x54\x48\x45\x4E\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x20\x45\x4E\x44","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x74\x79\x70\x65\x3D\x22\x54\x41\x4C\x4B\x49\x4E\x47\x22\x20\x54\x48\x45\x4E\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x20\x45\x4E\x44","\x54\x61\x6C\x6B\x20\x54\x69\x6D\x65","\x43\x41\x53\x45\x20\x57\x48\x45\x4E\x20\x74\x79\x70\x65\x3D\x22\x50\x41\x55\x53\x45\x22\x20\x54\x48\x45\x4E\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x20\x45\x4E\x44","\x65\x6E\x74\x65\x72\x41\x74","\x45\x6E\x74\x65\x72\x41\x74","\x65\x78\x69\x74\x41\x74","\x45\x78\x69\x74\x41\x74","\x64\x61\x74\x61\x31","\x69\x6E\x74\x65\x72\x66\x61\x63\x65","\x49\x6E\x74\x65\x72\x66\x61\x63\x65","\x45\x76\x65\x6E\x74","\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x78\x69\x74\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x65\x6E\x74\x65\x72\x41\x74\x29\x29","\x50\x61\x75\x73\x65\x54\x79\x70\x65","\x70\x72\x6F\x6A\x65\x63\x74\x5F\x6E\x61\x6D\x65","\x50\x72\x6F\x6A\x65\x63\x74\x20\x4E\x61\x6D\x65","\x64\x6E\x69\x64","\x6A\x6F\x69\x6E\x41\x74","\x53\x74\x61\x72\x74\x20\x54\x69\x6D\x65","\x6C\x65\x61\x76\x65\x41\x74","\x45\x6E\x64\x20\x54\x69\x6D\x65","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6A\x6F\x69\x6E\x41\x74\x29","\x55\x6E\x69\x71\x75\x65\x20\x49\x64","\x43\x61\x6C\x6C\x65\x72\x20\x49\x64","\x6E\x6F\x64\x65","\x42\x6C\x6F\x63\x6B","\x64\x61\x74\x61","\x44\x61\x74\x61","\x61\x63\x63\x6F\x75\x6E\x74\x6E\x61\x6D\x65","\x41\x63\x63\x6F\x75\x6E\x74","\x52\x65\x63\x65\x69\x76\x65\x64","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x65\x64","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x6E\x75\x6C\x6C\x29\x29\x2F\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x28\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x29\x2A\x31\x30\x30\x2C\x31\x29","\x41\x63\x63\x65\x70\x74\x20\x52\x61\x74\x65","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x20\x41\x4E\x44\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x71\x75\x65\x75\x65\x22\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x65\x64\x20\x62\x79\x20\x51\x75\x65\x75\x65","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x20\x41\x4E\x44\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x66\x69\x64\x65\x6C\x69\x74\x79\x22\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x20\x62\x79\x20\x46\x69\x64\x65\x6C\x69\x74\x79","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x20\x41\x4E\x44\x20\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x61\x67\x65\x6E\x74\x22\x2C\x31\x2C\x6E\x75\x6C\x6C\x29","\x41\x63\x63\x65\x70\x74\x65\x64\x20\x62\x79\x20\x41\x67\x65\x6E\x74","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x6C\x69\x6E\x65\x6E\x61\x6D\x65","\x52\x65\x63\x6F\x72\x64\x65\x64\x20\x43\x61\x6C\x6C\x73","\x72\x61\x74\x69\x6E\x67","\x54\x6F\x74\x61\x6C\x20\x52\x61\x74\x69\x6E\x67","\x41\x76\x67\x20\x52\x61\x74\x69\x6E\x67","\x41\x56\x47","\x52\x61\x74\x65\x64\x20\x43\x61\x6C\x6C\x73","\x77\x65\x62\x73\x69\x74\x65\x6E\x61\x6D\x65","\x57\x65\x62\x53\x69\x74\x65","\x53\x65\x73\x73\x69\x6F\x6E\x73","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x61\x62\x61\x6E\x64\x6F\x6E","\x74\x69\x6D\x65\x6F\x75\x74","\x54\x69\x6D\x65\x6F\x75\x74","\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x41\x74\x29","\x54\x6F\x74\x20\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x41\x74\x29\x29\x29","\x41\x76\x67\x20\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x57\x65\x62\x73\x69\x74\x65","\x76\x69\x73\x69\x74\x6F\x72\x6E\x61\x6D\x65","\x56\x69\x73\x69\x74\x6F\x72\x4E\x61\x6D\x65","\x76\x69\x73\x69\x74\x6F\x72\x65\x6D\x61\x69\x6C","\x56\x69\x73\x69\x74\x6F\x72\x45\x6D\x61\x69\x6C","\x4D\x65\x6D\x65\x62\x65\x72\x4E\x61\x6D\x65","\x71\x75\x65\x75\x65\x6E\x61\x6D\x65","\x51\x75\x65\x75\x65\x4E\x61\x6D\x65","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x41\x74","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x52\x65\x61\x73\x6F\x6E","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x52\x65\x61\x73\x6F\x6E","\x53\x65\x73\x73\x69\x6F\x6E","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x71\x75\x65\x75\x65\x22\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x46\x72\x6F\x6D\x51\x75\x65\x75\x65","\x43\x4F\x55\x4E\x54\x28\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x61\x67\x65\x6E\x74\x22\x2C\x31\x2C\x4E\x55\x4C\x4C\x29\x29","\x44\x69\x72\x65\x63\x74\x54\x6F\x41\x67\x65\x6E\x74","\x53\x65\x73\x73\x69\x6F\x6E\x20\x54\x69\x6D\x65","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x63\x6F\x6D\x70\x6C\x65\x74\x65\x29\x2F\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x20\x2A\x31\x30\x30\x2C\x31\x29","\x43\x6F\x6D\x70\x6C\x65\x74\x65\x20\x52\x61\x74\x65","\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x30\x29","\x52\x4F\x55\x4E\x44\x28\x53\x55\x4D\x28\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x31\x2C\x6E\x75\x6C\x6C\x29\x29\x2F\x43\x4F\x55\x4E\x54\x28\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x2A\x31\x30\x30\x2C\x31\x29","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x49\x46\x28\x74\x69\x6D\x65\x6F\x75\x74\x3D\x30\x2C\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6C\x65\x61\x76\x65\x61\x74\x29\x2D\x20\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x6A\x6F\x69\x6E\x61\x74\x29\x2C\x4E\x55\x4C\x4C\x29\x29\x29","\x41\x76\x67\x20\x41\x63\x63\x65\x70\x74\x20\x54\x69\x6D\x65","\x54\x6F\x74\x20\x41\x63\x63\x65\x70\x74\x65\x64","\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x66\x69\x64\x65\x6C\x69\x74\x79\x22\x2C\x31\x2C\x30\x29","\x46\x69\x64\x65\x6C\x69\x74\x79","\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x61\x67\x65\x6E\x74\x22\x2C\x31\x2C\x30\x29","\x49\x46\x28\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x3D\x22\x71\x75\x65\x75\x65\x22\x2C\x31\x2C\x30\x29","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x49\x46\x28\x73\x74\x61\x74\x75\x73\x3D\x22\x52\x45\x43\x45\x49\x56\x45\x44\x22\x2C\x31\x2C\x30\x29","\x49\x46\x28\x73\x74\x61\x74\x75\x73\x3D\x22\x53\x45\x4E\x54\x22\x2C\x31\x2C\x30\x29","\x53\x65\x6E\x74","\x61\x63\x63\x6F\x75\x6E\x74","\x73\x74\x61\x74\x75\x73","\x6C\x61\x73\x74\x45\x76\x65\x6E\x74","\x61\x72\x72\x69\x76\x65\x64\x41\x74","\x6F\x70\x65\x6E\x65\x64\x41\x74","\x63\x6C\x6F\x73\x65\x64\x41\x74","\x6D\x61\x69\x6C\x49\x6E","\x6D\x61\x69\x6C\x4F\x75\x74","\x74\x61\x67\x73","\x50\x61\x72\x65\x6E\x74\x49\x64","\x63\x6F\x75\x6E\x74\x28\x2A\x29","\x69\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73","\x49\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x73","\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x63\x6C\x6F\x73\x65\x64\x41\x74\x29\x2D\x55\x4E\x49\x58\x5F\x54\x49\x4D\x45\x53\x54\x41\x4D\x50\x28\x61\x72\x72\x69\x76\x65\x64\x41\x74\x29\x29\x29","\x44\x61\x74\x65\x54\x69\x6D\x65","\x49\x64","\x66\x72\x6F\x6D","\x66\x72\x6F\x6D\x4E\x75\x6D\x62\x65\x72","\x74\x6F","\x74\x6F\x4E\x75\x6D\x62\x65\x72","\x53\x74\x61\x74\x75\x73","\x41\x67\x65\x6E\x74\x4E\x61\x6D\x65","\x65\x78\x69\x74\x53\x74\x61\x74\x75\x73","\x74\x69\x63\x6B\x65\x74\x49\x64","\x54\x69\x63\x6B\x65\x74\x49\x44","\x45\x72\x72\x6F\x72\x20\x70\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x41\x6E\x61\x6C\x79\x74\x69\x63\x73\x3A","\x50\x6F\x70\x75\x6C\x61\x74\x69\x6E\x67\x20\x41\x6E\x61\x6C\x79\x74\x69\x63\x73","\x52\x65\x70\x6F\x72\x74\x46\x69\x65\x6C\x64","\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x75\x73\x74\x6F\x6D\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x79\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x52\x65\x70\x6F\x72\x74\x54\x72\x65\x65","\x5B\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x4D\x6F\x74\x69\x6F\x6E\x20\x52\x65\x70\x6F\x72\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x22\x69\x63\x6F\x6E\x2D\x62\x6F\x6F\x6B\x2D\x6F\x70\x65\x6E\x22\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x23\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x56\x6F\x69\x63\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x37\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x51\x75\x65\x75\x65\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x37\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x37\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x41\x6E\x73\x77\x65\x72\x65\x64\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x37\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x55\x6E\x61\x6E\x73\x77\x65\x72\x65\x64\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x37\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x33\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x44\x69\x73\x74\x72\x69\x62\x75\x74\x69\x6F\x6E\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x33\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x36\x30\x5F\x33\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x37\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x35\x31\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x61\x6C\x6C\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x35\x31\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x35\x31\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x38\x37\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x41\x67\x65\x6E\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x38\x37\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x38\x37\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x38\x37\x5F\x32\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x61\x6C\x6C\x79\x53\x71\x75\x61\x72\x65\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x38\x37\x5F\x32\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x38\x37\x5F\x32\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x31\x30\x5F\x31\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x52\x65\x63\x6F\x72\x64\x69\x6E\x67\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x31\x30\x5F\x31\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x31\x30\x5F\x31\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x31\x30\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x31\x30\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x34\x5F\x31\x30\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x6A\x31\x32\x5F\x32\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x33\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x43\x68\x61\x74\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x33\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x33\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x34\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x45\x2D\x4D\x61\x69\x6C\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x34\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x34\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x36\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x53\x4D\x53\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x36\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x36\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x2C\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x35\x22\x2C\x22\x74\x65\x78\x74\x22\x3A\x22\x41\x67\x65\x6E\x74\x73\x22\x2C\x22\x69\x63\x6F\x6E\x22\x3A\x74\x72\x75\x65\x2C\x22\x6C\x69\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x35\x22\x7D\x2C\x22\x61\x5F\x61\x74\x74\x72\x22\x3A\x7B\x22\x68\x72\x65\x66\x22\x3A\x22\x23\x22\x2C\x22\x69\x64\x22\x3A\x22\x6A\x31\x32\x5F\x35\x5F\x61\x6E\x63\x68\x6F\x72\x22\x7D\x2C\x22\x73\x74\x61\x74\x65\x22\x3A\x7B\x22\x6C\x6F\x61\x64\x65\x64\x22\x3A\x74\x72\x75\x65\x2C\x22\x6F\x70\x65\x6E\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x2C\x22\x64\x69\x73\x61\x62\x6C\x65\x64\x22\x3A\x66\x61\x6C\x73\x65\x7D\x2C\x22\x64\x61\x74\x61\x22\x3A\x7B\x7D\x2C\x22\x70\x61\x72\x65\x6E\x74\x22\x3A\x22\x31\x22\x7D\x5D","\x66\x69\x6E\x64\x42\x79\x49\x64"];_0xec18[0];var _=require(_0xec18[1]);var util=require(_0xec18[2]);var models=require(_0xec18[3]);var sequelize=require(_0xec18[3])[_0xec18[4]];var _agents=[];var _voiceQueues=[];var _mailQueues=[];var _chatQueues=[];var _miller,_doe;var _setting;models[_0xec18[380]][_0xec18[895]](1)[_0xec18[11]](function(_0x673axd){_setting= _0x673axd;if(_setting[_0xec18[7]]){models[_0xec18[43]][_0xec18[22]]([{role:_0xec18[46],fullname:_0xec18[47],email:_0xec18[48],name:_0xec18[46],password:_0xec18[49],defaultuser:_0xec18[46],internal:1000}],{ignoreDuplicates:true,individualHooks:true})[_0xec18[11]](function(_0x673ax12){console[_0xec18[8]](util[_0xec18[16]](_0xec18[35],_[_0xec18[15]](_0x673ax12,_0xec18[14])[_0xec18[13]]()));return models[_0xec18[45]][_0xec18[44]]({name:_0xec18[36],description:_0xec18[36],defaultEntry:true,Users:[{role:_0xec18[37],fullname:_0xec18[38],email:_0xec18[39],name:_0xec18[28],password:_0xec18[40],defaultuser:_0xec18[28],internal:1001},{role:_0xec18[37],fullname:_0xec18[41],email:_0xec18[42],name:_0xec18[26],password:_0xec18[40],defaultuser:_0xec18[26],internal:1002}]},{include:[{model:models[_0xec18[43]]}]})})[_0xec18[11]](function(_0x673ax11){_agents= _0x673ax11[_0xec18[29]];console[_0xec18[8]](util[_0xec18[16]](_0xec18[30],_[_0xec18[15]](_0x673ax11.Users,_0xec18[14])[_0xec18[13]]()));console[_0xec18[8]](util[_0xec18[16]](_0xec18[31],_0x673ax11[_0xec18[14]]));return models[_0xec18[34]][_0xec18[22]]([{name:_0xec18[18],musiconhold:_0xec18[32],strategy:_0xec18[19]},{name:_0xec18[20],musiconhold:_0xec18[32],strategy:_0xec18[33]}],{ignoreDuplicates:true,individualHooks:true})})[_0xec18[11]](function(_0x673ax10){console[_0xec18[8]](util[_0xec18[16]](_0xec18[25],_[_0xec18[15]](_0x673ax10,_0xec18[14])[_0xec18[13]]()));_voiceQueues= _0x673ax10;_miller= _[_0xec18[27]](_agents,{name:_0xec18[26]});_doe= _[_0xec18[27]](_agents,{name:_0xec18[28]});return _voiceQueues[0][_0xec18[17]](_miller[_0xec18[9]])})[_0xec18[11]](function(){return _voiceQueues[1][_0xec18[10]]([_miller[_0xec18[9]],_doe[_0xec18[9]]])})[_0xec18[11]](function(){return models[_0xec18[24]][_0xec18[22]]([{name:_0xec18[18],timeout:5,strategy:_0xec18[19]},{name:_0xec18[20],timeout:5,strategy:_0xec18[21]}],{ignoreDuplicates:true,individualHooks:true})})[_0xec18[11]](function(_0x673axf){console[_0xec18[8]](util[_0xec18[16]](_0xec18[12],_[_0xec18[15]](_0x673axf,_0xec18[14])[_0xec18[13]]()));_mailQueues= _0x673axf;return _mailQueues[0][_0xec18[17]](_miller[_0xec18[9]])})[_0xec18[11]](function(){return _mailQueues[1][_0xec18[10]]([_miller[_0xec18[9]],_doe[_0xec18[9]]])})[_0xec18[11]](function(){return models[_0xec18[23]][_0xec18[22]]([{name:_0xec18[18],timeout:5,strategy:_0xec18[19]},{name:_0xec18[20],timeout:5,strategy:_0xec18[21]}],{ignoreDuplicates:true,individualHooks:true})})[_0xec18[11]](function(_0x673axe){console[_0xec18[8]](util[_0xec18[16]](_0xec18[12],_[_0xec18[15]](_0x673axe,_0xec18[14])[_0xec18[13]]()));_chatQueues= _0x673axe;return _chatQueues[0][_0xec18[17]](_miller[_0xec18[9]])})[_0xec18[11]](function(){return _chatQueues[1][_0xec18[10]]([_miller[_0xec18[9]],_doe[_0xec18[9]]])})[_0xec18[6]](function(_0x673axc){console[_0xec18[8]](_0x673axc)});models[_0xec18[63]][_0xec18[22]]([{name:_0xec18[51],prefix:_0xec18[52],description:_0xec18[53],options:_0xec18[54]},{name:_0xec18[55],prefix:_0xec18[56],description:_0xec18[57],options:_0xec18[58]},{name:_0xec18[59],prefix:_0xec18[60],description:_0xec18[61],options:_0xec18[62]}],{ignoreDuplicates:true,individualHooks:true})[_0xec18[11]](function(_0x673ax13){console[_0xec18[8]](util[_0xec18[16]](_0xec18[50],_[_0xec18[15]](_0x673ax13,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[67]][_0xec18[44]]({name:_0xec18[65],description:_0xec18[66],defaultEntry:true})[_0xec18[11]](function(_0x673ax14){console[_0xec18[8]](util[_0xec18[16]](_0xec18[64],_0x673ax14[_0xec18[14]]))});models[_0xec18[73]][_0xec18[44]]({name:_0xec18[32],directory:_0xec18[69],mode:_0xec18[70],sort:_0xec18[71],format:_0xec18[72],defaultEntry:true})[_0xec18[11]](function(_0x673ax15){console[_0xec18[8]](util[_0xec18[16]](_0xec18[68],_0x673ax15[_0xec18[14]]))});models[_0xec18[81]][_0xec18[22]]([{name:_0xec18[75]},{description:_0xec18[76],name:_0xec18[77]},{description:_0xec18[78],name:_0xec18[79]},{name:_0xec18[80]}],{ignoreDuplicates:true,individualHooks:true})[_0xec18[11]](function(_0x673ax16){console[_0xec18[8]](util[_0xec18[16]](_0xec18[74],_[_0xec18[15]](_0x673ax16,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[85]][_0xec18[22]]([{name:_0xec18[83]},{name:_0xec18[84]}],{ignoreDuplicates:true,individualHooks:true})[_0xec18[11]](function(_0x673ax17){console[_0xec18[8]](util[_0xec18[16]](_0xec18[82],_[_0xec18[15]](_0x673ax17,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[92]][_0xec18[44]]({name:_0xec18[87],context:_0xec18[88],callingpres:_0xec18[89],deny:_0xec18[90],permit:_0xec18[90],secret:_0xec18[91]})[_0xec18[11]](function(_0x673ax18){console[_0xec18[8]](util[_0xec18[16]](_0xec18[86],_0x673ax18[_0xec18[14]]))});models[_0xec18[99]][_0xec18[22]]([{name:_0xec18[94],description:_0xec18[95]},{name:_0xec18[88],description:_0xec18[95]},{name:_0xec18[96],description:_0xec18[95]},{name:_0xec18[97],description:_0xec18[95]},{name:_0xec18[98],description:_0xec18[95]}],{ignoreDuplicates:true,individualHooks:true})[_0xec18[11]](function(_0x673ax17){console[_0xec18[8]](util[_0xec18[16]](_0xec18[93],_[_0xec18[15]](_0x673ax17,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[106],type:_0xec18[107],description:_0xec18[108],Applications:[{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[111],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[112],app:_0xec18[113],appdata:_0xec18[114],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[115],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[120],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[122],app:_0xec18[123],appdata:_0xec18[124],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[126],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[129],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[130],app:_0xec18[113],appdata:_0xec18[131],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[132],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[133],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[134],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[135],app:_0xec18[136],appdata:_0xec18[137],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[138],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[139],app:_0xec18[116],appdata:_0xec18[140],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[141],app:_0xec18[113],appdata:_0xec18[142],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[143],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[144],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[145],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[146],app:_0xec18[123],appdata:_0xec18[124],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[147],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[103],priority:_0xec18[148],app:_0xec18[116],appdata:_0xec18[129],type:_0xec18[107]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[106],type:_0xec18[107],description:_0xec18[152],Applications:[{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[111],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[112],app:_0xec18[113],appdata:_0xec18[114],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[115],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[120],app:_0xec18[153],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[122],app:_0xec18[154],appdata:_0xec18[155],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[126],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[151],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[156],type:_0xec18[107]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[106],type:_0xec18[107],description:_0xec18[152],Applications:[{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[111],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[112],app:_0xec18[113],appdata:_0xec18[114],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[115],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[120],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[122],app:_0xec18[158],appdata:_0xec18[159],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[126],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[157],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[160],type:_0xec18[107]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[106],type:_0xec18[107],description:_0xec18[152],Applications:[{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[111],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[112],app:_0xec18[113],appdata:_0xec18[114],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[115],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[120],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[122],app:_0xec18[158],appdata:_0xec18[162],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[126],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[161],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[160],type:_0xec18[107]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[106],type:_0xec18[107],description:_0xec18[152],Applications:[{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[111],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[112],app:_0xec18[113],appdata:_0xec18[114],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[115],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[120],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[122],app:_0xec18[158],appdata:_0xec18[164],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[126],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[163],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[160],type:_0xec18[107]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[166],type:_0xec18[167],description:_0xec18[152],Applications:[{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[168],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[112],app:_0xec18[110],appdata:_0xec18[169],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[115],app:_0xec18[113],appdata:_0xec18[170],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[120],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[122],app:_0xec18[116],appdata:_0xec18[121],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[126],app:_0xec18[171],appdata:_0xec18[172],type:_0xec18[167],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[167]},{context:_0xec18[94],exten:_0xec18[165],priority:_0xec18[130],app:_0xec18[116],appdata:_0xec18[173],type:_0xec18[167]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[149]][_0xec18[44]]({context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[104],app:_0xec18[105],appdata:_0xec18[106],type:_0xec18[107],description:_0xec18[175],Applications:[{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[109],app:_0xec18[110],appdata:_0xec18[111],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[112],app:_0xec18[113],appdata:_0xec18[114],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[115],app:_0xec18[116],appdata:_0xec18[117],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[118],app:_0xec18[116],appdata:_0xec18[119],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[120],app:_0xec18[153],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[122],app:_0xec18[154],appdata:_0xec18[176],type:_0xec18[107],interval:_0xec18[125],isApp:true},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[126],app:_0xec18[116],appdata:_0xec18[127],type:_0xec18[107]},{context:_0xec18[94],exten:_0xec18[174],priority:_0xec18[128],app:_0xec18[116],appdata:_0xec18[156],type:_0xec18[107]}]},{include:[{model:models[_0xec18[149]],as:_0xec18[150]}]})[_0xec18[11]](function(_0x673ax19){console[_0xec18[8]](util[_0xec18[16]](_0xec18[100],_0x673ax19[_0xec18[101]],_0x673ax19[_0xec18[102]]))});models[_0xec18[190]][_0xec18[22]]([{name:_0xec18[178],description:_0xec18[179],preproduction:_0xec18[180],production:_0xec18[180]},{name:_0xec18[181],description:_0xec18[182],preproduction:_0xec18[183],production:_0xec18[183]},{name:_0xec18[184],description:_0xec18[185],preproduction:_0xec18[186],production:_0xec18[186]},{name:_0xec18[187],description:_0xec18[188],preproduction:_0xec18[189],production:_0xec18[189]}])[_0xec18[11]](function(_0x673ax1a){console[_0xec18[8]](util[_0xec18[16]](_0xec18[177],_[_0xec18[15]](_0x673ax1a,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[194]][_0xec18[44]]({name:_0xec18[192],dsn:_0xec18[193]})[_0xec18[11]](function(_0x673ax1b){console[_0xec18[8]](util[_0xec18[16]](_0xec18[191],_0x673ax1b[_0xec18[14]]))});var _0x673ax1c=[{name:_0xec18[195],version:_0xec18[196],author:_0xec18[197],logo:_0xec18[198],state:_0xec18[199],description:_0xec18[200],link:_0xec18[201]},{name:_0xec18[202],version:_0xec18[196],author:_0xec18[197],logo:_0xec18[203],state:_0xec18[204],description:_0xec18[205],link:_0xec18[206]},{name:_0xec18[207],version:_0xec18[196],author:_0xec18[197],logo:_0xec18[208],state:_0xec18[209],description:_0xec18[210],link:_0xec18[211]}];models[_0xec18[218]][_0xec18[221]]()[_0xec18[11]](function(_0x673ax1d){var _0x673ax1e=[];_0x673ax1d= _[_0xec18[15]](_0x673ax1d,_0xec18[215]);_0x673ax1c[_0xec18[220]](function(_0x673ax1f){if(_[_0xec18[216]](_0x673ax1d,_0x673ax1f[_0xec18[215]])){_0x673ax1e[_0xec18[219]](models[_0xec18[218]][_0xec18[217]](_0x673ax1f,{where:{state:_0x673ax1f[_0xec18[215]]}}))}else {_0x673ax1e[_0xec18[219]](models[_0xec18[218]][_0xec18[44]](_0x673ax1f))}});return _0x673ax1e})[_0xec18[214]]()[_0xec18[11]](function(){console[_0xec18[8]](_0xec18[213])})[_0xec18[6]](function(_0x673axc){console[_0xec18[8]](_0xec18[212],_0x673axc)});models[_0xec18[237]][_0xec18[22]]([{name:_0xec18[223],type:_0xec18[224],street:_0xec18[225]},{name:_0xec18[226],type:_0xec18[227],street:_0xec18[228],postalCode:_0xec18[229],country:_0xec18[230],city:_0xec18[231],vat:_0xec18[232],website:_0xec18[233],phone:_0xec18[234],fax:_0xec18[235],email:_0xec18[236]}])[_0xec18[11]](function(_0x673ax20){console[_0xec18[8]](util[_0xec18[16]](_0xec18[222],_[_0xec18[15]](_0x673ax20,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[376]][_0xec18[377]]({where:{defaultEntry:true}})[_0xec18[11]](function(){return models[_0xec18[376]][_0xec18[22]]([{name:_0xec18[239],model:JSON[_0xec18[347]]({"\x74\x69\x74\x6C\x65":_0xec18[240],"\x72\x6F\x77\x73":[{"\x63\x6F\x6C\x75\x6D\x6E\x73":[{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[243],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[279],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[280],"\x73\x65\x6C\x65\x63\x74":_0xec18[281]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[284]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[243],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[285],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[286],"\x73\x65\x6C\x65\x63\x74":_0xec18[281]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[287]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[243],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[288],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[289]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[290]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[243],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[291],"\x72\x65\x70\x6F\x72\x74":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[293],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[294]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[295]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[264],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[296],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[297]},"\x74\x69\x74\x6C\x65":_0xec18[298],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[299]}],"\x63\x69\x64":_0xec18[300]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[262],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[301],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[302],"\x73\x65\x6C\x65\x63\x74":_0xec18[281]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[303]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[262],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[304],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[305],"\x73\x65\x6C\x65\x63\x74":_0xec18[281]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[306]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[262],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[307],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[308]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[309]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[268],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[310],"\x72\x65\x70\x6F\x72\x74":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[293],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[311]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[312]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104],"\x63\x6F\x6C\x6F\x72":_0xec18[264],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[313],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[314]},"\x74\x69\x74\x6C\x65":_0xec18[315],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[316]}],"\x63\x69\x64":_0xec18[317]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[243],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[318],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[279],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[319]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[320]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[268],"\x69\x63\x6F\x6E":_0xec18[273],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[321],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[322],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[323]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[268],"\x69\x63\x6F\x6E":_0xec18[273],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[324],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[325]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[326]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[262],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[327],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[304],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[328]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[329]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[104],"\x63\x6F\x6C\x6F\x72":_0xec18[264],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[330],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[331]},"\x74\x69\x74\x6C\x65":_0xec18[332],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[333]}],"\x63\x69\x64":_0xec18[334]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[262],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[335],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[301],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[336]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[337]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[262],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[281],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[338],"\x72\x65\x70\x6F\x72\x74":_0xec18[278],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[339]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[340]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[270],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[341],"\x72\x65\x70\x6F\x72\x74":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[293],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[342]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[343]}],"\x63\x69\x64":_0xec18[344]}]}],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[345],"\x73\x74\x72\x75\x63\x74\x75\x72\x65":_0xec18[346]}),defaultEntry:true,editable:true},{name:_0xec18[348],model:JSON[_0xec18[347]]({"\x74\x69\x74\x6C\x65":_0xec18[348],"\x72\x6F\x77\x73":[{"\x63\x6F\x6C\x75\x6D\x6E\x73":[{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[266],"\x69\x63\x6F\x6E":_0xec18[277],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[281],"\x72\x65\x70\x6F\x72\x74":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[350],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[351]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[352]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[353],"\x63\x6F\x6C\x6F\x72":_0xec18[264],"\x69\x63\x6F\x6E":_0xec18[277],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[281],"\x72\x65\x70\x6F\x72\x74":_0xec18[349],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[354]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[355]}],"\x63\x69\x64":_0xec18[300]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[266],"\x69\x63\x6F\x6E":_0xec18[277],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[356],"\x72\x65\x70\x6F\x72\x74":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[350],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[357]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[358]},{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[350],"\x63\x6F\x6C\x6F\x72":_0xec18[268],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[359],"\x72\x65\x70\x6F\x72\x74":_0xec18[349],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[360]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[361]}],"\x63\x69\x64":_0xec18[317]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[350],"\x63\x6F\x6C\x6F\x72":_0xec18[243],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[362],"\x72\x65\x70\x6F\x72\x74":_0xec18[349],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[363]},"\x74\x69\x74\x6C\x65":_0xec18[282],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[364]}],"\x63\x69\x64":_0xec18[334]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[],"\x63\x69\x64":_0xec18[344]}]}],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[345],"\x73\x74\x72\x75\x63\x74\x75\x72\x65":_0xec18[346]}),defaultEntry:true,editable:true},{name:_0xec18[365],model:JSON[_0xec18[347]]({"\x74\x69\x74\x6C\x65":_0xec18[365],"\x72\x6F\x77\x73":[{"\x63\x6F\x6C\x75\x6D\x6E\x73":[{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[266],"\x69\x63\x6F\x6E":_0xec18[277],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[281],"\x72\x65\x70\x6F\x72\x74":_0xec18[255],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[366],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[367]},"\x74\x69\x74\x6C\x65":_0xec18[368],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[369]}],"\x63\x69\x64":_0xec18[300]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[270],"\x69\x63\x6F\x6E":_0xec18[277],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[281],"\x72\x65\x70\x6F\x72\x74":_0xec18[255],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[370],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[371]},"\x74\x69\x74\x6C\x65":_0xec18[368],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[372]}],"\x63\x69\x64":_0xec18[317]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[{"\x74\x79\x70\x65":_0xec18[242],"\x63\x6F\x6E\x66\x69\x67":{"\x74\x69\x6D\x65\x6F\x75\x74":5,"\x63\x6F\x6C\x6F\x72":_0xec18[268],"\x69\x63\x6F\x6E":_0xec18[244],"\x6C\x69\x6E\x6B":_0xec18[245],"\x6C\x69\x6E\x6B\x54\x65\x78\x74":_0xec18[246],"\x72\x65\x70\x6F\x72\x74\x54\x61\x62\x6C\x65\x73":[{"\x6E\x61\x6D\x65":_0xec18[247],"\x76\x61\x6C\x75\x65":_0xec18[248]},{"\x6E\x61\x6D\x65":_0xec18[249],"\x76\x61\x6C\x75\x65":_0xec18[250]},{"\x6E\x61\x6D\x65":_0xec18[251],"\x76\x61\x6C\x75\x65":_0xec18[252]},{"\x6E\x61\x6D\x65":_0xec18[253],"\x76\x61\x6C\x75\x65":_0xec18[254]},{"\x6E\x61\x6D\x65":_0xec18[29],"\x76\x61\x6C\x75\x65":_0xec18[255]},{"\x6E\x61\x6D\x65":_0xec18[256],"\x76\x61\x6C\x75\x65":_0xec18[257]},{"\x6E\x61\x6D\x65":_0xec18[258],"\x76\x61\x6C\x75\x65":_0xec18[259]}],"\x63\x6F\x6C\x6F\x72\x73":[{"\x6E\x61\x6D\x65":_0xec18[260],"\x76\x61\x6C\x75\x65":_0xec18[243]},{"\x6E\x61\x6D\x65":_0xec18[261],"\x76\x61\x6C\x75\x65":_0xec18[262]},{"\x6E\x61\x6D\x65":_0xec18[263],"\x76\x61\x6C\x75\x65":_0xec18[264]},{"\x6E\x61\x6D\x65":_0xec18[265],"\x76\x61\x6C\x75\x65":_0xec18[266]},{"\x6E\x61\x6D\x65":_0xec18[267],"\x76\x61\x6C\x75\x65":_0xec18[268]},{"\x6E\x61\x6D\x65":_0xec18[269],"\x76\x61\x6C\x75\x65":_0xec18[270]}],"\x69\x63\x6F\x6E\x73":[{"\x6E\x61\x6D\x65":_0xec18[271],"\x76\x61\x6C\x75\x65":_0xec18[244]},{"\x6E\x61\x6D\x65":_0xec18[272],"\x76\x61\x6C\x75\x65":_0xec18[273]},{"\x6E\x61\x6D\x65":_0xec18[274],"\x76\x61\x6C\x75\x65":_0xec18[275]},{"\x6E\x61\x6D\x65":_0xec18[276],"\x76\x61\x6C\x75\x65":_0xec18[277]}],"\x73\x65\x6C\x65\x63\x74":_0xec18[281],"\x72\x65\x70\x6F\x72\x74":_0xec18[255],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E":_0xec18[373],"\x64\x65\x74\x61\x69\x6C\x73":_0xec18[374]},"\x74\x69\x74\x6C\x65":_0xec18[368],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[283],"\x77\x69\x64":_0xec18[375]}],"\x63\x69\x64":_0xec18[334]},{"\x73\x74\x79\x6C\x65\x43\x6C\x61\x73\x73":_0xec18[241],"\x77\x69\x64\x67\x65\x74\x73":[],"\x63\x69\x64":_0xec18[344]}]}],"\x74\x69\x74\x6C\x65\x54\x65\x6D\x70\x6C\x61\x74\x65\x55\x72\x6C":_0xec18[345],"\x73\x74\x72\x75\x63\x74\x75\x72\x65":_0xec18[346]}),defaultEntry:true,editable:true}],{ignoreDuplicates:true,individualHooks:true})})[_0xec18[11]](function(_0x673ax21){console[_0xec18[8]](util[_0xec18[16]](_0xec18[238],_[_0xec18[15]](_0x673ax21,_0xec18[14])[_0xec18[13]]()))});models[_0xec18[380]][_0xec18[22]]([{id:1,min_internal:1000,min_mailbox:1000,agi_port:4573,automation_timeout:3600,soundPath:_0xec18[379]}],{ignoreDuplicates:true,individualHooks:true})[_0xec18[11]](function(){console[_0xec18[8]](util[_0xec18[16]](_0xec18[378]))});models[_0xec18[149]][_0xec18[377]]({where:{context:_0xec18[97]}})[_0xec18[11]](function(){models[_0xec18[149]][_0xec18[22]]([{context:_0xec18[97],exten:_0xec18[382],priority:1,app:_0xec18[105],appdata:_0xec18[383],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:2,app:_0xec18[105],appdata:_0xec18[385],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:3,app:_0xec18[110],appdata:_0xec18[386],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:4,app:_0xec18[387],appdata:_0xec18[137],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:5,app:_0xec18[388],appdata:_0xec18[109],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:6,app:_0xec18[110],appdata:_0xec18[389],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:7,app:_0xec18[110],appdata:_0xec18[390],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:8,app:_0xec18[110],appdata:_0xec18[391],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:9,app:_0xec18[110],appdata:_0xec18[392],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:10,app:_0xec18[110],appdata:_0xec18[393],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:11,app:_0xec18[110],appdata:_0xec18[394],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:12,app:_0xec18[110],appdata:_0xec18[395],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:13,app:_0xec18[110],appdata:_0xec18[396],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:14,app:_0xec18[397],appdata:_0xec18[398],type:_0xec18[384]},{context:_0xec18[97],exten:_0xec18[382],priority:15,app:_0xec18[399],appdata:_0xec18[137],type:_0xec18[384]}],{ignoreDuplicates:true,individualHooks:true})})[_0xec18[11]](function(){console[_0xec18[8]](_0xec18[381])});models[_0xec18[43]][_0xec18[221]]({include:[{model:models[_0xec18[149]],as:_0xec18[405],where:{app:_0xec18[171]}}]})[_0xec18[11]](function(_0x673ax12){console[_0xec18[8]](_0xec18[400]);var _0x673ax22=[];_[_0xec18[220]](_0x673ax12,function(_0x673ax23){_[_0xec18[220]](_0x673ax23.UserExtensions,function(_0x673ax24){_0x673ax24[_0xec18[401]]= _0xec18[402]+ _0x673ax23[_0xec18[14]]+ _0xec18[403];_0x673ax22[_0xec18[219]](_0x673ax24[_0xec18[404]]())})});return _0x673ax22})[_0xec18[214]]()[_0xec18[6]](function(_0x673axc){console[_0xec18[8]](_0x673axc)});_setting[_0xec18[217]]({firstSetup:false})};var _0x673ax25=[{id:1,name:_0xec18[406],title:_0xec18[407],ModuleId:null,path:_0xec18[408]},{id:2,name:_0xec18[409],title:_0xec18[410],ModuleId:null,path:_0xec18[411]},{id:3,name:_0xec18[412],title:_0xec18[413],ModuleId:null,path:_0xec18[414]},{id:4,name:_0xec18[415],title:_0xec18[416],ModuleId:3,path:_0xec18[414]},{id:5,name:_0xec18[417],title:_0xec18[418],ModuleId:null,path:_0xec18[419]},{id:6,name:_0xec18[420],title:_0xec18[421],ModuleId:null,path:null},{id:7,name:_0xec18[422],title:_0xec18[423],ModuleId:6,path:_0xec18[424]},{id:8,name:_0xec18[425],title:_0xec18[426],ModuleId:6,path:_0xec18[427]},{id:9,name:_0xec18[428],title:_0xec18[429],ModuleId:6,path:_0xec18[430]},{id:10,name:_0xec18[431],title:_0xec18[432],ModuleId:6,path:_0xec18[433]},{id:11,name:_0xec18[434],title:_0xec18[435],ModuleId:6,path:_0xec18[436]},{id:12,name:_0xec18[437],title:_0xec18[438],ModuleId:6,path:_0xec18[439]},{id:13,name:_0xec18[440],title:_0xec18[441],ModuleId:null,path:_0xec18[442]},{id:14,name:_0xec18[443],title:_0xec18[444],ModuleId:null,path:_0xec18[445]},{id:15,name:_0xec18[446],title:_0xec18[447],ModuleId:null,path:_0xec18[448]},{id:16,name:_0xec18[449],title:_0xec18[450],ModuleId:null,path:_0xec18[451]},{id:17,name:_0xec18[452],title:_0xec18[453],ModuleId:null,path:_0xec18[454]},{id:18,name:_0xec18[455],title:_0xec18[456],ModuleId:null,path:_0xec18[457]},{id:19,name:_0xec18[458],title:_0xec18[459],ModuleId:null,path:_0xec18[460]},{id:20,name:_0xec18[461],title:_0xec18[462],ModuleId:6,path:_0xec18[463]}];models[_0xec18[466]][_0xec18[221]]()[_0xec18[11]](function(_0x673ax26){var _0x673ax27=[];_0x673ax26= _[_0xec18[15]](_0x673ax26,_0xec18[9]);_0x673ax25[_0xec18[220]](function(_0x673ax28){if(_[_0xec18[216]](_0x673ax26,_0x673ax28[_0xec18[9]])){_0x673ax27[_0xec18[219]](models[_0xec18[466]][_0xec18[217]](_0x673ax28,{where:{id:_0x673ax28[_0xec18[9]]}}))}else {_0x673ax27[_0xec18[219]](models[_0xec18[466]][_0xec18[44]](_0x673ax28))}});return _0x673ax27})[_0xec18[214]]()[_0xec18[11]](function(){console[_0xec18[8]](_0xec18[465])})[_0xec18[6]](function(_0x673axc){console[_0xec18[8]](_0xec18[464],_0x673axc)});var _0x673ax29=[{"\x69\x64":25,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[468],"\x70\x61\x72\x65\x6E\x74":_0xec18[469],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":26,"\x6E\x61\x6D\x65":_0xec18[471],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[472],"\x70\x61\x72\x65\x6E\x74":_0xec18[469],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":28,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[473],"\x70\x61\x72\x65\x6E\x74":_0xec18[474],"\x74\x61\x62\x6C\x65":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[475]},{"\x69\x64":29,"\x6E\x61\x6D\x65":_0xec18[476],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[477],"\x70\x61\x72\x65\x6E\x74":_0xec18[474],"\x74\x61\x62\x6C\x65":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[475]},{"\x69\x64":30,"\x6E\x61\x6D\x65":_0xec18[478],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[479],"\x70\x61\x72\x65\x6E\x74":_0xec18[474],"\x74\x61\x62\x6C\x65":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[475]},{"\x69\x64":31,"\x6E\x61\x6D\x65":_0xec18[480],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[481],"\x70\x61\x72\x65\x6E\x74":_0xec18[474],"\x74\x61\x62\x6C\x65":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[475]},{"\x69\x64":32,"\x6E\x61\x6D\x65":_0xec18[482],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[483],"\x70\x61\x72\x65\x6E\x74":_0xec18[474],"\x74\x61\x62\x6C\x65":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[475]},{"\x69\x64":34,"\x6E\x61\x6D\x65":_0xec18[484],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[485],"\x70\x61\x72\x65\x6E\x74":_0xec18[474],"\x74\x61\x62\x6C\x65":_0xec18[292],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[475]},{"\x69\x64":35,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[486],"\x70\x61\x72\x65\x6E\x74":_0xec18[487],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[488]},{"\x69\x64":36,"\x6E\x61\x6D\x65":_0xec18[489],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[490],"\x70\x61\x72\x65\x6E\x74":_0xec18[487],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[488]},{"\x69\x64":37,"\x6E\x61\x6D\x65":_0xec18[491],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[492],"\x70\x61\x72\x65\x6E\x74":_0xec18[487],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[493]},{"\x69\x64":38,"\x6E\x61\x6D\x65":_0xec18[494],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[495],"\x70\x61\x72\x65\x6E\x74":_0xec18[487],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[496]},{"\x69\x64":40,"\x6E\x61\x6D\x65":_0xec18[497],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[498],"\x70\x61\x72\x65\x6E\x74":_0xec18[499],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":41,"\x6E\x61\x6D\x65":_0xec18[500],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[501],"\x70\x61\x72\x65\x6E\x74":_0xec18[499],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":46,"\x6E\x61\x6D\x65":_0xec18[502],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[503],"\x70\x61\x72\x65\x6E\x74":_0xec18[499],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":47,"\x6E\x61\x6D\x65":_0xec18[504],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[505],"\x70\x61\x72\x65\x6E\x74":_0xec18[499],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":49,"\x6E\x61\x6D\x65":_0xec18[506],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[507],"\x70\x61\x72\x65\x6E\x74":_0xec18[469],"\x74\x61\x62\x6C\x65":_0xec18[278],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":50,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[508],"\x70\x61\x72\x65\x6E\x74":_0xec18[509],"\x74\x61\x62\x6C\x65":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":51,"\x6E\x61\x6D\x65":_0xec18[510],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[511],"\x70\x61\x72\x65\x6E\x74":_0xec18[509],"\x74\x61\x62\x6C\x65":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[512]},{"\x69\x64":52,"\x6E\x61\x6D\x65":_0xec18[513],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[514],"\x70\x61\x72\x65\x6E\x74":_0xec18[509],"\x74\x61\x62\x6C\x65":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":53,"\x6E\x61\x6D\x65":_0xec18[515],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[516],"\x70\x61\x72\x65\x6E\x74":_0xec18[509],"\x74\x61\x62\x6C\x65":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[512]},{"\x69\x64":54,"\x6E\x61\x6D\x65":_0xec18[517],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[518],"\x70\x61\x72\x65\x6E\x74":_0xec18[509],"\x74\x61\x62\x6C\x65":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[512]},{"\x69\x64":55,"\x6E\x61\x6D\x65":_0xec18[519],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[520],"\x70\x61\x72\x65\x6E\x74":_0xec18[509],"\x74\x61\x62\x6C\x65":_0xec18[349],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[512]},{"\x69\x64":57,"\x6E\x61\x6D\x65":_0xec18[521],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[522],"\x70\x61\x72\x65\x6E\x74":_0xec18[523],"\x74\x61\x62\x6C\x65":_0xec18[524],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[525]},{"\x69\x64":61,"\x6E\x61\x6D\x65":_0xec18[526],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[527],"\x70\x61\x72\x65\x6E\x74":_0xec18[528],"\x74\x61\x62\x6C\x65":_0xec18[524],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[529]},{"\x69\x64":62,"\x6E\x61\x6D\x65":_0xec18[530],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[531],"\x70\x61\x72\x65\x6E\x74":_0xec18[528],"\x74\x61\x62\x6C\x65":_0xec18[524],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[532]},{"\x69\x64":63,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[533],"\x70\x61\x72\x65\x6E\x74":_0xec18[528],"\x74\x61\x62\x6C\x65":_0xec18[524],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[529]},{"\x69\x64":64,"\x6E\x61\x6D\x65":_0xec18[534],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[535],"\x70\x61\x72\x65\x6E\x74":_0xec18[528],"\x74\x61\x62\x6C\x65":_0xec18[524],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[536]},{"\x69\x64":65,"\x6E\x61\x6D\x65":_0xec18[506],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[537],"\x70\x61\x72\x65\x6E\x74":_0xec18[538],"\x74\x61\x62\x6C\x65":_0xec18[539],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":67,"\x6E\x61\x6D\x65":_0xec18[540],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[541],"\x70\x61\x72\x65\x6E\x74":_0xec18[538],"\x74\x61\x62\x6C\x65":_0xec18[542],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":68,"\x6E\x61\x6D\x65":_0xec18[543],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[544],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[546],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":69,"\x6E\x61\x6D\x65":_0xec18[547],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[548],"\x70\x61\x72\x65\x6E\x74":_0xec18[549],"\x74\x61\x62\x6C\x65":_0xec18[550],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[551]},{"\x69\x64":70,"\x6E\x61\x6D\x65":_0xec18[552],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[553],"\x70\x61\x72\x65\x6E\x74":_0xec18[549],"\x74\x61\x62\x6C\x65":_0xec18[550],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[554]},{"\x69\x64":72,"\x6E\x61\x6D\x65":_0xec18[555],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[556],"\x70\x61\x72\x65\x6E\x74":_0xec18[557],"\x74\x61\x62\x6C\x65":_0xec18[558],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":73,"\x6E\x61\x6D\x65":_0xec18[559],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[560],"\x70\x61\x72\x65\x6E\x74":_0xec18[557],"\x74\x61\x62\x6C\x65":_0xec18[558],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":74,"\x6E\x61\x6D\x65":_0xec18[561],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[562],"\x70\x61\x72\x65\x6E\x74":_0xec18[557],"\x74\x61\x62\x6C\x65":_0xec18[558],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[563]},{"\x69\x64":75,"\x6E\x61\x6D\x65":_0xec18[564],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[565],"\x70\x61\x72\x65\x6E\x74":_0xec18[557],"\x74\x61\x62\x6C\x65":_0xec18[558],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[566]},{"\x69\x64":76,"\x6E\x61\x6D\x65":_0xec18[567],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[568],"\x70\x61\x72\x65\x6E\x74":_0xec18[557],"\x74\x61\x62\x6C\x65":_0xec18[558],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":77,"\x6E\x61\x6D\x65":_0xec18[569],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[570],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[546],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[566]},{"\x69\x64":79,"\x6E\x61\x6D\x65":_0xec18[571],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[572],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[546],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[573]},{"\x69\x64":81,"\x6E\x61\x6D\x65":_0xec18[574],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[575],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[576],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":82,"\x6E\x61\x6D\x65":_0xec18[577],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[578],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[579],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":83,"\x6E\x61\x6D\x65":_0xec18[580],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[581],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[579],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[582]},{"\x69\x64":84,"\x6E\x61\x6D\x65":_0xec18[583],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0xec18[584],"\x70\x61\x72\x65\x6E\x74":_0xec18[545],"\x74\x61\x62\x6C\x65":_0xec18[579],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[585]},{"\x69\x64":85,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0xec18[586],"\x74\x61\x62\x6C\x65":_0xec18[587],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]},{"\x69\x64":90,"\x6E\x61\x6D\x65":_0xec18[467],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":null,"\x70\x61\x72\x65\x6E\x74":_0xec18[588],"\x74\x61\x62\x6C\x65":_0xec18[589],"\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73":_0xec18[470]}];var _0x673ax2a=[{"\x69\x64":10128,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[591],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10129,"\x66\x69\x65\x6C\x64":_0xec18[592],"\x61\x6C\x69\x61\x73":_0xec18[593],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10130,"\x66\x69\x65\x6C\x64":_0xec18[594],"\x61\x6C\x69\x61\x73":_0xec18[595],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10131,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10132,"\x66\x69\x65\x6C\x64":_0xec18[597],"\x61\x6C\x69\x61\x73":_0xec18[598],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10133,"\x66\x69\x65\x6C\x64":_0xec18[599],"\x61\x6C\x69\x61\x73":_0xec18[600],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10134,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[602],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10135,"\x66\x69\x65\x6C\x64":_0xec18[603],"\x61\x6C\x69\x61\x73":_0xec18[604],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10136,"\x66\x69\x65\x6C\x64":_0xec18[605],"\x61\x6C\x69\x61\x73":_0xec18[606],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10137,"\x66\x69\x65\x6C\x64":_0xec18[607],"\x61\x6C\x69\x61\x73":_0xec18[608],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10138,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[610],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10139,"\x66\x69\x65\x6C\x64":_0xec18[611],"\x61\x6C\x69\x61\x73":_0xec18[612],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10140,"\x66\x69\x65\x6C\x64":_0xec18[613],"\x61\x6C\x69\x61\x73":_0xec18[614],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10141,"\x66\x69\x65\x6C\x64":_0xec18[102],"\x61\x6C\x69\x61\x73":_0xec18[615],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10142,"\x66\x69\x65\x6C\x64":_0xec18[616],"\x61\x6C\x69\x61\x73":_0xec18[617],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10143,"\x66\x69\x65\x6C\x64":_0xec18[619],"\x61\x6C\x69\x61\x73":_0xec18[620],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10144,"\x66\x69\x65\x6C\x64":_0xec18[621],"\x61\x6C\x69\x61\x73":_0xec18[622],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":25,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10188,"\x66\x69\x65\x6C\x64":_0xec18[592],"\x61\x6C\x69\x61\x73":_0xec18[623],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10189,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10190,"\x66\x69\x65\x6C\x64":_0xec18[597],"\x61\x6C\x69\x61\x73":_0xec18[624],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10191,"\x66\x69\x65\x6C\x64":_0xec18[625],"\x61\x6C\x69\x61\x73":_0xec18[626],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10192,"\x66\x69\x65\x6C\x64":_0xec18[627],"\x61\x6C\x69\x61\x73":_0xec18[628],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10193,"\x66\x69\x65\x6C\x64":_0xec18[629],"\x61\x6C\x69\x61\x73":_0xec18[354],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":26,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":20820,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[591],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20821,"\x66\x69\x65\x6C\x64":_0xec18[592],"\x61\x6C\x69\x61\x73":_0xec18[593],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20822,"\x66\x69\x65\x6C\x64":_0xec18[594],"\x61\x6C\x69\x61\x73":_0xec18[595],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20823,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20824,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20825,"\x66\x69\x65\x6C\x64":_0xec18[632],"\x61\x6C\x69\x61\x73":_0xec18[633],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20826,"\x66\x69\x65\x6C\x64":_0xec18[634],"\x61\x6C\x69\x61\x73":_0xec18[635],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20827,"\x66\x69\x65\x6C\x64":_0xec18[636],"\x61\x6C\x69\x61\x73":_0xec18[637],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20828,"\x66\x69\x65\x6C\x64":_0xec18[627],"\x61\x6C\x69\x61\x73":_0xec18[622],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20829,"\x66\x69\x65\x6C\x64":_0xec18[638],"\x61\x6C\x69\x61\x73":_0xec18[617],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20830,"\x66\x69\x65\x6C\x64":_0xec18[639],"\x61\x6C\x69\x61\x73":_0xec18[640],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20831,"\x66\x69\x65\x6C\x64":_0xec18[641],"\x61\x6C\x69\x61\x73":_0xec18[642],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20832,"\x66\x69\x65\x6C\x64":_0xec18[643],"\x61\x6C\x69\x61\x73":_0xec18[644],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20833,"\x66\x69\x65\x6C\x64":_0xec18[645],"\x61\x6C\x69\x61\x73":_0xec18[646],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20834,"\x66\x69\x65\x6C\x64":_0xec18[647],"\x61\x6C\x69\x61\x73":_0xec18[648],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":20835,"\x66\x69\x65\x6C\x64":_0xec18[102],"\x61\x6C\x69\x61\x73":_0xec18[615],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":28,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25504,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25505,"\x66\x69\x65\x6C\x64":_0xec18[643],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25506,"\x66\x69\x65\x6C\x64":_0xec18[638],"\x61\x6C\x69\x61\x73":_0xec18[651],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25507,"\x66\x69\x65\x6C\x64":_0xec18[641],"\x61\x6C\x69\x61\x73":_0xec18[652],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25508,"\x66\x69\x65\x6C\x64":_0xec18[653],"\x61\x6C\x69\x61\x73":_0xec18[654],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25509,"\x66\x69\x65\x6C\x64":_0xec18[655],"\x61\x6C\x69\x61\x73":_0xec18[656],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25510,"\x66\x69\x65\x6C\x64":_0xec18[657],"\x61\x6C\x69\x61\x73":_0xec18[658],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25511,"\x66\x69\x65\x6C\x64":_0xec18[659],"\x61\x6C\x69\x61\x73":_0xec18[660],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":29,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10470,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10471,"\x66\x69\x65\x6C\x64":_0xec18[643],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10472,"\x66\x69\x65\x6C\x64":_0xec18[638],"\x61\x6C\x69\x61\x73":_0xec18[661],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10473,"\x66\x69\x65\x6C\x64":_0xec18[627],"\x61\x6C\x69\x61\x73":_0xec18[662],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10474,"\x66\x69\x65\x6C\x64":_0xec18[641],"\x61\x6C\x69\x61\x73":_0xec18[663],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10475,"\x66\x69\x65\x6C\x64":_0xec18[653],"\x61\x6C\x69\x61\x73":_0xec18[664],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10476,"\x66\x69\x65\x6C\x64":_0xec18[655],"\x61\x6C\x69\x61\x73":_0xec18[665],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10477,"\x66\x69\x65\x6C\x64":_0xec18[666],"\x61\x6C\x69\x61\x73":_0xec18[667],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10478,"\x66\x69\x65\x6C\x64":_0xec18[657],"\x61\x6C\x69\x61\x73":_0xec18[668],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10479,"\x66\x69\x65\x6C\x64":_0xec18[659],"\x61\x6C\x69\x61\x73":_0xec18[669],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":30,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10517,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10518,"\x66\x69\x65\x6C\x64":_0xec18[643],"\x61\x6C\x69\x61\x73":_0xec18[670],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10519,"\x66\x69\x65\x6C\x64":_0xec18[671],"\x61\x6C\x69\x61\x73":_0xec18[672],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10520,"\x66\x69\x65\x6C\x64":_0xec18[673],"\x61\x6C\x69\x61\x73":_0xec18[674],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10521,"\x66\x69\x65\x6C\x64":_0xec18[675],"\x61\x6C\x69\x61\x73":_0xec18[676],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10522,"\x66\x69\x65\x6C\x64":_0xec18[677],"\x61\x6C\x69\x61\x73":_0xec18[678],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10523,"\x66\x69\x65\x6C\x64":_0xec18[679],"\x61\x6C\x69\x61\x73":_0xec18[680],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10524,"\x66\x69\x65\x6C\x64":_0xec18[681],"\x61\x6C\x69\x61\x73":_0xec18[682],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10525,"\x66\x69\x65\x6C\x64":_0xec18[683],"\x61\x6C\x69\x61\x73":_0xec18[684],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10526,"\x66\x69\x65\x6C\x64":_0xec18[685],"\x61\x6C\x69\x61\x73":_0xec18[686],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":31,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10765,"\x66\x69\x65\x6C\x64":_0xec18[645],"\x61\x6C\x69\x61\x73":_0xec18[687],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":32,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10766,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[249],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":32,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10813,"\x66\x69\x65\x6C\x64":_0xec18[634],"\x61\x6C\x69\x61\x73":_0xec18[689],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[690],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10814,"\x66\x69\x65\x6C\x64":_0xec18[643],"\x61\x6C\x69\x61\x73":_0xec18[670],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10815,"\x66\x69\x65\x6C\x64":_0xec18[671],"\x61\x6C\x69\x61\x73":_0xec18[672],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10816,"\x66\x69\x65\x6C\x64":_0xec18[675],"\x61\x6C\x69\x61\x73":_0xec18[676],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10817,"\x66\x69\x65\x6C\x64":_0xec18[679],"\x61\x6C\x69\x61\x73":_0xec18[680],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10818,"\x66\x69\x65\x6C\x64":_0xec18[683],"\x61\x6C\x69\x61\x73":_0xec18[684],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":34,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10905,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[591],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10906,"\x66\x69\x65\x6C\x64":_0xec18[592],"\x61\x6C\x69\x61\x73":_0xec18[593],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10907,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10908,"\x66\x69\x65\x6C\x64":_0xec18[597],"\x61\x6C\x69\x61\x73":_0xec18[691],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10909,"\x66\x69\x65\x6C\x64":_0xec18[599],"\x61\x6C\x69\x61\x73":_0xec18[692],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10910,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[693],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10911,"\x66\x69\x65\x6C\x64":_0xec18[603],"\x61\x6C\x69\x61\x73":_0xec18[694],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10912,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10913,"\x66\x69\x65\x6C\x64":_0xec18[611],"\x61\x6C\x69\x61\x73":_0xec18[695],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10914,"\x66\x69\x65\x6C\x64":_0xec18[613],"\x61\x6C\x69\x61\x73":_0xec18[696],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10915,"\x66\x69\x65\x6C\x64":_0xec18[697],"\x61\x6C\x69\x61\x73":_0xec18[698],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10916,"\x66\x69\x65\x6C\x64":_0xec18[102],"\x61\x6C\x69\x61\x73":_0xec18[615],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10917,"\x66\x69\x65\x6C\x64":_0xec18[619],"\x61\x6C\x69\x61\x73":_0xec18[699],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10918,"\x66\x69\x65\x6C\x64":_0xec18[700],"\x61\x6C\x69\x61\x73":_0xec18[701],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":35,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10947,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10948,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10949,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10950,"\x66\x69\x65\x6C\x64":_0xec18[619],"\x61\x6C\x69\x61\x73":_0xec18[703],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10951,"\x66\x69\x65\x6C\x64":_0xec18[704],"\x61\x6C\x69\x61\x73":_0xec18[705],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10952,"\x66\x69\x65\x6C\x64":_0xec18[700],"\x61\x6C\x69\x61\x73":_0xec18[706],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10953,"\x66\x69\x65\x6C\x64":_0xec18[707],"\x61\x6C\x69\x61\x73":_0xec18[708],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":36,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10957,"\x66\x69\x65\x6C\x64":_0xec18[613],"\x61\x6C\x69\x61\x73":_0xec18[687],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10958,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[249],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10959,"\x66\x69\x65\x6C\x64":_0xec18[700],"\x61\x6C\x69\x61\x73":_0xec18[706],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":37,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10983,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10984,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[709],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":10985,"\x66\x69\x65\x6C\x64":_0xec18[710],"\x61\x6C\x69\x61\x73":_0xec18[711],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10986,"\x66\x69\x65\x6C\x64":_0xec18[712],"\x61\x6C\x69\x61\x73":_0xec18[713],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10987,"\x66\x69\x65\x6C\x64":_0xec18[714],"\x61\x6C\x69\x61\x73":_0xec18[715],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10988,"\x66\x69\x65\x6C\x64":_0xec18[716],"\x61\x6C\x69\x61\x73":_0xec18[717],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10989,"\x66\x69\x65\x6C\x64":_0xec18[718],"\x61\x6C\x69\x61\x73":_0xec18[719],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10990,"\x66\x69\x65\x6C\x64":_0xec18[720],"\x61\x6C\x69\x61\x73":_0xec18[721],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10991,"\x66\x69\x65\x6C\x64":_0xec18[722],"\x61\x6C\x69\x61\x73":_0xec18[723],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":10992,"\x66\x69\x65\x6C\x64":_0xec18[724],"\x61\x6C\x69\x61\x73":_0xec18[725],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":38,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11892,"\x66\x69\x65\x6C\x64":_0xec18[726],"\x61\x6C\x69\x61\x73":_0xec18[727],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[728],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11893,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[729],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11894,"\x66\x69\x65\x6C\x64":_0xec18[605],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11895,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11896,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11897,"\x66\x69\x65\x6C\x64":_0xec18[616],"\x61\x6C\x69\x61\x73":_0xec18[661],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11898,"\x66\x69\x65\x6C\x64":_0xec18[731],"\x61\x6C\x69\x61\x73":_0xec18[656],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11899,"\x66\x69\x65\x6C\x64":_0xec18[704],"\x61\x6C\x69\x61\x73":_0xec18[705],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":40,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11629,"\x66\x69\x65\x6C\x64":_0xec18[726],"\x61\x6C\x69\x61\x73":_0xec18[689],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[690],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11630,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[729],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11631,"\x66\x69\x65\x6C\x64":_0xec18[605],"\x61\x6C\x69\x61\x73":_0xec18[354],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11632,"\x66\x69\x65\x6C\x64":_0xec18[732],"\x61\x6C\x69\x61\x73":_0xec18[733],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11633,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11634,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11635,"\x66\x69\x65\x6C\x64":_0xec18[616],"\x61\x6C\x69\x61\x73":_0xec18[661],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11636,"\x66\x69\x65\x6C\x64":_0xec18[731],"\x61\x6C\x69\x61\x73":_0xec18[656],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11637,"\x66\x69\x65\x6C\x64":_0xec18[704],"\x61\x6C\x69\x61\x73":_0xec18[705],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":41,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11927,"\x66\x69\x65\x6C\x64":_0xec18[734],"\x61\x6C\x69\x61\x73":_0xec18[735],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11928,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[729],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11929,"\x66\x69\x65\x6C\x64":_0xec18[605],"\x61\x6C\x69\x61\x73":_0xec18[354],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11930,"\x66\x69\x65\x6C\x64":_0xec18[732],"\x61\x6C\x69\x61\x73":_0xec18[733],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11931,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11932,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":11933,"\x66\x69\x65\x6C\x64":_0xec18[616],"\x61\x6C\x69\x61\x73":_0xec18[661],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11934,"\x66\x69\x65\x6C\x64":_0xec18[731],"\x61\x6C\x69\x61\x73":_0xec18[656],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11935,"\x66\x69\x65\x6C\x64":_0xec18[704],"\x61\x6C\x69\x61\x73":_0xec18[705],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":46,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25365,"\x66\x69\x65\x6C\x64":_0xec18[736],"\x61\x6C\x69\x61\x73":_0xec18[737],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25366,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[729],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25367,"\x66\x69\x65\x6C\x64":_0xec18[605],"\x61\x6C\x69\x61\x73":_0xec18[354],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25368,"\x66\x69\x65\x6C\x64":_0xec18[732],"\x61\x6C\x69\x61\x73":_0xec18[733],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25369,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":_0xec18[738],"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25370,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25371,"\x66\x69\x65\x6C\x64":_0xec18[616],"\x61\x6C\x69\x61\x73":_0xec18[661],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25372,"\x66\x69\x65\x6C\x64":_0xec18[731],"\x61\x6C\x69\x61\x73":_0xec18[656],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25373,"\x66\x69\x65\x6C\x64":_0xec18[704],"\x61\x6C\x69\x61\x73":_0xec18[705],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":47,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":11999,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":12000,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[729],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":12001,"\x66\x69\x65\x6C\x64":_0xec18[605],"\x61\x6C\x69\x61\x73":_0xec18[354],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":12002,"\x66\x69\x65\x6C\x64":_0xec18[732],"\x61\x6C\x69\x61\x73":_0xec18[733],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":12003,"\x66\x69\x65\x6C\x64":_0xec18[601],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":12004,"\x66\x69\x65\x6C\x64":_0xec18[609],"\x61\x6C\x69\x61\x73":_0xec18[339],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":12005,"\x66\x69\x65\x6C\x64":_0xec18[616],"\x61\x6C\x69\x61\x73":_0xec18[661],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":12006,"\x66\x69\x65\x6C\x64":_0xec18[731],"\x61\x6C\x69\x61\x73":_0xec18[656],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":12007,"\x66\x69\x65\x6C\x64":_0xec18[704],"\x61\x6C\x69\x61\x73":_0xec18[705],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":49,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15136,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[739],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15137,"\x66\x69\x65\x6C\x64":_0xec18[740],"\x61\x6C\x69\x61\x73":_0xec18[741],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15138,"\x66\x69\x65\x6C\x64":_0xec18[742],"\x61\x6C\x69\x61\x73":_0xec18[743],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15139,"\x66\x69\x65\x6C\x64":_0xec18[744],"\x61\x6C\x69\x61\x73":_0xec18[745],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15140,"\x66\x69\x65\x6C\x64":_0xec18[746],"\x61\x6C\x69\x61\x73":_0xec18[747],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15141,"\x66\x69\x65\x6C\x64":_0xec18[748],"\x61\x6C\x69\x61\x73":_0xec18[623],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15142,"\x66\x69\x65\x6C\x64":_0xec18[749],"\x61\x6C\x69\x61\x73":_0xec18[750],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15143,"\x66\x69\x65\x6C\x64":_0xec18[751],"\x61\x6C\x69\x61\x73":_0xec18[752],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15144,"\x66\x69\x65\x6C\x64":_0xec18[753],"\x61\x6C\x69\x61\x73":_0xec18[754],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15145,"\x66\x69\x65\x6C\x64":_0xec18[755],"\x61\x6C\x69\x61\x73":_0xec18[624],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15146,"\x66\x69\x65\x6C\x64":_0xec18[756],"\x61\x6C\x69\x61\x73":_0xec18[622],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15147,"\x66\x69\x65\x6C\x64":_0xec18[757],"\x61\x6C\x69\x61\x73":_0xec18[626],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15148,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15149,"\x66\x69\x65\x6C\x64":_0xec18[760],"\x61\x6C\x69\x61\x73":_0xec18[761],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":50,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15210,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[739],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15211,"\x66\x69\x65\x6C\x64":_0xec18[762],"\x61\x6C\x69\x61\x73":_0xec18[763],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15212,"\x66\x69\x65\x6C\x64":_0xec18[744],"\x61\x6C\x69\x61\x73":_0xec18[745],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15213,"\x66\x69\x65\x6C\x64":_0xec18[746],"\x61\x6C\x69\x61\x73":_0xec18[747],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15214,"\x66\x69\x65\x6C\x64":_0xec18[748],"\x61\x6C\x69\x61\x73":_0xec18[764],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15215,"\x66\x69\x65\x6C\x64":_0xec18[755],"\x61\x6C\x69\x61\x73":_0xec18[624],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15216,"\x66\x69\x65\x6C\x64":_0xec18[756],"\x61\x6C\x69\x61\x73":_0xec18[622],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15217,"\x66\x69\x65\x6C\x64":_0xec18[757],"\x61\x6C\x69\x61\x73":_0xec18[626],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15218,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15219,"\x66\x69\x65\x6C\x64":_0xec18[765],"\x61\x6C\x69\x61\x73":_0xec18[766],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15220,"\x66\x69\x65\x6C\x64":_0xec18[760],"\x61\x6C\x69\x61\x73":_0xec18[761],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15221,"\x66\x69\x65\x6C\x64":_0xec18[742],"\x61\x6C\x69\x61\x73":_0xec18[743],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":51,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15234,"\x66\x69\x65\x6C\x64":_0xec18[740],"\x61\x6C\x69\x61\x73":_0xec18[741],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":52,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15235,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[249],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":52,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15236,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[767],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":52,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15237,"\x66\x69\x65\x6C\x64":_0xec18[768],"\x61\x6C\x69\x61\x73":_0xec18[363],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":52,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15242,"\x66\x69\x65\x6C\x64":_0xec18[760],"\x61\x6C\x69\x61\x73":_0xec18[761],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":53,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15243,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[249],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":53,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15244,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[767],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":53,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15245,"\x66\x69\x65\x6C\x64":_0xec18[768],"\x61\x6C\x69\x61\x73":_0xec18[363],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":53,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15262,"\x66\x69\x65\x6C\x64":_0xec18[769],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":54,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15263,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[249],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":54,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15264,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[767],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":54,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15265,"\x66\x69\x65\x6C\x64":_0xec18[768],"\x61\x6C\x69\x61\x73":_0xec18[363],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":54,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15274,"\x66\x69\x65\x6C\x64":_0xec18[755],"\x61\x6C\x69\x61\x73":_0xec18[727],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[728],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":55,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15275,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[249],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":55,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15276,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[767],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":55,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15277,"\x66\x69\x65\x6C\x64":_0xec18[768],"\x61\x6C\x69\x61\x73":_0xec18[363],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":55,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15303,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":_0xec18[738],"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":57,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15304,"\x66\x69\x65\x6C\x64":_0xec18[770],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":57,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15374,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":61,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15375,"\x66\x69\x65\x6C\x64":_0xec18[771],"\x61\x6C\x69\x61\x73":_0xec18[521],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":61,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15376,"\x66\x69\x65\x6C\x64":_0xec18[772],"\x61\x6C\x69\x61\x73":_0xec18[773],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":61,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15377,"\x66\x69\x65\x6C\x64":_0xec18[774],"\x61\x6C\x69\x61\x73":_0xec18[534],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":61,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15378,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":62,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15379,"\x66\x69\x65\x6C\x64":_0xec18[775],"\x61\x6C\x69\x61\x73":_0xec18[776],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":62,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15380,"\x66\x69\x65\x6C\x64":_0xec18[777],"\x61\x6C\x69\x61\x73":_0xec18[778],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":62,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15381,"\x66\x69\x65\x6C\x64":_0xec18[779],"\x61\x6C\x69\x61\x73":_0xec18[85],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":62,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15382,"\x66\x69\x65\x6C\x64":_0xec18[758],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":62,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15383,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15384,"\x66\x69\x65\x6C\x64":_0xec18[780],"\x61\x6C\x69\x61\x73":_0xec18[781],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15385,"\x66\x69\x65\x6C\x64":_0xec18[740],"\x61\x6C\x69\x61\x73":_0xec18[782],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15386,"\x66\x69\x65\x6C\x64":_0xec18[779],"\x61\x6C\x69\x61\x73":_0xec18[741],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15387,"\x66\x69\x65\x6C\x64":_0xec18[775],"\x61\x6C\x69\x61\x73":_0xec18[776],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15388,"\x66\x69\x65\x6C\x64":_0xec18[777],"\x61\x6C\x69\x61\x73":_0xec18[778],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15389,"\x66\x69\x65\x6C\x64":_0xec18[783],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":63,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15390,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":_0xec18[738],"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":64,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15391,"\x66\x69\x65\x6C\x64":_0xec18[779],"\x61\x6C\x69\x61\x73":_0xec18[784],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":_0xec18[738],"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":64,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15392,"\x66\x69\x65\x6C\x64":_0xec18[770],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":64,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25439,"\x66\x69\x65\x6C\x64":_0xec18[785],"\x61\x6C\x69\x61\x73":_0xec18[786],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25440,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[591],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25441,"\x66\x69\x65\x6C\x64":_0xec18[748],"\x61\x6C\x69\x61\x73":_0xec18[764],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25442,"\x66\x69\x65\x6C\x64":_0xec18[787],"\x61\x6C\x69\x61\x73":_0xec18[615],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25443,"\x66\x69\x65\x6C\x64":_0xec18[788],"\x61\x6C\x69\x61\x73":_0xec18[789],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":_0xec18[738],"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25444,"\x66\x69\x65\x6C\x64":_0xec18[790],"\x61\x6C\x69\x61\x73":_0xec18[791],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25445,"\x66\x69\x65\x6C\x64":_0xec18[792],"\x61\x6C\x69\x61\x73":_0xec18[759],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":65,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15441,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[793],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":67,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15442,"\x66\x69\x65\x6C\x64":_0xec18[785],"\x61\x6C\x69\x61\x73":_0xec18[786],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":67,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15443,"\x66\x69\x65\x6C\x64":_0xec18[748],"\x61\x6C\x69\x61\x73":_0xec18[794],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":67,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15444,"\x66\x69\x65\x6C\x64":_0xec18[795],"\x61\x6C\x69\x61\x73":_0xec18[796],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":67,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15445,"\x66\x69\x65\x6C\x64":_0xec18[797],"\x61\x6C\x69\x61\x73":_0xec18[798],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":67,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15998,"\x66\x69\x65\x6C\x64":_0xec18[799],"\x61\x6C\x69\x61\x73":_0xec18[800],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15999,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[801],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":16000,"\x66\x69\x65\x6C\x64":_0xec18[802],"\x61\x6C\x69\x61\x73":_0xec18[803],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16001,"\x66\x69\x65\x6C\x64":_0xec18[804],"\x61\x6C\x69\x61\x73":_0xec18[805],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16002,"\x66\x69\x65\x6C\x64":_0xec18[806],"\x61\x6C\x69\x61\x73":_0xec18[807],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16003,"\x66\x69\x65\x6C\x64":_0xec18[808],"\x61\x6C\x69\x61\x73":_0xec18[809],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16004,"\x66\x69\x65\x6C\x64":_0xec18[810],"\x61\x6C\x69\x61\x73":_0xec18[811],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":68,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15458,"\x66\x69\x65\x6C\x64":_0xec18[812],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":69,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15459,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[813],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":69,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15460,"\x66\x69\x65\x6C\x64":_0xec18[814],"\x61\x6C\x69\x61\x73":_0xec18[815],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":69,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15461,"\x66\x69\x65\x6C\x64":_0xec18[814],"\x61\x6C\x69\x61\x73":_0xec18[816],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[817],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":69,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25446,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":70,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25447,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[818],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":70,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25448,"\x66\x69\x65\x6C\x64":_0xec18[814],"\x61\x6C\x69\x61\x73":_0xec18[815],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":70,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25449,"\x66\x69\x65\x6C\x64":_0xec18[814],"\x61\x6C\x69\x61\x73":_0xec18[816],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[817],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":70,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25463,"\x66\x69\x65\x6C\x64":_0xec18[819],"\x61\x6C\x69\x61\x73":_0xec18[820],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25464,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[821],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25465,"\x66\x69\x65\x6C\x64":_0xec18[822],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25466,"\x66\x69\x65\x6C\x64":_0xec18[823],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25467,"\x66\x69\x65\x6C\x64":_0xec18[824],"\x61\x6C\x69\x61\x73":_0xec18[825],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25468,"\x66\x69\x65\x6C\x64":_0xec18[826],"\x61\x6C\x69\x61\x73":_0xec18[827],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25469,"\x66\x69\x65\x6C\x64":_0xec18[828],"\x61\x6C\x69\x61\x73":_0xec18[829],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":72,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25470,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[591],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25471,"\x66\x69\x65\x6C\x64":_0xec18[819],"\x61\x6C\x69\x61\x73":_0xec18[830],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25472,"\x66\x69\x65\x6C\x64":_0xec18[831],"\x61\x6C\x69\x61\x73":_0xec18[832],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25473,"\x66\x69\x65\x6C\x64":_0xec18[833],"\x61\x6C\x69\x61\x73":_0xec18[834],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25474,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[835],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25475,"\x66\x69\x65\x6C\x64":_0xec18[836],"\x61\x6C\x69\x61\x73":_0xec18[837],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25476,"\x66\x69\x65\x6C\x64":_0xec18[788],"\x61\x6C\x69\x61\x73":_0xec18[691],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25477,"\x66\x69\x65\x6C\x64":_0xec18[790],"\x61\x6C\x69\x61\x73":_0xec18[692],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25478,"\x66\x69\x65\x6C\x64":_0xec18[838],"\x61\x6C\x69\x61\x73":_0xec18[608],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25479,"\x66\x69\x65\x6C\x64":_0xec18[822],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25480,"\x66\x69\x65\x6C\x64":_0xec18[839],"\x61\x6C\x69\x61\x73":_0xec18[840],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25481,"\x66\x69\x65\x6C\x64":_0xec18[823],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25482,"\x66\x69\x65\x6C\x64":_0xec18[824],"\x61\x6C\x69\x61\x73":_0xec18[825],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":73,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25483,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":74,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25484,"\x66\x69\x65\x6C\x64":_0xec18[822],"\x61\x6C\x69\x61\x73":_0xec18[841],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":74,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25485,"\x66\x69\x65\x6C\x64":_0xec18[826],"\x61\x6C\x69\x61\x73":_0xec18[827],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":74,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25486,"\x66\x69\x65\x6C\x64":_0xec18[828],"\x61\x6C\x69\x61\x73":_0xec18[829],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":74,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25487,"\x66\x69\x65\x6C\x64":_0xec18[842],"\x61\x6C\x69\x61\x73":_0xec18[843],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":74,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25488,"\x66\x69\x65\x6C\x64":_0xec18[844],"\x61\x6C\x69\x61\x73":_0xec18[845],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":74,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25489,"\x66\x69\x65\x6C\x64":_0xec18[836],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25490,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[821],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25491,"\x66\x69\x65\x6C\x64":_0xec18[822],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25492,"\x66\x69\x65\x6C\x64":_0xec18[823],"\x61\x6C\x69\x61\x73":_0xec18[702],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25493,"\x66\x69\x65\x6C\x64":_0xec18[824],"\x61\x6C\x69\x61\x73":_0xec18[825],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25494,"\x66\x69\x65\x6C\x64":_0xec18[826],"\x61\x6C\x69\x61\x73":_0xec18[846],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25495,"\x66\x69\x65\x6C\x64":_0xec18[828],"\x61\x6C\x69\x61\x73":_0xec18[829],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":75,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15623,"\x66\x69\x65\x6C\x64":_0xec18[788],"\x61\x6C\x69\x61\x73":_0xec18[727],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[728],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":76,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15624,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[821],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[730],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":76,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15625,"\x66\x69\x65\x6C\x64":_0xec18[822],"\x61\x6C\x69\x61\x73":_0xec18[649],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":76,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15626,"\x66\x69\x65\x6C\x64":_0xec18[847],"\x61\x6C\x69\x61\x73":_0xec18[848],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":76,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15627,"\x66\x69\x65\x6C\x64":_0xec18[826],"\x61\x6C\x69\x61\x73":_0xec18[827],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":76,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15628,"\x66\x69\x65\x6C\x64":_0xec18[828],"\x61\x6C\x69\x61\x73":_0xec18[829],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":76,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15953,"\x66\x69\x65\x6C\x64":_0xec18[836],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":77,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15954,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[801],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":77,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15955,"\x66\x69\x65\x6C\x64":_0xec18[849],"\x61\x6C\x69\x61\x73":_0xec18[803],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":77,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15956,"\x66\x69\x65\x6C\x64":_0xec18[824],"\x61\x6C\x69\x61\x73":_0xec18[825],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":77,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":15957,"\x66\x69\x65\x6C\x64":_0xec18[850],"\x61\x6C\x69\x61\x73":_0xec18[805],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":77,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":15958,"\x66\x69\x65\x6C\x64":_0xec18[851],"\x61\x6C\x69\x61\x73":_0xec18[852],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":77,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16310,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[630],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":79,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":16311,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[853],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":79,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":16312,"\x66\x69\x65\x6C\x64":_0xec18[854],"\x61\x6C\x69\x61\x73":_0xec18[855],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":79,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16313,"\x66\x69\x65\x6C\x64":_0xec18[856],"\x61\x6C\x69\x61\x73":_0xec18[631],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":79,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16314,"\x66\x69\x65\x6C\x64":_0xec18[857],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":79,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16302,"\x66\x69\x65\x6C\x64":_0xec18[858],"\x61\x6C\x69\x61\x73":_0xec18[727],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[728],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":81,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":16303,"\x66\x69\x65\x6C\x64":_0xec18[859],"\x61\x6C\x69\x61\x73":_0xec18[801],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":81,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":16304,"\x66\x69\x65\x6C\x64":_0xec18[860],"\x61\x6C\x69\x61\x73":_0xec18[861],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[650],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":81,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":17281,"\x66\x69\x65\x6C\x64":_0xec18[9],"\x61\x6C\x69\x61\x73":_0xec18[9],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17282,"\x66\x69\x65\x6C\x64":_0xec18[862],"\x61\x6C\x69\x61\x73":_0xec18[862],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17283,"\x66\x69\x65\x6C\x64":_0xec18[863],"\x61\x6C\x69\x61\x73":_0xec18[863],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17284,"\x66\x69\x65\x6C\x64":_0xec18[864],"\x61\x6C\x69\x61\x73":_0xec18[864],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17285,"\x66\x69\x65\x6C\x64":_0xec18[858],"\x61\x6C\x69\x61\x73":_0xec18[858],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17286,"\x66\x69\x65\x6C\x64":_0xec18[865],"\x61\x6C\x69\x61\x73":_0xec18[865],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17287,"\x66\x69\x65\x6C\x64":_0xec18[866],"\x61\x6C\x69\x61\x73":_0xec18[866],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17288,"\x66\x69\x65\x6C\x64":_0xec18[867],"\x61\x6C\x69\x61\x73":_0xec18[867],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17289,"\x66\x69\x65\x6C\x64":_0xec18[868],"\x61\x6C\x69\x61\x73":_0xec18[868],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17290,"\x66\x69\x65\x6C\x64":_0xec18[869],"\x61\x6C\x69\x61\x73":_0xec18[869],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17291,"\x66\x69\x65\x6C\x64":_0xec18[870],"\x61\x6C\x69\x61\x73":_0xec18[870],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17292,"\x66\x69\x65\x6C\x64":_0xec18[760],"\x61\x6C\x69\x61\x73":_0xec18[760],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17293,"\x66\x69\x65\x6C\x64":_0xec18[871],"\x61\x6C\x69\x61\x73":_0xec18[871],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":82,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17300,"\x66\x69\x65\x6C\x64":_0xec18[760],"\x61\x6C\x69\x61\x73":_0xec18[760],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":83,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17301,"\x66\x69\x65\x6C\x64":_0xec18[872],"\x61\x6C\x69\x61\x73":_0xec18[873],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":83,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":17333,"\x66\x69\x65\x6C\x64":_0xec18[867],"\x61\x6C\x69\x61\x73":_0xec18[867],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[728],"\x67\x72\x6F\x75\x70\x42\x79":1,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":84,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17334,"\x66\x69\x65\x6C\x64":_0xec18[9],"\x61\x6C\x69\x61\x73":_0xec18[874],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":_0xec18[688],"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":84,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":17335,"\x66\x69\x65\x6C\x64":_0xec18[875],"\x61\x6C\x69\x61\x73":_0xec18[669],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":_0xec18[618],"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":84,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":1},{"\x69\x64":25434,"\x66\x69\x65\x6C\x64":_0xec18[858],"\x61\x6C\x69\x61\x73":_0xec18[876],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":85,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25435,"\x66\x69\x65\x6C\x64":_0xec18[9],"\x61\x6C\x69\x61\x73":_0xec18[877],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":85,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25436,"\x66\x69\x65\x6C\x64":_0xec18[878],"\x61\x6C\x69\x61\x73":_0xec18[879],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":85,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25437,"\x66\x69\x65\x6C\x64":_0xec18[880],"\x61\x6C\x69\x61\x73":_0xec18[881],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":85,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25438,"\x66\x69\x65\x6C\x64":_0xec18[863],"\x61\x6C\x69\x61\x73":_0xec18[882],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":85,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25386,"\x66\x69\x65\x6C\x64":_0xec18[858],"\x61\x6C\x69\x61\x73":_0xec18[876],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25387,"\x66\x69\x65\x6C\x64":_0xec18[590],"\x61\x6C\x69\x61\x73":_0xec18[739],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25388,"\x66\x69\x65\x6C\x64":_0xec18[458],"\x61\x6C\x69\x61\x73":_0xec18[218],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25389,"\x66\x69\x65\x6C\x64":_0xec18[596],"\x61\x6C\x69\x61\x73":_0xec18[154],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25390,"\x66\x69\x65\x6C\x64":_0xec18[592],"\x61\x6C\x69\x61\x73":_0xec18[623],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25391,"\x66\x69\x65\x6C\x64":_0xec18[630],"\x61\x6C\x69\x61\x73":_0xec18[883],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25392,"\x66\x69\x65\x6C\x64":_0xec18[884],"\x61\x6C\x69\x61\x73":_0xec18[884],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0},{"\x69\x64":25393,"\x66\x69\x65\x6C\x64":_0xec18[885],"\x61\x6C\x69\x61\x73":_0xec18[886],"\x66\x75\x6E\x63\x74\x69\x6F\x6E":null,"\x66\x6F\x72\x6D\x61\x74":null,"\x67\x72\x6F\x75\x70\x42\x79":0,"\x6F\x72\x64\x65\x72\x42\x79":null,"\x43\x75\x73\x74\x6F\x6D\x52\x65\x70\x6F\x72\x74\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x44\x65\x66\x61\x75\x6C\x74\x52\x65\x70\x6F\x72\x74\x49\x64":90,"\x4D\x65\x74\x72\x69\x63\x49\x64":null,"\x63\x75\x73\x74\x6F\x6D":0}];models[_0xec18[893]][_0xec18[377]]({where:{id:1}})[_0xec18[11]](function(){return models[_0xec18[893]][_0xec18[44]]({id:1,tree:_0xec18[894]})})[_0xec18[11]](function(){return models[_0xec18[893]][_0xec18[892]]({where:{id:2},defaults:{id:2,tree:_0xec18[891]}})})[_0xec18[11]](function(){return models[_0xec18[889]][_0xec18[377]]({where:{DefaultReportId:{$ne:null}}})})[_0xec18[11]](function(){return models[_0xec18[890]][_0xec18[377]]({where:{id:{$ne:null}}})})[_0xec18[11]](function(){return models[_0xec18[890]][_0xec18[22]](_0x673ax29)})[_0xec18[11]](function(){return models[_0xec18[889]][_0xec18[22]](_0x673ax2a,{ignoreDuplicates:true,individualHooks:true})})[_0xec18[11]](function(){console[_0xec18[8]](_0xec18[888])})[_0xec18[6]](function(_0x673axc){console[_0xec18[8]](_0xec18[887],_0x673axc)})})[_0xec18[6]](function(_0x673axc){console[_0xec18[5]](_0x673axc)})
\ No newline at end of file
-'use strict';
-var SmsAccount = require('../../models').SmsAccount;
-var Sms = require('./sms');
-
-
-module.exports = function() {
- SmsAccount.afterCreate(function(server) {
- var sms = new Sms();
- sms.init(server);
- });
-
- return SmsAccount
- .findAll()
- .then(function(servers) {
- servers.forEach(function(server) {
- var sms = new Sms();
- sms.init(server);
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
+var _0xbdac=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2F\x73\x6D\x73","\x65\x78\x70\x6F\x72\x74\x73","\x69\x6E\x69\x74","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xbdac[0];var SmsAccount=require(_0xbdac[2])[_0xbdac[1]];var Sms=require(_0xbdac[3]);module[_0xbdac[4]]= function(){SmsAccount[_0xbdac[6]](function(_0xc6fex3){var _0xc6fex4= new Sms();_0xc6fex4[_0xbdac[5]](_0xc6fex3)});return SmsAccount[_0xbdac[11]]()[_0xbdac[10]](function(_0xc6fex6){_0xc6fex6[_0xbdac[9]](function(_0xc6fex3){var _0xc6fex4= new Sms();_0xc6fex4[_0xbdac[5]](_0xc6fex3)})})[_0xbdac[8]](function(_0xc6fex5){console[_0xbdac[7]](_0xc6fex5)})}
\ No newline at end of file
-var qs = require('querystring');
-var https = require('https');
-var rp = require('request-promise');
-var Promise = require('bluebird');
-
-
-var skebbyMessage = function(input, callback) {
-
- var text = input.text;
- var sender_number = input.sender_number || "";
- var sender_string = input.sender_string || "";
- var method = input.method;
- var lrecipients = input.recipients || [];
- var username = input.username;
- var password = input.password;
-
- switch (method) {
- case 'classic':
- method = 'send_sms_classic';
- break;
- case 'classic+':
- method = 'send_sms_classic_report';
- break;
- case 'test':
- method = 'test_send_sms_basic';
- break;
- case 'basic':
- default:
- method = 'send_sms_basic';
-
- }
-
- var test = input.test || false;
-
- var params = {
- method: method,
- username: username,
- password: password,
- "recipients[]": lrecipients,
- text: text,
- charset: "UTF-8",
- };
-
- if (sender_number) {
- params.sender_number = sender_number;
- } else if (sender_string) {
- params.sender_string = sender_string;
- }
-
- if (test) {
- params.method = "test_" + params.method;
- }
-
- var res_done = false;
- var data = qs.stringify(params);
-
- var client = https.request({
- port: 443,
- path: "/api/send/smseasy/advanced/http.php",
- host: "gateway.skebby.it",
- method: "POST",
- headers: {
- "Content-Type": "application/x-www-form-urlencoded",
- "Content-Length": data.length,
- "Content-Encoding": "utf8",
- }
- }, function(res) {
- var res_data = "";
- res.on('data', function(data) {
- res_data += data;
- });
- res.on("end", function() {
- if (!res_done) {
- var res_parsed = qs.parse(res_data);
- if (res_parsed.status == "success") {
- callback(null, {
- data: res_parsed
- });
- } else {
- callback(res_parsed);
- }
- res_done = true;
- }
- });
- });
-
- client.end(data);
- client.on('error', function(e) {
- if (!res_done) {
- callback(e);
- res_done = true;
- }
- });
-};
-
-var sendMessage = function(message, account) {
-
- var _message = {
- method: account.smstype,
- username: account.username,
- password: account.password,
- sender_number: /^[\+][0-9]+$/.test(message.from) ? message.from.replace("+", "") : message.from,
- recipients: /^[\+][0-9]+$/.test(message.to) ? message.to.replace("+", "") : message.to,
- text: message.body
- };
- var send = Promise.promisify(skebbyMessage);
- return send(_message);
-};
-
-module.exports.sendMessage = sendMessage;
+var _0x56c9=["\x71\x75\x65\x72\x79\x73\x74\x72\x69\x6E\x67","\x68\x74\x74\x70\x73","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x74\x65\x78\x74","\x73\x65\x6E\x64\x65\x72\x5F\x6E\x75\x6D\x62\x65\x72","","\x73\x65\x6E\x64\x65\x72\x5F\x73\x74\x72\x69\x6E\x67","\x6D\x65\x74\x68\x6F\x64","\x72\x65\x63\x69\x70\x69\x65\x6E\x74\x73","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x65\x6E\x64\x5F\x73\x6D\x73\x5F\x63\x6C\x61\x73\x73\x69\x63","\x63\x6C\x61\x73\x73\x69\x63","\x73\x65\x6E\x64\x5F\x73\x6D\x73\x5F\x63\x6C\x61\x73\x73\x69\x63\x5F\x72\x65\x70\x6F\x72\x74","\x63\x6C\x61\x73\x73\x69\x63\x2B","\x74\x65\x73\x74\x5F\x73\x65\x6E\x64\x5F\x73\x6D\x73\x5F\x62\x61\x73\x69\x63","\x74\x65\x73\x74","\x62\x61\x73\x69\x63","\x73\x65\x6E\x64\x5F\x73\x6D\x73\x5F\x62\x61\x73\x69\x63","\x55\x54\x46\x2D\x38","\x74\x65\x73\x74\x5F","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x2F\x61\x70\x69\x2F\x73\x65\x6E\x64\x2F\x73\x6D\x73\x65\x61\x73\x79\x2F\x61\x64\x76\x61\x6E\x63\x65\x64\x2F\x68\x74\x74\x70\x2E\x70\x68\x70","\x67\x61\x74\x65\x77\x61\x79\x2E\x73\x6B\x65\x62\x62\x79\x2E\x69\x74","\x50\x4F\x53\x54","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64","\x6C\x65\x6E\x67\x74\x68","\x75\x74\x66\x38","\x64\x61\x74\x61","\x6F\x6E","\x65\x6E\x64","\x70\x61\x72\x73\x65","\x73\x74\x61\x74\x75\x73","\x73\x75\x63\x63\x65\x73\x73","\x72\x65\x71\x75\x65\x73\x74","\x65\x72\x72\x6F\x72","\x73\x6D\x73\x74\x79\x70\x65","\x66\x72\x6F\x6D","\x2B","\x72\x65\x70\x6C\x61\x63\x65","\x74\x6F","\x62\x6F\x64\x79","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x65\x78\x70\x6F\x72\x74\x73"];var qs=require(_0x56c9[0]);var https=require(_0x56c9[1]);var rp=require(_0x56c9[2]);var Promise=require(_0x56c9[3]);var skebbyMessage=function(_0xb48bx6,_0xb48bx7){var _0xb48bx8=_0xb48bx6[_0x56c9[4]];var _0xb48bx9=_0xb48bx6[_0x56c9[5]]|| _0x56c9[6];var _0xb48bxa=_0xb48bx6[_0x56c9[7]]|| _0x56c9[6];var _0xb48bxb=_0xb48bx6[_0x56c9[8]];var _0xb48bxc=_0xb48bx6[_0x56c9[9]]|| [];var _0xb48bxd=_0xb48bx6[_0x56c9[10]];var _0xb48bxe=_0xb48bx6[_0x56c9[11]];switch(_0xb48bxb){case _0x56c9[13]:_0xb48bxb= _0x56c9[12];break;case _0x56c9[15]:_0xb48bxb= _0x56c9[14];break;case _0x56c9[17]:_0xb48bxb= _0x56c9[16];break;case _0x56c9[18]:;default:_0xb48bxb= _0x56c9[19]};var _0xb48bxf=_0xb48bx6[_0x56c9[17]]|| false;var _0xb48bx10={method:_0xb48bxb,username:_0xb48bxd,password:_0xb48bxe,"\x72\x65\x63\x69\x70\x69\x65\x6E\x74\x73\x5B\x5D":_0xb48bxc,text:_0xb48bx8,charset:_0x56c9[20]};if(_0xb48bx9){_0xb48bx10[_0x56c9[5]]= _0xb48bx9}else {if(_0xb48bxa){_0xb48bx10[_0x56c9[7]]= _0xb48bxa}};if(_0xb48bxf){_0xb48bx10[_0x56c9[8]]= _0x56c9[21]+ _0xb48bx10[_0x56c9[8]]};var _0xb48bx11=false;var _0xb48bx12=qs[_0x56c9[22]](_0xb48bx10);var _0xb48bx13=https[_0x56c9[35]]({port:443,path:_0x56c9[23],host:_0x56c9[24],method:_0x56c9[25],headers:{"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65":_0x56c9[26],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68":_0xb48bx12[_0x56c9[27]],"\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67":_0x56c9[28]}},function(_0xb48bx14){var _0xb48bx15=_0x56c9[6];_0xb48bx14[_0x56c9[30]](_0x56c9[29],function(_0xb48bx12){_0xb48bx15+= _0xb48bx12});_0xb48bx14[_0x56c9[30]](_0x56c9[31],function(){if(!_0xb48bx11){var _0xb48bx16=qs[_0x56c9[32]](_0xb48bx15);if(_0xb48bx16[_0x56c9[33]]== _0x56c9[34]){_0xb48bx7(null,{data:_0xb48bx16})}else {_0xb48bx7(_0xb48bx16)};_0xb48bx11= true}})});_0xb48bx13[_0x56c9[31]](_0xb48bx12);_0xb48bx13[_0x56c9[30]](_0x56c9[36],function(_0xb48bx17){if(!_0xb48bx11){_0xb48bx7(_0xb48bx17);_0xb48bx11= true}})};var sendMessage=function(_0xb48bx19,_0xb48bx1a){var _0xb48bx1b={method:_0xb48bx1a[_0x56c9[37]],username:_0xb48bx1a[_0x56c9[10]],password:_0xb48bx1a[_0x56c9[11]],sender_number:/^[\+][0-9]+$/[_0x56c9[17]](_0xb48bx19[_0x56c9[38]])?_0xb48bx19[_0x56c9[38]][_0x56c9[40]](_0x56c9[39],_0x56c9[6]):_0xb48bx19[_0x56c9[38]],recipients:/^[\+][0-9]+$/[_0x56c9[17]](_0xb48bx19[_0x56c9[41]])?_0xb48bx19[_0x56c9[41]][_0x56c9[40]](_0x56c9[39],_0x56c9[6]):_0xb48bx19[_0x56c9[41]],text:_0xb48bx19[_0x56c9[42]]};var _0xb48bx1c=Promise[_0x56c9[43]](skebbyMessage);return _0xb48bx1c(_0xb48bx1b)};module[_0x56c9[45]][_0x56c9[44]]= sendMessage
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Promise = require('bluebird');
-var Util = require('../util');
-var moment = require('moment');
-var path = require('path');
-var util = require('util');
-var fs = require('fs');
-var Agent = require('../../models').User;
-var SmsRoom = require('../../models').SmsRoom;
-var SmsMessage = require('../../models').SmsMessage;
-var SmsAccount = require('../../models').SmsAccount;
-var ReportSms = require('../../models').ReportSms;
-var Action = require('../../models').Action;
-var path = require('path');
-var fs = require('fs');
-var Contact = require('../../models').Contact;
-
-
-var Scheduler = require('../routing/scheduler');
-
-function Sms() {
- console.log('Sms Initialization...');
- this.account = null;
-}
-
-Sms.prototype.init = function(doc) {
- var self = this;
- console.log("SMS - Account " + doc.name + " SMS CREATE");
- self.account = doc;
- SmsAccount.afterUpdate(function(doc) {
- if (self.account && doc.id === self.account.id) {
- self.onUpdate(doc);
- }
- });
- ReportSms.afterUpdate(function(doc) {
- if (self.account && doc.accountid == self.account.id) {
- if (doc.changed('connectid')) {
- self.webhook(doc, 'accept');
- }
- if (doc.changed('rejectedAt')) {
- self.webhook(doc, 'reject');
- }
- }
- });
- SmsRoom.afterUpdate(function(doc) {
- if (self.account && doc.SmsAccountId == self.account.id) {
- if (doc.changed('status') && doc.status === 'CLOSED') {
- self.webhook(doc, 'close');
- }
- }
- })
- SmsAccount.afterDestroy(function(doc) {
- if (self.account && doc.id === self.account.id) {
- self.onRemove(doc);
- }
- });
- SmsMessage.afterCreate(function(doc, opt) {
-
- if (self.account && self.account.id == doc.dataValues.SmsAccountId) {
-
- if (doc.status === 'RECEIVED') {
- var scheduler = new Scheduler({
- channel: 'sms',
- uniqueid: util.format('%s.%s', moment().unix(), doc.SmsRoomId),
- messageid: doc.id,
- roomid: doc.SmsRoomId,
- accountid: self.account.id,
- accountname: self.account.name,
- accountnumber: self.account.phone,
- from: doc.from
- })
-
- scheduler.init();
- }
-
- self.onSend(doc, opt);
- }
- });
-};
-
-Sms.prototype.onUpdate = function(doc) {
- if (!doc.changed('state')) {
- console.log("SMS - Account " + doc.name + " SMS UPDATE");
- this.account = null;
- this.account = doc;
- }
-}
-
-Sms.prototype.onRemove = function(doc) {
- console.log("[SMS - Account " + doc.name + " SMS DESTROY");
- this.account = null;
-}
-
-Sms.prototype.onSend = function(smsMessage, opt) {
- // var self = this;
- var _Account = this.account;
- var _mMessage = smsMessage;
- var _Room;
- var _mAgent;
-
- if (_mMessage.status === 'SENDING') {
-
- return Promise
- .all([])
- .then(getSmsRoom(_mMessage))
- .then(function(smsRoom) {
- _Room = smsRoom;
- return _mMessage
- .setSmsRoom(smsRoom.id);
- })
- .then(function() {
- return _Room
- .updateAttributes({
- voiceSource: _mMessage.auto ? _mMessage.auto : _Room.voiceSource,
- lastEvent: 'SENDING',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- smsOut: ++_Room.smsOut
- }, {
- individualHooks: true,
- user: opt.user
- });
- })
- .then(function(message) {
- return Agent.
- findById(_mMessage.UserId);
- })
- .then(function(mAgent) {
- _mAgent = mAgent;
- return _Room
- .addUser(_mAgent);
- })
- .then(function() {
- if (_Account.ListId) {
- return Contact
- .findOrCreate({
- where: {
- ListId: _Account.ListId,
- mobile: _mMessage.from
- },
- defaults: {
- ListId: _Account.ListId,
- mobile: _mMessage.from
- }
- });
- } else {
- return [];
- }
- })
- .then(function() {
- console.log("SENDING SMS...");
- var file = path.join(__dirname, _Account.type + '.js');
- if (fs.existsSync(file)) {
- return require(file).sendMessage(_mMessage, _Account)
- } else {
- throw new Error("SMS - INTERGRATION " + _Account.type + " NOT FOUND!!");
- }
- })
- .then(function(res) {
- // console.log('response', response);
- console.log(" SMS SENT...");
- return _mMessage
- .update({
- status: (_Account.type == 'skebby') ? 'SENT' : res.status,
- skebby_message_id: (_Account.type == 'skebby') ? res.data.id : null,
- res_data: JSON.stringify(res)
- })
- })
- .then(function() {
- return _Room
- .updateAttributes({
- lastEvent: 'SENT',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss')
- });
- })
- .catch(function(err) {
- console.log('err', err);
- _mMessage
- .update({
- status: 'FAILED',
- errorcode: err.code,
- res_data: JSON.stringify(err)
- })
- .then(function() {
- return _Room
- .updateAttributes({
- lastEvent: 'FAILED',
- lastEventAt: moment().format('YYYY-MM-DD HH:mm:ss')
- });
- })
- .catch(function(err) {
- console.log('Error updating error status');
- });
-
- })
- }
-}
-
-function getSmsRoom(_mMessage) {
- return function() {
- if (_mMessage.SmsRoomId) {
- return SmsRoom
- .findById(_mMessage.SmsRoomId)
- } else {
- return SmsRoom
- .findAll({
- limit: 1,
- where: {
- contact: _mMessage.to,
- SmsAccountId: _mMessage.SmsAccountId
- },
- order: [
- ['createdAt', 'DESC']
- ]
- })
- .then(function(smsroom) {
- var room = smsroom[0];
- if (!room || room.status === 'CLOSED') {
- var parentID = room ? room.id : null;
- return SmsRoom
- .create({
- contact: _mMessage.to,
- SmsAccountId: _mMessage.SmsAccountId,
- status: _mMessage.auto ? 'CLOSED' : 'PENDING',
- ParentId: parentID
- })
- } else {
- return room;
- }
- })
- }
-
- }
-}
-
-
-function execRequest(doc, method, url) {
- Util.sendRequest(doc, method, url)
- .then(function(values) {
- console.log('request successeful!');
-
- })
- .catch(function(err) {
- console.log('request failed!');
-
- })
-}
-
-Sms.prototype.webhook = function(doc, hook) {
- var _Account = this.account;
-
- switch (hook) {
- case 'accept':
- if (_Account.acceptMethod && _Account.acceptUrl) {
- console.log('SMS account <' + _Account.name + '> executing accept webhook');
- execRequest(doc.dataValues, _Account.acceptMethod, _Account.acceptUrl);
- }
- if (_Account.actions.length) {
- _.forEach(_Account.actions, function(action) {
- if (action.enabled) {
- Util.execAction(action, doc);
- }
- })
- }
- break;
- case 'reject':
- if (_Account.rejectMethod && _Account.rejectUrl) {
- console.log('SMS account <' + _Account.name + '> executing reject webhook');
- execRequest(doc.dataValues, _Account.rejectMethod, _Account.rejectUrl);
- }
- break;
- case 'close':
- if (_Account.closeMethod && _Account.closeUrl) {
- console.log('SMS account <' + _Account.name + '> executing close webhook');
- execRequest(doc.dataValues, _Account.closeMethod, _Account.closeUrl);
- }
- break;
- default:
- console.log('Webhook not recognized');
- }
-}
-
-module.exports = Sms;
+var _0x6371=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x75\x74\x69\x6C","\x6D\x6F\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x75\x74\x69\x6C","\x66\x73","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x6D\x73\x52\x6F\x6F\x6D","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73","\x41\x63\x74\x69\x6F\x6E","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x72\x6F\x75\x74\x69\x6E\x67\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x53\x6D\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x63\x63\x6F\x75\x6E\x74","\x69\x6E\x69\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x53\x4D\x53\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x6E\x61\x6D\x65","\x20\x53\x4D\x53\x20\x43\x52\x45\x41\x54\x45","\x69\x64","\x6F\x6E\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x63\x63\x6F\x75\x6E\x74\x69\x64","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x64","\x63\x68\x61\x6E\x67\x65\x64","\x61\x63\x63\x65\x70\x74","\x77\x65\x62\x68\x6F\x6F\x6B","\x72\x65\x6A\x65\x63\x74\x65\x64\x41\x74","\x72\x65\x6A\x65\x63\x74","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x73\x74\x61\x74\x75\x73","\x43\x4C\x4F\x53\x45\x44","\x63\x6C\x6F\x73\x65","\x6F\x6E\x52\x65\x6D\x6F\x76\x65","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x73\x6D\x73","\x25\x73\x2E\x25\x73","\x75\x6E\x69\x78","\x66\x6F\x72\x6D\x61\x74","\x53\x6D\x73\x52\x6F\x6F\x6D\x49\x64","\x70\x68\x6F\x6E\x65","\x66\x72\x6F\x6D","\x6F\x6E\x53\x65\x6E\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x65","\x20\x53\x4D\x53\x20\x55\x50\x44\x41\x54\x45","\x5B\x53\x4D\x53\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x20","\x20\x53\x4D\x53\x20\x44\x45\x53\x54\x52\x4F\x59","\x53\x45\x4E\x44\x49\x4E\x47","\x65\x72\x72","\x45\x72\x72\x6F\x72\x20\x75\x70\x64\x61\x74\x69\x6E\x67\x20\x65\x72\x72\x6F\x72\x20\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x46\x41\x49\x4C\x45\x44","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x74\x68\x65\x6E","\x63\x6F\x64\x65","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x75\x70\x64\x61\x74\x65","\x53\x45\x4E\x54","\x20\x53\x4D\x53\x20\x53\x45\x4E\x54\x2E\x2E\x2E","\x74\x79\x70\x65","\x73\x6B\x65\x62\x62\x79","\x64\x61\x74\x61","\x53\x45\x4E\x44\x49\x4E\x47\x20\x53\x4D\x53\x2E\x2E\x2E","\x2E\x6A\x73","\x6A\x6F\x69\x6E","\x65\x78\x69\x73\x74\x73\x53\x79\x6E\x63","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x53\x4D\x53\x20\x2D\x20\x49\x4E\x54\x45\x52\x47\x52\x41\x54\x49\x4F\x4E\x20","\x20\x4E\x4F\x54\x20\x46\x4F\x55\x4E\x44\x21\x21","\x4C\x69\x73\x74\x49\x64","\x66\x69\x6E\x64\x4F\x72\x43\x72\x65\x61\x74\x65","\x61\x64\x64\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x75\x74\x6F","\x76\x6F\x69\x63\x65\x53\x6F\x75\x72\x63\x65","\x73\x6D\x73\x4F\x75\x74","\x75\x73\x65\x72","\x73\x65\x74\x53\x6D\x73\x52\x6F\x6F\x6D","\x61\x6C\x6C","\x74\x6F","\x50\x45\x4E\x44\x49\x4E\x47","\x63\x72\x65\x61\x74\x65","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x44\x45\x53\x43","\x66\x69\x6E\x64\x41\x6C\x6C","\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6C\x65\x64\x21","\x72\x65\x71\x75\x65\x73\x74\x20\x73\x75\x63\x63\x65\x73\x73\x65\x66\x75\x6C\x21","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x61\x63\x63\x65\x70\x74\x4D\x65\x74\x68\x6F\x64","\x61\x63\x63\x65\x70\x74\x55\x72\x6C","\x53\x4D\x53\x20\x61\x63\x63\x6F\x75\x6E\x74\x20\x3C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x63\x65\x70\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x6C\x65\x6E\x67\x74\x68","\x61\x63\x74\x69\x6F\x6E\x73","\x65\x6E\x61\x62\x6C\x65\x64","\x65\x78\x65\x63\x41\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x65\x6A\x65\x63\x74\x4D\x65\x74\x68\x6F\x64","\x72\x65\x6A\x65\x63\x74\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x72\x65\x6A\x65\x63\x74\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x63\x6C\x6F\x73\x65\x4D\x65\x74\x68\x6F\x64","\x63\x6C\x6F\x73\x65\x55\x72\x6C","\x3E\x20\x65\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x63\x6C\x6F\x73\x65\x20\x77\x65\x62\x68\x6F\x6F\x6B","\x57\x65\x62\x68\x6F\x6F\x6B\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64","\x65\x78\x70\x6F\x72\x74\x73"];_0x6371[0];var _=require(_0x6371[1]);var Promise=require(_0x6371[2]);var Util=require(_0x6371[3]);var moment=require(_0x6371[4]);var path=require(_0x6371[5]);var util=require(_0x6371[6]);var fs=require(_0x6371[7]);var Agent=require(_0x6371[9])[_0x6371[8]];var SmsRoom=require(_0x6371[9])[_0x6371[10]];var SmsMessage=require(_0x6371[9])[_0x6371[11]];var SmsAccount=require(_0x6371[9])[_0x6371[12]];var ReportSms=require(_0x6371[9])[_0x6371[13]];var Action=require(_0x6371[9])[_0x6371[14]];var path=require(_0x6371[5]);var fs=require(_0x6371[7]);var Contact=require(_0x6371[9])[_0x6371[15]];var Scheduler=require(_0x6371[16]);function Sms(){console[_0x6371[18]](_0x6371[17]);this[_0x6371[19]]= null}Sms[_0x6371[21]][_0x6371[20]]= function(_0x93bex11){var _0x93bex12=this;console[_0x6371[18]](_0x6371[22]+ _0x93bex11[_0x6371[23]]+ _0x6371[24]);_0x93bex12[_0x6371[19]]= _0x93bex11;SmsAccount[_0x6371[27]](function(_0x93bex11){if(_0x93bex12[_0x6371[19]]&& _0x93bex11[_0x6371[25]]=== _0x93bex12[_0x6371[19]][_0x6371[25]]){_0x93bex12[_0x6371[26]](_0x93bex11)}});ReportSms[_0x6371[27]](function(_0x93bex11){if(_0x93bex12[_0x6371[19]]&& _0x93bex11[_0x6371[28]]== _0x93bex12[_0x6371[19]][_0x6371[25]]){if(_0x93bex11[_0x6371[30]](_0x6371[29])){_0x93bex12[_0x6371[32]](_0x93bex11,_0x6371[31])};if(_0x93bex11[_0x6371[30]](_0x6371[33])){_0x93bex12[_0x6371[32]](_0x93bex11,_0x6371[34])}}});SmsRoom[_0x6371[27]](function(_0x93bex11){if(_0x93bex12[_0x6371[19]]&& _0x93bex11[_0x6371[35]]== _0x93bex12[_0x6371[19]][_0x6371[25]]){if(_0x93bex11[_0x6371[30]](_0x6371[36])&& _0x93bex11[_0x6371[36]]=== _0x6371[37]){_0x93bex12[_0x6371[32]](_0x93bex11,_0x6371[38])}}});SmsAccount[_0x6371[40]](function(_0x93bex11){if(_0x93bex12[_0x6371[19]]&& _0x93bex11[_0x6371[25]]=== _0x93bex12[_0x6371[19]][_0x6371[25]]){_0x93bex12[_0x6371[39]](_0x93bex11)}});SmsMessage[_0x6371[51]](function(_0x93bex11,_0x93bex13){if(_0x93bex12[_0x6371[19]]&& _0x93bex12[_0x6371[19]][_0x6371[25]]== _0x93bex11[_0x6371[41]][_0x6371[35]]){if(_0x93bex11[_0x6371[36]]=== _0x6371[42]){var _0x93bex14= new Scheduler({channel:_0x6371[43],uniqueid:util[_0x6371[46]](_0x6371[44],moment()[_0x6371[45]](),_0x93bex11.SmsRoomId),messageid:_0x93bex11[_0x6371[25]],roomid:_0x93bex11[_0x6371[47]],accountid:_0x93bex12[_0x6371[19]][_0x6371[25]],accountname:_0x93bex12[_0x6371[19]][_0x6371[23]],accountnumber:_0x93bex12[_0x6371[19]][_0x6371[48]],from:_0x93bex11[_0x6371[49]]});_0x93bex14[_0x6371[20]]()};_0x93bex12[_0x6371[50]](_0x93bex11,_0x93bex13)}})};Sms[_0x6371[21]][_0x6371[26]]= function(_0x93bex11){if(!_0x93bex11[_0x6371[30]](_0x6371[52])){console[_0x6371[18]](_0x6371[22]+ _0x93bex11[_0x6371[23]]+ _0x6371[53]);this[_0x6371[19]]= null;this[_0x6371[19]]= _0x93bex11}};Sms[_0x6371[21]][_0x6371[39]]= function(_0x93bex11){console[_0x6371[18]](_0x6371[54]+ _0x93bex11[_0x6371[23]]+ _0x6371[55]);this[_0x6371[19]]= null};Sms[_0x6371[21]][_0x6371[50]]= function(_0x93bex15,_0x93bex13){var _0x93bex16=this[_0x6371[19]];var _0x93bex17=_0x93bex15;var _0x93bex18;var _0x93bex19;if(_0x93bex17[_0x6371[36]]=== _0x6371[56]){return Promise[_0x6371[88]]([])[_0x6371[63]](getSmsRoom(_0x93bex17))[_0x6371[63]](function(_0x93bex1f){_0x93bex18= _0x93bex1f;return _0x93bex17[_0x6371[87]](_0x93bex1f[_0x6371[25]])})[_0x6371[63]](function(){return _0x93bex18[_0x6371[62]]({voiceSource:_0x93bex17[_0x6371[83]]?_0x93bex17[_0x6371[83]]:_0x93bex18[_0x6371[84]],lastEvent:_0x6371[56],lastEventAt:moment()[_0x6371[46]](_0x6371[61]),smsOut:++_0x93bex18[_0x6371[85]]},{individualHooks:true,user:_0x93bex13[_0x6371[86]]})})[_0x6371[63]](function(_0x93bex1e){return Agent[_0x6371[82]](_0x93bex17.UserId)})[_0x6371[63]](function(_0x93bex1d){_0x93bex19= _0x93bex1d;return _0x93bex18[_0x6371[81]](_0x93bex19)})[_0x6371[63]](function(){if(_0x93bex16[_0x6371[79]]){return Contact[_0x6371[80]]({where:{ListId:_0x93bex16[_0x6371[79]],mobile:_0x93bex17[_0x6371[49]]},defaults:{ListId:_0x93bex16[_0x6371[79]],mobile:_0x93bex17[_0x6371[49]]}})}else {return []}})[_0x6371[63]](function(){console[_0x6371[18]](_0x6371[72]);var _0x93bex1c=path[_0x6371[74]](__dirname,_0x93bex16[_0x6371[69]]+ _0x6371[73]);if(fs[_0x6371[75]](_0x93bex1c)){return require(_0x93bex1c)[_0x6371[76]](_0x93bex17,_0x93bex16)}else {throw new Error(_0x6371[77]+ _0x93bex16[_0x6371[69]]+ _0x6371[78])}})[_0x6371[63]](function(_0x93bex1b){console[_0x6371[18]](_0x6371[68]);return _0x93bex17[_0x6371[66]]({status:(_0x93bex16[_0x6371[69]]== _0x6371[70])?_0x6371[67]:_0x93bex1b[_0x6371[36]],skebby_message_id:(_0x93bex16[_0x6371[69]]== _0x6371[70])?_0x93bex1b[_0x6371[71]][_0x6371[25]]:null,res_data:JSON[_0x6371[65]](_0x93bex1b)})})[_0x6371[63]](function(){return _0x93bex18[_0x6371[62]]({lastEvent:_0x6371[67],lastEventAt:moment()[_0x6371[46]](_0x6371[61])})})[_0x6371[59]](function(_0x93bex1a){console[_0x6371[18]](_0x6371[57],_0x93bex1a);_0x93bex17[_0x6371[66]]({status:_0x6371[60],errorcode:_0x93bex1a[_0x6371[64]],res_data:JSON[_0x6371[65]](_0x93bex1a)})[_0x6371[63]](function(){return _0x93bex18[_0x6371[62]]({lastEvent:_0x6371[60],lastEventAt:moment()[_0x6371[46]](_0x6371[61])})})[_0x6371[59]](function(_0x93bex1a){console[_0x6371[18]](_0x6371[58])})})}};function getSmsRoom(_0x93bex17){return function(){if(_0x93bex17[_0x6371[47]]){return SmsRoom[_0x6371[82]](_0x93bex17.SmsRoomId)}else {return SmsRoom[_0x6371[94]]({limit:1,where:{contact:_0x93bex17[_0x6371[89]],SmsAccountId:_0x93bex17[_0x6371[35]]},order:[[_0x6371[92],_0x6371[93]]]})[_0x6371[63]](function(_0x93bex21){var _0x93bex22=_0x93bex21[0];if(!_0x93bex22|| _0x93bex22[_0x6371[36]]=== _0x6371[37]){var _0x93bex23=_0x93bex22?_0x93bex22[_0x6371[25]]:null;return SmsRoom[_0x6371[91]]({contact:_0x93bex17[_0x6371[89]],SmsAccountId:_0x93bex17[_0x6371[35]],status:_0x93bex17[_0x6371[83]]?_0x6371[37]:_0x6371[90],ParentId:_0x93bex23})}else {return _0x93bex22}})}}}function execRequest(_0x93bex11,_0x93bex25,_0x93bex26){Util[_0x6371[97]](_0x93bex11,_0x93bex25,_0x93bex26)[_0x6371[63]](function(_0x93bex27){console[_0x6371[18]](_0x6371[96])})[_0x6371[59]](function(_0x93bex1a){console[_0x6371[18]](_0x6371[95])})}Sms[_0x6371[21]][_0x6371[32]]= function(_0x93bex11,_0x93bex28){var _0x93bex16=this[_0x6371[19]];switch(_0x93bex28){case _0x6371[31]:if(_0x93bex16[_0x6371[98]]&& _0x93bex16[_0x6371[99]]){console[_0x6371[18]](_0x6371[100]+ _0x93bex16[_0x6371[23]]+ _0x6371[101]);execRequest(_0x93bex11[_0x6371[41]],_0x93bex16[_0x6371[98]],_0x93bex16[_0x6371[99]])};if(_0x93bex16[_0x6371[103]][_0x6371[102]]){_[_0x6371[106]](_0x93bex16[_0x6371[103]],function(_0x93bex29){if(_0x93bex29[_0x6371[104]]){Util[_0x6371[105]](_0x93bex29,_0x93bex11)}})};break;case _0x6371[34]:if(_0x93bex16[_0x6371[107]]&& _0x93bex16[_0x6371[108]]){console[_0x6371[18]](_0x6371[100]+ _0x93bex16[_0x6371[23]]+ _0x6371[109]);execRequest(_0x93bex11[_0x6371[41]],_0x93bex16[_0x6371[107]],_0x93bex16[_0x6371[108]])};break;case _0x6371[38]:if(_0x93bex16[_0x6371[110]]&& _0x93bex16[_0x6371[111]]){console[_0x6371[18]](_0x6371[100]+ _0x93bex16[_0x6371[23]]+ _0x6371[112]);execRequest(_0x93bex11[_0x6371[41]],_0x93bex16[_0x6371[110]],_0x93bex16[_0x6371[111]])};break;default:console[_0x6371[18]](_0x6371[113])}};module[_0x6371[114]]= Sms
\ No newline at end of file
-'use strict';
-var twilio = require('twilio');
-// https://twilio.github.io/twilio-node/
-var SmsMessage = require('../../models').SmsMessage;
-var Promise = require('bluebird');
-
-
-var sendMessage = function(message, account) {
- var client = twilio(account.sid, account.token);
- var url = account.remote + '/api/sms/accounts/' + account.id + '/message/' +
- message.id + '/update';
-
- var send = Promise.promisify(client.sendMessage);
- return send({
- to: /^[\+][0-9]+$/.test(message.to) ? message.to : '+' + message.to, // Any number Twilio can deliver to
- from: /^[\+][0-9]+$/.test(message.from) ? message.from : '+' + message.from, // A number you bought from Twilio and can use for outbound communication
- body: message.body, // body of the SMS message
- StatusCallback: url
- });
-}
-
-module.exports.sendMessage = sendMessage;
+var _0x513a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x74\x77\x69\x6C\x69\x6F","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x62\x6C\x75\x65\x62\x69\x72\x64","\x73\x69\x64","\x74\x6F\x6B\x65\x6E","\x72\x65\x6D\x6F\x74\x65","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2F","\x69\x64","\x2F\x6D\x65\x73\x73\x61\x67\x65\x2F","\x2F\x75\x70\x64\x61\x74\x65","\x73\x65\x6E\x64\x4D\x65\x73\x73\x61\x67\x65","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x74\x6F","\x74\x65\x73\x74","\x2B","\x66\x72\x6F\x6D","\x62\x6F\x64\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x513a[0];var twilio=require(_0x513a[1]);var SmsMessage=require(_0x513a[3])[_0x513a[2]];var Promise=require(_0x513a[4]);var sendMessage=function(_0x8473x5,_0x8473x6){var _0x8473x7=twilio(_0x8473x6[_0x513a[5]],_0x8473x6[_0x513a[6]]);var _0x8473x8=_0x8473x6[_0x513a[7]]+ _0x513a[8]+ _0x8473x6[_0x513a[9]]+ _0x513a[10]+ _0x8473x5[_0x513a[9]]+ _0x513a[11];var _0x8473x9=Promise[_0x513a[13]](_0x8473x7[_0x513a[12]]);return _0x8473x9({to:/^[\+][0-9]+$/[_0x513a[15]](_0x8473x5[_0x513a[14]])?_0x8473x5[_0x513a[14]]:_0x513a[16]+ _0x8473x5[_0x513a[14]],from:/^[\+][0-9]+$/[_0x513a[15]](_0x8473x5[_0x513a[17]])?_0x8473x5[_0x513a[17]]:_0x513a[16]+ _0x8473x5[_0x513a[17]],body:_0x8473x5[_0x513a[18]],StatusCallback:_0x8473x8})};module[_0x513a[19]][_0x513a[12]]= sendMessage
\ No newline at end of file
-'use strict';
-
-const util = require('util');
-const cp = require('child_process');
-const ms = require('../../models').MailServerOut;
-const msg = require('../../models').MailMessage;
-const rm = require('../../models').MailRoom;
-
-function fork(id, username) {
- return cp
- .fork(__dirname + '/smtp', [id, username])
- .on('message', function(data) {
-
- if (data.type === 'update') {
- return msg
- .findById(data.msgId)
- .then(function(message) {
- return message
- .update(data);
- })
- .then(function() {
- return rm
- .findById(data.roomId);
- })
- .then(function(room) {
- return room
- .update({
- lastEvent: data.status
- });
- });
- }
-
- if (data.type === 'state') {
- return ms
- .findById(id)
- .then(function(server) {
- return server
- .update({
- state: data.state,
- source: data.source || null
- });
- })
- .then(function() {
- console.log(data.log);
- })
- .catch(function(err) {
- console.error(err);
- });
- }
- })
- .on('close', function(code) {
- console.log(util.format('SMTP SERVER %s EXITED WITH CODE %s', username, code));
- })
- .on('error', function(err) {
- console.error(err);
- });
-}
-
-module.exports = function() {
- var childs = {};
-
- process.on('exit', function(code) {
- for (var key in childs) {
- if (childs[key]) {
- childs[key].kill();
- }
- }
- });
-
- msg.afterCreate(function(message) {
- if (childs[message.from]) {
- message.dataValues.type = 'message';
- message.dataValues.retrySend = 0;
- childs[message.from].send(message.dataValues);
- }
- });
-
- msg.afterUpdate(function(message) {
- if (message.changed('status') && message.status === 'SENDING') {
- if (childs[message.from]) {
- message.dataValues.type = 'message';
- message.dataValues.retrySend = message.dataValues.retry + 1;
- childs[message.from].send(message.dataValues);
- }
- }
- });
-
- ms.afterCreate(function(server) {
- childs[server.username] = fork(server.id, server.username);
- });
-
- ms.afterUpdate(function(server) {
- if (childs[server.username]) {
- if (!server.changed('state') && !server.changed('source')) {
- childs[server.username].kill();
- childs[server.username] = null;
-
- childs[server.username] = fork(server.id, server.username);
-
- console.log(util.format('SMTP SERVER %s UPDATED, PROCESS ID: %s ', server.id, childs[server.username].pid));
- } else {
- childs[server.username].send({
- type: 'state',
- state: server.state,
- source: server.source,
- username: server.username
- });
- }
- }
- });
-
- ms.afterDestroy(function(server) {
- if (childs[server.username]) {
- console.log(util.format('SMTP SERVER %s DESTROYED, PROCESS ID: %s ', server.id, childs[server.username].pid));
-
- childs[server.username].kill();
- childs[server.username] = null;
- }
- });
-
- ms.findAll()
- .then(function(servers) {
- servers.forEach(function(server) {
- childs[server.username] = fork(server.id, server.username);
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
+var _0xf494=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x45\x58\x49\x54\x45\x44\x20\x57\x49\x54\x48\x20\x43\x4F\x44\x45\x20\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x6D\x65\x73\x73\x61\x67\x65","\x74\x79\x70\x65","\x75\x70\x64\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x72\x6F\x6F\x6D\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6D\x73\x67\x49\x64","\x73\x74\x61\x74\x65","\x63\x61\x74\x63\x68","\x73\x6F\x75\x72\x63\x65","\x2F\x73\x6D\x74\x70","\x66\x6F\x72\x6B","\x65\x78\x70\x6F\x72\x74\x73","\x65\x78\x69\x74","\x6B\x69\x6C\x6C","\x66\x72\x6F\x6D","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x72\x65\x74\x72\x79\x53\x65\x6E\x64","\x73\x65\x6E\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x53\x45\x4E\x44\x49\x4E\x47","\x72\x65\x74\x72\x79","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x69\x64","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x55\x50\x44\x41\x54\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x70\x69\x64","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x44\x45\x53\x54\x52\x4F\x59\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x66\x6F\x72\x45\x61\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xf494[0];const util=require(_0xf494[1]);const cp=require(_0xf494[2]);const ms=require(_0xf494[4])[_0xf494[3]];const msg=require(_0xf494[4])[_0xf494[5]];const rm=require(_0xf494[4])[_0xf494[6]];function fork(_0x3ab4x7,_0x3ab4x8){return cp[_0xf494[25]](__dirname+ _0xf494[24],[_0x3ab4x7,_0x3ab4x8])[_0xf494[8]](_0xf494[13],function(_0x3ab4xb){if(_0x3ab4xb[_0xf494[14]]=== _0xf494[15]){return msg[_0xf494[19]](_0x3ab4xb[_0xf494[20]])[_0xf494[17]](function(_0x3ab4xd){return _0x3ab4xd[_0xf494[15]](_0x3ab4xb)})[_0xf494[17]](function(){return rm[_0xf494[19]](_0x3ab4xb[_0xf494[18]])})[_0xf494[17]](function(_0x3ab4xc){return _0x3ab4xc[_0xf494[15]]({lastEvent:_0x3ab4xb[_0xf494[16]]})})};if(_0x3ab4xb[_0xf494[14]]=== _0xf494[21]){return ms[_0xf494[19]](_0x3ab4x7)[_0xf494[17]](function(_0x3ab4xe){return _0x3ab4xe[_0xf494[15]]({state:_0x3ab4xb[_0xf494[21]],source:_0x3ab4xb[_0xf494[23]]|| null})})[_0xf494[17]](function(){console[_0xf494[12]](_0x3ab4xb[_0xf494[12]])})[_0xf494[22]](function(_0x3ab4x9){console[_0xf494[7]](_0x3ab4x9)})}})[_0xf494[8]](_0xf494[9],function(_0x3ab4xa){console[_0xf494[12]](util[_0xf494[11]](_0xf494[10],_0x3ab4x8,_0x3ab4xa))})[_0xf494[8]](_0xf494[7],function(_0x3ab4x9){console[_0xf494[7]](_0x3ab4x9)})}module[_0xf494[26]]= function(){var _0x3ab4xf={};process[_0xf494[8]](_0xf494[27],function(_0x3ab4xa){for(var _0x3ab4x10 in _0x3ab4xf){if(_0x3ab4xf[_0x3ab4x10]){_0x3ab4xf[_0x3ab4x10][_0xf494[28]]()}}});msg[_0xf494[33]](function(_0x3ab4xd){if(_0x3ab4xf[_0x3ab4xd[_0xf494[29]]]){_0x3ab4xd[_0xf494[30]][_0xf494[14]]= _0xf494[13];_0x3ab4xd[_0xf494[30]][_0xf494[31]]= 0;_0x3ab4xf[_0x3ab4xd[_0xf494[29]]][_0xf494[32]](_0x3ab4xd[_0xf494[30]])}});msg[_0xf494[37]](function(_0x3ab4xd){if(_0x3ab4xd[_0xf494[34]](_0xf494[16])&& _0x3ab4xd[_0xf494[16]]=== _0xf494[35]){if(_0x3ab4xf[_0x3ab4xd[_0xf494[29]]]){_0x3ab4xd[_0xf494[30]][_0xf494[14]]= _0xf494[13];_0x3ab4xd[_0xf494[30]][_0xf494[31]]= _0x3ab4xd[_0xf494[30]][_0xf494[36]]+ 1;_0x3ab4xf[_0x3ab4xd[_0xf494[29]]][_0xf494[32]](_0x3ab4xd[_0xf494[30]])}}});ms[_0xf494[33]](function(_0x3ab4xe){_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]= fork(_0x3ab4xe[_0xf494[39]],_0x3ab4xe[_0xf494[38]])});ms[_0xf494[37]](function(_0x3ab4xe){if(_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]){if(!_0x3ab4xe[_0xf494[34]](_0xf494[21])&& !_0x3ab4xe[_0xf494[34]](_0xf494[23])){_0x3ab4xf[_0x3ab4xe[_0xf494[38]]][_0xf494[28]]();_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]= null;_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]= fork(_0x3ab4xe[_0xf494[39]],_0x3ab4xe[_0xf494[38]]);console[_0xf494[12]](util[_0xf494[11]](_0xf494[40],_0x3ab4xe[_0xf494[39]],_0x3ab4xf[_0x3ab4xe[_0xf494[38]]][_0xf494[41]]))}else {_0x3ab4xf[_0x3ab4xe[_0xf494[38]]][_0xf494[32]]({type:_0xf494[21],state:_0x3ab4xe[_0xf494[21]],source:_0x3ab4xe[_0xf494[23]],username:_0x3ab4xe[_0xf494[38]]})}}});ms[_0xf494[43]](function(_0x3ab4xe){if(_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]){console[_0xf494[12]](util[_0xf494[11]](_0xf494[42],_0x3ab4xe[_0xf494[39]],_0x3ab4xf[_0x3ab4xe[_0xf494[38]]][_0xf494[41]]));_0x3ab4xf[_0x3ab4xe[_0xf494[38]]][_0xf494[28]]();_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]= null}});ms[_0xf494[45]]()[_0xf494[17]](function(_0x3ab4x11){_0x3ab4x11[_0xf494[44]](function(_0x3ab4xe){_0x3ab4xf[_0x3ab4xe[_0xf494[38]]]= fork(_0x3ab4xe[_0xf494[39]],_0x3ab4xe[_0xf494[38]])})})[_0xf494[22]](function(_0x3ab4x9){console[_0xf494[7]](_0x3ab4x9)})}
\ No newline at end of file
-'use strict';
-
-var util = require('util');
-var promise = require('bluebird');
-
-var _ = require('lodash');
-var moment = require('moment');
-var Mustache = require('mustache');
-
-var nodemailer = require('nodemailer');
-var smtpTransport = require('nodemailer-smtp-transport');
-var htmlToText = require('html-to-text');
-
-var Agent = require('../../models').User;
-var Room = require('../../models').MailRoom;
-var Template = require('../../models').Template;
-var Account = require('../../models').MailAccount;
-var Message = require('../../models').MailMessage;
-var Server = require('../../models').MailServerOut;
-var Status = require('../../models').MailRoomStatus;
-var Attachment = require('../../models').MailAttachment;
-
-var smtp;
-var timeout;
-
-process
- .on('message', function(data) {
- if (data.type === 'message') {
- onSend(data);
- }
-
- if (data.type === 'state') {
- switch (data.state) {
- case 'CONNECTING':
- onVerify(data.username);
- break;
-
- default:
- }
- }
- })
- .on('close', function(code) {
- console.log(util.format('SMTP SERVER %s EXITED WITH CODE %s', process.argv[3], code));
- })
- .on('error', function(err) {
- console.error(err);
- });
-
-console.log(util.format('SMTP SERVER %s STARTING, PROCESS ID: %s ', process.argv[3], process.pid));
-
-function onVerify(username) {
- smtp.verify()
- .then(function() {
- process.send({
- type: 'state',
- state: 'CONNECTED',
- source: null,
- log: util.format('SMTP SERVER %s CONNECTED, PROCESS ID: %s ', username, process.pid)
- });
- })
- .catch(function(err) {
- process.send({
- type: 'state',
- state: 'ERROR',
- source: JSON.stringify(err),
- log: util.format('SMTP SERVER %s ERROR, PROCESS ID: %s ', username, process.pid)
- });
- });
-}
-
-function onSave(server) {
-
- smtp = nodemailer
- .createTransport(smtpTransport({
- host: server.host,
- port: server.port,
- secure: server.ssl,
- pool: true,
- auth: {
- user: server.username,
- pass: server.password
- }
- }));
-
- smtp.mailAccountId = server.MailAccountId;
- smtp.mailServerOutId = server.id;
- smtp.username = server.username;
-
- onVerify(server.username);
-}
-
-function onSend(message) {
- console.log(util.format('SMTP SERVER %s SENDING MSG, PROCESS ID: %s ', process.argv[3], process.pid));
-
- if (message.status === 'SENDING') {
- var _mRoom;
- var _mAccount;
- var _mAgent;
- var _mMessage = message;
- var _mFrom, _mTo, _mCc, _mBcc;
-
- if (_mMessage.inReplyTo) {
- return Message
- .findOne({
- where: {
- messageId: _mMessage.inReplyTo
- }
- })
- .then(function(mailMessageParent) {
- return mailMessageParent
- .getMailRoom({
- include: {
- model: Account,
- include: [{
- model: Template
- }]
- }
- });
- })
- .then(function(mailRoom) {
- _mRoom = mailRoom;
- _mAccount = mailRoom.MailAccount;
- return _mRoom
- .addMailMessage(_mMessage.id);
- })
- .then(function() {
- var data = {
- lastEvent: 'SENDING',
- attachment: _mMessage.MailAttachments && _mMessage.MailAttachments.length,
- mailOut: ++_mRoom.mailOut
- };
-
- if (!message.auto) {
- data.status = 'PENDING';
- }
-
- return _mRoom
- .update(data);
- })
- .then(function() {
- return Agent.
- findById(_mMessage.UserId);
- })
- .then(function(mAgent) {
- _mAgent = mAgent;
- return _mRoom
- .addUser(_mAgent);
- })
- .then(function() {
- _mMessage.html = _mMessage.html ? _mMessage.html.toString('utf8') : null;
- _mMessage.text = _mMessage.text ? _mMessage.text.toString('utf8') : null;
-
- var _to = _mMessage.to ? _.without(_mMessage.to.split(';'), _mAccount.address) : [];
- var _cc = _mMessage.cc ? _.without(_mMessage.cc.split(';'), _mAccount.address) : [];
- var _bcc = _mMessage.bcc ? _.without(_mMessage.bcc.split(';'), _mAccount.address) : [];
-
- var _html = (_mAccount.Template && !message.auto) ? Mustache.render(_mAccount.Template.html, {
- interactionId: _mRoom.id,
- subject: _mMessage.subject,
- body: _mMessage.html ? _mMessage.html : _mMessage.text,
- accountName: _mAccount.name,
- from: _mMessage.from,
- to: _to.join(';'),
- cc: _cc.join(';'),
- bcc: _bcc.join(';'),
- agentName: _mAgent.fullname,
- agentEmail: _mAgent.email,
- createdAt: _mMessage.createdAt
- }) : _mMessage.html;
-
- var _text;
- if (_mMessage.text) {
- _text = _mMessage.text;
- } else {
- _text = _mMessage.html ? htmlToText.fromString(_mMessage.html, {
- wordwrap: false
- }) : null;
- }
- if (_mAccount.whiteLabel) {
- _html += '<br>' + _mAccount.whiteLabel;
- _text += '<br>' + _mAccount.whiteLabel;
- } else {
- _html += '<br> Sent with XCALLY®';
- _text += '<br> Sent with XCALLY®';
- }
- var mail = {
- status: _mMessage.status,
- from: {
- name: _mAccount.name,
- address: _mAccount.address
- },
- to: _to.join(';'),
- cc: _cc.join(';'),
- bcc: _bcc.join(';'),
- subject: _mMessage.subject,
- html: _html,
- text: _text
- };
-
- if (_mMessage.MailAttachments) {
- mail.attachments = _.map(_mMessage.MailAttachments, function(elm) {
- return {
- path: elm.path,
- filename: elm.name
- }
- });
- }
-
- return smtp
- .sendMail(mail);
- })
- .then(function(info) {
- process.send({
- msgId: _mMessage.id,
- roomId: _mRoom.id,
- type: 'update',
- messageId: info.messageId,
- status: 'SENT',
- retry: _mMessage.retrySend
- });
- })
- .catch(function(err) {
- console.error(err);
- process.send({
- msgId: _mMessage.id,
- roomId: _mRoom.id,
- type: 'update',
- status: 'FAILED',
- retry: _mMessage.retrySend
- });
- });
- } else {
- // NO REPLY, NEW MESSAGE, NEW ROOM
- return Account
- .findById(smtp.mailAccountId, {
- include: [{
- model: Template
- }]
- })
- .then(function(mailAccount) {
- _mAccount = mailAccount;
-
- return Room
- .findById(_mMessage.MailRoomId);
- })
- .then(function(mailRoom) {
- if (!mailRoom) {
- return Agent
- .findById(message.UserId)
- .then(function(agent) {
- return Room
- .create({
- subject: _mMessage.subject,
- from: _mMessage.from,
- account: _mAccount ? _mAccount.name : null,
- status: 'PENDING',
- lastEvent: 'SENDING',
- attachment: _mMessage.MailAttachments && _mMessage.MailAttachments.length,
- MailAccountId: _mAccount ? _mAccount.id : null,
- mailOut: 1,
- arrivedAt: moment().format('YYYY-MM-DD HH:mm:ss'),
- MailRoomStatuses: [{
- status: 'PENDING',
- data1: agent ? agent.name : null,
- data2: agent ? agent.fullname : null,
- UserId: agent ? agent.id : null
- }]
- }, {
- include: [{
- model: Message
- }, {
- model: Status
- }]
- });
- });
- } else {
- return mailRoom;
- }
- })
- .then(function(mailRoom) {
- _mRoom = mailRoom
-
- return Agent
- .findById(_mMessage.UserId);
- })
- .then(function(mAgent) {
- _mAgent = mAgent;
- return _mRoom
- .addUser(_mAgent);
- })
- .then(function() {
- _mMessage.html = _mMessage.html ? _mMessage.html.toString('utf8') : null;
- _mMessage.text = _mMessage.text ? _mMessage.text.toString('utf8') : null;
-
- var _to = _mMessage.to ? _.without(_mMessage.to.split(';'), _mAccount.address) : [];
- var _cc = _mMessage.cc ? _.without(_mMessage.cc.split(';'), _mAccount.address) : [];
- var _bcc = _mMessage.bcc ? _.without(_mMessage.bcc.split(';'), _mAccount.address) : [];
-
- var _html = (_mAccount.Template && !message.auto) ? Mustache.render(_mAccount.Template.html, {
- interactionId: _mRoom.id,
- subject: _mMessage.subject,
- body: _mMessage.html ? _mMessage.html : _mMessage.text,
- accountName: _mAccount.name,
- from: _mMessage.from,
- to: _to.join(';'),
- cc: _cc.join(';'),
- bcc: _bcc.join(';'),
- agentName: _mAgent ? _mAgent.fullname : '',
- agentEmail: _mAgent ? _mAgent.email : '',
- createdAt: _mMessage.createdAt
- }) : _mMessage.html;
-
- var _text;
- if (_mMessage.text) {
- _text = _mMessage.text;
- } else {
- _text = _mMessage.html ? htmlToText.fromString(_mMessage.html, {
- wordwrap: false
- }) : null;
- }
- if (_mAccount.whiteLabel) {
- _html += '<br>' + _mAccount.whiteLabel;
- _text += '<br>' + _mAccount.whiteLabel;
- } else {
- _html += '<br> Sent with XCALLY®';
- _text += '<br> Sent with XCALLY®';
- }
- var mail = {
- status: _mMessage.status,
- from: {
- name: _mAccount.name,
- address: _mAccount.address
- },
- to: _to.join(';'),
- cc: _cc.join(';'),
- bcc: _bcc.join(';'),
- subject: _mMessage.subject,
- html: _html,
- text: _text
- };
- if (_mMessage.MailAttachments) {
- mail.attachments = _.map(_mMessage.MailAttachments, function(elm) {
- return {
- path: elm.path,
- filename: elm.name
- }
- });
- }
-
- return smtp
- .sendMail(mail);
- })
- .then(function(info) {
- process.send({
- msgId: _mMessage.id,
- roomId: _mRoom.id,
- type: 'update',
- messageId: info.messageId,
- status: 'SENT',
- retry: _mMessage.retrySend
- });
- })
- .catch(function(err) {
- console.error(err);
- process.send({
- msgId: _mMessage.id,
- roomId: _mRoom.id,
- type: 'update',
- status: 'FAILED',
- retry: _mMessage.retrySend
- });
- });
- }
- }
-}
-
-Server
- .findById(process.argv[2])
- .then(function(server) {
- onSave(server);
- })
- .catch(function(err) {
- console.error(err);
- });
+var _0xaa6c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x75\x73\x74\x61\x63\x68\x65","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72","\x6E\x6F\x64\x65\x6D\x61\x69\x6C\x65\x72\x2D\x73\x6D\x74\x70\x2D\x74\x72\x61\x6E\x73\x70\x6F\x72\x74","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x65\x72\x72\x6F\x72","\x6F\x6E","\x63\x6C\x6F\x73\x65","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x45\x58\x49\x54\x45\x44\x20\x57\x49\x54\x48\x20\x43\x4F\x44\x45\x20\x25\x73","\x61\x72\x67\x76","\x66\x6F\x72\x6D\x61\x74","\x6C\x6F\x67","\x6D\x65\x73\x73\x61\x67\x65","\x74\x79\x70\x65","\x73\x74\x61\x74\x65","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x43\x4F\x4E\x4E\x45\x43\x54\x49\x4E\x47","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x53\x54\x41\x52\x54\x49\x4E\x47\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x70\x69\x64","\x45\x52\x52\x4F\x52","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x45\x52\x52\x4F\x52\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x73\x65\x6E\x64","\x63\x61\x74\x63\x68","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x74\x68\x65\x6E","\x76\x65\x72\x69\x66\x79","\x68\x6F\x73\x74","\x70\x6F\x72\x74","\x73\x73\x6C","\x70\x61\x73\x73\x77\x6F\x72\x64","\x63\x72\x65\x61\x74\x65\x54\x72\x61\x6E\x73\x70\x6F\x72\x74","\x6D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x6D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74\x49\x64","\x69\x64","\x53\x4D\x54\x50\x20\x53\x45\x52\x56\x45\x52\x20\x25\x73\x20\x53\x45\x4E\x44\x49\x4E\x47\x20\x4D\x53\x47\x2C\x20\x50\x52\x4F\x43\x45\x53\x53\x20\x49\x44\x3A\x20\x25\x73\x20","\x73\x74\x61\x74\x75\x73","\x53\x45\x4E\x44\x49\x4E\x47","\x69\x6E\x52\x65\x70\x6C\x79\x54\x6F","\x75\x70\x64\x61\x74\x65","\x46\x41\x49\x4C\x45\x44","\x72\x65\x74\x72\x79\x53\x65\x6E\x64","\x6D\x65\x73\x73\x61\x67\x65\x49\x64","\x53\x45\x4E\x54","\x68\x74\x6D\x6C","\x75\x74\x66\x38","\x74\x65\x78\x74","\x74\x6F","\x3B","\x73\x70\x6C\x69\x74","\x61\x64\x64\x72\x65\x73\x73","\x77\x69\x74\x68\x6F\x75\x74","\x63\x63","\x62\x63\x63","\x61\x75\x74\x6F","\x73\x75\x62\x6A\x65\x63\x74","\x6E\x61\x6D\x65","\x66\x72\x6F\x6D","\x6A\x6F\x69\x6E","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x72\x65\x6E\x64\x65\x72","\x66\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x77\x68\x69\x74\x65\x4C\x61\x62\x65\x6C","\x3C\x62\x72\x3E","\x3C\x62\x72\x3E\x20\x53\x65\x6E\x74\x20\x77\x69\x74\x68\x20\x58\x43\x41\x4C\x4C\x59\xAE","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x70\x61\x74\x68","\x6D\x61\x70","\x73\x65\x6E\x64\x4D\x61\x69\x6C","\x61\x64\x64\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x69\x6C\x4F\x75\x74","\x50\x45\x4E\x44\x49\x4E\x47","\x61\x64\x64\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x67\x65\x74\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x66\x69\x6E\x64\x4F\x6E\x65","","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x63\x72\x65\x61\x74\x65"];_0xaa6c[0];var util=require(_0xaa6c[1]);var promise=require(_0xaa6c[2]);var _=require(_0xaa6c[3]);var moment=require(_0xaa6c[4]);var Mustache=require(_0xaa6c[5]);var nodemailer=require(_0xaa6c[6]);var smtpTransport=require(_0xaa6c[7]);var htmlToText=require(_0xaa6c[8]);var Agent=require(_0xaa6c[10])[_0xaa6c[9]];var Room=require(_0xaa6c[10])[_0xaa6c[11]];var Template=require(_0xaa6c[10])[_0xaa6c[12]];var Account=require(_0xaa6c[10])[_0xaa6c[13]];var Message=require(_0xaa6c[10])[_0xaa6c[14]];var Server=require(_0xaa6c[10])[_0xaa6c[15]];var Status=require(_0xaa6c[10])[_0xaa6c[16]];var Attachment=require(_0xaa6c[10])[_0xaa6c[17]];var smtp;var timeout;process[_0xaa6c[19]](_0xaa6c[25],function(_0xc3c4x15){if(_0xc3c4x15[_0xaa6c[26]]=== _0xaa6c[25]){onSend(_0xc3c4x15)};if(_0xc3c4x15[_0xaa6c[26]]=== _0xaa6c[27]){switch(_0xc3c4x15[_0xaa6c[27]]){case _0xaa6c[29]:onVerify(_0xc3c4x15[_0xaa6c[28]]);break;default:}}})[_0xaa6c[19]](_0xaa6c[20],function(_0xc3c4x14){console[_0xaa6c[24]](util[_0xaa6c[23]](_0xaa6c[21],process[_0xaa6c[22]][3],_0xc3c4x14))})[_0xaa6c[19]](_0xaa6c[18],function(_0xc3c4x13){console[_0xaa6c[18]](_0xc3c4x13)});console[_0xaa6c[24]](util[_0xaa6c[23]](_0xaa6c[30],process[_0xaa6c[22]][3],process[_0xaa6c[31]]));function onVerify(_0xc3c4x17){smtp[_0xaa6c[40]]()[_0xaa6c[39]](function(){process[_0xaa6c[35]]({type:_0xaa6c[27],state:_0xaa6c[37],source:null,log:util[_0xaa6c[23]](_0xaa6c[38],_0xc3c4x17,process[_0xaa6c[31]])})})[_0xaa6c[36]](function(_0xc3c4x13){process[_0xaa6c[35]]({type:_0xaa6c[27],state:_0xaa6c[32],source:JSON[_0xaa6c[33]](_0xc3c4x13),log:util[_0xaa6c[23]](_0xaa6c[34],_0xc3c4x17,process[_0xaa6c[31]])})})}function onSave(_0xc3c4x19){smtp= nodemailer[_0xaa6c[45]](smtpTransport({host:_0xc3c4x19[_0xaa6c[41]],port:_0xc3c4x19[_0xaa6c[42]],secure:_0xc3c4x19[_0xaa6c[43]],pool:true,auth:{user:_0xc3c4x19[_0xaa6c[28]],pass:_0xc3c4x19[_0xaa6c[44]]}}));smtp[_0xaa6c[46]]= _0xc3c4x19[_0xaa6c[47]];smtp[_0xaa6c[48]]= _0xc3c4x19[_0xaa6c[49]];smtp[_0xaa6c[28]]= _0xc3c4x19[_0xaa6c[28]];onVerify(_0xc3c4x19[_0xaa6c[28]])}function onSend(_0xc3c4x1b){console[_0xaa6c[24]](util[_0xaa6c[23]](_0xaa6c[50],process[_0xaa6c[22]][3],process[_0xaa6c[31]]));if(_0xc3c4x1b[_0xaa6c[51]]=== _0xaa6c[52]){var _0xc3c4x1c;var _0xc3c4x1d;var _0xc3c4x1e;var _0xc3c4x1f=_0xc3c4x1b;var _0xc3c4x20,_0xc3c4x21,_0xc3c4x22,_0xc3c4x23;if(_0xc3c4x1f[_0xaa6c[53]]){return Message[_0xaa6c[94]]({where:{messageId:_0xc3c4x1f[_0xaa6c[53]]}})[_0xaa6c[39]](function(_0xc3c4x2e){return _0xc3c4x2e[_0xaa6c[93]]({include:{model:Account,include:[{model:Template}]}})})[_0xaa6c[39]](function(_0xc3c4x2d){_0xc3c4x1c= _0xc3c4x2d;_0xc3c4x1d= _0xc3c4x2d[_0xaa6c[13]];return _0xc3c4x1c[_0xaa6c[92]](_0xc3c4x1f[_0xaa6c[49]])})[_0xaa6c[39]](function(){var _0xc3c4x15={lastEvent:_0xaa6c[52],attachment:_0xc3c4x1f[_0xaa6c[82]]&& _0xc3c4x1f[_0xaa6c[82]][_0xaa6c[89]],mailOut:++_0xc3c4x1c[_0xaa6c[90]]};if(!_0xc3c4x1b[_0xaa6c[69]]){_0xc3c4x15[_0xaa6c[51]]= _0xaa6c[91]};return _0xc3c4x1c[_0xaa6c[54]](_0xc3c4x15)})[_0xaa6c[39]](function(){return Agent[_0xaa6c[88]](_0xc3c4x1f.UserId)})[_0xaa6c[39]](function(_0xc3c4x2c){_0xc3c4x1e= _0xc3c4x2c;return _0xc3c4x1c[_0xaa6c[87]](_0xc3c4x1e)})[_0xaa6c[39]](function(){_0xc3c4x1f[_0xaa6c[59]]= _0xc3c4x1f[_0xaa6c[59]]?_0xc3c4x1f[_0xaa6c[59]].toString(_0xaa6c[60]):null;_0xc3c4x1f[_0xaa6c[61]]= _0xc3c4x1f[_0xaa6c[61]]?_0xc3c4x1f[_0xaa6c[61]].toString(_0xaa6c[60]):null;var _0xc3c4x25=_0xc3c4x1f[_0xaa6c[62]]?_[_0xaa6c[66]](_0xc3c4x1f[_0xaa6c[62]][_0xaa6c[64]](_0xaa6c[63]),_0xc3c4x1d[_0xaa6c[65]]):[];var _0xc3c4x26=_0xc3c4x1f[_0xaa6c[67]]?_[_0xaa6c[66]](_0xc3c4x1f[_0xaa6c[67]][_0xaa6c[64]](_0xaa6c[63]),_0xc3c4x1d[_0xaa6c[65]]):[];var _0xc3c4x27=_0xc3c4x1f[_0xaa6c[68]]?_[_0xaa6c[66]](_0xc3c4x1f[_0xaa6c[68]][_0xaa6c[64]](_0xaa6c[63]),_0xc3c4x1d[_0xaa6c[65]]):[];var _0xc3c4x28=(_0xc3c4x1d[_0xaa6c[12]]&& !_0xc3c4x1b[_0xaa6c[69]])?Mustache[_0xaa6c[77]](_0xc3c4x1d[_0xaa6c[12]][_0xaa6c[59]],{interactionId:_0xc3c4x1c[_0xaa6c[49]],subject:_0xc3c4x1f[_0xaa6c[70]],body:_0xc3c4x1f[_0xaa6c[59]]?_0xc3c4x1f[_0xaa6c[59]]:_0xc3c4x1f[_0xaa6c[61]],accountName:_0xc3c4x1d[_0xaa6c[71]],from:_0xc3c4x1f[_0xaa6c[72]],to:_0xc3c4x25[_0xaa6c[73]](_0xaa6c[63]),cc:_0xc3c4x26[_0xaa6c[73]](_0xaa6c[63]),bcc:_0xc3c4x27[_0xaa6c[73]](_0xaa6c[63]),agentName:_0xc3c4x1e[_0xaa6c[74]],agentEmail:_0xc3c4x1e[_0xaa6c[75]],createdAt:_0xc3c4x1f[_0xaa6c[76]]}):_0xc3c4x1f[_0xaa6c[59]];var _0xc3c4x29;if(_0xc3c4x1f[_0xaa6c[61]]){_0xc3c4x29= _0xc3c4x1f[_0xaa6c[61]]}else {_0xc3c4x29= _0xc3c4x1f[_0xaa6c[59]]?htmlToText[_0xaa6c[78]](_0xc3c4x1f[_0xaa6c[59]],{wordwrap:false}):null};if(_0xc3c4x1d[_0xaa6c[79]]){_0xc3c4x28+= _0xaa6c[80]+ _0xc3c4x1d[_0xaa6c[79]];_0xc3c4x29+= _0xaa6c[80]+ _0xc3c4x1d[_0xaa6c[79]]}else {_0xc3c4x28+= _0xaa6c[81];_0xc3c4x29+= _0xaa6c[81]};var _0xc3c4x2a={status:_0xc3c4x1f[_0xaa6c[51]],from:{name:_0xc3c4x1d[_0xaa6c[71]],address:_0xc3c4x1d[_0xaa6c[65]]},to:_0xc3c4x25[_0xaa6c[73]](_0xaa6c[63]),cc:_0xc3c4x26[_0xaa6c[73]](_0xaa6c[63]),bcc:_0xc3c4x27[_0xaa6c[73]](_0xaa6c[63]),subject:_0xc3c4x1f[_0xaa6c[70]],html:_0xc3c4x28,text:_0xc3c4x29};if(_0xc3c4x1f[_0xaa6c[82]]){_0xc3c4x2a[_0xaa6c[83]]= _[_0xaa6c[85]](_0xc3c4x1f.MailAttachments,function(_0xc3c4x2b){return {path:_0xc3c4x2b[_0xaa6c[84]],filename:_0xc3c4x2b[_0xaa6c[71]]}})};return smtp[_0xaa6c[86]](_0xc3c4x2a)})[_0xaa6c[39]](function(_0xc3c4x24){process[_0xaa6c[35]]({msgId:_0xc3c4x1f[_0xaa6c[49]],roomId:_0xc3c4x1c[_0xaa6c[49]],type:_0xaa6c[54],messageId:_0xc3c4x24[_0xaa6c[57]],status:_0xaa6c[58],retry:_0xc3c4x1f[_0xaa6c[56]]})})[_0xaa6c[36]](function(_0xc3c4x13){console[_0xaa6c[18]](_0xc3c4x13);process[_0xaa6c[35]]({msgId:_0xc3c4x1f[_0xaa6c[49]],roomId:_0xc3c4x1c[_0xaa6c[49]],type:_0xaa6c[54],status:_0xaa6c[55],retry:_0xc3c4x1f[_0xaa6c[56]]})})}else {return Account[_0xaa6c[88]](smtp[_0xaa6c[46]],{include:[{model:Template}]})[_0xaa6c[39]](function(_0xc3c4x30){_0xc3c4x1d= _0xc3c4x30;return Room[_0xaa6c[88]](_0xc3c4x1f.MailRoomId)})[_0xaa6c[39]](function(_0xc3c4x2d){if(!_0xc3c4x2d){return Agent[_0xaa6c[88]](_0xc3c4x1b.UserId)[_0xaa6c[39]](function(_0xc3c4x2f){return Room[_0xaa6c[97]]({subject:_0xc3c4x1f[_0xaa6c[70]],from:_0xc3c4x1f[_0xaa6c[72]],account:_0xc3c4x1d?_0xc3c4x1d[_0xaa6c[71]]:null,status:_0xaa6c[91],lastEvent:_0xaa6c[52],attachment:_0xc3c4x1f[_0xaa6c[82]]&& _0xc3c4x1f[_0xaa6c[82]][_0xaa6c[89]],MailAccountId:_0xc3c4x1d?_0xc3c4x1d[_0xaa6c[49]]:null,mailOut:1,arrivedAt:moment()[_0xaa6c[23]](_0xaa6c[96]),MailRoomStatuses:[{status:_0xaa6c[91],data1:_0xc3c4x2f?_0xc3c4x2f[_0xaa6c[71]]:null,data2:_0xc3c4x2f?_0xc3c4x2f[_0xaa6c[74]]:null,UserId:_0xc3c4x2f?_0xc3c4x2f[_0xaa6c[49]]:null}]},{include:[{model:Message},{model:Status}]})})}else {return _0xc3c4x2d}})[_0xaa6c[39]](function(_0xc3c4x2d){_0xc3c4x1c= _0xc3c4x2d;return Agent[_0xaa6c[88]](_0xc3c4x1f.UserId)})[_0xaa6c[39]](function(_0xc3c4x2c){_0xc3c4x1e= _0xc3c4x2c;return _0xc3c4x1c[_0xaa6c[87]](_0xc3c4x1e)})[_0xaa6c[39]](function(){_0xc3c4x1f[_0xaa6c[59]]= _0xc3c4x1f[_0xaa6c[59]]?_0xc3c4x1f[_0xaa6c[59]].toString(_0xaa6c[60]):null;_0xc3c4x1f[_0xaa6c[61]]= _0xc3c4x1f[_0xaa6c[61]]?_0xc3c4x1f[_0xaa6c[61]].toString(_0xaa6c[60]):null;var _0xc3c4x25=_0xc3c4x1f[_0xaa6c[62]]?_[_0xaa6c[66]](_0xc3c4x1f[_0xaa6c[62]][_0xaa6c[64]](_0xaa6c[63]),_0xc3c4x1d[_0xaa6c[65]]):[];var _0xc3c4x26=_0xc3c4x1f[_0xaa6c[67]]?_[_0xaa6c[66]](_0xc3c4x1f[_0xaa6c[67]][_0xaa6c[64]](_0xaa6c[63]),_0xc3c4x1d[_0xaa6c[65]]):[];var _0xc3c4x27=_0xc3c4x1f[_0xaa6c[68]]?_[_0xaa6c[66]](_0xc3c4x1f[_0xaa6c[68]][_0xaa6c[64]](_0xaa6c[63]),_0xc3c4x1d[_0xaa6c[65]]):[];var _0xc3c4x28=(_0xc3c4x1d[_0xaa6c[12]]&& !_0xc3c4x1b[_0xaa6c[69]])?Mustache[_0xaa6c[77]](_0xc3c4x1d[_0xaa6c[12]][_0xaa6c[59]],{interactionId:_0xc3c4x1c[_0xaa6c[49]],subject:_0xc3c4x1f[_0xaa6c[70]],body:_0xc3c4x1f[_0xaa6c[59]]?_0xc3c4x1f[_0xaa6c[59]]:_0xc3c4x1f[_0xaa6c[61]],accountName:_0xc3c4x1d[_0xaa6c[71]],from:_0xc3c4x1f[_0xaa6c[72]],to:_0xc3c4x25[_0xaa6c[73]](_0xaa6c[63]),cc:_0xc3c4x26[_0xaa6c[73]](_0xaa6c[63]),bcc:_0xc3c4x27[_0xaa6c[73]](_0xaa6c[63]),agentName:_0xc3c4x1e?_0xc3c4x1e[_0xaa6c[74]]:_0xaa6c[95],agentEmail:_0xc3c4x1e?_0xc3c4x1e[_0xaa6c[75]]:_0xaa6c[95],createdAt:_0xc3c4x1f[_0xaa6c[76]]}):_0xc3c4x1f[_0xaa6c[59]];var _0xc3c4x29;if(_0xc3c4x1f[_0xaa6c[61]]){_0xc3c4x29= _0xc3c4x1f[_0xaa6c[61]]}else {_0xc3c4x29= _0xc3c4x1f[_0xaa6c[59]]?htmlToText[_0xaa6c[78]](_0xc3c4x1f[_0xaa6c[59]],{wordwrap:false}):null};if(_0xc3c4x1d[_0xaa6c[79]]){_0xc3c4x28+= _0xaa6c[80]+ _0xc3c4x1d[_0xaa6c[79]];_0xc3c4x29+= _0xaa6c[80]+ _0xc3c4x1d[_0xaa6c[79]]}else {_0xc3c4x28+= _0xaa6c[81];_0xc3c4x29+= _0xaa6c[81]};var _0xc3c4x2a={status:_0xc3c4x1f[_0xaa6c[51]],from:{name:_0xc3c4x1d[_0xaa6c[71]],address:_0xc3c4x1d[_0xaa6c[65]]},to:_0xc3c4x25[_0xaa6c[73]](_0xaa6c[63]),cc:_0xc3c4x26[_0xaa6c[73]](_0xaa6c[63]),bcc:_0xc3c4x27[_0xaa6c[73]](_0xaa6c[63]),subject:_0xc3c4x1f[_0xaa6c[70]],html:_0xc3c4x28,text:_0xc3c4x29};if(_0xc3c4x1f[_0xaa6c[82]]){_0xc3c4x2a[_0xaa6c[83]]= _[_0xaa6c[85]](_0xc3c4x1f.MailAttachments,function(_0xc3c4x2b){return {path:_0xc3c4x2b[_0xaa6c[84]],filename:_0xc3c4x2b[_0xaa6c[71]]}})};return smtp[_0xaa6c[86]](_0xc3c4x2a)})[_0xaa6c[39]](function(_0xc3c4x24){process[_0xaa6c[35]]({msgId:_0xc3c4x1f[_0xaa6c[49]],roomId:_0xc3c4x1c[_0xaa6c[49]],type:_0xaa6c[54],messageId:_0xc3c4x24[_0xaa6c[57]],status:_0xaa6c[58],retry:_0xc3c4x1f[_0xaa6c[56]]})})[_0xaa6c[36]](function(_0xc3c4x13){console[_0xaa6c[18]](_0xc3c4x13);process[_0xaa6c[35]]({msgId:_0xc3c4x1f[_0xaa6c[49]],roomId:_0xc3c4x1c[_0xaa6c[49]],type:_0xaa6c[54],status:_0xaa6c[55],retry:_0xc3c4x1f[_0xaa6c[56]]})})}}}Server[_0xaa6c[88]](process[_0xaa6c[22]][2])[_0xaa6c[39]](function(_0xc3c4x19){onSave(_0xc3c4x19)})[_0xaa6c[36]](function(_0xc3c4x13){console[_0xaa6c[18]](_0xc3c4x13)})
\ No newline at end of file
-/**
- * Socket.io configuration
- */
-
-'use strict';
-
-var moment = require('moment');
-var util = require('util');
-var config = require('./environment');
-
-var User = require('../models').User;
-var VoiceQueue = require('../models').VoiceQueue;
-
-function onDisconnect(socket) {
- console.info('[%s] SOCKET DISCONNECTED', socket.handshake.address);
-
- if (socket.handshake.query.role) {
- socket.leave(util.format("%ss", socket.handshake.query.role));
- }
-
- if (socket.userId) {
- return User
- .findById(socket.userId)
- .then(function(user) {
- if (!user) {
- throw new Error('socket: no user found');
- }
- return user
- .update({
- online: false
- });
- })
- .then(function(user) {
- console.log('socket: user offline', user.name);
- })
- .catch(function(err) {
- console.error(err);
- });
- } else {
- console.log('socket: no user found');
- }
-}
-
-function onConnect(socket, dashboardProcess) {
-
- console.info('[%s] SOCKET CONNECTED', socket.handshake.address);
-
- socket.setMaxListeners(0);
- socket.address = socket.handshake.address !== null ? socket.handshake.address.address + ':' + socket.handshake.address.port : process.env.DOMAIN;
- socket.userId = socket.handshake.query.userId;
- socket.role = socket.handshake.query.role;
- socket.name = socket.handshake.query.name;
- socket.source = socket.handshake.query.source;
- socket.connectedAt = new Date();
-
- if (socket.handshake.query.role) {
- socket.join(util.format("%ss", socket.handshake.query.role));
- }
-
- if (socket.userId) {
- return User
- .findById(socket.userId, {
- attributes: ['id', 'name', 'role'],
- include: [{
- model: VoiceQueue,
- as: 'PVoiceQueues',
- attributes: ['name'],
- }],
- })
- .then(function(user) {
- if (!user) {
- throw new Error('socket: no user found');
- }
-
- return user
- .update({
- online: true,
- lastLoginAt: moment().format("YYYY-MM-DD HH:mm:ss")
- })
- })
- .then(function(user) {
-
- if (user.role !== 'agent') {
- require('./tools/dashboard').register(socket);
- // require('./tools/queueParameters').register(socket);
- }
-
- // ADD USER TO THE QUEUE ROOM
- socket.join(util.format('%s:%s', user.role, user.id));
- socket.join(util.format('%s', user.name));
-
- switch (user.role) {
- case 'admin':
- VoiceQueue
- .findAll({
- attributes: ['name']
- })
- .then(function(PVoiceQueues) {
- PVoiceQueues.forEach(function(queue) {
- socket.join(queue.name);
- });
- })
- .catch(function(err) {
- console.error(err);
- });
- break;
-
- case 'user':
- user.PVoiceQueues.forEach(function(queue) {
- socket.join(queue.name);
- });
- break;
- default:
- }
-
- console.log('socket: user online', user.name);
- // Insert sockets below
- require('../api/report_openchannel_session/report_openchannel_session.socket').register(socket);
- require('../api/report_openchannel/report_openchannel.socket').register(socket);
- require('../api/user_has_openchannel_queue/user_has_openchannel_queue.socket').register(socket);
- require('../api/openchannel_disposition/openchannel_disposition.socket').register(socket);
- require('../api/openchannel_application/openchannel_application.socket').register(socket);
- require('../api/openchannel_queue/openchannel_queue.socket').register(socket);
- require('../api/openchannel_room/openchannel_room.socket').register(socket);
- require('../api/openchannel_message/openchannel_message.socket').register(socket);
- require('../api/openchannel_account/openchannel_account.socket').register(socket);
- require('../api/fax_disposition/fax_disposition.socket').register(socket);
- require('../api/sms_disposition/sms_disposition.socket').register(socket);
- require('../api/mail_disposition/mail_disposition.socket').register(socket);
- require('../api/chat_disposition/chat_disposition.socket').register(socket);
- require('../api/voice_disposition/voice_disposition.socket').register(socket);
- require('../api/fax_attachment/fax_attachment.socket').register(socket);
- require('../api/report_fax_session/report_fax_session.socket').register(socket);
- require('../api/report_fax/report_fax.socket').register(socket);
- require('../api/network_externip/network_externip.socket').register(socket);
- require('../api/network_localnet/network_localnet.socket').register(socket);
-
- //Ordered alphabetically
- require('../api/agent/agent.socket').register(socket);
- require('../api/ami/ami.socket').register(socket);
- require('../api/automation/automation.socket').register(socket);
- require('../api/scheduler/scheduler.socket').register(socket);
- require('../api/canned_answer/canned_answer.socket').register(socket);
- require('../api/chanspy/chanspy.socket').register(socket);
- require('../api/chat_application/chat_application.socket').register(socket);
- require('../api/chat_enquiry/enquiry.socket').register(socket);
- require('../api/chat_message/chat_message.socket').register(socket);
- require('../api/chat_proactive_action/chat_proactive_action.socket').register(socket);
- require('../api/chat_queue/chat_queue.socket').register(socket);
- require('../api/chat_room/chat_room.socket').register(socket);
- require('../api/chat_visitor/chat_visitor.socket').register(socket);
- require('../api/chat_website/chat_website.socket').register(socket);
- require('../api/chat_websites_field/chat_websites_field.socket').register(socket);
- require('../api/company/company.socket').register(socket);
- require('../api/contact_manager/contact_manager.socket').register(socket);
- require('../api/custom_report/custom_report.socket').register(socket);
- require('../api/dashboard/dashboard.socket').register(socket);
- require('../api/default_report/default_report.socket').register(socket);
- require('../api/desk_account/desk_account.socket').register(socket);
- require('../api/desk_configuration/desk_configuration.socket').register(socket);
- require('../api/desk_field/desk_field.socket').register(socket);
- require('../api/extracted_report/extracted_report.socket').register(socket);
- require('../api/fax_account/fax_account.socket').register(socket);
- require('../api/fax_application/fax_application.socket').register(socket);
- require('../api/fax_message/fax_message.socket').register(socket);
- require('../api/fax_queue/fax_queue.socket').register(socket);
- require('../api/fax_room/fax_room.socket').register(socket);
- require('../api/freshdesk_account/freshdesk_account.socket').register(socket);
- require('../api/freshdesk_configuration/freshdesk_configuration.socket').register(socket);
- require('../api/freshdesk_field/freshdesk_field.socket').register(socket);
- require('../api/integration/integration.socket').register(socket);
- require('../api/interval/interval.socket').register(socket);
- require('../api/jscripty_project/jscripty_project.socket').register(socket);
- require('../api/list/list.socket').register(socket);
- require('../api/mail_account/mail_account.socket').register(socket);
- require('../api/mail_application/mail_application.socket').register(socket);
- require('../api/mail_attachment/mail_attachment.socket').register(socket);
- require('../api/mail_message/mail_message.socket').register(socket);
- require('../api/mail_queue/mail_queue.socket').register(socket);
- require('../api/mail_room/mail_room.socket').register(socket);
- require('../api/mail_server_in/mail_server_in.socket').register(socket);
- require('../api/mail_server_out/mail_server_out.socket').register(socket);
- require('../api/template/template.socket').register(socket);
- require('../api/metric/metric.socket').register(socket);
- require('../api/module/module.socket').register(socket);
- require('../api/motionbar/motionbar.socket').register(socket);
- require('../api/report_agent/report_agent.socket').register(socket);
- require('../api/report_member/report_member.socket').register(socket);
- require('../api/report_call/report_call.socket').register(socket);
- require('../api/report_dial/report_dial.socket').register(socket);
- require('../api/report_chat/report_chat.socket').register(socket);
- require('../api/report_chat_session/report_chat_session.socket').register(socket);
- require('../api/report_integration/report_integration.socket').register(socket);
- require('../api/report_sms/report_sms.socket').register(socket);
- require('../api/report_mail/report_mail.socket').register(socket);
- require('../api/report_mail_session/report_mail_session.socket').register(socket);
- require('../api/report_sms_session/report_sms_session.socket').register(socket);
- require('../api/report_queue/report_queue.socket').register(socket);
- require('../api/report_square/report_square.socket').register(socket);
- require('../api/report_square_detail/report_square_detail.socket').register(socket);
- require('../api/report_tree/report_tree.socket').register(socket);
- require('../api/salesforce_account/salesforce_account.socket').register(socket);
- require('../api/salesforce_configuration/salesforce_configuration.socket').register(socket);
- require('../api/salesforce_field/salesforce_field.socket').register(socket);
- require('../api/setting/setting.socket').register(socket);
- require('../api/sms_account/sms_account.socket').register(socket);
- require('../api/sms_application/sms_application.socket').register(socket);
- require('../api/sms_message/sms_message.socket').register(socket);
- require('../api/sms_queue/sms_queue.socket').register(socket);
- require('../api/sms_room/sms_room.socket').register(socket);
- require('../api/square_odbc/square_odbc.socket').register(socket);
- require('../api/square_project/square_project.socket').register(socket);
- require('../api/square_recording/square_recording.socket').register(socket);
- require('../api/sugarcrm_account/sugarcrm_account.socket').register(socket);
- require('../api/sugarcrm_configuration/sugarcrm_configuration.socket').register(socket);
- require('../api/sugarcrm_field/sugarcrm_field.socket').register(socket);
- require('../api/tag/tag.socket').register(socket);
- require('../api/team/team.socket').register(socket);
- require('../api/trigger/trigger.socket').register(socket);
- require('../api/trunk/trunk.socket').register(socket);
- require('../api/user/user.socket').register(socket);
- require('../api/sound/sound.socket').register(socket);
- require('../api/user_has_chat_queue/user_has_chat_queue.socket').register(socket);
- require('../api/user_has_chat_queue/user_has_chat_queue_permit.socket').register(socket);
- require('../api/user_has_sms_queue/user_has_sms_queue.socket').register(socket);
- require('../api/user_has_sms_queue/user_has_sms_queue_permit.socket').register(socket);
- require('../api/user_has_chat_room/user_has_chat_room.socket').register(socket);
- require('../api/user_has_fax_queue/user_has_fax_queue.socket').register(socket);
- require('../api/user_has_fax_queue/user_has_fax_queue_permit.socket').register(socket);
- require('../api/user_has_mail_queue/user_has_mail_queue.socket').register(socket);
- require('../api/user_has_mail_queue/user_has_mail_queue_permit.socket').register(socket);
- require('../api/user_has_team/user_has_team.socket').register(socket);
- require('../api/user_has_voice_queue/user_has_voice_queue.socket').register(socket);
- require('../api/user_has_voice_queue/user_has_voice_queue_permit.socket').register(socket);
- require('../api/user_has_list/user_has_list.socket').register(socket);
- require('../api/variable/variable.socket').register(socket);
- require('../api/voice_context/voice_context.socket').register(socket);
- require('../api/voice_extension/voice_extension.socket').register(socket);
- require('../api/voice_musiconhold/voice_musiconhold.socket').register(socket);
- require('../api/voice_queue/voice_queue.socket').register(socket);
- require('../api/voice_recording/voice_recording.socket').register(socket);
- require('../api/voice_voicemail/voice_voicemail.socket').register(socket);
- require('../api/voice_voicemail_messages/voice_voicemail_messages.socket').register(socket);
- require('../api/zendesk_account/zendesk_account.socket').register(socket);
- require('../api/zendesk_configuration/zendesk_configuration.socket').register(socket);
- require('../api/zendesk_field/zendesk_field.socket').register(socket);
- })
- .catch(function(err) {
- console.error(err);
- });
- } else {
- console.log('socket: no user found');
- }
-
- socket.on('info', function(data) {
- console.info('[%s] %s', socket.address, JSON.stringify(data, null, 2));
- });
-}
-
-module.exports = function(socketio, dashboardProcess) {
- // socket.io (v1.x.x) is powered by debug.
- // In order to see all the debug output, set DEBUG (in server/config/local.env.js) to including the desired scope.
- //
- // ex: DEBUG: "http*,socket.io:socket"
-
- // We can authenticate socket.io users and access their token through socket.handshake.decoded_token
- //
- // 1. You will need to send the token in `client/components/socket/socket.service.js`
- //
- // 2. Require authentication here:
-
- socketio.use(require('socketio-jwt').authorize({
- secret: config.session.secret,
- handshake: true
- }));
-
- socketio.on('connection', function(socket) {
- // Call onDisconnect.
- socket.on('disconnect', function() {
- onDisconnect(socket);
- });
-
- // Call onConnect.
- onConnect(socket, dashboardProcess);
- });
-};
+var _0x15c3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6D\x6F\x6D\x65\x6E\x74","\x75\x74\x69\x6C","\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x5B\x25\x73\x5D\x20\x53\x4F\x43\x4B\x45\x54\x20\x44\x49\x53\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x61\x64\x64\x72\x65\x73\x73","\x68\x61\x6E\x64\x73\x68\x61\x6B\x65","\x69\x6E\x66\x6F","\x72\x6F\x6C\x65","\x71\x75\x65\x72\x79","\x25\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x6C\x65\x61\x76\x65","\x75\x73\x65\x72\x49\x64","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x75\x73\x65\x72\x20\x6F\x66\x66\x6C\x69\x6E\x65","\x6E\x61\x6D\x65","\x6C\x6F\x67","\x74\x68\x65\x6E","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x6E\x6F\x20\x75\x73\x65\x72\x20\x66\x6F\x75\x6E\x64","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x5B\x25\x73\x5D\x20\x53\x4F\x43\x4B\x45\x54\x20\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x73\x65\x74\x4D\x61\x78\x4C\x69\x73\x74\x65\x6E\x65\x72\x73","\x3A","\x70\x6F\x72\x74","\x44\x4F\x4D\x41\x49\x4E","\x65\x6E\x76","\x73\x6F\x75\x72\x63\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x65\x64\x41\x74","\x6A\x6F\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x65\x67\x69\x73\x74\x65\x72","\x2E\x2F\x74\x6F\x6F\x6C\x73\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x25\x73\x3A\x25\x73","\x69\x64","\x25\x73","\x66\x6F\x72\x45\x61\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x64\x6D\x69\x6E","\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x75\x73\x65\x72","\x73\x6F\x63\x6B\x65\x74\x3A\x20\x75\x73\x65\x72\x20\x6F\x6E\x6C\x69\x6E\x65","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2F\x66\x61\x78\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2F\x73\x6D\x73\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2F\x6D\x61\x69\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2F\x63\x68\x61\x74\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2F\x76\x6F\x69\x63\x65\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2F\x66\x61\x78\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x65\x78\x74\x65\x72\x6E\x69\x70\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x65\x78\x74\x65\x72\x6E\x69\x70\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x2F\x61\x67\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69\x2F\x61\x6D\x69\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x61\x6E\x6E\x65\x64\x5F\x61\x6E\x73\x77\x65\x72\x2F\x63\x61\x6E\x6E\x65\x64\x5F\x61\x6E\x73\x77\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x6E\x73\x70\x79\x2F\x63\x68\x61\x6E\x73\x70\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x79\x2F\x65\x6E\x71\x75\x69\x72\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x5F\x61\x63\x74\x69\x6F\x6E\x2F\x63\x68\x61\x74\x5F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x5F\x61\x63\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73\x5F\x66\x69\x65\x6C\x64\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2F\x63\x6F\x6D\x70\x61\x6E\x79\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x65\x78\x74\x72\x61\x63\x74\x65\x64\x5F\x72\x65\x70\x6F\x72\x74\x2F\x65\x78\x74\x72\x61\x63\x74\x65\x64\x5F\x72\x65\x70\x6F\x72\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x73\x74\x2F\x6C\x69\x73\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x65\x74\x72\x69\x63\x2F\x6D\x65\x74\x72\x69\x63\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x2F\x6D\x6F\x64\x75\x6C\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x2F\x73\x65\x74\x74\x69\x6E\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x6D\x73\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x73\x6D\x73\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x2F\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x72\x6F\x6F\x6D\x2F\x73\x6D\x73\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2F\x73\x71\x75\x61\x72\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x61\x67\x2F\x74\x61\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x2F\x74\x65\x61\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x2F\x74\x72\x69\x67\x67\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x2F\x74\x72\x75\x6E\x6B\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x2F\x75\x73\x65\x72\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x73\x6F\x75\x6E\x64\x2F\x73\x6F\x75\x6E\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x5F\x70\x65\x72\x6D\x69\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2F\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x2E\x73\x6F\x63\x6B\x65\x74","\x2E\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64\x2E\x73\x6F\x63\x6B\x65\x74","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x5B\x25\x73\x5D\x20\x25\x73","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x61\x75\x74\x68\x6F\x72\x69\x7A\x65","\x73\x6F\x63\x6B\x65\x74\x69\x6F\x2D\x6A\x77\x74","\x75\x73\x65","\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E","\x64\x69\x73\x63\x6F\x6E\x6E\x65\x63\x74"];_0x15c3[0];var moment=require(_0x15c3[1]);var util=require(_0x15c3[2]);var config=require(_0x15c3[3]);var User=require(_0x15c3[5])[_0x15c3[4]];var VoiceQueue=require(_0x15c3[5])[_0x15c3[6]];function onDisconnect(_0x83a9x7){console[_0x15c3[10]](_0x15c3[7],_0x83a9x7[_0x15c3[9]][_0x15c3[8]]);if(_0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[11]]){_0x83a9x7[_0x15c3[15]](util[_0x15c3[14]](_0x15c3[13],_0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[11]]))};if(_0x83a9x7[_0x15c3[16]]){return User[_0x15c3[25]](_0x83a9x7[_0x15c3[16]])[_0x15c3[22]](function(_0x83a9x9){if(!_0x83a9x9){throw new Error(_0x15c3[23])};return _0x83a9x9[_0x15c3[24]]({online:false})})[_0x15c3[22]](function(_0x83a9x9){console[_0x15c3[21]](_0x15c3[19],_0x83a9x9[_0x15c3[20]])})[_0x15c3[18]](function(_0x83a9x8){console[_0x15c3[17]](_0x83a9x8)})}else {console[_0x15c3[21]](_0x15c3[23])}}function onConnect(_0x83a9x7,_0x83a9xb){console[_0x15c3[10]](_0x15c3[26],_0x83a9x7[_0x15c3[9]][_0x15c3[8]]);_0x83a9x7[_0x15c3[27]](0);_0x83a9x7[_0x15c3[8]]= _0x83a9x7[_0x15c3[9]][_0x15c3[8]]!== null?_0x83a9x7[_0x15c3[9]][_0x15c3[8]][_0x15c3[8]]+ _0x15c3[28]+ _0x83a9x7[_0x15c3[9]][_0x15c3[8]][_0x15c3[29]]:process[_0x15c3[31]][_0x15c3[30]];_0x83a9x7[_0x15c3[16]]= _0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[16]];_0x83a9x7[_0x15c3[11]]= _0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[11]];_0x83a9x7[_0x15c3[20]]= _0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[20]];_0x83a9x7[_0x15c3[32]]= _0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[32]];_0x83a9x7[_0x15c3[33]]= new Date();if(_0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[11]]){_0x83a9x7[_0x15c3[34]](util[_0x15c3[14]](_0x15c3[13],_0x83a9x7[_0x15c3[9]][_0x15c3[12]][_0x15c3[11]]))};if(_0x83a9x7[_0x15c3[16]]){return User[_0x15c3[25]](_0x83a9x7[_0x15c3[16]],{attributes:[_0x15c3[39],_0x15c3[20],_0x15c3[11]],include:[{model:VoiceQueue,as:_0x15c3[44],attributes:[_0x15c3[20]]}]})[_0x15c3[22]](function(_0x83a9x9){if(!_0x83a9x9){throw new Error(_0x15c3[23])};return _0x83a9x9[_0x15c3[24]]({online:true,lastLoginAt:moment()[_0x15c3[14]](_0x15c3[174])})})[_0x15c3[22]](function(_0x83a9x9){if(_0x83a9x9[_0x15c3[11]]!== _0x15c3[35]){require(_0x15c3[37])[_0x15c3[36]](_0x83a9x7)};_0x83a9x7[_0x15c3[34]](util[_0x15c3[14]](_0x15c3[38],_0x83a9x9[_0x15c3[11]],_0x83a9x9[_0x15c3[39]]));_0x83a9x7[_0x15c3[34]](util[_0x15c3[14]](_0x15c3[40],_0x83a9x9[_0x15c3[20]]));switch(_0x83a9x9[_0x15c3[11]]){case _0x15c3[43]:VoiceQueue[_0x15c3[42]]({attributes:[_0x15c3[20]]})[_0x15c3[22]](function(_0x83a9xc){_0x83a9xc[_0x15c3[41]](function(_0x83a9xd){_0x83a9x7[_0x15c3[34]](_0x83a9xd[_0x15c3[20]])})})[_0x15c3[18]](function(_0x83a9x8){console[_0x15c3[17]](_0x83a9x8)});break;case _0x15c3[45]:_0x83a9x9[_0x15c3[44]][_0x15c3[41]](function(_0x83a9xd){_0x83a9x7[_0x15c3[34]](_0x83a9xd[_0x15c3[20]])});break;default:};console[_0x15c3[21]](_0x15c3[46],_0x83a9x9[_0x15c3[20]]);require(_0x15c3[47])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[48])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[49])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[50])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[51])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[52])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[53])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[54])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[55])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[56])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[57])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[58])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[59])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[60])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[61])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[62])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[63])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[64])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[65])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[66])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[67])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[68])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[69])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[70])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[71])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[72])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[73])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[74])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[75])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[76])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[77])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[78])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[79])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[80])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[81])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[82])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[83])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[84])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[85])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[86])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[87])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[88])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[89])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[90])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[91])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[92])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[93])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[94])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[95])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[96])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[97])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[98])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[99])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[100])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[101])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[102])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[103])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[104])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[105])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[106])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[107])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[108])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[109])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[110])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[111])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[112])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[113])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[114])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[115])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[116])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[117])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[118])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[119])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[120])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[121])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[122])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[123])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[124])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[125])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[126])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[127])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[128])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[129])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[130])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[131])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[132])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[133])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[134])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[135])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[136])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[137])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[138])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[139])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[140])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[141])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[142])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[143])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[144])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[145])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[146])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[147])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[148])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[149])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[150])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[151])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[152])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[153])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[154])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[155])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[156])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[157])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[158])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[159])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[160])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[161])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[162])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[163])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[164])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[165])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[166])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[167])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[168])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[169])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[170])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[171])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[172])[_0x15c3[36]](_0x83a9x7);require(_0x15c3[173])[_0x15c3[36]](_0x83a9x7)})[_0x15c3[18]](function(_0x83a9x8){console[_0x15c3[17]](_0x83a9x8)})}else {console[_0x15c3[21]](_0x15c3[23])};_0x83a9x7[_0x15c3[177]](_0x15c3[10],function(_0x83a9xe){console[_0x15c3[10]](_0x15c3[175],_0x83a9x7[_0x15c3[8]],JSON[_0x15c3[176]](_0x83a9xe,null,2))})}module[_0x15c3[178]]= function(_0x83a9xf,_0x83a9xb){_0x83a9xf[_0x15c3[183]](require(_0x15c3[182])[_0x15c3[181]]({secret:config[_0x15c3[180]][_0x15c3[179]],handshake:true}));_0x83a9xf[_0x15c3[177]](_0x15c3[184],function(_0x83a9x7){_0x83a9x7[_0x15c3[177]](_0x15c3[185],function(){onDisconnect(_0x83a9x7)});onConnect(_0x83a9x7,_0x83a9xb)})}
\ No newline at end of file
-'use strict';
-
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-var config = require('../../config/environment');
-var ChanSpyModel = require('../../models').ChanSpy;
-var User = require('../../models').User;
-var VoiceExtension = require('../../models').VoiceExtension;
-var sequelize = require('../../models').sequelize;
-var Promise = require('bluebird');
-
-function ChanSpy() {
- ChanSpyModel.afterCreate(function(doc, options) {
- return Promise
- .all([])
- .then(createSpyExtensions(doc, options));
- })
- ChanSpyModel.afterUpdate(function(doc, options) {
- return Promise
- .all([])
- .then(deleteSpyExtensions(doc, options))
- .then(createSpyExtensions(doc, options));
- })
- ChanSpyModel.afterDelete(function(doc, options) {
- return deleteSpyExtensions(doc, options);
- })
-}
-
-function deleteSpyExtensions(doc, options) {
- return VoiceExtension
- .destroy({
- where: {
- ChanSpyId: doc.id
- },
- transaction: options.transaction
- });
-}
-
-function createSpyExtensions(doc, options) {
- return User
- .scope('agent')
- .findAll({
- where: {
- chanspy: true
- }
- })
- .then(function(agents) {
- var bulkSpies = [];
- agents.forEach(function(elem) {
- var spies = [];
- var priority = 1;
- if (doc.auth) {
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', doc.prefix, elem.name),
- priority: priority,
- app: 'Authenticate',
- appdata: doc.password,
- UserId: elem.id,
- ChanSpyId: doc.id,
- type: 'system'
- });
- priority++;
- }
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', doc.prefix, elem.name),
- priority: priority,
- app: 'ChanSpy',
- appdata: util.format('SIP/%s,%s', elem.name, doc.options),
- UserId: elem.id,
- ChanSpyId: doc.id,
- type: 'system'
- });
- priority = 1;
- if (doc.auth) {
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', doc.prefix, elem.internal),
- priority: priority,
- app: 'Authenticate',
- appdata: doc.password,
- UserId: elem.id,
- ChanSpyId: doc.id,
- type: 'system'
- });
- priority++;
- }
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', doc.prefix, elem.internal),
- priority: priority,
- app: 'ChanSpy',
- appdata: util.format('SIP/%s,%s', elem.name, doc.options),
- UserId: elem.id,
- ChanSpyId: doc.id,
- type: 'system'
- });
- bulkSpies.push(VoiceExtension.bulkCreate(spies, {
- transaction: options.transaction
- }));
- });
- return bulkSpies;
- })
- .all();
-}
-
-module.exports = ChanSpy;
+var _0x1618=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x43\x68\x61\x6E\x53\x70\x79","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x55\x73\x65\x72","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x74\x68\x65\x6E","\x61\x6C\x6C","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x69\x64","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x64\x65\x73\x74\x72\x6F\x79","\x61\x75\x74\x68","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x25\x73\x25\x73","\x70\x72\x65\x66\x69\x78","\x6E\x61\x6D\x65","\x66\x6F\x72\x6D\x61\x74","\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x79\x73\x74\x65\x6D","\x70\x75\x73\x68","\x53\x49\x50\x2F\x25\x73\x2C\x25\x73","\x6F\x70\x74\x69\x6F\x6E\x73","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x67\x65\x6E\x74","\x73\x63\x6F\x70\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x1618[0];var fs=require(_0x1618[1]);var util=require(_0x1618[2]);var path=require(_0x1618[3]);var config=require(_0x1618[4]);var ChanSpyModel=require(_0x1618[6])[_0x1618[5]];var User=require(_0x1618[6])[_0x1618[7]];var VoiceExtension=require(_0x1618[6])[_0x1618[8]];var sequelize=require(_0x1618[6])[_0x1618[9]];var Promise=require(_0x1618[10]);function ChanSpy(){ChanSpyModel[_0x1618[13]](function(_0x6d16xb,_0x6d16xc){return Promise[_0x1618[12]]([])[_0x1618[11]](createSpyExtensions(_0x6d16xb,_0x6d16xc))});ChanSpyModel[_0x1618[14]](function(_0x6d16xb,_0x6d16xc){return Promise[_0x1618[12]]([])[_0x1618[11]](deleteSpyExtensions(_0x6d16xb,_0x6d16xc))[_0x1618[11]](createSpyExtensions(_0x6d16xb,_0x6d16xc))});ChanSpyModel[_0x1618[15]](function(_0x6d16xb,_0x6d16xc){return deleteSpyExtensions(_0x6d16xb,_0x6d16xc)})}function deleteSpyExtensions(_0x6d16xb,_0x6d16xc){return VoiceExtension[_0x1618[18]]({where:{ChanSpyId:_0x6d16xb[_0x1618[16]]},transaction:_0x6d16xc[_0x1618[17]]})}function createSpyExtensions(_0x6d16xb,_0x6d16xc){return User[_0x1618[36]](_0x1618[35])[_0x1618[34]]({where:{chanspy:true}})[_0x1618[11]](function(_0x6d16xf){var _0x6d16x10=[];_0x6d16xf[_0x1618[33]](function(_0x6d16x11){var _0x6d16x12=[];var _0x6d16x13=1;if(_0x6d16xb[_0x1618[19]]){_0x6d16x12[_0x1618[28]]({context:_0x1618[20],exten:util[_0x1618[24]](_0x1618[21],_0x6d16xb[_0x1618[22]],_0x6d16x11[_0x1618[23]]),priority:_0x6d16x13,app:_0x1618[25],appdata:_0x6d16xb[_0x1618[26]],UserId:_0x6d16x11[_0x1618[16]],ChanSpyId:_0x6d16xb[_0x1618[16]],type:_0x1618[27]});_0x6d16x13++};_0x6d16x12[_0x1618[28]]({context:_0x1618[20],exten:util[_0x1618[24]](_0x1618[21],_0x6d16xb[_0x1618[22]],_0x6d16x11[_0x1618[23]]),priority:_0x6d16x13,app:_0x1618[5],appdata:util[_0x1618[24]](_0x1618[29],_0x6d16x11[_0x1618[23]],_0x6d16xb[_0x1618[30]]),UserId:_0x6d16x11[_0x1618[16]],ChanSpyId:_0x6d16xb[_0x1618[16]],type:_0x1618[27]});_0x6d16x13= 1;if(_0x6d16xb[_0x1618[19]]){_0x6d16x12[_0x1618[28]]({context:_0x1618[20],exten:util[_0x1618[24]](_0x1618[21],_0x6d16xb[_0x1618[22]],_0x6d16x11[_0x1618[31]]),priority:_0x6d16x13,app:_0x1618[25],appdata:_0x6d16xb[_0x1618[26]],UserId:_0x6d16x11[_0x1618[16]],ChanSpyId:_0x6d16xb[_0x1618[16]],type:_0x1618[27]});_0x6d16x13++};_0x6d16x12[_0x1618[28]]({context:_0x1618[20],exten:util[_0x1618[24]](_0x1618[21],_0x6d16xb[_0x1618[22]],_0x6d16x11[_0x1618[31]]),priority:_0x6d16x13,app:_0x1618[5],appdata:util[_0x1618[24]](_0x1618[29],_0x6d16x11[_0x1618[23]],_0x6d16xb[_0x1618[30]]),UserId:_0x6d16x11[_0x1618[16]],ChanSpyId:_0x6d16xb[_0x1618[16]],type:_0x1618[27]});_0x6d16x10[_0x1618[28]](VoiceExtension[_0x1618[32]](_0x6d16x12,{transaction:_0x6d16xc[_0x1618[17]]}))});return _0x6d16x10})[_0x1618[12]]()}module[_0x1618[37]]= ChanSpy
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-
-var ChatRoomModel = require('../../models').ChatRoom;
-var ChatVisitorModel = require('../../models').ChatVisitor;
-var ReportChatSessionModel = require('../../models').ReportChatSession;
-var ReportChatRoomModel = require('../../models').ReportChatRoom;
-
-function ChatRoom() {
- ChatRoomModel.afterUpdate(function(doc) {
- if (doc.changed('status') && doc.status === 'CLOSED') {
- if (doc.ChatVisitorId) {
- return ChatVisitorModel
- .findById(doc.ChatVisitorId)
- .then(function(chatVisitor) {
- if (chatVisitor) {
- var updated = _.merge(chatVisitor, {
- status: 'served'
- });
- return updated.save();
- }
- })
- .then(function() {
- return ReportChatSessionModel
- .update({
- complete: true,
- completeReason: doc.completeReason,
- completeAt: moment().format("YYYY-MM-DD HH:mm:ss")
- }, {
- where: {
- roomid: doc.id,
- complete: false,
- abandon: false,
- timeout: false
- },
- individualHooks: true
- });
- })
- .catch(function(err) {
- console.log('Error:', err);
- });
- }
- }
-
- if (doc.changed('status') && doc.status === 'UNMANAGED') {
- if (doc.ChatVisitorId) {
- return ChatVisitorModel
- .findById(doc.ChatVisitorId)
- .then(function(chatVisitor) {
- if (chatVisitor) {
- return chatVisitor
- .update({
- status: 'unserved'
- });
- }
- })
- .catch(function(err) {
- console.log('Error:', err);
- });
- }
- }
-
- if (doc.changed('status') && doc.status === 'ABANDON') {
- if (doc.ChatVisitorId) {
- return ChatVisitorModel
- .findById(doc.ChatVisitorId)
- .then(function(chatVisitor) {
- if (chatVisitor) {
- return chatVisitor
- .update({
- status: 'abandon'
- });
- }
- })
- .catch(function(err) {
- console.log('Error:', err);
- });
- }
- }
-
- if (doc.changed('rating')) {
- if (doc.id) {
- return ReportChatRoomModel
- .update({
- crating: doc.rating,
- cratingMessage: doc.ratingMessage
- }, {
- where: {
- roomid: doc.id
- },
- individualHooks: true
- })
- .catch(function(err) {
- console.log('Error:', err);
- });
- }
- }
-
- })
-}
-
-module.exports = ChatRoom;
+var _0x7f1c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72\x49\x64","\x45\x72\x72\x6F\x72\x3A","\x6C\x6F\x67","\x63\x61\x74\x63\x68","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x52\x65\x61\x73\x6F\x6E","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x69\x64","\x75\x70\x64\x61\x74\x65","\x74\x68\x65\x6E","\x73\x65\x72\x76\x65\x64","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x75\x6E\x73\x65\x72\x76\x65\x64","\x41\x42\x41\x4E\x44\x4F\x4E","\x61\x62\x61\x6E\x64\x6F\x6E","\x72\x61\x74\x69\x6E\x67","\x72\x61\x74\x69\x6E\x67\x4D\x65\x73\x73\x61\x67\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x7f1c[0];var _=require(_0x7f1c[1]);var moment=require(_0x7f1c[2]);var ChatRoomModel=require(_0x7f1c[4])[_0x7f1c[3]];var ChatVisitorModel=require(_0x7f1c[4])[_0x7f1c[5]];var ReportChatSessionModel=require(_0x7f1c[4])[_0x7f1c[6]];var ReportChatRoomModel=require(_0x7f1c[4])[_0x7f1c[7]];function ChatRoom(){ChatRoomModel[_0x7f1c[31]](function(_0xa14fx8){if(_0xa14fx8[_0x7f1c[9]](_0x7f1c[8])&& _0xa14fx8[_0x7f1c[8]]=== _0x7f1c[10]){if(_0xa14fx8[_0x7f1c[11]]){return ChatVisitorModel[_0x7f1c[24]](_0xa14fx8.ChatVisitorId)[_0x7f1c[20]](function(_0xa14fxa){if(_0xa14fxa){var _0xa14fxb=_[_0x7f1c[22]](_0xa14fxa,{status:_0x7f1c[21]});return _0xa14fxb[_0x7f1c[23]]()}})[_0x7f1c[20]](function(){return ReportChatSessionModel[_0x7f1c[19]]({complete:true,completeReason:_0xa14fx8[_0x7f1c[15]],completeAt:moment()[_0x7f1c[17]](_0x7f1c[16])},{where:{roomid:_0xa14fx8[_0x7f1c[18]],complete:false,abandon:false,timeout:false},individualHooks:true})})[_0x7f1c[14]](function(_0xa14fx9){console[_0x7f1c[13]](_0x7f1c[12],_0xa14fx9)})}};if(_0xa14fx8[_0x7f1c[9]](_0x7f1c[8])&& _0xa14fx8[_0x7f1c[8]]=== _0x7f1c[25]){if(_0xa14fx8[_0x7f1c[11]]){return ChatVisitorModel[_0x7f1c[24]](_0xa14fx8.ChatVisitorId)[_0x7f1c[20]](function(_0xa14fxa){if(_0xa14fxa){return _0xa14fxa[_0x7f1c[19]]({status:_0x7f1c[26]})}})[_0x7f1c[14]](function(_0xa14fx9){console[_0x7f1c[13]](_0x7f1c[12],_0xa14fx9)})}};if(_0xa14fx8[_0x7f1c[9]](_0x7f1c[8])&& _0xa14fx8[_0x7f1c[8]]=== _0x7f1c[27]){if(_0xa14fx8[_0x7f1c[11]]){return ChatVisitorModel[_0x7f1c[24]](_0xa14fx8.ChatVisitorId)[_0x7f1c[20]](function(_0xa14fxa){if(_0xa14fxa){return _0xa14fxa[_0x7f1c[19]]({status:_0x7f1c[28]})}})[_0x7f1c[14]](function(_0xa14fx9){console[_0x7f1c[13]](_0x7f1c[12],_0xa14fx9)})}};if(_0xa14fx8[_0x7f1c[9]](_0x7f1c[29])){if(_0xa14fx8[_0x7f1c[18]]){return ReportChatRoomModel[_0x7f1c[19]]({crating:_0xa14fx8[_0x7f1c[29]],cratingMessage:_0xa14fx8[_0x7f1c[30]]},{where:{roomid:_0xa14fx8[_0x7f1c[18]]},individualHooks:true})[_0x7f1c[14]](function(_0xa14fx9){console[_0x7f1c[13]](_0x7f1c[12],_0xa14fx9)})}}})}module[_0x7f1c[32]]= ChatRoom
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-var sequelize = require('../../models').sequelize;
-var models = require('../../models');
-var Util = require('../../config/util');
-var _ = require('lodash');
-var moment = require('moment');
-var Promise = require('bluebird');
-
-exports.register = function(socket) {
-
- models.ReportMailSession.afterCreate(function(doc) {
- updateMail(doc);
- });
-
- models.ReportMailSession.afterUpdate(function(doc) {
- updateMail(doc);
- });
-
- models.MailRoom.afterCreate(function(doc) {
- updateMail(doc);
- });
-
- models.MailRoom.afterUpdate(function(doc) {
- updateMail(doc);
- });
-
- function updateMail(doc) {
- onNewMail(socket, doc);
- onOpenMail(socket, doc);
- onClosedMail(socket, doc);
- onTimeoutMail(socket, doc);
- onPendingMail(socket, doc);
- onWaitingMail(socket, doc);
- }
-
- models.ReportChatSession.afterCreate(function(doc) {
- updateChat(doc);
- });
-
- models.ReportChatSession.afterUpdate(function(doc) {
- updateChat(doc);
- });
-
- models.ChatRoom.afterCreate(function(doc) {
- updateChat(doc);
- });
-
- models.ChatRoom.afterUpdate(function(doc) {
- updateChat(doc);
- });
-
- function updateChat(doc) {
- onNewChat(socket, doc);
- onOpenChat(socket, doc);
- onClosedChat(socket, doc);
- onTimeoutChat(socket, doc);
- onAbandonedChat(socket, doc);
- onUnmanagedChat(socket, doc);
- }
-
- models.ReportFaxSession.afterCreate(function(doc) {
- updateFax(doc);
- });
-
- models.ReportFaxSession.afterUpdate(function(doc) {
- updateFax(doc);
- });
-
- models.FaxRoom.afterCreate(function(doc) {
- updateFax(doc);
- });
-
- models.FaxRoom.afterUpdate(function(doc) {
- updateFax(doc);
- });
-
- function updateFax(doc) {
- onNewFax(socket, doc);
- onOpenFax(socket, doc);
- onClosedFax(socket, doc);
- onTimeoutFax(socket, doc);
- onPendingFax(socket, doc);
- onWaitingFax(socket, doc);
- }
-
- models.ReportSmsSession.afterCreate(function(doc) {
- updateSms(doc);
- });
-
- models.ReportSmsSession.afterUpdate(function(doc) {
- updateSms(doc);
- });
-
- models.SmsRoom.afterCreate(function(doc) {
- updateSms(doc);
- });
-
- models.SmsRoom.afterUpdate(function(doc) {
- updateSms(doc);
- });
-
- function updateSms(doc) {
- onNewSms(socket, doc);
- onOpenSms(socket, doc);
- onClosedSms(socket, doc);
- onTimeoutSms(socket, doc);
- onPendingSms(socket, doc);
- onWaitingSms(socket, doc);
- }
-
- models.ReportOpenchannelSession.afterCreate(function(doc) {
- updateOpenchannel(doc);
- });
-
- models.ReportOpenchannelSession.afterUpdate(function(doc) {
- updateOpenchannel(doc);
- });
-
- models.OpenchannelRoom.afterCreate(function(doc) {
- updateOpenchannel(doc);
- });
-
- models.OpenchannelRoom.afterUpdate(function(doc) {
- updateOpenchannel(doc);
- });
-
- function updateOpenchannel(doc) {
- onNewOpenchannel(socket, doc);
- onOpenOpenchannel(socket, doc);
- onClosedOpenchannel(socket, doc);
- onTimeoutOpenchannel(socket, doc);
- onPendingOpenchannel(socket, doc);
- onWaitingOpenchannel(socket, doc);
- }
-}
-
-function getMailQueues(user, room) {
- return function() {
- switch (user.role) {
- case 'user':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: models.User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- if (room) {
- return {
- include: {
- model: models.MailAccount,
- include: {
- model: models.MailApplication,
- include: {
- model: models.MailQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- } else {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- where: {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- }
- };
- }
- });
- case 'agent':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getMailQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- where: {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-function getChatQueues(user, room) {
- return function() {
- switch (user.role) {
- case 'user':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: models.User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- if (room) {
- return {
- include: {
- model: models.ChatWebsite,
- include: {
- model: models.ChatApplication,
- include: {
- model: models.ChatQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- } else {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- where: {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- }
- };
- }
- });
- case 'agent':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getChatQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- where: {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-function getFaxQueues(user, room) {
- return function() {
- switch (user.role) {
- case 'user':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: models.User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- if (room) {
- return {
- include: {
- model: models.FaxAccount,
- include: {
- model: models.FaxApplication,
- include: {
- model: models.FaxQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- } else {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- where: {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- }
- };
- }
- });
- case 'agent':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getFaxQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- where: {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-function getSmsQueues(user, room) {
- return function() {
- switch (user.role) {
- case 'user':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: models.User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- if (room) {
- return {
- include: {
- model: models.SmsAccount,
- include: {
- model: models.SmsApplication,
- include: {
- model: models.SmsQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- } else {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- where: {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- }
- };
- }
- });
- case 'agent':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getSmsQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- where: {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-function getOpenchannelQueues(user, room) {
- return function() {
- switch (user.role) {
- case 'user':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: models.User,
- attributes: ['id']
- }]
- }))
- .then(function(userQueues) {
- if (room) {
- return {
- include: {
- model: models.OpenchannelAccount,
- include: {
- model: models.OpenchannelApplication,
- include: {
- model: models.OpenchannelQueue,
- where: {
- id: _.map(userQueues, 'id')
- }
- }
- }
- }
- };
- } else {
- var users = [];
- userQueues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return {
- where: {
- $or: {
- queue: _.map(userQueues.rows, 'id'),
- memberid: users
- }
- }
- };
- }
- });
- case 'agent':
- return models.User
- .findById(user.id, {
- attributes: ['id']
- })
- .then(function(agent) {
- return agent
- .getOpenchannelQueues({
- attributes: ['id']
- });
- })
- .then(function(userQueues) {
- return {
- where: {
- $or: {
- queue: _.map(userQueues, 'id'),
- memberid: user.id
- }
- }
- };
- });
- default:
- return {};
- }
- }
-}
-
-
-// Get Open mails
-function onOpenMail(socket, doc) {
- return Promise
- .all([])
- .then(getMailQueues(socket, true))
- .then(function(condition) {
- return models.MailRoom
- .count(_.merge({
- where: {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_mail_dashboard:open', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get closed mails
-function onClosedMail(socket, doc) {
- return Promise
- .all([])
- .then(getMailQueues(socket, true))
- .then(function(condition) {
- return models.MailRoom
- .count(_.merge({
- where: {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_mail_dashboard:closed', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get new mails
-function onNewMail(socket, doc) {
- return Promise
- .all([])
- .then(getMailQueues(socket, true))
- .then(function(condition) {
- return models.MailRoom
- .count(_.merge({
- where: {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_mail_dashboard:new', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get new mails
-function onWaitingMail(socket, doc) {
- return Promise
- .all([])
- .then(getMailQueues(socket))
- .then(function(condition) {
- return models.ReportMailSession
- .count(_.merge({
- where: {
- leaveAt: null
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_mail_dashboard:waiting', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get timeout mails
-function onTimeoutMail(socket, doc) {
- return Promise
- .all([])
- .then(getMailQueues(socket))
- .then(function(condition) {
- return models.ReportMailSession
- .count(_.merge({
- where: {
- timeout: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_mail_dashboard:timeout', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onPendingMail(socket, doc) {
- return Promise
- .all([])
- .then(getMailQueues(socket, true))
- .then(function(condition) {
- return models.MailRoom
- .count(_.merge({
- where: {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_mail_dashboard:pending', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get Open chat
-function onOpenChat(socket, doc) {
- return Promise
- .all([])
- .then(getChatQueues(socket, true))
- .then(function(condition) {
- return models.ReportChatSession
- .count(_.merge({
- where: {
- leaveAt: {
- $ne: null
- },
- complete: null,
- timeout: null
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_chat_dashboard:open', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get closed chat
-function onClosedChat(socket, doc) {
- return Promise
- .all([])
- .then(getChatQueues(socket))
- .then(function(condition) {
- return models.ReportChatSession
- .count(_.merge({
- where: {
- complete: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_chat_dashboard:closed', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get new chat
-function onNewChat(socket, doc) {
- return Promise
- .all([])
- .then(getChatQueues(socket))
- .then(function(condition) {
- return models.ReportChatSession
- .count(_.merge({
- where: {
- leaveAt: null
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_chat_dashboard:new', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get timeout chat
-function onTimeoutChat(socket, doc) {
- return Promise
- .all([])
- .then(getChatQueues(socket))
- .then(function(condition) {
- return models.ReportChatSession
- .count(_.merge({
- where: {
- timeout: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_chat_dashboard:timeout', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get abandoned chat
-function onAbandonedChat(socket, doc) {
- return Promise
- .all([])
- .then(getChatQueues(socket))
- .then(function(condition) {
- return models.ReportChatSession
- .count(_.merge({
- where: {
- abandon: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_chat_dashboard:abandoned', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onUnmanagedChat(socket, doc) {
- return Promise
- .all([])
- .then(getChatQueues(socket, true))
- .then(function(condition) {
- return models.ChatRoom
- .count(_.merge({
- where: {
- status: 'UNMANAGED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_chat_dashboard:unmanaged', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get Open fax
-function onOpenFax(socket, doc) {
- return Promise
- .all([])
- .then(getFaxQueues(socket, true))
- .then(function(condition) {
- return models.FaxRoom
- .count(_.merge({
- where: {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_fax_dashboard:open', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get closed fax
-function onClosedFax(socket, doc) {
- return Promise
- .all([])
- .then(getFaxQueues(socket, true))
- .then(function(condition) {
- return models.FaxRoom
- .count(_.merge({
- where: {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_fax_dashboard:closed', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get new fax
-function onNewFax(socket, doc) {
- return Promise
- .all([])
- .then(getFaxQueues(socket, true))
- .then(function(condition) {
- return models.FaxRoom
- .count(_.merge({
- where: {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_fax_dashboard:new', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get timeout fax
-function onTimeoutFax(socket, doc) {
- return Promise
- .all([])
- .then(getFaxQueues(socket))
- .then(function(condition) {
- return models.ReportFaxSession
- .count(_.merge({
- where: {
- timeout: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_fax_dashboard:timeout', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onPendingFax(socket, doc) {
- return Promise
- .all([])
- .then(getFaxQueues(socket, true))
- .then(function(condition) {
- return models.FaxRoom
- .count(_.merge({
- where: {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_fax_dashboard:pending', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onWaitingFax(socket, doc) {
- return Promise
- .all([])
- .then(getFaxQueues(socket, true))
- .then(function(condition) {
- return models.ReportFaxSession
- .count(_.merge({
- where: {
- leaveAt: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_fax_dashboard:waiting', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get Open sms
-function onOpenSms(socket, doc) {
- return Promise
- .all([])
- .then(getSmsQueues(socket, true))
- .then(function(condition) {
- return models.SmsRoom
- .count(_.merge({
- where: {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_sms_dashboard:open', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get closed sms
-function onClosedSms(socket, doc) {
- return Promise
- .all([])
- .then(getSmsQueues(socket, true))
- .then(function(condition) {
- return models.SmsRoom
- .count(_.merge({
- where: {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_sms_dashboard:closed', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get new sms
-function onNewSms(socket, doc) {
- return Promise
- .all([])
- .then(getSmsQueues(socket, true))
- .then(function(condition) {
- return models.SmsRoom
- .count(_.merge({
- where: {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_sms_dashboard:new', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get timeout sms
-function onTimeoutSms(socket, doc) {
- return Promise
- .all([])
- .then(getSmsQueues(socket))
- .then(function(condition) {
- return models.ReportSmsSession
- .count(_.merge({
- where: {
- timeout: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_sms_dashboard:timeout', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onPendingSms(socket, doc) {
- return Promise
- .all([])
- .then(getSmsQueues(socket, true))
- .then(function(condition) {
- return models.SmsRoom
- .count(_.merge({
- where: {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_sms_dashboard:pending', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onWaitingSms(socket, doc) {
- return Promise
- .all([])
- .then(getSmsQueues(socket))
- .then(function(condition) {
- return models.ReportSmsSession
- .count(_.merge({
- where: {
- leaveAt: null
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_sms_dashboard:pending', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get Open openchannel
-function onOpenOpenchannel(socket, doc) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket, true))
- .then(function(condition) {
- return models.OpenchannelRoom
- .count(_.merge({
- where: {
- status: 'OPEN',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_openchannel_dashboard:open', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get closed openchannel
-function onClosedOpenchannel(socket, doc) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket, true))
- .then(function(condition) {
- return models.OpenchannelRoom
- .count(_.merge({
- where: {
- status: 'CLOSED',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_openchannel_dashboard:closed', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get new openchannel
-function onNewOpenchannel(socket, doc) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket, true))
- .then(function(condition) {
- return models.OpenchannelRoom
- .count(_.merge({
- where: {
- status: 'NEW',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_openchannel_dashboard:new', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Get timeout openchannel
-function onTimeoutOpenchannel(socket, doc) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket))
- .then(function(condition) {
- return models.ReportOpenchannelSession
- .count(_.merge({
- where: {
- timeout: true
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_openchannel_dashboard:timeout', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onPendingOpenchannel(socket, doc) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket, true))
- .then(function(condition) {
- return models.OpenchannelRoom
- .count(_.merge({
- where: {
- status: 'PENDING',
- updatedAt: {
- $gte: moment().startOf('day')
- }
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_openchannel_dashboard:pending', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function onWaitingOpenchannel(socket, doc) {
- return Promise
- .all([])
- .then(getOpenchannelQueues(socket))
- .then(function(condition) {
- return models.ReportOpenchannelSession
- .count(_.merge({
- where: {
- leaveAt: null
- }
- }, condition));
- })
- .then(function(data) {
- socket.emit('report_openchannel_dashboard:pending', {
- value: data
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
+var _0x8676=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x62\x6C\x75\x65\x62\x69\x72\x64","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x46\x61\x78\x53\x65\x73\x73\x69\x6F\x6E","\x46\x61\x78\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73\x53\x65\x73\x73\x69\x6F\x6E","\x53\x6D\x73\x52\x6F\x6F\x6D","\x52\x65\x70\x6F\x72\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x55\x73\x65\x72","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65\x72","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x46\x61\x78\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x46\x61\x78\x51\x75\x65\x75\x65","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x53\x6D\x73\x41\x63\x63\x6F\x75\x6E\x74","\x53\x6D\x73\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x53\x6D\x73\x51\x75\x65\x75\x65","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6F\x70\x65\x6E","\x65\x6D\x69\x74","\x4F\x50\x45\x4E","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x6D\x65\x72\x67\x65","\x63\x6F\x75\x6E\x74","\x61\x6C\x6C","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x63\x6C\x6F\x73\x65\x64","\x43\x4C\x4F\x53\x45\x44","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6E\x65\x77","\x4E\x45\x57","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x77\x61\x69\x74\x69\x6E\x67","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x74\x69\x6D\x65\x6F\x75\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x70\x65\x6E\x64\x69\x6E\x67","\x50\x45\x4E\x44\x49\x4E\x47","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6F\x70\x65\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x63\x6C\x6F\x73\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6E\x65\x77","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x74\x69\x6D\x65\x6F\x75\x74","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6F\x70\x65\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x63\x6C\x6F\x73\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6E\x65\x77","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x74\x69\x6D\x65\x6F\x75\x74","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x70\x65\x6E\x64\x69\x6E\x67","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x77\x61\x69\x74\x69\x6E\x67","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6F\x70\x65\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x63\x6C\x6F\x73\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6E\x65\x77","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x74\x69\x6D\x65\x6F\x75\x74","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x70\x65\x6E\x64\x69\x6E\x67","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6F\x70\x65\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x63\x6C\x6F\x73\x65\x64","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x6E\x65\x77","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x74\x69\x6D\x65\x6F\x75\x74","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x70\x65\x6E\x64\x69\x6E\x67"];_0x8676[0];var sequelize=require(_0x8676[2])[_0x8676[1]];var models=require(_0x8676[2]);var Util=require(_0x8676[3]);var _=require(_0x8676[4]);var moment=require(_0x8676[5]);var Promise=require(_0x8676[6]);exports[_0x8676[7]]= function(_0x9996x7){models[_0x8676[9]][_0x8676[8]](function(_0x9996x8){_0x9996x9(_0x9996x8)});models[_0x8676[9]][_0x8676[10]](function(_0x9996x8){_0x9996x9(_0x9996x8)});models[_0x8676[11]][_0x8676[8]](function(_0x9996x8){_0x9996x9(_0x9996x8)});models[_0x8676[11]][_0x8676[10]](function(_0x9996x8){_0x9996x9(_0x9996x8)});function _0x9996x9(_0x9996x8){onNewMail(_0x9996x7,_0x9996x8);onOpenMail(_0x9996x7,_0x9996x8);onClosedMail(_0x9996x7,_0x9996x8);onTimeoutMail(_0x9996x7,_0x9996x8);onPendingMail(_0x9996x7,_0x9996x8);onWaitingMail(_0x9996x7,_0x9996x8)}models[_0x8676[12]][_0x8676[8]](function(_0x9996x8){_0x9996xa(_0x9996x8)});models[_0x8676[12]][_0x8676[10]](function(_0x9996x8){_0x9996xa(_0x9996x8)});models[_0x8676[13]][_0x8676[8]](function(_0x9996x8){_0x9996xa(_0x9996x8)});models[_0x8676[13]][_0x8676[10]](function(_0x9996x8){_0x9996xa(_0x9996x8)});function _0x9996xa(_0x9996x8){onNewChat(_0x9996x7,_0x9996x8);onOpenChat(_0x9996x7,_0x9996x8);onClosedChat(_0x9996x7,_0x9996x8);onTimeoutChat(_0x9996x7,_0x9996x8);onAbandonedChat(_0x9996x7,_0x9996x8);onUnmanagedChat(_0x9996x7,_0x9996x8)}models[_0x8676[14]][_0x8676[8]](function(_0x9996x8){_0x9996xb(_0x9996x8)});models[_0x8676[14]][_0x8676[10]](function(_0x9996x8){_0x9996xb(_0x9996x8)});models[_0x8676[15]][_0x8676[8]](function(_0x9996x8){_0x9996xb(_0x9996x8)});models[_0x8676[15]][_0x8676[10]](function(_0x9996x8){_0x9996xb(_0x9996x8)});function _0x9996xb(_0x9996x8){onNewFax(_0x9996x7,_0x9996x8);onOpenFax(_0x9996x7,_0x9996x8);onClosedFax(_0x9996x7,_0x9996x8);onTimeoutFax(_0x9996x7,_0x9996x8);onPendingFax(_0x9996x7,_0x9996x8);onWaitingFax(_0x9996x7,_0x9996x8)}models[_0x8676[16]][_0x8676[8]](function(_0x9996x8){_0x9996xc(_0x9996x8)});models[_0x8676[16]][_0x8676[10]](function(_0x9996x8){_0x9996xc(_0x9996x8)});models[_0x8676[17]][_0x8676[8]](function(_0x9996x8){_0x9996xc(_0x9996x8)});models[_0x8676[17]][_0x8676[10]](function(_0x9996x8){_0x9996xc(_0x9996x8)});function _0x9996xc(_0x9996x8){onNewSms(_0x9996x7,_0x9996x8);onOpenSms(_0x9996x7,_0x9996x8);onClosedSms(_0x9996x7,_0x9996x8);onTimeoutSms(_0x9996x7,_0x9996x8);onPendingSms(_0x9996x7,_0x9996x8);onWaitingSms(_0x9996x7,_0x9996x8)}models[_0x8676[18]][_0x8676[8]](function(_0x9996x8){_0x9996xd(_0x9996x8)});models[_0x8676[18]][_0x8676[10]](function(_0x9996x8){_0x9996xd(_0x9996x8)});models[_0x8676[19]][_0x8676[8]](function(_0x9996x8){_0x9996xd(_0x9996x8)});models[_0x8676[19]][_0x8676[10]](function(_0x9996x8){_0x9996xd(_0x9996x8)});function _0x9996xd(_0x9996x8){onNewOpenchannel(_0x9996x7,_0x9996x8);onOpenOpenchannel(_0x9996x7,_0x9996x8);onClosedOpenchannel(_0x9996x7,_0x9996x8);onTimeoutOpenchannel(_0x9996x7,_0x9996x8);onPendingOpenchannel(_0x9996x7,_0x9996x8);onWaitingOpenchannel(_0x9996x7,_0x9996x8)}};function getMailQueues(_0x9996xf,_0x9996x10){return function(){switch(_0x9996xf[_0x8676[35]]){case _0x8676[32]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](Util[_0x8676[30]]({},{attributes:[_0x8676[23]],include:[{raw:true,model:models[_0x8676[29]],attributes:[_0x8676[23]]}]}))[_0x8676[28]](function(_0x9996x11){if(_0x9996x10){return {include:{model:models[_0x8676[20]],include:{model:models[_0x8676[21]],include:{model:models[_0x8676[22]],where:{id:_[_0x8676[24]](_0x9996x11,_0x8676[23])}}}}}}else {var _0x9996x12=[];_0x9996x11[_0x8676[27]][_0x8676[26]](function(_0x9996x13){_0x9996x12= _[_0x8676[25]](_0x9996x12,_[_0x8676[24]](_0x9996x13.Users,_0x8676[23]))});return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11[_0x8676[27]],_0x8676[23]),memberid:_0x9996x12}}}}});case _0x8676[34]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](function(_0x9996x14){return _0x9996x14[_0x8676[33]]({attributes:[_0x8676[23]]})})[_0x8676[28]](function(_0x9996x11){return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11,_0x8676[23]),memberid:_0x9996xf[_0x8676[23]]}}}});default:return {}}}}function getChatQueues(_0x9996xf,_0x9996x10){return function(){switch(_0x9996xf[_0x8676[35]]){case _0x8676[32]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](Util[_0x8676[39]]({},{attributes:[_0x8676[23]],include:[{raw:true,model:models[_0x8676[29]],attributes:[_0x8676[23]]}]}))[_0x8676[28]](function(_0x9996x11){if(_0x9996x10){return {include:{model:models[_0x8676[36]],include:{model:models[_0x8676[37]],include:{model:models[_0x8676[38]],where:{id:_[_0x8676[24]](_0x9996x11,_0x8676[23])}}}}}}else {var _0x9996x12=[];_0x9996x11[_0x8676[27]][_0x8676[26]](function(_0x9996x13){_0x9996x12= _[_0x8676[25]](_0x9996x12,_[_0x8676[24]](_0x9996x13.Users,_0x8676[23]))});return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11[_0x8676[27]],_0x8676[23]),memberid:_0x9996x12}}}}});case _0x8676[34]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](function(_0x9996x14){return _0x9996x14[_0x8676[40]]({attributes:[_0x8676[23]]})})[_0x8676[28]](function(_0x9996x11){return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11,_0x8676[23]),memberid:_0x9996xf[_0x8676[23]]}}}});default:return {}}}}function getFaxQueues(_0x9996xf,_0x9996x10){return function(){switch(_0x9996xf[_0x8676[35]]){case _0x8676[32]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](Util[_0x8676[44]]({},{attributes:[_0x8676[23]],include:[{raw:true,model:models[_0x8676[29]],attributes:[_0x8676[23]]}]}))[_0x8676[28]](function(_0x9996x11){if(_0x9996x10){return {include:{model:models[_0x8676[41]],include:{model:models[_0x8676[42]],include:{model:models[_0x8676[43]],where:{id:_[_0x8676[24]](_0x9996x11,_0x8676[23])}}}}}}else {var _0x9996x12=[];_0x9996x11[_0x8676[27]][_0x8676[26]](function(_0x9996x13){_0x9996x12= _[_0x8676[25]](_0x9996x12,_[_0x8676[24]](_0x9996x13.Users,_0x8676[23]))});return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11[_0x8676[27]],_0x8676[23]),memberid:_0x9996x12}}}}});case _0x8676[34]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](function(_0x9996x14){return _0x9996x14[_0x8676[45]]({attributes:[_0x8676[23]]})})[_0x8676[28]](function(_0x9996x11){return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11,_0x8676[23]),memberid:_0x9996xf[_0x8676[23]]}}}});default:return {}}}}function getSmsQueues(_0x9996xf,_0x9996x10){return function(){switch(_0x9996xf[_0x8676[35]]){case _0x8676[32]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](Util[_0x8676[49]]({},{attributes:[_0x8676[23]],include:[{raw:true,model:models[_0x8676[29]],attributes:[_0x8676[23]]}]}))[_0x8676[28]](function(_0x9996x11){if(_0x9996x10){return {include:{model:models[_0x8676[46]],include:{model:models[_0x8676[47]],include:{model:models[_0x8676[48]],where:{id:_[_0x8676[24]](_0x9996x11,_0x8676[23])}}}}}}else {var _0x9996x12=[];_0x9996x11[_0x8676[27]][_0x8676[26]](function(_0x9996x13){_0x9996x12= _[_0x8676[25]](_0x9996x12,_[_0x8676[24]](_0x9996x13.Users,_0x8676[23]))});return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11[_0x8676[27]],_0x8676[23]),memberid:_0x9996x12}}}}});case _0x8676[34]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](function(_0x9996x14){return _0x9996x14[_0x8676[50]]({attributes:[_0x8676[23]]})})[_0x8676[28]](function(_0x9996x11){return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11,_0x8676[23]),memberid:_0x9996xf[_0x8676[23]]}}}});default:return {}}}}function getOpenchannelQueues(_0x9996xf,_0x9996x10){return function(){switch(_0x9996xf[_0x8676[35]]){case _0x8676[32]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](Util[_0x8676[54]]({},{attributes:[_0x8676[23]],include:[{raw:true,model:models[_0x8676[29]],attributes:[_0x8676[23]]}]}))[_0x8676[28]](function(_0x9996x11){if(_0x9996x10){return {include:{model:models[_0x8676[51]],include:{model:models[_0x8676[52]],include:{model:models[_0x8676[53]],where:{id:_[_0x8676[24]](_0x9996x11,_0x8676[23])}}}}}}else {var _0x9996x12=[];_0x9996x11[_0x8676[27]][_0x8676[26]](function(_0x9996x13){_0x9996x12= _[_0x8676[25]](_0x9996x12,_[_0x8676[24]](_0x9996x13.Users,_0x8676[23]))});return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11[_0x8676[27]],_0x8676[23]),memberid:_0x9996x12}}}}});case _0x8676[34]:return models[_0x8676[29]][_0x8676[31]](_0x9996xf[_0x8676[23]],{attributes:[_0x8676[23]]})[_0x8676[28]](function(_0x9996x14){return _0x9996x14[_0x8676[55]]({attributes:[_0x8676[23]]})})[_0x8676[28]](function(_0x9996x11){return {where:{$or:{queue:_[_0x8676[24]](_0x9996x11,_0x8676[23]),memberid:_0x9996xf[_0x8676[23]]}}}});default:return {}}}}function onOpenMail(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getMailQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[11]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[60],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[58],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onClosedMail(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getMailQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[11]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[67],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[66],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onNewMail(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getMailQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[11]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[69],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[68],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onWaitingMail(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getMailQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[9]][_0x8676[64]](_[_0x8676[63]]({where:{leaveAt:null}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[70],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onTimeoutMail(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getMailQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[9]][_0x8676[64]](_[_0x8676[63]]({where:{timeout:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[71],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onPendingMail(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getMailQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[11]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[73],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[72],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onOpenChat(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getChatQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[12]][_0x8676[64]](_[_0x8676[63]]({where:{leaveAt:{$ne:null},complete:null,timeout:null}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[74],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onClosedChat(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getChatQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[12]][_0x8676[64]](_[_0x8676[63]]({where:{complete:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[75],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onNewChat(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getChatQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[12]][_0x8676[64]](_[_0x8676[63]]({where:{leaveAt:null}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[76],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onTimeoutChat(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getChatQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[12]][_0x8676[64]](_[_0x8676[63]]({where:{timeout:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[77],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onAbandonedChat(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getChatQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[12]][_0x8676[64]](_[_0x8676[63]]({where:{abandon:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[78],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onUnmanagedChat(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getChatQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[13]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[80],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[79],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onOpenFax(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getFaxQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[15]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[60],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[81],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onClosedFax(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getFaxQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[15]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[67],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[82],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onNewFax(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getFaxQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[15]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[69],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[83],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onTimeoutFax(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getFaxQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[14]][_0x8676[64]](_[_0x8676[63]]({where:{timeout:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[84],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onPendingFax(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getFaxQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[15]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[73],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[85],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onWaitingFax(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getFaxQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[14]][_0x8676[64]](_[_0x8676[63]]({where:{leaveAt:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[86],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onOpenSms(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getSmsQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[17]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[60],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[87],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onClosedSms(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getSmsQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[17]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[67],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[88],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onNewSms(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getSmsQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[17]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[69],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[89],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onTimeoutSms(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getSmsQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[16]][_0x8676[64]](_[_0x8676[63]]({where:{timeout:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[90],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onPendingSms(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getSmsQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[17]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[73],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[91],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onWaitingSms(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getSmsQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[16]][_0x8676[64]](_[_0x8676[63]]({where:{leaveAt:null}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[91],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onOpenOpenchannel(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getOpenchannelQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[19]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[60],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[92],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onClosedOpenchannel(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getOpenchannelQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[19]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[67],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[93],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onNewOpenchannel(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getOpenchannelQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[19]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[69],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[94],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onTimeoutOpenchannel(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getOpenchannelQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[18]][_0x8676[64]](_[_0x8676[63]]({where:{timeout:true}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[95],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onPendingOpenchannel(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getOpenchannelQueues(_0x9996x7,true))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[19]][_0x8676[64]](_[_0x8676[63]]({where:{status:_0x8676[73],updatedAt:{$gte:moment()[_0x8676[62]](_0x8676[61])}}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[96],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}function onWaitingOpenchannel(_0x9996x7,_0x9996x8){return Promise[_0x8676[65]]([])[_0x8676[28]](getOpenchannelQueues(_0x9996x7))[_0x8676[28]](function(_0x9996x1c){return models[_0x8676[18]][_0x8676[64]](_[_0x8676[63]]({where:{leaveAt:null}},_0x9996x1c))})[_0x8676[28]](function(_0x9996x1b){_0x9996x7[_0x8676[59]](_0x8676[96],{value:_0x9996x1b})})[_0x8676[57]](function(_0x9996x1a){console[_0x8676[56]](_0x9996x1a)})}
\ No newline at end of file
-'use strict';
-
-var util = require('util');
-
-var VoiceExtension = require('../../models').VoiceExtension;
-var FaxAccountModel = require('../../models').FaxAccount;
-var sequelize = require('../../models').sequelize;
-var veUtil = require('../../utils/voice_extension');
-var Promise = require('bluebird');
-
-function FaxAccount() {
-
- FaxAccountModel.afterCreate(function(doc, options) {
- var _exten = util.format('_%s', doc.localstationid);
- var _accountId = doc.id;
- var _description = util.format("Generated by Fax Channel - Account: %s", doc.name);
-
- var body = generateExtensionArray(doc);
- var _route;
-
- return VoiceExtension
- .create(body, {
- transaction: options.transaction
- })
- .then(function(route) {
- _route = route;
- return route;
- })
- .then(veUtil.createApps(body.Applications, options.transaction));
- });
-
- FaxAccountModel.afterUpdate(function(doc, options) {
- var _exten = util.format('_%s', doc.localstationid);
- var _accountId = doc.id;
- var _description = util.format("Generated by Fax Channel - Account: %s", doc.name);
-
- return VoiceExtension
- .findOne({
- where: {
- FaxAccountId: doc.id
- }
- })
- .then(function(voiceExtension) {
- if (!voiceExtension) {
- return;
- }
- var req = {
- params: {
- id: voiceExtension.id
- },
- body: generateExtensionArray(doc)
- };
- return veUtil.routeUpdate(req, options.transaction);
- });
-
- });
-
- FaxAccountModel.afterDelete(function(doc, options) {
- return deleteVoiceExtensions(doc, options);
- });
-
-}
-
-function generateExtensionArray(doc) {
- var _exten = util.format('_%s', doc.localstationid);
- var _accountId = doc.id;
- var _description = util.format("Generated by Fax Channel - Account: %s", doc.name);
-
- return {
- "appdata": "Inbound Call",
- "context": "from-voip-provider",
- "exten": _exten,
- "priority": "1",
- "tag": "--",
- "app": "NoOp",
- "type": "inbound",
- "description": _description,
- "interval": null,
- "IntervalId": null,
- "isApp": false,
- "record": false,
- "FaxAccountId": _accountId,
- "Applications": [{
- "appdata": [
- "Incoming fax from ${CALLERID(num)}"
- ],
- "app": "NoOp",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": "custom"
- }, {
- "appdata": [
- util.format('Account %s', doc.name)
- ],
- "app": "NoOp",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": "custom"
- }, {
- "appdata": [
- "CDR(type)=inbound-fax"
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- ""
- ],
- "app": "Answer",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": "custom"
- }, {
- "appdata": [
- "2"
- ],
- "app": "Wait",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": "custom"
- }, {
- "appdata": [
- util.format('FAXOPT(ecm)=%s', doc.ecm)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(headerinfo)=%s', doc.headerinfo)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(localstationid)=%s', doc.localstationid)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(minrate)=%s', doc.minrate)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(maxrate)=%s', doc.maxrate)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(modem)=%s', doc.modem)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(gateway)=%s', doc.gateway)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(t38timeout)=%s', doc.t38timeout)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- util.format('FAXOPT(faxdetect)=%s', doc.faxdetect)
- ],
- "app": "Set",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }, {
- "appdata": [
- '/var/opt/motion/server/files/fax/inbound/original/fax-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}.tif'
- ],
- "app": "ReceiveFAX",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": "custom"
- }, {
- "appdata": [
- ""
- ],
- "app": "Hangup",
- "interval": "*,*,*,*",
- "IntervalId": null,
- "callerID": null,
- "type": "inbound",
- "appType": null
- }]
- };
-}
-
-function deleteVoiceExtensions(doc, options) {
- return VoiceExtension
- .destroy({
- where: {
- FaxAccountId: doc.id
- },
- transaction: options.transaction
- });
-}
-
-module.exports = FaxAccount;
+var _0x8f18=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x62\x6C\x75\x65\x62\x69\x72\x64","\x5F\x25\x73","\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64","\x66\x6F\x72\x6D\x61\x74","\x69\x64","\x47\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x62\x79\x20\x46\x61\x78\x20\x43\x68\x61\x6E\x6E\x65\x6C\x20\x2D\x20\x41\x63\x63\x6F\x75\x6E\x74\x3A\x20\x25\x73","\x6E\x61\x6D\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x73","\x74\x68\x65\x6E","\x63\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x72\x6F\x75\x74\x65\x55\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x49\x6E\x62\x6F\x75\x6E\x64\x20\x43\x61\x6C\x6C","\x66\x72\x6F\x6D\x2D\x76\x6F\x69\x70\x2D\x70\x72\x6F\x76\x69\x64\x65\x72","\x31","\x2D\x2D","\x4E\x6F\x4F\x70","\x69\x6E\x62\x6F\x75\x6E\x64","\x49\x6E\x63\x6F\x6D\x69\x6E\x67\x20\x66\x61\x78\x20\x66\x72\x6F\x6D\x20\x24\x7B\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x6E\x75\x6D\x29\x7D","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x63\x75\x73\x74\x6F\x6D","\x41\x63\x63\x6F\x75\x6E\x74\x20\x25\x73","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x69\x6E\x62\x6F\x75\x6E\x64\x2D\x66\x61\x78","\x53\x65\x74","","\x41\x6E\x73\x77\x65\x72","\x32","\x57\x61\x69\x74","\x46\x41\x58\x4F\x50\x54\x28\x65\x63\x6D\x29\x3D\x25\x73","\x65\x63\x6D","\x46\x41\x58\x4F\x50\x54\x28\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F\x29\x3D\x25\x73","\x68\x65\x61\x64\x65\x72\x69\x6E\x66\x6F","\x46\x41\x58\x4F\x50\x54\x28\x6C\x6F\x63\x61\x6C\x73\x74\x61\x74\x69\x6F\x6E\x69\x64\x29\x3D\x25\x73","\x46\x41\x58\x4F\x50\x54\x28\x6D\x69\x6E\x72\x61\x74\x65\x29\x3D\x25\x73","\x6D\x69\x6E\x72\x61\x74\x65","\x46\x41\x58\x4F\x50\x54\x28\x6D\x61\x78\x72\x61\x74\x65\x29\x3D\x25\x73","\x6D\x61\x78\x72\x61\x74\x65","\x46\x41\x58\x4F\x50\x54\x28\x6D\x6F\x64\x65\x6D\x29\x3D\x25\x73","\x6D\x6F\x64\x65\x6D","\x46\x41\x58\x4F\x50\x54\x28\x67\x61\x74\x65\x77\x61\x79\x29\x3D\x25\x73","\x67\x61\x74\x65\x77\x61\x79","\x46\x41\x58\x4F\x50\x54\x28\x74\x33\x38\x74\x69\x6D\x65\x6F\x75\x74\x29\x3D\x25\x73","\x74\x33\x38\x74\x69\x6D\x65\x6F\x75\x74","\x46\x41\x58\x4F\x50\x54\x28\x66\x61\x78\x64\x65\x74\x65\x63\x74\x29\x3D\x25\x73","\x66\x61\x78\x64\x65\x74\x65\x63\x74","\x2F\x76\x61\x72\x2F\x6F\x70\x74\x2F\x6D\x6F\x74\x69\x6F\x6E\x2F\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x66\x61\x78\x2F\x69\x6E\x62\x6F\x75\x6E\x64\x2F\x6F\x72\x69\x67\x69\x6E\x61\x6C\x2F\x66\x61\x78\x2D\x24\x7B\x53\x54\x52\x46\x54\x49\x4D\x45\x28\x24\x7B\x45\x50\x4F\x43\x48\x7D\x2C\x2C\x25\x59\x25\x6D\x25\x64\x2D\x25\x48\x25\x4D\x25\x53\x29\x7D\x2E\x74\x69\x66","\x52\x65\x63\x65\x69\x76\x65\x46\x41\x58","\x48\x61\x6E\x67\x75\x70","\x64\x65\x73\x74\x72\x6F\x79","\x65\x78\x70\x6F\x72\x74\x73"];_0x8f18[0];var util=require(_0x8f18[1]);var VoiceExtension=require(_0x8f18[3])[_0x8f18[2]];var FaxAccountModel=require(_0x8f18[3])[_0x8f18[4]];var sequelize=require(_0x8f18[3])[_0x8f18[5]];var veUtil=require(_0x8f18[6]);var Promise=require(_0x8f18[7]);function FaxAccount(){FaxAccountModel[_0x8f18[18]](function(_0x78eex8,_0x78eex9){var _0x78eexa=util[_0x8f18[10]](_0x8f18[8],_0x78eex8[_0x8f18[9]]);var _0x78eexb=_0x78eex8[_0x8f18[11]];var _0x78eexc=util[_0x8f18[10]](_0x8f18[12],_0x78eex8[_0x8f18[13]]);var _0x78eexd=generateExtensionArray(_0x78eex8);var _0x78eexe;return VoiceExtension[_0x8f18[17]](_0x78eexd,{transaction:_0x78eex9[_0x8f18[14]]})[_0x8f18[16]](function(_0x78eexf){_0x78eexe= _0x78eexf;return _0x78eexf})[_0x8f18[16]](veUtil[_0x8f18[15]](_0x78eexd.Applications,_0x78eex9[_0x8f18[14]]))});FaxAccountModel[_0x8f18[21]](function(_0x78eex8,_0x78eex9){var _0x78eexa=util[_0x8f18[10]](_0x8f18[8],_0x78eex8[_0x8f18[9]]);var _0x78eexb=_0x78eex8[_0x8f18[11]];var _0x78eexc=util[_0x8f18[10]](_0x8f18[12],_0x78eex8[_0x8f18[13]]);return VoiceExtension[_0x8f18[20]]({where:{FaxAccountId:_0x78eex8[_0x8f18[11]]}})[_0x8f18[16]](function(_0x78eex10){if(!_0x78eex10){return};var _0x78eex11={params:{id:_0x78eex10[_0x8f18[11]]},body:generateExtensionArray(_0x78eex8)};return veUtil[_0x8f18[19]](_0x78eex11,_0x78eex9[_0x8f18[14]])})});FaxAccountModel[_0x8f18[22]](function(_0x78eex8,_0x78eex9){return deleteVoiceExtensions(_0x78eex8,_0x78eex9)})}function generateExtensionArray(_0x78eex8){var _0x78eexa=util[_0x8f18[10]](_0x8f18[8],_0x78eex8[_0x8f18[9]]);var _0x78eexb=_0x78eex8[_0x8f18[11]];var _0x78eexc=util[_0x8f18[10]](_0x8f18[12],_0x78eex8[_0x8f18[13]]);return {"\x61\x70\x70\x64\x61\x74\x61":_0x8f18[23],"\x63\x6F\x6E\x74\x65\x78\x74":_0x8f18[24],"\x65\x78\x74\x65\x6E":_0x78eexa,"\x70\x72\x69\x6F\x72\x69\x74\x79":_0x8f18[25],"\x74\x61\x67":_0x8f18[26],"\x61\x70\x70":_0x8f18[27],"\x74\x79\x70\x65":_0x8f18[28],"\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E":_0x78eexc,"\x69\x6E\x74\x65\x72\x76\x61\x6C":null,"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x69\x73\x41\x70\x70":false,"\x72\x65\x63\x6F\x72\x64":false,"\x46\x61\x78\x41\x63\x63\x6F\x75\x6E\x74\x49\x64":_0x78eexb,"\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73":[{"\x61\x70\x70\x64\x61\x74\x61":[_0x8f18[29]],"\x61\x70\x70":_0x8f18[27],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":_0x8f18[31]},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[32],_0x78eex8[_0x8f18[13]])],"\x61\x70\x70":_0x8f18[27],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":_0x8f18[31]},{"\x61\x70\x70\x64\x61\x74\x61":[_0x8f18[33]],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[_0x8f18[35]],"\x61\x70\x70":_0x8f18[36],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":_0x8f18[31]},{"\x61\x70\x70\x64\x61\x74\x61":[_0x8f18[37]],"\x61\x70\x70":_0x8f18[38],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":_0x8f18[31]},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[39],_0x78eex8[_0x8f18[40]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[41],_0x78eex8[_0x8f18[42]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[43],_0x78eex8[_0x8f18[9]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[44],_0x78eex8[_0x8f18[45]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[46],_0x78eex8[_0x8f18[47]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[48],_0x78eex8[_0x8f18[49]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[50],_0x78eex8[_0x8f18[51]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[52],_0x78eex8[_0x8f18[53]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[util[_0x8f18[10]](_0x8f18[54],_0x78eex8[_0x8f18[55]])],"\x61\x70\x70":_0x8f18[34],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null},{"\x61\x70\x70\x64\x61\x74\x61":[_0x8f18[56]],"\x61\x70\x70":_0x8f18[57],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":_0x8f18[31]},{"\x61\x70\x70\x64\x61\x74\x61":[_0x8f18[35]],"\x61\x70\x70":_0x8f18[58],"\x69\x6E\x74\x65\x72\x76\x61\x6C":_0x8f18[30],"\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64":null,"\x63\x61\x6C\x6C\x65\x72\x49\x44":null,"\x74\x79\x70\x65":_0x8f18[28],"\x61\x70\x70\x54\x79\x70\x65":null}]}}function deleteVoiceExtensions(_0x78eex8,_0x78eex9){return VoiceExtension[_0x8f18[59]]({where:{FaxAccountId:_0x78eex8[_0x8f18[11]]},transaction:_0x78eex9[_0x8f18[14]]})}module[_0x8f18[60]]= FaxAccount
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-
-const Room = require('../../models').FaxRoom;
-const Status = require('../../models').FaxRoomStatus;
-
-function FaxRoom() {
- Room.afterCreate(function(doc, opt) {
- return Status
- .create({
- status: doc.status,
- data1: opt.user ? opt.user.name : null,
- data2: opt.user ? opt.user.fullname : null,
- FaxRoomId: doc.id,
- UserId: opt.user ? opt.user.id : null
- });
- });
-
- Room.afterUpdate(function(doc, opt) {
- if (doc.changed('status') || doc.changed('openReason')) {
- return Status
- .create({
- status: doc.status,
- data1: opt.user ? opt.user.name : null,
- data2: opt.user ? opt.user.fullname : null,
- FaxRoomId: doc.id,
- UserId: opt.user ? opt.user.id : null
- });
- }
- });
-}
-
-module.exports = FaxRoom;
+var _0xa52c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x46\x61\x78\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73","\x75\x73\x65\x72","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x69\x64","\x63\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x6F\x70\x65\x6E\x52\x65\x61\x73\x6F\x6E","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xa52c[0];const _=require(_0xa52c[1]);const moment=require(_0xa52c[2]);const Room=require(_0xa52c[4])[_0xa52c[3]];const Status=require(_0xa52c[4])[_0xa52c[5]];function FaxRoom(){Room[_0xa52c[12]](function(_0x3ff5x6,_0x3ff5x7){return Status[_0xa52c[11]]({status:_0x3ff5x6[_0xa52c[6]],data1:_0x3ff5x7[_0xa52c[7]]?_0x3ff5x7[_0xa52c[7]][_0xa52c[8]]:null,data2:_0x3ff5x7[_0xa52c[7]]?_0x3ff5x7[_0xa52c[7]][_0xa52c[9]]:null,FaxRoomId:_0x3ff5x6[_0xa52c[10]],UserId:_0x3ff5x7[_0xa52c[7]]?_0x3ff5x7[_0xa52c[7]][_0xa52c[10]]:null})});Room[_0xa52c[15]](function(_0x3ff5x6,_0x3ff5x7){if(_0x3ff5x6[_0xa52c[13]](_0xa52c[6])|| _0x3ff5x6[_0xa52c[13]](_0xa52c[14])){return Status[_0xa52c[11]]({status:_0x3ff5x6[_0xa52c[6]],data1:_0x3ff5x7[_0xa52c[7]]?_0x3ff5x7[_0xa52c[7]][_0xa52c[8]]:null,data2:_0x3ff5x7[_0xa52c[7]]?_0x3ff5x7[_0xa52c[7]][_0xa52c[9]]:null,FaxRoomId:_0x3ff5x6[_0xa52c[10]],UserId:_0x3ff5x7[_0xa52c[7]]?_0x3ff5x7[_0xa52c[7]][_0xa52c[10]]:null})}})}module[_0xa52c[16]]= FaxRoom
\ No newline at end of file
-'use strict';
-
-var Interval = require('./interval');
-var User = require('./user');
-var ChanSpy = require('./channelSpy');
-var MailRoom = require('./mailRoom');
-var MailAccount = require('./mailAccount');
-var ChatRoom = require('./chatRoom');
-var FaxRoom = require('./faxRoom');
-var SmsRoom = require('./smsRoom');
-var OpenchannelRoom = require('./openchannelRoom');
-var FaxAccount = require('./faxAccount');
-
-module.exports = function() {
- // Tools Mangament
- new Interval();
- new User();
- new ChanSpy();
- new MailRoom();
- new MailAccount();
- new ChatRoom();
- new FaxRoom();
- new SmsRoom();
- new FaxAccount();
- new OpenchannelRoom();
-}
+var _0x974c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2F\x75\x73\x65\x72","\x2E\x2F\x63\x68\x61\x6E\x6E\x65\x6C\x53\x70\x79","\x2E\x2F\x6D\x61\x69\x6C\x52\x6F\x6F\x6D","\x2E\x2F\x6D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2F\x63\x68\x61\x74\x52\x6F\x6F\x6D","\x2E\x2F\x66\x61\x78\x52\x6F\x6F\x6D","\x2E\x2F\x73\x6D\x73\x52\x6F\x6F\x6D","\x2E\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x2E\x2F\x66\x61\x78\x41\x63\x63\x6F\x75\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0x974c[0];var Interval=require(_0x974c[1]);var User=require(_0x974c[2]);var ChanSpy=require(_0x974c[3]);var MailRoom=require(_0x974c[4]);var MailAccount=require(_0x974c[5]);var ChatRoom=require(_0x974c[6]);var FaxRoom=require(_0x974c[7]);var SmsRoom=require(_0x974c[8]);var OpenchannelRoom=require(_0x974c[9]);var FaxAccount=require(_0x974c[10]);module[_0x974c[11]]= function(){ new Interval(); new User(); new ChanSpy(); new MailRoom(); new MailAccount(); new ChatRoom(); new FaxRoom(); new SmsRoom(); new FaxAccount(); new OpenchannelRoom()}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var IntervalModel = require('../../models').Interval;
-var VoiceExtension = require('../../models').VoiceExtension;
-var veUtil = require('../../utils/voice_extension');
-var sequelize = require('../../models').sequelize;
-var Applications = veUtil.Applications;
-
-function Interval() {
- console.log('Interval Initialization..');
- IntervalModel.afterUpdate(function(interval) {
- updatevoiceExtension(interval);
- })
-
- IntervalModel.beforeDestroy(function(interval) {
- if (interval.IntervalId !== null) {
- updatevoiceExtension(interval);
- }
- })
-
- IntervalModel.afterCreate(function(interval) {
- if (interval.IntervalId !== null) {
- updatevoiceExtension(interval);
- }
- })
-}
-
-function updatevoiceExtension(interval) {
- var IntervalId = interval.IntervalId === null ? interval.id : interval.IntervalId;
- return VoiceExtension
- .findAll({
- where: {
- VoiceExtensionId: null
- },
- include: [{
- model: VoiceExtension,
- as: 'Applications',
- where: {
- IntervalId: IntervalId
- },
- attributes: ['app', 'interval', 'IntervalId', 'callerID', 'appdata', 'type']
- }]
- })
- .then(function(voiceExtensions) {
- voiceExtensions.forEach(function(elem) {
- return sequelize.transaction(function(t) {
- return veUtil.routeUpdate({
- body: elem.dataValues,
- params: {
- id: elem.id
- }
- }, t);
- })
- .catch(sequelize.UniqueConstraintError, function(err) {
- if (err.fields.PRIMARY) {
- err.message = 'Extension/context combination already exist';
- err.translatedMessage = 'MESSAGE_EXIST_ROUTE'
- }
- console.log(err);
- })
- .catch(function(err) {
- console.log(err);
- });
- });
- })
- .catch(function(err) {
- console.log(err);
- });
-}
-
-
-module.exports = Interval;
+var _0x8529=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x75\x74\x69\x6C\x73\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x49\x6E\x74\x65\x72\x76\x61\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E","\x6C\x6F\x67","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x62\x65\x66\x6F\x72\x65\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x69\x64","\x63\x61\x74\x63\x68","\x50\x52\x49\x4D\x41\x52\x59","\x66\x69\x65\x6C\x64\x73","\x6D\x65\x73\x73\x61\x67\x65","\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2F\x63\x6F\x6E\x74\x65\x78\x74\x20\x63\x6F\x6D\x62\x69\x6E\x61\x74\x69\x6F\x6E\x20\x61\x6C\x72\x65\x61\x64\x79\x20\x65\x78\x69\x73\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x45\x58\x49\x53\x54\x5F\x52\x4F\x55\x54\x45","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x72\x6F\x75\x74\x65\x55\x70\x64\x61\x74\x65","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x61\x70\x70","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x63\x61\x6C\x6C\x65\x72\x49\x44","\x61\x70\x70\x64\x61\x74\x61","\x74\x79\x70\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x65\x78\x70\x6F\x72\x74\x73"];_0x8529[0];var _=require(_0x8529[1]);var util=require(_0x8529[2]);var IntervalModel=require(_0x8529[4])[_0x8529[3]];var VoiceExtension=require(_0x8529[4])[_0x8529[5]];var veUtil=require(_0x8529[6]);var sequelize=require(_0x8529[4])[_0x8529[7]];var Applications=veUtil[_0x8529[8]];function Interval(){console[_0x8529[10]](_0x8529[9]);IntervalModel[_0x8529[11]](function(_0x9264x9){updatevoiceExtension(_0x9264x9)});IntervalModel[_0x8529[13]](function(_0x9264x9){if(_0x9264x9[_0x8529[12]]!== null){updatevoiceExtension(_0x9264x9)}});IntervalModel[_0x8529[14]](function(_0x9264x9){if(_0x9264x9[_0x8529[12]]!== null){updatevoiceExtension(_0x9264x9)}})}function updatevoiceExtension(_0x9264x9){var _0x9264xb=_0x9264x9[_0x8529[12]]=== null?_0x9264x9[_0x8529[15]]:_0x9264x9[_0x8529[12]];return VoiceExtension[_0x8529[33]]({where:{VoiceExtensionId:null},include:[{model:VoiceExtension,as:_0x8529[8],where:{IntervalId:_0x9264xb},attributes:[_0x8529[28],_0x8529[29],_0x8529[12],_0x8529[30],_0x8529[31],_0x8529[32]]}]})[_0x8529[27]](function(_0x9264xd){_0x9264xd[_0x8529[26]](function(_0x9264xe){return sequelize[_0x8529[25]](function(_0x9264xf){return veUtil[_0x8529[24]]({body:_0x9264xe[_0x8529[23]],params:{id:_0x9264xe[_0x8529[15]]}},_0x9264xf)})[_0x8529[16]](sequelize.UniqueConstraintError,function(_0x9264xc){if(_0x9264xc[_0x8529[18]][_0x8529[17]]){_0x9264xc[_0x8529[19]]= _0x8529[20];_0x9264xc[_0x8529[21]]= _0x8529[22]};console[_0x8529[10]](_0x9264xc)})[_0x8529[16]](function(_0x9264xc){console[_0x8529[10]](_0x9264xc)})})})[_0x8529[16]](function(_0x9264xc){console[_0x8529[10]](_0x9264xc)})}module[_0x8529[34]]= Interval
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-
-const Account = require('../../models').MailAccount;
-
-function MailAccount() {
- Account.afterCreate(function(doc, opt) {
- if (doc.service) {
- return Account
- .update({
- service: false
- }, {
- where: {
- id: {
- $ne: doc.id
- }
- }
- });
- }
- });
-
- Account.afterUpdate(function(doc, opt) {
- if (doc.changed('service') && doc.service) {
- return Account
- .update({
- service: false
- }, {
- where: {
- id: {
- $ne: doc.id
- }
- }
- });
- }
- });
-}
-
-module.exports = MailAccount;
+var _0xaf44=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x72\x76\x69\x63\x65","\x69\x64","\x75\x70\x64\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xaf44[0];const _=require(_0xaf44[1]);const moment=require(_0xaf44[2]);const Account=require(_0xaf44[4])[_0xaf44[3]];function MailAccount(){Account[_0xaf44[8]](function(_0xa58bx5,_0xa58bx6){if(_0xa58bx5[_0xaf44[5]]){return Account[_0xaf44[7]]({service:false},{where:{id:{$ne:_0xa58bx5[_0xaf44[6]]}}})}});Account[_0xaf44[10]](function(_0xa58bx5,_0xa58bx6){if(_0xa58bx5[_0xaf44[9]](_0xaf44[5])&& _0xa58bx5[_0xaf44[5]]){return Account[_0xaf44[7]]({service:false},{where:{id:{$ne:_0xa58bx5[_0xaf44[6]]}}})}})}module[_0xaf44[11]]= MailAccount
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-
-const Room = require('../../models').MailRoom;
-const Status = require('../../models').MailRoomStatus;
-
-function MailRoom() {
- Room.afterCreate(function(doc, opt) {
- return Status
- .create({
- status: doc.status,
- data1: opt.user ? opt.user.name : null,
- data2: opt.user ? opt.user.fullname : null,
- MailRoomId: doc.id,
- UserId: opt.user ? opt.user.id : null
- });
- });
-
- Room.afterUpdate(function(doc, opt) {
- if (doc.changed('status') || doc.changed('openReason')) {
- return Status
- .create({
- status: doc.status,
- data1: opt.user ? opt.user.name : null,
- data2: opt.user ? opt.user.fullname : null,
- MailRoomId: doc.id,
- UserId: opt.user ? opt.user.id : null
- });
- }
- });
-}
-
-module.exports = MailRoom;
+var _0x3e11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x73\x74\x61\x74\x75\x73","\x75\x73\x65\x72","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x69\x64","\x63\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x6F\x70\x65\x6E\x52\x65\x61\x73\x6F\x6E","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0x3e11[0];const _=require(_0x3e11[1]);const moment=require(_0x3e11[2]);const Room=require(_0x3e11[4])[_0x3e11[3]];const Status=require(_0x3e11[4])[_0x3e11[5]];function MailRoom(){Room[_0x3e11[12]](function(_0x9d63x6,_0x9d63x7){return Status[_0x3e11[11]]({status:_0x9d63x6[_0x3e11[6]],data1:_0x9d63x7[_0x3e11[7]]?_0x9d63x7[_0x3e11[7]][_0x3e11[8]]:null,data2:_0x9d63x7[_0x3e11[7]]?_0x9d63x7[_0x3e11[7]][_0x3e11[9]]:null,MailRoomId:_0x9d63x6[_0x3e11[10]],UserId:_0x9d63x7[_0x3e11[7]]?_0x9d63x7[_0x3e11[7]][_0x3e11[10]]:null})});Room[_0x3e11[15]](function(_0x9d63x6,_0x9d63x7){if(_0x9d63x6[_0x3e11[13]](_0x3e11[6])|| _0x9d63x6[_0x3e11[13]](_0x3e11[14])){return Status[_0x3e11[11]]({status:_0x9d63x6[_0x3e11[6]],data1:_0x9d63x7[_0x3e11[7]]?_0x9d63x7[_0x3e11[7]][_0x3e11[8]]:null,data2:_0x9d63x7[_0x3e11[7]]?_0x9d63x7[_0x3e11[7]][_0x3e11[9]]:null,MailRoomId:_0x9d63x6[_0x3e11[10]],UserId:_0x9d63x7[_0x3e11[7]]?_0x9d63x7[_0x3e11[7]][_0x3e11[10]]:null})}})}module[_0x3e11[16]]= MailRoom
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-
-const Room = require('../../models').OpenchannelRoom;
-const Status = require('../../models').OpenchannelRoomStatus;
-
-function OpenchannelRoom() {
- Room.afterCreate(function(doc, opt) {});
-
- Room.afterUpdate(function(doc, opt) {
- if (doc.changed('status') || doc.changed('openReason')) {
- return Status
- .create({
- status: doc.status,
- data1: opt.user ? opt.user.name : null,
- data2: opt.user ? opt.user.fullname : null,
- OpenchannelRoomId: doc.id,
- UserId: opt.user ? opt.user.id : null
- });
- }
- });
-}
-
-module.exports = OpenchannelRoom;
+var _0xf8c7=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x6F\x70\x65\x6E\x52\x65\x61\x73\x6F\x6E","\x75\x73\x65\x72","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x69\x64","\x63\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xf8c7[0];const _=require(_0xf8c7[1]);const moment=require(_0xf8c7[2]);const Room=require(_0xf8c7[4])[_0xf8c7[3]];const Status=require(_0xf8c7[4])[_0xf8c7[5]];function OpenchannelRoom(){Room[_0xf8c7[6]](function(_0x5a16x6,_0x5a16x7){});Room[_0xf8c7[15]](function(_0x5a16x6,_0x5a16x7){if(_0x5a16x6[_0xf8c7[8]](_0xf8c7[7])|| _0x5a16x6[_0xf8c7[8]](_0xf8c7[9])){return Status[_0xf8c7[14]]({status:_0x5a16x6[_0xf8c7[7]],data1:_0x5a16x7[_0xf8c7[10]]?_0x5a16x7[_0xf8c7[10]][_0xf8c7[11]]:null,data2:_0x5a16x7[_0xf8c7[10]]?_0x5a16x7[_0xf8c7[10]][_0xf8c7[12]]:null,OpenchannelRoomId:_0x5a16x6[_0xf8c7[13]],UserId:_0x5a16x7[_0xf8c7[10]]?_0x5a16x7[_0xf8c7[10]][_0xf8c7[13]]:null})}})}module[_0xf8c7[16]]= OpenchannelRoom
\ No newline at end of file
-/**
- * Broadcast updates to client when the model changes
- */
-
-'use strict';
-
-var sequelize = require('../../models').sequelize;
-var models = require('../../models');
-var Util = require('../../config/util');
-var Promise = require('bluebird');
-var _ = require('lodash');
-var util = require('util');
-
-exports.register = function(socket) {
- // Inbound Events
- models.ReportQueue.afterCreate(function(doc) {
- onWaiting(socket, doc);
- });
- models.ReportQueue.afterUpdate(function(doc) {
- if (doc.changed('queuecallerleaveAt')) {
- onWaiting(socket, doc);
- onActive(socket, doc);
- }
- });
- models.ReportQueue.afterUpdate(function(doc) {
- if (doc.changed('queuecallerabandon') || doc.changed('queuecallercomplete')) {
- onAbandon(socket, doc);
- onComplete(socket, doc);
- onActive(socket, doc);
- onAvgAnswerTime(socket, doc);
- onAvgTalkTime(socket, doc);
- onTotalOffered(socket, doc);
- onUnmanaged(socket, doc);
- }
- });
-}
-
-function getQueues(id, role) {
- return function() {
- switch (role) {
- case 'user':
- return models.User
- .findById(id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser());
- default:
- return models.VoiceQueue
- .findAll()
- .then(function(queues) {
- return {
- rows: queues
- };
- });
- }
- }
-}
-
-function onWaiting(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- return models
- .ReportQueue
- .findAll({
- where: {
- queuecallerleaveAt: null,
- queue: _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : []
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'waiting']
- ]
- });
- }
- return null;
- })
- .then(function(waiting) {
- if (waiting) {
- var _parameters;
- if (waiting.length) {
- _parameters = waiting[0].dataValues;
- } else {
- _parameters = {
- name: doc.queue,
- waiting: 0
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('WAITING ERROR', err);
- });
-}
-
-function onActive(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- return models
- .ReportQueue
- .findAll({
- where: {
- queuecallerexit: false,
- queuecallerabandon: false,
- queuecallercomplete: false,
- queuecallerleaveAt: {
- $ne: null
- },
- queue: _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : []
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'active']
- ]
- });
- }
- return null;
- })
- .then(function(active) {
- if (active) {
- var _parameters;
- if (active.length) {
- _parameters = active[0].dataValues;
- } else {
- _parameters = {
- name: doc.queue,
- active: 0
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('ACTIVE ERROR', err);
- });
-}
-
-function onAbandon(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- return models
- .ReportQueue
- .findAll({
- where: {
- queuecallerabandon: true,
- queue: _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : []
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'abandoned']
- ]
- });
- }
- return null;
- })
- .then(function(abandoned) {
- if (abandoned) {
- var _parameters;
- if (abandoned.length) {
- _parameters = abandoned[0].dataValues;
- } else {
- _parameters = {
- name: doc.queue,
- abandoned: 0
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('ABANDONED ERROR', err);
- });
-}
-
-function onComplete(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- return models
- .ReportQueue
- .findAll({
- where: {
- queuecallercomplete: true,
- queue: _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : []
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'answered']
- ]
- });
- }
- return null;
- })
- .then(function(answered) {
- if (answered) {
- var _parameters;
- if (answered.length) {
- _parameters = answered[0].dataValues;
- } else {
- _parameters = {
- name: doc.queue,
- answered: 0
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('ANSWERED ERROR', err);
- });
-}
-
-function onAvgAnswerTime(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- var queue = _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : '';
- var query = util.format('SELECT queue AS \'name\',SEC_TO_TIME(ROUND(AVG(holdtime), 0)) as holdtime FROM report_agent WHERE agentcomplete = 1 AND queue =\'%s\' GROUP BY queue', queue);
- return sequelize
- .query(query, {
- type: sequelize.QueryTypes.SELECT
- });
- }
- return null;
- })
- .then(function(holdtime) {
- if (holdtime) {
- var _parameters;
- if (holdtime.length) {
- _parameters = holdtime[0];
- } else {
- _parameters = {
- name: doc.queue,
- holdtime: '00:00:00'
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('HOLDTIME ERROR', err);
- });
-}
-
-function onAvgTalkTime(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- var queue = _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : '';
- return sequelize
- .query(util.format('SELECT queue AS \'name\',SEC_TO_TIME(ROUND(AVG(talktime), 0)) as talktime FROM report_agent WHERE agentcomplete = 1 AND queue =\'%s\' GROUP BY queue', queue), {
- type: sequelize.QueryTypes.SELECT
- });
- }
- return null;
- })
- .then(function(talktime) {
- if (talktime) {
- var _parameters;
- if (talktime.length) {
- _parameters = talktime[0];
- } else {
- _parameters = {
- name: doc.queue,
- talktime: '00:00:00'
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('TALKTIME ERROR', err);
- });
-}
-
-
-function onTotalOffered(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- var queue = _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : '';
- return sequelize
- .query(util.format('SELECT queue AS \'name\',COUNT(distinct uniqueid) as totalcalls FROM report_queue WHERE queue =\'%s\' GROUP BY queue', queue), {
- type: sequelize.QueryTypes.SELECT
- });
- }
- return null;
- })
- .then(function(totalcalls) {
- if (totalcalls) {
- var _parameters;
- if (totalcalls.length) {
- _parameters = totalcalls[0];
- } else {
- _parameters = {
- name: doc.queue,
- totalcalls: 0
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('TOTALCALLS ERROR', err);
- });
-}
-
-function onUnmanaged(socket, doc) {
- return Promise
- .all([])
- .then(getQueues(socket.userId, socket.role))
- .then(function(userQueues) {
- if (userQueues.rows.length) {
- return models
- .ReportQueue
- .findAll({
- where: {
- queuecallerexit: true,
- queue: _.find(userQueues.rows, {
- name: doc.queue
- }) ? doc.queue : []
- },
- group: 'queue',
- attributes: [
- ['queue', 'name'],
- [sequelize.fn('COUNT', sequelize.col('id')), 'unmanaged']
- ]
- });
- }
- return null;
- })
- .then(function(unmanaged) {
- if (unmanaged) {
- var _parameters;
- if (unmanaged.length) {
- _parameters = unmanaged[0].dataValues;
- } else {
- _parameters = {
- name: doc.queue,
- _parameters: 0
- };
- }
- socket.emit('report_queue:parameters', _parameters);
- }
- })
- .catch(function(err) {
- console.error('UNMANAGED ERROR', err);
- });
-}
+var _0xdbb9=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x72\x65\x67\x69\x73\x74\x65\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x63\x68\x61\x6E\x67\x65\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x74\x68\x65\x6E","\x69\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x55\x73\x65\x72","\x75\x73\x65\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x57\x41\x49\x54\x49\x4E\x47\x20\x45\x52\x52\x4F\x52","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x6C\x65\x6E\x67\x74\x68","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x71\x75\x65\x75\x65","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x3A\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x73","\x65\x6D\x69\x74","\x72\x6F\x77\x73","\x66\x69\x6E\x64","\x6E\x61\x6D\x65","\x43\x4F\x55\x4E\x54","\x63\x6F\x6C","\x66\x6E","\x77\x61\x69\x74\x69\x6E\x67","\x75\x73\x65\x72\x49\x64","\x72\x6F\x6C\x65","\x61\x6C\x6C","\x41\x43\x54\x49\x56\x45\x20\x45\x52\x52\x4F\x52","\x61\x63\x74\x69\x76\x65","\x41\x42\x41\x4E\x44\x4F\x4E\x45\x44\x20\x45\x52\x52\x4F\x52","\x61\x62\x61\x6E\x64\x6F\x6E\x65\x64","\x41\x4E\x53\x57\x45\x52\x45\x44\x20\x45\x52\x52\x4F\x52","\x61\x6E\x73\x77\x65\x72\x65\x64","\x48\x4F\x4C\x44\x54\x49\x4D\x45\x20\x45\x52\x52\x4F\x52","\x30\x30\x3A\x30\x30\x3A\x30\x30","","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x20\x41\x53\x20\x27\x6E\x61\x6D\x65\x27\x2C\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x20\x3D\x27\x25\x73\x27\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65","\x66\x6F\x72\x6D\x61\x74","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x71\x75\x65\x72\x79","\x54\x41\x4C\x4B\x54\x49\x4D\x45\x20\x45\x52\x52\x4F\x52","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x20\x41\x53\x20\x27\x6E\x61\x6D\x65\x27\x2C\x53\x45\x43\x5F\x54\x4F\x5F\x54\x49\x4D\x45\x28\x52\x4F\x55\x4E\x44\x28\x41\x56\x47\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x2C\x20\x30\x29\x29\x20\x61\x73\x20\x74\x61\x6C\x6B\x74\x69\x6D\x65\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x20\x3D\x27\x25\x73\x27\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65","\x54\x4F\x54\x41\x4C\x43\x41\x4C\x4C\x53\x20\x45\x52\x52\x4F\x52","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x20\x41\x53\x20\x27\x6E\x61\x6D\x65\x27\x2C\x43\x4F\x55\x4E\x54\x28\x64\x69\x73\x74\x69\x6E\x63\x74\x20\x75\x6E\x69\x71\x75\x65\x69\x64\x29\x20\x61\x73\x20\x74\x6F\x74\x61\x6C\x63\x61\x6C\x6C\x73\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x20\x3D\x27\x25\x73\x27\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65","\x55\x4E\x4D\x41\x4E\x41\x47\x45\x44\x20\x45\x52\x52\x4F\x52","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64"];_0xdbb9[0];var sequelize=require(_0xdbb9[2])[_0xdbb9[1]];var models=require(_0xdbb9[2]);var Util=require(_0xdbb9[3]);var Promise=require(_0xdbb9[4]);var _=require(_0xdbb9[5]);var util=require(_0xdbb9[6]);exports[_0xdbb9[7]]= function(_0x4dc6x7){models[_0xdbb9[9]][_0xdbb9[8]](function(_0x4dc6x8){onWaiting(_0x4dc6x7,_0x4dc6x8)});models[_0xdbb9[9]][_0xdbb9[12]](function(_0x4dc6x8){if(_0x4dc6x8[_0xdbb9[11]](_0xdbb9[10])){onWaiting(_0x4dc6x7,_0x4dc6x8);onActive(_0x4dc6x7,_0x4dc6x8)}});models[_0xdbb9[9]][_0xdbb9[12]](function(_0x4dc6x8){if(_0x4dc6x8[_0xdbb9[11]](_0xdbb9[13])|| _0x4dc6x8[_0xdbb9[11]](_0xdbb9[14])){onAbandon(_0x4dc6x7,_0x4dc6x8);onComplete(_0x4dc6x7,_0x4dc6x8);onActive(_0x4dc6x7,_0x4dc6x8);onAvgAnswerTime(_0x4dc6x7,_0x4dc6x8);onAvgTalkTime(_0x4dc6x7,_0x4dc6x8);onTotalOffered(_0x4dc6x7,_0x4dc6x8);onUnmanaged(_0x4dc6x7,_0x4dc6x8)}})};function getQueues(_0x4dc6xa,_0x4dc6xb){return function(){switch(_0x4dc6xb){case _0xdbb9[20]:return models[_0xdbb9[19]][_0xdbb9[18]](_0x4dc6xa,{attributes:[_0xdbb9[17]]})[_0xdbb9[16]](Util[_0xdbb9[15]]());default:return models[_0xdbb9[22]][_0xdbb9[21]]()[_0xdbb9[16]](function(_0x4dc6xc){return {rows:_0x4dc6xc}})}}}function onWaiting(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){return models[_0xdbb9[9]][_0xdbb9[21]]({where:{queuecallerleaveAt:null,queue:_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:[]},group:_0xdbb9[28],attributes:[[_0xdbb9[28],_0xdbb9[33]],[sequelize[_0xdbb9[36]](_0xdbb9[34],sequelize[_0xdbb9[35]](_0xdbb9[17])),_0xdbb9[37]]]})};return null})[_0xdbb9[16]](function(_0x4dc6xf){if(_0x4dc6xf){var _0x4dc6x10;if(_0x4dc6xf[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6xf[0][_0xdbb9[27]]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],waiting:0}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[23],_0x4dc6xe)})}function onActive(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){return models[_0xdbb9[9]][_0xdbb9[21]]({where:{queuecallerexit:false,queuecallerabandon:false,queuecallercomplete:false,queuecallerleaveAt:{$ne:null},queue:_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:[]},group:_0xdbb9[28],attributes:[[_0xdbb9[28],_0xdbb9[33]],[sequelize[_0xdbb9[36]](_0xdbb9[34],sequelize[_0xdbb9[35]](_0xdbb9[17])),_0xdbb9[42]]]})};return null})[_0xdbb9[16]](function(_0x4dc6x13){if(_0x4dc6x13){var _0x4dc6x10;if(_0x4dc6x13[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x13[0][_0xdbb9[27]]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],active:0}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[41],_0x4dc6xe)})}function onAbandon(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){return models[_0xdbb9[9]][_0xdbb9[21]]({where:{queuecallerabandon:true,queue:_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:[]},group:_0xdbb9[28],attributes:[[_0xdbb9[28],_0xdbb9[33]],[sequelize[_0xdbb9[36]](_0xdbb9[34],sequelize[_0xdbb9[35]](_0xdbb9[17])),_0xdbb9[44]]]})};return null})[_0xdbb9[16]](function(_0x4dc6x15){if(_0x4dc6x15){var _0x4dc6x10;if(_0x4dc6x15[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x15[0][_0xdbb9[27]]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],abandoned:0}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[43],_0x4dc6xe)})}function onComplete(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){return models[_0xdbb9[9]][_0xdbb9[21]]({where:{queuecallercomplete:true,queue:_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:[]},group:_0xdbb9[28],attributes:[[_0xdbb9[28],_0xdbb9[33]],[sequelize[_0xdbb9[36]](_0xdbb9[34],sequelize[_0xdbb9[35]](_0xdbb9[17])),_0xdbb9[46]]]})};return null})[_0xdbb9[16]](function(_0x4dc6x17){if(_0x4dc6x17){var _0x4dc6x10;if(_0x4dc6x17[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x17[0][_0xdbb9[27]]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],answered:0}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[45],_0x4dc6xe)})}function onAvgAnswerTime(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){var _0x4dc6x1a=_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:_0xdbb9[49];var _0x4dc6x1b=util[_0xdbb9[51]](_0xdbb9[50],_0x4dc6x1a);return sequelize[_0xdbb9[54]](_0x4dc6x1b,{type:sequelize[_0xdbb9[53]][_0xdbb9[52]]})};return null})[_0xdbb9[16]](function(_0x4dc6x19){if(_0x4dc6x19){var _0x4dc6x10;if(_0x4dc6x19[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x19[0]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],holdtime:_0xdbb9[48]}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[47],_0x4dc6xe)})}function onAvgTalkTime(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){var _0x4dc6x1a=_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:_0xdbb9[49];return sequelize[_0xdbb9[54]](util[_0xdbb9[51]](_0xdbb9[56],_0x4dc6x1a),{type:sequelize[_0xdbb9[53]][_0xdbb9[52]]})};return null})[_0xdbb9[16]](function(_0x4dc6x1d){if(_0x4dc6x1d){var _0x4dc6x10;if(_0x4dc6x1d[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x1d[0]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],talktime:_0xdbb9[48]}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[55],_0x4dc6xe)})}function onTotalOffered(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){var _0x4dc6x1a=_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:_0xdbb9[49];return sequelize[_0xdbb9[54]](util[_0xdbb9[51]](_0xdbb9[58],_0x4dc6x1a),{type:sequelize[_0xdbb9[53]][_0xdbb9[52]]})};return null})[_0xdbb9[16]](function(_0x4dc6x1f){if(_0x4dc6x1f){var _0x4dc6x10;if(_0x4dc6x1f[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x1f[0]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],totalcalls:0}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[57],_0x4dc6xe)})}function onUnmanaged(_0x4dc6x7,_0x4dc6x8){return Promise[_0xdbb9[40]]([])[_0xdbb9[16]](getQueues(_0x4dc6x7[_0xdbb9[38]],_0x4dc6x7[_0xdbb9[39]]))[_0xdbb9[16]](function(_0x4dc6x11){if(_0x4dc6x11[_0xdbb9[31]][_0xdbb9[26]]){return models[_0xdbb9[9]][_0xdbb9[21]]({where:{queuecallerexit:true,queue:_[_0xdbb9[32]](_0x4dc6x11[_0xdbb9[31]],{name:_0x4dc6x8[_0xdbb9[28]]})?_0x4dc6x8[_0xdbb9[28]]:[]},group:_0xdbb9[28],attributes:[[_0xdbb9[28],_0xdbb9[33]],[sequelize[_0xdbb9[36]](_0xdbb9[34],sequelize[_0xdbb9[35]](_0xdbb9[17])),_0xdbb9[60]]]})};return null})[_0xdbb9[16]](function(_0x4dc6x21){if(_0x4dc6x21){var _0x4dc6x10;if(_0x4dc6x21[_0xdbb9[26]]){_0x4dc6x10= _0x4dc6x21[0][_0xdbb9[27]]}else {_0x4dc6x10= {name:_0x4dc6x8[_0xdbb9[28]],_parameters:0}};_0x4dc6x7[_0xdbb9[30]](_0xdbb9[29],_0x4dc6x10)}})[_0xdbb9[25]](function(_0x4dc6xe){console[_0xdbb9[24]](_0xdbb9[59],_0x4dc6xe)})}
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const moment = require('moment');
-
-const Room = require('../../models').SmsRoom;
-const Status = require('../../models').SmsRoomStatus;
-
-function SmsRoom() {
- Room.afterCreate(function(doc, opt) {});
-
- Room.afterUpdate(function(doc, opt) {
- if (doc.changed('status') || doc.changed('openReason')) {
- return Status
- .create({
- status: doc.status,
- data1: opt.user ? opt.user.name : null,
- data2: opt.user ? opt.user.fullname : null,
- SmsRoomId: doc.id,
- UserId: opt.user ? opt.user.id : null
- });
- }
- });
-}
-
-module.exports = SmsRoom;
+var _0xeedb=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x53\x6D\x73\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x6D\x73\x52\x6F\x6F\x6D\x53\x74\x61\x74\x75\x73","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x63\x68\x61\x6E\x67\x65\x64","\x6F\x70\x65\x6E\x52\x65\x61\x73\x6F\x6E","\x75\x73\x65\x72","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x69\x64","\x63\x72\x65\x61\x74\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];_0xeedb[0];const _=require(_0xeedb[1]);const moment=require(_0xeedb[2]);const Room=require(_0xeedb[4])[_0xeedb[3]];const Status=require(_0xeedb[4])[_0xeedb[5]];function SmsRoom(){Room[_0xeedb[6]](function(_0xb0d9x6,_0xb0d9x7){});Room[_0xeedb[15]](function(_0xb0d9x6,_0xb0d9x7){if(_0xb0d9x6[_0xeedb[8]](_0xeedb[7])|| _0xb0d9x6[_0xeedb[8]](_0xeedb[9])){return Status[_0xeedb[14]]({status:_0xb0d9x6[_0xeedb[7]],data1:_0xb0d9x7[_0xeedb[10]]?_0xb0d9x7[_0xeedb[10]][_0xeedb[11]]:null,data2:_0xb0d9x7[_0xeedb[10]]?_0xb0d9x7[_0xeedb[10]][_0xeedb[12]]:null,SmsRoomId:_0xb0d9x6[_0xeedb[13]],UserId:_0xb0d9x7[_0xeedb[10]]?_0xb0d9x7[_0xeedb[10]][_0xeedb[13]]:null})}})}module[_0xeedb[16]]= SmsRoom
\ No newline at end of file
-'use strict';
-
-var Promise = require('bluebird'),
- _ = require('lodash'),
- pidStat = Promise.promisify(require('pidusage').stat),
- os = require('os'),
- df = Promise.promisify(require('node-df'));
-
-exports.checkStatus = function() {
- return function() {
- var stats = {};
- return pidStat(process.pid)
- .then(function(stat) {
- stats.cpu = {
- motion: stat.cpu
- };
- var motionMem = stat.memory / 1024;
- stats.memory = {
- Total: os.totalmem() / 1024,
- details: {}
- };
- stats.memory.details.Free = os.freemem() / 1024;
- stats.memory.details.Other = stats.memory.Total - motionMem - stats.memory.details.Free;
- stats.memory.details.Motion = motionMem;
- stats.cpu.cores = oscpu();
- return df();
- })
- .then(function(disks) {
- stats.disks = [];
- _.forEach(disks, function(disk) {
- stats.disks.push({
- mount: disk.mount,
- size: disk.size,
- details: {
- Used: disk.used,
- Available: disk.available
- }
- });
- });
- return stats;
- });
- }
-}
-
-function oscpu() {
- var cpus = os.cpus();
- var data = [],
- _cpu, total;
-
- _.forEach(cpus, function(cpu) {
- _cpu = {};
- total = _.sum(_.values(cpu.times));
- _.forOwn(cpu.times, function(time, key) {
- _cpu[key] = Math.round(100 * time / total);
- });
- data.push(_cpu);
- });
-
- return data;
-}
+var _0x347a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6C\x6F\x64\x61\x73\x68","\x73\x74\x61\x74","\x70\x69\x64\x75\x73\x61\x67\x65","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x6F\x73","\x6E\x6F\x64\x65\x2D\x64\x66","\x63\x68\x65\x63\x6B\x53\x74\x61\x74\x75\x73","\x64\x69\x73\x6B\x73","\x6D\x6F\x75\x6E\x74","\x73\x69\x7A\x65","\x75\x73\x65\x64","\x61\x76\x61\x69\x6C\x61\x62\x6C\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x74\x68\x65\x6E","\x63\x70\x75","\x6D\x65\x6D\x6F\x72\x79","\x74\x6F\x74\x61\x6C\x6D\x65\x6D","\x46\x72\x65\x65","\x64\x65\x74\x61\x69\x6C\x73","\x66\x72\x65\x65\x6D\x65\x6D","\x4F\x74\x68\x65\x72","\x54\x6F\x74\x61\x6C","\x4D\x6F\x74\x69\x6F\x6E","\x63\x6F\x72\x65\x73","\x70\x69\x64","\x63\x70\x75\x73","\x74\x69\x6D\x65\x73","\x76\x61\x6C\x75\x65\x73","\x73\x75\x6D","\x72\x6F\x75\x6E\x64","\x66\x6F\x72\x4F\x77\x6E"];_0x347a[0];var Promise=require(_0x347a[1]),_=require(_0x347a[2]),pidStat=Promise[_0x347a[5]](require(_0x347a[4])[_0x347a[3]]),os=require(_0x347a[6]),df=Promise[_0x347a[5]](require(_0x347a[7]));exports[_0x347a[8]]= function(){return function(){var _0xc47cx6={};return pidStat(process[_0x347a[27]])[_0x347a[16]](function(_0xc47cx9){_0xc47cx6[_0x347a[17]]= {motion:_0xc47cx9[_0x347a[17]]};var _0xc47cxa=_0xc47cx9[_0x347a[18]]/ 1024;_0xc47cx6[_0x347a[18]]= {Total:os[_0x347a[19]]()/ 1024,details:{}};_0xc47cx6[_0x347a[18]][_0x347a[21]][_0x347a[20]]= os[_0x347a[22]]()/ 1024;_0xc47cx6[_0x347a[18]][_0x347a[21]][_0x347a[23]]= _0xc47cx6[_0x347a[18]][_0x347a[24]]- _0xc47cxa- _0xc47cx6[_0x347a[18]][_0x347a[21]][_0x347a[20]];_0xc47cx6[_0x347a[18]][_0x347a[21]][_0x347a[25]]= _0xc47cxa;_0xc47cx6[_0x347a[17]][_0x347a[26]]= oscpu();return df()})[_0x347a[16]](function(_0xc47cx7){_0xc47cx6[_0x347a[9]]= [];_[_0x347a[15]](_0xc47cx7,function(_0xc47cx8){_0xc47cx6[_0x347a[9]][_0x347a[14]]({mount:_0xc47cx8[_0x347a[10]],size:_0xc47cx8[_0x347a[11]],details:{Used:_0xc47cx8[_0x347a[12]],Available:_0xc47cx8[_0x347a[13]]}})});return _0xc47cx6})}};function oscpu(){var _0xc47cxc=os[_0x347a[28]]();var _0xc47cxd=[],_0xc47cxe,_0xc47cxf;_[_0x347a[15]](_0xc47cxc,function(_0xc47cx10){_0xc47cxe= {};_0xc47cxf= _[_0x347a[31]](_[_0x347a[30]](_0xc47cx10[_0x347a[29]]));_[_0x347a[33]](_0xc47cx10[_0x347a[29]],function(_0xc47cx11,_0xc47cx12){_0xc47cxe[_0xc47cx12]= Math[_0x347a[32]](100* _0xc47cx11/ _0xc47cxf)});_0xc47cxd[_0x347a[14]](_0xc47cxe)});return _0xc47cxd}
\ No newline at end of file
-'use strict';
-
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-var config = require('../../config/environment');
-var UserModel = require('../../models').User;
-var VoiceExtension = require('../../models').VoiceExtension;
-var ChanSpy = require('../../models').ChanSpy;
-var sequelize = require('../../models').sequelize;
-var Promise = require('bluebird');
-
-function User() {
- UserModel.afterCreate(function(doc, options) {
- delete doc._changed.internal;
- return Promise
- .all([])
- .then(createCallerID(doc, options))
- .then(createExtension(doc, options))
- .then(function() {
- if (doc.chanspy) {
- createChanspy(doc, options);
- }
- })
- })
-
- UserModel.beforeUpdate(function(doc, options) {
- if (doc.changed('internal')) {
- throw new sequelize.Error("You can't modify the internal of a User/Agent/Telephone");
- }
- })
-
- UserModel.afterUpdate(function(doc, options) {
- // console.log('Users updated', doc._changed);
- // console.log(doc._changed, doc.name, doc.status);
- if (!doc.changed('status') && !doc.changed('queueStatus') && !doc.changed('callerid') && !doc.changed('lastLoginAt') && !doc.changed('online')) {
- return Promise
- .all([])
- .then(createCallerID(doc, options))
- .then(function() {
- if ((doc.chanspy && doc.changed('chanspy'))) {
- return createChanspy(doc, options);
- }
- })
- .then(function() {
- if (doc.chanspy && !doc.changed('chanspy') && doc.changed('name')) {
- return deleteChanSpy(doc, options);
- }
- })
- .then(function() {
- if (doc.chanspy && !doc.changed('chanspy') && doc.changed('name')) {
- return createChanspy(doc, options);
- }
- })
- .then(function() {
- if (!doc.chanspy && doc.changed('chanspy')) {
- return deleteChanSpy(doc, options);
- }
- })
- }
- })
-}
-
-function createChanspy(doc, options) {
- console.log('Creating chanspy...');
- return ChanSpy
- .findAll()
- .then(function(chanspy) {
- var bulkSpies = [];
- chanspy.forEach(function(elem) {
- var spies = [];
- var priority = 1;
- if (elem.auth) {
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', elem.prefix, doc.name),
- priority: priority,
- app: 'Authenticate',
- appdata: elem.password,
- UserId: doc.id,
- ChanSpyId: elem.id,
- type: 'system'
- });
- priority++;
- }
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', elem.prefix, doc.name),
- priority: priority,
- app: 'ChanSpy',
- appdata: util.format('SIP/%s,%s', doc.name, elem.options),
- UserId: doc.id,
- ChanSpyId: elem.id,
- type: 'system'
- });
- priority = 1;
- if (elem.auth) {
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', elem.prefix, doc.internal),
- priority: priority,
- app: 'Authenticate',
- appdata: elem.password,
- UserId: doc.id,
- ChanSpyId: elem.id,
- type: 'system'
- });
- priority++;
- }
- spies.push({
- context: 'from-sip',
- exten: util.format('%s%s', elem.prefix, doc.internal),
- priority: priority,
- app: 'ChanSpy',
- appdata: util.format('SIP/%s,%s', doc.name, elem.options),
- UserId: doc.id,
- ChanSpyId: elem.id,
- type: 'system'
- });
- bulkSpies.push(VoiceExtension.bulkCreate(spies, {
- transaction: options.transaction
- }));
- });
- return bulkSpies;
- })
- .all();
-}
-
-function deleteChanSpy(doc, options) {
- console.log('Deleting chanspy...');
- return VoiceExtension
- .destroy({
- where: {
- UserId: doc.id,
- ChanSpyId: {
- $ne: null
- }
- },
- transaction: options.transaction
- });
-}
-
-function createCallerID(doc, options) {
- return function() {
- // devo aspettare che ci siano entrambi i campi
- if (doc.fullname && doc.internal && doc.changed('fullname')) {
- console.log('Creating callerID...');
- doc.callerid = util.format('"%s" <%s>', doc.fullname, doc.internal);
- return doc.save({
- transaction: options.transaction
- });
- // console.log('callerid created');
- }
-
- return;
- }
-}
-
-function createExtension(doc, options) {
- console.log('Creating extension...');
- return function() {
- var userDials = [{
- context: 'from-sip',
- exten: '_' + doc.internal,
- priority: 1,
- app: 'Set',
- appdata: 'CDR(type)=internal',
- UserId: doc.id,
- type: 'system'
- }, {
- context: 'from-sip',
- exten: '_' + doc.internal,
- priority: 2,
- app: 'Dial',
- appdata: 'SIP/' + doc.name + ',,tTxX',
- UserId: doc.id,
- type: 'system'
- }, {
- context: 'from-sip',
- exten: '_' + doc.internal,
- priority: 3,
- app: 'Hangup',
- appdata: '',
- UserId: doc.id,
- type: 'system'
- }, {
- context: 'from-sip',
- exten: doc.name,
- priority: 1,
- app: 'Set',
- appdata: 'CDR(type)=internal',
- UserId: doc.id,
- type: 'system'
- }, {
- context: 'from-sip',
- exten: doc.name,
- priority: 2,
- app: 'Dial',
- appdata: 'SIP/' + doc.name + ',,tTxX',
- UserId: doc.id,
- type: 'system'
- }, {
- context: 'from-sip',
- exten: doc.name,
- priority: 3,
- app: 'Hangup',
- appdata: '',
- UserId: doc.id,
- type: 'system'
- }];
-
- return VoiceExtension
- .bulkCreate(userDials, {
- transaction: options.transaction
- })
- }
-}
-
-module.exports = User;
+var _0xfdad=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x66\x73","\x75\x74\x69\x6C","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x43\x68\x61\x6E\x53\x70\x79","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x5F\x63\x68\x61\x6E\x67\x65\x64","\x63\x68\x61\x6E\x73\x70\x79","\x74\x68\x65\x6E","\x61\x6C\x6C","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x63\x68\x61\x6E\x67\x65\x64","\x59\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x6D\x6F\x64\x69\x66\x79\x20\x74\x68\x65\x20\x69\x6E\x74\x65\x72\x6E\x61\x6C\x20\x6F\x66\x20\x61\x20\x55\x73\x65\x72\x2F\x41\x67\x65\x6E\x74\x2F\x54\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x62\x65\x66\x6F\x72\x65\x55\x70\x64\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x71\x75\x65\x75\x65\x53\x74\x61\x74\x75\x73","\x63\x61\x6C\x6C\x65\x72\x69\x64","\x6C\x61\x73\x74\x4C\x6F\x67\x69\x6E\x41\x74","\x6F\x6E\x6C\x69\x6E\x65","\x6E\x61\x6D\x65","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x43\x72\x65\x61\x74\x69\x6E\x67\x20\x63\x68\x61\x6E\x73\x70\x79\x2E\x2E\x2E","\x6C\x6F\x67","\x61\x75\x74\x68","\x66\x72\x6F\x6D\x2D\x73\x69\x70","\x25\x73\x25\x73","\x70\x72\x65\x66\x69\x78","\x66\x6F\x72\x6D\x61\x74","\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x69\x64","\x73\x79\x73\x74\x65\x6D","\x70\x75\x73\x68","\x53\x49\x50\x2F\x25\x73\x2C\x25\x73","\x6F\x70\x74\x69\x6F\x6E\x73","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x6F\x72\x45\x61\x63\x68","\x66\x69\x6E\x64\x41\x6C\x6C","\x44\x65\x6C\x65\x74\x69\x6E\x67\x20\x63\x68\x61\x6E\x73\x70\x79\x2E\x2E\x2E","\x64\x65\x73\x74\x72\x6F\x79","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x43\x72\x65\x61\x74\x69\x6E\x67\x20\x63\x61\x6C\x6C\x65\x72\x49\x44\x2E\x2E\x2E","\x22\x25\x73\x22\x20\x3C\x25\x73\x3E","\x73\x61\x76\x65","\x43\x72\x65\x61\x74\x69\x6E\x67\x20\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x2E\x2E\x2E","\x5F","\x53\x65\x74","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x44\x69\x61\x6C","\x53\x49\x50\x2F","\x2C\x2C\x74\x54\x78\x58","\x48\x61\x6E\x67\x75\x70","","\x65\x78\x70\x6F\x72\x74\x73"];_0xfdad[0];var fs=require(_0xfdad[1]);var util=require(_0xfdad[2]);var path=require(_0xfdad[3]);var config=require(_0xfdad[4]);var UserModel=require(_0xfdad[6])[_0xfdad[5]];var VoiceExtension=require(_0xfdad[6])[_0xfdad[7]];var ChanSpy=require(_0xfdad[6])[_0xfdad[8]];var sequelize=require(_0xfdad[6])[_0xfdad[9]];var Promise=require(_0xfdad[10]);function User(){UserModel[_0xfdad[16]](function(_0xf97fxb,_0xf97fxc){delete _0xf97fxb[_0xfdad[12]][_0xfdad[11]];return Promise[_0xfdad[15]]([])[_0xfdad[14]](createCallerID(_0xf97fxb,_0xf97fxc))[_0xfdad[14]](createExtension(_0xf97fxb,_0xf97fxc))[_0xfdad[14]](function(){if(_0xf97fxb[_0xfdad[13]]){createChanspy(_0xf97fxb,_0xf97fxc)}})});UserModel[_0xfdad[19]](function(_0xf97fxb,_0xf97fxc){if(_0xf97fxb[_0xfdad[17]](_0xfdad[11])){throw new sequelize.Error(_0xfdad[18])}});UserModel[_0xfdad[26]](function(_0xf97fxb,_0xf97fxc){if(!_0xf97fxb[_0xfdad[17]](_0xfdad[20])&& !_0xf97fxb[_0xfdad[17]](_0xfdad[21])&& !_0xf97fxb[_0xfdad[17]](_0xfdad[22])&& !_0xf97fxb[_0xfdad[17]](_0xfdad[23])&& !_0xf97fxb[_0xfdad[17]](_0xfdad[24])){return Promise[_0xfdad[15]]([])[_0xfdad[14]](createCallerID(_0xf97fxb,_0xf97fxc))[_0xfdad[14]](function(){if((_0xf97fxb[_0xfdad[13]]&& _0xf97fxb[_0xfdad[17]](_0xfdad[13]))){return createChanspy(_0xf97fxb,_0xf97fxc)}})[_0xfdad[14]](function(){if(_0xf97fxb[_0xfdad[13]]&& !_0xf97fxb[_0xfdad[17]](_0xfdad[13])&& _0xf97fxb[_0xfdad[17]](_0xfdad[25])){return deleteChanSpy(_0xf97fxb,_0xf97fxc)}})[_0xfdad[14]](function(){if(_0xf97fxb[_0xfdad[13]]&& !_0xf97fxb[_0xfdad[17]](_0xfdad[13])&& _0xf97fxb[_0xfdad[17]](_0xfdad[25])){return createChanspy(_0xf97fxb,_0xf97fxc)}})[_0xfdad[14]](function(){if(!_0xf97fxb[_0xfdad[13]]&& _0xf97fxb[_0xfdad[17]](_0xfdad[13])){return deleteChanSpy(_0xf97fxb,_0xf97fxc)}})}})}function createChanspy(_0xf97fxb,_0xf97fxc){console[_0xfdad[28]](_0xfdad[27]);return ChanSpy[_0xfdad[44]]()[_0xfdad[14]](function(_0xf97fxe){var _0xf97fxf=[];_0xf97fxe[_0xfdad[43]](function(_0xf97fx10){var _0xf97fx11=[];var _0xf97fx12=1;if(_0xf97fx10[_0xfdad[29]]){_0xf97fx11[_0xfdad[38]]({context:_0xfdad[30],exten:util[_0xfdad[33]](_0xfdad[31],_0xf97fx10[_0xfdad[32]],_0xf97fxb[_0xfdad[25]]),priority:_0xf97fx12,app:_0xfdad[34],appdata:_0xf97fx10[_0xfdad[35]],UserId:_0xf97fxb[_0xfdad[36]],ChanSpyId:_0xf97fx10[_0xfdad[36]],type:_0xfdad[37]});_0xf97fx12++};_0xf97fx11[_0xfdad[38]]({context:_0xfdad[30],exten:util[_0xfdad[33]](_0xfdad[31],_0xf97fx10[_0xfdad[32]],_0xf97fxb[_0xfdad[25]]),priority:_0xf97fx12,app:_0xfdad[8],appdata:util[_0xfdad[33]](_0xfdad[39],_0xf97fxb[_0xfdad[25]],_0xf97fx10[_0xfdad[40]]),UserId:_0xf97fxb[_0xfdad[36]],ChanSpyId:_0xf97fx10[_0xfdad[36]],type:_0xfdad[37]});_0xf97fx12= 1;if(_0xf97fx10[_0xfdad[29]]){_0xf97fx11[_0xfdad[38]]({context:_0xfdad[30],exten:util[_0xfdad[33]](_0xfdad[31],_0xf97fx10[_0xfdad[32]],_0xf97fxb[_0xfdad[11]]),priority:_0xf97fx12,app:_0xfdad[34],appdata:_0xf97fx10[_0xfdad[35]],UserId:_0xf97fxb[_0xfdad[36]],ChanSpyId:_0xf97fx10[_0xfdad[36]],type:_0xfdad[37]});_0xf97fx12++};_0xf97fx11[_0xfdad[38]]({context:_0xfdad[30],exten:util[_0xfdad[33]](_0xfdad[31],_0xf97fx10[_0xfdad[32]],_0xf97fxb[_0xfdad[11]]),priority:_0xf97fx12,app:_0xfdad[8],appdata:util[_0xfdad[33]](_0xfdad[39],_0xf97fxb[_0xfdad[25]],_0xf97fx10[_0xfdad[40]]),UserId:_0xf97fxb[_0xfdad[36]],ChanSpyId:_0xf97fx10[_0xfdad[36]],type:_0xfdad[37]});_0xf97fxf[_0xfdad[38]](VoiceExtension[_0xfdad[42]](_0xf97fx11,{transaction:_0xf97fxc[_0xfdad[41]]}))});return _0xf97fxf})[_0xfdad[15]]()}function deleteChanSpy(_0xf97fxb,_0xf97fxc){console[_0xfdad[28]](_0xfdad[45]);return VoiceExtension[_0xfdad[46]]({where:{UserId:_0xf97fxb[_0xfdad[36]],ChanSpyId:{$ne:null}},transaction:_0xf97fxc[_0xfdad[41]]})}function createCallerID(_0xf97fxb,_0xf97fxc){return function(){if(_0xf97fxb[_0xfdad[47]]&& _0xf97fxb[_0xfdad[11]]&& _0xf97fxb[_0xfdad[17]](_0xfdad[47])){console[_0xfdad[28]](_0xfdad[48]);_0xf97fxb[_0xfdad[22]]= util[_0xfdad[33]](_0xfdad[49],_0xf97fxb[_0xfdad[47]],_0xf97fxb[_0xfdad[11]]);return _0xf97fxb[_0xfdad[50]]({transaction:_0xf97fxc[_0xfdad[41]]})};return}}function createExtension(_0xf97fxb,_0xf97fxc){console[_0xfdad[28]](_0xfdad[51]);return function(){var _0xf97fx16=[{context:_0xfdad[30],exten:_0xfdad[52]+ _0xf97fxb[_0xfdad[11]],priority:1,app:_0xfdad[53],appdata:_0xfdad[54],UserId:_0xf97fxb[_0xfdad[36]],type:_0xfdad[37]},{context:_0xfdad[30],exten:_0xfdad[52]+ _0xf97fxb[_0xfdad[11]],priority:2,app:_0xfdad[55],appdata:_0xfdad[56]+ _0xf97fxb[_0xfdad[25]]+ _0xfdad[57],UserId:_0xf97fxb[_0xfdad[36]],type:_0xfdad[37]},{context:_0xfdad[30],exten:_0xfdad[52]+ _0xf97fxb[_0xfdad[11]],priority:3,app:_0xfdad[58],appdata:_0xfdad[59],UserId:_0xf97fxb[_0xfdad[36]],type:_0xfdad[37]},{context:_0xfdad[30],exten:_0xf97fxb[_0xfdad[25]],priority:1,app:_0xfdad[53],appdata:_0xfdad[54],UserId:_0xf97fxb[_0xfdad[36]],type:_0xfdad[37]},{context:_0xfdad[30],exten:_0xf97fxb[_0xfdad[25]],priority:2,app:_0xfdad[55],appdata:_0xfdad[56]+ _0xf97fxb[_0xfdad[25]]+ _0xfdad[57],UserId:_0xf97fxb[_0xfdad[36]],type:_0xfdad[37]},{context:_0xfdad[30],exten:_0xf97fxb[_0xfdad[25]],priority:3,app:_0xfdad[58],appdata:_0xfdad[59],UserId:_0xf97fxb[_0xfdad[36]],type:_0xfdad[37]}];return VoiceExtension[_0xfdad[42]](_0xf97fx16,{transaction:_0xf97fxc[_0xfdad[41]]})}}module[_0xfdad[60]]= User
\ No newline at end of file
-'use strict';
-
-const _ = require('lodash');
-const rp = require('request-promise');
-const Mustache = require('mustache');
-
-const Template = require('../../models').Template;
-const ChatRoom = require('../../models').ChatRoom;
-const ChatEnquiry = require('../../models').ChatEnquiry;
-const ChatWebsite = require('../../models').ChatWebsite;
-const MailMessage = require('../../models').MailMessage;
-const MailAccount = require('../../models').MailAccount;
-const MailServerOut = require('../../models').MailServerOut;
-
-function Chat() {
- console.log('Trigger Chat Initialization...');
-
- ChatEnquiry.afterCreate(function(chatEnquiry, options) {
- var _chatEnquiry = chatEnquiry;
- var _chatWebsite;
- var _mailServerOut;
- var _offlineTemplate;
-
- return ChatWebsite
- .findById(chatEnquiry.ChatWebsiteId)
- .then(function(chatWebsite) {
- _chatWebsite = chatWebsite;
- _chatEnquiry.chatWebsite = _chatWebsite.name;
-
- if (_chatWebsite.enquiry_forwarding && _chatWebsite.enquiry_forwarding_address) {
- return _chatWebsite
- .getOfflineTemplate();
- } else {
- return null;
- }
- })
- .then(function(offlineTemplate) {
- _offlineTemplate = offlineTemplate;
- if (_offlineTemplate) {
- _offlineTemplate.html = Mustache.render(_offlineTemplate.html, _chatEnquiry);
- _offlineTemplate.subject = Mustache.render(_offlineTemplate.subject, _chatEnquiry);
-
- return MailServerOut
- .findOne({
- where: {
- service: true
- }
- });
-
- } else {
- return null;
- }
-
-
- })
- .then(function(mailServerOut) {
- _mailServerOut = mailServerOut;
-
- if (_mailServerOut) {
- return MailMessage
- .create({
- from: [_mailServerOut.username],
- to: [_chatWebsite.enquiry_forwarding_address],
- subject: _offlineTemplate.subject,
- html: _offlineTemplate.html
- }, {
- transaction: options ? options.transaction : null
- });
- }
- });
- });
-}
-
-// Chat.prototype.http = function(action, dataValues) {
-// var options = {
-// method: action.data1,
-// uri: action.data2,
-// json: true
-// };
-//
-// switch (action.data1) {
-// case 'GET':
-// options.qs = dataValues;
-// break;
-// case 'POST':
-// options.form = dataValues;
-// break;
-// default:
-// }
-//
-// return rp(options)
-// .catch(function(err) {
-// console.error(err);
-// });
-// }
-
-Chat.prototype.tag = function(action, dataValues) {
- return ChatRoom
- .update({
- tags: action.data1.split(';')
- }, {
- where: {
- id: dataValues.id
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Chat.prototype.accountEmail = function(action, dataValues) {
- return MailAccount
- .findById(action.data1)
- .then(function(mailAccount) {
- return MailMessage
- .create({
- subject: action.data4 || null,
- from: [mailAccount.address],
- to: action.data2.split(';'),
- cc: action.data3 ? action.data3.split(';') : [],
- html: action.data5 ? Mustache
- .render(action.data5, dataValues)
- .replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''')
- .replace(/\n/g, '<br>') : null,
- status: 'SENDING',
- auto: true,
- accountId: mailAccount.id,
- accountName: mailAccount.name
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Chat.prototype.close = function(action, dataValues) {
- return ChatRoom
- .update({
- status: 'CLOSED',
- disposition: action.data1 || null
- }, {
- individualHooks: true,
- where: {
- id: dataValues.id
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-module.exports = Chat;
+var _0x108b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x6D\x75\x73\x74\x61\x63\x68\x65","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x54\x72\x69\x67\x67\x65\x72\x20\x43\x68\x61\x74\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x66\x6F\x72\x77\x61\x72\x64\x69\x6E\x67\x5F\x61\x64\x64\x72\x65\x73\x73","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x72\x65\x6E\x64\x65\x72","\x66\x69\x6E\x64\x4F\x6E\x65","\x63\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x6E\x61\x6D\x65","\x65\x6E\x71\x75\x69\x72\x79\x5F\x66\x6F\x72\x77\x61\x72\x64\x69\x6E\x67","\x67\x65\x74\x4F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x74\x61\x67","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x3B","\x73\x70\x6C\x69\x74","\x64\x61\x74\x61\x31","\x69\x64","\x75\x70\x64\x61\x74\x65","\x61\x63\x63\x6F\x75\x6E\x74\x45\x6D\x61\x69\x6C","\x64\x61\x74\x61\x34","\x61\x64\x64\x72\x65\x73\x73","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x33","\x64\x61\x74\x61\x35","\x3C\x62\x72\x3E","\x72\x65\x70\x6C\x61\x63\x65","\x26\x23\x30\x33\x39\x3B","\x26\x71\x75\x6F\x74\x3B","\x26\x67\x74\x3B","\x26\x6C\x74\x3B","\x26\x61\x6D\x70\x3B","\x53\x45\x4E\x44\x49\x4E\x47","\x63\x6C\x6F\x73\x65","\x43\x4C\x4F\x53\x45\x44","\x65\x78\x70\x6F\x72\x74\x73"];_0x108b[0];const _=require(_0x108b[1]);const rp=require(_0x108b[2]);const Mustache=require(_0x108b[3]);const Template=require(_0x108b[5])[_0x108b[4]];const ChatRoom=require(_0x108b[5])[_0x108b[6]];const ChatEnquiry=require(_0x108b[5])[_0x108b[7]];const ChatWebsite=require(_0x108b[5])[_0x108b[8]];const MailMessage=require(_0x108b[5])[_0x108b[9]];const MailAccount=require(_0x108b[5])[_0x108b[10]];const MailServerOut=require(_0x108b[5])[_0x108b[11]];function Chat(){console[_0x108b[13]](_0x108b[12]);ChatEnquiry[_0x108b[28]](function(_0xfabfxc,_0xfabfxd){var _0xfabfxe=_0xfabfxc;var _0xfabfxf;var _0xfabfx10;var _0xfabfx11;return ChatWebsite[_0x108b[27]](_0xfabfxc.ChatWebsiteId)[_0x108b[20]](function(_0xfabfx14){_0xfabfxf= _0xfabfx14;_0xfabfxe[_0x108b[23]]= _0xfabfxf[_0x108b[24]];if(_0xfabfxf[_0x108b[25]]&& _0xfabfxf[_0x108b[15]]){return _0xfabfxf[_0x108b[26]]()}else {return null}})[_0x108b[20]](function(_0xfabfx13){_0xfabfx11= _0xfabfx13;if(_0xfabfx11){_0xfabfx11[_0x108b[17]]= Mustache[_0x108b[21]](_0xfabfx11[_0x108b[17]],_0xfabfxe);_0xfabfx11[_0x108b[16]]= Mustache[_0x108b[21]](_0xfabfx11[_0x108b[16]],_0xfabfxe);return MailServerOut[_0x108b[22]]({where:{service:true}})}else {return null}})[_0x108b[20]](function(_0xfabfx12){_0xfabfx10= _0xfabfx12;if(_0xfabfx10){return MailMessage[_0x108b[19]]({from:[_0xfabfx10[_0x108b[14]]],to:[_0xfabfxf[_0x108b[15]]],subject:_0xfabfx11[_0x108b[16]],html:_0xfabfx11[_0x108b[17]]},{transaction:_0xfabfxd?_0xfabfxd[_0x108b[18]]:null})}})})}Chat[_0x108b[30]][_0x108b[29]]= function(_0xfabfx15,_0xfabfx16){return ChatRoom[_0x108b[37]]({tags:_0xfabfx15[_0x108b[35]][_0x108b[34]](_0x108b[33])},{where:{id:_0xfabfx16[_0x108b[36]]}})[_0x108b[32]](function(_0xfabfx17){console[_0x108b[31]](_0xfabfx17)})};Chat[_0x108b[30]][_0x108b[38]]= function(_0xfabfx15,_0xfabfx16){return MailAccount[_0x108b[27]](_0xfabfx15[_0x108b[35]])[_0x108b[20]](function(_0xfabfx18){return MailMessage[_0x108b[19]]({subject:_0xfabfx15[_0x108b[39]]|| null,from:[_0xfabfx18[_0x108b[40]]],to:_0xfabfx15[_0x108b[41]][_0x108b[34]](_0x108b[33]),cc:_0xfabfx15[_0x108b[42]]?_0xfabfx15[_0x108b[42]][_0x108b[34]](_0x108b[33]):[],html:_0xfabfx15[_0x108b[43]]?Mustache[_0x108b[21]](_0xfabfx15[_0x108b[43]],_0xfabfx16)[_0x108b[45]](/&/g,_0x108b[50])[_0x108b[45]](/</g,_0x108b[49])[_0x108b[45]](/>/g,_0x108b[48])[_0x108b[45]](/"/g,_0x108b[47])[_0x108b[45]](/'/g,_0x108b[46])[_0x108b[45]](/\n/g,_0x108b[44]):null,status:_0x108b[51],auto:true,accountId:_0xfabfx18[_0x108b[36]],accountName:_0xfabfx18[_0x108b[24]]})})[_0x108b[32]](function(_0xfabfx17){console[_0x108b[31]](_0xfabfx17)})};Chat[_0x108b[30]][_0x108b[52]]= function(_0xfabfx15,_0xfabfx16){return ChatRoom[_0x108b[37]]({status:_0x108b[53],disposition:_0xfabfx15[_0x108b[35]]|| null},{individualHooks:true,where:{id:_0xfabfx16[_0x108b[36]]}})[_0x108b[32]](function(_0xfabfx17){console[_0x108b[31]](_0xfabfx17)})};module[_0x108b[54]]= Chat
\ No newline at end of file
-var _ = require('lodash');
-
-function Cm() {
- console.log('Trigger Cm Initialization...');
-}
-
-Cm.prototype.manageContact = function(doc, channel) {
- manageContact(doc, channel);
-}
-
-function manageContact(doc, channel) {
- var Contact = require('../../models').Contact;
- var ContactPhone = require('../../models').ContactPhone;
- var ContactEmail = require('../../models').ContactEmail;
- var ReportIntegration = require('../../models').ReportIntegration;
- delete doc.id
- doc.integration = 'contactmanager';
- doc.eventChannel = channel;
- return ReportIntegration.create(doc)
- .catch(function(err) {
- console.log(err);
- });
-}
-
-module.exports = Cm;
+var _0xe08c=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x43\x6D\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6D\x61\x6E\x61\x67\x65\x43\x6F\x6E\x74\x61\x63\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x43\x6F\x6E\x74\x61\x63\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x6F\x6E\x74\x61\x63\x74\x50\x68\x6F\x6E\x65","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x69\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x63\x61\x74\x63\x68","\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0xe08c[0]);function Cm(){console[_0xe08c[2]](_0xe08c[1])}Cm[_0xe08c[4]][_0xe08c[3]]= function(_0x9966x3,_0x9966x4){manageContact(_0x9966x3,_0x9966x4)};function manageContact(_0x9966x3,_0x9966x4){var _0x9966x6=require(_0xe08c[6])[_0xe08c[5]];var _0x9966x7=require(_0xe08c[6])[_0xe08c[7]];var _0x9966x8=require(_0xe08c[6])[_0xe08c[8]];var _0x9966x9=require(_0xe08c[6])[_0xe08c[9]];delete _0x9966x3[_0xe08c[10]];_0x9966x3[_0xe08c[11]]= _0xe08c[12];_0x9966x3[_0xe08c[13]]= _0x9966x4;return _0x9966x9[_0xe08c[15]](_0x9966x3)[_0xe08c[14]](function(_0x9966xa){console[_0xe08c[2]](_0x9966xa)})}module[_0xe08c[16]]= Cm
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var Mustache = require('mustache');
-
-var Util = require('./util');
-var Voice = require('./voice');
-var Mail = require('./mail');
-var Chat = require('./chat');
-var Sms = require('./sms');
-var Cm = require('./cm');
-var UrlForward = require('./urlForward');
-var Jscripty = require('./jscripty');
-var Integration = require('../integrations');
-
-var Trigger = require('../../models').Trigger;
-var ToolsAction = require('../../models').ToolsAction;
-var ToolsCondition = require('../../models').ToolsCondition;
-var ReportAgent = require('../../models').ReportAgent;
-var ReportDial = require('../../models').ReportDial;
-var MailMessage = require('../../models').MailMessage;
-var ChatRoom = require('../../models').ChatRoom;
-var SmsMessage = require('../../models').SmsMessage;
-var ChatVisitor = require('../../models').ChatVisitor;
-var ChatEnquiry = require('../../models').ChatEnquiry;
-var Variable = require('../../models').Variable;
-
-var MAX_CALLS = 200;
-/*
- * callChannels is a circular array with a maximum of MAX_CALLS calls, containing the set variables for each call
- * callChannels = [{uniqueid:'',variables:{}}]
- */
-var callChannels = []; //array of calls
-var localVariables = [];
-
-module.exports = function(ami) {
-
- var util = new Util();
- var voice = new Voice();
- var chat = new Chat();
- var mail = new Mail();
- var sms = new Sms();
- var cm = new Cm();
- var jscripty = new Jscripty();
- var integration = new Integration(ami);
- var urlForward = new UrlForward();
- var _triggers = [];
- Trigger
- .scope('all')
- .findAll()
- .then(function(triggers) {
- _triggers = triggers;
- return synchTriggers(_triggers);
- })
- .then(function() {
- return synchVars(ami);
- })
- .then(function() {
- console.log('Triggers are ', _triggers.length);
- ChatRoom.afterCreate(function(chatRoom) {
- return chatRoom
- .getChatVisitor()
- .then(function(chatVisitor) {
- var actions = util.getActionsByTriggers(chatVisitor, _.filter(_triggers, {
- channel: 'chat'
- }));
- execActions(actions, _.merge(chatVisitor.dataValues, chatRoom.dataValues), 'chat', null, util, voice, mail, cm, jscripty, integration, urlForward, chat);
- })
- .catch(function(err) {
- console.error(err);
- });
- });
- SmsMessage.afterCreate(function(smsMessage) {
- if (smsMessage.status === 'RECEIVED') {
- var actions = util.getActionsByTriggers(smsMessage, _.filter(_triggers, {
- channel: 'sms'
- }));
- execActions(actions, smsMessage.dataValues, 'sms', null, util, voice, mail, cm, jscripty, integration, urlForward, chat, sms);
- }
- });
- ReportDial.afterUpdate(function(doc) {
- if (doc.channel) {
- var actions = util.getActionsByTriggers(doc, _.filter(_triggers, {
- channel: 'voice'
- }));
- doc.dataValues.membername = doc.channel.split(/\/|-/)[1];
- console.log('After dial update, Actions are ', actions.length);
- execActions(actions, doc, 'voice', 'outbound', util, voice, mail, cm, jscripty, integration, urlForward);
- }
- })
- ReportAgent.afterCreate(function(doc) {
- var actions = util.getActionsByTriggers(doc, _.filter(_triggers, {
- channel: 'voice'
- }));
- console.log('After agent create, Actions are ', actions.length);
- execActions(actions, doc, 'voice', 'queue', util, voice, mail, cm, jscripty, integration, urlForward);
- })
- ReportAgent.afterUpdate(function(doc) {
- if (doc.changed('lastevent')) {
- var actions = util.getActionsByTriggers(doc, _.filter(_triggers, {
- channel: 'voice'
- }));
- console.log('After agent update, Actions are ', actions.length);
- execActions(actions, doc, 'voice', 'queue', util, voice, mail, cm, jscripty, integration, urlForward);
- }
- })
- MailMessage.afterCreate(function(doc) {
- if (doc.status === 'RECEIVED') {
- var actions = util.getActionsByTriggers(doc, _.filter(_triggers, {
- channel: 'mail',
- status: true
- }));
-
- execActions(actions, doc, 'mail', null, util, voice, mail, cm, jscripty, integration, urlForward);
- }
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-function synchVars(ami) {
-
- return Variable
- .findAll()
- .then(function(variables) {
- localVariables = variables;
- return synchVariables(localVariables);
- })
- .then(function() {
- ami.on('varset', function(evt) {
- console.log('VARIABLE: ', _.head(_.keys(evt.variable)));
- if (evt.hasOwnProperty('variable') && evt.hasOwnProperty('value')) {
- var foundVar = _.find(localVariables, function(variable) { //search varset variable in local db variables
- return (variable.name === _.head(_.keys(evt.variable))) || (_.toLower(variable.name) === _.head(_.keys(evt.variable)));
- });
- if (foundVar) { //if local db variable exist
- var callFound = _.find(callChannels, {
- uniqueid: evt.uniqueid
- }); //check if there is already an object relative to the call, where the variable has been set, in the calls array
- if (callFound) { //if the call exist, I add the new variable to the list of the call variables or update the old value
- callFound.variables[foundVar.name] = evt.value;
- } else { //otherwise
- if (callChannels.length >= MAX_CALLS) { //If I exceed the max lenght of the calls array I pop the oldest element (FIFO)
- callChannels.shift();
- }
- var call = {
- uniqueid: evt.uniqueid,
- variables: {}
- };
- call.variables[foundVar.name] = evt.value;
- callChannels.push(call); //Insert the new call in the calls array
- }
- }
- }
- });
- })
- .catch(function(err) {
- console.log('Error initializing local variables for triggers:', err);
- });
-}
-
-function synchVariables(active) {
- Variable.afterCreate(function(doc) {
- updateCollection(active, doc);
- console.log('After create, Variables are ', active.length);
- });
- Variable.afterUpdate(function(doc) {
- updateCollection(active, doc);
- console.log('After update, Variables are ', active.length);
- });
- Variable.afterDestroy(function(doc) {
- _.remove(active, {
- id: doc.id
- });
- console.log('After destroy, Variables are ', active.length);
- });
-}
-
-function getActionVariables(doc, channel) {
- var actionVariables = {};
- if (channel === 'voice') {
- var channelVariables = _.find(callChannels, {
- uniqueid: doc.uniqueid
- });
- return channelVariables ? _.merge(_.clone(doc.dataValues), channelVariables.variables) : _.clone(doc.dataValues);
- } else {
- return _.clone(doc.dataValues);
- }
-}
-
-
-function execActions(actions, doc, channel, subtype, util, voice, mail, cm, jscripty, integration, urlForward, chat, sms) {
- console.log('execActions');
- actions.forEach(function(action) {
- console.log('Executing action "' + action.action + '"');
- switch (action.action) {
- case 'contactManager':
- cm.manageContact(doc.dataValues, channel);
- break;
- case 'urlForward':
- case 'http':
- urlForward.sendRequest(doc.dataValues, channel, action, getActionVariables(doc, channel));
- break;
- case 'jscripty':
- jscripty.manageJscripty(action.data1, doc.dataValues, channel);
- break;
- case 'integration':
- case 'motionbar':
- integration.manageEvent(action, doc.dataValues, channel, subtype, getActionVariables(doc, channel));
- break;
- case 'tag':
- switch (channel) {
- case 'mail':
- mail.tag(action, doc.dataValues);
- break;
- case 'chat':
- chat.tag(action, doc);
- break;
- case 'sms':
- sms.tag(action, doc);
- break;
- default:
- }
-
- break;
- // case 'http': //commented cause urlforward does the same, so we don't repeat the same function
- // switch (channel) {
- // case 'mail':
- // mail.http(action, doc.dataValues);
- // break;
- // case 'chat':
- // chat.http(action, doc);
- // break;
- // case 'sms':
- // sms.http(action, doc);
- // break;
- // default:
- // }
- //
- // break;
- case 'email':
- mail.email(action, doc.dataValues);
- break;
- case 'accountEmail':
- switch (channel) {
- case 'chat':
- chat.accountEmail(action, doc);
- break;
- case 'sms':
- sms.accountEmail(action, doc);
- break;
- default:
- }
-
- break;
- case 'forward':
- mail.forward(action, doc.dataValues);
- break;
- case 'template':
- mail.template(action, doc.dataValues);
- break;
- case 'accountTemplate':
- mail.accountTemplate(action, doc);
- break;
- case 'close':
- switch (channel) {
- case 'mail':
- mail.close(action, doc.dataValues);
- break;
- case 'chat':
- chat.close(action, doc);
- break;
- case 'sms':
- sms.close(action, doc);
- break;
- default:
- }
-
- break;
-
- default:
- console.log('Trigger: Action not recognized ', action.action);
- }
- });
-}
-
-function synchTriggers(triggers) {
- Trigger.afterCreate(function(doc, options) {
- options.newTrigger.id = doc.id;
- triggers.push(options.newTrigger);
- });
- Trigger.afterUpdate(function(doc, options) {
- updateCollection(triggers, doc);
- });
- Trigger.afterDestroy(function(doc) {
- _.remove(triggers, {
- id: doc.id
- });
- });
- ToolsAction.afterBulkDestroy(function(doc) {
- var triggerId = parseInt(doc.where.TriggerId);
- var triggerFound = _.find(triggers, function(obj) {
- return obj.id === triggerId;
- });
- if (triggerFound) {
- triggerFound.Actions = [];
- }
- });
- ToolsAction.afterBulkCreate(function(doc) {
- _.forEach(doc, function(action) {
- var triggerFound = _.find(triggers, function(obj) {
- return obj.id === parseInt(action.TriggerId);
- });
- if (triggerFound) {
- triggerFound.Actions.push(action);
- }
- });
- });
- ToolsCondition.afterBulkDestroy(function(doc) {
- if (doc.where.hasOwnProperty('TriggerAllId')) {
- var triggerAllId = parseInt(doc.where.TriggerAllId);
- var triggerAllFound = _.find(triggers, function(obj) {
- return obj.id === triggerAllId;
- });
- if (triggerAllFound) {
- triggerAllFound.All = [];
- }
- } else if (doc.where.hasOwnProperty('TriggerAnyId')) {
- var triggerAnyId = parseInt(doc.where.TriggerAnyId);
- var triggerAnyFound = _.find(triggers, function(obj) {
- return obj.id === triggerAnyId;
- });
- if (triggerAnyFound) {
- triggerAnyFound.Any = [];
- }
- }
- });
- ToolsCondition.afterBulkCreate(function(doc) {
- _.forEach(doc, function(condition) {
- if (condition.dataValues.hasOwnProperty('TriggerAllId')) {
- var triggerAllId = parseInt(condition.dataValues.TriggerAllId);
- var triggerAllFound = _.find(triggers, function(obj) {
- return obj.id === triggerAllId;
- });
- if (triggerAllFound) {
- triggerAllFound.All.push(condition);
- }
- } else if (condition.dataValues.hasOwnProperty('TriggerAnyId')) {
- var triggerAnyId = parseInt(condition.dataValues.TriggerAnyId);
- var triggerAnyFound = _.find(triggers, function(obj) {
- return obj.id === triggerAnyId;
- });
- if (triggerAnyFound) {
- triggerAnyFound.Any.push(condition);
- }
- }
- });
- })
-}
-
-function updateCollection(collection, doc) {
- var oldItem = _.find(collection, {
- id: doc.id
- });
- var index = collection.indexOf(oldItem);
- if (oldItem) {
- collection[index] = _.merge(collection[index], doc);
- } else {
- collection.unshift(doc);
- }
-}
+var _0x650e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x75\x73\x74\x61\x63\x68\x65","\x2E\x2F\x75\x74\x69\x6C","\x2E\x2F\x76\x6F\x69\x63\x65","\x2E\x2F\x6D\x61\x69\x6C","\x2E\x2F\x63\x68\x61\x74","\x2E\x2F\x73\x6D\x73","\x2E\x2F\x63\x6D","\x2E\x2F\x75\x72\x6C\x46\x6F\x72\x77\x61\x72\x64","\x2E\x2F\x6A\x73\x63\x72\x69\x70\x74\x79","\x2E\x2E\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x54\x72\x69\x67\x67\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x6F\x6F\x6C\x73\x41\x63\x74\x69\x6F\x6E","\x54\x6F\x6F\x6C\x73\x43\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x44\x69\x61\x6C","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x43\x68\x61\x74\x45\x6E\x71\x75\x69\x72\x79","\x56\x61\x72\x69\x61\x62\x6C\x65","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x54\x72\x69\x67\x67\x65\x72\x73\x20\x61\x72\x65\x20","\x6C\x65\x6E\x67\x74\x68","\x6C\x6F\x67","\x63\x68\x61\x74","\x66\x69\x6C\x74\x65\x72","\x67\x65\x74\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x54\x72\x69\x67\x67\x65\x72\x73","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x65\x72\x67\x65","\x74\x68\x65\x6E","\x67\x65\x74\x43\x68\x61\x74\x56\x69\x73\x69\x74\x6F\x72","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x52\x45\x43\x45\x49\x56\x45\x44","\x73\x6D\x73","\x63\x68\x61\x6E\x6E\x65\x6C","\x76\x6F\x69\x63\x65","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x73\x70\x6C\x69\x74","\x41\x66\x74\x65\x72\x20\x64\x69\x61\x6C\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x41\x66\x74\x65\x72\x20\x61\x67\x65\x6E\x74\x20\x63\x72\x65\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x71\x75\x65\x75\x65","\x6C\x61\x73\x74\x65\x76\x65\x6E\x74","\x63\x68\x61\x6E\x67\x65\x64","\x41\x66\x74\x65\x72\x20\x61\x67\x65\x6E\x74\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x41\x63\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20","\x6D\x61\x69\x6C","\x66\x69\x6E\x64\x41\x6C\x6C","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x45\x72\x72\x6F\x72\x20\x69\x6E\x69\x74\x69\x61\x6C\x69\x7A\x69\x6E\x67\x20\x6C\x6F\x63\x61\x6C\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x66\x6F\x72\x20\x74\x72\x69\x67\x67\x65\x72\x73\x3A","\x76\x61\x72\x73\x65\x74","\x76\x61\x72\x69\x61\x62\x6C\x65","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x76\x61\x6C\x75\x65","\x6E\x61\x6D\x65","\x6B\x65\x79\x73","\x68\x65\x61\x64","\x74\x6F\x4C\x6F\x77\x65\x72","\x66\x69\x6E\x64","\x75\x6E\x69\x71\x75\x65\x69\x64","\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x73\x68\x69\x66\x74","\x70\x75\x73\x68","\x6F\x6E","\x41\x66\x74\x65\x72\x20\x63\x72\x65\x61\x74\x65\x2C\x20\x56\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x61\x72\x65\x20","\x41\x66\x74\x65\x72\x20\x75\x70\x64\x61\x74\x65\x2C\x20\x56\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x61\x72\x65\x20","\x69\x64","\x72\x65\x6D\x6F\x76\x65","\x41\x66\x74\x65\x72\x20\x64\x65\x73\x74\x72\x6F\x79\x2C\x20\x56\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x61\x72\x65\x20","\x61\x66\x74\x65\x72\x44\x65\x73\x74\x72\x6F\x79","\x63\x6C\x6F\x6E\x65","\x65\x78\x65\x63\x41\x63\x74\x69\x6F\x6E\x73","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x61\x63\x74\x69\x6F\x6E\x20\x22","\x61\x63\x74\x69\x6F\x6E","\x22","\x6D\x61\x6E\x61\x67\x65\x43\x6F\x6E\x74\x61\x63\x74","\x63\x6F\x6E\x74\x61\x63\x74\x4D\x61\x6E\x61\x67\x65\x72","\x75\x72\x6C\x46\x6F\x72\x77\x61\x72\x64","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x68\x74\x74\x70","\x64\x61\x74\x61\x31","\x6D\x61\x6E\x61\x67\x65\x4A\x73\x63\x72\x69\x70\x74\x79","\x6A\x73\x63\x72\x69\x70\x74\x79","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x6D\x61\x6E\x61\x67\x65\x45\x76\x65\x6E\x74","\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x74\x61\x67","\x65\x6D\x61\x69\x6C","\x61\x63\x63\x6F\x75\x6E\x74\x45\x6D\x61\x69\x6C","\x66\x6F\x72\x77\x61\x72\x64","\x74\x65\x6D\x70\x6C\x61\x74\x65","\x61\x63\x63\x6F\x75\x6E\x74\x54\x65\x6D\x70\x6C\x61\x74\x65","\x63\x6C\x6F\x73\x65","\x54\x72\x69\x67\x67\x65\x72\x3A\x20\x41\x63\x74\x69\x6F\x6E\x20\x6E\x6F\x74\x20\x72\x65\x63\x6F\x67\x6E\x69\x7A\x65\x64\x20","\x66\x6F\x72\x45\x61\x63\x68","\x6E\x65\x77\x54\x72\x69\x67\x67\x65\x72","\x77\x68\x65\x72\x65","\x41\x63\x74\x69\x6F\x6E\x73","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x54\x72\x69\x67\x67\x65\x72\x41\x6C\x6C\x49\x64","\x41\x6C\x6C","\x54\x72\x69\x67\x67\x65\x72\x41\x6E\x79\x49\x64","\x41\x6E\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x75\x6E\x73\x68\x69\x66\x74"];_0x650e[0];var _=require(_0x650e[1]);var Mustache=require(_0x650e[2]);var Util=require(_0x650e[3]);var Voice=require(_0x650e[4]);var Mail=require(_0x650e[5]);var Chat=require(_0x650e[6]);var Sms=require(_0x650e[7]);var Cm=require(_0x650e[8]);var UrlForward=require(_0x650e[9]);var Jscripty=require(_0x650e[10]);var Integration=require(_0x650e[11]);var Trigger=require(_0x650e[13])[_0x650e[12]];var ToolsAction=require(_0x650e[13])[_0x650e[14]];var ToolsCondition=require(_0x650e[13])[_0x650e[15]];var ReportAgent=require(_0x650e[13])[_0x650e[16]];var ReportDial=require(_0x650e[13])[_0x650e[17]];var MailMessage=require(_0x650e[13])[_0x650e[18]];var ChatRoom=require(_0x650e[13])[_0x650e[19]];var SmsMessage=require(_0x650e[13])[_0x650e[20]];var ChatVisitor=require(_0x650e[13])[_0x650e[21]];var ChatEnquiry=require(_0x650e[13])[_0x650e[22]];var Variable=require(_0x650e[13])[_0x650e[23]];var MAX_CALLS=200;var callChannels=[];var localVariables=[];module[_0x650e[24]]= function(_0x2a06x1a){var _0x2a06x1b= new Util();var _0x2a06x1c= new Voice();var _0x2a06x1d= new Chat();var _0x2a06x1e= new Mail();var _0x2a06x1f= new Sms();var _0x2a06x20= new Cm();var _0x2a06x21= new Jscripty();var _0x2a06x22= new Integration(_0x2a06x1a);var _0x2a06x23= new UrlForward();var _0x2a06x24=[];Trigger[_0x650e[56]](_0x650e[55])[_0x650e[54]]()[_0x650e[35]](function(_0x2a06x2b){_0x2a06x24= _0x2a06x2b;return synchTriggers(_0x2a06x24)})[_0x650e[35]](function(){return synchVars(_0x2a06x1a)})[_0x650e[35]](function(){console[_0x650e[29]](_0x650e[27],_0x2a06x24[_0x650e[28]]);ChatRoom[_0x650e[37]](function(_0x2a06x26){return _0x2a06x26[_0x650e[36]]()[_0x650e[35]](function(_0x2a06x27){var _0x2a06x28=_0x2a06x1b[_0x650e[32]](_0x2a06x27,_[_0x650e[31]](_0x2a06x24,{channel:_0x650e[30]}));execActions(_0x2a06x28,_[_0x650e[34]](_0x2a06x27[_0x650e[33]],_0x2a06x26[_0x650e[33]]),_0x650e[30],null,_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23,_0x2a06x1d)})[_0x650e[26]](function(_0x2a06x25){console[_0x650e[25]](_0x2a06x25)})});SmsMessage[_0x650e[37]](function(_0x2a06x29){if(_0x2a06x29[_0x650e[38]]=== _0x650e[39]){var _0x2a06x28=_0x2a06x1b[_0x650e[32]](_0x2a06x29,_[_0x650e[31]](_0x2a06x24,{channel:_0x650e[40]}));execActions(_0x2a06x28,_0x2a06x29[_0x650e[33]],_0x650e[40],null,_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23,_0x2a06x1d,_0x2a06x1f)}});ReportDial[_0x650e[47]](function(_0x2a06x2a){if(_0x2a06x2a[_0x650e[41]]){var _0x2a06x28=_0x2a06x1b[_0x650e[32]](_0x2a06x2a,_[_0x650e[31]](_0x2a06x24,{channel:_0x650e[42]}));_0x2a06x2a[_0x650e[33]][_0x650e[43]]= _0x2a06x2a[_0x650e[41]][_0x650e[44]](/\/|-/)[1];console[_0x650e[29]](_0x650e[45],_0x2a06x28[_0x650e[28]]);execActions(_0x2a06x28,_0x2a06x2a,_0x650e[42],_0x650e[46],_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23)}});ReportAgent[_0x650e[37]](function(_0x2a06x2a){var _0x2a06x28=_0x2a06x1b[_0x650e[32]](_0x2a06x2a,_[_0x650e[31]](_0x2a06x24,{channel:_0x650e[42]}));console[_0x650e[29]](_0x650e[48],_0x2a06x28[_0x650e[28]]);execActions(_0x2a06x28,_0x2a06x2a,_0x650e[42],_0x650e[49],_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23)});ReportAgent[_0x650e[47]](function(_0x2a06x2a){if(_0x2a06x2a[_0x650e[51]](_0x650e[50])){var _0x2a06x28=_0x2a06x1b[_0x650e[32]](_0x2a06x2a,_[_0x650e[31]](_0x2a06x24,{channel:_0x650e[42]}));console[_0x650e[29]](_0x650e[52],_0x2a06x28[_0x650e[28]]);execActions(_0x2a06x28,_0x2a06x2a,_0x650e[42],_0x650e[49],_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23)}});MailMessage[_0x650e[37]](function(_0x2a06x2a){if(_0x2a06x2a[_0x650e[38]]=== _0x650e[39]){var _0x2a06x28=_0x2a06x1b[_0x650e[32]](_0x2a06x2a,_[_0x650e[31]](_0x2a06x24,{channel:_0x650e[53],status:true}));execActions(_0x2a06x28,_0x2a06x2a,_0x650e[53],null,_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23)}})})[_0x650e[26]](function(_0x2a06x25){console[_0x650e[25]](_0x2a06x25)})};function synchVars(_0x2a06x1a){return Variable[_0x650e[54]]()[_0x650e[35]](function(_0x2a06x32){localVariables= _0x2a06x32;return synchVariables(localVariables)})[_0x650e[35]](function(){_0x2a06x1a[_0x650e[71]](_0x650e[58],function(_0x2a06x2d){if(_0x2a06x2d[_0x650e[60]](_0x650e[59])&& _0x2a06x2d[_0x650e[60]](_0x650e[61])){var _0x2a06x2e=_[_0x650e[66]](localVariables,function(_0x2a06x2f){return (_0x2a06x2f[_0x650e[62]]=== _[_0x650e[64]](_[_0x650e[63]](_0x2a06x2d[_0x650e[59]])))|| (_[_0x650e[65]](_0x2a06x2f[_0x650e[62]])=== _[_0x650e[64]](_[_0x650e[63]](_0x2a06x2d[_0x650e[59]])))});if(_0x2a06x2e){var _0x2a06x30=_[_0x650e[66]](callChannels,{uniqueid:_0x2a06x2d[_0x650e[67]]});if(_0x2a06x30){_0x2a06x30[_0x650e[68]][_0x2a06x2e[_0x650e[62]]]= _0x2a06x2d[_0x650e[61]]}else {if(callChannels[_0x650e[28]]>= MAX_CALLS){callChannels[_0x650e[69]]()};var _0x2a06x31={uniqueid:_0x2a06x2d[_0x650e[67]],variables:{}};_0x2a06x31[_0x650e[68]][_0x2a06x2e[_0x650e[62]]]= _0x2a06x2d[_0x650e[61]];callChannels[_0x650e[70]](_0x2a06x31)}}}})})[_0x650e[26]](function(_0x2a06x25){console[_0x650e[29]](_0x650e[57],_0x2a06x25)})}function synchVariables(_0x2a06x34){Variable[_0x650e[37]](function(_0x2a06x2a){updateCollection(_0x2a06x34,_0x2a06x2a);console[_0x650e[29]](_0x650e[72],_0x2a06x34[_0x650e[28]])});Variable[_0x650e[47]](function(_0x2a06x2a){updateCollection(_0x2a06x34,_0x2a06x2a);console[_0x650e[29]](_0x650e[73],_0x2a06x34[_0x650e[28]])});Variable[_0x650e[77]](function(_0x2a06x2a){_[_0x650e[75]](_0x2a06x34,{id:_0x2a06x2a[_0x650e[74]]});console[_0x650e[29]](_0x650e[76],_0x2a06x34[_0x650e[28]])})}function getActionVariables(_0x2a06x2a,_0x2a06x36){var _0x2a06x37={};if(_0x2a06x36=== _0x650e[42]){var _0x2a06x38=_[_0x650e[66]](callChannels,{uniqueid:_0x2a06x2a[_0x650e[67]]});return _0x2a06x38?_[_0x650e[34]](_[_0x650e[78]](_0x2a06x2a[_0x650e[33]]),_0x2a06x38[_0x650e[68]]):_[_0x650e[78]](_0x2a06x2a[_0x650e[33]])}else {return _[_0x650e[78]](_0x2a06x2a[_0x650e[33]])}}function execActions(_0x2a06x28,_0x2a06x2a,_0x2a06x36,_0x2a06x3a,_0x2a06x1b,_0x2a06x1c,_0x2a06x1e,_0x2a06x20,_0x2a06x21,_0x2a06x22,_0x2a06x23,_0x2a06x1d,_0x2a06x1f){console[_0x650e[29]](_0x650e[79]);_0x2a06x28[_0x650e[102]](function(_0x2a06x3b){console[_0x650e[29]](_0x650e[80]+ _0x2a06x3b[_0x650e[81]]+ _0x650e[82]);switch(_0x2a06x3b[_0x650e[81]]){case _0x650e[84]:_0x2a06x20[_0x650e[83]](_0x2a06x2a[_0x650e[33]],_0x2a06x36);break;case _0x650e[85]:;case _0x650e[87]:_0x2a06x23[_0x650e[86]](_0x2a06x2a[_0x650e[33]],_0x2a06x36,_0x2a06x3b,getActionVariables(_0x2a06x2a,_0x2a06x36));break;case _0x650e[90]:_0x2a06x21[_0x650e[89]](_0x2a06x3b[_0x650e[88]],_0x2a06x2a[_0x650e[33]],_0x2a06x36);break;case _0x650e[91]:;case _0x650e[93]:_0x2a06x22[_0x650e[92]](_0x2a06x3b,_0x2a06x2a[_0x650e[33]],_0x2a06x36,_0x2a06x3a,getActionVariables(_0x2a06x2a,_0x2a06x36));break;case _0x650e[94]:switch(_0x2a06x36){case _0x650e[53]:_0x2a06x1e[_0x650e[94]](_0x2a06x3b,_0x2a06x2a[_0x650e[33]]);break;case _0x650e[30]:_0x2a06x1d[_0x650e[94]](_0x2a06x3b,_0x2a06x2a);break;case _0x650e[40]:_0x2a06x1f[_0x650e[94]](_0x2a06x3b,_0x2a06x2a);break;default:};break;case _0x650e[95]:_0x2a06x1e[_0x650e[95]](_0x2a06x3b,_0x2a06x2a[_0x650e[33]]);break;case _0x650e[96]:switch(_0x2a06x36){case _0x650e[30]:_0x2a06x1d[_0x650e[96]](_0x2a06x3b,_0x2a06x2a);break;case _0x650e[40]:_0x2a06x1f[_0x650e[96]](_0x2a06x3b,_0x2a06x2a);break;default:};break;case _0x650e[97]:_0x2a06x1e[_0x650e[97]](_0x2a06x3b,_0x2a06x2a[_0x650e[33]]);break;case _0x650e[98]:_0x2a06x1e[_0x650e[98]](_0x2a06x3b,_0x2a06x2a[_0x650e[33]]);break;case _0x650e[99]:_0x2a06x1e[_0x650e[99]](_0x2a06x3b,_0x2a06x2a);break;case _0x650e[100]:switch(_0x2a06x36){case _0x650e[53]:_0x2a06x1e[_0x650e[100]](_0x2a06x3b,_0x2a06x2a[_0x650e[33]]);break;case _0x650e[30]:_0x2a06x1d[_0x650e[100]](_0x2a06x3b,_0x2a06x2a);break;case _0x650e[40]:_0x2a06x1f[_0x650e[100]](_0x2a06x3b,_0x2a06x2a);break;default:};break;default:console[_0x650e[29]](_0x650e[101],_0x2a06x3b[_0x650e[81]])}})}function synchTriggers(_0x2a06x2b){Trigger[_0x650e[37]](function(_0x2a06x2a,_0x2a06x3d){_0x2a06x3d[_0x650e[103]][_0x650e[74]]= _0x2a06x2a[_0x650e[74]];_0x2a06x2b[_0x650e[70]](_0x2a06x3d[_0x650e[103]])});Trigger[_0x650e[47]](function(_0x2a06x2a,_0x2a06x3d){updateCollection(_0x2a06x2b,_0x2a06x2a)});Trigger[_0x650e[77]](function(_0x2a06x2a){_[_0x650e[75]](_0x2a06x2b,{id:_0x2a06x2a[_0x650e[74]]})});ToolsAction[_0x650e[106]](function(_0x2a06x2a){var _0x2a06x3e=parseInt(_0x2a06x2a[_0x650e[104]].TriggerId);var _0x2a06x3f=_[_0x650e[66]](_0x2a06x2b,function(_0x2a06x40){return _0x2a06x40[_0x650e[74]]=== _0x2a06x3e});if(_0x2a06x3f){_0x2a06x3f[_0x650e[105]]= []}});ToolsAction[_0x650e[107]](function(_0x2a06x2a){_[_0x650e[102]](_0x2a06x2a,function(_0x2a06x3b){var _0x2a06x3f=_[_0x650e[66]](_0x2a06x2b,function(_0x2a06x40){return _0x2a06x40[_0x650e[74]]=== parseInt(_0x2a06x3b.TriggerId)});if(_0x2a06x3f){_0x2a06x3f[_0x650e[105]][_0x650e[70]](_0x2a06x3b)}})});ToolsCondition[_0x650e[106]](function(_0x2a06x2a){if(_0x2a06x2a[_0x650e[104]][_0x650e[60]](_0x650e[108])){var _0x2a06x41=parseInt(_0x2a06x2a[_0x650e[104]].TriggerAllId);var _0x2a06x42=_[_0x650e[66]](_0x2a06x2b,function(_0x2a06x40){return _0x2a06x40[_0x650e[74]]=== _0x2a06x41});if(_0x2a06x42){_0x2a06x42[_0x650e[109]]= []}}else {if(_0x2a06x2a[_0x650e[104]][_0x650e[60]](_0x650e[110])){var _0x2a06x43=parseInt(_0x2a06x2a[_0x650e[104]].TriggerAnyId);var _0x2a06x44=_[_0x650e[66]](_0x2a06x2b,function(_0x2a06x40){return _0x2a06x40[_0x650e[74]]=== _0x2a06x43});if(_0x2a06x44){_0x2a06x44[_0x650e[111]]= []}}}});ToolsCondition[_0x650e[107]](function(_0x2a06x2a){_[_0x650e[102]](_0x2a06x2a,function(_0x2a06x45){if(_0x2a06x45[_0x650e[33]][_0x650e[60]](_0x650e[108])){var _0x2a06x41=parseInt(_0x2a06x45[_0x650e[33]].TriggerAllId);var _0x2a06x42=_[_0x650e[66]](_0x2a06x2b,function(_0x2a06x40){return _0x2a06x40[_0x650e[74]]=== _0x2a06x41});if(_0x2a06x42){_0x2a06x42[_0x650e[109]][_0x650e[70]](_0x2a06x45)}}else {if(_0x2a06x45[_0x650e[33]][_0x650e[60]](_0x650e[110])){var _0x2a06x43=parseInt(_0x2a06x45[_0x650e[33]].TriggerAnyId);var _0x2a06x44=_[_0x650e[66]](_0x2a06x2b,function(_0x2a06x40){return _0x2a06x40[_0x650e[74]]=== _0x2a06x43});if(_0x2a06x44){_0x2a06x44[_0x650e[111]][_0x650e[70]](_0x2a06x45)}}}})})}function updateCollection(_0x2a06x47,_0x2a06x2a){var _0x2a06x48=_[_0x650e[66]](_0x2a06x47,{id:_0x2a06x2a[_0x650e[74]]});var _0x2a06x49=_0x2a06x47[_0x650e[112]](_0x2a06x48);if(_0x2a06x48){_0x2a06x47[_0x2a06x49]= _[_0x650e[34]](_0x2a06x47[_0x2a06x49],_0x2a06x2a)}else {_0x2a06x47[_0x650e[113]](_0x2a06x2a)}}
\ No newline at end of file
-var _ = require('lodash');
-
-function Jscripty() {
- console.log('Trigger Jscripty Initialization...');
-}
-
-Jscripty.prototype.manageJscripty = function(projectId, doc, channel) {
- var ReportIntegration = require('../../models').ReportIntegration;
- delete doc.id;
- doc.integration = 'jscripty';
- doc.eventChannel = channel;
- doc.projectId = projectId;
-
- return ReportIntegration
- .create(doc)
- .catch(function(err) {
- console.log(err);
- });
-}
-
-module.exports = Jscripty;
+var _0x37af=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x4A\x73\x63\x72\x69\x70\x74\x79\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x6D\x61\x6E\x61\x67\x65\x4A\x73\x63\x72\x69\x70\x74\x79","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x6A\x73\x63\x72\x69\x70\x74\x79","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x70\x72\x6F\x6A\x65\x63\x74\x49\x64","\x63\x61\x74\x63\x68","\x63\x72\x65\x61\x74\x65","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x37af[0]);function Jscripty(){console[_0x37af[2]](_0x37af[1])}Jscripty[_0x37af[4]][_0x37af[3]]= function(_0x37f4x3,_0x37f4x4,_0x37f4x5){var _0x37f4x6=require(_0x37af[6])[_0x37af[5]];delete _0x37f4x4[_0x37af[7]];_0x37f4x4[_0x37af[8]]= _0x37af[9];_0x37f4x4[_0x37af[10]]= _0x37f4x5;_0x37f4x4[_0x37af[11]]= _0x37f4x3;return _0x37f4x6[_0x37af[13]](_0x37f4x4)[_0x37af[12]](function(_0x37f4x7){console[_0x37af[2]](_0x37f4x7)})};module[_0x37af[14]]= Jscripty
\ No newline at end of file
-const _ = require('lodash');
-const rp = require('request-promise');
-const Mustache = require('mustache');
-
-const MailRoom = require('../../models').MailRoom;
-const Template = require('../../models').Template;
-const MailMessage = require('../../models').MailMessage;
-const MailAccount = require('../../models').MailAccount;
-const MailServerOut = require('../../models').MailServerOut;
-
-function Mail() {
- console.log('Trigger Mail Initialization...');
-}
-
-Mail.prototype.tag = function(action, dataValues, channel, subtype) {
- return MailRoom
- .update({
- tags: action.data1.split(';')
- }, {
- where: {
- id: dataValues.MailRoomId
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-// Mail.prototype.http = function(action, dataValues) {
-// var options = {
-// method: action.data1,
-// uri: action.data2,
-// json: true
-// };
-//
-// switch (action.data1) {
-// case 'GET':
-// options.qs = dataValues;
-// break;
-// case 'POST':
-// options.form = dataValues;
-// break;
-// default:
-// }
-//
-// return rp(options)
-// .catch(function(err) {
-// console.error(err);
-// });
-// }
-
-Mail.prototype.email = function(action, dataValues) {
- return MailAccount
- .findById(dataValues.accountId)
- .then(function(mailAccount) {
-
- return MailMessage
- .create({
- subject: action.data3 || null,
- from: [mailAccount.address],
- to: action.data1.split(';'),
- cc: action.data2 ? action.data2.split(';') : [],
- html: action.data4 ? Mustache
- .render(action.data4, dataValues)
- .replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''')
- .replace(/\n/g, '<br>') : null,
- status: 'SENDING',
- auto: true,
- accountId: mailAccount.id,
- accountName: mailAccount.name
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Mail.prototype.forward = function(action, dataValues) {
- return MailAccount
- .findById(dataValues.accountId)
- .then(function(mailAccount) {
- return MailMessage
- .create({
- subject: dataValues.subject || null,
- from: [mailAccount.address],
- fromId: dataValues.fromId,
- to: action.data1.split(';'),
- text: dataValues
- .text
- .replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''')
- .replace(/\n/g, '<br>'),
- html: dataValues.html,
- status: 'SENDING',
- auto: true,
- accountId: mailAccount.id,
- accountName: mailAccount.name
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Mail.prototype.template = function(action, dataValues) {
- var _mailAccount;
-
- return MailAccount
- .findById(dataValues.accountId)
- .then(function(mailAccount) {
- _mailAccount = mailAccount;
- return Template
- .findById(action.data1);
- })
- .then(function(template) {
- return MailMessage
- .create({
- status: 'SENDING',
- subject: template.subject,
- from: [_mailAccount.address],
- to: action.data2.split(';'),
- html: template.html ? Mustache.render(template.html, dataValues) : null,
- auto: true,
- accountId: _mailAccount.id,
- accountName: _mailAccount.name
- })
- .catch(function(err) {
- console.log(err);
- });
- });
-}
-
-Mail.prototype.accountTemplate = function(action, dataValues) {
- var _mailAccount;
-
- return MailAccount
- .findById(action.data1)
- .then(function(mailAccount) {
- _mailAccount = mailAccount;
- return Template
- .findById(action.data2);
- })
- .then(function(template) {
- return MailMessage
- .create({
- status: 'SENDING',
- subject: template.subject,
- from: [_mailAccount.address],
- to: action.data3.split(';'),
- html: template.html ? Mustache.render(template.html, dataValues) : null,
- auto: true,
- accountId: _mailAccount.id,
- accountName: _mailAccount.name,
- })
- .catch(function(err) {
- console.log(err);
- });
- });
-}
-
-Mail.prototype.close = function(action, dataValues) {
- return MailRoom
- .update({
- status: 'CLOSED',
- disposition: action.data1 || null
- }, {
- individualHooks: true,
- where: {
- id: dataValues.MailRoomId
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-module.exports = Mail;
+var _0x26a4=["\x6C\x6F\x64\x61\x73\x68","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x6D\x75\x73\x74\x61\x63\x68\x65","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x54\x72\x69\x67\x67\x65\x72\x20\x4D\x61\x69\x6C\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x74\x61\x67","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x3B","\x73\x70\x6C\x69\x74","\x64\x61\x74\x61\x31","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x65\x6D\x61\x69\x6C","\x64\x61\x74\x61\x33","\x61\x64\x64\x72\x65\x73\x73","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x34","\x3C\x62\x72\x3E","\x72\x65\x70\x6C\x61\x63\x65","\x26\x23\x30\x33\x39\x3B","\x26\x71\x75\x6F\x74\x3B","\x26\x67\x74\x3B","\x26\x6C\x74\x3B","\x26\x61\x6D\x70\x3B","\x72\x65\x6E\x64\x65\x72","\x53\x45\x4E\x44\x49\x4E\x47","\x69\x64","\x6E\x61\x6D\x65","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x61\x63\x63\x6F\x75\x6E\x74\x49\x64","\x66\x69\x6E\x64\x42\x79\x49\x64","\x66\x6F\x72\x77\x61\x72\x64","\x73\x75\x62\x6A\x65\x63\x74","\x66\x72\x6F\x6D\x49\x64","\x74\x65\x78\x74","\x68\x74\x6D\x6C","\x74\x65\x6D\x70\x6C\x61\x74\x65","\x61\x63\x63\x6F\x75\x6E\x74\x54\x65\x6D\x70\x6C\x61\x74\x65","\x63\x6C\x6F\x73\x65","\x43\x4C\x4F\x53\x45\x44","\x65\x78\x70\x6F\x72\x74\x73"];const _=require(_0x26a4[0]);const rp=require(_0x26a4[1]);const Mustache=require(_0x26a4[2]);const MailRoom=require(_0x26a4[4])[_0x26a4[3]];const Template=require(_0x26a4[4])[_0x26a4[5]];const MailMessage=require(_0x26a4[4])[_0x26a4[6]];const MailAccount=require(_0x26a4[4])[_0x26a4[7]];const MailServerOut=require(_0x26a4[4])[_0x26a4[8]];function Mail(){console[_0x26a4[10]](_0x26a4[9])}Mail[_0x26a4[12]][_0x26a4[11]]= function(_0xf357xa,_0xf357xb,_0xf357xc,_0xf357xd){return MailRoom[_0x26a4[19]]({tags:_0xf357xa[_0x26a4[17]][_0x26a4[16]](_0x26a4[15])},{where:{id:_0xf357xb[_0x26a4[18]]}})[_0x26a4[14]](function(_0xf357xe){console[_0x26a4[13]](_0xf357xe)})};Mail[_0x26a4[12]][_0x26a4[20]]= function(_0xf357xa,_0xf357xb){return MailAccount[_0x26a4[39]](_0xf357xb[_0x26a4[38]])[_0x26a4[37]](function(_0xf357xf){return MailMessage[_0x26a4[36]]({subject:_0xf357xa[_0x26a4[21]]|| null,from:[_0xf357xf[_0x26a4[22]]],to:_0xf357xa[_0x26a4[17]][_0x26a4[16]](_0x26a4[15]),cc:_0xf357xa[_0x26a4[23]]?_0xf357xa[_0x26a4[23]][_0x26a4[16]](_0x26a4[15]):[],html:_0xf357xa[_0x26a4[24]]?Mustache[_0x26a4[32]](_0xf357xa[_0x26a4[24]],_0xf357xb)[_0x26a4[26]](/&/g,_0x26a4[31])[_0x26a4[26]](/</g,_0x26a4[30])[_0x26a4[26]](/>/g,_0x26a4[29])[_0x26a4[26]](/"/g,_0x26a4[28])[_0x26a4[26]](/'/g,_0x26a4[27])[_0x26a4[26]](/\n/g,_0x26a4[25]):null,status:_0x26a4[33],auto:true,accountId:_0xf357xf[_0x26a4[34]],accountName:_0xf357xf[_0x26a4[35]]})})[_0x26a4[14]](function(_0xf357xe){console[_0x26a4[13]](_0xf357xe)})};Mail[_0x26a4[12]][_0x26a4[40]]= function(_0xf357xa,_0xf357xb){return MailAccount[_0x26a4[39]](_0xf357xb[_0x26a4[38]])[_0x26a4[37]](function(_0xf357xf){return MailMessage[_0x26a4[36]]({subject:_0xf357xb[_0x26a4[41]]|| null,from:[_0xf357xf[_0x26a4[22]]],fromId:_0xf357xb[_0x26a4[42]],to:_0xf357xa[_0x26a4[17]][_0x26a4[16]](_0x26a4[15]),text:_0xf357xb[_0x26a4[43]][_0x26a4[26]](/&/g,_0x26a4[31])[_0x26a4[26]](/</g,_0x26a4[30])[_0x26a4[26]](/>/g,_0x26a4[29])[_0x26a4[26]](/"/g,_0x26a4[28])[_0x26a4[26]](/'/g,_0x26a4[27])[_0x26a4[26]](/\n/g,_0x26a4[25]),html:_0xf357xb[_0x26a4[44]],status:_0x26a4[33],auto:true,accountId:_0xf357xf[_0x26a4[34]],accountName:_0xf357xf[_0x26a4[35]]})})[_0x26a4[14]](function(_0xf357xe){console[_0x26a4[13]](_0xf357xe)})};Mail[_0x26a4[12]][_0x26a4[45]]= function(_0xf357xa,_0xf357xb){var _0xf357x10;return MailAccount[_0x26a4[39]](_0xf357xb[_0x26a4[38]])[_0x26a4[37]](function(_0xf357xf){_0xf357x10= _0xf357xf;return Template[_0x26a4[39]](_0xf357xa[_0x26a4[17]])})[_0x26a4[37]](function(_0xf357x11){return MailMessage[_0x26a4[36]]({status:_0x26a4[33],subject:_0xf357x11[_0x26a4[41]],from:[_0xf357x10[_0x26a4[22]]],to:_0xf357xa[_0x26a4[23]][_0x26a4[16]](_0x26a4[15]),html:_0xf357x11[_0x26a4[44]]?Mustache[_0x26a4[32]](_0xf357x11[_0x26a4[44]],_0xf357xb):null,auto:true,accountId:_0xf357x10[_0x26a4[34]],accountName:_0xf357x10[_0x26a4[35]]})[_0x26a4[14]](function(_0xf357xe){console[_0x26a4[10]](_0xf357xe)})})};Mail[_0x26a4[12]][_0x26a4[46]]= function(_0xf357xa,_0xf357xb){var _0xf357x10;return MailAccount[_0x26a4[39]](_0xf357xa[_0x26a4[17]])[_0x26a4[37]](function(_0xf357xf){_0xf357x10= _0xf357xf;return Template[_0x26a4[39]](_0xf357xa[_0x26a4[23]])})[_0x26a4[37]](function(_0xf357x11){return MailMessage[_0x26a4[36]]({status:_0x26a4[33],subject:_0xf357x11[_0x26a4[41]],from:[_0xf357x10[_0x26a4[22]]],to:_0xf357xa[_0x26a4[21]][_0x26a4[16]](_0x26a4[15]),html:_0xf357x11[_0x26a4[44]]?Mustache[_0x26a4[32]](_0xf357x11[_0x26a4[44]],_0xf357xb):null,auto:true,accountId:_0xf357x10[_0x26a4[34]],accountName:_0xf357x10[_0x26a4[35]]})[_0x26a4[14]](function(_0xf357xe){console[_0x26a4[10]](_0xf357xe)})})};Mail[_0x26a4[12]][_0x26a4[47]]= function(_0xf357xa,_0xf357xb){return MailRoom[_0x26a4[19]]({status:_0x26a4[48],disposition:_0xf357xa[_0x26a4[17]]|| null},{individualHooks:true,where:{id:_0xf357xb[_0x26a4[18]]}})[_0x26a4[14]](function(_0xf357xe){console[_0x26a4[13]](_0xf357xe)})};module[_0x26a4[49]]= Mail
\ No newline at end of file
-const _ = require('lodash');
-const rp = require('request-promise');
-const Mustache = require('mustache');
-
-const Template = require('../../models').Template;
-const SmsRoom = require('../../models').SmsRoom;
-const MailAccount = require('../../models').MailAccount;
-const MailMessage = require('../../models').MailMessage;
-
-function Sms() {
- console.log('Trigger Sms Initialization...');
-}
-
-// Sms.prototype.http = function(action, dataValues) {
-// var options = {
-// method: action.data1,
-// uri: action.data2,
-// json: true
-// };
-//
-// switch (action.data1) {
-// case 'GET':
-// options.qs = dataValues;
-// break;
-// case 'POST':
-// options.form = dataValues;
-// break;
-// default:
-// }
-//
-// return rp(options)
-// .catch(function(err) {
-// console.error(err);
-// });
-// }
-
-Sms.prototype.tag = function(action, dataValues) {
- return SmsRoom
- .update({
- tags: action.data1.split(';')
- }, {
- where: {
- id: dataValues.SmsRoomId
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Sms.prototype.close = function(action, dataValues) {
- return SmsRoom
- .update({
- status: 'CLOSED',
- disposition: action.data1 || null
- }, {
- individualHooks: true,
- where: {
- id: dataValues.SmsRoomId
- }
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Sms.prototype.accountEmail = function(action, dataValues) {
- return MailAccount
- .findById(action.data1)
- .then(function(mailAccount) {
- return MailMessage
- .create({
- subject: action.data4 || null,
- from: [mailAccount.address],
- to: action.data2.split(';'),
- cc: action.data3 ? action.data3.split(';') : [],
- html: action.data5 ? Mustache
- .render(action.data5, dataValues)
- .replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''')
- .replace(/\n/g, '<br>') : null,
- status: 'SENDING',
- auto: true,
- accountId: mailAccount.id,
- accountName: mailAccount.name
- });
- })
- .catch(function(err) {
- console.error(err);
- });
-}
-
-Sms.prototype.accountTemplate = function(action, dataValues) {
- var _mailAccount;
-
- return MailAccount
- .findById(action.data1)
- .then(function(mailAccount) {
- _mailAccount = mailAccount;
- return Template
- .findById(action.data2);
- })
- .then(function(template) {
- return MailMessage
- .create({
- status: 'SENDING',
- subject: template.subject,
- from: [_mailAccount.address],
- to: action.data3.split(';'),
- html: template.html ? Mustache.render(template.html, dataValues) : null,
- auto: true,
- accountId: _mailAccount.id,
- accountName: _mailAccount.name,
- })
- .catch(function(err) {
- console.log(err);
- });
- });
-}
-
-module.exports = Sms;
+var _0x54c0=["\x6C\x6F\x64\x61\x73\x68","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x6D\x75\x73\x74\x61\x63\x68\x65","\x54\x65\x6D\x70\x6C\x61\x74\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x6D\x73\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x54\x72\x69\x67\x67\x65\x72\x20\x53\x6D\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x74\x61\x67","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x3B","\x73\x70\x6C\x69\x74","\x64\x61\x74\x61\x31","\x53\x6D\x73\x52\x6F\x6F\x6D\x49\x64","\x75\x70\x64\x61\x74\x65","\x63\x6C\x6F\x73\x65","\x43\x4C\x4F\x53\x45\x44","\x61\x63\x63\x6F\x75\x6E\x74\x45\x6D\x61\x69\x6C","\x64\x61\x74\x61\x34","\x61\x64\x64\x72\x65\x73\x73","\x64\x61\x74\x61\x32","\x64\x61\x74\x61\x33","\x64\x61\x74\x61\x35","\x3C\x62\x72\x3E","\x72\x65\x70\x6C\x61\x63\x65","\x26\x23\x30\x33\x39\x3B","\x26\x71\x75\x6F\x74\x3B","\x26\x67\x74\x3B","\x26\x6C\x74\x3B","\x26\x61\x6D\x70\x3B","\x72\x65\x6E\x64\x65\x72","\x53\x45\x4E\x44\x49\x4E\x47","\x69\x64","\x6E\x61\x6D\x65","\x63\x72\x65\x61\x74\x65","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x63\x63\x6F\x75\x6E\x74\x54\x65\x6D\x70\x6C\x61\x74\x65","\x73\x75\x62\x6A\x65\x63\x74","\x68\x74\x6D\x6C","\x65\x78\x70\x6F\x72\x74\x73"];const _=require(_0x54c0[0]);const rp=require(_0x54c0[1]);const Mustache=require(_0x54c0[2]);const Template=require(_0x54c0[4])[_0x54c0[3]];const SmsRoom=require(_0x54c0[4])[_0x54c0[5]];const MailAccount=require(_0x54c0[4])[_0x54c0[6]];const MailMessage=require(_0x54c0[4])[_0x54c0[7]];function Sms(){console[_0x54c0[9]](_0x54c0[8])}Sms[_0x54c0[11]][_0x54c0[10]]= function(_0x3cfcx9,_0x3cfcxa){return SmsRoom[_0x54c0[18]]({tags:_0x3cfcx9[_0x54c0[16]][_0x54c0[15]](_0x54c0[14])},{where:{id:_0x3cfcxa[_0x54c0[17]]}})[_0x54c0[13]](function(_0x3cfcxb){console[_0x54c0[12]](_0x3cfcxb)})};Sms[_0x54c0[11]][_0x54c0[19]]= function(_0x3cfcx9,_0x3cfcxa){return SmsRoom[_0x54c0[18]]({status:_0x54c0[20],disposition:_0x3cfcx9[_0x54c0[16]]|| null},{individualHooks:true,where:{id:_0x3cfcxa[_0x54c0[17]]}})[_0x54c0[13]](function(_0x3cfcxb){console[_0x54c0[12]](_0x3cfcxb)})};Sms[_0x54c0[11]][_0x54c0[21]]= function(_0x3cfcx9,_0x3cfcxa){return MailAccount[_0x54c0[40]](_0x3cfcx9[_0x54c0[16]])[_0x54c0[39]](function(_0x3cfcxc){return MailMessage[_0x54c0[38]]({subject:_0x3cfcx9[_0x54c0[22]]|| null,from:[_0x3cfcxc[_0x54c0[23]]],to:_0x3cfcx9[_0x54c0[24]][_0x54c0[15]](_0x54c0[14]),cc:_0x3cfcx9[_0x54c0[25]]?_0x3cfcx9[_0x54c0[25]][_0x54c0[15]](_0x54c0[14]):[],html:_0x3cfcx9[_0x54c0[26]]?Mustache[_0x54c0[34]](_0x3cfcx9[_0x54c0[26]],_0x3cfcxa)[_0x54c0[28]](/&/g,_0x54c0[33])[_0x54c0[28]](/</g,_0x54c0[32])[_0x54c0[28]](/>/g,_0x54c0[31])[_0x54c0[28]](/"/g,_0x54c0[30])[_0x54c0[28]](/'/g,_0x54c0[29])[_0x54c0[28]](/\n/g,_0x54c0[27]):null,status:_0x54c0[35],auto:true,accountId:_0x3cfcxc[_0x54c0[36]],accountName:_0x3cfcxc[_0x54c0[37]]})})[_0x54c0[13]](function(_0x3cfcxb){console[_0x54c0[12]](_0x3cfcxb)})};Sms[_0x54c0[11]][_0x54c0[41]]= function(_0x3cfcx9,_0x3cfcxa){var _0x3cfcxd;return MailAccount[_0x54c0[40]](_0x3cfcx9[_0x54c0[16]])[_0x54c0[39]](function(_0x3cfcxc){_0x3cfcxd= _0x3cfcxc;return Template[_0x54c0[40]](_0x3cfcx9[_0x54c0[24]])})[_0x54c0[39]](function(_0x3cfcxe){return MailMessage[_0x54c0[38]]({status:_0x54c0[35],subject:_0x3cfcxe[_0x54c0[42]],from:[_0x3cfcxd[_0x54c0[23]]],to:_0x3cfcx9[_0x54c0[25]][_0x54c0[15]](_0x54c0[14]),html:_0x3cfcxe[_0x54c0[43]]?Mustache[_0x54c0[34]](_0x3cfcxe[_0x54c0[43]],_0x3cfcxa):null,auto:true,accountId:_0x3cfcxd[_0x54c0[36]],accountName:_0x3cfcxd[_0x54c0[37]]})[_0x54c0[13]](function(_0x3cfcxb){console[_0x54c0[9]](_0x3cfcxb)})})};module[_0x54c0[44]]= Sms
\ No newline at end of file
-var _ = require('lodash');
-var rp = require('request-promise');
-var Mustache = require('mustache');
-
-function UrlForward() {
- console.log('Trigger URL Forward Initialization...');
-}
-
-UrlForward.prototype.sendRequest = function(doc, channel, action, variables) {
- switch (action.data1) {
- case 'GET':
- case 'POST':
- httpRequest(doc, channel, action.data1, Mustache.render(action.data2, variables));
- break;
- default:
- }
-}
-
-function httpRequest(doc, channel, method, uri) {
- var ReportIntegration = require('../../models').ReportIntegration;
- var options = {
- method: method,
- uri: uri,
- body: doc,
- json: true // Automatically stringifies the body to JSON
- };
-
- rp(options)
- .then(function(parsedBody) {
- console.log('URL Forward successful!');
- doc.exitStatus = "success";
- })
- .catch(function(err) {
- console.error('URL Forward failed!'); //error to be written on log files
- doc.exitStatus = "failed";
- })
- .finally(function() {
- delete doc.id
- doc.integration = 'urlForward';
- doc.eventChannel = channel;
- return ReportIntegration.create(doc)
- .catch(function(err) {
- console.log(err);
- });
- });
-}
-
-module.exports = UrlForward;
+var _0x1439=["\x6C\x6F\x64\x61\x73\x68","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x6D\x75\x73\x74\x61\x63\x68\x65","\x54\x72\x69\x67\x67\x65\x72\x20\x55\x52\x4C\x20\x46\x6F\x72\x77\x61\x72\x64\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x73\x65\x6E\x64\x52\x65\x71\x75\x65\x73\x74","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x47\x45\x54","\x64\x61\x74\x61\x31","\x64\x61\x74\x61\x32","\x72\x65\x6E\x64\x65\x72","\x50\x4F\x53\x54","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x69\x64","\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x75\x72\x6C\x46\x6F\x72\x77\x61\x72\x64","\x65\x76\x65\x6E\x74\x43\x68\x61\x6E\x6E\x65\x6C","\x63\x61\x74\x63\x68","\x63\x72\x65\x61\x74\x65","\x66\x69\x6E\x61\x6C\x6C\x79","\x55\x52\x4C\x20\x46\x6F\x72\x77\x61\x72\x64\x20\x66\x61\x69\x6C\x65\x64\x21","\x65\x72\x72\x6F\x72","\x65\x78\x69\x74\x53\x74\x61\x74\x75\x73","\x66\x61\x69\x6C\x65\x64","\x55\x52\x4C\x20\x46\x6F\x72\x77\x61\x72\x64\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6C\x21","\x73\x75\x63\x63\x65\x73\x73","\x74\x68\x65\x6E","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x1439[0]);var rp=require(_0x1439[1]);var Mustache=require(_0x1439[2]);function UrlForward(){console[_0x1439[4]](_0x1439[3])}UrlForward[_0x1439[6]][_0x1439[5]]= function(_0xff59x5,_0xff59x6,_0xff59x7,_0xff59x8){switch(_0xff59x7[_0x1439[8]]){case _0x1439[7]:;case _0x1439[11]:httpRequest(_0xff59x5,_0xff59x6,_0xff59x7[_0x1439[8]],Mustache[_0x1439[10]](_0xff59x7[_0x1439[9]],_0xff59x8));break;default:}};function httpRequest(_0xff59x5,_0xff59x6,_0xff59xa,_0xff59xb){var _0xff59xc=require(_0x1439[13])[_0x1439[12]];var _0xff59xd={method:_0xff59xa,uri:_0xff59xb,body:_0xff59x5,json:true};rp(_0xff59xd)[_0x1439[27]](function(_0xff59xf){console[_0x1439[4]](_0x1439[25]);_0xff59x5[_0x1439[23]]= _0x1439[26]})[_0x1439[18]](function(_0xff59xe){console[_0x1439[22]](_0x1439[21]);_0xff59x5[_0x1439[23]]= _0x1439[24]})[_0x1439[20]](function(){delete _0xff59x5[_0x1439[14]];_0xff59x5[_0x1439[15]]= _0x1439[16];_0xff59x5[_0x1439[17]]= _0xff59x6;return _0xff59xc[_0x1439[19]](_0xff59x5)[_0x1439[18]](function(_0xff59xe){console[_0x1439[4]](_0xff59xe)})})}module[_0x1439[28]]= UrlForward
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-
-function Util() {
- console.log('Trigger Utils Initialization...');
-}
-
-Util.prototype.getActionsByTriggers = function(doc, triggers) {
- var actions = [];
- doc.dataValues.from = doc.dataValues.from ? doc.dataValues.from.split(';') : [];
- doc.dataValues.cc = doc.dataValues.cc ? doc.dataValues.cc.split(';') : [];
- doc.dataValues.to = doc.dataValues.to ? doc.dataValues.to.split(';') : [];
- triggers.forEach(function(trigger) {
- if (trigger.status) {
- var All = [];
- var Any = [];
- trigger.All.forEach(function(condition) {
- All.push(checkCondition(condition.dataValues || condition, doc.dataValues));
- });
- trigger.Any.forEach(function(condition) {
- Any.push(checkCondition(condition.dataValues || condition, doc.dataValues));
- });
-
- var allResult = [],
- anyResult = [];
- allResult.push(_.reduce(All.length ? All : [true], function(total, n) {
- return total && n;
- }));
- anyResult.push(_.reduce(Any.length ? Any : [true], function(total, n) {
- return total || n;
- }));
- var lastResults = allResult.concat(anyResult);
- var finalResult = _.reduce(lastResults.length ? lastResults : [true], function(total, n) {
- return total && n;
- })
- // console.log('final result is', finalResult);
-
- if (finalResult) {
- //push rules into array to return
- actions = actions.concat(trigger.Actions);
- }
- }
- });
- doc.dataValues.from = doc.dataValues.from.join(';');
- doc.dataValues.cc = doc.dataValues.cc.join(';');
- doc.dataValues.to = doc.dataValues.to.join(';');
- //return actions array
- return actions;
-}
-
-function checkCondition(condition, doc) {
-
- // console.log('CONDITION', condition);
- // console.log('DOC FIELD', doc[condition.field]);
- // console.log('trigger value ', trigger[rule.field.value]);
- // console.log('rule data ', rule.data);
- var result = false;
- var i = 0;
-
- if (doc[condition.field]) {
- switch (condition.operator) {
- case 'equals':
- result = (doc[condition.field] == condition.value);
- break;
- case 'not_equals':
- result = (doc[condition.field] != condition.value);
- break;
- case 'contains':
- result = false;
-
- if (_.isArray(doc[condition.field])) {
- for (i = 0; i < doc[condition.field].length; i++) {
- if (doc[condition.field][i].includes(condition.value)) {
- result = true;
- break;
- }
- }
- } else {
- result = doc[condition.field].includes(condition.value);
- }
-
- break;
- case 'not_contains':
- result = true;
-
- if (_.isArray(doc[condition.field])) {
- for (i = 0; i < doc[condition.field].length; i++) {
- if (doc[condition.field][i].includes(condition.value)) {
- result = false;
- break;
- }
- }
- } else {
- result = !(doc[condition.field].includes(condition.value));
- }
-
- break;
- case 'greater_or_equal':
- result = (doc[condition.field] >= Number(condition.value));
- break;
- case 'less_or_equal':
- result = (doc[condition.field] <= Number(condition.value));
- break;
- case 'greater':
- result = (doc[condition.field] > Number(condition.value));
- break;
- case 'less':
- result = (doc[condition.field] < Number(condition.value));
- break;
- default:
- }
- }
- return result;
-}
-
-module.exports = Util;
+var _0x59ef=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x55\x74\x69\x6C\x73\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x67\x65\x74\x41\x63\x74\x69\x6F\x6E\x73\x42\x79\x54\x72\x69\x67\x67\x65\x72\x73","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x66\x72\x6F\x6D","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x3B","\x73\x70\x6C\x69\x74","\x63\x63","\x74\x6F","\x73\x74\x61\x74\x75\x73","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x41\x6C\x6C","\x41\x6E\x79","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x64\x75\x63\x65","\x63\x6F\x6E\x63\x61\x74","\x6A\x6F\x69\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x69\x73\x41\x72\x72\x61\x79","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x63\x6F\x6E\x74\x61\x69\x6E\x73","\x6E\x6F\x74\x5F\x63\x6F\x6E\x74\x61\x69\x6E\x73","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x67\x72\x65\x61\x74\x65\x72","\x6C\x65\x73\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x65\x78\x70\x6F\x72\x74\x73"];_0x59ef[0];var _=require(_0x59ef[1]);function Util(){console[_0x59ef[3]](_0x59ef[2])}Util[_0x59ef[5]][_0x59ef[4]]= function(_0x15fcx3,_0x15fcx4){var _0x15fcx5=[];_0x15fcx3[_0x59ef[7]][_0x59ef[6]]= _0x15fcx3[_0x59ef[7]][_0x59ef[6]]?_0x15fcx3[_0x59ef[7]][_0x59ef[6]][_0x59ef[9]](_0x59ef[8]):[];_0x15fcx3[_0x59ef[7]][_0x59ef[10]]= _0x15fcx3[_0x59ef[7]][_0x59ef[10]]?_0x15fcx3[_0x59ef[7]][_0x59ef[10]][_0x59ef[9]](_0x59ef[8]):[];_0x15fcx3[_0x59ef[7]][_0x59ef[11]]= _0x15fcx3[_0x59ef[7]][_0x59ef[11]]?_0x15fcx3[_0x59ef[7]][_0x59ef[11]][_0x59ef[9]](_0x59ef[8]):[];_0x15fcx4[_0x59ef[14]](function(_0x15fcx6){if(_0x15fcx6[_0x59ef[12]]){var _0x15fcx7=[];var _0x15fcx8=[];_0x15fcx6[_0x59ef[15]][_0x59ef[14]](function(_0x15fcx9){_0x15fcx7[_0x59ef[13]](checkCondition(_0x15fcx9[_0x59ef[7]]|| _0x15fcx9,_0x15fcx3[_0x59ef[7]]))});_0x15fcx6[_0x59ef[16]][_0x59ef[14]](function(_0x15fcx9){_0x15fcx8[_0x59ef[13]](checkCondition(_0x15fcx9[_0x59ef[7]]|| _0x15fcx9,_0x15fcx3[_0x59ef[7]]))});var _0x15fcxa=[],_0x15fcxb=[];_0x15fcxa[_0x59ef[13]](_[_0x59ef[18]](_0x15fcx7[_0x59ef[17]]?_0x15fcx7:[true],function(_0x15fcxc,_0x15fcxd){return _0x15fcxc&& _0x15fcxd}));_0x15fcxb[_0x59ef[13]](_[_0x59ef[18]](_0x15fcx8[_0x59ef[17]]?_0x15fcx8:[true],function(_0x15fcxc,_0x15fcxd){return _0x15fcxc|| _0x15fcxd}));var _0x15fcxe=_0x15fcxa[_0x59ef[19]](_0x15fcxb);var _0x15fcxf=_[_0x59ef[18]](_0x15fcxe[_0x59ef[17]]?_0x15fcxe:[true],function(_0x15fcxc,_0x15fcxd){return _0x15fcxc&& _0x15fcxd});if(_0x15fcxf){_0x15fcx5= _0x15fcx5[_0x59ef[19]](_0x15fcx6.Actions)}}});_0x15fcx3[_0x59ef[7]][_0x59ef[6]]= _0x15fcx3[_0x59ef[7]][_0x59ef[6]][_0x59ef[20]](_0x59ef[8]);_0x15fcx3[_0x59ef[7]][_0x59ef[10]]= _0x15fcx3[_0x59ef[7]][_0x59ef[10]][_0x59ef[20]](_0x59ef[8]);_0x15fcx3[_0x59ef[7]][_0x59ef[11]]= _0x15fcx3[_0x59ef[7]][_0x59ef[11]][_0x59ef[20]](_0x59ef[8]);return _0x15fcx5};function checkCondition(_0x15fcx9,_0x15fcx3){var _0x15fcx11=false;var _0x15fcx12=0;if(_0x15fcx3[_0x15fcx9[_0x59ef[21]]]){switch(_0x15fcx9[_0x59ef[33]]){case _0x59ef[23]:_0x15fcx11= (_0x15fcx3[_0x15fcx9[_0x59ef[21]]]== _0x15fcx9[_0x59ef[22]]);break;case _0x59ef[24]:_0x15fcx11= (_0x15fcx3[_0x15fcx9[_0x59ef[21]]]!= _0x15fcx9[_0x59ef[22]]);break;case _0x59ef[27]:_0x15fcx11= false;if(_[_0x59ef[25]](_0x15fcx3[_0x15fcx9[_0x59ef[21]]])){for(_0x15fcx12= 0;_0x15fcx12< _0x15fcx3[_0x15fcx9[_0x59ef[21]]][_0x59ef[17]];_0x15fcx12++){if(_0x15fcx3[_0x15fcx9[_0x59ef[21]]][_0x15fcx12][_0x59ef[26]](_0x15fcx9[_0x59ef[22]])){_0x15fcx11= true;break}}}else {_0x15fcx11= _0x15fcx3[_0x15fcx9[_0x59ef[21]]][_0x59ef[26]](_0x15fcx9[_0x59ef[22]])};break;case _0x59ef[28]:_0x15fcx11= true;if(_[_0x59ef[25]](_0x15fcx3[_0x15fcx9[_0x59ef[21]]])){for(_0x15fcx12= 0;_0x15fcx12< _0x15fcx3[_0x15fcx9[_0x59ef[21]]][_0x59ef[17]];_0x15fcx12++){if(_0x15fcx3[_0x15fcx9[_0x59ef[21]]][_0x15fcx12][_0x59ef[26]](_0x15fcx9[_0x59ef[22]])){_0x15fcx11= false;break}}}else {_0x15fcx11= !(_0x15fcx3[_0x15fcx9[_0x59ef[21]]][_0x59ef[26]](_0x15fcx9[_0x59ef[22]]))};break;case _0x59ef[29]:_0x15fcx11= (_0x15fcx3[_0x15fcx9[_0x59ef[21]]]>= Number(_0x15fcx9[_0x59ef[22]]));break;case _0x59ef[30]:_0x15fcx11= (_0x15fcx3[_0x15fcx9[_0x59ef[21]]]<= Number(_0x15fcx9[_0x59ef[22]]));break;case _0x59ef[31]:_0x15fcx11= (_0x15fcx3[_0x15fcx9[_0x59ef[21]]]> Number(_0x15fcx9[_0x59ef[22]]));break;case _0x59ef[32]:_0x15fcx11= (_0x15fcx3[_0x15fcx9[_0x59ef[21]]]< Number(_0x15fcx9[_0x59ef[22]]));break;default:}};return _0x15fcx11}module[_0x59ef[34]]= Util
\ No newline at end of file
-var _ = require('lodash');
-
-function Voice() {
- console.log('Trigger Voice Initialization...');
-}
-
-module.exports = Voice;
+var _0x4503=["\x6C\x6F\x64\x61\x73\x68","\x54\x72\x69\x67\x67\x65\x72\x20\x56\x6F\x69\x63\x65\x20\x49\x6E\x69\x74\x69\x61\x6C\x69\x7A\x61\x74\x69\x6F\x6E\x2E\x2E\x2E","\x6C\x6F\x67","\x65\x78\x70\x6F\x72\x74\x73"];var _=require(_0x4503[0]);function Voice(){console[_0x4503[2]](_0x4503[1])}module[_0x4503[3]]= Voice
\ No newline at end of file
-'use strict';
-
-var util = require('util');
-
-module.exports = {
- handleUniqueConstraintError: function(res, err) {
- var paths = [];
-
- err.errors.forEach(function(error) {
- switch (error.path) {
- default: paths.push(error.path);
- }
- });
-
- paths.push(' must be unique');
- err.message = paths.join();
-
- return res.status(500).send(err);
- },
- handleForeignKeyConstraintError: function(res, app, name, err) {
- err.message = util.format('Impossible to remove %s %s because of an existing association', app, name);
- return res.status(500).send(err);
- }
-};
+var _0x242f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x70\x61\x74\x68","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x65\x72\x72\x6F\x72\x73","\x20\x6D\x75\x73\x74\x20\x62\x65\x20\x75\x6E\x69\x71\x75\x65","\x6D\x65\x73\x73\x61\x67\x65","\x6A\x6F\x69\x6E","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x49\x6D\x70\x6F\x73\x73\x69\x62\x6C\x65\x20\x74\x6F\x20\x72\x65\x6D\x6F\x76\x65\x20\x25\x73\x20\x25\x73\x20\x62\x65\x63\x61\x75\x73\x65\x20\x6F\x66\x20\x61\x6E\x20\x65\x78\x69\x73\x74\x69\x6E\x67\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x69\x6F\x6E","\x66\x6F\x72\x6D\x61\x74"];_0x242f[0];var util=require(_0x242f[1]);module[_0x242f[2]]= {handleUniqueConstraintError:function(_0x7a1cx2,_0x7a1cx3){var _0x7a1cx4=[];_0x7a1cx3[_0x242f[6]][_0x242f[5]](function(_0x7a1cx5){switch(_0x7a1cx5[_0x242f[3]]){default:_0x7a1cx4[_0x242f[4]](_0x7a1cx5[_0x242f[3]])}});_0x7a1cx4[_0x242f[4]](_0x242f[7]);_0x7a1cx3[_0x242f[8]]= _0x7a1cx4[_0x242f[9]]();return _0x7a1cx2[_0x242f[11]](500)[_0x242f[10]](_0x7a1cx3)},handleForeignKeyConstraintError:function(_0x7a1cx2,_0x7a1cx6,_0x7a1cx7,_0x7a1cx3){_0x7a1cx3[_0x242f[8]]= util[_0x242f[13]](_0x242f[12],_0x7a1cx6,_0x7a1cx7);return _0x7a1cx2[_0x242f[11]](500)[_0x242f[10]](_0x7a1cx3)}}
\ No newline at end of file
-'use strict';
-
-var _ = require('lodash');
-var moment = require('moment');
-var request = require('request-promise');
-
-var User = require('../../models').User;
-var VoiceQueue = require('../../models').VoiceQueue;
-var ChatQueue = require('../../models').ChatQueue;
-var MailQueue = require('../../models').MailQueue;
-var FaxQueue = require('../../models').FaxQueue;
-var SmsQueue = require('../../models').SmsQueue;
-var OpenchannelQueue = require('../../models').OpenchannelQueue;
-var Action = require('../../models').Action;
-
-var checkInterval = function(interval) {
-
- var daysOfWeek = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
- var daysOfMonth = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
- var months = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];
- var i, shift;
-
- var tRange = interval.split(',')[0];
- var dwRange = interval.split(',')[1];
- var dmRange = interval.split(',')[2];
- var mRange = interval.split(',')[3];
- // TIME RANGE CHECKING
- if (tRange !== '*') {
- var time = moment().format("HH:mm");
- var tFrom = tRange.split('-')[0];
- var tTo = tRange.split('-')[1];
-
- if ((time < tFrom) || (time > tTo)) {
- console.log('TRANGE KO');
- return false;
- }
- }
- // DAYS OF WEEK RANGE CHECKING
- if (dwRange !== '*') {
- var cWeekDay = daysOfWeek[moment().day()];
- var dwFrom = _.indexOf(daysOfWeek, dwRange.split('-')[0]);
- var dwTo = _.indexOf(daysOfWeek, dwRange.split('-')[1]);
-
- for (i = 0; i < dwFrom; i++) {
- shift = daysOfWeek.shift();
- daysOfWeek.push(shift);
- }
-
- dwFrom = _.indexOf(daysOfWeek, dwRange.split('-')[0]);
- dwTo = _.indexOf(daysOfWeek, dwRange.split('-')[1]) + 1;
-
- daysOfWeek = daysOfWeek.slice(dwFrom, dwTo);
-
- if (!_.includes(daysOfWeek, cWeekDay)) {
- console.log('DWRANGE KO');
- return false;
- }
- }
- // DAYS OF MONTH RANGE CHECKING
- if (dmRange !== '*') {
- var cMonthDay = moment().date();
- var dmFrom = _.indexOf(daysOfMonth, parseInt(dmRange.split('-')[0], 10));
- var dmTo = _.indexOf(daysOfMonth, parseInt(dmRange.split('-')[1]));
-
- for (i = 0; i < dmFrom; i++) {
- shift = daysOfMonth.shift();
- daysOfMonth.push(shift);
- }
-
- dmFrom = _.indexOf(daysOfMonth, parseInt(dmRange.split('-')[0], 10));
- dmTo = _.indexOf(daysOfMonth, parseInt(dmRange.split('-')[1]), 10) + 1;
-
- daysOfMonth = daysOfMonth.slice(dmFrom, dmTo);
-
- if (!_.includes(daysOfMonth, cMonthDay)) {
- console.log('DMRANGE KO');
- return false;
- }
- }
- // MONTHS RANGE CHECKING
- if (mRange !== '*') {
- var cMonth = months[moment().month()];
- var mFrom = _.indexOf(months, mRange.split('-')[0]);
- var mTo = _.indexOf(months, mRange.split('-')[1]);
-
- for (i = 0; i < mFrom; i++) {
- shift = months.shift();
- months.push(shift);
- }
-
- mFrom = _.indexOf(months, mRange.split('-')[0]);
- mTo = _.indexOf(months, mRange.split('-')[1]) + 1;
-
- months = months.slice(mFrom, mTo);
-
- if (!_.includes(months, cMonth)) {
- console.log('MRANGE KO');
- return false;
- }
- }
-
- console.log('INTERVAL OK');
-
- return true;
-}
-
-var isValidInterval = function(interval) {
- if (_.isObject(interval)) {
- for (var i = 0; i < interval.SubIntervals.length; i++) {
- if (!checkInterval(interval.SubIntervals[i].interval)) {
- return false;
- }
- }
- return true;
- } else {
- return checkInterval(interval);
- }
-}
-
-var getDate = function(dateString, when) {
- var dateTimeFormat = 'YYYY-MM-DD HH:mm';
- if (moment(dateString, dateTimeFormat, true).isValid()) {
- return moment(dateString);
- } else {
- switch (when) {
- case 'dayStart':
- return moment(dateString).startOf('day');
- case 'dayEnd':
- return moment(dateString).endOf('day');
- default:
- return moment(dateString);
- }
- }
-}
-
-var getQuery = function(query, extraWhere) {
- var _query = {
- where: {}
- };
-
- if (query) {
- var realKey, condition = {};
- for (var key in query) { //DO NOT change with lodash forEach, or the properties will not be removed from the query object!
- if (_.includes(key, '_uiFrom')) {
- realKey = key.replace('_uiFrom', '');
- if (query[realKey + '_uiTo']) {
- _query.where.$and = _query.where.$and || [];
- condition = {};
- condition[realKey] = {
- $gte: getDate(query[key], 'dayStart')
- };
- _query.where.$and.push(condition);
- condition = {};
- condition[realKey] = {
- $lte: getDate(query[realKey + '_uiTo'], 'dayEnd')
- };
- _query.where.$and.push(condition);
- delete query[realKey + '_uiTo'];
- } else {
- _query.where[key.replace('_uiFrom', '')] = {
- $gte: getDate(query[key], 'dayStart')
- };
- }
- delete query[key];
- } else if (_.includes(key, '_uiTo')) {
- realKey = key.replace('_uiTo', '');
- if (query[realKey + '_uiFrom']) {
- _query.where.$and = _query.where.$and || [];
- condition = {};
- condition[realKey] = {
- $lte: getDate(query[key], 'dayEnd')
- };
- _query.where.$and.push(condition);
- condition[realKey] = {
- $gte: getDate(query[realKey + '_uiFrom'], 'dayStart')
- };
- _query.where.$and.push(condition);
- delete query[realKey + '_uiFrom'];
- } else {
- _query.where[key.replace('_uiTo', '')] = {
- $lte: getDate(query[key], 'dayEnd')
- };
- }
- delete query[key];
- }
- }
-
- _.forEach(query, function(value, key) {
- switch (key) {
- case 'offset':
- case 'limit':
- _query[key] = Number(value);
- break;
- case 'order':
- _query[key] = value;
- break;
- case 'type':
- case 'parent':
- _query.where[key] = value;
- break;
- default:
- _query.where[key] = {
- $like: '%' + value + '%'
- };
- }
- });
- }
-
-
-
- if (extraWhere) {
- _.merge(_query.where, extraWhere);
- }
-
- return _query;
-}
-
-var getVoiceQueuesIdByUser = function(query, extraQuery) { //differently from the extraWhere, this will be merged with all the query options, not just the where. Useful for inclusions and other query options
- return function(user) {
- var _queues = [];
- var _user = user;
- var _query = query || {};
- var _extraQuery = extraQuery || {};
-
- return _user
- .getPVoiceQueues({
- attributes: ['name']
- })
- .then(function(queues) {
- _queues = _.map(queues, 'name');
- })
- .then(function() {
- return VoiceQueue
- .findAndCountAll(_.merge(getQuery(query, {
- name: {
- $in: _queues
- }
- }), _extraQuery));
- });
- };
-}
-
-var getChatQueuesIdByUser = function(query, extraQuery) {
- return function(user) {
- var _queues = [];
- var _user = user;
- var _query = query || {};
- var _extraQuery = _.merge(extraQuery || {}, {
- distinct: true
- });
-
- return _user
- .getPChatQueues({
- attributes: ['id']
- })
- .then(function(queues) {
- _queues = _.map(queues, 'id');
- })
- .then(function() {
- return ChatQueue
- .scope('default')
- .findAndCountAll(_.merge(getQuery(_query, {
- id: {
- $in: _queues
- }
- }), _extraQuery));
- });
- };
-}
-
-var getMailQueuesIdByUser = function(query, extraQuery) {
- return function(user) {
- var _queues = [];
- var _user = user;
- var _query = query || {};
- var _extraQuery = _.merge(extraQuery || {}, {
- distinct: true
- });
-
- return _user
- .getPMailQueues({
- attributes: ['id']
- })
- .then(function(queues) {
- _queues = _.map(queues, 'id');
- })
- .then(function() {
- return MailQueue
- .scope('default')
- .findAndCountAll(_.merge(getQuery(_query, {
- id: {
- $in: _queues
- }
- }), _extraQuery));
- });
- };
-}
-var getSmsQueuesIdByUser = function(query, extraQuery) {
- return function(user) {
- var _queues = [];
- var _user = user;
- var _query = query || {};
- var _extraQuery = _.merge(extraQuery || {}, {
- distinct: true
- });
-
- return _user
- .getPSmsQueues({
- attributes: ['id']
- })
- .then(function(queues) {
- _queues = _.map(queues, 'id');
- })
- .then(function() {
- return SmsQueue
- .scope('default')
- .findAndCountAll(_.merge(getQuery(_query, {
- id: {
- $in: _queues
- }
- }), _extraQuery));
- });
- };
-}
-
-var getFaxQueuesIdByUser = function(query, extraQuery) {
- return function(user) {
- var _queues = [];
- var _user = user;
- var _query = query || {};
- var _extraQuery = _.merge(extraQuery || {}, {
- distinct: true
- });
-
- return _user
- .getPFaxQueues({
- attributes: ['id']
- })
- .then(function(queues) {
- _queues = _.map(queues, 'id');
- })
- .then(function() {
- return FaxQueue
- .scope('default')
- .findAndCountAll(_.merge(getQuery(_query, {
- id: {
- $in: _queues
- }
- }), _extraQuery));
- });
- };
-}
-var getOpenchannelQueuesIdByUser = function(query, extraQuery) {
- return function(user) {
- var _queues = [];
- var _user = user;
- var _query = query || {};
- var _extraQuery = _.merge(extraQuery || {}, {
- distinct: true
- });
-
- return _user
- .getPOpenchannelQueues({
- attributes: ['id']
- })
- .then(function(queues) {
- _queues = _.map(queues, 'id');
- })
- .then(function() {
- return OpenchannelQueue
- .scope('default')
- .findAndCountAll(_.merge(getQuery(_query, {
- id: {
- $in: _queues
- }
- }), _extraQuery));
- });
- };
-}
-var getAgentsIdByUser = function(query) {
- return function(user) {
- var _users = [];
- var _user = user;
- var _query = query || {};
- var _voiceQueues = [],
- _chatQueues = [],
- _mailQueues = [],
- _faxQueues = [],
- _openchannelQueues = [],
- _smsQueues = [];
-
- return _user
- .getPVoiceQueues({
- attributes: ['name'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- })
- .then(function(queues) {
- _voiceQueues = _.map(queues, 'name');
- queues.forEach(function(queue) {
- _users = _.union(_users, _.map(queue.Users, 'id'));
- });
- })
- .then(function() {
- return _user
- .getPChatQueues({
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- });
- })
- .then(function(queues) {
- _chatQueues = _.map(queues, 'id');
- queues.forEach(function(queue) {
- _users = _.union(_users, _.map(queue.Users, 'id'));
- });
- })
- .then(function() {
- return _user
- .getPMailQueues({
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- });
- })
- .then(function(queues) {
- _mailQueues = _.map(queues, 'id');
- queues.forEach(function(queue) {
- _users = _.union(_users, _.map(queue.Users, 'id'));
- });
- })
- .then(function() {
- return _user
- .getPFaxQueues({
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- });
- })
- .then(function(queues) {
- _faxQueues = _.map(queues, 'id');
- queues.forEach(function(queue) {
- _users = _.union(_users, _.map(queue.Users, 'id'));
- });
- })
- .then(function() {
- return _user
- .getPSmsQueues({
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- });
- })
- .then(function(queues) {
- _smsQueues = _.map(queues, 'id');
- queues.forEach(function(queue) {
- _users = _.union(_users, _.map(queue.Users, 'id'));
- });
- })
- .then(function() {
- return _user
- .getPOpenchannelQueues({
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- });
- })
- .then(function(queues) {
- _openchannelQueues = _.map(queues, 'id');
- queues.forEach(function(queue) {
- _users = _.union(_users, _.map(queue.Users, 'id'));
- });
- })
- .then(function() {
- return User
- .scope('agent', {
- method: ['checkPauseStatus', _query]
- }, {
- method: ['checkQueueStatus', _query]
- }, {
- method: ['checkOnlineStatus', _query]
- }, {
- method: ['checkSipStatus', _query]
- })
- .findAndCountAll(_.merge(getQuery(_query, {
- id: {
- $in: _users
- }
- }), {
- include: [{
- model: VoiceQueue,
- where: {
- name: {
- $in: _voiceQueues
- }
- },
- required: false
- }, {
- model: ChatQueue,
- where: {
- id: {
- $in: _chatQueues
- }
- },
- required: false
- }, {
- model: MailQueue,
- where: {
- id: {
- $in: _mailQueues
- }
- },
- required: false
- }, {
- model: FaxQueue,
- where: {
- id: {
- $in: _faxQueues
- }
- },
- required: false
- }, {
- model: SmsQueue,
- where: {
- id: {
- $in: _smsQueues
- }
- },
- required: false
- }, {
- model: OpenchannelQueue,
- where: {
- id: {
- $in: _openchannelQueues
- }
- },
- required: false
- }]
- }));
- })
- };
-}
-
-var stripTrailingSlash = function(str) {
- if (str.substr(-1) === '/') {
- return str.substr(0, str.length - 1);
- }
- return str;
-}
-var sendRequest = function(data, method, uri) {
- if (method == 'GET' || method == 'POST') {
- var options = {
- method: method,
- uri: uri,
- body: data,
- json: true // Automatically stringifies the body to JSON
- };
- return request(options);
- } else {
- console.log('Unknown Method');
- }
- }
- // HANDLE action
-var execAction = function(action, data) {
- switch (action.action) {
- case 'pause':
- Action
- .create({
- name: action.action,
- data4: action.type || 'DEFAULT PAUSE' //to track the pause type in the actions table
- }, {
- body: {
- name: action.action,
- agent: data.memberid,
- type: action.type || 'DEFAULT PAUSE', // to set the pauseType in the user record
- }
- })
- .then(function() {
- console.log('Action Successful');
- })
- .catch(function(err) {
- console.log('Action Failed', err);
- });
- break;
- default:
- console.log('Unknown Action');
- }
-}
-module.exports = {
- getQuery: getQuery,
- getVoiceQueuesIdByUser: getVoiceQueuesIdByUser,
- getChatQueuesIdByUser: getChatQueuesIdByUser,
- getMailQueuesIdByUser: getMailQueuesIdByUser,
- getFaxQueuesIdByUser: getFaxQueuesIdByUser,
- getSmsQueuesIdByUser: getSmsQueuesIdByUser,
- getOpenchannelQueuesIdByUser: getOpenchannelQueuesIdByUser,
- getAgentsIdByUser: getAgentsIdByUser,
- stripTrailingSlash: stripTrailingSlash,
- isValidInterval: isValidInterval,
- sendRequest: sendRequest,
- execAction: execAction,
- errorManager: require('./error')
-};
+var _0x41c6=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x72\x65\x71\x75\x65\x73\x74\x2D\x70\x72\x6F\x6D\x69\x73\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x61\x78\x51\x75\x65\x75\x65","\x53\x6D\x73\x51\x75\x65\x75\x65","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65","\x41\x63\x74\x69\x6F\x6E","\x73\x75\x6E","\x6D\x6F\x6E","\x74\x75\x65","\x77\x65\x64","\x74\x68\x75","\x66\x72\x69","\x73\x61\x74","\x6A\x61\x6E","\x66\x65\x62","\x6D\x61\x72","\x61\x70\x72","\x6D\x61\x79","\x6A\x75\x6E","\x6A\x75\x6C","\x61\x75\x67","\x73\x65\x70","\x6F\x63\x74","\x6E\x6F\x76","\x64\x65\x63","\x2C","\x73\x70\x6C\x69\x74","\x2A","\x48\x48\x3A\x6D\x6D","\x66\x6F\x72\x6D\x61\x74","\x2D","\x54\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x6C\x6F\x67","\x64\x61\x79","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x68\x69\x66\x74","\x70\x75\x73\x68","\x73\x6C\x69\x63\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x44\x57\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x64\x61\x74\x65","\x44\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x6D\x6F\x6E\x74\x68","\x4D\x52\x41\x4E\x47\x45\x20\x4B\x4F","\x49\x4E\x54\x45\x52\x56\x41\x4C\x20\x4F\x4B","\x69\x73\x4F\x62\x6A\x65\x63\x74","\x6C\x65\x6E\x67\x74\x68","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D","\x69\x73\x56\x61\x6C\x69\x64","\x73\x74\x61\x72\x74\x4F\x66","\x64\x61\x79\x53\x74\x61\x72\x74","\x65\x6E\x64\x4F\x66","\x64\x61\x79\x45\x6E\x64","\x5F\x75\x69\x46\x72\x6F\x6D","","\x72\x65\x70\x6C\x61\x63\x65","\x5F\x75\x69\x54\x6F","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x6F\x66\x66\x73\x65\x74","\x6C\x69\x6D\x69\x74","\x6F\x72\x64\x65\x72","\x74\x79\x70\x65","\x70\x61\x72\x65\x6E\x74","\x25","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x74\x68\x65\x6E","\x6E\x61\x6D\x65","\x6D\x61\x70","\x67\x65\x74\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x73\x63\x6F\x70\x65","\x69\x64","\x67\x65\x74\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x67\x65\x74\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x61\x67\x65\x6E\x74","\x63\x68\x65\x63\x6B\x50\x61\x75\x73\x65\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x51\x75\x65\x75\x65\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x4F\x6E\x6C\x69\x6E\x65\x53\x74\x61\x74\x75\x73","\x63\x68\x65\x63\x6B\x53\x69\x70\x53\x74\x61\x74\x75\x73","\x75\x6E\x69\x6F\x6E","\x73\x75\x62\x73\x74\x72","\x2F","\x47\x45\x54","\x50\x4F\x53\x54","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x4D\x65\x74\x68\x6F\x64","\x41\x63\x74\x69\x6F\x6E\x20\x46\x61\x69\x6C\x65\x64","\x63\x61\x74\x63\x68","\x41\x63\x74\x69\x6F\x6E\x20\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6C","\x61\x63\x74\x69\x6F\x6E","\x44\x45\x46\x41\x55\x4C\x54\x20\x50\x41\x55\x53\x45","\x6D\x65\x6D\x62\x65\x72\x69\x64","\x63\x72\x65\x61\x74\x65","\x70\x61\x75\x73\x65","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x41\x63\x74\x69\x6F\x6E","\x65\x78\x70\x6F\x72\x74\x73","\x2E\x2F\x65\x72\x72\x6F\x72"];_0x41c6[0];var _=require(_0x41c6[1]);var moment=require(_0x41c6[2]);var request=require(_0x41c6[3]);var User=require(_0x41c6[5])[_0x41c6[4]];var VoiceQueue=require(_0x41c6[5])[_0x41c6[6]];var ChatQueue=require(_0x41c6[5])[_0x41c6[7]];var MailQueue=require(_0x41c6[5])[_0x41c6[8]];var FaxQueue=require(_0x41c6[5])[_0x41c6[9]];var SmsQueue=require(_0x41c6[5])[_0x41c6[10]];var OpenchannelQueue=require(_0x41c6[5])[_0x41c6[11]];var Action=require(_0x41c6[5])[_0x41c6[12]];var checkInterval=function(_0x4181xd){var _0x4181xe=[_0x41c6[13],_0x41c6[14],_0x41c6[15],_0x41c6[16],_0x41c6[17],_0x41c6[18],_0x41c6[19]];var _0x4181xf=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var _0x4181x10=[_0x41c6[20],_0x41c6[21],_0x41c6[22],_0x41c6[23],_0x41c6[24],_0x41c6[25],_0x41c6[26],_0x41c6[27],_0x41c6[28],_0x41c6[29],_0x41c6[30],_0x41c6[31]];var _0x4181x11,_0x4181x12;var _0x4181x13=_0x4181xd[_0x41c6[33]](_0x41c6[32])[0];var _0x4181x14=_0x4181xd[_0x41c6[33]](_0x41c6[32])[1];var _0x4181x15=_0x4181xd[_0x41c6[33]](_0x41c6[32])[2];var _0x4181x16=_0x4181xd[_0x41c6[33]](_0x41c6[32])[3];if(_0x4181x13!== _0x41c6[34]){var _0x4181x17=moment()[_0x41c6[36]](_0x41c6[35]);var _0x4181x18=_0x4181x13[_0x41c6[33]](_0x41c6[37])[0];var _0x4181x19=_0x4181x13[_0x41c6[33]](_0x41c6[37])[1];if((_0x4181x17< _0x4181x18)|| (_0x4181x17> _0x4181x19)){console[_0x41c6[39]](_0x41c6[38]);return false}};if(_0x4181x14!== _0x41c6[34]){var _0x4181x1a=_0x4181xe[moment()[_0x41c6[40]]()];var _0x4181x1b=_[_0x41c6[41]](_0x4181xe,_0x4181x14[_0x41c6[33]](_0x41c6[37])[0]);var _0x4181x1c=_[_0x41c6[41]](_0x4181xe,_0x4181x14[_0x41c6[33]](_0x41c6[37])[1]);for(_0x4181x11= 0;_0x4181x11< _0x4181x1b;_0x4181x11++){_0x4181x12= _0x4181xe[_0x41c6[42]]();_0x4181xe[_0x41c6[43]](_0x4181x12)};_0x4181x1b= _[_0x41c6[41]](_0x4181xe,_0x4181x14[_0x41c6[33]](_0x41c6[37])[0]);_0x4181x1c= _[_0x41c6[41]](_0x4181xe,_0x4181x14[_0x41c6[33]](_0x41c6[37])[1])+ 1;_0x4181xe= _0x4181xe[_0x41c6[44]](_0x4181x1b,_0x4181x1c);if(!_[_0x41c6[45]](_0x4181xe,_0x4181x1a)){console[_0x41c6[39]](_0x41c6[46]);return false}};if(_0x4181x15!== _0x41c6[34]){var _0x4181x1d=moment()[_0x41c6[47]]();var _0x4181x1e=_[_0x41c6[41]](_0x4181xf,parseInt(_0x4181x15[_0x41c6[33]](_0x41c6[37])[0],10));var _0x4181x1f=_[_0x41c6[41]](_0x4181xf,parseInt(_0x4181x15[_0x41c6[33]](_0x41c6[37])[1]));for(_0x4181x11= 0;_0x4181x11< _0x4181x1e;_0x4181x11++){_0x4181x12= _0x4181xf[_0x41c6[42]]();_0x4181xf[_0x41c6[43]](_0x4181x12)};_0x4181x1e= _[_0x41c6[41]](_0x4181xf,parseInt(_0x4181x15[_0x41c6[33]](_0x41c6[37])[0],10));_0x4181x1f= _[_0x41c6[41]](_0x4181xf,parseInt(_0x4181x15[_0x41c6[33]](_0x41c6[37])[1]),10)+ 1;_0x4181xf= _0x4181xf[_0x41c6[44]](_0x4181x1e,_0x4181x1f);if(!_[_0x41c6[45]](_0x4181xf,_0x4181x1d)){console[_0x41c6[39]](_0x41c6[48]);return false}};if(_0x4181x16!== _0x41c6[34]){var _0x4181x20=_0x4181x10[moment()[_0x41c6[49]]()];var _0x4181x21=_[_0x41c6[41]](_0x4181x10,_0x4181x16[_0x41c6[33]](_0x41c6[37])[0]);var _0x4181x22=_[_0x41c6[41]](_0x4181x10,_0x4181x16[_0x41c6[33]](_0x41c6[37])[1]);for(_0x4181x11= 0;_0x4181x11< _0x4181x21;_0x4181x11++){_0x4181x12= _0x4181x10[_0x41c6[42]]();_0x4181x10[_0x41c6[43]](_0x4181x12)};_0x4181x21= _[_0x41c6[41]](_0x4181x10,_0x4181x16[_0x41c6[33]](_0x41c6[37])[0]);_0x4181x22= _[_0x41c6[41]](_0x4181x10,_0x4181x16[_0x41c6[33]](_0x41c6[37])[1])+ 1;_0x4181x10= _0x4181x10[_0x41c6[44]](_0x4181x21,_0x4181x22);if(!_[_0x41c6[45]](_0x4181x10,_0x4181x20)){console[_0x41c6[39]](_0x41c6[50]);return false}};console[_0x41c6[39]](_0x41c6[51]);return true};var isValidInterval=function(_0x4181xd){if(_[_0x41c6[52]](_0x4181xd)){for(var _0x4181x11=0;_0x4181x11< _0x4181xd[_0x41c6[54]][_0x41c6[53]];_0x4181x11++){if(!checkInterval(_0x4181xd[_0x41c6[54]][_0x4181x11][_0x41c6[55]])){return false}};return true}else {return checkInterval(_0x4181xd)}};var getDate=function(_0x4181x25,_0x4181x26){var _0x4181x27=_0x41c6[56];if(moment(_0x4181x25,_0x4181x27,true)[_0x41c6[57]]()){return moment(_0x4181x25)}else {switch(_0x4181x26){case _0x41c6[59]:return moment(_0x4181x25)[_0x41c6[58]](_0x41c6[40]);case _0x41c6[61]:return moment(_0x4181x25)[_0x41c6[60]](_0x41c6[40]);default:return moment(_0x4181x25)}}};var getQuery=function(_0x4181x29,_0x4181x2a){var _0x4181x2b={where:{}};if(_0x4181x29){var _0x4181x2c,_0x4181x2d={};for(var _0x4181x2e in _0x4181x29){if(_[_0x41c6[45]](_0x4181x2e,_0x41c6[62])){_0x4181x2c= _0x4181x2e[_0x41c6[64]](_0x41c6[62],_0x41c6[63]);if(_0x4181x29[_0x4181x2c+ _0x41c6[65]]){_0x4181x2b[_0x41c6[67]][_0x41c6[66]]= _0x4181x2b[_0x41c6[67]][_0x41c6[66]]|| [];_0x4181x2d= {};_0x4181x2d[_0x4181x2c]= {$gte:getDate(_0x4181x29[_0x4181x2e],_0x41c6[59])};_0x4181x2b[_0x41c6[67]][_0x41c6[66]][_0x41c6[43]](_0x4181x2d);_0x4181x2d= {};_0x4181x2d[_0x4181x2c]= {$lte:getDate(_0x4181x29[_0x4181x2c+ _0x41c6[65]],_0x41c6[61])};_0x4181x2b[_0x41c6[67]][_0x41c6[66]][_0x41c6[43]](_0x4181x2d);delete _0x4181x29[_0x4181x2c+ _0x41c6[65]]}else {_0x4181x2b[_0x41c6[67]][_0x4181x2e[_0x41c6[64]](_0x41c6[62],_0x41c6[63])]= {$gte:getDate(_0x4181x29[_0x4181x2e],_0x41c6[59])}};delete _0x4181x29[_0x4181x2e]}else {if(_[_0x41c6[45]](_0x4181x2e,_0x41c6[65])){_0x4181x2c= _0x4181x2e[_0x41c6[64]](_0x41c6[65],_0x41c6[63]);if(_0x4181x29[_0x4181x2c+ _0x41c6[62]]){_0x4181x2b[_0x41c6[67]][_0x41c6[66]]= _0x4181x2b[_0x41c6[67]][_0x41c6[66]]|| [];_0x4181x2d= {};_0x4181x2d[_0x4181x2c]= {$lte:getDate(_0x4181x29[_0x4181x2e],_0x41c6[61])};_0x4181x2b[_0x41c6[67]][_0x41c6[66]][_0x41c6[43]](_0x4181x2d);_0x4181x2d[_0x4181x2c]= {$gte:getDate(_0x4181x29[_0x4181x2c+ _0x41c6[62]],_0x41c6[59])};_0x4181x2b[_0x41c6[67]][_0x41c6[66]][_0x41c6[43]](_0x4181x2d);delete _0x4181x29[_0x4181x2c+ _0x41c6[62]]}else {_0x4181x2b[_0x41c6[67]][_0x4181x2e[_0x41c6[64]](_0x41c6[65],_0x41c6[63])]= {$lte:getDate(_0x4181x29[_0x4181x2e],_0x41c6[61])}};delete _0x4181x29[_0x4181x2e]}}};_[_0x41c6[74]](_0x4181x29,function(_0x4181x2f,_0x4181x2e){switch(_0x4181x2e){case _0x41c6[68]:;case _0x41c6[69]:_0x4181x2b[_0x4181x2e]= Number(_0x4181x2f);break;case _0x41c6[70]:_0x4181x2b[_0x4181x2e]= _0x4181x2f;break;case _0x41c6[71]:;case _0x41c6[72]:_0x4181x2b[_0x41c6[67]][_0x4181x2e]= _0x4181x2f;break;default:_0x4181x2b[_0x41c6[67]][_0x4181x2e]= {$like:_0x41c6[73]+ _0x4181x2f+ _0x41c6[73]}}})};if(_0x4181x2a){_[_0x41c6[75]](_0x4181x2b[_0x41c6[67]],_0x4181x2a)};return _0x4181x2b};var getVoiceQueuesIdByUser=function(_0x4181x29,_0x4181x31){return function(_0x4181x32){var _0x4181x33=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x35=_0x4181x31|| {};return _0x4181x34[_0x41c6[80]]({attributes:[_0x41c6[78]]})[_0x41c6[77]](function(_0x4181x36){_0x4181x33= _[_0x41c6[79]](_0x4181x36,_0x41c6[78])})[_0x41c6[77]](function(){return VoiceQueue[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x29,{name:{$in:_0x4181x33}}),_0x4181x35))})}};var getChatQueuesIdByUser=function(_0x4181x29,_0x4181x31){return function(_0x4181x32){var _0x4181x33=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x35=_[_0x41c6[75]](_0x4181x31|| {},{distinct:true});return _0x4181x34[_0x41c6[84]]({attributes:[_0x41c6[83]]})[_0x41c6[77]](function(_0x4181x36){_0x4181x33= _[_0x41c6[79]](_0x4181x36,_0x41c6[83])})[_0x41c6[77]](function(){return ChatQueue[_0x41c6[82]](_0x41c6[81])[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x2b,{id:{$in:_0x4181x33}}),_0x4181x35))})}};var getMailQueuesIdByUser=function(_0x4181x29,_0x4181x31){return function(_0x4181x32){var _0x4181x33=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x35=_[_0x41c6[75]](_0x4181x31|| {},{distinct:true});return _0x4181x34[_0x41c6[85]]({attributes:[_0x41c6[83]]})[_0x41c6[77]](function(_0x4181x36){_0x4181x33= _[_0x41c6[79]](_0x4181x36,_0x41c6[83])})[_0x41c6[77]](function(){return MailQueue[_0x41c6[82]](_0x41c6[81])[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x2b,{id:{$in:_0x4181x33}}),_0x4181x35))})}};var getSmsQueuesIdByUser=function(_0x4181x29,_0x4181x31){return function(_0x4181x32){var _0x4181x33=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x35=_[_0x41c6[75]](_0x4181x31|| {},{distinct:true});return _0x4181x34[_0x41c6[86]]({attributes:[_0x41c6[83]]})[_0x41c6[77]](function(_0x4181x36){_0x4181x33= _[_0x41c6[79]](_0x4181x36,_0x41c6[83])})[_0x41c6[77]](function(){return SmsQueue[_0x41c6[82]](_0x41c6[81])[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x2b,{id:{$in:_0x4181x33}}),_0x4181x35))})}};var getFaxQueuesIdByUser=function(_0x4181x29,_0x4181x31){return function(_0x4181x32){var _0x4181x33=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x35=_[_0x41c6[75]](_0x4181x31|| {},{distinct:true});return _0x4181x34[_0x41c6[87]]({attributes:[_0x41c6[83]]})[_0x41c6[77]](function(_0x4181x36){_0x4181x33= _[_0x41c6[79]](_0x4181x36,_0x41c6[83])})[_0x41c6[77]](function(){return FaxQueue[_0x41c6[82]](_0x41c6[81])[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x2b,{id:{$in:_0x4181x33}}),_0x4181x35))})}};var getOpenchannelQueuesIdByUser=function(_0x4181x29,_0x4181x31){return function(_0x4181x32){var _0x4181x33=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x35=_[_0x41c6[75]](_0x4181x31|| {},{distinct:true});return _0x4181x34[_0x41c6[88]]({attributes:[_0x41c6[83]]})[_0x41c6[77]](function(_0x4181x36){_0x4181x33= _[_0x41c6[79]](_0x4181x36,_0x41c6[83])})[_0x41c6[77]](function(){return OpenchannelQueue[_0x41c6[82]](_0x41c6[81])[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x2b,{id:{$in:_0x4181x33}}),_0x4181x35))})}};var getAgentsIdByUser=function(_0x4181x29){return function(_0x4181x32){var _0x4181x3d=[];var _0x4181x34=_0x4181x32;var _0x4181x2b=_0x4181x29|| {};var _0x4181x3e=[],_0x4181x3f=[],_0x4181x40=[],_0x4181x41=[],_0x4181x42=[],_0x4181x43=[];return _0x4181x34[_0x41c6[80]]({attributes:[_0x41c6[78]],include:[{raw:true,model:User,attributes:[_0x41c6[83]]}]})[_0x41c6[77]](function(_0x4181x36){_0x4181x3e= _[_0x41c6[79]](_0x4181x36,_0x41c6[78]);_0x4181x36[_0x41c6[74]](function(_0x4181x44){_0x4181x3d= _[_0x41c6[94]](_0x4181x3d,_[_0x41c6[79]](_0x4181x44.Users,_0x41c6[83]))})})[_0x41c6[77]](function(){return _0x4181x34[_0x41c6[84]]({attributes:[_0x41c6[83]],include:[{raw:true,model:User,attributes:[_0x41c6[83]]}]})})[_0x41c6[77]](function(_0x4181x36){_0x4181x3f= _[_0x41c6[79]](_0x4181x36,_0x41c6[83]);_0x4181x36[_0x41c6[74]](function(_0x4181x44){_0x4181x3d= _[_0x41c6[94]](_0x4181x3d,_[_0x41c6[79]](_0x4181x44.Users,_0x41c6[83]))})})[_0x41c6[77]](function(){return _0x4181x34[_0x41c6[85]]({attributes:[_0x41c6[83]],include:[{raw:true,model:User,attributes:[_0x41c6[83]]}]})})[_0x41c6[77]](function(_0x4181x36){_0x4181x40= _[_0x41c6[79]](_0x4181x36,_0x41c6[83]);_0x4181x36[_0x41c6[74]](function(_0x4181x44){_0x4181x3d= _[_0x41c6[94]](_0x4181x3d,_[_0x41c6[79]](_0x4181x44.Users,_0x41c6[83]))})})[_0x41c6[77]](function(){return _0x4181x34[_0x41c6[87]]({attributes:[_0x41c6[83]],include:[{raw:true,model:User,attributes:[_0x41c6[83]]}]})})[_0x41c6[77]](function(_0x4181x36){_0x4181x41= _[_0x41c6[79]](_0x4181x36,_0x41c6[83]);_0x4181x36[_0x41c6[74]](function(_0x4181x44){_0x4181x3d= _[_0x41c6[94]](_0x4181x3d,_[_0x41c6[79]](_0x4181x44.Users,_0x41c6[83]))})})[_0x41c6[77]](function(){return _0x4181x34[_0x41c6[86]]({attributes:[_0x41c6[83]],include:[{raw:true,model:User,attributes:[_0x41c6[83]]}]})})[_0x41c6[77]](function(_0x4181x36){_0x4181x43= _[_0x41c6[79]](_0x4181x36,_0x41c6[83]);_0x4181x36[_0x41c6[74]](function(_0x4181x44){_0x4181x3d= _[_0x41c6[94]](_0x4181x3d,_[_0x41c6[79]](_0x4181x44.Users,_0x41c6[83]))})})[_0x41c6[77]](function(){return _0x4181x34[_0x41c6[88]]({attributes:[_0x41c6[83]],include:[{raw:true,model:User,attributes:[_0x41c6[83]]}]})})[_0x41c6[77]](function(_0x4181x36){_0x4181x42= _[_0x41c6[79]](_0x4181x36,_0x41c6[83]);_0x4181x36[_0x41c6[74]](function(_0x4181x44){_0x4181x3d= _[_0x41c6[94]](_0x4181x3d,_[_0x41c6[79]](_0x4181x44.Users,_0x41c6[83]))})})[_0x41c6[77]](function(){return User[_0x41c6[82]](_0x41c6[89],{method:[_0x41c6[90],_0x4181x2b]},{method:[_0x41c6[91],_0x4181x2b]},{method:[_0x41c6[92],_0x4181x2b]},{method:[_0x41c6[93],_0x4181x2b]})[_0x41c6[76]](_[_0x41c6[75]](getQuery(_0x4181x2b,{id:{$in:_0x4181x3d}}),{include:[{model:VoiceQueue,where:{name:{$in:_0x4181x3e}},required:false},{model:ChatQueue,where:{id:{$in:_0x4181x3f}},required:false},{model:MailQueue,where:{id:{$in:_0x4181x40}},required:false},{model:FaxQueue,where:{id:{$in:_0x4181x41}},required:false},{model:SmsQueue,where:{id:{$in:_0x4181x43}},required:false},{model:OpenchannelQueue,where:{id:{$in:_0x4181x42}},required:false}]}))})}};var stripTrailingSlash=function(_0x4181x46){if(_0x4181x46[_0x41c6[95]](-1) === _0x41c6[96]){return _0x4181x46[_0x41c6[95]](0,_0x4181x46[_0x41c6[53]]- 1)};return _0x4181x46};var sendRequest=function(_0x4181x48,_0x4181x49,_0x4181x4a){if(_0x4181x49== _0x41c6[97]|| _0x4181x49== _0x41c6[98]){var _0x4181x4b={method:_0x4181x49,uri:_0x4181x4a,body:_0x4181x48,json:true};return request(_0x4181x4b)}else {console[_0x41c6[39]](_0x41c6[99])}};var execAction=function(_0x4181x4d,_0x4181x48){switch(_0x4181x4d[_0x41c6[103]]){case _0x41c6[107]:Action[_0x41c6[106]]({name:_0x4181x4d[_0x41c6[103]],data4:_0x4181x4d[_0x41c6[71]]|| _0x41c6[104]},{body:{name:_0x4181x4d[_0x41c6[103]],agent:_0x4181x48[_0x41c6[105]],type:_0x4181x4d[_0x41c6[71]]|| _0x41c6[104]}})[_0x41c6[77]](function(){console[_0x41c6[39]](_0x41c6[102])})[_0x41c6[101]](function(_0x4181x4e){console[_0x41c6[39]](_0x41c6[100],_0x4181x4e)});break;default:console[_0x41c6[39]](_0x41c6[108])}};module[_0x41c6[109]]= {getQuery:getQuery,getVoiceQueuesIdByUser:getVoiceQueuesIdByUser,getChatQueuesIdByUser:getChatQueuesIdByUser,getMailQueuesIdByUser:getMailQueuesIdByUser,getFaxQueuesIdByUser:getFaxQueuesIdByUser,getSmsQueuesIdByUser:getSmsQueuesIdByUser,getOpenchannelQueuesIdByUser:getOpenchannelQueuesIdByUser,getAgentsIdByUser:getAgentsIdByUser,stripTrailingSlash:stripTrailingSlash,isValidInterval:isValidInterval,sendRequest:sendRequest,execAction:execAction,errorManager:require(_0x41c6[110])}
\ No newline at end of file
-'use strict';
-
-module.exports = {
- up: function (queryInterface, Sequelize) {
- /*
- Add altering commands here.
- Return a promise to correctly handle asynchronicity.
-
- Example:
- return queryInterface.createTable('users', { id: Sequelize.INTEGER });
- */
- },
-
- down: function (queryInterface, Sequelize) {
- /*
- Add reverting commands here.
- Return a promise to correctly handle asynchronicity.
-
- Example:
- return queryInterface.dropTable('users');
- */
- }
-};
+var _0xc919=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x65\x78\x70\x6F\x72\x74\x73"];_0xc919[0];module[_0xc919[1]]= {up:function(_0xa594x1,_0xa594x2){},down:function(_0xa594x1,_0xa594x2){}}
\ No newline at end of file
* Chat Website Model
*/
-var crypto = require('crypto');
var moment = require('moment');
module.exports = function(sequelize, DataTypes) {
if (lastcall === '0') {
this.setDataValue('lastcall', null);
} else {
- this.setDataValue('lastcall', moment().format("YYYY-MM-DD HH:mm:ss"));
+ this.setDataValue('lastcall', moment().format('YYYY-MM-DD HH:mm:ss'));
}
}
},
-/**
- * Main application routes
- */
-
-'use strict';
-
-var config = require('./config/environment');
-var errors = require('./components/errors');
-var path = require('path');
-var moment = require('moment');
-
-module.exports = function(app, ami) {
- var env = app.get('env');
- app.locals.ami = ami;
-
- // Insert routes below
- app.use('/api/report/openchannel/sessions', require('./api/report_openchannel_session'));
- app.use('/api/report/openchannel', require('./api/report_openchannel'));
- app.use('/api/openchannel/user_has_queues', require('./api/user_has_openchannel_queue'));
- app.use('/api/openchannel/disposition', require('./api/openchannel_disposition'));
- app.use('/api/openchannel/applications', require('./api/openchannel_application'));
- app.use('/api/openchannel/queues', require('./api/openchannel_queue'));
- app.use('/api/openchannel/rooms', require('./api/openchannel_room'));
- app.use('/api/openchannel/messages', require('./api/openchannel_message'));
- app.use('/api/openchannel/accounts', require('./api/openchannel_account'));
- app.use('/api/fax/dispositions', require('./api/fax_disposition'));
- app.use('/api/sms/dispositions', require('./api/sms_disposition'));
- app.use('/api/mail/dispositions', require('./api/mail_disposition'));
- app.use('/api/chat/dispositions', require('./api/chat_disposition'));
- app.use('/api/voice/dispositions', require('./api/voice_disposition'));
- app.use('/api/scheduler', require('./api/scheduler'));
- app.use('/api/fax/attachments', require('./api/fax_attachment'));
- app.use('/api/report/fax/sessions', require('./api/report_fax_session'));
- app.use('/api/report/faxs', require('./api/report_fax'));
- app.use('/api/network/externips', require('./api/network_externip'));
- app.use('/api/network/localnets', require('./api/network_localnet'));
- app.use('/api/sms/queues', require('./api/sms_queue'));
- app.use('/api/sms/applications', require('./api/sms_application'));
- app.use('/api/sms/messages', require('./api/sms_message'));
- app.use('/api/sms/rooms', require('./api/sms_room'));
- app.use('/api/sms/accounts', require('./api/sms_account'));
- app.use('/api/report/calls', require('./api/report_call'));
- app.use('/api/report/dials', require('./api/report_dial'));
- app.use('/api/chat/proactives', require('./api/chat_proactive_action'));
- app.use('/api/chat/websites/fields', require('./api/chat_websites_field'));
- app.use('/api/answers', require('./api/canned_answer'));
- app.use('/api/actions', require('./api/action'));
- app.use('/api/pauses', require('./api/pause'));
- app.use('/api/voice/recordings', require('./api/voice_recording'));
- app.use('/api/jscripty/projects', require('./api/jscripty_project'));
- app.use('/api/telephones', require('./api/telephone'));
- app.use('/api/licenses', require('./api/license'));
- app.use('/api/sugarcrm/fields', require('./api/sugarcrm_field'));
- app.use('/api/sugarcrm/configurations', require('./api/sugarcrm_configuration'));
- app.use('/api/sugarcrm/accounts', require('./api/sugarcrm_account'));
- app.use('/api/freshdesk/fields', require('./api/freshdesk_field'));
- app.use('/api/freshdesk/configurations', require('./api/freshdesk_configuration'));
- app.use('/api/freshdesk/accounts', require('./api/freshdesk_account'));
- app.use('/api/salesforce/fields', require('./api/salesforce_field'));
- app.use('/api/salesforce/configurations', require('./api/salesforce_configuration'));
- app.use('/api/salesforce/accounts', require('./api/salesforce_account'));
- app.use('/api/desk/fields', require('./api/desk_field'));
- app.use('/api/desk/configurations', require('./api/desk_configuration'));
- app.use('/api/desk/accounts', require('./api/desk_account'));
- app.use('/api/analytics/reports/default', require('./api/default_report'));
- app.use('/api/analytics/reports/custom', require('./api/custom_report'));
- app.use('/api/analytics/reports/trees', require('./api/report_tree'));
- app.use('/api/analytics/metrics/default', require('./api/default_metric'));
- app.use('/api/analytics/metrics', require('./api/metric'));
- app.use('/api/modules', require('./api/module'));
- app.use('/api/analytics/extracted', require('./api/extracted_report'));
- app.use('/api/updates', require('./api/update'));
- app.use('/api/report/chat/sessions', require('./api/report_chat_session'));
- app.use('/api/zendesk/fields', require('./api/zendesk_field'));
- app.use('/api/report/chats', require('./api/report_chat'));
- app.use('/api/zendesk/configurations', require('./api/zendesk_configuration'));
- app.use('/api/motionbar', require('./api/motionbar'));
- app.use('/api/report/mail/sessions', require('./api/report_mail_session'));
- app.use('/api/report/sms/sessions', require('./api/report_sms_session'));
- app.use('/api/report/mails', require('./api/report_mail'));
- app.use('/api/report/sms', require('./api/report_sms'));
- app.use('/api/widgets', require('./api/widget'));
- app.use('/api/zendesk/accounts', require('./api/zendesk_account'));
- app.use('/api/report/queues', require('./api/report_queue'));
- app.use('/api/report/integrations', require('./api/report_integration'));
- app.use('/api/report/agents', require('./api/report_agent'));
- app.use('/api/report/members', require('./api/report_member'));
- app.use('/api/report/square', require('./api/report_square'));
- app.use('/api/report/square/details', require('./api/report_square_detail'));
- app.use('/api/dashboards', require('./api/dashboard'));
- app.use('/api/settings', require('./api/setting'));
- app.use('/api/triggers', require('./api/trigger'));
- app.use('/api/automations', require('./api/automation'));
- app.use('/api/templates', require('./api/template'));
- app.use('/api/ami', require('./api/ami'));
- app.use('/api/integrations', require('./api/integration'));
- app.use('/api/voice/musiconholds', require('./api/voice_musiconhold'));
- app.use('/api/voice/voicemails/messages', require('./api/voice_voicemail_messages'));
- app.use('/api/voice/voicemails', require('./api/voice_voicemail'));
- app.use('/api/contactmanager/contacts', require('./api/contact_manager'));
- app.use('/api/contactmanager/companies', require('./api/company'));
- app.use('/api/contactmanager/lists', require('./api/list'));
- app.use('/api/contactmanager/user_has_lists', require('./api/user_has_list'));
- app.use('/api/intervals', require('./api/interval'));
- app.use('/api/voice/extensions', require('./api/voice_extension'));
- app.use('/api/voice/contexts', require('./api/voice_context'));
- app.use('/api/voice/user_has_queues', require('./api/user_has_voice_queue'));
- app.use('/api/voice/queues', require('./api/voice_queue'));
- app.use('/api/trunks', require('./api/trunk'));
- app.use('/api/chat/applications', require('./api/chat_application'));
- app.use('/api/chat/user_has_queues', require('./api/user_has_chat_queue'));
- app.use('/api/square/odbc', require('./api/square_odbc'));
- app.use('/api/square/recordings', require('./api/square_recording'));
- app.use('/api/fax/applications', require('./api/fax_application'));
- app.use('/api/fax/user_has_queues', require('./api/user_has_fax_queue'));
- app.use('/api/sms/user_has_queues', require('./api/user_has_sms_queue'));
- app.use('/api/fax/queues', require('./api/fax_queue'));
- app.use('/api/mail/attachments', require('./api/mail_attachment'));
- app.use('/api/user_has_teams', require('./api/user_has_team'));
- app.use('/api/variables', require('./api/variable'));
- app.use('/api/chanspy', require('./api/chanspy'));
- app.use('/api/tags', require('./api/tag'));
- app.use('/api/square/projects', require('./api/square_project'));
- app.use('/api/chat/queues', require('./api/chat_queue'));
- app.use('/api/fax/messages', require('./api/fax_message'));
- app.use('/api/fax/rooms', require('./api/fax_room'));
- app.use('/api/fax/accounts', require('./api/fax_account'));
- app.use('/api/agents', require('./api/agent'));
- app.use('/api/chat/enquiries', require('./api/chat_enquiry'));
- app.use('/api/chat/messages', require('./api/chat_message'));
- app.use('/api/chat/rooms', require('./api/chat_room'));
- app.use('/api/chat/visitors', require('./api/chat_visitor'));
- app.use('/api/chat/websites', require('./api/chat_website'));
- app.use('/api/chat/queues', require('./api/chat_queue'));
- app.use('/api/mail/accounts', require('./api/mail_account'));
- app.use('/api/mail/messages', require('./api/mail_message'));
- app.use('/api/mail/rooms', require('./api/mail_room'));
- app.use('/api/mail/servers/in', require('./api/mail_server_in'));
- app.use('/api/mail/servers/out', require('./api/mail_server_out'));
- app.use('/api/mail/queues', require('./api/mail_queue'));
- app.use('/api/mail/user_has_queues', require('./api/user_has_mail_queue'));
- app.use('/api/mail/applications', require('./api/mail_application'));
- app.use('/api/teams', require('./api/team'));
- app.use('/api/sounds', require('./api/sound'));
- app.use('/api/users', require('./api/user'));
- app.use('/api/chat/user_has_rooms', require('./api/user_has_chat_room'));
- app.use('/api/xchatty', require('./api/xchatty'));
- app.use('/auth', require('./auth'));
-
- // All undefined asset or api routes should return a 404
- app.route('/:url(api|auth|components|app|bower_components|assets)/*').get(
- errors[404]);
-
- // All other routes should redirect to the index.html
- app.all("/*", function(req, res, next) {
-
- var options = {};
-
- if ('production' === env) {
- options.root = path.join(config.root, 'public');
- }
-
- if ('development' === env || 'test' === env) {
- options.root = path.join(config.root, 'client');
- }
-
- res.sendFile('index.html', options);
- });
-};
+var _0x9db8=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x65\x72\x72\x6F\x72\x73","\x70\x61\x74\x68","\x6D\x6F\x6D\x65\x6E\x74","\x65\x78\x70\x6F\x72\x74\x73","\x65\x6E\x76","\x67\x65\x74","\x61\x6D\x69","\x6C\x6F\x63\x61\x6C\x73","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x75\x73\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x2E\x2F\x61\x70\x69\x2F\x73\x63\x68\x65\x64\x75\x6C\x65\x72","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x66\x61\x78\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x66\x61\x78\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78","\x2F\x61\x70\x69\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x2F\x65\x78\x74\x65\x72\x6E\x69\x70\x73","\x2E\x2F\x61\x70\x69\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x65\x78\x74\x65\x72\x6E\x69\x70","\x2F\x61\x70\x69\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x2F\x6C\x6F\x63\x61\x6C\x6E\x65\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6E\x65\x74\x77\x6F\x72\x6B\x5F\x6C\x6F\x63\x61\x6C\x6E\x65\x74","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6D\x73\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x61\x6C\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x64\x69\x61\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x64\x69\x61\x6C","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x70\x72\x6F\x61\x63\x74\x69\x76\x65\x5F\x61\x63\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x61\x6E\x73\x77\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x61\x6E\x6E\x65\x64\x5F\x61\x6E\x73\x77\x65\x72","\x2F\x61\x70\x69\x2F\x61\x63\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x63\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x70\x61\x75\x73\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x70\x61\x75\x73\x65","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2F\x61\x70\x69\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6A\x73\x63\x72\x69\x70\x74\x79\x5F\x70\x72\x6F\x6A\x65\x63\x74","\x2F\x61\x70\x69\x2F\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x65\x6C\x65\x70\x68\x6F\x6E\x65","\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x63\x65\x6E\x73\x65","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x75\x67\x61\x72\x63\x72\x6D\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x72\x65\x73\x68\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x61\x6C\x65\x73\x66\x6F\x72\x63\x65\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x63\x75\x73\x74\x6F\x6D","\x2E\x2F\x61\x70\x69\x2F\x63\x75\x73\x74\x6F\x6D\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x72\x65\x70\x6F\x72\x74\x73\x2F\x74\x72\x65\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x74\x72\x65\x65","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73\x2F\x64\x65\x66\x61\x75\x6C\x74","\x2E\x2F\x61\x70\x69\x2F\x64\x65\x66\x61\x75\x6C\x74\x5F\x6D\x65\x74\x72\x69\x63","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x6D\x65\x74\x72\x69\x63\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x65\x74\x72\x69\x63","\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x64\x75\x6C\x65","\x2F\x61\x70\x69\x2F\x61\x6E\x61\x6C\x79\x74\x69\x63\x73\x2F\x65\x78\x74\x72\x61\x63\x74\x65\x64","\x2E\x2F\x61\x70\x69\x2F\x65\x78\x74\x72\x61\x63\x74\x65\x64\x5F\x72\x65\x70\x6F\x72\x74","\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x70\x64\x61\x74\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x66\x69\x65\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x66\x69\x65\x6C\x64","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x63\x68\x61\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x63\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2E\x2F\x61\x70\x69\x2F\x6D\x6F\x74\x69\x6F\x6E\x62\x61\x72","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x73\x6D\x73\x2F\x73\x65\x73\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x73\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73","\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x77\x69\x64\x67\x65\x74","\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x7A\x65\x6E\x64\x65\x73\x6B\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x61\x67\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x6D\x65\x6D\x62\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x73\x71\x75\x61\x72\x65","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65","\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x2F\x73\x71\x75\x61\x72\x65\x2F\x64\x65\x74\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64","\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x65\x74\x74\x69\x6E\x67","\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x72\x69\x67\x67\x65\x72","\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x65\x6D\x70\x6C\x61\x74\x65","\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x2E\x2F\x61\x70\x69\x2F\x61\x6D\x69","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x6D\x75\x73\x69\x63\x6F\x6E\x68\x6F\x6C\x64","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x76\x6F\x69\x63\x65\x6D\x61\x69\x6C","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x5F\x6D\x61\x6E\x61\x67\x65\x72","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x63\x6F\x6D\x70\x61\x6E\x69\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x6F\x6D\x70\x61\x6E\x79","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x6C\x69\x73\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6C\x69\x73\x74","\x2F\x61\x70\x69\x2F\x63\x6F\x6E\x74\x61\x63\x74\x6D\x61\x6E\x61\x67\x65\x72\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6C\x69\x73\x74","\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x2E\x2F\x61\x70\x69\x2F\x69\x6E\x74\x65\x72\x76\x61\x6C","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x65\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x63\x6F\x6E\x74\x65\x78\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x63\x6F\x6E\x74\x65\x78\x74","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x72\x75\x6E\x6B","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x6F\x64\x62\x63","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x6F\x64\x62\x63","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x66\x61\x78\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x73\x6D\x73\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x73\x6D\x73\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x74\x65\x61\x6D","\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x76\x61\x72\x69\x61\x62\x6C\x65","\x2F\x61\x70\x69\x2F\x63\x68\x61\x6E\x73\x70\x79","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x6E\x73\x70\x79","\x2F\x61\x70\x69\x2F\x74\x61\x67\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x61\x67","\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x71\x75\x61\x72\x65\x5F\x70\x72\x6F\x6A\x65\x63\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x66\x61\x78\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x66\x61\x78\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x61\x67\x65\x6E\x74","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x65\x6E\x71\x75\x69\x72\x69\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x65\x6E\x71\x75\x69\x72\x79","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x76\x69\x73\x69\x74\x6F\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x76\x69\x73\x69\x74\x6F\x72","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x77\x65\x62\x73\x69\x74\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x63\x63\x6F\x75\x6E\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x6D\x65\x73\x73\x61\x67\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x69\x6E","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x69\x6E","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x73\x65\x72\x76\x65\x72\x73\x2F\x6F\x75\x74","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x73\x65\x72\x76\x65\x72\x5F\x6F\x75\x74","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x71\x75\x65\x75\x65\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x6D\x61\x69\x6C\x5F\x71\x75\x65\x75\x65","\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x2F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x2E\x2F\x61\x70\x69\x2F\x6D\x61\x69\x6C\x5F\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x74\x65\x61\x6D","\x2F\x61\x70\x69\x2F\x73\x6F\x75\x6E\x64\x73","\x2E\x2F\x61\x70\x69\x2F\x73\x6F\x75\x6E\x64","\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72","\x2F\x61\x70\x69\x2F\x63\x68\x61\x74\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x72\x6F\x6F\x6D\x73","\x2E\x2F\x61\x70\x69\x2F\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D","\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79","\x2E\x2F\x61\x70\x69\x2F\x78\x63\x68\x61\x74\x74\x79","\x2F\x61\x75\x74\x68","\x2E\x2F\x61\x75\x74\x68","\x2F\x3A\x75\x72\x6C\x28\x61\x70\x69\x7C\x61\x75\x74\x68\x7C\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x7C\x61\x70\x70\x7C\x62\x6F\x77\x65\x72\x5F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x7C\x61\x73\x73\x65\x74\x73\x29\x2F\x2A","\x72\x6F\x75\x74\x65","\x2F\x2A","\x70\x72\x6F\x64\x75\x63\x74\x69\x6F\x6E","\x72\x6F\x6F\x74","\x70\x75\x62\x6C\x69\x63","\x6A\x6F\x69\x6E","\x64\x65\x76\x65\x6C\x6F\x70\x6D\x65\x6E\x74","\x74\x65\x73\x74","\x63\x6C\x69\x65\x6E\x74","\x69\x6E\x64\x65\x78\x2E\x68\x74\x6D\x6C","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x61\x6C\x6C"];_0x9db8[0];var config=require(_0x9db8[1]);var errors=require(_0x9db8[2]);var path=require(_0x9db8[3]);var moment=require(_0x9db8[4]);module[_0x9db8[5]]= function(_0x12afx5,_0x12afx6){var _0x12afx7=_0x12afx5[_0x9db8[7]](_0x9db8[6]);_0x12afx5[_0x9db8[9]][_0x9db8[8]]= _0x12afx6;_0x12afx5[_0x9db8[12]](_0x9db8[10],require(_0x9db8[11]));_0x12afx5[_0x9db8[12]](_0x9db8[13],require(_0x9db8[14]));_0x12afx5[_0x9db8[12]](_0x9db8[15],require(_0x9db8[16]));_0x12afx5[_0x9db8[12]](_0x9db8[17],require(_0x9db8[18]));_0x12afx5[_0x9db8[12]](_0x9db8[19],require(_0x9db8[20]));_0x12afx5[_0x9db8[12]](_0x9db8[21],require(_0x9db8[22]));_0x12afx5[_0x9db8[12]](_0x9db8[23],require(_0x9db8[24]));_0x12afx5[_0x9db8[12]](_0x9db8[25],require(_0x9db8[26]));_0x12afx5[_0x9db8[12]](_0x9db8[27],require(_0x9db8[28]));_0x12afx5[_0x9db8[12]](_0x9db8[29],require(_0x9db8[30]));_0x12afx5[_0x9db8[12]](_0x9db8[31],require(_0x9db8[32]));_0x12afx5[_0x9db8[12]](_0x9db8[33],require(_0x9db8[34]));_0x12afx5[_0x9db8[12]](_0x9db8[35],require(_0x9db8[36]));_0x12afx5[_0x9db8[12]](_0x9db8[37],require(_0x9db8[38]));_0x12afx5[_0x9db8[12]](_0x9db8[39],require(_0x9db8[40]));_0x12afx5[_0x9db8[12]](_0x9db8[41],require(_0x9db8[42]));_0x12afx5[_0x9db8[12]](_0x9db8[43],require(_0x9db8[44]));_0x12afx5[_0x9db8[12]](_0x9db8[45],require(_0x9db8[46]));_0x12afx5[_0x9db8[12]](_0x9db8[47],require(_0x9db8[48]));_0x12afx5[_0x9db8[12]](_0x9db8[49],require(_0x9db8[50]));_0x12afx5[_0x9db8[12]](_0x9db8[51],require(_0x9db8[52]));_0x12afx5[_0x9db8[12]](_0x9db8[53],require(_0x9db8[54]));_0x12afx5[_0x9db8[12]](_0x9db8[55],require(_0x9db8[56]));_0x12afx5[_0x9db8[12]](_0x9db8[57],require(_0x9db8[58]));_0x12afx5[_0x9db8[12]](_0x9db8[59],require(_0x9db8[60]));_0x12afx5[_0x9db8[12]](_0x9db8[61],require(_0x9db8[62]));_0x12afx5[_0x9db8[12]](_0x9db8[63],require(_0x9db8[64]));_0x12afx5[_0x9db8[12]](_0x9db8[65],require(_0x9db8[66]));_0x12afx5[_0x9db8[12]](_0x9db8[67],require(_0x9db8[68]));_0x12afx5[_0x9db8[12]](_0x9db8[69],require(_0x9db8[70]));_0x12afx5[_0x9db8[12]](_0x9db8[71],require(_0x9db8[72]));_0x12afx5[_0x9db8[12]](_0x9db8[73],require(_0x9db8[74]));_0x12afx5[_0x9db8[12]](_0x9db8[75],require(_0x9db8[76]));_0x12afx5[_0x9db8[12]](_0x9db8[77],require(_0x9db8[78]));_0x12afx5[_0x9db8[12]](_0x9db8[79],require(_0x9db8[80]));_0x12afx5[_0x9db8[12]](_0x9db8[81],require(_0x9db8[82]));_0x12afx5[_0x9db8[12]](_0x9db8[83],require(_0x9db8[84]));_0x12afx5[_0x9db8[12]](_0x9db8[85],require(_0x9db8[86]));_0x12afx5[_0x9db8[12]](_0x9db8[87],require(_0x9db8[88]));_0x12afx5[_0x9db8[12]](_0x9db8[89],require(_0x9db8[90]));_0x12afx5[_0x9db8[12]](_0x9db8[91],require(_0x9db8[92]));_0x12afx5[_0x9db8[12]](_0x9db8[93],require(_0x9db8[94]));_0x12afx5[_0x9db8[12]](_0x9db8[95],require(_0x9db8[96]));_0x12afx5[_0x9db8[12]](_0x9db8[97],require(_0x9db8[98]));_0x12afx5[_0x9db8[12]](_0x9db8[99],require(_0x9db8[100]));_0x12afx5[_0x9db8[12]](_0x9db8[101],require(_0x9db8[102]));_0x12afx5[_0x9db8[12]](_0x9db8[103],require(_0x9db8[104]));_0x12afx5[_0x9db8[12]](_0x9db8[105],require(_0x9db8[106]));_0x12afx5[_0x9db8[12]](_0x9db8[107],require(_0x9db8[108]));_0x12afx5[_0x9db8[12]](_0x9db8[109],require(_0x9db8[110]));_0x12afx5[_0x9db8[12]](_0x9db8[111],require(_0x9db8[112]));_0x12afx5[_0x9db8[12]](_0x9db8[113],require(_0x9db8[114]));_0x12afx5[_0x9db8[12]](_0x9db8[115],require(_0x9db8[116]));_0x12afx5[_0x9db8[12]](_0x9db8[117],require(_0x9db8[118]));_0x12afx5[_0x9db8[12]](_0x9db8[119],require(_0x9db8[120]));_0x12afx5[_0x9db8[12]](_0x9db8[121],require(_0x9db8[122]));_0x12afx5[_0x9db8[12]](_0x9db8[123],require(_0x9db8[124]));_0x12afx5[_0x9db8[12]](_0x9db8[125],require(_0x9db8[126]));_0x12afx5[_0x9db8[12]](_0x9db8[127],require(_0x9db8[128]));_0x12afx5[_0x9db8[12]](_0x9db8[129],require(_0x9db8[130]));_0x12afx5[_0x9db8[12]](_0x9db8[131],require(_0x9db8[132]));_0x12afx5[_0x9db8[12]](_0x9db8[133],require(_0x9db8[134]));_0x12afx5[_0x9db8[12]](_0x9db8[135],require(_0x9db8[136]));_0x12afx5[_0x9db8[12]](_0x9db8[137],require(_0x9db8[138]));_0x12afx5[_0x9db8[12]](_0x9db8[139],require(_0x9db8[140]));_0x12afx5[_0x9db8[12]](_0x9db8[141],require(_0x9db8[142]));_0x12afx5[_0x9db8[12]](_0x9db8[143],require(_0x9db8[144]));_0x12afx5[_0x9db8[12]](_0x9db8[145],require(_0x9db8[146]));_0x12afx5[_0x9db8[12]](_0x9db8[147],require(_0x9db8[148]));_0x12afx5[_0x9db8[12]](_0x9db8[149],require(_0x9db8[150]));_0x12afx5[_0x9db8[12]](_0x9db8[151],require(_0x9db8[152]));_0x12afx5[_0x9db8[12]](_0x9db8[153],require(_0x9db8[154]));_0x12afx5[_0x9db8[12]](_0x9db8[155],require(_0x9db8[156]));_0x12afx5[_0x9db8[12]](_0x9db8[157],require(_0x9db8[158]));_0x12afx5[_0x9db8[12]](_0x9db8[159],require(_0x9db8[160]));_0x12afx5[_0x9db8[12]](_0x9db8[161],require(_0x9db8[162]));_0x12afx5[_0x9db8[12]](_0x9db8[163],require(_0x9db8[164]));_0x12afx5[_0x9db8[12]](_0x9db8[165],require(_0x9db8[166]));_0x12afx5[_0x9db8[12]](_0x9db8[167],require(_0x9db8[168]));_0x12afx5[_0x9db8[12]](_0x9db8[169],require(_0x9db8[170]));_0x12afx5[_0x9db8[12]](_0x9db8[171],require(_0x9db8[172]));_0x12afx5[_0x9db8[12]](_0x9db8[173],require(_0x9db8[174]));_0x12afx5[_0x9db8[12]](_0x9db8[175],require(_0x9db8[176]));_0x12afx5[_0x9db8[12]](_0x9db8[177],require(_0x9db8[178]));_0x12afx5[_0x9db8[12]](_0x9db8[179],require(_0x9db8[180]));_0x12afx5[_0x9db8[12]](_0x9db8[181],require(_0x9db8[182]));_0x12afx5[_0x9db8[12]](_0x9db8[183],require(_0x9db8[184]));_0x12afx5[_0x9db8[12]](_0x9db8[185],require(_0x9db8[186]));_0x12afx5[_0x9db8[12]](_0x9db8[187],require(_0x9db8[188]));_0x12afx5[_0x9db8[12]](_0x9db8[189],require(_0x9db8[190]));_0x12afx5[_0x9db8[12]](_0x9db8[191],require(_0x9db8[192]));_0x12afx5[_0x9db8[12]](_0x9db8[193],require(_0x9db8[194]));_0x12afx5[_0x9db8[12]](_0x9db8[195],require(_0x9db8[196]));_0x12afx5[_0x9db8[12]](_0x9db8[197],require(_0x9db8[198]));_0x12afx5[_0x9db8[12]](_0x9db8[199],require(_0x9db8[200]));_0x12afx5[_0x9db8[12]](_0x9db8[201],require(_0x9db8[202]));_0x12afx5[_0x9db8[12]](_0x9db8[203],require(_0x9db8[204]));_0x12afx5[_0x9db8[12]](_0x9db8[205],require(_0x9db8[206]));_0x12afx5[_0x9db8[12]](_0x9db8[207],require(_0x9db8[208]));_0x12afx5[_0x9db8[12]](_0x9db8[209],require(_0x9db8[210]));_0x12afx5[_0x9db8[12]](_0x9db8[211],require(_0x9db8[212]));_0x12afx5[_0x9db8[12]](_0x9db8[213],require(_0x9db8[214]));_0x12afx5[_0x9db8[12]](_0x9db8[215],require(_0x9db8[216]));_0x12afx5[_0x9db8[12]](_0x9db8[217],require(_0x9db8[218]));_0x12afx5[_0x9db8[12]](_0x9db8[219],require(_0x9db8[220]));_0x12afx5[_0x9db8[12]](_0x9db8[221],require(_0x9db8[222]));_0x12afx5[_0x9db8[12]](_0x9db8[223],require(_0x9db8[224]));_0x12afx5[_0x9db8[12]](_0x9db8[225],require(_0x9db8[226]));_0x12afx5[_0x9db8[12]](_0x9db8[227],require(_0x9db8[228]));_0x12afx5[_0x9db8[12]](_0x9db8[229],require(_0x9db8[230]));_0x12afx5[_0x9db8[12]](_0x9db8[231],require(_0x9db8[232]));_0x12afx5[_0x9db8[12]](_0x9db8[233],require(_0x9db8[234]));_0x12afx5[_0x9db8[12]](_0x9db8[235],require(_0x9db8[236]));_0x12afx5[_0x9db8[12]](_0x9db8[237],require(_0x9db8[238]));_0x12afx5[_0x9db8[12]](_0x9db8[239],require(_0x9db8[240]));_0x12afx5[_0x9db8[12]](_0x9db8[241],require(_0x9db8[242]));_0x12afx5[_0x9db8[12]](_0x9db8[243],require(_0x9db8[244]));_0x12afx5[_0x9db8[12]](_0x9db8[225],require(_0x9db8[226]));_0x12afx5[_0x9db8[12]](_0x9db8[245],require(_0x9db8[246]));_0x12afx5[_0x9db8[12]](_0x9db8[247],require(_0x9db8[248]));_0x12afx5[_0x9db8[12]](_0x9db8[249],require(_0x9db8[250]));_0x12afx5[_0x9db8[12]](_0x9db8[251],require(_0x9db8[252]));_0x12afx5[_0x9db8[12]](_0x9db8[253],require(_0x9db8[254]));_0x12afx5[_0x9db8[12]](_0x9db8[255],require(_0x9db8[256]));_0x12afx5[_0x9db8[12]](_0x9db8[257],require(_0x9db8[258]));_0x12afx5[_0x9db8[12]](_0x9db8[259],require(_0x9db8[260]));_0x12afx5[_0x9db8[12]](_0x9db8[261],require(_0x9db8[262]));_0x12afx5[_0x9db8[12]](_0x9db8[263],require(_0x9db8[264]));_0x12afx5[_0x9db8[12]](_0x9db8[265],require(_0x9db8[266]));_0x12afx5[_0x9db8[12]](_0x9db8[267],require(_0x9db8[268]));_0x12afx5[_0x9db8[12]](_0x9db8[269],require(_0x9db8[270]));_0x12afx5[_0x9db8[12]](_0x9db8[271],require(_0x9db8[272]));_0x12afx5[_0x9db8[274]](_0x9db8[273])[_0x9db8[7]](errors[404]);_0x12afx5[_0x9db8[285]](_0x9db8[275],function(_0x12afx8,_0x12afx9,_0x12afxa){var _0x12afxb={};if(_0x9db8[276]=== _0x12afx7){_0x12afxb[_0x9db8[277]]= path[_0x9db8[279]](config[_0x9db8[277]],_0x9db8[278])};if(_0x9db8[280]=== _0x12afx7|| _0x9db8[281]=== _0x12afx7){_0x12afxb[_0x9db8[277]]= path[_0x9db8[279]](config[_0x9db8[277]],_0x9db8[282])};_0x12afx9[_0x9db8[284]](_0x9db8[283],_0x12afxb)})}
\ No newline at end of file
-'use strict';
-
-const User = require('../../../models').User;
-const VoiceQueue = require('../../../models').VoiceQueue;
-
-const _ = require('lodash');
-
-module.exports = function(n) {
- console.log('services/dashboard/hooks');
-
- require('./voice')(n);
-};
+var _0xec11=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x6C\x6F\x64\x61\x73\x68","\x65\x78\x70\x6F\x72\x74\x73","\x73\x65\x72\x76\x69\x63\x65\x73\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x2F\x68\x6F\x6F\x6B\x73","\x6C\x6F\x67","\x2E\x2F\x76\x6F\x69\x63\x65"];_0xec11[0];const User=require(_0xec11[2])[_0xec11[1]];const VoiceQueue=require(_0xec11[2])[_0xec11[3]];const _=require(_0xec11[4]);module[_0xec11[5]]= function(_0x5300x4){console[_0xec11[7]](_0xec11[6]);require(_0xec11[8])(_0x5300x4)}
\ No newline at end of file
-'use strict';
-
-const UserHasVoiceQueue = require('../../../models').UserHasVoiceQueue;
-
-const ReportAgent = require('../../../models').ReportAgent;
-const ReportQueue = require('../../../models').ReportQueue;
-const ReportCall = require('../../../models').ReportCall;
-const VoiceQueue = require('../../../models').VoiceQueue;
-const sequelize = require('../../../models').sequelize;
-
-const _ = require('lodash');
-
-function onSend(process, type, doc) {
- doc.dataValues.type = type;
- process.send(doc.dataValues);
-}
-
-module.exports = function(n) {
- // START REPORT AGENT HOOKS
- ReportAgent.afterUpdate(function(doc) {
- if (doc.changed('holdtime')) {
- onSend(n, 'holdtime', doc);
- }
- });
-
- ReportAgent.afterUpdate(function(doc) {
- if (doc.changed('talktime')) {
- onSend(n, 'talktime', doc);
- }
- });
- // END REPORT AGENT HOOKS
-
- // START REPORT QUEUE HOOKS
- ReportQueue.afterCreate(function(doc) {
- onSend(n, 'waiting:up', doc)
- });
-
- ReportQueue.afterUpdate(function(doc) {
- if (doc.changed('queuecallerexit')) {
- onSend(n, 'unmanaged:up', doc)
- }
-
- if (doc.changed('queuecallerleaveAt')) {
- onSend(n, 'waiting:down', doc)
-
- if (!doc.queuecallercomplete && !doc.queuecallerabandon && !doc.queuecallerexit && doc.queuecallerleaveAt) {
- if (!doc.changed('queuecallerabandon')) {
- onSend(n, 'active:up', doc);
- }
- }
- }
-
- if (doc.changed('queuecallercomplete') && doc.queuecallercomplete) {
- onSend(n, 'active:down', doc);
- onSend(n, 'complete:up', doc);
- }
-
- if (doc.changed('queuecallerabandon') && doc.queuecallerabandon) {
- onSend(n, 'abandon:up', doc);
- }
- });
- // END REPORT QUEUE HOOKS
-
- // START REPORT CALLS HOOKS
- ReportCall.afterCreate(function(doc) {
- if (doc.type === 'outbound') {
- onSend(n, 'outbound:up', doc);
- }
- });
- // END REPORT QUEUE HOOKS
-
- UserHasVoiceQueue.afterCreate(function(doc) {
- onSend(n, 'agent:join', doc);
- });
-
- UserHasVoiceQueue.afterDestroy(function(doc) {
- onSend(n, 'agent:leave', doc);
- });
-
- UserHasVoiceQueue.afterUpdate(function(doc) {
- if (doc.changed('lastcall')) {
- onSend(n, 'lastcall', doc);
- }
- });
-};
+var _0xd1d0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x6C\x6F\x64\x61\x73\x68","\x74\x79\x70\x65","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x73\x65\x6E\x64","\x65\x78\x70\x6F\x72\x74\x73","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x63\x68\x61\x6E\x67\x65\x64","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x77\x61\x69\x74\x69\x6E\x67\x3A\x75\x70","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x3A\x75\x70","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74","\x77\x61\x69\x74\x69\x6E\x67\x3A\x64\x6F\x77\x6E","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E","\x61\x63\x74\x69\x76\x65\x3A\x75\x70","\x61\x63\x74\x69\x76\x65\x3A\x64\x6F\x77\x6E","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3A\x75\x70","\x61\x62\x61\x6E\x64\x6F\x6E\x3A\x75\x70","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x3A\x75\x70","\x61\x67\x65\x6E\x74\x3A\x6A\x6F\x69\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x61\x67\x65\x6E\x74\x3A\x6C\x65\x61\x76\x65","\x55\x73\x65\x72\x49\x64","\x77\x68\x65\x72\x65","\x71\x75\x65\x75\x65","\x61\x66\x74\x65\x72\x42\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x6C\x61\x73\x74\x63\x61\x6C\x6C"];_0xd1d0[0];const UserHasVoiceQueue=require(_0xd1d0[2])[_0xd1d0[1]];const ReportAgent=require(_0xd1d0[2])[_0xd1d0[3]];const ReportQueue=require(_0xd1d0[2])[_0xd1d0[4]];const ReportCall=require(_0xd1d0[2])[_0xd1d0[5]];const VoiceQueue=require(_0xd1d0[2])[_0xd1d0[6]];const sequelize=require(_0xd1d0[2])[_0xd1d0[7]];const _=require(_0xd1d0[8]);function onSend(_0x45ebx9,_0x45ebxa,_0x45ebxb){_0x45ebxb[_0xd1d0[10]][_0xd1d0[9]]= _0x45ebxa;_0x45ebx9[_0xd1d0[11]](_0x45ebxb[_0xd1d0[10]])}module[_0xd1d0[12]]= function(_0x45ebxc){ReportAgent[_0xd1d0[15]](function(_0x45ebxb){if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[13])){onSend(_0x45ebxc,_0xd1d0[13],_0x45ebxb)}});ReportAgent[_0xd1d0[15]](function(_0x45ebxb){if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[16])){onSend(_0x45ebxc,_0xd1d0[16],_0x45ebxb)}});ReportQueue[_0xd1d0[18]](function(_0x45ebxb){onSend(_0x45ebxc,_0xd1d0[17],_0x45ebxb)});ReportQueue[_0xd1d0[15]](function(_0x45ebxb){if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[19])){onSend(_0x45ebxc,_0xd1d0[20],_0x45ebxb)};if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[21])){onSend(_0x45ebxc,_0xd1d0[22],_0x45ebxb);if(!_0x45ebxb[_0xd1d0[23]]&& !_0x45ebxb[_0xd1d0[24]]&& !_0x45ebxb[_0xd1d0[19]]&& _0x45ebxb[_0xd1d0[21]]){if(!_0x45ebxb[_0xd1d0[14]](_0xd1d0[24])){onSend(_0x45ebxc,_0xd1d0[25],_0x45ebxb)}}};if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[23])&& _0x45ebxb[_0xd1d0[23]]){onSend(_0x45ebxc,_0xd1d0[26],_0x45ebxb);onSend(_0x45ebxc,_0xd1d0[27],_0x45ebxb)};if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[24])&& _0x45ebxb[_0xd1d0[24]]){onSend(_0x45ebxc,_0xd1d0[28],_0x45ebxb)}});ReportCall[_0xd1d0[18]](function(_0x45ebxb){if(_0x45ebxb[_0xd1d0[9]]=== _0xd1d0[29]){onSend(_0x45ebxc,_0xd1d0[30],_0x45ebxb)}});UserHasVoiceQueue[_0xd1d0[33]](function(_0x45ebxb){_0x45ebxb[_0xd1d0[32]](function(_0x45ebxd){onSend(_0x45ebxc,_0xd1d0[31],_0x45ebxd)})});UserHasVoiceQueue[_0xd1d0[38]](function(_0x45ebxb){_0x45ebxb[_0xd1d0[36]][_0xd1d0[37]][_0xd1d0[32]](function(_0x45ebxd){onSend(_0x45ebxc,_0xd1d0[34],{dataValues:{UserId:_0x45ebxb[_0xd1d0[36]][_0xd1d0[35]],queue:_0x45ebxd}})})});UserHasVoiceQueue[_0xd1d0[15]](function(_0x45ebxb){if(_0x45ebxb[_0xd1d0[14]](_0xd1d0[39])){onSend(_0x45ebxc,_0xd1d0[39],_0x45ebxb)}})}
\ No newline at end of file
-'use strict';
-
-const util = require('util');
-const cp = require('child_process');
-
-module.exports = function(io) {
- const n = cp
- .fork(__dirname + '/workers')
- .on('message', function(data) {
-
- console.log('child process message', data);
- })
- .on('error', function(err) {
- console.error(err);
- });
-
- require('./hooks')(n);
-
- return n;
-};
+var _0xa775=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x75\x74\x69\x6C","\x63\x68\x69\x6C\x64\x5F\x70\x72\x6F\x63\x65\x73\x73","\x65\x78\x70\x6F\x72\x74\x73","\x65\x72\x72\x6F\x72","\x6F\x6E","\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x69\x6C\x64\x20\x70\x72\x6F\x63\x65\x73\x73\x20\x6D\x65\x73\x73\x61\x67\x65","\x6C\x6F\x67","\x2F\x77\x6F\x72\x6B\x65\x72\x73","\x66\x6F\x72\x6B","\x2E\x2F\x68\x6F\x6F\x6B\x73"];_0xa775[0];const util=require(_0xa775[1]);const cp=require(_0xa775[2]);module[_0xa775[3]]= function(_0x5442x3){const _0x5442x4=cp[_0xa775[10]](__dirname+ _0xa775[9])[_0xa775[5]](_0xa775[6],function(_0x5442x6){console[_0xa775[8]](_0xa775[7],_0x5442x6)})[_0xa775[5]](_0xa775[4],function(_0x5442x5){console[_0xa775[4]](_0x5442x5)});require(_0xa775[11])(_0x5442x4);return _0x5442x4}
\ No newline at end of file
-'use strict';
-
-/*jshint multistr:true */
-
-const _ = require('lodash');
-
-const config = require('../../../config/environment');
-const sequelize = require('../../../models').sequelize;
-
-const VoiceQueue = require('../../../models').VoiceQueue;
-const ReportQueue = require('../../../models').ReportQueue;
-
-// SOCKET IO CHILD CONNETION
-var io = require('socket.io-emitter')({
- host: config.ip,
- port: 6379
-});
-
-// QUEUE SET
-var queues = {};
-var outbound = {};
-
-VoiceQueue
- .findAll({
- attributes: ['name'],
- raw: true
- })
- .then(function(data) {
- queues = _.keyBy(data, 'name');
-
- return sequelize
- .query('SELECT queue, count(*) as waiting \
- FROM report_queue \
- WHERE queuecallerleaveAt IS NULL \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].waiting = elm.waiting;
- }
- });
-
- return sequelize
- .query(
- 'SELECT queue, count(*) as active \
- FROM report_queue \
- WHERE queuecallerexit = 0 \
- AND queuecallerabandon = 0 \
- AND queuecallercomplete = 0 \
- AND queuecallerleaveAt IS NOT NULL \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].active = elm.active;
- }
- });
-
- return sequelize
- .query(
- 'SELECT queue, count(*) as abandon \
- FROM report_queue \
- WHERE queuecallerabandon = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].abandon = elm.abandon;
- }
- });
-
- return sequelize
- .query(
- 'SELECT queue, count(*) as complete \
- FROM report_queue \
- WHERE queuecallercomplete = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].complete = elm.complete;
- }
- });
-
- return sequelize
- .query('SELECT queue, count(*) as calls, SUM(holdtime) as holdtime \
- FROM report_agent \
- WHERE agentcomplete = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].holdtime = elm.holdtime;
- }
- });
-
- return sequelize
- .query('SELECT queue, count(*) as calls, SUM(talktime) as talktime \
- FROM report_agent \
- WHERE agentcomplete = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].talktime = elm.talktime;
- }
- });
-
- return sequelize
- .query('SELECT queue, count(*) as unmanaged \
- FROM report_queue \
- WHERE queuecallerexit = 1 \
- GROUP BY queue;', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- data.forEach(function(elm) {
- if (queues[elm.queue]) {
- queues[elm.queue].unmanaged = elm.unmanaged;
- }
- });
-
- return sequelize
- .query('SELECT count(*) as answered \
- FROM report_call \
- WHERE disposition = \'ANSWERED\' \
- AND type = \'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- outbound.answered = data[0].answered;
-
- return sequelize
- .query('SELECT count(*) as manualOutbound \
- FROM report_call \
- WHERE type = \'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- outbound.manualOutbound = data[0].manualOutbound;
-
- return sequelize
- .query('SELECT SUM(duration) as globalDuration \
- FROM report_call \
- WHERE type = \'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- outbound.globalDuration = data[0].globalDuration || 0;
-
- return sequelize
- .query('SELECT AVG(duration) as avgDuration \
- FROM report_call \
- WHERE type=\'outbound\';', {
- type: sequelize.QueryTypes.SELECT
- });
- })
- .then(function(data) {
- outbound.avgDuration = data[0].avgDuration || 0;
- outbound.answerRate = outbound.avgDuration ? ((outbound.answered / outbound.globalDuration) * 100) : 0;
-
- require('./voice')(queues, outbound, io);
- })
- .catch(function(err) {
- console.error(err);
- });
+var _0x995b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x69\x70","\x73\x6F\x63\x6B\x65\x74\x2E\x69\x6F\x2D\x65\x6D\x69\x74\x74\x65\x72","\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x61\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E","\x61\x6E\x73\x77\x65\x72\x52\x61\x74\x65","\x61\x6E\x73\x77\x65\x72\x65\x64","\x67\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2F\x76\x6F\x69\x63\x65","\x74\x68\x65\x6E","\x53\x45\x4C\x45\x43\x54\x20\x41\x56\x47\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x20\x61\x73\x20\x61\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x0A\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x3D\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x53\x45\x4C\x45\x43\x54","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x71\x75\x65\x72\x79","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x53\x45\x4C\x45\x43\x54\x20\x53\x55\x4D\x28\x64\x75\x72\x61\x74\x69\x6F\x6E\x29\x20\x61\x73\x20\x67\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x20\x3D\x20\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x53\x45\x4C\x45\x43\x54\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x74\x79\x70\x65\x20\x3D\x20\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x71\x75\x65\x75\x65","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x66\x6F\x72\x45\x61\x63\x68","\x53\x45\x4C\x45\x43\x54\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x61\x6E\x73\x77\x65\x72\x65\x64\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x3D\x20\x27\x41\x4E\x53\x57\x45\x52\x45\x44\x27\x20\x0A\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x74\x79\x70\x65\x20\x3D\x20\x27\x6F\x75\x74\x62\x6F\x75\x6E\x64\x27\x3B","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x63\x61\x6C\x6C\x73\x2C\x20\x53\x55\x4D\x28\x74\x61\x6C\x6B\x74\x69\x6D\x65\x29\x20\x61\x73\x20\x74\x61\x6C\x6B\x74\x69\x6D\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x63\x61\x6C\x6C\x73\x2C\x20\x53\x55\x4D\x28\x68\x6F\x6C\x64\x74\x69\x6D\x65\x29\x20\x61\x73\x20\x68\x6F\x6C\x64\x74\x69\x6D\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x61\x67\x65\x6E\x74\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x61\x62\x61\x6E\x64\x6F\x6E","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x61\x63\x74\x69\x76\x65","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x61\x62\x61\x6E\x64\x6F\x6E\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x20\x3D\x20\x31\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x77\x61\x69\x74\x69\x6E\x67","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x61\x63\x74\x69\x76\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x65\x78\x69\x74\x20\x3D\x20\x30\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x61\x62\x61\x6E\x64\x6F\x6E\x20\x3D\x20\x30\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x63\x6F\x6D\x70\x6C\x65\x74\x65\x20\x3D\x20\x30\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x41\x4E\x44\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x20\x49\x53\x20\x4E\x4F\x54\x20\x4E\x55\x4C\x4C\x20\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x6E\x61\x6D\x65","\x6B\x65\x79\x42\x79","\x53\x45\x4C\x45\x43\x54\x20\x71\x75\x65\x75\x65\x2C\x20\x63\x6F\x75\x6E\x74\x28\x2A\x29\x20\x61\x73\x20\x77\x61\x69\x74\x69\x6E\x67\x20\x0A\x20\x20\x20\x20\x20\x20\x46\x52\x4F\x4D\x20\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x20\x0A\x20\x20\x20\x20\x20\x20\x57\x48\x45\x52\x45\x20\x71\x75\x65\x75\x65\x63\x61\x6C\x6C\x65\x72\x6C\x65\x61\x76\x65\x41\x74\x20\x49\x53\x20\x4E\x55\x4C\x4C\x20\x0A\x20\x20\x20\x20\x20\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20\x71\x75\x65\x75\x65\x3B","\x66\x69\x6E\x64\x41\x6C\x6C"];_0x995b[0];const _=require(_0x995b[1]);const config=require(_0x995b[2]);const sequelize=require(_0x995b[4])[_0x995b[3]];const VoiceQueue=require(_0x995b[4])[_0x995b[5]];const ReportQueue=require(_0x995b[4])[_0x995b[6]];var io=require(_0x995b[8])({host:config[_0x995b[7]],port:6379});var queues={};var outbound={};VoiceQueue[_0x995b[43]]({attributes:[_0x995b[40]],raw:true})[_0x995b[16]](function(_0x7038xa){queues= _[_0x995b[41]](_0x7038xa,_0x995b[40]);return sequelize[_0x995b[20]](_0x995b[42],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[38]]= _0x7038xb[_0x995b[38]]}});return sequelize[_0x995b[20]](_0x995b[39],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[36]]= _0x7038xb[_0x995b[36]]}});return sequelize[_0x995b[20]](_0x995b[37],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[34]]= _0x7038xb[_0x995b[34]]}});return sequelize[_0x995b[20]](_0x995b[35],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[32]]= _0x7038xb[_0x995b[32]]}});return sequelize[_0x995b[20]](_0x995b[33],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[30]]= _0x7038xb[_0x995b[30]]}});return sequelize[_0x995b[20]](_0x995b[31],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[28]]= _0x7038xb[_0x995b[28]]}});return sequelize[_0x995b[20]](_0x995b[29],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){_0x7038xa[_0x995b[26]](function(_0x7038xb){if(queues[_0x7038xb[_0x995b[24]]]){queues[_0x7038xb[_0x995b[24]]][_0x995b[25]]= _0x7038xb[_0x995b[25]]}});return sequelize[_0x995b[20]](_0x995b[27],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){outbound[_0x995b[13]]= _0x7038xa[0][_0x995b[13]];return sequelize[_0x995b[20]](_0x995b[23],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){outbound[_0x995b[21]]= _0x7038xa[0][_0x995b[21]];return sequelize[_0x995b[20]](_0x995b[22],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){outbound[_0x995b[14]]= _0x7038xa[0][_0x995b[14]]|| 0;return sequelize[_0x995b[20]](_0x995b[17],{type:sequelize[_0x995b[19]][_0x995b[18]]})})[_0x995b[16]](function(_0x7038xa){outbound[_0x995b[11]]= _0x7038xa[0][_0x995b[11]]|| 0;outbound[_0x995b[12]]= outbound[_0x995b[11]]?((outbound[_0x995b[13]]/ outbound[_0x995b[14]])* 100):0;require(_0x995b[15])(queues,outbound,io)})[_0x995b[10]](function(_0x7038x9){console[_0x995b[9]](_0x7038x9)})
\ No newline at end of file
-'use strict';
-
-/*jshint multistr:true */
-
-const _ = require('lodash');
-const util = require('util');
-
-const config = require('../../../config/environment');
-const User = require('../../../models').User;
-const sequelize = require('../../../models').sequelize;
-
-const VoiceQueue = require('../../../models').VoiceQueue;
-const ReportQueue = require('../../../models').ReportQueue;
-
-module.exports = function(queues, outbound, io) {
- function onVoiceWaitingUp(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].waiting) {
- queues[data.queue].waiting = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].waiting = 0;
- }
-
- queues[data.queue].waiting++;
- io.to(data.queue).emit('dashboard:voice:waiting', queues[data.queue]);
- }
-
- function onVoiceWaitingDown(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].waiting) {
- queues[data.queue].waiting = 0;
- } else {
- queues[data.queue].waiting--;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].waiting = 0;
- }
-
- io.to(data.queue).emit('dashboard:voice:waiting', queues[data.queue]);
- }
-
- function onVoiceActiveUp(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].active) {
- queues[data.queue].active = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].active = 0;
- }
-
- queues[data.queue].active++;
- io.to(data.queue).emit('dashboard:voice:active', queues[data.queue]);
- }
-
- function onVoiceActiveDown(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].active) {
- queues[data.queue].active = 0;
- } else {
- queues[data.queue].active--;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].active = 0;
- }
-
- io.to(data.queue).emit('dashboard:voice:active', queues[data.queue]);
- }
-
- function onVoiceAbandonUp(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].abandon) {
- queues[data.queue].abandon = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].abandon = 0;
- }
-
- queues[data.queue].abandon++;
- io.to(data.queue).emit('dashboard:voice:abandon', queues[data.queue]);
- }
-
- function onVoiceCompleteUp(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].complete) {
- queues[data.queue].complete = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].complete = 0;
- }
-
- queues[data.queue].complete++;
- io.to(data.queue).emit('dashboard:voice:complete', queues[data.queue]);
- }
-
- function onVoiceUnmanagedUp(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].unmanaged) {
- queues[data.queue].unmanaged = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].unmanaged = 0;
- }
-
- queues[data.queue].unmanaged++;
- io.to(data.queue).emit('dashboard:voice:unmanaged', queues[data.queue]);
- }
-
- function onHoldtime(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].holdtime) {
- queues[data.queue].holdtime = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].holdtime = 0;
- }
-
- queues[data.queue].holdtime += Number(data.holdtime);
-
- io.to(data.queue).emit('dashboard:voice:holdtime', queues[data.queue]);
- }
-
- function onTalktime(data) {
- if (queues[data.queue]) {
- if (!queues[data.queue].talktime) {
- queues[data.queue].talktime = 0;
- }
- } else {
- queues[data.queue] = {};
- queues[data.queue].talktime = 0;
- }
-
- queues[data.queue].talktime += Number(data.talktime);
-
- io.to(data.queue).emit('dashboard:voice:talktime', queues[data.queue]);
- }
-
- function onOutboundUp(data) {
- outbound.manualOutbound++;
- if (data.answertime) {
- outbound.answered++;
- }
- outbound.globalDuration += Number(data.duration);
- outbound.avgDuration = Number(outbound.globalDuration) / Number(outbound.manualOutbound);
- outbound.answerRate = (outbound.answered / outbound.manualOutbound) * 100;
-
- io.to('users').emit('dashboard:voice:outbound', outbound);
- io.to('admins').emit('dashboard:voice:outbound', outbound);
- }
-
- function onUpdateQueue(data) {
- io.to(data.membername).emit('voice:queue:update', {
- queue: data.queue,
- lastcall: data.lastcall,
- callstaken: data.callstaken,
- loggedAt: data.loggedAt
- });
- }
-
- function onAgentJoin(data) {}
-
- function onAgentLeave(data) {}
-
- process.on('message', function(data) {
- switch (data.type) {
- case 'waiting:up':
- onVoiceWaitingUp(data);
- break;
- case 'waiting:down':
- onVoiceWaitingDown(data);
- break;
- case 'active:up':
- onVoiceActiveUp(data);
- break;
- case 'active:down':
- onVoiceActiveDown(data);
- break;
- case 'abandon:up':
- onVoiceAbandonUp(data);
- break;
- case 'complete:up':
- onVoiceCompleteUp(data);
- break;
- case 'unmanaged:up':
- onVoiceUnmanagedUp(data);
- break;
- case 'holdtime':
- onHoldtime(data);
- break;
- case 'talktime':
- onTalktime(data);
- break;
- case 'outbound:up':
- onOutboundUp(data);
- break;
- case 'lastcall':
- onUpdateQueue(data);
- break;
- case 'agent:join':
- // onAgentJoin(data);
- break;
- case 'agent:leave':
- // onAgentLeave(data);
- break;
- default:
- }
- });
-};
+var _0xe8ce=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65","\x65\x78\x70\x6F\x72\x74\x73","\x71\x75\x65\x75\x65","\x77\x61\x69\x74\x69\x6E\x67","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x77\x61\x69\x74\x69\x6E\x67","\x65\x6D\x69\x74","\x74\x6F","\x61\x63\x74\x69\x76\x65","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x61\x63\x74\x69\x76\x65","\x61\x62\x61\x6E\x64\x6F\x6E","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x61\x62\x61\x6E\x64\x6F\x6E","\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x63\x6F\x6D\x70\x6C\x65\x74\x65","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x68\x6F\x6C\x64\x74\x69\x6D\x65","\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x74\x61\x6C\x6B\x74\x69\x6D\x65","\x6D\x61\x6E\x75\x61\x6C\x4F\x75\x74\x62\x6F\x75\x6E\x64","\x61\x6E\x73\x77\x65\x72\x74\x69\x6D\x65","\x61\x6E\x73\x77\x65\x72\x65\x64","\x67\x6C\x6F\x62\x61\x6C\x44\x75\x72\x61\x74\x69\x6F\x6E","\x64\x75\x72\x61\x74\x69\x6F\x6E","\x61\x76\x67\x44\x75\x72\x61\x74\x69\x6F\x6E","\x61\x6E\x73\x77\x65\x72\x52\x61\x74\x65","\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x3A\x76\x6F\x69\x63\x65\x3A\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x75\x73\x65\x72\x73","\x61\x64\x6D\x69\x6E\x73","\x76\x6F\x69\x63\x65\x3A\x71\x75\x65\x75\x65\x3A\x75\x70\x64\x61\x74\x65","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x63\x61\x6C\x6C\x73\x74\x61\x6B\x65\x6E","\x6C\x6F\x67\x67\x65\x64\x41\x74","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x76\x6F\x69\x63\x65\x3A\x71\x75\x65\x75\x65\x3A\x61\x67\x65\x6E\x74\x3A\x6A\x6F\x69\x6E","\x55\x73\x65\x72\x49\x64","\x61\x67\x65\x6E\x74\x3A\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x76\x6F\x69\x63\x65\x3A\x71\x75\x65\x75\x65\x3A\x61\x67\x65\x6E\x74\x3A\x6C\x65\x61\x76\x65","\x6D\x65\x73\x73\x61\x67\x65","\x77\x61\x69\x74\x69\x6E\x67\x3A\x75\x70","\x77\x61\x69\x74\x69\x6E\x67\x3A\x64\x6F\x77\x6E","\x61\x63\x74\x69\x76\x65\x3A\x75\x70","\x61\x63\x74\x69\x76\x65\x3A\x64\x6F\x77\x6E","\x61\x62\x61\x6E\x64\x6F\x6E\x3A\x75\x70","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x3A\x75\x70","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64\x3A\x75\x70","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x3A\x75\x70","\x61\x67\x65\x6E\x74\x3A\x6A\x6F\x69\x6E","\x61\x67\x65\x6E\x74\x3A\x6C\x65\x61\x76\x65","\x74\x79\x70\x65","\x6F\x6E"];_0xe8ce[0];const _=require(_0xe8ce[1]);const util=require(_0xe8ce[2]);const config=require(_0xe8ce[3]);const User=require(_0xe8ce[5])[_0xe8ce[4]];const sequelize=require(_0xe8ce[5])[_0xe8ce[6]];const VoiceQueue=require(_0xe8ce[5])[_0xe8ce[7]];const ReportQueue=require(_0xe8ce[5])[_0xe8ce[8]];module[_0xe8ce[9]]= function(_0x8babx8,_0x8babx9,_0x8babxa){function _0x8babxb(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]++;_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[12],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babxd(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]= 0}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]--}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[11]]= 0};_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[12],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babxe(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]++;_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[16],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babxf(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]= 0}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]--}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[15]]= 0};_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[16],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babx10(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[17]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[17]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[17]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[17]]++;_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[18],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babx11(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[19]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[19]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[19]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[19]]++;_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[20],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babx12(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[21]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[21]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[21]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[21]]++;_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[22],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babx13(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[23]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[23]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[23]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[23]]+= Number(_0x8babxc[_0xe8ce[23]]);_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[24],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babx14(_0x8babxc){if(_0x8babx8[_0x8babxc[_0xe8ce[10]]]){if(!_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[25]]){_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[25]]= 0}}else {_0x8babx8[_0x8babxc[_0xe8ce[10]]]= {};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[25]]= 0};_0x8babx8[_0x8babxc[_0xe8ce[10]]][_0xe8ce[25]]+= Number(_0x8babxc[_0xe8ce[25]]);_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[10]])[_0xe8ce[13]](_0xe8ce[26],_0x8babx8[_0x8babxc[_0xe8ce[10]]])}function _0x8babx15(_0x8babxc){_0x8babx9[_0xe8ce[27]]++;if(_0x8babxc[_0xe8ce[28]]){_0x8babx9[_0xe8ce[29]]++};_0x8babx9[_0xe8ce[30]]+= Number(_0x8babxc[_0xe8ce[31]]);_0x8babx9[_0xe8ce[32]]= Number(_0x8babx9[_0xe8ce[30]])/ Number(_0x8babx9[_0xe8ce[27]]);_0x8babx9[_0xe8ce[33]]= (_0x8babx9[_0xe8ce[29]]/ _0x8babx9[_0xe8ce[27]])* 100;_0x8babxa[_0xe8ce[14]](_0xe8ce[35])[_0xe8ce[13]](_0xe8ce[34],_0x8babx9);_0x8babxa[_0xe8ce[14]](_0xe8ce[36])[_0xe8ce[13]](_0xe8ce[34],_0x8babx9)}function _0x8babx16(_0x8babxc){_0x8babxa[_0xe8ce[14]](_0x8babxc[_0xe8ce[41]])[_0xe8ce[13]](_0xe8ce[37],{queue:_0x8babxc[_0xe8ce[10]],lastcall:_0x8babxc[_0xe8ce[38]],callstaken:_0x8babxc[_0xe8ce[39]],loggedAt:_0x8babxc[_0xe8ce[40]]})}function _0x8babx17(_0x8babxc){_0x8babxa[_0xe8ce[14]](util[_0xe8ce[45]](_0xe8ce[44],_0x8babxc.UserId))[_0xe8ce[13]](_0xe8ce[42],{agent:_0x8babxc[_0xe8ce[43]],queue:_0x8babxc[_0xe8ce[10]]})}function _0x8babx18(_0x8babxc){_0x8babxa[_0xe8ce[14]](util[_0xe8ce[45]](_0xe8ce[44],_0x8babxc.UserId))[_0xe8ce[13]](_0xe8ce[46],{agent:_0x8babxc[_0xe8ce[43]],queue:_0x8babxc[_0xe8ce[10]]})}process[_0xe8ce[59]](_0xe8ce[47],function(_0x8babxc){switch(_0x8babxc[_0xe8ce[58]]){case _0xe8ce[48]:_0x8babxb(_0x8babxc);break;case _0xe8ce[49]:_0x8babxd(_0x8babxc);break;case _0xe8ce[50]:_0x8babxe(_0x8babxc);break;case _0xe8ce[51]:_0x8babxf(_0x8babxc);break;case _0xe8ce[52]:_0x8babx10(_0x8babxc);break;case _0xe8ce[53]:_0x8babx11(_0x8babxc);break;case _0xe8ce[54]:_0x8babx12(_0x8babxc);break;case _0xe8ce[23]:_0x8babx13(_0x8babxc);break;case _0xe8ce[25]:_0x8babx14(_0x8babxc);break;case _0xe8ce[55]:_0x8babx15(_0x8babxc);break;case _0xe8ce[38]:_0x8babx16(_0x8babxc);break;case _0xe8ce[56]:_0x8babx17(_0x8babxc);break;case _0xe8ce[57]:_0x8babx18(_0x8babxc);break;default:}})}
\ No newline at end of file
-var _ = require('lodash');
-var util = require('util');
-var User = require('../models').User;
-var Promise = require('bluebird');
-var Util = require('../config/util');
-var sequelize = require('../models').sequelize;
-
-function getTable(table) {
- var tableModel;
- switch (table) {
- case 'report_agent_history':
- tableModel = require('../models').history.ReportAgentHistory;
- break;
- case 'report_mail_session_history':
- tableModel = require('../models').history.ReportMailSessionHistory;
- break;
- case 'report_queue_history':
- tableModel = require('../models').history.ReportQueueHistory;
- break;
- case 'report_chat_session_history':
- tableModel = require('../models').history.ReportChatSessionHistory;
- break;
- case 'report_call_history':
- tableModel = require('../models').history.ReportCallHistory;
- break;
- case 'report_member_history':
- tableModel = require('../models').history.ReportMemberHistory;
- break;
- case 'report_integration_history':
- tableModel = require('../models').history.ReportIntegrationHistory;
- break;
- case 'report_sms_session_history':
- tableModel = require('../models').history.ReportSmsSessionHistory;
- break;
- case 'cm_contacts':
- tableModel = require('../models').Contact;
- break;
- case 'voice_recordings':
- tableModel = require('../models').VoiceRecording;
- break;
- case 'report_square_history':
- tableModel = require('../models').history.ReportSquareHistory;
- break;
- case 'report_square_details_history':
- tableModel = require('../models').history.ReportSquareDetailHistory;
- break;
- case 'users':
- tableModel = require('../models').User;
- break;
- case 'report_fax_session_history':
- tableModel = require('../models').history.ReportFaxSessionHistory;
- break;
- case 'mail_rooms':
- tableModel = require('../models').MailRoom;
- break;
- case 'mail_messages':
- tableModel = require('../models').MailMessage;
- break;
- case 'fax_rooms':
- tableModel = require('../models').FaxRoom;
- break;
- case 'fax_messages':
- tableModel = require('../models').FaxMessage;
- break;
- case 'chat_rooms':
- tableModel = require('../models').ChatRoom;
- break;
- case 'chat_messages':
- tableModel = require('../models').ChatMessage;
- break;
- case 'sms_rooms':
- tableModel = require('../models').SmsRoom;
- break;
- case 'sms_messages':
- tableModel = require('../models').SmsMessage;
- break;
- case 'openchannel_rooms':
- tableModel = require('../models').OpenchannelRoom;
- break;
- case 'openchannel_messages':
- tableModel = require('../models').OpenchannelMessage;
- break;
- default:
- }
- return tableModel;
-}
-
-exports.getTable = getTable;
-
-exports.buildFilter = function(reqUser) {
- return function(table) {
- switch (reqUser.role) {
- case 'user':
- var filter = '';
- var checkTable = table.replace('_history', '');
-
- switch (checkTable) {
- case 'report_mail_session':
- var _mailQueues;
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getMailQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var users = [];
- _mailQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return users;
- })
- .then(function(agents) {
- if (_mailQueues.length && agents.length) {
- filter = '(queue IN (' + _mailQueues.join(",") + ')';
- filter += ' OR memberid IN (\'' + agents.join("','") + '\'))';
- } else if (_mailQueues.length) {
- filter = 'queue IN (' + _mailQueues.join(",") + ')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_member':
- var _voiceQueues;
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser({}, {
- attributes: ['name'],
- include: [{
- raw: true,
- model: User,
- attributes: ['name']
- }]
- }))
- .then(function(queues) {
- var users = [];
- queues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'name'));
- });
- return users;
- })
- .then(function(agents) {
- if (agents.length) {
- filter = 'membername IN (\'' + agents.join("','") + '\')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_agent':
- case 'report_queue':
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getVoiceQueuesIdByUser())
- .then(function(voiceQueues) {
- if (voiceQueues.rows.length) {
- voiceQueues = _.map(voiceQueues.rows, 'name');
- filter = 'queue IN (\'' + voiceQueues.join("','") + '\')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_chat_session':
- var _chatQueues;
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getChatQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var users = [];
- _chatQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return users;
- })
- .then(function(agents) {
- if (_chatQueues.length && agents.length) {
- filter = '(queue IN (' + _chatQueues.join(",") + ')';
- filter += ' OR memberid IN (\'' + agents.join("','") + '\'))';
- } else if (_chatQueues.length) {
- filter = 'queue IN (' + _chatQueues.join(",") + ')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_fax_session':
- var _faxQueues;
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getFaxQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var users = [];
- _faxQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return users;
- })
- .then(function(agents) {
- if (_faxQueues.length && agents.length) {
- filter = '(queue IN (' + _faxQueues.join(",") + ')';
- filter += ' OR memberid IN (\'' + agents.join("','") + '\'))';
- } else if (_faxQueues.length) {
- filter = 'queue IN (' + _faxQueues.join(",") + ')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_sms_session':
- var _smsQueues;
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getSmsQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var users = [];
- _smsQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return users;
- })
- .then(function(agents) {
- if (_smsQueues.length && agents.length) {
- filter = '(queue IN (' + _smsQueues.join(",") + ')';
- filter += ' OR memberid IN (\'' + agents.join("','") + '\'))';
- } else if (_smsQueues.length) {
- filter = 'queue IN (' + _smsQueues.join(",") + ')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_openchannel_session':
- var _openchannelQueues;
- return User
- .findById(reqUser.id, {
- attributes: ['id']
- })
- .then(Util.getOpenchannelQueuesIdByUser({}, {
- attributes: ['id'],
- include: [{
- raw: true,
- model: User,
- attributes: ['id']
- }]
- }))
- .then(function(queues) {
- var users = [];
- _openchannelQueues = _.map(queues.rows, 'id');
- queues.rows.forEach(function(queue) {
- users = _.union(users, _.map(queue.Users, 'id'));
- });
- return users;
- })
- .then(function(agents) {
- if (_openchannelQueues.length && agents.length) {
- filter = '(queue IN (' + _openchannelQueues.join(",") + ')';
- filter += ' OR memberid IN (\'' + agents.join("','") + '\'))';
- } else if (_openchannelQueues.length) {
- filter = 'queue IN (' + _openchannelQueues.join(",") + ')';
- } else {
- filter = 'empty';
- }
- console.log('==== USER FILTER ====', filter);
- return filter;
- })
- case 'report_integration':
- case 'report_call':
- return Promise
- .all([])
- .then(function() {
- return null;
- })
- default:
- return Promise
- .all([])
- .then(function() {
- return null;
- })
- }
- break;
- default:
- return Promise
- .all([])
- .then(function() {
- return null;
- })
- }
- }
-}
-
-exports.buildQuery = function(query) {
- return function(userFilter, report) {
- var tableModel = getTable(report.table);
- return tableModel
- .describe()
- .then(function(tableFields) {
- var _tableFields = _.keys(tableFields);
- var fields = [],
- groupBy = [],
- orderBy = [];
- _.forEach(report.Fields, function(elem) {
- if (!elem.MetricId && !elem.custom) {
- elem.field = '`' + elem.field + '`';
- }
- var field = '';
- if (elem.function) {
- switch (elem.function) {
- case 'COUNT DISTINCT':
- field = util.format('COUNT(DISTINCT %s)', elem.field);
- break;
- case 'GROUP_CONCAT ASC':
- field = util.format('GROUP_CONCAT(%s ORDER BY %s ASC)', elem.field, elem.field);
- break;
- case 'GROUP_CONCAT DESC':
- field = util.format('GROUP_CONCAT(%s ORDER BY %s DESC)', elem.field, elem.field);
- break;
- default:
- field = util.format('%s(%s)', elem.function, elem.field);
- }
- } else {
- field = elem.field;
- }
- if (field.indexOf('DATE(') === 0) {
- field = util.format('CAST(%s AS char)', field); //same cast as the previous switch in case of custom field with DATE function
- }
- if (elem.format) {
- switch (elem.format) {
- case 'DATE':
- field = util.format('CAST(%s(%s) AS char)', elem.format, field); //CAST return the date as string instead of as a Date object, so the latter processing will not convert it in the standard choosen format
- break;
- default:
- field = util.format('%s(%s)', elem.format, field);
- }
-
- }
- fields.push(util.format('%s AS \'%s\'', field, elem.alias));
- if (elem.groupBy) {
- groupBy.push(field);
- }
- if (elem.orderBy) {
- orderBy.push(util.format('%s %s', field, elem.orderBy));
- }
- });
-
- var conditions = report.conditions ? getConditions(JSON.parse(report.conditions).group, _tableFields) : '()';
- var resultQuery = 'SELECT';
- // query += fields.length ? ' ' + fields.join(',') : ' *';//right if you want to select all fields also
- resultQuery += ' ' + fields.join(','); //generate a wrong query if there isn' t any field
- resultQuery += ' FROM ' + report.table;
- resultQuery += conditions !== '()' ? ' WHERE ' + conditions : '';
- var startDate, endDate, startTime, endTime;
- var otherConditions = [];
- if (query) {
- _.forOwn(query, function(value, key) {
- switch (key) {
- case 'startDate':
- startDate = value;
- break;
- case 'endDate':
- endDate = value;
- break;
- case 'startTime':
- startTime = value;
- break;
- case 'endTime':
- endTime = value;
- break;
- case 'offset':
- case 'limit':
- break;
- default:
- var column = _.find(report.Fields, {
- alias: key
- });
- if (column) {
- otherConditions.push(column.field + ' LIKE \'%' + value + '%\'');
- } else {
- otherConditions.push(key + ' LIKE \'%' + value + '%\'');
- }
- }
- });
- }
- var fieldFormat = 'DATE_FORMAT(createdAt,\'%Y-%m-%d %H:%i\')';
- console.log(startDate, endDate, startTime, endTime);
- if (startDate && endDate) {
- if (startDate === endDate) {
- if (startTime || endTime) {
- console.log(startDate, endDate, startTime, endTime);
- otherConditions.push(util.format(' (%s BETWEEN \'%s\' AND \'%s\')', fieldFormat, startDate + (startTime ? ' ' + startTime : ' 00:00'), endDate + (endTime ? ' ' + endTime : ' 23:59')));
- } else {
- otherConditions.push(util.format(' %s = \'%s\'', fieldFormat, startDate));
- }
- } else {
- otherConditions.push(util.format(' (%s BETWEEN \'%s\' AND \'%s\')', fieldFormat, startDate + (startTime ? ' ' + startTime : ' 00:00'), endDate + (endTime ? ' ' + endTime : ' 23:59')));
- }
- } else if (startDate) {
- otherConditions.push(util.format(' %s >= \'%s\')', fieldFormat, startDate + (startTime ? ' ' + startTime : ' 00:00')));
- } else if (endDate) {
- otherConditions.push(util.format(' %s <= \'%s\')', fieldFormat, endDate + (endTime ? ' ' + endTime : ' 23:59')));
- }
- if (otherConditions.length) {
- resultQuery += ((conditions !== '()') ? ' AND ' : ' WHERE ') + otherConditions.join(' AND ');
- }
-
-
- if (userFilter) {
- if (userFilter === 'empty') {
- console.log(' ==== RESULTING QUERY ====');
- console.log('NO SUFFICIENT PERMISSIONS');
- console.log(' =========================');
- return 'permission';
- }
- resultQuery += ((conditions !== '()' || otherConditions.length) ? ' AND ' : ' WHERE ') + userFilter;
- }
- resultQuery += groupBy.length ? ' GROUP BY ' + groupBy.join(',') : '';
- resultQuery += orderBy.length ? ' ORDER BY ' + orderBy.join(',') : '';
-
- console.log(' ==== RESULTING QUERY ====');
- console.log(resultQuery);
- console.log(' =========================');
- return resultQuery;
- })
- }
-}
-
-exports.checkQuery = function() {
- return function(query) {
- if (query) {
- var result = '';
- switch (query) {
- case 'permission':
- result = 'No sufficient queue permissions for the user';
- break;
- default:
- result = sequelize.query(query, {
- type: sequelize.QueryTypes.SELECT
- });
- }
- return result;
- }
- return query;
- }
-}
-
-function getConditions(group, tableFields) {
- if (!group) return '()';
- for (var str = '(', i = 0; i < group.rules.length; i++) {
- i > 0 && (str += ' ' + group.operator + ' ');
- if (group.rules[i].group) {
- str += getConditions(group.rules[i].group, tableFields);
- } else {
- str += _.includes(tableFields, group.rules[i].field) ? '`' + group.rules[i].field + '`' : group.rules[i].field;
- switch (group.rules[i].condition) {
- case 'IS NULL':
- case 'IS NOT NULL':
- str += " " + group.rules[i].condition;
- break;
- case 'IS EMPTY':
- str += " = ''";
- break;
- case 'IS NOT EMPTY':
- str += " != ''";
- break;
- default:
- str += " " + group.rules[i].condition + " " + group.rules[i].value + "";
- }
- }
- }
- return str + ')';
-}
+var _0xc98b=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74\x5F\x68\x69\x73\x74\x6F\x72\x79","\x52\x65\x70\x6F\x72\x74\x41\x67\x65\x6E\x74\x48\x69\x73\x74\x6F\x72\x79","\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x4D\x61\x69\x6C\x53\x65\x73\x73\x69\x6F\x6E","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x61\x69\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65","\x52\x65\x70\x6F\x72\x74\x51\x75\x65\x75\x65\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x71\x75\x65\x75\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x43\x68\x61\x74\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x63\x68\x61\x74\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C","\x52\x65\x70\x6F\x72\x74\x43\x61\x6C\x6C\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x63\x61\x6C\x6C\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72","\x52\x65\x70\x6F\x72\x74\x4D\x65\x6D\x62\x65\x72\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x6D\x65\x6D\x62\x65\x72\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x53\x6D\x73\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x73\x6D\x73\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x43\x6F\x6E\x74\x61\x63\x74","\x63\x6D\x5F\x63\x6F\x6E\x74\x61\x63\x74\x73","\x56\x6F\x69\x63\x65\x52\x65\x63\x6F\x72\x64\x69\x6E\x67","\x76\x6F\x69\x63\x65\x5F\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x73","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x73","\x52\x65\x70\x6F\x72\x74\x53\x71\x75\x61\x72\x65\x44\x65\x74\x61\x69\x6C\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x73\x71\x75\x61\x72\x65\x5F\x64\x65\x74\x61\x69\x6C\x73\x5F\x68\x69\x73\x74\x6F\x72\x79","\x75\x73\x65\x72\x73","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x52\x65\x70\x6F\x72\x74\x46\x61\x78\x53\x65\x73\x73\x69\x6F\x6E\x48\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6F\x72\x74\x5F\x66\x61\x78\x5F\x73\x65\x73\x73\x69\x6F\x6E\x5F\x68\x69\x73\x74\x6F\x72\x79","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x6D\x61\x69\x6C\x5F\x72\x6F\x6F\x6D\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x6D\x61\x69\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x66\x61\x78\x5F\x72\x6F\x6F\x6D\x73","\x46\x61\x78\x4D\x65\x73\x73\x61\x67\x65","\x66\x61\x78\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x43\x68\x61\x74\x52\x6F\x6F\x6D","\x63\x68\x61\x74\x5F\x72\x6F\x6F\x6D\x73","\x43\x68\x61\x74\x4D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x74\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x53\x6D\x73\x52\x6F\x6F\x6D","\x73\x6D\x73\x5F\x72\x6F\x6F\x6D\x73","\x53\x6D\x73\x4D\x65\x73\x73\x61\x67\x65","\x73\x6D\x73\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x52\x6F\x6F\x6D","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x72\x6F\x6F\x6D\x73","\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x4D\x65\x73\x73\x61\x67\x65","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x6D\x65\x73\x73\x61\x67\x65\x73","\x67\x65\x74\x54\x61\x62\x6C\x65","\x62\x75\x69\x6C\x64\x46\x69\x6C\x74\x65\x72","","\x5F\x68\x69\x73\x74\x6F\x72\x79","\x72\x65\x70\x6C\x61\x63\x65","\x6C\x65\x6E\x67\x74\x68","\x28\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28","\x2C","\x6A\x6F\x69\x6E","\x29","\x20\x4F\x52\x20\x6D\x65\x6D\x62\x65\x72\x69\x64\x20\x49\x4E\x20\x28\x27","\x27\x2C\x27","\x27\x29\x29","\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28","\x65\x6D\x70\x74\x79","\x3D\x3D\x3D\x3D\x20\x55\x53\x45\x52\x20\x46\x49\x4C\x54\x45\x52\x20\x3D\x3D\x3D\x3D","\x6C\x6F\x67","\x74\x68\x65\x6E","\x72\x6F\x77\x73","\x69\x64","\x6D\x61\x70","\x75\x6E\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x67\x65\x74\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65\x20\x49\x4E\x20\x28\x27","\x27\x29","\x6E\x61\x6D\x65","\x67\x65\x74\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x70\x6F\x72\x74\x5F\x61\x67\x65\x6E\x74","\x71\x75\x65\x75\x65\x20\x49\x4E\x20\x28\x27","\x67\x65\x74\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x46\x61\x78\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x53\x6D\x73\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x67\x65\x74\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73\x49\x64\x42\x79\x55\x73\x65\x72","\x72\x65\x70\x6F\x72\x74\x5F\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x5F\x73\x65\x73\x73\x69\x6F\x6E","\x61\x6C\x6C","\x75\x73\x65\x72","\x72\x6F\x6C\x65","\x62\x75\x69\x6C\x64\x51\x75\x65\x72\x79","\x74\x61\x62\x6C\x65","\x6B\x65\x79\x73","\x4D\x65\x74\x72\x69\x63\x49\x64","\x63\x75\x73\x74\x6F\x6D","\x66\x69\x65\x6C\x64","\x60","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x43\x4F\x55\x4E\x54\x28\x44\x49\x53\x54\x49\x4E\x43\x54\x20\x25\x73\x29","\x66\x6F\x72\x6D\x61\x74","\x43\x4F\x55\x4E\x54\x20\x44\x49\x53\x54\x49\x4E\x43\x54","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x28\x25\x73\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20\x25\x73\x20\x41\x53\x43\x29","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x20\x41\x53\x43","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x28\x25\x73\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20\x25\x73\x20\x44\x45\x53\x43\x29","\x47\x52\x4F\x55\x50\x5F\x43\x4F\x4E\x43\x41\x54\x20\x44\x45\x53\x43","\x25\x73\x28\x25\x73\x29","\x44\x41\x54\x45\x28","\x69\x6E\x64\x65\x78\x4F\x66","\x43\x41\x53\x54\x28\x25\x73\x20\x41\x53\x20\x63\x68\x61\x72\x29","\x43\x41\x53\x54\x28\x25\x73\x28\x25\x73\x29\x20\x41\x53\x20\x63\x68\x61\x72\x29","\x44\x41\x54\x45","\x25\x73\x20\x41\x53\x20\x27\x25\x73\x27","\x61\x6C\x69\x61\x73","\x70\x75\x73\x68","\x67\x72\x6F\x75\x70\x42\x79","\x6F\x72\x64\x65\x72\x42\x79","\x25\x73\x20\x25\x73","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E\x73","\x67\x72\x6F\x75\x70","\x70\x61\x72\x73\x65","\x28\x29","\x53\x45\x4C\x45\x43\x54","\x20","\x20\x46\x52\x4F\x4D\x20","\x20\x57\x48\x45\x52\x45\x20","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x65\x6E\x64\x44\x61\x74\x65","\x73\x74\x61\x72\x74\x54\x69\x6D\x65","\x65\x6E\x64\x54\x69\x6D\x65","\x6F\x66\x66\x73\x65\x74","\x6C\x69\x6D\x69\x74","\x66\x69\x6E\x64","\x20\x4C\x49\x4B\x45\x20\x27\x25","\x25\x27","\x66\x6F\x72\x4F\x77\x6E","\x44\x41\x54\x45\x5F\x46\x4F\x52\x4D\x41\x54\x28\x63\x72\x65\x61\x74\x65\x64\x41\x74\x2C\x27\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x69\x27\x29","\x20\x28\x25\x73\x20\x42\x45\x54\x57\x45\x45\x4E\x20\x27\x25\x73\x27\x20\x41\x4E\x44\x20\x27\x25\x73\x27\x29","\x20\x30\x30\x3A\x30\x30","\x20\x32\x33\x3A\x35\x39","\x20\x25\x73\x20\x3D\x20\x27\x25\x73\x27","\x20\x25\x73\x20\x3E\x3D\x20\x27\x25\x73\x27\x29","\x20\x25\x73\x20\x3C\x3D\x20\x27\x25\x73\x27\x29","\x20\x41\x4E\x44\x20","\x20\x3D\x3D\x3D\x3D\x20\x52\x45\x53\x55\x4C\x54\x49\x4E\x47\x20\x51\x55\x45\x52\x59\x20\x3D\x3D\x3D\x3D","\x4E\x4F\x20\x53\x55\x46\x46\x49\x43\x49\x45\x4E\x54\x20\x50\x45\x52\x4D\x49\x53\x53\x49\x4F\x4E\x53","\x20\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D\x3D","\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E","\x20\x47\x52\x4F\x55\x50\x20\x42\x59\x20","\x20\x4F\x52\x44\x45\x52\x20\x42\x59\x20","\x64\x65\x73\x63\x72\x69\x62\x65","\x63\x68\x65\x63\x6B\x51\x75\x65\x72\x79","\x4E\x6F\x20\x73\x75\x66\x66\x69\x63\x69\x65\x6E\x74\x20\x71\x75\x65\x75\x65\x20\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x73\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x75\x73\x65\x72","\x51\x75\x65\x72\x79\x54\x79\x70\x65\x73","\x71\x75\x65\x72\x79","\x28","\x72\x75\x6C\x65\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x49\x53\x20\x4E\x55\x4C\x4C","\x63\x6F\x6E\x64\x69\x74\x69\x6F\x6E","\x49\x53\x20\x4E\x4F\x54\x20\x4E\x55\x4C\x4C","\x20\x3D\x20\x27\x27","\x49\x53\x20\x45\x4D\x50\x54\x59","\x20\x21\x3D\x20\x27\x27","\x49\x53\x20\x4E\x4F\x54\x20\x45\x4D\x50\x54\x59","\x76\x61\x6C\x75\x65"];_0xc98b[0];var _=require(_0xc98b[1]);var util=require(_0xc98b[2]);var User=require(_0xc98b[4])[_0xc98b[3]];var Promise=require(_0xc98b[5]);var Util=require(_0xc98b[6]);var sequelize=require(_0xc98b[4])[_0xc98b[7]];function getTable(_0x6604x8){var _0x6604x9;switch(_0x6604x8){case _0xc98b[8]:;case _0xc98b[8]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[9]];break;case _0xc98b[11]:;case _0xc98b[13]:_0x6604x9= require(_0xc98b[4])[_0xc98b[12]];break;case _0xc98b[14]:;case _0xc98b[16]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[15]];break;case _0xc98b[17]:;case _0xc98b[19]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[18]];break;case _0xc98b[20]:;case _0xc98b[22]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[21]];break;case _0xc98b[23]:;case _0xc98b[25]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[24]];break;case _0xc98b[26]:;case _0xc98b[28]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[27]];break;case _0xc98b[29]:;case _0xc98b[31]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[30]];break;case _0xc98b[33]:_0x6604x9= require(_0xc98b[4])[_0xc98b[32]];break;case _0xc98b[35]:_0x6604x9= require(_0xc98b[4])[_0xc98b[34]];break;case _0xc98b[36]:;case _0xc98b[38]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[37]];break;case _0xc98b[39]:;case _0xc98b[41]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[40]];break;case _0xc98b[42]:_0x6604x9= require(_0xc98b[4])[_0xc98b[3]];break;case _0xc98b[43]:;case _0xc98b[45]:_0x6604x9= require(_0xc98b[4])[_0xc98b[10]][_0xc98b[44]];break;case _0xc98b[47]:_0x6604x9= require(_0xc98b[4])[_0xc98b[46]];break;case _0xc98b[49]:_0x6604x9= require(_0xc98b[4])[_0xc98b[48]];break;case _0xc98b[51]:_0x6604x9= require(_0xc98b[4])[_0xc98b[50]];break;case _0xc98b[53]:_0x6604x9= require(_0xc98b[4])[_0xc98b[52]];break;case _0xc98b[55]:_0x6604x9= require(_0xc98b[4])[_0xc98b[54]];break;case _0xc98b[57]:_0x6604x9= require(_0xc98b[4])[_0xc98b[56]];break;case _0xc98b[59]:_0x6604x9= require(_0xc98b[4])[_0xc98b[58]];break;case _0xc98b[61]:_0x6604x9= require(_0xc98b[4])[_0xc98b[60]];break;case _0xc98b[63]:_0x6604x9= require(_0xc98b[4])[_0xc98b[62]];break;case _0xc98b[65]:_0x6604x9= require(_0xc98b[4])[_0xc98b[64]];break;default:};return _0x6604x9}exports[_0xc98b[66]]= getTable;exports[_0xc98b[67]]= function(_0x6604xa){return function(_0x6604x8){switch(_0x6604xa[_0xc98b[104]]){case _0xc98b[103]:var _0x6604xb=_0xc98b[68];var _0x6604xc=_0x6604x8[_0xc98b[70]](_0xc98b[69],_0xc98b[68]);switch(_0x6604xc){case _0xc98b[11]:var _0x6604xd;return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[89]]({},{attributes:[_0xc98b[85]],include:[{raw:true,model:User,attributes:[_0xc98b[85]]}]}))[_0xc98b[83]](function(_0x6604xf){var _0x6604x10=[];_0x6604xd= _[_0xc98b[86]](_0x6604xf[_0xc98b[84]],_0xc98b[85]);_0x6604xf[_0xc98b[84]][_0xc98b[88]](function(_0x6604x11){_0x6604x10= _[_0xc98b[87]](_0x6604x10,_[_0xc98b[86]](_0x6604x11.Users,_0xc98b[85]))});return _0x6604x10})[_0xc98b[83]](function(_0x6604xe){if(_0x6604xd[_0xc98b[71]]&& _0x6604xe[_0xc98b[71]]){_0x6604xb= _0xc98b[72]+ _0x6604xd[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75];_0x6604xb+= _0xc98b[76]+ _0x6604xe[_0xc98b[74]](_0xc98b[77])+ _0xc98b[78]}else {if(_0x6604xd[_0xc98b[71]]){_0x6604xb= _0xc98b[79]+ _0x6604xd[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75]}else {_0x6604xb= _0xc98b[80]}};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[23]:var _0x6604x12;return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[94]]({},{attributes:[_0xc98b[93]],include:[{raw:true,model:User,attributes:[_0xc98b[93]]}]}))[_0xc98b[83]](function(_0x6604xf){var _0x6604x10=[];_0x6604xf[_0xc98b[84]][_0xc98b[88]](function(_0x6604x11){_0x6604x10= _[_0xc98b[87]](_0x6604x10,_[_0xc98b[86]](_0x6604x11.Users,_0xc98b[93]))});return _0x6604x10})[_0xc98b[83]](function(_0x6604xe){if(_0x6604xe[_0xc98b[71]]){_0x6604xb= _0xc98b[91]+ _0x6604xe[_0xc98b[74]](_0xc98b[77])+ _0xc98b[92]}else {_0x6604xb= _0xc98b[80]};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[95]:;case _0xc98b[14]:return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[94]]())[_0xc98b[83]](function(_0x6604x13){if(_0x6604x13[_0xc98b[84]][_0xc98b[71]]){_0x6604x13= _[_0xc98b[86]](_0x6604x13[_0xc98b[84]],_0xc98b[93]);_0x6604xb= _0xc98b[96]+ _0x6604x13[_0xc98b[74]](_0xc98b[77])+ _0xc98b[92]}else {_0x6604xb= _0xc98b[80]};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[17]:var _0x6604x14;return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[97]]({},{attributes:[_0xc98b[85]],include:[{raw:true,model:User,attributes:[_0xc98b[85]]}]}))[_0xc98b[83]](function(_0x6604xf){var _0x6604x10=[];_0x6604x14= _[_0xc98b[86]](_0x6604xf[_0xc98b[84]],_0xc98b[85]);_0x6604xf[_0xc98b[84]][_0xc98b[88]](function(_0x6604x11){_0x6604x10= _[_0xc98b[87]](_0x6604x10,_[_0xc98b[86]](_0x6604x11.Users,_0xc98b[85]))});return _0x6604x10})[_0xc98b[83]](function(_0x6604xe){if(_0x6604x14[_0xc98b[71]]&& _0x6604xe[_0xc98b[71]]){_0x6604xb= _0xc98b[72]+ _0x6604x14[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75];_0x6604xb+= _0xc98b[76]+ _0x6604xe[_0xc98b[74]](_0xc98b[77])+ _0xc98b[78]}else {if(_0x6604x14[_0xc98b[71]]){_0x6604xb= _0xc98b[79]+ _0x6604x14[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75]}else {_0x6604xb= _0xc98b[80]}};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[43]:var _0x6604x15;return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[98]]({},{attributes:[_0xc98b[85]],include:[{raw:true,model:User,attributes:[_0xc98b[85]]}]}))[_0xc98b[83]](function(_0x6604xf){var _0x6604x10=[];_0x6604x15= _[_0xc98b[86]](_0x6604xf[_0xc98b[84]],_0xc98b[85]);_0x6604xf[_0xc98b[84]][_0xc98b[88]](function(_0x6604x11){_0x6604x10= _[_0xc98b[87]](_0x6604x10,_[_0xc98b[86]](_0x6604x11.Users,_0xc98b[85]))});return _0x6604x10})[_0xc98b[83]](function(_0x6604xe){if(_0x6604x15[_0xc98b[71]]&& _0x6604xe[_0xc98b[71]]){_0x6604xb= _0xc98b[72]+ _0x6604x15[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75];_0x6604xb+= _0xc98b[76]+ _0x6604xe[_0xc98b[74]](_0xc98b[77])+ _0xc98b[78]}else {if(_0x6604x15[_0xc98b[71]]){_0x6604xb= _0xc98b[79]+ _0x6604x15[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75]}else {_0x6604xb= _0xc98b[80]}};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[29]:var _0x6604x16;return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[99]]({},{attributes:[_0xc98b[85]],include:[{raw:true,model:User,attributes:[_0xc98b[85]]}]}))[_0xc98b[83]](function(_0x6604xf){var _0x6604x10=[];_0x6604x16= _[_0xc98b[86]](_0x6604xf[_0xc98b[84]],_0xc98b[85]);_0x6604xf[_0xc98b[84]][_0xc98b[88]](function(_0x6604x11){_0x6604x10= _[_0xc98b[87]](_0x6604x10,_[_0xc98b[86]](_0x6604x11.Users,_0xc98b[85]))});return _0x6604x10})[_0xc98b[83]](function(_0x6604xe){if(_0x6604x16[_0xc98b[71]]&& _0x6604xe[_0xc98b[71]]){_0x6604xb= _0xc98b[72]+ _0x6604x16[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75];_0x6604xb+= _0xc98b[76]+ _0x6604xe[_0xc98b[74]](_0xc98b[77])+ _0xc98b[78]}else {if(_0x6604x16[_0xc98b[71]]){_0x6604xb= _0xc98b[79]+ _0x6604x16[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75]}else {_0x6604xb= _0xc98b[80]}};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[101]:var _0x6604x17;return User[_0xc98b[90]](_0x6604xa[_0xc98b[85]],{attributes:[_0xc98b[85]]})[_0xc98b[83]](Util[_0xc98b[100]]({},{attributes:[_0xc98b[85]],include:[{raw:true,model:User,attributes:[_0xc98b[85]]}]}))[_0xc98b[83]](function(_0x6604xf){var _0x6604x10=[];_0x6604x17= _[_0xc98b[86]](_0x6604xf[_0xc98b[84]],_0xc98b[85]);_0x6604xf[_0xc98b[84]][_0xc98b[88]](function(_0x6604x11){_0x6604x10= _[_0xc98b[87]](_0x6604x10,_[_0xc98b[86]](_0x6604x11.Users,_0xc98b[85]))});return _0x6604x10})[_0xc98b[83]](function(_0x6604xe){if(_0x6604x17[_0xc98b[71]]&& _0x6604xe[_0xc98b[71]]){_0x6604xb= _0xc98b[72]+ _0x6604x17[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75];_0x6604xb+= _0xc98b[76]+ _0x6604xe[_0xc98b[74]](_0xc98b[77])+ _0xc98b[78]}else {if(_0x6604x17[_0xc98b[71]]){_0x6604xb= _0xc98b[79]+ _0x6604x17[_0xc98b[74]](_0xc98b[73])+ _0xc98b[75]}else {_0x6604xb= _0xc98b[80]}};console[_0xc98b[82]](_0xc98b[81],_0x6604xb);return _0x6604xb});case _0xc98b[26]:;case _0xc98b[20]:return Promise[_0xc98b[102]]([])[_0xc98b[83]](function(){return null});default:return Promise[_0xc98b[102]]([])[_0xc98b[83]](function(){return null})};break;default:return Promise[_0xc98b[102]]([])[_0xc98b[83]](function(){return null})}}};exports[_0xc98b[105]]= function(_0x6604x18){return function(_0x6604x19,_0x6604x1a){var _0x6604x9=getTable(_0x6604x1a[_0xc98b[106]]);return _0x6604x9[_0xc98b[164]]()[_0xc98b[83]](function(_0x6604x1b){var _0x6604x1c=_[_0xc98b[107]](_0x6604x1b);var _0x6604x1d=[],_0x6604x1e=[],_0x6604x1f=[];_[_0xc98b[88]](_0x6604x1a.Fields,function(_0x6604x20){if(!_0x6604x20[_0xc98b[108]]&& !_0x6604x20[_0xc98b[109]]){_0x6604x20[_0xc98b[110]]= _0xc98b[111]+ _0x6604x20[_0xc98b[110]]+ _0xc98b[111]};var _0x6604x21=_0xc98b[68];if(_0x6604x20[_0xc98b[112]]){switch(_0x6604x20[_0xc98b[112]]){case _0xc98b[115]:_0x6604x21= util[_0xc98b[114]](_0xc98b[113],_0x6604x20[_0xc98b[110]]);break;case _0xc98b[117]:_0x6604x21= util[_0xc98b[114]](_0xc98b[116],_0x6604x20[_0xc98b[110]],_0x6604x20[_0xc98b[110]]);break;case _0xc98b[119]:_0x6604x21= util[_0xc98b[114]](_0xc98b[118],_0x6604x20[_0xc98b[110]],_0x6604x20[_0xc98b[110]]);break;default:_0x6604x21= util[_0xc98b[114]](_0xc98b[120],_0x6604x20[_0xc98b[112]],_0x6604x20[_0xc98b[110]])}}else {_0x6604x21= _0x6604x20[_0xc98b[110]]};if(_0x6604x21[_0xc98b[122]](_0xc98b[121])=== 0){_0x6604x21= util[_0xc98b[114]](_0xc98b[123],_0x6604x21)};if(_0x6604x20[_0xc98b[114]]){switch(_0x6604x20[_0xc98b[114]]){case _0xc98b[125]:_0x6604x21= util[_0xc98b[114]](_0xc98b[124],_0x6604x20[_0xc98b[114]],_0x6604x21);break;default:_0x6604x21= util[_0xc98b[114]](_0xc98b[120],_0x6604x20[_0xc98b[114]],_0x6604x21)}};_0x6604x1d[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[126],_0x6604x21,_0x6604x20[_0xc98b[127]]));if(_0x6604x20[_0xc98b[129]]){_0x6604x1e[_0xc98b[128]](_0x6604x21)};if(_0x6604x20[_0xc98b[130]]){_0x6604x1f[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[131],_0x6604x21,_0x6604x20[_0xc98b[130]]))}});var _0x6604x22=_0x6604x1a[_0xc98b[132]]?getConditions(JSON[_0xc98b[134]](_0x6604x1a[_0xc98b[132]])[_0xc98b[133]],_0x6604x1c):_0xc98b[135];var _0x6604x23=_0xc98b[136];_0x6604x23+= _0xc98b[137]+ _0x6604x1d[_0xc98b[74]](_0xc98b[73]);switch(_0x6604x1a[_0xc98b[106]]){case _0xc98b[13]:_0x6604x1a[_0xc98b[106]]= _0x6604x1a[_0xc98b[106]][_0xc98b[70]](_0xc98b[69],_0xc98b[68]);break;default:};_0x6604x23+= _0xc98b[138]+ _0x6604x1a[_0xc98b[106]];_0x6604x23+= _0x6604x22!== _0xc98b[135]?_0xc98b[139]+ _0x6604x22:_0xc98b[68];var _0x6604x24,_0x6604x25,_0x6604x26,_0x6604x27;var _0x6604x28=[];if(_0x6604x18){_[_0xc98b[149]](_0x6604x18,function(_0x6604x29,_0x6604x2a){switch(_0x6604x2a){case _0xc98b[140]:_0x6604x24= _0x6604x29;break;case _0xc98b[141]:_0x6604x25= _0x6604x29;break;case _0xc98b[142]:_0x6604x26= _0x6604x29;break;case _0xc98b[143]:_0x6604x27= _0x6604x29;break;case _0xc98b[144]:;case _0xc98b[145]:break;default:var _0x6604x2b=_[_0xc98b[146]](_0x6604x1a.Fields,{alias:_0x6604x2a});if(_0x6604x2b){_0x6604x28[_0xc98b[128]](_0x6604x2b[_0xc98b[110]]+ _0xc98b[147]+ _0x6604x29+ _0xc98b[148])}else {_0x6604x28[_0xc98b[128]](_0x6604x2a+ _0xc98b[147]+ _0x6604x29+ _0xc98b[148])}}})};var _0x6604x2c=_0xc98b[150];console[_0xc98b[82]](_0x6604x24,_0x6604x25,_0x6604x26,_0x6604x27);if(_0x6604x24&& _0x6604x25){if(_0x6604x24=== _0x6604x25){if(_0x6604x26|| _0x6604x27){console[_0xc98b[82]](_0x6604x24,_0x6604x25,_0x6604x26,_0x6604x27);_0x6604x28[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[151],_0x6604x2c,_0x6604x24+ (_0x6604x26?_0xc98b[137]+ _0x6604x26:_0xc98b[152]),_0x6604x25+ (_0x6604x27?_0xc98b[137]+ _0x6604x27:_0xc98b[153])))}else {_0x6604x28[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[154],_0x6604x2c,_0x6604x24))}}else {_0x6604x28[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[151],_0x6604x2c,_0x6604x24+ (_0x6604x26?_0xc98b[137]+ _0x6604x26:_0xc98b[152]),_0x6604x25+ (_0x6604x27?_0xc98b[137]+ _0x6604x27:_0xc98b[153])))}}else {if(_0x6604x24){_0x6604x28[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[155],_0x6604x2c,_0x6604x24+ (_0x6604x26?_0xc98b[137]+ _0x6604x26:_0xc98b[152])))}else {if(_0x6604x25){_0x6604x28[_0xc98b[128]](util[_0xc98b[114]](_0xc98b[156],_0x6604x2c,_0x6604x25+ (_0x6604x27?_0xc98b[137]+ _0x6604x27:_0xc98b[153])))}}};if(_0x6604x28[_0xc98b[71]]){_0x6604x23+= ((_0x6604x22!== _0xc98b[135])?_0xc98b[157]:_0xc98b[139])+ _0x6604x28[_0xc98b[74]](_0xc98b[157])};if(_0x6604x19){if(_0x6604x19=== _0xc98b[80]){console[_0xc98b[82]](_0xc98b[158]);console[_0xc98b[82]](_0xc98b[159]);console[_0xc98b[82]](_0xc98b[160]);return _0xc98b[161]};_0x6604x23+= ((_0x6604x22!== _0xc98b[135]|| _0x6604x28[_0xc98b[71]])?_0xc98b[157]:_0xc98b[139])+ _0x6604x19};_0x6604x23+= _0x6604x1e[_0xc98b[71]]?_0xc98b[162]+ _0x6604x1e[_0xc98b[74]](_0xc98b[73]):_0xc98b[68];_0x6604x23+= _0x6604x1f[_0xc98b[71]]?_0xc98b[163]+ _0x6604x1f[_0xc98b[74]](_0xc98b[73]):_0xc98b[68];console[_0xc98b[82]](_0xc98b[158]);console[_0xc98b[82]](_0x6604x23);console[_0xc98b[82]](_0xc98b[160]);return _0x6604x23})}};exports[_0xc98b[165]]= function(){return function(_0x6604x18){if(_0x6604x18){var _0x6604x2d=_0xc98b[68];switch(_0x6604x18){case _0xc98b[161]:_0x6604x2d= _0xc98b[166];break;default:_0x6604x2d= sequelize[_0xc98b[168]](_0x6604x18,{type:sequelize[_0xc98b[167]][_0xc98b[136]]})};return _0x6604x2d};return _0x6604x18}};function getConditions(_0x6604x2f,_0x6604x1b){if(!_0x6604x2f){return _0xc98b[135]};for(var _0x6604x30=_0xc98b[169],_0x6604x31=0;_0x6604x31< _0x6604x2f[_0xc98b[170]][_0xc98b[71]];_0x6604x31++){_0x6604x31> 0&& (_0x6604x30+= _0xc98b[137]+ _0x6604x2f[_0xc98b[171]]+ _0xc98b[137]);if(_0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[133]]){_0x6604x30+= getConditions(_0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[133]],_0x6604x1b)}else {_0x6604x30+= _[_0xc98b[172]](_0x6604x1b,_0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[110]])?_0xc98b[111]+ _0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[110]]+ _0xc98b[111]:_0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[110]];switch(_0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[174]]){case _0xc98b[173]:;case _0xc98b[175]:_0x6604x30+= _0xc98b[137]+ _0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[174]];break;case _0xc98b[177]:_0x6604x30+= _0xc98b[176];break;case _0xc98b[179]:_0x6604x30+= _0xc98b[178];break;default:_0x6604x30+= _0xc98b[137]+ _0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[174]]+ _0xc98b[137]+ _0x6604x2f[_0xc98b[170]][_0x6604x31][_0xc98b[180]]+ _0xc98b[68]}}};return _0x6604x30+ _0xc98b[75]}
\ No newline at end of file
-var csv = require('to-csv');
-var PdfMake = require('pdfmake');
-var _ = require('lodash');
-var util = require('util');
-var ExtractedReport = require('../models').ExtractedReport;
-var License = require('../models').License;
-var Setting = require('../models').Setting;
-var sequelize = require('../models').sequelize;
-var fs = require('fs');
-var moment = require('moment');
-var Promise = require('bluebird');
-var base64 = Promise.promisify(require('file-base64').encode);
-var sr = require('simple-random');
-var path = require('path');
-var config = require('../config/environment');
-var reportBuildUtils = require('./report_build');
-var license = require('../config/license/license.service');
-
-var fonts = {
- Roboto: {
- normal: path.join(config.fonts, 'Roboto-Regular.ttf'),
- bold: path.join(config.fonts, 'Roboto-Medium.ttf'),
- italics: path.join(config.fonts, 'Roboto-Italic.ttf'),
- bolditalics: path.join(config.fonts, 'Roboto-Italic.ttf')
- }
-};
-
-
-process.on('message', function(data) {
- general(data.report, data.query, data.extractedId, data.type.toLowerCase(), data.user)
-});
-
-function general(report, query, extractedId, type, user) {
- // console.log('--general function, calling extract function...');
- extract(report, query, extractedId, type, user);
-}
-
-function extract(report, dataQuery, extractedId, type, user) {
- // console.log('--extract function, building query...');
- var _license, _settings;
- return License
- .findById(1)
- .then(function(myLicense) {
- _license = myLicense;
- return Setting
- .findById(1);
- })
- .then(function(settings) {
- _settings = settings;
- return report.table;
- })
- .then(reportBuildUtils.buildFilter(user))
- .then(function(filter) {
- return [filter, report];
- })
- .spread(reportBuildUtils.buildQuery(dataQuery))
- .then(reportBuildUtils.checkQuery())
- .then(function(res) {
- if (res) {
- if (_.isArray(res)) {
- if (res.length) {
- _.forEach(res, function(row) {
- _.forOwn(row, function(property, key) {
- if (property instanceof Date) {
- row[key] = moment(property).format("YYYY-MM-DD HH:mm:ss").toString();
- }
- });
- });
- // console.log('--report extracted, creating output as: ' + type);
- switch (type) {
- case 'pdf':
- var myLicense = _license ? JSON.parse(license.decrypt(_license.license, _settings.data1)) : null;
- var imagePath = (_settings && !_settings.defaultLoginLogo && _settings.loginLogo && myLicense && myLicense.custom) ? path.join(config.root, 'server', 'files', 'images', _settings.loginLogo) : path.join(config.root, 'server', 'files', 'images', 'default', 'logo-big-pdf.png')
- return base64(imagePath)
- .then(function(base64String) {
- var extension = imagePath.split('.').pop();
- return createPdf(res, report, dataQuery, extractedId, base64String, extension);
- })
- case 'csv':
- return createCsv(res, report, dataQuery, extractedId);
- default:
- return createCsv(res, report, dataQuery, extractedId);
- }
- } else {
- return updateExtracted(extractedId, null, 'empty');
- }
- } else {
- return updateExtracted(extractedId, null, res);
- }
- } else {
- // console.log('--error executing the report query');
- return updateExtracted(extractedId, null, 'query extraction error');
-
- }
- })
- .catch(function(err) {
- console.log(err);
- return updateExtracted(extractedId, null, 'query error');
- });
-}
-
-function createPdf(res, report, dataQuery, id, logo, extension) {
- switch (extension) {
- case 'jpg':
- extension = 'jpeg';
- break;
- default:
- }
- // console.log('--pdf function, creating pdf output...');
- var filename = sr({
- length: 20,
- prefix: "report_" + report.name + '_',
- suffix: ".pdf"
- });
- var tableHeader = [];
- // width = 100 / report.Fields.length,
- // widths = [];
- _.forEach(report.Fields, function(elem) {
- tableHeader.push({
- text: String(elem.alias),
- style: 'tableHeader'
- });
- // widths.push(width + '%');
- });
- // console.log(widths);
- var tableBody = [tableHeader];
- _.forEach(res, function(elem) {
- var row = [];
- _.forOwn(elem, function(value, key) {
- row.push(value ? String(value) : '');
- });
- tableBody.push(row);
- });
-
- var headerColumns = [{
- text: report.name,
- style: 'header',
- }];
- if (report.description) {
- headerColumns.push({
- text: report.description || '',
- color: '#828682',
- margin: [0, 0, 0, 5]
- });
- }
- if (dataQuery.startDate) {
- headerColumns.push({
- text: [{
- text: 'From: ',
- style: 'label'
- },
- moment(dataQuery.startDate).startOf('day').format("YYYY-MM-DD HH:mm").toString(), {
- text: ' To: ',
- style: 'label'
- },
- moment(dataQuery.endDate || dataQuery.startDate).endOf('day').format("YYYY-MM-DD HH:mm").toString()
- ]
- });
- }
- var content = [];
- content.push({
- style: 'tableExample',
- table: {
- headerRows: 1,
- dontBreakRows: true,
- // widths: widths,
- // keepWithHeaderRows: 1,
- // dontBreakRows: true,
- body: tableBody,
-
- }
- });
- var pdfContent = {
- pageOrientation: 'landscape',
- pageMargins: [15, 90, 15, 25],
- header: function() {
- return {
- margin: [15, 15, 0, 0],
- columns: [{
- table: {
- widths: [100, '*'],
- body: [
- [{
- image: 'data:image/' + extension + ';base64,' + logo,
- fit: [100, 60]
- },
- headerColumns
- ]
- ]
- },
- layout: 'noBorders'
- }]
- };
- },
- content: content,
- footer: function(currentPage, pageCount) {
- return {
- columns: [{
- text: currentPage.toString() + ' of ' + pageCount,
- alignment: 'center'
- }]
- }
- },
- styles: {
- header: {
- fontSize: 18,
- bold: true,
- margin: [0, 0, 0, 5]
- },
- tableExample: {
- margin: [0, 0, 0, 5],
- fontSize: 8,
- },
- tableHeader: {
- bold: true,
- fontSize: 8,
- color: 'black',
- wordWrap: 'break-word'
- },
- label: {
- bold: true,
- color: 'black'
- }
- }
- };
- var printer = new PdfMake(fonts);
- var pdfDoc = printer.createPdfKitDocument(pdfContent);
- if (pdfDoc) {
- // pdfDoc is a stream so you can pipe it to the file system
- var writeStream = fs.createWriteStream(config.reports + filename);
- writeStream.on('error', function() {
- // console.log('--pdf write error');
- return updateExtracted(id, null, 'pdf write error')
- });
- writeStream.on('finish', function() {
- // console.log('--pdf write finished');
- return updateExtracted(id, filename, 'completed')
- });
- pdfDoc.pipe(writeStream);
- pdfDoc.end();
- } else {
- // console.log('--pdf creation error');
- return updateExtracted(id, null, 'pdf creation error')
- }
-}
-
-function createCsv(res, report, dataQuery, id) {
- // console.log(res);
- // console.log('--csv function, creating pdf output...');
- var filename = sr({
- length: 20,
- prefix: "report_" + report.name + '_',
- suffix: ".csv"
- });
- var csv_report = csv(res);
- if (csv_report) {
- fs.writeFile(config.reports + filename, csv_report, function(err) {
- if (err) {
- // console.log('--csv write error');
- console.log(err);
- return updateExtracted(id, null, 'csv write error')
- } else {
- // console.log('--csv write completed');
- return updateExtracted(id, filename, 'completed')
- }
- });
- } else {
- // console.log('--csv creation error');
- return updateExtracted(id, null, 'csv creation error')
- }
-}
-
-function updateExtracted(id, filename, status) {
- // console.log('--updating the extracted report db row..');
- return ExtractedReport.update({
- status: status,
- savename: filename
- }, {
- where: {
- id: id
- }
- })
- .then(function() {
- console.log('--Finished extracting report');
- })
- .catch(function(err) {
- console.log('--Finished extracting report with error : ' + err);
- })
- .finally(function() {
- process.send({
- message: 'finished',
- status: status
- });
- });
-}
+var _0x117c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x74\x6F\x2D\x63\x73\x76","\x70\x64\x66\x6D\x61\x6B\x65","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x45\x78\x74\x72\x61\x63\x74\x65\x64\x52\x65\x70\x6F\x72\x74","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4C\x69\x63\x65\x6E\x73\x65","\x53\x65\x74\x74\x69\x6E\x67","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x66\x73","\x6D\x6F\x6D\x65\x6E\x74","\x62\x6C\x75\x65\x62\x69\x72\x64","\x65\x6E\x63\x6F\x64\x65","\x66\x69\x6C\x65\x2D\x62\x61\x73\x65\x36\x34","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x70\x61\x74\x68","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2F\x72\x65\x70\x6F\x72\x74\x5F\x62\x75\x69\x6C\x64","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x65\x72\x76\x69\x63\x65","\x66\x6F\x6E\x74\x73","\x52\x6F\x62\x6F\x74\x6F\x2D\x52\x65\x67\x75\x6C\x61\x72\x2E\x74\x74\x66","\x6A\x6F\x69\x6E","\x52\x6F\x62\x6F\x74\x6F\x2D\x4D\x65\x64\x69\x75\x6D\x2E\x74\x74\x66","\x52\x6F\x62\x6F\x74\x6F\x2D\x49\x74\x61\x6C\x69\x63\x2E\x74\x74\x66","\x6D\x65\x73\x73\x61\x67\x65","\x72\x65\x70\x6F\x72\x74","\x71\x75\x65\x72\x79","\x65\x78\x74\x72\x61\x63\x74\x65\x64\x49\x64","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x74\x79\x70\x65","\x75\x73\x65\x72","\x6F\x6E","\x6C\x6F\x67","\x71\x75\x65\x72\x79\x20\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x66\x6F\x72\x4F\x77\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x6C\x69\x63\x65\x6E\x73\x65","\x64\x61\x74\x61\x31","\x64\x65\x63\x72\x79\x70\x74","\x70\x61\x72\x73\x65","\x64\x65\x66\x61\x75\x6C\x74\x4C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x6C\x6F\x67\x69\x6E\x4C\x6F\x67\x6F","\x63\x75\x73\x74\x6F\x6D","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x64\x65\x66\x61\x75\x6C\x74","\x6C\x6F\x67\x6F\x2D\x62\x69\x67\x2D\x70\x64\x66\x2E\x70\x6E\x67","\x70\x6F\x70","\x2E","\x73\x70\x6C\x69\x74","\x74\x68\x65\x6E","\x70\x64\x66","\x63\x73\x76","\x65\x6D\x70\x74\x79","\x71\x75\x65\x72\x79\x20\x65\x78\x74\x72\x61\x63\x74\x69\x6F\x6E\x20\x65\x72\x72\x6F\x72","\x63\x68\x65\x63\x6B\x51\x75\x65\x72\x79","\x62\x75\x69\x6C\x64\x51\x75\x65\x72\x79","\x73\x70\x72\x65\x61\x64","\x62\x75\x69\x6C\x64\x46\x69\x6C\x74\x65\x72","\x74\x61\x62\x6C\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x6A\x70\x65\x67","\x6A\x70\x67","\x72\x65\x70\x6F\x72\x74\x5F","\x6E\x61\x6D\x65","\x5F","\x2E\x70\x64\x66","\x61\x6C\x69\x61\x73","\x74\x61\x62\x6C\x65\x48\x65\x61\x64\x65\x72","\x70\x75\x73\x68","","\x68\x65\x61\x64\x65\x72","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x23\x38\x32\x38\x36\x38\x32","\x73\x74\x61\x72\x74\x44\x61\x74\x65","\x46\x72\x6F\x6D\x3A\x20","\x6C\x61\x62\x65\x6C","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D","\x64\x61\x79","\x73\x74\x61\x72\x74\x4F\x66","\x20\x20\x54\x6F\x3A\x20","\x65\x6E\x64\x4F\x66","\x65\x6E\x64\x44\x61\x74\x65","\x74\x61\x62\x6C\x65\x45\x78\x61\x6D\x70\x6C\x65","\x6C\x61\x6E\x64\x73\x63\x61\x70\x65","\x2A","\x64\x61\x74\x61\x3A\x69\x6D\x61\x67\x65\x2F","\x3B\x62\x61\x73\x65\x36\x34\x2C","\x6E\x6F\x42\x6F\x72\x64\x65\x72\x73","\x20\x6F\x66\x20","\x63\x65\x6E\x74\x65\x72","\x62\x6C\x61\x63\x6B","\x62\x72\x65\x61\x6B\x2D\x77\x6F\x72\x64","\x63\x72\x65\x61\x74\x65\x50\x64\x66\x4B\x69\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x72\x65\x70\x6F\x72\x74\x73","\x63\x72\x65\x61\x74\x65\x57\x72\x69\x74\x65\x53\x74\x72\x65\x61\x6D","\x65\x72\x72\x6F\x72","\x70\x64\x66\x20\x77\x72\x69\x74\x65\x20\x65\x72\x72\x6F\x72","\x66\x69\x6E\x69\x73\x68","\x63\x6F\x6D\x70\x6C\x65\x74\x65\x64","\x70\x69\x70\x65","\x65\x6E\x64","\x70\x64\x66\x20\x63\x72\x65\x61\x74\x69\x6F\x6E\x20\x65\x72\x72\x6F\x72","\x2E\x63\x73\x76","\x63\x73\x76\x20\x77\x72\x69\x74\x65\x20\x65\x72\x72\x6F\x72","\x77\x72\x69\x74\x65\x46\x69\x6C\x65","\x63\x73\x76\x20\x63\x72\x65\x61\x74\x69\x6F\x6E\x20\x65\x72\x72\x6F\x72","\x66\x69\x6E\x69\x73\x68\x65\x64","\x73\x65\x6E\x64","\x66\x69\x6E\x61\x6C\x6C\x79","\x2D\x2D\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x65\x78\x74\x72\x61\x63\x74\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74\x20\x77\x69\x74\x68\x20\x65\x72\x72\x6F\x72\x20\x3A\x20","\x2D\x2D\x46\x69\x6E\x69\x73\x68\x65\x64\x20\x65\x78\x74\x72\x61\x63\x74\x69\x6E\x67\x20\x72\x65\x70\x6F\x72\x74","\x75\x70\x64\x61\x74\x65"];_0x117c[0];var csv=require(_0x117c[1]);var PdfMake=require(_0x117c[2]);var _=require(_0x117c[3]);var util=require(_0x117c[4]);var ExtractedReport=require(_0x117c[6])[_0x117c[5]];var License=require(_0x117c[6])[_0x117c[7]];var Setting=require(_0x117c[6])[_0x117c[8]];var sequelize=require(_0x117c[6])[_0x117c[9]];var fs=require(_0x117c[10]);var moment=require(_0x117c[11]);var Promise=require(_0x117c[12]);var base64=Promise[_0x117c[15]](require(_0x117c[14])[_0x117c[13]]);var sr=require(_0x117c[16]);var path=require(_0x117c[17]);var config=require(_0x117c[18]);var reportBuildUtils=require(_0x117c[19]);var license=require(_0x117c[20]);var fonts={Roboto:{normal:path[_0x117c[23]](config[_0x117c[21]],_0x117c[22]),bold:path[_0x117c[23]](config[_0x117c[21]],_0x117c[24]),italics:path[_0x117c[23]](config[_0x117c[21]],_0x117c[25]),bolditalics:path[_0x117c[23]](config[_0x117c[21]],_0x117c[25])}};process[_0x117c[33]](_0x117c[26],function(_0x3896x13){general(_0x3896x13[_0x117c[27]],_0x3896x13[_0x117c[28]],_0x3896x13[_0x117c[29]],_0x3896x13[_0x117c[31]][_0x117c[30]](),_0x3896x13[_0x117c[32]])});function general(_0x3896x15,_0x3896x16,_0x3896x17,_0x3896x18,_0x3896x19){extract(_0x3896x15,_0x3896x16,_0x3896x17,_0x3896x18,_0x3896x19)}function extract(_0x3896x15,_0x3896x1b,_0x3896x17,_0x3896x18,_0x3896x19){var _0x3896x1c,_0x3896x1d;return License[_0x117c[69]](1)[_0x117c[59]](function(_0x3896x23){_0x3896x1c= _0x3896x23;return Setting[_0x117c[69]](1)})[_0x117c[59]](function(_0x3896x28){_0x3896x1d= _0x3896x28;return _0x3896x15[_0x117c[68]]})[_0x117c[59]](reportBuildUtils[_0x117c[67]](_0x3896x19))[_0x117c[59]](function(_0x3896x27){return [_0x3896x27,_0x3896x15]})[_0x117c[66]](reportBuildUtils[_0x117c[65]](_0x3896x1b))[_0x117c[59]](reportBuildUtils[_0x117c[64]]())[_0x117c[59]](function(_0x3896x1f){if(_0x3896x1f){if(_[_0x117c[37]](_0x3896x1f)){if(_0x3896x1f[_0x117c[38]]){_[_0x117c[42]](_0x3896x1f,function(_0x3896x20){_[_0x117c[41]](_0x3896x20,function(_0x3896x21,_0x3896x22){if(_0x3896x21 instanceof Date){_0x3896x20[_0x3896x22]= moment(_0x3896x21)[_0x117c[40]](_0x117c[39]).toString()}})});switch(_0x3896x18){case _0x117c[60]:var _0x3896x23=_0x3896x1c?JSON[_0x117c[46]](license[_0x117c[45]](_0x3896x1c[_0x117c[43]],_0x3896x1d[_0x117c[44]])):null;var _0x3896x24=(_0x3896x1d&& !_0x3896x1d[_0x117c[47]]&& _0x3896x1d[_0x117c[48]]&& _0x3896x23&& _0x3896x23[_0x117c[49]])?path[_0x117c[23]](config[_0x117c[50]],_0x117c[51],_0x117c[52],_0x117c[53],_0x3896x1d[_0x117c[48]]):path[_0x117c[23]](config[_0x117c[50]],_0x117c[51],_0x117c[52],_0x117c[53],_0x117c[54],_0x117c[55]);return base64(_0x3896x24)[_0x117c[59]](function(_0x3896x25){var _0x3896x26=_0x3896x24[_0x117c[58]](_0x117c[57])[_0x117c[56]]();return createPdf(_0x3896x1f,_0x3896x15,_0x3896x1b,_0x3896x17,_0x3896x25,_0x3896x26)});case _0x117c[61]:return createCsv(_0x3896x1f,_0x3896x15,_0x3896x1b,_0x3896x17);default:return createCsv(_0x3896x1f,_0x3896x15,_0x3896x1b,_0x3896x17)}}else {return updateExtracted(_0x3896x17,null,_0x117c[62])}}else {return updateExtracted(_0x3896x17,null,_0x3896x1f)}}else {return updateExtracted(_0x3896x17,null,_0x117c[63])}})[_0x117c[36]](function(_0x3896x1e){console[_0x117c[34]](_0x3896x1e);return updateExtracted(_0x3896x17,null,_0x117c[35])})}function createPdf(_0x3896x1f,_0x3896x15,_0x3896x1b,_0x3896x2a,_0x3896x2b,_0x3896x26){switch(_0x3896x26){case _0x117c[71]:_0x3896x26= _0x117c[70];break;default:};var _0x3896x2c=sr({length:20,prefix:_0x117c[72]+ _0x3896x15[_0x117c[73]]+ _0x117c[74],suffix:_0x117c[75]});var _0x3896x2d=[];_[_0x117c[42]](_0x3896x15.Fields,function(_0x3896x2e){_0x3896x2d[_0x117c[78]]({text:String(_0x3896x2e[_0x117c[76]]),style:_0x117c[77]})});var _0x3896x2f=[_0x3896x2d];_[_0x117c[42]](_0x3896x1f,function(_0x3896x2e){var _0x3896x20=[];_[_0x117c[41]](_0x3896x2e,function(_0x3896x30,_0x3896x22){_0x3896x20[_0x117c[78]](_0x3896x30?String(_0x3896x30):_0x117c[79])});_0x3896x2f[_0x117c[78]](_0x3896x20)});var _0x3896x31=[{text:_0x3896x15[_0x117c[73]],style:_0x117c[80]}];if(_0x3896x15[_0x117c[81]]){_0x3896x31[_0x117c[78]]({text:_0x3896x15[_0x117c[81]]|| _0x117c[79],color:_0x117c[82],margin:[0,0,0,5]})};if(_0x3896x1b[_0x117c[83]]){_0x3896x31[_0x117c[78]]({text:[{text:_0x117c[84],style:_0x117c[85]},moment(_0x3896x1b[_0x117c[83]])[_0x117c[88]](_0x117c[87])[_0x117c[40]](_0x117c[86]).toString(),{text:_0x117c[89],style:_0x117c[85]},moment(_0x3896x1b[_0x117c[91]]|| _0x3896x1b[_0x117c[83]])[_0x117c[90]](_0x117c[87])[_0x117c[40]](_0x117c[86]).toString()]})};var _0x3896x32=[];_0x3896x32[_0x117c[78]]({style:_0x117c[92],table:{headerRows:1,dontBreakRows:true,body:_0x3896x2f}});var _0x3896x33={pageOrientation:_0x117c[93],pageMargins:[15,90,15,25],header:function(){return {margin:[15,15,0,0],columns:[{table:{widths:[100,_0x117c[94]],body:[[{image:_0x117c[95]+ _0x3896x26+ _0x117c[96]+ _0x3896x2b,fit:[100,60]},_0x3896x31]]},layout:_0x117c[97]}]}},content:_0x3896x32,footer:function(_0x3896x34,_0x3896x35){return {columns:[{text:_0x3896x34.toString()+ _0x117c[98]+ _0x3896x35,alignment:_0x117c[99]}]}},styles:{header:{fontSize:18,bold:true,margin:[0,0,0,5]},tableExample:{margin:[0,0,0,5],fontSize:8},tableHeader:{bold:true,fontSize:8,color:_0x117c[100],wordWrap:_0x117c[101]},label:{bold:true,color:_0x117c[100]}}};var _0x3896x36= new PdfMake(fonts);var _0x3896x37=_0x3896x36[_0x117c[102]](_0x3896x33);if(_0x3896x37){var _0x3896x38=fs[_0x117c[104]](config[_0x117c[103]]+ _0x3896x2c);_0x3896x38[_0x117c[33]](_0x117c[105],function(){return updateExtracted(_0x3896x2a,null,_0x117c[106])});_0x3896x38[_0x117c[33]](_0x117c[107],function(){return updateExtracted(_0x3896x2a,_0x3896x2c,_0x117c[108])});_0x3896x37[_0x117c[109]](_0x3896x38);_0x3896x37[_0x117c[110]]()}else {return updateExtracted(_0x3896x2a,null,_0x117c[111])}}function createCsv(_0x3896x1f,_0x3896x15,_0x3896x1b,_0x3896x2a){var _0x3896x2c=sr({length:20,prefix:_0x117c[72]+ _0x3896x15[_0x117c[73]]+ _0x117c[74],suffix:_0x117c[112]});var _0x3896x3a=csv(_0x3896x1f);if(_0x3896x3a){fs[_0x117c[114]](config[_0x117c[103]]+ _0x3896x2c,_0x3896x3a,function(_0x3896x1e){if(_0x3896x1e){console[_0x117c[34]](_0x3896x1e);return updateExtracted(_0x3896x2a,null,_0x117c[113])}else {return updateExtracted(_0x3896x2a,_0x3896x2c,_0x117c[108])}})}else {return updateExtracted(_0x3896x2a,null,_0x117c[115])}}function updateExtracted(_0x3896x2a,_0x3896x2c,_0x3896x3c){return ExtractedReport[_0x117c[121]]({status:_0x3896x3c,savename:_0x3896x2c},{where:{id:_0x3896x2a}})[_0x117c[59]](function(){console[_0x117c[34]](_0x117c[120])})[_0x117c[36]](function(_0x3896x1e){console[_0x117c[34]](_0x117c[119]+ _0x3896x1e)})[_0x117c[118]](function(){process[_0x117c[117]]({message:_0x117c[116],status:_0x3896x3c})})}
\ No newline at end of file
-var _ = require('lodash');
-var util = require('util');
-var Interval = require('../models').Interval;
-var sequelize = require('../models').sequelize;
-var VoiceExtension = require('../models').VoiceExtension;
-
-exports.createApps = createApplications;
-
-exports.routeUpdate = function(req, t) {
- var sequelize = require('../models').sequelize;
- var VoiceExtension = require('../models').VoiceExtension;
- if (req.body.id) {
- delete req.body.id;
- }
- return VoiceExtension
- .update(req.body, {
- where: {
- id: req.params.id
- },
- transaction: t
- })
- .then(function(route) {
- if (req.body.Applications) {
- req.body.id = req.params.id;
- return VoiceExtension
- .destroy({
- where: {
- VoiceExtensionId: req.params.id
- },
- transaction: t
- });
- }
- })
- .then(function() {
- if (req.body.Applications && Array.isArray(req.body.Applications) && req.body.Applications.length) {
- return req.body;
- }
- })
- .then(createApplications(req.body.Applications, t));
-}
-
-
-function createApplications(applications, t) {
- var Interval = require('../models').Interval;
- var VoiceExtension = require('../models').VoiceExtension;
- return function(route) {
- if (route) {
- return Interval
- .findAll() //find all existing intervals
- .then(function(intervals) {
- var priority = 2;
- var routeDefault = {
- exten: route.exten,
- type: route.type,
- context: route.context,
- VoiceExtensionId: route.id
- };
- var bulkApps = [];
- var applicationLength = 7; //update in case of adding other rows in the extension
- var firstRows = [],
- lastRows = [];
- firstRows.push(_.merge({
- app: 'Set',
- appdata: util.format('CDR(type)=%s', route.type),
- priority: priority
- },
- routeDefault));
- priority++;
- if (route.type === 'outbound') {
- firstRows.push(_.merge({
- app: 'Set',
- appdata: util.format('CDR(tag)=%s', route.tag || '--'),
- priority: priority
- },
- routeDefault));
- priority++;
- }
- bulkApps.push(VoiceExtension.bulkCreate(firstRows, {
- transaction: t
- }));
- applications.forEach(function(application) {
- var appIntervals = [];
- var extension = [];
- if (application.IntervalId) { //if the interval for the app is chosen by a list we search for the subintervals
- var foundIntervals = _.filter(intervals, {
- IntervalId: application.IntervalId
- });
- appIntervals = foundIntervals.length ? _.map(foundIntervals, 'interval') : ['*,*,*,*']; //if the interval list has no subintervals the interval is always
- var parentInterval = _.find(intervals, {
- id: application.IntervalId
- });
- application.interval = parentInterval ? parentInterval.name : '*,*,*,*';
- } else { //otherwise i will have the interval directly from the app, i still use an array to keep the creation logic the same
- appIntervals = [application.interval];
- }
- extension.push(_.merge({
- app: 'NoOP',
- appdata: application.app + ' Application Start',
- priority: priority
- },
- routeDefault));
- priority++;
- var intLength = appIntervals.length;
- appIntervals.forEach(function(elem, index) {
- extension.push(_.merge({
- app: 'GotoIfTime',
- appdata: util.format('%s?%s,${EXTEN},%s:%s,${EXTEN},%s', elem, route.context, priority + (intLength - index), route.context, ((index + 1) < intLength) ? priority +
- 1 : priority +
- applicationLength),
- priority: priority
- },
- routeDefault));
- priority++;
- });
- if (application.app.toLowerCase() === 'dial' && route.type === 'outbound' && application.appdata[1]) {
- extension.push(_.merge({
- app: 'Set',
- appdata: util.format('CALLERID(all)=%s', application.appdata[1]),
- priority: priority
- },
- routeDefault));
- } else {
- extension.push(_.merge({
- app: 'NoOP',
- appdata: 'Skipped CallerID Set',
- priority: priority
- },
- routeDefault));
- }
- priority++;
- if (application.app.toLowerCase() === 'dial' && route.record && route.type === 'outbound') {
- extension.push(_.merge({
- app: 'MixMonitor',
- appdata: '${UNIQUEID}.' + (route.recordingFormat || 'wav') + ',ab',
- priority: priority
- },
- routeDefault));
- } else {
- extension.push(_.merge({
- app: 'NoOP',
- appdata: 'Skipped MixMonitor',
- priority: priority
- },
- routeDefault));
- }
- priority++;
- if (application.app.toLowerCase() === 'queue' && application.appType !== 'custom') {
- extension.push(_.merge({
- app: 'Progress',
- appdata: '',
- priority: priority
- },
- routeDefault));
- } else {
- extension.push(_.merge({
- app: 'NoOP',
- appdata: 'Skipped Progress',
- priority: priority
- },
- routeDefault));
- }
- priority++;
- if (application.app.toLowerCase() === 'dial' && route.type === 'outbound') {
- extension.push(_.merge({
- app: 'Set',
- appdata: util.format('outboundrouteid=%d', route.id || ''),
- priority: priority
- },
- routeDefault));
- } else {
- extension.push(_.merge({
- app: 'NoOP',
- appdata: 'Skipped Outound Route Id Set',
- priority: priority
- },
- routeDefault));
- }
- priority++;
- if (application.app.toLowerCase() === 'dial' && application.appType === 'outboundDial') {
- application.appdata[4] = application.appdata[4] || '';
- application.appdata[4] += (_.includes(application.appdata[4], 'x') ? '' : 'x') + (_.includes(application.appdata[4], 'X') ? '' : 'X');
- extension.push(_.merge({
- app: application.app,
- appdata: util.format('SIP/%s/%s${EXTEN:%s},%s,%s,%s', application.appdata[0], application.appdata[2] || '', route.cutdigits || 0, application.appdata[3] || '',
- application.appdata[4] || '', application.appdata[5] || ''),
- priority: priority,
- IntervalId: application.IntervalId || null,
- interval: application.interval || '*,*,*,*',
- isApp: true,
- callerID: application.appdata[1] || null,
- appType: application.appType
- },
- routeDefault));
- } else if (application.app.toLowerCase() === 'dial' && application.appType === 'externalDial') {
- application.appdata[3] = application.appdata[3] || '';
- application.appdata[3] += (_.includes(application.appdata[3], 'x') ? '' : 'x') + (_.includes(application.appdata[3], 'X') ? '' : 'X');
- extension.push(_.merge({
- app: application.app,
- appdata: util.format('SIP/%s/%s,%s,%s,%s', application.appdata[0], application.appdata[1], application.appdata[2] || '', application.appdata[3] || '', application.appdata[
- 4] || ''),
- priority: priority,
- IntervalId: application.IntervalId || null,
- interval: application.interval || '*,*,*,*',
- isApp: true,
- appType: application.appType
- },
- routeDefault));
- } else if (application.app.toLowerCase() === 'dial' && application.appType === 'internalDial') {
- application.appdata[2] = application.appdata[2] || '';
- application.appdata[2] += (_.includes(application.appdata[2], 'x') ? '' : 'x') + (_.includes(application.appdata[2], 'X') ? '' : 'X');
- extension.push(_.merge({
- app: application.app,
- appdata: util.format('SIP/%s,%s,%s,%s', application.appdata[0], application.appdata[1] || '', application.appdata[2] || '', application.appdata[3] || ''),
- priority: priority,
- IntervalId: application.IntervalId || null,
- interval: application.interval || '*,*,*,*',
- isApp: true,
- appType: application.appType
- },
- routeDefault));
- } else {
- if ((application.app.toLowerCase() === 'dial' || application.app.toLowerCase() === 'queue') && application.appType !== 'custom') {
- var appdataIndex = application.app.toLowerCase() === 'dial' ? 2 : 1;
- application.appdata[appdataIndex] = application.appdata[appdataIndex] || '';
- application.appdata[appdataIndex] += (_.includes(application.appdata[appdataIndex], 'x') ? '' : 'x') + (_.includes(application.appdata[appdataIndex], 'X') ? '' : 'X');
- }
- extension.push(_.merge({
- app: application.app,
- appdata: application.appdata.join(','),
- priority: priority,
- IntervalId: application.IntervalId,
- interval: application.interval || '*,*,*,*',
- isApp: true,
- appType: application.appType || null
- },
- routeDefault));
- }
- priority++;
- if (application.app.toLowerCase() === 'dial' && route.record && route.type === 'outbound') {
- extension.push(_.merge({
- app: 'StopMixMonitor',
- appdata: '',
- priority: priority
- },
- routeDefault));
- } else {
- extension.push(_.merge({
- app: 'NoOP',
- appdata: 'Skipped StopMixMonitor',
- priority: priority
- },
- routeDefault));
- }
- priority++;
- extension.push(_.merge({
- app: 'NoOP',
- appdata: application.app + ' Application End',
- priority: priority
- },
- routeDefault));
- priority++;
- bulkApps.push(VoiceExtension.bulkCreate(extension, {
- transaction: t
- }));
- });
- lastRows.push(_.merge({
- app: 'NoOP',
- appdata: route.type + ' call end',
- priority: priority
- },
- routeDefault));
- priority++;
- if (route.type === 'internal' || route.type === 'outbound') {
- lastRows.push(_.merge({
- app: 'Hangup',
- appdata: '',
- priority: priority
- },
- routeDefault));
- priority++;
- }
- bulkApps.push(VoiceExtension.bulkCreate(lastRows, {
- transaction: t
- }));
- return bulkApps;
- })
- .all();
- }
- }
-}
+var _0xeb87=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x63\x72\x65\x61\x74\x65\x41\x70\x70\x73","\x72\x6F\x75\x74\x65\x55\x70\x64\x61\x74\x65","\x69\x64","\x62\x6F\x64\x79","\x74\x68\x65\x6E","\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x69\x73\x41\x72\x72\x61\x79","\x6C\x65\x6E\x67\x74\x68","\x70\x61\x72\x61\x6D\x73","\x64\x65\x73\x74\x72\x6F\x79","\x75\x70\x64\x61\x74\x65","\x61\x6C\x6C","\x65\x78\x74\x65\x6E","\x74\x79\x70\x65","\x63\x6F\x6E\x74\x65\x78\x74","\x53\x65\x74","\x43\x44\x52\x28\x74\x79\x70\x65\x29\x3D\x25\x73","\x66\x6F\x72\x6D\x61\x74","\x6D\x65\x72\x67\x65","\x70\x75\x73\x68","\x6F\x75\x74\x62\x6F\x75\x6E\x64","\x43\x44\x52\x28\x74\x61\x67\x29\x3D\x25\x73","\x74\x61\x67","\x2D\x2D","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x66\x69\x6C\x74\x65\x72","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x6D\x61\x70","\x2A\x2C\x2A\x2C\x2A\x2C\x2A","\x66\x69\x6E\x64","\x6E\x61\x6D\x65","\x4E\x6F\x4F\x50","\x61\x70\x70","\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x53\x74\x61\x72\x74","\x47\x6F\x74\x6F\x49\x66\x54\x69\x6D\x65","\x25\x73\x3F\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73\x3A\x25\x73\x2C\x24\x7B\x45\x58\x54\x45\x4E\x7D\x2C\x25\x73","\x66\x6F\x72\x45\x61\x63\x68","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x64\x69\x61\x6C","\x61\x70\x70\x64\x61\x74\x61","\x43\x41\x4C\x4C\x45\x52\x49\x44\x28\x61\x6C\x6C\x29\x3D\x25\x73","\x53\x6B\x69\x70\x70\x65\x64\x20\x43\x61\x6C\x6C\x65\x72\x49\x44\x20\x53\x65\x74","\x72\x65\x63\x6F\x72\x64","\x4D\x69\x78\x4D\x6F\x6E\x69\x74\x6F\x72","\x24\x7B\x55\x4E\x49\x51\x55\x45\x49\x44\x7D\x2E","\x72\x65\x63\x6F\x72\x64\x69\x6E\x67\x46\x6F\x72\x6D\x61\x74","\x77\x61\x76","\x2C\x61\x62","\x53\x6B\x69\x70\x70\x65\x64\x20\x4D\x69\x78\x4D\x6F\x6E\x69\x74\x6F\x72","\x71\x75\x65\x75\x65","\x61\x70\x70\x54\x79\x70\x65","\x63\x75\x73\x74\x6F\x6D","\x50\x72\x6F\x67\x72\x65\x73\x73","","\x53\x6B\x69\x70\x70\x65\x64\x20\x50\x72\x6F\x67\x72\x65\x73\x73","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x72\x6F\x75\x74\x65\x69\x64\x3D\x25\x64","\x53\x6B\x69\x70\x70\x65\x64\x20\x4F\x75\x74\x6F\x75\x6E\x64\x20\x52\x6F\x75\x74\x65\x20\x49\x64\x20\x53\x65\x74","\x6F\x75\x74\x62\x6F\x75\x6E\x64\x44\x69\x61\x6C","\x78","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x58","\x53\x49\x50\x2F\x25\x73\x2F\x25\x73\x24\x7B\x45\x58\x54\x45\x4E\x3A\x25\x73\x7D\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x63\x75\x74\x64\x69\x67\x69\x74\x73","\x65\x78\x74\x65\x72\x6E\x61\x6C\x44\x69\x61\x6C","\x53\x49\x50\x2F\x25\x73\x2F\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x69\x6E\x74\x65\x72\x6E\x61\x6C\x44\x69\x61\x6C","\x53\x49\x50\x2F\x25\x73\x2C\x25\x73\x2C\x25\x73\x2C\x25\x73","\x2C","\x6A\x6F\x69\x6E","\x53\x74\x6F\x70\x4D\x69\x78\x4D\x6F\x6E\x69\x74\x6F\x72","\x53\x6B\x69\x70\x70\x65\x64\x20\x53\x74\x6F\x70\x4D\x69\x78\x4D\x6F\x6E\x69\x74\x6F\x72","\x20\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x20\x45\x6E\x64","\x20\x63\x61\x6C\x6C\x20\x65\x6E\x64","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x48\x61\x6E\x67\x75\x70","\x66\x69\x6E\x64\x41\x6C\x6C"];_0xeb87[0];var _=require(_0xeb87[1]);var util=require(_0xeb87[2]);var Interval=require(_0xeb87[4])[_0xeb87[3]];var sequelize=require(_0xeb87[4])[_0xeb87[5]];var VoiceExtension=require(_0xeb87[4])[_0xeb87[6]];exports[_0xeb87[7]]= createApplications;exports[_0xeb87[8]]= function(_0xcec8x6,_0xcec8x7){var sequelize=require(_0xeb87[4])[_0xeb87[5]];var VoiceExtension=require(_0xeb87[4])[_0xeb87[6]];if(_0xcec8x6[_0xeb87[10]][_0xeb87[9]]){delete _0xcec8x6[_0xeb87[10]][_0xeb87[9]]};return VoiceExtension[_0xeb87[17]](_0xcec8x6[_0xeb87[10]],{where:{id:_0xcec8x6[_0xeb87[15]][_0xeb87[9]]},transaction:_0xcec8x7})[_0xeb87[11]](function(_0xcec8x8){if(_0xcec8x6[_0xeb87[10]][_0xeb87[12]]){_0xcec8x6[_0xeb87[10]][_0xeb87[9]]= _0xcec8x6[_0xeb87[15]][_0xeb87[9]];return VoiceExtension[_0xeb87[16]]({where:{VoiceExtensionId:_0xcec8x6[_0xeb87[15]][_0xeb87[9]]},transaction:_0xcec8x7})}})[_0xeb87[11]](function(){if(_0xcec8x6[_0xeb87[10]][_0xeb87[12]]&& Array[_0xeb87[13]](_0xcec8x6[_0xeb87[10]].Applications)&& _0xcec8x6[_0xeb87[10]][_0xeb87[12]][_0xeb87[14]]){return _0xcec8x6[_0xeb87[10]]}})[_0xeb87[11]](createApplications(_0xcec8x6[_0xeb87[10]].Applications,_0xcec8x7))};function createApplications(_0xcec8xa,_0xcec8x7){var Interval=require(_0xeb87[4])[_0xeb87[3]];var VoiceExtension=require(_0xeb87[4])[_0xeb87[6]];return function(_0xcec8x8){if(_0xcec8x8){return Interval[_0xeb87[83]]()[_0xeb87[11]](function(_0xcec8xb){var _0xcec8xc=2;var _0xcec8xd={exten:_0xcec8x8[_0xeb87[19]],type:_0xcec8x8[_0xeb87[20]],context:_0xcec8x8[_0xeb87[21]],VoiceExtensionId:_0xcec8x8[_0xeb87[9]]};var _0xcec8xe=[];var _0xcec8xf=7;var _0xcec8x10=[],_0xcec8x11=[];_0xcec8x10[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[22],appdata:util[_0xeb87[24]](_0xeb87[23],_0xcec8x8[_0xeb87[20]]),priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++;if(_0xcec8x8[_0xeb87[20]]=== _0xeb87[27]){_0xcec8x10[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[22],appdata:util[_0xeb87[24]](_0xeb87[28],_0xcec8x8[_0xeb87[29]]|| _0xeb87[30]),priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++};_0xcec8xe[_0xeb87[26]](VoiceExtension[_0xeb87[31]](_0xcec8x10,{transaction:_0xcec8x7}));_0xcec8xa[_0xeb87[44]](function(_0xcec8x12){var _0xcec8x13=[];var _0xcec8x14=[];if(_0xcec8x12[_0xeb87[32]]){var _0xcec8x15=_[_0xeb87[33]](_0xcec8xb,{IntervalId:_0xcec8x12[_0xeb87[32]]});_0xcec8x13= _0xcec8x15[_0xeb87[14]]?_[_0xeb87[35]](_0xcec8x15,_0xeb87[34]):[_0xeb87[36]];var _0xcec8x16=_[_0xeb87[37]](_0xcec8xb,{id:_0xcec8x12[_0xeb87[32]]});_0xcec8x12[_0xeb87[34]]= _0xcec8x16?_0xcec8x16[_0xeb87[38]]:_0xeb87[36]}else {_0xcec8x13= [_0xcec8x12[_0xeb87[34]]]};_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xcec8x12[_0xeb87[40]]+ _0xeb87[41],priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++;var _0xcec8x17=_0xcec8x13[_0xeb87[14]];_0xcec8x13[_0xeb87[44]](function(_0xcec8x18,_0xcec8x19){_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[42],appdata:util[_0xeb87[24]](_0xeb87[43],_0xcec8x18,_0xcec8x8[_0xeb87[21]],_0xcec8xc+ (_0xcec8x17- _0xcec8x19),_0xcec8x8[_0xeb87[21]],((_0xcec8x19+ 1)< _0xcec8x17)?_0xcec8xc+ 1:_0xcec8xc+ _0xcec8xf),priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++});if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x8[_0xeb87[20]]=== _0xeb87[27]&& _0xcec8x12[_0xeb87[47]][1]){_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[22],appdata:util[_0xeb87[24]](_0xeb87[48],_0xcec8x12[_0xeb87[47]][1]),priority:_0xcec8xc},_0xcec8xd))}else {_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xeb87[49],priority:_0xcec8xc},_0xcec8xd))};_0xcec8xc++;if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x8[_0xeb87[50]]&& _0xcec8x8[_0xeb87[20]]=== _0xeb87[27]){_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[51],appdata:_0xeb87[52]+ (_0xcec8x8[_0xeb87[53]]|| _0xeb87[54])+ _0xeb87[55],priority:_0xcec8xc},_0xcec8xd))}else {_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xeb87[56],priority:_0xcec8xc},_0xcec8xd))};_0xcec8xc++;if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[57]&& _0xcec8x12[_0xeb87[58]]!== _0xeb87[59]){_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[60],appdata:_0xeb87[61],priority:_0xcec8xc},_0xcec8xd))}else {_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xeb87[62],priority:_0xcec8xc},_0xcec8xd))};_0xcec8xc++;if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x8[_0xeb87[20]]=== _0xeb87[27]){_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[22],appdata:util[_0xeb87[24]](_0xeb87[63],_0xcec8x8[_0xeb87[9]]|| _0xeb87[61]),priority:_0xcec8xc},_0xcec8xd))}else {_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xeb87[64],priority:_0xcec8xc},_0xcec8xd))};_0xcec8xc++;if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x12[_0xeb87[58]]=== _0xeb87[65]){_0xcec8x12[_0xeb87[47]][4]= _0xcec8x12[_0xeb87[47]][4]|| _0xeb87[61];_0xcec8x12[_0xeb87[47]][4]+= (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][4],_0xeb87[66])?_0xeb87[61]:_0xeb87[66])+ (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][4],_0xeb87[68])?_0xeb87[61]:_0xeb87[68]);_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xcec8x12[_0xeb87[40]],appdata:util[_0xeb87[24]](_0xeb87[69],_0xcec8x12[_0xeb87[47]][0],_0xcec8x12[_0xeb87[47]][2]|| _0xeb87[61],_0xcec8x8[_0xeb87[70]]|| 0,_0xcec8x12[_0xeb87[47]][3]|| _0xeb87[61],_0xcec8x12[_0xeb87[47]][4]|| _0xeb87[61],_0xcec8x12[_0xeb87[47]][5]|| _0xeb87[61]),priority:_0xcec8xc,IntervalId:_0xcec8x12[_0xeb87[32]]|| null,interval:_0xcec8x12[_0xeb87[34]]|| _0xeb87[36],isApp:true,callerID:_0xcec8x12[_0xeb87[47]][1]|| null,appType:_0xcec8x12[_0xeb87[58]]},_0xcec8xd))}else {if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x12[_0xeb87[58]]=== _0xeb87[71]){_0xcec8x12[_0xeb87[47]][3]= _0xcec8x12[_0xeb87[47]][3]|| _0xeb87[61];_0xcec8x12[_0xeb87[47]][3]+= (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][3],_0xeb87[66])?_0xeb87[61]:_0xeb87[66])+ (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][3],_0xeb87[68])?_0xeb87[61]:_0xeb87[68]);_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xcec8x12[_0xeb87[40]],appdata:util[_0xeb87[24]](_0xeb87[72],_0xcec8x12[_0xeb87[47]][0],_0xcec8x12[_0xeb87[47]][1],_0xcec8x12[_0xeb87[47]][2]|| _0xeb87[61],_0xcec8x12[_0xeb87[47]][3]|| _0xeb87[61],_0xcec8x12[_0xeb87[47]][4]|| _0xeb87[61]),priority:_0xcec8xc,IntervalId:_0xcec8x12[_0xeb87[32]]|| null,interval:_0xcec8x12[_0xeb87[34]]|| _0xeb87[36],isApp:true,appType:_0xcec8x12[_0xeb87[58]]},_0xcec8xd))}else {if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x12[_0xeb87[58]]=== _0xeb87[73]){_0xcec8x12[_0xeb87[47]][2]= _0xcec8x12[_0xeb87[47]][2]|| _0xeb87[61];_0xcec8x12[_0xeb87[47]][2]+= (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][2],_0xeb87[66])?_0xeb87[61]:_0xeb87[66])+ (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][2],_0xeb87[68])?_0xeb87[61]:_0xeb87[68]);_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xcec8x12[_0xeb87[40]],appdata:util[_0xeb87[24]](_0xeb87[74],_0xcec8x12[_0xeb87[47]][0],_0xcec8x12[_0xeb87[47]][1]|| _0xeb87[61],_0xcec8x12[_0xeb87[47]][2]|| _0xeb87[61],_0xcec8x12[_0xeb87[47]][3]|| _0xeb87[61]),priority:_0xcec8xc,IntervalId:_0xcec8x12[_0xeb87[32]]|| null,interval:_0xcec8x12[_0xeb87[34]]|| _0xeb87[36],isApp:true,appType:_0xcec8x12[_0xeb87[58]]},_0xcec8xd))}else {if((_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]|| _0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[57])&& _0xcec8x12[_0xeb87[58]]!== _0xeb87[59]){var _0xcec8x1a=_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]?2:1;_0xcec8x12[_0xeb87[47]][_0xcec8x1a]= _0xcec8x12[_0xeb87[47]][_0xcec8x1a]|| _0xeb87[61];_0xcec8x12[_0xeb87[47]][_0xcec8x1a]+= (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][_0xcec8x1a],_0xeb87[66])?_0xeb87[61]:_0xeb87[66])+ (_[_0xeb87[67]](_0xcec8x12[_0xeb87[47]][_0xcec8x1a],_0xeb87[68])?_0xeb87[61]:_0xeb87[68])};_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xcec8x12[_0xeb87[40]],appdata:_0xcec8x12[_0xeb87[47]][_0xeb87[76]](_0xeb87[75]),priority:_0xcec8xc,IntervalId:_0xcec8x12[_0xeb87[32]],interval:_0xcec8x12[_0xeb87[34]]|| _0xeb87[36],isApp:true,appType:_0xcec8x12[_0xeb87[58]]|| null},_0xcec8xd))}}};_0xcec8xc++;if(_0xcec8x12[_0xeb87[40]][_0xeb87[45]]()=== _0xeb87[46]&& _0xcec8x8[_0xeb87[50]]&& _0xcec8x8[_0xeb87[20]]=== _0xeb87[27]){_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[77],appdata:_0xeb87[61],priority:_0xcec8xc},_0xcec8xd))}else {_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xeb87[78],priority:_0xcec8xc},_0xcec8xd))};_0xcec8xc++;_0xcec8x14[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xcec8x12[_0xeb87[40]]+ _0xeb87[79],priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++;_0xcec8xe[_0xeb87[26]](VoiceExtension[_0xeb87[31]](_0xcec8x14,{transaction:_0xcec8x7}))});_0xcec8x11[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[39],appdata:_0xcec8x8[_0xeb87[20]]+ _0xeb87[80],priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++;if(_0xcec8x8[_0xeb87[20]]=== _0xeb87[81]|| _0xcec8x8[_0xeb87[20]]=== _0xeb87[27]){_0xcec8x11[_0xeb87[26]](_[_0xeb87[25]]({app:_0xeb87[82],appdata:_0xeb87[61],priority:_0xcec8xc},_0xcec8xd));_0xcec8xc++};_0xcec8xe[_0xeb87[26]](VoiceExtension[_0xeb87[31]](_0xcec8x11,{transaction:_0xcec8x7}));return _0xcec8xe})[_0xeb87[18]]()}}}
\ No newline at end of file